ETH Price: $3,172.00 (+3.21%)

Token

DarkMatterINU (DMTINU)
 

Overview

Max Total Supply

1,000,000,000 DMTINU

Holders

19

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 8 Decimals)

Balance
4,399,999.12 DMTINU

Value
$0.00
0xccc0d713a195c133728ba2adfee3a3dcddd1e3ff
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:
DMTINU

Compiler Version
v0.8.12+commit.f00d7308

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2022-03-14
*/

/**

*/

//SPDX-License-Identifier: MIT
/**
// Telegram: https://t.me/DMTInu
// Website: darkmatterinu.com
// Twitter: https://mobile.twitter.com/DarkMatInu
**/

pragma solidity ^0.8.12;



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

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;
	address private _previousOwner;
	event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);

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

}


contract DMTINU is Context, IERC20, Ownable {
	using SafeMath for uint256;
	mapping (address => uint256) private _balance;
	mapping (address => mapping (address => uint256)) private _allowances;
	mapping (address => bool) private _isExcludedFromFee;
	mapping(address => bool) public bots;

	uint256 private _tTotal = 1000000000 * 10**8;


	uint256 private _taxFee;
	address payable private _taxWallet;
	uint256 public _maxTxAmount;
	uint256 public _maxWallet;

	string private constant _name = "DarkMatterINU";
	string private constant _symbol = "DMTINU";
	uint8 private constant _decimals = 8;

	IUniswapV2Router02 private _uniswap;
	address private _pair;
	bool private _canTrade;
	bool private _inSwap = false;
	bool private _swapEnabled = false;

	modifier lockTheSwap {
		_inSwap = true;
		_;
		_inSwap = false;
	}
	constructor () {
		_taxWallet = payable(_msgSender());

		_taxFee = 12;
		_uniswap = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);

		_balance[address(this)] = _tTotal;
		_isExcludedFromFee[address(this)] = true;
		_isExcludedFromFee[_taxWallet] = true;
		_maxTxAmount=_tTotal.div(200);
		_maxWallet=_tTotal.div(100);
		emit Transfer(address(0x0), _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 _balance[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 _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 (from == _pair && to != address(_uniswap) && ! _isExcludedFromFee[to] ) {
				require(amount<=_maxTxAmount,"Transaction amount limited");
			}
			require(!bots[from] && !bots[to], "This account is blacklisted");

      if(to != _pair && ! _isExcludedFromFee[to] && ! _isExcludedFromFee[from]) {
          require(balanceOf(to) + amount <= _maxWallet, "Balance exceeded wallet size");
      }

			uint256 contractTokenBalance = balanceOf(address(this));
			if (!_inSwap && from != _pair && _swapEnabled) {
				swapTokensForEth(contractTokenBalance);
				uint256 contractETHBalance = address(this).balance;
				if(contractETHBalance >= 1000000000000000000) {
					sendETHToFee(address(this).balance);
				}
			}
		}

		_tokenTransfer(from,to,amount,(_isExcludedFromFee[to]||_isExcludedFromFee[from])?0:_taxFee);
	}



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


	function decreaseTax(uint256 newTaxRate) public onlyOwner{
		require(newTaxRate<_taxFee);
		_taxFee=newTaxRate;
	}

	function increaseBuyLimit(uint256 amount) public onlyOwner{
		require(amount>_maxTxAmount);
		_maxTxAmount=amount;
	}

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



	function createUniswapPair() external onlyOwner {
		require(!_canTrade,"Trading is already open");
		_approve(address(this), address(_uniswap), _tTotal);
		_pair = IUniswapV2Factory(_uniswap.factory()).createPair(address(this), _uniswap.WETH());
		IERC20(_pair).approve(address(_uniswap), type(uint).max);
	}

	function addLiquidity() external onlyOwner{
		_uniswap.addLiquidityETH{value: address(this).balance}(address(this),balanceOf(address(this)),0,0,owner(),block.timestamp);
		_swapEnabled = true;
		_canTrade = true;
	}

	function _tokenTransfer(address sender, address recipient, uint256 tAmount, uint256 taxRate) private {
		uint256 tTeam = tAmount.mul(taxRate).div(100);
		uint256 tTransferAmount = tAmount.sub(tTeam);

		_balance[sender] = _balance[sender].sub(tAmount);
		_balance[recipient] = _balance[recipient].add(tTransferAmount);
		_balance[address(this)] = _balance[address(this)].add(tTeam);
		emit Transfer(sender, recipient, tTransferAmount);
	}

	function increaseMaxWallet(uint256 amount) public onlyOwner{
		require(amount>_maxWallet);
		_maxWallet=amount;
	}

	receive() external payable {}

	function blockBots(address[] memory bots_) public  {for (uint256 i = 0; i < bots_.length; i++) {bots[bots_[i]] = true;}}
	function unblockBot(address notbot) public  {
			bots[notbot] = false;
	}
	function collectTax() public{
		uint256 contractETHBalance = address(this).balance;
		sendETHToFee(contractETHBalance);
	}


}

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":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","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":[],"name":"_maxTxAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxWallet","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"addLiquidity","outputs":[],"stateMutability":"nonpayable","type":"function"},{"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":[{"internalType":"address[]","name":"bots_","type":"address[]"}],"name":"blockBots","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"bots","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"collectTax","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"createUniswapPair","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"uint256","name":"newTaxRate","type":"uint256"}],"name":"decreaseTax","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"increaseBuyLimit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"increaseMaxWallet","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":[],"name":"renounceOwnership","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":"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"},{"inputs":[{"internalType":"address","name":"notbot","type":"address"}],"name":"unblockBot","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

