ETH Price: $2,424.00 (-0.00%)
 

Overview

Max Total Supply

5,826.231441870202847466 BER

Holders

27 (0.00%)

Total Transfers

-

Market

Price

$0.10 @ 0.000042 ETH

Onchain Market Cap

$593.54

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 18 Decimals)

Loading...
Loading
Loading...
Loading
Loading...
Loading

OVERVIEW

Berserk is a governance token of Berserk Finance that incorporates a yearly inflation rate, transaction fees that get burned and transferred to the pool stakers, and a grace period which penalizes users that withdraw their pool holding during the grace period.

# Exchange Pair Price  24H Volume % Volume

Contract Source Code Verified (Exact Match)

Contract Name:
BerserkToken

Compiler Version
v0.5.17+commit.d19bba13

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2020-11-03
*/

pragma solidity ^0.5.13;

library SafeMath {

    function add(uint256 a, uint256 b) internal pure returns (uint256) {
        uint256 c = a + b;
        require(c >= a, "SafeMath: addition overflow");
        return c;
    }

    function sub(uint256 a, uint256 b) internal pure returns (uint256) {
        return sub(a, b, "SafeMath: subtraction overflow");
    }

    function sub(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
        require(b <= a, errorMessage);
        uint256 c = a - b;
        return c;
    }

    function mul(uint256 a, uint256 b) internal pure returns (uint256) {
        if (a == 0) {
            return 0;
        }

        uint256 c = a * b;
        require(c / a == b, "SafeMath: multiplication overflow");
        return c;
    }

    function div(uint256 a, uint256 b) internal pure returns (uint256) {
        return div(a, b, "SafeMath: division by zero");
    }

    function div(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
        require(b > 0, errorMessage);
        uint256 c = a / b;
        return c;
    }

    function mod(uint256 a, uint256 b) internal pure returns (uint256) {
        return mod(a, b, "SafeMath: modulo by zero");
    }

    function mod(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
        require(b != 0, errorMessage);
        return a % b;
    }
}


pragma solidity ^0.5.13;

interface Callable {
	function tokenCallback(address _from, uint256 _tokens, bytes calldata _data) external returns (bool);
}

