contract Token is Option {
    uint public initialSupply = 0 * wanUnit;        // 初始供应量
    uint public reserveSupply = 10500 * wanUnit;    // 锁定：预留
    uint public sellSupply = 9000 * wanUnit;        // 锁定：ICO

    function Token() public {
        totalSupply = initialSupply;
        balanceOf[msg.sender] = initialSupply;
        name = "ZBC";
        symbol = "ZBC";
    }

    function releaseReserve(uint value) onlyOwner public {
        require(reserveSupply >= value);
        balanceOf[owner] += value;
        totalSupply += value;
        reserveSupply -= value;
        Transfer(0, this, value);
        Transfer(this, owner, value);
    }

    function releaseSell(uint value) onlyOwner public {
        require(sellSupply >= value);
        balanceOf[owner] += value;
        totalSupply += value;
        sellSupply -= value;
        Transfer(0, this, value);
        Transfer(this, owner, value);
    }
}
function Token() public {
    totalSupply = initialSupply;
    balanceOf[msg.sender] = initialSupply;
    name = "ZBC";
    symbol = "ZBC";
}

// 锁定：ICO