contract Pausable is Ownable {

event Pause();

event Unpause();

bool public paused = false;

/**

* @dev Modifier to make a function callable only when the contract is not paused.

*/

modifier whenNotPaused() {

require(!paused);

_;

}

/**

* @dev Modifier to make a function callable only when the contract is paused.

*/

modifier whenPaused() {

require(paused);

_;

}

/**

* @dev called by the owner to pause, triggers stopped state

*/

function pause() onlyOwner whenNotPaused public {

paused = true;

emit Pause();

}

/**

* @dev called by the owner to unpause, returns to normal state

*/

function unpause() onlyOwner whenPaused public {

paused = false;

emit Unpause();

}

}
/**
 
 * @title Pausable
 
 * @dev Base contract which allows children to implement an emergency stop mechanism.
 
 */
function pause() onlyOwner whenNotPaused public {

paused = true;

emit Pause();

}

/**
 
 * @dev called by the owner to pause, triggers stopped state
 
 */