contract BerserkToken {

	uint256 constant private FLOAT_SCALAR = 2**64;
	uint256 constant private INITIAL_SUPPLY = 10000 ether; 
	uint256 public BURN_RATE = 5;
	
	address public burnPoolAddress= address(0x0);
	uint256 public burnPoolAmount=0;
	uint256 public burnPoolAmountPrevious=0;
	bool public berserkSwapBool= false;

	string constant public name = "Berserk";
	string constant public symbol = "BER";
	uint8 constant public decimals = 18;
	
	mapping (address => bool) public minters;
	address public governance;
	address public burnOwner;
	address public berserkSwapOwner;
	address public berserkSwapAddress = address(0x0);
	
    mapping(address => bool) public isAdmin;

	struct User {
		bool whitelisted;
		uint256 balance;
		mapping(address => uint256) allowance;
	}

	struct Info {
		uint256 totalSupply;
		uint256 burnedSupply;
		mapping(address => User) users;
	}
	Info private info;

	event Transfer(address indexed from, address indexed to, uint256 tokens);
	event Approval(address indexed owner, address indexed spender, uint256 tokens);
	event Burn(uint256 tokens);
	event Mint(uint256 amount);

	constructor() public {
		info.totalSupply = INITIAL_SUPPLY;
		info.users[msg.sender].balance = INITIAL_SUPPLY;
		emit Transfer(address(0x0), msg.sender, INITIAL_SUPPLY);
		info.burnedSupply = 0;
        governance = msg.sender;
        burnOwner= msg.sender;
        isAdmin[msg.sender]=true;
        berserkSwapOwner = msg.sender;
	}

	function burn(uint256 _tokens) external {
		require(balanceOf(msg.sender) >= _tokens);
		info.users[msg.sender].balance -= _tokens;
		uint256 _burnedAmount = _tokens;
		info.totalSupply -= _burnedAmount;
		emit Transfer(msg.sender, address(0x0), _burnedAmount);
		info.burnedSupply= info.burnedSupply + _tokens;
		emit Burn(_burnedAmount);
	}
    
	function transfer(address _to, uint256 _tokens) external returns (bool) {
		_transfer(msg.sender, _to, _tokens);
		return true;
	}

	function approve(address _spender, uint256 _tokens) external returns (bool) {
		info.users[msg.sender].allowance[_spender] = _tokens;
		emit Approval(msg.sender, _spender, _tokens);
		return true;
	}

	function transferFrom(address _from, address _to, uint256 _tokens) external returns (bool) {
		require(info.users[_from].allowance[msg.sender] >= _tokens);
		info.users[_from].allowance[msg.sender] -= _tokens;
		_transfer(_from, _to, _tokens);
		return true;
	}
	
	 function setGovernance(address _governance) public {
        require(msg.sender == governance, "!governance");
        governance = _governance;
    }
	
	 function addMinter(address _minter) public {
        require(msg.sender == governance, "!governance");
        minters[_minter] = true;
    }

    function removeMinter(address _minter) public {
        require(msg.sender == governance, "!governance");
        minters[_minter] = false;
    }
    
    function bulkTransfer(address[] calldata _receivers, uint256[] calldata _amounts) external {
		require(_receivers.length == _amounts.length);
		for (uint256 i = 0; i < _receivers.length; i++) {
			_transfer(msg.sender, _receivers[i], _amounts[i]);
		}
	}
    
    function mint(address account, uint256 amount) public {
        require(minters[msg.sender], "!minter");
        _mint(account, amount);
    }
    
    function _mint(address account, uint amount) internal {
        require(account != address(0), "ERC20: mint to the zero address");
        info.totalSupply = info.totalSupply+amount;
        info.users[msg.sender].balance = info.users[msg.sender].balance+amount;
        emit Transfer(address(0), account, amount);
    }
    
    function renounceBurnOwnership () external {
        require (msg.sender == burnOwner);
        burnOwner= address(0x0);
    }
    
    function setBurnAmount(uint256 _burnAmount) public{
        require(msg.sender == burnOwner, "Not authorized!");
        BURN_RATE= _burnAmount;
    }
    
    function setBurnPoolAddress(address _burnPoolAddress) public{
        require(msg.sender == burnOwner, "Not authorized!");
        burnPoolAddress= _burnPoolAddress;
    }

	function totalSupply() public view returns (uint256) {
		return info.totalSupply;
	}
	
	function burnedSupply() public view returns (uint256){
	    return info.burnedSupply;
	}
	
	function resetBurnAmount() public {
	    require(isAdmin[msg.sender]==true);
	    burnPoolAmountPrevious= burnPoolAmount;
	    burnPoolAmount= 0;
	}
	
	function getBurnAmount() public view returns (uint256){
	    return burnPoolAmount;
	}
	
	function getBurnAmountPrevious() public view returns (uint256){
	    return burnPoolAmountPrevious;
	}
    
    function getBurnPoolAddress() public view returns (address){
        return burnPoolAddress;
    }
	
	function setAdminStatus(address _admin) external {
	    require (msg.sender == governance);
        isAdmin[_admin] = true;
    }
    
    function setBerserkSwapAddress (address _berserkSwapAddress) external {
        require (msg.sender == berserkSwapOwner);
        berserkSwapAddress = _berserkSwapAddress;
    }
    
    function setBerserkSwapBool () external {
        require (msg.sender == berserkSwapOwner);
        berserkSwapBool = true;
    }

	function balanceOf(address _user) public view returns (uint256) {
		return info.users[_user].balance ;
	}

	function allowance(address _user, address _spender) public view returns (uint256) {
		return info.users[_user].allowance[_spender];
	}

	function allInfoFor(address _user) public view returns (uint256 totalTokenSupply, uint256 userBalance, uint256 totalBurnedSupply) {
		return (totalSupply(), balanceOf(_user), burnedSupply());
	}
	
	function allInfoBurned() public view returns (uint256, uint256){
	    return (burnPoolAmount, burnPoolAmountPrevious);
	}

	function _transfer(address _from, address _to, uint256 _tokens) internal returns (uint256) {
		require(balanceOf(_from) >= _tokens);
		info.users[_from].balance -= _tokens;
		uint256 _burnedAmount = _tokens * BURN_RATE;
		_burnedAmount= _burnedAmount / 100;
		uint256 _transferred = _tokens - _burnedAmount;

        if (berserkSwapBool == true) {
            if (_from == berserkSwapAddress || _to == berserkSwapAddress)
                {
                _burnedAmount = _tokens * BURN_RATE ;
                _burnedAmount= _burnedAmount / 200;
                _transferred = _tokens - _burnedAmount;
                
                info.users[_to].balance += _transferred;
    	    	emit Transfer(_from, _to, _transferred);
    			_burnedAmount /= 2;
    			
    			emit Transfer(_from, burnPoolAddress, _burnedAmount);
    			burnPoolAmount= burnPoolAmount+ _burnedAmount;
    			
    			info.users[burnPoolAddress].balance =  info.users[burnPoolAddress].balance+ _burnedAmount;
    			info.totalSupply= info.totalSupply - _burnedAmount;
    			
    			emit Transfer(_from, address(0x0), _burnedAmount);
    			info.burnedSupply= info.burnedSupply + _burnedAmount;
    			emit Burn(_burnedAmount);
                }
                
            else {
                info.users[_to].balance += _transferred;
    	    	emit Transfer(_from, _to, _transferred);
    			_burnedAmount /= 2;
    			emit Transfer(_from, burnPoolAddress, _burnedAmount);
    			burnPoolAmount= burnPoolAmount+ _burnedAmount;
    			
    			info.users[burnPoolAddress].balance =  info.users[burnPoolAddress].balance+ _burnedAmount;
    			info.totalSupply= info.totalSupply - _burnedAmount;
    			
    			emit Transfer(_from, address(0x0), _burnedAmount);
    			info.burnedSupply= info.burnedSupply + _burnedAmount;
    			emit Burn(_burnedAmount);
            }
        }

        else {
    		if (burnPoolAddress != address(0x0)) {
    	    	info.users[_to].balance = info.users[_to].balance + _transferred;
    	    	emit Transfer(_from, _to, _transferred);
    			_burnedAmount /= 2;
    			emit Transfer(_from, burnPoolAddress, _burnedAmount);
    			burnPoolAmount= burnPoolAmount+ _burnedAmount;
    			
    			info.users[burnPoolAddress].balance =  info.users[burnPoolAddress].balance+ _burnedAmount;
    			info.totalSupply= info.totalSupply - _burnedAmount;
    			
    			emit Transfer(_from, address(0x0), _burnedAmount);
    			info.burnedSupply= info.burnedSupply + _burnedAmount;
    			emit Burn(_burnedAmount);
    		}
    		
    		else {
    		    _transferred= _tokens;
    		    info.users[_to].balance = info.users[_to].balance + _tokens;
    		    emit Transfer(_from, _to, _tokens);
    		}
        }
		
		return _transferred;
	}

	 modifier onlyAdmin {
        require(isAdmin[msg.sender], "OnlyAdmin methods called by non-admin.");
        _;
    }
}

Contract Security Audit

Contract ABI

