{
  "contractName": "MockDaoStakeStorage",
  "abi": [
    {
      "constant": false,
      "inputs": [
        {
          "name": "_user",
          "type": "address"
        }
      ],
      "name": "addToModeratorList",
      "outputs": [
        {
          "name": "_success",
          "type": "bool"
        }
      ],
      "payable": false,
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "constant": false,
      "inputs": [
        {
          "name": "_user",
          "type": "address"
        }
      ],
      "name": "redeemBadge",
      "outputs": [],
      "payable": false,
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [],
      "name": "resolver",
      "outputs": [
        {
          "name": "",
          "type": "address"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [
        {
          "name": "_user",
          "type": "address"
        }
      ],
      "name": "isInParticipantList",
      "outputs": [
        {
          "name": "_is",
          "type": "bool"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": false,
      "inputs": [
        {
          "name": "_totalLockedDGDStake",
          "type": "uint256"
        }
      ],
      "name": "updateTotalLockedDGDStake",
      "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": "_current_item",
          "type": "address"
        }
      ],
      "name": "readNextParticipant",
      "outputs": [
        {
          "name": "_item",
          "type": "address"
        }
      ],
      "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": "_user",
          "type": "address"
        }
      ],
      "name": "removeFromParticipantList",
      "outputs": [
        {
          "name": "_success",
          "type": "bool"
        }
      ],
      "payable": false,
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [
        {
          "name": "_current_item",
          "type": "address"
        }
      ],
      "name": "readNextModerator",
      "outputs": [
        {
          "name": "_item",
          "type": "address"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": false,
      "inputs": [
        {
          "name": "_user",
          "type": "address"
        }
      ],
      "name": "setCarbonVoteBonusClaimed",
      "outputs": [],
      "payable": false,
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [],
      "name": "readFirstModerator",
      "outputs": [
        {
          "name": "_item",
          "type": "address"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [
        {
          "name": "_user",
          "type": "address"
        }
      ],
      "name": "readUserDGDStake",
      "outputs": [
        {
          "name": "_actualLockedDGD",
          "type": "uint256"
        },
        {
          "name": "_lockedDGDStake",
          "type": "uint256"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [
        {
          "name": "_current_item",
          "type": "address"
        }
      ],
      "name": "readPreviousModerator",
      "outputs": [
        {
          "name": "_item",
          "type": "address"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [
        {
          "name": "",
          "type": "address"
        }
      ],
      "name": "carbonVoteBonusClaimed",
      "outputs": [
        {
          "name": "",
          "type": "bool"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [
        {
          "name": "_current_item",
          "type": "address"
        }
      ],
      "name": "readPreviousParticipant",
      "outputs": [
        {
          "name": "_item",
          "type": "address"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [],
      "name": "readLastParticipant",
      "outputs": [
        {
          "name": "_item",
          "type": "address"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [
        {
          "name": "_user",
          "type": "address"
        }
      ],
      "name": "isInModeratorsList",
      "outputs": [
        {
          "name": "_is",
          "type": "bool"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": false,
      "inputs": [
        {
          "name": "_totalLockedDGDStake",
          "type": "uint256"
        }
      ],
      "name": "updateTotalModeratorLockedDGDs",
      "outputs": [],
      "payable": false,
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [
        {
          "name": "",
          "type": "address"
        }
      ],
      "name": "actualLockedDGD",
      "outputs": [
        {
          "name": "",
          "type": "uint256"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [],
      "name": "totalLockedDGDStake",
      "outputs": [
        {
          "name": "",
          "type": "uint256"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": false,
      "inputs": [
        {
          "name": "_user",
          "type": "address"
        },
        {
          "name": "_actualLockedDGD",
          "type": "uint256"
        },
        {
          "name": "_lockedDGDStake",
          "type": "uint256"
        }
      ],
      "name": "updateUserDGDStake",
      "outputs": [],
      "payable": false,
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [],
      "name": "readTotalParticipant",
      "outputs": [
        {
          "name": "_total_count",
          "type": "uint256"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [],
      "name": "readLastModerator",
      "outputs": [
        {
          "name": "_item",
          "type": "address"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [],
      "name": "totalModeratorLockedDGDStake",
      "outputs": [
        {
          "name": "",
          "type": "uint256"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [
        {
          "name": "",
          "type": "address"
        }
      ],
      "name": "lockedDGDStake",
      "outputs": [
        {
          "name": "",
          "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": "readTotalModerators",
      "outputs": [
        {
          "name": "_total_count",
          "type": "uint256"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [],
      "name": "readFirstParticipant",
      "outputs": [
        {
          "name": "_item",
          "type": "address"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": false,
      "inputs": [
        {
          "name": "_user",
          "type": "address"
        }
      ],
      "name": "addToParticipantList",
      "outputs": [
        {
          "name": "_success",
          "type": "bool"
        }
      ],
      "payable": false,
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [
        {
          "name": "",
          "type": "address"
        }
      ],
      "name": "redeemedBadge",
      "outputs": [
        {
          "name": "",
          "type": "bool"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": false,
      "inputs": [
        {
          "name": "_user",
          "type": "address"
        }
      ],
      "name": "removeFromModeratorList",
      "outputs": [
        {
          "name": "_success",
          "type": "bool"
        }
      ],
      "payable": false,
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "name": "_resolver",
          "type": "address"
        }
      ],
      "payable": false,
      "stateMutability": "nonpayable",
      "type": "constructor"
    },
    {
      "constant": false,
      "inputs": [
        {
          "name": "_moderators",
          "type": "address[]"
        },
        {
          "name": "_dgdStake",
          "type": "uint256[]"
        }
      ],
      "name": "mock_add_moderators",
      "outputs": [],
      "payable": false,
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "constant": false,
      "inputs": [
        {
          "name": "_participants",
          "type": "address[]"
        },
        {
          "name": "_dgdStake",
          "type": "uint256[]"
        }
      ],
      "name": "mock_add_participants",
      "outputs": [],
      "payable": false,
      "stateMutability": "nonpayable",
      "type": "function"
    }
  ],
  "bytecode": "0x608060405260006001026003906000191690556000600460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507f70726f706f73616c5f73746174655f70726570726f706f73616c0000000000006005906000191690557f70726f706f73616c5f73746174655f64726166740000000000000000000000006006906000191690557f70726f706f73616c5f73746174655f6d6f6465726174656400000000000000006007906000191690557f70726f706f73616c5f73746174655f6f6e676f696e67000000000000000000006008906000191690557f70726f706f73616c5f73746174655f636c6f73656400000000000000000000006009906000191690557f70726f706f73616c5f73746174655f6172636869766564000000000000000000600a906000191690556001600b556002600c556003600d556001600e556002600f5560036010557f696e7465725f6467645f696400000000000000000000000000000000000000006011906000191690557f696e7465725f6d6f645f6467645f6964000000000000000000000000000000006012906000191690557f696e7465725f626f6e75735f63616c63756c6174696f6e5f69640000000000006013906000191690557f64616f00000000000000000000000000000000000000000000000000000000006014906000191690557f64616f3a7370656369616c3a70726f706f73616c0000000000000000000000006015906000191690557f64616f3a7374616b652d6c6f636b696e670000000000000000000000000000006016906000191690557f64616f3a766f74696e67000000000000000000000000000000000000000000006017906000191690557f64616f3a766f74696e673a636c61696d730000000000000000000000000000006018906000191690557f64616f3a73766f74696e673a636c61696d7300000000000000000000000000006019906000191690557f64616f3a6964656e746974790000000000000000000000000000000000000000601a906000191690557f64616f3a726577617264732d6d616e6167657200000000000000000000000000601b906000191690557f64616f3a726577617264732d6578747261730000000000000000000000000000601c906000191690557f64616f3a726f6c65730000000000000000000000000000000000000000000000601d906000191690557f64616f3a66756e64696e672d6d616e6167657200000000000000000000000000601e906000191690557f64616f3a77686974656c697374696e6700000000000000000000000000000000601f906000191690557f64616f3a696e666f726d6174696f6e00000000000000000000000000000000006020906000191690557f736572766963653a726f6c6500000000000000000000000000000000000000006021906000191690557f736572766963653a64616f3a696e666f000000000000000000000000000000006022906000191690557f736572766963653a64616f3a6c697374696e67000000000000000000000000006023906000191690557f736572766963653a64616f3a63616c63756c61746f72000000000000000000006024906000191690557f73746f726167653a64616f0000000000000000000000000000000000000000006025906000191690557f73746f726167653a64616f3a636f756e746572000000000000000000000000006026906000191690557f73746f726167653a64616f3a75706772616465000000000000000000000000006027906000191690557f73746f726167653a64616f3a6964656e746974790000000000000000000000006028906000191690557f73746f726167653a64616f3a706f696e747300000000000000000000000000006029906000191690557f73746f726167653a64616f3a7370656369616c00000000000000000000000000602a906000191690557f73746f726167653a64616f3a636f6e6669670000000000000000000000000000602b906000191690557f73746f726167653a64616f3a7374616b65000000000000000000000000000000602c906000191690557f73746f726167653a64616f3a7265776172647300000000000000000000000000602d906000191690557f73746f726167653a64616f3a77686974656c697374696e670000000000000000602e906000191690557f73746f726167653a696e7465726d6564696174653a726573756c747300000000602f906000191690557f743a6467640000000000000000000000000000000000000000000000000000006030906000191690557f743a6467780000000000000000000000000000000000000000000000000000006031906000191690557f743a6261646765000000000000000000000000000000000000000000000000006032906000191690556001603360006101000a81548160ff021916908360ff1602179055506002603360016101000a81548160ff021916908360ff1602179055506003603360026101000a81548160ff021916908360ff1602179055506004603360036101000a81548160ff021916908360ff1602179055506276a7006034557f6d696e5f6467645f7061727469636970616e74000000000000000000000000006035906000191690557f6d696e5f6467645f6d6f64657261746f720000000000000000000000000000006036906000191690557f6d696e5f72657075746174696f6e5f6d6f64657261746f7200000000000000006037906000191690557f6c6f636b696e675f70686173655f6475726174696f6e000000000000000000006038906000191690557f717561727465725f6475726174696f6e000000000000000000000000000000006039906000191690557f766f74696e675f636f6d6d69745f706861736500000000000000000000000000603a906000191690557f766f74696e675f70686173655f746f74616c0000000000000000000000000000603b906000191690557f696e746572696d5f766f74696e675f636f6d6d69745f70686173650000000000603c906000191690557f696e746572696d5f766f74696e675f70686173655f746f74616c000000000000603d906000191690557f64726166745f71756f72756d5f66697865645f6e756d657261746f7200000000603e906000191690557f64726166745f71756f72756d5f66697865645f64656e6f6d696e61746f720000603f906000191690557f64726166745f71756f72756d5f73666163746f725f6e756d657261746f7200006040906000191690557f64726166745f71756f72756d5f73666163746f725f64656e6f6d696e61746f726041906000191690557f766f74655f71756f72756d5f66697865645f6e756d657261746f7200000000006042906000191690557f766f74655f71756f72756d5f66697865645f64656e6f6d696e61746f720000006043906000191690557f766f74655f71756f72756d5f73666163746f725f6e756d657261746f720000006044906000191690557f766f74655f71756f72756d5f73666163746f725f64656e6f6d696e61746f72006045906000191690557f66696e616c5f7265776172645f73666163746f725f6e756d657261746f7200006046906000191690557f66696e616c5f7265776172645f73666163746f725f64656e6f6d696e61746f726047906000191690557f64726166745f71756f74615f6e756d657261746f7200000000000000000000006048906000191690557f64726166745f71756f74615f64656e6f6d696e61746f720000000000000000006049906000191690557f766f74696e675f71756f74615f6e756d657261746f7200000000000000000000604a906000191690557f766f74696e675f71756f74615f64656e6f6d696e61746f720000000000000000604b906000191690557f6d696e696d616c5f717000000000000000000000000000000000000000000000604c906000191690557f717561727465725f706f696e745f7363616c696e675f666163746f7200000000604d906000191690557f7265705f706f696e745f7363616c696e675f666163746f720000000000000000604e906000191690557f6d696e696d616c5f6d6f645f7170000000000000000000000000000000000000604f906000191690557f6d6f645f71705f7363616c696e675f666163746f7200000000000000000000006050906000191690557f6d6f645f7265705f706f696e745f7363616c696e675f666163746f72000000006051906000191690557f717561727465725f706f696e745f64726166745f766f746500000000000000006052906000191690557f717561727465725f706f696e745f766f746500000000000000000000000000006053906000191690557f717561727465725f706f696e745f696e746572696d5f766f74650000000000006054906000191690557f715f705f6d696c6573746f6e655f636f6d706c6574696f6e00000000000000006055906000191690557f626f6e75735f72657075746174696f6e5f6e756d657261746f720000000000006056906000191690557f626f6e75735f72657075746174696f6e5f64656e6f6d696e61746f72000000006057906000191690557f7370656369616c5f70726f706f73616c5f636f6d6d69745f70686173650000006058906000191690557f7370656369616c5f70726f706f73616c5f70686173655f746f74616c000000006059906000191690557f636f6e6669675f7370656369616c5f71756f74615f6e756d657261746f720000605a906000191690557f636f6e6669675f7370656369616c5f71756f74615f64656e6f6d696e61746f72605b906000191690557f7370656369616c5f71756f72756d5f6e756d657261746f720000000000000000605c906000191690557f7370656369616c5f71756f72756d5f64656e6f6d696e61746f72000000000000605d906000191690557f636f6e6669675f6d61785f72657075746174696f6e5f646564756374696f6e00605e906000191690557f636f6e6669675f70756e6973686d656e745f6e6f745f6c6f636b696e67000000605f906000191690557f636f6e6669675f7265705f7065725f65787472615f71705f6e756d00000000006060906000191690557f636f6e6669675f7265705f7065725f65787472615f71705f64656e00000000006061906000191690557f636f6e6669675f6d61785f6d5f72705f646564756374696f6e000000000000006062906000191690557f636f6e6669675f7265705f7065725f65787472615f6d5f71705f6e756d0000006063906000191690557f636f6e6669675f7265705f7065725f65787472615f6d5f71705f64656e0000006064906000191690557f636f6e6669675f6d6f645f706f7274696f6e5f6e756d000000000000000000006065906000191690557f636f6e6669675f6d6f645f706f7274696f6e5f64656e000000000000000000006066906000191690557f636f6e6669675f64726166745f766f74696e675f7068617365000000000000006067906000191690557f636f6e6669675f72705f626f6f73745f7065725f6261646765000000000000006068906000191690557f636f6e6669675f636c61696d696e675f646561646c696e6500000000000000006069906000191690557f636f6e6669675f70726570726f706f73616c5f636f6c6c61746572616c000000606a906000191690557f636f6e6669675f6d61785f66756e64696e675f6e6f6e44696769780000000000606b906000191690557f636f6e6669675f6d61785f6d696c6573746f6e65735f6e6f6e44696769780000606c906000191690557f636f6e6669675f6e6f6e44696769785f70726f706f73616c5f63617000000000606d906000191690557f636f6e6669675f646561645f6475726174696f6e000000000000000000000000606e906000191690557f636f6e6669675f63765f72657075746174696f6e000000000000000000000000606f906000191690553480156200113457600080fd5b5060405160208062003773833981018060405281019080805190602001909291905050508062001176602c54826200118a640100000000026401000000009004565b15156200118257600080fd5b50506200141b565b6000808273ffffffffffffffffffffffffffffffffffffffff16636d19a8826040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b158015620011f257600080fd5b505af115801562001207573d6000803e3d6000fd5b505050506040513d60208110156200121e57600080fd5b810190808051906020019092919050505090506000151581151514156200140f5730600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550826000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555083600181600019169055506000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c0f6ef4a600154600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040518363ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018083600019166000191681526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200192505050602060405180830381600087803b158015620013bc57600080fd5b505af1158015620013d1573d6000803e3d6000fd5b505050506040513d6020811015620013e857600080fd5b810190808051906020019092919050505015156200140557600080fd5b6001915062001414565b600091505b5092915050565b612348806200142b6000396000f3006080604052600436106101ac576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806303a996a1146101b157806303cc89b41461020c57806304f3bcec1461024f5780630c30a1d5146102a65780631538e68c146103015780633943380c1461032e5780633e0fd265146103615780633f83acff146103e457806344d9bfe61461045557806344e518a3146104b05780635515eb2c14610533578063583fd501146105765780635bdd2743146105cd57806363a640671461062b5780636d080338146106ae5780637bbad0b81461070957806382624a2e1461078c57806388954a6c146107e35780638b650aec1461083e57806391baa144146108e7578063abe8168c14610914578063abed029a1461096b578063ad5c464714610996578063b5830a4c146109ed578063bbb03dc214610a18578063bf448a8714610a6f578063c6e1408314610a9a578063cd094a2714610b43578063db4ecbc114610b9a578063e3bc96ba14610bf1578063e3bd970e14610c1c578063e41b4c5c14610c73578063f01a13e114610cce578063f2388b4214610d29575b600080fd5b3480156101bd57600080fd5b506101f2600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610d84565b604051808215151515815260200191505060405180910390f35b34801561021857600080fd5b5061024d600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610e80565b005b34801561025b57600080fd5b50610264610ef1565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156102b257600080fd5b506102e7600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610f16565b604051808215151515815260200191505060405180910390f35b34801561030d57600080fd5b5061032c60048036038101908080359060200190929190505050610fff565b005b34801561033a57600080fd5b50610343611056565b60405180826000191660001916815260200191505060405180910390f35b34801561036d57600080fd5b506103a2600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061105c565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156103f057600080fd5b506104136004803603810190808035600019169060200190929190505050611070565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561046157600080fd5b50610496600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061114c565b604051808215151515815260200191505060405180910390f35b3480156104bc57600080fd5b506104f1600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611248565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561053f57600080fd5b50610574600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061125c565b005b34801561058257600080fd5b5061058b6112cd565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156105d957600080fd5b5061060e600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506112de565b604051808381526020018281526020019250505060405180910390f35b34801561063757600080fd5b5061066c600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061136a565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156106ba57600080fd5b506106ef600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061137e565b604051808215151515815260200191505060405180910390f35b34801561071557600080fd5b5061074a600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061139e565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561079857600080fd5b506107a16113b2565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156107ef57600080fd5b50610824600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506113c3565b604051808215151515815260200191505060405180910390f35b34801561084a57600080fd5b506108e560048036038101908080359060200190820180359060200190808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050509192919290803590602001908201803590602001908080602002602001604051908101604052809392919081815260200183836020028082843782019150505050505091929192905050506114ac565b005b3480156108f357600080fd5b50610912600480360381019080803590602001909291905050506116d3565b005b34801561092057600080fd5b50610955600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061172a565b6040518082815260200191505060405180910390f35b34801561097757600080fd5b50610980611742565b6040518082815260200191505060405180910390f35b3480156109a257600080fd5b506109eb600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919080359060200190929190505050611748565b005b3480156109f957600080fd5b50610a026117eb565b6040518082815260200191505060405180910390f35b348015610a2457600080fd5b50610a2d6117fc565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b348015610a7b57600080fd5b50610a8461180d565b6040518082815260200191505060405180910390f35b348015610aa657600080fd5b50610b416004803603810190808035906020019082018035906020019080806020026020016040519081016040528093929190818152602001838360200280828437820191505050505050919291929080359060200190820180359060200190808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050509192919290505050611813565b005b348015610b4f57600080fd5b50610b84600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611a44565b6040518082815260200191505060405180910390f35b348015610ba657600080fd5b50610baf611a5c565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b348015610bfd57600080fd5b50610c06611a82565b6040518082815260200191505060405180910390f35b348015610c2857600080fd5b50610c31611a93565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b348015610c7f57600080fd5b50610cb4600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611aa4565b604051808215151515815260200191505060405180910390f35b348015610cda57600080fd5b50610d0f600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611ba0565b604051808215151515815260200191505060405180910390f35b348015610d3557600080fd5b50610d6a600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611bc0565b604051808215151515815260200191505060405180910390f35b6000610d91601654611cbc565b1515610d9c57600080fd5b607a73__DoublyLinkedList______________________63bf8a2ac69091846040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808381526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019250505060206040518083038186803b158015610e3e57600080fd5b505af4158015610e52573d6000803e3d6000fd5b505050506040513d6020811015610e6857600080fd5b81019080805190602001909291905050509050919050565b610e8b601654611cbc565b1515610e9657600080fd5b6001608060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600080607473__DoublyLinkedList______________________637ee0a5839091856040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808381526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019250505060206040518083038186803b158015610fbb57600080fd5b505af4158015610fcf573d6000803e3d6000fd5b505050506040513d6020811015610fe557600080fd5b810190808051906020019092919050505014159050919050565b61104160606040519081016040528060165460001916600019168152602001601b54600019166000191681526020016003546000191660001916815250611dc6565b151561104c57600080fd5b8060728190555050565b60015481565b6000611069607483611f3d565b9050919050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16633f83acff836040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808260001916600019168152602001915050602060405180830381600087803b15801561110a57600080fd5b505af115801561111e573d6000803e3d6000fd5b505050506040513d602081101561113457600080fd5b81019080805190602001909291905050509050919050565b6000611159601654611cbc565b151561116457600080fd5b607473__DoublyLinkedList______________________638dc8bc2b9091846040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808381526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019250505060206040518083038186803b15801561120657600080fd5b505af415801561121a573d6000803e3d6000fd5b505050506040513d602081101561123057600080fd5b81019080805190602001909291905050509050919050565b6000611255607a83611f3d565b9050919050565b611267601654611cbc565b151561127257600080fd5b6001608160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b60006112d9607a612023565b905090565b600080607160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549150607060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050915091565b6000611377607a836120d4565b9050919050565b60816020528060005260406000206000915054906101000a900460ff1681565b60006113ab6074836120d4565b9050919050565b60006113be60746121ba565b905090565b600080607a73__DoublyLinkedList______________________637ee0a5839091856040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808381526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019250505060206040518083038186803b15801561146857600080fd5b505af415801561147c573d6000803e3d6000fd5b505050506040513d602081101561149257600080fd5b810190808051906020019092919050505014159050919050565b60008083519150600090505b818110156116cd57607473__DoublyLinkedList______________________63bf8a2ac6909186848151811015156114ec57fe5b906020019060200201516040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808381526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019250505060206040518083038186803b15801561157957600080fd5b505af415801561158d573d6000803e3d6000fd5b505050506040513d60208110156115a357600080fd5b81019080805190602001909291905050505082818151811015156115c357fe5b906020019060200201516071600086848151811015156115df57fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550828181518110151561163557fe5b9060200190602002015160706000868481518110151561165157fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555082818151811015156116a757fe5b9060200190602002015160726000828254019250508190555080806001019150506114b8565b50505050565b61171560606040519081016040528060165460001916600019168152602001601b54600019166000191681526020016003546000191660001916815250611dc6565b151561172057600080fd5b8060738190555050565b60716020528060005260406000206000915090505481565b60725481565b611753601654611cbc565b151561175e57600080fd5b81607160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555080607060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550505050565b60006117f7607461226b565b905090565b6000611808607a6121ba565b905090565b60735481565b60008083519150600090505b81811015611a3457607a73__DoublyLinkedList______________________63bf8a2ac69091868481518110151561185357fe5b906020019060200201516040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808381526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019250505060206040518083038186803b1580156118e057600080fd5b505af41580156118f4573d6000803e3d6000fd5b505050506040513d602081101561190a57600080fd5b810190808051906020019092919050505050828181518110151561192a57fe5b9060200190602002015160716000868481518110151561194657fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550828181518110151561199c57fe5b906020019060200201516070600086848151811015156119b857fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508281815181101515611a0e57fe5b90602001906020020151607360008282540192505081905550808060010191505061181f565b611a3e84846114ac565b50505050565b60706020528060005260406000206000915090505481565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000611a8e607a61226b565b905090565b6000611a9f6074612023565b905090565b6000611ab1601654611cbc565b1515611abc57600080fd5b607473__DoublyLinkedList______________________63bf8a2ac69091846040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808381526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019250505060206040518083038186803b158015611b5e57600080fd5b505af4158015611b72573d6000803e3d6000fd5b505050506040513d6020811015611b8857600080fd5b81019080805190602001909291905050509050919050565b60806020528060005260406000206000915054906101000a900460ff1681565b6000611bcd601654611cbc565b1515611bd857600080fd5b607a73__DoublyLinkedList______________________638dc8bc2b9091846040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808381526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019250505060206040518083038186803b158015611c7a57600080fd5b505af4158015611c8e573d6000803e3d6000fd5b505050506040513d6020811015611ca457600080fd5b81019080805190602001909291905050509050919050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16633f83acff836040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808260001916600019168152602001915050602060405180830381600087803b158015611d5657600080fd5b505af1158015611d6a573d6000803e3d6000fd5b505050506040513d6020811015611d8057600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16149050919050565b600080600060039150600090505b81811015611f36576000600102600019168482600381101515611df357fe5b6020020151600019161415611e0757611f29565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16633f83acff8583600381101515611e5257fe5b60200201516040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808260001916600019168152602001915050602060405180830381600087803b158015611eb157600080fd5b505af1158015611ec5573d6000803e3d6000fd5b505050506040513d6020811015611edb57600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415611f285760019250611f36565b5b8080600101915050611dd4565b5050919050565b60008273__DoublyLinkedList______________________63a7b9777c9091846040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808381526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019250505060206040518083038186803b158015611fe057600080fd5b505af4158015611ff4573d6000803e3d6000fd5b505050506040513d602081101561200a57600080fd5b8101908080519060200190929190505050905092915050565b60008173__DoublyLinkedList______________________63c333848890916040518263ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018082815260200191505060206040518083038186803b15801561209257600080fd5b505af41580156120a6573d6000803e3d6000fd5b505050506040513d60208110156120bc57600080fd5b81019080805190602001909291905050509050919050565b60008273__DoublyLinkedList______________________6387fca8a69091846040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808381526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019250505060206040518083038186803b15801561217757600080fd5b505af415801561218b573d6000803e3d6000fd5b505050506040513d60208110156121a157600080fd5b8101908080519060200190929190505050905092915050565b60008173__DoublyLinkedList______________________63f46574aa90916040518263ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018082815260200191505060206040518083038186803b15801561222957600080fd5b505af415801561223d573d6000803e3d6000fd5b505050506040513d602081101561225357600080fd5b81019080805190602001909291905050509050919050565b60008173__DoublyLinkedList______________________6312e3853d90916040518263ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018082815260200191505060206040518083038186803b1580156122da57600080fd5b505af41580156122ee573d6000803e3d6000fd5b505050506040513d602081101561230457600080fd5b810190808051906020019092919050505090509190505600a165627a7a723058200539ff5b7388a00c16f819764522bc4c6e35be2076a829f28e3e2dd801d24fb70029",
  "deployedBytecode": "0x6080604052600436106101ac576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806303a996a1146101b157806303cc89b41461020c57806304f3bcec1461024f5780630c30a1d5146102a65780631538e68c146103015780633943380c1461032e5780633e0fd265146103615780633f83acff146103e457806344d9bfe61461045557806344e518a3146104b05780635515eb2c14610533578063583fd501146105765780635bdd2743146105cd57806363a640671461062b5780636d080338146106ae5780637bbad0b81461070957806382624a2e1461078c57806388954a6c146107e35780638b650aec1461083e57806391baa144146108e7578063abe8168c14610914578063abed029a1461096b578063ad5c464714610996578063b5830a4c146109ed578063bbb03dc214610a18578063bf448a8714610a6f578063c6e1408314610a9a578063cd094a2714610b43578063db4ecbc114610b9a578063e3bc96ba14610bf1578063e3bd970e14610c1c578063e41b4c5c14610c73578063f01a13e114610cce578063f2388b4214610d29575b600080fd5b3480156101bd57600080fd5b506101f2600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610d84565b604051808215151515815260200191505060405180910390f35b34801561021857600080fd5b5061024d600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610e80565b005b34801561025b57600080fd5b50610264610ef1565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156102b257600080fd5b506102e7600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610f16565b604051808215151515815260200191505060405180910390f35b34801561030d57600080fd5b5061032c60048036038101908080359060200190929190505050610fff565b005b34801561033a57600080fd5b50610343611056565b60405180826000191660001916815260200191505060405180910390f35b34801561036d57600080fd5b506103a2600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061105c565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156103f057600080fd5b506104136004803603810190808035600019169060200190929190505050611070565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561046157600080fd5b50610496600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061114c565b604051808215151515815260200191505060405180910390f35b3480156104bc57600080fd5b506104f1600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611248565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561053f57600080fd5b50610574600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061125c565b005b34801561058257600080fd5b5061058b6112cd565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156105d957600080fd5b5061060e600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506112de565b604051808381526020018281526020019250505060405180910390f35b34801561063757600080fd5b5061066c600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061136a565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156106ba57600080fd5b506106ef600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061137e565b604051808215151515815260200191505060405180910390f35b34801561071557600080fd5b5061074a600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061139e565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561079857600080fd5b506107a16113b2565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156107ef57600080fd5b50610824600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506113c3565b604051808215151515815260200191505060405180910390f35b34801561084a57600080fd5b506108e560048036038101908080359060200190820180359060200190808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050509192919290803590602001908201803590602001908080602002602001604051908101604052809392919081815260200183836020028082843782019150505050505091929192905050506114ac565b005b3480156108f357600080fd5b50610912600480360381019080803590602001909291905050506116d3565b005b34801561092057600080fd5b50610955600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061172a565b6040518082815260200191505060405180910390f35b34801561097757600080fd5b50610980611742565b6040518082815260200191505060405180910390f35b3480156109a257600080fd5b506109eb600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919080359060200190929190505050611748565b005b3480156109f957600080fd5b50610a026117eb565b6040518082815260200191505060405180910390f35b348015610a2457600080fd5b50610a2d6117fc565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b348015610a7b57600080fd5b50610a8461180d565b6040518082815260200191505060405180910390f35b348015610aa657600080fd5b50610b416004803603810190808035906020019082018035906020019080806020026020016040519081016040528093929190818152602001838360200280828437820191505050505050919291929080359060200190820180359060200190808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050509192919290505050611813565b005b348015610b4f57600080fd5b50610b84600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611a44565b6040518082815260200191505060405180910390f35b348015610ba657600080fd5b50610baf611a5c565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b348015610bfd57600080fd5b50610c06611a82565b6040518082815260200191505060405180910390f35b348015610c2857600080fd5b50610c31611a93565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b348015610c7f57600080fd5b50610cb4600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611aa4565b604051808215151515815260200191505060405180910390f35b348015610cda57600080fd5b50610d0f600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611ba0565b604051808215151515815260200191505060405180910390f35b348015610d3557600080fd5b50610d6a600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611bc0565b604051808215151515815260200191505060405180910390f35b6000610d91601654611cbc565b1515610d9c57600080fd5b607a73__DoublyLinkedList______________________63bf8a2ac69091846040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808381526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019250505060206040518083038186803b158015610e3e57600080fd5b505af4158015610e52573d6000803e3d6000fd5b505050506040513d6020811015610e6857600080fd5b81019080805190602001909291905050509050919050565b610e8b601654611cbc565b1515610e9657600080fd5b6001608060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600080607473__DoublyLinkedList______________________637ee0a5839091856040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808381526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019250505060206040518083038186803b158015610fbb57600080fd5b505af4158015610fcf573d6000803e3d6000fd5b505050506040513d6020811015610fe557600080fd5b810190808051906020019092919050505014159050919050565b61104160606040519081016040528060165460001916600019168152602001601b54600019166000191681526020016003546000191660001916815250611dc6565b151561104c57600080fd5b8060728190555050565b60015481565b6000611069607483611f3d565b9050919050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16633f83acff836040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808260001916600019168152602001915050602060405180830381600087803b15801561110a57600080fd5b505af115801561111e573d6000803e3d6000fd5b505050506040513d602081101561113457600080fd5b81019080805190602001909291905050509050919050565b6000611159601654611cbc565b151561116457600080fd5b607473__DoublyLinkedList______________________638dc8bc2b9091846040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808381526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019250505060206040518083038186803b15801561120657600080fd5b505af415801561121a573d6000803e3d6000fd5b505050506040513d602081101561123057600080fd5b81019080805190602001909291905050509050919050565b6000611255607a83611f3d565b9050919050565b611267601654611cbc565b151561127257600080fd5b6001608160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b60006112d9607a612023565b905090565b600080607160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549150607060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050915091565b6000611377607a836120d4565b9050919050565b60816020528060005260406000206000915054906101000a900460ff1681565b60006113ab6074836120d4565b9050919050565b60006113be60746121ba565b905090565b600080607a73__DoublyLinkedList______________________637ee0a5839091856040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808381526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019250505060206040518083038186803b15801561146857600080fd5b505af415801561147c573d6000803e3d6000fd5b505050506040513d602081101561149257600080fd5b810190808051906020019092919050505014159050919050565b60008083519150600090505b818110156116cd57607473__DoublyLinkedList______________________63bf8a2ac6909186848151811015156114ec57fe5b906020019060200201516040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808381526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019250505060206040518083038186803b15801561157957600080fd5b505af415801561158d573d6000803e3d6000fd5b505050506040513d60208110156115a357600080fd5b81019080805190602001909291905050505082818151811015156115c357fe5b906020019060200201516071600086848151811015156115df57fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550828181518110151561163557fe5b9060200190602002015160706000868481518110151561165157fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555082818151811015156116a757fe5b9060200190602002015160726000828254019250508190555080806001019150506114b8565b50505050565b61171560606040519081016040528060165460001916600019168152602001601b54600019166000191681526020016003546000191660001916815250611dc6565b151561172057600080fd5b8060738190555050565b60716020528060005260406000206000915090505481565b60725481565b611753601654611cbc565b151561175e57600080fd5b81607160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555080607060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550505050565b60006117f7607461226b565b905090565b6000611808607a6121ba565b905090565b60735481565b60008083519150600090505b81811015611a3457607a73__DoublyLinkedList______________________63bf8a2ac69091868481518110151561185357fe5b906020019060200201516040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808381526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019250505060206040518083038186803b1580156118e057600080fd5b505af41580156118f4573d6000803e3d6000fd5b505050506040513d602081101561190a57600080fd5b810190808051906020019092919050505050828181518110151561192a57fe5b9060200190602002015160716000868481518110151561194657fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550828181518110151561199c57fe5b906020019060200201516070600086848151811015156119b857fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508281815181101515611a0e57fe5b90602001906020020151607360008282540192505081905550808060010191505061181f565b611a3e84846114ac565b50505050565b60706020528060005260406000206000915090505481565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000611a8e607a61226b565b905090565b6000611a9f6074612023565b905090565b6000611ab1601654611cbc565b1515611abc57600080fd5b607473__DoublyLinkedList______________________63bf8a2ac69091846040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808381526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019250505060206040518083038186803b158015611b5e57600080fd5b505af4158015611b72573d6000803e3d6000fd5b505050506040513d6020811015611b8857600080fd5b81019080805190602001909291905050509050919050565b60806020528060005260406000206000915054906101000a900460ff1681565b6000611bcd601654611cbc565b1515611bd857600080fd5b607a73__DoublyLinkedList______________________638dc8bc2b9091846040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808381526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019250505060206040518083038186803b158015611c7a57600080fd5b505af4158015611c8e573d6000803e3d6000fd5b505050506040513d6020811015611ca457600080fd5b81019080805190602001909291905050509050919050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16633f83acff836040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808260001916600019168152602001915050602060405180830381600087803b158015611d5657600080fd5b505af1158015611d6a573d6000803e3d6000fd5b505050506040513d6020811015611d8057600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16149050919050565b600080600060039150600090505b81811015611f36576000600102600019168482600381101515611df357fe5b6020020151600019161415611e0757611f29565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16633f83acff8583600381101515611e5257fe5b60200201516040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808260001916600019168152602001915050602060405180830381600087803b158015611eb157600080fd5b505af1158015611ec5573d6000803e3d6000fd5b505050506040513d6020811015611edb57600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415611f285760019250611f36565b5b8080600101915050611dd4565b5050919050565b60008273__DoublyLinkedList______________________63a7b9777c9091846040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808381526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019250505060206040518083038186803b158015611fe057600080fd5b505af4158015611ff4573d6000803e3d6000fd5b505050506040513d602081101561200a57600080fd5b8101908080519060200190929190505050905092915050565b60008173__DoublyLinkedList______________________63c333848890916040518263ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018082815260200191505060206040518083038186803b15801561209257600080fd5b505af41580156120a6573d6000803e3d6000fd5b505050506040513d60208110156120bc57600080fd5b81019080805190602001909291905050509050919050565b60008273__DoublyLinkedList______________________6387fca8a69091846040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808381526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019250505060206040518083038186803b15801561217757600080fd5b505af415801561218b573d6000803e3d6000fd5b505050506040513d60208110156121a157600080fd5b8101908080519060200190929190505050905092915050565b60008173__DoublyLinkedList______________________63f46574aa90916040518263ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018082815260200191505060206040518083038186803b15801561222957600080fd5b505af415801561223d573d6000803e3d6000fd5b505050506040513d602081101561225357600080fd5b81019080805190602001909291905050509050919050565b60008173__DoublyLinkedList______________________6312e3853d90916040518263ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018082815260200191505060206040518083038186803b1580156122da57600080fd5b505af41580156122ee573d6000803e3d6000fd5b505050506040513d602081101561230457600080fd5b810190808051906020019092919050505090509190505600a165627a7a723058200539ff5b7388a00c16f819764522bc4c6e35be2076a829f28e3e2dd801d24fb70029",
  "sourceMap": "71:1036:42:-;;;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;;;;;;;;126:67:42;8:9:-1;5:2;;;30:1;27;20:12;5:2;126:67:42;;;;;;;;;;;;;;;;;;;;;;;;;;;;;173:9;1629:43:59;1634:26;;1662:9;1629:4;;;:43;;;:::i;:::-;1621:52;;;;;;;;1573:107;126:67:42;71:1036;;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;71:1036:42:-;;;;;;;",
  "deployedSourceMap": "71:1036:42:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3565:205:59;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3565:205:59;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1686:155;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1686:155:59;;;;;;;;;;;;;;;;;;;;;;;;;;;;237:23:67;;8:9:-1;5:2;;;30:1;27;20:12;5:2;237:23:67;;;;;;;;;;;;;;;;;;;;;;;;;;;3997:158:59;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3997:158:59;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2031:249;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2031:249:59;;;;;;;;;;;;;;;;;;;;;;;;;;264:18:67;;8:9:-1;5:2;;;30:1;27;20:12;5:2;264:18:67;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5567:197:59;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5567:197:59;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2380:179:67;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2380:179:67;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3340:219:59;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3340:219:59;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4650:193;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4650:193:59;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1847:178;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1847:178:59;;;;;;;;;;;;;;;;;;;;;;;;;;;;4322:159;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4322:159:59;;;;;;;;;;;;;;;;;;;;;;;;;;;2837:282;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2837:282:59;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4849:201;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4849:201:59;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1511:55;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1511:55:59;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5770:205;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5770:205:59;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5400:161;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5400:161:59;;;;;;;;;;;;;;;;;;;;;;;;;;;4161:155;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4161:155:59;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;680:425:42;;8:9:-1;5:2;;;30:1;27;20:12;5:2;680:425:42;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2286:263:59;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2286:263:59;;;;;;;;;;;;;;;;;;;;;;;;;;711:51;;8:9:-1;5:2;;;30:1;27;20:12;5:2;711:51:59;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;839:34;;8:9:-1;5:2;;;30:1;27;20:12;5:2;839:34:59;;;;;;;;;;;;;;;;;;;;;;;2555:276;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2555:276:59;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5981:172;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5981:172:59;;;;;;;;;;;;;;;;;;;;;;;4487:157;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4487:157:59;;;;;;;;;;;;;;;;;;;;;;;;;;;923:43;;8:9:-1;5:2;;;30:1;27;20:12;5:2;923:43:59;;;;;;;;;;;;;;;;;;;;;;;199:475:42;;8:9:-1;5:2;;;30:1;27;20:12;5:2;199:475:42;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;506:50:59;;8:9:-1;5:2;;;30:1;27;20:12;5:2;506:50:59;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;344:31:67;;8:9:-1;5:2;;;30:1;27;20:12;5:2;344:31:67;;;;;;;;;;;;;;;;;;;;;;;;;;;5056:169:59;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5056:169:59;;;;;;;;;;;;;;;;;;;;;;;5231:163;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5231:163:59;;;;;;;;;;;;;;;;;;;;;;;;;;;3125:209;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3125:209:59;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1344:46;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1344:46:59;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3776:215;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3776:215:59;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3565:205;3640:13;3677:37;3687:26;;3677:9;:37::i;:::-;3669:46;;;;;;;;3736:13;:20;;;;3757:5;3736:27;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3736:27:59;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;3736:27:59;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;3736:27:59;;;;;;;;;;;;;;;;3725:38;;3565:205;;;:::o;1686:155::-;1759:37;1769:26;;1759:9;:37::i;:::-;1751:46;;;;;;;;1830:4;1807:13;:20;1821:5;1807:20;;;;;;;;;;;;;;;;:27;;;;;;;;;;;;;;;;;;1686:155;:::o;237:23:67:-;;;;;;;;;;;;;:::o;3997:158:59:-;4086:8;4147:1;4116:15;:20;;;;4137:5;4116:27;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4116:27:59;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;4116:27:59;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;4116:27:59;;;;;;;;;;;;;;;;:32;;4110:38;;3997:158;;;:::o;2031:249::-;2133:87;;;;;;;;;;2149:26;;2133:87;;;;;;;;;;2177:28;;2133:87;;;;;;;;;;2207:11;;2133:87;;;;;;;;;:14;:87::i;:::-;2125:96;;;;;;;;2253:20;2231:19;:42;;;;2031:249;:::o;264:18:67:-;;;;:::o;5567:197:59:-;5664:13;5701:56;5726:15;5743:13;5701:24;:56::i;:::-;5693:64;;5567:197;;;:::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;3340:219:59:-;3422:13;3459:37;3469:26;;3459:9;:37::i;:::-;3451:46;;;;;;;;3518:15;:27;;;;3546:5;3518:34;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3518:34:59;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;3518:34:59;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;3518:34:59;;;;;;;;;;;;;;;;3507:45;;3340:219;;;:::o;4650:193::-;4745:13;4782:54;4807:13;4822;4782:24;:54::i;:::-;4774:62;;4650:193;;;:::o;1847:178::-;1934:37;1944:26;;1934:9;:37::i;:::-;1926:46;;;;;;;;2014:4;1982:22;:29;2005:5;1982:29;;;;;;;;;;;;;;;;:36;;;;;;;;;;;;;;;;;;1847:178;:::o;4322:159::-;4397:13;4434:40;4460:13;4434:25;:40::i;:::-;4426:48;;4322:159;:::o;2837:282::-;2936:24;2974:23;3041:15;:22;3057:5;3041:22;;;;;;;;;;;;;;;;3022:41;;3091:14;:21;3106:5;3091:21;;;;;;;;;;;;;;;;3073:39;;2837:282;;;:::o;4849:201::-;4948:13;4985:58;5014:13;5029;4985:28;:58::i;:::-;4977:66;;4849:201;;;:::o;1511:55::-;;;;;;;;;;;;;;;;;;;;;;:::o;5770:205::-;5871:13;5908:60;5937:15;5954:13;5908:28;:60::i;:::-;5900:68;;5770:205;;;:::o;5400:161::-;5476:13;5513:41;5538:15;5513:24;:41::i;:::-;5505:49;;5400:161;:::o;4161:155::-;4249:8;4308:1;4279:13;:18;;;;4298:5;4279:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4279:25:59;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;4279:25:59;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;4279:25:59;;;;;;;;;;;;;;;;:30;;4273:36;;4161:155;;;:::o;680:425:42:-;786:10;834:9;799:13;:20;786:33;;846:1;834:13;;829:270;853:2;849:1;:6;829:270;;;876:15;:22;;;;899:13;913:1;899:16;;;;;;;;;;;;;;;;;;876:40;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;876:40:42;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;876:40:42;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;876:40:42;;;;;;;;;;;;;;;;;966:9;976:1;966:12;;;;;;;;;;;;;;;;;;930:15;:33;946:13;960:1;946:16;;;;;;;;;;;;;;;;;;930:33;;;;;;;;;;;;;;;:48;;;;1027:9;1037:1;1027:12;;;;;;;;;;;;;;;;;;992:14;:32;1007:13;1021:1;1007:16;;;;;;;;;;;;;;;;;;992:32;;;;;;;;;;;;;;;:47;;;;1076:9;1086:1;1076:12;;;;;;;;;;;;;;;;;;1053:19;;:35;;;;;;;;;;;857:3;;;;;;;829:270;;;680:425;;;;:::o;2286:263:59:-;2393:87;;;;;;;;;;2409:26;;2393:87;;;;;;;;;;2437:28;;2393:87;;;;;;;;;;2467:11;;2393:87;;;;;;;;;:14;:87::i;:::-;2385:96;;;;;;;;2522:20;2491:28;:51;;;;2286:263;:::o;711:51::-;;;;;;;;;;;;;;;;;:::o;839:34::-;;;;:::o;2555:276::-;2686:37;2696:26;;2686:9;:37::i;:::-;2678:46;;;;;;;;2759:16;2734:15;:22;2750:5;2734:22;;;;;;;;;;;;;;;:41;;;;2809:15;2785:14;:21;2800:5;2785:21;;;;;;;;;;;;;;;:39;;;;2555:276;;;:::o;5981:172::-;6058:20;6109:37;6130:15;6109:20;:37::i;:::-;6094:52;;5981:172;:::o;4487:157::-;4561:13;4598:39;4623:13;4598:24;:39::i;:::-;4590:47;;4487:157;:::o;923:43::-;;;;:::o;199:475:42:-;301:10;347:9;314:11;:18;301:31;;359:1;347:13;;342:271;366:2;362:1;:6;342:271;;;389:13;:20;;;;410:11;422:1;410:14;;;;;;;;;;;;;;;;;;389:36;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;389:36:42;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;389:36:42;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;389:36:42;;;;;;;;;;;;;;;;;473:9;483:1;473:12;;;;;;;;;;;;;;;;;;439:15;:31;455:11;467:1;455:14;;;;;;;;;;;;;;;;;;439:31;;;;;;;;;;;;;;;:46;;;;532:9;542:1;532:12;;;;;;;;;;;;;;;;;;499:14;:30;514:11;526:1;514:14;;;;;;;;;;;;;;;;;;499:30;;;;;;;;;;;;;;;:45;;;;590:9;600:1;590:12;;;;;;;;;;;;;;;;;;558:28;;:44;;;;;;;;;;;370:3;;;;;;;342:271;;;622:45;644:11;657:9;622:21;:45::i;:::-;199:475;;;;:::o;506:50:59:-;;;;;;;;;;;;;;;;;:::o;344:31:67:-;;;;;;;;;;;;;:::o;5056:169:59:-;5132:20;5183:35;5204:13;5183:20;:35::i;:::-;5168:50;;5056:169;:::o;5231:163::-;5308:13;5345:42;5371:15;5345:25;:42::i;:::-;5337:50;;5231:163;:::o;3125:209::-;3202:13;3239:37;3249:26;;3239:9;:37::i;:::-;3231:46;;;;;;;;3298:15;:22;;;;3321:5;3298:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3298:29:59;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;3298:29:59;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;3298:29:59;;;;;;;;;;;;;;;;3287:40;;3125:209;;;:::o;1344:46::-;;;;;;;;;;;;;;;;;;;;;;:::o;3776:215::-;3856:13;3893:37;3903:26;;3893:9;:37::i;:::-;3885:46;;;;;;;;3952:13;:25;;;;3978:5;3952:32;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3952:32:59;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;3952:32:59;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;3952:32:59;;;;;;;;;;;;;;;;3941:43;;3776:215;;;:::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;881:350::-;951:12;971:10;1012:9;984:17;971:30;;1024:1;1012:13;;1007:220;1031:2;1027:1;:6;1007:220;;;1077:3;1069:12;;1052:29;;;:10;1063:1;1052:13;;;;;;;;;;;;;:29;;;;1048:43;;;1083:8;;1048:43;1134:8;;;;;;;;;;;1117:39;;;1157:10;1168:1;1157:13;;;;;;;;;;;;;1117:54;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1117:54:67;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;1117:54:67;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;1117:54:67;;;;;;;;;;;;;;;;1103:68;;:10;:68;;;1099:122;;;1193:4;1183:14;;1207:5;;1099:122;1007:220;1035:3;;;;;;;1007:220;;;881:350;;;;;:::o;1283:223:75:-;1440:13;1471:5;:15;;;;1487:13;1471:30;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1471:30:75;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;1471:30:75;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;1471:30:75;;;;;;;;;;;;;;;;1463:38;;1283:223;;;;:::o;487:189::-;622:13;653:5;:16;;;;:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;653:18:75;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;653:18:75;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;653:18:75;;;;;;;;;;;;;;;;645:26;;487:189;;;:::o;1775:231::-;1936:13;1967:5;:19;;;;1987:13;1967:34;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1967:34:75;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;1967:34:75;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;1967:34:75;;;;;;;;;;;;;;;;1959:42;;1775:231;;;;:::o;836:186::-;970:13;1001:5;:14;;;;:16;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1001:16:75;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;1001:16:75;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;1001:16:75;;;;;;;;;;;;;;;;993:24;;836:186;;;:::o;2176:181::-;2306:14;2339:5;:11;;;;:13;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2339:13:75;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;2339:13:75;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;2339:13:75;;;;;;;;;;;;;;;;2330:22;;2176:181;;;:::o",
  "source": "pragma solidity ^0.4.25;\n\nimport \"../../storage/DaoStakeStorage.sol\";\n\ncontract MockDaoStakeStorage is DaoStakeStorage {\n\n    constructor(address _resolver) DaoStakeStorage(_resolver) public {}\n\n    function mock_add_moderators(address[] _moderators, uint256[] _dgdStake)\n        public\n    {\n        uint256 _n = _moderators.length;\n        for (uint256 i = 0; i < _n; i++) {\n            allModerators.append(_moderators[i]);\n            actualLockedDGD[_moderators[i]] = _dgdStake[i];\n            lockedDGDStake[_moderators[i]] = _dgdStake[i];\n            totalModeratorLockedDGDStake += _dgdStake[i];\n        }\n        mock_add_participants(_moderators, _dgdStake);\n    }\n\n    function mock_add_participants(address[] _participants, uint256[] _dgdStake)\n        public\n    {\n        uint256 _n = _participants.length;\n        for (uint256 i = 0; i < _n; i++) {\n            allParticipants.append(_participants[i]);\n            actualLockedDGD[_participants[i]] = _dgdStake[i];\n            lockedDGDStake[_participants[i]] = _dgdStake[i];\n            totalLockedDGDStake += _dgdStake[i];\n        }\n    }\n}\n",
  "sourcePath": "/Users/aeufemio/projects/dgx/contracts/dao-contracts/contracts/mock/storage/MockDaoStakeStorage.sol",
  "ast": {
    "absolutePath": "/Users/aeufemio/projects/dgx/contracts/dao-contracts/contracts/mock/storage/MockDaoStakeStorage.sol",
    "exportedSymbols": {
      "MockDaoStakeStorage": [
        10986
      ]
    },
    "id": 10987,
    "nodeType": "SourceUnit",
    "nodes": [
      {
        "id": 10846,
        "literals": [
          "solidity",
          "^",
          "0.4",
          ".25"
        ],
        "nodeType": "PragmaDirective",
        "src": "0:24:42"
      },
      {
        "absolutePath": "/Users/aeufemio/projects/dgx/contracts/dao-contracts/contracts/storage/DaoStakeStorage.sol",
        "file": "../../storage/DaoStakeStorage.sol",
        "id": 10847,
        "nodeType": "ImportDirective",
        "scope": 10987,
        "sourceUnit": 16027,
        "src": "26:43:42",
        "symbolAliases": [],
        "unitAlias": ""
      },
      {
        "baseContracts": [
          {
            "arguments": null,
            "baseName": {
              "contractScope": null,
              "id": 10848,
              "name": "DaoStakeStorage",
              "nodeType": "UserDefinedTypeName",
              "referencedDeclaration": 16026,
              "src": "103:15:42",
              "typeDescriptions": {
                "typeIdentifier": "t_contract$_DaoStakeStorage_$16026",
                "typeString": "contract DaoStakeStorage"
              }
            },
            "id": 10849,
            "nodeType": "InheritanceSpecifier",
            "src": "103:15:42"
          }
        ],
        "contractDependencies": [
          1629,
          16026,
          18628,
          21671
        ],
        "contractKind": "contract",
        "documentation": null,
        "fullyImplemented": true,
        "id": 10986,
        "linearizedBaseContracts": [
          10986,
          16026,
          21671,
          1629,
          18628
        ],
        "name": "MockDaoStakeStorage",
        "nodeType": "ContractDefinition",
        "nodes": [
          {
            "body": {
              "id": 10857,
              "nodeType": "Block",
              "src": "191:2:42",
              "statements": []
            },
            "documentation": null,
            "id": 10858,
            "implemented": true,
            "isConstructor": true,
            "isDeclaredConst": false,
            "modifiers": [
              {
                "arguments": [
                  {
                    "argumentTypes": null,
                    "id": 10854,
                    "name": "_resolver",
                    "nodeType": "Identifier",
                    "overloadedDeclarations": [],
                    "referencedDeclaration": 10851,
                    "src": "173:9:42",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  }
                ],
                "id": 10855,
                "modifierName": {
                  "argumentTypes": null,
                  "id": 10853,
                  "name": "DaoStakeStorage",
                  "nodeType": "Identifier",
                  "overloadedDeclarations": [],
                  "referencedDeclaration": 16026,
                  "src": "157:15:42",
                  "typeDescriptions": {
                    "typeIdentifier": "t_type$_t_contract$_DaoStakeStorage_$16026_$",
                    "typeString": "type(contract DaoStakeStorage)"
                  }
                },
                "nodeType": "ModifierInvocation",
                "src": "157:26:42"
              }
            ],
            "name": "",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 10852,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 10851,
                  "name": "_resolver",
                  "nodeType": "VariableDeclaration",
                  "scope": 10858,
                  "src": "138:17:42",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 10850,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "138:7:42",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "137:19:42"
            },
            "payable": false,
            "returnParameters": {
              "id": 10856,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "191:0:42"
            },
            "scope": 10986,
            "src": "126:67:42",
            "stateMutability": "nonpayable",
            "superFunction": null,
            "visibility": "public"
          },
          {
            "body": {
              "id": 10923,
              "nodeType": "Block",
              "src": "291:383:42",
              "statements": [
                {
                  "assignments": [
                    10868
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 10868,
                      "name": "_n",
                      "nodeType": "VariableDeclaration",
                      "scope": 10924,
                      "src": "301:10:42",
                      "stateVariable": false,
                      "storageLocation": "default",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      },
                      "typeName": {
                        "id": 10867,
                        "name": "uint256",
                        "nodeType": "ElementaryTypeName",
                        "src": "301:7:42",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      "value": null,
                      "visibility": "internal"
                    }
                  ],
                  "id": 10871,
                  "initialValue": {
                    "argumentTypes": null,
                    "expression": {
                      "argumentTypes": null,
                      "id": 10869,
                      "name": "_moderators",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 10861,
                      "src": "314:11:42",
                      "typeDescriptions": {
                        "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr",
                        "typeString": "address[] memory"
                      }
                    },
                    "id": 10870,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "memberName": "length",
                    "nodeType": "MemberAccess",
                    "referencedDeclaration": null,
                    "src": "314:18:42",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "301:31:42"
                },
                {
                  "body": {
                    "id": 10916,
                    "nodeType": "Block",
                    "src": "375:238:42",
                    "statements": [
                      {
                        "expression": {
                          "argumentTypes": null,
                          "arguments": [
                            {
                              "argumentTypes": null,
                              "baseExpression": {
                                "argumentTypes": null,
                                "id": 10885,
                                "name": "_moderators",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 10861,
                                "src": "410:11:42",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr",
                                  "typeString": "address[] memory"
                                }
                              },
                              "id": 10887,
                              "indexExpression": {
                                "argumentTypes": null,
                                "id": 10886,
                                "name": "i",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 10873,
                                "src": "422:1:42",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              },
                              "isConstant": false,
                              "isLValue": true,
                              "isPure": false,
                              "lValueRequested": false,
                              "nodeType": "IndexAccess",
                              "src": "410:14:42",
                              "typeDescriptions": {
                                "typeIdentifier": "t_address",
                                "typeString": "address"
                              }
                            }
                          ],
                          "expression": {
                            "argumentTypes": [
                              {
                                "typeIdentifier": "t_address",
                                "typeString": "address"
                              }
                            ],
                            "expression": {
                              "argumentTypes": null,
                              "id": 10882,
                              "name": "allModerators",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 15630,
                              "src": "389:13:42",
                              "typeDescriptions": {
                                "typeIdentifier": "t_struct$_Address_$22602_storage",
                                "typeString": "struct DoublyLinkedList.Address storage ref"
                              }
                            },
                            "id": 10884,
                            "isConstant": false,
                            "isLValue": true,
                            "isPure": false,
                            "lValueRequested": false,
                            "memberName": "append",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": 23985,
                            "src": "389:20:42",
                            "typeDescriptions": {
                              "typeIdentifier": "t_function_delegatecall_nonpayable$_t_struct$_Address_$22602_storage_ptr_$_t_address_$returns$_t_bool_$bound_to$_t_struct$_Address_$22602_storage_ptr_$",
                              "typeString": "function (struct DoublyLinkedList.Address storage pointer,address) returns (bool)"
                            }
                          },
                          "id": 10888,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "functionCall",
                          "lValueRequested": false,
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "389:36:42",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bool",
                            "typeString": "bool"
                          }
                        },
                        "id": 10889,
                        "nodeType": "ExpressionStatement",
                        "src": "389:36:42"
                      },
                      {
                        "expression": {
                          "argumentTypes": null,
                          "id": 10898,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "leftHandSide": {
                            "argumentTypes": null,
                            "baseExpression": {
                              "argumentTypes": null,
                              "id": 10890,
                              "name": "actualLockedDGD",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 15622,
                              "src": "439:15:42",
                              "typeDescriptions": {
                                "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$",
                                "typeString": "mapping(address => uint256)"
                              }
                            },
                            "id": 10894,
                            "indexExpression": {
                              "argumentTypes": null,
                              "baseExpression": {
                                "argumentTypes": null,
                                "id": 10891,
                                "name": "_moderators",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 10861,
                                "src": "455:11:42",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr",
                                  "typeString": "address[] memory"
                                }
                              },
                              "id": 10893,
                              "indexExpression": {
                                "argumentTypes": null,
                                "id": 10892,
                                "name": "i",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 10873,
                                "src": "467:1:42",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              },
                              "isConstant": false,
                              "isLValue": true,
                              "isPure": false,
                              "lValueRequested": false,
                              "nodeType": "IndexAccess",
                              "src": "455:14:42",
                              "typeDescriptions": {
                                "typeIdentifier": "t_address",
                                "typeString": "address"
                              }
                            },
                            "isConstant": false,
                            "isLValue": true,
                            "isPure": false,
                            "lValueRequested": true,
                            "nodeType": "IndexAccess",
                            "src": "439:31:42",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          },
                          "nodeType": "Assignment",
                          "operator": "=",
                          "rightHandSide": {
                            "argumentTypes": null,
                            "baseExpression": {
                              "argumentTypes": null,
                              "id": 10895,
                              "name": "_dgdStake",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 10864,
                              "src": "473:9:42",
                              "typeDescriptions": {
                                "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr",
                                "typeString": "uint256[] memory"
                              }
                            },
                            "id": 10897,
                            "indexExpression": {
                              "argumentTypes": null,
                              "id": 10896,
                              "name": "i",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 10873,
                              "src": "483:1:42",
                              "typeDescriptions": {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              }
                            },
                            "isConstant": false,
                            "isLValue": true,
                            "isPure": false,
                            "lValueRequested": false,
                            "nodeType": "IndexAccess",
                            "src": "473:12:42",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          },
                          "src": "439:46:42",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "id": 10899,
                        "nodeType": "ExpressionStatement",
                        "src": "439:46:42"
                      },
                      {
                        "expression": {
                          "argumentTypes": null,
                          "id": 10908,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "leftHandSide": {
                            "argumentTypes": null,
                            "baseExpression": {
                              "argumentTypes": null,
                              "id": 10900,
                              "name": "lockedDGDStake",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 15618,
                              "src": "499:14:42",
                              "typeDescriptions": {
                                "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$",
                                "typeString": "mapping(address => uint256)"
                              }
                            },
                            "id": 10904,
                            "indexExpression": {
                              "argumentTypes": null,
                              "baseExpression": {
                                "argumentTypes": null,
                                "id": 10901,
                                "name": "_moderators",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 10861,
                                "src": "514:11:42",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr",
                                  "typeString": "address[] memory"
                                }
                              },
                              "id": 10903,
                              "indexExpression": {
                                "argumentTypes": null,
                                "id": 10902,
                                "name": "i",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 10873,
                                "src": "526:1:42",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              },
                              "isConstant": false,
                              "isLValue": true,
                              "isPure": false,
                              "lValueRequested": false,
                              "nodeType": "IndexAccess",
                              "src": "514:14:42",
                              "typeDescriptions": {
                                "typeIdentifier": "t_address",
                                "typeString": "address"
                              }
                            },
                            "isConstant": false,
                            "isLValue": true,
                            "isPure": false,
                            "lValueRequested": true,
                            "nodeType": "IndexAccess",
                            "src": "499:30:42",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          },
                          "nodeType": "Assignment",
                          "operator": "=",
                          "rightHandSide": {
                            "argumentTypes": null,
                            "baseExpression": {
                              "argumentTypes": null,
                              "id": 10905,
                              "name": "_dgdStake",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 10864,
                              "src": "532:9:42",
                              "typeDescriptions": {
                                "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr",
                                "typeString": "uint256[] memory"
                              }
                            },
                            "id": 10907,
                            "indexExpression": {
                              "argumentTypes": null,
                              "id": 10906,
                              "name": "i",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 10873,
                              "src": "542:1:42",
                              "typeDescriptions": {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              }
                            },
                            "isConstant": false,
                            "isLValue": true,
                            "isPure": false,
                            "lValueRequested": false,
                            "nodeType": "IndexAccess",
                            "src": "532:12:42",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          },
                          "src": "499:45:42",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "id": 10909,
                        "nodeType": "ExpressionStatement",
                        "src": "499:45:42"
                      },
                      {
                        "expression": {
                          "argumentTypes": null,
                          "id": 10914,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "leftHandSide": {
                            "argumentTypes": null,
                            "id": 10910,
                            "name": "totalModeratorLockedDGDStake",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 15626,
                            "src": "558:28:42",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          },
                          "nodeType": "Assignment",
                          "operator": "+=",
                          "rightHandSide": {
                            "argumentTypes": null,
                            "baseExpression": {
                              "argumentTypes": null,
                              "id": 10911,
                              "name": "_dgdStake",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 10864,
                              "src": "590:9:42",
                              "typeDescriptions": {
                                "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr",
                                "typeString": "uint256[] memory"
                              }
                            },
                            "id": 10913,
                            "indexExpression": {
                              "argumentTypes": null,
                              "id": 10912,
                              "name": "i",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 10873,
                              "src": "600:1:42",
                              "typeDescriptions": {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              }
                            },
                            "isConstant": false,
                            "isLValue": true,
                            "isPure": false,
                            "lValueRequested": false,
                            "nodeType": "IndexAccess",
                            "src": "590:12:42",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          },
                          "src": "558:44:42",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "id": 10915,
                        "nodeType": "ExpressionStatement",
                        "src": "558:44:42"
                      }
                    ]
                  },
                  "condition": {
                    "argumentTypes": null,
                    "commonType": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    },
                    "id": 10878,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftExpression": {
                      "argumentTypes": null,
                      "id": 10876,
                      "name": "i",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 10873,
                      "src": "362:1:42",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "BinaryOperation",
                    "operator": "<",
                    "rightExpression": {
                      "argumentTypes": null,
                      "id": 10877,
                      "name": "_n",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 10868,
                      "src": "366:2:42",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "src": "362:6:42",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "id": 10917,
                  "initializationExpression": {
                    "assignments": [
                      10873
                    ],
                    "declarations": [
                      {
                        "constant": false,
                        "id": 10873,
                        "name": "i",
                        "nodeType": "VariableDeclaration",
                        "scope": 10924,
                        "src": "347:9:42",
                        "stateVariable": false,
                        "storageLocation": "default",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        },
                        "typeName": {
                          "id": 10872,
                          "name": "uint256",
                          "nodeType": "ElementaryTypeName",
                          "src": "347:7:42",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "value": null,
                        "visibility": "internal"
                      }
                    ],
                    "id": 10875,
                    "initialValue": {
                      "argumentTypes": null,
                      "hexValue": "30",
                      "id": 10874,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": true,
                      "kind": "number",
                      "lValueRequested": false,
                      "nodeType": "Literal",
                      "src": "359:1:42",
                      "subdenomination": null,
                      "typeDescriptions": {
                        "typeIdentifier": "t_rational_0_by_1",
                        "typeString": "int_const 0"
                      },
                      "value": "0"
                    },
                    "nodeType": "VariableDeclarationStatement",
                    "src": "347:13:42"
                  },
                  "loopExpression": {
                    "expression": {
                      "argumentTypes": null,
                      "id": 10880,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "nodeType": "UnaryOperation",
                      "operator": "++",
                      "prefix": false,
                      "src": "370:3:42",
                      "subExpression": {
                        "argumentTypes": null,
                        "id": 10879,
                        "name": "i",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 10873,
                        "src": "370:1:42",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "id": 10881,
                    "nodeType": "ExpressionStatement",
                    "src": "370:3:42"
                  },
                  "nodeType": "ForStatement",
                  "src": "342:271:42"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "id": 10919,
                        "name": "_moderators",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 10861,
                        "src": "644:11:42",
                        "typeDescriptions": {
                          "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr",
                          "typeString": "address[] memory"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "id": 10920,
                        "name": "_dgdStake",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 10864,
                        "src": "657:9:42",
                        "typeDescriptions": {
                          "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr",
                          "typeString": "uint256[] memory"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr",
                          "typeString": "address[] memory"
                        },
                        {
                          "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr",
                          "typeString": "uint256[] memory"
                        }
                      ],
                      "id": 10918,
                      "name": "mock_add_participants",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 10985,
                      "src": "622:21:42",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_internal_nonpayable$_t_array$_t_address_$dyn_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$returns$__$",
                        "typeString": "function (address[] memory,uint256[] memory)"
                      }
                    },
                    "id": 10921,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "622:45:42",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 10922,
                  "nodeType": "ExpressionStatement",
                  "src": "622:45:42"
                }
              ]
            },
            "documentation": null,
            "id": 10924,
            "implemented": true,
            "isConstructor": false,
            "isDeclaredConst": false,
            "modifiers": [],
            "name": "mock_add_moderators",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 10865,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 10861,
                  "name": "_moderators",
                  "nodeType": "VariableDeclaration",
                  "scope": 10924,
                  "src": "228:21:42",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr",
                    "typeString": "address[]"
                  },
                  "typeName": {
                    "baseType": {
                      "id": 10859,
                      "name": "address",
                      "nodeType": "ElementaryTypeName",
                      "src": "228:7:42",
                      "typeDescriptions": {
                        "typeIdentifier": "t_address",
                        "typeString": "address"
                      }
                    },
                    "id": 10860,
                    "length": null,
                    "nodeType": "ArrayTypeName",
                    "src": "228:9:42",
                    "typeDescriptions": {
                      "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr",
                      "typeString": "address[]"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 10864,
                  "name": "_dgdStake",
                  "nodeType": "VariableDeclaration",
                  "scope": 10924,
                  "src": "251:19:42",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr",
                    "typeString": "uint256[]"
                  },
                  "typeName": {
                    "baseType": {
                      "id": 10862,
                      "name": "uint256",
                      "nodeType": "ElementaryTypeName",
                      "src": "251:7:42",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "id": 10863,
                    "length": null,
                    "nodeType": "ArrayTypeName",
                    "src": "251:9:42",
                    "typeDescriptions": {
                      "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr",
                      "typeString": "uint256[]"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "227:44:42"
            },
            "payable": false,
            "returnParameters": {
              "id": 10866,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "291:0:42"
            },
            "scope": 10986,
            "src": "199:475:42",
            "stateMutability": "nonpayable",
            "superFunction": null,
            "visibility": "public"
          },
          {
            "body": {
              "id": 10984,
              "nodeType": "Block",
              "src": "776:329:42",
              "statements": [
                {
                  "assignments": [
                    10934
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 10934,
                      "name": "_n",
                      "nodeType": "VariableDeclaration",
                      "scope": 10985,
                      "src": "786:10:42",
                      "stateVariable": false,
                      "storageLocation": "default",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      },
                      "typeName": {
                        "id": 10933,
                        "name": "uint256",
                        "nodeType": "ElementaryTypeName",
                        "src": "786:7:42",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      "value": null,
                      "visibility": "internal"
                    }
                  ],
                  "id": 10937,
                  "initialValue": {
                    "argumentTypes": null,
                    "expression": {
                      "argumentTypes": null,
                      "id": 10935,
                      "name": "_participants",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 10927,
                      "src": "799:13:42",
                      "typeDescriptions": {
                        "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr",
                        "typeString": "address[] memory"
                      }
                    },
                    "id": 10936,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "memberName": "length",
                    "nodeType": "MemberAccess",
                    "referencedDeclaration": null,
                    "src": "799:20:42",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "786:33:42"
                },
                {
                  "body": {
                    "id": 10982,
                    "nodeType": "Block",
                    "src": "862:237:42",
                    "statements": [
                      {
                        "expression": {
                          "argumentTypes": null,
                          "arguments": [
                            {
                              "argumentTypes": null,
                              "baseExpression": {
                                "argumentTypes": null,
                                "id": 10951,
                                "name": "_participants",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 10927,
                                "src": "899:13:42",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr",
                                  "typeString": "address[] memory"
                                }
                              },
                              "id": 10953,
                              "indexExpression": {
                                "argumentTypes": null,
                                "id": 10952,
                                "name": "i",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 10939,
                                "src": "913:1:42",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              },
                              "isConstant": false,
                              "isLValue": true,
                              "isPure": false,
                              "lValueRequested": false,
                              "nodeType": "IndexAccess",
                              "src": "899:16:42",
                              "typeDescriptions": {
                                "typeIdentifier": "t_address",
                                "typeString": "address"
                              }
                            }
                          ],
                          "expression": {
                            "argumentTypes": [
                              {
                                "typeIdentifier": "t_address",
                                "typeString": "address"
                              }
                            ],
                            "expression": {
                              "argumentTypes": null,
                              "id": 10948,
                              "name": "allParticipants",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 15628,
                              "src": "876:15:42",
                              "typeDescriptions": {
                                "typeIdentifier": "t_struct$_Address_$22602_storage",
                                "typeString": "struct DoublyLinkedList.Address storage ref"
                              }
                            },
                            "id": 10950,
                            "isConstant": false,
                            "isLValue": true,
                            "isPure": false,
                            "lValueRequested": false,
                            "memberName": "append",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": 23985,
                            "src": "876:22:42",
                            "typeDescriptions": {
                              "typeIdentifier": "t_function_delegatecall_nonpayable$_t_struct$_Address_$22602_storage_ptr_$_t_address_$returns$_t_bool_$bound_to$_t_struct$_Address_$22602_storage_ptr_$",
                              "typeString": "function (struct DoublyLinkedList.Address storage pointer,address) returns (bool)"
                            }
                          },
                          "id": 10954,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "functionCall",
                          "lValueRequested": false,
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "876:40:42",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bool",
                            "typeString": "bool"
                          }
                        },
                        "id": 10955,
                        "nodeType": "ExpressionStatement",
                        "src": "876:40:42"
                      },
                      {
                        "expression": {
                          "argumentTypes": null,
                          "id": 10964,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "leftHandSide": {
                            "argumentTypes": null,
                            "baseExpression": {
                              "argumentTypes": null,
                              "id": 10956,
                              "name": "actualLockedDGD",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 15622,
                              "src": "930:15:42",
                              "typeDescriptions": {
                                "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$",
                                "typeString": "mapping(address => uint256)"
                              }
                            },
                            "id": 10960,
                            "indexExpression": {
                              "argumentTypes": null,
                              "baseExpression": {
                                "argumentTypes": null,
                                "id": 10957,
                                "name": "_participants",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 10927,
                                "src": "946:13:42",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr",
                                  "typeString": "address[] memory"
                                }
                              },
                              "id": 10959,
                              "indexExpression": {
                                "argumentTypes": null,
                                "id": 10958,
                                "name": "i",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 10939,
                                "src": "960:1:42",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              },
                              "isConstant": false,
                              "isLValue": true,
                              "isPure": false,
                              "lValueRequested": false,
                              "nodeType": "IndexAccess",
                              "src": "946:16:42",
                              "typeDescriptions": {
                                "typeIdentifier": "t_address",
                                "typeString": "address"
                              }
                            },
                            "isConstant": false,
                            "isLValue": true,
                            "isPure": false,
                            "lValueRequested": true,
                            "nodeType": "IndexAccess",
                            "src": "930:33:42",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          },
                          "nodeType": "Assignment",
                          "operator": "=",
                          "rightHandSide": {
                            "argumentTypes": null,
                            "baseExpression": {
                              "argumentTypes": null,
                              "id": 10961,
                              "name": "_dgdStake",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 10930,
                              "src": "966:9:42",
                              "typeDescriptions": {
                                "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr",
                                "typeString": "uint256[] memory"
                              }
                            },
                            "id": 10963,
                            "indexExpression": {
                              "argumentTypes": null,
                              "id": 10962,
                              "name": "i",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 10939,
                              "src": "976:1:42",
                              "typeDescriptions": {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              }
                            },
                            "isConstant": false,
                            "isLValue": true,
                            "isPure": false,
                            "lValueRequested": false,
                            "nodeType": "IndexAccess",
                            "src": "966:12:42",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          },
                          "src": "930:48:42",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "id": 10965,
                        "nodeType": "ExpressionStatement",
                        "src": "930:48:42"
                      },
                      {
                        "expression": {
                          "argumentTypes": null,
                          "id": 10974,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "leftHandSide": {
                            "argumentTypes": null,
                            "baseExpression": {
                              "argumentTypes": null,
                              "id": 10966,
                              "name": "lockedDGDStake",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 15618,
                              "src": "992:14:42",
                              "typeDescriptions": {
                                "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$",
                                "typeString": "mapping(address => uint256)"
                              }
                            },
                            "id": 10970,
                            "indexExpression": {
                              "argumentTypes": null,
                              "baseExpression": {
                                "argumentTypes": null,
                                "id": 10967,
                                "name": "_participants",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 10927,
                                "src": "1007:13:42",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr",
                                  "typeString": "address[] memory"
                                }
                              },
                              "id": 10969,
                              "indexExpression": {
                                "argumentTypes": null,
                                "id": 10968,
                                "name": "i",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 10939,
                                "src": "1021:1:42",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              },
                              "isConstant": false,
                              "isLValue": true,
                              "isPure": false,
                              "lValueRequested": false,
                              "nodeType": "IndexAccess",
                              "src": "1007:16:42",
                              "typeDescriptions": {
                                "typeIdentifier": "t_address",
                                "typeString": "address"
                              }
                            },
                            "isConstant": false,
                            "isLValue": true,
                            "isPure": false,
                            "lValueRequested": true,
                            "nodeType": "IndexAccess",
                            "src": "992:32:42",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          },
                          "nodeType": "Assignment",
                          "operator": "=",
                          "rightHandSide": {
                            "argumentTypes": null,
                            "baseExpression": {
                              "argumentTypes": null,
                              "id": 10971,
                              "name": "_dgdStake",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 10930,
                              "src": "1027:9:42",
                              "typeDescriptions": {
                                "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr",
                                "typeString": "uint256[] memory"
                              }
                            },
                            "id": 10973,
                            "indexExpression": {
                              "argumentTypes": null,
                              "id": 10972,
                              "name": "i",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 10939,
                              "src": "1037:1:42",
                              "typeDescriptions": {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              }
                            },
                            "isConstant": false,
                            "isLValue": true,
                            "isPure": false,
                            "lValueRequested": false,
                            "nodeType": "IndexAccess",
                            "src": "1027:12:42",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          },
                          "src": "992:47:42",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "id": 10975,
                        "nodeType": "ExpressionStatement",
                        "src": "992:47:42"
                      },
                      {
                        "expression": {
                          "argumentTypes": null,
                          "id": 10980,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "leftHandSide": {
                            "argumentTypes": null,
                            "id": 10976,
                            "name": "totalLockedDGDStake",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 15624,
                            "src": "1053:19:42",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          },
                          "nodeType": "Assignment",
                          "operator": "+=",
                          "rightHandSide": {
                            "argumentTypes": null,
                            "baseExpression": {
                              "argumentTypes": null,
                              "id": 10977,
                              "name": "_dgdStake",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 10930,
                              "src": "1076:9:42",
                              "typeDescriptions": {
                                "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr",
                                "typeString": "uint256[] memory"
                              }
                            },
                            "id": 10979,
                            "indexExpression": {
                              "argumentTypes": null,
                              "id": 10978,
                              "name": "i",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 10939,
                              "src": "1086:1:42",
                              "typeDescriptions": {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              }
                            },
                            "isConstant": false,
                            "isLValue": true,
                            "isPure": false,
                            "lValueRequested": false,
                            "nodeType": "IndexAccess",
                            "src": "1076:12:42",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          },
                          "src": "1053:35:42",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "id": 10981,
                        "nodeType": "ExpressionStatement",
                        "src": "1053:35:42"
                      }
                    ]
                  },
                  "condition": {
                    "argumentTypes": null,
                    "commonType": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    },
                    "id": 10944,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftExpression": {
                      "argumentTypes": null,
                      "id": 10942,
                      "name": "i",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 10939,
                      "src": "849:1:42",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "BinaryOperation",
                    "operator": "<",
                    "rightExpression": {
                      "argumentTypes": null,
                      "id": 10943,
                      "name": "_n",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 10934,
                      "src": "853:2:42",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "src": "849:6:42",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "id": 10983,
                  "initializationExpression": {
                    "assignments": [
                      10939
                    ],
                    "declarations": [
                      {
                        "constant": false,
                        "id": 10939,
                        "name": "i",
                        "nodeType": "VariableDeclaration",
                        "scope": 10985,
                        "src": "834:9:42",
                        "stateVariable": false,
                        "storageLocation": "default",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        },
                        "typeName": {
                          "id": 10938,
                          "name": "uint256",
                          "nodeType": "ElementaryTypeName",
                          "src": "834:7:42",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "value": null,
                        "visibility": "internal"
                      }
                    ],
                    "id": 10941,
                    "initialValue": {
                      "argumentTypes": null,
                      "hexValue": "30",
                      "id": 10940,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": true,
                      "kind": "number",
                      "lValueRequested": false,
                      "nodeType": "Literal",
                      "src": "846:1:42",
                      "subdenomination": null,
                      "typeDescriptions": {
                        "typeIdentifier": "t_rational_0_by_1",
                        "typeString": "int_const 0"
                      },
                      "value": "0"
                    },
                    "nodeType": "VariableDeclarationStatement",
                    "src": "834:13:42"
                  },
                  "loopExpression": {
                    "expression": {
                      "argumentTypes": null,
                      "id": 10946,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "nodeType": "UnaryOperation",
                      "operator": "++",
                      "prefix": false,
                      "src": "857:3:42",
                      "subExpression": {
                        "argumentTypes": null,
                        "id": 10945,
                        "name": "i",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 10939,
                        "src": "857:1:42",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "id": 10947,
                    "nodeType": "ExpressionStatement",
                    "src": "857:3:42"
                  },
                  "nodeType": "ForStatement",
                  "src": "829:270:42"
                }
              ]
            },
            "documentation": null,
            "id": 10985,
            "implemented": true,
            "isConstructor": false,
            "isDeclaredConst": false,
            "modifiers": [],
            "name": "mock_add_participants",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 10931,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 10927,
                  "name": "_participants",
                  "nodeType": "VariableDeclaration",
                  "scope": 10985,
                  "src": "711:23:42",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr",
                    "typeString": "address[]"
                  },
                  "typeName": {
                    "baseType": {
                      "id": 10925,
                      "name": "address",
                      "nodeType": "ElementaryTypeName",
                      "src": "711:7:42",
                      "typeDescriptions": {
                        "typeIdentifier": "t_address",
                        "typeString": "address"
                      }
                    },
                    "id": 10926,
                    "length": null,
                    "nodeType": "ArrayTypeName",
                    "src": "711:9:42",
                    "typeDescriptions": {
                      "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr",
                      "typeString": "address[]"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 10930,
                  "name": "_dgdStake",
                  "nodeType": "VariableDeclaration",
                  "scope": 10985,
                  "src": "736:19:42",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr",
                    "typeString": "uint256[]"
                  },
                  "typeName": {
                    "baseType": {
                      "id": 10928,
                      "name": "uint256",
                      "nodeType": "ElementaryTypeName",
                      "src": "736:7:42",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "id": 10929,
                    "length": null,
                    "nodeType": "ArrayTypeName",
                    "src": "736:9:42",
                    "typeDescriptions": {
                      "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr",
                      "typeString": "uint256[]"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "710:46:42"
            },
            "payable": false,
            "returnParameters": {
              "id": 10932,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "776:0:42"
            },
            "scope": 10986,
            "src": "680:425:42",
            "stateMutability": "nonpayable",
            "superFunction": null,
            "visibility": "public"
          }
        ],
        "scope": 10987,
        "src": "71:1036:42"
      }
    ],
    "src": "0:1108:42"
  },
  "legacyAST": {
    "absolutePath": "/Users/aeufemio/projects/dgx/contracts/dao-contracts/contracts/mock/storage/MockDaoStakeStorage.sol",
    "exportedSymbols": {
      "MockDaoStakeStorage": [
        10986
      ]
    },
    "id": 10987,
    "nodeType": "SourceUnit",
    "nodes": [
      {
        "id": 10846,
        "literals": [
          "solidity",
          "^",
          "0.4",
          ".25"
        ],
        "nodeType": "PragmaDirective",
        "src": "0:24:42"
      },
      {
        "absolutePath": "/Users/aeufemio/projects/dgx/contracts/dao-contracts/contracts/storage/DaoStakeStorage.sol",
        "file": "../../storage/DaoStakeStorage.sol",
        "id": 10847,
        "nodeType": "ImportDirective",
        "scope": 10987,
        "sourceUnit": 16027,
        "src": "26:43:42",
        "symbolAliases": [],
        "unitAlias": ""
      },
      {
        "baseContracts": [
          {
            "arguments": null,
            "baseName": {
              "contractScope": null,
              "id": 10848,
              "name": "DaoStakeStorage",
              "nodeType": "UserDefinedTypeName",
              "referencedDeclaration": 16026,
              "src": "103:15:42",
              "typeDescriptions": {
                "typeIdentifier": "t_contract$_DaoStakeStorage_$16026",
                "typeString": "contract DaoStakeStorage"
              }
            },
            "id": 10849,
            "nodeType": "InheritanceSpecifier",
            "src": "103:15:42"
          }
        ],
        "contractDependencies": [
          1629,
          16026,
          18628,
          21671
        ],
        "contractKind": "contract",
        "documentation": null,
        "fullyImplemented": true,
        "id": 10986,
        "linearizedBaseContracts": [
          10986,
          16026,
          21671,
          1629,
          18628
        ],
        "name": "MockDaoStakeStorage",
        "nodeType": "ContractDefinition",
        "nodes": [
          {
            "body": {
              "id": 10857,
              "nodeType": "Block",
              "src": "191:2:42",
              "statements": []
            },
            "documentation": null,
            "id": 10858,
            "implemented": true,
            "isConstructor": true,
            "isDeclaredConst": false,
            "modifiers": [
              {
                "arguments": [
                  {
                    "argumentTypes": null,
                    "id": 10854,
                    "name": "_resolver",
                    "nodeType": "Identifier",
                    "overloadedDeclarations": [],
                    "referencedDeclaration": 10851,
                    "src": "173:9:42",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  }
                ],
                "id": 10855,
                "modifierName": {
                  "argumentTypes": null,
                  "id": 10853,
                  "name": "DaoStakeStorage",
                  "nodeType": "Identifier",
                  "overloadedDeclarations": [],
                  "referencedDeclaration": 16026,
                  "src": "157:15:42",
                  "typeDescriptions": {
                    "typeIdentifier": "t_type$_t_contract$_DaoStakeStorage_$16026_$",
                    "typeString": "type(contract DaoStakeStorage)"
                  }
                },
                "nodeType": "ModifierInvocation",
                "src": "157:26:42"
              }
            ],
            "name": "",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 10852,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 10851,
                  "name": "_resolver",
                  "nodeType": "VariableDeclaration",
                  "scope": 10858,
                  "src": "138:17:42",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 10850,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "138:7:42",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "137:19:42"
            },
            "payable": false,
            "returnParameters": {
              "id": 10856,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "191:0:42"
            },
            "scope": 10986,
            "src": "126:67:42",
            "stateMutability": "nonpayable",
            "superFunction": null,
            "visibility": "public"
          },
          {
            "body": {
              "id": 10923,
              "nodeType": "Block",
              "src": "291:383:42",
              "statements": [
                {
                  "assignments": [
                    10868
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 10868,
                      "name": "_n",
                      "nodeType": "VariableDeclaration",
                      "scope": 10924,
                      "src": "301:10:42",
                      "stateVariable": false,
                      "storageLocation": "default",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      },
                      "typeName": {
                        "id": 10867,
                        "name": "uint256",
                        "nodeType": "ElementaryTypeName",
                        "src": "301:7:42",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      "value": null,
                      "visibility": "internal"
                    }
                  ],
                  "id": 10871,
                  "initialValue": {
                    "argumentTypes": null,
                    "expression": {
                      "argumentTypes": null,
                      "id": 10869,
                      "name": "_moderators",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 10861,
                      "src": "314:11:42",
                      "typeDescriptions": {
                        "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr",
                        "typeString": "address[] memory"
                      }
                    },
                    "id": 10870,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "memberName": "length",
                    "nodeType": "MemberAccess",
                    "referencedDeclaration": null,
                    "src": "314:18:42",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "301:31:42"
                },
                {
                  "body": {
                    "id": 10916,
                    "nodeType": "Block",
                    "src": "375:238:42",
                    "statements": [
                      {
                        "expression": {
                          "argumentTypes": null,
                          "arguments": [
                            {
                              "argumentTypes": null,
                              "baseExpression": {
                                "argumentTypes": null,
                                "id": 10885,
                                "name": "_moderators",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 10861,
                                "src": "410:11:42",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr",
                                  "typeString": "address[] memory"
                                }
                              },
                              "id": 10887,
                              "indexExpression": {
                                "argumentTypes": null,
                                "id": 10886,
                                "name": "i",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 10873,
                                "src": "422:1:42",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              },
                              "isConstant": false,
                              "isLValue": true,
                              "isPure": false,
                              "lValueRequested": false,
                              "nodeType": "IndexAccess",
                              "src": "410:14:42",
                              "typeDescriptions": {
                                "typeIdentifier": "t_address",
                                "typeString": "address"
                              }
                            }
                          ],
                          "expression": {
                            "argumentTypes": [
                              {
                                "typeIdentifier": "t_address",
                                "typeString": "address"
                              }
                            ],
                            "expression": {
                              "argumentTypes": null,
                              "id": 10882,
                              "name": "allModerators",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 15630,
                              "src": "389:13:42",
                              "typeDescriptions": {
                                "typeIdentifier": "t_struct$_Address_$22602_storage",
                                "typeString": "struct DoublyLinkedList.Address storage ref"
                              }
                            },
                            "id": 10884,
                            "isConstant": false,
                            "isLValue": true,
                            "isPure": false,
                            "lValueRequested": false,
                            "memberName": "append",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": 23985,
                            "src": "389:20:42",
                            "typeDescriptions": {
                              "typeIdentifier": "t_function_delegatecall_nonpayable$_t_struct$_Address_$22602_storage_ptr_$_t_address_$returns$_t_bool_$bound_to$_t_struct$_Address_$22602_storage_ptr_$",
                              "typeString": "function (struct DoublyLinkedList.Address storage pointer,address) returns (bool)"
                            }
                          },
                          "id": 10888,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "functionCall",
                          "lValueRequested": false,
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "389:36:42",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bool",
                            "typeString": "bool"
                          }
                        },
                        "id": 10889,
                        "nodeType": "ExpressionStatement",
                        "src": "389:36:42"
                      },
                      {
                        "expression": {
                          "argumentTypes": null,
                          "id": 10898,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "leftHandSide": {
                            "argumentTypes": null,
                            "baseExpression": {
                              "argumentTypes": null,
                              "id": 10890,
                              "name": "actualLockedDGD",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 15622,
                              "src": "439:15:42",
                              "typeDescriptions": {
                                "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$",
                                "typeString": "mapping(address => uint256)"
                              }
                            },
                            "id": 10894,
                            "indexExpression": {
                              "argumentTypes": null,
                              "baseExpression": {
                                "argumentTypes": null,
                                "id": 10891,
                                "name": "_moderators",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 10861,
                                "src": "455:11:42",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr",
                                  "typeString": "address[] memory"
                                }
                              },
                              "id": 10893,
                              "indexExpression": {
                                "argumentTypes": null,
                                "id": 10892,
                                "name": "i",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 10873,
                                "src": "467:1:42",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              },
                              "isConstant": false,
                              "isLValue": true,
                              "isPure": false,
                              "lValueRequested": false,
                              "nodeType": "IndexAccess",
                              "src": "455:14:42",
                              "typeDescriptions": {
                                "typeIdentifier": "t_address",
                                "typeString": "address"
                              }
                            },
                            "isConstant": false,
                            "isLValue": true,
                            "isPure": false,
                            "lValueRequested": true,
                            "nodeType": "IndexAccess",
                            "src": "439:31:42",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          },
                          "nodeType": "Assignment",
                          "operator": "=",
                          "rightHandSide": {
                            "argumentTypes": null,
                            "baseExpression": {
                              "argumentTypes": null,
                              "id": 10895,
                              "name": "_dgdStake",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 10864,
                              "src": "473:9:42",
                              "typeDescriptions": {
                                "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr",
                                "typeString": "uint256[] memory"
                              }
                            },
                            "id": 10897,
                            "indexExpression": {
                              "argumentTypes": null,
                              "id": 10896,
                              "name": "i",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 10873,
                              "src": "483:1:42",
                              "typeDescriptions": {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              }
                            },
                            "isConstant": false,
                            "isLValue": true,
                            "isPure": false,
                            "lValueRequested": false,
                            "nodeType": "IndexAccess",
                            "src": "473:12:42",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          },
                          "src": "439:46:42",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "id": 10899,
                        "nodeType": "ExpressionStatement",
                        "src": "439:46:42"
                      },
                      {
                        "expression": {
                          "argumentTypes": null,
                          "id": 10908,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "leftHandSide": {
                            "argumentTypes": null,
                            "baseExpression": {
                              "argumentTypes": null,
                              "id": 10900,
                              "name": "lockedDGDStake",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 15618,
                              "src": "499:14:42",
                              "typeDescriptions": {
                                "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$",
                                "typeString": "mapping(address => uint256)"
                              }
                            },
                            "id": 10904,
                            "indexExpression": {
                              "argumentTypes": null,
                              "baseExpression": {
                                "argumentTypes": null,
                                "id": 10901,
                                "name": "_moderators",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 10861,
                                "src": "514:11:42",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr",
                                  "typeString": "address[] memory"
                                }
                              },
                              "id": 10903,
                              "indexExpression": {
                                "argumentTypes": null,
                                "id": 10902,
                                "name": "i",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 10873,
                                "src": "526:1:42",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              },
                              "isConstant": false,
                              "isLValue": true,
                              "isPure": false,
                              "lValueRequested": false,
                              "nodeType": "IndexAccess",
                              "src": "514:14:42",
                              "typeDescriptions": {
                                "typeIdentifier": "t_address",
                                "typeString": "address"
                              }
                            },
                            "isConstant": false,
                            "isLValue": true,
                            "isPure": false,
                            "lValueRequested": true,
                            "nodeType": "IndexAccess",
                            "src": "499:30:42",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          },
                          "nodeType": "Assignment",
                          "operator": "=",
                          "rightHandSide": {
                            "argumentTypes": null,
                            "baseExpression": {
                              "argumentTypes": null,
                              "id": 10905,
                              "name": "_dgdStake",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 10864,
                              "src": "532:9:42",
                              "typeDescriptions": {
                                "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr",
                                "typeString": "uint256[] memory"
                              }
                            },
                            "id": 10907,
                            "indexExpression": {
                              "argumentTypes": null,
                              "id": 10906,
                              "name": "i",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 10873,
                              "src": "542:1:42",
                              "typeDescriptions": {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              }
                            },
                            "isConstant": false,
                            "isLValue": true,
                            "isPure": false,
                            "lValueRequested": false,
                            "nodeType": "IndexAccess",
                            "src": "532:12:42",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          },
                          "src": "499:45:42",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "id": 10909,
                        "nodeType": "ExpressionStatement",
                        "src": "499:45:42"
                      },
                      {
                        "expression": {
                          "argumentTypes": null,
                          "id": 10914,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "leftHandSide": {
                            "argumentTypes": null,
                            "id": 10910,
                            "name": "totalModeratorLockedDGDStake",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 15626,
                            "src": "558:28:42",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          },
                          "nodeType": "Assignment",
                          "operator": "+=",
                          "rightHandSide": {
                            "argumentTypes": null,
                            "baseExpression": {
                              "argumentTypes": null,
                              "id": 10911,
                              "name": "_dgdStake",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 10864,
                              "src": "590:9:42",
                              "typeDescriptions": {
                                "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr",
                                "typeString": "uint256[] memory"
                              }
                            },
                            "id": 10913,
                            "indexExpression": {
                              "argumentTypes": null,
                              "id": 10912,
                              "name": "i",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 10873,
                              "src": "600:1:42",
                              "typeDescriptions": {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              }
                            },
                            "isConstant": false,
                            "isLValue": true,
                            "isPure": false,
                            "lValueRequested": false,
                            "nodeType": "IndexAccess",
                            "src": "590:12:42",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          },
                          "src": "558:44:42",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "id": 10915,
                        "nodeType": "ExpressionStatement",
                        "src": "558:44:42"
                      }
                    ]
                  },
                  "condition": {
                    "argumentTypes": null,
                    "commonType": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    },
                    "id": 10878,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftExpression": {
                      "argumentTypes": null,
                      "id": 10876,
                      "name": "i",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 10873,
                      "src": "362:1:42",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "BinaryOperation",
                    "operator": "<",
                    "rightExpression": {
                      "argumentTypes": null,
                      "id": 10877,
                      "name": "_n",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 10868,
                      "src": "366:2:42",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "src": "362:6:42",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "id": 10917,
                  "initializationExpression": {
                    "assignments": [
                      10873
                    ],
                    "declarations": [
                      {
                        "constant": false,
                        "id": 10873,
                        "name": "i",
                        "nodeType": "VariableDeclaration",
                        "scope": 10924,
                        "src": "347:9:42",
                        "stateVariable": false,
                        "storageLocation": "default",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        },
                        "typeName": {
                          "id": 10872,
                          "name": "uint256",
                          "nodeType": "ElementaryTypeName",
                          "src": "347:7:42",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "value": null,
                        "visibility": "internal"
                      }
                    ],
                    "id": 10875,
                    "initialValue": {
                      "argumentTypes": null,
                      "hexValue": "30",
                      "id": 10874,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": true,
                      "kind": "number",
                      "lValueRequested": false,
                      "nodeType": "Literal",
                      "src": "359:1:42",
                      "subdenomination": null,
                      "typeDescriptions": {
                        "typeIdentifier": "t_rational_0_by_1",
                        "typeString": "int_const 0"
                      },
                      "value": "0"
                    },
                    "nodeType": "VariableDeclarationStatement",
                    "src": "347:13:42"
                  },
                  "loopExpression": {
                    "expression": {
                      "argumentTypes": null,
                      "id": 10880,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "nodeType": "UnaryOperation",
                      "operator": "++",
                      "prefix": false,
                      "src": "370:3:42",
                      "subExpression": {
                        "argumentTypes": null,
                        "id": 10879,
                        "name": "i",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 10873,
                        "src": "370:1:42",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "id": 10881,
                    "nodeType": "ExpressionStatement",
                    "src": "370:3:42"
                  },
                  "nodeType": "ForStatement",
                  "src": "342:271:42"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "id": 10919,
                        "name": "_moderators",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 10861,
                        "src": "644:11:42",
                        "typeDescriptions": {
                          "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr",
                          "typeString": "address[] memory"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "id": 10920,
                        "name": "_dgdStake",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 10864,
                        "src": "657:9:42",
                        "typeDescriptions": {
                          "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr",
                          "typeString": "uint256[] memory"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr",
                          "typeString": "address[] memory"
                        },
                        {
                          "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr",
                          "typeString": "uint256[] memory"
                        }
                      ],
                      "id": 10918,
                      "name": "mock_add_participants",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 10985,
                      "src": "622:21:42",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_internal_nonpayable$_t_array$_t_address_$dyn_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$returns$__$",
                        "typeString": "function (address[] memory,uint256[] memory)"
                      }
                    },
                    "id": 10921,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "622:45:42",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 10922,
                  "nodeType": "ExpressionStatement",
                  "src": "622:45:42"
                }
              ]
            },
            "documentation": null,
            "id": 10924,
            "implemented": true,
            "isConstructor": false,
            "isDeclaredConst": false,
            "modifiers": [],
            "name": "mock_add_moderators",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 10865,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 10861,
                  "name": "_moderators",
                  "nodeType": "VariableDeclaration",
                  "scope": 10924,
                  "src": "228:21:42",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr",
                    "typeString": "address[]"
                  },
                  "typeName": {
                    "baseType": {
                      "id": 10859,
                      "name": "address",
                      "nodeType": "ElementaryTypeName",
                      "src": "228:7:42",
                      "typeDescriptions": {
                        "typeIdentifier": "t_address",
                        "typeString": "address"
                      }
                    },
                    "id": 10860,
                    "length": null,
                    "nodeType": "ArrayTypeName",
                    "src": "228:9:42",
                    "typeDescriptions": {
                      "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr",
                      "typeString": "address[]"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 10864,
                  "name": "_dgdStake",
                  "nodeType": "VariableDeclaration",
                  "scope": 10924,
                  "src": "251:19:42",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr",
                    "typeString": "uint256[]"
                  },
                  "typeName": {
                    "baseType": {
                      "id": 10862,
                      "name": "uint256",
                      "nodeType": "ElementaryTypeName",
                      "src": "251:7:42",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "id": 10863,
                    "length": null,
                    "nodeType": "ArrayTypeName",
                    "src": "251:9:42",
                    "typeDescriptions": {
                      "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr",
                      "typeString": "uint256[]"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "227:44:42"
            },
            "payable": false,
            "returnParameters": {
              "id": 10866,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "291:0:42"
            },
            "scope": 10986,
            "src": "199:475:42",
            "stateMutability": "nonpayable",
            "superFunction": null,
            "visibility": "public"
          },
          {
            "body": {
              "id": 10984,
              "nodeType": "Block",
              "src": "776:329:42",
              "statements": [
                {
                  "assignments": [
                    10934
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 10934,
                      "name": "_n",
                      "nodeType": "VariableDeclaration",
                      "scope": 10985,
                      "src": "786:10:42",
                      "stateVariable": false,
                      "storageLocation": "default",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      },
                      "typeName": {
                        "id": 10933,
                        "name": "uint256",
                        "nodeType": "ElementaryTypeName",
                        "src": "786:7:42",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      "value": null,
                      "visibility": "internal"
                    }
                  ],
                  "id": 10937,
                  "initialValue": {
                    "argumentTypes": null,
                    "expression": {
                      "argumentTypes": null,
                      "id": 10935,
                      "name": "_participants",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 10927,
                      "src": "799:13:42",
                      "typeDescriptions": {
                        "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr",
                        "typeString": "address[] memory"
                      }
                    },
                    "id": 10936,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "memberName": "length",
                    "nodeType": "MemberAccess",
                    "referencedDeclaration": null,
                    "src": "799:20:42",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "786:33:42"
                },
                {
                  "body": {
                    "id": 10982,
                    "nodeType": "Block",
                    "src": "862:237:42",
                    "statements": [
                      {
                        "expression": {
                          "argumentTypes": null,
                          "arguments": [
                            {
                              "argumentTypes": null,
                              "baseExpression": {
                                "argumentTypes": null,
                                "id": 10951,
                                "name": "_participants",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 10927,
                                "src": "899:13:42",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr",
                                  "typeString": "address[] memory"
                                }
                              },
                              "id": 10953,
                              "indexExpression": {
                                "argumentTypes": null,
                                "id": 10952,
                                "name": "i",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 10939,
                                "src": "913:1:42",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              },
                              "isConstant": false,
                              "isLValue": true,
                              "isPure": false,
                              "lValueRequested": false,
                              "nodeType": "IndexAccess",
                              "src": "899:16:42",
                              "typeDescriptions": {
                                "typeIdentifier": "t_address",
                                "typeString": "address"
                              }
                            }
                          ],
                          "expression": {
                            "argumentTypes": [
                              {
                                "typeIdentifier": "t_address",
                                "typeString": "address"
                              }
                            ],
                            "expression": {
                              "argumentTypes": null,
                              "id": 10948,
                              "name": "allParticipants",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 15628,
                              "src": "876:15:42",
                              "typeDescriptions": {
                                "typeIdentifier": "t_struct$_Address_$22602_storage",
                                "typeString": "struct DoublyLinkedList.Address storage ref"
                              }
                            },
                            "id": 10950,
                            "isConstant": false,
                            "isLValue": true,
                            "isPure": false,
                            "lValueRequested": false,
                            "memberName": "append",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": 23985,
                            "src": "876:22:42",
                            "typeDescriptions": {
                              "typeIdentifier": "t_function_delegatecall_nonpayable$_t_struct$_Address_$22602_storage_ptr_$_t_address_$returns$_t_bool_$bound_to$_t_struct$_Address_$22602_storage_ptr_$",
                              "typeString": "function (struct DoublyLinkedList.Address storage pointer,address) returns (bool)"
                            }
                          },
                          "id": 10954,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "functionCall",
                          "lValueRequested": false,
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "876:40:42",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bool",
                            "typeString": "bool"
                          }
                        },
                        "id": 10955,
                        "nodeType": "ExpressionStatement",
                        "src": "876:40:42"
                      },
                      {
                        "expression": {
                          "argumentTypes": null,
                          "id": 10964,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "leftHandSide": {
                            "argumentTypes": null,
                            "baseExpression": {
                              "argumentTypes": null,
                              "id": 10956,
                              "name": "actualLockedDGD",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 15622,
                              "src": "930:15:42",
                              "typeDescriptions": {
                                "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$",
                                "typeString": "mapping(address => uint256)"
                              }
                            },
                            "id": 10960,
                            "indexExpression": {
                              "argumentTypes": null,
                              "baseExpression": {
                                "argumentTypes": null,
                                "id": 10957,
                                "name": "_participants",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 10927,
                                "src": "946:13:42",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr",
                                  "typeString": "address[] memory"
                                }
                              },
                              "id": 10959,
                              "indexExpression": {
                                "argumentTypes": null,
                                "id": 10958,
                                "name": "i",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 10939,
                                "src": "960:1:42",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              },
                              "isConstant": false,
                              "isLValue": true,
                              "isPure": false,
                              "lValueRequested": false,
                              "nodeType": "IndexAccess",
                              "src": "946:16:42",
                              "typeDescriptions": {
                                "typeIdentifier": "t_address",
                                "typeString": "address"
                              }
                            },
                            "isConstant": false,
                            "isLValue": true,
                            "isPure": false,
                            "lValueRequested": true,
                            "nodeType": "IndexAccess",
                            "src": "930:33:42",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          },
                          "nodeType": "Assignment",
                          "operator": "=",
                          "rightHandSide": {
                            "argumentTypes": null,
                            "baseExpression": {
                              "argumentTypes": null,
                              "id": 10961,
                              "name": "_dgdStake",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 10930,
                              "src": "966:9:42",
                              "typeDescriptions": {
                                "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr",
                                "typeString": "uint256[] memory"
                              }
                            },
                            "id": 10963,
                            "indexExpression": {
                              "argumentTypes": null,
                              "id": 10962,
                              "name": "i",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 10939,
                              "src": "976:1:42",
                              "typeDescriptions": {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              }
                            },
                            "isConstant": false,
                            "isLValue": true,
                            "isPure": false,
                            "lValueRequested": false,
                            "nodeType": "IndexAccess",
                            "src": "966:12:42",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          },
                          "src": "930:48:42",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "id": 10965,
                        "nodeType": "ExpressionStatement",
                        "src": "930:48:42"
                      },
                      {
                        "expression": {
                          "argumentTypes": null,
                          "id": 10974,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "leftHandSide": {
                            "argumentTypes": null,
                            "baseExpression": {
                              "argumentTypes": null,
                              "id": 10966,
                              "name": "lockedDGDStake",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 15618,
                              "src": "992:14:42",
                              "typeDescriptions": {
                                "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$",
                                "typeString": "mapping(address => uint256)"
                              }
                            },
                            "id": 10970,
                            "indexExpression": {
                              "argumentTypes": null,
                              "baseExpression": {
                                "argumentTypes": null,
                                "id": 10967,
                                "name": "_participants",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 10927,
                                "src": "1007:13:42",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr",
                                  "typeString": "address[] memory"
                                }
                              },
                              "id": 10969,
                              "indexExpression": {
                                "argumentTypes": null,
                                "id": 10968,
                                "name": "i",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 10939,
                                "src": "1021:1:42",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              },
                              "isConstant": false,
                              "isLValue": true,
                              "isPure": false,
                              "lValueRequested": false,
                              "nodeType": "IndexAccess",
                              "src": "1007:16:42",
                              "typeDescriptions": {
                                "typeIdentifier": "t_address",
                                "typeString": "address"
                              }
                            },
                            "isConstant": false,
                            "isLValue": true,
                            "isPure": false,
                            "lValueRequested": true,
                            "nodeType": "IndexAccess",
                            "src": "992:32:42",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          },
                          "nodeType": "Assignment",
                          "operator": "=",
                          "rightHandSide": {
                            "argumentTypes": null,
                            "baseExpression": {
                              "argumentTypes": null,
                              "id": 10971,
                              "name": "_dgdStake",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 10930,
                              "src": "1027:9:42",
                              "typeDescriptions": {
                                "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr",
                                "typeString": "uint256[] memory"
                              }
                            },
                            "id": 10973,
                            "indexExpression": {
                              "argumentTypes": null,
                              "id": 10972,
                              "name": "i",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 10939,
                              "src": "1037:1:42",
                              "typeDescriptions": {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              }
                            },
                            "isConstant": false,
                            "isLValue": true,
                            "isPure": false,
                            "lValueRequested": false,
                            "nodeType": "IndexAccess",
                            "src": "1027:12:42",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          },
                          "src": "992:47:42",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "id": 10975,
                        "nodeType": "ExpressionStatement",
                        "src": "992:47:42"
                      },
                      {
                        "expression": {
                          "argumentTypes": null,
                          "id": 10980,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "leftHandSide": {
                            "argumentTypes": null,
                            "id": 10976,
                            "name": "totalLockedDGDStake",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 15624,
                            "src": "1053:19:42",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          },
                          "nodeType": "Assignment",
                          "operator": "+=",
                          "rightHandSide": {
                            "argumentTypes": null,
                            "baseExpression": {
                              "argumentTypes": null,
                              "id": 10977,
                              "name": "_dgdStake",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 10930,
                              "src": "1076:9:42",
                              "typeDescriptions": {
                                "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr",
                                "typeString": "uint256[] memory"
                              }
                            },
                            "id": 10979,
                            "indexExpression": {
                              "argumentTypes": null,
                              "id": 10978,
                              "name": "i",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 10939,
                              "src": "1086:1:42",
                              "typeDescriptions": {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              }
                            },
                            "isConstant": false,
                            "isLValue": true,
                            "isPure": false,
                            "lValueRequested": false,
                            "nodeType": "IndexAccess",
                            "src": "1076:12:42",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          },
                          "src": "1053:35:42",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "id": 10981,
                        "nodeType": "ExpressionStatement",
                        "src": "1053:35:42"
                      }
                    ]
                  },
                  "condition": {
                    "argumentTypes": null,
                    "commonType": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    },
                    "id": 10944,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftExpression": {
                      "argumentTypes": null,
                      "id": 10942,
                      "name": "i",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 10939,
                      "src": "849:1:42",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "BinaryOperation",
                    "operator": "<",
                    "rightExpression": {
                      "argumentTypes": null,
                      "id": 10943,
                      "name": "_n",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 10934,
                      "src": "853:2:42",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "src": "849:6:42",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "id": 10983,
                  "initializationExpression": {
                    "assignments": [
                      10939
                    ],
                    "declarations": [
                      {
                        "constant": false,
                        "id": 10939,
                        "name": "i",
                        "nodeType": "VariableDeclaration",
                        "scope": 10985,
                        "src": "834:9:42",
                        "stateVariable": false,
                        "storageLocation": "default",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        },
                        "typeName": {
                          "id": 10938,
                          "name": "uint256",
                          "nodeType": "ElementaryTypeName",
                          "src": "834:7:42",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "value": null,
                        "visibility": "internal"
                      }
                    ],
                    "id": 10941,
                    "initialValue": {
                      "argumentTypes": null,
                      "hexValue": "30",
                      "id": 10940,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": true,
                      "kind": "number",
                      "lValueRequested": false,
                      "nodeType": "Literal",
                      "src": "846:1:42",
                      "subdenomination": null,
                      "typeDescriptions": {
                        "typeIdentifier": "t_rational_0_by_1",
                        "typeString": "int_const 0"
                      },
                      "value": "0"
                    },
                    "nodeType": "VariableDeclarationStatement",
                    "src": "834:13:42"
                  },
                  "loopExpression": {
                    "expression": {
                      "argumentTypes": null,
                      "id": 10946,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "nodeType": "UnaryOperation",
                      "operator": "++",
                      "prefix": false,
                      "src": "857:3:42",
                      "subExpression": {
                        "argumentTypes": null,
                        "id": 10945,
                        "name": "i",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 10939,
                        "src": "857:1:42",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "id": 10947,
                    "nodeType": "ExpressionStatement",
                    "src": "857:3:42"
                  },
                  "nodeType": "ForStatement",
                  "src": "829:270:42"
                }
              ]
            },
            "documentation": null,
            "id": 10985,
            "implemented": true,
            "isConstructor": false,
            "isDeclaredConst": false,
            "modifiers": [],
            "name": "mock_add_participants",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 10931,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 10927,
                  "name": "_participants",
                  "nodeType": "VariableDeclaration",
                  "scope": 10985,
                  "src": "711:23:42",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr",
                    "typeString": "address[]"
                  },
                  "typeName": {
                    "baseType": {
                      "id": 10925,
                      "name": "address",
                      "nodeType": "ElementaryTypeName",
                      "src": "711:7:42",
                      "typeDescriptions": {
                        "typeIdentifier": "t_address",
                        "typeString": "address"
                      }
                    },
                    "id": 10926,
                    "length": null,
                    "nodeType": "ArrayTypeName",
                    "src": "711:9:42",
                    "typeDescriptions": {
                      "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr",
                      "typeString": "address[]"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 10930,
                  "name": "_dgdStake",
                  "nodeType": "VariableDeclaration",
                  "scope": 10985,
                  "src": "736:19:42",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr",
                    "typeString": "uint256[]"
                  },
                  "typeName": {
                    "baseType": {
                      "id": 10928,
                      "name": "uint256",
                      "nodeType": "ElementaryTypeName",
                      "src": "736:7:42",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "id": 10929,
                    "length": null,
                    "nodeType": "ArrayTypeName",
                    "src": "736:9:42",
                    "typeDescriptions": {
                      "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr",
                      "typeString": "uint256[]"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "710:46:42"
            },
            "payable": false,
            "returnParameters": {
              "id": 10932,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "776:0:42"
            },
            "scope": 10986,
            "src": "680:425:42",
            "stateMutability": "nonpayable",
            "superFunction": null,
            "visibility": "public"
          }
        ],
        "scope": 10987,
        "src": "71:1036:42"
      }
    ],
    "src": "0:1108:42"
  },
  "compiler": {
    "name": "solc",
    "version": "0.4.25+commit.59dbf8f1.Emscripten.clang"
  },
  "networks": {},
  "schemaVersion": "2.0.2",
  "updatedAt": "2020-03-13T02:38:46.091Z"
}