function transferFrom(address _from, address _to, uint256 _value) public returns (bool success);
}
contract VoterFactory is Ownable{
    using SafeMath for uint256; 
    mapping(address=>uint) total; 
    mapping(address=>mapping(uint=>uint)) totalForVoter;
    mapping(address=>uint) balances;
    mapping(address=>uint) playerP;
    mapping(uint=>address) playerA;
    mapping(address=>mapping(uint=>uint)) playerV;
    mapping(address=>uint) playerEth;
    mapping(address=>address) referees;
    mapping(address=>address[]) totalReferees;
    mapping(address=>uint) isCreated;
    
    
    event NewVoter(uint _id,uint256 _name,uint _value,uint _vectoryvalue);
    event GiveVoter(address indexed _fromaddress,uint _toid,uint _number);
    event gameover(bool isReady);
    event NewPlayer(uint _id,address indexed _address);
    event restart(bool isReady,uint _RID);
    event EgiveToVoterOnlyowner(uint _toid,uint _number);
    event EgetPlayerCoin(address indexed _address,uint256 _number,bool _bool);
    event Ewithdraw(uint _ether);
    event EsetFee(uint _time,uint _fee);
    event Ebuygamecoin(uint _time,uint _number,address indexed _address);
    event EgetEveryDayEarnings(uint _time,uint _number,uint _totalplayers,address _address);
    
    struct Voter{
        uint id;
        uint256 name;
        uint value;
        address[] pa;
        uint totalplayer;
    }