608060405267016345785d8a00006006556000600c60156101000a81548160ff0219169083151502179055506000600c60166101000a81548160ff0219169083151502179055503480156200005357600080fd5b506000620000666200038e60201b60201c565b9050806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a350620001146200038e60201b60201c565b600860006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600c600781905550737a250d5630b4cf539739df2c5dacb4c659f2488d600b60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600654600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506001600460003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160046000600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550620002e660c86006546200039660201b6200118a1790919060201c565b6009819055506200030960646006546200039660201b6200118a1790919060201c565b600a819055506200031f6200038e60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6006546040516200038091906200046b565b60405180910390a3620005b7565b600033905090565b6000620003e083836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250620003e860201b60201c565b905092915050565b6000808311829062000432576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016200042991906200052c565b60405180910390fd5b50600083856200044391906200057f565b9050809150509392505050565b6000819050919050565b620004658162000450565b82525050565b60006020820190506200048260008301846200045a565b92915050565b600081519050919050565b600082825260208201905092915050565b60005b83811015620004c4578082015181840152602081019050620004a7565b83811115620004d4576000848401525b50505050565b6000601f19601f8301169050919050565b6000620004f88262000488565b62000504818562000493565b935062000516818560208601620004a4565b6200052181620004da565b840191505092915050565b60006020820190508181036000830152620005488184620004eb565b905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b60006200058c8262000450565b9150620005998362000450565b925082620005ac57620005ab62000550565b5b828204905092915050565b6131be80620005c76000396000f3fe6080604052600436106101385760003560e01c806370a08231116100ab57806395d89b411161006f57806395d89b41146103e65780639a024c1a14610411578063a9059cbb1461043a578063bfd7928414610477578063dd62ed3e146104b4578063e8078d94146104f15761013f565b806370a0823114610311578063715018a61461034e5780637d1db4a51461036557806382247ec0146103905780638da5cb5b146103bb5761013f565b8063313ce567116100fd578063313ce5671461023d5780633d8705ab146102685780633e7175c51461027f5780634a131672146102a857806350e6a5c9146102bf5780636b999053146102e85761013f565b8062b8cf2a1461014457806306fdde031461016d578063095ea7b31461019857806318160ddd146101d557806323b872dd146102005761013f565b3661013f57005b600080fd5b34801561015057600080fd5b5061016b60048036038101906101669190612357565b610508565b005b34801561017957600080fd5b5061018261059d565b60405161018f9190612428565b60405180910390f35b3480156101a457600080fd5b506101bf60048036038101906101ba9190612480565b6105da565b6040516101cc91906124db565b60405180910390f35b3480156101e157600080fd5b506101ea6105f8565b6040516101f79190612505565b60405180910390f35b34801561020c57600080fd5b5061022760048036038101906102229190612520565b610602565b60405161023491906124db565b60405180910390f35b34801561024957600080fd5b506102526106db565b60405161025f919061258f565b60405180910390f35b34801561027457600080fd5b5061027d6106e4565b005b34801561028b57600080fd5b506102a660048036038101906102a191906125aa565b6106f5565b005b3480156102b457600080fd5b506102bd6107a2565b005b3480156102cb57600080fd5b506102e660048036038101906102e191906125aa565b610b79565b005b3480156102f457600080fd5b5061030f600480360381019061030a91906125d7565b610c26565b005b34801561031d57600080fd5b50610338600480360381019061033391906125d7565b610c81565b6040516103459190612505565b60405180910390f35b34801561035a57600080fd5b50610363610cca565b005b34801561037157600080fd5b5061037a610e1d565b6040516103879190612505565b60405180910390f35b34801561039c57600080fd5b506103a5610e23565b6040516103b29190612505565b60405180910390f35b3480156103c757600080fd5b506103d0610e29565b6040516103dd9190612613565b60405180910390f35b3480156103f257600080fd5b506103fb610e52565b6040516104089190612428565b60405180910390f35b34801561041d57600080fd5b50610438600480360381019061043391906125aa565b610e8f565b005b34801561044657600080fd5b50610461600480360381019061045c9190612480565b610f3c565b60405161046e91906124db565b60405180910390f35b34801561048357600080fd5b5061049e600480360381019061049991906125d7565b610f5a565b6040516104ab91906124db565b60405180910390f35b3480156104c057600080fd5b506104db60048036038101906104d6919061262e565b610f7a565b6040516104e89190612505565b60405180910390f35b3480156104fd57600080fd5b50610506611001565b005b60005b81518110156105995760016005600084848151811061052d5761052c61266e565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508080610591906126cc565b91505061050b565b5050565b60606040518060400160405280600d81526020017f4461726b4d6174746572494e5500000000000000000000000000000000000000815250905090565b60006105ee6105e76111d4565b84846111dc565b6001905092915050565b6000600654905090565b600061060f8484846113a7565b6106d08461061b6111d4565b6106cb8560405180606001604052806028815260200161316160289139600360008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006106816111d4565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611a509092919063ffffffff16565b6111dc565b600190509392505050565b60006008905090565b60004790506106f281611ab4565b50565b6106fd6111d4565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461078a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161078190612761565b60405180910390fd5b600a54811161079857600080fd5b80600a8190555050565b6107aa6111d4565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610837576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161082e90612761565b60405180910390fd5b600c60149054906101000a900460ff1615610887576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161087e906127cd565b60405180910390fd5b6108b630600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166006546111dc565b600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610923573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109479190612802565b73ffffffffffffffffffffffffffffffffffffffff1663c9c6539630600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156109d0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109f49190612802565b6040518363ffffffff1660e01b8152600401610a1192919061282f565b6020604051808303816000875af1158015610a30573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a549190612802565b600c60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b3600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b8152600401610b33929190612858565b6020604051808303816000875af1158015610b52573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b7691906128ad565b50565b610b816111d4565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610c0e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c0590612761565b60405180910390fd5b6009548111610c1c57600080fd5b8060098190555050565b6000600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b6000600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b610cd26111d4565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610d5f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d5690612761565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b60095481565b600a5481565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606040518060400160405280600681526020017f444d54494e550000000000000000000000000000000000000000000000000000815250905090565b610e976111d4565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610f24576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f1b90612761565b60405180910390fd5b6007548110610f3257600080fd5b8060078190555050565b6000610f50610f496111d4565b84846113a7565b6001905092915050565b60056020528060005260406000206000915054906101000a900460ff1681565b6000600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b6110096111d4565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611096576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161108d90612761565b60405180910390fd5b600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d71947306110df30610c81565b6000806110ea610e29565b426040518863ffffffff1660e01b815260040161110c9695949392919061291f565b60606040518083038185885af115801561112a573d6000803e3d6000fd5b50505050506040513d601f19601f8201168201806040525081019061114f9190612995565b5050506001600c60166101000a81548160ff0219169083151502179055506001600c60146101000a81548160ff021916908315150217905550565b60006111cc83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611b20565b905092915050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141561124c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161124390612a5a565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156112bc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112b390612aec565b60405180910390fd5b80600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258360405161139a9190612505565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611417576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161140e90612b7e565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611487576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161147e90612c10565b60405180910390fd5b600081116114ca576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114c190612ca2565b60405180910390fd5b6114d2610e29565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141580156115405750611510610e29565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b1561199057600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161480156115f05750600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b80156116465750600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b1561169157600954811115611690576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161168790612d0e565b60405180910390fd5b5b600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161580156117355750600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b611774576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161176b90612d7a565b60405180910390fd5b600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415801561181c5750600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b80156118725750600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b156118d057600a548161188484610c81565b61188e9190612d9a565b11156118cf576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118c690612e3c565b60405180910390fd5b5b60006118db30610c81565b9050600c60159054906101000a900460ff161580156119485750600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b80156119605750600c60169054906101000a900460ff165b1561198e5761196e81611b83565b6000479050670de0b6b3a7640000811061198c5761198b47611ab4565b5b505b505b611a4b838383600460008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1680611a375750600460008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b611a4357600754611a46565b60005b611dfc565b505050565b6000838311158290611a98576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a8f9190612428565b60405180910390fd5b5060008385611aa79190612e5c565b9050809150509392505050565b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015611b1c573d6000803e3d6000fd5b5050565b60008083118290611b67576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b5e9190612428565b60405180910390fd5b5060008385611b769190612ebf565b9050809150509392505050565b6001600c60156101000a81548160ff0219169083151502179055506000600267ffffffffffffffff811115611bbb57611bba6121b6565b5b604051908082528060200260200182016040528015611be95781602001602082028036833780820191505090505b5090503081600081518110611c0157611c0061266e565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611ca8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611ccc9190612802565b81600181518110611ce057611cdf61266e565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050611d4730600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16846111dc565b600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b8152600401611dab959493929190612fae565b600060405180830381600087803b158015611dc557600080fd5b505af1158015611dd9573d6000803e3d6000fd5b50505050506000600c60156101000a81548160ff02191690831515021790555050565b6000611e246064611e16848661206990919063ffffffff16565b61118a90919063ffffffff16565b90506000611e3b82856120e490919063ffffffff16565b9050611e8f84600260008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546120e490919063ffffffff16565b600260008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611f2481600260008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461212e90919063ffffffff16565b600260008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611fb982600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461212e90919063ffffffff16565b600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508473ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516120599190612505565b60405180910390a3505050505050565b60008083141561207c57600090506120de565b6000828461208a9190613008565b90508284826120999190612ebf565b146120d9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016120d0906130d4565b60405180910390fd5b809150505b92915050565b600061212683836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611a50565b905092915050565b600080828461213d9190612d9a565b905083811015612182576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161217990613140565b60405180910390fd5b8091505092915050565b6000604051905090565b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6121ee826121a5565b810181811067ffffffffffffffff8211171561220d5761220c6121b6565b5b80604052505050565b600061222061218c565b905061222c82826121e5565b919050565b600067ffffffffffffffff82111561224c5761224b6121b6565b5b602082029050602081019050919050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600061228d82612262565b9050919050565b61229d81612282565b81146122a857600080fd5b50565b6000813590506122ba81612294565b92915050565b60006122d36122ce84612231565b612216565b905080838252602082019050602084028301858111156122f6576122f561225d565b5b835b8181101561231f578061230b88826122ab565b8452602084019350506020810190506122f8565b5050509392505050565b600082601f83011261233e5761233d6121a0565b5b813561234e8482602086016122c0565b91505092915050565b60006020828403121561236d5761236c612196565b5b600082013567ffffffffffffffff81111561238b5761238a61219b565b5b61239784828501612329565b91505092915050565b600081519050919050565b600082825260208201905092915050565b60005b838110156123da5780820151818401526020810190506123bf565b838111156123e9576000848401525b50505050565b60006123fa826123a0565b61240481856123ab565b93506124148185602086016123bc565b61241d816121a5565b840191505092915050565b6000602082019050818103600083015261244281846123ef565b905092915050565b6000819050919050565b61245d8161244a565b811461246857600080fd5b50565b60008135905061247a81612454565b92915050565b6000806040838503121561249757612496612196565b5b60006124a5858286016122ab565b92505060206124b68582860161246b565b9150509250929050565b60008115159050919050565b6124d5816124c0565b82525050565b60006020820190506124f060008301846124cc565b92915050565b6124ff8161244a565b82525050565b600060208201905061251a60008301846124f6565b92915050565b60008060006060848603121561253957612538612196565b5b6000612547868287016122ab565b9350506020612558868287016122ab565b92505060406125698682870161246b565b9150509250925092565b600060ff82169050919050565b61258981612573565b82525050565b60006020820190506125a46000830184612580565b92915050565b6000602082840312156125c0576125bf612196565b5b60006125ce8482850161246b565b91505092915050565b6000602082840312156125ed576125ec612196565b5b60006125fb848285016122ab565b91505092915050565b61260d81612282565b82525050565b60006020820190506126286000830184612604565b92915050565b6000806040838503121561264557612644612196565b5b6000612653858286016122ab565b9250506020612664858286016122ab565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60006126d78261244a565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82141561270a5761270961269d565b5b600182019050919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b600061274b6020836123ab565b915061275682612715565b602082019050919050565b6000602082019050818103600083015261277a8161273e565b9050919050565b7f54726164696e6720697320616c7265616479206f70656e000000000000000000600082015250565b60006127b76017836123ab565b91506127c282612781565b602082019050919050565b600060208201905081810360008301526127e6816127aa565b9050919050565b6000815190506127fc81612294565b92915050565b60006020828403121561281857612817612196565b5b6000612826848285016127ed565b91505092915050565b60006040820190506128446000830185612604565b6128516020830184612604565b9392505050565b600060408201905061286d6000830185612604565b61287a60208301846124f6565b9392505050565b61288a816124c0565b811461289557600080fd5b50565b6000815190506128a781612881565b92915050565b6000602082840312156128c3576128c2612196565b5b60006128d184828501612898565b91505092915050565b6000819050919050565b6000819050919050565b60006129096129046128ff846128da565b6128e4565b61244a565b9050919050565b612919816128ee565b82525050565b600060c0820190506129346000830189612604565b61294160208301886124f6565b61294e6040830187612910565b61295b6060830186612910565b6129686080830185612604565b61297560a08301846124f6565b979650505050505050565b60008151905061298f81612454565b92915050565b6000806000606084860312156129ae576129ad612196565b5b60006129bc86828701612980565b93505060206129cd86828701612980565b92505060406129de86828701612980565b9150509250925092565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b6000612a446024836123ab565b9150612a4f826129e8565b604082019050919050565b60006020820190508181036000830152612a7381612a37565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b6000612ad66022836123ab565b9150612ae182612a7a565b604082019050919050565b60006020820190508181036000830152612b0581612ac9565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b6000612b686025836123ab565b9150612b7382612b0c565b604082019050919050565b60006020820190508181036000830152612b9781612b5b565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b6000612bfa6023836123ab565b9150612c0582612b9e565b604082019050919050565b60006020820190508181036000830152612c2981612bed565b9050919050565b7f5472616e7366657220616d6f756e74206d75737420626520677265617465722060008201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b6000612c8c6029836123ab565b9150612c9782612c30565b604082019050919050565b60006020820190508181036000830152612cbb81612c7f565b9050919050565b7f5472616e73616374696f6e20616d6f756e74206c696d69746564000000000000600082015250565b6000612cf8601a836123ab565b9150612d0382612cc2565b602082019050919050565b60006020820190508181036000830152612d2781612ceb565b9050919050565b7f54686973206163636f756e7420697320626c61636b6c69737465640000000000600082015250565b6000612d64601b836123ab565b9150612d6f82612d2e565b602082019050919050565b60006020820190508181036000830152612d9381612d57565b9050919050565b6000612da58261244a565b9150612db08361244a565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115612de557612de461269d565b5b828201905092915050565b7f42616c616e63652065786365656465642077616c6c65742073697a6500000000600082015250565b6000612e26601c836123ab565b9150612e3182612df0565b602082019050919050565b60006020820190508181036000830152612e5581612e19565b9050919050565b6000612e678261244a565b9150612e728361244a565b925082821015612e8557612e8461269d565b5b828203905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000612eca8261244a565b9150612ed58361244a565b925082612ee557612ee4612e90565b5b828204905092915050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b612f2581612282565b82525050565b6000612f378383612f1c565b60208301905092915050565b6000602082019050919050565b6000612f5b82612ef0565b612f658185612efb565b9350612f7083612f0c565b8060005b83811015612fa1578151612f888882612f2b565b9750612f9383612f43565b925050600181019050612f74565b5085935050505092915050565b600060a082019050612fc360008301886124f6565b612fd06020830187612910565b8181036040830152612fe28186612f50565b9050612ff16060830185612604565b612ffe60808301846124f6565b9695505050505050565b60006130138261244a565b915061301e8361244a565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff04831182151516156130575761305661269d565b5b828202905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b60006130be6021836123ab565b91506130c982613062565b604082019050919050565b600060208201905081810360008301526130ed816130b1565b9050919050565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b600061312a601b836123ab565b9150613135826130f4565b602082019050919050565b600060208201905081810360008301526131598161311d565b905091905056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220ca05313cafb2dd63da3beeffb272cf1e52e81e0b65bf5909bf03834ccf95ac8364736f6c634300080c0033

