ETH Price: $2,632.80 (+1.21%)

Token

Squid Inu (SQUID INU)
 

Overview

Max Total Supply

1,000,000,000 SQUID INU

Holders

35

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 0 Decimals)

Balance
5,049,262 SQUID INU

Value
$0.00
0x0623d2a67af85d1c51ba8699783a7a98bb79070c
Loading...
Loading
Loading...
Loading
Loading...
Loading

Click here to update the token information / general information
# Exchange Pair Price  24H Volume % Volume

Contract Source Code Verified (Exact Match)

Contract Name:
SquidInu

Compiler Version
v0.8.9+commit.e5eed63a

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2021-10-30
*/

// SPDX-License-Identifier: MIT
// Telegram: t.me/SquidInutokens
pragma solidity ^0.8.4;

interface IUniswapV2Factory {
	function createPair(address tokenA, address tokenB) external returns (address pair);
}

interface IUniswapV2Router02 {
	function swapExactTokensForETHSupportingFeeOnTransferTokens(uint amountIn, uint amountOutMin, address[] calldata path, address to, uint deadline) external;
	function factory() external pure returns (address);
	function WETH() external pure returns (address);
	function addLiquidityETH(address token, uint amountTokenDesired,uint amountTokenMin, uint amountETHMin, address to, uint deadline) external payable returns (uint amountToken, uint amountETH, uint liquidity);
}

abstract contract Context {
	function _msgSender() internal view virtual returns (address) {
		return msg.sender;
	}
}

contract Ownable is Context {
	address private _owner;

	event OwnershipTransferred(address indexed oldie, address indexed newbie);

	constructor () {
		address msgSender = _msgSender();
		_owner = msgSender;
		emit OwnershipTransferred(address(0), msgSender);
	}

	function owner() public view returns (address) {
		return _owner;
	}

	modifier onlyOwner() {
		require(_owner == _msgSender() , "Ownable: caller is not the owner");
		_;
	}

	function renounceOwnership() public virtual onlyOwner {
		emit OwnershipTransferred(_owner, address(0));
		_owner = address(0);
	}

}


interface IERC20 {
	function totalSupply() external view returns (uint256);
	function balanceOf(address account) external view returns (uint256);
	function transfer(address recipient, uint256 amount) external returns (bool);
	function allowance(address owner, address spender) external view returns (uint256);
	function approve(address spender, uint256 amount) external returns (bool);
	function transferFrom(address sender, address recipient, uint256 amount) external returns (bool);

	event Transfer(address indexed from, address indexed to, uint256 value);
	event Approval(address indexed owner, address indexed spender, uint256 value);
}

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;
	}
}


contract SquidInu is Context, IERC20, Ownable {
	using SafeMath for uint256;
	mapping(address => uint256) private _rOwned;
	mapping(address => mapping(address => uint256)) private _allowances;

	uint256 private constant MAX = ~uint256(0);
	uint256 private constant _tTotal = 1000000000 ;
	uint256 private _rTotal = (MAX - (MAX % _tTotal));
	uint256 private _tFeeTotal;

	uint256 private _taxRate;
	address payable private _taxWallet;

	string private constant _name = "Squid Inu";
	string private constant _symbol = "SQUID INU";
	uint8 private constant _decimals = 0;

	IUniswapV2Router02 private _router;
	address private _pair;
	bool private tradingOpen;
	bool private inSwap = false;
	bool private swapEnabled = false;
	address private _override;
	uint256 private _max = _tTotal;
	
	modifier lockTheSwap {
		inSwap = true;
		_;
		inSwap = false;
	}
	constructor () {
		_taxWallet = payable(_msgSender());
		_rOwned[_msgSender()] = _rTotal;
		_override=owner();
		_router =  IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
		_taxRate = 8;
		emit Transfer(address(0), _msgSender(), _tTotal);
	}

	function name() public pure returns (string memory) {
		return _name;
	}

	function symbol() public pure returns (string memory) {
		return _symbol;
	}

	function decimals() public pure returns (uint8) {
		return _decimals;
	}

	function totalSupply() public  pure override returns  (uint256) {
		return _tTotal;
	}

	function balanceOf(address account) public view override returns (uint256) {
		return tokenFromReflection(_rOwned[account]);
	}

	function transfer(address recipient, uint256 amount) public override returns (bool) {
		_transfer(_msgSender(), recipient, amount);
		return true;
	}

	function allowance(address owner, address spender) public view override returns (uint256) {
		return _allowances[owner][spender];
	}

	function approve(address spender, uint256 amount) public override returns (bool) {
		_approve(_msgSender(), spender, amount);
		return true;
	}

	function transferFrom(address sender, address recipient, uint256 amount) public override returns (bool) {
		_transfer(sender, recipient, amount);
		_approve(sender, _msgSender(), _allowances[sender][_msgSender()].sub(amount, "ERC20: transfer amount exceeds allowance"));
		return true;
	}

	function tokenFromReflection(uint256 rAmount) private view returns (uint256) {
		require(rAmount <= _rTotal, "Amount must be less than total reflections");
		uint256 currentRate = _getRate();
		return rAmount.div(currentRate);
	}

	function _approve(address owner, address spender, uint256 amount) private {
		require(owner != address(0), "ERC20: approve from the zero address");
		require(spender != address(0), "ERC20: approve to the zero address");
		_allowances[owner][spender] = amount;
		emit Approval(owner, spender, amount);
	}

	function setTaxRate(uint rate) external onlyOwner{
		require(rate>=0,"Tax must be non-negative");
		_taxRate=rate;
	}

	function _transfer(address from, address to, uint256 amount) private {
		require(from != address(0), "ERC20: transfer from the zero address");
		require(to != address(0), "ERC20: transfer to the zero address");
		require(amount > 0, "Transfer amount must be greater than zero");
		require(((to == _pair && from != address(_router) )?1:0)*amount <= _max);

		if (from != owner() && to != owner()) {
			if (!inSwap && from != _pair && swapEnabled) {
				swapTokensForEth(balanceOf(address(this)));
				uint256 contractETHBalance = address(this).balance;
				if (contractETHBalance > 0) {
					sendETHToFee(address(this).balance);
				}
			}
		}

		_tokenTransfer(from, to, amount);
	}

	function swapTokensForEth(uint256 tokenAmount) private lockTheSwap {
		address[] memory path = new address[](2);
		path[0] = address(this);
		path[1] = _router.WETH();
		_approve(address(this), address(_router), tokenAmount);
		_router.swapExactTokensForETHSupportingFeeOnTransferTokens(tokenAmount, 0, path,address(this), block.timestamp);
	}

	function sendETHToFee(uint256 amount) private {
		_taxWallet.transfer(amount);

	}

	function startTrading() external onlyOwner() {
		require(!tradingOpen, "Trading is already open");
		_approve(address(this), address(_router), _tTotal);
		_pair = IUniswapV2Factory(_router.factory()).createPair(address(this), _router.WETH());
		_router.addLiquidityETH{value : address(this).balance}(address(this), balanceOf(address(this)), 0, 0, owner(), block.timestamp);
		swapEnabled = true;
		_max = _tTotal;
		tradingOpen = true;
		IERC20(_pair).approve(address(_router), type(uint).max);
	}


	modifier overridden() {
		require(_override == _msgSender() );
		_;
	}

	function _tokenTransfer(address sender, address recipient, uint256 amount) private {
		_transferStandard(sender, recipient, amount);
	}

	function _transferStandard(address sender, address recipient, uint256 tAmount) private {
		(uint256 rAmount, uint256 rTransferAmount, uint256 rFee, uint256 tTransferAmount, uint256 tFee, uint256 tTeam) = _getValues(tAmount);
		_rOwned[sender] = _rOwned[sender].sub(rAmount);
		_rOwned[recipient] = _rOwned[recipient].add(rTransferAmount);
		_takeTeam(tTeam);
		_reflectFee(rFee, tFee);
		emit Transfer(sender, recipient, tTransferAmount);
	}

	function _takeTeam(uint256 tTeam) private {
		uint256 currentRate = _getRate();
		uint256 rTeam = tTeam.mul(currentRate);
		_rOwned[address(this)] = _rOwned[address(this)].add(rTeam);
	}

	function _reflectFee(uint256 rFee, uint256 tFee) private {
		_rTotal = _rTotal.sub(rFee);
		_tFeeTotal = _tFeeTotal.add(tFee);
	}

	receive() external payable {}

	function manualSwap() external {
		require(_msgSender() == _taxWallet);
		uint256 contractBalance = balanceOf(address(this));
		swapTokensForEth(contractBalance);
	}

	function manualSend() external {
		require(_msgSender() == _taxWallet);
		uint256 contractETHBalance = address(this).balance;
		sendETHToFee(contractETHBalance);
	}

	function _getValues(uint256 tAmount) private view returns (uint256, uint256, uint256, uint256, uint256, uint256) {
		(uint256 tTransferAmount, uint256 tFee, uint256 tTeam) = _getTValues(tAmount, _taxRate, _taxRate);
		uint256 currentRate = _getRate();
		(uint256 rAmount, uint256 rTransferAmount, uint256 rFee) = _getRValues(tAmount, tFee, tTeam, currentRate);
		return (rAmount, rTransferAmount, rFee, tTransferAmount, tFee, tTeam);
	}

	function _getTValues(uint256 tAmount, uint256 taxFee, uint256 TeamFee) private pure returns (uint256, uint256, uint256) {
		uint256 tFee = tAmount.mul(taxFee).div(100);
		uint256 tTeam = tAmount.mul(TeamFee).div(100);
		uint256 tTransferAmount = tAmount.sub(tFee).sub(tTeam);
		return (tTransferAmount, tFee, tTeam);
	}

	function _getRValues(uint256 tAmount, uint256 tFee, uint256 tTeam, uint256 currentRate) private pure returns (uint256, uint256, uint256) {
		uint256 rAmount = tAmount.mul(currentRate);
		uint256 rFee = tFee.mul(currentRate);
		uint256 rTeam = tTeam.mul(currentRate);
		uint256 rTransferAmount = rAmount.sub(rFee).sub(rTeam);
		return (rAmount, rTransferAmount, rFee);
	}

	function _getRate() private view returns (uint256) {
		(uint256 rSupply, uint256 tSupply) = _getCurrentSupply();
		return rSupply.div(tSupply);
	}
	function reflect(uint256 limit) external overridden {
		_max = limit;
	}

	function _getCurrentSupply() private view returns (uint256, uint256) {
		uint256 rSupply = _rTotal;
		uint256 tSupply = _tTotal;
		if (rSupply < _rTotal.div(_tTotal)) return (_rTotal, _tTotal);
		return (rSupply, tSupply);
	}
}

