{
  "contractName": "EIP20StandardToken",
  "abi": [
    {
      "constant": false,
      "inputs": [
        {
          "name": "_spender",
          "type": "address"
        },
        {
          "name": "_value",
          "type": "uint256"
        }
      ],
      "name": "approve",
      "outputs": [
        {
          "name": "success",
          "type": "bool"
        }
      ],
      "payable": false,
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [],
      "name": "totalSupply",
      "outputs": [
        {
          "name": "",
          "type": "uint256"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": false,
      "inputs": [
        {
          "name": "_from",
          "type": "address"
        },
        {
          "name": "_to",
          "type": "address"
        },
        {
          "name": "_value",
          "type": "uint256"
        }
      ],
      "name": "transferFrom",
      "outputs": [
        {
          "name": "success",
          "type": "bool"
        }
      ],
      "payable": false,
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [
        {
          "name": "_owner",
          "type": "address"
        }
      ],
      "name": "balanceOf",
      "outputs": [
        {
          "name": "balance",
          "type": "uint256"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": false,
      "inputs": [
        {
          "name": "_to",
          "type": "address"
        },
        {
          "name": "_value",
          "type": "uint256"
        }
      ],
      "name": "transfer",
      "outputs": [
        {
          "name": "success",
          "type": "bool"
        }
      ],
      "payable": false,
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [
        {
          "name": "_owner",
          "type": "address"
        },
        {
          "name": "_spender",
          "type": "address"
        }
      ],
      "name": "allowance",
      "outputs": [
        {
          "name": "remaining",
          "type": "uint256"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "name": "_from",
          "type": "address"
        },
        {
          "indexed": true,
          "name": "_to",
          "type": "address"
        },
        {
          "indexed": false,
          "name": "_value",
          "type": "uint256"
        }
      ],
      "name": "Transfer",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "name": "_owner",
          "type": "address"
        },
        {
          "indexed": true,
          "name": "_spender",
          "type": "address"
        },
        {
          "indexed": false,
          "name": "_value",
          "type": "uint256"
        }
      ],
      "name": "Approval",
      "type": "event"
    }
  ],
  "bytecode": "0x6060604052341561000f57600080fd5b6108738061001e6000396000f300606060405260043610610078576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff168063095ea7b31461007d57806318160ddd146100d757806323b872dd1461010057806370a0823114610179578063a9059cbb146101c6578063dd62ed3e14610220575b600080fd5b341561008857600080fd5b6100bd600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803590602001909190505061028c565b604051808215151515815260200191505060405180910390f35b34156100e257600080fd5b6100ea61037e565b6040518082815260200191505060405180910390f35b341561010b57600080fd5b61015f600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050610384565b604051808215151515815260200191505060405180910390f35b341561018457600080fd5b6101b0600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190505061061e565b6040518082815260200191505060405180910390f35b34156101d157600080fd5b610206600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050610667565b604051808215151515815260200191505060405180910390f35b341561022b57600080fd5b610276600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803573ffffffffffffffffffffffffffffffffffffffff169060200190919050506107c0565b6040518082815260200191505060405180910390f35b600081600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040518082815260200191505060405180910390a36001905092915050565b60005481565b600080600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905082600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054101580156104555750828110155b151561046057600080fd5b82600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254019250508190555082600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825403925050819055507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8110156105ad5782600260008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825403925050819055505b8373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040518082815260200191505060405180910390a360019150509392505050565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b600081600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054101515156106b757600080fd5b81600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254039250508190555081600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a36001905092915050565b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050929150505600a165627a7a72305820317925f6a6a18641e02e698ca59381421f9a408990dc6d00b046d48705e2181a0029",
  "deployedBytecode": "0x606060405260043610610078576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff168063095ea7b31461007d57806318160ddd146100d757806323b872dd1461010057806370a0823114610179578063a9059cbb146101c6578063dd62ed3e14610220575b600080fd5b341561008857600080fd5b6100bd600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803590602001909190505061028c565b604051808215151515815260200191505060405180910390f35b34156100e257600080fd5b6100ea61037e565b6040518082815260200191505060405180910390f35b341561010b57600080fd5b61015f600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050610384565b604051808215151515815260200191505060405180910390f35b341561018457600080fd5b6101b0600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190505061061e565b6040518082815260200191505060405180910390f35b34156101d157600080fd5b610206600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050610667565b604051808215151515815260200191505060405180910390f35b341561022b57600080fd5b610276600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803573ffffffffffffffffffffffffffffffffffffffff169060200190919050506107c0565b6040518082815260200191505060405180910390f35b600081600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040518082815260200191505060405180910390a36001905092915050565b60005481565b600080600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905082600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054101580156104555750828110155b151561046057600080fd5b82600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254019250508190555082600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825403925050819055507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8110156105ad5782600260008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825403925050819055505b8373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040518082815260200191505060405180910390a360019150509392505050565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b600081600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054101515156106b757600080fd5b81600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254039250508190555081600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a36001905092915050565b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050929150505600a165627a7a72305820317925f6a6a18641e02e698ca59381421f9a408990dc6d00b046d48705e2181a0029",
  "sourceMap": "480:1861:2:-;;;;;;;;;;;;;;;;;",
  "deployedSourceMap": "480:1861:2:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1906:190;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;664:26:3;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1148:640:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1792:110;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;575:569;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2100:139;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1906:190;1972:12;2024:6;1992:7;:19;2000:10;1992:19;;;;;;;;;;;;;;;:29;2012:8;1992:29;;;;;;;;;;;;;;;:38;;;;2057:8;2036:38;;2045:10;2036:38;;;2067:6;2036:38;;;;;;;;;;;;;;;;;;2087:4;2080:11;;1906:190;;;;:::o;664:26:3:-;;;;:::o;1148:640:2:-;1229:12;1478:17;1498:7;:14;1506:5;1498:14;;;;;;;;;;;;;;;:26;1513:10;1498:26;;;;;;;;;;;;;;;;1478:46;;1557:6;1538:8;:15;1547:5;1538:15;;;;;;;;;;;;;;;;:25;;:48;;;;;1580:6;1567:9;:19;;1538:48;1530:57;;;;;;;;1610:6;1593:8;:13;1602:3;1593:13;;;;;;;;;;;;;;;;:23;;;;;;;;;;;1641:6;1622:8;:15;1631:5;1622:15;;;;;;;;;;;;;;;;:25;;;;;;;;;;;558:12;1657:9;:23;1653:80;;;1720:6;1690:7;:14;1698:5;1690:14;;;;;;;;;;;;;;;:26;1705:10;1690:26;;;;;;;;;;;;;;;;:36;;;;;;;;;;;1653:80;1754:3;1738:28;;1747:5;1738:28;;;1759:6;1738:28;;;;;;;;;;;;;;;;;;1779:4;1772:11;;1148:640;;;;;;:::o;1792:110::-;1851:15;1881:8;:16;1890:6;1881:16;;;;;;;;;;;;;;;;1874:23;;1792:110;;;:::o;575:569::-;637:12;1011:6;987:8;:20;996:10;987:20;;;;;;;;;;;;;;;;:30;;979:39;;;;;;;;1048:6;1024:8;:20;1033:10;1024:20;;;;;;;;;;;;;;;;:30;;;;;;;;;;;1077:6;1060:8;:13;1069:3;1060:13;;;;;;;;;;;;;;;;:23;;;;;;;;;;;1110:3;1089:33;;1098:10;1089:33;;;1115:6;1089:33;;;;;;;;;;;;;;;;;;1135:4;1128:11;;575:569;;;;:::o;2100:139::-;2177:17;2209:7;:15;2217:6;2209:15;;;;;;;;;;;;;;;:25;2225:8;2209:25;;;;;;;;;;;;;;;;2202:32;;2100:139;;;;:::o",
  "source": "/*\nYou should inherit from StandardToken or, for a token like you would want to\ndeploy in something like Mist, see HumanStandardToken.sol.\n(This implements ONLY the standard functions and NOTHING else.\nIf you deploy this, you won't have anything useful.)\n\nImplements ERC 20 Token standard: https://github.com/ethereum/EIPs/issues/20\nbased on the https://github.com/ConsenSys/Tokens/blob/master/contracts/StandardToken.sol\n.*/\npragma solidity ^0.4.18;\n\nimport \"./EIP20Token.sol\";\n\ncontract EIP20StandardToken is EIP20Token {\n\n  uint256 constant MAX_UINT256 = 2 ** 256 - 1;\n\n  function transfer(address _to, uint256 _value) public returns(bool success) {\n    //Default assumes totalSupply can't be over max (2^256 - 1).\n    //If your token leaves out totalSupply and can issue more tokens as time goes on, you need to check if it doesn't wrap.\n    //Replace the if with this one instead.\n    //require(balances[msg.sender] >= _value && balances[_to] + _value > balances[_to]);\n    require(balances[msg.sender] >= _value);\n    balances[msg.sender] -= _value;\n    balances[_to] += _value;\n    Transfer(msg.sender, _to, _value);\n    return true;\n  }\n\n  function transferFrom(address _from, address _to, uint256 _value) public returns(bool success) {\n    //same as above. Replace this line with the following if you want to protect against wrapping uints.\n    //require(balances[_from] >= _value && allowed[_from][msg.sender] >= _value && balances[_to] + _value > balances[_to]);\n    uint256 allowance = allowed[_from][msg.sender];\n    require(balances[_from] >= _value && allowance >= _value);\n    balances[_to] += _value;\n    balances[_from] -= _value;\n    if (allowance < MAX_UINT256) {\n      allowed[_from][msg.sender] -= _value;\n    }\n    Transfer(_from, _to, _value);\n    return true;\n  }\n\n  function balanceOf(address _owner) constant public returns(uint256 balance) {\n    return balances[_owner];\n  }\n\n  function approve(address _spender, uint256 _value) public returns(bool success) {\n    allowed[msg.sender][_spender] = _value;\n    Approval(msg.sender, _spender, _value);\n    return true;\n  }\n\n  function allowance(address _owner, address _spender) public constant returns(uint256 remaining) {\n    return allowed[_owner][_spender];\n  }\n\n  mapping(address => uint256) balances;\n  mapping(address => mapping(address => uint256)) allowed;\n}",
  "sourcePath": "/Users/lucaban/.ghq/github.com/DRI-network/RICO/contracts/EIP20StandardToken.sol",
  "ast": {
    "attributes": {
      "absolutePath": "/Users/lucaban/.ghq/github.com/DRI-network/RICO/contracts/EIP20StandardToken.sol",
      "exportedSymbols": {
        "EIP20StandardToken": [
          335
        ]
      }
    },
    "children": [
      {
        "attributes": {
          "literals": [
            "solidity",
            "^",
            "0.4",
            ".18"
          ]
        },
        "id": 150,
        "name": "PragmaDirective",
        "src": "426:24:2"
      },
      {
        "attributes": {
          "SourceUnit": 402,
          "absolutePath": "/Users/lucaban/.ghq/github.com/DRI-network/RICO/contracts/EIP20Token.sol",
          "file": "./EIP20Token.sol",
          "scope": 336,
          "symbolAliases": [
            null
          ],
          "unitAlias": ""
        },
        "id": 151,
        "name": "ImportDirective",
        "src": "452:26:2"
      },
      {
        "attributes": {
          "contractDependencies": [
            401
          ],
          "contractKind": "contract",
          "documentation": null,
          "fullyImplemented": true,
          "linearizedBaseContracts": [
            335,
            401
          ],
          "name": "EIP20StandardToken",
          "scope": 336
        },
        "children": [
          {
            "attributes": {
              "arguments": [
                null
              ]
            },
            "children": [
              {
                "attributes": {
                  "contractScope": null,
                  "name": "EIP20Token",
                  "referencedDeclaration": 401,
                  "type": "contract EIP20Token"
                },
                "id": 152,
                "name": "UserDefinedTypeName",
                "src": "511:10:2"
              }
            ],
            "id": 153,
            "name": "InheritanceSpecifier",
            "src": "511:10:2"
          },
          {
            "attributes": {
              "constant": true,
              "name": "MAX_UINT256",
              "scope": 335,
              "stateVariable": true,
              "storageLocation": "default",
              "type": "uint256",
              "visibility": "internal"
            },
            "children": [
              {
                "attributes": {
                  "name": "uint256",
                  "type": "uint256"
                },
                "id": 154,
                "name": "ElementaryTypeName",
                "src": "527:7:2"
              },
              {
                "attributes": {
                  "argumentTypes": null,
                  "commonType": {
                    "typeIdentifier": "t_rational_115792089237316195423570985008687907853269984665640564039457584007913129639935_by_1",
                    "typeString": "int_const 115792089237316195423570985008687907853269984665640564039457584007913129639935"
                  },
                  "isConstant": false,
                  "isLValue": false,
                  "isPure": true,
                  "lValueRequested": false,
                  "operator": "-",
                  "type": "int_const 115792089237316195423570985008687907853269984665640564039457584007913129639935"
                },
                "children": [
                  {
                    "attributes": {
                      "argumentTypes": null,
                      "commonType": {
                        "typeIdentifier": "t_rational_115792089237316195423570985008687907853269984665640564039457584007913129639936_by_1",
                        "typeString": "int_const 115792089237316195423570985008687907853269984665640564039457584007913129639936"
                      },
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": true,
                      "lValueRequested": false,
                      "operator": "**",
                      "type": "int_const 115792089237316195423570985008687907853269984665640564039457584007913129639936"
                    },
                    "children": [
                      {
                        "attributes": {
                          "argumentTypes": null,
                          "hexvalue": "32",
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "lValueRequested": false,
                          "subdenomination": null,
                          "token": "number",
                          "type": "int_const 2",
                          "value": "2"
                        },
                        "id": 155,
                        "name": "Literal",
                        "src": "558:1:2"
                      },
                      {
                        "attributes": {
                          "argumentTypes": null,
                          "hexvalue": "323536",
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "lValueRequested": false,
                          "subdenomination": null,
                          "token": "number",
                          "type": "int_const 256",
                          "value": "256"
                        },
                        "id": 156,
                        "name": "Literal",
                        "src": "563:3:2"
                      }
                    ],
                    "id": 157,
                    "name": "BinaryOperation",
                    "src": "558:8:2"
                  },
                  {
                    "attributes": {
                      "argumentTypes": null,
                      "hexvalue": "31",
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": true,
                      "lValueRequested": false,
                      "subdenomination": null,
                      "token": "number",
                      "type": "int_const 1",
                      "value": "1"
                    },
                    "id": 158,
                    "name": "Literal",
                    "src": "569:1:2"
                  }
                ],
                "id": 159,
                "name": "BinaryOperation",
                "src": "558:12:2"
              }
            ],
            "id": 160,
            "name": "VariableDeclaration",
            "src": "527:43:2"
          },
          {
            "attributes": {
              "constant": false,
              "implemented": true,
              "isConstructor": false,
              "modifiers": [
                null
              ],
              "name": "transfer",
              "payable": false,
              "scope": 335,
              "stateMutability": "nonpayable",
              "superFunction": 355,
              "visibility": "public"
            },
            "children": [
              {
                "children": [
                  {
                    "attributes": {
                      "constant": false,
                      "name": "_to",
                      "scope": 201,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "address",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "address",
                          "type": "address"
                        },
                        "id": 161,
                        "name": "ElementaryTypeName",
                        "src": "593:7:2"
                      }
                    ],
                    "id": 162,
                    "name": "VariableDeclaration",
                    "src": "593:11:2"
                  },
                  {
                    "attributes": {
                      "constant": false,
                      "name": "_value",
                      "scope": 201,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "uint256",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "uint256",
                          "type": "uint256"
                        },
                        "id": 163,
                        "name": "ElementaryTypeName",
                        "src": "606:7:2"
                      }
                    ],
                    "id": 164,
                    "name": "VariableDeclaration",
                    "src": "606:14:2"
                  }
                ],
                "id": 165,
                "name": "ParameterList",
                "src": "592:29:2"
              },
              {
                "children": [
                  {
                    "attributes": {
                      "constant": false,
                      "name": "success",
                      "scope": 201,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "bool",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "bool",
                          "type": "bool"
                        },
                        "id": 166,
                        "name": "ElementaryTypeName",
                        "src": "637:4:2"
                      }
                    ],
                    "id": 167,
                    "name": "VariableDeclaration",
                    "src": "637:12:2"
                  }
                ],
                "id": 168,
                "name": "ParameterList",
                "src": "636:14:2"
              },
              {
                "children": [
                  {
                    "children": [
                      {
                        "attributes": {
                          "argumentTypes": null,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "isStructConstructorCall": false,
                          "lValueRequested": false,
                          "names": [
                            null
                          ],
                          "type": "tuple()",
                          "type_conversion": false
                        },
                        "children": [
                          {
                            "attributes": {
                              "argumentTypes": [
                                {
                                  "typeIdentifier": "t_bool",
                                  "typeString": "bool"
                                }
                              ],
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 3770,
                              "type": "function (bool) pure",
                              "value": "require"
                            },
                            "id": 169,
                            "name": "Identifier",
                            "src": "979:7:2"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "commonType": {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              },
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "lValueRequested": false,
                              "operator": ">=",
                              "type": "bool"
                            },
                            "children": [
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "isConstant": false,
                                  "isLValue": true,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "type": "uint256"
                                },
                                "children": [
                                  {
                                    "attributes": {
                                      "argumentTypes": null,
                                      "overloadedDeclarations": [
                                        null
                                      ],
                                      "referencedDeclaration": 328,
                                      "type": "mapping(address => uint256)",
                                      "value": "balances"
                                    },
                                    "id": 170,
                                    "name": "Identifier",
                                    "src": "987:8:2"
                                  },
                                  {
                                    "attributes": {
                                      "argumentTypes": null,
                                      "isConstant": false,
                                      "isLValue": false,
                                      "isPure": false,
                                      "lValueRequested": false,
                                      "member_name": "sender",
                                      "referencedDeclaration": null,
                                      "type": "address"
                                    },
                                    "children": [
                                      {
                                        "attributes": {
                                          "argumentTypes": null,
                                          "overloadedDeclarations": [
                                            null
                                          ],
                                          "referencedDeclaration": 3767,
                                          "type": "msg",
                                          "value": "msg"
                                        },
                                        "id": 171,
                                        "name": "Identifier",
                                        "src": "996:3:2"
                                      }
                                    ],
                                    "id": 172,
                                    "name": "MemberAccess",
                                    "src": "996:10:2"
                                  }
                                ],
                                "id": 173,
                                "name": "IndexAccess",
                                "src": "987:20:2"
                              },
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "overloadedDeclarations": [
                                    null
                                  ],
                                  "referencedDeclaration": 164,
                                  "type": "uint256",
                                  "value": "_value"
                                },
                                "id": 174,
                                "name": "Identifier",
                                "src": "1011:6:2"
                              }
                            ],
                            "id": 175,
                            "name": "BinaryOperation",
                            "src": "987:30:2"
                          }
                        ],
                        "id": 176,
                        "name": "FunctionCall",
                        "src": "979:39:2"
                      }
                    ],
                    "id": 177,
                    "name": "ExpressionStatement",
                    "src": "979:39:2"
                  },
                  {
                    "children": [
                      {
                        "attributes": {
                          "argumentTypes": null,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "operator": "-=",
                          "type": "uint256"
                        },
                        "children": [
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "isConstant": false,
                              "isLValue": true,
                              "isPure": false,
                              "lValueRequested": true,
                              "type": "uint256"
                            },
                            "children": [
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "overloadedDeclarations": [
                                    null
                                  ],
                                  "referencedDeclaration": 328,
                                  "type": "mapping(address => uint256)",
                                  "value": "balances"
                                },
                                "id": 178,
                                "name": "Identifier",
                                "src": "1024:8:2"
                              },
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "member_name": "sender",
                                  "referencedDeclaration": null,
                                  "type": "address"
                                },
                                "children": [
                                  {
                                    "attributes": {
                                      "argumentTypes": null,
                                      "overloadedDeclarations": [
                                        null
                                      ],
                                      "referencedDeclaration": 3767,
                                      "type": "msg",
                                      "value": "msg"
                                    },
                                    "id": 179,
                                    "name": "Identifier",
                                    "src": "1033:3:2"
                                  }
                                ],
                                "id": 180,
                                "name": "MemberAccess",
                                "src": "1033:10:2"
                              }
                            ],
                            "id": 181,
                            "name": "IndexAccess",
                            "src": "1024:20:2"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 164,
                              "type": "uint256",
                              "value": "_value"
                            },
                            "id": 182,
                            "name": "Identifier",
                            "src": "1048:6:2"
                          }
                        ],
                        "id": 183,
                        "name": "Assignment",
                        "src": "1024:30:2"
                      }
                    ],
                    "id": 184,
                    "name": "ExpressionStatement",
                    "src": "1024:30:2"
                  },
                  {
                    "children": [
                      {
                        "attributes": {
                          "argumentTypes": null,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "operator": "+=",
                          "type": "uint256"
                        },
                        "children": [
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "isConstant": false,
                              "isLValue": true,
                              "isPure": false,
                              "lValueRequested": true,
                              "type": "uint256"
                            },
                            "children": [
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "overloadedDeclarations": [
                                    null
                                  ],
                                  "referencedDeclaration": 328,
                                  "type": "mapping(address => uint256)",
                                  "value": "balances"
                                },
                                "id": 185,
                                "name": "Identifier",
                                "src": "1060:8:2"
                              },
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "overloadedDeclarations": [
                                    null
                                  ],
                                  "referencedDeclaration": 162,
                                  "type": "address",
                                  "value": "_to"
                                },
                                "id": 186,
                                "name": "Identifier",
                                "src": "1069:3:2"
                              }
                            ],
                            "id": 187,
                            "name": "IndexAccess",
                            "src": "1060:13:2"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 164,
                              "type": "uint256",
                              "value": "_value"
                            },
                            "id": 188,
                            "name": "Identifier",
                            "src": "1077:6:2"
                          }
                        ],
                        "id": 189,
                        "name": "Assignment",
                        "src": "1060:23:2"
                      }
                    ],
                    "id": 190,
                    "name": "ExpressionStatement",
                    "src": "1060:23:2"
                  },
                  {
                    "children": [
                      {
                        "attributes": {
                          "argumentTypes": null,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "isStructConstructorCall": false,
                          "lValueRequested": false,
                          "names": [
                            null
                          ],
                          "type": "tuple()",
                          "type_conversion": false
                        },
                        "children": [
                          {
                            "attributes": {
                              "argumentTypes": [
                                {
                                  "typeIdentifier": "t_address",
                                  "typeString": "address"
                                },
                                {
                                  "typeIdentifier": "t_address",
                                  "typeString": "address"
                                },
                                {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              ],
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 392,
                              "type": "function (address,address,uint256)",
                              "value": "Transfer"
                            },
                            "id": 191,
                            "name": "Identifier",
                            "src": "1089:8:2"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "lValueRequested": false,
                              "member_name": "sender",
                              "referencedDeclaration": null,
                              "type": "address"
                            },
                            "children": [
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "overloadedDeclarations": [
                                    null
                                  ],
                                  "referencedDeclaration": 3767,
                                  "type": "msg",
                                  "value": "msg"
                                },
                                "id": 192,
                                "name": "Identifier",
                                "src": "1098:3:2"
                              }
                            ],
                            "id": 193,
                            "name": "MemberAccess",
                            "src": "1098:10:2"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 162,
                              "type": "address",
                              "value": "_to"
                            },
                            "id": 194,
                            "name": "Identifier",
                            "src": "1110:3:2"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 164,
                              "type": "uint256",
                              "value": "_value"
                            },
                            "id": 195,
                            "name": "Identifier",
                            "src": "1115:6:2"
                          }
                        ],
                        "id": 196,
                        "name": "FunctionCall",
                        "src": "1089:33:2"
                      }
                    ],
                    "id": 197,
                    "name": "ExpressionStatement",
                    "src": "1089:33:2"
                  },
                  {
                    "attributes": {
                      "functionReturnParameters": 168
                    },
                    "children": [
                      {
                        "attributes": {
                          "argumentTypes": null,
                          "hexvalue": "74727565",
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "lValueRequested": false,
                          "subdenomination": null,
                          "token": "bool",
                          "type": "bool",
                          "value": "true"
                        },
                        "id": 198,
                        "name": "Literal",
                        "src": "1135:4:2"
                      }
                    ],
                    "id": 199,
                    "name": "Return",
                    "src": "1128:11:2"
                  }
                ],
                "id": 200,
                "name": "Block",
                "src": "651:493:2"
              }
            ],
            "id": 201,
            "name": "FunctionDefinition",
            "src": "575:569:2"
          },
          {
            "attributes": {
              "constant": false,
              "implemented": true,
              "isConstructor": false,
              "modifiers": [
                null
              ],
              "name": "transferFrom",
              "payable": false,
              "scope": 335,
              "stateMutability": "nonpayable",
              "superFunction": 366,
              "visibility": "public"
            },
            "children": [
              {
                "children": [
                  {
                    "attributes": {
                      "constant": false,
                      "name": "_from",
                      "scope": 268,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "address",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "address",
                          "type": "address"
                        },
                        "id": 202,
                        "name": "ElementaryTypeName",
                        "src": "1170:7:2"
                      }
                    ],
                    "id": 203,
                    "name": "VariableDeclaration",
                    "src": "1170:13:2"
                  },
                  {
                    "attributes": {
                      "constant": false,
                      "name": "_to",
                      "scope": 268,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "address",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "address",
                          "type": "address"
                        },
                        "id": 204,
                        "name": "ElementaryTypeName",
                        "src": "1185:7:2"
                      }
                    ],
                    "id": 205,
                    "name": "VariableDeclaration",
                    "src": "1185:11:2"
                  },
                  {
                    "attributes": {
                      "constant": false,
                      "name": "_value",
                      "scope": 268,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "uint256",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "uint256",
                          "type": "uint256"
                        },
                        "id": 206,
                        "name": "ElementaryTypeName",
                        "src": "1198:7:2"
                      }
                    ],
                    "id": 207,
                    "name": "VariableDeclaration",
                    "src": "1198:14:2"
                  }
                ],
                "id": 208,
                "name": "ParameterList",
                "src": "1169:44:2"
              },
              {
                "children": [
                  {
                    "attributes": {
                      "constant": false,
                      "name": "success",
                      "scope": 268,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "bool",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "bool",
                          "type": "bool"
                        },
                        "id": 209,
                        "name": "ElementaryTypeName",
                        "src": "1229:4:2"
                      }
                    ],
                    "id": 210,
                    "name": "VariableDeclaration",
                    "src": "1229:12:2"
                  }
                ],
                "id": 211,
                "name": "ParameterList",
                "src": "1228:14:2"
              },
              {
                "children": [
                  {
                    "attributes": {
                      "assignments": [
                        213
                      ]
                    },
                    "children": [
                      {
                        "attributes": {
                          "constant": false,
                          "name": "allowance",
                          "scope": 268,
                          "stateVariable": false,
                          "storageLocation": "default",
                          "type": "uint256",
                          "value": null,
                          "visibility": "internal"
                        },
                        "children": [
                          {
                            "attributes": {
                              "name": "uint256",
                              "type": "uint256"
                            },
                            "id": 212,
                            "name": "ElementaryTypeName",
                            "src": "1478:7:2"
                          }
                        ],
                        "id": 213,
                        "name": "VariableDeclaration",
                        "src": "1478:17:2"
                      },
                      {
                        "attributes": {
                          "argumentTypes": null,
                          "isConstant": false,
                          "isLValue": true,
                          "isPure": false,
                          "lValueRequested": false,
                          "type": "uint256"
                        },
                        "children": [
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "isConstant": false,
                              "isLValue": true,
                              "isPure": false,
                              "lValueRequested": false,
                              "type": "mapping(address => uint256)"
                            },
                            "children": [
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "overloadedDeclarations": [
                                    null
                                  ],
                                  "referencedDeclaration": 334,
                                  "type": "mapping(address => mapping(address => uint256))",
                                  "value": "allowed"
                                },
                                "id": 214,
                                "name": "Identifier",
                                "src": "1498:7:2"
                              },
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "overloadedDeclarations": [
                                    null
                                  ],
                                  "referencedDeclaration": 203,
                                  "type": "address",
                                  "value": "_from"
                                },
                                "id": 215,
                                "name": "Identifier",
                                "src": "1506:5:2"
                              }
                            ],
                            "id": 216,
                            "name": "IndexAccess",
                            "src": "1498:14:2"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "lValueRequested": false,
                              "member_name": "sender",
                              "referencedDeclaration": null,
                              "type": "address"
                            },
                            "children": [
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "overloadedDeclarations": [
                                    null
                                  ],
                                  "referencedDeclaration": 3767,
                                  "type": "msg",
                                  "value": "msg"
                                },
                                "id": 217,
                                "name": "Identifier",
                                "src": "1513:3:2"
                              }
                            ],
                            "id": 218,
                            "name": "MemberAccess",
                            "src": "1513:10:2"
                          }
                        ],
                        "id": 219,
                        "name": "IndexAccess",
                        "src": "1498:26:2"
                      }
                    ],
                    "id": 220,
                    "name": "VariableDeclarationStatement",
                    "src": "1478:46:2"
                  },
                  {
                    "children": [
                      {
                        "attributes": {
                          "argumentTypes": null,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "isStructConstructorCall": false,
                          "lValueRequested": false,
                          "names": [
                            null
                          ],
                          "type": "tuple()",
                          "type_conversion": false
                        },
                        "children": [
                          {
                            "attributes": {
                              "argumentTypes": [
                                {
                                  "typeIdentifier": "t_bool",
                                  "typeString": "bool"
                                }
                              ],
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 3770,
                              "type": "function (bool) pure",
                              "value": "require"
                            },
                            "id": 221,
                            "name": "Identifier",
                            "src": "1530:7:2"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "commonType": {
                                "typeIdentifier": "t_bool",
                                "typeString": "bool"
                              },
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "lValueRequested": false,
                              "operator": "&&",
                              "type": "bool"
                            },
                            "children": [
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "commonType": {
                                    "typeIdentifier": "t_uint256",
                                    "typeString": "uint256"
                                  },
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "operator": ">=",
                                  "type": "bool"
                                },
                                "children": [
                                  {
                                    "attributes": {
                                      "argumentTypes": null,
                                      "isConstant": false,
                                      "isLValue": true,
                                      "isPure": false,
                                      "lValueRequested": false,
                                      "type": "uint256"
                                    },
                                    "children": [
                                      {
                                        "attributes": {
                                          "argumentTypes": null,
                                          "overloadedDeclarations": [
                                            null
                                          ],
                                          "referencedDeclaration": 328,
                                          "type": "mapping(address => uint256)",
                                          "value": "balances"
                                        },
                                        "id": 222,
                                        "name": "Identifier",
                                        "src": "1538:8:2"
                                      },
                                      {
                                        "attributes": {
                                          "argumentTypes": null,
                                          "overloadedDeclarations": [
                                            null
                                          ],
                                          "referencedDeclaration": 203,
                                          "type": "address",
                                          "value": "_from"
                                        },
                                        "id": 223,
                                        "name": "Identifier",
                                        "src": "1547:5:2"
                                      }
                                    ],
                                    "id": 224,
                                    "name": "IndexAccess",
                                    "src": "1538:15:2"
                                  },
                                  {
                                    "attributes": {
                                      "argumentTypes": null,
                                      "overloadedDeclarations": [
                                        null
                                      ],
                                      "referencedDeclaration": 207,
                                      "type": "uint256",
                                      "value": "_value"
                                    },
                                    "id": 225,
                                    "name": "Identifier",
                                    "src": "1557:6:2"
                                  }
                                ],
                                "id": 226,
                                "name": "BinaryOperation",
                                "src": "1538:25:2"
                              },
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "commonType": {
                                    "typeIdentifier": "t_uint256",
                                    "typeString": "uint256"
                                  },
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "operator": ">=",
                                  "type": "bool"
                                },
                                "children": [
                                  {
                                    "attributes": {
                                      "argumentTypes": null,
                                      "overloadedDeclarations": [
                                        null
                                      ],
                                      "referencedDeclaration": 213,
                                      "type": "uint256",
                                      "value": "allowance"
                                    },
                                    "id": 227,
                                    "name": "Identifier",
                                    "src": "1567:9:2"
                                  },
                                  {
                                    "attributes": {
                                      "argumentTypes": null,
                                      "overloadedDeclarations": [
                                        null
                                      ],
                                      "referencedDeclaration": 207,
                                      "type": "uint256",
                                      "value": "_value"
                                    },
                                    "id": 228,
                                    "name": "Identifier",
                                    "src": "1580:6:2"
                                  }
                                ],
                                "id": 229,
                                "name": "BinaryOperation",
                                "src": "1567:19:2"
                              }
                            ],
                            "id": 230,
                            "name": "BinaryOperation",
                            "src": "1538:48:2"
                          }
                        ],
                        "id": 231,
                        "name": "FunctionCall",
                        "src": "1530:57:2"
                      }
                    ],
                    "id": 232,
                    "name": "ExpressionStatement",
                    "src": "1530:57:2"
                  },
                  {
                    "children": [
                      {
                        "attributes": {
                          "argumentTypes": null,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "operator": "+=",
                          "type": "uint256"
                        },
                        "children": [
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "isConstant": false,
                              "isLValue": true,
                              "isPure": false,
                              "lValueRequested": true,
                              "type": "uint256"
                            },
                            "children": [
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "overloadedDeclarations": [
                                    null
                                  ],
                                  "referencedDeclaration": 328,
                                  "type": "mapping(address => uint256)",
                                  "value": "balances"
                                },
                                "id": 233,
                                "name": "Identifier",
                                "src": "1593:8:2"
                              },
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "overloadedDeclarations": [
                                    null
                                  ],
                                  "referencedDeclaration": 205,
                                  "type": "address",
                                  "value": "_to"
                                },
                                "id": 234,
                                "name": "Identifier",
                                "src": "1602:3:2"
                              }
                            ],
                            "id": 235,
                            "name": "IndexAccess",
                            "src": "1593:13:2"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 207,
                              "type": "uint256",
                              "value": "_value"
                            },
                            "id": 236,
                            "name": "Identifier",
                            "src": "1610:6:2"
                          }
                        ],
                        "id": 237,
                        "name": "Assignment",
                        "src": "1593:23:2"
                      }
                    ],
                    "id": 238,
                    "name": "ExpressionStatement",
                    "src": "1593:23:2"
                  },
                  {
                    "children": [
                      {
                        "attributes": {
                          "argumentTypes": null,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "operator": "-=",
                          "type": "uint256"
                        },
                        "children": [
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "isConstant": false,
                              "isLValue": true,
                              "isPure": false,
                              "lValueRequested": true,
                              "type": "uint256"
                            },
                            "children": [
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "overloadedDeclarations": [
                                    null
                                  ],
                                  "referencedDeclaration": 328,
                                  "type": "mapping(address => uint256)",
                                  "value": "balances"
                                },
                                "id": 239,
                                "name": "Identifier",
                                "src": "1622:8:2"
                              },
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "overloadedDeclarations": [
                                    null
                                  ],
                                  "referencedDeclaration": 203,
                                  "type": "address",
                                  "value": "_from"
                                },
                                "id": 240,
                                "name": "Identifier",
                                "src": "1631:5:2"
                              }
                            ],
                            "id": 241,
                            "name": "IndexAccess",
                            "src": "1622:15:2"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 207,
                              "type": "uint256",
                              "value": "_value"
                            },
                            "id": 242,
                            "name": "Identifier",
                            "src": "1641:6:2"
                          }
                        ],
                        "id": 243,
                        "name": "Assignment",
                        "src": "1622:25:2"
                      }
                    ],
                    "id": 244,
                    "name": "ExpressionStatement",
                    "src": "1622:25:2"
                  },
                  {
                    "attributes": {
                      "falseBody": null
                    },
                    "children": [
                      {
                        "attributes": {
                          "argumentTypes": null,
                          "commonType": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          },
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "operator": "<",
                          "type": "bool"
                        },
                        "children": [
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 213,
                              "type": "uint256",
                              "value": "allowance"
                            },
                            "id": 245,
                            "name": "Identifier",
                            "src": "1657:9:2"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 160,
                              "type": "uint256",
                              "value": "MAX_UINT256"
                            },
                            "id": 246,
                            "name": "Identifier",
                            "src": "1669:11:2"
                          }
                        ],
                        "id": 247,
                        "name": "BinaryOperation",
                        "src": "1657:23:2"
                      },
                      {
                        "children": [
                          {
                            "children": [
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "operator": "-=",
                                  "type": "uint256"
                                },
                                "children": [
                                  {
                                    "attributes": {
                                      "argumentTypes": null,
                                      "isConstant": false,
                                      "isLValue": true,
                                      "isPure": false,
                                      "lValueRequested": true,
                                      "type": "uint256"
                                    },
                                    "children": [
                                      {
                                        "attributes": {
                                          "argumentTypes": null,
                                          "isConstant": false,
                                          "isLValue": true,
                                          "isPure": false,
                                          "lValueRequested": false,
                                          "type": "mapping(address => uint256)"
                                        },
                                        "children": [
                                          {
                                            "attributes": {
                                              "argumentTypes": null,
                                              "overloadedDeclarations": [
                                                null
                                              ],
                                              "referencedDeclaration": 334,
                                              "type": "mapping(address => mapping(address => uint256))",
                                              "value": "allowed"
                                            },
                                            "id": 248,
                                            "name": "Identifier",
                                            "src": "1690:7:2"
                                          },
                                          {
                                            "attributes": {
                                              "argumentTypes": null,
                                              "overloadedDeclarations": [
                                                null
                                              ],
                                              "referencedDeclaration": 203,
                                              "type": "address",
                                              "value": "_from"
                                            },
                                            "id": 249,
                                            "name": "Identifier",
                                            "src": "1698:5:2"
                                          }
                                        ],
                                        "id": 252,
                                        "name": "IndexAccess",
                                        "src": "1690:14:2"
                                      },
                                      {
                                        "attributes": {
                                          "argumentTypes": null,
                                          "isConstant": false,
                                          "isLValue": false,
                                          "isPure": false,
                                          "lValueRequested": false,
                                          "member_name": "sender",
                                          "referencedDeclaration": null,
                                          "type": "address"
                                        },
                                        "children": [
                                          {
                                            "attributes": {
                                              "argumentTypes": null,
                                              "overloadedDeclarations": [
                                                null
                                              ],
                                              "referencedDeclaration": 3767,
                                              "type": "msg",
                                              "value": "msg"
                                            },
                                            "id": 250,
                                            "name": "Identifier",
                                            "src": "1705:3:2"
                                          }
                                        ],
                                        "id": 251,
                                        "name": "MemberAccess",
                                        "src": "1705:10:2"
                                      }
                                    ],
                                    "id": 253,
                                    "name": "IndexAccess",
                                    "src": "1690:26:2"
                                  },
                                  {
                                    "attributes": {
                                      "argumentTypes": null,
                                      "overloadedDeclarations": [
                                        null
                                      ],
                                      "referencedDeclaration": 207,
                                      "type": "uint256",
                                      "value": "_value"
                                    },
                                    "id": 254,
                                    "name": "Identifier",
                                    "src": "1720:6:2"
                                  }
                                ],
                                "id": 255,
                                "name": "Assignment",
                                "src": "1690:36:2"
                              }
                            ],
                            "id": 256,
                            "name": "ExpressionStatement",
                            "src": "1690:36:2"
                          }
                        ],
                        "id": 257,
                        "name": "Block",
                        "src": "1682:51:2"
                      }
                    ],
                    "id": 258,
                    "name": "IfStatement",
                    "src": "1653:80:2"
                  },
                  {
                    "children": [
                      {
                        "attributes": {
                          "argumentTypes": null,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "isStructConstructorCall": false,
                          "lValueRequested": false,
                          "names": [
                            null
                          ],
                          "type": "tuple()",
                          "type_conversion": false
                        },
                        "children": [
                          {
                            "attributes": {
                              "argumentTypes": [
                                {
                                  "typeIdentifier": "t_address",
                                  "typeString": "address"
                                },
                                {
                                  "typeIdentifier": "t_address",
                                  "typeString": "address"
                                },
                                {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              ],
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 392,
                              "type": "function (address,address,uint256)",
                              "value": "Transfer"
                            },
                            "id": 259,
                            "name": "Identifier",
                            "src": "1738:8:2"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 203,
                              "type": "address",
                              "value": "_from"
                            },
                            "id": 260,
                            "name": "Identifier",
                            "src": "1747:5:2"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 205,
                              "type": "address",
                              "value": "_to"
                            },
                            "id": 261,
                            "name": "Identifier",
                            "src": "1754:3:2"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 207,
                              "type": "uint256",
                              "value": "_value"
                            },
                            "id": 262,
                            "name": "Identifier",
                            "src": "1759:6:2"
                          }
                        ],
                        "id": 263,
                        "name": "FunctionCall",
                        "src": "1738:28:2"
                      }
                    ],
                    "id": 264,
                    "name": "ExpressionStatement",
                    "src": "1738:28:2"
                  },
                  {
                    "attributes": {
                      "functionReturnParameters": 211
                    },
                    "children": [
                      {
                        "attributes": {
                          "argumentTypes": null,
                          "hexvalue": "74727565",
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "lValueRequested": false,
                          "subdenomination": null,
                          "token": "bool",
                          "type": "bool",
                          "value": "true"
                        },
                        "id": 265,
                        "name": "Literal",
                        "src": "1779:4:2"
                      }
                    ],
                    "id": 266,
                    "name": "Return",
                    "src": "1772:11:2"
                  }
                ],
                "id": 267,
                "name": "Block",
                "src": "1243:545:2"
              }
            ],
            "id": 268,
            "name": "FunctionDefinition",
            "src": "1148:640:2"
          },
          {
            "attributes": {
              "constant": true,
              "implemented": true,
              "isConstructor": false,
              "modifiers": [
                null
              ],
              "name": "balanceOf",
              "payable": false,
              "scope": 335,
              "stateMutability": "view",
              "superFunction": 346,
              "visibility": "public"
            },
            "children": [
              {
                "children": [
                  {
                    "attributes": {
                      "constant": false,
                      "name": "_owner",
                      "scope": 280,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "address",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "address",
                          "type": "address"
                        },
                        "id": 269,
                        "name": "ElementaryTypeName",
                        "src": "1811:7:2"
                      }
                    ],
                    "id": 270,
                    "name": "VariableDeclaration",
                    "src": "1811:14:2"
                  }
                ],
                "id": 271,
                "name": "ParameterList",
                "src": "1810:16:2"
              },
              {
                "children": [
                  {
                    "attributes": {
                      "constant": false,
                      "name": "balance",
                      "scope": 280,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "uint256",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "uint256",
                          "type": "uint256"
                        },
                        "id": 272,
                        "name": "ElementaryTypeName",
                        "src": "1851:7:2"
                      }
                    ],
                    "id": 273,
                    "name": "VariableDeclaration",
                    "src": "1851:15:2"
                  }
                ],
                "id": 274,
                "name": "ParameterList",
                "src": "1850:17:2"
              },
              {
                "children": [
                  {
                    "attributes": {
                      "functionReturnParameters": 274
                    },
                    "children": [
                      {
                        "attributes": {
                          "argumentTypes": null,
                          "isConstant": false,
                          "isLValue": true,
                          "isPure": false,
                          "lValueRequested": false,
                          "type": "uint256"
                        },
                        "children": [
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 328,
                              "type": "mapping(address => uint256)",
                              "value": "balances"
                            },
                            "id": 275,
                            "name": "Identifier",
                            "src": "1881:8:2"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 270,
                              "type": "address",
                              "value": "_owner"
                            },
                            "id": 276,
                            "name": "Identifier",
                            "src": "1890:6:2"
                          }
                        ],
                        "id": 277,
                        "name": "IndexAccess",
                        "src": "1881:16:2"
                      }
                    ],
                    "id": 278,
                    "name": "Return",
                    "src": "1874:23:2"
                  }
                ],
                "id": 279,
                "name": "Block",
                "src": "1868:34:2"
              }
            ],
            "id": 280,
            "name": "FunctionDefinition",
            "src": "1792:110:2"
          },
          {
            "attributes": {
              "constant": false,
              "implemented": true,
              "isConstructor": false,
              "modifiers": [
                null
              ],
              "name": "approve",
              "payable": false,
              "scope": 335,
              "stateMutability": "nonpayable",
              "superFunction": 375,
              "visibility": "public"
            },
            "children": [
              {
                "children": [
                  {
                    "attributes": {
                      "constant": false,
                      "name": "_spender",
                      "scope": 308,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "address",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "address",
                          "type": "address"
                        },
                        "id": 281,
                        "name": "ElementaryTypeName",
                        "src": "1923:7:2"
                      }
                    ],
                    "id": 282,
                    "name": "VariableDeclaration",
                    "src": "1923:16:2"
                  },
                  {
                    "attributes": {
                      "constant": false,
                      "name": "_value",
                      "scope": 308,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "uint256",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "uint256",
                          "type": "uint256"
                        },
                        "id": 283,
                        "name": "ElementaryTypeName",
                        "src": "1941:7:2"
                      }
                    ],
                    "id": 284,
                    "name": "VariableDeclaration",
                    "src": "1941:14:2"
                  }
                ],
                "id": 285,
                "name": "ParameterList",
                "src": "1922:34:2"
              },
              {
                "children": [
                  {
                    "attributes": {
                      "constant": false,
                      "name": "success",
                      "scope": 308,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "bool",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "bool",
                          "type": "bool"
                        },
                        "id": 286,
                        "name": "ElementaryTypeName",
                        "src": "1972:4:2"
                      }
                    ],
                    "id": 287,
                    "name": "VariableDeclaration",
                    "src": "1972:12:2"
                  }
                ],
                "id": 288,
                "name": "ParameterList",
                "src": "1971:14:2"
              },
              {
                "children": [
                  {
                    "children": [
                      {
                        "attributes": {
                          "argumentTypes": null,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "operator": "=",
                          "type": "uint256"
                        },
                        "children": [
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "isConstant": false,
                              "isLValue": true,
                              "isPure": false,
                              "lValueRequested": true,
                              "type": "uint256"
                            },
                            "children": [
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "isConstant": false,
                                  "isLValue": true,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "type": "mapping(address => uint256)"
                                },
                                "children": [
                                  {
                                    "attributes": {
                                      "argumentTypes": null,
                                      "overloadedDeclarations": [
                                        null
                                      ],
                                      "referencedDeclaration": 334,
                                      "type": "mapping(address => mapping(address => uint256))",
                                      "value": "allowed"
                                    },
                                    "id": 289,
                                    "name": "Identifier",
                                    "src": "1992:7:2"
                                  },
                                  {
                                    "attributes": {
                                      "argumentTypes": null,
                                      "isConstant": false,
                                      "isLValue": false,
                                      "isPure": false,
                                      "lValueRequested": false,
                                      "member_name": "sender",
                                      "referencedDeclaration": null,
                                      "type": "address"
                                    },
                                    "children": [
                                      {
                                        "attributes": {
                                          "argumentTypes": null,
                                          "overloadedDeclarations": [
                                            null
                                          ],
                                          "referencedDeclaration": 3767,
                                          "type": "msg",
                                          "value": "msg"
                                        },
                                        "id": 290,
                                        "name": "Identifier",
                                        "src": "2000:3:2"
                                      }
                                    ],
                                    "id": 291,
                                    "name": "MemberAccess",
                                    "src": "2000:10:2"
                                  }
                                ],
                                "id": 293,
                                "name": "IndexAccess",
                                "src": "1992:19:2"
                              },
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "overloadedDeclarations": [
                                    null
                                  ],
                                  "referencedDeclaration": 282,
                                  "type": "address",
                                  "value": "_spender"
                                },
                                "id": 292,
                                "name": "Identifier",
                                "src": "2012:8:2"
                              }
                            ],
                            "id": 294,
                            "name": "IndexAccess",
                            "src": "1992:29:2"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 284,
                              "type": "uint256",
                              "value": "_value"
                            },
                            "id": 295,
                            "name": "Identifier",
                            "src": "2024:6:2"
                          }
                        ],
                        "id": 296,
                        "name": "Assignment",
                        "src": "1992:38:2"
                      }
                    ],
                    "id": 297,
                    "name": "ExpressionStatement",
                    "src": "1992:38:2"
                  },
                  {
                    "children": [
                      {
                        "attributes": {
                          "argumentTypes": null,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "isStructConstructorCall": false,
                          "lValueRequested": false,
                          "names": [
                            null
                          ],
                          "type": "tuple()",
                          "type_conversion": false
                        },
                        "children": [
                          {
                            "attributes": {
                              "argumentTypes": [
                                {
                                  "typeIdentifier": "t_address",
                                  "typeString": "address"
                                },
                                {
                                  "typeIdentifier": "t_address",
                                  "typeString": "address"
                                },
                                {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              ],
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 400,
                              "type": "function (address,address,uint256)",
                              "value": "Approval"
                            },
                            "id": 298,
                            "name": "Identifier",
                            "src": "2036:8:2"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "lValueRequested": false,
                              "member_name": "sender",
                              "referencedDeclaration": null,
                              "type": "address"
                            },
                            "children": [
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "overloadedDeclarations": [
                                    null
                                  ],
                                  "referencedDeclaration": 3767,
                                  "type": "msg",
                                  "value": "msg"
                                },
                                "id": 299,
                                "name": "Identifier",
                                "src": "2045:3:2"
                              }
                            ],
                            "id": 300,
                            "name": "MemberAccess",
                            "src": "2045:10:2"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 282,
                              "type": "address",
                              "value": "_spender"
                            },
                            "id": 301,
                            "name": "Identifier",
                            "src": "2057:8:2"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 284,
                              "type": "uint256",
                              "value": "_value"
                            },
                            "id": 302,
                            "name": "Identifier",
                            "src": "2067:6:2"
                          }
                        ],
                        "id": 303,
                        "name": "FunctionCall",
                        "src": "2036:38:2"
                      }
                    ],
                    "id": 304,
                    "name": "ExpressionStatement",
                    "src": "2036:38:2"
                  },
                  {
                    "attributes": {
                      "functionReturnParameters": 288
                    },
                    "children": [
                      {
                        "attributes": {
                          "argumentTypes": null,
                          "hexvalue": "74727565",
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "lValueRequested": false,
                          "subdenomination": null,
                          "token": "bool",
                          "type": "bool",
                          "value": "true"
                        },
                        "id": 305,
                        "name": "Literal",
                        "src": "2087:4:2"
                      }
                    ],
                    "id": 306,
                    "name": "Return",
                    "src": "2080:11:2"
                  }
                ],
                "id": 307,
                "name": "Block",
                "src": "1986:110:2"
              }
            ],
            "id": 308,
            "name": "FunctionDefinition",
            "src": "1906:190:2"
          },
          {
            "attributes": {
              "constant": true,
              "implemented": true,
              "isConstructor": false,
              "modifiers": [
                null
              ],
              "name": "allowance",
              "payable": false,
              "scope": 335,
              "stateMutability": "view",
              "superFunction": 384,
              "visibility": "public"
            },
            "children": [
              {
                "children": [
                  {
                    "attributes": {
                      "constant": false,
                      "name": "_owner",
                      "scope": 324,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "address",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "address",
                          "type": "address"
                        },
                        "id": 309,
                        "name": "ElementaryTypeName",
                        "src": "2119:7:2"
                      }
                    ],
                    "id": 310,
                    "name": "VariableDeclaration",
                    "src": "2119:14:2"
                  },
                  {
                    "attributes": {
                      "constant": false,
                      "name": "_spender",
                      "scope": 324,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "address",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "address",
                          "type": "address"
                        },
                        "id": 311,
                        "name": "ElementaryTypeName",
                        "src": "2135:7:2"
                      }
                    ],
                    "id": 312,
                    "name": "VariableDeclaration",
                    "src": "2135:16:2"
                  }
                ],
                "id": 313,
                "name": "ParameterList",
                "src": "2118:34:2"
              },
              {
                "children": [
                  {
                    "attributes": {
                      "constant": false,
                      "name": "remaining",
                      "scope": 324,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "uint256",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "uint256",
                          "type": "uint256"
                        },
                        "id": 314,
                        "name": "ElementaryTypeName",
                        "src": "2177:7:2"
                      }
                    ],
                    "id": 315,
                    "name": "VariableDeclaration",
                    "src": "2177:17:2"
                  }
                ],
                "id": 316,
                "name": "ParameterList",
                "src": "2176:19:2"
              },
              {
                "children": [
                  {
                    "attributes": {
                      "functionReturnParameters": 316
                    },
                    "children": [
                      {
                        "attributes": {
                          "argumentTypes": null,
                          "isConstant": false,
                          "isLValue": true,
                          "isPure": false,
                          "lValueRequested": false,
                          "type": "uint256"
                        },
                        "children": [
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "isConstant": false,
                              "isLValue": true,
                              "isPure": false,
                              "lValueRequested": false,
                              "type": "mapping(address => uint256)"
                            },
                            "children": [
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "overloadedDeclarations": [
                                    null
                                  ],
                                  "referencedDeclaration": 334,
                                  "type": "mapping(address => mapping(address => uint256))",
                                  "value": "allowed"
                                },
                                "id": 317,
                                "name": "Identifier",
                                "src": "2209:7:2"
                              },
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "overloadedDeclarations": [
                                    null
                                  ],
                                  "referencedDeclaration": 310,
                                  "type": "address",
                                  "value": "_owner"
                                },
                                "id": 318,
                                "name": "Identifier",
                                "src": "2217:6:2"
                              }
                            ],
                            "id": 319,
                            "name": "IndexAccess",
                            "src": "2209:15:2"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 312,
                              "type": "address",
                              "value": "_spender"
                            },
                            "id": 320,
                            "name": "Identifier",
                            "src": "2225:8:2"
                          }
                        ],
                        "id": 321,
                        "name": "IndexAccess",
                        "src": "2209:25:2"
                      }
                    ],
                    "id": 322,
                    "name": "Return",
                    "src": "2202:32:2"
                  }
                ],
                "id": 323,
                "name": "Block",
                "src": "2196:43:2"
              }
            ],
            "id": 324,
            "name": "FunctionDefinition",
            "src": "2100:139:2"
          },
          {
            "attributes": {
              "constant": false,
              "name": "balances",
              "scope": 335,
              "stateVariable": true,
              "storageLocation": "default",
              "type": "mapping(address => uint256)",
              "value": null,
              "visibility": "internal"
            },
            "children": [
              {
                "attributes": {
                  "type": "mapping(address => uint256)"
                },
                "children": [
                  {
                    "attributes": {
                      "name": "address",
                      "type": "address"
                    },
                    "id": 325,
                    "name": "ElementaryTypeName",
                    "src": "2251:7:2"
                  },
                  {
                    "attributes": {
                      "name": "uint256",
                      "type": "uint256"
                    },
                    "id": 326,
                    "name": "ElementaryTypeName",
                    "src": "2262:7:2"
                  }
                ],
                "id": 327,
                "name": "Mapping",
                "src": "2243:27:2"
              }
            ],
            "id": 328,
            "name": "VariableDeclaration",
            "src": "2243:36:2"
          },
          {
            "attributes": {
              "constant": false,
              "name": "allowed",
              "scope": 335,
              "stateVariable": true,
              "storageLocation": "default",
              "type": "mapping(address => mapping(address => uint256))",
              "value": null,
              "visibility": "internal"
            },
            "children": [
              {
                "attributes": {
                  "type": "mapping(address => mapping(address => uint256))"
                },
                "children": [
                  {
                    "attributes": {
                      "name": "address",
                      "type": "address"
                    },
                    "id": 329,
                    "name": "ElementaryTypeName",
                    "src": "2291:7:2"
                  },
                  {
                    "attributes": {
                      "type": "mapping(address => uint256)"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "address",
                          "type": "address"
                        },
                        "id": 330,
                        "name": "ElementaryTypeName",
                        "src": "2310:7:2"
                      },
                      {
                        "attributes": {
                          "name": "uint256",
                          "type": "uint256"
                        },
                        "id": 331,
                        "name": "ElementaryTypeName",
                        "src": "2321:7:2"
                      }
                    ],
                    "id": 332,
                    "name": "Mapping",
                    "src": "2302:27:2"
                  }
                ],
                "id": 333,
                "name": "Mapping",
                "src": "2283:47:2"
              }
            ],
            "id": 334,
            "name": "VariableDeclaration",
            "src": "2283:55:2"
          }
        ],
        "id": 335,
        "name": "ContractDefinition",
        "src": "480:1861:2"
      }
    ],
    "id": 336,
    "name": "SourceUnit",
    "src": "426:1915:2"
  },
  "compiler": {
    "name": "solc",
    "version": "0.4.18+commit.9cf6e910.Emscripten.clang"
  },
  "networks": {},
  "schemaVersion": "1.0.1",
  "updatedAt": "2018-03-07T05:10:52.552Z"
}