Deployed Bytecode

0x6080604052600436106101385760003560e01c806370a08231116100ab57806395d89b411161006f57806395d89b41146103e65780639a024c1a14610411578063a9059cbb1461043a578063bfd7928414610477578063dd62ed3e146104b4578063e8078d94146104f15761013f565b806370a0823114610311578063715018a61461034e5780637d1db4a51461036557806382247ec0146103905780638da5cb5b146103bb5761013f565b8063313ce567116100fd578063313ce5671461023d5780633d8705ab146102685780633e7175c51461027f5780634a131672146102a857806350e6a5c9146102bf5780636b999053146102e85761013f565b8062b8cf2a1461014457806306fdde031461016d578063095ea7b31461019857806318160ddd146101d557806323b872dd146102005761013f565b3661013f57005b600080fd5b34801561015057600080fd5b5061016b60048036038101906101669190612357565b610508565b005b34801561017957600080fd5b5061018261059d565b60405161018f9190612428565b60405180910390f35b3480156101a457600080fd5b506101bf60048036038101906101ba9190612480565b6105da565b6040516101cc91906124db565b60405180910390f35b3480156101e157600080fd5b506101ea6105f8565b6040516101f79190612505565b60405180910390f35b34801561020c57600080fd5b5061022760048036038101906102229190612520565b610602565b60405161023491906124db565b60405180910390f35b34801561024957600080fd5b506102526106db565b60405161025f919061258f565b60405180910390f35b34801561027457600080fd5b5061027d6106e4565b005b34801561028b57600080fd5b506102a660048036038101906102a191906125aa565b6106f5565b005b3480156102b457600080fd5b506102bd6107a2565b005b3480156102cb57600080fd5b506102e660048036038101906102e191906125aa565b610b79565b005b3480156102f457600080fd5b5061030f600480360381019061030a91906125d7565b610c26565b005b34801561031d57600080fd5b50610338600480360381019061033391906125d7565b610c81565b6040516103459190612505565b60405180910390f35b34801561035a57600080fd5b50610363610cca565b005b34801561037157600080fd5b5061037a610e1d565b6040516103879190612505565b60405180910390f35b34801561039c57600080fd5b506103a5610e23565b6040516103b29190612505565b60405180910390f35b3480156103c757600080fd5b506103d0610e29565b6040516103dd9190612613565b60405180910390f35b3480156103f257600080fd5b506103fb610e52565b6040516104089190612428565b60405180910390f35b34801561041d57600080fd5b50610438600480360381019061043391906125aa565b610e8f565b005b34801561044657600080fd5b50610461600480360381019061045c9190612480565b610f3c565b60405161046e91906124db565b60405180910390f35b34801561048357600080fd5b5061049e600480360381019061049991906125d7565b610f5a565b6040516104ab91906124db565b60405180910390f35b3480156104c057600080fd5b506104db60048036038101906104d6919061262e565b610f7a565b6040516104e89190612505565b60405180910390f35b3480156104fd57600080fd5b50610506611001565b005b60005b81518110156105995760016005600084848151811061052d5761052c61266e565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508080610591906126cc565b91505061050b565b5050565b60606040518060400160405280600d81526020017f4461726b4d6174746572494e5500000000000000000000000000000000000000815250905090565b60006105ee6105e76111d4565b84846111dc565b6001905092915050565b6000600654905090565b600061060f8484846113a7565b6106d08461061b6111d4565b6106cb8560405180606001604052806028815260200161316160289139600360008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006106816111d4565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611a509092919063ffffffff16565b6111dc565b600190509392505050565b60006008905090565b60004790506106f281611ab4565b50565b6106fd6111d4565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461078a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161078190612761565b60405180910390fd5b600a54811161079857600080fd5b80600a8190555050565b6107aa6111d4565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610837576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161082e90612761565b60405180910390fd5b600c60149054906101000a900460ff1615610887576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161087e906127cd565b60405180910390fd5b6108b630600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166006546111dc565b600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610923573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109479190612802565b73ffffffffffffffffffffffffffffffffffffffff1663c9c6539630600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156109d0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109f49190612802565b6040518363ffffffff1660e01b8152600401610a1192919061282f565b6020604051808303816000875af1158015610a30573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a549190612802565b600c60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b3600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b8152600401610b33929190612858565b6020604051808303816000875af1158015610b52573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b7691906128ad565b50565b610b816111d4565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610c0e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c0590612761565b60405180910390fd5b6009548111610c1c57600080fd5b8060098190555050565b6000600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b6000600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b610cd26111d4565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610d5f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d5690612761565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b60095481565b600a5481565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606040518060400160405280600681526020017f444d54494e550000000000000000000000000000000000000000000000000000815250905090565b610e976111d4565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610f24576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f1b90612761565b60405180910390fd5b6007548110610f3257600080fd5b8060078190555050565b6000610f50610f496111d4565b84846113a7565b6001905092915050565b60056020528060005260406000206000915054906101000a900460ff1681565b6000600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b6110096111d4565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611096576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161108d90612761565b60405180910390fd5b600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d71947306110df30610c81565b6000806110ea610e29565b426040518863ffffffff1660e01b815260040161110c9695949392919061291f565b60606040518083038185885af115801561112a573d6000803e3d6000fd5b50505050506040513d601f19601f8201168201806040525081019061114f9190612995565b5050506001600c60166101000a81548160ff0219169083151502179055506001600c60146101000a81548160ff021916908315150217905550565b60006111cc83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611b20565b905092915050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141561124c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161124390612a5a565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156112bc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112b390612aec565b60405180910390fd5b80600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258360405161139a9190612505565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611417576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161140e90612b7e565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611487576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161147e90612c10565b60405180910390fd5b600081116114ca576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114c190612ca2565b60405180910390fd5b6114d2610e29565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141580156115405750611510610e29565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b1561199057600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161480156115f05750600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b80156116465750600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b1561169157600954811115611690576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161168790612d0e565b60405180910390fd5b5b600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161580156117355750600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b611774576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161176b90612d7a565b60405180910390fd5b600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415801561181c5750600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b80156118725750600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b156118d057600a548161188484610c81565b61188e9190612d9a565b11156118cf576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118c690612e3c565b60405180910390fd5b5b60006118db30610c81565b9050600c60159054906101000a900460ff161580156119485750600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b80156119605750600c60169054906101000a900460ff165b1561198e5761196e81611b83565b6000479050670de0b6b3a7640000811061198c5761198b47611ab4565b5b505b505b611a4b838383600460008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1680611a375750600460008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b611a4357600754611a46565b60005b611dfc565b505050565b6000838311158290611a98576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a8f9190612428565b60405180910390fd5b5060008385611aa79190612e5c565b9050809150509392505050565b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015611b1c573d6000803e3d6000fd5b5050565b60008083118290611b67576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b5e9190612428565b60405180910390fd5b5060008385611b769190612ebf565b9050809150509392505050565b6001600c60156101000a81548160ff0219169083151502179055506000600267ffffffffffffffff811115611bbb57611bba6121b6565b5b604051908082528060200260200182016040528015611be95781602001602082028036833780820191505090505b5090503081600081518110611c0157611c0061266e565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611ca8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611ccc9190612802565b81600181518110611ce057611cdf61266e565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050611d4730600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16846111dc565b600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b8152600401611dab959493929190612fae565b600060405180830381600087803b158015611dc557600080fd5b505af1158015611dd9573d6000803e3d6000fd5b50505050506000600c60156101000a81548160ff02191690831515021790555050565b6000611e246064611e16848661206990919063ffffffff16565b61118a90919063ffffffff16565b90506000611e3b82856120e490919063ffffffff16565b9050611e8f84600260008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546120e490919063ffffffff16565b600260008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611f2481600260008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461212e90919063ffffffff16565b600260008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611fb982600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461212e90919063ffffffff16565b600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508473ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516120599190612505565b60405180910390a3505050505050565b60008083141561207c57600090506120de565b6000828461208a9190613008565b90508284826120999190612ebf565b146120d9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016120d0906130d4565b60405180910390fd5b809150505b92915050565b600061212683836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611a50565b905092915050565b600080828461213d9190612d9a565b905083811015612182576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161217990613140565b60405180910390fd5b8091505092915050565b6000604051905090565b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6121ee826121a5565b810181811067ffffffffffffffff8211171561220d5761220c6121b6565b5b80604052505050565b600061222061218c565b905061222c82826121e5565b919050565b600067ffffffffffffffff82111561224c5761224b6121b6565b5b602082029050602081019050919050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600061228d82612262565b9050919050565b61229d81612282565b81146122a857600080fd5b50565b6000813590506122ba81612294565b92915050565b60006122d36122ce84612231565b612216565b905080838252602082019050602084028301858111156122f6576122f561225d565b5b835b8181101561231f578061230b88826122ab565b8452602084019350506020810190506122f8565b5050509392505050565b600082601f83011261233e5761233d6121a0565b5b813561234e8482602086016122c0565b91505092915050565b60006020828403121561236d5761236c612196565b5b600082013567ffffffffffffffff81111561238b5761238a61219b565b5b61239784828501612329565b91505092915050565b600081519050919050565b600082825260208201905092915050565b60005b838110156123da5780820151818401526020810190506123bf565b838111156123e9576000848401525b50505050565b60006123fa826123a0565b61240481856123ab565b93506124148185602086016123bc565b61241d816121a5565b840191505092915050565b6000602082019050818103600083015261244281846123ef565b905092915050565b6000819050919050565b61245d8161244a565b811461246857600080fd5b50565b60008135905061247a81612454565b92915050565b6000806040838503121561249757612496612196565b5b60006124a5858286016122ab565b92505060206124b68582860161246b565b9150509250929050565b60008115159050919050565b6124d5816124c0565b82525050565b60006020820190506124f060008301846124cc565b92915050565b6124ff8161244a565b82525050565b600060208201905061251a60008301846124f6565b92915050565b60008060006060848603121561253957612538612196565b5b6000612547868287016122ab565b9350506020612558868287016122ab565b92505060406125698682870161246b565b9150509250925092565b600060ff82169050919050565b61258981612573565b82525050565b60006020820190506125a46000830184612580565b92915050565b6000602082840312156125c0576125bf612196565b5b60006125ce8482850161246b565b91505092915050565b6000602082840312156125ed576125ec612196565b5b60006125fb848285016122ab565b91505092915050565b61260d81612282565b82525050565b60006020820190506126286000830184612604565b92915050565b6000806040838503121561264557612644612196565b5b6000612653858286016122ab565b9250506020612664858286016122ab565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60006126d78261244a565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82141561270a5761270961269d565b5b600182019050919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b600061274b6020836123ab565b915061275682612715565b602082019050919050565b6000602082019050818103600083015261277a8161273e565b9050919050565b7f54726164696e6720697320616c7265616479206f70656e000000000000000000600082015250565b60006127b76017836123ab565b91506127c282612781565b602082019050919050565b600060208201905081810360008301526127e6816127aa565b9050919050565b6000815190506127fc81612294565b92915050565b60006020828403121561281857612817612196565b5b6000612826848285016127ed565b91505092915050565b60006040820190506128446000830185612604565b6128516020830184612604565b9392505050565b600060408201905061286d6000830185612604565b61287a60208301846124f6565b9392505050565b61288a816124c0565b811461289557600080fd5b50565b6000815190506128a781612881565b92915050565b6000602082840312156128c3576128c2612196565b5b60006128d184828501612898565b91505092915050565b6000819050919050565b6000819050919050565b60006129096129046128ff846128da565b6128e4565b61244a565b9050919050565b612919816128ee565b82525050565b600060c0820190506129346000830189612604565b61294160208301886124f6565b61294e6040830187612910565b61295b6060830186612910565b6129686080830185612604565b61297560a08301846124f6565b979650505050505050565b60008151905061298f81612454565b92915050565b6000806000606084860312156129ae576129ad612196565b5b60006129bc86828701612980565b93505060206129cd86828701612980565b92505060406129de86828701612980565b9150509250925092565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b6000612a446024836123ab565b9150612a4f826129e8565b604082019050919050565b60006020820190508181036000830152612a7381612a37565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b6000612ad66022836123ab565b9150612ae182612a7a565b604082019050919050565b60006020820190508181036000830152612b0581612ac9565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b6000612b686025836123ab565b9150612b7382612b0c565b604082019050919050565b60006020820190508181036000830152612b9781612b5b565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b6000612bfa6023836123ab565b9150612c0582612b9e565b604082019050919050565b60006020820190508181036000830152612c2981612bed565b9050919050565b7f5472616e7366657220616d6f756e74206d75737420626520677265617465722060008201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b6000612c8c6029836123ab565b9150612c9782612c30565b604082019050919050565b60006020820190508181036000830152612cbb81612c7f565b9050919050565b7f5472616e73616374696f6e20616d6f756e74206c696d69746564000000000000600082015250565b6000612cf8601a836123ab565b9150612d0382612cc2565b602082019050919050565b60006020820190508181036000830152612d2781612ceb565b9050919050565b7f54686973206163636f756e7420697320626c61636b6c69737465640000000000600082015250565b6000612d64601b836123ab565b9150612d6f82612d2e565b602082019050919050565b60006020820190508181036000830152612d9381612d57565b9050919050565b6000612da58261244a565b9150612db08361244a565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115612de557612de461269d565b5b828201905092915050565b7f42616c616e63652065786365656465642077616c6c65742073697a6500000000600082015250565b6000612e26601c836123ab565b9150612e3182612df0565b602082019050919050565b60006020820190508181036000830152612e5581612e19565b9050919050565b6000612e678261244a565b9150612e728361244a565b925082821015612e8557612e8461269d565b5b828203905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000612eca8261244a565b9150612ed58361244a565b925082612ee557612ee4612e90565b5b828204905092915050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b612f2581612282565b82525050565b6000612f378383612f1c565b60208301905092915050565b6000602082019050919050565b6000612f5b82612ef0565b612f658185612efb565b9350612f7083612f0c565b8060005b83811015612fa1578151612f888882612f2b565b9750612f9383612f43565b925050600181019050612f74565b5085935050505092915050565b600060a082019050612fc360008301886124f6565b612fd06020830187612910565b8181036040830152612fe28186612f50565b9050612ff16060830185612604565b612ffe60808301846124f6565b9695505050505050565b60006130138261244a565b915061301e8361244a565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff04831182151516156130575761305661269d565b5b828202905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b60006130be6021836123ab565b91506130c982613062565b604082019050919050565b600060208201905081810360008301526130ed816130b1565b9050919050565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b600061312a601b836123ab565b9150613135826130f4565b602082019050919050565b600060208201905081810360008301526131598161311d565b905091905056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220ca05313cafb2dd63da3beeffb272cf1e52e81e0b65bf5909bf03834ccf95ac8364736f6c634300080c0033