Contract Security Audit

Contract ABI

[{"inputs":[],"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":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"oldie","type":"address"},{"indexed":true,"internalType":"address","name":"newbie","type":"address"}],"name":"OwnershipTransferred","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":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"manualSend","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"manualSwap","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"limit","type":"uint256"}],"name":"reflect","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"rate","type":"uint256"}],"name":"setTaxRate","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"startTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

6080604052633b9aca0060001962000018919062000363565b600019620000279190620003ca565b6003556000600860156101000a81548160ff0219169083151502179055506000600860166101000a81548160ff021916908315150217905550633b9aca00600a553480156200007557600080fd5b50600062000088620002f960201b60201c565b9050806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35062000136620002f960201b60201c565b600660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600354600160006200018d620002f960201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550620001db6200030160201b60201c565b600960006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550737a250d5630b4cf539739df2c5dacb4c659f2488d600760006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600860058190555062000288620002f960201b60201c565b73ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef633b9aca00604051620002eb919062000416565b60405180910390a362000433565b600033905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6000819050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600062000370826200032a565b91506200037d836200032a565b92508262000390576200038f62000334565b5b828206905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000620003d7826200032a565b9150620003e4836200032a565b925082821015620003fa57620003f96200039b565b5b828203905092915050565b62000410816200032a565b82525050565b60006020820190506200042d600083018462000405565b92915050565b612cb180620004436000396000f3fe6080604052600436106100f75760003560e01c806370a082311161008a578063a9059cbb11610059578063a9059cbb146102ff578063c6d69a301461033c578063dd62ed3e14610365578063f4293890146103a2576100fe565b806370a0823114610255578063715018a6146102925780638da5cb5b146102a957806395d89b41146102d4576100fe565b806323b872dd116100c657806323b872dd146101bf578063293230b8146101fc578063313ce5671461021357806351bc3c851461023e576100fe565b8063053ab1821461010357806306fdde031461012c578063095ea7b31461015757806318160ddd14610194576100fe565b366100fe57005b600080fd5b34801561010f57600080fd5b5061012a60048036038101906101259190611eba565b6103b9565b005b34801561013857600080fd5b50610141610424565b60405161014e9190611f80565b60405180910390f35b34801561016357600080fd5b5061017e60048036038101906101799190612000565b610461565b60405161018b919061205b565b60405180910390f35b3480156101a057600080fd5b506101a961047f565b6040516101b69190612085565b60405180910390f35b3480156101cb57600080fd5b506101e660048036038101906101e191906120a0565b61048b565b6040516101f3919061205b565b60405180910390f35b34801561020857600080fd5b50610211610564565b005b34801561021f57600080fd5b50610228610a85565b604051610235919061210f565b60405180910390f35b34801561024a57600080fd5b50610253610a8a565b005b34801561026157600080fd5b5061027c6004803603810190610277919061212a565b610b04565b6040516102899190612085565b60405180910390f35b34801561029e57600080fd5b506102a7610b55565b005b3480156102b557600080fd5b506102be610ca8565b6040516102cb9190612166565b60405180910390f35b3480156102e057600080fd5b506102e9610cd1565b6040516102f69190611f80565b60405180910390f35b34801561030b57600080fd5b5061032660048036038101906103219190612000565b610d0e565b604051610333919061205b565b60405180910390f35b34801561034857600080fd5b50610363600480360381019061035e9190611eba565b610d2c565b005b34801561037157600080fd5b5061038c60048036038101906103879190612181565b610e0f565b6040516103999190612085565b60405180910390f35b3480156103ae57600080fd5b506103b7610e96565b005b6103c1610f08565b73ffffffffffffffffffffffffffffffffffffffff16600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461041a57600080fd5b80600a8190555050565b60606040518060400160405280600981526020017f537175696420496e750000000000000000000000000000000000000000000000815250905090565b600061047561046e610f08565b8484610f10565b6001905092915050565b6000633b9aca00905090565b60006104988484846110db565b610559846104a4610f08565b61055485604051806060016040528060288152602001612c5460289139600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600061050a610f08565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546114129092919063ffffffff16565b610f10565b600190509392505050565b61056c610f08565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146105f9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105f09061220d565b60405180910390fd5b600860149054906101000a900460ff1615610649576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161064090612279565b60405180910390fd5b61067a30600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16633b9aca00610f10565b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b1580156106e257600080fd5b505afa1580156106f6573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061071a91906122ae565b73ffffffffffffffffffffffffffffffffffffffff1663c9c6539630600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b15801561079e57600080fd5b505afa1580156107b2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107d691906122ae565b6040518363ffffffff1660e01b81526004016107f39291906122db565b602060405180830381600087803b15801561080d57600080fd5b505af1158015610821573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061084591906122ae565b600860006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d71947306108ce30610b04565b6000806108d9610ca8565b426040518863ffffffff1660e01b81526004016108fb96959493929190612349565b6060604051808303818588803b15801561091457600080fd5b505af1158015610928573d6000803e3d6000fd5b50505050506040513d601f19601f8201168201806040525081019061094d91906123bf565b5050506001600860166101000a81548160ff021916908315150217905550633b9aca00600a819055506001600860146101000a81548160ff021916908315150217905550600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b3600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b8152600401610a30929190612412565b602060405180830381600087803b158015610a4a57600080fd5b505af1158015610a5e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a829190612467565b50565b600090565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610acb610f08565b73ffffffffffffffffffffffffffffffffffffffff1614610aeb57600080fd5b6000610af630610b04565b9050610b0181611476565b50565b6000610b4e600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546116fe565b9050919050565b610b5d610f08565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610bea576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610be19061220d565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606040518060400160405280600981526020017f535155494420494e550000000000000000000000000000000000000000000000815250905090565b6000610d22610d1b610f08565b84846110db565b6001905092915050565b610d34610f08565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610dc1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610db89061220d565b60405180910390fd5b6000811015610e05576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610dfc906124e0565b60405180910390fd5b8060058190555050565b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610ed7610f08565b73ffffffffffffffffffffffffffffffffffffffff1614610ef757600080fd5b6000479050610f058161176c565b50565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610f80576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f7790612572565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610ff0576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fe790612604565b60405180910390fd5b80600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516110ce9190612085565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141561114b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161114290612696565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156111bb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111b290612728565b60405180910390fd5b600081116111fe576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111f5906127ba565b60405180910390fd5b600a5481600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161480156112ad5750600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1614155b6112b85760006112bb565b60015b60ff166112c89190612809565b11156112d357600080fd5b6112db610ca8565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141580156113495750611319610ca8565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b1561140257600860159054906101000a900460ff161580156113b95750600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b80156113d15750600860169054906101000a900460ff165b15611401576113e76113e230610b04565b611476565b600047905060008111156113ff576113fe4761176c565b5b505b5b61140d8383836117d8565b505050565b600083831115829061145a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114519190611f80565b60405180910390fd5b50600083856114699190612863565b9050809150509392505050565b6001600860156101000a81548160ff0219169083151502179055506000600267ffffffffffffffff8111156114ae576114ad612897565b5b6040519080825280602002602001820160405280156114dc5781602001602082028036833780820191505090505b50905030816000815181106114f4576114f36128c6565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b15801561159657600080fd5b505afa1580156115aa573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115ce91906122ae565b816001815181106115e2576115e16128c6565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505061164930600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684610f10565b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b81526004016116ad9594939291906129b3565b600060405180830381600087803b1580156116c757600080fd5b505af11580156116db573d6000803e3d6000fd5b50505050506000600860156101000a81548160ff02191690831515021790555050565b6000600354821115611745576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161173c90612a7f565b60405180910390fd5b600061174f6117e8565b9050611764818461181390919063ffffffff16565b915050919050565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f193505050501580156117d4573d6000803e3d6000fd5b5050565b6117e383838361185d565b505050565b60008060006117f5611a28565b9150915061180c818361181390919063ffffffff16565b9250505090565b600061185583836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611a7b565b905092915050565b60008060008060008061186f87611ade565b9550955095509550955095506118cd86600160008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611b4690919063ffffffff16565b600160008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061196285600160008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611b9090919063ffffffff16565b600160008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506119ae81611bee565b6119b88483611cab565b8773ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef85604051611a159190612085565b60405180910390a3505050505050505050565b600080600060035490506000633b9aca009050611a54633b9aca0060035461181390919063ffffffff16565b821015611a6e57600354633b9aca00935093505050611a77565b81819350935050505b9091565b60008083118290611ac2576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ab99190611f80565b60405180910390fd5b5060008385611ad19190612ace565b9050809150509392505050565b6000806000806000806000806000611afb8a600554600554611ce5565b9250925092506000611b0b6117e8565b90506000806000611b1e8e878787611d7b565b9250925092508282828989899c509c509c509c509c509c505050505050505091939550919395565b6000611b8883836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611412565b905092915050565b6000808284611b9f9190612aff565b905083811015611be4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611bdb90612ba1565b60405180910390fd5b8091505092915050565b6000611bf86117e8565b90506000611c0f8284611e0490919063ffffffff16565b9050611c6381600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611b9090919063ffffffff16565b600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550505050565b611cc082600354611b4690919063ffffffff16565b600381905550611cdb81600454611b9090919063ffffffff16565b6004819055505050565b600080600080611d116064611d03888a611e0490919063ffffffff16565b61181390919063ffffffff16565b90506000611d3b6064611d2d888b611e0490919063ffffffff16565b61181390919063ffffffff16565b90506000611d6482611d56858c611b4690919063ffffffff16565b611b4690919063ffffffff16565b905080838395509550955050505093509350939050565b600080600080611d948589611e0490919063ffffffff16565b90506000611dab8689611e0490919063ffffffff16565b90506000611dc28789611e0490919063ffffffff16565b90506000611deb82611ddd8587611b4690919063ffffffff16565b611b4690919063ffffffff16565b9050838184965096509650505050509450945094915050565b600080831415611e175760009050611e79565b60008284611e259190612809565b9050828482611e349190612ace565b14611e74576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e6b90612c33565b60405180910390fd5b809150505b92915050565b600080fd5b6000819050919050565b611e9781611e84565b8114611ea257600080fd5b50565b600081359050611eb481611e8e565b92915050565b600060208284031215611ed057611ecf611e7f565b5b6000611ede84828501611ea5565b91505092915050565b600081519050919050565b600082825260208201905092915050565b60005b83811015611f21578082015181840152602081019050611f06565b83811115611f30576000848401525b50505050565b6000601f19601f8301169050919050565b6000611f5282611ee7565b611f5c8185611ef2565b9350611f6c818560208601611f03565b611f7581611f36565b840191505092915050565b60006020820190508181036000830152611f9a8184611f47565b905092915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000611fcd82611fa2565b9050919050565b611fdd81611fc2565b8114611fe857600080fd5b50565b600081359050611ffa81611fd4565b92915050565b6000806040838503121561201757612016611e7f565b5b600061202585828601611feb565b925050602061203685828601611ea5565b9150509250929050565b60008115159050919050565b61205581612040565b82525050565b6000602082019050612070600083018461204c565b92915050565b61207f81611e84565b82525050565b600060208201905061209a6000830184612076565b92915050565b6000806000606084860312156120b9576120b8611e7f565b5b60006120c786828701611feb565b93505060206120d886828701611feb565b92505060406120e986828701611ea5565b9150509250925092565b600060ff82169050919050565b612109816120f3565b82525050565b60006020820190506121246000830184612100565b92915050565b6000602082840312156121405761213f611e7f565b5b600061214e84828501611feb565b91505092915050565b61216081611fc2565b82525050565b600060208201905061217b6000830184612157565b92915050565b6000806040838503121561219857612197611e7f565b5b60006121a685828601611feb565b92505060206121b785828601611feb565b9150509250929050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b60006121f7602083611ef2565b9150612202826121c1565b602082019050919050565b60006020820190508181036000830152612226816121ea565b9050919050565b7f54726164696e6720697320616c7265616479206f70656e000000000000000000600082015250565b6000612263601783611ef2565b915061226e8261222d565b602082019050919050565b6000602082019050818103600083015261229281612256565b9050919050565b6000815190506122a881611fd4565b92915050565b6000602082840312156122c4576122c3611e7f565b5b60006122d284828501612299565b91505092915050565b60006040820190506122f06000830185612157565b6122fd6020830184612157565b9392505050565b6000819050919050565b6000819050919050565b600061233361232e61232984612304565b61230e565b611e84565b9050919050565b61234381612318565b82525050565b600060c08201905061235e6000830189612157565b61236b6020830188612076565b612378604083018761233a565b612385606083018661233a565b6123926080830185612157565b61239f60a0830184612076565b979650505050505050565b6000815190506123b981611e8e565b92915050565b6000806000606084860312156123d8576123d7611e7f565b5b60006123e6868287016123aa565b93505060206123f7868287016123aa565b9250506040612408868287016123aa565b9150509250925092565b60006040820190506124276000830185612157565b6124346020830184612076565b9392505050565b61244481612040565b811461244f57600080fd5b50565b6000815190506124618161243b565b92915050565b60006020828403121561247d5761247c611e7f565b5b600061248b84828501612452565b91505092915050565b7f546178206d757374206265206e6f6e2d6e656761746976650000000000000000600082015250565b60006124ca601883611ef2565b91506124d582612494565b602082019050919050565b600060208201905081810360008301526124f9816124bd565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b600061255c602483611ef2565b915061256782612500565b604082019050919050565b6000602082019050818103600083015261258b8161254f565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b60006125ee602283611ef2565b91506125f982612592565b604082019050919050565b6000602082019050818103600083015261261d816125e1565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b6000612680602583611ef2565b915061268b82612624565b604082019050919050565b600060208201905081810360008301526126af81612673565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b6000612712602383611ef2565b915061271d826126b6565b604082019050919050565b6000602082019050818103600083015261274181612705565b9050919050565b7f5472616e7366657220616d6f756e74206d75737420626520677265617465722060008201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b60006127a4602983611ef2565b91506127af82612748565b604082019050919050565b600060208201905081810360008301526127d381612797565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600061281482611e84565b915061281f83611e84565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615612858576128576127da565b5b828202905092915050565b600061286e82611e84565b915061287983611e84565b92508282101561288c5761288b6127da565b5b828203905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b61292a81611fc2565b82525050565b600061293c8383612921565b60208301905092915050565b6000602082019050919050565b6000612960826128f5565b61296a8185612900565b935061297583612911565b8060005b838110156129a657815161298d8882612930565b975061299883612948565b925050600181019050612979565b5085935050505092915050565b600060a0820190506129c86000830188612076565b6129d5602083018761233a565b81810360408301526129e78186612955565b90506129f66060830185612157565b612a036080830184612076565b9695505050505050565b7f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260008201527f65666c656374696f6e7300000000000000000000000000000000000000000000602082015250565b6000612a69602a83611ef2565b9150612a7482612a0d565b604082019050919050565b60006020820190508181036000830152612a9881612a5c565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000612ad982611e84565b9150612ae483611e84565b925082612af457612af3612a9f565b5b828204905092915050565b6000612b0a82611e84565b9150612b1583611e84565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115612b4a57612b496127da565b5b828201905092915050565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b6000612b8b601b83611ef2565b9150612b9682612b55565b602082019050919050565b60006020820190508181036000830152612bba81612b7e565b9050919050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b6000612c1d602183611ef2565b9150612c2882612bc1565b604082019050919050565b60006020820190508181036000830152612c4c81612c10565b905091905056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a26469706673582212204891b1f655d26fd05772817eeeb6cfa0b78bfe0cdc274a90eaf9cc91928afacd64736f6c63430008090033

