ETH Price: $3,334.90 (-0.76%)

Token

MetaMoon (METAMOON)
 

Overview

Max Total Supply

1,000,000,000 METAMOON

Holders

42

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 0 Decimals)

Balance
6,666 METAMOON

Value
$0.00
0x77b0e77690a723b2594cf80cfdec987797d78499
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:
MetaMoon

Compiler Version
v0.8.7+commit.e28d00a7

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2021-11-05
*/

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

address constant WALLET_ADDRESS = 0xE54Bc4D497CAAE6285ed91F854B585b3F054c307;
uint256 constant TOTAL_SUPPLY = 1000000000;
string constant TOKEN_NAME = "MetaMoon";
string constant TOKEN_SYMBOL = "METAMOON";
uint256 constant INITIAL_TAX=8;

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

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

contract MetaMoon 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 _tTotal = TOTAL_SUPPLY;
	uint256 private _rTotal = (MAX - (MAX % _tTotal));
	uint256 private _tFeeTotal;
	uint256 private _rateLimit=TOTAL_SUPPLY;
	uint256 private _tax=INITIAL_TAX;
	address payable private _taxWallet= payable(WALLET_ADDRESS);

	string private constant _name = TOKEN_NAME;
	string private constant _symbol = TOKEN_SYMBOL;
	uint8 private constant _decimals = 0;

	IUniswapV2Router02 private _router= IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
	address private _pair;
	bool private tradingOpen;
	bool private inSwap = false;
	bool private swapEnabled = false;

	modifier lockTheSwap {
		inSwap = true;
		_;
		inSwap = false;
	}
	constructor () {
		_rOwned[_msgSender()] = _rTotal;
		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 view 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 tax() public view returns (uint256){
		return _tax;
	}

	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 _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");

		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 openTrading() 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;
		tradingOpen = true;
		IERC20(_pair).approve(address(_router), type(uint).max);
	}

	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) = _getTransferAmounts(tAmount, _tax);
		uint256 currentRate = _getRate();
		(uint256 rAmount, uint256 rTransferAmount, uint256 rFee) = _getReceiveAmounts(tAmount, tFee, tTeam, currentRate);
		return (rAmount, rTransferAmount, rFee, tTransferAmount, tFee, tTeam);
	}

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

	function _getReceiveAmounts(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 _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":"openTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"tax","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","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"}]

