{
  "contractName": "MockDaoSpecialStorage",
  "abi": [
    {
      "constant": true,
      "inputs": [],
      "name": "resolver",
      "outputs": [
        {
          "name": "",
          "type": "address"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": false,
      "inputs": [
        {
          "name": "_proposalId",
          "type": "bytes32"
        },
        {
          "name": "_result",
          "type": "bool"
        }
      ],
      "name": "setPass",
      "outputs": [],
      "payable": false,
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "constant": false,
      "inputs": [
        {
          "name": "_proposalId",
          "type": "bytes32"
        },
        {
          "name": "_hash",
          "type": "bytes32"
        },
        {
          "name": "_voter",
          "type": "address"
        }
      ],
      "name": "commitVote",
      "outputs": [],
      "payable": false,
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [],
      "name": "key",
      "outputs": [
        {
          "name": "",
          "type": "bytes32"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [
        {
          "name": "_key",
          "type": "bytes32"
        }
      ],
      "name": "get_contract",
      "outputs": [
        {
          "name": "_contract",
          "type": "address"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": false,
      "inputs": [
        {
          "name": "_proposalId",
          "type": "bytes32"
        },
        {
          "name": "_voter",
          "type": "address"
        },
        {
          "name": "_vote",
          "type": "bool"
        },
        {
          "name": "_weight",
          "type": "uint256"
        }
      ],
      "name": "revealVote",
      "outputs": [],
      "payable": false,
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [
        {
          "name": "_proposalId",
          "type": "bytes32"
        }
      ],
      "name": "readConfigs",
      "outputs": [
        {
          "name": "_uintConfigs",
          "type": "uint256[]"
        },
        {
          "name": "_addressConfigs",
          "type": "address[]"
        },
        {
          "name": "_bytesConfigs",
          "type": "bytes32[]"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [
        {
          "name": "_proposalId",
          "type": "bytes32"
        }
      ],
      "name": "readProposalProposer",
      "outputs": [
        {
          "name": "_proposer",
          "type": "address"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": false,
      "inputs": [
        {
          "name": "_proposalId",
          "type": "bytes32"
        },
        {
          "name": "_time",
          "type": "uint256"
        }
      ],
      "name": "setVotingTime",
      "outputs": [],
      "payable": false,
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [
        {
          "name": "_proposalId",
          "type": "bytes32"
        },
        {
          "name": "_allUsers",
          "type": "address[]"
        }
      ],
      "name": "readVotingCount",
      "outputs": [
        {
          "name": "_for",
          "type": "uint256"
        },
        {
          "name": "_against",
          "type": "uint256"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [
        {
          "name": "_proposalId",
          "type": "bytes32"
        }
      ],
      "name": "readVotingResult",
      "outputs": [
        {
          "name": "_result",
          "type": "bool"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [
        {
          "name": "_proposalId",
          "type": "bytes32"
        }
      ],
      "name": "readVotingTime",
      "outputs": [
        {
          "name": "_start",
          "type": "uint256"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": false,
      "inputs": [
        {
          "name": "_proposalId",
          "type": "bytes32"
        },
        {
          "name": "_proposer",
          "type": "address"
        },
        {
          "name": "_uintConfigs",
          "type": "uint256[]"
        },
        {
          "name": "_addressConfigs",
          "type": "address[]"
        },
        {
          "name": "_bytesConfigs",
          "type": "bytes32[]"
        }
      ],
      "name": "addSpecialProposal",
      "outputs": [],
      "payable": false,
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [
        {
          "name": "_proposalId",
          "type": "bytes32"
        }
      ],
      "name": "isClaimed",
      "outputs": [
        {
          "name": "_claimed",
          "type": "bool"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": false,
      "inputs": [
        {
          "name": "_proposalId",
          "type": "bytes32"
        },
        {
          "name": "_claimed",
          "type": "bool"
        }
      ],
      "name": "setVotingClaim",
      "outputs": [],
      "payable": false,
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [
        {
          "name": "_proposalId",
          "type": "bytes32"
        }
      ],
      "name": "readProposal",
      "outputs": [
        {
          "name": "_id",
          "type": "bytes32"
        },
        {
          "name": "_proposer",
          "type": "address"
        },
        {
          "name": "_timeCreated",
          "type": "uint256"
        },
        {
          "name": "_timeVotingStarted",
          "type": "uint256"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [],
      "name": "CONTRACT_ADDRESS",
      "outputs": [
        {
          "name": "",
          "type": "address"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [
        {
          "name": "_proposalId",
          "type": "bytes32"
        },
        {
          "name": "_voter",
          "type": "address"
        }
      ],
      "name": "readVote",
      "outputs": [
        {
          "name": "_vote",
          "type": "bool"
        },
        {
          "name": "_weight",
          "type": "uint256"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [
        {
          "name": "_proposalId",
          "type": "bytes32"
        },
        {
          "name": "_voter",
          "type": "address"
        }
      ],
      "name": "readComittedVote",
      "outputs": [
        {
          "name": "_commitHash",
          "type": "bytes32"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "name": "_resolver",
          "type": "address"
        }
      ],
      "payable": false,
      "stateMutability": "nonpayable",
      "type": "constructor"
    },
    {
      "constant": false,
      "inputs": [
        {
          "name": "_specialProposalId",
          "type": "bytes32"
        },
        {
          "name": "_founder",
          "type": "address"
        },
        {
          "name": "_uintConfigs",
          "type": "uint256[]"
        },
        {
          "name": "_addressConfigs",
          "type": "address[]"
        },
        {
          "name": "_bytesConfigs",
          "type": "bytes32[]"
        },
        {
          "name": "_startOfVoting",
          "type": "uint256"
        }
      ],
      "name": "mock_put_proposal_as",
      "outputs": [],
      "payable": false,
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "constant": false,
      "inputs": [
        {
          "name": "_specialProposalId",
          "type": "bytes32"
        },
        {
          "name": "_voters",
          "type": "address[]"
        },
        {
          "name": "_commits",
          "type": "bytes32[]"
        },
        {
          "name": "_length",
          "type": "uint256"
        }
      ],
      "name": "mock_put_commit_votes",
      "outputs": [],
      "payable": false,
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "constant": false,
      "inputs": [
        {
          "name": "_specialProposalId",
          "type": "bytes32"
        },
        {
          "name": "_voters",
          "type": "address[]"
        },
        {
          "name": "_votes",
          "type": "bool[]"
        },
        {
          "name": "_stakes",
          "type": "uint256[]"
        },
        {
          "name": "_length",
          "type": "uint256"
        }
      ],
      "name": "mock_put_past_votes",
      "outputs": [],
      "payable": false,
      "stateMutability": "nonpayable",
      "type": "function"
    }
  ],
  "bytecode": "0x608060405260006001026003906000191690556000600460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507f70726f706f73616c5f73746174655f70726570726f706f73616c0000000000006005906000191690557f70726f706f73616c5f73746174655f64726166740000000000000000000000006006906000191690557f70726f706f73616c5f73746174655f6d6f6465726174656400000000000000006007906000191690557f70726f706f73616c5f73746174655f6f6e676f696e67000000000000000000006008906000191690557f70726f706f73616c5f73746174655f636c6f73656400000000000000000000006009906000191690557f70726f706f73616c5f73746174655f6172636869766564000000000000000000600a906000191690556001600b556002600c556003600d556001600e556002600f5560036010557f696e7465725f6467645f696400000000000000000000000000000000000000006011906000191690557f696e7465725f6d6f645f6467645f6964000000000000000000000000000000006012906000191690557f696e7465725f626f6e75735f63616c63756c6174696f6e5f69640000000000006013906000191690557f64616f00000000000000000000000000000000000000000000000000000000006014906000191690557f64616f3a7370656369616c3a70726f706f73616c0000000000000000000000006015906000191690557f64616f3a7374616b652d6c6f636b696e670000000000000000000000000000006016906000191690557f64616f3a766f74696e67000000000000000000000000000000000000000000006017906000191690557f64616f3a766f74696e673a636c61696d730000000000000000000000000000006018906000191690557f64616f3a73766f74696e673a636c61696d7300000000000000000000000000006019906000191690557f64616f3a6964656e746974790000000000000000000000000000000000000000601a906000191690557f64616f3a726577617264732d6d616e6167657200000000000000000000000000601b906000191690557f64616f3a726577617264732d6578747261730000000000000000000000000000601c906000191690557f64616f3a726f6c65730000000000000000000000000000000000000000000000601d906000191690557f64616f3a66756e64696e672d6d616e6167657200000000000000000000000000601e906000191690557f64616f3a77686974656c697374696e6700000000000000000000000000000000601f906000191690557f64616f3a696e666f726d6174696f6e00000000000000000000000000000000006020906000191690557f736572766963653a726f6c6500000000000000000000000000000000000000006021906000191690557f736572766963653a64616f3a696e666f000000000000000000000000000000006022906000191690557f736572766963653a64616f3a6c697374696e67000000000000000000000000006023906000191690557f736572766963653a64616f3a63616c63756c61746f72000000000000000000006024906000191690557f73746f726167653a64616f0000000000000000000000000000000000000000006025906000191690557f73746f726167653a64616f3a636f756e746572000000000000000000000000006026906000191690557f73746f726167653a64616f3a75706772616465000000000000000000000000006027906000191690557f73746f726167653a64616f3a6964656e746974790000000000000000000000006028906000191690557f73746f726167653a64616f3a706f696e747300000000000000000000000000006029906000191690557f73746f726167653a64616f3a7370656369616c00000000000000000000000000602a906000191690557f73746f726167653a64616f3a636f6e6669670000000000000000000000000000602b906000191690557f73746f726167653a64616f3a7374616b65000000000000000000000000000000602c906000191690557f73746f726167653a64616f3a7265776172647300000000000000000000000000602d906000191690557f73746f726167653a64616f3a77686974656c697374696e670000000000000000602e906000191690557f73746f726167653a696e7465726d6564696174653a726573756c747300000000602f906000191690557f743a6467640000000000000000000000000000000000000000000000000000006030906000191690557f743a6467780000000000000000000000000000000000000000000000000000006031906000191690557f743a6261646765000000000000000000000000000000000000000000000000006032906000191690556001603360006101000a81548160ff021916908360ff1602179055506002603360016101000a81548160ff021916908360ff1602179055506003603360026101000a81548160ff021916908360ff1602179055506004603360036101000a81548160ff021916908360ff1602179055506276a7006034557f6d696e5f6467645f7061727469636970616e74000000000000000000000000006035906000191690557f6d696e5f6467645f6d6f64657261746f720000000000000000000000000000006036906000191690557f6d696e5f72657075746174696f6e5f6d6f64657261746f7200000000000000006037906000191690557f6c6f636b696e675f70686173655f6475726174696f6e000000000000000000006038906000191690557f717561727465725f6475726174696f6e000000000000000000000000000000006039906000191690557f766f74696e675f636f6d6d69745f706861736500000000000000000000000000603a906000191690557f766f74696e675f70686173655f746f74616c0000000000000000000000000000603b906000191690557f696e746572696d5f766f74696e675f636f6d6d69745f70686173650000000000603c906000191690557f696e746572696d5f766f74696e675f70686173655f746f74616c000000000000603d906000191690557f64726166745f71756f72756d5f66697865645f6e756d657261746f7200000000603e906000191690557f64726166745f71756f72756d5f66697865645f64656e6f6d696e61746f720000603f906000191690557f64726166745f71756f72756d5f73666163746f725f6e756d657261746f7200006040906000191690557f64726166745f71756f72756d5f73666163746f725f64656e6f6d696e61746f726041906000191690557f766f74655f71756f72756d5f66697865645f6e756d657261746f7200000000006042906000191690557f766f74655f71756f72756d5f66697865645f64656e6f6d696e61746f720000006043906000191690557f766f74655f71756f72756d5f73666163746f725f6e756d657261746f720000006044906000191690557f766f74655f71756f72756d5f73666163746f725f64656e6f6d696e61746f72006045906000191690557f66696e616c5f7265776172645f73666163746f725f6e756d657261746f7200006046906000191690557f66696e616c5f7265776172645f73666163746f725f64656e6f6d696e61746f726047906000191690557f64726166745f71756f74615f6e756d657261746f7200000000000000000000006048906000191690557f64726166745f71756f74615f64656e6f6d696e61746f720000000000000000006049906000191690557f766f74696e675f71756f74615f6e756d657261746f7200000000000000000000604a906000191690557f766f74696e675f71756f74615f64656e6f6d696e61746f720000000000000000604b906000191690557f6d696e696d616c5f717000000000000000000000000000000000000000000000604c906000191690557f717561727465725f706f696e745f7363616c696e675f666163746f7200000000604d906000191690557f7265705f706f696e745f7363616c696e675f666163746f720000000000000000604e906000191690557f6d696e696d616c5f6d6f645f7170000000000000000000000000000000000000604f906000191690557f6d6f645f71705f7363616c696e675f666163746f7200000000000000000000006050906000191690557f6d6f645f7265705f706f696e745f7363616c696e675f666163746f72000000006051906000191690557f717561727465725f706f696e745f64726166745f766f746500000000000000006052906000191690557f717561727465725f706f696e745f766f746500000000000000000000000000006053906000191690557f717561727465725f706f696e745f696e746572696d5f766f74650000000000006054906000191690557f715f705f6d696c6573746f6e655f636f6d706c6574696f6e00000000000000006055906000191690557f626f6e75735f72657075746174696f6e5f6e756d657261746f720000000000006056906000191690557f626f6e75735f72657075746174696f6e5f64656e6f6d696e61746f72000000006057906000191690557f7370656369616c5f70726f706f73616c5f636f6d6d69745f70686173650000006058906000191690557f7370656369616c5f70726f706f73616c5f70686173655f746f74616c000000006059906000191690557f636f6e6669675f7370656369616c5f71756f74615f6e756d657261746f720000605a906000191690557f636f6e6669675f7370656369616c5f71756f74615f64656e6f6d696e61746f72605b906000191690557f7370656369616c5f71756f72756d5f6e756d657261746f720000000000000000605c906000191690557f7370656369616c5f71756f72756d5f64656e6f6d696e61746f72000000000000605d906000191690557f636f6e6669675f6d61785f72657075746174696f6e5f646564756374696f6e00605e906000191690557f636f6e6669675f70756e6973686d656e745f6e6f745f6c6f636b696e67000000605f906000191690557f636f6e6669675f7265705f7065725f65787472615f71705f6e756d00000000006060906000191690557f636f6e6669675f7265705f7065725f65787472615f71705f64656e00000000006061906000191690557f636f6e6669675f6d61785f6d5f72705f646564756374696f6e000000000000006062906000191690557f636f6e6669675f7265705f7065725f65787472615f6d5f71705f6e756d0000006063906000191690557f636f6e6669675f7265705f7065725f65787472615f6d5f71705f64656e0000006064906000191690557f636f6e6669675f6d6f645f706f7274696f6e5f6e756d000000000000000000006065906000191690557f636f6e6669675f6d6f645f706f7274696f6e5f64656e000000000000000000006066906000191690557f636f6e6669675f64726166745f766f74696e675f7068617365000000000000006067906000191690557f636f6e6669675f72705f626f6f73745f7065725f6261646765000000000000006068906000191690557f636f6e6669675f636c61696d696e675f646561646c696e6500000000000000006069906000191690557f636f6e6669675f70726570726f706f73616c5f636f6c6c61746572616c000000606a906000191690557f636f6e6669675f6d61785f66756e64696e675f6e6f6e44696769780000000000606b906000191690557f636f6e6669675f6d61785f6d696c6573746f6e65735f6e6f6e44696769780000606c906000191690557f636f6e6669675f6e6f6e44696769785f70726f706f73616c5f63617000000000606d906000191690557f636f6e6669675f646561645f6475726174696f6e000000000000000000000000606e906000191690557f636f6e6669675f63765f72657075746174696f6e000000000000000000000000606f906000191690553480156200113457600080fd5b50604051602080620034e6833981018060405281019080805190602001909291905050508062001176602a54826200118a640100000000026401000000009004565b15156200118257600080fd5b50506200141b565b6000808273ffffffffffffffffffffffffffffffffffffffff16636d19a8826040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b158015620011f257600080fd5b505af115801562001207573d6000803e3d6000fd5b505050506040513d60208110156200121e57600080fd5b810190808051906020019092919050505090506000151581151514156200140f5730600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550826000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555083600181600019169055506000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c0f6ef4a600154600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040518363ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018083600019166000191681526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200192505050602060405180830381600087803b158015620013bc57600080fd5b505af1158015620013d1573d6000803e3d6000fd5b505050506040513d6020811015620013e857600080fd5b810190808051906020019092919050505015156200140557600080fd5b6001915062001414565b600091505b5092915050565b6120bb806200142b6000396000f300608060405260043610610128576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806304f3bcec1461012d5780630d92dfb2146101845780631fae91f7146101c15780632e278bf9146102c55780633943380c146103245780633dd865b0146103575780633f83acff1461047b578063462d701f146104ec57806356ecd657146105535780635b712eb6146106695780636999b93f146106da57806373758c221461071557806379e4ce9d146107795780638839a29d146107c25780638b8a759314610807578063a00d964c14610921578063b89c3952146109e2578063d6ae87bf14610a2b578063d8d5017914610a68578063db4ecbc114610af6578063e5c2654e14610b4d578063f31a1ba214610bbd575b600080fd5b34801561013957600080fd5b50610142610c2a565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561019057600080fd5b506101bf6004803603810190808035600019169060200190929190803515159060200190929190505050610c4f565b005b3480156101cd57600080fd5b506102c3600480360381019080803560001916906020019092919080359060200190820180359060200190808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050509192919290803590602001908201803590602001908080602002602001604051908101604052809392919081815260200183836020028082843782019150505050505091929192908035906020019082018035906020019080806020026020016040519081016040528093929190818152602001838360200280828437820191505050505050919291929080359060200190929190505050610ca2565b005b3480156102d157600080fd5b5061032260048036038101908080356000191690602001909291908035600019169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610df4565b005b34801561033057600080fd5b50610339610e76565b60405180826000191660001916815260200191505060405180910390f35b34801561036357600080fd5b506104796004803603810190808035600019169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190820180359060200190808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050509192919290803590602001908201803590602001908080602002602001604051908101604052809392919081815260200183836020028082843782019150505050505091929192908035906020019082018035906020019080806020026020016040519081016040528093929190818152602001838360200280828437820191505050505050919291929080359060200190929190505050610e7c565b005b34801561048757600080fd5b506104aa60048036038101908080356000191690602001909291905050506110b7565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156104f857600080fd5b506105516004803603810190808035600019169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080351515906020019092919080359060200190929190505050611193565b005b34801561055f57600080fd5b506105826004803603810190808035600019169060200190929190505050611299565b60405180806020018060200180602001848103845287818151815260200191508051906020019060200280838360005b838110156105cd5780820151818401526020810190506105b2565b50505050905001848103835286818151815260200191508051906020019060200280838360005b8381101561060f5780820151818401526020810190506105f4565b50505050905001848103825285818151815260200191508051906020019060200280838360005b83811015610651578082015181840152602081019050610636565b50505050905001965050505050505060405180910390f35b34801561067557600080fd5b50610698600480360381019080803560001916906020019092919050505061142c565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156106e657600080fd5b50610713600480360381019080803560001916906020019092919080359060200190929190505050611474565b005b34801561072157600080fd5b5061075c60048036038101908080356000191690602001909291908035906020019082018035906020019190919293919293905050506114b4565b604051808381526020018281526020019250505060405180910390f35b34801561078557600080fd5b506107a860048036038101908080356000191690602001909291905050506115c9565b604051808215151515815260200191505060405180910390f35b3480156107ce57600080fd5b506107f16004803603810190808035600019169060200190929190505050611614565b6040518082815260200191505060405180910390f35b34801561081357600080fd5b5061091f6004803603810190808035600019169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001908201803590602001908080602002602001604051908101604052809392919081815260200183836020028082843782019150505050505091929192908035906020019082018035906020019080806020026020016040519081016040528093929190818152602001838360200280828437820191505050505050919291929080359060200190820180359060200190808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050509192919290505050611652565b005b34801561092d57600080fd5b506109e060048036038101908080356000191690602001909291908035906020019082018035906020019080806020026020016040519081016040528093929190818152602001838360200280828437820191505050505050919291929080359060200190820180359060200190808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050509192919290803590602001909291905050506118b5565b005b3480156109ee57600080fd5b50610a11600480360381019080803560001916906020019092919050505061196c565b604051808215151515815260200191505060405180910390f35b348015610a3757600080fd5b50610a6660048036038101908080356000191690602001909291908035151590602001909291905050506119b7565b005b348015610a7457600080fd5b50610a976004803603810190808035600019169060200190929190505050611a10565b6040518085600019166000191681526020018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200183815260200182815260200194505050505060405180910390f35b348015610b0257600080fd5b50610b0b611ac4565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b348015610b5957600080fd5b50610b9c6004803603810190808035600019169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611aea565b60405180831515151581526020018281526020019250505060405180910390f35b348015610bc957600080fd5b50610c0c6004803603810190808035600019169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611c0d565b60405180826000191660001916815260200191505060405180910390f35b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b610c5a601954611c89565b1515610c6557600080fd5b8060766000846000191660001916815260200190815260200160002060020160050160006101000a81548160ff0219169083151502179055505050565b60008090505b81811015610dec5760766000876000191660001916815260200190815260200160002060020173__DaoStructs____________________________631a14c51b90918784815181101515610cf857fe5b906020019060200201518785815181101515610d1057fe5b906020019060200201518786815181101515610d2857fe5b906020019060200201516040518563ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808581526020018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018315151515815260200182815260200194505050505060006040518083038186803b158015610dc757600080fd5b505af4158015610ddb573d6000803e3d6000fd5b505050508080600101915050610ca8565b505050505050565b610dff601754611c89565b1515610e0a57600080fd5b8160766000856000191660001916815260200190815260200160002060020160020160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208160001916905550505050565b60015481565b607073__DoublyLinkedList______________________63582f30b49091886040518363ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018083815260200182600019166000191681526020019250505060206040518083038186803b158015610efa57600080fd5b505af4158015610f0e573d6000803e3d6000fd5b505050506040513d6020811015610f2457600080fd5b81019080805190602001909291905050505085607660008860001916600019168152602001908152602001600020600001816000191690555084607660008860001916600019168152602001908152602001600020600b0160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550610fce600182611d9390919063ffffffff16565b60766000886000191660001916815260200190815260200160002060010181905550836076600088600019166000191681526020019081526020016000206008019080519060200190611022929190611ed8565b50826076600088600019166000191681526020019081526020016000206009019080519060200190611055929190611f25565b5081607660008860001916600019168152602001908152602001600020600a019080519060200190611088929190611faf565b508060766000886000191660001916815260200190815260200160002060020160000181905550505050505050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16633f83acff836040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808260001916600019168152602001915050602060405180830381600087803b15801561115157600080fd5b505af1158015611165573d6000803e3d6000fd5b505050506040513d602081101561117b57600080fd5b81019080805190602001909291905050509050919050565b61119e601754611c89565b15156111a957600080fd5b60766000856000191660001916815260200190815260200160002060020173__DaoStructs____________________________631a14c51b90918585856040518563ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808581526020018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018315151515815260200182815260200194505050505060006040518083038186803b15801561127b57600080fd5b505af415801561128f573d6000803e3d6000fd5b5050505050505050565b606080606060766000856000191660001916815260200190815260200160002060080180548060200260200160405190810160405280929190818152602001828054801561130657602002820191906000526020600020905b8154815260200190600101908083116112f2575b505050505092506076600085600019166000191681526020019081526020016000206009018054806020026020016040519081016040528092919081815260200182805480156113ab57602002820191906000526020600020905b8160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019060010190808311611361575b50505050509150607660008560001916600019168152602001908152602001600020600a0180548060200260200160405190810160405280929190818152602001828054801561141e57602002820191906000526020600020905b81546000191681526020019060010190808311611406575b505050505090509193909250565b6000607660008360001916600019168152602001908152602001600020600b0160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b61147f601554611c89565b151561148a57600080fd5b80607660008460001916600019168152602001908152602001600020600201600001819055505050565b6000806114bf611dac565b15156114ca57600080fd5b60766000866000191660001916815260200190815260200160002060020173__DaoStructs____________________________63b31ee28c909186866040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808481526020018060200182810382528484828181526020019250602002808284378201915050945050505050604080518083038186803b15801561157857600080fd5b505af415801561158c573d6000803e3d6000fd5b505050506040513d60408110156115a257600080fd5b81019080805190602001909291908051906020019092919050505091509150935093915050565b60006115d3611dac565b15156115de57600080fd5b60766000836000191660001916815260200190815260200160002060020160050160009054906101000a900460ff169050919050565b600061161e611dac565b151561162957600080fd5b607660008360001916600019168152602001908152602001600020600201600001549050919050565b61165d601554611c89565b151561166857600080fd5b6003546000191660766000876000191660001916815260200190815260200160002060000154600019161480156116a9575060035460001916856000191614155b15156116b457600080fd5b607073__DoublyLinkedList______________________63582f30b49091876040518363ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018083815260200182600019166000191681526020019250505060206040518083038186803b15801561173257600080fd5b505af4158015611746573d6000803e3d6000fd5b505050506040513d602081101561175c57600080fd5b81019080805190602001909291905050505084607660008760001916600019168152602001908152602001600020600001816000191690555083607660008760001916600019168152602001908152602001600020600b0160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055504260766000876000191660001916815260200190815260200160002060010181905550826076600087600019166000191681526020019081526020016000206008019080519060200190611847929190611ed8565b5081607660008760001916600019168152602001908152602001600020600901908051906020019061187a929190611f25565b5080607660008760001916600019168152602001908152602001600020600a0190805190602001906118ad929190611faf565b505050505050565b60008090505b818110156119655782818151811015156118d157fe5b906020019060200201516076600087600019166000191681526020019081526020016000206002016002016000868481518110151561190c57fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020816000191690555080806001019150506118bb565b5050505050565b6000611976611dac565b151561198157600080fd5b60766000836000191660001916815260200190815260200160002060020160050160019054906101000a900460ff169050919050565b60006119c4601954611c89565b15156119cf57600080fd5b6076600084600019166000191681526020019081526020016000209050818160020160050160016101000a81548160ff021916908315150217905550505050565b600080600080607660008660001916600019168152602001908152602001600020600001549350607660008660001916600019168152602001908152602001600020600b0160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1692506076600086600019166000191681526020019081526020016000206001015491506076600086600019166000191681526020019081526020016000206002016000015490509193509193565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600080611af5611dac565b1515611b0057600080fd5b60766000856000191660001916815260200190815260200160002060020173__DaoStructs____________________________634bf150b99091856040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808381526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200192505050604080518083038186803b158015611bbd57600080fd5b505af4158015611bd1573d6000803e3d6000fd5b505050506040513d6040811015611be757600080fd5b810190808051906020019092919080519060200190929190505050915091509250929050565b6000611c17611dac565b1515611c2257600080fd5b60766000846000191660001916815260200190815260200160002060020160020160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16633f83acff836040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808260001916600019168152602001915050602060405180830381600087803b158015611d2357600080fd5b505af1158015611d37573d6000803e3d6000fd5b505050506040513d6020811015611d4d57600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16149050919050565b6000828211151515611da157fe5b818303905092915050565b60003273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161480611ec15750611deb611ec6565b73ffffffffffffffffffffffffffffffffffffffff16639b19251a336040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b158015611e8557600080fd5b505af1158015611e99573d6000803e3d6000fd5b505050506040513d6020811015611eaf57600080fd5b81019080805190602001909291905050505b905090565b6000611ed3602e546110b7565b905090565b828054828255906000526020600020908101928215611f14579160200282015b82811115611f13578251825591602001919060010190611ef8565b5b509050611f219190612002565b5090565b828054828255906000526020600020908101928215611f9e579160200282015b82811115611f9d5782518260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555091602001919060010190611f45565b5b509050611fab9190612027565b5090565b828054828255906000526020600020908101928215611ff1579160200282015b82811115611ff0578251829060001916905591602001919060010190611fcf565b5b509050611ffe919061206a565b5090565b61202491905b80821115612020576000816000905550600101612008565b5090565b90565b61206791905b8082111561206357600081816101000a81549073ffffffffffffffffffffffffffffffffffffffff02191690555060010161202d565b5090565b90565b61208c91905b80821115612088576000816000905550600101612070565b5090565b905600a165627a7a723058204ec3aa430cbd24eb58ad3e81a0f35828d66f3f6e83ed890075fcd9bd77c753980029",
  "deployedBytecode": "0x608060405260043610610128576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806304f3bcec1461012d5780630d92dfb2146101845780631fae91f7146101c15780632e278bf9146102c55780633943380c146103245780633dd865b0146103575780633f83acff1461047b578063462d701f146104ec57806356ecd657146105535780635b712eb6146106695780636999b93f146106da57806373758c221461071557806379e4ce9d146107795780638839a29d146107c25780638b8a759314610807578063a00d964c14610921578063b89c3952146109e2578063d6ae87bf14610a2b578063d8d5017914610a68578063db4ecbc114610af6578063e5c2654e14610b4d578063f31a1ba214610bbd575b600080fd5b34801561013957600080fd5b50610142610c2a565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561019057600080fd5b506101bf6004803603810190808035600019169060200190929190803515159060200190929190505050610c4f565b005b3480156101cd57600080fd5b506102c3600480360381019080803560001916906020019092919080359060200190820180359060200190808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050509192919290803590602001908201803590602001908080602002602001604051908101604052809392919081815260200183836020028082843782019150505050505091929192908035906020019082018035906020019080806020026020016040519081016040528093929190818152602001838360200280828437820191505050505050919291929080359060200190929190505050610ca2565b005b3480156102d157600080fd5b5061032260048036038101908080356000191690602001909291908035600019169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610df4565b005b34801561033057600080fd5b50610339610e76565b60405180826000191660001916815260200191505060405180910390f35b34801561036357600080fd5b506104796004803603810190808035600019169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190820180359060200190808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050509192919290803590602001908201803590602001908080602002602001604051908101604052809392919081815260200183836020028082843782019150505050505091929192908035906020019082018035906020019080806020026020016040519081016040528093929190818152602001838360200280828437820191505050505050919291929080359060200190929190505050610e7c565b005b34801561048757600080fd5b506104aa60048036038101908080356000191690602001909291905050506110b7565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156104f857600080fd5b506105516004803603810190808035600019169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080351515906020019092919080359060200190929190505050611193565b005b34801561055f57600080fd5b506105826004803603810190808035600019169060200190929190505050611299565b60405180806020018060200180602001848103845287818151815260200191508051906020019060200280838360005b838110156105cd5780820151818401526020810190506105b2565b50505050905001848103835286818151815260200191508051906020019060200280838360005b8381101561060f5780820151818401526020810190506105f4565b50505050905001848103825285818151815260200191508051906020019060200280838360005b83811015610651578082015181840152602081019050610636565b50505050905001965050505050505060405180910390f35b34801561067557600080fd5b50610698600480360381019080803560001916906020019092919050505061142c565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156106e657600080fd5b50610713600480360381019080803560001916906020019092919080359060200190929190505050611474565b005b34801561072157600080fd5b5061075c60048036038101908080356000191690602001909291908035906020019082018035906020019190919293919293905050506114b4565b604051808381526020018281526020019250505060405180910390f35b34801561078557600080fd5b506107a860048036038101908080356000191690602001909291905050506115c9565b604051808215151515815260200191505060405180910390f35b3480156107ce57600080fd5b506107f16004803603810190808035600019169060200190929190505050611614565b6040518082815260200191505060405180910390f35b34801561081357600080fd5b5061091f6004803603810190808035600019169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001908201803590602001908080602002602001604051908101604052809392919081815260200183836020028082843782019150505050505091929192908035906020019082018035906020019080806020026020016040519081016040528093929190818152602001838360200280828437820191505050505050919291929080359060200190820180359060200190808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050509192919290505050611652565b005b34801561092d57600080fd5b506109e060048036038101908080356000191690602001909291908035906020019082018035906020019080806020026020016040519081016040528093929190818152602001838360200280828437820191505050505050919291929080359060200190820180359060200190808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050509192919290803590602001909291905050506118b5565b005b3480156109ee57600080fd5b50610a11600480360381019080803560001916906020019092919050505061196c565b604051808215151515815260200191505060405180910390f35b348015610a3757600080fd5b50610a6660048036038101908080356000191690602001909291908035151590602001909291905050506119b7565b005b348015610a7457600080fd5b50610a976004803603810190808035600019169060200190929190505050611a10565b6040518085600019166000191681526020018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200183815260200182815260200194505050505060405180910390f35b348015610b0257600080fd5b50610b0b611ac4565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b348015610b5957600080fd5b50610b9c6004803603810190808035600019169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611aea565b60405180831515151581526020018281526020019250505060405180910390f35b348015610bc957600080fd5b50610c0c6004803603810190808035600019169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611c0d565b60405180826000191660001916815260200191505060405180910390f35b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b610c5a601954611c89565b1515610c6557600080fd5b8060766000846000191660001916815260200190815260200160002060020160050160006101000a81548160ff0219169083151502179055505050565b60008090505b81811015610dec5760766000876000191660001916815260200190815260200160002060020173__DaoStructs____________________________631a14c51b90918784815181101515610cf857fe5b906020019060200201518785815181101515610d1057fe5b906020019060200201518786815181101515610d2857fe5b906020019060200201516040518563ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808581526020018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018315151515815260200182815260200194505050505060006040518083038186803b158015610dc757600080fd5b505af4158015610ddb573d6000803e3d6000fd5b505050508080600101915050610ca8565b505050505050565b610dff601754611c89565b1515610e0a57600080fd5b8160766000856000191660001916815260200190815260200160002060020160020160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208160001916905550505050565b60015481565b607073__DoublyLinkedList______________________63582f30b49091886040518363ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018083815260200182600019166000191681526020019250505060206040518083038186803b158015610efa57600080fd5b505af4158015610f0e573d6000803e3d6000fd5b505050506040513d6020811015610f2457600080fd5b81019080805190602001909291905050505085607660008860001916600019168152602001908152602001600020600001816000191690555084607660008860001916600019168152602001908152602001600020600b0160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550610fce600182611d9390919063ffffffff16565b60766000886000191660001916815260200190815260200160002060010181905550836076600088600019166000191681526020019081526020016000206008019080519060200190611022929190611ed8565b50826076600088600019166000191681526020019081526020016000206009019080519060200190611055929190611f25565b5081607660008860001916600019168152602001908152602001600020600a019080519060200190611088929190611faf565b508060766000886000191660001916815260200190815260200160002060020160000181905550505050505050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16633f83acff836040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808260001916600019168152602001915050602060405180830381600087803b15801561115157600080fd5b505af1158015611165573d6000803e3d6000fd5b505050506040513d602081101561117b57600080fd5b81019080805190602001909291905050509050919050565b61119e601754611c89565b15156111a957600080fd5b60766000856000191660001916815260200190815260200160002060020173__DaoStructs____________________________631a14c51b90918585856040518563ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808581526020018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018315151515815260200182815260200194505050505060006040518083038186803b15801561127b57600080fd5b505af415801561128f573d6000803e3d6000fd5b5050505050505050565b606080606060766000856000191660001916815260200190815260200160002060080180548060200260200160405190810160405280929190818152602001828054801561130657602002820191906000526020600020905b8154815260200190600101908083116112f2575b505050505092506076600085600019166000191681526020019081526020016000206009018054806020026020016040519081016040528092919081815260200182805480156113ab57602002820191906000526020600020905b8160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019060010190808311611361575b50505050509150607660008560001916600019168152602001908152602001600020600a0180548060200260200160405190810160405280929190818152602001828054801561141e57602002820191906000526020600020905b81546000191681526020019060010190808311611406575b505050505090509193909250565b6000607660008360001916600019168152602001908152602001600020600b0160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b61147f601554611c89565b151561148a57600080fd5b80607660008460001916600019168152602001908152602001600020600201600001819055505050565b6000806114bf611dac565b15156114ca57600080fd5b60766000866000191660001916815260200190815260200160002060020173__DaoStructs____________________________63b31ee28c909186866040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808481526020018060200182810382528484828181526020019250602002808284378201915050945050505050604080518083038186803b15801561157857600080fd5b505af415801561158c573d6000803e3d6000fd5b505050506040513d60408110156115a257600080fd5b81019080805190602001909291908051906020019092919050505091509150935093915050565b60006115d3611dac565b15156115de57600080fd5b60766000836000191660001916815260200190815260200160002060020160050160009054906101000a900460ff169050919050565b600061161e611dac565b151561162957600080fd5b607660008360001916600019168152602001908152602001600020600201600001549050919050565b61165d601554611c89565b151561166857600080fd5b6003546000191660766000876000191660001916815260200190815260200160002060000154600019161480156116a9575060035460001916856000191614155b15156116b457600080fd5b607073__DoublyLinkedList______________________63582f30b49091876040518363ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018083815260200182600019166000191681526020019250505060206040518083038186803b15801561173257600080fd5b505af4158015611746573d6000803e3d6000fd5b505050506040513d602081101561175c57600080fd5b81019080805190602001909291905050505084607660008760001916600019168152602001908152602001600020600001816000191690555083607660008760001916600019168152602001908152602001600020600b0160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055504260766000876000191660001916815260200190815260200160002060010181905550826076600087600019166000191681526020019081526020016000206008019080519060200190611847929190611ed8565b5081607660008760001916600019168152602001908152602001600020600901908051906020019061187a929190611f25565b5080607660008760001916600019168152602001908152602001600020600a0190805190602001906118ad929190611faf565b505050505050565b60008090505b818110156119655782818151811015156118d157fe5b906020019060200201516076600087600019166000191681526020019081526020016000206002016002016000868481518110151561190c57fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020816000191690555080806001019150506118bb565b5050505050565b6000611976611dac565b151561198157600080fd5b60766000836000191660001916815260200190815260200160002060020160050160019054906101000a900460ff169050919050565b60006119c4601954611c89565b15156119cf57600080fd5b6076600084600019166000191681526020019081526020016000209050818160020160050160016101000a81548160ff021916908315150217905550505050565b600080600080607660008660001916600019168152602001908152602001600020600001549350607660008660001916600019168152602001908152602001600020600b0160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1692506076600086600019166000191681526020019081526020016000206001015491506076600086600019166000191681526020019081526020016000206002016000015490509193509193565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600080611af5611dac565b1515611b0057600080fd5b60766000856000191660001916815260200190815260200160002060020173__DaoStructs____________________________634bf150b99091856040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808381526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200192505050604080518083038186803b158015611bbd57600080fd5b505af4158015611bd1573d6000803e3d6000fd5b505050506040513d6040811015611be757600080fd5b810190808051906020019092919080519060200190929190505050915091509250929050565b6000611c17611dac565b1515611c2257600080fd5b60766000846000191660001916815260200190815260200160002060020160020160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16633f83acff836040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808260001916600019168152602001915050602060405180830381600087803b158015611d2357600080fd5b505af1158015611d37573d6000803e3d6000fd5b505050506040513d6020811015611d4d57600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16149050919050565b6000828211151515611da157fe5b818303905092915050565b60003273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161480611ec15750611deb611ec6565b73ffffffffffffffffffffffffffffffffffffffff16639b19251a336040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b158015611e8557600080fd5b505af1158015611e99573d6000803e3d6000fd5b505050506040513d6020811015611eaf57600080fd5b81019080805190602001909291905050505b905090565b6000611ed3602e546110b7565b905090565b828054828255906000526020600020908101928215611f14579160200282015b82811115611f13578251825591602001919060010190611ef8565b5b509050611f219190612002565b5090565b828054828255906000526020600020908101928215611f9e579160200282015b82811115611f9d5782518260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555091602001919060010190611f45565b5b509050611fab9190612027565b5090565b828054828255906000526020600020908101928215611ff1579160200282015b82811115611ff0578251829060001916905591602001919060010190611fcf565b5b509050611ffe919061206a565b5090565b61202491905b80821115612020576000816000905550600101612008565b5090565b90565b61206791905b8082111561206357600081816101000a81549073ffffffffffffffffffffffffffffffffffffffff02191690555060010161202d565b5090565b90565b61208c91905b80821115612088576000816000905550600101612070565b5090565b905600a165627a7a723058204ec3aa430cbd24eb58ad3e81a0f35828d66f3f6e83ed890075fcd9bd77c753980029",
  "sourceMap": "72:1655:26:-;;;177:3:3;169:12;;147:34;;;;;;;219:3;187:36;;;;;;;;;;;;;;;;;;;;230:65;;;;;;;;301:53;;;;;;;;360:61;;;;;;;;427:57;;;;;;;;490:55;;;;;;;;551:59;;;;;;;;643:1;617:27;;677:1;650:28;;713:1;684:30;;758:1;721:38;;800:1;765:36;;843:1;807:37;;851:52;;;;;;;;909:66;;;;;;;;981:80;;;;;;;;1097:28;;;;;;;;1131:62;;;;;;;;1199:56;;;;;;;;1261:42;;;;;;;;1309:56;;;;;;;;1371:65;;;;;;;;1442:46;;;;;;;;1494:60;;;;;;;;1560:66;;;;;;;;1632:40;;;;;;;;1678:60;;;;;;;;1744:54;;;;;;;;1804:52;;;;;;;;1888:46;;;;;;;;1940:54;;;;;;;;2000:60;;;;;;;;2066:66;;;;;;;;2164:44;;;;;;;;2214:60;;;;;;;;2280;;;;;;;;2346:62;;;;;;;;2414:58;;;;;;;;2478:60;;;;;;;;2544:58;;;;;;;;2608:56;;;;;;;;2670:60;;;;;;;;2736:70;;;;;;;;2812:78;;;;;;;;2897:36;;;;;;;;2939;;;;;;;;2981:40;;;;;;;;3047:1;3028:20;;;;;;;;;;;;;;;;;;;;3077:1;3054:24;;;;;;;;;;;;;;;;;;;;3103:1;3084:20;;;;;;;;;;;;;;;;;;;;3135:1;3110:26;;;;;;;;;;;;;;;;;;;;3170:7;3143:34;;3184:57;;;;;;;;3247:62;;;;;;;;3315:76;;;;;;;;3398:64;;;;;;;;3468:52;;;;;;;;3526:58;;;;;;;;3590:56;;;;;;;;3652:67;;;;;;;;3725:65;;;;;;;;3797:84;;;;;;;;3887:88;;;;;;;;3981:87;;;;;;;;4074:91;;;;;;;;4171:84;;;;;;;;4261:88;;;;;;;;4355:87;;;;;;;;4448:91;;;;;;;;4545:87;;;;;;;;4638:91;;;;;;;;4736:62;;;;;;;;4804:66;;;;;;;;4876:64;;;;;;;;4946:68;;;;;;;;5021:51;;;;;;;;5078:76;;;;;;;;5160:75;;;;;;;;5242:65;;;;;;;;5313:79;;;;;;;;5398:89;;;;;;;;5494:68;;;;;;;;5568:56;;;;;;;;5630:72;;;;;;;;5740:91;;;;;;;;5838:72;;;;;;;;5916:76;;;;;;;;5999:78;;;;;;;;6083:76;;;;;;;;6166:73;;;;;;;;6245:77;;;;;;;;6329;;;;;;;;6412:81;;;;;;;;6500:79;;;;;;;;6585:75;;;;;;;;6667:74;;;;;;;;6747;;;;;;;;6828:83;;;;;;;;6917:86;;;;;;;;7009;;;;;;;;7102:67;;;;;;;;7175;;;;;;;;7249:63;;;;;;;;7319:77;;;;;;;;7403:66;;;;;;;;7476:71;;;;;;;;7554:72;;;;;;;;7632:78;;;;;;;;7716:82;;;;;;;;7805:62;;;;;;;;7873:68;;;;;;;;131:69:26;8:9:-1;5:2;;;30:1;27;20:12;5:2;131:69:26;;;;;;;;;;;;;;;;;;;;;;;;;;;;;187:9;764:45:58;769:28;;799:9;764:4;;;:45;;;:::i;:::-;756:54;;;;;;;;708:109;131:69:26;72:1655;;1530:450:67;1617:13;1640:15;1675:9;1658:42;;;:44;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1658:44:67;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;1658:44:67;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;1658:44:67;;;;;;;;;;;;;;;;1640:62;;1726:5;1712:19;;:10;:19;;;1708:268;;;1768:4;1741:16;;:32;;;;;;;;;;;;;;;;;;1792:9;1781:8;;:20;;;;;;;;;;;;;;;;;;1815:4;1809:3;:10;;;;;;;1852:8;;;;;;;;;;;1835:49;;;1885:3;;1890:16;;;;;;;;;;;1835:72;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1835:72:67;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;1835:72:67;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;1835:72:67;;;;;;;;;;;;;;;;1827:81;;;;;;;;1927:4;1916:15;;1708:268;;;1964:5;1953:16;;1708:268;1530:450;;;;;:::o;72:1655:26:-;;;;;;;",
  "deployedSourceMap": "72:1655:26:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;237:23:67;;8:9:-1;5:2;;;30:1;27;20:12;5:2;237:23:67;;;;;;;;;;;;;;;;;;;;;;;;;;;4223:202:58;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4223:202:58;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1362:363:26;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1362:363:26;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3276:244:58;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3276:244:58;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;264:18:67;;8:9:-1;5:2;;;30:1;27;20:12;5:2;264:18:67;;;;;;;;;;;;;;;;;;;;;;;;;;;;;206:814:26;;8:9:-1;5:2;;;30:1;27;20:12;5:2;206:814:26;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2380:179:67;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2380:179:67;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5191:277:58;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5191:277:58;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2328:438;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2328:438:58;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;2328:438:58;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;2328:438:58;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;2328:438:58;;;;;;;;;;;;;;;;;;;;;2139:183;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2139:183:58;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3787:205;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3787:205:58;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2772:271;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2772:271:58;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3998:219;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3998:219:58;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3049:221;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3049:221:58;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;823:818;;8:9:-1;5:2;;;30:1;27;20:12;5:2;823:818:58;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1026:330:26;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1026:330:26;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4715:215:58;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4715:215:58;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4431:278;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4431:278:58;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1647:486;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1647:486:58;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;344:31:67;;8:9:-1;5:2;;;30:1;27;20:12;5:2;344:31:67;;;;;;;;;;;;;;;;;;;;;;;;;;;4936:249:58;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4936:249:58;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3526:255;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3526:255:58;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;237:23:67;;;;;;;;;;;;;:::o;4223:202:58:-;4312:45;4322:34;;4312:9;:45::i;:::-;4304:54;;;;;;;;4411:7;4368:13;:26;4382:11;4368:26;;;;;;;;;;;;;;;;;:33;;:40;;;:50;;;;;;;;;;;;;;;;;;4223:202;;:::o;1362:363:26:-;1569:10;1582:1;1569:14;;1564:155;1590:7;1585:2;:12;1564:155;;;1619:13;:33;1633:18;1619:33;;;;;;;;;;;;;;;;;:40;;:51;;;;1671:7;1679:2;1671:11;;;;;;;;;;;;;;;;;;1684:6;1691:2;1684:10;;;;;;;;;;;;;;;;;;1696:7;1704:2;1696:11;;;;;;;;;;;;;;;;;;1619:89;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1619:89:26;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;1619:89:26;;;;1599:4;;;;;;;1564:155;;;1362:363;;;;;;:::o;3276:244:58:-;3415:30;3425:19;;3415:9;:30::i;:::-;3407:39;;;;;;;;3508:5;3456:13;:26;3470:11;3456:26;;;;;;;;;;;;;;;;;:33;;:41;;:49;3498:6;3456:49;;;;;;;;;;;;;;;:57;;;;;;;3276:244;;;:::o;264:18:67:-;;;;:::o;206:814:26:-;465:9;:16;;;;482:18;465:36;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;465:36:26;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;465:36:26;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;465:36:26;;;;;;;;;;;;;;;;;558:18;511:13;:33;525:18;511:33;;;;;;;;;;;;;;;;;:44;;:65;;;;;;;631:8;586:13;:33;600:18;586:33;;;;;;;;;;;;;;;;;:42;;;:53;;;;;;;;;;;;;;;;;;697:21;716:1;697:14;:18;;:21;;;;:::i;:::-;649:13;:33;663:18;649:33;;;;;;;;;;;;;;;;;:45;;:69;;;;776:12;728:13;:33;742:18;728:33;;;;;;;;;;;;;;;;;:45;;:60;;;;;;;;;;;;:::i;:::-;;849:15;798:13;:33;812:18;798:33;;;;;;;;;;;;;;;;;:48;;:66;;;;;;;;;;;;:::i;:::-;;923:13;874;:33;888:18;874:33;;;;;;;;;;;;;;;;;:46;;:62;;;;;;;;;;;;:::i;:::-;;999:14;946:13;:33;960:18;946:33;;;;;;;;;;;;;;;;;:40;;:50;;:67;;;;206:814;;;;;;:::o;2380:179:67:-;2470:17;2526:8;;;;;;;;;;;2509:39;;;2549:4;2509:45;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2509:45:67;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;2509:45:67;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;2509:45:67;;;;;;;;;;;;;;;;2497:57;;2380:179;;;:::o;5191:277:58:-;5352:30;5362:19;;5352:9;:30::i;:::-;5344:39;;;;;;;;5393:13;:26;5407:11;5393:26;;;;;;;;;;;;;;;;;:33;;:44;;;;5438:6;5446:5;5453:7;5393:68;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5393:68:58;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;5393:68:58;;;;5191:277;;;;:::o;2328:438::-;2428:29;2471:32;2517:30;2587:13;:26;2601:11;2587:26;;;;;;;;;;;;;;;;;:38;;2572:53;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2653:13;:26;2667:11;2653:26;;;;;;;;;;;;;;;;;:41;;2635:59;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2720:13;:26;2734:11;2720:26;;;;;;;;;;;;;;;;;:39;;2704:55;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2328:438;;;;;:::o;2139:183::-;2235:17;2280:13;:26;2294:11;2280:26;;;;;;;;;;;;;;;;;:35;;;;;;;;;;;;2268:47;;2139:183;;;:::o;3787:205::-;3883:40;3893:29;;3883:9;:40::i;:::-;3875:49;;;;;;;;3980:5;3934:13;:26;3948:11;3934:26;;;;;;;;;;;;;;;;;:33;;:43;;:51;;;;3787:205;;:::o;2772:271::-;2886:12;2900:16;2940:23;:21;:23::i;:::-;2932:32;;;;;;;;2981:13;:26;2995:11;2981:26;;;;;;;;;;;;;;;;;:33;;:44;;;;3026:9;;2981:55;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2981:55:58;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;2981:55:58;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;2981:55:58;;;;;;;;;;;;;;;;;;;;;;;;;2974:62;;;;2772:271;;;;;;:::o;3998:219::-;4090:12;4126:23;:21;:23::i;:::-;4118:32;;;;;;;;4170:13;:26;4184:11;4170:26;;;;;;;;;;;;;;;;;:33;;:40;;;;;;;;;;;;4160:50;;3998:219;;;:::o;3049:221::-;3139:14;3177:23;:21;:23::i;:::-;3169:32;;;;;;;;3220:13;:26;3234:11;3220:26;;;;;;;;;;;;;;;;;:33;;:43;;;3211:52;;3049:221;;;:::o;823:818::-;1050:40;1060:29;;1050:9;:40::i;:::-;1042:49;;;;;;;;1162:11;;1121:52;;;:13;:26;1135:11;1121:26;;;;;;;;;;;;;;;;;:37;;;:52;;;;1120:96;;;;;1204:11;;1189:26;;;:11;:26;;;;;1120:96;1101:125;;;;;;;;1236:9;:16;;;;1253:11;1236:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1236:29:58;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;1236:29:58;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;1236:29:58;;;;;;;;;;;;;;;;;1315:11;1275:13;:26;1289:11;1275:26;;;;;;;;;;;;;;;;;:37;;:51;;;;;;;1374:9;1336:13;:26;1350:11;1336:26;;;;;;;;;;;;;;;;;:35;;;:47;;;;;;;;;;;;;;;;;;1434:3;1393:13;:26;1407:11;1393:26;;;;;;;;;;;;;;;;;:38;;:44;;;;1488:12;1447:13;:26;1461:11;1447:26;;;;;;;;;;;;;;;;;:38;;:53;;;;;;;;;;;;:::i;:::-;;1554:15;1510:13;:26;1524:11;1510:26;;;;;;;;;;;;;;;;;:41;;:59;;;;;;;;;;;;:::i;:::-;;1621:13;1579;:26;1593:11;1579:26;;;;;;;;;;;;;;;;;:39;;:55;;;;;;;;;;;;:::i;:::-;;823:818;;;;;:::o;1026:330:26:-;1213:10;1226:1;1213:14;;1208:142;1234:7;1229:2;:12;1208:142;;;1327:8;1336:2;1327:12;;;;;;;;;;;;;;;;;;1263:13;:33;1277:18;1263:33;;;;;;;;;;;;;;;;;:40;;:48;;:61;1312:7;1320:2;1312:11;;;;;;;;;;;;;;;;;;1263:61;;;;;;;;;;;;;;;:76;;;;;;;1243:4;;;;;;;1208:142;;;1026:330;;;;;:::o;4715:215:58:-;4800:13;4837:23;:21;:23::i;:::-;4829:32;;;;;;;;4882:13;:26;4896:11;4882:26;;;;;;;;;;;;;;;;;:33;;:41;;;;;;;;;;;;4871:52;;4715:215;;;:::o;4431:278::-;4584:44;4528:45;4538:34;;4528:9;:45::i;:::-;4520:54;;;;;;;;4631:13;:26;4645:11;4631:26;;;;;;;;;;;;;;;;;4584:73;;4694:8;4667:9;:16;;:24;;;:35;;;;;;;;;;;;;;;;;;4431:278;;;:::o;1647:486::-;1748:11;1773:17;1804:20;1838:26;1895:13;:26;1909:11;1895:26;;;;;;;;;;;;;;;;;:37;;;1889:43;;1954:13;:26;1968:11;1954:26;;;;;;;;;;;;;;;;;:35;;;;;;;;;;;;1942:47;;2014:13;:26;2028:11;2014:26;;;;;;;;;;;;;;;;;:38;;;1999:53;;2083:13;:26;2097:11;2083:26;;;;;;;;;;;;;;;;;:33;;:43;;;2062:64;;1647:486;;;;;:::o;344:31:67:-;;;;;;;;;;;;;:::o;4936:249:58:-;5036:10;5048:15;5087:23;:21;:23::i;:::-;5079:32;;;;;;;;5128:13;:26;5142:11;5128:26;;;;;;;;;;;;;;;;;:33;;:42;;;;5171:6;5128:50;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5128:50:58;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;5128:50:58;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;5128:50:58;;;;;;;;;;;;;;;;;;;;;;;;;5121:57;;;;4936:249;;;;;:::o;3526:255::-;3634:19;3677:23;:21;:23::i;:::-;3669:32;;;;;;;;3725:13;:26;3739:11;3725:26;;;;;;;;;;;;;;;;;:33;;:41;;:49;3767:6;3725:49;;;;;;;;;;;;;;;;3711:63;;3526:255;;;;:::o;610:160:67:-;671:12;732:8;;;;;;;;;;;715:39;;;755:9;715:50;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;715:50:67;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;715:50:67;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;715:50:67;;;;;;;;;;;;;;;;701:64;;:10;:64;;;691:74;;610:160;;;:::o;1060:116:84:-;1120:7;1148:2;1142;:8;;1135:16;;;;;;1169:2;1164;:7;1157:14;;1060:116;;;;:::o;707:316:6:-;787:27;956:9;942:23;;:10;:23;;;941:75;;;;970:24;:22;:24::i;:::-;:34;;;1005:10;970:46;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;970:46:6;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;970:46:6;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;970:46:6;;;;;;;;;;;;;;;;941:75;916:100;;707:316;:::o;240:219::-;321:32;404:47;417:33;;404:12;:47::i;:::-;369:83;;240:219;:::o;72:1655:26:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o",
  "source": "pragma solidity ^0.4.25;\n\nimport \"./../storage/DaoSpecialStorage.sol\";\n\ncontract MockDaoSpecialStorage is DaoSpecialStorage {\n\n    constructor(address _resolver) public DaoSpecialStorage(_resolver) {}\n\n    function mock_put_proposal_as(\n        bytes32 _specialProposalId,\n        address _founder,\n        uint256[] _uintConfigs,\n        address[] _addressConfigs,\n        bytes32[] _bytesConfigs,\n        uint256 _startOfVoting\n    )\n        public\n    {\n        proposals.append(_specialProposalId);\n        proposalsById[_specialProposalId].proposalId = _specialProposalId;\n        proposalsById[_specialProposalId].proposer = _founder;\n        proposalsById[_specialProposalId].timeCreated = _startOfVoting.sub(1);\n        proposalsById[_specialProposalId].uintConfigs = _uintConfigs;\n        proposalsById[_specialProposalId].addressConfigs = _addressConfigs;\n        proposalsById[_specialProposalId].bytesConfigs = _bytesConfigs;\n        proposalsById[_specialProposalId].voting.startTime = _startOfVoting;\n    }\n\n    function mock_put_commit_votes(\n        bytes32 _specialProposalId,\n        address[] _voters,\n        bytes32[] _commits,\n        uint256 _length\n    )\n        public\n    {\n        for (uint256 _i = 0; _i < _length; _i++) {\n            proposalsById[_specialProposalId].voting.commits[_voters[_i]] = _commits[_i];\n        }\n    }\n\n    function mock_put_past_votes(\n        bytes32 _specialProposalId,\n        address[] _voters,\n        bool[] _votes,\n        uint256[] _stakes,\n        uint256 _length\n    )\n        public\n    {\n        for (uint256 _i = 0; _i < _length; _i++) {\n            proposalsById[_specialProposalId].voting.revealVote(_voters[_i], _votes[_i], _stakes[_i]);\n        }\n    }\n}\n",
  "sourcePath": "/Users/aeufemio/projects/dgx/contracts/dao-contracts/contracts/mock/MockDaoSpecialStorage.sol",
  "ast": {
    "absolutePath": "/Users/aeufemio/projects/dgx/contracts/dao-contracts/contracts/mock/MockDaoSpecialStorage.sol",
    "exportedSymbols": {
      "MockDaoSpecialStorage": [
        8762
      ]
    },
    "id": 8763,
    "nodeType": "SourceUnit",
    "nodes": [
      {
        "id": 8586,
        "literals": [
          "solidity",
          "^",
          "0.4",
          ".25"
        ],
        "nodeType": "PragmaDirective",
        "src": "0:24:26"
      },
      {
        "absolutePath": "/Users/aeufemio/projects/dgx/contracts/dao-contracts/contracts/storage/DaoSpecialStorage.sol",
        "file": "./../storage/DaoSpecialStorage.sol",
        "id": 8587,
        "nodeType": "ImportDirective",
        "scope": 8763,
        "sourceUnit": 15600,
        "src": "26:44:26",
        "symbolAliases": [],
        "unitAlias": ""
      },
      {
        "baseContracts": [
          {
            "arguments": null,
            "baseName": {
              "contractScope": null,
              "id": 8588,
              "name": "DaoSpecialStorage",
              "nodeType": "UserDefinedTypeName",
              "referencedDeclaration": 15599,
              "src": "106:17:26",
              "typeDescriptions": {
                "typeIdentifier": "t_contract$_DaoSpecialStorage_$15599",
                "typeString": "contract DaoSpecialStorage"
              }
            },
            "id": 8589,
            "nodeType": "InheritanceSpecifier",
            "src": "106:17:26"
          }
        ],
        "contractDependencies": [
          1629,
          1868,
          15599,
          18628
        ],
        "contractKind": "contract",
        "documentation": null,
        "fullyImplemented": true,
        "id": 8762,
        "linearizedBaseContracts": [
          8762,
          15599,
          1868,
          1629,
          18628
        ],
        "name": "MockDaoSpecialStorage",
        "nodeType": "ContractDefinition",
        "nodes": [
          {
            "body": {
              "id": 8597,
              "nodeType": "Block",
              "src": "198:2:26",
              "statements": []
            },
            "documentation": null,
            "id": 8598,
            "implemented": true,
            "isConstructor": true,
            "isDeclaredConst": false,
            "modifiers": [
              {
                "arguments": [
                  {
                    "argumentTypes": null,
                    "id": 8594,
                    "name": "_resolver",
                    "nodeType": "Identifier",
                    "overloadedDeclarations": [],
                    "referencedDeclaration": 8591,
                    "src": "187:9:26",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  }
                ],
                "id": 8595,
                "modifierName": {
                  "argumentTypes": null,
                  "id": 8593,
                  "name": "DaoSpecialStorage",
                  "nodeType": "Identifier",
                  "overloadedDeclarations": [],
                  "referencedDeclaration": 15599,
                  "src": "169:17:26",
                  "typeDescriptions": {
                    "typeIdentifier": "t_type$_t_contract$_DaoSpecialStorage_$15599_$",
                    "typeString": "type(contract DaoSpecialStorage)"
                  }
                },
                "nodeType": "ModifierInvocation",
                "src": "169:28:26"
              }
            ],
            "name": "",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 8592,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 8591,
                  "name": "_resolver",
                  "nodeType": "VariableDeclaration",
                  "scope": 8598,
                  "src": "143:17:26",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 8590,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "143:7:26",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "142:19:26"
            },
            "payable": false,
            "returnParameters": {
              "id": 8596,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "198:0:26"
            },
            "scope": 8762,
            "src": "131:69:26",
            "stateMutability": "nonpayable",
            "superFunction": null,
            "visibility": "public"
          },
          {
            "body": {
              "id": 8675,
              "nodeType": "Block",
              "src": "455:565:26",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "id": 8619,
                        "name": "_specialProposalId",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 8600,
                        "src": "482:18:26",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        }
                      ],
                      "expression": {
                        "argumentTypes": null,
                        "id": 8616,
                        "name": "proposals",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 15134,
                        "src": "465:9:26",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_Bytes_$22605_storage",
                          "typeString": "struct DoublyLinkedList.Bytes storage ref"
                        }
                      },
                      "id": 8618,
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberName": "append",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 24585,
                      "src": "465:16:26",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_delegatecall_nonpayable$_t_struct$_Bytes_$22605_storage_ptr_$_t_bytes32_$returns$_t_bool_$bound_to$_t_struct$_Bytes_$22605_storage_ptr_$",
                        "typeString": "function (struct DoublyLinkedList.Bytes storage pointer,bytes32) returns (bool)"
                      }
                    },
                    "id": 8620,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "465:36:26",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "id": 8621,
                  "nodeType": "ExpressionStatement",
                  "src": "465:36:26"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 8627,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "argumentTypes": null,
                      "expression": {
                        "argumentTypes": null,
                        "baseExpression": {
                          "argumentTypes": null,
                          "id": 8622,
                          "name": "proposalsById",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 15138,
                          "src": "511:13:26",
                          "typeDescriptions": {
                            "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_SpecialProposal_$8418_storage_$",
                            "typeString": "mapping(bytes32 => struct DaoStructs.SpecialProposal storage ref)"
                          }
                        },
                        "id": 8624,
                        "indexExpression": {
                          "argumentTypes": null,
                          "id": 8623,
                          "name": "_specialProposalId",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 8600,
                          "src": "525:18:26",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bytes32",
                            "typeString": "bytes32"
                          }
                        },
                        "isConstant": false,
                        "isLValue": true,
                        "isPure": false,
                        "lValueRequested": false,
                        "nodeType": "IndexAccess",
                        "src": "511:33:26",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_SpecialProposal_$8418_storage",
                          "typeString": "struct DaoStructs.SpecialProposal storage ref"
                        }
                      },
                      "id": 8625,
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": true,
                      "memberName": "proposalId",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 8402,
                      "src": "511:44:26",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bytes32",
                        "typeString": "bytes32"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "argumentTypes": null,
                      "id": 8626,
                      "name": "_specialProposalId",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 8600,
                      "src": "558:18:26",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bytes32",
                        "typeString": "bytes32"
                      }
                    },
                    "src": "511:65:26",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "id": 8628,
                  "nodeType": "ExpressionStatement",
                  "src": "511:65:26"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 8634,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "argumentTypes": null,
                      "expression": {
                        "argumentTypes": null,
                        "baseExpression": {
                          "argumentTypes": null,
                          "id": 8629,
                          "name": "proposalsById",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 15138,
                          "src": "586:13:26",
                          "typeDescriptions": {
                            "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_SpecialProposal_$8418_storage_$",
                            "typeString": "mapping(bytes32 => struct DaoStructs.SpecialProposal storage ref)"
                          }
                        },
                        "id": 8631,
                        "indexExpression": {
                          "argumentTypes": null,
                          "id": 8630,
                          "name": "_specialProposalId",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 8600,
                          "src": "600:18:26",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bytes32",
                            "typeString": "bytes32"
                          }
                        },
                        "isConstant": false,
                        "isLValue": true,
                        "isPure": false,
                        "lValueRequested": false,
                        "nodeType": "IndexAccess",
                        "src": "586:33:26",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_SpecialProposal_$8418_storage",
                          "typeString": "struct DaoStructs.SpecialProposal storage ref"
                        }
                      },
                      "id": 8632,
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": true,
                      "memberName": "proposer",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 8417,
                      "src": "586:42:26",
                      "typeDescriptions": {
                        "typeIdentifier": "t_address",
                        "typeString": "address"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "argumentTypes": null,
                      "id": 8633,
                      "name": "_founder",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 8602,
                      "src": "631:8:26",
                      "typeDescriptions": {
                        "typeIdentifier": "t_address",
                        "typeString": "address"
                      }
                    },
                    "src": "586:53:26",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "id": 8635,
                  "nodeType": "ExpressionStatement",
                  "src": "586:53:26"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 8644,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "argumentTypes": null,
                      "expression": {
                        "argumentTypes": null,
                        "baseExpression": {
                          "argumentTypes": null,
                          "id": 8636,
                          "name": "proposalsById",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 15138,
                          "src": "649:13:26",
                          "typeDescriptions": {
                            "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_SpecialProposal_$8418_storage_$",
                            "typeString": "mapping(bytes32 => struct DaoStructs.SpecialProposal storage ref)"
                          }
                        },
                        "id": 8638,
                        "indexExpression": {
                          "argumentTypes": null,
                          "id": 8637,
                          "name": "_specialProposalId",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 8600,
                          "src": "663:18:26",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bytes32",
                            "typeString": "bytes32"
                          }
                        },
                        "isConstant": false,
                        "isLValue": true,
                        "isPure": false,
                        "lValueRequested": false,
                        "nodeType": "IndexAccess",
                        "src": "649:33:26",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_SpecialProposal_$8418_storage",
                          "typeString": "struct DaoStructs.SpecialProposal storage ref"
                        }
                      },
                      "id": 8639,
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": true,
                      "memberName": "timeCreated",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 8404,
                      "src": "649:45:26",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "argumentTypes": null,
                      "arguments": [
                        {
                          "argumentTypes": null,
                          "hexValue": "31",
                          "id": 8642,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "kind": "number",
                          "lValueRequested": false,
                          "nodeType": "Literal",
                          "src": "716:1:26",
                          "subdenomination": null,
                          "typeDescriptions": {
                            "typeIdentifier": "t_rational_1_by_1",
                            "typeString": "int_const 1"
                          },
                          "value": "1"
                        }
                      ],
                      "expression": {
                        "argumentTypes": [
                          {
                            "typeIdentifier": "t_rational_1_by_1",
                            "typeString": "int_const 1"
                          }
                        ],
                        "expression": {
                          "argumentTypes": null,
                          "id": 8640,
                          "name": "_startOfVoting",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 8613,
                          "src": "697:14:26",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "id": 8641,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberName": "sub",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": 25586,
                        "src": "697:18:26",
                        "typeDescriptions": {
                          "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$",
                          "typeString": "function (uint256,uint256) pure returns (uint256)"
                        }
                      },
                      "id": 8643,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "kind": "functionCall",
                      "lValueRequested": false,
                      "names": [],
                      "nodeType": "FunctionCall",
                      "src": "697:21:26",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "src": "649:69:26",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "id": 8645,
                  "nodeType": "ExpressionStatement",
                  "src": "649:69:26"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 8651,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "argumentTypes": null,
                      "expression": {
                        "argumentTypes": null,
                        "baseExpression": {
                          "argumentTypes": null,
                          "id": 8646,
                          "name": "proposalsById",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 15138,
                          "src": "728:13:26",
                          "typeDescriptions": {
                            "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_SpecialProposal_$8418_storage_$",
                            "typeString": "mapping(bytes32 => struct DaoStructs.SpecialProposal storage ref)"
                          }
                        },
                        "id": 8648,
                        "indexExpression": {
                          "argumentTypes": null,
                          "id": 8647,
                          "name": "_specialProposalId",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 8600,
                          "src": "742:18:26",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bytes32",
                            "typeString": "bytes32"
                          }
                        },
                        "isConstant": false,
                        "isLValue": true,
                        "isPure": false,
                        "lValueRequested": false,
                        "nodeType": "IndexAccess",
                        "src": "728:33:26",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_SpecialProposal_$8418_storage",
                          "typeString": "struct DaoStructs.SpecialProposal storage ref"
                        }
                      },
                      "id": 8649,
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": true,
                      "memberName": "uintConfigs",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 8409,
                      "src": "728:45:26",
                      "typeDescriptions": {
                        "typeIdentifier": "t_array$_t_uint256_$dyn_storage",
                        "typeString": "uint256[] storage ref"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "argumentTypes": null,
                      "id": 8650,
                      "name": "_uintConfigs",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 8605,
                      "src": "776:12:26",
                      "typeDescriptions": {
                        "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr",
                        "typeString": "uint256[] memory"
                      }
                    },
                    "src": "728:60:26",
                    "typeDescriptions": {
                      "typeIdentifier": "t_array$_t_uint256_$dyn_storage",
                      "typeString": "uint256[] storage ref"
                    }
                  },
                  "id": 8652,
                  "nodeType": "ExpressionStatement",
                  "src": "728:60:26"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 8658,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "argumentTypes": null,
                      "expression": {
                        "argumentTypes": null,
                        "baseExpression": {
                          "argumentTypes": null,
                          "id": 8653,
                          "name": "proposalsById",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 15138,
                          "src": "798:13:26",
                          "typeDescriptions": {
                            "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_SpecialProposal_$8418_storage_$",
                            "typeString": "mapping(bytes32 => struct DaoStructs.SpecialProposal storage ref)"
                          }
                        },
                        "id": 8655,
                        "indexExpression": {
                          "argumentTypes": null,
                          "id": 8654,
                          "name": "_specialProposalId",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 8600,
                          "src": "812:18:26",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bytes32",
                            "typeString": "bytes32"
                          }
                        },
                        "isConstant": false,
                        "isLValue": true,
                        "isPure": false,
                        "lValueRequested": false,
                        "nodeType": "IndexAccess",
                        "src": "798:33:26",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_SpecialProposal_$8418_storage",
                          "typeString": "struct DaoStructs.SpecialProposal storage ref"
                        }
                      },
                      "id": 8656,
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": true,
                      "memberName": "addressConfigs",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 8412,
                      "src": "798:48:26",
                      "typeDescriptions": {
                        "typeIdentifier": "t_array$_t_address_$dyn_storage",
                        "typeString": "address[] storage ref"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "argumentTypes": null,
                      "id": 8657,
                      "name": "_addressConfigs",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 8608,
                      "src": "849:15:26",
                      "typeDescriptions": {
                        "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr",
                        "typeString": "address[] memory"
                      }
                    },
                    "src": "798:66:26",
                    "typeDescriptions": {
                      "typeIdentifier": "t_array$_t_address_$dyn_storage",
                      "typeString": "address[] storage ref"
                    }
                  },
                  "id": 8659,
                  "nodeType": "ExpressionStatement",
                  "src": "798:66:26"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 8665,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "argumentTypes": null,
                      "expression": {
                        "argumentTypes": null,
                        "baseExpression": {
                          "argumentTypes": null,
                          "id": 8660,
                          "name": "proposalsById",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 15138,
                          "src": "874:13:26",
                          "typeDescriptions": {
                            "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_SpecialProposal_$8418_storage_$",
                            "typeString": "mapping(bytes32 => struct DaoStructs.SpecialProposal storage ref)"
                          }
                        },
                        "id": 8662,
                        "indexExpression": {
                          "argumentTypes": null,
                          "id": 8661,
                          "name": "_specialProposalId",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 8600,
                          "src": "888:18:26",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bytes32",
                            "typeString": "bytes32"
                          }
                        },
                        "isConstant": false,
                        "isLValue": true,
                        "isPure": false,
                        "lValueRequested": false,
                        "nodeType": "IndexAccess",
                        "src": "874:33:26",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_SpecialProposal_$8418_storage",
                          "typeString": "struct DaoStructs.SpecialProposal storage ref"
                        }
                      },
                      "id": 8663,
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": true,
                      "memberName": "bytesConfigs",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 8415,
                      "src": "874:46:26",
                      "typeDescriptions": {
                        "typeIdentifier": "t_array$_t_bytes32_$dyn_storage",
                        "typeString": "bytes32[] storage ref"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "argumentTypes": null,
                      "id": 8664,
                      "name": "_bytesConfigs",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 8611,
                      "src": "923:13:26",
                      "typeDescriptions": {
                        "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr",
                        "typeString": "bytes32[] memory"
                      }
                    },
                    "src": "874:62:26",
                    "typeDescriptions": {
                      "typeIdentifier": "t_array$_t_bytes32_$dyn_storage",
                      "typeString": "bytes32[] storage ref"
                    }
                  },
                  "id": 8666,
                  "nodeType": "ExpressionStatement",
                  "src": "874:62:26"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 8673,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "argumentTypes": null,
                      "expression": {
                        "argumentTypes": null,
                        "expression": {
                          "argumentTypes": null,
                          "baseExpression": {
                            "argumentTypes": null,
                            "id": 8667,
                            "name": "proposalsById",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 15138,
                            "src": "946:13:26",
                            "typeDescriptions": {
                              "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_SpecialProposal_$8418_storage_$",
                              "typeString": "mapping(bytes32 => struct DaoStructs.SpecialProposal storage ref)"
                            }
                          },
                          "id": 8669,
                          "indexExpression": {
                            "argumentTypes": null,
                            "id": 8668,
                            "name": "_specialProposalId",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 8600,
                            "src": "960:18:26",
                            "typeDescriptions": {
                              "typeIdentifier": "t_bytes32",
                              "typeString": "bytes32"
                            }
                          },
                          "isConstant": false,
                          "isLValue": true,
                          "isPure": false,
                          "lValueRequested": false,
                          "nodeType": "IndexAccess",
                          "src": "946:33:26",
                          "typeDescriptions": {
                            "typeIdentifier": "t_struct$_SpecialProposal_$8418_storage",
                            "typeString": "struct DaoStructs.SpecialProposal storage ref"
                          }
                        },
                        "id": 8670,
                        "isConstant": false,
                        "isLValue": true,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberName": "voting",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": 8406,
                        "src": "946:40:26",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_Voting_$7930_storage",
                          "typeString": "struct DaoStructs.Voting storage ref"
                        }
                      },
                      "id": 8671,
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": true,
                      "memberName": "startTime",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 7907,
                      "src": "946:50:26",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "argumentTypes": null,
                      "id": 8672,
                      "name": "_startOfVoting",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 8613,
                      "src": "999:14:26",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "src": "946:67:26",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "id": 8674,
                  "nodeType": "ExpressionStatement",
                  "src": "946:67:26"
                }
              ]
            },
            "documentation": null,
            "id": 8676,
            "implemented": true,
            "isConstructor": false,
            "isDeclaredConst": false,
            "modifiers": [],
            "name": "mock_put_proposal_as",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 8614,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 8600,
                  "name": "_specialProposalId",
                  "nodeType": "VariableDeclaration",
                  "scope": 8676,
                  "src": "245:26:26",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 8599,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "245:7:26",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 8602,
                  "name": "_founder",
                  "nodeType": "VariableDeclaration",
                  "scope": 8676,
                  "src": "281:16:26",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 8601,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "281:7:26",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 8605,
                  "name": "_uintConfigs",
                  "nodeType": "VariableDeclaration",
                  "scope": 8676,
                  "src": "307:22:26",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr",
                    "typeString": "uint256[]"
                  },
                  "typeName": {
                    "baseType": {
                      "id": 8603,
                      "name": "uint256",
                      "nodeType": "ElementaryTypeName",
                      "src": "307:7:26",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "id": 8604,
                    "length": null,
                    "nodeType": "ArrayTypeName",
                    "src": "307:9:26",
                    "typeDescriptions": {
                      "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr",
                      "typeString": "uint256[]"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 8608,
                  "name": "_addressConfigs",
                  "nodeType": "VariableDeclaration",
                  "scope": 8676,
                  "src": "339:25:26",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr",
                    "typeString": "address[]"
                  },
                  "typeName": {
                    "baseType": {
                      "id": 8606,
                      "name": "address",
                      "nodeType": "ElementaryTypeName",
                      "src": "339:7:26",
                      "typeDescriptions": {
                        "typeIdentifier": "t_address",
                        "typeString": "address"
                      }
                    },
                    "id": 8607,
                    "length": null,
                    "nodeType": "ArrayTypeName",
                    "src": "339:9:26",
                    "typeDescriptions": {
                      "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr",
                      "typeString": "address[]"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 8611,
                  "name": "_bytesConfigs",
                  "nodeType": "VariableDeclaration",
                  "scope": 8676,
                  "src": "374:23:26",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr",
                    "typeString": "bytes32[]"
                  },
                  "typeName": {
                    "baseType": {
                      "id": 8609,
                      "name": "bytes32",
                      "nodeType": "ElementaryTypeName",
                      "src": "374:7:26",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bytes32",
                        "typeString": "bytes32"
                      }
                    },
                    "id": 8610,
                    "length": null,
                    "nodeType": "ArrayTypeName",
                    "src": "374:9:26",
                    "typeDescriptions": {
                      "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr",
                      "typeString": "bytes32[]"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 8613,
                  "name": "_startOfVoting",
                  "nodeType": "VariableDeclaration",
                  "scope": 8676,
                  "src": "407:22:26",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 8612,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "407:7:26",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "235:200:26"
            },
            "payable": false,
            "returnParameters": {
              "id": 8615,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "455:0:26"
            },
            "scope": 8762,
            "src": "206:814:26",
            "stateMutability": "nonpayable",
            "superFunction": null,
            "visibility": "public"
          },
          {
            "body": {
              "id": 8715,
              "nodeType": "Block",
              "src": "1198:158:26",
              "statements": [
                {
                  "body": {
                    "id": 8713,
                    "nodeType": "Block",
                    "src": "1249:101:26",
                    "statements": [
                      {
                        "expression": {
                          "argumentTypes": null,
                          "id": 8711,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "leftHandSide": {
                            "argumentTypes": null,
                            "baseExpression": {
                              "argumentTypes": null,
                              "expression": {
                                "argumentTypes": null,
                                "expression": {
                                  "argumentTypes": null,
                                  "baseExpression": {
                                    "argumentTypes": null,
                                    "id": 8699,
                                    "name": "proposalsById",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 15138,
                                    "src": "1263:13:26",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_SpecialProposal_$8418_storage_$",
                                      "typeString": "mapping(bytes32 => struct DaoStructs.SpecialProposal storage ref)"
                                    }
                                  },
                                  "id": 8701,
                                  "indexExpression": {
                                    "argumentTypes": null,
                                    "id": 8700,
                                    "name": "_specialProposalId",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 8678,
                                    "src": "1277:18:26",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_bytes32",
                                      "typeString": "bytes32"
                                    }
                                  },
                                  "isConstant": false,
                                  "isLValue": true,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "nodeType": "IndexAccess",
                                  "src": "1263:33:26",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_struct$_SpecialProposal_$8418_storage",
                                    "typeString": "struct DaoStructs.SpecialProposal storage ref"
                                  }
                                },
                                "id": 8702,
                                "isConstant": false,
                                "isLValue": true,
                                "isPure": false,
                                "lValueRequested": false,
                                "memberName": "voting",
                                "nodeType": "MemberAccess",
                                "referencedDeclaration": 8406,
                                "src": "1263:40:26",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_struct$_Voting_$7930_storage",
                                  "typeString": "struct DaoStructs.Voting storage ref"
                                }
                              },
                              "id": 8703,
                              "isConstant": false,
                              "isLValue": true,
                              "isPure": false,
                              "lValueRequested": false,
                              "memberName": "commits",
                              "nodeType": "MemberAccess",
                              "referencedDeclaration": 7915,
                              "src": "1263:48:26",
                              "typeDescriptions": {
                                "typeIdentifier": "t_mapping$_t_address_$_t_bytes32_$",
                                "typeString": "mapping(address => bytes32)"
                              }
                            },
                            "id": 8707,
                            "indexExpression": {
                              "argumentTypes": null,
                              "baseExpression": {
                                "argumentTypes": null,
                                "id": 8704,
                                "name": "_voters",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 8681,
                                "src": "1312:7:26",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr",
                                  "typeString": "address[] memory"
                                }
                              },
                              "id": 8706,
                              "indexExpression": {
                                "argumentTypes": null,
                                "id": 8705,
                                "name": "_i",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 8690,
                                "src": "1320:2:26",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              },
                              "isConstant": false,
                              "isLValue": true,
                              "isPure": false,
                              "lValueRequested": false,
                              "nodeType": "IndexAccess",
                              "src": "1312:11:26",
                              "typeDescriptions": {
                                "typeIdentifier": "t_address",
                                "typeString": "address"
                              }
                            },
                            "isConstant": false,
                            "isLValue": true,
                            "isPure": false,
                            "lValueRequested": true,
                            "nodeType": "IndexAccess",
                            "src": "1263:61:26",
                            "typeDescriptions": {
                              "typeIdentifier": "t_bytes32",
                              "typeString": "bytes32"
                            }
                          },
                          "nodeType": "Assignment",
                          "operator": "=",
                          "rightHandSide": {
                            "argumentTypes": null,
                            "baseExpression": {
                              "argumentTypes": null,
                              "id": 8708,
                              "name": "_commits",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 8684,
                              "src": "1327:8:26",
                              "typeDescriptions": {
                                "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr",
                                "typeString": "bytes32[] memory"
                              }
                            },
                            "id": 8710,
                            "indexExpression": {
                              "argumentTypes": null,
                              "id": 8709,
                              "name": "_i",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 8690,
                              "src": "1336:2:26",
                              "typeDescriptions": {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              }
                            },
                            "isConstant": false,
                            "isLValue": true,
                            "isPure": false,
                            "lValueRequested": false,
                            "nodeType": "IndexAccess",
                            "src": "1327:12:26",
                            "typeDescriptions": {
                              "typeIdentifier": "t_bytes32",
                              "typeString": "bytes32"
                            }
                          },
                          "src": "1263:76:26",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bytes32",
                            "typeString": "bytes32"
                          }
                        },
                        "id": 8712,
                        "nodeType": "ExpressionStatement",
                        "src": "1263:76:26"
                      }
                    ]
                  },
                  "condition": {
                    "argumentTypes": null,
                    "commonType": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    },
                    "id": 8695,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftExpression": {
                      "argumentTypes": null,
                      "id": 8693,
                      "name": "_i",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 8690,
                      "src": "1229:2:26",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "BinaryOperation",
                    "operator": "<",
                    "rightExpression": {
                      "argumentTypes": null,
                      "id": 8694,
                      "name": "_length",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 8686,
                      "src": "1234:7:26",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "src": "1229:12:26",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "id": 8714,
                  "initializationExpression": {
                    "assignments": [
                      8690
                    ],
                    "declarations": [
                      {
                        "constant": false,
                        "id": 8690,
                        "name": "_i",
                        "nodeType": "VariableDeclaration",
                        "scope": 8716,
                        "src": "1213:10:26",
                        "stateVariable": false,
                        "storageLocation": "default",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        },
                        "typeName": {
                          "id": 8689,
                          "name": "uint256",
                          "nodeType": "ElementaryTypeName",
                          "src": "1213:7:26",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "value": null,
                        "visibility": "internal"
                      }
                    ],
                    "id": 8692,
                    "initialValue": {
                      "argumentTypes": null,
                      "hexValue": "30",
                      "id": 8691,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": true,
                      "kind": "number",
                      "lValueRequested": false,
                      "nodeType": "Literal",
                      "src": "1226:1:26",
                      "subdenomination": null,
                      "typeDescriptions": {
                        "typeIdentifier": "t_rational_0_by_1",
                        "typeString": "int_const 0"
                      },
                      "value": "0"
                    },
                    "nodeType": "VariableDeclarationStatement",
                    "src": "1213:14:26"
                  },
                  "loopExpression": {
                    "expression": {
                      "argumentTypes": null,
                      "id": 8697,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "nodeType": "UnaryOperation",
                      "operator": "++",
                      "prefix": false,
                      "src": "1243:4:26",
                      "subExpression": {
                        "argumentTypes": null,
                        "id": 8696,
                        "name": "_i",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 8690,
                        "src": "1243:2:26",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "id": 8698,
                    "nodeType": "ExpressionStatement",
                    "src": "1243:4:26"
                  },
                  "nodeType": "ForStatement",
                  "src": "1208:142:26"
                }
              ]
            },
            "documentation": null,
            "id": 8716,
            "implemented": true,
            "isConstructor": false,
            "isDeclaredConst": false,
            "modifiers": [],
            "name": "mock_put_commit_votes",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 8687,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 8678,
                  "name": "_specialProposalId",
                  "nodeType": "VariableDeclaration",
                  "scope": 8716,
                  "src": "1066:26:26",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 8677,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "1066:7:26",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 8681,
                  "name": "_voters",
                  "nodeType": "VariableDeclaration",
                  "scope": 8716,
                  "src": "1102:17:26",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr",
                    "typeString": "address[]"
                  },
                  "typeName": {
                    "baseType": {
                      "id": 8679,
                      "name": "address",
                      "nodeType": "ElementaryTypeName",
                      "src": "1102:7:26",
                      "typeDescriptions": {
                        "typeIdentifier": "t_address",
                        "typeString": "address"
                      }
                    },
                    "id": 8680,
                    "length": null,
                    "nodeType": "ArrayTypeName",
                    "src": "1102:9:26",
                    "typeDescriptions": {
                      "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr",
                      "typeString": "address[]"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 8684,
                  "name": "_commits",
                  "nodeType": "VariableDeclaration",
                  "scope": 8716,
                  "src": "1129:18:26",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr",
                    "typeString": "bytes32[]"
                  },
                  "typeName": {
                    "baseType": {
                      "id": 8682,
                      "name": "bytes32",
                      "nodeType": "ElementaryTypeName",
                      "src": "1129:7:26",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bytes32",
                        "typeString": "bytes32"
                      }
                    },
                    "id": 8683,
                    "length": null,
                    "nodeType": "ArrayTypeName",
                    "src": "1129:9:26",
                    "typeDescriptions": {
                      "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr",
                      "typeString": "bytes32[]"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 8686,
                  "name": "_length",
                  "nodeType": "VariableDeclaration",
                  "scope": 8716,
                  "src": "1157:15:26",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 8685,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "1157:7:26",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "1056:122:26"
            },
            "payable": false,
            "returnParameters": {
              "id": 8688,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "1198:0:26"
            },
            "scope": 8762,
            "src": "1026:330:26",
            "stateMutability": "nonpayable",
            "superFunction": null,
            "visibility": "public"
          },
          {
            "body": {
              "id": 8760,
              "nodeType": "Block",
              "src": "1554:171:26",
              "statements": [
                {
                  "body": {
                    "id": 8758,
                    "nodeType": "Block",
                    "src": "1605:114:26",
                    "statements": [
                      {
                        "expression": {
                          "argumentTypes": null,
                          "arguments": [
                            {
                              "argumentTypes": null,
                              "baseExpression": {
                                "argumentTypes": null,
                                "id": 8747,
                                "name": "_voters",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 8721,
                                "src": "1671:7:26",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr",
                                  "typeString": "address[] memory"
                                }
                              },
                              "id": 8749,
                              "indexExpression": {
                                "argumentTypes": null,
                                "id": 8748,
                                "name": "_i",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 8733,
                                "src": "1679:2:26",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              },
                              "isConstant": false,
                              "isLValue": true,
                              "isPure": false,
                              "lValueRequested": false,
                              "nodeType": "IndexAccess",
                              "src": "1671:11:26",
                              "typeDescriptions": {
                                "typeIdentifier": "t_address",
                                "typeString": "address"
                              }
                            },
                            {
                              "argumentTypes": null,
                              "baseExpression": {
                                "argumentTypes": null,
                                "id": 8750,
                                "name": "_votes",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 8724,
                                "src": "1684:6:26",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_array$_t_bool_$dyn_memory_ptr",
                                  "typeString": "bool[] memory"
                                }
                              },
                              "id": 8752,
                              "indexExpression": {
                                "argumentTypes": null,
                                "id": 8751,
                                "name": "_i",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 8733,
                                "src": "1691:2:26",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              },
                              "isConstant": false,
                              "isLValue": true,
                              "isPure": false,
                              "lValueRequested": false,
                              "nodeType": "IndexAccess",
                              "src": "1684:10:26",
                              "typeDescriptions": {
                                "typeIdentifier": "t_bool",
                                "typeString": "bool"
                              }
                            },
                            {
                              "argumentTypes": null,
                              "baseExpression": {
                                "argumentTypes": null,
                                "id": 8753,
                                "name": "_stakes",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 8727,
                                "src": "1696:7:26",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr",
                                  "typeString": "uint256[] memory"
                                }
                              },
                              "id": 8755,
                              "indexExpression": {
                                "argumentTypes": null,
                                "id": 8754,
                                "name": "_i",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 8733,
                                "src": "1704:2:26",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              },
                              "isConstant": false,
                              "isLValue": true,
                              "isPure": false,
                              "lValueRequested": false,
                              "nodeType": "IndexAccess",
                              "src": "1696:11:26",
                              "typeDescriptions": {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              }
                            }
                          ],
                          "expression": {
                            "argumentTypes": [
                              {
                                "typeIdentifier": "t_address",
                                "typeString": "address"
                              },
                              {
                                "typeIdentifier": "t_bool",
                                "typeString": "bool"
                              },
                              {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              }
                            ],
                            "expression": {
                              "argumentTypes": null,
                              "expression": {
                                "argumentTypes": null,
                                "baseExpression": {
                                  "argumentTypes": null,
                                  "id": 8742,
                                  "name": "proposalsById",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 15138,
                                  "src": "1619:13:26",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_SpecialProposal_$8418_storage_$",
                                    "typeString": "mapping(bytes32 => struct DaoStructs.SpecialProposal storage ref)"
                                  }
                                },
                                "id": 8744,
                                "indexExpression": {
                                  "argumentTypes": null,
                                  "id": 8743,
                                  "name": "_specialProposalId",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 8718,
                                  "src": "1633:18:26",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_bytes32",
                                    "typeString": "bytes32"
                                  }
                                },
                                "isConstant": false,
                                "isLValue": true,
                                "isPure": false,
                                "lValueRequested": false,
                                "nodeType": "IndexAccess",
                                "src": "1619:33:26",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_struct$_SpecialProposal_$8418_storage",
                                  "typeString": "struct DaoStructs.SpecialProposal storage ref"
                                }
                              },
                              "id": 8745,
                              "isConstant": false,
                              "isLValue": true,
                              "isPure": false,
                              "lValueRequested": false,
                              "memberName": "voting",
                              "nodeType": "MemberAccess",
                              "referencedDeclaration": 8406,
                              "src": "1619:40:26",
                              "typeDescriptions": {
                                "typeIdentifier": "t_struct$_Voting_$7930_storage",
                                "typeString": "struct DaoStructs.Voting storage ref"
                              }
                            },
                            "id": 8746,
                            "isConstant": false,
                            "isLValue": true,
                            "isPure": false,
                            "lValueRequested": false,
                            "memberName": "revealVote",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": 8238,
                            "src": "1619:51:26",
                            "typeDescriptions": {
                              "typeIdentifier": "t_function_delegatecall_nonpayable$_t_struct$_Voting_$7930_storage_ptr_$_t_address_$_t_bool_$_t_uint256_$returns$__$bound_to$_t_struct$_Voting_$7930_storage_ptr_$",
                              "typeString": "function (struct DaoStructs.Voting storage pointer,address,bool,uint256)"
                            }
                          },
                          "id": 8756,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "functionCall",
                          "lValueRequested": false,
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "1619:89:26",
                          "typeDescriptions": {
                            "typeIdentifier": "t_tuple$__$",
                            "typeString": "tuple()"
                          }
                        },
                        "id": 8757,
                        "nodeType": "ExpressionStatement",
                        "src": "1619:89:26"
                      }
                    ]
                  },
                  "condition": {
                    "argumentTypes": null,
                    "commonType": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    },
                    "id": 8738,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftExpression": {
                      "argumentTypes": null,
                      "id": 8736,
                      "name": "_i",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 8733,
                      "src": "1585:2:26",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "BinaryOperation",
                    "operator": "<",
                    "rightExpression": {
                      "argumentTypes": null,
                      "id": 8737,
                      "name": "_length",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 8729,
                      "src": "1590:7:26",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "src": "1585:12:26",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "id": 8759,
                  "initializationExpression": {
                    "assignments": [
                      8733
                    ],
                    "declarations": [
                      {
                        "constant": false,
                        "id": 8733,
                        "name": "_i",
                        "nodeType": "VariableDeclaration",
                        "scope": 8761,
                        "src": "1569:10:26",
                        "stateVariable": false,
                        "storageLocation": "default",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        },
                        "typeName": {
                          "id": 8732,
                          "name": "uint256",
                          "nodeType": "ElementaryTypeName",
                          "src": "1569:7:26",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "value": null,
                        "visibility": "internal"
                      }
                    ],
                    "id": 8735,
                    "initialValue": {
                      "argumentTypes": null,
                      "hexValue": "30",
                      "id": 8734,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": true,
                      "kind": "number",
                      "lValueRequested": false,
                      "nodeType": "Literal",
                      "src": "1582:1:26",
                      "subdenomination": null,
                      "typeDescriptions": {
                        "typeIdentifier": "t_rational_0_by_1",
                        "typeString": "int_const 0"
                      },
                      "value": "0"
                    },
                    "nodeType": "VariableDeclarationStatement",
                    "src": "1569:14:26"
                  },
                  "loopExpression": {
                    "expression": {
                      "argumentTypes": null,
                      "id": 8740,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "nodeType": "UnaryOperation",
                      "operator": "++",
                      "prefix": false,
                      "src": "1599:4:26",
                      "subExpression": {
                        "argumentTypes": null,
                        "id": 8739,
                        "name": "_i",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 8733,
                        "src": "1599:2:26",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "id": 8741,
                    "nodeType": "ExpressionStatement",
                    "src": "1599:4:26"
                  },
                  "nodeType": "ForStatement",
                  "src": "1564:155:26"
                }
              ]
            },
            "documentation": null,
            "id": 8761,
            "implemented": true,
            "isConstructor": false,
            "isDeclaredConst": false,
            "modifiers": [],
            "name": "mock_put_past_votes",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 8730,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 8718,
                  "name": "_specialProposalId",
                  "nodeType": "VariableDeclaration",
                  "scope": 8761,
                  "src": "1400:26:26",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 8717,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "1400:7:26",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 8721,
                  "name": "_voters",
                  "nodeType": "VariableDeclaration",
                  "scope": 8761,
                  "src": "1436:17:26",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr",
                    "typeString": "address[]"
                  },
                  "typeName": {
                    "baseType": {
                      "id": 8719,
                      "name": "address",
                      "nodeType": "ElementaryTypeName",
                      "src": "1436:7:26",
                      "typeDescriptions": {
                        "typeIdentifier": "t_address",
                        "typeString": "address"
                      }
                    },
                    "id": 8720,
                    "length": null,
                    "nodeType": "ArrayTypeName",
                    "src": "1436:9:26",
                    "typeDescriptions": {
                      "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr",
                      "typeString": "address[]"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 8724,
                  "name": "_votes",
                  "nodeType": "VariableDeclaration",
                  "scope": 8761,
                  "src": "1463:13:26",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_array$_t_bool_$dyn_memory_ptr",
                    "typeString": "bool[]"
                  },
                  "typeName": {
                    "baseType": {
                      "id": 8722,
                      "name": "bool",
                      "nodeType": "ElementaryTypeName",
                      "src": "1463:4:26",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bool",
                        "typeString": "bool"
                      }
                    },
                    "id": 8723,
                    "length": null,
                    "nodeType": "ArrayTypeName",
                    "src": "1463:6:26",
                    "typeDescriptions": {
                      "typeIdentifier": "t_array$_t_bool_$dyn_storage_ptr",
                      "typeString": "bool[]"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 8727,
                  "name": "_stakes",
                  "nodeType": "VariableDeclaration",
                  "scope": 8761,
                  "src": "1486:17:26",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr",
                    "typeString": "uint256[]"
                  },
                  "typeName": {
                    "baseType": {
                      "id": 8725,
                      "name": "uint256",
                      "nodeType": "ElementaryTypeName",
                      "src": "1486:7:26",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "id": 8726,
                    "length": null,
                    "nodeType": "ArrayTypeName",
                    "src": "1486:9:26",
                    "typeDescriptions": {
                      "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr",
                      "typeString": "uint256[]"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 8729,
                  "name": "_length",
                  "nodeType": "VariableDeclaration",
                  "scope": 8761,
                  "src": "1513:15:26",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 8728,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "1513:7:26",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "1390:144:26"
            },
            "payable": false,
            "returnParameters": {
              "id": 8731,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "1554:0:26"
            },
            "scope": 8762,
            "src": "1362:363:26",
            "stateMutability": "nonpayable",
            "superFunction": null,
            "visibility": "public"
          }
        ],
        "scope": 8763,
        "src": "72:1655:26"
      }
    ],
    "src": "0:1728:26"
  },
  "legacyAST": {
    "absolutePath": "/Users/aeufemio/projects/dgx/contracts/dao-contracts/contracts/mock/MockDaoSpecialStorage.sol",
    "exportedSymbols": {
      "MockDaoSpecialStorage": [
        8762
      ]
    },
    "id": 8763,
    "nodeType": "SourceUnit",
    "nodes": [
      {
        "id": 8586,
        "literals": [
          "solidity",
          "^",
          "0.4",
          ".25"
        ],
        "nodeType": "PragmaDirective",
        "src": "0:24:26"
      },
      {
        "absolutePath": "/Users/aeufemio/projects/dgx/contracts/dao-contracts/contracts/storage/DaoSpecialStorage.sol",
        "file": "./../storage/DaoSpecialStorage.sol",
        "id": 8587,
        "nodeType": "ImportDirective",
        "scope": 8763,
        "sourceUnit": 15600,
        "src": "26:44:26",
        "symbolAliases": [],
        "unitAlias": ""
      },
      {
        "baseContracts": [
          {
            "arguments": null,
            "baseName": {
              "contractScope": null,
              "id": 8588,
              "name": "DaoSpecialStorage",
              "nodeType": "UserDefinedTypeName",
              "referencedDeclaration": 15599,
              "src": "106:17:26",
              "typeDescriptions": {
                "typeIdentifier": "t_contract$_DaoSpecialStorage_$15599",
                "typeString": "contract DaoSpecialStorage"
              }
            },
            "id": 8589,
            "nodeType": "InheritanceSpecifier",
            "src": "106:17:26"
          }
        ],
        "contractDependencies": [
          1629,
          1868,
          15599,
          18628
        ],
        "contractKind": "contract",
        "documentation": null,
        "fullyImplemented": true,
        "id": 8762,
        "linearizedBaseContracts": [
          8762,
          15599,
          1868,
          1629,
          18628
        ],
        "name": "MockDaoSpecialStorage",
        "nodeType": "ContractDefinition",
        "nodes": [
          {
            "body": {
              "id": 8597,
              "nodeType": "Block",
              "src": "198:2:26",
              "statements": []
            },
            "documentation": null,
            "id": 8598,
            "implemented": true,
            "isConstructor": true,
            "isDeclaredConst": false,
            "modifiers": [
              {
                "arguments": [
                  {
                    "argumentTypes": null,
                    "id": 8594,
                    "name": "_resolver",
                    "nodeType": "Identifier",
                    "overloadedDeclarations": [],
                    "referencedDeclaration": 8591,
                    "src": "187:9:26",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  }
                ],
                "id": 8595,
                "modifierName": {
                  "argumentTypes": null,
                  "id": 8593,
                  "name": "DaoSpecialStorage",
                  "nodeType": "Identifier",
                  "overloadedDeclarations": [],
                  "referencedDeclaration": 15599,
                  "src": "169:17:26",
                  "typeDescriptions": {
                    "typeIdentifier": "t_type$_t_contract$_DaoSpecialStorage_$15599_$",
                    "typeString": "type(contract DaoSpecialStorage)"
                  }
                },
                "nodeType": "ModifierInvocation",
                "src": "169:28:26"
              }
            ],
            "name": "",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 8592,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 8591,
                  "name": "_resolver",
                  "nodeType": "VariableDeclaration",
                  "scope": 8598,
                  "src": "143:17:26",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 8590,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "143:7:26",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "142:19:26"
            },
            "payable": false,
            "returnParameters": {
              "id": 8596,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "198:0:26"
            },
            "scope": 8762,
            "src": "131:69:26",
            "stateMutability": "nonpayable",
            "superFunction": null,
            "visibility": "public"
          },
          {
            "body": {
              "id": 8675,
              "nodeType": "Block",
              "src": "455:565:26",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "id": 8619,
                        "name": "_specialProposalId",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 8600,
                        "src": "482:18:26",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        }
                      ],
                      "expression": {
                        "argumentTypes": null,
                        "id": 8616,
                        "name": "proposals",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 15134,
                        "src": "465:9:26",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_Bytes_$22605_storage",
                          "typeString": "struct DoublyLinkedList.Bytes storage ref"
                        }
                      },
                      "id": 8618,
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberName": "append",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 24585,
                      "src": "465:16:26",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_delegatecall_nonpayable$_t_struct$_Bytes_$22605_storage_ptr_$_t_bytes32_$returns$_t_bool_$bound_to$_t_struct$_Bytes_$22605_storage_ptr_$",
                        "typeString": "function (struct DoublyLinkedList.Bytes storage pointer,bytes32) returns (bool)"
                      }
                    },
                    "id": 8620,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "465:36:26",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "id": 8621,
                  "nodeType": "ExpressionStatement",
                  "src": "465:36:26"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 8627,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "argumentTypes": null,
                      "expression": {
                        "argumentTypes": null,
                        "baseExpression": {
                          "argumentTypes": null,
                          "id": 8622,
                          "name": "proposalsById",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 15138,
                          "src": "511:13:26",
                          "typeDescriptions": {
                            "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_SpecialProposal_$8418_storage_$",
                            "typeString": "mapping(bytes32 => struct DaoStructs.SpecialProposal storage ref)"
                          }
                        },
                        "id": 8624,
                        "indexExpression": {
                          "argumentTypes": null,
                          "id": 8623,
                          "name": "_specialProposalId",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 8600,
                          "src": "525:18:26",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bytes32",
                            "typeString": "bytes32"
                          }
                        },
                        "isConstant": false,
                        "isLValue": true,
                        "isPure": false,
                        "lValueRequested": false,
                        "nodeType": "IndexAccess",
                        "src": "511:33:26",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_SpecialProposal_$8418_storage",
                          "typeString": "struct DaoStructs.SpecialProposal storage ref"
                        }
                      },
                      "id": 8625,
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": true,
                      "memberName": "proposalId",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 8402,
                      "src": "511:44:26",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bytes32",
                        "typeString": "bytes32"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "argumentTypes": null,
                      "id": 8626,
                      "name": "_specialProposalId",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 8600,
                      "src": "558:18:26",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bytes32",
                        "typeString": "bytes32"
                      }
                    },
                    "src": "511:65:26",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "id": 8628,
                  "nodeType": "ExpressionStatement",
                  "src": "511:65:26"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 8634,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "argumentTypes": null,
                      "expression": {
                        "argumentTypes": null,
                        "baseExpression": {
                          "argumentTypes": null,
                          "id": 8629,
                          "name": "proposalsById",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 15138,
                          "src": "586:13:26",
                          "typeDescriptions": {
                            "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_SpecialProposal_$8418_storage_$",
                            "typeString": "mapping(bytes32 => struct DaoStructs.SpecialProposal storage ref)"
                          }
                        },
                        "id": 8631,
                        "indexExpression": {
                          "argumentTypes": null,
                          "id": 8630,
                          "name": "_specialProposalId",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 8600,
                          "src": "600:18:26",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bytes32",
                            "typeString": "bytes32"
                          }
                        },
                        "isConstant": false,
                        "isLValue": true,
                        "isPure": false,
                        "lValueRequested": false,
                        "nodeType": "IndexAccess",
                        "src": "586:33:26",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_SpecialProposal_$8418_storage",
                          "typeString": "struct DaoStructs.SpecialProposal storage ref"
                        }
                      },
                      "id": 8632,
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": true,
                      "memberName": "proposer",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 8417,
                      "src": "586:42:26",
                      "typeDescriptions": {
                        "typeIdentifier": "t_address",
                        "typeString": "address"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "argumentTypes": null,
                      "id": 8633,
                      "name": "_founder",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 8602,
                      "src": "631:8:26",
                      "typeDescriptions": {
                        "typeIdentifier": "t_address",
                        "typeString": "address"
                      }
                    },
                    "src": "586:53:26",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "id": 8635,
                  "nodeType": "ExpressionStatement",
                  "src": "586:53:26"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 8644,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "argumentTypes": null,
                      "expression": {
                        "argumentTypes": null,
                        "baseExpression": {
                          "argumentTypes": null,
                          "id": 8636,
                          "name": "proposalsById",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 15138,
                          "src": "649:13:26",
                          "typeDescriptions": {
                            "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_SpecialProposal_$8418_storage_$",
                            "typeString": "mapping(bytes32 => struct DaoStructs.SpecialProposal storage ref)"
                          }
                        },
                        "id": 8638,
                        "indexExpression": {
                          "argumentTypes": null,
                          "id": 8637,
                          "name": "_specialProposalId",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 8600,
                          "src": "663:18:26",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bytes32",
                            "typeString": "bytes32"
                          }
                        },
                        "isConstant": false,
                        "isLValue": true,
                        "isPure": false,
                        "lValueRequested": false,
                        "nodeType": "IndexAccess",
                        "src": "649:33:26",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_SpecialProposal_$8418_storage",
                          "typeString": "struct DaoStructs.SpecialProposal storage ref"
                        }
                      },
                      "id": 8639,
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": true,
                      "memberName": "timeCreated",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 8404,
                      "src": "649:45:26",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "argumentTypes": null,
                      "arguments": [
                        {
                          "argumentTypes": null,
                          "hexValue": "31",
                          "id": 8642,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "kind": "number",
                          "lValueRequested": false,
                          "nodeType": "Literal",
                          "src": "716:1:26",
                          "subdenomination": null,
                          "typeDescriptions": {
                            "typeIdentifier": "t_rational_1_by_1",
                            "typeString": "int_const 1"
                          },
                          "value": "1"
                        }
                      ],
                      "expression": {
                        "argumentTypes": [
                          {
                            "typeIdentifier": "t_rational_1_by_1",
                            "typeString": "int_const 1"
                          }
                        ],
                        "expression": {
                          "argumentTypes": null,
                          "id": 8640,
                          "name": "_startOfVoting",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 8613,
                          "src": "697:14:26",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "id": 8641,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberName": "sub",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": 25586,
                        "src": "697:18:26",
                        "typeDescriptions": {
                          "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$",
                          "typeString": "function (uint256,uint256) pure returns (uint256)"
                        }
                      },
                      "id": 8643,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "kind": "functionCall",
                      "lValueRequested": false,
                      "names": [],
                      "nodeType": "FunctionCall",
                      "src": "697:21:26",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "src": "649:69:26",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "id": 8645,
                  "nodeType": "ExpressionStatement",
                  "src": "649:69:26"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 8651,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "argumentTypes": null,
                      "expression": {
                        "argumentTypes": null,
                        "baseExpression": {
                          "argumentTypes": null,
                          "id": 8646,
                          "name": "proposalsById",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 15138,
                          "src": "728:13:26",
                          "typeDescriptions": {
                            "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_SpecialProposal_$8418_storage_$",
                            "typeString": "mapping(bytes32 => struct DaoStructs.SpecialProposal storage ref)"
                          }
                        },
                        "id": 8648,
                        "indexExpression": {
                          "argumentTypes": null,
                          "id": 8647,
                          "name": "_specialProposalId",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 8600,
                          "src": "742:18:26",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bytes32",
                            "typeString": "bytes32"
                          }
                        },
                        "isConstant": false,
                        "isLValue": true,
                        "isPure": false,
                        "lValueRequested": false,
                        "nodeType": "IndexAccess",
                        "src": "728:33:26",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_SpecialProposal_$8418_storage",
                          "typeString": "struct DaoStructs.SpecialProposal storage ref"
                        }
                      },
                      "id": 8649,
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": true,
                      "memberName": "uintConfigs",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 8409,
                      "src": "728:45:26",
                      "typeDescriptions": {
                        "typeIdentifier": "t_array$_t_uint256_$dyn_storage",
                        "typeString": "uint256[] storage ref"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "argumentTypes": null,
                      "id": 8650,
                      "name": "_uintConfigs",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 8605,
                      "src": "776:12:26",
                      "typeDescriptions": {
                        "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr",
                        "typeString": "uint256[] memory"
                      }
                    },
                    "src": "728:60:26",
                    "typeDescriptions": {
                      "typeIdentifier": "t_array$_t_uint256_$dyn_storage",
                      "typeString": "uint256[] storage ref"
                    }
                  },
                  "id": 8652,
                  "nodeType": "ExpressionStatement",
                  "src": "728:60:26"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 8658,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "argumentTypes": null,
                      "expression": {
                        "argumentTypes": null,
                        "baseExpression": {
                          "argumentTypes": null,
                          "id": 8653,
                          "name": "proposalsById",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 15138,
                          "src": "798:13:26",
                          "typeDescriptions": {
                            "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_SpecialProposal_$8418_storage_$",
                            "typeString": "mapping(bytes32 => struct DaoStructs.SpecialProposal storage ref)"
                          }
                        },
                        "id": 8655,
                        "indexExpression": {
                          "argumentTypes": null,
                          "id": 8654,
                          "name": "_specialProposalId",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 8600,
                          "src": "812:18:26",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bytes32",
                            "typeString": "bytes32"
                          }
                        },
                        "isConstant": false,
                        "isLValue": true,
                        "isPure": false,
                        "lValueRequested": false,
                        "nodeType": "IndexAccess",
                        "src": "798:33:26",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_SpecialProposal_$8418_storage",
                          "typeString": "struct DaoStructs.SpecialProposal storage ref"
                        }
                      },
                      "id": 8656,
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": true,
                      "memberName": "addressConfigs",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 8412,
                      "src": "798:48:26",
                      "typeDescriptions": {
                        "typeIdentifier": "t_array$_t_address_$dyn_storage",
                        "typeString": "address[] storage ref"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "argumentTypes": null,
                      "id": 8657,
                      "name": "_addressConfigs",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 8608,
                      "src": "849:15:26",
                      "typeDescriptions": {
                        "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr",
                        "typeString": "address[] memory"
                      }
                    },
                    "src": "798:66:26",
                    "typeDescriptions": {
                      "typeIdentifier": "t_array$_t_address_$dyn_storage",
                      "typeString": "address[] storage ref"
                    }
                  },
                  "id": 8659,
                  "nodeType": "ExpressionStatement",
                  "src": "798:66:26"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 8665,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "argumentTypes": null,
                      "expression": {
                        "argumentTypes": null,
                        "baseExpression": {
                          "argumentTypes": null,
                          "id": 8660,
                          "name": "proposalsById",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 15138,
                          "src": "874:13:26",
                          "typeDescriptions": {
                            "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_SpecialProposal_$8418_storage_$",
                            "typeString": "mapping(bytes32 => struct DaoStructs.SpecialProposal storage ref)"
                          }
                        },
                        "id": 8662,
                        "indexExpression": {
                          "argumentTypes": null,
                          "id": 8661,
                          "name": "_specialProposalId",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 8600,
                          "src": "888:18:26",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bytes32",
                            "typeString": "bytes32"
                          }
                        },
                        "isConstant": false,
                        "isLValue": true,
                        "isPure": false,
                        "lValueRequested": false,
                        "nodeType": "IndexAccess",
                        "src": "874:33:26",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_SpecialProposal_$8418_storage",
                          "typeString": "struct DaoStructs.SpecialProposal storage ref"
                        }
                      },
                      "id": 8663,
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": true,
                      "memberName": "bytesConfigs",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 8415,
                      "src": "874:46:26",
                      "typeDescriptions": {
                        "typeIdentifier": "t_array$_t_bytes32_$dyn_storage",
                        "typeString": "bytes32[] storage ref"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "argumentTypes": null,
                      "id": 8664,
                      "name": "_bytesConfigs",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 8611,
                      "src": "923:13:26",
                      "typeDescriptions": {
                        "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr",
                        "typeString": "bytes32[] memory"
                      }
                    },
                    "src": "874:62:26",
                    "typeDescriptions": {
                      "typeIdentifier": "t_array$_t_bytes32_$dyn_storage",
                      "typeString": "bytes32[] storage ref"
                    }
                  },
                  "id": 8666,
                  "nodeType": "ExpressionStatement",
                  "src": "874:62:26"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 8673,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "argumentTypes": null,
                      "expression": {
                        "argumentTypes": null,
                        "expression": {
                          "argumentTypes": null,
                          "baseExpression": {
                            "argumentTypes": null,
                            "id": 8667,
                            "name": "proposalsById",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 15138,
                            "src": "946:13:26",
                            "typeDescriptions": {
                              "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_SpecialProposal_$8418_storage_$",
                              "typeString": "mapping(bytes32 => struct DaoStructs.SpecialProposal storage ref)"
                            }
                          },
                          "id": 8669,
                          "indexExpression": {
                            "argumentTypes": null,
                            "id": 8668,
                            "name": "_specialProposalId",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 8600,
                            "src": "960:18:26",
                            "typeDescriptions": {
                              "typeIdentifier": "t_bytes32",
                              "typeString": "bytes32"
                            }
                          },
                          "isConstant": false,
                          "isLValue": true,
                          "isPure": false,
                          "lValueRequested": false,
                          "nodeType": "IndexAccess",
                          "src": "946:33:26",
                          "typeDescriptions": {
                            "typeIdentifier": "t_struct$_SpecialProposal_$8418_storage",
                            "typeString": "struct DaoStructs.SpecialProposal storage ref"
                          }
                        },
                        "id": 8670,
                        "isConstant": false,
                        "isLValue": true,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberName": "voting",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": 8406,
                        "src": "946:40:26",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_Voting_$7930_storage",
                          "typeString": "struct DaoStructs.Voting storage ref"
                        }
                      },
                      "id": 8671,
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": true,
                      "memberName": "startTime",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 7907,
                      "src": "946:50:26",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "argumentTypes": null,
                      "id": 8672,
                      "name": "_startOfVoting",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 8613,
                      "src": "999:14:26",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "src": "946:67:26",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "id": 8674,
                  "nodeType": "ExpressionStatement",
                  "src": "946:67:26"
                }
              ]
            },
            "documentation": null,
            "id": 8676,
            "implemented": true,
            "isConstructor": false,
            "isDeclaredConst": false,
            "modifiers": [],
            "name": "mock_put_proposal_as",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 8614,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 8600,
                  "name": "_specialProposalId",
                  "nodeType": "VariableDeclaration",
                  "scope": 8676,
                  "src": "245:26:26",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 8599,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "245:7:26",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 8602,
                  "name": "_founder",
                  "nodeType": "VariableDeclaration",
                  "scope": 8676,
                  "src": "281:16:26",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 8601,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "281:7:26",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 8605,
                  "name": "_uintConfigs",
                  "nodeType": "VariableDeclaration",
                  "scope": 8676,
                  "src": "307:22:26",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr",
                    "typeString": "uint256[]"
                  },
                  "typeName": {
                    "baseType": {
                      "id": 8603,
                      "name": "uint256",
                      "nodeType": "ElementaryTypeName",
                      "src": "307:7:26",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "id": 8604,
                    "length": null,
                    "nodeType": "ArrayTypeName",
                    "src": "307:9:26",
                    "typeDescriptions": {
                      "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr",
                      "typeString": "uint256[]"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 8608,
                  "name": "_addressConfigs",
                  "nodeType": "VariableDeclaration",
                  "scope": 8676,
                  "src": "339:25:26",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr",
                    "typeString": "address[]"
                  },
                  "typeName": {
                    "baseType": {
                      "id": 8606,
                      "name": "address",
                      "nodeType": "ElementaryTypeName",
                      "src": "339:7:26",
                      "typeDescriptions": {
                        "typeIdentifier": "t_address",
                        "typeString": "address"
                      }
                    },
                    "id": 8607,
                    "length": null,
                    "nodeType": "ArrayTypeName",
                    "src": "339:9:26",
                    "typeDescriptions": {
                      "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr",
                      "typeString": "address[]"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 8611,
                  "name": "_bytesConfigs",
                  "nodeType": "VariableDeclaration",
                  "scope": 8676,
                  "src": "374:23:26",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr",
                    "typeString": "bytes32[]"
                  },
                  "typeName": {
                    "baseType": {
                      "id": 8609,
                      "name": "bytes32",
                      "nodeType": "ElementaryTypeName",
                      "src": "374:7:26",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bytes32",
                        "typeString": "bytes32"
                      }
                    },
                    "id": 8610,
                    "length": null,
                    "nodeType": "ArrayTypeName",
                    "src": "374:9:26",
                    "typeDescriptions": {
                      "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr",
                      "typeString": "bytes32[]"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 8613,
                  "name": "_startOfVoting",
                  "nodeType": "VariableDeclaration",
                  "scope": 8676,
                  "src": "407:22:26",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 8612,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "407:7:26",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "235:200:26"
            },
            "payable": false,
            "returnParameters": {
              "id": 8615,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "455:0:26"
            },
            "scope": 8762,
            "src": "206:814:26",
            "stateMutability": "nonpayable",
            "superFunction": null,
            "visibility": "public"
          },
          {
            "body": {
              "id": 8715,
              "nodeType": "Block",
              "src": "1198:158:26",
              "statements": [
                {
                  "body": {
                    "id": 8713,
                    "nodeType": "Block",
                    "src": "1249:101:26",
                    "statements": [
                      {
                        "expression": {
                          "argumentTypes": null,
                          "id": 8711,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "leftHandSide": {
                            "argumentTypes": null,
                            "baseExpression": {
                              "argumentTypes": null,
                              "expression": {
                                "argumentTypes": null,
                                "expression": {
                                  "argumentTypes": null,
                                  "baseExpression": {
                                    "argumentTypes": null,
                                    "id": 8699,
                                    "name": "proposalsById",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 15138,
                                    "src": "1263:13:26",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_SpecialProposal_$8418_storage_$",
                                      "typeString": "mapping(bytes32 => struct DaoStructs.SpecialProposal storage ref)"
                                    }
                                  },
                                  "id": 8701,
                                  "indexExpression": {
                                    "argumentTypes": null,
                                    "id": 8700,
                                    "name": "_specialProposalId",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 8678,
                                    "src": "1277:18:26",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_bytes32",
                                      "typeString": "bytes32"
                                    }
                                  },
                                  "isConstant": false,
                                  "isLValue": true,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "nodeType": "IndexAccess",
                                  "src": "1263:33:26",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_struct$_SpecialProposal_$8418_storage",
                                    "typeString": "struct DaoStructs.SpecialProposal storage ref"
                                  }
                                },
                                "id": 8702,
                                "isConstant": false,
                                "isLValue": true,
                                "isPure": false,
                                "lValueRequested": false,
                                "memberName": "voting",
                                "nodeType": "MemberAccess",
                                "referencedDeclaration": 8406,
                                "src": "1263:40:26",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_struct$_Voting_$7930_storage",
                                  "typeString": "struct DaoStructs.Voting storage ref"
                                }
                              },
                              "id": 8703,
                              "isConstant": false,
                              "isLValue": true,
                              "isPure": false,
                              "lValueRequested": false,
                              "memberName": "commits",
                              "nodeType": "MemberAccess",
                              "referencedDeclaration": 7915,
                              "src": "1263:48:26",
                              "typeDescriptions": {
                                "typeIdentifier": "t_mapping$_t_address_$_t_bytes32_$",
                                "typeString": "mapping(address => bytes32)"
                              }
                            },
                            "id": 8707,
                            "indexExpression": {
                              "argumentTypes": null,
                              "baseExpression": {
                                "argumentTypes": null,
                                "id": 8704,
                                "name": "_voters",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 8681,
                                "src": "1312:7:26",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr",
                                  "typeString": "address[] memory"
                                }
                              },
                              "id": 8706,
                              "indexExpression": {
                                "argumentTypes": null,
                                "id": 8705,
                                "name": "_i",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 8690,
                                "src": "1320:2:26",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              },
                              "isConstant": false,
                              "isLValue": true,
                              "isPure": false,
                              "lValueRequested": false,
                              "nodeType": "IndexAccess",
                              "src": "1312:11:26",
                              "typeDescriptions": {
                                "typeIdentifier": "t_address",
                                "typeString": "address"
                              }
                            },
                            "isConstant": false,
                            "isLValue": true,
                            "isPure": false,
                            "lValueRequested": true,
                            "nodeType": "IndexAccess",
                            "src": "1263:61:26",
                            "typeDescriptions": {
                              "typeIdentifier": "t_bytes32",
                              "typeString": "bytes32"
                            }
                          },
                          "nodeType": "Assignment",
                          "operator": "=",
                          "rightHandSide": {
                            "argumentTypes": null,
                            "baseExpression": {
                              "argumentTypes": null,
                              "id": 8708,
                              "name": "_commits",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 8684,
                              "src": "1327:8:26",
                              "typeDescriptions": {
                                "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr",
                                "typeString": "bytes32[] memory"
                              }
                            },
                            "id": 8710,
                            "indexExpression": {
                              "argumentTypes": null,
                              "id": 8709,
                              "name": "_i",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 8690,
                              "src": "1336:2:26",
                              "typeDescriptions": {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              }
                            },
                            "isConstant": false,
                            "isLValue": true,
                            "isPure": false,
                            "lValueRequested": false,
                            "nodeType": "IndexAccess",
                            "src": "1327:12:26",
                            "typeDescriptions": {
                              "typeIdentifier": "t_bytes32",
                              "typeString": "bytes32"
                            }
                          },
                          "src": "1263:76:26",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bytes32",
                            "typeString": "bytes32"
                          }
                        },
                        "id": 8712,
                        "nodeType": "ExpressionStatement",
                        "src": "1263:76:26"
                      }
                    ]
                  },
                  "condition": {
                    "argumentTypes": null,
                    "commonType": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    },
                    "id": 8695,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftExpression": {
                      "argumentTypes": null,
                      "id": 8693,
                      "name": "_i",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 8690,
                      "src": "1229:2:26",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "BinaryOperation",
                    "operator": "<",
                    "rightExpression": {
                      "argumentTypes": null,
                      "id": 8694,
                      "name": "_length",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 8686,
                      "src": "1234:7:26",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "src": "1229:12:26",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "id": 8714,
                  "initializationExpression": {
                    "assignments": [
                      8690
                    ],
                    "declarations": [
                      {
                        "constant": false,
                        "id": 8690,
                        "name": "_i",
                        "nodeType": "VariableDeclaration",
                        "scope": 8716,
                        "src": "1213:10:26",
                        "stateVariable": false,
                        "storageLocation": "default",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        },
                        "typeName": {
                          "id": 8689,
                          "name": "uint256",
                          "nodeType": "ElementaryTypeName",
                          "src": "1213:7:26",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "value": null,
                        "visibility": "internal"
                      }
                    ],
                    "id": 8692,
                    "initialValue": {
                      "argumentTypes": null,
                      "hexValue": "30",
                      "id": 8691,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": true,
                      "kind": "number",
                      "lValueRequested": false,
                      "nodeType": "Literal",
                      "src": "1226:1:26",
                      "subdenomination": null,
                      "typeDescriptions": {
                        "typeIdentifier": "t_rational_0_by_1",
                        "typeString": "int_const 0"
                      },
                      "value": "0"
                    },
                    "nodeType": "VariableDeclarationStatement",
                    "src": "1213:14:26"
                  },
                  "loopExpression": {
                    "expression": {
                      "argumentTypes": null,
                      "id": 8697,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "nodeType": "UnaryOperation",
                      "operator": "++",
                      "prefix": false,
                      "src": "1243:4:26",
                      "subExpression": {
                        "argumentTypes": null,
                        "id": 8696,
                        "name": "_i",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 8690,
                        "src": "1243:2:26",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "id": 8698,
                    "nodeType": "ExpressionStatement",
                    "src": "1243:4:26"
                  },
                  "nodeType": "ForStatement",
                  "src": "1208:142:26"
                }
              ]
            },
            "documentation": null,
            "id": 8716,
            "implemented": true,
            "isConstructor": false,
            "isDeclaredConst": false,
            "modifiers": [],
            "name": "mock_put_commit_votes",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 8687,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 8678,
                  "name": "_specialProposalId",
                  "nodeType": "VariableDeclaration",
                  "scope": 8716,
                  "src": "1066:26:26",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 8677,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "1066:7:26",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 8681,
                  "name": "_voters",
                  "nodeType": "VariableDeclaration",
                  "scope": 8716,
                  "src": "1102:17:26",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr",
                    "typeString": "address[]"
                  },
                  "typeName": {
                    "baseType": {
                      "id": 8679,
                      "name": "address",
                      "nodeType": "ElementaryTypeName",
                      "src": "1102:7:26",
                      "typeDescriptions": {
                        "typeIdentifier": "t_address",
                        "typeString": "address"
                      }
                    },
                    "id": 8680,
                    "length": null,
                    "nodeType": "ArrayTypeName",
                    "src": "1102:9:26",
                    "typeDescriptions": {
                      "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr",
                      "typeString": "address[]"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 8684,
                  "name": "_commits",
                  "nodeType": "VariableDeclaration",
                  "scope": 8716,
                  "src": "1129:18:26",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr",
                    "typeString": "bytes32[]"
                  },
                  "typeName": {
                    "baseType": {
                      "id": 8682,
                      "name": "bytes32",
                      "nodeType": "ElementaryTypeName",
                      "src": "1129:7:26",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bytes32",
                        "typeString": "bytes32"
                      }
                    },
                    "id": 8683,
                    "length": null,
                    "nodeType": "ArrayTypeName",
                    "src": "1129:9:26",
                    "typeDescriptions": {
                      "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr",
                      "typeString": "bytes32[]"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 8686,
                  "name": "_length",
                  "nodeType": "VariableDeclaration",
                  "scope": 8716,
                  "src": "1157:15:26",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 8685,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "1157:7:26",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "1056:122:26"
            },
            "payable": false,
            "returnParameters": {
              "id": 8688,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "1198:0:26"
            },
            "scope": 8762,
            "src": "1026:330:26",
            "stateMutability": "nonpayable",
            "superFunction": null,
            "visibility": "public"
          },
          {
            "body": {
              "id": 8760,
              "nodeType": "Block",
              "src": "1554:171:26",
              "statements": [
                {
                  "body": {
                    "id": 8758,
                    "nodeType": "Block",
                    "src": "1605:114:26",
                    "statements": [
                      {
                        "expression": {
                          "argumentTypes": null,
                          "arguments": [
                            {
                              "argumentTypes": null,
                              "baseExpression": {
                                "argumentTypes": null,
                                "id": 8747,
                                "name": "_voters",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 8721,
                                "src": "1671:7:26",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr",
                                  "typeString": "address[] memory"
                                }
                              },
                              "id": 8749,
                              "indexExpression": {
                                "argumentTypes": null,
                                "id": 8748,
                                "name": "_i",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 8733,
                                "src": "1679:2:26",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              },
                              "isConstant": false,
                              "isLValue": true,
                              "isPure": false,
                              "lValueRequested": false,
                              "nodeType": "IndexAccess",
                              "src": "1671:11:26",
                              "typeDescriptions": {
                                "typeIdentifier": "t_address",
                                "typeString": "address"
                              }
                            },
                            {
                              "argumentTypes": null,
                              "baseExpression": {
                                "argumentTypes": null,
                                "id": 8750,
                                "name": "_votes",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 8724,
                                "src": "1684:6:26",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_array$_t_bool_$dyn_memory_ptr",
                                  "typeString": "bool[] memory"
                                }
                              },
                              "id": 8752,
                              "indexExpression": {
                                "argumentTypes": null,
                                "id": 8751,
                                "name": "_i",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 8733,
                                "src": "1691:2:26",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              },
                              "isConstant": false,
                              "isLValue": true,
                              "isPure": false,
                              "lValueRequested": false,
                              "nodeType": "IndexAccess",
                              "src": "1684:10:26",
                              "typeDescriptions": {
                                "typeIdentifier": "t_bool",
                                "typeString": "bool"
                              }
                            },
                            {
                              "argumentTypes": null,
                              "baseExpression": {
                                "argumentTypes": null,
                                "id": 8753,
                                "name": "_stakes",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 8727,
                                "src": "1696:7:26",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr",
                                  "typeString": "uint256[] memory"
                                }
                              },
                              "id": 8755,
                              "indexExpression": {
                                "argumentTypes": null,
                                "id": 8754,
                                "name": "_i",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 8733,
                                "src": "1704:2:26",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              },
                              "isConstant": false,
                              "isLValue": true,
                              "isPure": false,
                              "lValueRequested": false,
                              "nodeType": "IndexAccess",
                              "src": "1696:11:26",
                              "typeDescriptions": {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              }
                            }
                          ],
                          "expression": {
                            "argumentTypes": [
                              {
                                "typeIdentifier": "t_address",
                                "typeString": "address"
                              },
                              {
                                "typeIdentifier": "t_bool",
                                "typeString": "bool"
                              },
                              {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              }
                            ],
                            "expression": {
                              "argumentTypes": null,
                              "expression": {
                                "argumentTypes": null,
                                "baseExpression": {
                                  "argumentTypes": null,
                                  "id": 8742,
                                  "name": "proposalsById",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 15138,
                                  "src": "1619:13:26",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_SpecialProposal_$8418_storage_$",
                                    "typeString": "mapping(bytes32 => struct DaoStructs.SpecialProposal storage ref)"
                                  }
                                },
                                "id": 8744,
                                "indexExpression": {
                                  "argumentTypes": null,
                                  "id": 8743,
                                  "name": "_specialProposalId",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 8718,
                                  "src": "1633:18:26",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_bytes32",
                                    "typeString": "bytes32"
                                  }
                                },
                                "isConstant": false,
                                "isLValue": true,
                                "isPure": false,
                                "lValueRequested": false,
                                "nodeType": "IndexAccess",
                                "src": "1619:33:26",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_struct$_SpecialProposal_$8418_storage",
                                  "typeString": "struct DaoStructs.SpecialProposal storage ref"
                                }
                              },
                              "id": 8745,
                              "isConstant": false,
                              "isLValue": true,
                              "isPure": false,
                              "lValueRequested": false,
                              "memberName": "voting",
                              "nodeType": "MemberAccess",
                              "referencedDeclaration": 8406,
                              "src": "1619:40:26",
                              "typeDescriptions": {
                                "typeIdentifier": "t_struct$_Voting_$7930_storage",
                                "typeString": "struct DaoStructs.Voting storage ref"
                              }
                            },
                            "id": 8746,
                            "isConstant": false,
                            "isLValue": true,
                            "isPure": false,
                            "lValueRequested": false,
                            "memberName": "revealVote",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": 8238,
                            "src": "1619:51:26",
                            "typeDescriptions": {
                              "typeIdentifier": "t_function_delegatecall_nonpayable$_t_struct$_Voting_$7930_storage_ptr_$_t_address_$_t_bool_$_t_uint256_$returns$__$bound_to$_t_struct$_Voting_$7930_storage_ptr_$",
                              "typeString": "function (struct DaoStructs.Voting storage pointer,address,bool,uint256)"
                            }
                          },
                          "id": 8756,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "functionCall",
                          "lValueRequested": false,
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "1619:89:26",
                          "typeDescriptions": {
                            "typeIdentifier": "t_tuple$__$",
                            "typeString": "tuple()"
                          }
                        },
                        "id": 8757,
                        "nodeType": "ExpressionStatement",
                        "src": "1619:89:26"
                      }
                    ]
                  },
                  "condition": {
                    "argumentTypes": null,
                    "commonType": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    },
                    "id": 8738,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftExpression": {
                      "argumentTypes": null,
                      "id": 8736,
                      "name": "_i",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 8733,
                      "src": "1585:2:26",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "BinaryOperation",
                    "operator": "<",
                    "rightExpression": {
                      "argumentTypes": null,
                      "id": 8737,
                      "name": "_length",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 8729,
                      "src": "1590:7:26",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "src": "1585:12:26",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "id": 8759,
                  "initializationExpression": {
                    "assignments": [
                      8733
                    ],
                    "declarations": [
                      {
                        "constant": false,
                        "id": 8733,
                        "name": "_i",
                        "nodeType": "VariableDeclaration",
                        "scope": 8761,
                        "src": "1569:10:26",
                        "stateVariable": false,
                        "storageLocation": "default",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        },
                        "typeName": {
                          "id": 8732,
                          "name": "uint256",
                          "nodeType": "ElementaryTypeName",
                          "src": "1569:7:26",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "value": null,
                        "visibility": "internal"
                      }
                    ],
                    "id": 8735,
                    "initialValue": {
                      "argumentTypes": null,
                      "hexValue": "30",
                      "id": 8734,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": true,
                      "kind": "number",
                      "lValueRequested": false,
                      "nodeType": "Literal",
                      "src": "1582:1:26",
                      "subdenomination": null,
                      "typeDescriptions": {
                        "typeIdentifier": "t_rational_0_by_1",
                        "typeString": "int_const 0"
                      },
                      "value": "0"
                    },
                    "nodeType": "VariableDeclarationStatement",
                    "src": "1569:14:26"
                  },
                  "loopExpression": {
                    "expression": {
                      "argumentTypes": null,
                      "id": 8740,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "nodeType": "UnaryOperation",
                      "operator": "++",
                      "prefix": false,
                      "src": "1599:4:26",
                      "subExpression": {
                        "argumentTypes": null,
                        "id": 8739,
                        "name": "_i",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 8733,
                        "src": "1599:2:26",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "id": 8741,
                    "nodeType": "ExpressionStatement",
                    "src": "1599:4:26"
                  },
                  "nodeType": "ForStatement",
                  "src": "1564:155:26"
                }
              ]
            },
            "documentation": null,
            "id": 8761,
            "implemented": true,
            "isConstructor": false,
            "isDeclaredConst": false,
            "modifiers": [],
            "name": "mock_put_past_votes",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 8730,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 8718,
                  "name": "_specialProposalId",
                  "nodeType": "VariableDeclaration",
                  "scope": 8761,
                  "src": "1400:26:26",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 8717,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "1400:7:26",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 8721,
                  "name": "_voters",
                  "nodeType": "VariableDeclaration",
                  "scope": 8761,
                  "src": "1436:17:26",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr",
                    "typeString": "address[]"
                  },
                  "typeName": {
                    "baseType": {
                      "id": 8719,
                      "name": "address",
                      "nodeType": "ElementaryTypeName",
                      "src": "1436:7:26",
                      "typeDescriptions": {
                        "typeIdentifier": "t_address",
                        "typeString": "address"
                      }
                    },
                    "id": 8720,
                    "length": null,
                    "nodeType": "ArrayTypeName",
                    "src": "1436:9:26",
                    "typeDescriptions": {
                      "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr",
                      "typeString": "address[]"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 8724,
                  "name": "_votes",
                  "nodeType": "VariableDeclaration",
                  "scope": 8761,
                  "src": "1463:13:26",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_array$_t_bool_$dyn_memory_ptr",
                    "typeString": "bool[]"
                  },
                  "typeName": {
                    "baseType": {
                      "id": 8722,
                      "name": "bool",
                      "nodeType": "ElementaryTypeName",
                      "src": "1463:4:26",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bool",
                        "typeString": "bool"
                      }
                    },
                    "id": 8723,
                    "length": null,
                    "nodeType": "ArrayTypeName",
                    "src": "1463:6:26",
                    "typeDescriptions": {
                      "typeIdentifier": "t_array$_t_bool_$dyn_storage_ptr",
                      "typeString": "bool[]"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 8727,
                  "name": "_stakes",
                  "nodeType": "VariableDeclaration",
                  "scope": 8761,
                  "src": "1486:17:26",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr",
                    "typeString": "uint256[]"
                  },
                  "typeName": {
                    "baseType": {
                      "id": 8725,
                      "name": "uint256",
                      "nodeType": "ElementaryTypeName",
                      "src": "1486:7:26",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "id": 8726,
                    "length": null,
                    "nodeType": "ArrayTypeName",
                    "src": "1486:9:26",
                    "typeDescriptions": {
                      "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr",
                      "typeString": "uint256[]"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 8729,
                  "name": "_length",
                  "nodeType": "VariableDeclaration",
                  "scope": 8761,
                  "src": "1513:15:26",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 8728,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "1513:7:26",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "1390:144:26"
            },
            "payable": false,
            "returnParameters": {
              "id": 8731,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "1554:0:26"
            },
            "scope": 8762,
            "src": "1362:363:26",
            "stateMutability": "nonpayable",
            "superFunction": null,
            "visibility": "public"
          }
        ],
        "scope": 8763,
        "src": "72:1655:26"
      }
    ],
    "src": "0:1728:26"
  },
  "compiler": {
    "name": "solc",
    "version": "0.4.25+commit.59dbf8f1.Emscripten.clang"
  },
  "networks": {},
  "schemaVersion": "2.0.2",
  "updatedAt": "2020-03-13T02:38:46.077Z"
}