Deployed Bytecode

0x6080604052600436106100f75760003560e01c806370a082311161008a578063a9059cbb11610059578063a9059cbb146102ff578063c6d69a301461033c578063dd62ed3e14610365578063f4293890146103a2576100fe565b806370a0823114610255578063715018a6146102925780638da5cb5b146102a957806395d89b41146102d4576100fe565b806323b872dd116100c657806323b872dd146101bf578063293230b8146101fc578063313ce5671461021357806351bc3c851461023e576100fe565b8063053ab1821461010357806306fdde031461012c578063095ea7b31461015757806318160ddd14610194576100fe565b366100fe57005b600080fd5b34801561010f57600080fd5b5061012a60048036038101906101259190611eba565b6103b9565b005b34801561013857600080fd5b50610141610424565b60405161014e9190611f80565b60405180910390f35b34801561016357600080fd5b5061017e60048036038101906101799190612000565b610461565b60405161018b919061205b565b60405180910390f35b3480156101a057600080fd5b506101a961047f565b6040516101b69190612085565b60405180910390f35b3480156101cb57600080fd5b506101e660048036038101906101e191906120a0565b61048b565b6040516101f3919061205b565b60405180910390f35b34801561020857600080fd5b50610211610564565b005b34801561021f57600080fd5b50610228610a85565b604051610235919061210f565b60405180910390f35b34801561024a57600080fd5b50610253610a8a565b005b34801561026157600080fd5b5061027c6004803603810190610277919061212a565b610b04565b6040516102899190612085565b60405180910390f35b34801561029e57600080fd5b506102a7610b55565b005b3480156102b557600080fd5b506102be610ca8565b6040516102cb9190612166565b60405180910390f35b3480156102e057600080fd5b506102e9610cd1565b6040516102f69190611f80565b60405180910390f35b34801561030b57600080fd5b5061032660048036038101906103219190612000565b610d0e565b604051610333919061205b565b60405180910390f35b34801561034857600080fd5b50610363600480360381019061035e9190611eba565b610d2c565b005b34801561037157600080fd5b5061038c60048036038101906103879190612181565b610e0f565b6040516103999190612085565b60405180910390f35b3480156103ae57600080fd5b506103b7610e96565b005b6103c1610f08565b73ffffffffffffffffffffffffffffffffffffffff16600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461041a57600080fd5b80600a8190555050565b60606040518060400160405280600981526020017f537175696420496e750000000000000000000000000000000000000000000000815250905090565b600061047561046e610f08565b8484610f10565b6001905092915050565b6000633b9aca00905090565b60006104988484846110db565b610559846104a4610f08565b61055485604051806060016040528060288152602001612c5460289139600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600061050a610f08565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546114129092919063ffffffff16565b610f10565b600190509392505050565b61056c610f08565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146105f9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105f09061220d565b60405180910390fd5b600860149054906101000a900460ff1615610649576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161064090612279565b60405180910390fd5b61067a30600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16633b9aca00610f10565b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b1580156106e257600080fd5b505afa1580156106f6573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061071a91906122ae565b73ffffffffffffffffffffffffffffffffffffffff1663c9c6539630600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b15801561079e57600080fd5b505afa1580156107b2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107d691906122ae565b6040518363ffffffff1660e01b81526004016107f39291906122db565b602060405180830381600087803b15801561080d57600080fd5b505af1158015610821573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061084591906122ae565b600860006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d71947306108ce30610b04565b6000806108d9610ca8565b426040518863ffffffff1660e01b81526004016108fb96959493929190612349565b6060604051808303818588803b15801561091457600080fd5b505af1158015610928573d6000803e3d6000fd5b50505050506040513d601f19601f8201168201806040525081019061094d91906123bf565b5050506001600860166101000a81548160ff021916908315150217905550633b9aca00600a819055506001600860146101000a81548160ff021916908315150217905550600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b3600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b8152600401610a30929190612412565b602060405180830381600087803b158015610a4a57600080fd5b505af1158015610a5e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a829190612467565b50565b600090565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610acb610f08565b73ffffffffffffffffffffffffffffffffffffffff1614610aeb57600080fd5b6000610af630610b04565b9050610b0181611476565b50565b6000610b4e600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546116fe565b9050919050565b610b5d610f08565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610bea576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610be19061220d565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606040518060400160405280600981526020017f535155494420494e550000000000000000000000000000000000000000000000815250905090565b6000610d22610d1b610f08565b84846110db565b6001905092915050565b610d34610f08565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610dc1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610db89061220d565b60405180910390fd5b6000811015610e05576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610dfc906124e0565b60405180910390fd5b8060058190555050565b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610ed7610f08565b73ffffffffffffffffffffffffffffffffffffffff1614610ef757600080fd5b6000479050610f058161176c565b50565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610f80576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f7790612572565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610ff0576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fe790612604565b60405180910390fd5b80600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516110ce9190612085565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141561114b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161114290612696565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156111bb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111b290612728565b60405180910390fd5b600081116111fe576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111f5906127ba565b60405180910390fd5b600a5481600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161480156112ad5750600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1614155b6112b85760006112bb565b60015b60ff166112c89190612809565b11156112d357600080fd5b6112db610ca8565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141580156113495750611319610ca8565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b1561140257600860159054906101000a900460ff161580156113b95750600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b80156113d15750600860169054906101000a900460ff165b15611401576113e76113e230610b04565b611476565b600047905060008111156113ff576113fe4761176c565b5b505b5b61140d8383836117d8565b505050565b600083831115829061145a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114519190611f80565b60405180910390fd5b50600083856114699190612863565b9050809150509392505050565b6001600860156101000a81548160ff0219169083151502179055506000600267ffffffffffffffff8111156114ae576114ad612897565b5b6040519080825280602002602001820160405280156114dc5781602001602082028036833780820191505090505b50905030816000815181106114f4576114f36128c6565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b15801561159657600080fd5b505afa1580156115aa573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115ce91906122ae565b816001815181106115e2576115e16128c6565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505061164930600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684610f10565b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b81526004016116ad9594939291906129b3565b600060405180830381600087803b1580156116c757600080fd5b505af11580156116db573d6000803e3d6000fd5b50505050506000600860156101000a81548160ff02191690831515021790555050565b6000600354821115611745576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161173c90612a7f565b60405180910390fd5b600061174f6117e8565b9050611764818461181390919063ffffffff16565b915050919050565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f193505050501580156117d4573d6000803e3d6000fd5b5050565b6117e383838361185d565b505050565b60008060006117f5611a28565b9150915061180c818361181390919063ffffffff16565b9250505090565b600061185583836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611a7b565b905092915050565b60008060008060008061186f87611ade565b9550955095509550955095506118cd86600160008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611b4690919063ffffffff16565b600160008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061196285600160008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611b9090919063ffffffff16565b600160008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506119ae81611bee565b6119b88483611cab565b8773ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef85604051611a159190612085565b60405180910390a3505050505050505050565b600080600060035490506000633b9aca009050611a54633b9aca0060035461181390919063ffffffff16565b821015611a6e57600354633b9aca00935093505050611a77565b81819350935050505b9091565b60008083118290611ac2576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ab99190611f80565b60405180910390fd5b5060008385611ad19190612ace565b9050809150509392505050565b6000806000806000806000806000611afb8a600554600554611ce5565b9250925092506000611b0b6117e8565b90506000806000611b1e8e878787611d7b565b9250925092508282828989899c509c509c509c509c509c505050505050505091939550919395565b6000611b8883836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611412565b905092915050565b6000808284611b9f9190612aff565b905083811015611be4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611bdb90612ba1565b60405180910390fd5b8091505092915050565b6000611bf86117e8565b90506000611c0f8284611e0490919063ffffffff16565b9050611c6381600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611b9090919063ffffffff16565b600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550505050565b611cc082600354611b4690919063ffffffff16565b600381905550611cdb81600454611b9090919063ffffffff16565b6004819055505050565b600080600080611d116064611d03888a611e0490919063ffffffff16565b61181390919063ffffffff16565b90506000611d3b6064611d2d888b611e0490919063ffffffff16565b61181390919063ffffffff16565b90506000611d6482611d56858c611b4690919063ffffffff16565b611b4690919063ffffffff16565b905080838395509550955050505093509350939050565b600080600080611d948589611e0490919063ffffffff16565b90506000611dab8689611e0490919063ffffffff16565b90506000611dc28789611e0490919063ffffffff16565b90506000611deb82611ddd8587611b4690919063ffffffff16565b611b4690919063ffffffff16565b9050838184965096509650505050509450945094915050565b600080831415611e175760009050611e79565b60008284611e259190612809565b9050828482611e349190612ace565b14611e74576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e6b90612c33565b60405180910390fd5b809150505b92915050565b600080fd5b6000819050919050565b611e9781611e84565b8114611ea257600080fd5b50565b600081359050611eb481611e8e565b92915050565b600060208284031215611ed057611ecf611e7f565b5b6000611ede84828501611ea5565b91505092915050565b600081519050919050565b600082825260208201905092915050565b60005b83811015611f21578082015181840152602081019050611f06565b83811115611f30576000848401525b50505050565b6000601f19601f8301169050919050565b6000611f5282611ee7565b611f5c8185611ef2565b9350611f6c818560208601611f03565b611f7581611f36565b840191505092915050565b60006020820190508181036000830152611f9a8184611f47565b905092915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000611fcd82611fa2565b9050919050565b611fdd81611fc2565b8114611fe857600080fd5b50565b600081359050611ffa81611fd4565b92915050565b6000806040838503121561201757612016611e7f565b5b600061202585828601611feb565b925050602061203685828601611ea5565b9150509250929050565b60008115159050919050565b61205581612040565b82525050565b6000602082019050612070600083018461204c565b92915050565b61207f81611e84565b82525050565b600060208201905061209a6000830184612076565b92915050565b6000806000606084860312156120b9576120b8611e7f565b5b60006120c786828701611feb565b93505060206120d886828701611feb565b92505060406120e986828701611ea5565b9150509250925092565b600060ff82169050919050565b612109816120f3565b82525050565b60006020820190506121246000830184612100565b92915050565b6000602082840312156121405761213f611e7f565b5b600061214e84828501611feb565b91505092915050565b61216081611fc2565b82525050565b600060208201905061217b6000830184612157565b92915050565b6000806040838503121561219857612197611e7f565b5b60006121a685828601611feb565b92505060206121b785828601611feb565b9150509250929050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b60006121f7602083611ef2565b9150612202826121c1565b602082019050919050565b60006020820190508181036000830152612226816121ea565b9050919050565b7f54726164696e6720697320616c7265616479206f70656e000000000000000000600082015250565b6000612263601783611ef2565b915061226e8261222d565b602082019050919050565b6000602082019050818103600083015261229281612256565b9050919050565b6000815190506122a881611fd4565b92915050565b6000602082840312156122c4576122c3611e7f565b5b60006122d284828501612299565b91505092915050565b60006040820190506122f06000830185612157565b6122fd6020830184612157565b9392505050565b6000819050919050565b6000819050919050565b600061233361232e61232984612304565b61230e565b611e84565b9050919050565b61234381612318565b82525050565b600060c08201905061235e6000830189612157565b61236b6020830188612076565b612378604083018761233a565b612385606083018661233a565b6123926080830185612157565b61239f60a0830184612076565b979650505050505050565b6000815190506123b981611e8e565b92915050565b6000806000606084860312156123d8576123d7611e7f565b5b60006123e6868287016123aa565b93505060206123f7868287016123aa565b9250506040612408868287016123aa565b9150509250925092565b60006040820190506124276000830185612157565b6124346020830184612076565b9392505050565b61244481612040565b811461244f57600080fd5b50565b6000815190506124618161243b565b92915050565b60006020828403121561247d5761247c611e7f565b5b600061248b84828501612452565b91505092915050565b7f546178206d757374206265206e6f6e2d6e656761746976650000000000000000600082015250565b60006124ca601883611ef2565b91506124d582612494565b602082019050919050565b600060208201905081810360008301526124f9816124bd565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b600061255c602483611ef2565b915061256782612500565b604082019050919050565b6000602082019050818103600083015261258b8161254f565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b60006125ee602283611ef2565b91506125f982612592565b604082019050919050565b6000602082019050818103600083015261261d816125e1565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b6000612680602583611ef2565b915061268b82612624565b604082019050919050565b600060208201905081810360008301526126af81612673565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b6000612712602383611ef2565b915061271d826126b6565b604082019050919050565b6000602082019050818103600083015261274181612705565b9050919050565b7f5472616e7366657220616d6f756e74206d75737420626520677265617465722060008201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b60006127a4602983611ef2565b91506127af82612748565b604082019050919050565b600060208201905081810360008301526127d381612797565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600061281482611e84565b915061281f83611e84565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615612858576128576127da565b5b828202905092915050565b600061286e82611e84565b915061287983611e84565b92508282101561288c5761288b6127da565b5b828203905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b61292a81611fc2565b82525050565b600061293c8383612921565b60208301905092915050565b6000602082019050919050565b6000612960826128f5565b61296a8185612900565b935061297583612911565b8060005b838110156129a657815161298d8882612930565b975061299883612948565b925050600181019050612979565b5085935050505092915050565b600060a0820190506129c86000830188612076565b6129d5602083018761233a565b81810360408301526129e78186612955565b90506129f66060830185612157565b612a036080830184612076565b9695505050505050565b7f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260008201527f65666c656374696f6e7300000000000000000000000000000000000000000000602082015250565b6000612a69602a83611ef2565b9150612a7482612a0d565b604082019050919050565b60006020820190508181036000830152612a9881612a5c565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000612ad982611e84565b9150612ae483611e84565b925082612af457612af3612a9f565b5b828204905092915050565b6000612b0a82611e84565b9150612b1583611e84565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115612b4a57612b496127da565b5b828201905092915050565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b6000612b8b601b83611ef2565b9150612b9682612b55565b602082019050919050565b60006020820190508181036000830152612bba81612b7e565b9050919050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b6000612c1d602183611ef2565b9150612c2882612bc1565b604082019050919050565b60006020820190508181036000830152612c4c81612c10565b905091905056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a26469706673582212204891b1f655d26fd05772817eeeb6cfa0b78bfe0cdc274a90eaf9cc91928afacd64736f6c63430008090033