6080604052633b9aca006003556003546000196200001e91906200032a565b6000196200002d9190620002e5565b600455633b9aca00600655600860075573e54bc4d497caae6285ed91f854b585b3f054c307600860006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550737a250d5630b4cf539739df2c5dacb4c659f2488d600960006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000600a60156101000a81548160ff0219169083151502179055506000600a60166101000a81548160ff0219169083151502179055503480156200012a57600080fd5b5060006200013d620002af60201b60201c565b9050806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35060045460016000620001f2620002af60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555062000240620002af60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600354604051620002a19190620002c8565b60405180910390a3620003c0565b600033905090565b620002c28162000320565b82525050565b6000602082019050620002df6000830184620002b7565b92915050565b6000620002f28262000320565b9150620002ff8362000320565b92508282101562000315576200031462000362565b5b828203905092915050565b6000819050919050565b6000620003378262000320565b9150620003448362000320565b92508262000357576200035662000391565b5b828206905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b61299080620003d06000396000f3fe6080604052600436106100ec5760003560e01c8063715018a61161008a578063a9059cbb11610059578063a9059cbb146102df578063c9567bf91461031c578063dd62ed3e14610333578063f429389014610370576100f3565b8063715018a6146102475780638da5cb5b1461025e57806395d89b411461028957806399c8d556146102b4576100f3565b806323b872dd116100c657806323b872dd1461018b578063313ce567146101c857806351bc3c85146101f357806370a082311461020a576100f3565b806306fdde03146100f8578063095ea7b31461012357806318160ddd14610160576100f3565b366100f357005b600080fd5b34801561010457600080fd5b5061010d610387565b60405161011a9190612181565b60405180910390f35b34801561012f57600080fd5b5061014a60048036038101906101459190611d71565b6103c4565b6040516101579190612166565b60405180910390f35b34801561016c57600080fd5b506101756103e2565b60405161018291906122e3565b60405180910390f35b34801561019757600080fd5b506101b260048036038101906101ad9190611d1e565b6103ec565b6040516101bf9190612166565b60405180910390f35b3480156101d457600080fd5b506101dd6104c5565b6040516101ea9190612358565b60405180910390f35b3480156101ff57600080fd5b506102086104ca565b005b34801561021657600080fd5b50610231600480360381019061022c9190611c84565b610544565b60405161023e91906122e3565b60405180910390f35b34801561025357600080fd5b5061025c610595565b005b34801561026a57600080fd5b506102736106e8565b6040516102809190612098565b60405180910390f35b34801561029557600080fd5b5061029e610711565b6040516102ab9190612181565b60405180910390f35b3480156102c057600080fd5b506102c961074e565b6040516102d691906122e3565b60405180910390f35b3480156102eb57600080fd5b5061030660048036038101906103019190611d71565b610758565b6040516103139190612166565b60405180910390f35b34801561032857600080fd5b50610331610776565b005b34801561033f57600080fd5b5061035a60048036038101906103559190611cde565b610c8a565b60405161036791906122e3565b60405180910390f35b34801561037c57600080fd5b50610385610d11565b005b60606040518060400160405280600881526020017f4d6574614d6f6f6e000000000000000000000000000000000000000000000000815250905090565b60006103d86103d1610d83565b8484610d8b565b6001905092915050565b6000600354905090565b60006103f9848484610f56565b6104ba84610405610d83565b6104b58560405180606001604052806028815260200161293360289139600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600061046b610d83565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546111b89092919063ffffffff16565b610d8b565b600190509392505050565b600090565b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1661050b610d83565b73ffffffffffffffffffffffffffffffffffffffff161461052b57600080fd5b600061053630610544565b90506105418161121c565b50565b600061058e600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546114a4565b9050919050565b61059d610d83565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461062a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161062190612263565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606040518060400160405280600881526020017f4d4554414d4f4f4e000000000000000000000000000000000000000000000000815250905090565b6000600754905090565b600061076c610765610d83565b8484610f56565b6001905092915050565b61077e610d83565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461080b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161080290612263565b60405180910390fd5b600a60149054906101000a900460ff161561085b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161085290612203565b60405180910390fd5b61088a30600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600354610d8b565b600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b1580156108f257600080fd5b505afa158015610906573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061092a9190611cb1565b73ffffffffffffffffffffffffffffffffffffffff1663c9c6539630600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b1580156109ae57600080fd5b505afa1580156109c2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109e69190611cb1565b6040518363ffffffff1660e01b8152600401610a039291906120b3565b602060405180830381600087803b158015610a1d57600080fd5b505af1158015610a31573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a559190611cb1565b600a60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d7194730610ade30610544565b600080610ae96106e8565b426040518863ffffffff1660e01b8152600401610b0b96959493929190612105565b6060604051808303818588803b158015610b2457600080fd5b505af1158015610b38573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610b5d9190611dde565b5050506001600a60166101000a81548160ff0219169083151502179055506001600a60146101000a81548160ff021916908315150217905550600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b3600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b8152600401610c359291906120dc565b602060405180830381600087803b158015610c4f57600080fd5b505af1158015610c63573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c879190611db1565b50565b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610d52610d83565b73ffffffffffffffffffffffffffffffffffffffff1614610d7257600080fd5b6000479050610d8081611512565b50565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610dfb576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610df2906122c3565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610e6b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e62906121e3565b60405180910390fd5b80600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051610f4991906122e3565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610fc6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fbd906122a3565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611036576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161102d906121a3565b60405180910390fd5b60008111611079576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161107090612283565b60405180910390fd5b6110816106e8565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141580156110ef57506110bf6106e8565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b156111a857600a60159054906101000a900460ff1615801561115f5750600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b80156111775750600a60169054906101000a900460ff165b156111a75761118d61118830610544565b61121c565b600047905060008111156111a5576111a447611512565b5b505b5b6111b383838361157e565b505050565b6000838311158290611200576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111f79190612181565b60405180910390fd5b506000838561120f91906124a9565b9050809150509392505050565b6001600a60156101000a81548160ff0219169083151502179055506000600267ffffffffffffffff81111561125457611253612604565b5b6040519080825280602002602001820160405280156112825781602001602082028036833780820191505090505b509050308160008151811061129a576112996125d5565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b15801561133c57600080fd5b505afa158015611350573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113749190611cb1565b81600181518110611388576113876125d5565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250506113ef30600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684610d8b565b600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b81526004016114539594939291906122fe565b600060405180830381600087803b15801561146d57600080fd5b505af1158015611481573d6000803e3d6000fd5b50505050506000600a60156101000a81548160ff02191690831515021790555050565b60006004548211156114eb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114e2906121c3565b60405180910390fd5b60006114f561158e565b905061150a81846115b990919063ffffffff16565b915050919050565b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f1935050505015801561157a573d6000803e3d6000fd5b5050565b611589838383611603565b505050565b600080600061159b6117ce565b915091506115b281836115b990919063ffffffff16565b9250505090565b60006115fb83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f00000000000081525061181b565b905092915050565b6000806000806000806116158761187e565b95509550955095509550955061167386600160008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546118e390919063ffffffff16565b600160008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061170885600160008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461192d90919063ffffffff16565b600160008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506117548161198b565b61175e8483611a48565b8773ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040516117bb91906122e3565b60405180910390a3505050505050505050565b60008060006004549050600060035490506117f66003546004546115b990919063ffffffff16565b82101561180e57600454600354935093505050611817565b81819350935050505b9091565b60008083118290611862576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118599190612181565b60405180910390fd5b5060008385611871919061241e565b9050809150509392505050565b60008060008060008060008060006118988a600754611a82565b92509250925060006118a861158e565b905060008060006118bb8e878787611b17565b9250925092508282828989899c509c509c509c509c509c505050505050505091939550919395565b600061192583836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506111b8565b905092915050565b600080828461193c91906123c8565b905083811015611981576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161197890612223565b60405180910390fd5b8091505092915050565b600061199561158e565b905060006119ac8284611ba090919063ffffffff16565b9050611a0081600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461192d90919063ffffffff16565b600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550505050565b611a5d826004546118e390919063ffffffff16565b600481905550611a788160055461192d90919063ffffffff16565b6005819055505050565b600080600080611aaf6064611aa1600289611ba090919063ffffffff16565b6115b990919063ffffffff16565b90506000611ad96064611acb888a611ba090919063ffffffff16565b6115b990919063ffffffff16565b90506000611b0282611af4858b6118e390919063ffffffff16565b6118e390919063ffffffff16565b90508083839550955095505050509250925092565b600080600080611b308589611ba090919063ffffffff16565b90506000611b478689611ba090919063ffffffff16565b90506000611b5e8789611ba090919063ffffffff16565b90506000611b8782611b7985876118e390919063ffffffff16565b6118e390919063ffffffff16565b9050838184965096509650505050509450945094915050565b600080831415611bb35760009050611c15565b60008284611bc1919061244f565b9050828482611bd0919061241e565b14611c10576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c0790612243565b60405180910390fd5b809150505b92915050565b600081359050611c2a816128ed565b92915050565b600081519050611c3f816128ed565b92915050565b600081519050611c5481612904565b92915050565b600081359050611c698161291b565b92915050565b600081519050611c7e8161291b565b92915050565b600060208284031215611c9a57611c99612633565b5b6000611ca884828501611c1b565b91505092915050565b600060208284031215611cc757611cc6612633565b5b6000611cd584828501611c30565b91505092915050565b60008060408385031215611cf557611cf4612633565b5b6000611d0385828601611c1b565b9250506020611d1485828601611c1b565b9150509250929050565b600080600060608486031215611d3757611d36612633565b5b6000611d4586828701611c1b565b9350506020611d5686828701611c1b565b9250506040611d6786828701611c5a565b9150509250925092565b60008060408385031215611d8857611d87612633565b5b6000611d9685828601611c1b565b9250506020611da785828601611c5a565b9150509250929050565b600060208284031215611dc757611dc6612633565b5b6000611dd584828501611c45565b91505092915050565b600080600060608486031215611df757611df6612633565b5b6000611e0586828701611c6f565b9350506020611e1686828701611c6f565b9250506040611e2786828701611c6f565b9150509250925092565b6000611e3d8383611e49565b60208301905092915050565b611e52816124dd565b82525050565b611e61816124dd565b82525050565b6000611e7282612383565b611e7c81856123a6565b9350611e8783612373565b8060005b83811015611eb8578151611e9f8882611e31565b9750611eaa83612399565b925050600181019050611e8b565b5085935050505092915050565b611ece816124ef565b82525050565b611edd81612532565b82525050565b6000611eee8261238e565b611ef881856123b7565b9350611f08818560208601612544565b611f1181612638565b840191505092915050565b6000611f296023836123b7565b9150611f3482612649565b604082019050919050565b6000611f4c602a836123b7565b9150611f5782612698565b604082019050919050565b6000611f6f6022836123b7565b9150611f7a826126e7565b604082019050919050565b6000611f926017836123b7565b9150611f9d82612736565b602082019050919050565b6000611fb5601b836123b7565b9150611fc08261275f565b602082019050919050565b6000611fd86021836123b7565b9150611fe382612788565b604082019050919050565b6000611ffb6020836123b7565b9150612006826127d7565b602082019050919050565b600061201e6029836123b7565b915061202982612800565b604082019050919050565b60006120416025836123b7565b915061204c8261284f565b604082019050919050565b60006120646024836123b7565b915061206f8261289e565b604082019050919050565b6120838161251b565b82525050565b61209281612525565b82525050565b60006020820190506120ad6000830184611e58565b92915050565b60006040820190506120c86000830185611e58565b6120d56020830184611e58565b9392505050565b60006040820190506120f16000830185611e58565b6120fe602083018461207a565b9392505050565b600060c08201905061211a6000830189611e58565b612127602083018861207a565b6121346040830187611ed4565b6121416060830186611ed4565b61214e6080830185611e58565b61215b60a083018461207a565b979650505050505050565b600060208201905061217b6000830184611ec5565b92915050565b6000602082019050818103600083015261219b8184611ee3565b905092915050565b600060208201905081810360008301526121bc81611f1c565b9050919050565b600060208201905081810360008301526121dc81611f3f565b9050919050565b600060208201905081810360008301526121fc81611f62565b9050919050565b6000602082019050818103600083015261221c81611f85565b9050919050565b6000602082019050818103600083015261223c81611fa8565b9050919050565b6000602082019050818103600083015261225c81611fcb565b9050919050565b6000602082019050818103600083015261227c81611fee565b9050919050565b6000602082019050818103600083015261229c81612011565b9050919050565b600060208201905081810360008301526122bc81612034565b9050919050565b600060208201905081810360008301526122dc81612057565b9050919050565b60006020820190506122f8600083018461207a565b92915050565b600060a082019050612313600083018861207a565b6123206020830187611ed4565b81810360408301526123328186611e67565b90506123416060830185611e58565b61234e608083018461207a565b9695505050505050565b600060208201905061236d6000830184612089565b92915050565b6000819050602082019050919050565b600081519050919050565b600081519050919050565b6000602082019050919050565b600082825260208201905092915050565b600082825260208201905092915050565b60006123d38261251b565b91506123de8361251b565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0382111561241357612412612577565b5b828201905092915050565b60006124298261251b565b91506124348361251b565b925082612444576124436125a6565b5b828204905092915050565b600061245a8261251b565b91506124658361251b565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff048311821515161561249e5761249d612577565b5b828202905092915050565b60006124b48261251b565b91506124bf8361251b565b9250828210156124d2576124d1612577565b5b828203905092915050565b60006124e8826124fb565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b600061253d8261251b565b9050919050565b60005b83811015612562578082015181840152602081019050612547565b83811115612571576000848401525b50505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600080fd5b6000601f19601f8301169050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b7f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260008201527f65666c656374696f6e7300000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b7f54726164696e6720697320616c7265616479206f70656e000000000000000000600082015250565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b7f5472616e7366657220616d6f756e74206d75737420626520677265617465722060008201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b6128f6816124dd565b811461290157600080fd5b50565b61290d816124ef565b811461291857600080fd5b50565b6129248161251b565b811461292f57600080fd5b5056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220633838670727a4b725c67908a058d9a0a78938174ebf940eeb869aa23507f32464736f6c63430008070033