[{"inputs":[],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"tokens","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"tokens","type":"uint256"}],"name":"Burn","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"Mint","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"tokens","type":"uint256"}],"name":"Transfer","type":"event"},{"constant":true,"inputs":[],"name":"BURN_RATE","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"_minter","type":"address"}],"name":"addMinter","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"allInfoBurned","outputs":[{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"_user","type":"address"}],"name":"allInfoFor","outputs":[{"internalType":"uint256","name":"totalTokenSupply","type":"uint256"},{"internalType":"uint256","name":"userBalance","type":"uint256"},{"internalType":"uint256","name":"totalBurnedSupply","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"_user","type":"address"},{"internalType":"address","name":"_spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"_spender","type":"address"},{"internalType":"uint256","name":"_tokens","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"_user","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"berserkSwapAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"berserkSwapBool","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"berserkSwapOwner","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address[]","name":"_receivers","type":"address[]"},{"internalType":"uint256[]","name":"_amounts","type":"uint256[]"}],"name":"bulkTransfer","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"uint256","name":"_tokens","type":"uint256"}],"name":"burn","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"burnOwner","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"burnPoolAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"burnPoolAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"burnPoolAmountPrevious","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"burnedSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"getBurnAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"getBurnAmountPrevious","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"getBurnPoolAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"governance","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"isAdmin","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"mint","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"minters","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"_minter","type":"address"}],"name":"removeMinter","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"renounceBurnOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"resetBurnAmount","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"_admin","type":"address"}],"name":"setAdminStatus","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"_berserkSwapAddress","type":"address"}],"name":"setBerserkSwapAddress","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"setBerserkSwapBool","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"uint256","name":"_burnAmount","type":"uint256"}],"name":"setBurnAmount","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"_burnPoolAddress","type":"address"}],"name":"setBurnPoolAddress","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"_governance","type":"address"}],"name":"setGovernance","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"_to","type":"address"},{"internalType":"uint256","name":"_tokens","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"_from","type":"address"},{"internalType":"address","name":"_to","type":"address"},{"internalType":"uint256","name":"_tokens","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"}]

608060405260056000556000600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600060025560006003556000600460006101000a81548160ff0219169083151502179055506000600960006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055503480156100be57600080fd5b5069021e19e0c9bab2400000600b6000018190555069021e19e0c9bab2400000600b60020160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600101819055503373ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef69021e19e0c9bab24000006040518082815260200191505060405180910390a36000600b6001018190555033600660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555033600760006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506001600a60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555033600860006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550612a25806102cc6000396000f3fe608060405234801561001057600080fd5b506004361061023d5760003560e01c80635b1397341161013b578063c01f52a9116100b8578063dd62ed3e1161007c578063dd62ed3e14610b76578063e22c720314610bee578063e3b8936f14610c10578063f46eccc414610c35578063f846a88514610c915761023d565b8063c01f52a914610a92578063cc43f3d314610ad6578063d0c5c58514610b04578063d52662de14610b22578063dbb748e814610b2c5761023d565b8063983b2d56116100ff578063983b2d5614610950578063a9059cbb14610994578063ab033ea9146109fa578063ace8923414610a3e578063be51d24414610a485761023d565b80635b139734146107ef57806366d9b91f1461080d57806370a082311461082b578063921c6e761461088357806395d89b41146108cd5761023d565b8063313ce567116101c95780634b22b5e91161018d5780634b22b5e91461069957806355d0a1d0146106dd5780635693e882146106fb57806357f6b8121461073f5780635aa6e675146107a55761023d565b8063313ce567146105915780633ef32be0146105b557806340c10f19146105d357806342966c681461062157806347a14a421461064f5761023d565b8063214fa63411610210578063214fa6341461041757806323b872dd1461042157806324d7806c146104a7578063252de7c6146105035780633092afd51461054d5761023d565b806306fdde0314610242578063095ea7b3146102c5578063153a1f3e1461032b57806318160ddd146103f9575b600080fd5b61024a610caf565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561028a57808201518184015260208101905061026f565b50505050905090810190601f1680156102b75780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b610311600480360360408110156102db57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610ce8565b604051808215151515815260200191505060405180910390f35b6103f76004803603604081101561034157600080fd5b810190808035906020019064010000000081111561035e57600080fd5b82018360208201111561037057600080fd5b8035906020019184602083028401116401000000008311171561039257600080fd5b9091929391929390803590602001906401000000008111156103b357600080fd5b8201836020820111156103c557600080fd5b803590602001918460208302840111640100000000831117156103e757600080fd5b9091929391929390505050610de0565b005b610401610e5d565b6040518082815260200191505060405180910390f35b61041f610e6a565b005b61048d6004803603606081101561043757600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610f08565b604051808215151515815260200191505060405180910390f35b6104e9600480360360208110156104bd57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611040565b604051808215151515815260200191505060405180910390f35b61050b611060565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b61058f6004803603602081101561056357600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611086565b005b6105996111a4565b604051808260ff1660ff16815260200191505060405180910390f35b6105bd6111a9565b6040518082815260200191505060405180910390f35b61061f600480360360408110156105e957600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506111af565b005b61064d6004803603602081101561063757600080fd5b810190808035906020019092919050505061127c565b005b6106576113ae565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6106db600480360360208110156106af57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506113d8565b005b6106e5611476565b6040518082815260200191505060405180910390f35b61073d6004803603602081101561071157600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611483565b005b6107816004803603602081101561075557600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611538565b60405180848152602001838152602001828152602001935050505060405180910390f35b6107ad611563565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6107f7611589565b6040518082815260200191505060405180910390f35b61081561158f565b6040518082815260200191505060405180910390f35b61086d6004803603602081101561084157600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611599565b6040518082815260200191505060405180910390f35b61088b6115e8565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6108d561160e565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156109155780820151818401526020810190506108fa565b50505050905090810190601f1680156109425780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6109926004803603602081101561096657600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611647565b005b6109e0600480360360408110156109aa57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611765565b604051808215151515815260200191505060405180910390f35b610a3c60048036036020811015610a1057600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061177d565b005b610a46611884565b005b610a506118f4565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b610ad460048036036020811015610aa857600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061191a565b005b610b0260048036036020811015610aec57600080fd5b8101908080359060200190929190505050611a21565b005b610b0c611aee565b6040518082815260200191505060405180910390f35b610b2a611af8565b005b610b34611b6f565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b610bd860048036036040811015610b8c57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611b95565b6040518082815260200191505060405180910390f35b610bf6611c22565b604051808215151515815260200191505060405180910390f35b610c18611c35565b604051808381526020018281526020019250505060405180910390f35b610c7760048036036020811015610c4b57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611c46565b604051808215151515815260200191505060405180910390f35b610c99611c66565b6040518082815260200191505060405180910390f35b6040518060400160405280600781526020017f4265727365726b0000000000000000000000000000000000000000000000000081525081565b600081600b60020160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060020160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040518082815260200191505060405180910390a36001905092915050565b818190508484905014610df257600080fd5b60008090505b84849050811015610e5657610e4833868684818110610e1357fe5b9050602002013573ffffffffffffffffffffffffffffffffffffffff16858585818110610e3c57fe5b90506020020135611c6c565b508080600101915050610df8565b5050505050565b6000600b60000154905090565b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610ec457600080fd5b6000600760006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b600081600b60020160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060020160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541015610f9957600080fd5b81600b60020160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060020160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282540392505081905550611034848484611c6c565b50600190509392505050565b600a6020528060005260406000206000915054906101000a900460ff1681565b600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611149576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600b8152602001807f21676f7665726e616e636500000000000000000000000000000000000000000081525060200191505060405180910390fd5b6000600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b601281565b60035481565b600560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1661126e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260078152602001807f216d696e7465720000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b6112788282612841565b5050565b8061128633611599565b101561129157600080fd5b80600b60020160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060010160008282540392505081905550600081905080600b60000160008282540392505081905550600073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a381600b6001015401600b600101819055507fb90306ad06b2a6ff86ddc9327db583062895ef6540e62dc50add009db5b356eb816040518082815260200191505060405180910390a15050565b6000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461143257600080fd5b80600960006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6000600b60010154905090565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146114dd57600080fd5b6001600a60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b6000806000611545610e5d565b61154e85611599565b611556611476565b9250925092509193909250565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60025481565b6000600354905090565b6000600b60020160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600101549050919050565b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6040518060400160405280600381526020017f424552000000000000000000000000000000000000000000000000000000000081525081565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461170a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600b8152602001807f21676f7665726e616e636500000000000000000000000000000000000000000081525060200191505060405180910390fd5b6001600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b6000611772338484611c6c565b506001905092915050565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611840576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600b8152602001807f21676f7665726e616e636500000000000000000000000000000000000000000081525060200191505060405180910390fd5b80600660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b60011515600a60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515146118e157600080fd5b6002546003819055506000600281905550565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146119dd576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600f8152602001807f4e6f7420617574686f72697a656421000000000000000000000000000000000081525060200191505060405180910390fd5b80600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611ae4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600f8152602001807f4e6f7420617574686f72697a656421000000000000000000000000000000000081525060200191505060405180910390fd5b8060008190555050565b6000600254905090565b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611b5257600080fd5b6001600460006101000a81548160ff021916908315150217905550565b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600b60020160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060020160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600460009054906101000a900460ff1681565b600080600254600354915091509091565b60056020528060005260406000206000915054906101000a900460ff1681565b60005481565b600081611c7885611599565b1015611c8357600080fd5b81600b60020160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060010160008282540392505081905550600080548302905060648181611ce857fe5b0490506000818403905060011515600460009054906101000a900460ff16151514156123b657600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff161480611db75750600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff16145b156120c5576000548402915060c88281611dcd57fe5b049150818403905080600b60020160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600101600082825401925050819055508473ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a360028281611e9757fe5b049150600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a3816002540160028190555081600b6002016000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206001015401600b6002016000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206001018190555081600b6000015403600b60000181905550600073ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a381600b6001015401600b600101819055507fb90306ad06b2a6ff86ddc9327db583062895ef6540e62dc50add009db5b356eb826040518082815260200191505060405180910390a16123b1565b80600b60020160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600101600082825401925050819055508473ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a36002828161218757fe5b049150600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a3816002540160028190555081600b6002016000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206001015401600b6002016000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206001018190555081600b6000015403600b60000181905550600073ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a381600b6001015401600b600101819055507fb90306ad06b2a6ff86ddc9327db583062895ef6540e62dc50add009db5b356eb826040518082815260200191505060405180910390a15b612835565b600073ffffffffffffffffffffffffffffffffffffffff16600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461273a5780600b60020160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206001015401600b60020160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600101819055508473ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a36002828161250c57fe5b049150600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a3816002540160028190555081600b6002016000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206001015401600b6002016000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206001018190555081600b6000015403600b60000181905550600073ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a381600b6001015401600b600101819055507fb90306ad06b2a6ff86ddc9327db583062895ef6540e62dc50add009db5b356eb826040518082815260200191505060405180910390a1612834565b83905083600b60020160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206001015401600b60020160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600101819055508473ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef866040518082815260200191505060405180910390a35b5b80925050509392505050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156128e4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f45524332303a206d696e7420746f20746865207a65726f20616464726573730081525060200191505060405180910390fd5b80600b6000015401600b6000018190555080600b60020160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206001015401600b60020160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600101819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a3505056fea265627a7a72315820f63616209d8c56fc44da26cb08da7638787596fce1344ca8e469ecc71c75f0d064736f6c63430005110032

Deployed Bytecode

0x608060405234801561001057600080fd5b506004361061023d5760003560e01c80635b1397341161013b578063c01f52a9116100b8578063dd62ed3e1161007c578063dd62ed3e14610b76578063e22c720314610bee578063e3b8936f14610c10578063f46eccc414610c35578063f846a88514610c915761023d565b8063c01f52a914610a92578063cc43f3d314610ad6578063d0c5c58514610b04578063d52662de14610b22578063dbb748e814610b2c5761023d565b8063983b2d56116100ff578063983b2d5614610950578063a9059cbb14610994578063ab033ea9146109fa578063ace8923414610a3e578063be51d24414610a485761023d565b80635b139734146107ef57806366d9b91f1461080d57806370a082311461082b578063921c6e761461088357806395d89b41146108cd5761023d565b8063313ce567116101c95780634b22b5e91161018d5780634b22b5e91461069957806355d0a1d0146106dd5780635693e882146106fb57806357f6b8121461073f5780635aa6e675146107a55761023d565b8063313ce567146105915780633ef32be0146105b557806340c10f19146105d357806342966c681461062157806347a14a421461064f5761023d565b8063214fa63411610210578063214fa6341461041757806323b872dd1461042157806324d7806c146104a7578063252de7c6146105035780633092afd51461054d5761023d565b806306fdde0314610242578063095ea7b3146102c5578063153a1f3e1461032b57806318160ddd146103f9575b600080fd5b61024a610caf565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561028a57808201518184015260208101905061026f565b50505050905090810190601f1680156102b75780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b610311600480360360408110156102db57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610ce8565b604051808215151515815260200191505060405180910390f35b6103f76004803603604081101561034157600080fd5b810190808035906020019064010000000081111561035e57600080fd5b82018360208201111561037057600080fd5b8035906020019184602083028401116401000000008311171561039257600080fd5b9091929391929390803590602001906401000000008111156103b357600080fd5b8201836020820111156103c557600080fd5b803590602001918460208302840111640100000000831117156103e757600080fd5b9091929391929390505050610de0565b005b610401610e5d565b6040518082815260200191505060405180910390f35b61041f610e6a565b005b61048d6004803603606081101561043757600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610f08565b604051808215151515815260200191505060405180910390f35b6104e9600480360360208110156104bd57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611040565b604051808215151515815260200191505060405180910390f35b61050b611060565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b61058f6004803603602081101561056357600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611086565b005b6105996111a4565b604051808260ff1660ff16815260200191505060405180910390f35b6105bd6111a9565b6040518082815260200191505060405180910390f35b61061f600480360360408110156105e957600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506111af565b005b61064d6004803603602081101561063757600080fd5b810190808035906020019092919050505061127c565b005b6106576113ae565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6106db600480360360208110156106af57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506113d8565b005b6106e5611476565b6040518082815260200191505060405180910390f35b61073d6004803603602081101561071157600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611483565b005b6107816004803603602081101561075557600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611538565b60405180848152602001838152602001828152602001935050505060405180910390f35b6107ad611563565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6107f7611589565b6040518082815260200191505060405180910390f35b61081561158f565b6040518082815260200191505060405180910390f35b61086d6004803603602081101561084157600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611599565b6040518082815260200191505060405180910390f35b61088b6115e8565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6108d561160e565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156109155780820151818401526020810190506108fa565b50505050905090810190601f1680156109425780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6109926004803603602081101561096657600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611647565b005b6109e0600480360360408110156109aa57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611765565b604051808215151515815260200191505060405180910390f35b610a3c60048036036020811015610a1057600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061177d565b005b610a46611884565b005b610a506118f4565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b610ad460048036036020811015610aa857600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061191a565b005b610b0260048036036020811015610aec57600080fd5b8101908080359060200190929190505050611a21565b005b610b0c611aee565b6040518082815260200191505060405180910390f35b610b2a611af8565b005b610b34611b6f565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b610bd860048036036040811015610b8c57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611b95565b6040518082815260200191505060405180910390f35b610bf6611c22565b604051808215151515815260200191505060405180910390f35b610c18611c35565b604051808381526020018281526020019250505060405180910390f35b610c7760048036036020811015610c4b57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611c46565b604051808215151515815260200191505060405180910390f35b610c99611c66565b6040518082815260200191505060405180910390f35b6040518060400160405280600781526020017f4265727365726b0000000000000000000000000000000000000000000000000081525081565b600081600b60020160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060020160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040518082815260200191505060405180910390a36001905092915050565b818190508484905014610df257600080fd5b60008090505b84849050811015610e5657610e4833868684818110610e1357fe5b9050602002013573ffffffffffffffffffffffffffffffffffffffff16858585818110610e3c57fe5b90506020020135611c6c565b508080600101915050610df8565b5050505050565b6000600b60000154905090565b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610ec457600080fd5b6000600760006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b600081600b60020160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060020160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541015610f9957600080fd5b81600b60020160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060020160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282540392505081905550611034848484611c6c565b50600190509392505050565b600a6020528060005260406000206000915054906101000a900460ff1681565b600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611149576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600b8152602001807f21676f7665726e616e636500000000000000000000000000000000000000000081525060200191505060405180910390fd5b6000600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b601281565b60035481565b600560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1661126e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260078152602001807f216d696e7465720000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b6112788282612841565b5050565b8061128633611599565b101561129157600080fd5b80600b60020160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060010160008282540392505081905550600081905080600b60000160008282540392505081905550600073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a381600b6001015401600b600101819055507fb90306ad06b2a6ff86ddc9327db583062895ef6540e62dc50add009db5b356eb816040518082815260200191505060405180910390a15050565b6000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461143257600080fd5b80600960006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6000600b60010154905090565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146114dd57600080fd5b6001600a60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b6000806000611545610e5d565b61154e85611599565b611556611476565b9250925092509193909250565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60025481565b6000600354905090565b6000600b60020160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600101549050919050565b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6040518060400160405280600381526020017f424552000000000000000000000000000000000000000000000000000000000081525081565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461170a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600b8152602001807f21676f7665726e616e636500000000000000000000000000000000000000000081525060200191505060405180910390fd5b6001600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b6000611772338484611c6c565b506001905092915050565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611840576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600b8152602001807f21676f7665726e616e636500000000000000000000000000000000000000000081525060200191505060405180910390fd5b80600660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b60011515600a60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515146118e157600080fd5b6002546003819055506000600281905550565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146119dd576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600f8152602001807f4e6f7420617574686f72697a656421000000000000000000000000000000000081525060200191505060405180910390fd5b80600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611ae4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600f8152602001807f4e6f7420617574686f72697a656421000000000000000000000000000000000081525060200191505060405180910390fd5b8060008190555050565b6000600254905090565b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611b5257600080fd5b6001600460006101000a81548160ff021916908315150217905550565b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600b60020160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060020160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600460009054906101000a900460ff1681565b600080600254600354915091509091565b60056020528060005260406000206000915054906101000a900460ff1681565b60005481565b600081611c7885611599565b1015611c8357600080fd5b81600b60020160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060010160008282540392505081905550600080548302905060648181611ce857fe5b0490506000818403905060011515600460009054906101000a900460ff16151514156123b657600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff161480611db75750600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff16145b156120c5576000548402915060c88281611dcd57fe5b049150818403905080600b60020160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600101600082825401925050819055508473ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a360028281611e9757fe5b049150600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a3816002540160028190555081600b6002016000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206001015401600b6002016000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206001018190555081600b6000015403600b60000181905550600073ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a381600b6001015401600b600101819055507fb90306ad06b2a6ff86ddc9327db583062895ef6540e62dc50add009db5b356eb826040518082815260200191505060405180910390a16123b1565b80600b60020160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600101600082825401925050819055508473ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a36002828161218757fe5b049150600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a3816002540160028190555081600b6002016000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206001015401600b6002016000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206001018190555081600b6000015403600b60000181905550600073ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a381600b6001015401600b600101819055507fb90306ad06b2a6ff86ddc9327db583062895ef6540e62dc50add009db5b356eb826040518082815260200191505060405180910390a15b612835565b600073ffffffffffffffffffffffffffffffffffffffff16600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461273a5780600b60020160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206001015401600b60020160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600101819055508473ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a36002828161250c57fe5b049150600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a3816002540160028190555081600b6002016000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206001015401600b6002016000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206001018190555081600b6000015403600b60000181905550600073ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a381600b6001015401600b600101819055507fb90306ad06b2a6ff86ddc9327db583062895ef6540e62dc50add009db5b356eb826040518082815260200191505060405180910390a1612834565b83905083600b60020160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206001015401600b60020160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600101819055508473ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef866040518082815260200191505060405180910390a35b5b80925050509392505050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156128e4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f45524332303a206d696e7420746f20746865207a65726f20616464726573730081525060200191505060405180910390fd5b80600b6000015401600b6000018190555080600b60020160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206001015401600b60020160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600101819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a3505056fea265627a7a72315820f63616209d8c56fc44da26cb08da7638787596fce1344ca8e469ecc71c75f0d064736f6c63430005110032

Deployed Bytecode Sourcemap

1648:8851:0:-;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1648:8851:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1984:39;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;1984:39:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3646:203;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;3646:203:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;4599:259;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;4599:259:0;;;;;;;;;;21:11:-1;8;5:28;2:2;;;46:1;43;36:12;2:2;4599:259:0;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;4599:259:0;;;;;;101:9:-1;95:2;81:12;77:21;67:8;63:36;60:51;39:11;25:12;22:29;11:108;8:2;;;132:1;129;122:12;8:2;4599:259:0;;;;;;;;;;;;;;21:11:-1;8;5:28;2:2;;;46:1;43;36:12;2:2;4599:259:0;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;4599:259:0;;;;;;101:9:-1;95:2;81:12;77:21;67:8;63:36;60:51;39:11;25:12;22:29;11:108;8:2;;;132:1;129;122:12;8:2;4599:259:0;;;;;;;;;;;;:::i;:::-;;5849:86;;;:::i;:::-;;;;;;;;;;;;;;;;;;;5364:129;;;:::i;:::-;;3854:266;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;3854:266:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;2304:39;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;2304:39:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;2246:48;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;4439:148;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;4439:148:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;2068:35;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;1901:39;;;:::i;:::-;;;;;;;;;;;;;;;;;;;4870:145;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;4870:145:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;3149:350;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;3149:350:0;;;;;;;;;;;;;;;;;:::i;:::-;;6405:100;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;6655:180;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;6655:180:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;5941:90;;;:::i;:::-;;;;;;;;;;;;;;;;;;;6511:132;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;6511:132:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;7237:196;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;7237:196:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2154:25;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;1866:31;;;:::i;:::-;;;;;;;;;;;;;;;;;;;6289:104;;;:::i;:::-;;;;;;;;;;;;;;;;;;;6984:107;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;6984:107:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;2183:24;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;2027:37;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;2027:37:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4287:144;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;4287:144:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;3508:133;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;3508:133:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;4127:153;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;4127:153:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;6037:152;;;:::i;:::-;;1818:44;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;5670:174;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;5670:174:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;5505:153;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;5505:153:0;;;;;;;;;;;;;;;;;:::i;:::-;;6195:88;;;:::i;:::-;;;;;;;;;;;;;;;;;;;6847:132;;;:::i;:::-;;2211:31;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;7096:136;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;7096:136:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;1944:34;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;7439:123;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;2110:40;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;2110:40:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;1783:28;;;:::i;:::-;;;;;;;;;;;;;;;;;;;1984:39;;;;;;;;;;;;;;;;;;;:::o;3646:203::-;3716:4;3772:7;3727:4;:10;;:22;3738:10;3727:22;;;;;;;;;;;;;;;:32;;:42;3760:8;3727:42;;;;;;;;;;;;;;;:52;;;;3810:8;3789:39;;3798:10;3789:39;;;3820:7;3789:39;;;;;;;;;;;;;;;;;;3840:4;3833:11;;3646:203;;;;:::o;4599:259::-;4724:8;;:15;;4703:10;;:17;;:36;4695:45;;;;;;4750:9;4762:1;4750:13;;4745:109;4769:10;;:17;;4765:1;:21;4745:109;;;4799:49;4809:10;4821;;4832:1;4821:13;;;;;;;;;;;;;;;4836:8;;4845:1;4836:11;;;;;;;;;;;;;4799:9;:49::i;:::-;;4788:3;;;;;;;4745:109;;;;4599:259;;;;:::o;5849:86::-;5893:7;5914:4;:16;;;5907:23;;5849:86;:::o;5364:129::-;5441:9;;;;;;;;;;;5427:23;;:10;:23;;;5418:33;;;;;;5481:3;5462:9;;:23;;;;;;;;;;;;;;;;;;5364:129::o;3854:266::-;3939:4;4001:7;3958:4;:10;;:17;3969:5;3958:17;;;;;;;;;;;;;;;:27;;:39;3986:10;3958:39;;;;;;;;;;;;;;;;:50;;3950:59;;;;;;4057:7;4014:4;:10;;:17;4025:5;4014:17;;;;;;;;;;;;;;;:27;;:39;4042:10;4014:39;;;;;;;;;;;;;;;;:50;;;;;;;;;;;4069:30;4079:5;4086:3;4091:7;4069:9;:30::i;:::-;;4111:4;4104:11;;3854:266;;;;;:::o;2304:39::-;;;;;;;;;;;;;;;;;;;;;;:::o;2246:48::-;;;;;;;;;;;;;:::o;4439:148::-;4518:10;;;;;;;;;;;4504:24;;:10;:24;;;4496:48;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4574:5;4555:7;:16;4563:7;4555:16;;;;;;;;;;;;;;;;:24;;;;;;;;;;;;;;;;;;4439:148;:::o;2068:35::-;2101:2;2068:35;:::o;1901:39::-;;;;:::o;4870:145::-;4943:7;:19;4951:10;4943:19;;;;;;;;;;;;;;;;;;;;;;;;;4935:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4985:22;4991:7;5000:6;4985:5;:22::i;:::-;4870:145;;:::o;3149:350::-;3227:7;3202:21;3212:10;3202:9;:21::i;:::-;:32;;3194:41;;;;;;3274:7;3240:4;:10;;:22;3251:10;3240:22;;;;;;;;;;;;;;;:30;;;:41;;;;;;;;;;;3286:21;3310:7;3286:31;;3342:13;3322:4;:16;;;:33;;;;;;;;;;;3394:3;3365:49;;3374:10;3365:49;;;3400:13;3365:49;;;;;;;;;;;;;;;;;;3458:7;3438:4;:17;;;:27;3419:4;:17;;:46;;;;3475:19;3480:13;3475:19;;;;;;;;;;;;;;;;;;3149:350;;:::o;6405:100::-;6456:7;6482:15;;;;;;;;;;;6475:22;;6405:100;:::o;6655:180::-;6759:16;;;;;;;;;;;6745:30;;:10;:30;;;6736:40;;;;;;6808:19;6787:18;;:40;;;;;;;;;;;;;;;;;;6655:180;:::o;5941:90::-;5986:7;6009:4;:17;;;6002:24;;5941:90;:::o;6511:132::-;6591:10;;;;;;;;;;;6577:24;;:10;:24;;;6568:34;;;;;;6631:4;6613:7;:15;6621:6;6613:15;;;;;;;;;;;;;;;;:22;;;;;;;;;;;;;;;;;;6511:132;:::o;7237:196::-;7293:24;7319:19;7340:25;7380:13;:11;:13::i;:::-;7395:16;7405:5;7395:9;:16::i;:::-;7413:14;:12;:14::i;:::-;7372:56;;;;;;7237:196;;;;;:::o;2154:25::-;;;;;;;;;;;;;:::o;1866:31::-;;;;:::o;6289:104::-;6343:7;6366:22;;6359:29;;6289:104;:::o;6984:107::-;7039:7;7060:4;:10;;:17;7071:5;7060:17;;;;;;;;;;;;;;;:25;;;7053:32;;6984:107;;;:::o;2183:24::-;;;;;;;;;;;;;:::o;2027:37::-;;;;;;;;;;;;;;;;;;;:::o;4287:144::-;4363:10;;;;;;;;;;;4349:24;;:10;:24;;;4341:48;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4419:4;4400:7;:16;4408:7;4400:16;;;;;;;;;;;;;;;;:23;;;;;;;;;;;;;;;;;;4287:144;:::o;3508:133::-;3574:4;3585:35;3595:10;3607:3;3612:7;3585:9;:35::i;:::-;;3632:4;3625:11;;3508:133;;;;:::o;4127:153::-;4211:10;;;;;;;;;;;4197:24;;:10;:24;;;4189:48;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4261:11;4248:10;;:24;;;;;;;;;;;;;;;;;;4127:153;:::o;6037:152::-;6108:4;6087:25;;:7;:19;6095:10;6087:19;;;;;;;;;;;;;;;;;;;;;;;;;:25;;;6079:34;;;;;;6145:14;;6121:22;:38;;;;6183:1;6167:14;:17;;;;6037:152::o;1818:44::-;;;;;;;;;;;;;:::o;5670:174::-;5763:9;;;;;;;;;;;5749:23;;:10;:23;;;5741:51;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5820:16;5803:15;;:33;;;;;;;;;;;;;;;;;;5670:174;:::o;5505:153::-;5588:9;;;;;;;;;;;5574:23;;:10;:23;;;5566:51;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5639:11;5628:9;:22;;;;5505:153;:::o;6195:88::-;6241:7;6264:14;;6257:21;;6195:88;:::o;6847:132::-;6921:16;;;;;;;;;;;6907:30;;:10;:30;;;6898:40;;;;;;6967:4;6949:15;;:22;;;;;;;;;;;;;;;;;;6847:132::o;2211:31::-;;;;;;;;;;;;;:::o;7096:136::-;7169:7;7190:4;:10;;:17;7201:5;7190:17;;;;;;;;;;;;;;;:27;;:37;7218:8;7190:37;;;;;;;;;;;;;;;;7183:44;;7096:136;;;;:::o;1944:34::-;;;;;;;;;;;;;:::o;7439:123::-;7485:7;7494;7518:14;;7534:22;;7510:47;;;;7439:123;;:::o;2110:40::-;;;;;;;;;;;;;;;;;;;;;;:::o;1783:28::-;;;;:::o;7567:2803::-;7649:7;7691;7671:16;7681:5;7671:9;:16::i;:::-;:27;;7663:36;;;;;;7733:7;7704:4;:10;;:17;7715:5;7704:17;;;;;;;;;;;;;;;:25;;;:36;;;;;;;;;;;7745:21;7779:9;;7769:7;:19;7745:43;;7824:3;7808:13;:19;;;;;;7793:34;;7832:20;7865:13;7855:7;:23;7832:46;;7914:4;7895:23;;:15;;;;;;;;;;;:23;;;7891:2447;;;7948:18;;;;;;;;;;;7939:27;;:5;:27;;;:56;;;;7977:18;;;;;;;;;;;7970:25;;:3;:25;;;7939:56;7935:1518;;;8059:9;;8049:7;:19;8033:35;;8119:3;8103:13;:19;;;;;;8088:34;;8166:13;8156:7;:23;8141:38;;8243:12;8216:4;:10;;:15;8227:3;8216:15;;;;;;;;;;;;;;;:23;;;:39;;;;;;;;;;;8289:3;8273:34;;8282:5;8273:34;;;8294:12;8273:34;;;;;;;;;;;;;;;;;;8334:1;8317:18;;;;;;;;;8375:15;;;;;;;;;;;8359:47;;8368:5;8359:47;;;8392:13;8359:47;;;;;;;;;;;;;;;;;;8448:13;8432:14;;:29;8416:14;:45;;;;8556:13;8519:4;:10;;:27;8530:15;;;;;;;;;;;8519:27;;;;;;;;;;;;;;;:35;;;:50;8480:4;:10;;:27;8491:15;;;;;;;;;;;8480:27;;;;;;;;;;;;;;;:35;;:89;;;;8616:13;8597:4;:16;;;:32;8579:4;:16;;:50;;;;8677:3;8653:44;;8662:5;8653:44;;;8683:13;8653:44;;;;;;;;;;;;;;;;;;8746:13;8726:4;:17;;;:33;8707:4;:17;;:52;;;;8774:19;8779:13;8774:19;;;;;;;;;;;;;;;;;;7935:1518;;;8896:12;8869:4;:10;;:15;8880:3;8869:15;;;;;;;;;;;;;;;:23;;;:39;;;;;;;;;;;8942:3;8926:34;;8935:5;8926:34;;;8947:12;8926:34;;;;;;;;;;;;;;;;;;8987:1;8970:18;;;;;;;;;9019:15;;;;;;;;;;;9003:47;;9012:5;9003:47;;;9036:13;9003:47;;;;;;;;;;;;;;;;;;9092:13;9076:14;;:29;9060:14;:45;;;;9200:13;9163:4;:10;;:27;9174:15;;;;;;;;;;;9163:27;;;;;;;;;;;;;;;:35;;;:50;9124:4;:10;;:27;9135:15;;;;;;;;;;;9124:27;;;;;;;;;;;;;;;:35;;:89;;;;9260:13;9241:4;:16;;;:32;9223:4;:16;;:50;;;;9321:3;9297:44;;9306:5;9297:44;;;9327:13;9297:44;;;;;;;;;;;;;;;;;;9390:13;9370:4;:17;;;:33;9351:4;:17;;:52;;;;9418:19;9423:13;9418:19;;;;;;;;;;;;;;;;;;7935:1518;7891:2447;;;9521:3;9494:31;;:15;;;;;;;;;;;:31;;;9490:837;;9592:12;9566:4;:10;;:15;9577:3;9566:15;;;;;;;;;;;;;;;:23;;;:38;9540:4;:10;;:15;9551:3;9540:15;;;;;;;;;;;;;;;:23;;:64;;;;9638:3;9622:34;;9631:5;9622:34;;;9643:12;9622:34;;;;;;;;;;;;;;;;;;9683:1;9666:18;;;;;;;;;9715:15;;;;;;;;;;;9699:47;;9708:5;9699:47;;;9732:13;9699:47;;;;;;;;;;;;;;;;;;9788:13;9772:14;;:29;9756:14;:45;;;;9896:13;9859:4;:10;;:27;9870:15;;;;;;;;;;;9859:27;;;;;;;;;;;;;;;:35;;;:50;9820:4;:10;;:27;9831:15;;;;;;;;;;;9820:27;;;;;;;;;;;;;;;:35;;:89;;;;9956:13;9937:4;:16;;;:32;9919:4;:16;;:50;;;;10017:3;9993:44;;10002:5;9993:44;;;10023:13;9993:44;;;;;;;;;;;;;;;;;;10086:13;10066:4;:17;;;:33;10047:4;:17;;:52;;;;10114:19;10119:13;10114:19;;;;;;;;;;;;;;;;;;9490:837;;;10191:7;10177:21;;10263:7;10237:4;:10;;:15;10248:3;10237:15;;;;;;;;;;;;;;;:23;;;:33;10211:4;:10;;:15;10222:3;10211:15;;;;;;;;;;;;;;;:23;;:59;;;;10304:3;10288:29;;10297:5;10288:29;;;10309:7;10288:29;;;;;;;;;;;;;;;;;;9490:837;7891:2447;10353:12;10346:19;;;;7567:2803;;;;;:::o;5027:325::-;5119:1;5100:21;;:7;:21;;;;5092:65;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5204:6;5187:4;:16;;;:23;5168:4;:16;;:42;;;;5285:6;5254:4;:10;;:22;5265:10;5254:22;;;;;;;;;;;;;;;:30;;;:37;5221:4;:10;;:22;5232:10;5221:22;;;;;;;;;;;;;;;:30;;:70;;;;5328:7;5307:37;;5324:1;5307:37;;;5337:6;5307:37;;;;;;;;;;;;;;;;;;5027:325;;:::o

Swarm Source

bzzr://f63616209d8c56fc44da26cb08da7638787596fce1344ca8e469ecc71c75f0d0
Loading...
Loading
Loading...
Loading
[ Download: CSV Export  ]
[ Download: CSV Export  ]

A token is a representation of an on-chain or off-chain asset. The token page shows information such as price, total supply, holders, transfers and social links. Learn more about this page in our Knowledge Base.