{
  "contractName": "ENS",
  "abi": [
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "internalType": "address",
          "name": "owner",
          "type": "address"
        },
        {
          "indexed": true,
          "internalType": "address",
          "name": "operator",
          "type": "address"
        },
        {
          "indexed": false,
          "internalType": "bool",
          "name": "approved",
          "type": "bool"
        }
      ],
      "name": "ApprovalForAll",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "internalType": "bytes32",
          "name": "node",
          "type": "bytes32"
        },
        {
          "indexed": true,
          "internalType": "bytes32",
          "name": "label",
          "type": "bytes32"
        },
        {
          "indexed": false,
          "internalType": "address",
          "name": "owner",
          "type": "address"
        }
      ],
      "name": "NewOwner",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "internalType": "bytes32",
          "name": "node",
          "type": "bytes32"
        },
        {
          "indexed": false,
          "internalType": "address",
          "name": "resolver",
          "type": "address"
        }
      ],
      "name": "NewResolver",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "internalType": "bytes32",
          "name": "node",
          "type": "bytes32"
        },
        {
          "indexed": false,
          "internalType": "uint64",
          "name": "ttl",
          "type": "uint64"
        }
      ],
      "name": "NewTTL",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "internalType": "bytes32",
          "name": "node",
          "type": "bytes32"
        },
        {
          "indexed": false,
          "internalType": "address",
          "name": "owner",
          "type": "address"
        }
      ],
      "name": "Transfer",
      "type": "event"
    },
    {
      "constant": false,
      "inputs": [
        {
          "internalType": "bytes32",
          "name": "node",
          "type": "bytes32"
        },
        {
          "internalType": "address",
          "name": "owner",
          "type": "address"
        },
        {
          "internalType": "address",
          "name": "resolver",
          "type": "address"
        },
        {
          "internalType": "uint64",
          "name": "ttl",
          "type": "uint64"
        }
      ],
      "name": "setRecord",
      "outputs": [],
      "payable": false,
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "constant": false,
      "inputs": [
        {
          "internalType": "bytes32",
          "name": "node",
          "type": "bytes32"
        },
        {
          "internalType": "bytes32",
          "name": "label",
          "type": "bytes32"
        },
        {
          "internalType": "address",
          "name": "owner",
          "type": "address"
        },
        {
          "internalType": "address",
          "name": "resolver",
          "type": "address"
        },
        {
          "internalType": "uint64",
          "name": "ttl",
          "type": "uint64"
        }
      ],
      "name": "setSubnodeRecord",
      "outputs": [],
      "payable": false,
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "constant": false,
      "inputs": [
        {
          "internalType": "bytes32",
          "name": "node",
          "type": "bytes32"
        },
        {
          "internalType": "bytes32",
          "name": "label",
          "type": "bytes32"
        },
        {
          "internalType": "address",
          "name": "owner",
          "type": "address"
        }
      ],
      "name": "setSubnodeOwner",
      "outputs": [
        {
          "internalType": "bytes32",
          "name": "",
          "type": "bytes32"
        }
      ],
      "payable": false,
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "constant": false,
      "inputs": [
        {
          "internalType": "bytes32",
          "name": "node",
          "type": "bytes32"
        },
        {
          "internalType": "address",
          "name": "resolver",
          "type": "address"
        }
      ],
      "name": "setResolver",
      "outputs": [],
      "payable": false,
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "constant": false,
      "inputs": [
        {
          "internalType": "bytes32",
          "name": "node",
          "type": "bytes32"
        },
        {
          "internalType": "address",
          "name": "owner",
          "type": "address"
        }
      ],
      "name": "setOwner",
      "outputs": [],
      "payable": false,
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "constant": false,
      "inputs": [
        {
          "internalType": "bytes32",
          "name": "node",
          "type": "bytes32"
        },
        {
          "internalType": "uint64",
          "name": "ttl",
          "type": "uint64"
        }
      ],
      "name": "setTTL",
      "outputs": [],
      "payable": false,
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "constant": false,
      "inputs": [
        {
          "internalType": "address",
          "name": "operator",
          "type": "address"
        },
        {
          "internalType": "bool",
          "name": "approved",
          "type": "bool"
        }
      ],
      "name": "setApprovalForAll",
      "outputs": [],
      "payable": false,
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [
        {
          "internalType": "bytes32",
          "name": "node",
          "type": "bytes32"
        }
      ],
      "name": "owner",
      "outputs": [
        {
          "internalType": "address",
          "name": "",
          "type": "address"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [
        {
          "internalType": "bytes32",
          "name": "node",
          "type": "bytes32"
        }
      ],
      "name": "resolver",
      "outputs": [
        {
          "internalType": "address",
          "name": "",
          "type": "address"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [
        {
          "internalType": "bytes32",
          "name": "node",
          "type": "bytes32"
        }
      ],
      "name": "ttl",
      "outputs": [
        {
          "internalType": "uint64",
          "name": "",
          "type": "uint64"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [
        {
          "internalType": "bytes32",
          "name": "node",
          "type": "bytes32"
        }
      ],
      "name": "recordExists",
      "outputs": [
        {
          "internalType": "bool",
          "name": "",
          "type": "bool"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [
        {
          "internalType": "address",
          "name": "owner",
          "type": "address"
        },
        {
          "internalType": "address",
          "name": "operator",
          "type": "address"
        }
      ],
      "name": "isApprovedForAll",
      "outputs": [
        {
          "internalType": "bool",
          "name": "",
          "type": "bool"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    }
  ],
  "metadata": "{\"compiler\":{\"version\":\"0.5.16+commit.9c3226ce\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"approved\",\"type\":\"bool\"}],\"name\":\"ApprovalForAll\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"node\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"label\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"NewOwner\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"node\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"resolver\",\"type\":\"address\"}],\"name\":\"NewResolver\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"node\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"uint64\",\"name\":\"ttl\",\"type\":\"uint64\"}],\"name\":\"NewTTL\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"node\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"}],\"name\":\"isApprovedForAll\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"node\",\"type\":\"bytes32\"}],\"name\":\"owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"node\",\"type\":\"bytes32\"}],\"name\":\"recordExists\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"node\",\"type\":\"bytes32\"}],\"name\":\"resolver\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"approved\",\"type\":\"bool\"}],\"name\":\"setApprovalForAll\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"node\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"setOwner\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"node\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"resolver\",\"type\":\"address\"},{\"internalType\":\"uint64\",\"name\":\"ttl\",\"type\":\"uint64\"}],\"name\":\"setRecord\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"node\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"resolver\",\"type\":\"address\"}],\"name\":\"setResolver\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"node\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"label\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"setSubnodeOwner\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"node\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"label\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"resolver\",\"type\":\"address\"},{\"internalType\":\"uint64\",\"name\":\"ttl\",\"type\":\"uint64\"}],\"name\":\"setSubnodeRecord\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"node\",\"type\":\"bytes32\"},{\"internalType\":\"uint64\",\"name\":\"ttl\",\"type\":\"uint64\"}],\"name\":\"setTTL\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"node\",\"type\":\"bytes32\"}],\"name\":\"ttl\",\"outputs\":[{\"internalType\":\"uint64\",\"name\":\"\",\"type\":\"uint64\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"methods\":{}},\"userdoc\":{\"methods\":{}}},\"settings\":{\"compilationTarget\":{\"/Users/makoto/work/ens/ens/contracts/ENS.sol\":\"ENS\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"/Users/makoto/work/ens/ens/contracts/ENS.sol\":{\"keccak256\":\"0x10b88673d8c180cd62523be4fec7607c65594eb4f0c561fa0fbc0784422b4871\",\"urls\":[\"bzz-raw://b3de1882a4a1a1b13c27ee6dc04cc58c34ac392c80cad507de2cdfa8c02712fe\",\"dweb:/ipfs/QmeKcaBF8QdJjXiqFrPJkAtK3et5kUL8XJrnHjwhAThRMT\"]}},\"version\":1}",
  "bytecode": "0x",
  "deployedBytecode": "0x",
  "sourceMap": "",
  "deployedSourceMap": "",
  "source": "pragma solidity >=0.4.24;\n\ninterface ENS {\n\n    // Logged when the owner of a node assigns a new owner to a subnode.\n    event NewOwner(bytes32 indexed node, bytes32 indexed label, address owner);\n\n    // Logged when the owner of a node transfers ownership to a new account.\n    event Transfer(bytes32 indexed node, address owner);\n\n    // Logged when the resolver for a node changes.\n    event NewResolver(bytes32 indexed node, address resolver);\n\n    // Logged when the TTL of a node changes\n    event NewTTL(bytes32 indexed node, uint64 ttl);\n\n    // Logged when an operator is added or removed.\n    event ApprovalForAll(address indexed owner, address indexed operator, bool approved);\n\n    function setRecord(bytes32 node, address owner, address resolver, uint64 ttl) external;\n    function setSubnodeRecord(bytes32 node, bytes32 label, address owner, address resolver, uint64 ttl) external;\n    function setSubnodeOwner(bytes32 node, bytes32 label, address owner) external returns(bytes32);\n    function setResolver(bytes32 node, address resolver) external;\n    function setOwner(bytes32 node, address owner) external;\n    function setTTL(bytes32 node, uint64 ttl) external;\n    function setApprovalForAll(address operator, bool approved) external;\n    function owner(bytes32 node) external view returns (address);\n    function resolver(bytes32 node) external view returns (address);\n    function ttl(bytes32 node) external view returns (uint64);\n    function recordExists(bytes32 node) external view returns (bool);\n    function isApprovedForAll(address owner, address operator) external view returns (bool);\n}\n",
  "sourcePath": "/Users/makoto/work/ens/ens/contracts/ENS.sol",
  "ast": {
    "absolutePath": "/Users/makoto/work/ens/ens/contracts/ENS.sol",
    "exportedSymbols": {
      "ENS": [
        436
      ]
    },
    "id": 437,
    "nodeType": "SourceUnit",
    "nodes": [
      {
        "id": 301,
        "literals": [
          "solidity",
          ">=",
          "0.4",
          ".24"
        ],
        "nodeType": "PragmaDirective",
        "src": "0:25:2"
      },
      {
        "baseContracts": [],
        "contractDependencies": [],
        "contractKind": "interface",
        "documentation": null,
        "fullyImplemented": false,
        "id": 436,
        "linearizedBaseContracts": [
          436
        ],
        "name": "ENS",
        "nodeType": "ContractDefinition",
        "nodes": [
          {
            "anonymous": false,
            "documentation": null,
            "id": 309,
            "name": "NewOwner",
            "nodeType": "EventDefinition",
            "parameters": {
              "id": 308,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 303,
                  "indexed": true,
                  "name": "node",
                  "nodeType": "VariableDeclaration",
                  "scope": 309,
                  "src": "136:20:2",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 302,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "136:7:2",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 305,
                  "indexed": true,
                  "name": "label",
                  "nodeType": "VariableDeclaration",
                  "scope": 309,
                  "src": "158:21:2",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 304,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "158:7:2",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 307,
                  "indexed": false,
                  "name": "owner",
                  "nodeType": "VariableDeclaration",
                  "scope": 309,
                  "src": "181:13:2",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 306,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "181:7:2",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "135:60:2"
            },
            "src": "121:75:2"
          },
          {
            "anonymous": false,
            "documentation": null,
            "id": 315,
            "name": "Transfer",
            "nodeType": "EventDefinition",
            "parameters": {
              "id": 314,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 311,
                  "indexed": true,
                  "name": "node",
                  "nodeType": "VariableDeclaration",
                  "scope": 315,
                  "src": "294:20:2",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 310,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "294:7:2",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 313,
                  "indexed": false,
                  "name": "owner",
                  "nodeType": "VariableDeclaration",
                  "scope": 315,
                  "src": "316:13:2",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 312,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "316:7:2",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "293:37:2"
            },
            "src": "279:52:2"
          },
          {
            "anonymous": false,
            "documentation": null,
            "id": 321,
            "name": "NewResolver",
            "nodeType": "EventDefinition",
            "parameters": {
              "id": 320,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 317,
                  "indexed": true,
                  "name": "node",
                  "nodeType": "VariableDeclaration",
                  "scope": 321,
                  "src": "407:20:2",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 316,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "407:7:2",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 319,
                  "indexed": false,
                  "name": "resolver",
                  "nodeType": "VariableDeclaration",
                  "scope": 321,
                  "src": "429:16:2",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 318,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "429:7:2",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "406:40:2"
            },
            "src": "389:58:2"
          },
          {
            "anonymous": false,
            "documentation": null,
            "id": 327,
            "name": "NewTTL",
            "nodeType": "EventDefinition",
            "parameters": {
              "id": 326,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 323,
                  "indexed": true,
                  "name": "node",
                  "nodeType": "VariableDeclaration",
                  "scope": 327,
                  "src": "511:20:2",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 322,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "511:7:2",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 325,
                  "indexed": false,
                  "name": "ttl",
                  "nodeType": "VariableDeclaration",
                  "scope": 327,
                  "src": "533:10:2",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint64",
                    "typeString": "uint64"
                  },
                  "typeName": {
                    "id": 324,
                    "name": "uint64",
                    "nodeType": "ElementaryTypeName",
                    "src": "533:6:2",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint64",
                      "typeString": "uint64"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "510:34:2"
            },
            "src": "498:47:2"
          },
          {
            "anonymous": false,
            "documentation": null,
            "id": 335,
            "name": "ApprovalForAll",
            "nodeType": "EventDefinition",
            "parameters": {
              "id": 334,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 329,
                  "indexed": true,
                  "name": "owner",
                  "nodeType": "VariableDeclaration",
                  "scope": 335,
                  "src": "624:21:2",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 328,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "624:7:2",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 331,
                  "indexed": true,
                  "name": "operator",
                  "nodeType": "VariableDeclaration",
                  "scope": 335,
                  "src": "647:24:2",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 330,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "647:7:2",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 333,
                  "indexed": false,
                  "name": "approved",
                  "nodeType": "VariableDeclaration",
                  "scope": 335,
                  "src": "673:13:2",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bool",
                    "typeString": "bool"
                  },
                  "typeName": {
                    "id": 332,
                    "name": "bool",
                    "nodeType": "ElementaryTypeName",
                    "src": "673:4:2",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "623:64:2"
            },
            "src": "603:85:2"
          },
          {
            "body": null,
            "documentation": null,
            "id": 346,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "setRecord",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 344,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 337,
                  "name": "node",
                  "nodeType": "VariableDeclaration",
                  "scope": 346,
                  "src": "713:12:2",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 336,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "713:7:2",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 339,
                  "name": "owner",
                  "nodeType": "VariableDeclaration",
                  "scope": 346,
                  "src": "727:13:2",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 338,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "727:7:2",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 341,
                  "name": "resolver",
                  "nodeType": "VariableDeclaration",
                  "scope": 346,
                  "src": "742:16:2",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 340,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "742:7:2",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 343,
                  "name": "ttl",
                  "nodeType": "VariableDeclaration",
                  "scope": 346,
                  "src": "760:10:2",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint64",
                    "typeString": "uint64"
                  },
                  "typeName": {
                    "id": 342,
                    "name": "uint64",
                    "nodeType": "ElementaryTypeName",
                    "src": "760:6:2",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint64",
                      "typeString": "uint64"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "712:59:2"
            },
            "returnParameters": {
              "id": 345,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "780:0:2"
            },
            "scope": 436,
            "src": "694:87:2",
            "stateMutability": "nonpayable",
            "superFunction": null,
            "visibility": "external"
          },
          {
            "body": null,
            "documentation": null,
            "id": 359,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "setSubnodeRecord",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 357,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 348,
                  "name": "node",
                  "nodeType": "VariableDeclaration",
                  "scope": 359,
                  "src": "812:12:2",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 347,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "812:7:2",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 350,
                  "name": "label",
                  "nodeType": "VariableDeclaration",
                  "scope": 359,
                  "src": "826:13:2",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 349,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "826:7:2",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 352,
                  "name": "owner",
                  "nodeType": "VariableDeclaration",
                  "scope": 359,
                  "src": "841:13:2",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 351,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "841:7:2",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 354,
                  "name": "resolver",
                  "nodeType": "VariableDeclaration",
                  "scope": 359,
                  "src": "856:16:2",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 353,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "856:7:2",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 356,
                  "name": "ttl",
                  "nodeType": "VariableDeclaration",
                  "scope": 359,
                  "src": "874:10:2",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint64",
                    "typeString": "uint64"
                  },
                  "typeName": {
                    "id": 355,
                    "name": "uint64",
                    "nodeType": "ElementaryTypeName",
                    "src": "874:6:2",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint64",
                      "typeString": "uint64"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "811:74:2"
            },
            "returnParameters": {
              "id": 358,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "894:0:2"
            },
            "scope": 436,
            "src": "786:109:2",
            "stateMutability": "nonpayable",
            "superFunction": null,
            "visibility": "external"
          },
          {
            "body": null,
            "documentation": null,
            "id": 370,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "setSubnodeOwner",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 366,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 361,
                  "name": "node",
                  "nodeType": "VariableDeclaration",
                  "scope": 370,
                  "src": "925:12:2",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 360,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "925:7:2",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 363,
                  "name": "label",
                  "nodeType": "VariableDeclaration",
                  "scope": 370,
                  "src": "939:13:2",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 362,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "939:7:2",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 365,
                  "name": "owner",
                  "nodeType": "VariableDeclaration",
                  "scope": 370,
                  "src": "954:13:2",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 364,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "954:7:2",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "924:44:2"
            },
            "returnParameters": {
              "id": 369,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 368,
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "scope": 370,
                  "src": "986:7:2",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 367,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "986:7:2",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "985:9:2"
            },
            "scope": 436,
            "src": "900:95:2",
            "stateMutability": "nonpayable",
            "superFunction": null,
            "visibility": "external"
          },
          {
            "body": null,
            "documentation": null,
            "id": 377,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "setResolver",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 375,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 372,
                  "name": "node",
                  "nodeType": "VariableDeclaration",
                  "scope": 377,
                  "src": "1021:12:2",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 371,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "1021:7:2",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 374,
                  "name": "resolver",
                  "nodeType": "VariableDeclaration",
                  "scope": 377,
                  "src": "1035:16:2",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 373,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "1035:7:2",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "1020:32:2"
            },
            "returnParameters": {
              "id": 376,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "1061:0:2"
            },
            "scope": 436,
            "src": "1000:62:2",
            "stateMutability": "nonpayable",
            "superFunction": null,
            "visibility": "external"
          },
          {
            "body": null,
            "documentation": null,
            "id": 384,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "setOwner",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 382,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 379,
                  "name": "node",
                  "nodeType": "VariableDeclaration",
                  "scope": 384,
                  "src": "1085:12:2",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 378,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "1085:7:2",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 381,
                  "name": "owner",
                  "nodeType": "VariableDeclaration",
                  "scope": 384,
                  "src": "1099:13:2",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 380,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "1099:7:2",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "1084:29:2"
            },
            "returnParameters": {
              "id": 383,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "1122:0:2"
            },
            "scope": 436,
            "src": "1067:56:2",
            "stateMutability": "nonpayable",
            "superFunction": null,
            "visibility": "external"
          },
          {
            "body": null,
            "documentation": null,
            "id": 391,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "setTTL",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 389,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 386,
                  "name": "node",
                  "nodeType": "VariableDeclaration",
                  "scope": 391,
                  "src": "1144:12:2",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 385,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "1144:7:2",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 388,
                  "name": "ttl",
                  "nodeType": "VariableDeclaration",
                  "scope": 391,
                  "src": "1158:10:2",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint64",
                    "typeString": "uint64"
                  },
                  "typeName": {
                    "id": 387,
                    "name": "uint64",
                    "nodeType": "ElementaryTypeName",
                    "src": "1158:6:2",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint64",
                      "typeString": "uint64"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "1143:26:2"
            },
            "returnParameters": {
              "id": 390,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "1178:0:2"
            },
            "scope": 436,
            "src": "1128:51:2",
            "stateMutability": "nonpayable",
            "superFunction": null,
            "visibility": "external"
          },
          {
            "body": null,
            "documentation": null,
            "id": 398,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "setApprovalForAll",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 396,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 393,
                  "name": "operator",
                  "nodeType": "VariableDeclaration",
                  "scope": 398,
                  "src": "1211:16:2",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 392,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "1211:7:2",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 395,
                  "name": "approved",
                  "nodeType": "VariableDeclaration",
                  "scope": 398,
                  "src": "1229:13:2",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bool",
                    "typeString": "bool"
                  },
                  "typeName": {
                    "id": 394,
                    "name": "bool",
                    "nodeType": "ElementaryTypeName",
                    "src": "1229:4:2",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "1210:33:2"
            },
            "returnParameters": {
              "id": 397,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "1252:0:2"
            },
            "scope": 436,
            "src": "1184:69:2",
            "stateMutability": "nonpayable",
            "superFunction": null,
            "visibility": "external"
          },
          {
            "body": null,
            "documentation": null,
            "id": 405,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "owner",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 401,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 400,
                  "name": "node",
                  "nodeType": "VariableDeclaration",
                  "scope": 405,
                  "src": "1273:12:2",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 399,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "1273:7:2",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "1272:14:2"
            },
            "returnParameters": {
              "id": 404,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 403,
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "scope": 405,
                  "src": "1310:7:2",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 402,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "1310:7:2",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "1309:9:2"
            },
            "scope": 436,
            "src": "1258:61:2",
            "stateMutability": "view",
            "superFunction": null,
            "visibility": "external"
          },
          {
            "body": null,
            "documentation": null,
            "id": 412,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "resolver",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 408,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 407,
                  "name": "node",
                  "nodeType": "VariableDeclaration",
                  "scope": 412,
                  "src": "1342:12:2",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 406,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "1342:7:2",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "1341:14:2"
            },
            "returnParameters": {
              "id": 411,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 410,
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "scope": 412,
                  "src": "1379:7:2",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 409,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "1379:7:2",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "1378:9:2"
            },
            "scope": 436,
            "src": "1324:64:2",
            "stateMutability": "view",
            "superFunction": null,
            "visibility": "external"
          },
          {
            "body": null,
            "documentation": null,
            "id": 419,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "ttl",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 415,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 414,
                  "name": "node",
                  "nodeType": "VariableDeclaration",
                  "scope": 419,
                  "src": "1406:12:2",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 413,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "1406:7:2",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "1405:14:2"
            },
            "returnParameters": {
              "id": 418,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 417,
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "scope": 419,
                  "src": "1443:6:2",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint64",
                    "typeString": "uint64"
                  },
                  "typeName": {
                    "id": 416,
                    "name": "uint64",
                    "nodeType": "ElementaryTypeName",
                    "src": "1443:6:2",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint64",
                      "typeString": "uint64"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "1442:8:2"
            },
            "scope": 436,
            "src": "1393:58:2",
            "stateMutability": "view",
            "superFunction": null,
            "visibility": "external"
          },
          {
            "body": null,
            "documentation": null,
            "id": 426,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "recordExists",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 422,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 421,
                  "name": "node",
                  "nodeType": "VariableDeclaration",
                  "scope": 426,
                  "src": "1478:12:2",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 420,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "1478:7:2",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "1477:14:2"
            },
            "returnParameters": {
              "id": 425,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 424,
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "scope": 426,
                  "src": "1515:4:2",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bool",
                    "typeString": "bool"
                  },
                  "typeName": {
                    "id": 423,
                    "name": "bool",
                    "nodeType": "ElementaryTypeName",
                    "src": "1515:4:2",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "1514:6:2"
            },
            "scope": 436,
            "src": "1456:65:2",
            "stateMutability": "view",
            "superFunction": null,
            "visibility": "external"
          },
          {
            "body": null,
            "documentation": null,
            "id": 435,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "isApprovedForAll",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 431,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 428,
                  "name": "owner",
                  "nodeType": "VariableDeclaration",
                  "scope": 435,
                  "src": "1552:13:2",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 427,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "1552:7:2",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 430,
                  "name": "operator",
                  "nodeType": "VariableDeclaration",
                  "scope": 435,
                  "src": "1567:16:2",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 429,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "1567:7:2",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "1551:33:2"
            },
            "returnParameters": {
              "id": 434,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 433,
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "scope": 435,
                  "src": "1608:4:2",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bool",
                    "typeString": "bool"
                  },
                  "typeName": {
                    "id": 432,
                    "name": "bool",
                    "nodeType": "ElementaryTypeName",
                    "src": "1608:4:2",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "1607:6:2"
            },
            "scope": 436,
            "src": "1526:88:2",
            "stateMutability": "view",
            "superFunction": null,
            "visibility": "external"
          }
        ],
        "scope": 437,
        "src": "27:1589:2"
      }
    ],
    "src": "0:1617:2"
  },
  "legacyAST": {
    "absolutePath": "/Users/makoto/work/ens/ens/contracts/ENS.sol",
    "exportedSymbols": {
      "ENS": [
        436
      ]
    },
    "id": 437,
    "nodeType": "SourceUnit",
    "nodes": [
      {
        "id": 301,
        "literals": [
          "solidity",
          ">=",
          "0.4",
          ".24"
        ],
        "nodeType": "PragmaDirective",
        "src": "0:25:2"
      },
      {
        "baseContracts": [],
        "contractDependencies": [],
        "contractKind": "interface",
        "documentation": null,
        "fullyImplemented": false,
        "id": 436,
        "linearizedBaseContracts": [
          436
        ],
        "name": "ENS",
        "nodeType": "ContractDefinition",
        "nodes": [
          {
            "anonymous": false,
            "documentation": null,
            "id": 309,
            "name": "NewOwner",
            "nodeType": "EventDefinition",
            "parameters": {
              "id": 308,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 303,
                  "indexed": true,
                  "name": "node",
                  "nodeType": "VariableDeclaration",
                  "scope": 309,
                  "src": "136:20:2",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 302,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "136:7:2",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 305,
                  "indexed": true,
                  "name": "label",
                  "nodeType": "VariableDeclaration",
                  "scope": 309,
                  "src": "158:21:2",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 304,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "158:7:2",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 307,
                  "indexed": false,
                  "name": "owner",
                  "nodeType": "VariableDeclaration",
                  "scope": 309,
                  "src": "181:13:2",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 306,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "181:7:2",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "135:60:2"
            },
            "src": "121:75:2"
          },
          {
            "anonymous": false,
            "documentation": null,
            "id": 315,
            "name": "Transfer",
            "nodeType": "EventDefinition",
            "parameters": {
              "id": 314,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 311,
                  "indexed": true,
                  "name": "node",
                  "nodeType": "VariableDeclaration",
                  "scope": 315,
                  "src": "294:20:2",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 310,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "294:7:2",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 313,
                  "indexed": false,
                  "name": "owner",
                  "nodeType": "VariableDeclaration",
                  "scope": 315,
                  "src": "316:13:2",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 312,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "316:7:2",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "293:37:2"
            },
            "src": "279:52:2"
          },
          {
            "anonymous": false,
            "documentation": null,
            "id": 321,
            "name": "NewResolver",
            "nodeType": "EventDefinition",
            "parameters": {
              "id": 320,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 317,
                  "indexed": true,
                  "name": "node",
                  "nodeType": "VariableDeclaration",
                  "scope": 321,
                  "src": "407:20:2",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 316,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "407:7:2",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 319,
                  "indexed": false,
                  "name": "resolver",
                  "nodeType": "VariableDeclaration",
                  "scope": 321,
                  "src": "429:16:2",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 318,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "429:7:2",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "406:40:2"
            },
            "src": "389:58:2"
          },
          {
            "anonymous": false,
            "documentation": null,
            "id": 327,
            "name": "NewTTL",
            "nodeType": "EventDefinition",
            "parameters": {
              "id": 326,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 323,
                  "indexed": true,
                  "name": "node",
                  "nodeType": "VariableDeclaration",
                  "scope": 327,
                  "src": "511:20:2",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 322,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "511:7:2",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 325,
                  "indexed": false,
                  "name": "ttl",
                  "nodeType": "VariableDeclaration",
                  "scope": 327,
                  "src": "533:10:2",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint64",
                    "typeString": "uint64"
                  },
                  "typeName": {
                    "id": 324,
                    "name": "uint64",
                    "nodeType": "ElementaryTypeName",
                    "src": "533:6:2",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint64",
                      "typeString": "uint64"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "510:34:2"
            },
            "src": "498:47:2"
          },
          {
            "anonymous": false,
            "documentation": null,
            "id": 335,
            "name": "ApprovalForAll",
            "nodeType": "EventDefinition",
            "parameters": {
              "id": 334,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 329,
                  "indexed": true,
                  "name": "owner",
                  "nodeType": "VariableDeclaration",
                  "scope": 335,
                  "src": "624:21:2",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 328,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "624:7:2",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 331,
                  "indexed": true,
                  "name": "operator",
                  "nodeType": "VariableDeclaration",
                  "scope": 335,
                  "src": "647:24:2",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 330,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "647:7:2",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 333,
                  "indexed": false,
                  "name": "approved",
                  "nodeType": "VariableDeclaration",
                  "scope": 335,
                  "src": "673:13:2",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bool",
                    "typeString": "bool"
                  },
                  "typeName": {
                    "id": 332,
                    "name": "bool",
                    "nodeType": "ElementaryTypeName",
                    "src": "673:4:2",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "623:64:2"
            },
            "src": "603:85:2"
          },
          {
            "body": null,
            "documentation": null,
            "id": 346,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "setRecord",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 344,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 337,
                  "name": "node",
                  "nodeType": "VariableDeclaration",
                  "scope": 346,
                  "src": "713:12:2",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 336,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "713:7:2",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 339,
                  "name": "owner",
                  "nodeType": "VariableDeclaration",
                  "scope": 346,
                  "src": "727:13:2",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 338,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "727:7:2",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 341,
                  "name": "resolver",
                  "nodeType": "VariableDeclaration",
                  "scope": 346,
                  "src": "742:16:2",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 340,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "742:7:2",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 343,
                  "name": "ttl",
                  "nodeType": "VariableDeclaration",
                  "scope": 346,
                  "src": "760:10:2",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint64",
                    "typeString": "uint64"
                  },
                  "typeName": {
                    "id": 342,
                    "name": "uint64",
                    "nodeType": "ElementaryTypeName",
                    "src": "760:6:2",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint64",
                      "typeString": "uint64"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "712:59:2"
            },
            "returnParameters": {
              "id": 345,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "780:0:2"
            },
            "scope": 436,
            "src": "694:87:2",
            "stateMutability": "nonpayable",
            "superFunction": null,
            "visibility": "external"
          },
          {
            "body": null,
            "documentation": null,
            "id": 359,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "setSubnodeRecord",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 357,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 348,
                  "name": "node",
                  "nodeType": "VariableDeclaration",
                  "scope": 359,
                  "src": "812:12:2",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 347,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "812:7:2",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 350,
                  "name": "label",
                  "nodeType": "VariableDeclaration",
                  "scope": 359,
                  "src": "826:13:2",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 349,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "826:7:2",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 352,
                  "name": "owner",
                  "nodeType": "VariableDeclaration",
                  "scope": 359,
                  "src": "841:13:2",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 351,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "841:7:2",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 354,
                  "name": "resolver",
                  "nodeType": "VariableDeclaration",
                  "scope": 359,
                  "src": "856:16:2",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 353,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "856:7:2",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 356,
                  "name": "ttl",
                  "nodeType": "VariableDeclaration",
                  "scope": 359,
                  "src": "874:10:2",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint64",
                    "typeString": "uint64"
                  },
                  "typeName": {
                    "id": 355,
                    "name": "uint64",
                    "nodeType": "ElementaryTypeName",
                    "src": "874:6:2",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint64",
                      "typeString": "uint64"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "811:74:2"
            },
            "returnParameters": {
              "id": 358,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "894:0:2"
            },
            "scope": 436,
            "src": "786:109:2",
            "stateMutability": "nonpayable",
            "superFunction": null,
            "visibility": "external"
          },
          {
            "body": null,
            "documentation": null,
            "id": 370,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "setSubnodeOwner",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 366,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 361,
                  "name": "node",
                  "nodeType": "VariableDeclaration",
                  "scope": 370,
                  "src": "925:12:2",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 360,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "925:7:2",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 363,
                  "name": "label",
                  "nodeType": "VariableDeclaration",
                  "scope": 370,
                  "src": "939:13:2",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 362,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "939:7:2",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 365,
                  "name": "owner",
                  "nodeType": "VariableDeclaration",
                  "scope": 370,
                  "src": "954:13:2",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 364,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "954:7:2",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "924:44:2"
            },
            "returnParameters": {
              "id": 369,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 368,
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "scope": 370,
                  "src": "986:7:2",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 367,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "986:7:2",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "985:9:2"
            },
            "scope": 436,
            "src": "900:95:2",
            "stateMutability": "nonpayable",
            "superFunction": null,
            "visibility": "external"
          },
          {
            "body": null,
            "documentation": null,
            "id": 377,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "setResolver",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 375,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 372,
                  "name": "node",
                  "nodeType": "VariableDeclaration",
                  "scope": 377,
                  "src": "1021:12:2",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 371,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "1021:7:2",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 374,
                  "name": "resolver",
                  "nodeType": "VariableDeclaration",
                  "scope": 377,
                  "src": "1035:16:2",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 373,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "1035:7:2",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "1020:32:2"
            },
            "returnParameters": {
              "id": 376,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "1061:0:2"
            },
            "scope": 436,
            "src": "1000:62:2",
            "stateMutability": "nonpayable",
            "superFunction": null,
            "visibility": "external"
          },
          {
            "body": null,
            "documentation": null,
            "id": 384,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "setOwner",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 382,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 379,
                  "name": "node",
                  "nodeType": "VariableDeclaration",
                  "scope": 384,
                  "src": "1085:12:2",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 378,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "1085:7:2",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 381,
                  "name": "owner",
                  "nodeType": "VariableDeclaration",
                  "scope": 384,
                  "src": "1099:13:2",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 380,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "1099:7:2",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "1084:29:2"
            },
            "returnParameters": {
              "id": 383,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "1122:0:2"
            },
            "scope": 436,
            "src": "1067:56:2",
            "stateMutability": "nonpayable",
            "superFunction": null,
            "visibility": "external"
          },
          {
            "body": null,
            "documentation": null,
            "id": 391,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "setTTL",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 389,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 386,
                  "name": "node",
                  "nodeType": "VariableDeclaration",
                  "scope": 391,
                  "src": "1144:12:2",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 385,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "1144:7:2",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 388,
                  "name": "ttl",
                  "nodeType": "VariableDeclaration",
                  "scope": 391,
                  "src": "1158:10:2",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint64",
                    "typeString": "uint64"
                  },
                  "typeName": {
                    "id": 387,
                    "name": "uint64",
                    "nodeType": "ElementaryTypeName",
                    "src": "1158:6:2",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint64",
                      "typeString": "uint64"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "1143:26:2"
            },
            "returnParameters": {
              "id": 390,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "1178:0:2"
            },
            "scope": 436,
            "src": "1128:51:2",
            "stateMutability": "nonpayable",
            "superFunction": null,
            "visibility": "external"
          },
          {
            "body": null,
            "documentation": null,
            "id": 398,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "setApprovalForAll",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 396,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 393,
                  "name": "operator",
                  "nodeType": "VariableDeclaration",
                  "scope": 398,
                  "src": "1211:16:2",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 392,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "1211:7:2",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 395,
                  "name": "approved",
                  "nodeType": "VariableDeclaration",
                  "scope": 398,
                  "src": "1229:13:2",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bool",
                    "typeString": "bool"
                  },
                  "typeName": {
                    "id": 394,
                    "name": "bool",
                    "nodeType": "ElementaryTypeName",
                    "src": "1229:4:2",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "1210:33:2"
            },
            "returnParameters": {
              "id": 397,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "1252:0:2"
            },
            "scope": 436,
            "src": "1184:69:2",
            "stateMutability": "nonpayable",
            "superFunction": null,
            "visibility": "external"
          },
          {
            "body": null,
            "documentation": null,
            "id": 405,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "owner",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 401,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 400,
                  "name": "node",
                  "nodeType": "VariableDeclaration",
                  "scope": 405,
                  "src": "1273:12:2",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 399,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "1273:7:2",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "1272:14:2"
            },
            "returnParameters": {
              "id": 404,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 403,
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "scope": 405,
                  "src": "1310:7:2",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 402,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "1310:7:2",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "1309:9:2"
            },
            "scope": 436,
            "src": "1258:61:2",
            "stateMutability": "view",
            "superFunction": null,
            "visibility": "external"
          },
          {
            "body": null,
            "documentation": null,
            "id": 412,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "resolver",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 408,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 407,
                  "name": "node",
                  "nodeType": "VariableDeclaration",
                  "scope": 412,
                  "src": "1342:12:2",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 406,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "1342:7:2",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "1341:14:2"
            },
            "returnParameters": {
              "id": 411,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 410,
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "scope": 412,
                  "src": "1379:7:2",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 409,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "1379:7:2",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "1378:9:2"
            },
            "scope": 436,
            "src": "1324:64:2",
            "stateMutability": "view",
            "superFunction": null,
            "visibility": "external"
          },
          {
            "body": null,
            "documentation": null,
            "id": 419,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "ttl",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 415,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 414,
                  "name": "node",
                  "nodeType": "VariableDeclaration",
                  "scope": 419,
                  "src": "1406:12:2",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 413,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "1406:7:2",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "1405:14:2"
            },
            "returnParameters": {
              "id": 418,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 417,
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "scope": 419,
                  "src": "1443:6:2",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint64",
                    "typeString": "uint64"
                  },
                  "typeName": {
                    "id": 416,
                    "name": "uint64",
                    "nodeType": "ElementaryTypeName",
                    "src": "1443:6:2",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint64",
                      "typeString": "uint64"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "1442:8:2"
            },
            "scope": 436,
            "src": "1393:58:2",
            "stateMutability": "view",
            "superFunction": null,
            "visibility": "external"
          },
          {
            "body": null,
            "documentation": null,
            "id": 426,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "recordExists",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 422,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 421,
                  "name": "node",
                  "nodeType": "VariableDeclaration",
                  "scope": 426,
                  "src": "1478:12:2",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 420,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "1478:7:2",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "1477:14:2"
            },
            "returnParameters": {
              "id": 425,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 424,
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "scope": 426,
                  "src": "1515:4:2",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bool",
                    "typeString": "bool"
                  },
                  "typeName": {
                    "id": 423,
                    "name": "bool",
                    "nodeType": "ElementaryTypeName",
                    "src": "1515:4:2",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "1514:6:2"
            },
            "scope": 436,
            "src": "1456:65:2",
            "stateMutability": "view",
            "superFunction": null,
            "visibility": "external"
          },
          {
            "body": null,
            "documentation": null,
            "id": 435,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "isApprovedForAll",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 431,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 428,
                  "name": "owner",
                  "nodeType": "VariableDeclaration",
                  "scope": 435,
                  "src": "1552:13:2",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 427,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "1552:7:2",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 430,
                  "name": "operator",
                  "nodeType": "VariableDeclaration",
                  "scope": 435,
                  "src": "1567:16:2",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 429,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "1567:7:2",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "1551:33:2"
            },
            "returnParameters": {
              "id": 434,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 433,
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "scope": 435,
                  "src": "1608:4:2",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bool",
                    "typeString": "bool"
                  },
                  "typeName": {
                    "id": 432,
                    "name": "bool",
                    "nodeType": "ElementaryTypeName",
                    "src": "1608:4:2",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "1607:6:2"
            },
            "scope": 436,
            "src": "1526:88:2",
            "stateMutability": "view",
            "superFunction": null,
            "visibility": "external"
          }
        ],
        "scope": 437,
        "src": "27:1589:2"
      }
    ],
    "src": "0:1617:2"
  },
  "compiler": {
    "name": "solc",
    "version": "0.5.16+commit.9c3226ce.Emscripten.clang"
  },
  "networks": {},
  "schemaVersion": "3.2.0",
  "updatedAt": "2020-06-23T14:47:43.690Z",
  "devdoc": {
    "methods": {}
  },
  "userdoc": {
    "methods": {}
  }
}