Deployed Bytecode

0x6080604052600436106100ec5760003560e01c8063715018a61161008a578063a9059cbb11610059578063a9059cbb146102df578063c9567bf91461031c578063dd62ed3e14610333578063f429389014610370576100f3565b8063715018a6146102475780638da5cb5b1461025e57806395d89b411461028957806399c8d556146102b4576100f3565b806323b872dd116100c657806323b872dd1461018b578063313ce567146101c857806351bc3c85146101f357806370a082311461020a576100f3565b806306fdde03146100f8578063095ea7b31461012357806318160ddd14610160576100f3565b366100f357005b600080fd5b34801561010457600080fd5b5061010d610387565b60405161011a9190612181565b60405180910390f35b34801561012f57600080fd5b5061014a60048036038101906101459190611d71565b6103c4565b6040516101579190612166565b60405180910390f35b34801561016c57600080fd5b506101756103e2565b60405161018291906122e3565b60405180910390f35b34801561019757600080fd5b506101b260048036038101906101ad9190611d1e565b6103ec565b6040516101bf9190612166565b60405180910390f35b3480156101d457600080fd5b506101dd6104c5565b6040516101ea9190612358565b60405180910390f35b3480156101ff57600080fd5b506102086104ca565b005b34801561021657600080fd5b50610231600480360381019061022c9190611c84565b610544565b60405161023e91906122e3565b60405180910390f35b34801561025357600080fd5b5061025c610595565b005b34801561026a57600080fd5b506102736106e8565b6040516102809190612098565b60405180910390f35b34801561029557600080fd5b5061029e610711565b6040516102ab9190612181565b60405180910390f35b3480156102c057600080fd5b506102c961074e565b6040516102d691906122e3565b60405180910390f35b3480156102eb57600080fd5b5061030660048036038101906103019190611d71565b610758565b6040516103139190612166565b60405180910390f35b34801561032857600080fd5b50610331610776565b005b34801561033f57600080fd5b5061035a60048036038101906103559190611cde565b610c8a565b60405161036791906122e3565b60405180910390f35b34801561037c57600080fd5b50610385610d11565b005b60606040518060400160405280600881526020017f4d6574614d6f6f6e000000000000000000000000000000000000000000000000815250905090565b60006103d86103d1610d83565b8484610d8b565b6001905092915050565b6000600354905090565b60006103f9848484610f56565b6104ba84610405610d83565b6104b58560405180606001604052806028815260200161293360289139600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600061046b610d83565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546111b89092919063ffffffff16565b610d8b565b600190509392505050565b600090565b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1661050b610d83565b73ffffffffffffffffffffffffffffffffffffffff161461052b57600080fd5b600061053630610544565b90506105418161121c565b50565b600061058e600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546114a4565b9050919050565b61059d610d83565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461062a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161062190612263565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606040518060400160405280600881526020017f4d4554414d4f4f4e000000000000000000000000000000000000000000000000815250905090565b6000600754905090565b600061076c610765610d83565b8484610f56565b6001905092915050565b61077e610d83565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461080b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161080290612263565b60405180910390fd5b600a60149054906101000a900460ff161561085b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161085290612203565b60405180910390fd5b61088a30600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600354610d8b565b600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b1580156108f257600080fd5b505afa158015610906573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061092a9190611cb1565b73ffffffffffffffffffffffffffffffffffffffff1663c9c6539630600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b1580156109ae57600080fd5b505afa1580156109c2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109e69190611cb1565b6040518363ffffffff1660e01b8152600401610a039291906120b3565b602060405180830381600087803b158015610a1d57600080fd5b505af1158015610a31573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a559190611cb1565b600a60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d7194730610ade30610544565b600080610ae96106e8565b426040518863ffffffff1660e01b8152600401610b0b96959493929190612105565b6060604051808303818588803b158015610b2457600080fd5b505af1158015610b38573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610b5d9190611dde565b5050506001600a60166101000a81548160ff0219169083151502179055506001600a60146101000a81548160ff021916908315150217905550600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b3600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b8152600401610c359291906120dc565b602060405180830381600087803b158015610c4f57600080fd5b505af1158015610c63573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c879190611db1565b50565b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610d52610d83565b73ffffffffffffffffffffffffffffffffffffffff1614610d7257600080fd5b6000479050610d8081611512565b50565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610dfb576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610df2906122c3565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610e6b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e62906121e3565b60405180910390fd5b80600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051610f4991906122e3565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610fc6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fbd906122a3565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611036576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161102d906121a3565b60405180910390fd5b60008111611079576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161107090612283565b60405180910390fd5b6110816106e8565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141580156110ef57506110bf6106e8565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b156111a857600a60159054906101000a900460ff1615801561115f5750600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b80156111775750600a60169054906101000a900460ff165b156111a75761118d61118830610544565b61121c565b600047905060008111156111a5576111a447611512565b5b505b5b6111b383838361157e565b505050565b6000838311158290611200576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111f79190612181565b60405180910390fd5b506000838561120f91906124a9565b9050809150509392505050565b6001600a60156101000a81548160ff0219169083151502179055506000600267ffffffffffffffff81111561125457611253612604565b5b6040519080825280602002602001820160405280156112825781602001602082028036833780820191505090505b509050308160008151811061129a576112996125d5565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b15801561133c57600080fd5b505afa158015611350573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113749190611cb1565b81600181518110611388576113876125d5565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250506113ef30600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684610d8b565b600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b81526004016114539594939291906122fe565b600060405180830381600087803b15801561146d57600080fd5b505af1158015611481573d6000803e3d6000fd5b50505050506000600a60156101000a81548160ff02191690831515021790555050565b60006004548211156114eb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114e2906121c3565b60405180910390fd5b60006114f561158e565b905061150a81846115b990919063ffffffff16565b915050919050565b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f1935050505015801561157a573d6000803e3d6000fd5b5050565b611589838383611603565b505050565b600080600061159b6117ce565b915091506115b281836115b990919063ffffffff16565b9250505090565b60006115fb83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f00000000000081525061181b565b905092915050565b6000806000806000806116158761187e565b95509550955095509550955061167386600160008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546118e390919063ffffffff16565b600160008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061170885600160008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461192d90919063ffffffff16565b600160008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506117548161198b565b61175e8483611a48565b8773ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040516117bb91906122e3565b60405180910390a3505050505050505050565b60008060006004549050600060035490506117f66003546004546115b990919063ffffffff16565b82101561180e57600454600354935093505050611817565b81819350935050505b9091565b60008083118290611862576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118599190612181565b60405180910390fd5b5060008385611871919061241e565b9050809150509392505050565b60008060008060008060008060006118988a600754611a82565b92509250925060006118a861158e565b905060008060006118bb8e878787611b17565b9250925092508282828989899c509c509c509c509c509c505050505050505091939550919395565b600061192583836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506111b8565b905092915050565b600080828461193c91906123c8565b905083811015611981576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161197890612223565b60405180910390fd5b8091505092915050565b600061199561158e565b905060006119ac8284611ba090919063ffffffff16565b9050611a0081600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461192d90919063ffffffff16565b600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550505050565b611a5d826004546118e390919063ffffffff16565b600481905550611a788160055461192d90919063ffffffff16565b6005819055505050565b600080600080611aaf6064611aa1600289611ba090919063ffffffff16565b6115b990919063ffffffff16565b90506000611ad96064611acb888a611ba090919063ffffffff16565b6115b990919063ffffffff16565b90506000611b0282611af4858b6118e390919063ffffffff16565b6118e390919063ffffffff16565b90508083839550955095505050509250925092565b600080600080611b308589611ba090919063ffffffff16565b90506000611b478689611ba090919063ffffffff16565b90506000611b5e8789611ba090919063ffffffff16565b90506000611b8782611b7985876118e390919063ffffffff16565b6118e390919063ffffffff16565b9050838184965096509650505050509450945094915050565b600080831415611bb35760009050611c15565b60008284611bc1919061244f565b9050828482611bd0919061241e565b14611c10576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c0790612243565b60405180910390fd5b809150505b92915050565b600081359050611c2a816128ed565b92915050565b600081519050611c3f816128ed565b92915050565b600081519050611c5481612904565b92915050565b600081359050611c698161291b565b92915050565b600081519050611c7e8161291b565b92915050565b600060208284031215611c9a57611c99612633565b5b6000611ca884828501611c1b565b91505092915050565b600060208284031215611cc757611cc6612633565b5b6000611cd584828501611c30565b91505092915050565b60008060408385031215611cf557611cf4612633565b5b6000611d0385828601611c1b565b9250506020611d1485828601611c1b565b9150509250929050565b600080600060608486031215611d3757611d36612633565b5b6000611d4586828701611c1b565b9350506020611d5686828701611c1b565b9250506040611d6786828701611c5a565b9150509250925092565b60008060408385031215611d8857611d87612633565b5b6000611d9685828601611c1b565b9250506020611da785828601611c5a565b9150509250929050565b600060208284031215611dc757611dc6612633565b5b6000611dd584828501611c45565b91505092915050565b600080600060608486031215611df757611df6612633565b5b6000611e0586828701611c6f565b9350506020611e1686828701611c6f565b9250506040611e2786828701611c6f565b9150509250925092565b6000611e3d8383611e49565b60208301905092915050565b611e52816124dd565b82525050565b611e61816124dd565b82525050565b6000611e7282612383565b611e7c81856123a6565b9350611e8783612373565b8060005b83811015611eb8578151611e9f8882611e31565b9750611eaa83612399565b925050600181019050611e8b565b5085935050505092915050565b611ece816124ef565b82525050565b611edd81612532565b82525050565b6000611eee8261238e565b611ef881856123b7565b9350611f08818560208601612544565b611f1181612638565b840191505092915050565b6000611f296023836123b7565b9150611f3482612649565b604082019050919050565b6000611f4c602a836123b7565b9150611f5782612698565b604082019050919050565b6000611f6f6022836123b7565b9150611f7a826126e7565b604082019050919050565b6000611f926017836123b7565b9150611f9d82612736565b602082019050919050565b6000611fb5601b836123b7565b9150611fc08261275f565b602082019050919050565b6000611fd86021836123b7565b9150611fe382612788565b604082019050919050565b6000611ffb6020836123b7565b9150612006826127d7565b602082019050919050565b600061201e6029836123b7565b915061202982612800565b604082019050919050565b60006120416025836123b7565b915061204c8261284f565b604082019050919050565b60006120646024836123b7565b915061206f8261289e565b604082019050919050565b6120838161251b565b82525050565b61209281612525565b82525050565b60006020820190506120ad6000830184611e58565b92915050565b60006040820190506120c86000830185611e58565b6120d56020830184611e58565b9392505050565b60006040820190506120f16000830185611e58565b6120fe602083018461207a565b9392505050565b600060c08201905061211a6000830189611e58565b612127602083018861207a565b6121346040830187611ed4565b6121416060830186611ed4565b61214e6080830185611e58565b61215b60a083018461207a565b979650505050505050565b600060208201905061217b6000830184611ec5565b92915050565b6000602082019050818103600083015261219b8184611ee3565b905092915050565b600060208201905081810360008301526121bc81611f1c565b9050919050565b600060208201905081810360008301526121dc81611f3f565b9050919050565b600060208201905081810360008301526121fc81611f62565b9050919050565b6000602082019050818103600083015261221c81611f85565b9050919050565b6000602082019050818103600083015261223c81611fa8565b9050919050565b6000602082019050818103600083015261225c81611fcb565b9050919050565b6000602082019050818103600083015261227c81611fee565b9050919050565b6000602082019050818103600083015261229c81612011565b9050919050565b600060208201905081810360008301526122bc81612034565b9050919050565b600060208201905081810360008301526122dc81612057565b9050919050565b60006020820190506122f8600083018461207a565b92915050565b600060a082019050612313600083018861207a565b6123206020830187611ed4565b81810360408301526123328186611e67565b90506123416060830185611e58565b61234e608083018461207a565b9695505050505050565b600060208201905061236d6000830184612089565b92915050565b6000819050602082019050919050565b600081519050919050565b600081519050919050565b6000602082019050919050565b600082825260208201905092915050565b600082825260208201905092915050565b60006123d38261251b565b91506123de8361251b565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0382111561241357612412612577565b5b828201905092915050565b60006124298261251b565b91506124348361251b565b925082612444576124436125a6565b5b828204905092915050565b600061245a8261251b565b91506124658361251b565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff048311821515161561249e5761249d612577565b5b828202905092915050565b60006124b48261251b565b91506124bf8361251b565b9250828210156124d2576124d1612577565b5b828203905092915050565b60006124e8826124fb565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b600061253d8261251b565b9050919050565b60005b83811015612562578082015181840152602081019050612547565b83811115612571576000848401525b50505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600080fd5b6000601f19601f8301169050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b7f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260008201527f65666c656374696f6e7300000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b7f54726164696e6720697320616c7265616479206f70656e000000000000000000600082015250565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b7f5472616e7366657220616d6f756e74206d75737420626520677265617465722060008201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b6128f6816124dd565b811461290157600080fd5b50565b61290d816124ef565b811461291857600080fd5b50565b6129248161251b565b811461292f57600080fd5b5056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220633838670727a4b725c67908a058d9a0a78938174ebf940eeb869aa23507f32464736f6c63430008070033

