{
  "contractName": "QuorumVote",
  "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": "0x6060604052341561000f57600080fd5b6112138061001e6000396000f3006060604052600436106100c15763ffffffff60e060020a6000350416630250680481146100c657806302a1cdaf1461010c5780630905c9f914610145578063119ce91b1461017657806332ed5b12146101b0578063339e23d11461021057806337376ca8146102495780638fe23d1a1461025f5780639525c0cc146102ae5780639ef1204c146102c6578063a003651d146102df578063ac5d8745146102f5578063c083510614610314578063e751f2711461032a578063fed0d7df14610340575b600080fd5b34156100d157600080fd5b6100dc600435610367565b604051600160a060020a039093168352602083019190915215156040808301919091526060909101905180910390f35b341561011757600080fd5b610133600160a060020a03600435166024356044351515610395565b60405190815260200160405180910390f35b341561015057600080fd5b610133600435602435600160a060020a03604435811690606435811690608435166103ff565b341561018157600080fd5b610198600435600160a060020a03602435166105f7565b60405191825260208201526040908101905180910390f35b34156101bb57600080fd5b6101c6600435610656565b604051600160a060020a0397881681529587166020870152604080870195909552929095166060850152608084015260a083019390935291151560c082015260e001905180910390f35b341561021b57600080fd5b610235600435602435600160a060020a03604435166106a5565b604051901515815260200160405180910390f35b341561025457600080fd5b61023560043561073c565b341561026a57600080fd5b6102756004356107fc565b604051808261016080838360005b8381101561029b578082015183820152602001610283565b5050505090500191505060405180910390f35b34156102b957600080fd5b6102c4600435610849565b005b34156102d157600080fd5b610235600435602435610879565b34156102ea57600080fd5b6101336004356108b0565b341561030057600080fd5b6102356004356024356044356064356108c5565b341561031f57600080fd5b6102356004356108fd565b341561033557600080fd5b610235600435610915565b341561034b57600080fd5b610133600160a060020a03600435166024356044351515610c99565b600060208190529081526040902080546001820154600290920154600160a060020a03909116919060ff1683565b6000838383604051600160a060020a03939093166c01000000000000000000000000028352601483019190915215157f0100000000000000000000000000000000000000000000000000000000000000026034820152603501604051809103902090509392505050565b60008061040a61114c565b600087815260208190526040902054600160a060020a0316151561042d57600080fd5b60008811801561043e5750600a8811155b151561044957600080fd5b30600254604051600160a060020a03929092166c01000000000000000000000000028252601482015260340160405190819003902060028054600190810190915560408084018b9052608084018a9052600160a060020a03808a16602080870191909152898216606087015233909116855260c085018390526000848152929052902090925081908151815473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0391909116178155602082015160018201805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a039290921691909117905560408201518160020155606082015160038201805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a03929092169190911790556080820151600482015560a0820151816005015560c0820151600891909101805460ff191691151591909117905550817f87f4bf271cb69a01d3bd1777b30c5b287cdd0871148e55607d9c57cc8b8bfc9e89338a604051928352600160a060020a0390911660208301526040808301919091526060909101905180910390a2509695505050505050565b600080610602611188565b6000858152600160209081526040808320600160a060020a03881684526007019091529081902090805190810160405281548152600190910154602082015290508051816020015192509250509250929050565b60016020819052600091825260409091208054918101546002820154600383015460048401546005850154600890950154600160a060020a039687169694851695939490921692909160ff1687565b600083815260016020526040812054849033600160a060020a039081169116146106ce57600080fd5b600085815260016020526040902060080154859060ff1615156106f057600080fd5b60008681526001602090815260408083206004015483529082905290206002015460ff1615156107235760009250610733565b6107308685876000610d4e565b92505b50509392505050565b600081815260016020526040812054829033600160a060020a0390811691161461076557600080fd5b600083815260016020526040902060080154839060ff16151561078757600080fd5b60008481526001602090815260408083206004015483529082905290206002015460ff1615156107ba57600092506107f5565b6107c384610f7d565b837fb1268f2534fc554f8ff22853272822d570aa84a7dfbc7e581b1a766ae8c3866160405160405180910390a2600192505b5050919050565b61080461119f565b6000828152600160205260408120905b600282015481116107f55760008181526006830160205260409020548382600b811061083c57fe5b6020020152600101610814565b600081815260016020526040902060080154819060ff16151561086b57600080fd5b6108758233611018565b5050565b600082815260016020526040812060080154839060ff16151561089b57600080fd5b6108a88433856000610d4e565b949350505050565b60009081526001602052604090206002015490565b600084815260016020526040812060080154859060ff1615156108e757600080fd5b6108f386338787610d4e565b9695505050505050565b60009081526001602052604090206008015460ff1690565b600080600080600080600061092861114c565b600089815260016020526040902060080154899060ff16151561094a57600080fd5b60008a8152600160209081526040808320600481015484529183905280832054919a50600160a060020a03909116916318160ddd9151602001526040518163ffffffff1660e060020a028152600401602060405180830381600087803b15156109b257600080fd5b6102c65a03f115156109c357600080fd5b505050604051805160048a01546000908152602081905260409020600101549098509650606490508688020488600501541115610c8757600192505b60028801548311610a4757600083815260068901602052604090205485901115610a3c576000838152600689016020526040902054945091925082915b6001909201916109ff565b8760e060405190810160405290816000820160009054906101000a9004600160a060020a0316600160a060020a0316600160a060020a031681526020016001820160009054906101000a9004600160a060020a0316600160a060020a0316600160a060020a03168152602001600282015481526020016003820160009054906101000a9004600160a060020a0316600160a060020a0316600160a060020a03168152602001600482015460001916600019168152602001600582015481526020016008820160009054906101000a900460ff1615151515815250509150600160008b60001916600019168152602001908152602001600020600080820160006101000a815490600160a060020a0302191690556001820160006101000a815490600160a060020a03021916905560028201600090556003820160006101000a815490600160a060020a030219169055600482016000905560058201600090556008820160006101000a81549060ff0219169055505089600019167fc65afc54dab4d142869ad160726aafd56beeeb9eab55c318fa56f923b6ea7d438560405190815260200160405180910390a28160600151600160a060020a031663310ce4e28b84602001518760006040516020015260405160e060020a63ffffffff86160281526004810193909352600160a060020a0390911660248301526044820152606401602060405180830381600087803b1515610c6257600080fd5b6102c65a03f11515610c7357600080fd5b505050604051805190505060019850610c8c565b600098505b5050505050505050919050565b60008060648411158015610cad5750600084115b1515610cb857600080fd5b610cc3858585610395565b905060606040519081016040908152600160a060020a0387168252602080830187905285151582840152600084815290819052208151815473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0391909116178155602082015181600101556040820151600291909101805460ff191691151591909117905550949350505050565b600080610d596111c7565b600087815260016020908152604080832060048101548452918390528083209194508291906060905190810160409081528254600160a060020a031682526001830154602083015260029283015460ff1615159082015290850154909350871115610dc357600080fd5b8251600160a060020a031663db89c0448960006040516020015260405160e060020a63ffffffff8416028152600160a060020a039091166004820152602401602060405180830381600087803b1515610e1b57600080fd5b6102c65a03f11515610e2c57600080fd5b505050604051805192505085821015610e4457600080fd5b5084801515610e505750805b600160a060020a038816600090815260078501602052604090206001015415610e7d57610e7d8989611018565b6000878152600685016020526040902054610e9f90829063ffffffff61112416565b60008881526006860160205260409020556005840154610ec690829063ffffffff61112416565b60058501556040805190810160409081528882526020808301849052600160a060020a038b166000908152600788019091522081518155602082015160019091015550600160a060020a03808916908a907f9a1619d3a490c77f134204d1a317b7b2ec6004068d1b66e2268ba377650d4605908a9086903316851415604051928352602083019190915215156040808301919091526060909101905180910390a3610f7089610915565b9998505050505050505050565b6000818152600160205260408120905b60028201548111610fb1576000818152600683016020526040812055600101610f8d565b505060009081526001602081905260408220805473ffffffffffffffffffffffffffffffffffffffff19908116825591810180548316905560028101839055600381018054909216909155600481018290556005810191909155600801805460ff19169055565b6000611022611188565b6000848152600160209081526040808320600160a060020a0387168452600781019092529182902090935090805190810160405281548152600190910154602082019081529091506110949051600684016000845181526020019081526020016000205461113a90919063ffffffff16565b60068301600083518152602001908152602001600020819055506110c7816020015160058401549063ffffffff61113a16565b6005830155600160a060020a03831660008181526007840160205260408082208281556001019190915585907fd2dd76b842caa4d7687cd6ab9a28115e2c9a0dda58fab465489dc6876471bb2f905160405180910390a350505050565b60008282018381101561113357fe5b9392505050565b60008282111561114657fe5b50900390565b60e06040519081016040908152600080835260208301819052908201819052606082018190526080820181905260a0820181905260c082015290565b604080519081016040526000808252602082015290565b610160604051908101604052600b815b60008152602001906001900390816111af5790505090565b6060604051908101604090815260008083526020830181905290820152905600a165627a7a723058200a1cf1e4dd42d4669a4c34327b5d7beeae5f0dfe08b436d75ab1e3922ec161a30029",
  "deployedBytecode": "0x6060604052600436106100c15763ffffffff60e060020a6000350416630250680481146100c657806302a1cdaf1461010c5780630905c9f914610145578063119ce91b1461017657806332ed5b12146101b0578063339e23d11461021057806337376ca8146102495780638fe23d1a1461025f5780639525c0cc146102ae5780639ef1204c146102c6578063a003651d146102df578063ac5d8745146102f5578063c083510614610314578063e751f2711461032a578063fed0d7df14610340575b600080fd5b34156100d157600080fd5b6100dc600435610367565b604051600160a060020a039093168352602083019190915215156040808301919091526060909101905180910390f35b341561011757600080fd5b610133600160a060020a03600435166024356044351515610395565b60405190815260200160405180910390f35b341561015057600080fd5b610133600435602435600160a060020a03604435811690606435811690608435166103ff565b341561018157600080fd5b610198600435600160a060020a03602435166105f7565b60405191825260208201526040908101905180910390f35b34156101bb57600080fd5b6101c6600435610656565b604051600160a060020a0397881681529587166020870152604080870195909552929095166060850152608084015260a083019390935291151560c082015260e001905180910390f35b341561021b57600080fd5b610235600435602435600160a060020a03604435166106a5565b604051901515815260200160405180910390f35b341561025457600080fd5b61023560043561073c565b341561026a57600080fd5b6102756004356107fc565b604051808261016080838360005b8381101561029b578082015183820152602001610283565b5050505090500191505060405180910390f35b34156102b957600080fd5b6102c4600435610849565b005b34156102d157600080fd5b610235600435602435610879565b34156102ea57600080fd5b6101336004356108b0565b341561030057600080fd5b6102356004356024356044356064356108c5565b341561031f57600080fd5b6102356004356108fd565b341561033557600080fd5b610235600435610915565b341561034b57600080fd5b610133600160a060020a03600435166024356044351515610c99565b600060208190529081526040902080546001820154600290920154600160a060020a03909116919060ff1683565b6000838383604051600160a060020a03939093166c01000000000000000000000000028352601483019190915215157f0100000000000000000000000000000000000000000000000000000000000000026034820152603501604051809103902090509392505050565b60008061040a61114c565b600087815260208190526040902054600160a060020a0316151561042d57600080fd5b60008811801561043e5750600a8811155b151561044957600080fd5b30600254604051600160a060020a03929092166c01000000000000000000000000028252601482015260340160405190819003902060028054600190810190915560408084018b9052608084018a9052600160a060020a03808a16602080870191909152898216606087015233909116855260c085018390526000848152929052902090925081908151815473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0391909116178155602082015160018201805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a039290921691909117905560408201518160020155606082015160038201805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a03929092169190911790556080820151600482015560a0820151816005015560c0820151600891909101805460ff191691151591909117905550817f87f4bf271cb69a01d3bd1777b30c5b287cdd0871148e55607d9c57cc8b8bfc9e89338a604051928352600160a060020a0390911660208301526040808301919091526060909101905180910390a2509695505050505050565b600080610602611188565b6000858152600160209081526040808320600160a060020a03881684526007019091529081902090805190810160405281548152600190910154602082015290508051816020015192509250509250929050565b60016020819052600091825260409091208054918101546002820154600383015460048401546005850154600890950154600160a060020a039687169694851695939490921692909160ff1687565b600083815260016020526040812054849033600160a060020a039081169116146106ce57600080fd5b600085815260016020526040902060080154859060ff1615156106f057600080fd5b60008681526001602090815260408083206004015483529082905290206002015460ff1615156107235760009250610733565b6107308685876000610d4e565b92505b50509392505050565b600081815260016020526040812054829033600160a060020a0390811691161461076557600080fd5b600083815260016020526040902060080154839060ff16151561078757600080fd5b60008481526001602090815260408083206004015483529082905290206002015460ff1615156107ba57600092506107f5565b6107c384610f7d565b837fb1268f2534fc554f8ff22853272822d570aa84a7dfbc7e581b1a766ae8c3866160405160405180910390a2600192505b5050919050565b61080461119f565b6000828152600160205260408120905b600282015481116107f55760008181526006830160205260409020548382600b811061083c57fe5b6020020152600101610814565b600081815260016020526040902060080154819060ff16151561086b57600080fd5b6108758233611018565b5050565b600082815260016020526040812060080154839060ff16151561089b57600080fd5b6108a88433856000610d4e565b949350505050565b60009081526001602052604090206002015490565b600084815260016020526040812060080154859060ff1615156108e757600080fd5b6108f386338787610d4e565b9695505050505050565b60009081526001602052604090206008015460ff1690565b600080600080600080600061092861114c565b600089815260016020526040902060080154899060ff16151561094a57600080fd5b60008a8152600160209081526040808320600481015484529183905280832054919a50600160a060020a03909116916318160ddd9151602001526040518163ffffffff1660e060020a028152600401602060405180830381600087803b15156109b257600080fd5b6102c65a03f115156109c357600080fd5b505050604051805160048a01546000908152602081905260409020600101549098509650606490508688020488600501541115610c8757600192505b60028801548311610a4757600083815260068901602052604090205485901115610a3c576000838152600689016020526040902054945091925082915b6001909201916109ff565b8760e060405190810160405290816000820160009054906101000a9004600160a060020a0316600160a060020a0316600160a060020a031681526020016001820160009054906101000a9004600160a060020a0316600160a060020a0316600160a060020a03168152602001600282015481526020016003820160009054906101000a9004600160a060020a0316600160a060020a0316600160a060020a03168152602001600482015460001916600019168152602001600582015481526020016008820160009054906101000a900460ff1615151515815250509150600160008b60001916600019168152602001908152602001600020600080820160006101000a815490600160a060020a0302191690556001820160006101000a815490600160a060020a03021916905560028201600090556003820160006101000a815490600160a060020a030219169055600482016000905560058201600090556008820160006101000a81549060ff0219169055505089600019167fc65afc54dab4d142869ad160726aafd56beeeb9eab55c318fa56f923b6ea7d438560405190815260200160405180910390a28160600151600160a060020a031663310ce4e28b84602001518760006040516020015260405160e060020a63ffffffff86160281526004810193909352600160a060020a0390911660248301526044820152606401602060405180830381600087803b1515610c6257600080fd5b6102c65a03f11515610c7357600080fd5b505050604051805190505060019850610c8c565b600098505b5050505050505050919050565b60008060648411158015610cad5750600084115b1515610cb857600080fd5b610cc3858585610395565b905060606040519081016040908152600160a060020a0387168252602080830187905285151582840152600084815290819052208151815473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0391909116178155602082015181600101556040820151600291909101805460ff191691151591909117905550949350505050565b600080610d596111c7565b600087815260016020908152604080832060048101548452918390528083209194508291906060905190810160409081528254600160a060020a031682526001830154602083015260029283015460ff1615159082015290850154909350871115610dc357600080fd5b8251600160a060020a031663db89c0448960006040516020015260405160e060020a63ffffffff8416028152600160a060020a039091166004820152602401602060405180830381600087803b1515610e1b57600080fd5b6102c65a03f11515610e2c57600080fd5b505050604051805192505085821015610e4457600080fd5b5084801515610e505750805b600160a060020a038816600090815260078501602052604090206001015415610e7d57610e7d8989611018565b6000878152600685016020526040902054610e9f90829063ffffffff61112416565b60008881526006860160205260409020556005840154610ec690829063ffffffff61112416565b60058501556040805190810160409081528882526020808301849052600160a060020a038b166000908152600788019091522081518155602082015160019091015550600160a060020a03808916908a907f9a1619d3a490c77f134204d1a317b7b2ec6004068d1b66e2268ba377650d4605908a9086903316851415604051928352602083019190915215156040808301919091526060909101905180910390a3610f7089610915565b9998505050505050505050565b6000818152600160205260408120905b60028201548111610fb1576000818152600683016020526040812055600101610f8d565b505060009081526001602081905260408220805473ffffffffffffffffffffffffffffffffffffffff19908116825591810180548316905560028101839055600381018054909216909155600481018290556005810191909155600801805460ff19169055565b6000611022611188565b6000848152600160209081526040808320600160a060020a0387168452600781019092529182902090935090805190810160405281548152600190910154602082019081529091506110949051600684016000845181526020019081526020016000205461113a90919063ffffffff16565b60068301600083518152602001908152602001600020819055506110c7816020015160058401549063ffffffff61113a16565b6005830155600160a060020a03831660008181526007840160205260408082208281556001019190915585907fd2dd76b842caa4d7687cd6ab9a28115e2c9a0dda58fab465489dc6876471bb2f905160405180910390a350505050565b60008282018381101561113357fe5b9392505050565b60008282111561114657fe5b50900390565b60e06040519081016040908152600080835260208301819052908201819052606082018190526080820181905260a0820181905260c082015290565b604080519081016040526000808252602082015290565b610160604051908101604052600b815b60008152602001906001900390816111af5790505090565b6060604051908101604090815260008083526020830181905290820152905600a165627a7a723058200a1cf1e4dd42d4669a4c34327b5d7beeae5f0dfe08b436d75ab1e3922ec161a30029",
  "sourceMap": "129:1266:5:-;;;;;;;;;;;;;;;;;",
  "deployedSourceMap": "129:1266:5:-;;;;;;;;;-1:-1:-1;;;129:1266:5;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1503:46:1;;;;;;;;;;;;;;;;;-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;;;;;;;;;;;;;;406:987:5;;;;;;;;;;;;;;2321:476:1;;;;;;;;;;-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;406:987:5:-;480:4;496:25;557:20;652:12;829:8;851:11;881:8;1106:27;;:::i;:::-;2171:22:1;;;;:9;:22;;;;;:27;;;459:11:5;;2171:27:1;;2163:36;;;;;;;;524:22:5;;;;:9;:22;;;;;;;;591:19;;;;580:31;;;;;;;;;:48;524:22;;-1:-1:-1;;;;;;580:48:5;;;;:60;;:62;;;;;;;;;-1:-1:-1;;;580:62:5;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;678:19;;;;667:10;:31;;;;;;;;;;:39;;;580:62;;-1:-1:-1;667:39:5;-1:-1:-1;810:3:5;;-1:-1:-1;786:23:5;;;:27;764:8;:19;;;:49;760:605;;;892:1;881:12;;876:217;900:21;;;;895:26;;876:217;;952:19;;;;:14;;;:19;;;;;;:25;;;948:131;;;1007:19;;;;:14;;;:19;;;;;;;-1:-1:-1;1022:3:5;;-1:-1:-1;1022:3:5;;948:131;923:5;;;;;876:217;;;1136:8;1106:38;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1106:38:5;-1:-1:-1;;;;;1106:38:5;-1:-1:-1;;;;;1106:38:5;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1106:38:5;-1:-1:-1;;;;;1106:38:5;-1:-1:-1;;;;;1106:38:5;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1106:38:5;-1:-1:-1;;;;;1106:38:5;-1:-1:-1;;;;;1106:38:5;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1165:9;:22;1175:11;1165:22;;;;;;;;;;;;;;;;;;1158:29;;;;;;;;;-1:-1:-1;;;;;1158:29:5;;;;;;;;;;;;;;-1:-1:-1;;;;;1158:29:5;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1158:29:5;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1217:11;1201:36;;;;1230:6;1201:36;;;;;;;;;;;;;;1252:11;:22;;;-1:-1:-1;;;;;1251:32:5;;1284:11;1297;:18;;;1321:6;1251:78;;;;;;;;-1:-1:-1;;;1251:78:5;;;;;;;;;;;;;-1:-1:-1;;;;;1251:78:5;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1350:4;1343:11;;;;760:605;1381:5;1374:12;;2209:1:1;406:987:5;;;;;;;;;;;:::o;2321:476:1:-;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;129:1266:5:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;:::o",
  "source": "pragma solidity ^0.4.18;\n\nimport \"../controller/Reputation.sol\";\nimport \"./IntVoteInterface.sol\";\nimport \"./AbsoluteVote.sol\";\n\n\ncontract QuorumVote is IntVoteInterface, AbsoluteVote {\n    /**\n    * @dev check if the proposal has been decided, and if so, execute the proposal\n    * @param _proposalId the id of the proposal\n    */\n    // TODO: do we want to delete the vote from the proposals mapping?\n    function execute(bytes32 _proposalId) public votable(_proposalId) returns(bool) {\n        Proposal storage proposal = proposals[_proposalId];\n\n        uint totalReputation = parameters[proposal.paramsHash].reputationSystem.totalSupply();\n        uint precReq = parameters[proposal.paramsHash].precReq;\n\n        // this is the actual voting rule:\n        if (proposal.totalVotes > totalReputation*precReq/100) {\n            uint max;\n            uint maxInd;\n            for (uint cnt = 1; cnt<=proposal.numOfChoices; cnt++) {\n                if (proposal.votes[cnt] > max) {\n                    max = proposal.votes[cnt];\n                    maxInd = cnt;\n                }\n            }\n            Proposal memory tmpProposal = proposal;\n            delete proposals[_proposalId];\n            ExecuteProposal(_proposalId, maxInd);\n            (tmpProposal.executable).execute(_proposalId, tmpProposal.avatar, int(maxInd));\n            return true;\n        }\n        return false;\n    }\n}\n",
  "sourcePath": "/Users/oren/daostack/daostack2/daostack/contracts/VotingMachines/QuorumVote.sol",
  "ast": {
    "attributes": {
      "absolutePath": "/Users/oren/daostack/daostack2/daostack/contracts/VotingMachines/QuorumVote.sol",
      "exportedSymbols": {
        "QuorumVote": [
          3582
        ]
      }
    },
    "children": [
      {
        "attributes": {
          "literals": [
            "solidity",
            "^",
            "0.4",
            ".18"
          ]
        },
        "id": 3461,
        "name": "PragmaDirective",
        "src": "0:24:5"
      },
      {
        "attributes": {
          "SourceUnit": 5353,
          "absolutePath": "/Users/oren/daostack/daostack2/daostack/contracts/controller/Reputation.sol",
          "file": "../controller/Reputation.sol",
          "scope": 3583,
          "symbolAliases": [
            null
          ],
          "unitAlias": ""
        },
        "id": 3462,
        "name": "ImportDirective",
        "src": "26:38:5"
      },
      {
        "attributes": {
          "SourceUnit": 3460,
          "absolutePath": "/Users/oren/daostack/daostack2/daostack/contracts/VotingMachines/IntVoteInterface.sol",
          "file": "./IntVoteInterface.sol",
          "scope": 3583,
          "symbolAliases": [
            null
          ],
          "unitAlias": ""
        },
        "id": 3463,
        "name": "ImportDirective",
        "src": "65:32:5"
      },
      {
        "attributes": {
          "SourceUnit": 884,
          "absolutePath": "/Users/oren/daostack/daostack2/daostack/contracts/VotingMachines/AbsoluteVote.sol",
          "file": "./AbsoluteVote.sol",
          "scope": 3583,
          "symbolAliases": [
            null
          ],
          "unitAlias": ""
        },
        "id": 3464,
        "name": "ImportDirective",
        "src": "98:28:5"
      },
      {
        "attributes": {
          "contractDependencies": [
            883,
            3459
          ],
          "contractKind": "contract",
          "documentation": null,
          "fullyImplemented": true,
          "linearizedBaseContracts": [
            3582,
            883,
            3459
          ],
          "name": "QuorumVote",
          "scope": 3583
        },
        "children": [
          {
            "attributes": {
              "arguments": [
                null
              ]
            },
            "children": [
              {
                "attributes": {
                  "contractScope": null,
                  "name": "IntVoteInterface",
                  "referencedDeclaration": 3459,
                  "type": "contract IntVoteInterface"
                },
                "id": 3465,
                "name": "UserDefinedTypeName",
                "src": "152:16:5"
              }
            ],
            "id": 3466,
            "name": "InheritanceSpecifier",
            "src": "152:16:5"
          },
          {
            "attributes": {
              "arguments": [
                null
              ]
            },
            "children": [
              {
                "attributes": {
                  "contractScope": null,
                  "name": "AbsoluteVote",
                  "referencedDeclaration": 883,
                  "type": "contract AbsoluteVote"
                },
                "id": 3467,
                "name": "UserDefinedTypeName",
                "src": "170:12:5"
              }
            ],
            "id": 3468,
            "name": "InheritanceSpecifier",
            "src": "170:12:5"
          },
          {
            "attributes": {
              "constant": false,
              "implemented": true,
              "isConstructor": false,
              "name": "execute",
              "payable": false,
              "scope": 3582,
              "stateMutability": "nonpayable",
              "superFunction": 567,
              "visibility": "public"
            },
            "children": [
              {
                "children": [
                  {
                    "attributes": {
                      "constant": false,
                      "name": "_proposalId",
                      "scope": 3581,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "bytes32",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "bytes32",
                          "type": "bytes32"
                        },
                        "id": 3469,
                        "name": "ElementaryTypeName",
                        "src": "423:7:5"
                      }
                    ],
                    "id": 3470,
                    "name": "VariableDeclaration",
                    "src": "423:19:5"
                  }
                ],
                "id": 3471,
                "name": "ParameterList",
                "src": "422:21:5"
              },
              {
                "children": [
                  {
                    "attributes": {
                      "constant": false,
                      "name": "",
                      "scope": 3581,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "bool",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "bool",
                          "type": "bool"
                        },
                        "id": 3475,
                        "name": "ElementaryTypeName",
                        "src": "480:4:5"
                      }
                    ],
                    "id": 3476,
                    "name": "VariableDeclaration",
                    "src": "480:4:5"
                  }
                ],
                "id": 3477,
                "name": "ParameterList",
                "src": "479:6:5"
              },
              {
                "children": [
                  {
                    "attributes": {
                      "argumentTypes": null,
                      "overloadedDeclarations": [
                        null
                      ],
                      "referencedDeclaration": 181,
                      "type": "modifier (bytes32)",
                      "value": "votable"
                    },
                    "id": 3472,
                    "name": "Identifier",
                    "src": "451:7:5"
                  },
                  {
                    "attributes": {
                      "argumentTypes": null,
                      "overloadedDeclarations": [
                        null
                      ],
                      "referencedDeclaration": 3470,
                      "type": "bytes32",
                      "value": "_proposalId"
                    },
                    "id": 3473,
                    "name": "Identifier",
                    "src": "459:11:5"
                  }
                ],
                "id": 3474,
                "name": "ModifierInvocation",
                "src": "451:20:5"
              },
              {
                "children": [
                  {
                    "attributes": {
                      "assignments": [
                        3479
                      ]
                    },
                    "children": [
                      {
                        "attributes": {
                          "constant": false,
                          "name": "proposal",
                          "scope": 3581,
                          "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": 3478,
                            "name": "UserDefinedTypeName",
                            "src": "496:8:5"
                          }
                        ],
                        "id": 3479,
                        "name": "VariableDeclaration",
                        "src": "496:25:5"
                      },
                      {
                        "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": 3480,
                            "name": "Identifier",
                            "src": "524:9:5"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 3470,
                              "type": "bytes32",
                              "value": "_proposalId"
                            },
                            "id": 3481,
                            "name": "Identifier",
                            "src": "534:11:5"
                          }
                        ],
                        "id": 3482,
                        "name": "IndexAccess",
                        "src": "524:22:5"
                      }
                    ],
                    "id": 3483,
                    "name": "VariableDeclarationStatement",
                    "src": "496:50:5"
                  },
                  {
                    "attributes": {
                      "assignments": [
                        3485
                      ]
                    },
                    "children": [
                      {
                        "attributes": {
                          "constant": false,
                          "name": "totalReputation",
                          "scope": 3581,
                          "stateVariable": false,
                          "storageLocation": "default",
                          "type": "uint256",
                          "value": null,
                          "visibility": "internal"
                        },
                        "children": [
                          {
                            "attributes": {
                              "name": "uint",
                              "type": "uint256"
                            },
                            "id": 3484,
                            "name": "ElementaryTypeName",
                            "src": "557:4:5"
                          }
                        ],
                        "id": 3485,
                        "name": "VariableDeclaration",
                        "src": "557:20:5"
                      },
                      {
                        "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": 3486,
                                        "name": "Identifier",
                                        "src": "580:10:5"
                                      },
                                      {
                                        "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": 3479,
                                              "type": "struct AbsoluteVote.Proposal storage pointer",
                                              "value": "proposal"
                                            },
                                            "id": 3487,
                                            "name": "Identifier",
                                            "src": "591:8:5"
                                          }
                                        ],
                                        "id": 3488,
                                        "name": "MemberAccess",
                                        "src": "591:19:5"
                                      }
                                    ],
                                    "id": 3489,
                                    "name": "IndexAccess",
                                    "src": "580:31:5"
                                  }
                                ],
                                "id": 3490,
                                "name": "MemberAccess",
                                "src": "580:48:5"
                              }
                            ],
                            "id": 3491,
                            "name": "MemberAccess",
                            "src": "580:60:5"
                          }
                        ],
                        "id": 3492,
                        "name": "FunctionCall",
                        "src": "580:62:5"
                      }
                    ],
                    "id": 3493,
                    "name": "VariableDeclarationStatement",
                    "src": "557:85:5"
                  },
                  {
                    "attributes": {
                      "assignments": [
                        3495
                      ]
                    },
                    "children": [
                      {
                        "attributes": {
                          "constant": false,
                          "name": "precReq",
                          "scope": 3581,
                          "stateVariable": false,
                          "storageLocation": "default",
                          "type": "uint256",
                          "value": null,
                          "visibility": "internal"
                        },
                        "children": [
                          {
                            "attributes": {
                              "name": "uint",
                              "type": "uint256"
                            },
                            "id": 3494,
                            "name": "ElementaryTypeName",
                            "src": "652:4:5"
                          }
                        ],
                        "id": 3495,
                        "name": "VariableDeclaration",
                        "src": "652:12:5"
                      },
                      {
                        "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": 3496,
                                "name": "Identifier",
                                "src": "667:10:5"
                              },
                              {
                                "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": 3479,
                                      "type": "struct AbsoluteVote.Proposal storage pointer",
                                      "value": "proposal"
                                    },
                                    "id": 3497,
                                    "name": "Identifier",
                                    "src": "678:8:5"
                                  }
                                ],
                                "id": 3498,
                                "name": "MemberAccess",
                                "src": "678:19:5"
                              }
                            ],
                            "id": 3499,
                            "name": "IndexAccess",
                            "src": "667:31:5"
                          }
                        ],
                        "id": 3500,
                        "name": "MemberAccess",
                        "src": "667:39:5"
                      }
                    ],
                    "id": 3501,
                    "name": "VariableDeclarationStatement",
                    "src": "652:54:5"
                  },
                  {
                    "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": "totalVotes",
                              "referencedDeclaration": 90,
                              "type": "uint256"
                            },
                            "children": [
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "overloadedDeclarations": [
                                    null
                                  ],
                                  "referencedDeclaration": 3479,
                                  "type": "struct AbsoluteVote.Proposal storage pointer",
                                  "value": "proposal"
                                },
                                "id": 3502,
                                "name": "Identifier",
                                "src": "764:8:5"
                              }
                            ],
                            "id": 3503,
                            "name": "MemberAccess",
                            "src": "764:19:5"
                          },
                          {
                            "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": 3485,
                                      "type": "uint256",
                                      "value": "totalReputation"
                                    },
                                    "id": 3504,
                                    "name": "Identifier",
                                    "src": "786:15:5"
                                  },
                                  {
                                    "attributes": {
                                      "argumentTypes": null,
                                      "overloadedDeclarations": [
                                        null
                                      ],
                                      "referencedDeclaration": 3495,
                                      "type": "uint256",
                                      "value": "precReq"
                                    },
                                    "id": 3505,
                                    "name": "Identifier",
                                    "src": "802:7:5"
                                  }
                                ],
                                "id": 3506,
                                "name": "BinaryOperation",
                                "src": "786:23:5"
                              },
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "hexvalue": "313030",
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": true,
                                  "lValueRequested": false,
                                  "subdenomination": null,
                                  "token": "number",
                                  "type": "int_const 100",
                                  "value": "100"
                                },
                                "id": 3507,
                                "name": "Literal",
                                "src": "810:3:5"
                              }
                            ],
                            "id": 3508,
                            "name": "BinaryOperation",
                            "src": "786:27:5"
                          }
                        ],
                        "id": 3509,
                        "name": "BinaryOperation",
                        "src": "764:49:5"
                      },
                      {
                        "children": [
                          {
                            "attributes": {
                              "assignments": [
                                null
                              ],
                              "initialValue": null
                            },
                            "children": [
                              {
                                "attributes": {
                                  "constant": false,
                                  "name": "max",
                                  "scope": 3581,
                                  "stateVariable": false,
                                  "storageLocation": "default",
                                  "type": "uint256",
                                  "value": null,
                                  "visibility": "internal"
                                },
                                "children": [
                                  {
                                    "attributes": {
                                      "name": "uint",
                                      "type": "uint256"
                                    },
                                    "id": 3510,
                                    "name": "ElementaryTypeName",
                                    "src": "829:4:5"
                                  }
                                ],
                                "id": 3511,
                                "name": "VariableDeclaration",
                                "src": "829:8:5"
                              }
                            ],
                            "id": 3512,
                            "name": "VariableDeclarationStatement",
                            "src": "829:8:5"
                          },
                          {
                            "attributes": {
                              "assignments": [
                                null
                              ],
                              "initialValue": null
                            },
                            "children": [
                              {
                                "attributes": {
                                  "constant": false,
                                  "name": "maxInd",
                                  "scope": 3581,
                                  "stateVariable": false,
                                  "storageLocation": "default",
                                  "type": "uint256",
                                  "value": null,
                                  "visibility": "internal"
                                },
                                "children": [
                                  {
                                    "attributes": {
                                      "name": "uint",
                                      "type": "uint256"
                                    },
                                    "id": 3513,
                                    "name": "ElementaryTypeName",
                                    "src": "851:4:5"
                                  }
                                ],
                                "id": 3514,
                                "name": "VariableDeclaration",
                                "src": "851:11:5"
                              }
                            ],
                            "id": 3515,
                            "name": "VariableDeclarationStatement",
                            "src": "851:11:5"
                          },
                          {
                            "children": [
                              {
                                "attributes": {
                                  "assignments": [
                                    3517
                                  ]
                                },
                                "children": [
                                  {
                                    "attributes": {
                                      "constant": false,
                                      "name": "cnt",
                                      "scope": 3581,
                                      "stateVariable": false,
                                      "storageLocation": "default",
                                      "type": "uint256",
                                      "value": null,
                                      "visibility": "internal"
                                    },
                                    "children": [
                                      {
                                        "attributes": {
                                          "name": "uint",
                                          "type": "uint256"
                                        },
                                        "id": 3516,
                                        "name": "ElementaryTypeName",
                                        "src": "881:4:5"
                                      }
                                    ],
                                    "id": 3517,
                                    "name": "VariableDeclaration",
                                    "src": "881:8:5"
                                  },
                                  {
                                    "attributes": {
                                      "argumentTypes": null,
                                      "hexvalue": "31",
                                      "isConstant": false,
                                      "isLValue": false,
                                      "isPure": true,
                                      "lValueRequested": false,
                                      "subdenomination": null,
                                      "token": "number",
                                      "type": "int_const 1",
                                      "value": "1"
                                    },
                                    "id": 3518,
                                    "name": "Literal",
                                    "src": "892:1:5"
                                  }
                                ],
                                "id": 3519,
                                "name": "VariableDeclarationStatement",
                                "src": "881:12:5"
                              },
                              {
                                "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": 3517,
                                      "type": "uint256",
                                      "value": "cnt"
                                    },
                                    "id": 3520,
                                    "name": "Identifier",
                                    "src": "895:3:5"
                                  },
                                  {
                                    "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": 3479,
                                          "type": "struct AbsoluteVote.Proposal storage pointer",
                                          "value": "proposal"
                                        },
                                        "id": 3521,
                                        "name": "Identifier",
                                        "src": "900:8:5"
                                      }
                                    ],
                                    "id": 3522,
                                    "name": "MemberAccess",
                                    "src": "900:21:5"
                                  }
                                ],
                                "id": 3523,
                                "name": "BinaryOperation",
                                "src": "895:26:5"
                              },
                              {
                                "children": [
                                  {
                                    "attributes": {
                                      "argumentTypes": null,
                                      "isConstant": false,
                                      "isLValue": false,
                                      "isPure": false,
                                      "lValueRequested": false,
                                      "operator": "++",
                                      "prefix": false,
                                      "type": "uint256"
                                    },
                                    "children": [
                                      {
                                        "attributes": {
                                          "argumentTypes": null,
                                          "overloadedDeclarations": [
                                            null
                                          ],
                                          "referencedDeclaration": 3517,
                                          "type": "uint256",
                                          "value": "cnt"
                                        },
                                        "id": 3524,
                                        "name": "Identifier",
                                        "src": "923:3:5"
                                      }
                                    ],
                                    "id": 3525,
                                    "name": "UnaryOperation",
                                    "src": "923:5:5"
                                  }
                                ],
                                "id": 3526,
                                "name": "ExpressionStatement",
                                "src": "923:5:5"
                              },
                              {
                                "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": 3479,
                                                      "type": "struct AbsoluteVote.Proposal storage pointer",
                                                      "value": "proposal"
                                                    },
                                                    "id": 3527,
                                                    "name": "Identifier",
                                                    "src": "952:8:5"
                                                  }
                                                ],
                                                "id": 3528,
                                                "name": "MemberAccess",
                                                "src": "952:14:5"
                                              },
                                              {
                                                "attributes": {
                                                  "argumentTypes": null,
                                                  "overloadedDeclarations": [
                                                    null
                                                  ],
                                                  "referencedDeclaration": 3517,
                                                  "type": "uint256",
                                                  "value": "cnt"
                                                },
                                                "id": 3529,
                                                "name": "Identifier",
                                                "src": "967:3:5"
                                              }
                                            ],
                                            "id": 3530,
                                            "name": "IndexAccess",
                                            "src": "952:19:5"
                                          },
                                          {
                                            "attributes": {
                                              "argumentTypes": null,
                                              "overloadedDeclarations": [
                                                null
                                              ],
                                              "referencedDeclaration": 3511,
                                              "type": "uint256",
                                              "value": "max"
                                            },
                                            "id": 3531,
                                            "name": "Identifier",
                                            "src": "974:3:5"
                                          }
                                        ],
                                        "id": 3532,
                                        "name": "BinaryOperation",
                                        "src": "952:25:5"
                                      },
                                      {
                                        "children": [
                                          {
                                            "children": [
                                              {
                                                "attributes": {
                                                  "argumentTypes": null,
                                                  "isConstant": false,
                                                  "isLValue": false,
                                                  "isPure": false,
                                                  "lValueRequested": false,
                                                  "operator": "=",
                                                  "type": "uint256"
                                                },
                                                "children": [
                                                  {
                                                    "attributes": {
                                                      "argumentTypes": null,
                                                      "overloadedDeclarations": [
                                                        null
                                                      ],
                                                      "referencedDeclaration": 3511,
                                                      "type": "uint256",
                                                      "value": "max"
                                                    },
                                                    "id": 3533,
                                                    "name": "Identifier",
                                                    "src": "1001:3:5"
                                                  },
                                                  {
                                                    "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": 3479,
                                                              "type": "struct AbsoluteVote.Proposal storage pointer",
                                                              "value": "proposal"
                                                            },
                                                            "id": 3534,
                                                            "name": "Identifier",
                                                            "src": "1007:8:5"
                                                          }
                                                        ],
                                                        "id": 3535,
                                                        "name": "MemberAccess",
                                                        "src": "1007:14:5"
                                                      },
                                                      {
                                                        "attributes": {
                                                          "argumentTypes": null,
                                                          "overloadedDeclarations": [
                                                            null
                                                          ],
                                                          "referencedDeclaration": 3517,
                                                          "type": "uint256",
                                                          "value": "cnt"
                                                        },
                                                        "id": 3536,
                                                        "name": "Identifier",
                                                        "src": "1022:3:5"
                                                      }
                                                    ],
                                                    "id": 3537,
                                                    "name": "IndexAccess",
                                                    "src": "1007:19:5"
                                                  }
                                                ],
                                                "id": 3538,
                                                "name": "Assignment",
                                                "src": "1001:25:5"
                                              }
                                            ],
                                            "id": 3539,
                                            "name": "ExpressionStatement",
                                            "src": "1001:25:5"
                                          },
                                          {
                                            "children": [
                                              {
                                                "attributes": {
                                                  "argumentTypes": null,
                                                  "isConstant": false,
                                                  "isLValue": false,
                                                  "isPure": false,
                                                  "lValueRequested": false,
                                                  "operator": "=",
                                                  "type": "uint256"
                                                },
                                                "children": [
                                                  {
                                                    "attributes": {
                                                      "argumentTypes": null,
                                                      "overloadedDeclarations": [
                                                        null
                                                      ],
                                                      "referencedDeclaration": 3514,
                                                      "type": "uint256",
                                                      "value": "maxInd"
                                                    },
                                                    "id": 3540,
                                                    "name": "Identifier",
                                                    "src": "1048:6:5"
                                                  },
                                                  {
                                                    "attributes": {
                                                      "argumentTypes": null,
                                                      "overloadedDeclarations": [
                                                        null
                                                      ],
                                                      "referencedDeclaration": 3517,
                                                      "type": "uint256",
                                                      "value": "cnt"
                                                    },
                                                    "id": 3541,
                                                    "name": "Identifier",
                                                    "src": "1057:3:5"
                                                  }
                                                ],
                                                "id": 3542,
                                                "name": "Assignment",
                                                "src": "1048:12:5"
                                              }
                                            ],
                                            "id": 3543,
                                            "name": "ExpressionStatement",
                                            "src": "1048:12:5"
                                          }
                                        ],
                                        "id": 3544,
                                        "name": "Block",
                                        "src": "979:100:5"
                                      }
                                    ],
                                    "id": 3545,
                                    "name": "IfStatement",
                                    "src": "948:131:5"
                                  }
                                ],
                                "id": 3546,
                                "name": "Block",
                                "src": "930:163:5"
                              }
                            ],
                            "id": 3547,
                            "name": "ForStatement",
                            "src": "876:217:5"
                          },
                          {
                            "attributes": {
                              "assignments": [
                                3549
                              ]
                            },
                            "children": [
                              {
                                "attributes": {
                                  "constant": false,
                                  "name": "tmpProposal",
                                  "scope": 3581,
                                  "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": 3548,
                                    "name": "UserDefinedTypeName",
                                    "src": "1106:8:5"
                                  }
                                ],
                                "id": 3549,
                                "name": "VariableDeclaration",
                                "src": "1106:27:5"
                              },
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "overloadedDeclarations": [
                                    null
                                  ],
                                  "referencedDeclaration": 3479,
                                  "type": "struct AbsoluteVote.Proposal storage pointer",
                                  "value": "proposal"
                                },
                                "id": 3550,
                                "name": "Identifier",
                                "src": "1136:8:5"
                              }
                            ],
                            "id": 3551,
                            "name": "VariableDeclarationStatement",
                            "src": "1106:38:5"
                          },
                          {
                            "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": 3552,
                                        "name": "Identifier",
                                        "src": "1165:9:5"
                                      },
                                      {
                                        "attributes": {
                                          "argumentTypes": null,
                                          "overloadedDeclarations": [
                                            null
                                          ],
                                          "referencedDeclaration": 3470,
                                          "type": "bytes32",
                                          "value": "_proposalId"
                                        },
                                        "id": 3553,
                                        "name": "Identifier",
                                        "src": "1175:11:5"
                                      }
                                    ],
                                    "id": 3554,
                                    "name": "IndexAccess",
                                    "src": "1165:22:5"
                                  }
                                ],
                                "id": 3555,
                                "name": "UnaryOperation",
                                "src": "1158:29:5"
                              }
                            ],
                            "id": 3556,
                            "name": "ExpressionStatement",
                            "src": "1158:29:5"
                          },
                          {
                            "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": 3557,
                                    "name": "Identifier",
                                    "src": "1201:15:5"
                                  },
                                  {
                                    "attributes": {
                                      "argumentTypes": null,
                                      "overloadedDeclarations": [
                                        null
                                      ],
                                      "referencedDeclaration": 3470,
                                      "type": "bytes32",
                                      "value": "_proposalId"
                                    },
                                    "id": 3558,
                                    "name": "Identifier",
                                    "src": "1217:11:5"
                                  },
                                  {
                                    "attributes": {
                                      "argumentTypes": null,
                                      "overloadedDeclarations": [
                                        null
                                      ],
                                      "referencedDeclaration": 3514,
                                      "type": "uint256",
                                      "value": "maxInd"
                                    },
                                    "id": 3559,
                                    "name": "Identifier",
                                    "src": "1230:6:5"
                                  }
                                ],
                                "id": 3560,
                                "name": "FunctionCall",
                                "src": "1201:36:5"
                              }
                            ],
                            "id": 3561,
                            "name": "ExpressionStatement",
                            "src": "1201:36:5"
                          },
                          {
                            "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": 3549,
                                                  "type": "struct AbsoluteVote.Proposal memory",
                                                  "value": "tmpProposal"
                                                },
                                                "id": 3562,
                                                "name": "Identifier",
                                                "src": "1252:11:5"
                                              }
                                            ],
                                            "id": 3563,
                                            "name": "MemberAccess",
                                            "src": "1252:22:5"
                                          }
                                        ],
                                        "id": 3564,
                                        "name": "TupleExpression",
                                        "src": "1251:24:5"
                                      }
                                    ],
                                    "id": 3565,
                                    "name": "MemberAccess",
                                    "src": "1251:32:5"
                                  },
                                  {
                                    "attributes": {
                                      "argumentTypes": null,
                                      "overloadedDeclarations": [
                                        null
                                      ],
                                      "referencedDeclaration": 3470,
                                      "type": "bytes32",
                                      "value": "_proposalId"
                                    },
                                    "id": 3566,
                                    "name": "Identifier",
                                    "src": "1284:11:5"
                                  },
                                  {
                                    "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": 3549,
                                          "type": "struct AbsoluteVote.Proposal memory",
                                          "value": "tmpProposal"
                                        },
                                        "id": 3567,
                                        "name": "Identifier",
                                        "src": "1297:11:5"
                                      }
                                    ],
                                    "id": 3568,
                                    "name": "MemberAccess",
                                    "src": "1297:18:5"
                                  },
                                  {
                                    "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": 3569,
                                        "name": "ElementaryTypeNameExpression",
                                        "src": "1317:3:5"
                                      },
                                      {
                                        "attributes": {
                                          "argumentTypes": null,
                                          "overloadedDeclarations": [
                                            null
                                          ],
                                          "referencedDeclaration": 3514,
                                          "type": "uint256",
                                          "value": "maxInd"
                                        },
                                        "id": 3570,
                                        "name": "Identifier",
                                        "src": "1321:6:5"
                                      }
                                    ],
                                    "id": 3571,
                                    "name": "FunctionCall",
                                    "src": "1317:11:5"
                                  }
                                ],
                                "id": 3572,
                                "name": "FunctionCall",
                                "src": "1251:78:5"
                              }
                            ],
                            "id": 3573,
                            "name": "ExpressionStatement",
                            "src": "1251:78:5"
                          },
                          {
                            "attributes": {
                              "functionReturnParameters": 3477
                            },
                            "children": [
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "hexvalue": "74727565",
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": true,
                                  "lValueRequested": false,
                                  "subdenomination": null,
                                  "token": "bool",
                                  "type": "bool",
                                  "value": "true"
                                },
                                "id": 3574,
                                "name": "Literal",
                                "src": "1350:4:5"
                              }
                            ],
                            "id": 3575,
                            "name": "Return",
                            "src": "1343:11:5"
                          }
                        ],
                        "id": 3576,
                        "name": "Block",
                        "src": "815:550:5"
                      }
                    ],
                    "id": 3577,
                    "name": "IfStatement",
                    "src": "760:605:5"
                  },
                  {
                    "attributes": {
                      "functionReturnParameters": 3477
                    },
                    "children": [
                      {
                        "attributes": {
                          "argumentTypes": null,
                          "hexvalue": "66616c7365",
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "lValueRequested": false,
                          "subdenomination": null,
                          "token": "bool",
                          "type": "bool",
                          "value": "false"
                        },
                        "id": 3578,
                        "name": "Literal",
                        "src": "1381:5:5"
                      }
                    ],
                    "id": 3579,
                    "name": "Return",
                    "src": "1374:12:5"
                  }
                ],
                "id": 3580,
                "name": "Block",
                "src": "486:907:5"
              }
            ],
            "id": 3581,
            "name": "FunctionDefinition",
            "src": "406:987:5"
          }
        ],
        "id": 3582,
        "name": "ContractDefinition",
        "src": "129:1266:5"
      }
    ],
    "id": 3583,
    "name": "SourceUnit",
    "src": "0:1396:5"
  },
  "compiler": {
    "name": "solc",
    "version": "0.4.18+commit.9cf6e910.Emscripten.clang"
  },
  "networks": {},
  "schemaVersion": "1.0.1",
  "updatedAt": "2018-02-04T21:57:39.051Z"
}