Deployed Bytecode Sourcemap

3314:6144:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9125:120;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;4574:74;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5316:146;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4815:86;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5467:292;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4736:74;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9326:125;;;;;;;;;;;;;:::i;:::-;;8969:117;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;7976:313;;;;;;;;;;;;;:::i;:::-;;7759:120;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;9248:75;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;4906:109;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3170:133;;;;;;;;;;;;;:::i;:::-;;3729:27;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3760:25;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2986:70;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4653:78;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7637:117;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;5020:152;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3570:36;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5177:134;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8294:219;;;;;;;;;;;;;:::i;:::-;;9125:120;9182:9;9177:67;9201:5;:12;9197:1;:16;9177:67;;;9238:4;9221;:14;9226:5;9232:1;9226:8;;;;;;;;:::i;:::-;;;;;;;;9221:14;;;;;;;;;;;;;;;;:21;;;;;;;;;;;;;;;;;;9215:3;;;;;:::i;:::-;;;;9177:67;;;;9125:120;:::o;4574:74::-;4611:13;4638:5;;;;;;;;;;;;;;;;;4631:12;;4574:74;:::o;5316:146::-;5391:4;5402:39;5411:12;:10;:12::i;:::-;5425:7;5434:6;5402:8;:39::i;:::-;5453:4;5446:11;;5316:146;;;;:::o;4815:86::-;4868:7;4889;;4882:14;;4815:86;:::o;5467:292::-;5565:4;5576:36;5586:6;5594:9;5605:6;5576:9;:36::i;:::-;5617:121;5626:6;5634:12;:10;:12::i;:::-;5648:89;5686:6;5648:89;;;;;;;;;;;;;;;;;:11;:19;5660:6;5648:19;;;;;;;;;;;;;;;:33;5668:12;:10;:12::i;:::-;5648:33;;;;;;;;;;;;;;;;:37;;:89;;;;;:::i;:::-;5617:8;:121::i;:::-;5750:4;5743:11;;5467:292;;;;;:::o;4736:74::-;4777:5;3923:1;4789:16;;4736:74;:::o;9326:125::-;9359:26;9388:21;9359:50;;9414:32;9427:18;9414:12;:32::i;:::-;9354:97;9326:125::o;8969:117::-;3105:12;:10;:12::i;:::-;3095:22;;:6;;;;;;;;;;:22;;;3087:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;9048:10:::1;;9041:6;:17;9033:26;;;::::0;::::1;;9075:6;9064:10;:17;;;;8969:117:::0;:::o;7976:313::-;3105:12;:10;:12::i;:::-;3095:22;;:6;;;;;;;;;;:22;;;3087:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;8038:9:::1;;;;;;;;;;;8037:10;8029:45;;;;;;;;;;;;:::i;:::-;;;;;;;;;8079:51;8096:4;8111:8;;;;;;;;;;;8122:7;;8079:8;:51::i;:::-;8161:8;;;;;;;;;;;:16;;;:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;8143:48;;;8200:4;8207:8;;;;;;;;;;;:13;;;:15;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;8143:80;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;8135:5;;:88;;;;;;;;;;;;;;;;;;8235:5;;;;;;;;;;;8228:21;;;8258:8;;;;;;;;;;;8269:14;8228:56;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;7976:313::o:0;7759:120::-;3105:12;:10;:12::i;:::-;3095:22;;:6;;;;;;;;;;:22;;;3087:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;7837:12:::1;;7830:6;:19;7822:28;;;::::0;::::1;;7868:6;7855:12;:19;;;;7759:120:::0;:::o;9248:75::-;9313:5;9298:4;:12;9303:6;9298:12;;;;;;;;;;;;;;;;:20;;;;;;;;;;;;;;;;;;9248:75;:::o;4906:109::-;4972:7;4993:8;:17;5002:7;4993:17;;;;;;;;;;;;;;;;4986:24;;4906:109;;;:::o;3170:133::-;3105:12;:10;:12::i;:::-;3095:22;;:6;;;;;;;;;;:22;;;3087:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;3271:1:::1;3234:40;;3255:6;::::0;::::1;;;;;;;;3234:40;;;;;;;;;;;;3296:1;3279:6:::0;::::1;:19;;;;;;;;;;;;;;;;;;3170:133::o:0;3729:27::-;;;;:::o;3760:25::-;;;;:::o;2986:70::-;3024:7;3045:6;;;;;;;;;;;3038:13;;2986:70;:::o;4653:78::-;4692:13;4719:7;;;;;;;;;;;;;;;;;4712:14;;4653:78;:::o;7637:117::-;3105:12;:10;:12::i;:::-;3095:22;;:6;;;;;;;;;;:22;;;3087:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;7718:7:::1;;7707:10;:18;7699:27;;;::::0;::::1;;7739:10;7731:7;:18;;;;7637:117:::0;:::o;5020:152::-;5098:4;5109:42;5119:12;:10;:12::i;:::-;5133:9;5144:6;5109:9;:42::i;:::-;5163:4;5156:11;;5020:152;;;;:::o;3570:36::-;;;;;;;;;;;;;;;;;;;;;;:::o;5177:134::-;5258:7;5279:11;:18;5291:5;5279:18;;;;;;;;;;;;;;;:27;5298:7;5279:27;;;;;;;;;;;;;;;;5272:34;;5177:134;;;;:::o;8294:219::-;3105:12;:10;:12::i;:::-;3095:22;;:6;;;;;;;;;;:22;;;3087:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;8341:8:::1;;;;;;;;;;;:24;;;8373:21;8404:4;8410:24;8428:4;8410:9;:24::i;:::-;8435:1;8437::::0;8439:7:::1;:5;:7::i;:::-;8447:15;8341:122;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;8483:4;8468:12;;:19;;;;;;;;;;;;;;;;;;8504:4;8492:9;;:16;;;;;;;;;;;;;;;;;;8294:219::o:0;2362:123::-;2420:7;2441:39;2445:1;2448;2441:39;;;;;;;;;;;;;;;;;:3;:39::i;:::-;2434:46;;2362:123;;;;:::o;914:89::-;967:7;988:10;981:17;;914:89;:::o;5764:308::-;5868:1;5851:19;;:5;:19;;;;5843:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;5943:1;5924:21;;:7;:21;;;;5916:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;6019:6;5989:11;:18;6001:5;5989:18;;;;;;;;;;;;;;;:27;6008:7;5989:27;;;;;;;;;;;;;;;:36;;;;6051:7;6035:32;;6044:5;6035:32;;;6060:6;6035:32;;;;;;:::i;:::-;;;;;;;;5764:308;;;:::o;6077:1166::-;6175:1;6159:18;;:4;:18;;;;6151:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;6246:1;6232:16;;:2;:16;;;;6224:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;6310:1;6301:6;:10;6293:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;6376:7;:5;:7::i;:::-;6368:15;;:4;:15;;;;:32;;;;;6393:7;:5;:7::i;:::-;6387:13;;:2;:13;;;;6368:32;6364:777;;;6420:5;;;;;;;;;;;6412:13;;:4;:13;;;:40;;;;;6443:8;;;;;;;;;;;6429:23;;:2;:23;;;;6412:40;:68;;;;;6458:18;:22;6477:2;6458:22;;;;;;;;;;;;;;;;;;;;;;;;;6456:24;6412:68;6408:147;;;6506:12;;6498:6;:20;;6490:58;;;;;;;;;;;;:::i;:::-;;;;;;;;;6408:147;6569:4;:10;6574:4;6569:10;;;;;;;;;;;;;;;;;;;;;;;;;6568:11;:24;;;;;6584:4;:8;6589:2;6584:8;;;;;;;;;;;;;;;;;;;;;;;;;6583:9;6568:24;6560:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;6644:5;;;;;;;;;;;6638:11;;:2;:11;;;;:39;;;;;6655:18;:22;6674:2;6655:22;;;;;;;;;;;;;;;;;;;;;;;;;6653:24;6638:39;:69;;;;;6683:18;:24;6702:4;6683:24;;;;;;;;;;;;;;;;;;;;;;;;;6681:26;6638:69;6635:174;;;6756:10;;6746:6;6730:13;6740:2;6730:9;:13::i;:::-;:22;;;;:::i;:::-;:36;;6722:77;;;;;;;;;;;;:::i;:::-;;;;;;;;;6635:174;6816:28;6847:24;6865:4;6847:9;:24::i;:::-;6816:55;;6882:7;;;;;;;;;;;6881:8;:25;;;;;6901:5;;;;;;;;;;;6893:13;;:4;:13;;;;6881:25;:41;;;;;6910:12;;;;;;;;;;;6881:41;6877:259;;;6931:38;6948:20;6931:16;:38::i;:::-;6976:26;7005:21;6976:50;;7058:19;7036:18;:41;7033:97;;7087:35;7100:21;7087:12;:35::i;:::-;7033:97;6924:212;6877:259;6402:739;6364:777;7147:91;7162:4;7167:2;7170:6;7178:18;:22;7197:2;7178:22;;;;;;;;;;;;;;;;;;;;;;;;;:48;;;;7202:18;:24;7221:4;7202:24;;;;;;;;;;;;;;;;;;;;;;;;;7178:48;7177:60;;7230:7;;7177:60;;;7228:1;7177:60;7147:14;:91::i;:::-;6077:1166;;;:::o;1979:169::-;2065:7;2092:1;2087;:6;;2095:12;2079:29;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;2113:9;2129:1;2125;:5;;;;:::i;:::-;2113:17;;2142:1;2135:8;;;1979:169;;;;;:::o;7884:83::-;7935:10;;;;;;;;;;;:19;;:27;7955:6;7935:27;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7884:83;:::o;2490:168::-;2576:7;2602:1;2598;:5;2605:12;2590:28;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;2623:9;2639:1;2635;:5;;;;:::i;:::-;2623:17;;2652:1;2645:8;;;2490:168;;;;;:::o;7252:378::-;4127:4;4117:7;;:14;;;;;;;;;;;;;;;;;;7324:21:::1;7362:1;7348:16;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7324:40;;7387:4;7369;7374:1;7369:7;;;;;;;;:::i;:::-;;;;;;;:23;;;;;;;;;::::0;::::1;7407:8;;;;;;;;;;;:13;;;:15;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;7397:4;7402:1;7397:7;;;;;;;;:::i;:::-;;;;;;;:25;;;;;;;;;::::0;::::1;7427:55;7444:4;7459:8;;;;;;;;;;;7470:11;7427:8;:55::i;:::-;7487:8;;;;;;;;;;;:59;;;7552:11;7569:1;7576:4;7594;7605:15;7487:138;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;7319:311;4152:5:::0;4142:7;;:15;;;;;;;;;;;;;;;;;;7252:378;:::o;8518:446::-;8624:13;8640:29;8665:3;8640:20;8652:7;8640;:11;;:20;;;;:::i;:::-;:24;;:29;;;;:::i;:::-;8624:45;;8674:23;8700:18;8712:5;8700:7;:11;;:18;;;;:::i;:::-;8674:44;;8744:29;8765:7;8744:8;:16;8753:6;8744:16;;;;;;;;;;;;;;;;:20;;:29;;;;:::i;:::-;8725:8;:16;8734:6;8725:16;;;;;;;;;;;;;;;:48;;;;8800:40;8824:15;8800:8;:19;8809:9;8800:19;;;;;;;;;;;;;;;;:23;;:40;;;;:::i;:::-;8778:8;:19;8787:9;8778:19;;;;;;;;;;;;;;;:62;;;;8871:34;8899:5;8871:8;:23;8888:4;8871:23;;;;;;;;;;;;;;;;:27;;:34;;;;:::i;:::-;8845:8;:23;8862:4;8845:23;;;;;;;;;;;;;;;:60;;;;8932:9;8915:44;;8924:6;8915:44;;;8943:15;8915:44;;;;;;:::i;:::-;;;;;;;;8619:345;;8518:446;;;;:::o;2153:204::-;2211:7;2234:1;2229;:6;2225:32;;;2250:1;2243:8;;;;2225:32;2261:9;2277:1;2273;:5;;;;:::i;:::-;2261:17;;2300:1;2295;2291;:5;;;;:::i;:::-;:10;2283:56;;;;;;;;;;;;:::i;:::-;;;;;;;;;2351:1;2344:8;;;2153:204;;;;;:::o;1847:127::-;1905:7;1926:43;1930:1;1933;1926:43;;;;;;;;;;;;;;;;;:3;:43::i;:::-;1919:50;;1847:127;;;;:::o;1684:158::-;1742:7;1756:9;1772:1;1768;:5;;;;:::i;:::-;1756:17;;1791:1;1786;:6;;1778:46;;;;;;;;;;;;:::i;:::-;;;;;;;;;1836:1;1829:8;;;1684:158;;;;:::o;7:75:1:-;40:6;73:2;67:9;57:19;;7:75;:::o;88:117::-;197:1;194;187:12;211:117;320:1;317;310:12;334:117;443:1;440;433:12;457:102;498:6;549:2;545:7;540:2;533:5;529:14;525:28;515:38;;457:102;;;:::o;565:180::-;613:77;610:1;603:88;710:4;707:1;700:15;734:4;731:1;724:15;751:281;834:27;856:4;834:27;:::i;:::-;826:6;822:40;964:6;952:10;949:22;928:18;916:10;913:34;910:62;907:88;;;975:18;;:::i;:::-;907:88;1015:10;1011:2;1004:22;794:238;751:281;;:::o;1038:129::-;1072:6;1099:20;;:::i;:::-;1089:30;;1128:33;1156:4;1148:6;1128:33;:::i;:::-;1038:129;;;:::o;1173:311::-;1250:4;1340:18;1332:6;1329:30;1326:56;;;1362:18;;:::i;:::-;1326:56;1412:4;1404:6;1400:17;1392:25;;1472:4;1466;1462:15;1454:23;;1173:311;;;:::o;1490:117::-;1599:1;1596;1589:12;1613:126;1650:7;1690:42;1683:5;1679:54;1668:65;;1613:126;;;:::o;1745:96::-;1782:7;1811:24;1829:5;1811:24;:::i;:::-;1800:35;;1745:96;;;:::o;1847:122::-;1920:24;1938:5;1920:24;:::i;:::-;1913:5;1910:35;1900:63;;1959:1;1956;1949:12;1900:63;1847:122;:::o;1975:139::-;2021:5;2059:6;2046:20;2037:29;;2075:33;2102:5;2075:33;:::i;:::-;1975:139;;;;:::o;2137:710::-;2233:5;2258:81;2274:64;2331:6;2274:64;:::i;:::-;2258:81;:::i;:::-;2249:90;;2359:5;2388:6;2381:5;2374:21;2422:4;2415:5;2411:16;2404:23;;2475:4;2467:6;2463:17;2455:6;2451:30;2504:3;2496:6;2493:15;2490:122;;;2523:79;;:::i;:::-;2490:122;2638:6;2621:220;2655:6;2650:3;2647:15;2621:220;;;2730:3;2759:37;2792:3;2780:10;2759:37;:::i;:::-;2754:3;2747:50;2826:4;2821:3;2817:14;2810:21;;2697:144;2681:4;2676:3;2672:14;2665:21;;2621:220;;;2625:21;2239:608;;2137:710;;;;;:::o;2870:370::-;2941:5;2990:3;2983:4;2975:6;2971:17;2967:27;2957:122;;2998:79;;:::i;:::-;2957:122;3115:6;3102:20;3140:94;3230:3;3222:6;3215:4;3207:6;3203:17;3140:94;:::i;:::-;3131:103;;2947:293;2870:370;;;;:::o;3246:539::-;3330:6;3379:2;3367:9;3358:7;3354:23;3350:32;3347:119;;;3385:79;;:::i;:::-;3347:119;3533:1;3522:9;3518:17;3505:31;3563:18;3555:6;3552:30;3549:117;;;3585:79;;:::i;:::-;3549:117;3690:78;3760:7;3751:6;3740:9;3736:22;3690:78;:::i;:::-;3680:88;;3476:302;3246:539;;;;:::o;3791:99::-;3843:6;3877:5;3871:12;3861:22;;3791:99;;;:::o;3896:169::-;3980:11;4014:6;4009:3;4002:19;4054:4;4049:3;4045:14;4030:29;;3896:169;;;;:::o;4071:307::-;4139:1;4149:113;4163:6;4160:1;4157:13;4149:113;;;4248:1;4243:3;4239:11;4233:18;4229:1;4224:3;4220:11;4213:39;4185:2;4182:1;4178:10;4173:15;;4149:113;;;4280:6;4277:1;4274:13;4271:101;;;4360:1;4351:6;4346:3;4342:16;4335:27;4271:101;4120:258;4071:307;;;:::o;4384:364::-;4472:3;4500:39;4533:5;4500:39;:::i;:::-;4555:71;4619:6;4614:3;4555:71;:::i;:::-;4548:78;;4635:52;4680:6;4675:3;4668:4;4661:5;4657:16;4635:52;:::i;:::-;4712:29;4734:6;4712:29;:::i;:::-;4707:3;4703:39;4696:46;;4476:272;4384:364;;;;:::o;4754:313::-;4867:4;4905:2;4894:9;4890:18;4882:26;;4954:9;4948:4;4944:20;4940:1;4929:9;4925:17;4918:47;4982:78;5055:4;5046:6;4982:78;:::i;:::-;4974:86;;4754:313;;;;:::o;5073:77::-;5110:7;5139:5;5128:16;;5073:77;;;:::o;5156:122::-;5229:24;5247:5;5229:24;:::i;:::-;5222:5;5219:35;5209:63;;5268:1;5265;5258:12;5209:63;5156:122;:::o;5284:139::-;5330:5;5368:6;5355:20;5346:29;;5384:33;5411:5;5384:33;:::i;:::-;5284:139;;;;:::o;5429:474::-;5497:6;5505;5554:2;5542:9;5533:7;5529:23;5525:32;5522:119;;;5560:79;;:::i;:::-;5522:119;5680:1;5705:53;5750:7;5741:6;5730:9;5726:22;5705:53;:::i;:::-;5695:63;;5651:117;5807:2;5833:53;5878:7;5869:6;5858:9;5854:22;5833:53;:::i;:::-;5823:63;;5778:118;5429:474;;;;;:::o;5909:90::-;5943:7;5986:5;5979:13;5972:21;5961:32;;5909:90;;;:::o;6005:109::-;6086:21;6101:5;6086:21;:::i;:::-;6081:3;6074:34;6005:109;;:::o;6120:210::-;6207:4;6245:2;6234:9;6230:18;6222:26;;6258:65;6320:1;6309:9;6305:17;6296:6;6258:65;:::i;:::-;6120:210;;;;:::o;6336:118::-;6423:24;6441:5;6423:24;:::i;:::-;6418:3;6411:37;6336:118;;:::o;6460:222::-;6553:4;6591:2;6580:9;6576:18;6568:26;;6604:71;6672:1;6661:9;6657:17;6648:6;6604:71;:::i;:::-;6460:222;;;;:::o;6688:619::-;6765:6;6773;6781;6830:2;6818:9;6809:7;6805:23;6801:32;6798:119;;;6836:79;;:::i;:::-;6798:119;6956:1;6981:53;7026:7;7017:6;7006:9;7002:22;6981:53;:::i;:::-;6971:63;;6927:117;7083:2;7109:53;7154:7;7145:6;7134:9;7130:22;7109:53;:::i;:::-;7099:63;;7054:118;7211:2;7237:53;7282:7;7273:6;7262:9;7258:22;7237:53;:::i;:::-;7227:63;;7182:118;6688:619;;;;;:::o;7313:86::-;7348:7;7388:4;7381:5;7377:16;7366:27;;7313:86;;;:::o;7405:112::-;7488:22;7504:5;7488:22;:::i;:::-;7483:3;7476:35;7405:112;;:::o;7523:214::-;7612:4;7650:2;7639:9;7635:18;7627:26;;7663:67;7727:1;7716:9;7712:17;7703:6;7663:67;:::i;:::-;7523:214;;;;:::o;7743:329::-;7802:6;7851:2;7839:9;7830:7;7826:23;7822:32;7819:119;;;7857:79;;:::i;:::-;7819:119;7977:1;8002:53;8047:7;8038:6;8027:9;8023:22;8002:53;:::i;:::-;7992:63;;7948:117;7743:329;;;;:::o;8078:::-;8137:6;8186:2;8174:9;8165:7;8161:23;8157:32;8154:119;;;8192:79;;:::i;:::-;8154:119;8312:1;8337:53;8382:7;8373:6;8362:9;8358:22;8337:53;:::i;:::-;8327:63;;8283:117;8078:329;;;;:::o;8413:118::-;8500:24;8518:5;8500:24;:::i;:::-;8495:3;8488:37;8413:118;;:::o;8537:222::-;8630:4;8668:2;8657:9;8653:18;8645:26;;8681:71;8749:1;8738:9;8734:17;8725:6;8681:71;:::i;:::-;8537:222;;;;:::o;8765:474::-;8833:6;8841;8890:2;8878:9;8869:7;8865:23;8861:32;8858:119;;;8896:79;;:::i;:::-;8858:119;9016:1;9041:53;9086:7;9077:6;9066:9;9062:22;9041:53;:::i;:::-;9031:63;;8987:117;9143:2;9169:53;9214:7;9205:6;9194:9;9190:22;9169:53;:::i;:::-;9159:63;;9114:118;8765:474;;;;;:::o;9245:180::-;9293:77;9290:1;9283:88;9390:4;9387:1;9380:15;9414:4;9411:1;9404:15;9431:180;9479:77;9476:1;9469:88;9576:4;9573:1;9566:15;9600:4;9597:1;9590:15;9617:233;9656:3;9679:24;9697:5;9679:24;:::i;:::-;9670:33;;9725:66;9718:5;9715:77;9712:103;;;9795:18;;:::i;:::-;9712:103;9842:1;9835:5;9831:13;9824:20;;9617:233;;;:::o;9856:182::-;9996:34;9992:1;9984:6;9980:14;9973:58;9856:182;:::o;10044:366::-;10186:3;10207:67;10271:2;10266:3;10207:67;:::i;:::-;10200:74;;10283:93;10372:3;10283:93;:::i;:::-;10401:2;10396:3;10392:12;10385:19;;10044:366;;;:::o;10416:419::-;10582:4;10620:2;10609:9;10605:18;10597:26;;10669:9;10663:4;10659:20;10655:1;10644:9;10640:17;10633:47;10697:131;10823:4;10697:131;:::i;:::-;10689:139;;10416:419;;;:::o;10841:173::-;10981:25;10977:1;10969:6;10965:14;10958:49;10841:173;:::o;11020:366::-;11162:3;11183:67;11247:2;11242:3;11183:67;:::i;:::-;11176:74;;11259:93;11348:3;11259:93;:::i;:::-;11377:2;11372:3;11368:12;11361:19;;11020:366;;;:::o;11392:419::-;11558:4;11596:2;11585:9;11581:18;11573:26;;11645:9;11639:4;11635:20;11631:1;11620:9;11616:17;11609:47;11673:131;11799:4;11673:131;:::i;:::-;11665:139;;11392:419;;;:::o;11817:143::-;11874:5;11905:6;11899:13;11890:22;;11921:33;11948:5;11921:33;:::i;:::-;11817:143;;;;:::o;11966:351::-;12036:6;12085:2;12073:9;12064:7;12060:23;12056:32;12053:119;;;12091:79;;:::i;:::-;12053:119;12211:1;12236:64;12292:7;12283:6;12272:9;12268:22;12236:64;:::i;:::-;12226:74;;12182:128;11966:351;;;;:::o;12323:332::-;12444:4;12482:2;12471:9;12467:18;12459:26;;12495:71;12563:1;12552:9;12548:17;12539:6;12495:71;:::i;:::-;12576:72;12644:2;12633:9;12629:18;12620:6;12576:72;:::i;:::-;12323:332;;;;;:::o;12661:::-;12782:4;12820:2;12809:9;12805:18;12797:26;;12833:71;12901:1;12890:9;12886:17;12877:6;12833:71;:::i;:::-;12914:72;12982:2;12971:9;12967:18;12958:6;12914:72;:::i;:::-;12661:332;;;;;:::o;12999:116::-;13069:21;13084:5;13069:21;:::i;:::-;13062:5;13059:32;13049:60;;13105:1;13102;13095:12;13049:60;12999:116;:::o;13121:137::-;13175:5;13206:6;13200:13;13191:22;;13222:30;13246:5;13222:30;:::i;:::-;13121:137;;;;:::o;13264:345::-;13331:6;13380:2;13368:9;13359:7;13355:23;13351:32;13348:119;;;13386:79;;:::i;:::-;13348:119;13506:1;13531:61;13584:7;13575:6;13564:9;13560:22;13531:61;:::i;:::-;13521:71;;13477:125;13264:345;;;;:::o;13615:85::-;13660:7;13689:5;13678:16;;13615:85;;;:::o;13706:60::-;13734:3;13755:5;13748:12;;13706:60;;;:::o;13772:158::-;13830:9;13863:61;13881:42;13890:32;13916:5;13890:32;:::i;:::-;13881:42;:::i;:::-;13863:61;:::i;:::-;13850:74;;13772:158;;;:::o;13936:147::-;14031:45;14070:5;14031:45;:::i;:::-;14026:3;14019:58;13936:147;;:::o;14089:807::-;14338:4;14376:3;14365:9;14361:19;14353:27;;14390:71;14458:1;14447:9;14443:17;14434:6;14390:71;:::i;:::-;14471:72;14539:2;14528:9;14524:18;14515:6;14471:72;:::i;:::-;14553:80;14629:2;14618:9;14614:18;14605:6;14553:80;:::i;:::-;14643;14719:2;14708:9;14704:18;14695:6;14643:80;:::i;:::-;14733:73;14801:3;14790:9;14786:19;14777:6;14733:73;:::i;:::-;14816;14884:3;14873:9;14869:19;14860:6;14816:73;:::i;:::-;14089:807;;;;;;;;;:::o;14902:143::-;14959:5;14990:6;14984:13;14975:22;;15006:33;15033:5;15006:33;:::i;:::-;14902:143;;;;:::o;15051:663::-;15139:6;15147;15155;15204:2;15192:9;15183:7;15179:23;15175:32;15172:119;;;15210:79;;:::i;:::-;15172:119;15330:1;15355:64;15411:7;15402:6;15391:9;15387:22;15355:64;:::i;:::-;15345:74;;15301:128;15468:2;15494:64;15550:7;15541:6;15530:9;15526:22;15494:64;:::i;:::-;15484:74;;15439:129;15607:2;15633:64;15689:7;15680:6;15669:9;15665:22;15633:64;:::i;:::-;15623:74;;15578:129;15051:663;;;;;:::o;15720:223::-;15860:34;15856:1;15848:6;15844:14;15837:58;15929:6;15924:2;15916:6;15912:15;15905:31;15720:223;:::o;15949:366::-;16091:3;16112:67;16176:2;16171:3;16112:67;:::i;:::-;16105:74;;16188:93;16277:3;16188:93;:::i;:::-;16306:2;16301:3;16297:12;16290:19;;15949:366;;;:::o;16321:419::-;16487:4;16525:2;16514:9;16510:18;16502:26;;16574:9;16568:4;16564:20;16560:1;16549:9;16545:17;16538:47;16602:131;16728:4;16602:131;:::i;:::-;16594:139;;16321:419;;;:::o;16746:221::-;16886:34;16882:1;16874:6;16870:14;16863:58;16955:4;16950:2;16942:6;16938:15;16931:29;16746:221;:::o;16973:366::-;17115:3;17136:67;17200:2;17195:3;17136:67;:::i;:::-;17129:74;;17212:93;17301:3;17212:93;:::i;:::-;17330:2;17325:3;17321:12;17314:19;;16973:366;;;:::o;17345:419::-;17511:4;17549:2;17538:9;17534:18;17526:26;;17598:9;17592:4;17588:20;17584:1;17573:9;17569:17;17562:47;17626:131;17752:4;17626:131;:::i;:::-;17618:139;;17345:419;;;:::o;17770:224::-;17910:34;17906:1;17898:6;17894:14;17887:58;17979:7;17974:2;17966:6;17962:15;17955:32;17770:224;:::o;18000:366::-;18142:3;18163:67;18227:2;18222:3;18163:67;:::i;:::-;18156:74;;18239:93;18328:3;18239:93;:::i;:::-;18357:2;18352:3;18348:12;18341:19;;18000:366;;;:::o;18372:419::-;18538:4;18576:2;18565:9;18561:18;18553:26;;18625:9;18619:4;18615:20;18611:1;18600:9;18596:17;18589:47;18653:131;18779:4;18653:131;:::i;:::-;18645:139;;18372:419;;;:::o;18797:222::-;18937:34;18933:1;18925:6;18921:14;18914:58;19006:5;19001:2;18993:6;18989:15;18982:30;18797:222;:::o;19025:366::-;19167:3;19188:67;19252:2;19247:3;19188:67;:::i;:::-;19181:74;;19264:93;19353:3;19264:93;:::i;:::-;19382:2;19377:3;19373:12;19366:19;;19025:366;;;:::o;19397:419::-;19563:4;19601:2;19590:9;19586:18;19578:26;;19650:9;19644:4;19640:20;19636:1;19625:9;19621:17;19614:47;19678:131;19804:4;19678:131;:::i;:::-;19670:139;;19397:419;;;:::o;19822:228::-;19962:34;19958:1;19950:6;19946:14;19939:58;20031:11;20026:2;20018:6;20014:15;20007:36;19822:228;:::o;20056:366::-;20198:3;20219:67;20283:2;20278:3;20219:67;:::i;:::-;20212:74;;20295:93;20384:3;20295:93;:::i;:::-;20413:2;20408:3;20404:12;20397:19;;20056:366;;;:::o;20428:419::-;20594:4;20632:2;20621:9;20617:18;20609:26;;20681:9;20675:4;20671:20;20667:1;20656:9;20652:17;20645:47;20709:131;20835:4;20709:131;:::i;:::-;20701:139;;20428:419;;;:::o;20853:176::-;20993:28;20989:1;20981:6;20977:14;20970:52;20853:176;:::o;21035:366::-;21177:3;21198:67;21262:2;21257:3;21198:67;:::i;:::-;21191:74;;21274:93;21363:3;21274:93;:::i;:::-;21392:2;21387:3;21383:12;21376:19;;21035:366;;;:::o;21407:419::-;21573:4;21611:2;21600:9;21596:18;21588:26;;21660:9;21654:4;21650:20;21646:1;21635:9;21631:17;21624:47;21688:131;21814:4;21688:131;:::i;:::-;21680:139;;21407:419;;;:::o;21832:177::-;21972:29;21968:1;21960:6;21956:14;21949:53;21832:177;:::o;22015:366::-;22157:3;22178:67;22242:2;22237:3;22178:67;:::i;:::-;22171:74;;22254:93;22343:3;22254:93;:::i;:::-;22372:2;22367:3;22363:12;22356:19;;22015:366;;;:::o;22387:419::-;22553:4;22591:2;22580:9;22576:18;22568:26;;22640:9;22634:4;22630:20;22626:1;22615:9;22611:17;22604:47;22668:131;22794:4;22668:131;:::i;:::-;22660:139;;22387:419;;;:::o;22812:305::-;22852:3;22871:20;22889:1;22871:20;:::i;:::-;22866:25;;22905:20;22923:1;22905:20;:::i;:::-;22900:25;;23059:1;22991:66;22987:74;22984:1;22981:81;22978:107;;;23065:18;;:::i;:::-;22978:107;23109:1;23106;23102:9;23095:16;;22812:305;;;;:::o;23123:178::-;23263:30;23259:1;23251:6;23247:14;23240:54;23123:178;:::o;23307:366::-;23449:3;23470:67;23534:2;23529:3;23470:67;:::i;:::-;23463:74;;23546:93;23635:3;23546:93;:::i;:::-;23664:2;23659:3;23655:12;23648:19;;23307:366;;;:::o;23679:419::-;23845:4;23883:2;23872:9;23868:18;23860:26;;23932:9;23926:4;23922:20;23918:1;23907:9;23903:17;23896:47;23960:131;24086:4;23960:131;:::i;:::-;23952:139;;23679:419;;;:::o;24104:191::-;24144:4;24164:20;24182:1;24164:20;:::i;:::-;24159:25;;24198:20;24216:1;24198:20;:::i;:::-;24193:25;;24237:1;24234;24231:8;24228:34;;;24242:18;;:::i;:::-;24228:34;24287:1;24284;24280:9;24272:17;;24104:191;;;;:::o;24301:180::-;24349:77;24346:1;24339:88;24446:4;24443:1;24436:15;24470:4;24467:1;24460:15;24487:185;24527:1;24544:20;24562:1;24544:20;:::i;:::-;24539:25;;24578:20;24596:1;24578:20;:::i;:::-;24573:25;;24617:1;24607:35;;24622:18;;:::i;:::-;24607:35;24664:1;24661;24657:9;24652:14;;24487:185;;;;:::o;24678:114::-;24745:6;24779:5;24773:12;24763:22;;24678:114;;;:::o;24798:184::-;24897:11;24931:6;24926:3;24919:19;24971:4;24966:3;24962:14;24947:29;;24798:184;;;;:::o;24988:132::-;25055:4;25078:3;25070:11;;25108:4;25103:3;25099:14;25091:22;;24988:132;;;:::o;25126:108::-;25203:24;25221:5;25203:24;:::i;:::-;25198:3;25191:37;25126:108;;:::o;25240:179::-;25309:10;25330:46;25372:3;25364:6;25330:46;:::i;:::-;25408:4;25403:3;25399:14;25385:28;;25240:179;;;;:::o;25425:113::-;25495:4;25527;25522:3;25518:14;25510:22;;25425:113;;;:::o;25574:732::-;25693:3;25722:54;25770:5;25722:54;:::i;:::-;25792:86;25871:6;25866:3;25792:86;:::i;:::-;25785:93;;25902:56;25952:5;25902:56;:::i;:::-;25981:7;26012:1;25997:284;26022:6;26019:1;26016:13;25997:284;;;26098:6;26092:13;26125:63;26184:3;26169:13;26125:63;:::i;:::-;26118:70;;26211:60;26264:6;26211:60;:::i;:::-;26201:70;;26057:224;26044:1;26041;26037:9;26032:14;;25997:284;;;26001:14;26297:3;26290:10;;25698:608;;;25574:732;;;;:::o;26312:831::-;26575:4;26613:3;26602:9;26598:19;26590:27;;26627:71;26695:1;26684:9;26680:17;26671:6;26627:71;:::i;:::-;26708:80;26784:2;26773:9;26769:18;26760:6;26708:80;:::i;:::-;26835:9;26829:4;26825:20;26820:2;26809:9;26805:18;26798:48;26863:108;26966:4;26957:6;26863:108;:::i;:::-;26855:116;;26981:72;27049:2;27038:9;27034:18;27025:6;26981:72;:::i;:::-;27063:73;27131:3;27120:9;27116:19;27107:6;27063:73;:::i;:::-;26312:831;;;;;;;;:::o;27149:348::-;27189:7;27212:20;27230:1;27212:20;:::i;:::-;27207:25;;27246:20;27264:1;27246:20;:::i;:::-;27241:25;;27434:1;27366:66;27362:74;27359:1;27356:81;27351:1;27344:9;27337:17;27333:105;27330:131;;;27441:18;;:::i;:::-;27330:131;27489:1;27486;27482:9;27471:20;;27149:348;;;;:::o;27503:220::-;27643:34;27639:1;27631:6;27627:14;27620:58;27712:3;27707:2;27699:6;27695:15;27688:28;27503:220;:::o;27729:366::-;27871:3;27892:67;27956:2;27951:3;27892:67;:::i;:::-;27885:74;;27968:93;28057:3;27968:93;:::i;:::-;28086:2;28081:3;28077:12;28070:19;;27729:366;;;:::o;28101:419::-;28267:4;28305:2;28294:9;28290:18;28282:26;;28354:9;28348:4;28344:20;28340:1;28329:9;28325:17;28318:47;28382:131;28508:4;28382:131;:::i;:::-;28374:139;;28101:419;;;:::o;28526:177::-;28666:29;28662:1;28654:6;28650:14;28643:53;28526:177;:::o;28709:366::-;28851:3;28872:67;28936:2;28931:3;28872:67;:::i;:::-;28865:74;;28948:93;29037:3;28948:93;:::i;:::-;29066:2;29061:3;29057:12;29050:19;;28709:366;;;:::o;29081:419::-;29247:4;29285:2;29274:9;29270:18;29262:26;;29334:9;29328:4;29324:20;29320:1;29309:9;29305:17;29298:47;29362:131;29488:4;29362:131;:::i;:::-;29354:139;;29081:419;;;:::o

Swarm Source

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