Deployed Bytecode Sourcemap

3354:7305:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4417:74;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5249:146;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4658:86;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5400:292;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4579:74;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8774:170;;;;;;;;;;;;;:::i;:::-;;4749:129;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2580:133;;;;;;;;;;;;;:::i;:::-;;2396:70;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4496:78;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5040:65;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4883:152;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7320:486;;;;;;;;;;;;;:::i;:::-;;5110:134;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8949:169;;;;;;;;;;;;;:::i;:::-;;4417:74;4454:13;3901:10;;;;;;;;;;;;;;;;;4474:12;;4417:74;:::o;5249:146::-;5324:4;5335:39;5344:12;:10;:12::i;:::-;5358:7;5367:6;5335:8;:39::i;:::-;5386:4;5379:11;;5249:146;;;;:::o;4658:86::-;4711:7;4732;;4725:14;;4658:86;:::o;5400:292::-;5498:4;5509:36;5519:6;5527:9;5538:6;5509:9;:36::i;:::-;5550:121;5559:6;5567:12;:10;:12::i;:::-;5581:89;5619:6;5581:89;;;;;;;;;;;;;;;;;:11;:19;5593:6;5581:19;;;;;;;;;;;;;;;:33;5601:12;:10;:12::i;:::-;5581:33;;;;;;;;;;;;;;;;:37;;:89;;;;;:::i;:::-;5550:8;:121::i;:::-;5683:4;5676:11;;5400:292;;;;;:::o;4579:74::-;4620:5;4579:74;:::o;8774:170::-;8834:10;;;;;;;;;;;8818:26;;:12;:10;:12::i;:::-;:26;;;8810:35;;;;;;8850:23;8876:24;8894:4;8876:9;:24::i;:::-;8850:50;;8905:34;8923:15;8905:17;:34::i;:::-;8805:139;8774:170::o;4749:129::-;4815:7;4836:37;4856:7;:16;4864:7;4856:16;;;;;;;;;;;;;;;;4836:19;:37::i;:::-;4829:44;;4749:129;;;:::o;2580:133::-;2515:12;:10;:12::i;:::-;2505:22;;:6;;;;;;;;;;:22;;;2497:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;2681:1:::1;2644:40;;2665:6;::::0;::::1;;;;;;;;2644:40;;;;;;;;;;;;2706:1;2689:6:::0;::::1;:19;;;;;;;;;;;;;;;;;;2580:133::o:0;2396:70::-;2434:7;2455:6;;;;;;;;;;;2448:13;;2396:70;:::o;4496:78::-;4535:13;3949:12;;;;;;;;;;;;;;;;;4555:14;;4496:78;:::o;5040:65::-;5076:7;5096:4;;5089:11;;5040:65;:::o;4883:152::-;4961:4;4972:42;4982:12;:10;:12::i;:::-;4996:9;5007:6;4972:9;:42::i;:::-;5026:4;5019:11;;4883:152;;;;:::o;7320:486::-;2515:12;:10;:12::i;:::-;2505:22;;:6;;;;;;;;;;:22;;;2497:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;7378:11:::1;;;;;;;;;;;7377:12;7369:48;;;;;;;;;;;;:::i;:::-;;;;;;;;;7422:50;7439:4;7454:7;;;;;;;;;;;7464;;7422:8;:50::i;:::-;7503:7;;;;;;;;;;;:15;;;:17;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;7485:47;;;7541:4;7548:7;;;;;;;;;;;:12;;;:14;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;7485:78;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;7477:5;;:86;;;;;;;;;;;;;;;;;;7568:7;;;;;;;;;;;:23;;;7600:21;7631:4;7638:24;7656:4;7638:9;:24::i;:::-;7664:1;7667::::0;7670:7:::1;:5;:7::i;:::-;7679:15;7568:127;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;7714:4;7700:11;;:18;;;;;;;;;;;;;;;;;;7737:4;7723:11;;:18;;;;;;;;;;;;;;;;;;7753:5;;;;;;;;;;;7746:21;;;7776:7;;;;;;;;;;;7786:14;7746:55;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;7320:486::o:0;5110:134::-;5191:7;5212:11;:18;5224:5;5212:18;;;;;;;;;;;;;;;:27;5231:7;5212:27;;;;;;;;;;;;;;;;5205:34;;5110:134;;;;:::o;8949:169::-;9009:10;;;;;;;;;;;8993:26;;:12;:10;:12::i;:::-;:26;;;8985:35;;;;;;9025:26;9054:21;9025:50;;9080:33;9094:18;9080:13;:33::i;:::-;8980:138;8949:169::o;368:89::-;421:7;442:10;435:17;;368:89;:::o;5935:308::-;6039:1;6022:19;;:5;:19;;;;6014:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;6114:1;6095:21;;:7;:21;;;;6087:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;6190:6;6160:11;:18;6172:5;6160:18;;;;;;;;;;;;;;;:27;6179:7;6160:27;;;;;;;;;;;;;;;:36;;;;6222:7;6206:32;;6215:5;6206:32;;;6231:6;6206:32;;;;;;:::i;:::-;;;;;;;;5935:308;;;:::o;6248:622::-;6346:1;6330:18;;:4;:18;;;;6322:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;6417:1;6403:16;;:2;:16;;;;6395:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;6481:1;6472:6;:10;6464:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;6547:7;:5;:7::i;:::-;6539:15;;:4;:15;;;;:32;;;;;6564:7;:5;:7::i;:::-;6558:13;;:2;:13;;;;6539:32;6535:294;;;6584:6;;;;;;;;;;;6583:7;:24;;;;;6602:5;;;;;;;;;;;6594:13;;:4;:13;;;;6583:24;:39;;;;;6611:11;;;;;;;;;;;6583:39;6579:245;;;6631:43;6649:24;6667:4;6649:9;:24::i;:::-;6631:17;:43::i;:::-;6681:26;6710:21;6681:50;;6763:1;6742:18;:22;6738:80;;;6774:36;6788:21;6774:13;:36::i;:::-;6738:80;6624:200;6579:245;6535:294;6833:32;6848:4;6854:2;6858:6;6833:14;:32::i;:::-;6248:622;;;:::o;1433:169::-;1519:7;1546:1;1541;:6;;1549:12;1533:29;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;1567:9;1583:1;1579;:5;;;;:::i;:::-;1567:17;;1596:1;1589:8;;;1433:169;;;;;:::o;6875:351::-;4266:4;4257:6;;:13;;;;;;;;;;;;;;;;;;6948:21:::1;6986:1;6972:16;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6948:40;;7011:4;6993;6998:1;6993:7;;;;;;;;:::i;:::-;;;;;;;:23;;;;;;;;;::::0;::::1;7031:7;;;;;;;;;;;:12;;;:14;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;7021:4;7026:1;7021:7;;;;;;;;:::i;:::-;;;;;;;:24;;;;;;;;;::::0;::::1;7050:54;7067:4;7082:7;;;;;;;;;;;7092:11;7050:8;:54::i;:::-;7109:7;;;;;;;;;;;:58;;;7168:11;7181:1;7184:4;7198;7205:15;7109:112;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;6943:283;4290:5:::0;4281:6;;:14;;;;;;;;;;;;;;;;;;6875:351;:::o;5697:233::-;5765:7;5798;;5787;:18;;5779:73;;;;;;;;;;;;:::i;:::-;;;;;;;;;5857:19;5879:10;:8;:10::i;:::-;5857:32;;5901:24;5913:11;5901:7;:11;;:24;;;;:::i;:::-;5894:31;;;5697:233;;;:::o;7231:84::-;7283:10;;;;;;;;;;;:19;;:27;7303:6;7283:27;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7231:84;:::o;7811:137::-;7899:44;7917:6;7925:9;7936:6;7899:17;:44::i;:::-;7811:137;;;:::o;10272:149::-;10314:7;10329:15;10346;10365:19;:17;:19::i;:::-;10328:56;;;;10396:20;10408:7;10396;:11;;:20;;;;:::i;:::-;10389:27;;;;10272:149;:::o;1816:123::-;1874:7;1895:39;1899:1;1902;1895:39;;;;;;;;;;;;;;;;;:3;:39::i;:::-;1888:46;;1816:123;;;;:::o;7955:448::-;8048:15;8065:23;8090:12;8104:23;8129:12;8143:13;8160:19;8171:7;8160:10;:19::i;:::-;8047:132;;;;;;;;;;;;8202:28;8222:7;8202;:15;8210:6;8202:15;;;;;;;;;;;;;;;;:19;;:28;;;;:::i;:::-;8184:7;:15;8192:6;8184:15;;;;;;;;;;;;;;;:46;;;;8256:39;8279:15;8256:7;:18;8264:9;8256:18;;;;;;;;;;;;;;;;:22;;:39;;;;:::i;:::-;8235:7;:18;8243:9;8235:18;;;;;;;;;;;;;;;:60;;;;8300:16;8310:5;8300:9;:16::i;:::-;8321:23;8333:4;8339;8321:11;:23::i;:::-;8371:9;8354:44;;8363:6;8354:44;;;8382:15;8354:44;;;;;;:::i;:::-;;;;;;;;8042:361;;;;;;7955:448;;;:::o;10426:230::-;10477:7;10486;10500:15;10518:7;;10500:25;;10530:15;10548:7;;10530:25;;10574:20;10586:7;;10574;;:11;;:20;;;;:::i;:::-;10564:7;:30;10560:61;;;10604:7;;10613;;10596:25;;;;;;;;10560:61;10634:7;10643;10626:25;;;;;;10426:230;;;:::o;1944:168::-;2030:7;2056:1;2052;:5;2059:12;2044:28;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;2077:9;2093:1;2089;:5;;;;:::i;:::-;2077:17;;2106:1;2099:8;;;1944:168;;;;;:::o;9123:442::-;9182:7;9191;9200;9209;9218;9227;9242:23;9267:12;9281:13;9298:34;9318:7;9327:4;;9298:19;:34::i;:::-;9241:91;;;;;;9337:19;9359:10;:8;:10::i;:::-;9337:32;;9375:15;9392:23;9417:12;9433:53;9452:7;9461:4;9467:5;9474:11;9433:18;:53::i;:::-;9374:112;;;;;;9499:7;9508:15;9525:4;9531:15;9548:4;9554:5;9491:69;;;;;;;;;;;;;;;;;;;9123:442;;;;;;;:::o;1301:127::-;1359:7;1380:43;1384:1;1387;1380:43;;;;;;;;;;;;;;;;;:3;:43::i;:::-;1373:50;;1301:127;;;;:::o;1138:158::-;1196:7;1210:9;1226:1;1222;:5;;;;:::i;:::-;1210:17;;1245:1;1240;:6;;1232:46;;;;;;;;;;;;:::i;:::-;;;;;;;;;1290:1;1283:8;;;1138:158;;;;:::o;8408:190::-;8455:19;8477:10;:8;:10::i;:::-;8455:32;;8492:13;8508:22;8518:11;8508:5;:9;;:22;;;;:::i;:::-;8492:38;;8560:33;8587:5;8560:7;:22;8576:4;8560:22;;;;;;;;;;;;;;;;:26;;:33;;;;:::i;:::-;8535:7;:22;8551:4;8535:22;;;;;;;;;;;;;;;:58;;;;8450:148;;8408:190;:::o;8603:132::-;8675:17;8687:4;8675:7;;:11;;:17;;;;:::i;:::-;8665:7;:27;;;;8710:20;8725:4;8710:10;;:14;;:20;;;;:::i;:::-;8697:10;:33;;;;8603:132;;:::o;9570:309::-;9654:7;9663;9672;9686:12;9701:23;9720:3;9701:14;9713:1;9701:7;:11;;:14;;;;:::i;:::-;:18;;:23;;;;:::i;:::-;9686:38;;9729:13;9745:28;9769:3;9745:19;9757:6;9745:7;:11;;:19;;;;:::i;:::-;:23;;:28;;;;:::i;:::-;9729:44;;9778:23;9804:28;9826:5;9804:17;9816:4;9804:7;:11;;:17;;;;:::i;:::-;:21;;:28;;;;:::i;:::-;9778:54;;9845:15;9862:4;9868:5;9837:37;;;;;;;;;9570:309;;;;;:::o;9884:383::-;10001:7;10010;10019;10033:15;10051:24;10063:11;10051:7;:11;;:24;;;;:::i;:::-;10033:42;;10080:12;10095:21;10104:11;10095:4;:8;;:21;;;;:::i;:::-;10080:36;;10121:13;10137:22;10147:11;10137:5;:9;;:22;;;;:::i;:::-;10121:38;;10164:23;10190:28;10212:5;10190:17;10202:4;10190:7;:11;;:17;;;;:::i;:::-;:21;;:28;;;;:::i;:::-;10164:54;;10231:7;10240:15;10257:4;10223:39;;;;;;;;;;9884:383;;;;;;;;:::o;1607:204::-;1665:7;1688:1;1683;:6;1679:32;;;1704:1;1697:8;;;;1679:32;1715:9;1731:1;1727;:5;;;;:::i;:::-;1715:17;;1754:1;1749;1745;:5;;;;:::i;:::-;:10;1737:56;;;;;;;;;;;;:::i;:::-;;;;;;;;;1805:1;1798:8;;;1607:204;;;;;:::o;7:139:1:-;53:5;91:6;78:20;69:29;;107:33;134:5;107:33;:::i;:::-;7:139;;;;:::o;152:143::-;209:5;240:6;234:13;225:22;;256:33;283:5;256:33;:::i;:::-;152:143;;;;:::o;301:137::-;355:5;386:6;380:13;371:22;;402:30;426:5;402:30;:::i;:::-;301:137;;;;:::o;444:139::-;490:5;528:6;515:20;506:29;;544:33;571:5;544:33;:::i;:::-;444:139;;;;:::o;589:143::-;646:5;677:6;671:13;662:22;;693:33;720:5;693:33;:::i;:::-;589:143;;;;:::o;738:329::-;797:6;846:2;834:9;825:7;821:23;817:32;814:119;;;852:79;;:::i;:::-;814:119;972:1;997:53;1042:7;1033:6;1022:9;1018:22;997:53;:::i;:::-;987:63;;943:117;738:329;;;;:::o;1073:351::-;1143:6;1192:2;1180:9;1171:7;1167:23;1163:32;1160:119;;;1198:79;;:::i;:::-;1160:119;1318:1;1343:64;1399:7;1390:6;1379:9;1375:22;1343:64;:::i;:::-;1333:74;;1289:128;1073:351;;;;:::o;1430:474::-;1498:6;1506;1555:2;1543:9;1534:7;1530:23;1526:32;1523:119;;;1561:79;;:::i;:::-;1523:119;1681:1;1706:53;1751:7;1742:6;1731:9;1727:22;1706:53;:::i;:::-;1696:63;;1652:117;1808:2;1834:53;1879:7;1870:6;1859:9;1855:22;1834:53;:::i;:::-;1824:63;;1779:118;1430:474;;;;;:::o;1910:619::-;1987:6;1995;2003;2052:2;2040:9;2031:7;2027:23;2023:32;2020:119;;;2058:79;;:::i;:::-;2020:119;2178:1;2203:53;2248:7;2239:6;2228:9;2224:22;2203:53;:::i;:::-;2193:63;;2149:117;2305:2;2331:53;2376:7;2367:6;2356:9;2352:22;2331:53;:::i;:::-;2321:63;;2276:118;2433:2;2459:53;2504:7;2495:6;2484:9;2480:22;2459:53;:::i;:::-;2449:63;;2404:118;1910:619;;;;;:::o;2535:474::-;2603:6;2611;2660:2;2648:9;2639:7;2635:23;2631:32;2628:119;;;2666:79;;:::i;:::-;2628:119;2786:1;2811:53;2856:7;2847:6;2836:9;2832:22;2811:53;:::i;:::-;2801:63;;2757:117;2913:2;2939:53;2984:7;2975:6;2964:9;2960:22;2939:53;:::i;:::-;2929:63;;2884:118;2535:474;;;;;:::o;3015:345::-;3082:6;3131:2;3119:9;3110:7;3106:23;3102:32;3099:119;;;3137:79;;:::i;:::-;3099:119;3257:1;3282:61;3335:7;3326:6;3315:9;3311:22;3282:61;:::i;:::-;3272:71;;3228:125;3015:345;;;;:::o;3366:663::-;3454:6;3462;3470;3519:2;3507:9;3498:7;3494:23;3490:32;3487:119;;;3525:79;;:::i;:::-;3487:119;3645:1;3670:64;3726:7;3717:6;3706:9;3702:22;3670:64;:::i;:::-;3660:74;;3616:128;3783:2;3809:64;3865:7;3856:6;3845:9;3841:22;3809:64;:::i;:::-;3799:74;;3754:129;3922:2;3948:64;4004:7;3995:6;3984:9;3980:22;3948:64;:::i;:::-;3938:74;;3893:129;3366:663;;;;;:::o;4035:179::-;4104:10;4125:46;4167:3;4159:6;4125:46;:::i;:::-;4203:4;4198:3;4194:14;4180:28;;4035:179;;;;:::o;4220:108::-;4297:24;4315:5;4297:24;:::i;:::-;4292:3;4285:37;4220:108;;:::o;4334:118::-;4421:24;4439:5;4421:24;:::i;:::-;4416:3;4409:37;4334:118;;:::o;4488:732::-;4607:3;4636:54;4684:5;4636:54;:::i;:::-;4706:86;4785:6;4780:3;4706:86;:::i;:::-;4699:93;;4816:56;4866:5;4816:56;:::i;:::-;4895:7;4926:1;4911:284;4936:6;4933:1;4930:13;4911:284;;;5012:6;5006:13;5039:63;5098:3;5083:13;5039:63;:::i;:::-;5032:70;;5125:60;5178:6;5125:60;:::i;:::-;5115:70;;4971:224;4958:1;4955;4951:9;4946:14;;4911:284;;;4915:14;5211:3;5204:10;;4612:608;;;4488:732;;;;:::o;5226:109::-;5307:21;5322:5;5307:21;:::i;:::-;5302:3;5295:34;5226:109;;:::o;5341:147::-;5436:45;5475:5;5436:45;:::i;:::-;5431:3;5424:58;5341:147;;:::o;5494:364::-;5582:3;5610:39;5643:5;5610:39;:::i;:::-;5665:71;5729:6;5724:3;5665:71;:::i;:::-;5658:78;;5745:52;5790:6;5785:3;5778:4;5771:5;5767:16;5745:52;:::i;:::-;5822:29;5844:6;5822:29;:::i;:::-;5817:3;5813:39;5806:46;;5586:272;5494:364;;;;:::o;5864:366::-;6006:3;6027:67;6091:2;6086:3;6027:67;:::i;:::-;6020:74;;6103:93;6192:3;6103:93;:::i;:::-;6221:2;6216:3;6212:12;6205:19;;5864:366;;;:::o;6236:::-;6378:3;6399:67;6463:2;6458:3;6399:67;:::i;:::-;6392:74;;6475:93;6564:3;6475:93;:::i;:::-;6593:2;6588:3;6584:12;6577:19;;6236:366;;;:::o;6608:::-;6750:3;6771:67;6835:2;6830:3;6771:67;:::i;:::-;6764:74;;6847:93;6936:3;6847:93;:::i;:::-;6965:2;6960:3;6956:12;6949:19;;6608:366;;;:::o;6980:::-;7122:3;7143:67;7207:2;7202:3;7143:67;:::i;:::-;7136:74;;7219:93;7308:3;7219:93;:::i;:::-;7337:2;7332:3;7328:12;7321:19;;6980:366;;;:::o;7352:::-;7494:3;7515:67;7579:2;7574:3;7515:67;:::i;:::-;7508:74;;7591:93;7680:3;7591:93;:::i;:::-;7709:2;7704:3;7700:12;7693:19;;7352:366;;;:::o;7724:::-;7866:3;7887:67;7951:2;7946:3;7887:67;:::i;:::-;7880:74;;7963:93;8052:3;7963:93;:::i;:::-;8081:2;8076:3;8072:12;8065:19;;7724:366;;;:::o;8096:::-;8238:3;8259:67;8323:2;8318:3;8259:67;:::i;:::-;8252:74;;8335:93;8424:3;8335:93;:::i;:::-;8453:2;8448:3;8444:12;8437:19;;8096:366;;;:::o;8468:::-;8610:3;8631:67;8695:2;8690:3;8631:67;:::i;:::-;8624:74;;8707:93;8796:3;8707:93;:::i;:::-;8825:2;8820:3;8816:12;8809:19;;8468:366;;;:::o;8840:::-;8982:3;9003:67;9067:2;9062:3;9003:67;:::i;:::-;8996:74;;9079:93;9168:3;9079:93;:::i;:::-;9197:2;9192:3;9188:12;9181:19;;8840:366;;;:::o;9212:::-;9354:3;9375:67;9439:2;9434:3;9375:67;:::i;:::-;9368:74;;9451:93;9540:3;9451:93;:::i;:::-;9569:2;9564:3;9560:12;9553:19;;9212:366;;;:::o;9584:118::-;9671:24;9689:5;9671:24;:::i;:::-;9666:3;9659:37;9584:118;;:::o;9708:112::-;9791:22;9807:5;9791:22;:::i;:::-;9786:3;9779:35;9708:112;;:::o;9826:222::-;9919:4;9957:2;9946:9;9942:18;9934:26;;9970:71;10038:1;10027:9;10023:17;10014:6;9970:71;:::i;:::-;9826:222;;;;:::o;10054:332::-;10175:4;10213:2;10202:9;10198:18;10190:26;;10226:71;10294:1;10283:9;10279:17;10270:6;10226:71;:::i;:::-;10307:72;10375:2;10364:9;10360:18;10351:6;10307:72;:::i;:::-;10054:332;;;;;:::o;10392:::-;10513:4;10551:2;10540:9;10536:18;10528:26;;10564:71;10632:1;10621:9;10617:17;10608:6;10564:71;:::i;:::-;10645:72;10713:2;10702:9;10698:18;10689:6;10645:72;:::i;:::-;10392:332;;;;;:::o;10730:807::-;10979:4;11017:3;11006:9;11002:19;10994:27;;11031:71;11099:1;11088:9;11084:17;11075:6;11031:71;:::i;:::-;11112:72;11180:2;11169:9;11165:18;11156:6;11112:72;:::i;:::-;11194:80;11270:2;11259:9;11255:18;11246:6;11194:80;:::i;:::-;11284;11360:2;11349:9;11345:18;11336:6;11284:80;:::i;:::-;11374:73;11442:3;11431:9;11427:19;11418:6;11374:73;:::i;:::-;11457;11525:3;11514:9;11510:19;11501:6;11457:73;:::i;:::-;10730:807;;;;;;;;;:::o;11543:210::-;11630:4;11668:2;11657:9;11653:18;11645:26;;11681:65;11743:1;11732:9;11728:17;11719:6;11681:65;:::i;:::-;11543:210;;;;:::o;11759:313::-;11872:4;11910:2;11899:9;11895:18;11887:26;;11959:9;11953:4;11949:20;11945:1;11934:9;11930:17;11923:47;11987:78;12060:4;12051:6;11987:78;:::i;:::-;11979:86;;11759:313;;;;:::o;12078:419::-;12244:4;12282:2;12271:9;12267:18;12259:26;;12331:9;12325:4;12321:20;12317:1;12306:9;12302:17;12295:47;12359:131;12485:4;12359:131;:::i;:::-;12351:139;;12078:419;;;:::o;12503:::-;12669:4;12707:2;12696:9;12692:18;12684:26;;12756:9;12750:4;12746:20;12742:1;12731:9;12727:17;12720:47;12784:131;12910:4;12784:131;:::i;:::-;12776:139;;12503:419;;;:::o;12928:::-;13094:4;13132:2;13121:9;13117:18;13109:26;;13181:9;13175:4;13171:20;13167:1;13156:9;13152:17;13145:47;13209:131;13335:4;13209:131;:::i;:::-;13201:139;;12928:419;;;:::o;13353:::-;13519:4;13557:2;13546:9;13542:18;13534:26;;13606:9;13600:4;13596:20;13592:1;13581:9;13577:17;13570:47;13634:131;13760:4;13634:131;:::i;:::-;13626:139;;13353:419;;;:::o;13778:::-;13944:4;13982:2;13971:9;13967:18;13959:26;;14031:9;14025:4;14021:20;14017:1;14006:9;14002:17;13995:47;14059:131;14185:4;14059:131;:::i;:::-;14051:139;;13778:419;;;:::o;14203:::-;14369:4;14407:2;14396:9;14392:18;14384:26;;14456:9;14450:4;14446:20;14442:1;14431:9;14427:17;14420:47;14484:131;14610:4;14484:131;:::i;:::-;14476:139;;14203:419;;;:::o;14628:::-;14794:4;14832:2;14821:9;14817:18;14809:26;;14881:9;14875:4;14871:20;14867:1;14856:9;14852:17;14845:47;14909:131;15035:4;14909:131;:::i;:::-;14901:139;;14628:419;;;:::o;15053:::-;15219:4;15257:2;15246:9;15242:18;15234:26;;15306:9;15300:4;15296:20;15292:1;15281:9;15277:17;15270:47;15334:131;15460:4;15334:131;:::i;:::-;15326:139;;15053:419;;;:::o;15478:::-;15644:4;15682:2;15671:9;15667:18;15659:26;;15731:9;15725:4;15721:20;15717:1;15706:9;15702:17;15695:47;15759:131;15885:4;15759:131;:::i;:::-;15751:139;;15478:419;;;:::o;15903:::-;16069:4;16107:2;16096:9;16092:18;16084:26;;16156:9;16150:4;16146:20;16142:1;16131:9;16127:17;16120:47;16184:131;16310:4;16184:131;:::i;:::-;16176:139;;15903:419;;;:::o;16328:222::-;16421:4;16459:2;16448:9;16444:18;16436:26;;16472:71;16540:1;16529:9;16525:17;16516:6;16472:71;:::i;:::-;16328:222;;;;:::o;16556:831::-;16819:4;16857:3;16846:9;16842:19;16834:27;;16871:71;16939:1;16928:9;16924:17;16915:6;16871:71;:::i;:::-;16952:80;17028:2;17017:9;17013:18;17004:6;16952:80;:::i;:::-;17079:9;17073:4;17069:20;17064:2;17053:9;17049:18;17042:48;17107:108;17210:4;17201:6;17107:108;:::i;:::-;17099:116;;17225:72;17293:2;17282:9;17278:18;17269:6;17225:72;:::i;:::-;17307:73;17375:3;17364:9;17360:19;17351:6;17307:73;:::i;:::-;16556:831;;;;;;;;:::o;17393:214::-;17482:4;17520:2;17509:9;17505:18;17497:26;;17533:67;17597:1;17586:9;17582:17;17573:6;17533:67;:::i;:::-;17393:214;;;;:::o;17694:132::-;17761:4;17784:3;17776:11;;17814:4;17809:3;17805:14;17797:22;;17694:132;;;:::o;17832:114::-;17899:6;17933:5;17927:12;17917:22;;17832:114;;;:::o;17952:99::-;18004:6;18038:5;18032:12;18022:22;;17952:99;;;:::o;18057:113::-;18127:4;18159;18154:3;18150:14;18142:22;;18057:113;;;:::o;18176:184::-;18275:11;18309:6;18304:3;18297:19;18349:4;18344:3;18340:14;18325:29;;18176:184;;;;:::o;18366:169::-;18450:11;18484:6;18479:3;18472:19;18524:4;18519:3;18515:14;18500:29;;18366:169;;;;:::o;18541:305::-;18581:3;18600:20;18618:1;18600:20;:::i;:::-;18595:25;;18634:20;18652:1;18634:20;:::i;:::-;18629:25;;18788:1;18720:66;18716:74;18713:1;18710:81;18707:107;;;18794:18;;:::i;:::-;18707:107;18838:1;18835;18831:9;18824:16;;18541:305;;;;:::o;18852:185::-;18892:1;18909:20;18927:1;18909:20;:::i;:::-;18904:25;;18943:20;18961:1;18943:20;:::i;:::-;18938:25;;18982:1;18972:35;;18987:18;;:::i;:::-;18972:35;19029:1;19026;19022:9;19017:14;;18852:185;;;;:::o;19043:348::-;19083:7;19106:20;19124:1;19106:20;:::i;:::-;19101:25;;19140:20;19158:1;19140:20;:::i;:::-;19135:25;;19328:1;19260:66;19256:74;19253:1;19250:81;19245:1;19238:9;19231:17;19227:105;19224:131;;;19335:18;;:::i;:::-;19224:131;19383:1;19380;19376:9;19365:20;;19043:348;;;;:::o;19397:191::-;19437:4;19457:20;19475:1;19457:20;:::i;:::-;19452:25;;19491:20;19509:1;19491:20;:::i;:::-;19486:25;;19530:1;19527;19524:8;19521:34;;;19535:18;;:::i;:::-;19521:34;19580:1;19577;19573:9;19565:17;;19397:191;;;;:::o;19594:96::-;19631:7;19660:24;19678:5;19660:24;:::i;:::-;19649:35;;19594:96;;;:::o;19696:90::-;19730:7;19773:5;19766:13;19759:21;19748:32;;19696:90;;;:::o;19792:126::-;19829:7;19869:42;19862:5;19858:54;19847:65;;19792:126;;;:::o;19924:77::-;19961:7;19990:5;19979:16;;19924:77;;;:::o;20007:86::-;20042:7;20082:4;20075:5;20071:16;20060:27;;20007:86;;;:::o;20099:121::-;20157:9;20190:24;20208:5;20190:24;:::i;:::-;20177:37;;20099:121;;;:::o;20226:307::-;20294:1;20304:113;20318:6;20315:1;20312:13;20304:113;;;20403:1;20398:3;20394:11;20388:18;20384:1;20379:3;20375:11;20368:39;20340:2;20337:1;20333:10;20328:15;;20304:113;;;20435:6;20432:1;20429:13;20426:101;;;20515:1;20506:6;20501:3;20497:16;20490:27;20426:101;20275:258;20226:307;;;:::o;20539:180::-;20587:77;20584:1;20577:88;20684:4;20681:1;20674:15;20708:4;20705:1;20698:15;20725:180;20773:77;20770:1;20763:88;20870:4;20867:1;20860:15;20894:4;20891:1;20884:15;20911:180;20959:77;20956:1;20949:88;21056:4;21053:1;21046:15;21080:4;21077:1;21070:15;21097:180;21145:77;21142:1;21135:88;21242:4;21239:1;21232:15;21266:4;21263:1;21256:15;21406:117;21515:1;21512;21505:12;21529:102;21570:6;21621:2;21617:7;21612:2;21605:5;21601:14;21597:28;21587:38;;21529:102;;;:::o;21637:222::-;21777:34;21773:1;21765:6;21761:14;21754:58;21846:5;21841:2;21833:6;21829:15;21822:30;21637:222;:::o;21865:229::-;22005:34;22001:1;21993:6;21989:14;21982:58;22074:12;22069:2;22061:6;22057:15;22050:37;21865:229;:::o;22100:221::-;22240:34;22236:1;22228:6;22224:14;22217:58;22309:4;22304:2;22296:6;22292:15;22285:29;22100:221;:::o;22327:173::-;22467:25;22463:1;22455:6;22451:14;22444:49;22327:173;:::o;22506:177::-;22646:29;22642:1;22634:6;22630:14;22623:53;22506:177;:::o;22689:220::-;22829:34;22825:1;22817:6;22813:14;22806:58;22898:3;22893:2;22885:6;22881:15;22874:28;22689:220;:::o;22915:182::-;23055:34;23051:1;23043:6;23039:14;23032:58;22915:182;:::o;23103:228::-;23243:34;23239:1;23231:6;23227:14;23220:58;23312:11;23307:2;23299:6;23295:15;23288:36;23103:228;:::o;23337:224::-;23477:34;23473:1;23465:6;23461:14;23454:58;23546:7;23541:2;23533:6;23529:15;23522:32;23337:224;:::o;23567:223::-;23707:34;23703:1;23695:6;23691:14;23684:58;23776:6;23771:2;23763:6;23759:15;23752:31;23567:223;:::o;23796:122::-;23869:24;23887:5;23869:24;:::i;:::-;23862:5;23859:35;23849:63;;23908:1;23905;23898:12;23849:63;23796:122;:::o;23924:116::-;23994:21;24009:5;23994:21;:::i;:::-;23987:5;23984:32;23974:60;;24030:1;24027;24020:12;23974:60;23924:116;:::o;24046:122::-;24119:24;24137:5;24119:24;:::i;:::-;24112:5;24109:35;24099:63;;24158:1;24155;24148:12;24099:63;24046:122;:::o

Swarm Source

ipfs://633838670727a4b725c67908a058d9a0a78938174ebf940eeb869aa23507f324
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.