{
  "contractName": "TokenMintPoD",
  "abi": [
    {
      "constant": true,
      "inputs": [],
      "name": "name",
      "outputs": [
        {
          "name": "",
          "type": "string"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [
        {
          "name": "_user",
          "type": "address"
        }
      ],
      "name": "getBalanceOfWei",
      "outputs": [
        {
          "name": "",
          "type": "uint256"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [],
      "name": "lockTime",
      "outputs": [
        {
          "name": "",
          "type": "uint256"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": false,
      "inputs": [
        {
          "name": "_user",
          "type": "address"
        }
      ],
      "name": "resetWeiBalance",
      "outputs": [
        {
          "name": "",
          "type": "bool"
        }
      ],
      "payable": false,
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [],
      "name": "status",
      "outputs": [
        {
          "name": "",
          "type": "uint8"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [],
      "name": "getEndTime",
      "outputs": [
        {
          "name": "",
          "type": "uint256"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [],
      "name": "getTokenPrice",
      "outputs": [
        {
          "name": "",
          "type": "uint256"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": false,
      "inputs": [],
      "name": "finalize",
      "outputs": [],
      "payable": false,
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [],
      "name": "wallet",
      "outputs": [
        {
          "name": "",
          "type": "address"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [],
      "name": "version",
      "outputs": [
        {
          "name": "",
          "type": "string"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [],
      "name": "getCapOfWei",
      "outputs": [
        {
          "name": "",
          "type": "uint256"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [
        {
          "name": "_user",
          "type": "address"
        }
      ],
      "name": "getBalanceOfToken",
      "outputs": [
        {
          "name": "",
          "type": "uint256"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [],
      "name": "owner",
      "outputs": [
        {
          "name": "",
          "type": "address"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [],
      "name": "isPoDEnded",
      "outputs": [
        {
          "name": "",
          "type": "bool"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [],
      "name": "getCapOfToken",
      "outputs": [
        {
          "name": "",
          "type": "uint256"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [],
      "name": "isPoDStarted",
      "outputs": [
        {
          "name": "",
          "type": "bool"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": false,
      "inputs": [
        {
          "name": "_user",
          "type": "address"
        },
        {
          "name": "_allocationOfTokens",
          "type": "uint256"
        },
        {
          "name": "_lockTime",
          "type": "uint256"
        }
      ],
      "name": "init",
      "outputs": [
        {
          "name": "",
          "type": "bool"
        }
      ],
      "payable": false,
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [],
      "name": "getStartTime",
      "outputs": [
        {
          "name": "",
          "type": "uint256"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": false,
      "inputs": [],
      "name": "donate",
      "outputs": [
        {
          "name": "",
          "type": "bool"
        }
      ],
      "payable": true,
      "stateMutability": "payable",
      "type": "function"
    },
    {
      "constant": false,
      "inputs": [
        {
          "name": "newOwner",
          "type": "address"
        }
      ],
      "name": "transferOwnership",
      "outputs": [],
      "payable": false,
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [],
      "payable": false,
      "stateMutability": "nonpayable",
      "type": "constructor"
    },
    {
      "payable": true,
      "stateMutability": "payable",
      "type": "fallback"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": false,
          "name": "user",
          "type": "address"
        },
        {
          "indexed": false,
          "name": "amount",
          "type": "uint256"
        }
      ],
      "name": "Donated",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": false,
          "name": "time",
          "type": "uint256"
        }
      ],
      "name": "Ended",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "name": "previousOwner",
          "type": "address"
        },
        {
          "indexed": true,
          "name": "newOwner",
          "type": "address"
        }
      ],
      "name": "OwnershipTransferred",
      "type": "event"
    }
  ],
  "bytecode": "0x606060405234156200001057600080fd5b336000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000600b60006101000a81548160ff021916908360028111156200007057fe5b0217905550600060078190555033600360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550606060405190810160405280602c81526020017f546f6b656e4d696e74506f44206d65616e2074686174206d696e74696e67205481526020017f6f6b656e20746f20757365720000000000000000000000000000000000000000815250600190805190602001906200013292919062000187565b506040805190810160405280600581526020017f302e392e33000000000000000000000000000000000000000000000000000000815250600290805190602001906200018092919062000187565b5062000236565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10620001ca57805160ff1916838001178555620001fb565b82800160010185558215620001fb579182015b82811115620001fa578251825591602001919060010190620001dd565b5b5090506200020a91906200020e565b5090565b6200023391905b808211156200022f57600081600090555060010162000215565b5090565b90565b610f3c80620002466000396000f300606060405260043610610112576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806306fdde031461011d57806309fc93c1146101ab5780630d668087146101f8578063112ed3f514610221578063200d2ed214610272578063439f5ac2146102a95780634b94f50e146102d25780634bb278f3146102fb578063521eb2731461031057806354fd4d50146103655780636ccce7a8146103f357806383786f8c1461041c5780638da5cb5b146104695780638f85f92c146104be57806397722acf146104eb5780639b3dfce014610514578063a4a2a9f614610541578063c828371e146105a4578063ed88c68e146105cd578063f2fde38b146105ef575b61011a610628565b50005b341561012857600080fd5b610130610793565b6040518080602001828103825283818151815260200191508051906020019080838360005b83811015610170578082015181840152602081019050610155565b50505050905090810190601f16801561019d5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34156101b657600080fd5b6101e2600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050610831565b6040518082815260200191505060405180910390f35b341561020357600080fd5b61020b61087a565b6040518082815260200191505060405180910390f35b341561022c57600080fd5b610258600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050610880565b604051808215151515815260200191505060405180910390f35b341561027d57600080fd5b61028561095e565b6040518082600281111561029557fe5b60ff16815260200191505060405180910390f35b34156102b457600080fd5b6102bc610971565b6040518082815260200191505060405180910390f35b34156102dd57600080fd5b6102e561097b565b6040518082815260200191505060405180910390f35b341561030657600080fd5b61030e610985565b005b341561031b57600080fd5b6103236109ab565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b341561037057600080fd5b6103786109d1565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156103b857808201518184015260208101905061039d565b50505050905090810190601f1680156103e55780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34156103fe57600080fd5b610406610a6f565b6040518082815260200191505060405180910390f35b341561042757600080fd5b610453600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050610a79565b6040518082815260200191505060405180910390f35b341561047457600080fd5b61047c610b28565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34156104c957600080fd5b6104d1610b4d565b604051808215151515815260200191505060405180910390f35b34156104f657600080fd5b6104fe610b8d565b6040518082815260200191505060405180910390f35b341561051f57600080fd5b610527610b97565b604051808215151515815260200191505060405180910390f35b341561054c57600080fd5b61058a600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091908035906020019091905050610bd8565b604051808215151515815260200191505060405180910390f35b34156105af57600080fd5b6105b7610d31565b6040518082815260200191505060405180910390f35b6105d5610628565b604051808215151515815260200191505060405180910390f35b34156105fa57600080fd5b610626600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050610d3b565b005b60006001600281111561063757fe5b600b60009054906101000a900460ff16600281111561065257fe5b14151561065e57600080fd5b600454421015151561066f57600080fd5b6412a05f20003a1115151561068357600080fd5b60003411151561069257600080fd5b61069b33610e90565b151561070657426005819055506002600b60006101000a81548160ff021916908360028111156106c757fe5b02179055507f601095663bda08ac0f932087ef2eb08e42e4bcd1927f3a8d9500f6ad2c5aef906005546040518082815260200191505060405180910390a15b61071b34600754610ebf90919063ffffffff16565b6007819055507f2a01595cddf097c90216094025db714da3f4e5bd8877b56ba86a24ecead8e5433334604051808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019250505060405180910390a16001905090565b60018054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156108295780601f106107fe57610100808354040283529160200191610829565b820191906000526020600020905b81548152906001019060200180831161080c57829003601f168201915b505050505081565b6000600a60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b600d5481565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156108dd57600080fd5b6002808111156108e957fe5b600b60009054906101000a900460ff16600281111561090457fe5b14151561091057600080fd5b6000600a60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555060019050919050565b600b60009054906101000a900460ff1681565b6000600554905090565b6000600654905090565b6002600b60006101000a81548160ff021916908360028111156109a457fe5b0217905550565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60028054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610a675780601f10610a3c57610100808354040283529160200191610a67565b820191906000526020600020905b815481529060010190602001808311610a4a57829003601f168201915b505050505081565b6000600954905090565b6000600d5442111515610a8f5760009050610b23565b610b20600c60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054600a60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610edd90919063ffffffff16565b90505b919050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600280811115610b5b57fe5b600b60009054906101000a900460ff166002811115610b7657fe5b1415610b855760019050610b8a565b600090505b90565b6000600854905090565b600060016002811115610ba657fe5b600b60009054906101000a900460ff166002811115610bc157fe5b1415610bd05760019050610bd5565b600090505b90565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610c3557600080fd5b60006002811115610c4257fe5b600b60009054906101000a900460ff166002811115610c5d57fe5b141515610c6957600080fd5b82600881905550600854600c60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555081600d819055506001600a60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506001600b60006101000a81548160ff02191690836002811115610d2157fe5b0217905550600190509392505050565b6000600454905090565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610d9657600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614151515610dd257600080fd5b8073ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6000808273ffffffffffffffffffffffffffffffffffffffff16141515610eb657600080fd5b60019050919050565b6000808284019050838110151515610ed357fe5b8091505092915050565b60008082840290506000841480610efe5750828482811515610efb57fe5b04145b1515610f0657fe5b80915050929150505600a165627a7a723058208354e5bfda722fe489e10a56a5341bb00d03dd297b8c677b6664ccced727febb0029",
  "deployedBytecode": "0x606060405260043610610112576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806306fdde031461011d57806309fc93c1146101ab5780630d668087146101f8578063112ed3f514610221578063200d2ed214610272578063439f5ac2146102a95780634b94f50e146102d25780634bb278f3146102fb578063521eb2731461031057806354fd4d50146103655780636ccce7a8146103f357806383786f8c1461041c5780638da5cb5b146104695780638f85f92c146104be57806397722acf146104eb5780639b3dfce014610514578063a4a2a9f614610541578063c828371e146105a4578063ed88c68e146105cd578063f2fde38b146105ef575b61011a610628565b50005b341561012857600080fd5b610130610793565b6040518080602001828103825283818151815260200191508051906020019080838360005b83811015610170578082015181840152602081019050610155565b50505050905090810190601f16801561019d5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34156101b657600080fd5b6101e2600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050610831565b6040518082815260200191505060405180910390f35b341561020357600080fd5b61020b61087a565b6040518082815260200191505060405180910390f35b341561022c57600080fd5b610258600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050610880565b604051808215151515815260200191505060405180910390f35b341561027d57600080fd5b61028561095e565b6040518082600281111561029557fe5b60ff16815260200191505060405180910390f35b34156102b457600080fd5b6102bc610971565b6040518082815260200191505060405180910390f35b34156102dd57600080fd5b6102e561097b565b6040518082815260200191505060405180910390f35b341561030657600080fd5b61030e610985565b005b341561031b57600080fd5b6103236109ab565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b341561037057600080fd5b6103786109d1565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156103b857808201518184015260208101905061039d565b50505050905090810190601f1680156103e55780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34156103fe57600080fd5b610406610a6f565b6040518082815260200191505060405180910390f35b341561042757600080fd5b610453600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050610a79565b6040518082815260200191505060405180910390f35b341561047457600080fd5b61047c610b28565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34156104c957600080fd5b6104d1610b4d565b604051808215151515815260200191505060405180910390f35b34156104f657600080fd5b6104fe610b8d565b6040518082815260200191505060405180910390f35b341561051f57600080fd5b610527610b97565b604051808215151515815260200191505060405180910390f35b341561054c57600080fd5b61058a600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091908035906020019091905050610bd8565b604051808215151515815260200191505060405180910390f35b34156105af57600080fd5b6105b7610d31565b6040518082815260200191505060405180910390f35b6105d5610628565b604051808215151515815260200191505060405180910390f35b34156105fa57600080fd5b610626600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050610d3b565b005b60006001600281111561063757fe5b600b60009054906101000a900460ff16600281111561065257fe5b14151561065e57600080fd5b600454421015151561066f57600080fd5b6412a05f20003a1115151561068357600080fd5b60003411151561069257600080fd5b61069b33610e90565b151561070657426005819055506002600b60006101000a81548160ff021916908360028111156106c757fe5b02179055507f601095663bda08ac0f932087ef2eb08e42e4bcd1927f3a8d9500f6ad2c5aef906005546040518082815260200191505060405180910390a15b61071b34600754610ebf90919063ffffffff16565b6007819055507f2a01595cddf097c90216094025db714da3f4e5bd8877b56ba86a24ecead8e5433334604051808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019250505060405180910390a16001905090565b60018054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156108295780601f106107fe57610100808354040283529160200191610829565b820191906000526020600020905b81548152906001019060200180831161080c57829003601f168201915b505050505081565b6000600a60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b600d5481565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156108dd57600080fd5b6002808111156108e957fe5b600b60009054906101000a900460ff16600281111561090457fe5b14151561091057600080fd5b6000600a60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555060019050919050565b600b60009054906101000a900460ff1681565b6000600554905090565b6000600654905090565b6002600b60006101000a81548160ff021916908360028111156109a457fe5b0217905550565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60028054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610a675780601f10610a3c57610100808354040283529160200191610a67565b820191906000526020600020905b815481529060010190602001808311610a4a57829003601f168201915b505050505081565b6000600954905090565b6000600d5442111515610a8f5760009050610b23565b610b20600c60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054600a60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610edd90919063ffffffff16565b90505b919050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600280811115610b5b57fe5b600b60009054906101000a900460ff166002811115610b7657fe5b1415610b855760019050610b8a565b600090505b90565b6000600854905090565b600060016002811115610ba657fe5b600b60009054906101000a900460ff166002811115610bc157fe5b1415610bd05760019050610bd5565b600090505b90565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610c3557600080fd5b60006002811115610c4257fe5b600b60009054906101000a900460ff166002811115610c5d57fe5b141515610c6957600080fd5b82600881905550600854600c60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555081600d819055506001600a60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506001600b60006101000a81548160ff02191690836002811115610d2157fe5b0217905550600190509392505050565b6000600454905090565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610d9657600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614151515610dd257600080fd5b8073ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6000808273ffffffffffffffffffffffffffffffffffffffff16141515610eb657600080fd5b60019050919050565b6000808284019050838110151515610ed357fe5b8091505092915050565b60008082840290506000841480610efe5750828482811515610efb57fe5b04145b1515610f0657fe5b80915050929150505600a165627a7a723058208354e5bfda722fe489e10a56a5341bb00d03dd297b8c677b6664ccced727febb0029",
  "sourceMap": "562:1336:14:-;;;672:118;;;;;;;;603:10:9;595:5;;:18;;;;;;;;;;;;;;;;;;1077::10;1068:6;;:27;;;;;;;;;;;;;;;;;;;;;;;;1120:1;1101:16;:20;;;;1136:10;1127:6;;:19;;;;;;;;;;;;;;;;;;709:53:14;;;;;;;;;;;;;;;;;;;;;;;:4;:53;;;;;;;;;;;;:::i;:::-;;768:17;;;;;;;;;;;;;;;;;;:7;:17;;;;;;;;;;;;:::i;:::-;;562:1336;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;",
  "deployedSourceMap": "562:1336:14:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3416:8:10;:6;:8::i;:::-;;562:1336:14;481:19:10;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:2;8:100;;;99:1;94:3;90;84:5;80:1;75:3;71;64:6;52:2;49:1;45:3;40:15;;8:100;;;12:14;3:109;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2113:106:10;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;642:23:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1853:201:10;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;829:20;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2871:81;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2268:86;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1522:62:14;;;;;;;;;;;;;;530:21:10;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;504:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:2;8:100;;;99:1;94:3;90;84:5;80:1;75:3;71;64:6;52:2;49:1;45:3;40:15;;8:100;;;12:14;3:109;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2577:97:10;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1703:193:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;334:20:9;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3215:129:10;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2416:101;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3018:133;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1126:392:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2734:85:10;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1220:520;;;;;;;;;;;;;;;;;;;;;;;;;;;928:169:9;;;;;;;;;;;;;;;;;;;;;;;;;;;;1220:520:10;1262:4;1293:17;1283:27;;;;;;;;:6;;;;;;;;;;;:27;;;;;;;;;1275:36;;;;;;;;1345:9;;1326:15;:28;;1318:37;;;;;;;;1428:11;1413;:26;;1405:35;;;;;;;;1467:1;1455:9;:13;1447:22;;;;;;;;1516:25;1530:10;1516:13;:25::i;:::-;1515:26;1511:114;;;1561:3;1551:7;:13;;;;1581:15;1572:6;;:24;;;;;;;;;;;;;;;;;;;;;;;;1604:14;1610:7;;1604:14;;;;;;;;;;;;;;;;;;1511:114;1650:31;1671:9;1650:16;;:20;;:31;;;;:::i;:::-;1631:16;:50;;;;1688:30;1696:10;1708:9;1688:30;;;;;;;;;;;;;;;;;;;;;;;;;;;;1731:4;1724:11;;1220:520;:::o;481:19::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;2113:106::-;2177:4;2196:11;:18;2208:5;2196:18;;;;;;;;;;;;;;;;2189:25;;2113:106;;;:::o;642:23:14:-;;;;:::o;1853:201:10:-;1921:4;748:5:9;;;;;;;;;;;734:19;;:10;:19;;;726:28;;;;;;;;1952:15:10;1942:25;;;;;;;;:6;;;;;;;;;;;:25;;;;;;;;;1934:34;;;;;;;;2030:1;2009:11;:18;2021:5;2009:18;;;;;;;;;;;;;;;:22;;;;2045:4;2038:11;;1853:201;;;:::o;829:20::-;;;;;;;;;;;;;:::o;2871:81::-;2918:7;2940;;2933:14;;2871:81;:::o;2268:86::-;2317:7;2339:10;;2332:17;;2268:86;:::o;1522:62:14:-;1564:15;1555:6;;:24;;;;;;;;;;;;;;;;;;;;;;;;1522:62::o;530:21:10:-;;;;;;;;;;;;;:::o;504:22::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;2577:97::-;2624:7;2646:23;;2639:30;;2577:97;:::o;1703:193:14:-;1770:7;1808:8;;1789:15;:27;;1785:48;;;1832:1;1825:8;;;;1785:48;1847:44;1870:13;:20;1884:5;1870:20;;;;;;;;;;;;;;;;1847:11;:18;1859:5;1847:18;;;;;;;;;;;;;;;;:22;;:44;;;;:::i;:::-;1840:51;;1703:193;;;;:::o;334:20:9:-;;;;;;;;;;;;;:::o;3215:129:10:-;3261:4;3287:15;3277:25;;;;;;;;:6;;;;;;;;;;;:25;;;;;;;;;3273:48;;;3317:4;3310:11;;;;3273:48;3334:5;3327:12;;3215:129;;:::o;2416:101::-;2465:7;2487:25;;2480:32;;2416:101;:::o;3018:133::-;3066:4;3092:17;3082:27;;;;;;;;:6;;;;;;;;;;;:27;;;;;;;;;3078:50;;;3124:4;3117:11;;;;3078:50;3141:5;3134:12;;3018:133;;:::o;1126:392:14:-;1251:4;748:5:9;;;;;;;;;;;734:19;;:10;:19;;;726:28;;;;;;;;1284:18:14;1274:28;;;;;;;;:6;;;;;;;;;;;:28;;;;;;;;;1266:37;;;;;;;;1337:19;1309:25;:47;;;;1385:25;;1362:13;:20;1376:5;1362:20;;;;;;;;;;;;;;;:48;;;;1427:9;1416:8;:20;;;;1463:1;1442:11;:18;1454:5;1442:18;;;;;;;;;;;;;;;:22;;;;1479:17;1470:6;;:26;;;;;;;;;;;;;;;;;;;;;;;;1509:4;1502:11;;1126:392;;;;;:::o;2734:85:10:-;2783:7;2805:9;;2798:16;;2734:85;:::o;928:169:9:-;748:5;;;;;;;;;;;734:19;;:10;:19;;;726:28;;;;;;;;1024:1;1004:22;;:8;:22;;;;996:31;;;;;;;;1061:8;1033:37;;1054:5;;;;;;;;;;;1033:37;;;;;;;;;;;;1084:8;1076:5;;:16;;;;;;;;;;;;;;;;;;928:169;:::o;1588:111:14:-;1644:4;1673:3;1664:5;:12;;;1656:21;;;;;;;;1690:4;1683:11;;1588:111;;;:::o;759:128:16:-;816:7;831:9;847:1;843;:5;831:17;;866:1;861;:6;;854:14;;;;;;881:1;874:8;;759:128;;;;;:::o;232:142::-;289:7;304:9;320:1;316;:5;304:17;;339:1;334;:6;:20;;;;353:1;348;344;:5;;;;;;;;:10;334:20;327:28;;;;;;368:1;361:8;;232:142;;;;;:::o",
  "source": "pragma solidity ^0.4.18;\nimport \"../PoD.sol\";\n\n/// @title PublicSalePoD - PublicSalePoD contract\n/// @author - Yusaku Senga - <senga@dri.network>\n/// license - Please check the LICENSE at github.com/DRI-network/RICO\n\n/**\n * @title      TokenMintPoD\n * @dev        Token Mint Proof of Donation\n *             This Contract is used to handle a separate allocation of\n *             tokens outside of the public sale.\n *             Handles minting and locking the separately allocated tokens.\n *             (& Handles all donation functionality from PoD.sol)\n */\ncontract TokenMintPoD is PoD {\n\n  mapping(address => uint256) tokenBalances; \n  uint256 public lockTime;\n  \n  function TokenMintPoD() public {\n    name = \"TokenMintPoD mean that minting Token to user\";\n    version = \"0.9.3\";\n  }\n\n  /**\n   * @dev        initialize PoD contract\n   *\n   * @param      _user                The address of the user to receive a separate allocation.\n   * @param      _allocationOfTokens  Token amount of the separate alloction.\n   * @param      _lockTime            Lock time of the allocated tokens.\n   *\n   * @return     true\n   */\n  function init(\n    address _user, \n    uint256 _allocationOfTokens,\n    uint256 _lockTime\n  ) \n  public onlyOwner() returns (bool) \n  {\n    require(status == Status.PoDDeployed);\n    proofOfDonationCapOfToken = _allocationOfTokens;\n    tokenBalances[_user] = proofOfDonationCapOfToken;\n    lockTime = _lockTime;\n    weiBalances[_user] = 1;\n    status = Status.PoDStarted;\n    return true;\n  }\n\n  function finalize() public {\n    status = Status.PoDEnded;\n  }\n\n  function processDonate(address _user) internal returns (bool) {\n    require(_user == 0x0);\n    return true;\n  }\n\n  function getBalanceOfToken(address _user) public constant returns (uint256) {\n    if (block.timestamp <= lockTime) \n      return 0;\n\n    return weiBalances[_user].mul(tokenBalances[_user]);\n  }\n}\n",
  "sourcePath": "/Users/lucaban/.ghq/github.com/DRI-network/RICO/contracts/PoDs/TokenMintPoD.sol",
  "ast": {
    "attributes": {
      "absolutePath": "/Users/lucaban/.ghq/github.com/DRI-network/RICO/contracts/PoDs/TokenMintPoD.sol",
      "exportedSymbols": {
        "TokenMintPoD": [
          3336
        ]
      }
    },
    "children": [
      {
        "attributes": {
          "literals": [
            "solidity",
            "^",
            "0.4",
            ".18"
          ]
        },
        "id": 3217,
        "name": "PragmaDirective",
        "src": "0:24:14"
      },
      {
        "attributes": {
          "SourceUnit": 2383,
          "absolutePath": "/Users/lucaban/.ghq/github.com/DRI-network/RICO/contracts/PoD.sol",
          "file": "../PoD.sol",
          "scope": 3337,
          "symbolAliases": [
            null
          ],
          "unitAlias": ""
        },
        "id": 3218,
        "name": "ImportDirective",
        "src": "25:20:14"
      },
      {
        "attributes": {
          "contractDependencies": [
            2117,
            2382
          ],
          "contractKind": "contract",
          "documentation": "@title      TokenMintPoD\n@dev        Token Mint Proof of Donation\n            This Contract is used to handle a separate allocation of\n            tokens outside of the public sale.\n            Handles minting and locking the separately allocated tokens.\n            (& Handles all donation functionality from PoD.sol)",
          "fullyImplemented": true,
          "linearizedBaseContracts": [
            3336,
            2382,
            2117
          ],
          "name": "TokenMintPoD",
          "scope": 3337
        },
        "children": [
          {
            "attributes": {
              "arguments": [
                null
              ]
            },
            "children": [
              {
                "attributes": {
                  "contractScope": null,
                  "name": "PoD",
                  "referencedDeclaration": 2382,
                  "type": "contract PoD"
                },
                "id": 3219,
                "name": "UserDefinedTypeName",
                "src": "587:3:14"
              }
            ],
            "id": 3220,
            "name": "InheritanceSpecifier",
            "src": "587:3:14"
          },
          {
            "attributes": {
              "constant": false,
              "name": "tokenBalances",
              "scope": 3336,
              "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": 3221,
                    "name": "ElementaryTypeName",
                    "src": "604:7:14"
                  },
                  {
                    "attributes": {
                      "name": "uint256",
                      "type": "uint256"
                    },
                    "id": 3222,
                    "name": "ElementaryTypeName",
                    "src": "615:7:14"
                  }
                ],
                "id": 3223,
                "name": "Mapping",
                "src": "596:27:14"
              }
            ],
            "id": 3224,
            "name": "VariableDeclaration",
            "src": "596:41:14"
          },
          {
            "attributes": {
              "constant": false,
              "name": "lockTime",
              "scope": 3336,
              "stateVariable": true,
              "storageLocation": "default",
              "type": "uint256",
              "value": null,
              "visibility": "public"
            },
            "children": [
              {
                "attributes": {
                  "name": "uint256",
                  "type": "uint256"
                },
                "id": 3225,
                "name": "ElementaryTypeName",
                "src": "642:7:14"
              }
            ],
            "id": 3226,
            "name": "VariableDeclaration",
            "src": "642:23:14"
          },
          {
            "attributes": {
              "constant": false,
              "implemented": true,
              "isConstructor": true,
              "modifiers": [
                null
              ],
              "name": "TokenMintPoD",
              "payable": false,
              "scope": 3336,
              "stateMutability": "nonpayable",
              "superFunction": null,
              "visibility": "public"
            },
            "children": [
              {
                "attributes": {
                  "parameters": [
                    null
                  ]
                },
                "children": [],
                "id": 3227,
                "name": "ParameterList",
                "src": "693:2:14"
              },
              {
                "attributes": {
                  "parameters": [
                    null
                  ]
                },
                "children": [],
                "id": 3228,
                "name": "ParameterList",
                "src": "703:0:14"
              },
              {
                "children": [
                  {
                    "children": [
                      {
                        "attributes": {
                          "argumentTypes": null,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "operator": "=",
                          "type": "string storage ref"
                        },
                        "children": [
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 2128,
                              "type": "string storage ref",
                              "value": "name"
                            },
                            "id": 3229,
                            "name": "Identifier",
                            "src": "709:4:14"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "hexvalue": "546f6b656e4d696e74506f44206d65616e2074686174206d696e74696e6720546f6b656e20746f2075736572",
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "lValueRequested": false,
                              "subdenomination": null,
                              "token": "string",
                              "type": "literal_string \"TokenMintPoD mean that minting Token to user\"",
                              "value": "TokenMintPoD mean that minting Token to user"
                            },
                            "id": 3230,
                            "name": "Literal",
                            "src": "716:46:14"
                          }
                        ],
                        "id": 3231,
                        "name": "Assignment",
                        "src": "709:53:14"
                      }
                    ],
                    "id": 3232,
                    "name": "ExpressionStatement",
                    "src": "709:53:14"
                  },
                  {
                    "children": [
                      {
                        "attributes": {
                          "argumentTypes": null,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "operator": "=",
                          "type": "string storage ref"
                        },
                        "children": [
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 2130,
                              "type": "string storage ref",
                              "value": "version"
                            },
                            "id": 3233,
                            "name": "Identifier",
                            "src": "768:7:14"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "hexvalue": "302e392e33",
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "lValueRequested": false,
                              "subdenomination": null,
                              "token": "string",
                              "type": "literal_string \"0.9.3\"",
                              "value": "0.9.3"
                            },
                            "id": 3234,
                            "name": "Literal",
                            "src": "778:7:14"
                          }
                        ],
                        "id": 3235,
                        "name": "Assignment",
                        "src": "768:17:14"
                      }
                    ],
                    "id": 3236,
                    "name": "ExpressionStatement",
                    "src": "768:17:14"
                  }
                ],
                "id": 3237,
                "name": "Block",
                "src": "703:87:14"
              }
            ],
            "id": 3238,
            "name": "FunctionDefinition",
            "src": "672:118:14"
          },
          {
            "attributes": {
              "constant": false,
              "implemented": true,
              "isConstructor": false,
              "name": "init",
              "payable": false,
              "scope": 3336,
              "stateMutability": "nonpayable",
              "superFunction": null,
              "visibility": "public"
            },
            "children": [
              {
                "children": [
                  {
                    "attributes": {
                      "constant": false,
                      "name": "_user",
                      "scope": 3286,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "address",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "address",
                          "type": "address"
                        },
                        "id": 3239,
                        "name": "ElementaryTypeName",
                        "src": "1145:7:14"
                      }
                    ],
                    "id": 3240,
                    "name": "VariableDeclaration",
                    "src": "1145:13:14"
                  },
                  {
                    "attributes": {
                      "constant": false,
                      "name": "_allocationOfTokens",
                      "scope": 3286,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "uint256",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "uint256",
                          "type": "uint256"
                        },
                        "id": 3241,
                        "name": "ElementaryTypeName",
                        "src": "1165:7:14"
                      }
                    ],
                    "id": 3242,
                    "name": "VariableDeclaration",
                    "src": "1165:27:14"
                  },
                  {
                    "attributes": {
                      "constant": false,
                      "name": "_lockTime",
                      "scope": 3286,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "uint256",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "uint256",
                          "type": "uint256"
                        },
                        "id": 3243,
                        "name": "ElementaryTypeName",
                        "src": "1198:7:14"
                      }
                    ],
                    "id": 3244,
                    "name": "VariableDeclaration",
                    "src": "1198:17:14"
                  }
                ],
                "id": 3245,
                "name": "ParameterList",
                "src": "1139:80:14"
              },
              {
                "children": [
                  {
                    "attributes": {
                      "constant": false,
                      "name": "",
                      "scope": 3286,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "bool",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "bool",
                          "type": "bool"
                        },
                        "id": 3248,
                        "name": "ElementaryTypeName",
                        "src": "1251:4:14"
                      }
                    ],
                    "id": 3249,
                    "name": "VariableDeclaration",
                    "src": "1251:4:14"
                  }
                ],
                "id": 3250,
                "name": "ParameterList",
                "src": "1250:6:14"
              },
              {
                "attributes": {
                  "arguments": [
                    null
                  ]
                },
                "children": [
                  {
                    "attributes": {
                      "argumentTypes": null,
                      "overloadedDeclarations": [
                        null
                      ],
                      "referencedDeclaration": 2091,
                      "type": "modifier ()",
                      "value": "onlyOwner"
                    },
                    "id": 3246,
                    "name": "Identifier",
                    "src": "1230:9:14"
                  }
                ],
                "id": 3247,
                "name": "ModifierInvocation",
                "src": "1230:11:14"
              },
              {
                "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": 3251,
                            "name": "Identifier",
                            "src": "1266:7:14"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "commonType": {
                                "typeIdentifier": "t_enum$_Status_$2152",
                                "typeString": "enum PoD.Status"
                              },
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "lValueRequested": false,
                              "operator": "==",
                              "type": "bool"
                            },
                            "children": [
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "overloadedDeclarations": [
                                    null
                                  ],
                                  "referencedDeclaration": 2154,
                                  "type": "enum PoD.Status",
                                  "value": "status"
                                },
                                "id": 3252,
                                "name": "Identifier",
                                "src": "1274:6:14"
                              },
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": true,
                                  "lValueRequested": false,
                                  "member_name": "PoDDeployed",
                                  "referencedDeclaration": null,
                                  "type": "enum PoD.Status"
                                },
                                "children": [
                                  {
                                    "attributes": {
                                      "argumentTypes": null,
                                      "overloadedDeclarations": [
                                        null
                                      ],
                                      "referencedDeclaration": 2152,
                                      "type": "type(enum PoD.Status)",
                                      "value": "Status"
                                    },
                                    "id": 3253,
                                    "name": "Identifier",
                                    "src": "1284:6:14"
                                  }
                                ],
                                "id": 3254,
                                "name": "MemberAccess",
                                "src": "1284:18:14"
                              }
                            ],
                            "id": 3255,
                            "name": "BinaryOperation",
                            "src": "1274:28:14"
                          }
                        ],
                        "id": 3256,
                        "name": "FunctionCall",
                        "src": "1266:37:14"
                      }
                    ],
                    "id": 3257,
                    "name": "ExpressionStatement",
                    "src": "1266:37:14"
                  },
                  {
                    "children": [
                      {
                        "attributes": {
                          "argumentTypes": null,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "operator": "=",
                          "type": "uint256"
                        },
                        "children": [
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 2142,
                              "type": "uint256",
                              "value": "proofOfDonationCapOfToken"
                            },
                            "id": 3258,
                            "name": "Identifier",
                            "src": "1309:25:14"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 3242,
                              "type": "uint256",
                              "value": "_allocationOfTokens"
                            },
                            "id": 3259,
                            "name": "Identifier",
                            "src": "1337:19:14"
                          }
                        ],
                        "id": 3260,
                        "name": "Assignment",
                        "src": "1309:47:14"
                      }
                    ],
                    "id": 3261,
                    "name": "ExpressionStatement",
                    "src": "1309:47:14"
                  },
                  {
                    "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": 3224,
                                  "type": "mapping(address => uint256)",
                                  "value": "tokenBalances"
                                },
                                "id": 3262,
                                "name": "Identifier",
                                "src": "1362:13:14"
                              },
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "overloadedDeclarations": [
                                    null
                                  ],
                                  "referencedDeclaration": 3240,
                                  "type": "address",
                                  "value": "_user"
                                },
                                "id": 3263,
                                "name": "Identifier",
                                "src": "1376:5:14"
                              }
                            ],
                            "id": 3264,
                            "name": "IndexAccess",
                            "src": "1362:20:14"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 2142,
                              "type": "uint256",
                              "value": "proofOfDonationCapOfToken"
                            },
                            "id": 3265,
                            "name": "Identifier",
                            "src": "1385:25:14"
                          }
                        ],
                        "id": 3266,
                        "name": "Assignment",
                        "src": "1362:48:14"
                      }
                    ],
                    "id": 3267,
                    "name": "ExpressionStatement",
                    "src": "1362:48:14"
                  },
                  {
                    "children": [
                      {
                        "attributes": {
                          "argumentTypes": null,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "operator": "=",
                          "type": "uint256"
                        },
                        "children": [
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 3226,
                              "type": "uint256",
                              "value": "lockTime"
                            },
                            "id": 3268,
                            "name": "Identifier",
                            "src": "1416:8:14"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 3244,
                              "type": "uint256",
                              "value": "_lockTime"
                            },
                            "id": 3269,
                            "name": "Identifier",
                            "src": "1427:9:14"
                          }
                        ],
                        "id": 3270,
                        "name": "Assignment",
                        "src": "1416:20:14"
                      }
                    ],
                    "id": 3271,
                    "name": "ExpressionStatement",
                    "src": "1416:20:14"
                  },
                  {
                    "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": 2148,
                                  "type": "mapping(address => uint256)",
                                  "value": "weiBalances"
                                },
                                "id": 3272,
                                "name": "Identifier",
                                "src": "1442:11:14"
                              },
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "overloadedDeclarations": [
                                    null
                                  ],
                                  "referencedDeclaration": 3240,
                                  "type": "address",
                                  "value": "_user"
                                },
                                "id": 3273,
                                "name": "Identifier",
                                "src": "1454:5:14"
                              }
                            ],
                            "id": 3274,
                            "name": "IndexAccess",
                            "src": "1442:18:14"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "hexvalue": "31",
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "lValueRequested": false,
                              "subdenomination": null,
                              "token": "number",
                              "type": "int_const 1",
                              "value": "1"
                            },
                            "id": 3275,
                            "name": "Literal",
                            "src": "1463:1:14"
                          }
                        ],
                        "id": 3276,
                        "name": "Assignment",
                        "src": "1442:22:14"
                      }
                    ],
                    "id": 3277,
                    "name": "ExpressionStatement",
                    "src": "1442:22:14"
                  },
                  {
                    "children": [
                      {
                        "attributes": {
                          "argumentTypes": null,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "operator": "=",
                          "type": "enum PoD.Status"
                        },
                        "children": [
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 2154,
                              "type": "enum PoD.Status",
                              "value": "status"
                            },
                            "id": 3278,
                            "name": "Identifier",
                            "src": "1470:6:14"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "lValueRequested": false,
                              "member_name": "PoDStarted",
                              "referencedDeclaration": null,
                              "type": "enum PoD.Status"
                            },
                            "children": [
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "overloadedDeclarations": [
                                    null
                                  ],
                                  "referencedDeclaration": 2152,
                                  "type": "type(enum PoD.Status)",
                                  "value": "Status"
                                },
                                "id": 3279,
                                "name": "Identifier",
                                "src": "1479:6:14"
                              }
                            ],
                            "id": 3280,
                            "name": "MemberAccess",
                            "src": "1479:17:14"
                          }
                        ],
                        "id": 3281,
                        "name": "Assignment",
                        "src": "1470:26:14"
                      }
                    ],
                    "id": 3282,
                    "name": "ExpressionStatement",
                    "src": "1470:26:14"
                  },
                  {
                    "attributes": {
                      "functionReturnParameters": 3250
                    },
                    "children": [
                      {
                        "attributes": {
                          "argumentTypes": null,
                          "hexvalue": "74727565",
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "lValueRequested": false,
                          "subdenomination": null,
                          "token": "bool",
                          "type": "bool",
                          "value": "true"
                        },
                        "id": 3283,
                        "name": "Literal",
                        "src": "1509:4:14"
                      }
                    ],
                    "id": 3284,
                    "name": "Return",
                    "src": "1502:11:14"
                  }
                ],
                "id": 3285,
                "name": "Block",
                "src": "1260:258:14"
              }
            ],
            "id": 3286,
            "name": "FunctionDefinition",
            "src": "1126:392:14"
          },
          {
            "attributes": {
              "constant": false,
              "implemented": true,
              "isConstructor": false,
              "modifiers": [
                null
              ],
              "name": "finalize",
              "payable": false,
              "scope": 3336,
              "stateMutability": "nonpayable",
              "superFunction": null,
              "visibility": "public"
            },
            "children": [
              {
                "attributes": {
                  "parameters": [
                    null
                  ]
                },
                "children": [],
                "id": 3287,
                "name": "ParameterList",
                "src": "1539:2:14"
              },
              {
                "attributes": {
                  "parameters": [
                    null
                  ]
                },
                "children": [],
                "id": 3288,
                "name": "ParameterList",
                "src": "1549:0:14"
              },
              {
                "children": [
                  {
                    "children": [
                      {
                        "attributes": {
                          "argumentTypes": null,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "operator": "=",
                          "type": "enum PoD.Status"
                        },
                        "children": [
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 2154,
                              "type": "enum PoD.Status",
                              "value": "status"
                            },
                            "id": 3289,
                            "name": "Identifier",
                            "src": "1555:6:14"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "lValueRequested": false,
                              "member_name": "PoDEnded",
                              "referencedDeclaration": null,
                              "type": "enum PoD.Status"
                            },
                            "children": [
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "overloadedDeclarations": [
                                    null
                                  ],
                                  "referencedDeclaration": 2152,
                                  "type": "type(enum PoD.Status)",
                                  "value": "Status"
                                },
                                "id": 3290,
                                "name": "Identifier",
                                "src": "1564:6:14"
                              }
                            ],
                            "id": 3291,
                            "name": "MemberAccess",
                            "src": "1564:15:14"
                          }
                        ],
                        "id": 3292,
                        "name": "Assignment",
                        "src": "1555:24:14"
                      }
                    ],
                    "id": 3293,
                    "name": "ExpressionStatement",
                    "src": "1555:24:14"
                  }
                ],
                "id": 3294,
                "name": "Block",
                "src": "1549:35:14"
              }
            ],
            "id": 3295,
            "name": "FunctionDefinition",
            "src": "1522:62:14"
          },
          {
            "attributes": {
              "constant": false,
              "implemented": true,
              "isConstructor": false,
              "modifiers": [
                null
              ],
              "name": "processDonate",
              "payable": false,
              "scope": 3336,
              "stateMutability": "nonpayable",
              "superFunction": 2374,
              "visibility": "internal"
            },
            "children": [
              {
                "children": [
                  {
                    "attributes": {
                      "constant": false,
                      "name": "_user",
                      "scope": 3311,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "address",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "address",
                          "type": "address"
                        },
                        "id": 3296,
                        "name": "ElementaryTypeName",
                        "src": "1611:7:14"
                      }
                    ],
                    "id": 3297,
                    "name": "VariableDeclaration",
                    "src": "1611:13:14"
                  }
                ],
                "id": 3298,
                "name": "ParameterList",
                "src": "1610:15:14"
              },
              {
                "children": [
                  {
                    "attributes": {
                      "constant": false,
                      "name": "",
                      "scope": 3311,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "bool",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "bool",
                          "type": "bool"
                        },
                        "id": 3299,
                        "name": "ElementaryTypeName",
                        "src": "1644:4:14"
                      }
                    ],
                    "id": 3300,
                    "name": "VariableDeclaration",
                    "src": "1644:4:14"
                  }
                ],
                "id": 3301,
                "name": "ParameterList",
                "src": "1643:6:14"
              },
              {
                "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": 3302,
                            "name": "Identifier",
                            "src": "1656:7:14"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "commonType": {
                                "typeIdentifier": "t_address",
                                "typeString": "address"
                              },
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "lValueRequested": false,
                              "operator": "==",
                              "type": "bool"
                            },
                            "children": [
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "overloadedDeclarations": [
                                    null
                                  ],
                                  "referencedDeclaration": 3297,
                                  "type": "address",
                                  "value": "_user"
                                },
                                "id": 3303,
                                "name": "Identifier",
                                "src": "1664:5:14"
                              },
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "hexvalue": "307830",
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": true,
                                  "lValueRequested": false,
                                  "subdenomination": null,
                                  "token": "number",
                                  "type": "int_const 0",
                                  "value": "0x0"
                                },
                                "id": 3304,
                                "name": "Literal",
                                "src": "1673:3:14"
                              }
                            ],
                            "id": 3305,
                            "name": "BinaryOperation",
                            "src": "1664:12:14"
                          }
                        ],
                        "id": 3306,
                        "name": "FunctionCall",
                        "src": "1656:21:14"
                      }
                    ],
                    "id": 3307,
                    "name": "ExpressionStatement",
                    "src": "1656:21:14"
                  },
                  {
                    "attributes": {
                      "functionReturnParameters": 3301
                    },
                    "children": [
                      {
                        "attributes": {
                          "argumentTypes": null,
                          "hexvalue": "74727565",
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "lValueRequested": false,
                          "subdenomination": null,
                          "token": "bool",
                          "type": "bool",
                          "value": "true"
                        },
                        "id": 3308,
                        "name": "Literal",
                        "src": "1690:4:14"
                      }
                    ],
                    "id": 3309,
                    "name": "Return",
                    "src": "1683:11:14"
                  }
                ],
                "id": 3310,
                "name": "Block",
                "src": "1650:49:14"
              }
            ],
            "id": 3311,
            "name": "FunctionDefinition",
            "src": "1588:111:14"
          },
          {
            "attributes": {
              "constant": true,
              "implemented": true,
              "isConstructor": false,
              "modifiers": [
                null
              ],
              "name": "getBalanceOfToken",
              "payable": false,
              "scope": 3336,
              "stateMutability": "view",
              "superFunction": 2381,
              "visibility": "public"
            },
            "children": [
              {
                "children": [
                  {
                    "attributes": {
                      "constant": false,
                      "name": "_user",
                      "scope": 3335,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "address",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "address",
                          "type": "address"
                        },
                        "id": 3312,
                        "name": "ElementaryTypeName",
                        "src": "1730:7:14"
                      }
                    ],
                    "id": 3313,
                    "name": "VariableDeclaration",
                    "src": "1730:13:14"
                  }
                ],
                "id": 3314,
                "name": "ParameterList",
                "src": "1729:15:14"
              },
              {
                "children": [
                  {
                    "attributes": {
                      "constant": false,
                      "name": "",
                      "scope": 3335,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "uint256",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "uint256",
                          "type": "uint256"
                        },
                        "id": 3315,
                        "name": "ElementaryTypeName",
                        "src": "1770:7:14"
                      }
                    ],
                    "id": 3316,
                    "name": "VariableDeclaration",
                    "src": "1770:7:14"
                  }
                ],
                "id": 3317,
                "name": "ParameterList",
                "src": "1769:9:14"
              },
              {
                "children": [
                  {
                    "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,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "lValueRequested": false,
                              "member_name": "timestamp",
                              "referencedDeclaration": null,
                              "type": "uint256"
                            },
                            "children": [
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "overloadedDeclarations": [
                                    null
                                  ],
                                  "referencedDeclaration": 3759,
                                  "type": "block",
                                  "value": "block"
                                },
                                "id": 3318,
                                "name": "Identifier",
                                "src": "1789:5:14"
                              }
                            ],
                            "id": 3319,
                            "name": "MemberAccess",
                            "src": "1789:15:14"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 3226,
                              "type": "uint256",
                              "value": "lockTime"
                            },
                            "id": 3320,
                            "name": "Identifier",
                            "src": "1808:8:14"
                          }
                        ],
                        "id": 3321,
                        "name": "BinaryOperation",
                        "src": "1789:27:14"
                      },
                      {
                        "attributes": {
                          "functionReturnParameters": 3317
                        },
                        "children": [
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "hexvalue": "30",
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "lValueRequested": false,
                              "subdenomination": null,
                              "token": "number",
                              "type": "int_const 0",
                              "value": "0"
                            },
                            "id": 3322,
                            "name": "Literal",
                            "src": "1832:1:14"
                          }
                        ],
                        "id": 3323,
                        "name": "Return",
                        "src": "1825:8:14"
                      }
                    ],
                    "id": 3324,
                    "name": "IfStatement",
                    "src": "1785:48:14"
                  },
                  {
                    "attributes": {
                      "functionReturnParameters": 3317
                    },
                    "children": [
                      {
                        "attributes": {
                          "argumentTypes": null,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "isStructConstructorCall": false,
                          "lValueRequested": false,
                          "names": [
                            null
                          ],
                          "type": "uint256",
                          "type_conversion": false
                        },
                        "children": [
                          {
                            "attributes": {
                              "argumentTypes": [
                                {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              ],
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "lValueRequested": false,
                              "member_name": "mul",
                              "referencedDeclaration": 3692,
                              "type": "function (uint256,uint256) pure returns (uint256)"
                            },
                            "children": [
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "isConstant": false,
                                  "isLValue": true,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "type": "uint256"
                                },
                                "children": [
                                  {
                                    "attributes": {
                                      "argumentTypes": null,
                                      "overloadedDeclarations": [
                                        null
                                      ],
                                      "referencedDeclaration": 2148,
                                      "type": "mapping(address => uint256)",
                                      "value": "weiBalances"
                                    },
                                    "id": 3325,
                                    "name": "Identifier",
                                    "src": "1847:11:14"
                                  },
                                  {
                                    "attributes": {
                                      "argumentTypes": null,
                                      "overloadedDeclarations": [
                                        null
                                      ],
                                      "referencedDeclaration": 3313,
                                      "type": "address",
                                      "value": "_user"
                                    },
                                    "id": 3326,
                                    "name": "Identifier",
                                    "src": "1859:5:14"
                                  }
                                ],
                                "id": 3327,
                                "name": "IndexAccess",
                                "src": "1847:18:14"
                              }
                            ],
                            "id": 3328,
                            "name": "MemberAccess",
                            "src": "1847:22:14"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "isConstant": false,
                              "isLValue": true,
                              "isPure": false,
                              "lValueRequested": false,
                              "type": "uint256"
                            },
                            "children": [
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "overloadedDeclarations": [
                                    null
                                  ],
                                  "referencedDeclaration": 3224,
                                  "type": "mapping(address => uint256)",
                                  "value": "tokenBalances"
                                },
                                "id": 3329,
                                "name": "Identifier",
                                "src": "1870:13:14"
                              },
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "overloadedDeclarations": [
                                    null
                                  ],
                                  "referencedDeclaration": 3313,
                                  "type": "address",
                                  "value": "_user"
                                },
                                "id": 3330,
                                "name": "Identifier",
                                "src": "1884:5:14"
                              }
                            ],
                            "id": 3331,
                            "name": "IndexAccess",
                            "src": "1870:20:14"
                          }
                        ],
                        "id": 3332,
                        "name": "FunctionCall",
                        "src": "1847:44:14"
                      }
                    ],
                    "id": 3333,
                    "name": "Return",
                    "src": "1840:51:14"
                  }
                ],
                "id": 3334,
                "name": "Block",
                "src": "1779:117:14"
              }
            ],
            "id": 3335,
            "name": "FunctionDefinition",
            "src": "1703:193:14"
          }
        ],
        "id": 3336,
        "name": "ContractDefinition",
        "src": "562:1336:14"
      }
    ],
    "id": 3337,
    "name": "SourceUnit",
    "src": "0:1899:14"
  },
  "compiler": {
    "name": "solc",
    "version": "0.4.18+commit.9cf6e910.Emscripten.clang"
  },
  "networks": {},
  "schemaVersion": "1.0.1",
  "updatedAt": "2018-03-07T05:10:52.561Z"
}