{
  "contractName": "AbsoluteVote",
  "abi": [
    {
      "constant": true,
      "inputs": [
        {
          "name": "",
          "type": "bytes32"
        }
      ],
      "name": "parameters",
      "outputs": [
        {
          "name": "reputationSystem",
          "type": "address"
        },
        {
          "name": "precReq",
          "type": "uint256"
        },
        {
          "name": "allowOwner",
          "type": "bool"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [
        {
          "name": "_reputationSystem",
          "type": "address"
        },
        {
          "name": "_precReq",
          "type": "uint256"
        },
        {
          "name": "_allowOwner",
          "type": "bool"
        }
      ],
      "name": "getParametersHash",
      "outputs": [
        {
          "name": "",
          "type": "bytes32"
        }
      ],
      "payable": false,
      "stateMutability": "pure",
      "type": "function"
    },
    {
      "constant": false,
      "inputs": [
        {
          "name": "_numOfChoices",
          "type": "uint256"
        },
        {
          "name": "_paramsHash",
          "type": "bytes32"
        },
        {
          "name": "_avatar",
          "type": "address"
        },
        {
          "name": "_executable",
          "type": "address"
        },
        {
          "name": "",
          "type": "address"
        }
      ],
      "name": "propose",
      "outputs": [
        {
          "name": "",
          "type": "bytes32"
        }
      ],
      "payable": false,
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [
        {
          "name": "_proposalId",
          "type": "bytes32"
        },
        {
          "name": "_voter",
          "type": "address"
        }
      ],
      "name": "voteInfo",
      "outputs": [
        {
          "name": "",
          "type": "uint256"
        },
        {
          "name": "",
          "type": "uint256"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [
        {
          "name": "",
          "type": "bytes32"
        }
      ],
      "name": "proposals",
      "outputs": [
        {
          "name": "owner",
          "type": "address"
        },
        {
          "name": "avatar",
          "type": "address"
        },
        {
          "name": "numOfChoices",
          "type": "uint256"
        },
        {
          "name": "executable",
          "type": "address"
        },
        {
          "name": "paramsHash",
          "type": "bytes32"
        },
        {
          "name": "totalVotes",
          "type": "uint256"
        },
        {
          "name": "open",
          "type": "bool"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": false,
      "inputs": [
        {
          "name": "_proposalId",
          "type": "bytes32"
        },
        {
          "name": "_vote",
          "type": "uint256"
        },
        {
          "name": "_voter",
          "type": "address"
        }
      ],
      "name": "ownerVote",
      "outputs": [
        {
          "name": "",
          "type": "bool"
        }
      ],
      "payable": false,
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "constant": false,
      "inputs": [
        {
          "name": "_proposalId",
          "type": "bytes32"
        }
      ],
      "name": "cancelProposal",
      "outputs": [
        {
          "name": "",
          "type": "bool"
        }
      ],
      "payable": false,
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [
        {
          "name": "_proposalId",
          "type": "bytes32"
        }
      ],
      "name": "votesStatus",
      "outputs": [
        {
          "name": "votes",
          "type": "uint256[11]"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": false,
      "inputs": [
        {
          "name": "_proposalId",
          "type": "bytes32"
        }
      ],
      "name": "cancelVote",
      "outputs": [],
      "payable": false,
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "constant": false,
      "inputs": [
        {
          "name": "_proposalId",
          "type": "bytes32"
        },
        {
          "name": "_vote",
          "type": "uint256"
        }
      ],
      "name": "vote",
      "outputs": [
        {
          "name": "",
          "type": "bool"
        }
      ],
      "payable": false,
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [
        {
          "name": "_proposalId",
          "type": "bytes32"
        }
      ],
      "name": "getNumberOfChoices",
      "outputs": [
        {
          "name": "",
          "type": "uint256"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": false,
      "inputs": [
        {
          "name": "_proposalId",
          "type": "bytes32"
        },
        {
          "name": "_vote",
          "type": "uint256"
        },
        {
          "name": "_rep",
          "type": "uint256"
        },
        {
          "name": "",
          "type": "uint256"
        }
      ],
      "name": "voteWithSpecifiedAmounts",
      "outputs": [
        {
          "name": "",
          "type": "bool"
        }
      ],
      "payable": false,
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [
        {
          "name": "_proposalId",
          "type": "bytes32"
        }
      ],
      "name": "isVotable",
      "outputs": [
        {
          "name": "",
          "type": "bool"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": false,
      "inputs": [
        {
          "name": "_proposalId",
          "type": "bytes32"
        }
      ],
      "name": "execute",
      "outputs": [
        {
          "name": "",
          "type": "bool"
        }
      ],
      "payable": false,
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "constant": false,
      "inputs": [
        {
          "name": "_reputationSystem",
          "type": "address"
        },
        {
          "name": "_precReq",
          "type": "uint256"
        },
        {
          "name": "_allowOwner",
          "type": "bool"
        }
      ],
      "name": "setParameters",
      "outputs": [
        {
          "name": "",
          "type": "bytes32"
        }
      ],
      "payable": false,
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "name": "_proposalId",
          "type": "bytes32"
        },
        {
          "indexed": false,
          "name": "_numOfChoices",
          "type": "uint256"
        },
        {
          "indexed": false,
          "name": "_proposer",
          "type": "address"
        },
        {
          "indexed": false,
          "name": "_paramsHash",
          "type": "bytes32"
        }
      ],
      "name": "NewProposal",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "name": "_proposalId",
          "type": "bytes32"
        }
      ],
      "name": "CancelProposal",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "name": "_proposalId",
          "type": "bytes32"
        },
        {
          "indexed": false,
          "name": "_decision",
          "type": "uint256"
        }
      ],
      "name": "ExecuteProposal",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "name": "_proposalId",
          "type": "bytes32"
        },
        {
          "indexed": true,
          "name": "_voter",
          "type": "address"
        },
        {
          "indexed": false,
          "name": "_vote",
          "type": "uint256"
        },
        {
          "indexed": false,
          "name": "_reputation",
          "type": "uint256"
        },
        {
          "indexed": false,
          "name": "_isOwnerVote",
          "type": "bool"
        }
      ],
      "name": "VoteProposal",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "name": "_proposalId",
          "type": "bytes32"
        },
        {
          "indexed": true,
          "name": "_voter",
          "type": "address"
        }
      ],
      "name": "CancelVoting",
      "type": "event"
    }
  ],
  "bytecode": "0x6060604052341561000f57600080fd5b6110dd8061001e6000396000f3006060604052600436106100c15763ffffffff60e060020a6000350416630250680481146100c657806302a1cdaf1461010c5780630905c9f914610145578063119ce91b1461017657806332ed5b12146101b0578063339e23d11461021057806337376ca8146102495780638fe23d1a1461025f5780639525c0cc146102ae5780639ef1204c146102c6578063a003651d146102df578063ac5d8745146102f5578063c083510614610314578063e751f2711461032a578063fed0d7df14610340575b600080fd5b34156100d157600080fd5b6100dc600435610367565b604051600160a060020a039093168352602083019190915215156040808301919091526060909101905180910390f35b341561011757600080fd5b610133600160a060020a03600435166024356044351515610395565b60405190815260200160405180910390f35b341561015057600080fd5b610133600435602435600160a060020a03604435811690606435811690608435166103ff565b341561018157600080fd5b610198600435600160a060020a03602435166105f7565b60405191825260208201526040908101905180910390f35b34156101bb57600080fd5b6101c6600435610656565b604051600160a060020a0397881681529587166020870152604080870195909552929095166060850152608084015260a083019390935291151560c082015260e001905180910390f35b341561021b57600080fd5b610235600435602435600160a060020a03604435166106a5565b604051901515815260200160405180910390f35b341561025457600080fd5b61023560043561073c565b341561026a57600080fd5b6102756004356107fc565b604051808261016080838360005b8381101561029b578082015183820152602001610283565b5050505090500191505060405180910390f35b34156102b957600080fd5b6102c4600435610849565b005b34156102d157600080fd5b610235600435602435610879565b34156102ea57600080fd5b6101336004356108b0565b341561030057600080fd5b6102356004356024356044356064356108c5565b341561031f57600080fd5b6102356004356108fd565b341561033557600080fd5b610235600435610915565b341561034b57600080fd5b610133600160a060020a03600435166024356044351515610b63565b600060208190529081526040902080546001820154600290920154600160a060020a03909116919060ff1683565b6000838383604051600160a060020a03939093166c01000000000000000000000000028352601483019190915215157f0100000000000000000000000000000000000000000000000000000000000000026034820152603501604051809103902090509392505050565b60008061040a611016565b600087815260208190526040902054600160a060020a0316151561042d57600080fd5b60008811801561043e5750600a8811155b151561044957600080fd5b30600254604051600160a060020a03929092166c01000000000000000000000000028252601482015260340160405190819003902060028054600190810190915560408084018b9052608084018a9052600160a060020a03808a16602080870191909152898216606087015233909116855260c085018390526000848152929052902090925081908151815473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0391909116178155602082015160018201805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a039290921691909117905560408201518160020155606082015160038201805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a03929092169190911790556080820151600482015560a0820151816005015560c0820151600891909101805460ff191691151591909117905550817f87f4bf271cb69a01d3bd1777b30c5b287cdd0871148e55607d9c57cc8b8bfc9e89338a604051928352600160a060020a0390911660208301526040808301919091526060909101905180910390a2509695505050505050565b600080610602611052565b6000858152600160209081526040808320600160a060020a03881684526007019091529081902090805190810160405281548152600190910154602082015290508051816020015192509250509250929050565b60016020819052600091825260409091208054918101546002820154600383015460048401546005850154600890950154600160a060020a039687169694851695939490921692909160ff1687565b600083815260016020526040812054849033600160a060020a039081169116146106ce57600080fd5b600085815260016020526040902060080154859060ff1615156106f057600080fd5b60008681526001602090815260408083206004015483529082905290206002015460ff1615156107235760009250610733565b6107308685876000610c18565b92505b50509392505050565b600081815260016020526040812054829033600160a060020a0390811691161461076557600080fd5b600083815260016020526040902060080154839060ff16151561078757600080fd5b60008481526001602090815260408083206004015483529082905290206002015460ff1615156107ba57600092506107f5565b6107c384610e47565b837fb1268f2534fc554f8ff22853272822d570aa84a7dfbc7e581b1a766ae8c3866160405160405180910390a2600192505b5050919050565b610804611069565b6000828152600160205260408120905b600282015481116107f55760008181526006830160205260409020548382600b811061083c57fe5b6020020152600101610814565b600081815260016020526040902060080154819060ff16151561086b57600080fd5b6108758233610ee2565b5050565b600082815260016020526040812060080154839060ff16151561089b57600080fd5b6108a88433856000610c18565b949350505050565b60009081526001602052604090206002015490565b600084815260016020526040812060080154859060ff1615156108e757600080fd5b6108f386338787610c18565b9695505050505050565b60009081526001602052604090206008015460ff1690565b6000806000806000610925611016565b600087815260016020526040902060080154879060ff16151561094757600080fd5b6000888152600160209081526040808320600481015484529183905280832054919850600160a060020a03909116916318160ddd9151602001526040518163ffffffff1660e060020a028152600401602060405180830381600087803b15156109af57600080fd5b6102c65a03f115156109c057600080fd5b505050604051805160048801546000908152602081905260408120600101549197509095509350505b60028601548311610b53576000838152600687016020526040902054606485870204901115610b48578560e060405190810160409081528254600160a060020a039081168352600184015481166020840152600284015491830191909152600383015416606082015260048201546080820152600582015460a082015260089091015460ff16151560c08201529150610a8188610e47565b877fc65afc54dab4d142869ad160726aafd56beeeb9eab55c318fa56f923b6ea7d438460405190815260200160405180910390a28160600151600160a060020a031663310ce4e28984602001518660006040516020015260405160e060020a63ffffffff86160281526004810193909352600160a060020a0390911660248301526044820152606401602060405180830381600087803b1515610b2357600080fd5b6102c65a03f11515610b3457600080fd5b505050604051805190505060019650610b58565b6001909201916109e9565b600096505b505050505050919050565b60008060648411158015610b775750600084115b1515610b8257600080fd5b610b8d858585610395565b905060606040519081016040908152600160a060020a0387168252602080830187905285151582840152600084815290819052208151815473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0391909116178155602082015181600101556040820151600291909101805460ff191691151591909117905550949350505050565b600080610c23611091565b600087815260016020908152604080832060048101548452918390528083209194508291906060905190810160409081528254600160a060020a031682526001830154602083015260029283015460ff1615159082015290850154909350871115610c8d57600080fd5b8251600160a060020a031663db89c0448960006040516020015260405160e060020a63ffffffff8416028152600160a060020a039091166004820152602401602060405180830381600087803b1515610ce557600080fd5b6102c65a03f11515610cf657600080fd5b505050604051805192505085821015610d0e57600080fd5b5084801515610d1a5750805b600160a060020a038816600090815260078501602052604090206001015415610d4757610d478989610ee2565b6000878152600685016020526040902054610d6990829063ffffffff610fee16565b60008881526006860160205260409020556005840154610d9090829063ffffffff610fee16565b60058501556040805190810160409081528882526020808301849052600160a060020a038b166000908152600788019091522081518155602082015160019091015550600160a060020a03808916908a907f9a1619d3a490c77f134204d1a317b7b2ec6004068d1b66e2268ba377650d4605908a9086903316851415604051928352602083019190915215156040808301919091526060909101905180910390a3610e3a89610915565b9998505050505050505050565b6000818152600160205260408120905b60028201548111610e7b576000818152600683016020526040812055600101610e57565b505060009081526001602081905260408220805473ffffffffffffffffffffffffffffffffffffffff19908116825591810180548316905560028101839055600381018054909216909155600481018290556005810191909155600801805460ff19169055565b6000610eec611052565b6000848152600160209081526040808320600160a060020a038716845260078101909252918290209093509080519081016040528154815260019091015460208201908152909150610f5e9051600684016000845181526020019081526020016000205461100490919063ffffffff16565b6006830160008351815260200190815260200160002081905550610f91816020015160058401549063ffffffff61100416565b6005830155600160a060020a03831660008181526007840160205260408082208281556001019190915585907fd2dd76b842caa4d7687cd6ab9a28115e2c9a0dda58fab465489dc6876471bb2f905160405180910390a350505050565b600082820183811015610ffd57fe5b9392505050565b60008282111561101057fe5b50900390565b60e06040519081016040908152600080835260208301819052908201819052606082018190526080820181905260a0820181905260c082015290565b604080519081016040526000808252602082015290565b610160604051908101604052600b815b60008152602001906001900390816110795790505090565b6060604051908101604090815260008083526020830181905290820152905600a165627a7a72305820302ac7077c495ed4215382939ba08c3b591c5aeb7e5cba0bb7f9b6c97c8b7bcf0029",
  "deployedBytecode": "0x6060604052600436106100c15763ffffffff60e060020a6000350416630250680481146100c657806302a1cdaf1461010c5780630905c9f914610145578063119ce91b1461017657806332ed5b12146101b0578063339e23d11461021057806337376ca8146102495780638fe23d1a1461025f5780639525c0cc146102ae5780639ef1204c146102c6578063a003651d146102df578063ac5d8745146102f5578063c083510614610314578063e751f2711461032a578063fed0d7df14610340575b600080fd5b34156100d157600080fd5b6100dc600435610367565b604051600160a060020a039093168352602083019190915215156040808301919091526060909101905180910390f35b341561011757600080fd5b610133600160a060020a03600435166024356044351515610395565b60405190815260200160405180910390f35b341561015057600080fd5b610133600435602435600160a060020a03604435811690606435811690608435166103ff565b341561018157600080fd5b610198600435600160a060020a03602435166105f7565b60405191825260208201526040908101905180910390f35b34156101bb57600080fd5b6101c6600435610656565b604051600160a060020a0397881681529587166020870152604080870195909552929095166060850152608084015260a083019390935291151560c082015260e001905180910390f35b341561021b57600080fd5b610235600435602435600160a060020a03604435166106a5565b604051901515815260200160405180910390f35b341561025457600080fd5b61023560043561073c565b341561026a57600080fd5b6102756004356107fc565b604051808261016080838360005b8381101561029b578082015183820152602001610283565b5050505090500191505060405180910390f35b34156102b957600080fd5b6102c4600435610849565b005b34156102d157600080fd5b610235600435602435610879565b34156102ea57600080fd5b6101336004356108b0565b341561030057600080fd5b6102356004356024356044356064356108c5565b341561031f57600080fd5b6102356004356108fd565b341561033557600080fd5b610235600435610915565b341561034b57600080fd5b610133600160a060020a03600435166024356044351515610b63565b600060208190529081526040902080546001820154600290920154600160a060020a03909116919060ff1683565b6000838383604051600160a060020a03939093166c01000000000000000000000000028352601483019190915215157f0100000000000000000000000000000000000000000000000000000000000000026034820152603501604051809103902090509392505050565b60008061040a611016565b600087815260208190526040902054600160a060020a0316151561042d57600080fd5b60008811801561043e5750600a8811155b151561044957600080fd5b30600254604051600160a060020a03929092166c01000000000000000000000000028252601482015260340160405190819003902060028054600190810190915560408084018b9052608084018a9052600160a060020a03808a16602080870191909152898216606087015233909116855260c085018390526000848152929052902090925081908151815473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0391909116178155602082015160018201805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a039290921691909117905560408201518160020155606082015160038201805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a03929092169190911790556080820151600482015560a0820151816005015560c0820151600891909101805460ff191691151591909117905550817f87f4bf271cb69a01d3bd1777b30c5b287cdd0871148e55607d9c57cc8b8bfc9e89338a604051928352600160a060020a0390911660208301526040808301919091526060909101905180910390a2509695505050505050565b600080610602611052565b6000858152600160209081526040808320600160a060020a03881684526007019091529081902090805190810160405281548152600190910154602082015290508051816020015192509250509250929050565b60016020819052600091825260409091208054918101546002820154600383015460048401546005850154600890950154600160a060020a039687169694851695939490921692909160ff1687565b600083815260016020526040812054849033600160a060020a039081169116146106ce57600080fd5b600085815260016020526040902060080154859060ff1615156106f057600080fd5b60008681526001602090815260408083206004015483529082905290206002015460ff1615156107235760009250610733565b6107308685876000610c18565b92505b50509392505050565b600081815260016020526040812054829033600160a060020a0390811691161461076557600080fd5b600083815260016020526040902060080154839060ff16151561078757600080fd5b60008481526001602090815260408083206004015483529082905290206002015460ff1615156107ba57600092506107f5565b6107c384610e47565b837fb1268f2534fc554f8ff22853272822d570aa84a7dfbc7e581b1a766ae8c3866160405160405180910390a2600192505b5050919050565b610804611069565b6000828152600160205260408120905b600282015481116107f55760008181526006830160205260409020548382600b811061083c57fe5b6020020152600101610814565b600081815260016020526040902060080154819060ff16151561086b57600080fd5b6108758233610ee2565b5050565b600082815260016020526040812060080154839060ff16151561089b57600080fd5b6108a88433856000610c18565b949350505050565b60009081526001602052604090206002015490565b600084815260016020526040812060080154859060ff1615156108e757600080fd5b6108f386338787610c18565b9695505050505050565b60009081526001602052604090206008015460ff1690565b6000806000806000610925611016565b600087815260016020526040902060080154879060ff16151561094757600080fd5b6000888152600160209081526040808320600481015484529183905280832054919850600160a060020a03909116916318160ddd9151602001526040518163ffffffff1660e060020a028152600401602060405180830381600087803b15156109af57600080fd5b6102c65a03f115156109c057600080fd5b505050604051805160048801546000908152602081905260408120600101549197509095509350505b60028601548311610b53576000838152600687016020526040902054606485870204901115610b48578560e060405190810160409081528254600160a060020a039081168352600184015481166020840152600284015491830191909152600383015416606082015260048201546080820152600582015460a082015260089091015460ff16151560c08201529150610a8188610e47565b877fc65afc54dab4d142869ad160726aafd56beeeb9eab55c318fa56f923b6ea7d438460405190815260200160405180910390a28160600151600160a060020a031663310ce4e28984602001518660006040516020015260405160e060020a63ffffffff86160281526004810193909352600160a060020a0390911660248301526044820152606401602060405180830381600087803b1515610b2357600080fd5b6102c65a03f11515610b3457600080fd5b505050604051805190505060019650610b58565b6001909201916109e9565b600096505b505050505050919050565b60008060648411158015610b775750600084115b1515610b8257600080fd5b610b8d858585610395565b905060606040519081016040908152600160a060020a0387168252602080830187905285151582840152600084815290819052208151815473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0391909116178155602082015181600101556040820151600291909101805460ff191691151591909117905550949350505050565b600080610c23611091565b600087815260016020908152604080832060048101548452918390528083209194508291906060905190810160409081528254600160a060020a031682526001830154602083015260029283015460ff1615159082015290850154909350871115610c8d57600080fd5b8251600160a060020a031663db89c0448960006040516020015260405160e060020a63ffffffff8416028152600160a060020a039091166004820152602401602060405180830381600087803b1515610ce557600080fd5b6102c65a03f11515610cf657600080fd5b505050604051805192505085821015610d0e57600080fd5b5084801515610d1a5750805b600160a060020a038816600090815260078501602052604090206001015415610d4757610d478989610ee2565b6000878152600685016020526040902054610d6990829063ffffffff610fee16565b60008881526006860160205260409020556005840154610d9090829063ffffffff610fee16565b60058501556040805190810160409081528882526020808301849052600160a060020a038b166000908152600788019091522081518155602082015160019091015550600160a060020a03808916908a907f9a1619d3a490c77f134204d1a317b7b2ec6004068d1b66e2268ba377650d4605908a9086903316851415604051928352602083019190915215156040808301919091526060909101905180910390a3610e3a89610915565b9998505050505050505050565b6000818152600160205260408120905b60028201548111610e7b576000818152600683016020526040812055600101610e57565b505060009081526001602081905260408220805473ffffffffffffffffffffffffffffffffffffffff19908116825591810180548316905560028101839055600381018054909216909155600481018290556005810191909155600801805460ff19169055565b6000610eec611052565b6000848152600160209081526040808320600160a060020a038716845260078101909252918290209093509080519081016040528154815260019091015460208201908152909150610f5e9051600684016000845181526020019081526020016000205461100490919063ffffffff16565b6006830160008351815260200190815260200160002081905550610f91816020015160058401549063ffffffff61100416565b6005830155600160a060020a03831660008181526007840160205260408082208281556001019190915585907fd2dd76b842caa4d7687cd6ab9a28115e2c9a0dda58fab465489dc6876471bb2f905160405180910390a350505050565b600082820183811015610ffd57fe5b9392505050565b60008282111561101057fe5b50900390565b60e06040519081016040908152600080835260208301819052908201819052606082018190526080820181905260a0820181905260c082015290565b604080519081016040526000808252602082015290565b610160604051908101604052600b815b60008152602001906001900390816110795790505090565b6060604051908101604090815260008083526020830181905290820152905600a165627a7a72305820302ac7077c495ed4215382939ba08c3b591c5aeb7e5cba0bb7f9b6c97c8b7bcf0029",
  "sourceMap": "100:11750:1:-;;;;;;;;;;;;;;;;;",
  "deployedSourceMap": "100:11750:1:-;;;;;;;;;-1:-1:-1;;;100:11750:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1503:46;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1503:46:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2879:194;;;;;;;;;;-1:-1:-1;;;;;2879:194:1;;;;;;;;;;;;;;;;;;;;;;;;;;3613:902;;;;;;;;;;;;;;-1:-1:-1;;;;;3613:902:1;;;;;;;;;;;;;;;8385:213;;;;;;;;;;;;-1:-1:-1;;;;;8385:213:1;;;;;;;;;;;;;;;;;;;;;;;;;;1595:43;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1595:43:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5798:319;;;;;;;;;;;;;;-1:-1:-1;;;;;5798:319:1;;;;;;;;;;;;;;;;;;;;;;4677:330;;;;;;;;;;;;;;8840:271;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:2;8:100;;;99:1;94:3;90;84:5;71:3;;;64:6;52:2;45:3;8:100;;;12:14;3:109;;;;;;;;;;;;;;;;6520:129:1;;;;;;;;;;;;;;;;5262:160;;;;;;;;;;;;;;;;7907:138;;;;;;;;;;;;;;6123:194;;;;;;;;;;;;;;;;;;;;9273:122;;;;;;;;;;;;;;6901:806;;;;;;;;;;;;;;2321:476;;;;;;;;;;-1:-1:-1;;;;;2321:476:1;;;;;;;;;;;1503:46;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1503:46:1;;;;;;;;:::o;2879:194::-;2989:7;3025:17;3044:8;3054:11;3015:51;;-1:-1:-1;;;;;3015:51:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3008:58;;2879:194;;;;;:::o;3613:902::-;3744:7;3997:18;4107:24;;:::i;:::-;3876:1;3824:23;;;;;;;;;;:40;-1:-1:-1;;;;;3824:40:1;:54;;3816:63;;;;;;3913:1;3897:13;:17;:56;;;;;1743:2;3918:13;:35;;3897:56;3889:65;;;;;;;;4028:4;4034:12;;4018:29;;-1:-1:-1;;;;;4018:29:1;;;;;;;;;;;;;;;;;;;;;;4057:12;:14;;;;;;;;;4141:21;;;;:37;;;4188:19;;;:33;;;-1:-1:-1;;;;;4231:25:1;;;:15;;;;:25;;;;4266:33;;;-1:-1:-1;4266:19:1;;:33;4326:10;4309:27;;;;;4346:13;;;:20;;;4057:12;4376:21;;;;;;;;4018:29;;-1:-1:-1;4141:8:1;;;4376:32;;;-1:-1:-1;;4376:32:1;-1:-1:-1;;;;;4376:32:1;;;;;;;;;;;;;;;;-1:-1:-1;;4376:32:1;-1:-1:-1;;;;;4376:32:1;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;4376:32:1;-1:-1:-1;;;;;4376:32:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;4376:32:1;;;;;;;;;;-1:-1:-1;4430:10:1;4418:63;4442:13;4457:10;4469:11;4418:63;;;;;-1:-1:-1;;;;;4418:63:1;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;4498:10:1;3613:902;-1:-1:-1;;;;;;3613:902:1:o;8385:213::-;8464:4;8470;8486:18;;:::i;:::-;8507:22;;;;:9;:22;;;;;;;;-1:-1:-1;;;;;8507:37:1;;;;:29;;:37;;;;;;;;:22;8486:58;;;;;;;;;;;;;;;;;;;;-1:-1:-1;8486:58:1;8562:10;8574:5;:16;;;8554:37;;;;8385:213;;;;;;:::o;1595:43::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1595:43:1;;;;;;;;;;;;;;;;;;;:::o;5798:319::-;5933:4;1977:22;;;:9;:22;;;;;:28;5891:11;;1963:10;-1:-1:-1;;;;;1963:42:1;;;1977:28;;1963:42;1955:51;;;;;;2171:22;;;;:9;:22;;;;;:27;;;5912:11;;2171:27;;2163:36;;;;;;;;5955:10;5966:22;;;:9;:22;;;;;;;;:33;;;5955:45;;;;;;;;:56;;;;;5953:58;5949:101;;;6034:5;6027:12;;;;5949:101;6067:43;6080:11;6093:6;6101:5;6108:1;6067:12;:43::i;:::-;6059:51;;2209:1;2016;5798:319;;;;;;:::o;4677:330::-;4789:4;1977:22;;;:9;:22;;;;;:28;4747:11;;1963:10;-1:-1:-1;;;;;1963:42:1;;;1977:28;;1963:42;1955:51;;;;;;2171:22;;;;:9;:22;;;;;:27;;;4768:11;;2171:27;;2163:36;;;;;;;;4811:10;4822:22;;;:9;:22;;;;;;;;:33;;;4811:45;;;;;;;;:56;;;;;4809:58;4805:101;;;4890:5;4883:12;;;;4805:101;4915:27;4930:11;4915:14;:27::i;:::-;4967:11;4952:27;;;;;;;;;;4996:4;4989:11;;2209:1;2016;4677:330;;;;:::o;8840:271::-;8906:14;;:::i;:::-;8932:25;8960:22;;;:9;:22;;;;;;8992:113;9018:21;;;;9011:28;;8992:113;;9075:19;;;;:14;;;:19;;;;;;9062:5;9090:3;9062:10;;;;;;;;;;:32;9041:5;;8992:113;;6520:129;2171:22;;;;:9;:22;;;;;:27;;;6576:11;;2171:27;;2163:36;;;;;;;;6599:43;6618:11;6631:10;6599:18;:43::i;:::-;6520:129;;:::o;5262:160::-;5345:4;2171:22;;;:9;:22;;;;;:27;;;5324:11;;2171:27;;2163:36;;;;;;;;5368:47;5381:11;5394:10;5406:5;5413:1;5368:12;:47::i;:::-;5361:54;5262:160;-1:-1:-1;;;;5262:160:1:o;7907:138::-;7980:4;8003:22;;;:9;:22;;;;;:35;;;;7907:138::o;6123:194::-;6240:4;2171:22;;;:9;:22;;;;;:27;;;6219:11;;2171:27;;2163:36;;;;;;;;6263:47;6276:11;6288:10;6299:5;6305:4;6263:12;:47::i;:::-;6256:54;6123:194;-1:-1:-1;;;;;;6123:194:1:o;9273:122::-;9337:4;9361:22;;;:9;:22;;;;;:27;;;;;;9273:122::o;6901:806::-;6975:4;6991:25;7051:20;7146:12;7260:8;7398:27;;:::i;:::-;2171:22;;;;:9;:22;;;;;:27;;;6954:11;;2171:27;;2163:36;;;;;;;;7019:22;;;;:9;:22;;;;;;;;7085:19;;;;7074:31;;;;;;;;;:48;7019:22;;-1:-1:-1;;;;;;7074:48:1;;;;:60;;:62;;;;;;;;;-1:-1:-1;;;7074:62:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7172:19;;;;7161:10;:31;;;;;;;;;;:39;;;7074:62;;-1:-1:-1;7161:39:1;;-1:-1:-1;7161:10:1;-1:-1:-1;;7255:424:1;7281:21;;;;7274:28;;7255:424;;7329:19;;;;:14;;;:19;;;;;;7375:3;7351:23;;;:27;7329:49;;7325:344;;;7428:8;7398:38;;;;;;;;;;;;-1:-1:-1;;;;;7398:38:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;7454:27:1;7469:11;7454:14;:27::i;:::-;7515:11;7499:33;7528:3;7499:33;;;;;;;;;;;;;;7551:11;:22;;;-1:-1:-1;;;;;7550:32:1;;7583:11;7596;:18;;;7620:3;7550:75;;;;;;;;-1:-1:-1;;;7550:75:1;;;;;;;;;;;;;-1:-1:-1;;;;;7550:75:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7650:4;7643:11;;;;7325:344;7304:5;;;;;7255:424;;;7695:5;7688:12;;2209:1;6901:806;;;;;;;;;:::o;2321:476::-;2422:7;2491:24;2461:3;2449:8;:15;;:31;;;;;2479:1;2468:8;:12;2449:31;2441:40;;;;;;;;2518:59;2536:17;2555:8;2565:11;2518:17;:59::i;:::-;2491:86;;2618:139;;;;;;;;;;-1:-1:-1;;;;;2618:139:1;;;;;;;;;;;;;;;;;;-1:-1:-1;2587:28:1;;;;;;;;2618:139;2587:170;;;-1:-1:-1;;2587:170:1;-1:-1:-1;;;;;2587:170:1;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;2587:170:1;;;;;;;;;;-1:-1:-1;2774:16:1;2321:476;-1:-1:-1;;;;2321:476:1:o;10641:1207::-;10739:4;10755:25;10815:24;;:::i;:::-;11007:15;10783:22;;;:9;:22;;;;;;;;10853:19;;;;10842:31;;;;;;;;;10783:22;;-1:-1:-1;11007:15:1;;10842:31;10815:58;;;;;;;;;;;;-1:-1:-1;;;;;10815:58:1;;;;;;;;;;;;;;;;;;;;;;;;10929:21;;;;10815:58;;-1:-1:-1;10920:30:1;;;10912:39;;;;;;11025:6;:23;-1:-1:-1;;;;;11025:36:1;;11062:6;11025:44;;;;;;;;-1:-1:-1;;;11025:44:1;;;;;;-1:-1:-1;;;;;11025:44:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;11087:18:1;;;;11079:27;;;;;;-1:-1:-1;11127:4:1;11145:8;;11141:55;;;-1:-1:-1;11175:10:1;11141:55;-1:-1:-1;;;;;11276:23:1;;;;;;:15;;;:23;;;;;:34;;;:39;11272:109;;11331:39;11350:11;11363:6;11331:18;:39::i;:::-;11452:21;;;;:14;;;:21;;;;;;11444:30;;:3;;:30;:7;:30;:::i;:::-;11420:21;;;;:14;;;:21;;;;;:54;11514:19;;;;11506:28;;:3;;:28;:7;:28;:::i;:::-;11484:19;;;:50;11570:71;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;11544:23:1;;-1:-1:-1;11544:23:1;;;:15;;;:23;;;;11570:71;11544:97;;;;;;;;;;;;-1:-1:-1;;;;;;11669:76:1;;;;11682:11;;11669:76;;11703:5;;11710:10;;11733;11723:20;;;;11669:76;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11821:20;11829:11;11821:7;:20::i;:::-;11814:27;10641:1207;-1:-1:-1;;;;;;;;;10641:1207:1:o;9849:275::-;9912:25;9940:22;;;:9;:22;;;;;;9972:107;9998:21;;;;9991:28;;9972:107;;10049:19;;;;:14;;;:19;;;;;10042:26;10021:5;;9972:107;;;-1:-1:-1;;10095:22:1;;;;:9;:22;;;;;;;10088:29;;-1:-1:-1;;10088:29:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;10088:29:1;;;9849:275::o;9401:442::-;9485:25;9545:18;;:::i;:::-;9513:22;;;;:9;:22;;;;;;;;-1:-1:-1;;;;;9566:23:1;;;;:15;;;:23;;;;;;;9513:22;;-1:-1:-1;9566:23:1;9513:22;9545:44;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;9628:50:1;;9661:16;9629:14;;;:26;9644:5;:10;9629:26;;;;;;;;;;;;9628:32;;:50;;;;:::i;:::-;9599:14;;;:26;9614:5;:10;9599:26;;;;;;;;;;;:79;;;;9710:43;9736:5;:16;;;9711:19;;;;;9710:43;:25;:43;:::i;:::-;9688:19;;;:65;-1:-1:-1;;;;;9770:23:1;;;;;;:15;;;:23;;;;;;9763:30;;;;;;;;;9816:11;;9803:33;;;;;;;;;;9401:442;;;;:::o;698:129:33:-;756:7;783:5;;;801:6;;;;794:14;;;;821:1;698:129;-1:-1:-1;;;698:129:33:o;584:110::-;642:7;664:6;;;;657:14;;;;-1:-1:-1;684:5:33;;;584:110::o;100:11750:1:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;:::o",
  "source": "pragma solidity ^0.4.18;\n\nimport \"../controller/Reputation.sol\";\nimport \"./IntVoteInterface.sol\";\n\n\ncontract AbsoluteVote is IntVoteInterface {\n    using SafeMath for uint;\n\n\n    struct Parameters {\n        Reputation reputationSystem; // the reputation system that is being used\n        uint precReq; // how many percentages required for the proposal to be passed\n        bool allowOwner; // does this proposal has an owner who has owner rights?\n    }\n\n    struct Voter {\n        uint vote; // 0 - 'abstain'\n        uint reputation; // amount of voter's reputation\n    }\n\n    struct Proposal {\n        address owner; // the proposal's owner\n        address avatar; // the avatar of the organization that owns the proposal\n        uint numOfChoices;\n        ExecutableInterface executable; // will be executed if the proposal will pass\n        bytes32 paramsHash; // the hash of the parameters of the proposal\n        uint totalVotes;\n        mapping(uint=>uint) votes;\n        mapping(address=>Voter) voters;\n        bool open; // voting open flag\n    }\n\n    event NewProposal(bytes32 indexed _proposalId, uint _numOfChoices, address _proposer, bytes32 _paramsHash);\n    event CancelProposal(bytes32 indexed _proposalId);\n    event ExecuteProposal(bytes32 indexed _proposalId, uint _decision);\n    event VoteProposal(bytes32 indexed _proposalId, address indexed _voter, uint _vote, uint _reputation, bool _isOwnerVote);\n    event CancelVoting(bytes32 indexed _proposalId, address indexed _voter);\n\n    mapping(bytes32=>Parameters) public parameters;  // A mapping from hashes to parameters\n    mapping(bytes32=>Proposal) public proposals; // Mapping from the ID of the proposal to the proposal itself.\n\n    uint constant MAX_NUM_OF_CHOICES = 10;\n    uint proposalsCnt; // Total amount of proposals\n\n  /**\n   * @dev Check that there is owner for the proposal and he sent the transaction\n   */\n    modifier onlyProposalOwner(bytes32 _proposalId) {\n        require(msg.sender == proposals[_proposalId].owner);\n        _;\n    }\n\n  /**\n   * @dev Check that the proposal is votable (open and not executed yet)\n   */\n    modifier votable(bytes32 _proposalId) {\n        require(proposals[_proposalId].open);\n        _;\n    }\n\n    /**\n     * @dev hash the parameters, save them if necessary, and return the hash value\n    */\n    function setParameters(Reputation _reputationSystem, uint _precReq, bool _allowOwner) public returns(bytes32) {\n        require(_precReq <= 100 && _precReq > 0);\n        bytes32 hashedParameters = getParametersHash(_reputationSystem, _precReq, _allowOwner);\n        parameters[hashedParameters] = Parameters({\n            reputationSystem: _reputationSystem,\n            precReq: _precReq,\n            allowOwner: _allowOwner\n        });\n        return hashedParameters;\n    }\n\n  /**\n   * @dev hashParameters returns a hash of the given parameters\n   */\n    function getParametersHash(Reputation _reputationSystem, uint _precReq, bool _allowOwner) public pure returns(bytes32) {\n        return keccak256(_reputationSystem, _precReq, _allowOwner);\n    }\n\n    /**\n     * @dev register a new proposal with the given parameters. Every proposal has a unique ID which is being\n     * generated by calculating keccak256 of a incremented counter.\n     * @param _numOfChoices number of voting choices\n     * @param _paramsHash defined the parameters of the voting machine used for this proposal\n     * @param _avatar an address to be sent as the payload to the _executable contract.\n     * @param _executable This contract will be executed when vote is over.\n     * @return proposal's id.\n     */\n    function propose(uint _numOfChoices, bytes32 _paramsHash, address _avatar, ExecutableInterface _executable,address) public returns(bytes32) {\n        // Check valid params and number of choices:\n        require(parameters[_paramsHash].reputationSystem != address(0));\n        require(_numOfChoices > 0 && _numOfChoices <= MAX_NUM_OF_CHOICES);\n        // Generate a unique ID:\n        bytes32 proposalId = keccak256(this, proposalsCnt);\n        proposalsCnt++;\n        // Open proposal:\n        Proposal memory proposal;\n        proposal.numOfChoices = _numOfChoices;\n        proposal.paramsHash = _paramsHash;\n        proposal.avatar = _avatar;\n        proposal.executable = _executable;\n        proposal.owner = msg.sender;\n        proposal.open = true;\n        proposals[proposalId] = proposal;\n        NewProposal(proposalId, _numOfChoices, msg.sender, _paramsHash);\n        return proposalId;\n    }\n\n  /**\n   * @dev Cancel a proposal, only the owner can call this function and only if allowOwner flag is true.\n   * @param _proposalId the proposal ID\n   */\n    function cancelProposal(bytes32 _proposalId) public onlyProposalOwner(_proposalId) votable(_proposalId) returns(bool) {\n        if (! parameters[proposals[_proposalId].paramsHash].allowOwner) {\n            return false;\n        }\n        deleteProposal(_proposalId);\n        CancelProposal(_proposalId);\n        return true;\n    }\n\n  /**\n   * @dev voting function\n   * @param _proposalId id of the proposal\n   * @param _vote a value between 0 to and the proposal number of choices.\n   * @return bool true - the proposal has been executed\n   *              false - otherwise.\n   */\n    function vote(bytes32 _proposalId, uint _vote) public votable(_proposalId) returns(bool) {\n        return internalVote(_proposalId, msg.sender, _vote, 0);\n    }\n\n  /**\n   * @dev voting function with owner functionality (can vote on behalf of someone else)\n   * @param _proposalId id of the proposal\n   * @param _vote a value between 0 to and the proposal number of choices.\n   * @param _voter will be voted with that voter's address\n   * @return bool true - the proposal has been executed\n   *              false - otherwise.\n   */\n    function ownerVote(bytes32 _proposalId, uint _vote, address _voter) public onlyProposalOwner(_proposalId) votable(_proposalId) returns(bool) {\n        if (! parameters[proposals[_proposalId].paramsHash].allowOwner) {\n            return false;\n        }\n        return  internalVote(_proposalId, _voter, _vote, 0);\n    }\n\n    function voteWithSpecifiedAmounts(bytes32 _proposalId,uint _vote,uint _rep,uint) public votable(_proposalId) returns(bool) {\n        return internalVote(_proposalId,msg.sender,_vote,_rep);\n    }\n\n  /**\n   * @dev Cancel the vote of the msg.sender: subtract the reputation amount from the votes\n   * and delete the voter from the proposal struct\n   * @param _proposalId id of the proposal\n   */\n    function cancelVote(bytes32 _proposalId) public votable(_proposalId) {\n        cancelVoteInternal(_proposalId, msg.sender);\n    }\n\n  /**\n    * @dev execute check if the proposal has been decided, and if so, execute the proposal\n    * @param _proposalId the id of the proposal\n    * @return bool true - the proposal has been executed\n    *              false - otherwise.\n   */\n    function execute(bytes32 _proposalId) public votable(_proposalId) returns(bool) {\n        Proposal storage proposal = proposals[_proposalId];\n        uint totalReputation = parameters[proposal.paramsHash].reputationSystem.totalSupply();\n        uint precReq = parameters[proposal.paramsHash].precReq;\n        // Check if someone crossed the bar:\n        for (uint cnt = 0; cnt <= proposal.numOfChoices; cnt++) {\n            if (proposal.votes[cnt] > totalReputation*precReq/100) {\n                Proposal memory tmpProposal = proposal;\n                deleteProposal(_proposalId);\n                ExecuteProposal(_proposalId, cnt);\n                (tmpProposal.executable).execute(_proposalId, tmpProposal.avatar, int(cnt));\n                return true;\n            }\n        }\n        return false;\n    }\n\n  /**\n   * @dev getNumberOfChoices returns the number of choices possible in this proposal\n   * @param _proposalId the ID of the proposal\n   * @return uint that contains number of choices\n   */\n    function getNumberOfChoices(bytes32 _proposalId) public constant returns(uint) {\n        return proposals[_proposalId].numOfChoices;\n    }\n\n  /**\n   * @dev voteInfo returns the vote and the amount of reputation of the user committed to this proposal\n   * @param _proposalId the ID of the proposal\n   * @param _voter the address of the voter\n   * @return uint vote - the voters vote\n   *        uint reputation - amount of reputation committed by _voter to _proposalId\n   */\n    function voteInfo(bytes32 _proposalId, address _voter) public constant returns(uint, uint) {\n        Voter memory voter = proposals[_proposalId].voters[_voter];\n        return (voter.vote, voter.reputation);\n    }\n\n    /**\n     * @dev votesStatus returns the number of yes, no, and abstain and if the proposal is ended of a given proposal id\n     * @param _proposalId the ID of the proposal\n     * @return votes array of votes for each choice\n     */\n    function votesStatus(bytes32 _proposalId) public constant returns(uint[11] votes) {\n        Proposal storage proposal = proposals[_proposalId];\n        for (uint cnt = 0; cnt <= proposal.numOfChoices; cnt++) {\n            votes[cnt] = proposal.votes[cnt];\n        }\n    }\n\n    /**\n      * @dev isVotable check if the proposal is votable\n      * @param _proposalId the ID of the proposal\n      * @return bool true or false\n    */\n    function isVotable(bytes32 _proposalId) public constant returns(bool) {\n        return  proposals[_proposalId].open;\n    }\n\n    function cancelVoteInternal(bytes32 _proposalId, address _voter) internal {\n        Proposal storage proposal = proposals[_proposalId];\n        Voter memory voter = proposal.voters[_voter];\n        proposal.votes[voter.vote] = (proposal.votes[voter.vote]).sub(voter.reputation);\n        proposal.totalVotes = (proposal.totalVotes).sub(voter.reputation);\n        delete proposal.voters[_voter];\n        CancelVoting(_proposalId, _voter);\n    }\n\n    function deleteProposal(bytes32 _proposalId) private {\n        Proposal storage proposal = proposals[_proposalId];\n        for (uint cnt = 0; cnt <= proposal.numOfChoices; cnt++) {\n            delete proposal.votes[cnt];\n        }\n        delete proposals[_proposalId];\n    }\n\n    /**\n     * @dev Vote for a proposal, if the voter already voted, cancel the last vote and set a new one instead\n     * @param _proposalId id of the proposal\n     * @param _voter used in case the vote is cast for someone else\n     * @param _vote a value between 0 to and the proposal's number of choices.\n     * @return true in case of proposal execution otherwise false\n     * throws if proposal is not open or if it has been executed\n     * NB: executes the proposal if a decision has been reached\n     */\n    function internalVote(bytes32 _proposalId, address _voter, uint _vote, uint _rep) private returns(bool) {\n        Proposal storage proposal = proposals[_proposalId];\n        Parameters memory params = parameters[proposal.paramsHash];\n        // Check valid vote:\n        require(_vote <= proposal.numOfChoices);\n        // Check voter has enough reputation:\n        uint reputation = params.reputationSystem.reputationOf(_voter);\n        require(reputation >= _rep);\n        uint rep = _rep;\n        if (rep == 0) {\n            rep = reputation;\n        }\n        // If this voter has already voted, first cancel the vote:\n        if (proposal.voters[_voter].reputation != 0) {\n            cancelVoteInternal(_proposalId, _voter);\n        }\n        // The voting itself:\n        proposal.votes[_vote] = rep.add(proposal.votes[_vote]);\n        proposal.totalVotes = rep.add(proposal.totalVotes);\n        proposal.voters[_voter] = Voter({\n            reputation: rep,\n            vote: _vote\n        });\n        // Event:\n        VoteProposal(_proposalId, _voter, _vote, reputation, (_voter != msg.sender));\n        // execute the proposal if this vote was decisive:\n        return execute(_proposalId);\n    }\n}\n",
  "sourcePath": "/Users/oren/daostack/daostack2/daostack/contracts/VotingMachines/AbsoluteVote.sol",
  "ast": {
    "attributes": {
      "absolutePath": "/Users/oren/daostack/daostack2/daostack/contracts/VotingMachines/AbsoluteVote.sol",
      "exportedSymbols": {
        "AbsoluteVote": [
          883
        ]
      }
    },
    "children": [
      {
        "attributes": {
          "literals": [
            "solidity",
            "^",
            "0.4",
            ".18"
          ]
        },
        "id": 59,
        "name": "PragmaDirective",
        "src": "0:24:1"
      },
      {
        "attributes": {
          "SourceUnit": 5353,
          "absolutePath": "/Users/oren/daostack/daostack2/daostack/contracts/controller/Reputation.sol",
          "file": "../controller/Reputation.sol",
          "scope": 884,
          "symbolAliases": [
            null
          ],
          "unitAlias": ""
        },
        "id": 60,
        "name": "ImportDirective",
        "src": "26:38:1"
      },
      {
        "attributes": {
          "SourceUnit": 3460,
          "absolutePath": "/Users/oren/daostack/daostack2/daostack/contracts/VotingMachines/IntVoteInterface.sol",
          "file": "./IntVoteInterface.sol",
          "scope": 884,
          "symbolAliases": [
            null
          ],
          "unitAlias": ""
        },
        "id": 61,
        "name": "ImportDirective",
        "src": "65:32:1"
      },
      {
        "attributes": {
          "contractDependencies": [
            3459
          ],
          "contractKind": "contract",
          "documentation": null,
          "fullyImplemented": true,
          "linearizedBaseContracts": [
            883,
            3459
          ],
          "name": "AbsoluteVote",
          "scope": 884
        },
        "children": [
          {
            "attributes": {
              "arguments": [
                null
              ]
            },
            "children": [
              {
                "attributes": {
                  "contractScope": null,
                  "name": "IntVoteInterface",
                  "referencedDeclaration": 3459,
                  "type": "contract IntVoteInterface"
                },
                "id": 62,
                "name": "UserDefinedTypeName",
                "src": "125:16:1"
              }
            ],
            "id": 63,
            "name": "InheritanceSpecifier",
            "src": "125:16:1"
          },
          {
            "children": [
              {
                "attributes": {
                  "contractScope": null,
                  "name": "SafeMath",
                  "referencedDeclaration": 11365,
                  "type": "library SafeMath"
                },
                "id": 64,
                "name": "UserDefinedTypeName",
                "src": "154:8:1"
              },
              {
                "attributes": {
                  "name": "uint",
                  "type": "uint256"
                },
                "id": 65,
                "name": "ElementaryTypeName",
                "src": "167:4:1"
              }
            ],
            "id": 66,
            "name": "UsingForDirective",
            "src": "148:24:1"
          },
          {
            "attributes": {
              "canonicalName": "AbsoluteVote.Parameters",
              "name": "Parameters",
              "scope": 883,
              "visibility": "public"
            },
            "children": [
              {
                "attributes": {
                  "constant": false,
                  "name": "reputationSystem",
                  "scope": 73,
                  "stateVariable": false,
                  "storageLocation": "default",
                  "type": "contract Reputation",
                  "value": null,
                  "visibility": "internal"
                },
                "children": [
                  {
                    "attributes": {
                      "contractScope": null,
                      "name": "Reputation",
                      "referencedDeclaration": 5352,
                      "type": "contract Reputation"
                    },
                    "id": 67,
                    "name": "UserDefinedTypeName",
                    "src": "207:10:1"
                  }
                ],
                "id": 68,
                "name": "VariableDeclaration",
                "src": "207:27:1"
              },
              {
                "attributes": {
                  "constant": false,
                  "name": "precReq",
                  "scope": 73,
                  "stateVariable": false,
                  "storageLocation": "default",
                  "type": "uint256",
                  "value": null,
                  "visibility": "internal"
                },
                "children": [
                  {
                    "attributes": {
                      "name": "uint",
                      "type": "uint256"
                    },
                    "id": 69,
                    "name": "ElementaryTypeName",
                    "src": "288:4:1"
                  }
                ],
                "id": 70,
                "name": "VariableDeclaration",
                "src": "288:12:1"
              },
              {
                "attributes": {
                  "constant": false,
                  "name": "allowOwner",
                  "scope": 73,
                  "stateVariable": false,
                  "storageLocation": "default",
                  "type": "bool",
                  "value": null,
                  "visibility": "internal"
                },
                "children": [
                  {
                    "attributes": {
                      "name": "bool",
                      "type": "bool"
                    },
                    "id": 71,
                    "name": "ElementaryTypeName",
                    "src": "373:4:1"
                  }
                ],
                "id": 72,
                "name": "VariableDeclaration",
                "src": "373:15:1"
              }
            ],
            "id": 73,
            "name": "StructDefinition",
            "src": "179:273:1"
          },
          {
            "attributes": {
              "canonicalName": "AbsoluteVote.Voter",
              "name": "Voter",
              "scope": 883,
              "visibility": "public"
            },
            "children": [
              {
                "attributes": {
                  "constant": false,
                  "name": "vote",
                  "scope": 78,
                  "stateVariable": false,
                  "storageLocation": "default",
                  "type": "uint256",
                  "value": null,
                  "visibility": "internal"
                },
                "children": [
                  {
                    "attributes": {
                      "name": "uint",
                      "type": "uint256"
                    },
                    "id": 74,
                    "name": "ElementaryTypeName",
                    "src": "481:4:1"
                  }
                ],
                "id": 75,
                "name": "VariableDeclaration",
                "src": "481:9:1"
              },
              {
                "attributes": {
                  "constant": false,
                  "name": "reputation",
                  "scope": 78,
                  "stateVariable": false,
                  "storageLocation": "default",
                  "type": "uint256",
                  "value": null,
                  "visibility": "internal"
                },
                "children": [
                  {
                    "attributes": {
                      "name": "uint",
                      "type": "uint256"
                    },
                    "id": 76,
                    "name": "ElementaryTypeName",
                    "src": "517:4:1"
                  }
                ],
                "id": 77,
                "name": "VariableDeclaration",
                "src": "517:15:1"
              }
            ],
            "id": 78,
            "name": "StructDefinition",
            "src": "458:113:1"
          },
          {
            "attributes": {
              "canonicalName": "AbsoluteVote.Proposal",
              "name": "Proposal",
              "scope": 883,
              "visibility": "public"
            },
            "children": [
              {
                "attributes": {
                  "constant": false,
                  "name": "owner",
                  "scope": 101,
                  "stateVariable": false,
                  "storageLocation": "default",
                  "type": "address",
                  "value": null,
                  "visibility": "internal"
                },
                "children": [
                  {
                    "attributes": {
                      "name": "address",
                      "type": "address"
                    },
                    "id": 79,
                    "name": "ElementaryTypeName",
                    "src": "603:7:1"
                  }
                ],
                "id": 80,
                "name": "VariableDeclaration",
                "src": "603:13:1"
              },
              {
                "attributes": {
                  "constant": false,
                  "name": "avatar",
                  "scope": 101,
                  "stateVariable": false,
                  "storageLocation": "default",
                  "type": "address",
                  "value": null,
                  "visibility": "internal"
                },
                "children": [
                  {
                    "attributes": {
                      "name": "address",
                      "type": "address"
                    },
                    "id": 81,
                    "name": "ElementaryTypeName",
                    "src": "650:7:1"
                  }
                ],
                "id": 82,
                "name": "VariableDeclaration",
                "src": "650:14:1"
              },
              {
                "attributes": {
                  "constant": false,
                  "name": "numOfChoices",
                  "scope": 101,
                  "stateVariable": false,
                  "storageLocation": "default",
                  "type": "uint256",
                  "value": null,
                  "visibility": "internal"
                },
                "children": [
                  {
                    "attributes": {
                      "name": "uint",
                      "type": "uint256"
                    },
                    "id": 83,
                    "name": "ElementaryTypeName",
                    "src": "731:4:1"
                  }
                ],
                "id": 84,
                "name": "VariableDeclaration",
                "src": "731:17:1"
              },
              {
                "attributes": {
                  "constant": false,
                  "name": "executable",
                  "scope": 101,
                  "stateVariable": false,
                  "storageLocation": "default",
                  "type": "contract ExecutableInterface",
                  "value": null,
                  "visibility": "internal"
                },
                "children": [
                  {
                    "attributes": {
                      "contractScope": null,
                      "name": "ExecutableInterface",
                      "referencedDeclaration": 8021,
                      "type": "contract ExecutableInterface"
                    },
                    "id": 85,
                    "name": "UserDefinedTypeName",
                    "src": "758:19:1"
                  }
                ],
                "id": 86,
                "name": "VariableDeclaration",
                "src": "758:30:1"
              },
              {
                "attributes": {
                  "constant": false,
                  "name": "paramsHash",
                  "scope": 101,
                  "stateVariable": false,
                  "storageLocation": "default",
                  "type": "bytes32",
                  "value": null,
                  "visibility": "internal"
                },
                "children": [
                  {
                    "attributes": {
                      "name": "bytes32",
                      "type": "bytes32"
                    },
                    "id": 87,
                    "name": "ElementaryTypeName",
                    "src": "844:7:1"
                  }
                ],
                "id": 88,
                "name": "VariableDeclaration",
                "src": "844:18:1"
              },
              {
                "attributes": {
                  "constant": false,
                  "name": "totalVotes",
                  "scope": 101,
                  "stateVariable": false,
                  "storageLocation": "default",
                  "type": "uint256",
                  "value": null,
                  "visibility": "internal"
                },
                "children": [
                  {
                    "attributes": {
                      "name": "uint",
                      "type": "uint256"
                    },
                    "id": 89,
                    "name": "ElementaryTypeName",
                    "src": "918:4:1"
                  }
                ],
                "id": 90,
                "name": "VariableDeclaration",
                "src": "918:15:1"
              },
              {
                "attributes": {
                  "constant": false,
                  "name": "votes",
                  "scope": 101,
                  "stateVariable": false,
                  "storageLocation": "default",
                  "type": "mapping(uint256 => uint256)",
                  "value": null,
                  "visibility": "internal"
                },
                "children": [
                  {
                    "attributes": {
                      "type": "mapping(uint256 => uint256)"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "uint",
                          "type": "uint256"
                        },
                        "id": 91,
                        "name": "ElementaryTypeName",
                        "src": "951:4:1"
                      },
                      {
                        "attributes": {
                          "name": "uint",
                          "type": "uint256"
                        },
                        "id": 92,
                        "name": "ElementaryTypeName",
                        "src": "957:4:1"
                      }
                    ],
                    "id": 93,
                    "name": "Mapping",
                    "src": "943:19:1"
                  }
                ],
                "id": 94,
                "name": "VariableDeclaration",
                "src": "943:25:1"
              },
              {
                "attributes": {
                  "constant": false,
                  "name": "voters",
                  "scope": 101,
                  "stateVariable": false,
                  "storageLocation": "default",
                  "type": "mapping(address => struct AbsoluteVote.Voter storage ref)",
                  "value": null,
                  "visibility": "internal"
                },
                "children": [
                  {
                    "attributes": {
                      "type": "mapping(address => struct AbsoluteVote.Voter storage ref)"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "address",
                          "type": "address"
                        },
                        "id": 95,
                        "name": "ElementaryTypeName",
                        "src": "986:7:1"
                      },
                      {
                        "attributes": {
                          "contractScope": null,
                          "name": "Voter",
                          "referencedDeclaration": 78,
                          "type": "struct AbsoluteVote.Voter storage pointer"
                        },
                        "id": 96,
                        "name": "UserDefinedTypeName",
                        "src": "995:5:1"
                      }
                    ],
                    "id": 97,
                    "name": "Mapping",
                    "src": "978:23:1"
                  }
                ],
                "id": 98,
                "name": "VariableDeclaration",
                "src": "978:30:1"
              },
              {
                "attributes": {
                  "constant": false,
                  "name": "open",
                  "scope": 101,
                  "stateVariable": false,
                  "storageLocation": "default",
                  "type": "bool",
                  "value": null,
                  "visibility": "internal"
                },
                "children": [
                  {
                    "attributes": {
                      "name": "bool",
                      "type": "bool"
                    },
                    "id": 99,
                    "name": "ElementaryTypeName",
                    "src": "1018:4:1"
                  }
                ],
                "id": 100,
                "name": "VariableDeclaration",
                "src": "1018:9:1"
              }
            ],
            "id": 101,
            "name": "StructDefinition",
            "src": "577:477:1"
          },
          {
            "attributes": {
              "anonymous": false,
              "name": "NewProposal"
            },
            "children": [
              {
                "children": [
                  {
                    "attributes": {
                      "constant": false,
                      "indexed": true,
                      "name": "_proposalId",
                      "scope": 111,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "bytes32",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "bytes32",
                          "type": "bytes32"
                        },
                        "id": 102,
                        "name": "ElementaryTypeName",
                        "src": "1078:7:1"
                      }
                    ],
                    "id": 103,
                    "name": "VariableDeclaration",
                    "src": "1078:27:1"
                  },
                  {
                    "attributes": {
                      "constant": false,
                      "indexed": false,
                      "name": "_numOfChoices",
                      "scope": 111,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "uint256",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "uint",
                          "type": "uint256"
                        },
                        "id": 104,
                        "name": "ElementaryTypeName",
                        "src": "1107:4:1"
                      }
                    ],
                    "id": 105,
                    "name": "VariableDeclaration",
                    "src": "1107:18:1"
                  },
                  {
                    "attributes": {
                      "constant": false,
                      "indexed": false,
                      "name": "_proposer",
                      "scope": 111,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "address",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "address",
                          "type": "address"
                        },
                        "id": 106,
                        "name": "ElementaryTypeName",
                        "src": "1127:7:1"
                      }
                    ],
                    "id": 107,
                    "name": "VariableDeclaration",
                    "src": "1127:17:1"
                  },
                  {
                    "attributes": {
                      "constant": false,
                      "indexed": false,
                      "name": "_paramsHash",
                      "scope": 111,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "bytes32",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "bytes32",
                          "type": "bytes32"
                        },
                        "id": 108,
                        "name": "ElementaryTypeName",
                        "src": "1146:7:1"
                      }
                    ],
                    "id": 109,
                    "name": "VariableDeclaration",
                    "src": "1146:19:1"
                  }
                ],
                "id": 110,
                "name": "ParameterList",
                "src": "1077:89:1"
              }
            ],
            "id": 111,
            "name": "EventDefinition",
            "src": "1060:107:1"
          },
          {
            "attributes": {
              "anonymous": false,
              "name": "CancelProposal"
            },
            "children": [
              {
                "children": [
                  {
                    "attributes": {
                      "constant": false,
                      "indexed": true,
                      "name": "_proposalId",
                      "scope": 115,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "bytes32",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "bytes32",
                          "type": "bytes32"
                        },
                        "id": 112,
                        "name": "ElementaryTypeName",
                        "src": "1193:7:1"
                      }
                    ],
                    "id": 113,
                    "name": "VariableDeclaration",
                    "src": "1193:27:1"
                  }
                ],
                "id": 114,
                "name": "ParameterList",
                "src": "1192:29:1"
              }
            ],
            "id": 115,
            "name": "EventDefinition",
            "src": "1172:50:1"
          },
          {
            "attributes": {
              "anonymous": false,
              "name": "ExecuteProposal"
            },
            "children": [
              {
                "children": [
                  {
                    "attributes": {
                      "constant": false,
                      "indexed": true,
                      "name": "_proposalId",
                      "scope": 121,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "bytes32",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "bytes32",
                          "type": "bytes32"
                        },
                        "id": 116,
                        "name": "ElementaryTypeName",
                        "src": "1249:7:1"
                      }
                    ],
                    "id": 117,
                    "name": "VariableDeclaration",
                    "src": "1249:27:1"
                  },
                  {
                    "attributes": {
                      "constant": false,
                      "indexed": false,
                      "name": "_decision",
                      "scope": 121,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "uint256",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "uint",
                          "type": "uint256"
                        },
                        "id": 118,
                        "name": "ElementaryTypeName",
                        "src": "1278:4:1"
                      }
                    ],
                    "id": 119,
                    "name": "VariableDeclaration",
                    "src": "1278:14:1"
                  }
                ],
                "id": 120,
                "name": "ParameterList",
                "src": "1248:45:1"
              }
            ],
            "id": 121,
            "name": "EventDefinition",
            "src": "1227:67:1"
          },
          {
            "attributes": {
              "anonymous": false,
              "name": "VoteProposal"
            },
            "children": [
              {
                "children": [
                  {
                    "attributes": {
                      "constant": false,
                      "indexed": true,
                      "name": "_proposalId",
                      "scope": 133,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "bytes32",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "bytes32",
                          "type": "bytes32"
                        },
                        "id": 122,
                        "name": "ElementaryTypeName",
                        "src": "1318:7:1"
                      }
                    ],
                    "id": 123,
                    "name": "VariableDeclaration",
                    "src": "1318:27:1"
                  },
                  {
                    "attributes": {
                      "constant": false,
                      "indexed": true,
                      "name": "_voter",
                      "scope": 133,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "address",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "address",
                          "type": "address"
                        },
                        "id": 124,
                        "name": "ElementaryTypeName",
                        "src": "1347:7:1"
                      }
                    ],
                    "id": 125,
                    "name": "VariableDeclaration",
                    "src": "1347:22:1"
                  },
                  {
                    "attributes": {
                      "constant": false,
                      "indexed": false,
                      "name": "_vote",
                      "scope": 133,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "uint256",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "uint",
                          "type": "uint256"
                        },
                        "id": 126,
                        "name": "ElementaryTypeName",
                        "src": "1371:4:1"
                      }
                    ],
                    "id": 127,
                    "name": "VariableDeclaration",
                    "src": "1371:10:1"
                  },
                  {
                    "attributes": {
                      "constant": false,
                      "indexed": false,
                      "name": "_reputation",
                      "scope": 133,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "uint256",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "uint",
                          "type": "uint256"
                        },
                        "id": 128,
                        "name": "ElementaryTypeName",
                        "src": "1383:4:1"
                      }
                    ],
                    "id": 129,
                    "name": "VariableDeclaration",
                    "src": "1383:16:1"
                  },
                  {
                    "attributes": {
                      "constant": false,
                      "indexed": false,
                      "name": "_isOwnerVote",
                      "scope": 133,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "bool",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "bool",
                          "type": "bool"
                        },
                        "id": 130,
                        "name": "ElementaryTypeName",
                        "src": "1401:4:1"
                      }
                    ],
                    "id": 131,
                    "name": "VariableDeclaration",
                    "src": "1401:17:1"
                  }
                ],
                "id": 132,
                "name": "ParameterList",
                "src": "1317:102:1"
              }
            ],
            "id": 133,
            "name": "EventDefinition",
            "src": "1299:121:1"
          },
          {
            "attributes": {
              "anonymous": false,
              "name": "CancelVoting"
            },
            "children": [
              {
                "children": [
                  {
                    "attributes": {
                      "constant": false,
                      "indexed": true,
                      "name": "_proposalId",
                      "scope": 139,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "bytes32",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "bytes32",
                          "type": "bytes32"
                        },
                        "id": 134,
                        "name": "ElementaryTypeName",
                        "src": "1444:7:1"
                      }
                    ],
                    "id": 135,
                    "name": "VariableDeclaration",
                    "src": "1444:27:1"
                  },
                  {
                    "attributes": {
                      "constant": false,
                      "indexed": true,
                      "name": "_voter",
                      "scope": 139,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "address",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "address",
                          "type": "address"
                        },
                        "id": 136,
                        "name": "ElementaryTypeName",
                        "src": "1473:7:1"
                      }
                    ],
                    "id": 137,
                    "name": "VariableDeclaration",
                    "src": "1473:22:1"
                  }
                ],
                "id": 138,
                "name": "ParameterList",
                "src": "1443:53:1"
              }
            ],
            "id": 139,
            "name": "EventDefinition",
            "src": "1425:72:1"
          },
          {
            "attributes": {
              "constant": false,
              "name": "parameters",
              "scope": 883,
              "stateVariable": true,
              "storageLocation": "default",
              "type": "mapping(bytes32 => struct AbsoluteVote.Parameters storage ref)",
              "value": null,
              "visibility": "public"
            },
            "children": [
              {
                "attributes": {
                  "type": "mapping(bytes32 => struct AbsoluteVote.Parameters storage ref)"
                },
                "children": [
                  {
                    "attributes": {
                      "name": "bytes32",
                      "type": "bytes32"
                    },
                    "id": 140,
                    "name": "ElementaryTypeName",
                    "src": "1511:7:1"
                  },
                  {
                    "attributes": {
                      "contractScope": null,
                      "name": "Parameters",
                      "referencedDeclaration": 73,
                      "type": "struct AbsoluteVote.Parameters storage pointer"
                    },
                    "id": 141,
                    "name": "UserDefinedTypeName",
                    "src": "1520:10:1"
                  }
                ],
                "id": 142,
                "name": "Mapping",
                "src": "1503:28:1"
              }
            ],
            "id": 143,
            "name": "VariableDeclaration",
            "src": "1503:46:1"
          },
          {
            "attributes": {
              "constant": false,
              "name": "proposals",
              "scope": 883,
              "stateVariable": true,
              "storageLocation": "default",
              "type": "mapping(bytes32 => struct AbsoluteVote.Proposal storage ref)",
              "value": null,
              "visibility": "public"
            },
            "children": [
              {
                "attributes": {
                  "type": "mapping(bytes32 => struct AbsoluteVote.Proposal storage ref)"
                },
                "children": [
                  {
                    "attributes": {
                      "name": "bytes32",
                      "type": "bytes32"
                    },
                    "id": 144,
                    "name": "ElementaryTypeName",
                    "src": "1603:7:1"
                  },
                  {
                    "attributes": {
                      "contractScope": null,
                      "name": "Proposal",
                      "referencedDeclaration": 101,
                      "type": "struct AbsoluteVote.Proposal storage pointer"
                    },
                    "id": 145,
                    "name": "UserDefinedTypeName",
                    "src": "1612:8:1"
                  }
                ],
                "id": 146,
                "name": "Mapping",
                "src": "1595:26:1"
              }
            ],
            "id": 147,
            "name": "VariableDeclaration",
            "src": "1595:43:1"
          },
          {
            "attributes": {
              "constant": true,
              "name": "MAX_NUM_OF_CHOICES",
              "scope": 883,
              "stateVariable": true,
              "storageLocation": "default",
              "type": "uint256",
              "visibility": "internal"
            },
            "children": [
              {
                "attributes": {
                  "name": "uint",
                  "type": "uint256"
                },
                "id": 148,
                "name": "ElementaryTypeName",
                "src": "1708:4:1"
              },
              {
                "attributes": {
                  "argumentTypes": null,
                  "hexvalue": "3130",
                  "isConstant": false,
                  "isLValue": false,
                  "isPure": true,
                  "lValueRequested": false,
                  "subdenomination": null,
                  "token": "number",
                  "type": "int_const 10",
                  "value": "10"
                },
                "id": 149,
                "name": "Literal",
                "src": "1743:2:1"
              }
            ],
            "id": 150,
            "name": "VariableDeclaration",
            "src": "1708:37:1"
          },
          {
            "attributes": {
              "constant": false,
              "name": "proposalsCnt",
              "scope": 883,
              "stateVariable": true,
              "storageLocation": "default",
              "type": "uint256",
              "value": null,
              "visibility": "internal"
            },
            "children": [
              {
                "attributes": {
                  "name": "uint",
                  "type": "uint256"
                },
                "id": 151,
                "name": "ElementaryTypeName",
                "src": "1751:4:1"
              }
            ],
            "id": 152,
            "name": "VariableDeclaration",
            "src": "1751:17:1"
          },
          {
            "attributes": {
              "name": "onlyProposalOwner",
              "visibility": "internal"
            },
            "children": [
              {
                "children": [
                  {
                    "attributes": {
                      "constant": false,
                      "name": "_proposalId",
                      "scope": 168,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "bytes32",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "bytes32",
                          "type": "bytes32"
                        },
                        "id": 153,
                        "name": "ElementaryTypeName",
                        "src": "1924:7:1"
                      }
                    ],
                    "id": 154,
                    "name": "VariableDeclaration",
                    "src": "1924:19:1"
                  }
                ],
                "id": 155,
                "name": "ParameterList",
                "src": "1923:21:1"
              },
              {
                "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": 12014,
                              "type": "function (bool) pure",
                              "value": "require"
                            },
                            "id": 156,
                            "name": "Identifier",
                            "src": "1955:7:1"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "commonType": {
                                "typeIdentifier": "t_address",
                                "typeString": "address"
                              },
                              "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": "sender",
                                  "referencedDeclaration": null,
                                  "type": "address"
                                },
                                "children": [
                                  {
                                    "attributes": {
                                      "argumentTypes": null,
                                      "overloadedDeclarations": [
                                        null
                                      ],
                                      "referencedDeclaration": 12011,
                                      "type": "msg",
                                      "value": "msg"
                                    },
                                    "id": 157,
                                    "name": "Identifier",
                                    "src": "1963:3:1"
                                  }
                                ],
                                "id": 158,
                                "name": "MemberAccess",
                                "src": "1963:10:1"
                              },
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "isConstant": false,
                                  "isLValue": true,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "member_name": "owner",
                                  "referencedDeclaration": 80,
                                  "type": "address"
                                },
                                "children": [
                                  {
                                    "attributes": {
                                      "argumentTypes": null,
                                      "isConstant": false,
                                      "isLValue": true,
                                      "isPure": false,
                                      "lValueRequested": false,
                                      "type": "struct AbsoluteVote.Proposal storage ref"
                                    },
                                    "children": [
                                      {
                                        "attributes": {
                                          "argumentTypes": null,
                                          "overloadedDeclarations": [
                                            null
                                          ],
                                          "referencedDeclaration": 147,
                                          "type": "mapping(bytes32 => struct AbsoluteVote.Proposal storage ref)",
                                          "value": "proposals"
                                        },
                                        "id": 159,
                                        "name": "Identifier",
                                        "src": "1977:9:1"
                                      },
                                      {
                                        "attributes": {
                                          "argumentTypes": null,
                                          "overloadedDeclarations": [
                                            null
                                          ],
                                          "referencedDeclaration": 154,
                                          "type": "bytes32",
                                          "value": "_proposalId"
                                        },
                                        "id": 160,
                                        "name": "Identifier",
                                        "src": "1987:11:1"
                                      }
                                    ],
                                    "id": 161,
                                    "name": "IndexAccess",
                                    "src": "1977:22:1"
                                  }
                                ],
                                "id": 162,
                                "name": "MemberAccess",
                                "src": "1977:28:1"
                              }
                            ],
                            "id": 163,
                            "name": "BinaryOperation",
                            "src": "1963:42:1"
                          }
                        ],
                        "id": 164,
                        "name": "FunctionCall",
                        "src": "1955:51:1"
                      }
                    ],
                    "id": 165,
                    "name": "ExpressionStatement",
                    "src": "1955:51:1"
                  },
                  {
                    "id": 166,
                    "name": "PlaceholderStatement",
                    "src": "2016:1:1"
                  }
                ],
                "id": 167,
                "name": "Block",
                "src": "1945:79:1"
              }
            ],
            "id": 168,
            "name": "ModifierDefinition",
            "src": "1897:127:1"
          },
          {
            "attributes": {
              "name": "votable",
              "visibility": "internal"
            },
            "children": [
              {
                "children": [
                  {
                    "attributes": {
                      "constant": false,
                      "name": "_proposalId",
                      "scope": 181,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "bytes32",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "bytes32",
                          "type": "bytes32"
                        },
                        "id": 169,
                        "name": "ElementaryTypeName",
                        "src": "2132:7:1"
                      }
                    ],
                    "id": 170,
                    "name": "VariableDeclaration",
                    "src": "2132:19:1"
                  }
                ],
                "id": 171,
                "name": "ParameterList",
                "src": "2131:21:1"
              },
              {
                "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": 12014,
                              "type": "function (bool) pure",
                              "value": "require"
                            },
                            "id": 172,
                            "name": "Identifier",
                            "src": "2163:7:1"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "isConstant": false,
                              "isLValue": true,
                              "isPure": false,
                              "lValueRequested": false,
                              "member_name": "open",
                              "referencedDeclaration": 100,
                              "type": "bool"
                            },
                            "children": [
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "isConstant": false,
                                  "isLValue": true,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "type": "struct AbsoluteVote.Proposal storage ref"
                                },
                                "children": [
                                  {
                                    "attributes": {
                                      "argumentTypes": null,
                                      "overloadedDeclarations": [
                                        null
                                      ],
                                      "referencedDeclaration": 147,
                                      "type": "mapping(bytes32 => struct AbsoluteVote.Proposal storage ref)",
                                      "value": "proposals"
                                    },
                                    "id": 173,
                                    "name": "Identifier",
                                    "src": "2171:9:1"
                                  },
                                  {
                                    "attributes": {
                                      "argumentTypes": null,
                                      "overloadedDeclarations": [
                                        null
                                      ],
                                      "referencedDeclaration": 170,
                                      "type": "bytes32",
                                      "value": "_proposalId"
                                    },
                                    "id": 174,
                                    "name": "Identifier",
                                    "src": "2181:11:1"
                                  }
                                ],
                                "id": 175,
                                "name": "IndexAccess",
                                "src": "2171:22:1"
                              }
                            ],
                            "id": 176,
                            "name": "MemberAccess",
                            "src": "2171:27:1"
                          }
                        ],
                        "id": 177,
                        "name": "FunctionCall",
                        "src": "2163:36:1"
                      }
                    ],
                    "id": 178,
                    "name": "ExpressionStatement",
                    "src": "2163:36:1"
                  },
                  {
                    "id": 179,
                    "name": "PlaceholderStatement",
                    "src": "2209:1:1"
                  }
                ],
                "id": 180,
                "name": "Block",
                "src": "2153:64:1"
              }
            ],
            "id": 181,
            "name": "ModifierDefinition",
            "src": "2115:102:1"
          },
          {
            "attributes": {
              "constant": false,
              "implemented": true,
              "isConstructor": false,
              "modifiers": [
                null
              ],
              "name": "setParameters",
              "payable": false,
              "scope": 883,
              "stateMutability": "nonpayable",
              "superFunction": null,
              "visibility": "public"
            },
            "children": [
              {
                "children": [
                  {
                    "attributes": {
                      "constant": false,
                      "name": "_reputationSystem",
                      "scope": 223,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "contract Reputation",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "contractScope": null,
                          "name": "Reputation",
                          "referencedDeclaration": 5352,
                          "type": "contract Reputation"
                        },
                        "id": 182,
                        "name": "UserDefinedTypeName",
                        "src": "2344:10:1"
                      }
                    ],
                    "id": 183,
                    "name": "VariableDeclaration",
                    "src": "2344:28:1"
                  },
                  {
                    "attributes": {
                      "constant": false,
                      "name": "_precReq",
                      "scope": 223,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "uint256",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "uint",
                          "type": "uint256"
                        },
                        "id": 184,
                        "name": "ElementaryTypeName",
                        "src": "2374:4:1"
                      }
                    ],
                    "id": 185,
                    "name": "VariableDeclaration",
                    "src": "2374:13:1"
                  },
                  {
                    "attributes": {
                      "constant": false,
                      "name": "_allowOwner",
                      "scope": 223,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "bool",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "bool",
                          "type": "bool"
                        },
                        "id": 186,
                        "name": "ElementaryTypeName",
                        "src": "2389:4:1"
                      }
                    ],
                    "id": 187,
                    "name": "VariableDeclaration",
                    "src": "2389:16:1"
                  }
                ],
                "id": 188,
                "name": "ParameterList",
                "src": "2343:63:1"
              },
              {
                "children": [
                  {
                    "attributes": {
                      "constant": false,
                      "name": "",
                      "scope": 223,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "bytes32",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "bytes32",
                          "type": "bytes32"
                        },
                        "id": 189,
                        "name": "ElementaryTypeName",
                        "src": "2422:7:1"
                      }
                    ],
                    "id": 190,
                    "name": "VariableDeclaration",
                    "src": "2422:7:1"
                  }
                ],
                "id": 191,
                "name": "ParameterList",
                "src": "2421:9:1"
              },
              {
                "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": 12014,
                              "type": "function (bool) pure",
                              "value": "require"
                            },
                            "id": 192,
                            "name": "Identifier",
                            "src": "2441:7:1"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "commonType": {
                                "typeIdentifier": "t_bool",
                                "typeString": "bool"
                              },
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "lValueRequested": false,
                              "operator": "&&",
                              "type": "bool"
                            },
                            "children": [
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "commonType": {
                                    "typeIdentifier": "t_uint256",
                                    "typeString": "uint256"
                                  },
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "operator": "<=",
                                  "type": "bool"
                                },
                                "children": [
                                  {
                                    "attributes": {
                                      "argumentTypes": null,
                                      "overloadedDeclarations": [
                                        null
                                      ],
                                      "referencedDeclaration": 185,
                                      "type": "uint256",
                                      "value": "_precReq"
                                    },
                                    "id": 193,
                                    "name": "Identifier",
                                    "src": "2449:8:1"
                                  },
                                  {
                                    "attributes": {
                                      "argumentTypes": null,
                                      "hexvalue": "313030",
                                      "isConstant": false,
                                      "isLValue": false,
                                      "isPure": true,
                                      "lValueRequested": false,
                                      "subdenomination": null,
                                      "token": "number",
                                      "type": "int_const 100",
                                      "value": "100"
                                    },
                                    "id": 194,
                                    "name": "Literal",
                                    "src": "2461:3:1"
                                  }
                                ],
                                "id": 195,
                                "name": "BinaryOperation",
                                "src": "2449:15:1"
                              },
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "commonType": {
                                    "typeIdentifier": "t_uint256",
                                    "typeString": "uint256"
                                  },
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "operator": ">",
                                  "type": "bool"
                                },
                                "children": [
                                  {
                                    "attributes": {
                                      "argumentTypes": null,
                                      "overloadedDeclarations": [
                                        null
                                      ],
                                      "referencedDeclaration": 185,
                                      "type": "uint256",
                                      "value": "_precReq"
                                    },
                                    "id": 196,
                                    "name": "Identifier",
                                    "src": "2468:8:1"
                                  },
                                  {
                                    "attributes": {
                                      "argumentTypes": null,
                                      "hexvalue": "30",
                                      "isConstant": false,
                                      "isLValue": false,
                                      "isPure": true,
                                      "lValueRequested": false,
                                      "subdenomination": null,
                                      "token": "number",
                                      "type": "int_const 0",
                                      "value": "0"
                                    },
                                    "id": 197,
                                    "name": "Literal",
                                    "src": "2479:1:1"
                                  }
                                ],
                                "id": 198,
                                "name": "BinaryOperation",
                                "src": "2468:12:1"
                              }
                            ],
                            "id": 199,
                            "name": "BinaryOperation",
                            "src": "2449:31:1"
                          }
                        ],
                        "id": 200,
                        "name": "FunctionCall",
                        "src": "2441:40:1"
                      }
                    ],
                    "id": 201,
                    "name": "ExpressionStatement",
                    "src": "2441:40:1"
                  },
                  {
                    "attributes": {
                      "assignments": [
                        203
                      ]
                    },
                    "children": [
                      {
                        "attributes": {
                          "constant": false,
                          "name": "hashedParameters",
                          "scope": 223,
                          "stateVariable": false,
                          "storageLocation": "default",
                          "type": "bytes32",
                          "value": null,
                          "visibility": "internal"
                        },
                        "children": [
                          {
                            "attributes": {
                              "name": "bytes32",
                              "type": "bytes32"
                            },
                            "id": 202,
                            "name": "ElementaryTypeName",
                            "src": "2491:7:1"
                          }
                        ],
                        "id": 203,
                        "name": "VariableDeclaration",
                        "src": "2491:24:1"
                      },
                      {
                        "attributes": {
                          "argumentTypes": null,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "isStructConstructorCall": false,
                          "lValueRequested": false,
                          "names": [
                            null
                          ],
                          "type": "bytes32",
                          "type_conversion": false
                        },
                        "children": [
                          {
                            "attributes": {
                              "argumentTypes": [
                                {
                                  "typeIdentifier": "t_contract$_Reputation_$5352",
                                  "typeString": "contract Reputation"
                                },
                                {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                },
                                {
                                  "typeIdentifier": "t_bool",
                                  "typeString": "bool"
                                }
                              ],
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 241,
                              "type": "function (contract Reputation,uint256,bool) pure returns (bytes32)",
                              "value": "getParametersHash"
                            },
                            "id": 204,
                            "name": "Identifier",
                            "src": "2518:17:1"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 183,
                              "type": "contract Reputation",
                              "value": "_reputationSystem"
                            },
                            "id": 205,
                            "name": "Identifier",
                            "src": "2536:17:1"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 185,
                              "type": "uint256",
                              "value": "_precReq"
                            },
                            "id": 206,
                            "name": "Identifier",
                            "src": "2555:8:1"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 187,
                              "type": "bool",
                              "value": "_allowOwner"
                            },
                            "id": 207,
                            "name": "Identifier",
                            "src": "2565:11:1"
                          }
                        ],
                        "id": 208,
                        "name": "FunctionCall",
                        "src": "2518:59:1"
                      }
                    ],
                    "id": 209,
                    "name": "VariableDeclarationStatement",
                    "src": "2491:86:1"
                  },
                  {
                    "children": [
                      {
                        "attributes": {
                          "argumentTypes": null,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "operator": "=",
                          "type": "struct AbsoluteVote.Parameters storage ref"
                        },
                        "children": [
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "isConstant": false,
                              "isLValue": true,
                              "isPure": false,
                              "lValueRequested": true,
                              "type": "struct AbsoluteVote.Parameters storage ref"
                            },
                            "children": [
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "overloadedDeclarations": [
                                    null
                                  ],
                                  "referencedDeclaration": 143,
                                  "type": "mapping(bytes32 => struct AbsoluteVote.Parameters storage ref)",
                                  "value": "parameters"
                                },
                                "id": 210,
                                "name": "Identifier",
                                "src": "2587:10:1"
                              },
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "overloadedDeclarations": [
                                    null
                                  ],
                                  "referencedDeclaration": 203,
                                  "type": "bytes32",
                                  "value": "hashedParameters"
                                },
                                "id": 211,
                                "name": "Identifier",
                                "src": "2598:16:1"
                              }
                            ],
                            "id": 212,
                            "name": "IndexAccess",
                            "src": "2587:28:1"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "isStructConstructorCall": true,
                              "lValueRequested": false,
                              "names": [
                                "reputationSystem",
                                "precReq",
                                "allowOwner"
                              ],
                              "type": "struct AbsoluteVote.Parameters memory",
                              "type_conversion": false
                            },
                            "children": [
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "overloadedDeclarations": [
                                    null
                                  ],
                                  "referencedDeclaration": 73,
                                  "type": "type(struct AbsoluteVote.Parameters storage pointer)",
                                  "value": "Parameters"
                                },
                                "id": 213,
                                "name": "Identifier",
                                "src": "2618:10:1"
                              },
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "overloadedDeclarations": [
                                    null
                                  ],
                                  "referencedDeclaration": 183,
                                  "type": "contract Reputation",
                                  "value": "_reputationSystem"
                                },
                                "id": 214,
                                "name": "Identifier",
                                "src": "2661:17:1"
                              },
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "overloadedDeclarations": [
                                    null
                                  ],
                                  "referencedDeclaration": 185,
                                  "type": "uint256",
                                  "value": "_precReq"
                                },
                                "id": 215,
                                "name": "Identifier",
                                "src": "2701:8:1"
                              },
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "overloadedDeclarations": [
                                    null
                                  ],
                                  "referencedDeclaration": 187,
                                  "type": "bool",
                                  "value": "_allowOwner"
                                },
                                "id": 216,
                                "name": "Identifier",
                                "src": "2735:11:1"
                              }
                            ],
                            "id": 217,
                            "name": "FunctionCall",
                            "src": "2618:139:1"
                          }
                        ],
                        "id": 218,
                        "name": "Assignment",
                        "src": "2587:170:1"
                      }
                    ],
                    "id": 219,
                    "name": "ExpressionStatement",
                    "src": "2587:170:1"
                  },
                  {
                    "attributes": {
                      "functionReturnParameters": 191
                    },
                    "children": [
                      {
                        "attributes": {
                          "argumentTypes": null,
                          "overloadedDeclarations": [
                            null
                          ],
                          "referencedDeclaration": 203,
                          "type": "bytes32",
                          "value": "hashedParameters"
                        },
                        "id": 220,
                        "name": "Identifier",
                        "src": "2774:16:1"
                      }
                    ],
                    "id": 221,
                    "name": "Return",
                    "src": "2767:23:1"
                  }
                ],
                "id": 222,
                "name": "Block",
                "src": "2431:366:1"
              }
            ],
            "id": 223,
            "name": "FunctionDefinition",
            "src": "2321:476:1"
          },
          {
            "attributes": {
              "constant": true,
              "implemented": true,
              "isConstructor": false,
              "modifiers": [
                null
              ],
              "name": "getParametersHash",
              "payable": false,
              "scope": 883,
              "stateMutability": "pure",
              "superFunction": null,
              "visibility": "public"
            },
            "children": [
              {
                "children": [
                  {
                    "attributes": {
                      "constant": false,
                      "name": "_reputationSystem",
                      "scope": 241,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "contract Reputation",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "contractScope": null,
                          "name": "Reputation",
                          "referencedDeclaration": 5352,
                          "type": "contract Reputation"
                        },
                        "id": 224,
                        "name": "UserDefinedTypeName",
                        "src": "2906:10:1"
                      }
                    ],
                    "id": 225,
                    "name": "VariableDeclaration",
                    "src": "2906:28:1"
                  },
                  {
                    "attributes": {
                      "constant": false,
                      "name": "_precReq",
                      "scope": 241,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "uint256",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "uint",
                          "type": "uint256"
                        },
                        "id": 226,
                        "name": "ElementaryTypeName",
                        "src": "2936:4:1"
                      }
                    ],
                    "id": 227,
                    "name": "VariableDeclaration",
                    "src": "2936:13:1"
                  },
                  {
                    "attributes": {
                      "constant": false,
                      "name": "_allowOwner",
                      "scope": 241,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "bool",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "bool",
                          "type": "bool"
                        },
                        "id": 228,
                        "name": "ElementaryTypeName",
                        "src": "2951:4:1"
                      }
                    ],
                    "id": 229,
                    "name": "VariableDeclaration",
                    "src": "2951:16:1"
                  }
                ],
                "id": 230,
                "name": "ParameterList",
                "src": "2905:63:1"
              },
              {
                "children": [
                  {
                    "attributes": {
                      "constant": false,
                      "name": "",
                      "scope": 241,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "bytes32",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "bytes32",
                          "type": "bytes32"
                        },
                        "id": 231,
                        "name": "ElementaryTypeName",
                        "src": "2989:7:1"
                      }
                    ],
                    "id": 232,
                    "name": "VariableDeclaration",
                    "src": "2989:7:1"
                  }
                ],
                "id": 233,
                "name": "ParameterList",
                "src": "2988:9:1"
              },
              {
                "children": [
                  {
                    "attributes": {
                      "functionReturnParameters": 233
                    },
                    "children": [
                      {
                        "attributes": {
                          "argumentTypes": null,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "isStructConstructorCall": false,
                          "lValueRequested": false,
                          "names": [
                            null
                          ],
                          "type": "bytes32",
                          "type_conversion": false
                        },
                        "children": [
                          {
                            "attributes": {
                              "argumentTypes": [
                                {
                                  "typeIdentifier": "t_contract$_Reputation_$5352",
                                  "typeString": "contract Reputation"
                                },
                                {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                },
                                {
                                  "typeIdentifier": "t_bool",
                                  "typeString": "bool"
                                }
                              ],
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 12005,
                              "type": "function () pure returns (bytes32)",
                              "value": "keccak256"
                            },
                            "id": 234,
                            "name": "Identifier",
                            "src": "3015:9:1"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 225,
                              "type": "contract Reputation",
                              "value": "_reputationSystem"
                            },
                            "id": 235,
                            "name": "Identifier",
                            "src": "3025:17:1"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 227,
                              "type": "uint256",
                              "value": "_precReq"
                            },
                            "id": 236,
                            "name": "Identifier",
                            "src": "3044:8:1"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 229,
                              "type": "bool",
                              "value": "_allowOwner"
                            },
                            "id": 237,
                            "name": "Identifier",
                            "src": "3054:11:1"
                          }
                        ],
                        "id": 238,
                        "name": "FunctionCall",
                        "src": "3015:51:1"
                      }
                    ],
                    "id": 239,
                    "name": "Return",
                    "src": "3008:58:1"
                  }
                ],
                "id": 240,
                "name": "Block",
                "src": "2998:75:1"
              }
            ],
            "id": 241,
            "name": "FunctionDefinition",
            "src": "2879:194:1"
          },
          {
            "attributes": {
              "constant": false,
              "implemented": true,
              "isConstructor": false,
              "modifiers": [
                null
              ],
              "name": "propose",
              "payable": false,
              "scope": 883,
              "stateMutability": "nonpayable",
              "superFunction": 3371,
              "visibility": "public"
            },
            "children": [
              {
                "children": [
                  {
                    "attributes": {
                      "constant": false,
                      "name": "_numOfChoices",
                      "scope": 344,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "uint256",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "uint",
                          "type": "uint256"
                        },
                        "id": 242,
                        "name": "ElementaryTypeName",
                        "src": "3630:4:1"
                      }
                    ],
                    "id": 243,
                    "name": "VariableDeclaration",
                    "src": "3630:18:1"
                  },
                  {
                    "attributes": {
                      "constant": false,
                      "name": "_paramsHash",
                      "scope": 344,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "bytes32",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "bytes32",
                          "type": "bytes32"
                        },
                        "id": 244,
                        "name": "ElementaryTypeName",
                        "src": "3650:7:1"
                      }
                    ],
                    "id": 245,
                    "name": "VariableDeclaration",
                    "src": "3650:19:1"
                  },
                  {
                    "attributes": {
                      "constant": false,
                      "name": "_avatar",
                      "scope": 344,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "address",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "address",
                          "type": "address"
                        },
                        "id": 246,
                        "name": "ElementaryTypeName",
                        "src": "3671:7:1"
                      }
                    ],
                    "id": 247,
                    "name": "VariableDeclaration",
                    "src": "3671:15:1"
                  },
                  {
                    "attributes": {
                      "constant": false,
                      "name": "_executable",
                      "scope": 344,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "contract ExecutableInterface",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "contractScope": null,
                          "name": "ExecutableInterface",
                          "referencedDeclaration": 8021,
                          "type": "contract ExecutableInterface"
                        },
                        "id": 248,
                        "name": "UserDefinedTypeName",
                        "src": "3688:19:1"
                      }
                    ],
                    "id": 249,
                    "name": "VariableDeclaration",
                    "src": "3688:31:1"
                  },
                  {
                    "attributes": {
                      "constant": false,
                      "name": "",
                      "scope": 344,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "address",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "address",
                          "type": "address"
                        },
                        "id": 250,
                        "name": "ElementaryTypeName",
                        "src": "3720:7:1"
                      }
                    ],
                    "id": 251,
                    "name": "VariableDeclaration",
                    "src": "3720:7:1"
                  }
                ],
                "id": 252,
                "name": "ParameterList",
                "src": "3629:99:1"
              },
              {
                "children": [
                  {
                    "attributes": {
                      "constant": false,
                      "name": "",
                      "scope": 344,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "bytes32",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "bytes32",
                          "type": "bytes32"
                        },
                        "id": 253,
                        "name": "ElementaryTypeName",
                        "src": "3744:7:1"
                      }
                    ],
                    "id": 254,
                    "name": "VariableDeclaration",
                    "src": "3744:7:1"
                  }
                ],
                "id": 255,
                "name": "ParameterList",
                "src": "3743:9:1"
              },
              {
                "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": 12014,
                              "type": "function (bool) pure",
                              "value": "require"
                            },
                            "id": 256,
                            "name": "Identifier",
                            "src": "3816:7:1"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "commonType": {
                                "typeIdentifier": "t_address",
                                "typeString": "address"
                              },
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "lValueRequested": false,
                              "operator": "!=",
                              "type": "bool"
                            },
                            "children": [
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "isConstant": false,
                                  "isLValue": true,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "member_name": "reputationSystem",
                                  "referencedDeclaration": 68,
                                  "type": "contract Reputation"
                                },
                                "children": [
                                  {
                                    "attributes": {
                                      "argumentTypes": null,
                                      "isConstant": false,
                                      "isLValue": true,
                                      "isPure": false,
                                      "lValueRequested": false,
                                      "type": "struct AbsoluteVote.Parameters storage ref"
                                    },
                                    "children": [
                                      {
                                        "attributes": {
                                          "argumentTypes": null,
                                          "overloadedDeclarations": [
                                            null
                                          ],
                                          "referencedDeclaration": 143,
                                          "type": "mapping(bytes32 => struct AbsoluteVote.Parameters storage ref)",
                                          "value": "parameters"
                                        },
                                        "id": 257,
                                        "name": "Identifier",
                                        "src": "3824:10:1"
                                      },
                                      {
                                        "attributes": {
                                          "argumentTypes": null,
                                          "overloadedDeclarations": [
                                            null
                                          ],
                                          "referencedDeclaration": 245,
                                          "type": "bytes32",
                                          "value": "_paramsHash"
                                        },
                                        "id": 258,
                                        "name": "Identifier",
                                        "src": "3835:11:1"
                                      }
                                    ],
                                    "id": 259,
                                    "name": "IndexAccess",
                                    "src": "3824:23:1"
                                  }
                                ],
                                "id": 260,
                                "name": "MemberAccess",
                                "src": "3824:40:1"
                              },
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": true,
                                  "isStructConstructorCall": false,
                                  "lValueRequested": false,
                                  "names": [
                                    null
                                  ],
                                  "type": "address",
                                  "type_conversion": true
                                },
                                "children": [
                                  {
                                    "attributes": {
                                      "argumentTypes": [
                                        {
                                          "typeIdentifier": "t_rational_0_by_1",
                                          "typeString": "int_const 0"
                                        }
                                      ],
                                      "isConstant": false,
                                      "isLValue": false,
                                      "isPure": true,
                                      "lValueRequested": false,
                                      "type": "type(address)",
                                      "value": "address"
                                    },
                                    "id": 261,
                                    "name": "ElementaryTypeNameExpression",
                                    "src": "3868:7:1"
                                  },
                                  {
                                    "attributes": {
                                      "argumentTypes": null,
                                      "hexvalue": "30",
                                      "isConstant": false,
                                      "isLValue": false,
                                      "isPure": true,
                                      "lValueRequested": false,
                                      "subdenomination": null,
                                      "token": "number",
                                      "type": "int_const 0",
                                      "value": "0"
                                    },
                                    "id": 262,
                                    "name": "Literal",
                                    "src": "3876:1:1"
                                  }
                                ],
                                "id": 263,
                                "name": "FunctionCall",
                                "src": "3868:10:1"
                              }
                            ],
                            "id": 264,
                            "name": "BinaryOperation",
                            "src": "3824:54:1"
                          }
                        ],
                        "id": 265,
                        "name": "FunctionCall",
                        "src": "3816:63:1"
                      }
                    ],
                    "id": 266,
                    "name": "ExpressionStatement",
                    "src": "3816:63:1"
                  },
                  {
                    "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": 12014,
                              "type": "function (bool) pure",
                              "value": "require"
                            },
                            "id": 267,
                            "name": "Identifier",
                            "src": "3889:7:1"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "commonType": {
                                "typeIdentifier": "t_bool",
                                "typeString": "bool"
                              },
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "lValueRequested": false,
                              "operator": "&&",
                              "type": "bool"
                            },
                            "children": [
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "commonType": {
                                    "typeIdentifier": "t_uint256",
                                    "typeString": "uint256"
                                  },
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "operator": ">",
                                  "type": "bool"
                                },
                                "children": [
                                  {
                                    "attributes": {
                                      "argumentTypes": null,
                                      "overloadedDeclarations": [
                                        null
                                      ],
                                      "referencedDeclaration": 243,
                                      "type": "uint256",
                                      "value": "_numOfChoices"
                                    },
                                    "id": 268,
                                    "name": "Identifier",
                                    "src": "3897:13:1"
                                  },
                                  {
                                    "attributes": {
                                      "argumentTypes": null,
                                      "hexvalue": "30",
                                      "isConstant": false,
                                      "isLValue": false,
                                      "isPure": true,
                                      "lValueRequested": false,
                                      "subdenomination": null,
                                      "token": "number",
                                      "type": "int_const 0",
                                      "value": "0"
                                    },
                                    "id": 269,
                                    "name": "Literal",
                                    "src": "3913:1:1"
                                  }
                                ],
                                "id": 270,
                                "name": "BinaryOperation",
                                "src": "3897:17:1"
                              },
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "commonType": {
                                    "typeIdentifier": "t_uint256",
                                    "typeString": "uint256"
                                  },
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "operator": "<=",
                                  "type": "bool"
                                },
                                "children": [
                                  {
                                    "attributes": {
                                      "argumentTypes": null,
                                      "overloadedDeclarations": [
                                        null
                                      ],
                                      "referencedDeclaration": 243,
                                      "type": "uint256",
                                      "value": "_numOfChoices"
                                    },
                                    "id": 271,
                                    "name": "Identifier",
                                    "src": "3918:13:1"
                                  },
                                  {
                                    "attributes": {
                                      "argumentTypes": null,
                                      "overloadedDeclarations": [
                                        null
                                      ],
                                      "referencedDeclaration": 150,
                                      "type": "uint256",
                                      "value": "MAX_NUM_OF_CHOICES"
                                    },
                                    "id": 272,
                                    "name": "Identifier",
                                    "src": "3935:18:1"
                                  }
                                ],
                                "id": 273,
                                "name": "BinaryOperation",
                                "src": "3918:35:1"
                              }
                            ],
                            "id": 274,
                            "name": "BinaryOperation",
                            "src": "3897:56:1"
                          }
                        ],
                        "id": 275,
                        "name": "FunctionCall",
                        "src": "3889:65:1"
                      }
                    ],
                    "id": 276,
                    "name": "ExpressionStatement",
                    "src": "3889:65:1"
                  },
                  {
                    "attributes": {
                      "assignments": [
                        278
                      ]
                    },
                    "children": [
                      {
                        "attributes": {
                          "constant": false,
                          "name": "proposalId",
                          "scope": 344,
                          "stateVariable": false,
                          "storageLocation": "default",
                          "type": "bytes32",
                          "value": null,
                          "visibility": "internal"
                        },
                        "children": [
                          {
                            "attributes": {
                              "name": "bytes32",
                              "type": "bytes32"
                            },
                            "id": 277,
                            "name": "ElementaryTypeName",
                            "src": "3997:7:1"
                          }
                        ],
                        "id": 278,
                        "name": "VariableDeclaration",
                        "src": "3997:18:1"
                      },
                      {
                        "attributes": {
                          "argumentTypes": null,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "isStructConstructorCall": false,
                          "lValueRequested": false,
                          "names": [
                            null
                          ],
                          "type": "bytes32",
                          "type_conversion": false
                        },
                        "children": [
                          {
                            "attributes": {
                              "argumentTypes": [
                                {
                                  "typeIdentifier": "t_contract$_AbsoluteVote_$883",
                                  "typeString": "contract AbsoluteVote"
                                },
                                {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              ],
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 12005,
                              "type": "function () pure returns (bytes32)",
                              "value": "keccak256"
                            },
                            "id": 279,
                            "name": "Identifier",
                            "src": "4018:9:1"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 12060,
                              "type": "contract AbsoluteVote",
                              "value": "this"
                            },
                            "id": 280,
                            "name": "Identifier",
                            "src": "4028:4:1"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 152,
                              "type": "uint256",
                              "value": "proposalsCnt"
                            },
                            "id": 281,
                            "name": "Identifier",
                            "src": "4034:12:1"
                          }
                        ],
                        "id": 282,
                        "name": "FunctionCall",
                        "src": "4018:29:1"
                      }
                    ],
                    "id": 283,
                    "name": "VariableDeclarationStatement",
                    "src": "3997:50:1"
                  },
                  {
                    "children": [
                      {
                        "attributes": {
                          "argumentTypes": null,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "operator": "++",
                          "prefix": false,
                          "type": "uint256"
                        },
                        "children": [
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 152,
                              "type": "uint256",
                              "value": "proposalsCnt"
                            },
                            "id": 284,
                            "name": "Identifier",
                            "src": "4057:12:1"
                          }
                        ],
                        "id": 285,
                        "name": "UnaryOperation",
                        "src": "4057:14:1"
                      }
                    ],
                    "id": 286,
                    "name": "ExpressionStatement",
                    "src": "4057:14:1"
                  },
                  {
                    "attributes": {
                      "assignments": [
                        null
                      ],
                      "initialValue": null
                    },
                    "children": [
                      {
                        "attributes": {
                          "constant": false,
                          "name": "proposal",
                          "scope": 344,
                          "stateVariable": false,
                          "storageLocation": "memory",
                          "type": "struct AbsoluteVote.Proposal memory",
                          "value": null,
                          "visibility": "internal"
                        },
                        "children": [
                          {
                            "attributes": {
                              "contractScope": null,
                              "name": "Proposal",
                              "referencedDeclaration": 101,
                              "type": "struct AbsoluteVote.Proposal storage pointer"
                            },
                            "id": 287,
                            "name": "UserDefinedTypeName",
                            "src": "4107:8:1"
                          }
                        ],
                        "id": 288,
                        "name": "VariableDeclaration",
                        "src": "4107:24:1"
                      }
                    ],
                    "id": 289,
                    "name": "VariableDeclarationStatement",
                    "src": "4107:24:1"
                  },
                  {
                    "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,
                              "member_name": "numOfChoices",
                              "referencedDeclaration": 84,
                              "type": "uint256"
                            },
                            "children": [
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "overloadedDeclarations": [
                                    null
                                  ],
                                  "referencedDeclaration": 288,
                                  "type": "struct AbsoluteVote.Proposal memory",
                                  "value": "proposal"
                                },
                                "id": 290,
                                "name": "Identifier",
                                "src": "4141:8:1"
                              }
                            ],
                            "id": 292,
                            "name": "MemberAccess",
                            "src": "4141:21:1"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 243,
                              "type": "uint256",
                              "value": "_numOfChoices"
                            },
                            "id": 293,
                            "name": "Identifier",
                            "src": "4165:13:1"
                          }
                        ],
                        "id": 294,
                        "name": "Assignment",
                        "src": "4141:37:1"
                      }
                    ],
                    "id": 295,
                    "name": "ExpressionStatement",
                    "src": "4141:37:1"
                  },
                  {
                    "children": [
                      {
                        "attributes": {
                          "argumentTypes": null,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "operator": "=",
                          "type": "bytes32"
                        },
                        "children": [
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "isConstant": false,
                              "isLValue": true,
                              "isPure": false,
                              "lValueRequested": true,
                              "member_name": "paramsHash",
                              "referencedDeclaration": 88,
                              "type": "bytes32"
                            },
                            "children": [
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "overloadedDeclarations": [
                                    null
                                  ],
                                  "referencedDeclaration": 288,
                                  "type": "struct AbsoluteVote.Proposal memory",
                                  "value": "proposal"
                                },
                                "id": 296,
                                "name": "Identifier",
                                "src": "4188:8:1"
                              }
                            ],
                            "id": 298,
                            "name": "MemberAccess",
                            "src": "4188:19:1"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 245,
                              "type": "bytes32",
                              "value": "_paramsHash"
                            },
                            "id": 299,
                            "name": "Identifier",
                            "src": "4210:11:1"
                          }
                        ],
                        "id": 300,
                        "name": "Assignment",
                        "src": "4188:33:1"
                      }
                    ],
                    "id": 301,
                    "name": "ExpressionStatement",
                    "src": "4188:33:1"
                  },
                  {
                    "children": [
                      {
                        "attributes": {
                          "argumentTypes": null,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "operator": "=",
                          "type": "address"
                        },
                        "children": [
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "isConstant": false,
                              "isLValue": true,
                              "isPure": false,
                              "lValueRequested": true,
                              "member_name": "avatar",
                              "referencedDeclaration": 82,
                              "type": "address"
                            },
                            "children": [
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "overloadedDeclarations": [
                                    null
                                  ],
                                  "referencedDeclaration": 288,
                                  "type": "struct AbsoluteVote.Proposal memory",
                                  "value": "proposal"
                                },
                                "id": 302,
                                "name": "Identifier",
                                "src": "4231:8:1"
                              }
                            ],
                            "id": 304,
                            "name": "MemberAccess",
                            "src": "4231:15:1"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 247,
                              "type": "address",
                              "value": "_avatar"
                            },
                            "id": 305,
                            "name": "Identifier",
                            "src": "4249:7:1"
                          }
                        ],
                        "id": 306,
                        "name": "Assignment",
                        "src": "4231:25:1"
                      }
                    ],
                    "id": 307,
                    "name": "ExpressionStatement",
                    "src": "4231:25:1"
                  },
                  {
                    "children": [
                      {
                        "attributes": {
                          "argumentTypes": null,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "operator": "=",
                          "type": "contract ExecutableInterface"
                        },
                        "children": [
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "isConstant": false,
                              "isLValue": true,
                              "isPure": false,
                              "lValueRequested": true,
                              "member_name": "executable",
                              "referencedDeclaration": 86,
                              "type": "contract ExecutableInterface"
                            },
                            "children": [
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "overloadedDeclarations": [
                                    null
                                  ],
                                  "referencedDeclaration": 288,
                                  "type": "struct AbsoluteVote.Proposal memory",
                                  "value": "proposal"
                                },
                                "id": 308,
                                "name": "Identifier",
                                "src": "4266:8:1"
                              }
                            ],
                            "id": 310,
                            "name": "MemberAccess",
                            "src": "4266:19:1"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 249,
                              "type": "contract ExecutableInterface",
                              "value": "_executable"
                            },
                            "id": 311,
                            "name": "Identifier",
                            "src": "4288:11:1"
                          }
                        ],
                        "id": 312,
                        "name": "Assignment",
                        "src": "4266:33:1"
                      }
                    ],
                    "id": 313,
                    "name": "ExpressionStatement",
                    "src": "4266:33:1"
                  },
                  {
                    "children": [
                      {
                        "attributes": {
                          "argumentTypes": null,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "operator": "=",
                          "type": "address"
                        },
                        "children": [
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "isConstant": false,
                              "isLValue": true,
                              "isPure": false,
                              "lValueRequested": true,
                              "member_name": "owner",
                              "referencedDeclaration": 80,
                              "type": "address"
                            },
                            "children": [
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "overloadedDeclarations": [
                                    null
                                  ],
                                  "referencedDeclaration": 288,
                                  "type": "struct AbsoluteVote.Proposal memory",
                                  "value": "proposal"
                                },
                                "id": 314,
                                "name": "Identifier",
                                "src": "4309:8:1"
                              }
                            ],
                            "id": 316,
                            "name": "MemberAccess",
                            "src": "4309:14:1"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "lValueRequested": false,
                              "member_name": "sender",
                              "referencedDeclaration": null,
                              "type": "address"
                            },
                            "children": [
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "overloadedDeclarations": [
                                    null
                                  ],
                                  "referencedDeclaration": 12011,
                                  "type": "msg",
                                  "value": "msg"
                                },
                                "id": 317,
                                "name": "Identifier",
                                "src": "4326:3:1"
                              }
                            ],
                            "id": 318,
                            "name": "MemberAccess",
                            "src": "4326:10:1"
                          }
                        ],
                        "id": 319,
                        "name": "Assignment",
                        "src": "4309:27:1"
                      }
                    ],
                    "id": 320,
                    "name": "ExpressionStatement",
                    "src": "4309:27:1"
                  },
                  {
                    "children": [
                      {
                        "attributes": {
                          "argumentTypes": null,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "operator": "=",
                          "type": "bool"
                        },
                        "children": [
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "isConstant": false,
                              "isLValue": true,
                              "isPure": false,
                              "lValueRequested": true,
                              "member_name": "open",
                              "referencedDeclaration": 100,
                              "type": "bool"
                            },
                            "children": [
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "overloadedDeclarations": [
                                    null
                                  ],
                                  "referencedDeclaration": 288,
                                  "type": "struct AbsoluteVote.Proposal memory",
                                  "value": "proposal"
                                },
                                "id": 321,
                                "name": "Identifier",
                                "src": "4346:8:1"
                              }
                            ],
                            "id": 323,
                            "name": "MemberAccess",
                            "src": "4346:13:1"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "hexvalue": "74727565",
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "lValueRequested": false,
                              "subdenomination": null,
                              "token": "bool",
                              "type": "bool",
                              "value": "true"
                            },
                            "id": 324,
                            "name": "Literal",
                            "src": "4362:4:1"
                          }
                        ],
                        "id": 325,
                        "name": "Assignment",
                        "src": "4346:20:1"
                      }
                    ],
                    "id": 326,
                    "name": "ExpressionStatement",
                    "src": "4346:20:1"
                  },
                  {
                    "children": [
                      {
                        "attributes": {
                          "argumentTypes": null,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "operator": "=",
                          "type": "struct AbsoluteVote.Proposal storage ref"
                        },
                        "children": [
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "isConstant": false,
                              "isLValue": true,
                              "isPure": false,
                              "lValueRequested": true,
                              "type": "struct AbsoluteVote.Proposal storage ref"
                            },
                            "children": [
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "overloadedDeclarations": [
                                    null
                                  ],
                                  "referencedDeclaration": 147,
                                  "type": "mapping(bytes32 => struct AbsoluteVote.Proposal storage ref)",
                                  "value": "proposals"
                                },
                                "id": 327,
                                "name": "Identifier",
                                "src": "4376:9:1"
                              },
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "overloadedDeclarations": [
                                    null
                                  ],
                                  "referencedDeclaration": 278,
                                  "type": "bytes32",
                                  "value": "proposalId"
                                },
                                "id": 328,
                                "name": "Identifier",
                                "src": "4386:10:1"
                              }
                            ],
                            "id": 329,
                            "name": "IndexAccess",
                            "src": "4376:21:1"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 288,
                              "type": "struct AbsoluteVote.Proposal memory",
                              "value": "proposal"
                            },
                            "id": 330,
                            "name": "Identifier",
                            "src": "4400:8:1"
                          }
                        ],
                        "id": 331,
                        "name": "Assignment",
                        "src": "4376:32:1"
                      }
                    ],
                    "id": 332,
                    "name": "ExpressionStatement",
                    "src": "4376:32:1"
                  },
                  {
                    "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_bytes32",
                                  "typeString": "bytes32"
                                },
                                {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                },
                                {
                                  "typeIdentifier": "t_address",
                                  "typeString": "address"
                                },
                                {
                                  "typeIdentifier": "t_bytes32",
                                  "typeString": "bytes32"
                                }
                              ],
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 111,
                              "type": "function (bytes32,uint256,address,bytes32)",
                              "value": "NewProposal"
                            },
                            "id": 333,
                            "name": "Identifier",
                            "src": "4418:11:1"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 278,
                              "type": "bytes32",
                              "value": "proposalId"
                            },
                            "id": 334,
                            "name": "Identifier",
                            "src": "4430:10:1"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 243,
                              "type": "uint256",
                              "value": "_numOfChoices"
                            },
                            "id": 335,
                            "name": "Identifier",
                            "src": "4442:13:1"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "lValueRequested": false,
                              "member_name": "sender",
                              "referencedDeclaration": null,
                              "type": "address"
                            },
                            "children": [
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "overloadedDeclarations": [
                                    null
                                  ],
                                  "referencedDeclaration": 12011,
                                  "type": "msg",
                                  "value": "msg"
                                },
                                "id": 336,
                                "name": "Identifier",
                                "src": "4457:3:1"
                              }
                            ],
                            "id": 337,
                            "name": "MemberAccess",
                            "src": "4457:10:1"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 245,
                              "type": "bytes32",
                              "value": "_paramsHash"
                            },
                            "id": 338,
                            "name": "Identifier",
                            "src": "4469:11:1"
                          }
                        ],
                        "id": 339,
                        "name": "FunctionCall",
                        "src": "4418:63:1"
                      }
                    ],
                    "id": 340,
                    "name": "ExpressionStatement",
                    "src": "4418:63:1"
                  },
                  {
                    "attributes": {
                      "functionReturnParameters": 255
                    },
                    "children": [
                      {
                        "attributes": {
                          "argumentTypes": null,
                          "overloadedDeclarations": [
                            null
                          ],
                          "referencedDeclaration": 278,
                          "type": "bytes32",
                          "value": "proposalId"
                        },
                        "id": 341,
                        "name": "Identifier",
                        "src": "4498:10:1"
                      }
                    ],
                    "id": 342,
                    "name": "Return",
                    "src": "4491:17:1"
                  }
                ],
                "id": 343,
                "name": "Block",
                "src": "3753:762:1"
              }
            ],
            "id": 344,
            "name": "FunctionDefinition",
            "src": "3613:902:1"
          },
          {
            "attributes": {
              "constant": false,
              "implemented": true,
              "isConstructor": false,
              "name": "cancelProposal",
              "payable": false,
              "scope": 883,
              "stateMutability": "nonpayable",
              "superFunction": 3384,
              "visibility": "public"
            },
            "children": [
              {
                "children": [
                  {
                    "attributes": {
                      "constant": false,
                      "name": "_proposalId",
                      "scope": 380,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "bytes32",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "bytes32",
                          "type": "bytes32"
                        },
                        "id": 345,
                        "name": "ElementaryTypeName",
                        "src": "4701:7:1"
                      }
                    ],
                    "id": 346,
                    "name": "VariableDeclaration",
                    "src": "4701:19:1"
                  }
                ],
                "id": 347,
                "name": "ParameterList",
                "src": "4700:21:1"
              },
              {
                "children": [
                  {
                    "attributes": {
                      "constant": false,
                      "name": "",
                      "scope": 380,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "bool",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "bool",
                          "type": "bool"
                        },
                        "id": 354,
                        "name": "ElementaryTypeName",
                        "src": "4789:4:1"
                      }
                    ],
                    "id": 355,
                    "name": "VariableDeclaration",
                    "src": "4789:4:1"
                  }
                ],
                "id": 356,
                "name": "ParameterList",
                "src": "4788:6:1"
              },
              {
                "children": [
                  {
                    "attributes": {
                      "argumentTypes": null,
                      "overloadedDeclarations": [
                        null
                      ],
                      "referencedDeclaration": 168,
                      "type": "modifier (bytes32)",
                      "value": "onlyProposalOwner"
                    },
                    "id": 348,
                    "name": "Identifier",
                    "src": "4729:17:1"
                  },
                  {
                    "attributes": {
                      "argumentTypes": null,
                      "overloadedDeclarations": [
                        null
                      ],
                      "referencedDeclaration": 346,
                      "type": "bytes32",
                      "value": "_proposalId"
                    },
                    "id": 349,
                    "name": "Identifier",
                    "src": "4747:11:1"
                  }
                ],
                "id": 350,
                "name": "ModifierInvocation",
                "src": "4729:30:1"
              },
              {
                "children": [
                  {
                    "attributes": {
                      "argumentTypes": null,
                      "overloadedDeclarations": [
                        null
                      ],
                      "referencedDeclaration": 181,
                      "type": "modifier (bytes32)",
                      "value": "votable"
                    },
                    "id": 351,
                    "name": "Identifier",
                    "src": "4760:7:1"
                  },
                  {
                    "attributes": {
                      "argumentTypes": null,
                      "overloadedDeclarations": [
                        null
                      ],
                      "referencedDeclaration": 346,
                      "type": "bytes32",
                      "value": "_proposalId"
                    },
                    "id": 352,
                    "name": "Identifier",
                    "src": "4768:11:1"
                  }
                ],
                "id": 353,
                "name": "ModifierInvocation",
                "src": "4760:20:1"
              },
              {
                "children": [
                  {
                    "attributes": {
                      "falseBody": null
                    },
                    "children": [
                      {
                        "attributes": {
                          "argumentTypes": null,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "operator": "!",
                          "prefix": true,
                          "type": "bool"
                        },
                        "children": [
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "isConstant": false,
                              "isLValue": true,
                              "isPure": false,
                              "lValueRequested": false,
                              "member_name": "allowOwner",
                              "referencedDeclaration": 72,
                              "type": "bool"
                            },
                            "children": [
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "isConstant": false,
                                  "isLValue": true,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "type": "struct AbsoluteVote.Parameters storage ref"
                                },
                                "children": [
                                  {
                                    "attributes": {
                                      "argumentTypes": null,
                                      "overloadedDeclarations": [
                                        null
                                      ],
                                      "referencedDeclaration": 143,
                                      "type": "mapping(bytes32 => struct AbsoluteVote.Parameters storage ref)",
                                      "value": "parameters"
                                    },
                                    "id": 357,
                                    "name": "Identifier",
                                    "src": "4811:10:1"
                                  },
                                  {
                                    "attributes": {
                                      "argumentTypes": null,
                                      "isConstant": false,
                                      "isLValue": true,
                                      "isPure": false,
                                      "lValueRequested": false,
                                      "member_name": "paramsHash",
                                      "referencedDeclaration": 88,
                                      "type": "bytes32"
                                    },
                                    "children": [
                                      {
                                        "attributes": {
                                          "argumentTypes": null,
                                          "isConstant": false,
                                          "isLValue": true,
                                          "isPure": false,
                                          "lValueRequested": false,
                                          "type": "struct AbsoluteVote.Proposal storage ref"
                                        },
                                        "children": [
                                          {
                                            "attributes": {
                                              "argumentTypes": null,
                                              "overloadedDeclarations": [
                                                null
                                              ],
                                              "referencedDeclaration": 147,
                                              "type": "mapping(bytes32 => struct AbsoluteVote.Proposal storage ref)",
                                              "value": "proposals"
                                            },
                                            "id": 358,
                                            "name": "Identifier",
                                            "src": "4822:9:1"
                                          },
                                          {
                                            "attributes": {
                                              "argumentTypes": null,
                                              "overloadedDeclarations": [
                                                null
                                              ],
                                              "referencedDeclaration": 346,
                                              "type": "bytes32",
                                              "value": "_proposalId"
                                            },
                                            "id": 359,
                                            "name": "Identifier",
                                            "src": "4832:11:1"
                                          }
                                        ],
                                        "id": 360,
                                        "name": "IndexAccess",
                                        "src": "4822:22:1"
                                      }
                                    ],
                                    "id": 361,
                                    "name": "MemberAccess",
                                    "src": "4822:33:1"
                                  }
                                ],
                                "id": 362,
                                "name": "IndexAccess",
                                "src": "4811:45:1"
                              }
                            ],
                            "id": 363,
                            "name": "MemberAccess",
                            "src": "4811:56:1"
                          }
                        ],
                        "id": 364,
                        "name": "UnaryOperation",
                        "src": "4809:58:1"
                      },
                      {
                        "children": [
                          {
                            "attributes": {
                              "functionReturnParameters": 356
                            },
                            "children": [
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "hexvalue": "66616c7365",
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": true,
                                  "lValueRequested": false,
                                  "subdenomination": null,
                                  "token": "bool",
                                  "type": "bool",
                                  "value": "false"
                                },
                                "id": 365,
                                "name": "Literal",
                                "src": "4890:5:1"
                              }
                            ],
                            "id": 366,
                            "name": "Return",
                            "src": "4883:12:1"
                          }
                        ],
                        "id": 367,
                        "name": "Block",
                        "src": "4869:37:1"
                      }
                    ],
                    "id": 368,
                    "name": "IfStatement",
                    "src": "4805:101:1"
                  },
                  {
                    "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_bytes32",
                                  "typeString": "bytes32"
                                }
                              ],
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 756,
                              "type": "function (bytes32)",
                              "value": "deleteProposal"
                            },
                            "id": 369,
                            "name": "Identifier",
                            "src": "4915:14:1"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 346,
                              "type": "bytes32",
                              "value": "_proposalId"
                            },
                            "id": 370,
                            "name": "Identifier",
                            "src": "4930:11:1"
                          }
                        ],
                        "id": 371,
                        "name": "FunctionCall",
                        "src": "4915:27:1"
                      }
                    ],
                    "id": 372,
                    "name": "ExpressionStatement",
                    "src": "4915:27:1"
                  },
                  {
                    "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_bytes32",
                                  "typeString": "bytes32"
                                }
                              ],
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 115,
                              "type": "function (bytes32)",
                              "value": "CancelProposal"
                            },
                            "id": 373,
                            "name": "Identifier",
                            "src": "4952:14:1"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 346,
                              "type": "bytes32",
                              "value": "_proposalId"
                            },
                            "id": 374,
                            "name": "Identifier",
                            "src": "4967:11:1"
                          }
                        ],
                        "id": 375,
                        "name": "FunctionCall",
                        "src": "4952:27:1"
                      }
                    ],
                    "id": 376,
                    "name": "ExpressionStatement",
                    "src": "4952:27:1"
                  },
                  {
                    "attributes": {
                      "functionReturnParameters": 356
                    },
                    "children": [
                      {
                        "attributes": {
                          "argumentTypes": null,
                          "hexvalue": "74727565",
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "lValueRequested": false,
                          "subdenomination": null,
                          "token": "bool",
                          "type": "bool",
                          "value": "true"
                        },
                        "id": 377,
                        "name": "Literal",
                        "src": "4996:4:1"
                      }
                    ],
                    "id": 378,
                    "name": "Return",
                    "src": "4989:11:1"
                  }
                ],
                "id": 379,
                "name": "Block",
                "src": "4795:212:1"
              }
            ],
            "id": 380,
            "name": "FunctionDefinition",
            "src": "4677:330:1"
          },
          {
            "attributes": {
              "constant": false,
              "implemented": true,
              "isConstructor": false,
              "name": "vote",
              "payable": false,
              "scope": 883,
              "stateMutability": "nonpayable",
              "superFunction": 3410,
              "visibility": "public"
            },
            "children": [
              {
                "children": [
                  {
                    "attributes": {
                      "constant": false,
                      "name": "_proposalId",
                      "scope": 401,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "bytes32",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "bytes32",
                          "type": "bytes32"
                        },
                        "id": 381,
                        "name": "ElementaryTypeName",
                        "src": "5276:7:1"
                      }
                    ],
                    "id": 382,
                    "name": "VariableDeclaration",
                    "src": "5276:19:1"
                  },
                  {
                    "attributes": {
                      "constant": false,
                      "name": "_vote",
                      "scope": 401,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "uint256",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "uint",
                          "type": "uint256"
                        },
                        "id": 383,
                        "name": "ElementaryTypeName",
                        "src": "5297:4:1"
                      }
                    ],
                    "id": 384,
                    "name": "VariableDeclaration",
                    "src": "5297:10:1"
                  }
                ],
                "id": 385,
                "name": "ParameterList",
                "src": "5275:33:1"
              },
              {
                "children": [
                  {
                    "attributes": {
                      "constant": false,
                      "name": "",
                      "scope": 401,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "bool",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "bool",
                          "type": "bool"
                        },
                        "id": 389,
                        "name": "ElementaryTypeName",
                        "src": "5345:4:1"
                      }
                    ],
                    "id": 390,
                    "name": "VariableDeclaration",
                    "src": "5345:4:1"
                  }
                ],
                "id": 391,
                "name": "ParameterList",
                "src": "5344:6:1"
              },
              {
                "children": [
                  {
                    "attributes": {
                      "argumentTypes": null,
                      "overloadedDeclarations": [
                        null
                      ],
                      "referencedDeclaration": 181,
                      "type": "modifier (bytes32)",
                      "value": "votable"
                    },
                    "id": 386,
                    "name": "Identifier",
                    "src": "5316:7:1"
                  },
                  {
                    "attributes": {
                      "argumentTypes": null,
                      "overloadedDeclarations": [
                        null
                      ],
                      "referencedDeclaration": 382,
                      "type": "bytes32",
                      "value": "_proposalId"
                    },
                    "id": 387,
                    "name": "Identifier",
                    "src": "5324:11:1"
                  }
                ],
                "id": 388,
                "name": "ModifierInvocation",
                "src": "5316:20:1"
              },
              {
                "children": [
                  {
                    "attributes": {
                      "functionReturnParameters": 391
                    },
                    "children": [
                      {
                        "attributes": {
                          "argumentTypes": null,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "isStructConstructorCall": false,
                          "lValueRequested": false,
                          "names": [
                            null
                          ],
                          "type": "bool",
                          "type_conversion": false
                        },
                        "children": [
                          {
                            "attributes": {
                              "argumentTypes": [
                                {
                                  "typeIdentifier": "t_bytes32",
                                  "typeString": "bytes32"
                                },
                                {
                                  "typeIdentifier": "t_address",
                                  "typeString": "address"
                                },
                                {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                },
                                {
                                  "typeIdentifier": "t_rational_0_by_1",
                                  "typeString": "int_const 0"
                                }
                              ],
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 882,
                              "type": "function (bytes32,address,uint256,uint256) returns (bool)",
                              "value": "internalVote"
                            },
                            "id": 392,
                            "name": "Identifier",
                            "src": "5368:12:1"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 382,
                              "type": "bytes32",
                              "value": "_proposalId"
                            },
                            "id": 393,
                            "name": "Identifier",
                            "src": "5381:11:1"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "lValueRequested": false,
                              "member_name": "sender",
                              "referencedDeclaration": null,
                              "type": "address"
                            },
                            "children": [
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "overloadedDeclarations": [
                                    null
                                  ],
                                  "referencedDeclaration": 12011,
                                  "type": "msg",
                                  "value": "msg"
                                },
                                "id": 394,
                                "name": "Identifier",
                                "src": "5394:3:1"
                              }
                            ],
                            "id": 395,
                            "name": "MemberAccess",
                            "src": "5394:10:1"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 384,
                              "type": "uint256",
                              "value": "_vote"
                            },
                            "id": 396,
                            "name": "Identifier",
                            "src": "5406:5:1"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "hexvalue": "30",
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "lValueRequested": false,
                              "subdenomination": null,
                              "token": "number",
                              "type": "int_const 0",
                              "value": "0"
                            },
                            "id": 397,
                            "name": "Literal",
                            "src": "5413:1:1"
                          }
                        ],
                        "id": 398,
                        "name": "FunctionCall",
                        "src": "5368:47:1"
                      }
                    ],
                    "id": 399,
                    "name": "Return",
                    "src": "5361:54:1"
                  }
                ],
                "id": 400,
                "name": "Block",
                "src": "5351:71:1"
              }
            ],
            "id": 401,
            "name": "FunctionDefinition",
            "src": "5262:160:1"
          },
          {
            "attributes": {
              "constant": false,
              "implemented": true,
              "isConstructor": false,
              "name": "ownerVote",
              "payable": false,
              "scope": 883,
              "stateMutability": "nonpayable",
              "superFunction": 3398,
              "visibility": "public"
            },
            "children": [
              {
                "children": [
                  {
                    "attributes": {
                      "constant": false,
                      "name": "_proposalId",
                      "scope": 438,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "bytes32",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "bytes32",
                          "type": "bytes32"
                        },
                        "id": 402,
                        "name": "ElementaryTypeName",
                        "src": "5817:7:1"
                      }
                    ],
                    "id": 403,
                    "name": "VariableDeclaration",
                    "src": "5817:19:1"
                  },
                  {
                    "attributes": {
                      "constant": false,
                      "name": "_vote",
                      "scope": 438,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "uint256",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "uint",
                          "type": "uint256"
                        },
                        "id": 404,
                        "name": "ElementaryTypeName",
                        "src": "5838:4:1"
                      }
                    ],
                    "id": 405,
                    "name": "VariableDeclaration",
                    "src": "5838:10:1"
                  },
                  {
                    "attributes": {
                      "constant": false,
                      "name": "_voter",
                      "scope": 438,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "address",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "address",
                          "type": "address"
                        },
                        "id": 406,
                        "name": "ElementaryTypeName",
                        "src": "5850:7:1"
                      }
                    ],
                    "id": 407,
                    "name": "VariableDeclaration",
                    "src": "5850:14:1"
                  }
                ],
                "id": 408,
                "name": "ParameterList",
                "src": "5816:49:1"
              },
              {
                "children": [
                  {
                    "attributes": {
                      "constant": false,
                      "name": "",
                      "scope": 438,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "bool",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "bool",
                          "type": "bool"
                        },
                        "id": 415,
                        "name": "ElementaryTypeName",
                        "src": "5933:4:1"
                      }
                    ],
                    "id": 416,
                    "name": "VariableDeclaration",
                    "src": "5933:4:1"
                  }
                ],
                "id": 417,
                "name": "ParameterList",
                "src": "5932:6:1"
              },
              {
                "children": [
                  {
                    "attributes": {
                      "argumentTypes": null,
                      "overloadedDeclarations": [
                        null
                      ],
                      "referencedDeclaration": 168,
                      "type": "modifier (bytes32)",
                      "value": "onlyProposalOwner"
                    },
                    "id": 409,
                    "name": "Identifier",
                    "src": "5873:17:1"
                  },
                  {
                    "attributes": {
                      "argumentTypes": null,
                      "overloadedDeclarations": [
                        null
                      ],
                      "referencedDeclaration": 403,
                      "type": "bytes32",
                      "value": "_proposalId"
                    },
                    "id": 410,
                    "name": "Identifier",
                    "src": "5891:11:1"
                  }
                ],
                "id": 411,
                "name": "ModifierInvocation",
                "src": "5873:30:1"
              },
              {
                "children": [
                  {
                    "attributes": {
                      "argumentTypes": null,
                      "overloadedDeclarations": [
                        null
                      ],
                      "referencedDeclaration": 181,
                      "type": "modifier (bytes32)",
                      "value": "votable"
                    },
                    "id": 412,
                    "name": "Identifier",
                    "src": "5904:7:1"
                  },
                  {
                    "attributes": {
                      "argumentTypes": null,
                      "overloadedDeclarations": [
                        null
                      ],
                      "referencedDeclaration": 403,
                      "type": "bytes32",
                      "value": "_proposalId"
                    },
                    "id": 413,
                    "name": "Identifier",
                    "src": "5912:11:1"
                  }
                ],
                "id": 414,
                "name": "ModifierInvocation",
                "src": "5904:20:1"
              },
              {
                "children": [
                  {
                    "attributes": {
                      "falseBody": null
                    },
                    "children": [
                      {
                        "attributes": {
                          "argumentTypes": null,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "operator": "!",
                          "prefix": true,
                          "type": "bool"
                        },
                        "children": [
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "isConstant": false,
                              "isLValue": true,
                              "isPure": false,
                              "lValueRequested": false,
                              "member_name": "allowOwner",
                              "referencedDeclaration": 72,
                              "type": "bool"
                            },
                            "children": [
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "isConstant": false,
                                  "isLValue": true,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "type": "struct AbsoluteVote.Parameters storage ref"
                                },
                                "children": [
                                  {
                                    "attributes": {
                                      "argumentTypes": null,
                                      "overloadedDeclarations": [
                                        null
                                      ],
                                      "referencedDeclaration": 143,
                                      "type": "mapping(bytes32 => struct AbsoluteVote.Parameters storage ref)",
                                      "value": "parameters"
                                    },
                                    "id": 418,
                                    "name": "Identifier",
                                    "src": "5955:10:1"
                                  },
                                  {
                                    "attributes": {
                                      "argumentTypes": null,
                                      "isConstant": false,
                                      "isLValue": true,
                                      "isPure": false,
                                      "lValueRequested": false,
                                      "member_name": "paramsHash",
                                      "referencedDeclaration": 88,
                                      "type": "bytes32"
                                    },
                                    "children": [
                                      {
                                        "attributes": {
                                          "argumentTypes": null,
                                          "isConstant": false,
                                          "isLValue": true,
                                          "isPure": false,
                                          "lValueRequested": false,
                                          "type": "struct AbsoluteVote.Proposal storage ref"
                                        },
                                        "children": [
                                          {
                                            "attributes": {
                                              "argumentTypes": null,
                                              "overloadedDeclarations": [
                                                null
                                              ],
                                              "referencedDeclaration": 147,
                                              "type": "mapping(bytes32 => struct AbsoluteVote.Proposal storage ref)",
                                              "value": "proposals"
                                            },
                                            "id": 419,
                                            "name": "Identifier",
                                            "src": "5966:9:1"
                                          },
                                          {
                                            "attributes": {
                                              "argumentTypes": null,
                                              "overloadedDeclarations": [
                                                null
                                              ],
                                              "referencedDeclaration": 403,
                                              "type": "bytes32",
                                              "value": "_proposalId"
                                            },
                                            "id": 420,
                                            "name": "Identifier",
                                            "src": "5976:11:1"
                                          }
                                        ],
                                        "id": 421,
                                        "name": "IndexAccess",
                                        "src": "5966:22:1"
                                      }
                                    ],
                                    "id": 422,
                                    "name": "MemberAccess",
                                    "src": "5966:33:1"
                                  }
                                ],
                                "id": 423,
                                "name": "IndexAccess",
                                "src": "5955:45:1"
                              }
                            ],
                            "id": 424,
                            "name": "MemberAccess",
                            "src": "5955:56:1"
                          }
                        ],
                        "id": 425,
                        "name": "UnaryOperation",
                        "src": "5953:58:1"
                      },
                      {
                        "children": [
                          {
                            "attributes": {
                              "functionReturnParameters": 417
                            },
                            "children": [
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "hexvalue": "66616c7365",
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": true,
                                  "lValueRequested": false,
                                  "subdenomination": null,
                                  "token": "bool",
                                  "type": "bool",
                                  "value": "false"
                                },
                                "id": 426,
                                "name": "Literal",
                                "src": "6034:5:1"
                              }
                            ],
                            "id": 427,
                            "name": "Return",
                            "src": "6027:12:1"
                          }
                        ],
                        "id": 428,
                        "name": "Block",
                        "src": "6013:37:1"
                      }
                    ],
                    "id": 429,
                    "name": "IfStatement",
                    "src": "5949:101:1"
                  },
                  {
                    "attributes": {
                      "functionReturnParameters": 417
                    },
                    "children": [
                      {
                        "attributes": {
                          "argumentTypes": null,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "isStructConstructorCall": false,
                          "lValueRequested": false,
                          "names": [
                            null
                          ],
                          "type": "bool",
                          "type_conversion": false
                        },
                        "children": [
                          {
                            "attributes": {
                              "argumentTypes": [
                                {
                                  "typeIdentifier": "t_bytes32",
                                  "typeString": "bytes32"
                                },
                                {
                                  "typeIdentifier": "t_address",
                                  "typeString": "address"
                                },
                                {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                },
                                {
                                  "typeIdentifier": "t_rational_0_by_1",
                                  "typeString": "int_const 0"
                                }
                              ],
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 882,
                              "type": "function (bytes32,address,uint256,uint256) returns (bool)",
                              "value": "internalVote"
                            },
                            "id": 430,
                            "name": "Identifier",
                            "src": "6067:12:1"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 403,
                              "type": "bytes32",
                              "value": "_proposalId"
                            },
                            "id": 431,
                            "name": "Identifier",
                            "src": "6080:11:1"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 407,
                              "type": "address",
                              "value": "_voter"
                            },
                            "id": 432,
                            "name": "Identifier",
                            "src": "6093:6:1"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 405,
                              "type": "uint256",
                              "value": "_vote"
                            },
                            "id": 433,
                            "name": "Identifier",
                            "src": "6101:5:1"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "hexvalue": "30",
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "lValueRequested": false,
                              "subdenomination": null,
                              "token": "number",
                              "type": "int_const 0",
                              "value": "0"
                            },
                            "id": 434,
                            "name": "Literal",
                            "src": "6108:1:1"
                          }
                        ],
                        "id": 435,
                        "name": "FunctionCall",
                        "src": "6067:43:1"
                      }
                    ],
                    "id": 436,
                    "name": "Return",
                    "src": "6059:51:1"
                  }
                ],
                "id": 437,
                "name": "Block",
                "src": "5939:178:1"
              }
            ],
            "id": 438,
            "name": "FunctionDefinition",
            "src": "5798:319:1"
          },
          {
            "attributes": {
              "constant": false,
              "implemented": true,
              "isConstructor": false,
              "name": "voteWithSpecifiedAmounts",
              "payable": false,
              "scope": 883,
              "stateMutability": "nonpayable",
              "superFunction": 3426,
              "visibility": "public"
            },
            "children": [
              {
                "children": [
                  {
                    "attributes": {
                      "constant": false,
                      "name": "_proposalId",
                      "scope": 463,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "bytes32",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "bytes32",
                          "type": "bytes32"
                        },
                        "id": 439,
                        "name": "ElementaryTypeName",
                        "src": "6157:7:1"
                      }
                    ],
                    "id": 440,
                    "name": "VariableDeclaration",
                    "src": "6157:19:1"
                  },
                  {
                    "attributes": {
                      "constant": false,
                      "name": "_vote",
                      "scope": 463,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "uint256",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "uint",
                          "type": "uint256"
                        },
                        "id": 441,
                        "name": "ElementaryTypeName",
                        "src": "6177:4:1"
                      }
                    ],
                    "id": 442,
                    "name": "VariableDeclaration",
                    "src": "6177:10:1"
                  },
                  {
                    "attributes": {
                      "constant": false,
                      "name": "_rep",
                      "scope": 463,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "uint256",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "uint",
                          "type": "uint256"
                        },
                        "id": 443,
                        "name": "ElementaryTypeName",
                        "src": "6188:4:1"
                      }
                    ],
                    "id": 444,
                    "name": "VariableDeclaration",
                    "src": "6188:9:1"
                  },
                  {
                    "attributes": {
                      "constant": false,
                      "name": "",
                      "scope": 463,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "uint256",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "uint",
                          "type": "uint256"
                        },
                        "id": 445,
                        "name": "ElementaryTypeName",
                        "src": "6198:4:1"
                      }
                    ],
                    "id": 446,
                    "name": "VariableDeclaration",
                    "src": "6198:4:1"
                  }
                ],
                "id": 447,
                "name": "ParameterList",
                "src": "6156:47:1"
              },
              {
                "children": [
                  {
                    "attributes": {
                      "constant": false,
                      "name": "",
                      "scope": 463,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "bool",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "bool",
                          "type": "bool"
                        },
                        "id": 451,
                        "name": "ElementaryTypeName",
                        "src": "6240:4:1"
                      }
                    ],
                    "id": 452,
                    "name": "VariableDeclaration",
                    "src": "6240:4:1"
                  }
                ],
                "id": 453,
                "name": "ParameterList",
                "src": "6239:6:1"
              },
              {
                "children": [
                  {
                    "attributes": {
                      "argumentTypes": null,
                      "overloadedDeclarations": [
                        null
                      ],
                      "referencedDeclaration": 181,
                      "type": "modifier (bytes32)",
                      "value": "votable"
                    },
                    "id": 448,
                    "name": "Identifier",
                    "src": "6211:7:1"
                  },
                  {
                    "attributes": {
                      "argumentTypes": null,
                      "overloadedDeclarations": [
                        null
                      ],
                      "referencedDeclaration": 440,
                      "type": "bytes32",
                      "value": "_proposalId"
                    },
                    "id": 449,
                    "name": "Identifier",
                    "src": "6219:11:1"
                  }
                ],
                "id": 450,
                "name": "ModifierInvocation",
                "src": "6211:20:1"
              },
              {
                "children": [
                  {
                    "attributes": {
                      "functionReturnParameters": 453
                    },
                    "children": [
                      {
                        "attributes": {
                          "argumentTypes": null,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "isStructConstructorCall": false,
                          "lValueRequested": false,
                          "names": [
                            null
                          ],
                          "type": "bool",
                          "type_conversion": false
                        },
                        "children": [
                          {
                            "attributes": {
                              "argumentTypes": [
                                {
                                  "typeIdentifier": "t_bytes32",
                                  "typeString": "bytes32"
                                },
                                {
                                  "typeIdentifier": "t_address",
                                  "typeString": "address"
                                },
                                {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                },
                                {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              ],
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 882,
                              "type": "function (bytes32,address,uint256,uint256) returns (bool)",
                              "value": "internalVote"
                            },
                            "id": 454,
                            "name": "Identifier",
                            "src": "6263:12:1"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 440,
                              "type": "bytes32",
                              "value": "_proposalId"
                            },
                            "id": 455,
                            "name": "Identifier",
                            "src": "6276:11:1"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "lValueRequested": false,
                              "member_name": "sender",
                              "referencedDeclaration": null,
                              "type": "address"
                            },
                            "children": [
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "overloadedDeclarations": [
                                    null
                                  ],
                                  "referencedDeclaration": 12011,
                                  "type": "msg",
                                  "value": "msg"
                                },
                                "id": 456,
                                "name": "Identifier",
                                "src": "6288:3:1"
                              }
                            ],
                            "id": 457,
                            "name": "MemberAccess",
                            "src": "6288:10:1"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 442,
                              "type": "uint256",
                              "value": "_vote"
                            },
                            "id": 458,
                            "name": "Identifier",
                            "src": "6299:5:1"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 444,
                              "type": "uint256",
                              "value": "_rep"
                            },
                            "id": 459,
                            "name": "Identifier",
                            "src": "6305:4:1"
                          }
                        ],
                        "id": 460,
                        "name": "FunctionCall",
                        "src": "6263:47:1"
                      }
                    ],
                    "id": 461,
                    "name": "Return",
                    "src": "6256:54:1"
                  }
                ],
                "id": 462,
                "name": "Block",
                "src": "6246:71:1"
              }
            ],
            "id": 463,
            "name": "FunctionDefinition",
            "src": "6123:194:1"
          },
          {
            "attributes": {
              "constant": false,
              "implemented": true,
              "isConstructor": false,
              "name": "cancelVote",
              "payable": false,
              "scope": 883,
              "stateMutability": "nonpayable",
              "superFunction": 3434,
              "visibility": "public"
            },
            "children": [
              {
                "children": [
                  {
                    "attributes": {
                      "constant": false,
                      "name": "_proposalId",
                      "scope": 478,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "bytes32",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "bytes32",
                          "type": "bytes32"
                        },
                        "id": 464,
                        "name": "ElementaryTypeName",
                        "src": "6540:7:1"
                      }
                    ],
                    "id": 465,
                    "name": "VariableDeclaration",
                    "src": "6540:19:1"
                  }
                ],
                "id": 466,
                "name": "ParameterList",
                "src": "6539:21:1"
              },
              {
                "attributes": {
                  "parameters": [
                    null
                  ]
                },
                "children": [],
                "id": 470,
                "name": "ParameterList",
                "src": "6589:0:1"
              },
              {
                "children": [
                  {
                    "attributes": {
                      "argumentTypes": null,
                      "overloadedDeclarations": [
                        null
                      ],
                      "referencedDeclaration": 181,
                      "type": "modifier (bytes32)",
                      "value": "votable"
                    },
                    "id": 467,
                    "name": "Identifier",
                    "src": "6568:7:1"
                  },
                  {
                    "attributes": {
                      "argumentTypes": null,
                      "overloadedDeclarations": [
                        null
                      ],
                      "referencedDeclaration": 465,
                      "type": "bytes32",
                      "value": "_proposalId"
                    },
                    "id": 468,
                    "name": "Identifier",
                    "src": "6576:11:1"
                  }
                ],
                "id": 469,
                "name": "ModifierInvocation",
                "src": "6568:20:1"
              },
              {
                "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_bytes32",
                                  "typeString": "bytes32"
                                },
                                {
                                  "typeIdentifier": "t_address",
                                  "typeString": "address"
                                }
                              ],
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 720,
                              "type": "function (bytes32,address)",
                              "value": "cancelVoteInternal"
                            },
                            "id": 471,
                            "name": "Identifier",
                            "src": "6599:18:1"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 465,
                              "type": "bytes32",
                              "value": "_proposalId"
                            },
                            "id": 472,
                            "name": "Identifier",
                            "src": "6618:11:1"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "lValueRequested": false,
                              "member_name": "sender",
                              "referencedDeclaration": null,
                              "type": "address"
                            },
                            "children": [
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "overloadedDeclarations": [
                                    null
                                  ],
                                  "referencedDeclaration": 12011,
                                  "type": "msg",
                                  "value": "msg"
                                },
                                "id": 473,
                                "name": "Identifier",
                                "src": "6631:3:1"
                              }
                            ],
                            "id": 474,
                            "name": "MemberAccess",
                            "src": "6631:10:1"
                          }
                        ],
                        "id": 475,
                        "name": "FunctionCall",
                        "src": "6599:43:1"
                      }
                    ],
                    "id": 476,
                    "name": "ExpressionStatement",
                    "src": "6599:43:1"
                  }
                ],
                "id": 477,
                "name": "Block",
                "src": "6589:60:1"
              }
            ],
            "id": 478,
            "name": "FunctionDefinition",
            "src": "6520:129:1"
          },
          {
            "attributes": {
              "constant": false,
              "implemented": true,
              "isConstructor": false,
              "name": "execute",
              "payable": false,
              "scope": 883,
              "stateMutability": "nonpayable",
              "superFunction": 3444,
              "visibility": "public"
            },
            "children": [
              {
                "children": [
                  {
                    "attributes": {
                      "constant": false,
                      "name": "_proposalId",
                      "scope": 567,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "bytes32",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "bytes32",
                          "type": "bytes32"
                        },
                        "id": 479,
                        "name": "ElementaryTypeName",
                        "src": "6918:7:1"
                      }
                    ],
                    "id": 480,
                    "name": "VariableDeclaration",
                    "src": "6918:19:1"
                  }
                ],
                "id": 481,
                "name": "ParameterList",
                "src": "6917:21:1"
              },
              {
                "children": [
                  {
                    "attributes": {
                      "constant": false,
                      "name": "",
                      "scope": 567,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "bool",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "bool",
                          "type": "bool"
                        },
                        "id": 485,
                        "name": "ElementaryTypeName",
                        "src": "6975:4:1"
                      }
                    ],
                    "id": 486,
                    "name": "VariableDeclaration",
                    "src": "6975:4:1"
                  }
                ],
                "id": 487,
                "name": "ParameterList",
                "src": "6974:6:1"
              },
              {
                "children": [
                  {
                    "attributes": {
                      "argumentTypes": null,
                      "overloadedDeclarations": [
                        null
                      ],
                      "referencedDeclaration": 181,
                      "type": "modifier (bytes32)",
                      "value": "votable"
                    },
                    "id": 482,
                    "name": "Identifier",
                    "src": "6946:7:1"
                  },
                  {
                    "attributes": {
                      "argumentTypes": null,
                      "overloadedDeclarations": [
                        null
                      ],
                      "referencedDeclaration": 480,
                      "type": "bytes32",
                      "value": "_proposalId"
                    },
                    "id": 483,
                    "name": "Identifier",
                    "src": "6954:11:1"
                  }
                ],
                "id": 484,
                "name": "ModifierInvocation",
                "src": "6946:20:1"
              },
              {
                "children": [
                  {
                    "attributes": {
                      "assignments": [
                        489
                      ]
                    },
                    "children": [
                      {
                        "attributes": {
                          "constant": false,
                          "name": "proposal",
                          "scope": 567,
                          "stateVariable": false,
                          "storageLocation": "storage",
                          "type": "struct AbsoluteVote.Proposal storage pointer",
                          "value": null,
                          "visibility": "internal"
                        },
                        "children": [
                          {
                            "attributes": {
                              "contractScope": null,
                              "name": "Proposal",
                              "referencedDeclaration": 101,
                              "type": "struct AbsoluteVote.Proposal storage pointer"
                            },
                            "id": 488,
                            "name": "UserDefinedTypeName",
                            "src": "6991:8:1"
                          }
                        ],
                        "id": 489,
                        "name": "VariableDeclaration",
                        "src": "6991:25:1"
                      },
                      {
                        "attributes": {
                          "argumentTypes": null,
                          "isConstant": false,
                          "isLValue": true,
                          "isPure": false,
                          "lValueRequested": false,
                          "type": "struct AbsoluteVote.Proposal storage ref"
                        },
                        "children": [
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 147,
                              "type": "mapping(bytes32 => struct AbsoluteVote.Proposal storage ref)",
                              "value": "proposals"
                            },
                            "id": 490,
                            "name": "Identifier",
                            "src": "7019:9:1"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 480,
                              "type": "bytes32",
                              "value": "_proposalId"
                            },
                            "id": 491,
                            "name": "Identifier",
                            "src": "7029:11:1"
                          }
                        ],
                        "id": 492,
                        "name": "IndexAccess",
                        "src": "7019:22:1"
                      }
                    ],
                    "id": 493,
                    "name": "VariableDeclarationStatement",
                    "src": "6991:50:1"
                  },
                  {
                    "attributes": {
                      "assignments": [
                        495
                      ]
                    },
                    "children": [
                      {
                        "attributes": {
                          "constant": false,
                          "name": "totalReputation",
                          "scope": 567,
                          "stateVariable": false,
                          "storageLocation": "default",
                          "type": "uint256",
                          "value": null,
                          "visibility": "internal"
                        },
                        "children": [
                          {
                            "attributes": {
                              "name": "uint",
                              "type": "uint256"
                            },
                            "id": 494,
                            "name": "ElementaryTypeName",
                            "src": "7051:4:1"
                          }
                        ],
                        "id": 495,
                        "name": "VariableDeclaration",
                        "src": "7051:20:1"
                      },
                      {
                        "attributes": {
                          "argumentTypes": null,
                          "arguments": [
                            null
                          ],
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "isStructConstructorCall": false,
                          "lValueRequested": false,
                          "names": [
                            null
                          ],
                          "type": "uint256",
                          "type_conversion": false
                        },
                        "children": [
                          {
                            "attributes": {
                              "argumentTypes": [
                                null
                              ],
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "lValueRequested": false,
                              "member_name": "totalSupply",
                              "referencedDeclaration": 5218,
                              "type": "function () view external returns (uint256)"
                            },
                            "children": [
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "isConstant": false,
                                  "isLValue": true,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "member_name": "reputationSystem",
                                  "referencedDeclaration": 68,
                                  "type": "contract Reputation"
                                },
                                "children": [
                                  {
                                    "attributes": {
                                      "argumentTypes": null,
                                      "isConstant": false,
                                      "isLValue": true,
                                      "isPure": false,
                                      "lValueRequested": false,
                                      "type": "struct AbsoluteVote.Parameters storage ref"
                                    },
                                    "children": [
                                      {
                                        "attributes": {
                                          "argumentTypes": null,
                                          "overloadedDeclarations": [
                                            null
                                          ],
                                          "referencedDeclaration": 143,
                                          "type": "mapping(bytes32 => struct AbsoluteVote.Parameters storage ref)",
                                          "value": "parameters"
                                        },
                                        "id": 496,
                                        "name": "Identifier",
                                        "src": "7074:10:1"
                                      },
                                      {
                                        "attributes": {
                                          "argumentTypes": null,
                                          "isConstant": false,
                                          "isLValue": true,
                                          "isPure": false,
                                          "lValueRequested": false,
                                          "member_name": "paramsHash",
                                          "referencedDeclaration": 88,
                                          "type": "bytes32"
                                        },
                                        "children": [
                                          {
                                            "attributes": {
                                              "argumentTypes": null,
                                              "overloadedDeclarations": [
                                                null
                                              ],
                                              "referencedDeclaration": 489,
                                              "type": "struct AbsoluteVote.Proposal storage pointer",
                                              "value": "proposal"
                                            },
                                            "id": 497,
                                            "name": "Identifier",
                                            "src": "7085:8:1"
                                          }
                                        ],
                                        "id": 498,
                                        "name": "MemberAccess",
                                        "src": "7085:19:1"
                                      }
                                    ],
                                    "id": 499,
                                    "name": "IndexAccess",
                                    "src": "7074:31:1"
                                  }
                                ],
                                "id": 500,
                                "name": "MemberAccess",
                                "src": "7074:48:1"
                              }
                            ],
                            "id": 501,
                            "name": "MemberAccess",
                            "src": "7074:60:1"
                          }
                        ],
                        "id": 502,
                        "name": "FunctionCall",
                        "src": "7074:62:1"
                      }
                    ],
                    "id": 503,
                    "name": "VariableDeclarationStatement",
                    "src": "7051:85:1"
                  },
                  {
                    "attributes": {
                      "assignments": [
                        505
                      ]
                    },
                    "children": [
                      {
                        "attributes": {
                          "constant": false,
                          "name": "precReq",
                          "scope": 567,
                          "stateVariable": false,
                          "storageLocation": "default",
                          "type": "uint256",
                          "value": null,
                          "visibility": "internal"
                        },
                        "children": [
                          {
                            "attributes": {
                              "name": "uint",
                              "type": "uint256"
                            },
                            "id": 504,
                            "name": "ElementaryTypeName",
                            "src": "7146:4:1"
                          }
                        ],
                        "id": 505,
                        "name": "VariableDeclaration",
                        "src": "7146:12:1"
                      },
                      {
                        "attributes": {
                          "argumentTypes": null,
                          "isConstant": false,
                          "isLValue": true,
                          "isPure": false,
                          "lValueRequested": false,
                          "member_name": "precReq",
                          "referencedDeclaration": 70,
                          "type": "uint256"
                        },
                        "children": [
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "isConstant": false,
                              "isLValue": true,
                              "isPure": false,
                              "lValueRequested": false,
                              "type": "struct AbsoluteVote.Parameters storage ref"
                            },
                            "children": [
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "overloadedDeclarations": [
                                    null
                                  ],
                                  "referencedDeclaration": 143,
                                  "type": "mapping(bytes32 => struct AbsoluteVote.Parameters storage ref)",
                                  "value": "parameters"
                                },
                                "id": 506,
                                "name": "Identifier",
                                "src": "7161:10:1"
                              },
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "isConstant": false,
                                  "isLValue": true,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "member_name": "paramsHash",
                                  "referencedDeclaration": 88,
                                  "type": "bytes32"
                                },
                                "children": [
                                  {
                                    "attributes": {
                                      "argumentTypes": null,
                                      "overloadedDeclarations": [
                                        null
                                      ],
                                      "referencedDeclaration": 489,
                                      "type": "struct AbsoluteVote.Proposal storage pointer",
                                      "value": "proposal"
                                    },
                                    "id": 507,
                                    "name": "Identifier",
                                    "src": "7172:8:1"
                                  }
                                ],
                                "id": 508,
                                "name": "MemberAccess",
                                "src": "7172:19:1"
                              }
                            ],
                            "id": 509,
                            "name": "IndexAccess",
                            "src": "7161:31:1"
                          }
                        ],
                        "id": 510,
                        "name": "MemberAccess",
                        "src": "7161:39:1"
                      }
                    ],
                    "id": 511,
                    "name": "VariableDeclarationStatement",
                    "src": "7146:54:1"
                  },
                  {
                    "children": [
                      {
                        "attributes": {
                          "assignments": [
                            513
                          ]
                        },
                        "children": [
                          {
                            "attributes": {
                              "constant": false,
                              "name": "cnt",
                              "scope": 567,
                              "stateVariable": false,
                              "storageLocation": "default",
                              "type": "uint256",
                              "value": null,
                              "visibility": "internal"
                            },
                            "children": [
                              {
                                "attributes": {
                                  "name": "uint",
                                  "type": "uint256"
                                },
                                "id": 512,
                                "name": "ElementaryTypeName",
                                "src": "7260:4:1"
                              }
                            ],
                            "id": 513,
                            "name": "VariableDeclaration",
                            "src": "7260:8:1"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "hexvalue": "30",
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "lValueRequested": false,
                              "subdenomination": null,
                              "token": "number",
                              "type": "int_const 0",
                              "value": "0"
                            },
                            "id": 514,
                            "name": "Literal",
                            "src": "7271:1:1"
                          }
                        ],
                        "id": 515,
                        "name": "VariableDeclarationStatement",
                        "src": "7260:12:1"
                      },
                      {
                        "attributes": {
                          "argumentTypes": null,
                          "commonType": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          },
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "operator": "<=",
                          "type": "bool"
                        },
                        "children": [
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 513,
                              "type": "uint256",
                              "value": "cnt"
                            },
                            "id": 516,
                            "name": "Identifier",
                            "src": "7274:3:1"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "isConstant": false,
                              "isLValue": true,
                              "isPure": false,
                              "lValueRequested": false,
                              "member_name": "numOfChoices",
                              "referencedDeclaration": 84,
                              "type": "uint256"
                            },
                            "children": [
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "overloadedDeclarations": [
                                    null
                                  ],
                                  "referencedDeclaration": 489,
                                  "type": "struct AbsoluteVote.Proposal storage pointer",
                                  "value": "proposal"
                                },
                                "id": 517,
                                "name": "Identifier",
                                "src": "7281:8:1"
                              }
                            ],
                            "id": 518,
                            "name": "MemberAccess",
                            "src": "7281:21:1"
                          }
                        ],
                        "id": 519,
                        "name": "BinaryOperation",
                        "src": "7274:28:1"
                      },
                      {
                        "children": [
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "lValueRequested": false,
                              "operator": "++",
                              "prefix": false,
                              "type": "uint256"
                            },
                            "children": [
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "overloadedDeclarations": [
                                    null
                                  ],
                                  "referencedDeclaration": 513,
                                  "type": "uint256",
                                  "value": "cnt"
                                },
                                "id": 520,
                                "name": "Identifier",
                                "src": "7304:3:1"
                              }
                            ],
                            "id": 521,
                            "name": "UnaryOperation",
                            "src": "7304:5:1"
                          }
                        ],
                        "id": 522,
                        "name": "ExpressionStatement",
                        "src": "7304:5:1"
                      },
                      {
                        "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": true,
                                      "isPure": false,
                                      "lValueRequested": false,
                                      "type": "uint256"
                                    },
                                    "children": [
                                      {
                                        "attributes": {
                                          "argumentTypes": null,
                                          "isConstant": false,
                                          "isLValue": true,
                                          "isPure": false,
                                          "lValueRequested": false,
                                          "member_name": "votes",
                                          "referencedDeclaration": 94,
                                          "type": "mapping(uint256 => uint256)"
                                        },
                                        "children": [
                                          {
                                            "attributes": {
                                              "argumentTypes": null,
                                              "overloadedDeclarations": [
                                                null
                                              ],
                                              "referencedDeclaration": 489,
                                              "type": "struct AbsoluteVote.Proposal storage pointer",
                                              "value": "proposal"
                                            },
                                            "id": 523,
                                            "name": "Identifier",
                                            "src": "7329:8:1"
                                          }
                                        ],
                                        "id": 524,
                                        "name": "MemberAccess",
                                        "src": "7329:14:1"
                                      },
                                      {
                                        "attributes": {
                                          "argumentTypes": null,
                                          "overloadedDeclarations": [
                                            null
                                          ],
                                          "referencedDeclaration": 513,
                                          "type": "uint256",
                                          "value": "cnt"
                                        },
                                        "id": 525,
                                        "name": "Identifier",
                                        "src": "7344:3:1"
                                      }
                                    ],
                                    "id": 526,
                                    "name": "IndexAccess",
                                    "src": "7329:19:1"
                                  },
                                  {
                                    "attributes": {
                                      "argumentTypes": null,
                                      "commonType": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                      },
                                      "isConstant": false,
                                      "isLValue": false,
                                      "isPure": false,
                                      "lValueRequested": false,
                                      "operator": "/",
                                      "type": "uint256"
                                    },
                                    "children": [
                                      {
                                        "attributes": {
                                          "argumentTypes": null,
                                          "commonType": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                          },
                                          "isConstant": false,
                                          "isLValue": false,
                                          "isPure": false,
                                          "lValueRequested": false,
                                          "operator": "*",
                                          "type": "uint256"
                                        },
                                        "children": [
                                          {
                                            "attributes": {
                                              "argumentTypes": null,
                                              "overloadedDeclarations": [
                                                null
                                              ],
                                              "referencedDeclaration": 495,
                                              "type": "uint256",
                                              "value": "totalReputation"
                                            },
                                            "id": 527,
                                            "name": "Identifier",
                                            "src": "7351:15:1"
                                          },
                                          {
                                            "attributes": {
                                              "argumentTypes": null,
                                              "overloadedDeclarations": [
                                                null
                                              ],
                                              "referencedDeclaration": 505,
                                              "type": "uint256",
                                              "value": "precReq"
                                            },
                                            "id": 528,
                                            "name": "Identifier",
                                            "src": "7367:7:1"
                                          }
                                        ],
                                        "id": 529,
                                        "name": "BinaryOperation",
                                        "src": "7351:23:1"
                                      },
                                      {
                                        "attributes": {
                                          "argumentTypes": null,
                                          "hexvalue": "313030",
                                          "isConstant": false,
                                          "isLValue": false,
                                          "isPure": true,
                                          "lValueRequested": false,
                                          "subdenomination": null,
                                          "token": "number",
                                          "type": "int_const 100",
                                          "value": "100"
                                        },
                                        "id": 530,
                                        "name": "Literal",
                                        "src": "7375:3:1"
                                      }
                                    ],
                                    "id": 531,
                                    "name": "BinaryOperation",
                                    "src": "7351:27:1"
                                  }
                                ],
                                "id": 532,
                                "name": "BinaryOperation",
                                "src": "7329:49:1"
                              },
                              {
                                "children": [
                                  {
                                    "attributes": {
                                      "assignments": [
                                        534
                                      ]
                                    },
                                    "children": [
                                      {
                                        "attributes": {
                                          "constant": false,
                                          "name": "tmpProposal",
                                          "scope": 567,
                                          "stateVariable": false,
                                          "storageLocation": "memory",
                                          "type": "struct AbsoluteVote.Proposal memory",
                                          "value": null,
                                          "visibility": "internal"
                                        },
                                        "children": [
                                          {
                                            "attributes": {
                                              "contractScope": null,
                                              "name": "Proposal",
                                              "referencedDeclaration": 101,
                                              "type": "struct AbsoluteVote.Proposal storage pointer"
                                            },
                                            "id": 533,
                                            "name": "UserDefinedTypeName",
                                            "src": "7398:8:1"
                                          }
                                        ],
                                        "id": 534,
                                        "name": "VariableDeclaration",
                                        "src": "7398:27:1"
                                      },
                                      {
                                        "attributes": {
                                          "argumentTypes": null,
                                          "overloadedDeclarations": [
                                            null
                                          ],
                                          "referencedDeclaration": 489,
                                          "type": "struct AbsoluteVote.Proposal storage pointer",
                                          "value": "proposal"
                                        },
                                        "id": 535,
                                        "name": "Identifier",
                                        "src": "7428:8:1"
                                      }
                                    ],
                                    "id": 536,
                                    "name": "VariableDeclarationStatement",
                                    "src": "7398:38:1"
                                  },
                                  {
                                    "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_bytes32",
                                                  "typeString": "bytes32"
                                                }
                                              ],
                                              "overloadedDeclarations": [
                                                null
                                              ],
                                              "referencedDeclaration": 756,
                                              "type": "function (bytes32)",
                                              "value": "deleteProposal"
                                            },
                                            "id": 537,
                                            "name": "Identifier",
                                            "src": "7454:14:1"
                                          },
                                          {
                                            "attributes": {
                                              "argumentTypes": null,
                                              "overloadedDeclarations": [
                                                null
                                              ],
                                              "referencedDeclaration": 480,
                                              "type": "bytes32",
                                              "value": "_proposalId"
                                            },
                                            "id": 538,
                                            "name": "Identifier",
                                            "src": "7469:11:1"
                                          }
                                        ],
                                        "id": 539,
                                        "name": "FunctionCall",
                                        "src": "7454:27:1"
                                      }
                                    ],
                                    "id": 540,
                                    "name": "ExpressionStatement",
                                    "src": "7454:27:1"
                                  },
                                  {
                                    "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_bytes32",
                                                  "typeString": "bytes32"
                                                },
                                                {
                                                  "typeIdentifier": "t_uint256",
                                                  "typeString": "uint256"
                                                }
                                              ],
                                              "overloadedDeclarations": [
                                                null
                                              ],
                                              "referencedDeclaration": 121,
                                              "type": "function (bytes32,uint256)",
                                              "value": "ExecuteProposal"
                                            },
                                            "id": 541,
                                            "name": "Identifier",
                                            "src": "7499:15:1"
                                          },
                                          {
                                            "attributes": {
                                              "argumentTypes": null,
                                              "overloadedDeclarations": [
                                                null
                                              ],
                                              "referencedDeclaration": 480,
                                              "type": "bytes32",
                                              "value": "_proposalId"
                                            },
                                            "id": 542,
                                            "name": "Identifier",
                                            "src": "7515:11:1"
                                          },
                                          {
                                            "attributes": {
                                              "argumentTypes": null,
                                              "overloadedDeclarations": [
                                                null
                                              ],
                                              "referencedDeclaration": 513,
                                              "type": "uint256",
                                              "value": "cnt"
                                            },
                                            "id": 543,
                                            "name": "Identifier",
                                            "src": "7528:3:1"
                                          }
                                        ],
                                        "id": 544,
                                        "name": "FunctionCall",
                                        "src": "7499:33:1"
                                      }
                                    ],
                                    "id": 545,
                                    "name": "ExpressionStatement",
                                    "src": "7499:33:1"
                                  },
                                  {
                                    "children": [
                                      {
                                        "attributes": {
                                          "argumentTypes": null,
                                          "isConstant": false,
                                          "isLValue": false,
                                          "isPure": false,
                                          "isStructConstructorCall": false,
                                          "lValueRequested": false,
                                          "names": [
                                            null
                                          ],
                                          "type": "bool",
                                          "type_conversion": false
                                        },
                                        "children": [
                                          {
                                            "attributes": {
                                              "argumentTypes": [
                                                {
                                                  "typeIdentifier": "t_bytes32",
                                                  "typeString": "bytes32"
                                                },
                                                {
                                                  "typeIdentifier": "t_address",
                                                  "typeString": "address"
                                                },
                                                {
                                                  "typeIdentifier": "t_int256",
                                                  "typeString": "int256"
                                                }
                                              ],
                                              "isConstant": false,
                                              "isLValue": false,
                                              "isPure": false,
                                              "lValueRequested": false,
                                              "member_name": "execute",
                                              "referencedDeclaration": 8020,
                                              "type": "function (bytes32,address,int256) external returns (bool)"
                                            },
                                            "children": [
                                              {
                                                "attributes": {
                                                  "argumentTypes": null,
                                                  "isConstant": false,
                                                  "isInlineArray": false,
                                                  "isLValue": false,
                                                  "isPure": false,
                                                  "lValueRequested": false,
                                                  "type": "contract ExecutableInterface"
                                                },
                                                "children": [
                                                  {
                                                    "attributes": {
                                                      "argumentTypes": null,
                                                      "isConstant": false,
                                                      "isLValue": true,
                                                      "isPure": false,
                                                      "lValueRequested": false,
                                                      "member_name": "executable",
                                                      "referencedDeclaration": 86,
                                                      "type": "contract ExecutableInterface"
                                                    },
                                                    "children": [
                                                      {
                                                        "attributes": {
                                                          "argumentTypes": null,
                                                          "overloadedDeclarations": [
                                                            null
                                                          ],
                                                          "referencedDeclaration": 534,
                                                          "type": "struct AbsoluteVote.Proposal memory",
                                                          "value": "tmpProposal"
                                                        },
                                                        "id": 546,
                                                        "name": "Identifier",
                                                        "src": "7551:11:1"
                                                      }
                                                    ],
                                                    "id": 547,
                                                    "name": "MemberAccess",
                                                    "src": "7551:22:1"
                                                  }
                                                ],
                                                "id": 548,
                                                "name": "TupleExpression",
                                                "src": "7550:24:1"
                                              }
                                            ],
                                            "id": 549,
                                            "name": "MemberAccess",
                                            "src": "7550:32:1"
                                          },
                                          {
                                            "attributes": {
                                              "argumentTypes": null,
                                              "overloadedDeclarations": [
                                                null
                                              ],
                                              "referencedDeclaration": 480,
                                              "type": "bytes32",
                                              "value": "_proposalId"
                                            },
                                            "id": 550,
                                            "name": "Identifier",
                                            "src": "7583:11:1"
                                          },
                                          {
                                            "attributes": {
                                              "argumentTypes": null,
                                              "isConstant": false,
                                              "isLValue": true,
                                              "isPure": false,
                                              "lValueRequested": false,
                                              "member_name": "avatar",
                                              "referencedDeclaration": 82,
                                              "type": "address"
                                            },
                                            "children": [
                                              {
                                                "attributes": {
                                                  "argumentTypes": null,
                                                  "overloadedDeclarations": [
                                                    null
                                                  ],
                                                  "referencedDeclaration": 534,
                                                  "type": "struct AbsoluteVote.Proposal memory",
                                                  "value": "tmpProposal"
                                                },
                                                "id": 551,
                                                "name": "Identifier",
                                                "src": "7596:11:1"
                                              }
                                            ],
                                            "id": 552,
                                            "name": "MemberAccess",
                                            "src": "7596:18:1"
                                          },
                                          {
                                            "attributes": {
                                              "argumentTypes": null,
                                              "isConstant": false,
                                              "isLValue": false,
                                              "isPure": false,
                                              "isStructConstructorCall": false,
                                              "lValueRequested": false,
                                              "names": [
                                                null
                                              ],
                                              "type": "int256",
                                              "type_conversion": true
                                            },
                                            "children": [
                                              {
                                                "attributes": {
                                                  "argumentTypes": [
                                                    {
                                                      "typeIdentifier": "t_uint256",
                                                      "typeString": "uint256"
                                                    }
                                                  ],
                                                  "isConstant": false,
                                                  "isLValue": false,
                                                  "isPure": true,
                                                  "lValueRequested": false,
                                                  "type": "type(int256)",
                                                  "value": "int"
                                                },
                                                "id": 553,
                                                "name": "ElementaryTypeNameExpression",
                                                "src": "7616:3:1"
                                              },
                                              {
                                                "attributes": {
                                                  "argumentTypes": null,
                                                  "overloadedDeclarations": [
                                                    null
                                                  ],
                                                  "referencedDeclaration": 513,
                                                  "type": "uint256",
                                                  "value": "cnt"
                                                },
                                                "id": 554,
                                                "name": "Identifier",
                                                "src": "7620:3:1"
                                              }
                                            ],
                                            "id": 555,
                                            "name": "FunctionCall",
                                            "src": "7616:8:1"
                                          }
                                        ],
                                        "id": 556,
                                        "name": "FunctionCall",
                                        "src": "7550:75:1"
                                      }
                                    ],
                                    "id": 557,
                                    "name": "ExpressionStatement",
                                    "src": "7550:75:1"
                                  },
                                  {
                                    "attributes": {
                                      "functionReturnParameters": 487
                                    },
                                    "children": [
                                      {
                                        "attributes": {
                                          "argumentTypes": null,
                                          "hexvalue": "74727565",
                                          "isConstant": false,
                                          "isLValue": false,
                                          "isPure": true,
                                          "lValueRequested": false,
                                          "subdenomination": null,
                                          "token": "bool",
                                          "type": "bool",
                                          "value": "true"
                                        },
                                        "id": 558,
                                        "name": "Literal",
                                        "src": "7650:4:1"
                                      }
                                    ],
                                    "id": 559,
                                    "name": "Return",
                                    "src": "7643:11:1"
                                  }
                                ],
                                "id": 560,
                                "name": "Block",
                                "src": "7380:289:1"
                              }
                            ],
                            "id": 561,
                            "name": "IfStatement",
                            "src": "7325:344:1"
                          }
                        ],
                        "id": 562,
                        "name": "Block",
                        "src": "7311:368:1"
                      }
                    ],
                    "id": 563,
                    "name": "ForStatement",
                    "src": "7255:424:1"
                  },
                  {
                    "attributes": {
                      "functionReturnParameters": 487
                    },
                    "children": [
                      {
                        "attributes": {
                          "argumentTypes": null,
                          "hexvalue": "66616c7365",
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "lValueRequested": false,
                          "subdenomination": null,
                          "token": "bool",
                          "type": "bool",
                          "value": "false"
                        },
                        "id": 564,
                        "name": "Literal",
                        "src": "7695:5:1"
                      }
                    ],
                    "id": 565,
                    "name": "Return",
                    "src": "7688:12:1"
                  }
                ],
                "id": 566,
                "name": "Block",
                "src": "6981:726:1"
              }
            ],
            "id": 567,
            "name": "FunctionDefinition",
            "src": "6901:806:1"
          },
          {
            "attributes": {
              "constant": true,
              "implemented": true,
              "isConstructor": false,
              "modifiers": [
                null
              ],
              "name": "getNumberOfChoices",
              "payable": false,
              "scope": 883,
              "stateMutability": "view",
              "superFunction": 3451,
              "visibility": "public"
            },
            "children": [
              {
                "children": [
                  {
                    "attributes": {
                      "constant": false,
                      "name": "_proposalId",
                      "scope": 580,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "bytes32",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "bytes32",
                          "type": "bytes32"
                        },
                        "id": 568,
                        "name": "ElementaryTypeName",
                        "src": "7935:7:1"
                      }
                    ],
                    "id": 569,
                    "name": "VariableDeclaration",
                    "src": "7935:19:1"
                  }
                ],
                "id": 570,
                "name": "ParameterList",
                "src": "7934:21:1"
              },
              {
                "children": [
                  {
                    "attributes": {
                      "constant": false,
                      "name": "",
                      "scope": 580,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "uint256",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "uint",
                          "type": "uint256"
                        },
                        "id": 571,
                        "name": "ElementaryTypeName",
                        "src": "7980:4:1"
                      }
                    ],
                    "id": 572,
                    "name": "VariableDeclaration",
                    "src": "7980:4:1"
                  }
                ],
                "id": 573,
                "name": "ParameterList",
                "src": "7979:6:1"
              },
              {
                "children": [
                  {
                    "attributes": {
                      "functionReturnParameters": 573
                    },
                    "children": [
                      {
                        "attributes": {
                          "argumentTypes": null,
                          "isConstant": false,
                          "isLValue": true,
                          "isPure": false,
                          "lValueRequested": false,
                          "member_name": "numOfChoices",
                          "referencedDeclaration": 84,
                          "type": "uint256"
                        },
                        "children": [
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "isConstant": false,
                              "isLValue": true,
                              "isPure": false,
                              "lValueRequested": false,
                              "type": "struct AbsoluteVote.Proposal storage ref"
                            },
                            "children": [
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "overloadedDeclarations": [
                                    null
                                  ],
                                  "referencedDeclaration": 147,
                                  "type": "mapping(bytes32 => struct AbsoluteVote.Proposal storage ref)",
                                  "value": "proposals"
                                },
                                "id": 574,
                                "name": "Identifier",
                                "src": "8003:9:1"
                              },
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "overloadedDeclarations": [
                                    null
                                  ],
                                  "referencedDeclaration": 569,
                                  "type": "bytes32",
                                  "value": "_proposalId"
                                },
                                "id": 575,
                                "name": "Identifier",
                                "src": "8013:11:1"
                              }
                            ],
                            "id": 576,
                            "name": "IndexAccess",
                            "src": "8003:22:1"
                          }
                        ],
                        "id": 577,
                        "name": "MemberAccess",
                        "src": "8003:35:1"
                      }
                    ],
                    "id": 578,
                    "name": "Return",
                    "src": "7996:42:1"
                  }
                ],
                "id": 579,
                "name": "Block",
                "src": "7986:59:1"
              }
            ],
            "id": 580,
            "name": "FunctionDefinition",
            "src": "7907:138:1"
          },
          {
            "attributes": {
              "constant": true,
              "implemented": true,
              "isConstructor": false,
              "modifiers": [
                null
              ],
              "name": "voteInfo",
              "payable": false,
              "scope": 883,
              "stateMutability": "view",
              "superFunction": null,
              "visibility": "public"
            },
            "children": [
              {
                "children": [
                  {
                    "attributes": {
                      "constant": false,
                      "name": "_proposalId",
                      "scope": 607,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "bytes32",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "bytes32",
                          "type": "bytes32"
                        },
                        "id": 581,
                        "name": "ElementaryTypeName",
                        "src": "8403:7:1"
                      }
                    ],
                    "id": 582,
                    "name": "VariableDeclaration",
                    "src": "8403:19:1"
                  },
                  {
                    "attributes": {
                      "constant": false,
                      "name": "_voter",
                      "scope": 607,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "address",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "address",
                          "type": "address"
                        },
                        "id": 583,
                        "name": "ElementaryTypeName",
                        "src": "8424:7:1"
                      }
                    ],
                    "id": 584,
                    "name": "VariableDeclaration",
                    "src": "8424:14:1"
                  }
                ],
                "id": 585,
                "name": "ParameterList",
                "src": "8402:37:1"
              },
              {
                "children": [
                  {
                    "attributes": {
                      "constant": false,
                      "name": "",
                      "scope": 607,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "uint256",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "uint",
                          "type": "uint256"
                        },
                        "id": 586,
                        "name": "ElementaryTypeName",
                        "src": "8464:4:1"
                      }
                    ],
                    "id": 587,
                    "name": "VariableDeclaration",
                    "src": "8464:4:1"
                  },
                  {
                    "attributes": {
                      "constant": false,
                      "name": "",
                      "scope": 607,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "uint256",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "uint",
                          "type": "uint256"
                        },
                        "id": 588,
                        "name": "ElementaryTypeName",
                        "src": "8470:4:1"
                      }
                    ],
                    "id": 589,
                    "name": "VariableDeclaration",
                    "src": "8470:4:1"
                  }
                ],
                "id": 590,
                "name": "ParameterList",
                "src": "8463:12:1"
              },
              {
                "children": [
                  {
                    "attributes": {
                      "assignments": [
                        592
                      ]
                    },
                    "children": [
                      {
                        "attributes": {
                          "constant": false,
                          "name": "voter",
                          "scope": 607,
                          "stateVariable": false,
                          "storageLocation": "memory",
                          "type": "struct AbsoluteVote.Voter memory",
                          "value": null,
                          "visibility": "internal"
                        },
                        "children": [
                          {
                            "attributes": {
                              "contractScope": null,
                              "name": "Voter",
                              "referencedDeclaration": 78,
                              "type": "struct AbsoluteVote.Voter storage pointer"
                            },
                            "id": 591,
                            "name": "UserDefinedTypeName",
                            "src": "8486:5:1"
                          }
                        ],
                        "id": 592,
                        "name": "VariableDeclaration",
                        "src": "8486:18:1"
                      },
                      {
                        "attributes": {
                          "argumentTypes": null,
                          "isConstant": false,
                          "isLValue": true,
                          "isPure": false,
                          "lValueRequested": false,
                          "type": "struct AbsoluteVote.Voter storage ref"
                        },
                        "children": [
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "isConstant": false,
                              "isLValue": true,
                              "isPure": false,
                              "lValueRequested": false,
                              "member_name": "voters",
                              "referencedDeclaration": 98,
                              "type": "mapping(address => struct AbsoluteVote.Voter storage ref)"
                            },
                            "children": [
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "isConstant": false,
                                  "isLValue": true,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "type": "struct AbsoluteVote.Proposal storage ref"
                                },
                                "children": [
                                  {
                                    "attributes": {
                                      "argumentTypes": null,
                                      "overloadedDeclarations": [
                                        null
                                      ],
                                      "referencedDeclaration": 147,
                                      "type": "mapping(bytes32 => struct AbsoluteVote.Proposal storage ref)",
                                      "value": "proposals"
                                    },
                                    "id": 593,
                                    "name": "Identifier",
                                    "src": "8507:9:1"
                                  },
                                  {
                                    "attributes": {
                                      "argumentTypes": null,
                                      "overloadedDeclarations": [
                                        null
                                      ],
                                      "referencedDeclaration": 582,
                                      "type": "bytes32",
                                      "value": "_proposalId"
                                    },
                                    "id": 594,
                                    "name": "Identifier",
                                    "src": "8517:11:1"
                                  }
                                ],
                                "id": 595,
                                "name": "IndexAccess",
                                "src": "8507:22:1"
                              }
                            ],
                            "id": 596,
                            "name": "MemberAccess",
                            "src": "8507:29:1"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 584,
                              "type": "address",
                              "value": "_voter"
                            },
                            "id": 597,
                            "name": "Identifier",
                            "src": "8537:6:1"
                          }
                        ],
                        "id": 598,
                        "name": "IndexAccess",
                        "src": "8507:37:1"
                      }
                    ],
                    "id": 599,
                    "name": "VariableDeclarationStatement",
                    "src": "8486:58:1"
                  },
                  {
                    "attributes": {
                      "functionReturnParameters": 590
                    },
                    "children": [
                      {
                        "attributes": {
                          "argumentTypes": null,
                          "isConstant": false,
                          "isInlineArray": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "type": "tuple(uint256,uint256)"
                        },
                        "children": [
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "isConstant": false,
                              "isLValue": true,
                              "isPure": false,
                              "lValueRequested": false,
                              "member_name": "vote",
                              "referencedDeclaration": 75,
                              "type": "uint256"
                            },
                            "children": [
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "overloadedDeclarations": [
                                    null
                                  ],
                                  "referencedDeclaration": 592,
                                  "type": "struct AbsoluteVote.Voter memory",
                                  "value": "voter"
                                },
                                "id": 600,
                                "name": "Identifier",
                                "src": "8562:5:1"
                              }
                            ],
                            "id": 601,
                            "name": "MemberAccess",
                            "src": "8562:10:1"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "isConstant": false,
                              "isLValue": true,
                              "isPure": false,
                              "lValueRequested": false,
                              "member_name": "reputation",
                              "referencedDeclaration": 77,
                              "type": "uint256"
                            },
                            "children": [
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "overloadedDeclarations": [
                                    null
                                  ],
                                  "referencedDeclaration": 592,
                                  "type": "struct AbsoluteVote.Voter memory",
                                  "value": "voter"
                                },
                                "id": 602,
                                "name": "Identifier",
                                "src": "8574:5:1"
                              }
                            ],
                            "id": 603,
                            "name": "MemberAccess",
                            "src": "8574:16:1"
                          }
                        ],
                        "id": 604,
                        "name": "TupleExpression",
                        "src": "8561:30:1"
                      }
                    ],
                    "id": 605,
                    "name": "Return",
                    "src": "8554:37:1"
                  }
                ],
                "id": 606,
                "name": "Block",
                "src": "8476:122:1"
              }
            ],
            "id": 607,
            "name": "FunctionDefinition",
            "src": "8385:213:1"
          },
          {
            "attributes": {
              "constant": true,
              "implemented": true,
              "isConstructor": false,
              "modifiers": [
                null
              ],
              "name": "votesStatus",
              "payable": false,
              "scope": 883,
              "stateMutability": "view",
              "superFunction": null,
              "visibility": "public"
            },
            "children": [
              {
                "children": [
                  {
                    "attributes": {
                      "constant": false,
                      "name": "_proposalId",
                      "scope": 645,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "bytes32",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "bytes32",
                          "type": "bytes32"
                        },
                        "id": 608,
                        "name": "ElementaryTypeName",
                        "src": "8861:7:1"
                      }
                    ],
                    "id": 609,
                    "name": "VariableDeclaration",
                    "src": "8861:19:1"
                  }
                ],
                "id": 610,
                "name": "ParameterList",
                "src": "8860:21:1"
              },
              {
                "children": [
                  {
                    "attributes": {
                      "constant": false,
                      "name": "votes",
                      "scope": 645,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "uint256[11] memory",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "type": "uint256[11] storage pointer"
                        },
                        "children": [
                          {
                            "attributes": {
                              "name": "uint",
                              "type": "uint256"
                            },
                            "id": 611,
                            "name": "ElementaryTypeName",
                            "src": "8906:4:1"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "hexvalue": "3131",
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "lValueRequested": false,
                              "subdenomination": null,
                              "token": "number",
                              "type": "int_const 11",
                              "value": "11"
                            },
                            "id": 612,
                            "name": "Literal",
                            "src": "8911:2:1"
                          }
                        ],
                        "id": 613,
                        "name": "ArrayTypeName",
                        "src": "8906:8:1"
                      }
                    ],
                    "id": 614,
                    "name": "VariableDeclaration",
                    "src": "8906:14:1"
                  }
                ],
                "id": 615,
                "name": "ParameterList",
                "src": "8905:16:1"
              },
              {
                "children": [
                  {
                    "attributes": {
                      "assignments": [
                        617
                      ]
                    },
                    "children": [
                      {
                        "attributes": {
                          "constant": false,
                          "name": "proposal",
                          "scope": 645,
                          "stateVariable": false,
                          "storageLocation": "storage",
                          "type": "struct AbsoluteVote.Proposal storage pointer",
                          "value": null,
                          "visibility": "internal"
                        },
                        "children": [
                          {
                            "attributes": {
                              "contractScope": null,
                              "name": "Proposal",
                              "referencedDeclaration": 101,
                              "type": "struct AbsoluteVote.Proposal storage pointer"
                            },
                            "id": 616,
                            "name": "UserDefinedTypeName",
                            "src": "8932:8:1"
                          }
                        ],
                        "id": 617,
                        "name": "VariableDeclaration",
                        "src": "8932:25:1"
                      },
                      {
                        "attributes": {
                          "argumentTypes": null,
                          "isConstant": false,
                          "isLValue": true,
                          "isPure": false,
                          "lValueRequested": false,
                          "type": "struct AbsoluteVote.Proposal storage ref"
                        },
                        "children": [
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 147,
                              "type": "mapping(bytes32 => struct AbsoluteVote.Proposal storage ref)",
                              "value": "proposals"
                            },
                            "id": 618,
                            "name": "Identifier",
                            "src": "8960:9:1"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 609,
                              "type": "bytes32",
                              "value": "_proposalId"
                            },
                            "id": 619,
                            "name": "Identifier",
                            "src": "8970:11:1"
                          }
                        ],
                        "id": 620,
                        "name": "IndexAccess",
                        "src": "8960:22:1"
                      }
                    ],
                    "id": 621,
                    "name": "VariableDeclarationStatement",
                    "src": "8932:50:1"
                  },
                  {
                    "children": [
                      {
                        "attributes": {
                          "assignments": [
                            623
                          ]
                        },
                        "children": [
                          {
                            "attributes": {
                              "constant": false,
                              "name": "cnt",
                              "scope": 645,
                              "stateVariable": false,
                              "storageLocation": "default",
                              "type": "uint256",
                              "value": null,
                              "visibility": "internal"
                            },
                            "children": [
                              {
                                "attributes": {
                                  "name": "uint",
                                  "type": "uint256"
                                },
                                "id": 622,
                                "name": "ElementaryTypeName",
                                "src": "8997:4:1"
                              }
                            ],
                            "id": 623,
                            "name": "VariableDeclaration",
                            "src": "8997:8:1"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "hexvalue": "30",
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "lValueRequested": false,
                              "subdenomination": null,
                              "token": "number",
                              "type": "int_const 0",
                              "value": "0"
                            },
                            "id": 624,
                            "name": "Literal",
                            "src": "9008:1:1"
                          }
                        ],
                        "id": 625,
                        "name": "VariableDeclarationStatement",
                        "src": "8997:12:1"
                      },
                      {
                        "attributes": {
                          "argumentTypes": null,
                          "commonType": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          },
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "operator": "<=",
                          "type": "bool"
                        },
                        "children": [
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 623,
                              "type": "uint256",
                              "value": "cnt"
                            },
                            "id": 626,
                            "name": "Identifier",
                            "src": "9011:3:1"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "isConstant": false,
                              "isLValue": true,
                              "isPure": false,
                              "lValueRequested": false,
                              "member_name": "numOfChoices",
                              "referencedDeclaration": 84,
                              "type": "uint256"
                            },
                            "children": [
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "overloadedDeclarations": [
                                    null
                                  ],
                                  "referencedDeclaration": 617,
                                  "type": "struct AbsoluteVote.Proposal storage pointer",
                                  "value": "proposal"
                                },
                                "id": 627,
                                "name": "Identifier",
                                "src": "9018:8:1"
                              }
                            ],
                            "id": 628,
                            "name": "MemberAccess",
                            "src": "9018:21:1"
                          }
                        ],
                        "id": 629,
                        "name": "BinaryOperation",
                        "src": "9011:28:1"
                      },
                      {
                        "children": [
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "lValueRequested": false,
                              "operator": "++",
                              "prefix": false,
                              "type": "uint256"
                            },
                            "children": [
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "overloadedDeclarations": [
                                    null
                                  ],
                                  "referencedDeclaration": 623,
                                  "type": "uint256",
                                  "value": "cnt"
                                },
                                "id": 630,
                                "name": "Identifier",
                                "src": "9041:3:1"
                              }
                            ],
                            "id": 631,
                            "name": "UnaryOperation",
                            "src": "9041:5:1"
                          }
                        ],
                        "id": 632,
                        "name": "ExpressionStatement",
                        "src": "9041:5:1"
                      },
                      {
                        "children": [
                          {
                            "children": [
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "operator": "=",
                                  "type": "uint256"
                                },
                                "children": [
                                  {
                                    "attributes": {
                                      "argumentTypes": null,
                                      "isConstant": false,
                                      "isLValue": true,
                                      "isPure": false,
                                      "lValueRequested": true,
                                      "type": "uint256"
                                    },
                                    "children": [
                                      {
                                        "attributes": {
                                          "argumentTypes": null,
                                          "overloadedDeclarations": [
                                            null
                                          ],
                                          "referencedDeclaration": 614,
                                          "type": "uint256[11] memory",
                                          "value": "votes"
                                        },
                                        "id": 633,
                                        "name": "Identifier",
                                        "src": "9062:5:1"
                                      },
                                      {
                                        "attributes": {
                                          "argumentTypes": null,
                                          "overloadedDeclarations": [
                                            null
                                          ],
                                          "referencedDeclaration": 623,
                                          "type": "uint256",
                                          "value": "cnt"
                                        },
                                        "id": 634,
                                        "name": "Identifier",
                                        "src": "9068:3:1"
                                      }
                                    ],
                                    "id": 635,
                                    "name": "IndexAccess",
                                    "src": "9062:10:1"
                                  },
                                  {
                                    "attributes": {
                                      "argumentTypes": null,
                                      "isConstant": false,
                                      "isLValue": true,
                                      "isPure": false,
                                      "lValueRequested": false,
                                      "type": "uint256"
                                    },
                                    "children": [
                                      {
                                        "attributes": {
                                          "argumentTypes": null,
                                          "isConstant": false,
                                          "isLValue": true,
                                          "isPure": false,
                                          "lValueRequested": false,
                                          "member_name": "votes",
                                          "referencedDeclaration": 94,
                                          "type": "mapping(uint256 => uint256)"
                                        },
                                        "children": [
                                          {
                                            "attributes": {
                                              "argumentTypes": null,
                                              "overloadedDeclarations": [
                                                null
                                              ],
                                              "referencedDeclaration": 617,
                                              "type": "struct AbsoluteVote.Proposal storage pointer",
                                              "value": "proposal"
                                            },
                                            "id": 636,
                                            "name": "Identifier",
                                            "src": "9075:8:1"
                                          }
                                        ],
                                        "id": 637,
                                        "name": "MemberAccess",
                                        "src": "9075:14:1"
                                      },
                                      {
                                        "attributes": {
                                          "argumentTypes": null,
                                          "overloadedDeclarations": [
                                            null
                                          ],
                                          "referencedDeclaration": 623,
                                          "type": "uint256",
                                          "value": "cnt"
                                        },
                                        "id": 638,
                                        "name": "Identifier",
                                        "src": "9090:3:1"
                                      }
                                    ],
                                    "id": 639,
                                    "name": "IndexAccess",
                                    "src": "9075:19:1"
                                  }
                                ],
                                "id": 640,
                                "name": "Assignment",
                                "src": "9062:32:1"
                              }
                            ],
                            "id": 641,
                            "name": "ExpressionStatement",
                            "src": "9062:32:1"
                          }
                        ],
                        "id": 642,
                        "name": "Block",
                        "src": "9048:57:1"
                      }
                    ],
                    "id": 643,
                    "name": "ForStatement",
                    "src": "8992:113:1"
                  }
                ],
                "id": 644,
                "name": "Block",
                "src": "8922:189:1"
              }
            ],
            "id": 645,
            "name": "FunctionDefinition",
            "src": "8840:271:1"
          },
          {
            "attributes": {
              "constant": true,
              "implemented": true,
              "isConstructor": false,
              "modifiers": [
                null
              ],
              "name": "isVotable",
              "payable": false,
              "scope": 883,
              "stateMutability": "view",
              "superFunction": 3458,
              "visibility": "public"
            },
            "children": [
              {
                "children": [
                  {
                    "attributes": {
                      "constant": false,
                      "name": "_proposalId",
                      "scope": 658,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "bytes32",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "bytes32",
                          "type": "bytes32"
                        },
                        "id": 646,
                        "name": "ElementaryTypeName",
                        "src": "9292:7:1"
                      }
                    ],
                    "id": 647,
                    "name": "VariableDeclaration",
                    "src": "9292:19:1"
                  }
                ],
                "id": 648,
                "name": "ParameterList",
                "src": "9291:21:1"
              },
              {
                "children": [
                  {
                    "attributes": {
                      "constant": false,
                      "name": "",
                      "scope": 658,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "bool",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "bool",
                          "type": "bool"
                        },
                        "id": 649,
                        "name": "ElementaryTypeName",
                        "src": "9337:4:1"
                      }
                    ],
                    "id": 650,
                    "name": "VariableDeclaration",
                    "src": "9337:4:1"
                  }
                ],
                "id": 651,
                "name": "ParameterList",
                "src": "9336:6:1"
              },
              {
                "children": [
                  {
                    "attributes": {
                      "functionReturnParameters": 651
                    },
                    "children": [
                      {
                        "attributes": {
                          "argumentTypes": null,
                          "isConstant": false,
                          "isLValue": true,
                          "isPure": false,
                          "lValueRequested": false,
                          "member_name": "open",
                          "referencedDeclaration": 100,
                          "type": "bool"
                        },
                        "children": [
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "isConstant": false,
                              "isLValue": true,
                              "isPure": false,
                              "lValueRequested": false,
                              "type": "struct AbsoluteVote.Proposal storage ref"
                            },
                            "children": [
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "overloadedDeclarations": [
                                    null
                                  ],
                                  "referencedDeclaration": 147,
                                  "type": "mapping(bytes32 => struct AbsoluteVote.Proposal storage ref)",
                                  "value": "proposals"
                                },
                                "id": 652,
                                "name": "Identifier",
                                "src": "9361:9:1"
                              },
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "overloadedDeclarations": [
                                    null
                                  ],
                                  "referencedDeclaration": 647,
                                  "type": "bytes32",
                                  "value": "_proposalId"
                                },
                                "id": 653,
                                "name": "Identifier",
                                "src": "9371:11:1"
                              }
                            ],
                            "id": 654,
                            "name": "IndexAccess",
                            "src": "9361:22:1"
                          }
                        ],
                        "id": 655,
                        "name": "MemberAccess",
                        "src": "9361:27:1"
                      }
                    ],
                    "id": 656,
                    "name": "Return",
                    "src": "9353:35:1"
                  }
                ],
                "id": 657,
                "name": "Block",
                "src": "9343:52:1"
              }
            ],
            "id": 658,
            "name": "FunctionDefinition",
            "src": "9273:122:1"
          },
          {
            "attributes": {
              "constant": false,
              "implemented": true,
              "isConstructor": false,
              "modifiers": [
                null
              ],
              "name": "cancelVoteInternal",
              "payable": false,
              "scope": 883,
              "stateMutability": "nonpayable",
              "superFunction": null,
              "visibility": "internal"
            },
            "children": [
              {
                "children": [
                  {
                    "attributes": {
                      "constant": false,
                      "name": "_proposalId",
                      "scope": 720,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "bytes32",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "bytes32",
                          "type": "bytes32"
                        },
                        "id": 659,
                        "name": "ElementaryTypeName",
                        "src": "9429:7:1"
                      }
                    ],
                    "id": 660,
                    "name": "VariableDeclaration",
                    "src": "9429:19:1"
                  },
                  {
                    "attributes": {
                      "constant": false,
                      "name": "_voter",
                      "scope": 720,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "address",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "address",
                          "type": "address"
                        },
                        "id": 661,
                        "name": "ElementaryTypeName",
                        "src": "9450:7:1"
                      }
                    ],
                    "id": 662,
                    "name": "VariableDeclaration",
                    "src": "9450:14:1"
                  }
                ],
                "id": 663,
                "name": "ParameterList",
                "src": "9428:37:1"
              },
              {
                "attributes": {
                  "parameters": [
                    null
                  ]
                },
                "children": [],
                "id": 664,
                "name": "ParameterList",
                "src": "9475:0:1"
              },
              {
                "children": [
                  {
                    "attributes": {
                      "assignments": [
                        666
                      ]
                    },
                    "children": [
                      {
                        "attributes": {
                          "constant": false,
                          "name": "proposal",
                          "scope": 720,
                          "stateVariable": false,
                          "storageLocation": "storage",
                          "type": "struct AbsoluteVote.Proposal storage pointer",
                          "value": null,
                          "visibility": "internal"
                        },
                        "children": [
                          {
                            "attributes": {
                              "contractScope": null,
                              "name": "Proposal",
                              "referencedDeclaration": 101,
                              "type": "struct AbsoluteVote.Proposal storage pointer"
                            },
                            "id": 665,
                            "name": "UserDefinedTypeName",
                            "src": "9485:8:1"
                          }
                        ],
                        "id": 666,
                        "name": "VariableDeclaration",
                        "src": "9485:25:1"
                      },
                      {
                        "attributes": {
                          "argumentTypes": null,
                          "isConstant": false,
                          "isLValue": true,
                          "isPure": false,
                          "lValueRequested": false,
                          "type": "struct AbsoluteVote.Proposal storage ref"
                        },
                        "children": [
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 147,
                              "type": "mapping(bytes32 => struct AbsoluteVote.Proposal storage ref)",
                              "value": "proposals"
                            },
                            "id": 667,
                            "name": "Identifier",
                            "src": "9513:9:1"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 660,
                              "type": "bytes32",
                              "value": "_proposalId"
                            },
                            "id": 668,
                            "name": "Identifier",
                            "src": "9523:11:1"
                          }
                        ],
                        "id": 669,
                        "name": "IndexAccess",
                        "src": "9513:22:1"
                      }
                    ],
                    "id": 670,
                    "name": "VariableDeclarationStatement",
                    "src": "9485:50:1"
                  },
                  {
                    "attributes": {
                      "assignments": [
                        672
                      ]
                    },
                    "children": [
                      {
                        "attributes": {
                          "constant": false,
                          "name": "voter",
                          "scope": 720,
                          "stateVariable": false,
                          "storageLocation": "memory",
                          "type": "struct AbsoluteVote.Voter memory",
                          "value": null,
                          "visibility": "internal"
                        },
                        "children": [
                          {
                            "attributes": {
                              "contractScope": null,
                              "name": "Voter",
                              "referencedDeclaration": 78,
                              "type": "struct AbsoluteVote.Voter storage pointer"
                            },
                            "id": 671,
                            "name": "UserDefinedTypeName",
                            "src": "9545:5:1"
                          }
                        ],
                        "id": 672,
                        "name": "VariableDeclaration",
                        "src": "9545:18:1"
                      },
                      {
                        "attributes": {
                          "argumentTypes": null,
                          "isConstant": false,
                          "isLValue": true,
                          "isPure": false,
                          "lValueRequested": false,
                          "type": "struct AbsoluteVote.Voter storage ref"
                        },
                        "children": [
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "isConstant": false,
                              "isLValue": true,
                              "isPure": false,
                              "lValueRequested": false,
                              "member_name": "voters",
                              "referencedDeclaration": 98,
                              "type": "mapping(address => struct AbsoluteVote.Voter storage ref)"
                            },
                            "children": [
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "overloadedDeclarations": [
                                    null
                                  ],
                                  "referencedDeclaration": 666,
                                  "type": "struct AbsoluteVote.Proposal storage pointer",
                                  "value": "proposal"
                                },
                                "id": 673,
                                "name": "Identifier",
                                "src": "9566:8:1"
                              }
                            ],
                            "id": 674,
                            "name": "MemberAccess",
                            "src": "9566:15:1"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 662,
                              "type": "address",
                              "value": "_voter"
                            },
                            "id": 675,
                            "name": "Identifier",
                            "src": "9582:6:1"
                          }
                        ],
                        "id": 676,
                        "name": "IndexAccess",
                        "src": "9566:23:1"
                      }
                    ],
                    "id": 677,
                    "name": "VariableDeclarationStatement",
                    "src": "9545:44:1"
                  },
                  {
                    "children": [
                      {
                        "attributes": {
                          "argumentTypes": null,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "operator": "=",
                          "type": "uint256"
                        },
                        "children": [
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "isConstant": false,
                              "isLValue": true,
                              "isPure": false,
                              "lValueRequested": true,
                              "type": "uint256"
                            },
                            "children": [
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "isConstant": false,
                                  "isLValue": true,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "member_name": "votes",
                                  "referencedDeclaration": 94,
                                  "type": "mapping(uint256 => uint256)"
                                },
                                "children": [
                                  {
                                    "attributes": {
                                      "argumentTypes": null,
                                      "overloadedDeclarations": [
                                        null
                                      ],
                                      "referencedDeclaration": 666,
                                      "type": "struct AbsoluteVote.Proposal storage pointer",
                                      "value": "proposal"
                                    },
                                    "id": 678,
                                    "name": "Identifier",
                                    "src": "9599:8:1"
                                  }
                                ],
                                "id": 682,
                                "name": "MemberAccess",
                                "src": "9599:14:1"
                              },
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "isConstant": false,
                                  "isLValue": true,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "member_name": "vote",
                                  "referencedDeclaration": 75,
                                  "type": "uint256"
                                },
                                "children": [
                                  {
                                    "attributes": {
                                      "argumentTypes": null,
                                      "overloadedDeclarations": [
                                        null
                                      ],
                                      "referencedDeclaration": 672,
                                      "type": "struct AbsoluteVote.Voter memory",
                                      "value": "voter"
                                    },
                                    "id": 680,
                                    "name": "Identifier",
                                    "src": "9614:5:1"
                                  }
                                ],
                                "id": 681,
                                "name": "MemberAccess",
                                "src": "9614:10:1"
                              }
                            ],
                            "id": 683,
                            "name": "IndexAccess",
                            "src": "9599:26:1"
                          },
                          {
                            "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": "sub",
                                  "referencedDeclaration": 11340,
                                  "type": "function (uint256,uint256) pure returns (uint256)"
                                },
                                "children": [
                                  {
                                    "attributes": {
                                      "argumentTypes": null,
                                      "isConstant": false,
                                      "isInlineArray": false,
                                      "isLValue": false,
                                      "isPure": false,
                                      "lValueRequested": false,
                                      "type": "uint256"
                                    },
                                    "children": [
                                      {
                                        "attributes": {
                                          "argumentTypes": null,
                                          "isConstant": false,
                                          "isLValue": true,
                                          "isPure": false,
                                          "lValueRequested": false,
                                          "type": "uint256"
                                        },
                                        "children": [
                                          {
                                            "attributes": {
                                              "argumentTypes": null,
                                              "isConstant": false,
                                              "isLValue": true,
                                              "isPure": false,
                                              "lValueRequested": false,
                                              "member_name": "votes",
                                              "referencedDeclaration": 94,
                                              "type": "mapping(uint256 => uint256)"
                                            },
                                            "children": [
                                              {
                                                "attributes": {
                                                  "argumentTypes": null,
                                                  "overloadedDeclarations": [
                                                    null
                                                  ],
                                                  "referencedDeclaration": 666,
                                                  "type": "struct AbsoluteVote.Proposal storage pointer",
                                                  "value": "proposal"
                                                },
                                                "id": 684,
                                                "name": "Identifier",
                                                "src": "9629:8:1"
                                              }
                                            ],
                                            "id": 685,
                                            "name": "MemberAccess",
                                            "src": "9629:14:1"
                                          },
                                          {
                                            "attributes": {
                                              "argumentTypes": null,
                                              "isConstant": false,
                                              "isLValue": true,
                                              "isPure": false,
                                              "lValueRequested": false,
                                              "member_name": "vote",
                                              "referencedDeclaration": 75,
                                              "type": "uint256"
                                            },
                                            "children": [
                                              {
                                                "attributes": {
                                                  "argumentTypes": null,
                                                  "overloadedDeclarations": [
                                                    null
                                                  ],
                                                  "referencedDeclaration": 672,
                                                  "type": "struct AbsoluteVote.Voter memory",
                                                  "value": "voter"
                                                },
                                                "id": 686,
                                                "name": "Identifier",
                                                "src": "9644:5:1"
                                              }
                                            ],
                                            "id": 687,
                                            "name": "MemberAccess",
                                            "src": "9644:10:1"
                                          }
                                        ],
                                        "id": 688,
                                        "name": "IndexAccess",
                                        "src": "9629:26:1"
                                      }
                                    ],
                                    "id": 689,
                                    "name": "TupleExpression",
                                    "src": "9628:28:1"
                                  }
                                ],
                                "id": 690,
                                "name": "MemberAccess",
                                "src": "9628:32:1"
                              },
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "isConstant": false,
                                  "isLValue": true,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "member_name": "reputation",
                                  "referencedDeclaration": 77,
                                  "type": "uint256"
                                },
                                "children": [
                                  {
                                    "attributes": {
                                      "argumentTypes": null,
                                      "overloadedDeclarations": [
                                        null
                                      ],
                                      "referencedDeclaration": 672,
                                      "type": "struct AbsoluteVote.Voter memory",
                                      "value": "voter"
                                    },
                                    "id": 691,
                                    "name": "Identifier",
                                    "src": "9661:5:1"
                                  }
                                ],
                                "id": 692,
                                "name": "MemberAccess",
                                "src": "9661:16:1"
                              }
                            ],
                            "id": 693,
                            "name": "FunctionCall",
                            "src": "9628:50:1"
                          }
                        ],
                        "id": 694,
                        "name": "Assignment",
                        "src": "9599:79:1"
                      }
                    ],
                    "id": 695,
                    "name": "ExpressionStatement",
                    "src": "9599:79:1"
                  },
                  {
                    "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,
                              "member_name": "totalVotes",
                              "referencedDeclaration": 90,
                              "type": "uint256"
                            },
                            "children": [
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "overloadedDeclarations": [
                                    null
                                  ],
                                  "referencedDeclaration": 666,
                                  "type": "struct AbsoluteVote.Proposal storage pointer",
                                  "value": "proposal"
                                },
                                "id": 696,
                                "name": "Identifier",
                                "src": "9688:8:1"
                              }
                            ],
                            "id": 698,
                            "name": "MemberAccess",
                            "src": "9688:19:1"
                          },
                          {
                            "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": "sub",
                                  "referencedDeclaration": 11340,
                                  "type": "function (uint256,uint256) pure returns (uint256)"
                                },
                                "children": [
                                  {
                                    "attributes": {
                                      "argumentTypes": null,
                                      "isConstant": false,
                                      "isInlineArray": false,
                                      "isLValue": false,
                                      "isPure": false,
                                      "lValueRequested": false,
                                      "type": "uint256"
                                    },
                                    "children": [
                                      {
                                        "attributes": {
                                          "argumentTypes": null,
                                          "isConstant": false,
                                          "isLValue": true,
                                          "isPure": false,
                                          "lValueRequested": false,
                                          "member_name": "totalVotes",
                                          "referencedDeclaration": 90,
                                          "type": "uint256"
                                        },
                                        "children": [
                                          {
                                            "attributes": {
                                              "argumentTypes": null,
                                              "overloadedDeclarations": [
                                                null
                                              ],
                                              "referencedDeclaration": 666,
                                              "type": "struct AbsoluteVote.Proposal storage pointer",
                                              "value": "proposal"
                                            },
                                            "id": 699,
                                            "name": "Identifier",
                                            "src": "9711:8:1"
                                          }
                                        ],
                                        "id": 700,
                                        "name": "MemberAccess",
                                        "src": "9711:19:1"
                                      }
                                    ],
                                    "id": 701,
                                    "name": "TupleExpression",
                                    "src": "9710:21:1"
                                  }
                                ],
                                "id": 702,
                                "name": "MemberAccess",
                                "src": "9710:25:1"
                              },
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "isConstant": false,
                                  "isLValue": true,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "member_name": "reputation",
                                  "referencedDeclaration": 77,
                                  "type": "uint256"
                                },
                                "children": [
                                  {
                                    "attributes": {
                                      "argumentTypes": null,
                                      "overloadedDeclarations": [
                                        null
                                      ],
                                      "referencedDeclaration": 672,
                                      "type": "struct AbsoluteVote.Voter memory",
                                      "value": "voter"
                                    },
                                    "id": 703,
                                    "name": "Identifier",
                                    "src": "9736:5:1"
                                  }
                                ],
                                "id": 704,
                                "name": "MemberAccess",
                                "src": "9736:16:1"
                              }
                            ],
                            "id": 705,
                            "name": "FunctionCall",
                            "src": "9710:43:1"
                          }
                        ],
                        "id": 706,
                        "name": "Assignment",
                        "src": "9688:65:1"
                      }
                    ],
                    "id": 707,
                    "name": "ExpressionStatement",
                    "src": "9688:65:1"
                  },
                  {
                    "children": [
                      {
                        "attributes": {
                          "argumentTypes": null,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "operator": "delete",
                          "prefix": true,
                          "type": "tuple()"
                        },
                        "children": [
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "isConstant": false,
                              "isLValue": true,
                              "isPure": false,
                              "lValueRequested": true,
                              "type": "struct AbsoluteVote.Voter storage ref"
                            },
                            "children": [
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "isConstant": false,
                                  "isLValue": true,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "member_name": "voters",
                                  "referencedDeclaration": 98,
                                  "type": "mapping(address => struct AbsoluteVote.Voter storage ref)"
                                },
                                "children": [
                                  {
                                    "attributes": {
                                      "argumentTypes": null,
                                      "overloadedDeclarations": [
                                        null
                                      ],
                                      "referencedDeclaration": 666,
                                      "type": "struct AbsoluteVote.Proposal storage pointer",
                                      "value": "proposal"
                                    },
                                    "id": 708,
                                    "name": "Identifier",
                                    "src": "9770:8:1"
                                  }
                                ],
                                "id": 709,
                                "name": "MemberAccess",
                                "src": "9770:15:1"
                              },
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "overloadedDeclarations": [
                                    null
                                  ],
                                  "referencedDeclaration": 662,
                                  "type": "address",
                                  "value": "_voter"
                                },
                                "id": 710,
                                "name": "Identifier",
                                "src": "9786:6:1"
                              }
                            ],
                            "id": 711,
                            "name": "IndexAccess",
                            "src": "9770:23:1"
                          }
                        ],
                        "id": 712,
                        "name": "UnaryOperation",
                        "src": "9763:30:1"
                      }
                    ],
                    "id": 713,
                    "name": "ExpressionStatement",
                    "src": "9763:30:1"
                  },
                  {
                    "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_bytes32",
                                  "typeString": "bytes32"
                                },
                                {
                                  "typeIdentifier": "t_address",
                                  "typeString": "address"
                                }
                              ],
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 139,
                              "type": "function (bytes32,address)",
                              "value": "CancelVoting"
                            },
                            "id": 714,
                            "name": "Identifier",
                            "src": "9803:12:1"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 660,
                              "type": "bytes32",
                              "value": "_proposalId"
                            },
                            "id": 715,
                            "name": "Identifier",
                            "src": "9816:11:1"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 662,
                              "type": "address",
                              "value": "_voter"
                            },
                            "id": 716,
                            "name": "Identifier",
                            "src": "9829:6:1"
                          }
                        ],
                        "id": 717,
                        "name": "FunctionCall",
                        "src": "9803:33:1"
                      }
                    ],
                    "id": 718,
                    "name": "ExpressionStatement",
                    "src": "9803:33:1"
                  }
                ],
                "id": 719,
                "name": "Block",
                "src": "9475:368:1"
              }
            ],
            "id": 720,
            "name": "FunctionDefinition",
            "src": "9401:442:1"
          },
          {
            "attributes": {
              "constant": false,
              "implemented": true,
              "isConstructor": false,
              "modifiers": [
                null
              ],
              "name": "deleteProposal",
              "payable": false,
              "scope": 883,
              "stateMutability": "nonpayable",
              "superFunction": null,
              "visibility": "private"
            },
            "children": [
              {
                "children": [
                  {
                    "attributes": {
                      "constant": false,
                      "name": "_proposalId",
                      "scope": 756,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "bytes32",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "bytes32",
                          "type": "bytes32"
                        },
                        "id": 721,
                        "name": "ElementaryTypeName",
                        "src": "9873:7:1"
                      }
                    ],
                    "id": 722,
                    "name": "VariableDeclaration",
                    "src": "9873:19:1"
                  }
                ],
                "id": 723,
                "name": "ParameterList",
                "src": "9872:21:1"
              },
              {
                "attributes": {
                  "parameters": [
                    null
                  ]
                },
                "children": [],
                "id": 724,
                "name": "ParameterList",
                "src": "9902:0:1"
              },
              {
                "children": [
                  {
                    "attributes": {
                      "assignments": [
                        726
                      ]
                    },
                    "children": [
                      {
                        "attributes": {
                          "constant": false,
                          "name": "proposal",
                          "scope": 756,
                          "stateVariable": false,
                          "storageLocation": "storage",
                          "type": "struct AbsoluteVote.Proposal storage pointer",
                          "value": null,
                          "visibility": "internal"
                        },
                        "children": [
                          {
                            "attributes": {
                              "contractScope": null,
                              "name": "Proposal",
                              "referencedDeclaration": 101,
                              "type": "struct AbsoluteVote.Proposal storage pointer"
                            },
                            "id": 725,
                            "name": "UserDefinedTypeName",
                            "src": "9912:8:1"
                          }
                        ],
                        "id": 726,
                        "name": "VariableDeclaration",
                        "src": "9912:25:1"
                      },
                      {
                        "attributes": {
                          "argumentTypes": null,
                          "isConstant": false,
                          "isLValue": true,
                          "isPure": false,
                          "lValueRequested": false,
                          "type": "struct AbsoluteVote.Proposal storage ref"
                        },
                        "children": [
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 147,
                              "type": "mapping(bytes32 => struct AbsoluteVote.Proposal storage ref)",
                              "value": "proposals"
                            },
                            "id": 727,
                            "name": "Identifier",
                            "src": "9940:9:1"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 722,
                              "type": "bytes32",
                              "value": "_proposalId"
                            },
                            "id": 728,
                            "name": "Identifier",
                            "src": "9950:11:1"
                          }
                        ],
                        "id": 729,
                        "name": "IndexAccess",
                        "src": "9940:22:1"
                      }
                    ],
                    "id": 730,
                    "name": "VariableDeclarationStatement",
                    "src": "9912:50:1"
                  },
                  {
                    "children": [
                      {
                        "attributes": {
                          "assignments": [
                            732
                          ]
                        },
                        "children": [
                          {
                            "attributes": {
                              "constant": false,
                              "name": "cnt",
                              "scope": 756,
                              "stateVariable": false,
                              "storageLocation": "default",
                              "type": "uint256",
                              "value": null,
                              "visibility": "internal"
                            },
                            "children": [
                              {
                                "attributes": {
                                  "name": "uint",
                                  "type": "uint256"
                                },
                                "id": 731,
                                "name": "ElementaryTypeName",
                                "src": "9977:4:1"
                              }
                            ],
                            "id": 732,
                            "name": "VariableDeclaration",
                            "src": "9977:8:1"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "hexvalue": "30",
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "lValueRequested": false,
                              "subdenomination": null,
                              "token": "number",
                              "type": "int_const 0",
                              "value": "0"
                            },
                            "id": 733,
                            "name": "Literal",
                            "src": "9988:1:1"
                          }
                        ],
                        "id": 734,
                        "name": "VariableDeclarationStatement",
                        "src": "9977:12:1"
                      },
                      {
                        "attributes": {
                          "argumentTypes": null,
                          "commonType": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          },
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "operator": "<=",
                          "type": "bool"
                        },
                        "children": [
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 732,
                              "type": "uint256",
                              "value": "cnt"
                            },
                            "id": 735,
                            "name": "Identifier",
                            "src": "9991:3:1"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "isConstant": false,
                              "isLValue": true,
                              "isPure": false,
                              "lValueRequested": false,
                              "member_name": "numOfChoices",
                              "referencedDeclaration": 84,
                              "type": "uint256"
                            },
                            "children": [
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "overloadedDeclarations": [
                                    null
                                  ],
                                  "referencedDeclaration": 726,
                                  "type": "struct AbsoluteVote.Proposal storage pointer",
                                  "value": "proposal"
                                },
                                "id": 736,
                                "name": "Identifier",
                                "src": "9998:8:1"
                              }
                            ],
                            "id": 737,
                            "name": "MemberAccess",
                            "src": "9998:21:1"
                          }
                        ],
                        "id": 738,
                        "name": "BinaryOperation",
                        "src": "9991:28:1"
                      },
                      {
                        "children": [
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "lValueRequested": false,
                              "operator": "++",
                              "prefix": false,
                              "type": "uint256"
                            },
                            "children": [
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "overloadedDeclarations": [
                                    null
                                  ],
                                  "referencedDeclaration": 732,
                                  "type": "uint256",
                                  "value": "cnt"
                                },
                                "id": 739,
                                "name": "Identifier",
                                "src": "10021:3:1"
                              }
                            ],
                            "id": 740,
                            "name": "UnaryOperation",
                            "src": "10021:5:1"
                          }
                        ],
                        "id": 741,
                        "name": "ExpressionStatement",
                        "src": "10021:5:1"
                      },
                      {
                        "children": [
                          {
                            "children": [
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "operator": "delete",
                                  "prefix": true,
                                  "type": "tuple()"
                                },
                                "children": [
                                  {
                                    "attributes": {
                                      "argumentTypes": null,
                                      "isConstant": false,
                                      "isLValue": true,
                                      "isPure": false,
                                      "lValueRequested": true,
                                      "type": "uint256"
                                    },
                                    "children": [
                                      {
                                        "attributes": {
                                          "argumentTypes": null,
                                          "isConstant": false,
                                          "isLValue": true,
                                          "isPure": false,
                                          "lValueRequested": false,
                                          "member_name": "votes",
                                          "referencedDeclaration": 94,
                                          "type": "mapping(uint256 => uint256)"
                                        },
                                        "children": [
                                          {
                                            "attributes": {
                                              "argumentTypes": null,
                                              "overloadedDeclarations": [
                                                null
                                              ],
                                              "referencedDeclaration": 726,
                                              "type": "struct AbsoluteVote.Proposal storage pointer",
                                              "value": "proposal"
                                            },
                                            "id": 742,
                                            "name": "Identifier",
                                            "src": "10049:8:1"
                                          }
                                        ],
                                        "id": 743,
                                        "name": "MemberAccess",
                                        "src": "10049:14:1"
                                      },
                                      {
                                        "attributes": {
                                          "argumentTypes": null,
                                          "overloadedDeclarations": [
                                            null
                                          ],
                                          "referencedDeclaration": 732,
                                          "type": "uint256",
                                          "value": "cnt"
                                        },
                                        "id": 744,
                                        "name": "Identifier",
                                        "src": "10064:3:1"
                                      }
                                    ],
                                    "id": 745,
                                    "name": "IndexAccess",
                                    "src": "10049:19:1"
                                  }
                                ],
                                "id": 746,
                                "name": "UnaryOperation",
                                "src": "10042:26:1"
                              }
                            ],
                            "id": 747,
                            "name": "ExpressionStatement",
                            "src": "10042:26:1"
                          }
                        ],
                        "id": 748,
                        "name": "Block",
                        "src": "10028:51:1"
                      }
                    ],
                    "id": 749,
                    "name": "ForStatement",
                    "src": "9972:107:1"
                  },
                  {
                    "children": [
                      {
                        "attributes": {
                          "argumentTypes": null,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "operator": "delete",
                          "prefix": true,
                          "type": "tuple()"
                        },
                        "children": [
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "isConstant": false,
                              "isLValue": true,
                              "isPure": false,
                              "lValueRequested": true,
                              "type": "struct AbsoluteVote.Proposal storage ref"
                            },
                            "children": [
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "overloadedDeclarations": [
                                    null
                                  ],
                                  "referencedDeclaration": 147,
                                  "type": "mapping(bytes32 => struct AbsoluteVote.Proposal storage ref)",
                                  "value": "proposals"
                                },
                                "id": 750,
                                "name": "Identifier",
                                "src": "10095:9:1"
                              },
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "overloadedDeclarations": [
                                    null
                                  ],
                                  "referencedDeclaration": 722,
                                  "type": "bytes32",
                                  "value": "_proposalId"
                                },
                                "id": 751,
                                "name": "Identifier",
                                "src": "10105:11:1"
                              }
                            ],
                            "id": 752,
                            "name": "IndexAccess",
                            "src": "10095:22:1"
                          }
                        ],
                        "id": 753,
                        "name": "UnaryOperation",
                        "src": "10088:29:1"
                      }
                    ],
                    "id": 754,
                    "name": "ExpressionStatement",
                    "src": "10088:29:1"
                  }
                ],
                "id": 755,
                "name": "Block",
                "src": "9902:222:1"
              }
            ],
            "id": 756,
            "name": "FunctionDefinition",
            "src": "9849:275:1"
          },
          {
            "attributes": {
              "constant": false,
              "implemented": true,
              "isConstructor": false,
              "modifiers": [
                null
              ],
              "name": "internalVote",
              "payable": false,
              "scope": 883,
              "stateMutability": "nonpayable",
              "superFunction": null,
              "visibility": "private"
            },
            "children": [
              {
                "children": [
                  {
                    "attributes": {
                      "constant": false,
                      "name": "_proposalId",
                      "scope": 882,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "bytes32",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "bytes32",
                          "type": "bytes32"
                        },
                        "id": 757,
                        "name": "ElementaryTypeName",
                        "src": "10663:7:1"
                      }
                    ],
                    "id": 758,
                    "name": "VariableDeclaration",
                    "src": "10663:19:1"
                  },
                  {
                    "attributes": {
                      "constant": false,
                      "name": "_voter",
                      "scope": 882,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "address",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "address",
                          "type": "address"
                        },
                        "id": 759,
                        "name": "ElementaryTypeName",
                        "src": "10684:7:1"
                      }
                    ],
                    "id": 760,
                    "name": "VariableDeclaration",
                    "src": "10684:14:1"
                  },
                  {
                    "attributes": {
                      "constant": false,
                      "name": "_vote",
                      "scope": 882,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "uint256",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "uint",
                          "type": "uint256"
                        },
                        "id": 761,
                        "name": "ElementaryTypeName",
                        "src": "10700:4:1"
                      }
                    ],
                    "id": 762,
                    "name": "VariableDeclaration",
                    "src": "10700:10:1"
                  },
                  {
                    "attributes": {
                      "constant": false,
                      "name": "_rep",
                      "scope": 882,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "uint256",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "uint",
                          "type": "uint256"
                        },
                        "id": 763,
                        "name": "ElementaryTypeName",
                        "src": "10712:4:1"
                      }
                    ],
                    "id": 764,
                    "name": "VariableDeclaration",
                    "src": "10712:9:1"
                  }
                ],
                "id": 765,
                "name": "ParameterList",
                "src": "10662:60:1"
              },
              {
                "children": [
                  {
                    "attributes": {
                      "constant": false,
                      "name": "",
                      "scope": 882,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "bool",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "bool",
                          "type": "bool"
                        },
                        "id": 766,
                        "name": "ElementaryTypeName",
                        "src": "10739:4:1"
                      }
                    ],
                    "id": 767,
                    "name": "VariableDeclaration",
                    "src": "10739:4:1"
                  }
                ],
                "id": 768,
                "name": "ParameterList",
                "src": "10738:6:1"
              },
              {
                "children": [
                  {
                    "attributes": {
                      "assignments": [
                        770
                      ]
                    },
                    "children": [
                      {
                        "attributes": {
                          "constant": false,
                          "name": "proposal",
                          "scope": 882,
                          "stateVariable": false,
                          "storageLocation": "storage",
                          "type": "struct AbsoluteVote.Proposal storage pointer",
                          "value": null,
                          "visibility": "internal"
                        },
                        "children": [
                          {
                            "attributes": {
                              "contractScope": null,
                              "name": "Proposal",
                              "referencedDeclaration": 101,
                              "type": "struct AbsoluteVote.Proposal storage pointer"
                            },
                            "id": 769,
                            "name": "UserDefinedTypeName",
                            "src": "10755:8:1"
                          }
                        ],
                        "id": 770,
                        "name": "VariableDeclaration",
                        "src": "10755:25:1"
                      },
                      {
                        "attributes": {
                          "argumentTypes": null,
                          "isConstant": false,
                          "isLValue": true,
                          "isPure": false,
                          "lValueRequested": false,
                          "type": "struct AbsoluteVote.Proposal storage ref"
                        },
                        "children": [
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 147,
                              "type": "mapping(bytes32 => struct AbsoluteVote.Proposal storage ref)",
                              "value": "proposals"
                            },
                            "id": 771,
                            "name": "Identifier",
                            "src": "10783:9:1"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 758,
                              "type": "bytes32",
                              "value": "_proposalId"
                            },
                            "id": 772,
                            "name": "Identifier",
                            "src": "10793:11:1"
                          }
                        ],
                        "id": 773,
                        "name": "IndexAccess",
                        "src": "10783:22:1"
                      }
                    ],
                    "id": 774,
                    "name": "VariableDeclarationStatement",
                    "src": "10755:50:1"
                  },
                  {
                    "attributes": {
                      "assignments": [
                        776
                      ]
                    },
                    "children": [
                      {
                        "attributes": {
                          "constant": false,
                          "name": "params",
                          "scope": 882,
                          "stateVariable": false,
                          "storageLocation": "memory",
                          "type": "struct AbsoluteVote.Parameters memory",
                          "value": null,
                          "visibility": "internal"
                        },
                        "children": [
                          {
                            "attributes": {
                              "contractScope": null,
                              "name": "Parameters",
                              "referencedDeclaration": 73,
                              "type": "struct AbsoluteVote.Parameters storage pointer"
                            },
                            "id": 775,
                            "name": "UserDefinedTypeName",
                            "src": "10815:10:1"
                          }
                        ],
                        "id": 776,
                        "name": "VariableDeclaration",
                        "src": "10815:24:1"
                      },
                      {
                        "attributes": {
                          "argumentTypes": null,
                          "isConstant": false,
                          "isLValue": true,
                          "isPure": false,
                          "lValueRequested": false,
                          "type": "struct AbsoluteVote.Parameters storage ref"
                        },
                        "children": [
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 143,
                              "type": "mapping(bytes32 => struct AbsoluteVote.Parameters storage ref)",
                              "value": "parameters"
                            },
                            "id": 777,
                            "name": "Identifier",
                            "src": "10842:10:1"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "isConstant": false,
                              "isLValue": true,
                              "isPure": false,
                              "lValueRequested": false,
                              "member_name": "paramsHash",
                              "referencedDeclaration": 88,
                              "type": "bytes32"
                            },
                            "children": [
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "overloadedDeclarations": [
                                    null
                                  ],
                                  "referencedDeclaration": 770,
                                  "type": "struct AbsoluteVote.Proposal storage pointer",
                                  "value": "proposal"
                                },
                                "id": 778,
                                "name": "Identifier",
                                "src": "10853:8:1"
                              }
                            ],
                            "id": 779,
                            "name": "MemberAccess",
                            "src": "10853:19:1"
                          }
                        ],
                        "id": 780,
                        "name": "IndexAccess",
                        "src": "10842:31:1"
                      }
                    ],
                    "id": 781,
                    "name": "VariableDeclarationStatement",
                    "src": "10815:58:1"
                  },
                  {
                    "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": 12014,
                              "type": "function (bool) pure",
                              "value": "require"
                            },
                            "id": 782,
                            "name": "Identifier",
                            "src": "10912:7:1"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "commonType": {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              },
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "lValueRequested": false,
                              "operator": "<=",
                              "type": "bool"
                            },
                            "children": [
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "overloadedDeclarations": [
                                    null
                                  ],
                                  "referencedDeclaration": 762,
                                  "type": "uint256",
                                  "value": "_vote"
                                },
                                "id": 783,
                                "name": "Identifier",
                                "src": "10920:5:1"
                              },
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "isConstant": false,
                                  "isLValue": true,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "member_name": "numOfChoices",
                                  "referencedDeclaration": 84,
                                  "type": "uint256"
                                },
                                "children": [
                                  {
                                    "attributes": {
                                      "argumentTypes": null,
                                      "overloadedDeclarations": [
                                        null
                                      ],
                                      "referencedDeclaration": 770,
                                      "type": "struct AbsoluteVote.Proposal storage pointer",
                                      "value": "proposal"
                                    },
                                    "id": 784,
                                    "name": "Identifier",
                                    "src": "10929:8:1"
                                  }
                                ],
                                "id": 785,
                                "name": "MemberAccess",
                                "src": "10929:21:1"
                              }
                            ],
                            "id": 786,
                            "name": "BinaryOperation",
                            "src": "10920:30:1"
                          }
                        ],
                        "id": 787,
                        "name": "FunctionCall",
                        "src": "10912:39:1"
                      }
                    ],
                    "id": 788,
                    "name": "ExpressionStatement",
                    "src": "10912:39:1"
                  },
                  {
                    "attributes": {
                      "assignments": [
                        790
                      ]
                    },
                    "children": [
                      {
                        "attributes": {
                          "constant": false,
                          "name": "reputation",
                          "scope": 882,
                          "stateVariable": false,
                          "storageLocation": "default",
                          "type": "uint256",
                          "value": null,
                          "visibility": "internal"
                        },
                        "children": [
                          {
                            "attributes": {
                              "name": "uint",
                              "type": "uint256"
                            },
                            "id": 789,
                            "name": "ElementaryTypeName",
                            "src": "11007:4:1"
                          }
                        ],
                        "id": 790,
                        "name": "VariableDeclaration",
                        "src": "11007:15:1"
                      },
                      {
                        "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_address",
                                  "typeString": "address"
                                }
                              ],
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "lValueRequested": false,
                              "member_name": "reputationOf",
                              "referencedDeclaration": 5266,
                              "type": "function (address) view external returns (uint256)"
                            },
                            "children": [
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "isConstant": false,
                                  "isLValue": true,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "member_name": "reputationSystem",
                                  "referencedDeclaration": 68,
                                  "type": "contract Reputation"
                                },
                                "children": [
                                  {
                                    "attributes": {
                                      "argumentTypes": null,
                                      "overloadedDeclarations": [
                                        null
                                      ],
                                      "referencedDeclaration": 776,
                                      "type": "struct AbsoluteVote.Parameters memory",
                                      "value": "params"
                                    },
                                    "id": 791,
                                    "name": "Identifier",
                                    "src": "11025:6:1"
                                  }
                                ],
                                "id": 792,
                                "name": "MemberAccess",
                                "src": "11025:23:1"
                              }
                            ],
                            "id": 793,
                            "name": "MemberAccess",
                            "src": "11025:36:1"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 760,
                              "type": "address",
                              "value": "_voter"
                            },
                            "id": 794,
                            "name": "Identifier",
                            "src": "11062:6:1"
                          }
                        ],
                        "id": 795,
                        "name": "FunctionCall",
                        "src": "11025:44:1"
                      }
                    ],
                    "id": 796,
                    "name": "VariableDeclarationStatement",
                    "src": "11007:62:1"
                  },
                  {
                    "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": 12014,
                              "type": "function (bool) pure",
                              "value": "require"
                            },
                            "id": 797,
                            "name": "Identifier",
                            "src": "11079:7:1"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "commonType": {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              },
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "lValueRequested": false,
                              "operator": ">=",
                              "type": "bool"
                            },
                            "children": [
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "overloadedDeclarations": [
                                    null
                                  ],
                                  "referencedDeclaration": 790,
                                  "type": "uint256",
                                  "value": "reputation"
                                },
                                "id": 798,
                                "name": "Identifier",
                                "src": "11087:10:1"
                              },
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "overloadedDeclarations": [
                                    null
                                  ],
                                  "referencedDeclaration": 764,
                                  "type": "uint256",
                                  "value": "_rep"
                                },
                                "id": 799,
                                "name": "Identifier",
                                "src": "11101:4:1"
                              }
                            ],
                            "id": 800,
                            "name": "BinaryOperation",
                            "src": "11087:18:1"
                          }
                        ],
                        "id": 801,
                        "name": "FunctionCall",
                        "src": "11079:27:1"
                      }
                    ],
                    "id": 802,
                    "name": "ExpressionStatement",
                    "src": "11079:27:1"
                  },
                  {
                    "attributes": {
                      "assignments": [
                        804
                      ]
                    },
                    "children": [
                      {
                        "attributes": {
                          "constant": false,
                          "name": "rep",
                          "scope": 882,
                          "stateVariable": false,
                          "storageLocation": "default",
                          "type": "uint256",
                          "value": null,
                          "visibility": "internal"
                        },
                        "children": [
                          {
                            "attributes": {
                              "name": "uint",
                              "type": "uint256"
                            },
                            "id": 803,
                            "name": "ElementaryTypeName",
                            "src": "11116:4:1"
                          }
                        ],
                        "id": 804,
                        "name": "VariableDeclaration",
                        "src": "11116:8:1"
                      },
                      {
                        "attributes": {
                          "argumentTypes": null,
                          "overloadedDeclarations": [
                            null
                          ],
                          "referencedDeclaration": 764,
                          "type": "uint256",
                          "value": "_rep"
                        },
                        "id": 805,
                        "name": "Identifier",
                        "src": "11127:4:1"
                      }
                    ],
                    "id": 806,
                    "name": "VariableDeclarationStatement",
                    "src": "11116:15:1"
                  },
                  {
                    "attributes": {
                      "falseBody": null
                    },
                    "children": [
                      {
                        "attributes": {
                          "argumentTypes": null,
                          "commonType": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          },
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "operator": "==",
                          "type": "bool"
                        },
                        "children": [
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 804,
                              "type": "uint256",
                              "value": "rep"
                            },
                            "id": 807,
                            "name": "Identifier",
                            "src": "11145:3:1"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "hexvalue": "30",
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "lValueRequested": false,
                              "subdenomination": null,
                              "token": "number",
                              "type": "int_const 0",
                              "value": "0"
                            },
                            "id": 808,
                            "name": "Literal",
                            "src": "11152:1:1"
                          }
                        ],
                        "id": 809,
                        "name": "BinaryOperation",
                        "src": "11145:8:1"
                      },
                      {
                        "children": [
                          {
                            "children": [
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "operator": "=",
                                  "type": "uint256"
                                },
                                "children": [
                                  {
                                    "attributes": {
                                      "argumentTypes": null,
                                      "overloadedDeclarations": [
                                        null
                                      ],
                                      "referencedDeclaration": 804,
                                      "type": "uint256",
                                      "value": "rep"
                                    },
                                    "id": 810,
                                    "name": "Identifier",
                                    "src": "11169:3:1"
                                  },
                                  {
                                    "attributes": {
                                      "argumentTypes": null,
                                      "overloadedDeclarations": [
                                        null
                                      ],
                                      "referencedDeclaration": 790,
                                      "type": "uint256",
                                      "value": "reputation"
                                    },
                                    "id": 811,
                                    "name": "Identifier",
                                    "src": "11175:10:1"
                                  }
                                ],
                                "id": 812,
                                "name": "Assignment",
                                "src": "11169:16:1"
                              }
                            ],
                            "id": 813,
                            "name": "ExpressionStatement",
                            "src": "11169:16:1"
                          }
                        ],
                        "id": 814,
                        "name": "Block",
                        "src": "11155:41:1"
                      }
                    ],
                    "id": 815,
                    "name": "IfStatement",
                    "src": "11141:55:1"
                  },
                  {
                    "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": true,
                              "isPure": false,
                              "lValueRequested": false,
                              "member_name": "reputation",
                              "referencedDeclaration": 77,
                              "type": "uint256"
                            },
                            "children": [
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "isConstant": false,
                                  "isLValue": true,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "type": "struct AbsoluteVote.Voter storage ref"
                                },
                                "children": [
                                  {
                                    "attributes": {
                                      "argumentTypes": null,
                                      "isConstant": false,
                                      "isLValue": true,
                                      "isPure": false,
                                      "lValueRequested": false,
                                      "member_name": "voters",
                                      "referencedDeclaration": 98,
                                      "type": "mapping(address => struct AbsoluteVote.Voter storage ref)"
                                    },
                                    "children": [
                                      {
                                        "attributes": {
                                          "argumentTypes": null,
                                          "overloadedDeclarations": [
                                            null
                                          ],
                                          "referencedDeclaration": 770,
                                          "type": "struct AbsoluteVote.Proposal storage pointer",
                                          "value": "proposal"
                                        },
                                        "id": 816,
                                        "name": "Identifier",
                                        "src": "11276:8:1"
                                      }
                                    ],
                                    "id": 817,
                                    "name": "MemberAccess",
                                    "src": "11276:15:1"
                                  },
                                  {
                                    "attributes": {
                                      "argumentTypes": null,
                                      "overloadedDeclarations": [
                                        null
                                      ],
                                      "referencedDeclaration": 760,
                                      "type": "address",
                                      "value": "_voter"
                                    },
                                    "id": 818,
                                    "name": "Identifier",
                                    "src": "11292:6:1"
                                  }
                                ],
                                "id": 819,
                                "name": "IndexAccess",
                                "src": "11276:23:1"
                              }
                            ],
                            "id": 820,
                            "name": "MemberAccess",
                            "src": "11276:34:1"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "hexvalue": "30",
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "lValueRequested": false,
                              "subdenomination": null,
                              "token": "number",
                              "type": "int_const 0",
                              "value": "0"
                            },
                            "id": 821,
                            "name": "Literal",
                            "src": "11314:1:1"
                          }
                        ],
                        "id": 822,
                        "name": "BinaryOperation",
                        "src": "11276:39:1"
                      },
                      {
                        "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_bytes32",
                                          "typeString": "bytes32"
                                        },
                                        {
                                          "typeIdentifier": "t_address",
                                          "typeString": "address"
                                        }
                                      ],
                                      "overloadedDeclarations": [
                                        null
                                      ],
                                      "referencedDeclaration": 720,
                                      "type": "function (bytes32,address)",
                                      "value": "cancelVoteInternal"
                                    },
                                    "id": 823,
                                    "name": "Identifier",
                                    "src": "11331:18:1"
                                  },
                                  {
                                    "attributes": {
                                      "argumentTypes": null,
                                      "overloadedDeclarations": [
                                        null
                                      ],
                                      "referencedDeclaration": 758,
                                      "type": "bytes32",
                                      "value": "_proposalId"
                                    },
                                    "id": 824,
                                    "name": "Identifier",
                                    "src": "11350:11:1"
                                  },
                                  {
                                    "attributes": {
                                      "argumentTypes": null,
                                      "overloadedDeclarations": [
                                        null
                                      ],
                                      "referencedDeclaration": 760,
                                      "type": "address",
                                      "value": "_voter"
                                    },
                                    "id": 825,
                                    "name": "Identifier",
                                    "src": "11363:6:1"
                                  }
                                ],
                                "id": 826,
                                "name": "FunctionCall",
                                "src": "11331:39:1"
                              }
                            ],
                            "id": 827,
                            "name": "ExpressionStatement",
                            "src": "11331:39:1"
                          }
                        ],
                        "id": 828,
                        "name": "Block",
                        "src": "11317:64:1"
                      }
                    ],
                    "id": 829,
                    "name": "IfStatement",
                    "src": "11272:109:1"
                  },
                  {
                    "children": [
                      {
                        "attributes": {
                          "argumentTypes": null,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "operator": "=",
                          "type": "uint256"
                        },
                        "children": [
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "isConstant": false,
                              "isLValue": true,
                              "isPure": false,
                              "lValueRequested": true,
                              "type": "uint256"
                            },
                            "children": [
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "isConstant": false,
                                  "isLValue": true,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "member_name": "votes",
                                  "referencedDeclaration": 94,
                                  "type": "mapping(uint256 => uint256)"
                                },
                                "children": [
                                  {
                                    "attributes": {
                                      "argumentTypes": null,
                                      "overloadedDeclarations": [
                                        null
                                      ],
                                      "referencedDeclaration": 770,
                                      "type": "struct AbsoluteVote.Proposal storage pointer",
                                      "value": "proposal"
                                    },
                                    "id": 830,
                                    "name": "Identifier",
                                    "src": "11420:8:1"
                                  }
                                ],
                                "id": 833,
                                "name": "MemberAccess",
                                "src": "11420:14:1"
                              },
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "overloadedDeclarations": [
                                    null
                                  ],
                                  "referencedDeclaration": 762,
                                  "type": "uint256",
                                  "value": "_vote"
                                },
                                "id": 832,
                                "name": "Identifier",
                                "src": "11435:5:1"
                              }
                            ],
                            "id": 834,
                            "name": "IndexAccess",
                            "src": "11420:21:1"
                          },
                          {
                            "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": "add",
                                  "referencedDeclaration": 11364,
                                  "type": "function (uint256,uint256) pure returns (uint256)"
                                },
                                "children": [
                                  {
                                    "attributes": {
                                      "argumentTypes": null,
                                      "overloadedDeclarations": [
                                        null
                                      ],
                                      "referencedDeclaration": 804,
                                      "type": "uint256",
                                      "value": "rep"
                                    },
                                    "id": 835,
                                    "name": "Identifier",
                                    "src": "11444:3:1"
                                  }
                                ],
                                "id": 836,
                                "name": "MemberAccess",
                                "src": "11444:7:1"
                              },
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "isConstant": false,
                                  "isLValue": true,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "type": "uint256"
                                },
                                "children": [
                                  {
                                    "attributes": {
                                      "argumentTypes": null,
                                      "isConstant": false,
                                      "isLValue": true,
                                      "isPure": false,
                                      "lValueRequested": false,
                                      "member_name": "votes",
                                      "referencedDeclaration": 94,
                                      "type": "mapping(uint256 => uint256)"
                                    },
                                    "children": [
                                      {
                                        "attributes": {
                                          "argumentTypes": null,
                                          "overloadedDeclarations": [
                                            null
                                          ],
                                          "referencedDeclaration": 770,
                                          "type": "struct AbsoluteVote.Proposal storage pointer",
                                          "value": "proposal"
                                        },
                                        "id": 837,
                                        "name": "Identifier",
                                        "src": "11452:8:1"
                                      }
                                    ],
                                    "id": 838,
                                    "name": "MemberAccess",
                                    "src": "11452:14:1"
                                  },
                                  {
                                    "attributes": {
                                      "argumentTypes": null,
                                      "overloadedDeclarations": [
                                        null
                                      ],
                                      "referencedDeclaration": 762,
                                      "type": "uint256",
                                      "value": "_vote"
                                    },
                                    "id": 839,
                                    "name": "Identifier",
                                    "src": "11467:5:1"
                                  }
                                ],
                                "id": 840,
                                "name": "IndexAccess",
                                "src": "11452:21:1"
                              }
                            ],
                            "id": 841,
                            "name": "FunctionCall",
                            "src": "11444:30:1"
                          }
                        ],
                        "id": 842,
                        "name": "Assignment",
                        "src": "11420:54:1"
                      }
                    ],
                    "id": 843,
                    "name": "ExpressionStatement",
                    "src": "11420:54:1"
                  },
                  {
                    "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,
                              "member_name": "totalVotes",
                              "referencedDeclaration": 90,
                              "type": "uint256"
                            },
                            "children": [
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "overloadedDeclarations": [
                                    null
                                  ],
                                  "referencedDeclaration": 770,
                                  "type": "struct AbsoluteVote.Proposal storage pointer",
                                  "value": "proposal"
                                },
                                "id": 844,
                                "name": "Identifier",
                                "src": "11484:8:1"
                              }
                            ],
                            "id": 846,
                            "name": "MemberAccess",
                            "src": "11484:19:1"
                          },
                          {
                            "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": "add",
                                  "referencedDeclaration": 11364,
                                  "type": "function (uint256,uint256) pure returns (uint256)"
                                },
                                "children": [
                                  {
                                    "attributes": {
                                      "argumentTypes": null,
                                      "overloadedDeclarations": [
                                        null
                                      ],
                                      "referencedDeclaration": 804,
                                      "type": "uint256",
                                      "value": "rep"
                                    },
                                    "id": 847,
                                    "name": "Identifier",
                                    "src": "11506:3:1"
                                  }
                                ],
                                "id": 848,
                                "name": "MemberAccess",
                                "src": "11506:7:1"
                              },
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "isConstant": false,
                                  "isLValue": true,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "member_name": "totalVotes",
                                  "referencedDeclaration": 90,
                                  "type": "uint256"
                                },
                                "children": [
                                  {
                                    "attributes": {
                                      "argumentTypes": null,
                                      "overloadedDeclarations": [
                                        null
                                      ],
                                      "referencedDeclaration": 770,
                                      "type": "struct AbsoluteVote.Proposal storage pointer",
                                      "value": "proposal"
                                    },
                                    "id": 849,
                                    "name": "Identifier",
                                    "src": "11514:8:1"
                                  }
                                ],
                                "id": 850,
                                "name": "MemberAccess",
                                "src": "11514:19:1"
                              }
                            ],
                            "id": 851,
                            "name": "FunctionCall",
                            "src": "11506:28:1"
                          }
                        ],
                        "id": 852,
                        "name": "Assignment",
                        "src": "11484:50:1"
                      }
                    ],
                    "id": 853,
                    "name": "ExpressionStatement",
                    "src": "11484:50:1"
                  },
                  {
                    "children": [
                      {
                        "attributes": {
                          "argumentTypes": null,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "operator": "=",
                          "type": "struct AbsoluteVote.Voter storage ref"
                        },
                        "children": [
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "isConstant": false,
                              "isLValue": true,
                              "isPure": false,
                              "lValueRequested": true,
                              "type": "struct AbsoluteVote.Voter storage ref"
                            },
                            "children": [
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "isConstant": false,
                                  "isLValue": true,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "member_name": "voters",
                                  "referencedDeclaration": 98,
                                  "type": "mapping(address => struct AbsoluteVote.Voter storage ref)"
                                },
                                "children": [
                                  {
                                    "attributes": {
                                      "argumentTypes": null,
                                      "overloadedDeclarations": [
                                        null
                                      ],
                                      "referencedDeclaration": 770,
                                      "type": "struct AbsoluteVote.Proposal storage pointer",
                                      "value": "proposal"
                                    },
                                    "id": 854,
                                    "name": "Identifier",
                                    "src": "11544:8:1"
                                  }
                                ],
                                "id": 857,
                                "name": "MemberAccess",
                                "src": "11544:15:1"
                              },
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "overloadedDeclarations": [
                                    null
                                  ],
                                  "referencedDeclaration": 760,
                                  "type": "address",
                                  "value": "_voter"
                                },
                                "id": 856,
                                "name": "Identifier",
                                "src": "11560:6:1"
                              }
                            ],
                            "id": 858,
                            "name": "IndexAccess",
                            "src": "11544:23:1"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "isStructConstructorCall": true,
                              "lValueRequested": false,
                              "names": [
                                "reputation",
                                "vote"
                              ],
                              "type": "struct AbsoluteVote.Voter memory",
                              "type_conversion": false
                            },
                            "children": [
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "overloadedDeclarations": [
                                    null
                                  ],
                                  "referencedDeclaration": 78,
                                  "type": "type(struct AbsoluteVote.Voter storage pointer)",
                                  "value": "Voter"
                                },
                                "id": 859,
                                "name": "Identifier",
                                "src": "11570:5:1"
                              },
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "overloadedDeclarations": [
                                    null
                                  ],
                                  "referencedDeclaration": 804,
                                  "type": "uint256",
                                  "value": "rep"
                                },
                                "id": 860,
                                "name": "Identifier",
                                "src": "11602:3:1"
                              },
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "overloadedDeclarations": [
                                    null
                                  ],
                                  "referencedDeclaration": 762,
                                  "type": "uint256",
                                  "value": "_vote"
                                },
                                "id": 861,
                                "name": "Identifier",
                                "src": "11625:5:1"
                              }
                            ],
                            "id": 862,
                            "name": "FunctionCall",
                            "src": "11570:71:1"
                          }
                        ],
                        "id": 863,
                        "name": "Assignment",
                        "src": "11544:97:1"
                      }
                    ],
                    "id": 864,
                    "name": "ExpressionStatement",
                    "src": "11544:97:1"
                  },
                  {
                    "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_bytes32",
                                  "typeString": "bytes32"
                                },
                                {
                                  "typeIdentifier": "t_address",
                                  "typeString": "address"
                                },
                                {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                },
                                {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                },
                                {
                                  "typeIdentifier": "t_bool",
                                  "typeString": "bool"
                                }
                              ],
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 133,
                              "type": "function (bytes32,address,uint256,uint256,bool)",
                              "value": "VoteProposal"
                            },
                            "id": 865,
                            "name": "Identifier",
                            "src": "11669:12:1"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 758,
                              "type": "bytes32",
                              "value": "_proposalId"
                            },
                            "id": 866,
                            "name": "Identifier",
                            "src": "11682:11:1"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 760,
                              "type": "address",
                              "value": "_voter"
                            },
                            "id": 867,
                            "name": "Identifier",
                            "src": "11695:6:1"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 762,
                              "type": "uint256",
                              "value": "_vote"
                            },
                            "id": 868,
                            "name": "Identifier",
                            "src": "11703:5:1"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 790,
                              "type": "uint256",
                              "value": "reputation"
                            },
                            "id": 869,
                            "name": "Identifier",
                            "src": "11710:10:1"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "isConstant": false,
                              "isInlineArray": false,
                              "isLValue": false,
                              "isPure": false,
                              "lValueRequested": false,
                              "type": "bool"
                            },
                            "children": [
                              {
                                "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": 760,
                                      "type": "address",
                                      "value": "_voter"
                                    },
                                    "id": 870,
                                    "name": "Identifier",
                                    "src": "11723:6:1"
                                  },
                                  {
                                    "attributes": {
                                      "argumentTypes": null,
                                      "isConstant": false,
                                      "isLValue": false,
                                      "isPure": false,
                                      "lValueRequested": false,
                                      "member_name": "sender",
                                      "referencedDeclaration": null,
                                      "type": "address"
                                    },
                                    "children": [
                                      {
                                        "attributes": {
                                          "argumentTypes": null,
                                          "overloadedDeclarations": [
                                            null
                                          ],
                                          "referencedDeclaration": 12011,
                                          "type": "msg",
                                          "value": "msg"
                                        },
                                        "id": 871,
                                        "name": "Identifier",
                                        "src": "11733:3:1"
                                      }
                                    ],
                                    "id": 872,
                                    "name": "MemberAccess",
                                    "src": "11733:10:1"
                                  }
                                ],
                                "id": 873,
                                "name": "BinaryOperation",
                                "src": "11723:20:1"
                              }
                            ],
                            "id": 874,
                            "name": "TupleExpression",
                            "src": "11722:22:1"
                          }
                        ],
                        "id": 875,
                        "name": "FunctionCall",
                        "src": "11669:76:1"
                      }
                    ],
                    "id": 876,
                    "name": "ExpressionStatement",
                    "src": "11669:76:1"
                  },
                  {
                    "attributes": {
                      "functionReturnParameters": 768
                    },
                    "children": [
                      {
                        "attributes": {
                          "argumentTypes": null,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "isStructConstructorCall": false,
                          "lValueRequested": false,
                          "names": [
                            null
                          ],
                          "type": "bool",
                          "type_conversion": false
                        },
                        "children": [
                          {
                            "attributes": {
                              "argumentTypes": [
                                {
                                  "typeIdentifier": "t_bytes32",
                                  "typeString": "bytes32"
                                }
                              ],
                              "overloadedDeclarations": [
                                567
                              ],
                              "referencedDeclaration": 567,
                              "type": "function (bytes32) returns (bool)",
                              "value": "execute"
                            },
                            "id": 877,
                            "name": "Identifier",
                            "src": "11821:7:1"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 758,
                              "type": "bytes32",
                              "value": "_proposalId"
                            },
                            "id": 878,
                            "name": "Identifier",
                            "src": "11829:11:1"
                          }
                        ],
                        "id": 879,
                        "name": "FunctionCall",
                        "src": "11821:20:1"
                      }
                    ],
                    "id": 880,
                    "name": "Return",
                    "src": "11814:27:1"
                  }
                ],
                "id": 881,
                "name": "Block",
                "src": "10745:1103:1"
              }
            ],
            "id": 882,
            "name": "FunctionDefinition",
            "src": "10641:1207:1"
          }
        ],
        "id": 883,
        "name": "ContractDefinition",
        "src": "100:11750:1"
      }
    ],
    "id": 884,
    "name": "SourceUnit",
    "src": "0:11851:1"
  },
  "compiler": {
    "name": "solc",
    "version": "0.4.18+commit.9cf6e910.Emscripten.clang"
  },
  "networks": {},
  "schemaVersion": "1.0.1",
  "updatedAt": "2018-02-04T21:57:39.043Z"
}