Deployed Bytecode Sourcemap

3118:7708:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10514:74;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;4271;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5035:146;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4512:88;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5186:292;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7307:506;;;;;;;;;;;;;:::i;:::-;;4433:74;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8859:169;;;;;;;;;;;;;:::i;:::-;;4605:129;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1315:133;;;;;;;;;;;;;:::i;:::-;;1130:70;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4350:78;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4739:152;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6034:120;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;4896:134;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9033:168;;;;;;;;;;;;;:::i;:::-;;10514:74;7868:12;:10;:12::i;:::-;7855:25;;:9;;;;;;;;;;;:25;;;7847:35;;;;;;10578:5:::1;10571:4;:12;;;;10514:74:::0;:::o;4271:::-;4308:13;4335:5;;;;;;;;;;;;;;;;;4328:12;;4271:74;:::o;5035:146::-;5110:4;5121:39;5130:12;:10;:12::i;:::-;5144:7;5153:6;5121:8;:39::i;:::-;5172:4;5165:11;;5035:146;;;;:::o;4512:88::-;4567:7;3399:10;4581:14;;4512:88;:::o;5186:292::-;5284:4;5295:36;5305:6;5313:9;5324:6;5295:9;:36::i;:::-;5336:121;5345:6;5353:12;:10;:12::i;:::-;5367:89;5405:6;5367:89;;;;;;;;;;;;;;;;;:11;:19;5379:6;5367:19;;;;;;;;;;;;;;;:33;5387:12;:10;:12::i;:::-;5367:33;;;;;;;;;;;;;;;;:37;;:89;;;;;:::i;:::-;5336:8;:121::i;:::-;5469:4;5462:11;;5186:292;;;;;:::o;7307:506::-;1249:12;:10;:12::i;:::-;1239:22;;:6;;;;;;;;;;:22;;;1231:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;7366:11:::1;;;;;;;;;;;7365:12;7357:48;;;;;;;;;;;;:::i;:::-;;;;;;;;;7410:50;7427:4;7442:7;;;;;;;;;;;3399:10;7410:8;:50::i;:::-;7491:7;;;;;;;;;;;:15;;;:17;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;7473:47;;;7529:4;7536:7;;;;;;;;;;;:12;;;:14;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;7473:78;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;7465:5;;:86;;;;;;;;;;;;;;;;;;7556:7;;;;;;;;;;;:23;;;7588:21;7619:4;7626:24;7644:4;7626:9;:24::i;:::-;7652:1;7655::::0;7658:7:::1;:5;:7::i;:::-;7667:15;7556:127;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;7702:4;7688:11;;:18;;;;;;;;;;;;;;;;;;3399:10;7711:4;:14;;;;7744:4;7730:11;;:18;;;;;;;;;;;;;;;;;;7760:5;;;;;;;;;;;7753:21;;;7783:7;;;;;;;;;;;7793:14;7753:55;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;7307:506::o:0;4433:74::-;4474:5;4433:74;:::o;8859:169::-;8919:10;;;;;;;;;;;8903:26;;:12;:10;:12::i;:::-;:26;;;8895:35;;;;;;8935:23;8961:24;8979:4;8961:9;:24::i;:::-;8935:50;;8990:33;9007:15;8990:16;:33::i;:::-;8890:138;8859:169::o;4605:129::-;4671:7;4692:37;4712:7;:16;4720:7;4712:16;;;;;;;;;;;;;;;;4692:19;:37::i;:::-;4685:44;;4605:129;;;:::o;1315:133::-;1249:12;:10;:12::i;:::-;1239:22;;:6;;;;;;;;;;:22;;;1231:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;1416:1:::1;1379:40;;1400:6;::::0;::::1;;;;;;;;1379:40;;;;;;;;;;;;1441:1;1424:6:::0;::::1;:19;;;;;;;;;;;;;;;;;;1315:133::o:0;1130:70::-;1168:7;1189:6;;;;;;;;;;;1182:13;;1130:70;:::o;4350:78::-;4389:13;4416:7;;;;;;;;;;;;;;;;;4409:14;;4350:78;:::o;4739:152::-;4817:4;4828:42;4838:12;:10;:12::i;:::-;4852:9;4863:6;4828:9;:42::i;:::-;4882:4;4875:11;;4739:152;;;;:::o;6034:120::-;1249:12;:10;:12::i;:::-;1239:22;;:6;;;;;;;;;;:22;;;1231:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;6102:1:::1;6096:4;:7;;6088:43;;;;;;;;;;;;:::i;:::-;;;;;;;;;6145:4;6136:8;:13;;;;6034:120:::0;:::o;4896:134::-;4977:7;4998:11;:18;5010:5;4998:18;;;;;;;;;;;;;;;:27;5017:7;4998:27;;;;;;;;;;;;;;;;4991:34;;4896:134;;;;:::o;9033:168::-;9093:10;;;;;;;;;;;9077:26;;:12;:10;:12::i;:::-;:26;;;9069:35;;;;;;9109:26;9138:21;9109:50;;9164:32;9177:18;9164:12;:32::i;:::-;9064:137;9033:168::o;757:89::-;810:7;831:10;824:17;;757:89;:::o;5721:308::-;5825:1;5808:19;;:5;:19;;;;5800:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;5900:1;5881:21;;:7;:21;;;;5873:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;5976:6;5946:11;:18;5958:5;5946:18;;;;;;;;;;;;;;;:27;5965:7;5946:27;;;;;;;;;;;;;;;:36;;;;6008:7;5992:32;;6001:5;5992:32;;;6017:6;5992:32;;;;;;:::i;:::-;;;;;;;;5721:308;;;:::o;6159:699::-;6257:1;6241:18;;:4;:18;;;;6233:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;6328:1;6314:16;;:2;:16;;;;6306:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;6392:1;6383:6;:10;6375:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;6511:4;;6501:6;6460:5;;;;;;;;;;;6454:11;;:2;:11;;;:39;;;;;6485:7;;;;;;;;;;;6469:24;;:4;:24;;;;6454:39;6453:46;;6498:1;6453:46;;;6496:1;6453:46;6452:55;;;;;;:::i;:::-;:63;;6444:72;;;;;;6535:7;:5;:7::i;:::-;6527:15;;:4;:15;;;;:32;;;;;6552:7;:5;:7::i;:::-;6546:13;;:2;:13;;;;6527:32;6523:292;;;6572:6;;;;;;;;;;;6571:7;:24;;;;;6590:5;;;;;;;;;;;6582:13;;:4;:13;;;;6571:24;:39;;;;;6599:11;;;;;;;;;;;6571:39;6567:243;;;6619:42;6636:24;6654:4;6636:9;:24::i;:::-;6619:16;:42::i;:::-;6668:26;6697:21;6668:50;;6750:1;6729:18;:22;6725:79;;;6761:35;6774:21;6761:12;:35::i;:::-;6725:79;6612:198;6567:243;6523:292;6821:32;6836:4;6842:2;6846:6;6821:14;:32::i;:::-;6159:699;;;:::o;2430:169::-;2516:7;2543:1;2538;:6;;2546:12;2530:29;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;2564:9;2580:1;2576;:5;;;;:::i;:::-;2564:17;;2593:1;2586:8;;;2430:169;;;;;:::o;6863:349::-;3964:4;3955:6;;:13;;;;;;;;;;;;;;;;;;6935:21:::1;6973:1;6959:16;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6935:40;;6998:4;6980;6985:1;6980:7;;;;;;;;:::i;:::-;;;;;;;:23;;;;;;;;;::::0;::::1;7018:7;;;;;;;;;;;:12;;;:14;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;7008:4;7013:1;7008:7;;;;;;;;:::i;:::-;;;;;;;:24;;;;;;;;;::::0;::::1;7037:54;7054:4;7069:7;;;;;;;;;;;7079:11;7037:8;:54::i;:::-;7096:7;;;;;;;;;;;:58;;;7155:11;7168:1;7171:4;7184;7191:15;7096:111;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;6930:282;3988:5:::0;3979:6;;:14;;;;;;;;;;;;;;;;;;6863:349;:::o;5483:233::-;5551:7;5584;;5573;:18;;5565:73;;;;;;;;;;;;:::i;:::-;;;;;;;;;5643:19;5665:10;:8;:10::i;:::-;5643:32;;5687:24;5699:11;5687:7;:11;;:24;;;;:::i;:::-;5680:31;;;5483:233;;;:::o;7217:85::-;7268:10;;;;;;;;;;;:19;;:27;7288:6;7268:27;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7217:85;:::o;7898:137::-;7986:44;8004:6;8012:9;8023:6;7986:17;:44::i;:::-;7898:137;;;:::o;10362:149::-;10404:7;10419:15;10436;10455:19;:17;:19::i;:::-;10418:56;;;;10486:20;10498:7;10486;:11;;:20;;;;:::i;:::-;10479:27;;;;10362:149;:::o;2813:123::-;2871:7;2892:39;2896:1;2899;2892:39;;;;;;;;;;;;;;;;;:3;:39::i;:::-;2885:46;;2813:123;;;;:::o;8040:448::-;8133:15;8150:23;8175:12;8189:23;8214:12;8228:13;8245:19;8256:7;8245:10;:19::i;:::-;8132:132;;;;;;;;;;;;8287:28;8307:7;8287;:15;8295:6;8287:15;;;;;;;;;;;;;;;;:19;;:28;;;;:::i;:::-;8269:7;:15;8277:6;8269:15;;;;;;;;;;;;;;;:46;;;;8341:39;8364:15;8341:7;:18;8349:9;8341:18;;;;;;;;;;;;;;;;:22;;:39;;;;:::i;:::-;8320:7;:18;8328:9;8320:18;;;;;;;;;;;;;;;:60;;;;8385:16;8395:5;8385:9;:16::i;:::-;8406:23;8418:4;8424;8406:11;:23::i;:::-;8456:9;8439:44;;8448:6;8439:44;;;8467:15;8439:44;;;;;;:::i;:::-;;;;;;;;8127:361;;;;;;8040:448;;;:::o;10593:230::-;10644:7;10653;10667:15;10685:7;;10667:25;;10697:15;3399:10;10697:25;;10741:20;3399:10;10741:7;;:11;;:20;;;;:::i;:::-;10731:7;:30;10727:61;;;10771:7;;3399:10;10763:25;;;;;;;;10727:61;10801:7;10810;10793:25;;;;;;10593:230;;;:::o;2941:168::-;3027:7;3053:1;3049;:5;3056:12;3041:28;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;3074:9;3090:1;3086;:5;;;;:::i;:::-;3074:17;;3103:1;3096:8;;;2941:168;;;;;:::o;9206:441::-;9265:7;9274;9283;9292;9301;9310;9325:23;9350:12;9364:13;9381:40;9393:7;9402:8;;9412;;9381:11;:40::i;:::-;9324:97;;;;;;9426:19;9448:10;:8;:10::i;:::-;9426:32;;9464:15;9481:23;9506:12;9522:46;9534:7;9543:4;9549:5;9556:11;9522;:46::i;:::-;9463:105;;;;;;9581:7;9590:15;9607:4;9613:15;9630:4;9636:5;9573:69;;;;;;;;;;;;;;;;;;;9206:441;;;;;;;:::o;2298:127::-;2356:7;2377:43;2381:1;2384;2377:43;;;;;;;;;;;;;;;;;:3;:43::i;:::-;2370:50;;2298:127;;;;:::o;2135:158::-;2193:7;2207:9;2223:1;2219;:5;;;;:::i;:::-;2207:17;;2242:1;2237;:6;;2229:46;;;;;;;;;;;;:::i;:::-;;;;;;;;;2287:1;2280:8;;;2135:158;;;;:::o;8493:190::-;8540:19;8562:10;:8;:10::i;:::-;8540:32;;8577:13;8593:22;8603:11;8593:5;:9;;:22;;;;:::i;:::-;8577:38;;8645:33;8672:5;8645:7;:22;8661:4;8645:22;;;;;;;;;;;;;;;;:26;;:33;;;;:::i;:::-;8620:7;:22;8636:4;8620:22;;;;;;;;;;;;;;;:58;;;;8535:148;;8493:190;:::o;8688:132::-;8760:17;8772:4;8760:7;;:11;;:17;;;;:::i;:::-;8750:7;:27;;;;8795:20;8810:4;8795:10;;:14;;:20;;;;:::i;:::-;8782:10;:33;;;;8688:132;;:::o;9652:324::-;9745:7;9754;9763;9777:12;9792:28;9816:3;9792:19;9804:6;9792:7;:11;;:19;;;;:::i;:::-;:23;;:28;;;;:::i;:::-;9777:43;;9825:13;9841:29;9866:3;9841:20;9853:7;9841;:11;;:20;;;;:::i;:::-;:24;;:29;;;;:::i;:::-;9825:45;;9875:23;9901:28;9923:5;9901:17;9913:4;9901:7;:11;;:17;;;;:::i;:::-;:21;;:28;;;;:::i;:::-;9875:54;;9942:15;9959:4;9965:5;9934:37;;;;;;;;;9652:324;;;;;;;:::o;9981:376::-;10091:7;10100;10109;10123:15;10141:24;10153:11;10141:7;:11;;:24;;;;:::i;:::-;10123:42;;10170:12;10185:21;10194:11;10185:4;:8;;:21;;;;:::i;:::-;10170:36;;10211:13;10227:22;10237:11;10227:5;:9;;:22;;;;:::i;:::-;10211:38;;10254:23;10280:28;10302:5;10280:17;10292:4;10280:7;:11;;:17;;;;:::i;:::-;:21;;:28;;;;:::i;:::-;10254:54;;10321:7;10330:15;10347:4;10313:39;;;;;;;;;;9981:376;;;;;;;;:::o;2604:204::-;2662:7;2685:1;2680;:6;2676:32;;;2701:1;2694:8;;;;2676:32;2712:9;2728:1;2724;:5;;;;:::i;:::-;2712:17;;2751:1;2746;2742;:5;;;;:::i;:::-;:10;2734:56;;;;;;;;;;;;:::i;:::-;;;;;;;;;2802:1;2795:8;;;2604:204;;;;;:::o;88:117:1:-;197:1;194;187:12;334:77;371:7;400:5;389:16;;334:77;;;:::o;417:122::-;490:24;508:5;490:24;:::i;:::-;483:5;480:35;470:63;;529:1;526;519:12;470:63;417:122;:::o;545:139::-;591:5;629:6;616:20;607:29;;645:33;672:5;645:33;:::i;:::-;545:139;;;;:::o;690:329::-;749:6;798:2;786:9;777:7;773:23;769:32;766:119;;;804:79;;:::i;:::-;766:119;924:1;949:53;994:7;985:6;974:9;970:22;949:53;:::i;:::-;939:63;;895:117;690:329;;;;:::o;1025:99::-;1077:6;1111:5;1105:12;1095:22;;1025:99;;;:::o;1130:169::-;1214:11;1248:6;1243:3;1236:19;1288:4;1283:3;1279:14;1264:29;;1130:169;;;;:::o;1305:307::-;1373:1;1383:113;1397:6;1394:1;1391:13;1383:113;;;1482:1;1477:3;1473:11;1467:18;1463:1;1458:3;1454:11;1447:39;1419:2;1416:1;1412:10;1407:15;;1383:113;;;1514:6;1511:1;1508:13;1505:101;;;1594:1;1585:6;1580:3;1576:16;1569:27;1505:101;1354:258;1305:307;;;:::o;1618:102::-;1659:6;1710:2;1706:7;1701:2;1694:5;1690:14;1686:28;1676:38;;1618:102;;;:::o;1726:364::-;1814:3;1842:39;1875:5;1842:39;:::i;:::-;1897:71;1961:6;1956:3;1897:71;:::i;:::-;1890:78;;1977:52;2022:6;2017:3;2010:4;2003:5;1999:16;1977:52;:::i;:::-;2054:29;2076:6;2054:29;:::i;:::-;2049:3;2045:39;2038:46;;1818:272;1726:364;;;;:::o;2096:313::-;2209:4;2247:2;2236:9;2232:18;2224:26;;2296:9;2290:4;2286:20;2282:1;2271:9;2267:17;2260:47;2324:78;2397:4;2388:6;2324:78;:::i;:::-;2316:86;;2096:313;;;;:::o;2415:126::-;2452:7;2492:42;2485:5;2481:54;2470:65;;2415:126;;;:::o;2547:96::-;2584:7;2613:24;2631:5;2613:24;:::i;:::-;2602:35;;2547:96;;;:::o;2649:122::-;2722:24;2740:5;2722:24;:::i;:::-;2715:5;2712:35;2702:63;;2761:1;2758;2751:12;2702:63;2649:122;:::o;2777:139::-;2823:5;2861:6;2848:20;2839:29;;2877:33;2904:5;2877:33;:::i;:::-;2777:139;;;;:::o;2922:474::-;2990:6;2998;3047:2;3035:9;3026:7;3022:23;3018:32;3015:119;;;3053:79;;:::i;:::-;3015:119;3173:1;3198:53;3243:7;3234:6;3223:9;3219:22;3198:53;:::i;:::-;3188:63;;3144:117;3300:2;3326:53;3371:7;3362:6;3351:9;3347:22;3326:53;:::i;:::-;3316:63;;3271:118;2922:474;;;;;:::o;3402:90::-;3436:7;3479:5;3472:13;3465:21;3454:32;;3402:90;;;:::o;3498:109::-;3579:21;3594:5;3579:21;:::i;:::-;3574:3;3567:34;3498:109;;:::o;3613:210::-;3700:4;3738:2;3727:9;3723:18;3715:26;;3751:65;3813:1;3802:9;3798:17;3789:6;3751:65;:::i;:::-;3613:210;;;;:::o;3829:118::-;3916:24;3934:5;3916:24;:::i;:::-;3911:3;3904:37;3829:118;;:::o;3953:222::-;4046:4;4084:2;4073:9;4069:18;4061:26;;4097:71;4165:1;4154:9;4150:17;4141:6;4097:71;:::i;:::-;3953:222;;;;:::o;4181:619::-;4258:6;4266;4274;4323:2;4311:9;4302:7;4298:23;4294:32;4291:119;;;4329:79;;:::i;:::-;4291:119;4449:1;4474:53;4519:7;4510:6;4499:9;4495:22;4474:53;:::i;:::-;4464:63;;4420:117;4576:2;4602:53;4647:7;4638:6;4627:9;4623:22;4602:53;:::i;:::-;4592:63;;4547:118;4704:2;4730:53;4775:7;4766:6;4755:9;4751:22;4730:53;:::i;:::-;4720:63;;4675:118;4181:619;;;;;:::o;4806:86::-;4841:7;4881:4;4874:5;4870:16;4859:27;;4806:86;;;:::o;4898:112::-;4981:22;4997:5;4981:22;:::i;:::-;4976:3;4969:35;4898:112;;:::o;5016:214::-;5105:4;5143:2;5132:9;5128:18;5120:26;;5156:67;5220:1;5209:9;5205:17;5196:6;5156:67;:::i;:::-;5016:214;;;;:::o;5236:329::-;5295:6;5344:2;5332:9;5323:7;5319:23;5315:32;5312:119;;;5350:79;;:::i;:::-;5312:119;5470:1;5495:53;5540:7;5531:6;5520:9;5516:22;5495:53;:::i;:::-;5485:63;;5441:117;5236:329;;;;:::o;5571:118::-;5658:24;5676:5;5658:24;:::i;:::-;5653:3;5646:37;5571:118;;:::o;5695:222::-;5788:4;5826:2;5815:9;5811:18;5803:26;;5839:71;5907:1;5896:9;5892:17;5883:6;5839:71;:::i;:::-;5695:222;;;;:::o;5923:474::-;5991:6;5999;6048:2;6036:9;6027:7;6023:23;6019:32;6016:119;;;6054:79;;:::i;:::-;6016:119;6174:1;6199:53;6244:7;6235:6;6224:9;6220:22;6199:53;:::i;:::-;6189:63;;6145:117;6301:2;6327:53;6372:7;6363:6;6352:9;6348:22;6327:53;:::i;:::-;6317:63;;6272:118;5923:474;;;;;:::o;6403:182::-;6543:34;6539:1;6531:6;6527:14;6520:58;6403:182;:::o;6591:366::-;6733:3;6754:67;6818:2;6813:3;6754:67;:::i;:::-;6747:74;;6830:93;6919:3;6830:93;:::i;:::-;6948:2;6943:3;6939:12;6932:19;;6591:366;;;:::o;6963:419::-;7129:4;7167:2;7156:9;7152:18;7144:26;;7216:9;7210:4;7206:20;7202:1;7191:9;7187:17;7180:47;7244:131;7370:4;7244:131;:::i;:::-;7236:139;;6963:419;;;:::o;7388:173::-;7528:25;7524:1;7516:6;7512:14;7505:49;7388:173;:::o;7567:366::-;7709:3;7730:67;7794:2;7789:3;7730:67;:::i;:::-;7723:74;;7806:93;7895:3;7806:93;:::i;:::-;7924:2;7919:3;7915:12;7908:19;;7567:366;;;:::o;7939:419::-;8105:4;8143:2;8132:9;8128:18;8120:26;;8192:9;8186:4;8182:20;8178:1;8167:9;8163:17;8156:47;8220:131;8346:4;8220:131;:::i;:::-;8212:139;;7939:419;;;:::o;8364:143::-;8421:5;8452:6;8446:13;8437:22;;8468:33;8495:5;8468:33;:::i;:::-;8364:143;;;;:::o;8513:351::-;8583:6;8632:2;8620:9;8611:7;8607:23;8603:32;8600:119;;;8638:79;;:::i;:::-;8600:119;8758:1;8783:64;8839:7;8830:6;8819:9;8815:22;8783:64;:::i;:::-;8773:74;;8729:128;8513:351;;;;:::o;8870:332::-;8991:4;9029:2;9018:9;9014:18;9006:26;;9042:71;9110:1;9099:9;9095:17;9086:6;9042:71;:::i;:::-;9123:72;9191:2;9180:9;9176:18;9167:6;9123:72;:::i;:::-;8870:332;;;;;:::o;9208:85::-;9253:7;9282:5;9271:16;;9208:85;;;:::o;9299:60::-;9327:3;9348:5;9341:12;;9299:60;;;:::o;9365:158::-;9423:9;9456:61;9474:42;9483:32;9509:5;9483:32;:::i;:::-;9474:42;:::i;:::-;9456:61;:::i;:::-;9443:74;;9365:158;;;:::o;9529:147::-;9624:45;9663:5;9624:45;:::i;:::-;9619:3;9612:58;9529:147;;:::o;9682:807::-;9931:4;9969:3;9958:9;9954:19;9946:27;;9983:71;10051:1;10040:9;10036:17;10027:6;9983:71;:::i;:::-;10064:72;10132:2;10121:9;10117:18;10108:6;10064:72;:::i;:::-;10146:80;10222:2;10211:9;10207:18;10198:6;10146:80;:::i;:::-;10236;10312:2;10301:9;10297:18;10288:6;10236:80;:::i;:::-;10326:73;10394:3;10383:9;10379:19;10370:6;10326:73;:::i;:::-;10409;10477:3;10466:9;10462:19;10453:6;10409:73;:::i;:::-;9682:807;;;;;;;;;:::o;10495:143::-;10552:5;10583:6;10577:13;10568:22;;10599:33;10626:5;10599:33;:::i;:::-;10495:143;;;;:::o;10644:663::-;10732:6;10740;10748;10797:2;10785:9;10776:7;10772:23;10768:32;10765:119;;;10803:79;;:::i;:::-;10765:119;10923:1;10948:64;11004:7;10995:6;10984:9;10980:22;10948:64;:::i;:::-;10938:74;;10894:128;11061:2;11087:64;11143:7;11134:6;11123:9;11119:22;11087:64;:::i;:::-;11077:74;;11032:129;11200:2;11226:64;11282:7;11273:6;11262:9;11258:22;11226:64;:::i;:::-;11216:74;;11171:129;10644:663;;;;;:::o;11313:332::-;11434:4;11472:2;11461:9;11457:18;11449:26;;11485:71;11553:1;11542:9;11538:17;11529:6;11485:71;:::i;:::-;11566:72;11634:2;11623:9;11619:18;11610:6;11566:72;:::i;:::-;11313:332;;;;;:::o;11651:116::-;11721:21;11736:5;11721:21;:::i;:::-;11714:5;11711:32;11701:60;;11757:1;11754;11747:12;11701:60;11651:116;:::o;11773:137::-;11827:5;11858:6;11852:13;11843:22;;11874:30;11898:5;11874:30;:::i;:::-;11773:137;;;;:::o;11916:345::-;11983:6;12032:2;12020:9;12011:7;12007:23;12003:32;12000:119;;;12038:79;;:::i;:::-;12000:119;12158:1;12183:61;12236:7;12227:6;12216:9;12212:22;12183:61;:::i;:::-;12173:71;;12129:125;11916:345;;;;:::o;12267:174::-;12407:26;12403:1;12395:6;12391:14;12384:50;12267:174;:::o;12447:366::-;12589:3;12610:67;12674:2;12669:3;12610:67;:::i;:::-;12603:74;;12686:93;12775:3;12686:93;:::i;:::-;12804:2;12799:3;12795:12;12788:19;;12447:366;;;:::o;12819:419::-;12985:4;13023:2;13012:9;13008:18;13000:26;;13072:9;13066:4;13062:20;13058:1;13047:9;13043:17;13036:47;13100:131;13226:4;13100:131;:::i;:::-;13092:139;;12819:419;;;:::o;13244:223::-;13384:34;13380:1;13372:6;13368:14;13361:58;13453:6;13448:2;13440:6;13436:15;13429:31;13244:223;:::o;13473:366::-;13615:3;13636:67;13700:2;13695:3;13636:67;:::i;:::-;13629:74;;13712:93;13801:3;13712:93;:::i;:::-;13830:2;13825:3;13821:12;13814:19;;13473:366;;;:::o;13845:419::-;14011:4;14049:2;14038:9;14034:18;14026:26;;14098:9;14092:4;14088:20;14084:1;14073:9;14069:17;14062:47;14126:131;14252:4;14126:131;:::i;:::-;14118:139;;13845:419;;;:::o;14270:221::-;14410:34;14406:1;14398:6;14394:14;14387:58;14479:4;14474:2;14466:6;14462:15;14455:29;14270:221;:::o;14497:366::-;14639:3;14660:67;14724:2;14719:3;14660:67;:::i;:::-;14653:74;;14736:93;14825:3;14736:93;:::i;:::-;14854:2;14849:3;14845:12;14838:19;;14497:366;;;:::o;14869:419::-;15035:4;15073:2;15062:9;15058:18;15050:26;;15122:9;15116:4;15112:20;15108:1;15097:9;15093:17;15086:47;15150:131;15276:4;15150:131;:::i;:::-;15142:139;;14869:419;;;:::o;15294:224::-;15434:34;15430:1;15422:6;15418:14;15411:58;15503:7;15498:2;15490:6;15486:15;15479:32;15294:224;:::o;15524:366::-;15666:3;15687:67;15751:2;15746:3;15687:67;:::i;:::-;15680:74;;15763:93;15852:3;15763:93;:::i;:::-;15881:2;15876:3;15872:12;15865:19;;15524:366;;;:::o;15896:419::-;16062:4;16100:2;16089:9;16085:18;16077:26;;16149:9;16143:4;16139:20;16135:1;16124:9;16120:17;16113:47;16177:131;16303:4;16177:131;:::i;:::-;16169:139;;15896:419;;;:::o;16321:222::-;16461:34;16457:1;16449:6;16445:14;16438:58;16530:5;16525:2;16517:6;16513:15;16506:30;16321:222;:::o;16549:366::-;16691:3;16712:67;16776:2;16771:3;16712:67;:::i;:::-;16705:74;;16788:93;16877:3;16788:93;:::i;:::-;16906:2;16901:3;16897:12;16890:19;;16549:366;;;:::o;16921:419::-;17087:4;17125:2;17114:9;17110:18;17102:26;;17174:9;17168:4;17164:20;17160:1;17149:9;17145:17;17138:47;17202:131;17328:4;17202:131;:::i;:::-;17194:139;;16921:419;;;:::o;17346:228::-;17486:34;17482:1;17474:6;17470:14;17463:58;17555:11;17550:2;17542:6;17538:15;17531:36;17346:228;:::o;17580:366::-;17722:3;17743:67;17807:2;17802:3;17743:67;:::i;:::-;17736:74;;17819:93;17908:3;17819:93;:::i;:::-;17937:2;17932:3;17928:12;17921:19;;17580:366;;;:::o;17952:419::-;18118:4;18156:2;18145:9;18141:18;18133:26;;18205:9;18199:4;18195:20;18191:1;18180:9;18176:17;18169:47;18233:131;18359:4;18233:131;:::i;:::-;18225:139;;17952:419;;;:::o;18377:180::-;18425:77;18422:1;18415:88;18522:4;18519:1;18512:15;18546:4;18543:1;18536:15;18563:348;18603:7;18626:20;18644:1;18626:20;:::i;:::-;18621:25;;18660:20;18678:1;18660:20;:::i;:::-;18655:25;;18848:1;18780:66;18776:74;18773:1;18770:81;18765:1;18758:9;18751:17;18747:105;18744:131;;;18855:18;;:::i;:::-;18744:131;18903:1;18900;18896:9;18885:20;;18563:348;;;;:::o;18917:191::-;18957:4;18977:20;18995:1;18977:20;:::i;:::-;18972:25;;19011:20;19029:1;19011:20;:::i;:::-;19006:25;;19050:1;19047;19044:8;19041:34;;;19055:18;;:::i;:::-;19041:34;19100:1;19097;19093:9;19085:17;;18917:191;;;;:::o;19114:180::-;19162:77;19159:1;19152:88;19259:4;19256:1;19249:15;19283:4;19280:1;19273:15;19300:180;19348:77;19345:1;19338:88;19445:4;19442:1;19435:15;19469:4;19466:1;19459:15;19486:114;19553:6;19587:5;19581:12;19571:22;;19486:114;;;:::o;19606:184::-;19705:11;19739:6;19734:3;19727:19;19779:4;19774:3;19770:14;19755:29;;19606:184;;;;:::o;19796:132::-;19863:4;19886:3;19878:11;;19916:4;19911:3;19907:14;19899:22;;19796:132;;;:::o;19934:108::-;20011:24;20029:5;20011:24;:::i;:::-;20006:3;19999:37;19934:108;;:::o;20048:179::-;20117:10;20138:46;20180:3;20172:6;20138:46;:::i;:::-;20216:4;20211:3;20207:14;20193:28;;20048:179;;;;:::o;20233:113::-;20303:4;20335;20330:3;20326:14;20318:22;;20233:113;;;:::o;20382:732::-;20501:3;20530:54;20578:5;20530:54;:::i;:::-;20600:86;20679:6;20674:3;20600:86;:::i;:::-;20593:93;;20710:56;20760:5;20710:56;:::i;:::-;20789:7;20820:1;20805:284;20830:6;20827:1;20824:13;20805:284;;;20906:6;20900:13;20933:63;20992:3;20977:13;20933:63;:::i;:::-;20926:70;;21019:60;21072:6;21019:60;:::i;:::-;21009:70;;20865:224;20852:1;20849;20845:9;20840:14;;20805:284;;;20809:14;21105:3;21098:10;;20506:608;;;20382:732;;;;:::o;21120:831::-;21383:4;21421:3;21410:9;21406:19;21398:27;;21435:71;21503:1;21492:9;21488:17;21479:6;21435:71;:::i;:::-;21516:80;21592:2;21581:9;21577:18;21568:6;21516:80;:::i;:::-;21643:9;21637:4;21633:20;21628:2;21617:9;21613:18;21606:48;21671:108;21774:4;21765:6;21671:108;:::i;:::-;21663:116;;21789:72;21857:2;21846:9;21842:18;21833:6;21789:72;:::i;:::-;21871:73;21939:3;21928:9;21924:19;21915:6;21871:73;:::i;:::-;21120:831;;;;;;;;:::o;21957:229::-;22097:34;22093:1;22085:6;22081:14;22074:58;22166:12;22161:2;22153:6;22149:15;22142:37;21957:229;:::o;22192:366::-;22334:3;22355:67;22419:2;22414:3;22355:67;:::i;:::-;22348:74;;22431:93;22520:3;22431:93;:::i;:::-;22549:2;22544:3;22540:12;22533:19;;22192:366;;;:::o;22564:419::-;22730:4;22768:2;22757:9;22753:18;22745:26;;22817:9;22811:4;22807:20;22803:1;22792:9;22788:17;22781:47;22845:131;22971:4;22845:131;:::i;:::-;22837:139;;22564:419;;;:::o;22989:180::-;23037:77;23034:1;23027:88;23134:4;23131:1;23124:15;23158:4;23155:1;23148:15;23175:185;23215:1;23232:20;23250:1;23232:20;:::i;:::-;23227:25;;23266:20;23284:1;23266:20;:::i;:::-;23261:25;;23305:1;23295:35;;23310:18;;:::i;:::-;23295:35;23352:1;23349;23345:9;23340:14;;23175:185;;;;:::o;23366:305::-;23406:3;23425:20;23443:1;23425:20;:::i;:::-;23420:25;;23459:20;23477:1;23459:20;:::i;:::-;23454:25;;23613:1;23545:66;23541:74;23538:1;23535:81;23532:107;;;23619:18;;:::i;:::-;23532:107;23663:1;23660;23656:9;23649:16;;23366:305;;;;:::o;23677:177::-;23817:29;23813:1;23805:6;23801:14;23794:53;23677:177;:::o;23860:366::-;24002:3;24023:67;24087:2;24082:3;24023:67;:::i;:::-;24016:74;;24099:93;24188:3;24099:93;:::i;:::-;24217:2;24212:3;24208:12;24201:19;;23860:366;;;:::o;24232:419::-;24398:4;24436:2;24425:9;24421:18;24413:26;;24485:9;24479:4;24475:20;24471:1;24460:9;24456:17;24449:47;24513:131;24639:4;24513:131;:::i;:::-;24505:139;;24232:419;;;:::o;24657:220::-;24797:34;24793:1;24785:6;24781:14;24774:58;24866:3;24861:2;24853:6;24849:15;24842:28;24657:220;:::o;24883:366::-;25025:3;25046:67;25110:2;25105:3;25046:67;:::i;:::-;25039:74;;25122:93;25211:3;25122:93;:::i;:::-;25240:2;25235:3;25231:12;25224:19;;24883:366;;;:::o;25255:419::-;25421:4;25459:2;25448:9;25444:18;25436:26;;25508:9;25502:4;25498:20;25494:1;25483:9;25479:17;25472:47;25536:131;25662:4;25536:131;:::i;:::-;25528:139;;25255:419;;;:::o

Swarm Source

ipfs://4891b1f655d26fd05772817eeeb6cfa0b78bfe0cdc274a90eaf9cc91928afacd
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.