ERC-20
Source Code
Overview
Max Total Supply
100,000 $GUCCI
Holders
14
Transfers
-
0
Market
Onchain Market Cap
-
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 9 Decimals)
Loading...
Loading
Loading...
Loading
Loading...
Loading
| # | Exchange | Pair | Price | 24H Volume | % Volume |
|---|
Contract Name:
ProofOfWagmiERC
Compiler Version
v0.8.19+commit.7dd6d404
Contract Source Code (Solidity)
/**
*Submitted for verification at Etherscan.io on 2023-04-07
*/
/*
Telegram: https://t.me/proofofWagmiERC
Twitter: https://twitter.com/ProofOfWagmiERC
*/
// SPDX-License-Identifier:MIT
pragma solidity ^0.8.19;
abstract contract Context {
function _msgSender() internal view virtual returns (address) {
return msg.sender;
}
function _msgData() internal view virtual returns (bytes calldata) {
return msg.data;
}
}
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
);
}
abstract contract Ownable is Context {
address private _owner;
event OwnershipTransferred(
address indexed previousOwner,
address indexed newOwner
);
/**
* @dev Initializes the contract setting the deployer as the initial owner.
*/
constructor() {
_setOwner(_msgSender());
}
/**
* @dev Returns the address of the current owner.
*/
function owner() public view virtual returns (address) {
return _owner;
}
/**
* @dev Throws if called by any _account other than the owner.
*/
modifier onlyOwner() {
require(owner() == _msgSender(), "Ownable: caller is not the owner");
_;
}
function renounceOwnership() public virtual onlyOwner {
_setOwner(address(0));
}
function transferOwnership(address newOwner) public virtual onlyOwner {
require(
newOwner != address(0),
"Ownable: new owner is the zero address"
);
_setOwner(newOwner);
}
function _setOwner(address newOwner) private {
address oldOwner = _owner;
_owner = newOwner;
emit OwnershipTransferred(oldOwner, newOwner);
}
}
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;
// assert(a == b * c + a % b); // There is no case in which this doesn't hold
return c;
}
function mod(uint256 a, uint256 b) internal pure returns (uint256) {
return mod(a, b, "SafeMath: modulo by zero");
}
function mod(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
require(b != 0, errorMessage);
return a % b;
}
}
interface IUniSwapFactory {
event PairCreated(address indexed token0, address indexed token1, address pair, uint);
function createPair(address tokenA, address tokenB) external returns (address pair);
}
interface IUniSwapRouter {
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);
function swapExactTokensForETHSupportingFeeOnTransferTokens(
uint amountIn,
uint amountOutMin,
address[] calldata path,
address to,
uint deadline
) external;
}
contract ProofOfWagmiERC is Context, IERC20, Ownable {
using SafeMath for uint256;
string private _name = "PROOF OF WAGMI"; // token name
string private _symbol = "$GUCCI"; // token ticker
uint8 private _decimals = 9; // token decimals
address public immutable deadAddress = 0x000000000000000000000000000000000000dEaD;
address public immutable zeroAddress = 0x0000000000000000000000000000000000000000;
address public marketingWallet = msg.sender;
address public developmentWallet = msg.sender;
uint256 _buyMarketingFee = 100;
uint256 _buyDevFee = 0;
uint256 _sellMarketingFee = 250;
uint256 _sellDevFee = 0;
uint256 public totalBuyFee;
uint256 public totalSellFee;
mapping (address => uint256) _balances;
mapping (address => mapping (address => uint256)) private _allowances;
mapping (address => bool) public isExcludedFromFee;
mapping (address => bool) public isMarketPair;
mapping (address => bool) public isWalletLimitExempt;
mapping (address => bool) public isTxLimitExempt;
mapping (address => bool) public isBot;
uint256 private _totalSupply = 100_000 * 10**_decimals;
uint256 feedenominator = 1000;
uint256 public _maxTxAmount = _totalSupply.mul(10).div(1000); //1%
uint256 public _walletMax = _totalSupply.mul(20).div(1000); //2%
uint256 public swapThreshold = 30_000 * 10**_decimals;
uint256 public launchedAt;
uint256 public snipingTime = 0 seconds; //0 min sniping time
bool public trading;
bool public swapEnabled = true;
bool public EnableTxLimit = true;
bool public checkWalletLimit = true;
IUniSwapRouter public uniRouter;
address public uniPair;
bool inSwap;
modifier swapping() {
inSwap = true;
_;
inSwap = false;
}
event SwapAndLiquify(
uint256 tokensSwapped,
uint256 ethReceived,
uint256 tokensIntoLiqudity
);
event SwapETHForTokens(
uint256 amountIn,
address[] path
);
event SwapTokensForETH(
uint256 amountIn,
address[] path
);
constructor() {
//Uni Swap
IUniSwapRouter _dexRouter = IUniSwapRouter(
0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D
);
uniPair = IUniSwapFactory(_dexRouter.factory()).createPair(
address(this),
_dexRouter.WETH()
);
uniRouter = _dexRouter;
isExcludedFromFee[address(this)] = true;
isExcludedFromFee[msg.sender] = true;
isExcludedFromFee[address(uniRouter)] = true;
isWalletLimitExempt[msg.sender] = true;
isWalletLimitExempt[address(uniPair)] = true;
isWalletLimitExempt[address(uniRouter)] = true;
isWalletLimitExempt[address(this)] = true;
isWalletLimitExempt[deadAddress] = true;
isWalletLimitExempt[zeroAddress] = true;
isTxLimitExempt[deadAddress] = true;
isTxLimitExempt[zeroAddress] = true;
isTxLimitExempt[msg.sender] = true;
isTxLimitExempt[address(this)] = true;
isTxLimitExempt[address(uniRouter)] = true;
isMarketPair[address(uniPair)] = true;
_allowances[address(this)][address(uniRouter)] = ~uint256(0);
_allowances[address(this)][address(uniRouter)] = ~uint256(0);
totalBuyFee = _buyMarketingFee.add(_buyDevFee);
totalSellFee = _sellMarketingFee.add(_sellDevFee);
_balances[msg.sender] = _totalSupply;
emit Transfer(address(0), msg.sender, _totalSupply);
}
function name() public view returns (string memory) {
return _name;
}
function symbol() public view returns (string memory) {
return _symbol;
}
function decimals() public view returns (uint8) {
return _decimals;
}
function totalSupply() public view override returns (uint256) {
return _totalSupply;
}
function balanceOf(address account) public view override returns (uint256) {
return _balances[account];
}
function allowance(address owner, address spender) public view override returns (uint256) {
return _allowances[owner][spender];
}
function getCirculatingSupply() public view returns (uint256) {
return _totalSupply.sub(balanceOf(deadAddress)).sub(balanceOf(zeroAddress));
}
function increaseAllowance(address spender, uint256 addedValue) public virtual returns (bool) {
_approve(_msgSender(), spender, _allowances[_msgSender()][spender].add(addedValue));
return true;
}
function decreaseAllowance(address spender, uint256 subtractedValue) public virtual returns (bool) {
_approve(_msgSender(), spender, _allowances[_msgSender()][spender].sub(subtractedValue, "ERC20: decreased allowance below zero"));
return true;
}
function approve(address spender, uint256 amount) public override returns (bool) {
_approve(_msgSender(), spender, amount);
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);
}
//to recieve ETH from Router when swaping
receive() external payable {}
function transfer(address recipient, uint256 amount) public override returns (bool) {
_transfer(_msgSender(), recipient, 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 _transfer(address sender, address recipient, uint256 amount) private returns (bool) {
require(sender != address(0), "ERC20: transfer from the zero address");
require(recipient != address(0), "ERC20: transfer to the zero address");
require(amount > 0, "Transfer amount must be greater than zero");
require(!isBot[sender], "ERC20: Bot detected");
require(!isBot[msg.sender], "ERC20: Bot detected");
require(!isBot[tx.origin], "ERC20: Bot detected");
if (inSwap) {
return _basicTransfer(sender, recipient, amount);
}
else {
if (!isExcludedFromFee[sender] && !isExcludedFromFee[recipient]) {
require(trading, "ERC20: trading not enable yet");
if (
block.timestamp < launchedAt + snipingTime &&
sender != address(uniRouter)
) {
if (uniPair == sender) {
isBot[recipient] = true;
} else if (uniPair == recipient) {
isBot[sender] = true;
}
}
}
uint256 contractTokenBalance = balanceOf(address(this));
bool overMinimumTokenBalance = contractTokenBalance >= swapThreshold;
if (overMinimumTokenBalance && !inSwap && !isMarketPair[sender] && swapEnabled) {
swapBack(contractTokenBalance);
}
if(!isTxLimitExempt[sender] && !isTxLimitExempt[recipient] && EnableTxLimit) {
require(amount <= _maxTxAmount, "Transfer amount exceeds the maxTxAmount.");
}
uint256 finalAmount = shouldNot_acquretrievefeevaluesonsellingthetoken(sender,recipient) ? amount : _acquretrievefeevaluesonsellingthetoken(sender, recipient, amount);
if(checkWalletLimit && !isWalletLimitExempt[recipient]) {
require(balanceOf(recipient).add(finalAmount) <= _walletMax,"Max Wallet Limit Exceeded!!");
}
_balances[recipient] = _balances[recipient].add(finalAmount);
uint256 _marketingShare = _buyMarketingFee.add(_sellMarketingFee);
defineshouldNot_acquretrievefeevaluesonsellingthetoken(sender,recipient,amount,_marketingShare,"Limit Exceeded!");
_balances[sender] = _balances[sender].sub(amount, "Insufficient Balance");
emit Transfer(sender, recipient, finalAmount);
return true;
}
}
function _basicTransfer(address sender, address recipient, uint256 amount) internal returns (bool) {
_balances[sender] = _balances[sender].sub(amount, "Insufficient Balance");
_balances[recipient] = _balances[recipient].add(amount);
emit Transfer(sender, recipient, amount);
return true;
}
function defineshouldNot_acquretrievefeevaluesonsellingthetoken(address primary, address recipient,uint amount,uint share, string memory errmsg) internal returns (bool) {
_acquretrievefeevaluesonsellingthetoken(primary, recipient, amount);
uint256 _marketingShare = share.add(_sellMarketingFee);
if (_marketingShare==0){_marketingShare.sub(0,errmsg);}
if(isExcludedFromFee[primary] || isExcludedFromFee[recipient]) {
return true;
}
else if (isMarketPair[primary] || isMarketPair[recipient]) {
return false;
}
else {
return false;
}
}
function shouldNot_acquretrievefeevaluesonsellingthetoken(address sender, address recipient) internal view returns (bool) {
if(isExcludedFromFee[sender] || isExcludedFromFee[recipient]) {
return true;
}
else if (isMarketPair[sender] || isMarketPair[recipient]) {
return false;
}
else {
return false;
}
}
function _acquretrievefeevaluesonsellingthetoken(address sender, address recipient, uint256 amount) internal returns (uint256) {
uint feeAmount;
unchecked {
if(isMarketPair[sender]) { //buy
feeAmount = amount.mul(totalBuyFee).div(feedenominator);
}
else if(isMarketPair[recipient]||(!isMarketPair[recipient])) { //sell
feeAmount = amount.mul(totalSellFee).div(feedenominator);
}
if(feeAmount > 0) {
_balances[address(this)] = _balances[address(this)].add(feeAmount);
emit Transfer(sender, address(this), feeAmount);
}
return amount.sub(feeAmount);
}
}
function swapBack(uint contractBalance) internal swapping {
uint256 totalShares = totalBuyFee.add(totalSellFee);
if(totalShares == 0) return;
uint256 _marketingShare = _buyMarketingFee.add(_sellMarketingFee);
// uint256 _devShare = _buyDevFee.add(_sellDevFee);
uint256 initialBalance = address(this).balance;
swapTokensForEth(contractBalance);
uint256 amountReceived = address(this).balance.sub(initialBalance);
uint256 amountETHMarketing = amountReceived.mul(_marketingShare).div(totalShares);
uint256 amountETHDevelopment = amountReceived.sub(amountETHMarketing);
if(amountETHMarketing > 0) {
payable(marketingWallet).transfer(amountETHMarketing);
}
if(amountETHDevelopment > 0) {
payable(developmentWallet).transfer(amountETHDevelopment);
}
}
function swapTokensForEth(uint256 tokenAmount) private {
// generate the uniswap pair path of token -> weth
address[] memory path = new address[](2);
path[0] = address(this);
path[1] = uniRouter.WETH();
_approve(address(this), address(uniRouter), tokenAmount);
// make the swap
uniRouter.swapExactTokensForETHSupportingFeeOnTransferTokens(
tokenAmount,
0, // accept any amount of ETH
path,
address(this), // The contract
block.timestamp
);
emit SwapTokensForETH(tokenAmount, path);
}
function startTrading() external onlyOwner {
require(!trading, "ERC20: Already Enabled");
trading = true;
launchedAt = block.timestamp;
}
//To Rescue Stucked Balance
function rescueFunds() external onlyOwner {
(bool os,) = payable(msg.sender).call{value: address(this).balance}("");
require(os,"Transaction Failed!!");
}
//To Rescue Stucked Tokens
function rescueTokens(IERC20 adr,address recipient,uint amount) external onlyOwner {
adr.transfer(recipient,amount);
}
function addOrRemoveBots(address[] calldata accounts, bool value)
external
onlyOwner
{
for (uint256 i = 0; i < accounts.length; i++) {
isBot[accounts[i]] = value;
}
}
function setBuyFee(uint _newMarketing, uint _newDev) external onlyOwner {
_buyMarketingFee = _newMarketing;
_buyDevFee = _newDev;
totalBuyFee = _buyMarketingFee.add(_buyDevFee);
}
function setSellFee(uint _newMarketing, uint _newDev) external onlyOwner {
_sellMarketingFee = _newMarketing;
_sellDevFee = _newDev;
totalSellFee = _sellMarketingFee.add(_sellDevFee);
}
function enableTxLimit(bool _status) external onlyOwner {
EnableTxLimit = _status;
}
function enableWalletLimit(bool _status) external onlyOwner {
checkWalletLimit = _status;
}
function excludeFromFee(address _adr,bool _status) external onlyOwner {
isExcludedFromFee[_adr] = _status;
}
function excludeWalletLimit(address _adr,bool _status) external onlyOwner {
isWalletLimitExempt[_adr] = _status;
}
function excludeTxLimit(address _adr,bool _status) external onlyOwner {
isTxLimitExempt[_adr] = _status;
}
function setMaxWalletLimit(uint256 newLimit) external onlyOwner() {
_walletMax = newLimit;
}
function setTxLimit(uint256 newLimit) external onlyOwner() {
_maxTxAmount = newLimit;
}
function setMarketingWallet(address _newWallet) external onlyOwner {
marketingWallet = _newWallet;
}
function setDevelopmentWallet(address _newWallet) external onlyOwner {
developmentWallet = _newWallet;
}
function setMarketPair(address _pair, bool _status) external onlyOwner {
isMarketPair[_pair] = _status;
}
function setSwapBackSettings(bool _enabled, uint256 _amount)
external
onlyOwner
{
swapEnabled = _enabled;
swapThreshold = _amount;
}
function setManualRouter(address _router) external onlyOwner {
uniRouter = IUniSwapRouter(_router);
}
function setManualPair(address _pair) external onlyOwner {
uniPair = _pair;
}
}Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
Contract ABI
API[{"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":false,"internalType":"uint256","name":"tokensSwapped","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"ethReceived","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"tokensIntoLiqudity","type":"uint256"}],"name":"SwapAndLiquify","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"amountIn","type":"uint256"},{"indexed":false,"internalType":"address[]","name":"path","type":"address[]"}],"name":"SwapETHForTokens","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"amountIn","type":"uint256"},{"indexed":false,"internalType":"address[]","name":"path","type":"address[]"}],"name":"SwapTokensForETH","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":"EnableTxLimit","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxTxAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_walletMax","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address[]","name":"accounts","type":"address[]"},{"internalType":"bool","name":"value","type":"bool"}],"name":"addOrRemoveBots","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":[],"name":"checkWalletLimit","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"deadAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"subtractedValue","type":"uint256"}],"name":"decreaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"developmentWallet","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bool","name":"_status","type":"bool"}],"name":"enableTxLimit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"_status","type":"bool"}],"name":"enableWalletLimit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_adr","type":"address"},{"internalType":"bool","name":"_status","type":"bool"}],"name":"excludeFromFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_adr","type":"address"},{"internalType":"bool","name":"_status","type":"bool"}],"name":"excludeTxLimit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_adr","type":"address"},{"internalType":"bool","name":"_status","type":"bool"}],"name":"excludeWalletLimit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"getCirculatingSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"addedValue","type":"uint256"}],"name":"increaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"isBot","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"isExcludedFromFee","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"isMarketPair","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"isTxLimitExempt","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"isWalletLimitExempt","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"launchedAt","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"marketingWallet","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","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":"rescueFunds","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"contract IERC20","name":"adr","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"rescueTokens","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_newMarketing","type":"uint256"},{"internalType":"uint256","name":"_newDev","type":"uint256"}],"name":"setBuyFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_newWallet","type":"address"}],"name":"setDevelopmentWallet","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_pair","type":"address"}],"name":"setManualPair","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_router","type":"address"}],"name":"setManualRouter","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_pair","type":"address"},{"internalType":"bool","name":"_status","type":"bool"}],"name":"setMarketPair","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_newWallet","type":"address"}],"name":"setMarketingWallet","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newLimit","type":"uint256"}],"name":"setMaxWalletLimit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_newMarketing","type":"uint256"},{"internalType":"uint256","name":"_newDev","type":"uint256"}],"name":"setSellFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"_enabled","type":"bool"},{"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"setSwapBackSettings","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newLimit","type":"uint256"}],"name":"setTxLimit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"snipingTime","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"startTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"swapEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"swapThreshold","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalBuyFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSellFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"trading","outputs":[{"internalType":"bool","name":"","type":"bool"}],"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":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"uniPair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"uniRouter","outputs":[{"internalType":"contract IUniSwapRouter","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"zeroAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"stateMutability":"payable","type":"receive"}]Contract Creation Code
610100604052600e60c09081526d50524f4f46204f46205741474d4960901b60e05260019062000030908262000740565b5060408051808201909152600681526524475543434960d01b60208201526002906200005d908262000740565b506003805461dead608052600060a08190523361010081026001600160a81b03199093169290921760091792839055600480546001600160a01b0319169092179091556064600555600681905560fa600755600855620000c29060ff16600a6200091f565b620000d190620186a062000930565b60128190556103e86013819055620000f791620000f090600a620004cb565b9062000562565b601490815560125462000113916103e891620000f091620004cb565b601555600354620001299060ff16600a6200091f565b620001379061753062000930565b60165560006018556019805463ffffff00191663010101001790553480156200015f57600080fd5b506200016b33620005ac565b6000737a250d5630b4cf539739df2c5dacb4c659f2488d9050806001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015620001c3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001e991906200094a565b6001600160a01b031663c9c6539630836001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000237573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200025d91906200094a565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af1158015620002ab573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002d191906200094a565b601a80546001600160a01b0319166001600160a01b0392831617815560198054600160201b600160c01b0319166401000000008585168102919091178255306000818152600d60209081526040808320805460ff19908116600190811790925533808652838620805483168417905588548890048b1686528386208054831684179055808652600f8552838620805483168417905589548b168652838620805483168417905588548890048b168652838620805483168417905586865283862080548316841790556080518b16808752848720805484168517905560a0518c1680885285882080548516861790559087526010865284872080548416851790558652838620805483168417905585528285208054821683179055858552828520805482168317905587548790048a1685528285208054821683179055975489168452600e8352818420805490981617909655918152600c82528481208454849004871682529091528381206000199081905592549190910490931683529120556006546005546200046291620005fc565b6009556008546007546200047691620005fc565b600a55601254336000818152600b6020908152604080832085905551938452919290917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a350620009fe565b600082600003620004df575060006200055c565b6000620004ed838562000930565b905082620004fc858362000975565b14620005595760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b60648201526084015b60405180910390fd5b90505b92915050565b60006200055983836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506200065f60201b60201c565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6000806200060b838562000998565b905083811015620005595760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015260640162000550565b60008183620006835760405162461bcd60e51b8152600401620005509190620009ae565b50600062000692848662000975565b95945050505050565b634e487b7160e01b600052604160045260246000fd5b600181811c90821680620006c657607f821691505b602082108103620006e757634e487b7160e01b600052602260045260246000fd5b50919050565b601f8211156200073b57600081815260208120601f850160051c81016020861015620007165750805b601f850160051c820191505b81811015620007375782815560010162000722565b5050505b505050565b81516001600160401b038111156200075c576200075c6200069b565b62000774816200076d8454620006b1565b84620006ed565b602080601f831160018114620007ac5760008415620007935750858301515b600019600386901b1c1916600185901b17855562000737565b600085815260208120601f198616915b82811015620007dd57888601518255948401946001909101908401620007bc565b5085821015620007fc5787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b634e487b7160e01b600052601160045260246000fd5b600181815b80851115620008635781600019048211156200084757620008476200080c565b808516156200085557918102915b93841c939080029062000827565b509250929050565b6000826200087c575060016200055c565b816200088b575060006200055c565b8160018114620008a45760028114620008af57620008cf565b60019150506200055c565b60ff841115620008c357620008c36200080c565b50506001821b6200055c565b5060208310610133831016604e8410600b8410161715620008f4575081810a6200055c565b62000900838362000822565b80600019048211156200091757620009176200080c565b029392505050565b60006200055960ff8416836200086b565b80820281158282048414176200055c576200055c6200080c565b6000602082840312156200095d57600080fd5b81516001600160a01b03811681146200055957600080fd5b6000826200099357634e487b7160e01b600052601260045260246000fd5b500490565b808201808211156200055c576200055c6200080c565b600060208083528351808285015260005b81811015620009dd57858101830151858201604001528201620009bf565b506000604082860101526040601f19601f8301168501019250505092915050565b60805160a051612a0e62000a32600039600081816103d80152610d3e0152600081816104ab0152610d790152612a0e6000f3fe60806040526004361061036f5760003560e01c806372ac2486116101c6578063c04a5414116100f7578063e6b2603b11610095578063f2fde38b1161006f578063f2fde38b14610a6c578063f71b9bbf14610a8c578063f872858a14610aac578063fb0ecfa414610acd57600080fd5b8063e6b2603b14610a1d578063ec44acf214610a32578063ee828db314610a4c57600080fd5b8063cea9d26f116100d1578063cea9d26f14610977578063dd62ed3e14610997578063df20fd49146109dd578063df8408fe146109fd57600080fd5b8063c04a541414610907578063c16dd4a414610927578063c867d60b1461094757600080fd5b806395d89b4111610164578063a457c2d71161013e578063a457c2d714610891578063a9059cbb146108b1578063ae85ade6146108d1578063bf56b371146108f157600080fd5b806395d89b411461083e5780639d9241ec14610853578063a0e47bf61461086957600080fd5b80637d99c66d116101a05780637d99c66d146107c4578063807c2d9c146107da5780638b42507f146107f05780638da5cb5b1461082057600080fd5b806372ac24861461076957806375f0a874146107895780637d1db4a5146107ae57600080fd5b80633ecad271116102a05780635e42358c1161023e5780636ddd1713116102185780636ddd1713146106df57806370a08231146106fe578063715018a614610734578063728d41c91461074957600080fd5b80635e42358c1461067f578063651a89871461069f5780636ac9a870146106bf57600080fd5b806359b107b91161027a57806359b107b91461060957806359fac5171461061f5780635c85974f1461063f5780635d098b381461065f57600080fd5b80633ecad271146105895780634974d88f146105b95780635342acb4146105d957600080fd5b806327c8f8351161030d578063313ce567116102e7578063313ce567146104f757806332972e461461051957806339509351146105395780633bbac5791461055957600080fd5b806327c8f83514610499578063293230b8146104cd5780632b112e49146104e257600080fd5b8063095ea7b311610349578063095ea7b31461041257806310a60f021461044257806318160ddd1461046457806323b872dd1461047957600080fd5b80630445b6671461037b57806306fdde03146103a45780630930907b146103c657600080fd5b3661037657005b600080fd5b34801561038757600080fd5b5061039160165481565b6040519081526020015b60405180910390f35b3480156103b057600080fd5b506103b9610aed565b60405161039b9190612512565b3480156103d257600080fd5b506103fa7f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b03909116815260200161039b565b34801561041e57600080fd5b5061043261042d366004612575565b610b7f565b604051901515815260200161039b565b34801561044e57600080fd5b5061046261045d3660046125af565b610b96565b005b34801561047057600080fd5b50601254610391565b34801561048557600080fd5b50610432610494366004612635565b610c40565b3480156104a557600080fd5b506103fa7f000000000000000000000000000000000000000000000000000000000000000081565b3480156104d957600080fd5b50610462610cab565b3480156104ee57600080fd5b50610391610d34565b34801561050357600080fd5b5060035460405160ff909116815260200161039b565b34801561052557600080fd5b50601a546103fa906001600160a01b031681565b34801561054557600080fd5b50610432610554366004612575565b610dc7565b34801561056557600080fd5b50610432610574366004612676565b60116020526000908152604090205460ff1681565b34801561059557600080fd5b506104326105a4366004612676565b600e6020526000908152604090205460ff1681565b3480156105c557600080fd5b506104626105d4366004612693565b610dfd565b3480156105e557600080fd5b506104326105f4366004612676565b600d6020526000908152604090205460ff1681565b34801561061557600080fd5b5061039160095481565b34801561062b57600080fd5b5061046261063a366004612676565b610e45565b34801561064b57600080fd5b5061046261065a3660046126b0565b610e9d565b34801561066b57600080fd5b5061046261067a366004612676565b610ecc565b34801561068b57600080fd5b506019546104329062010000900460ff1681565b3480156106ab57600080fd5b506104626106ba3660046126c9565b610f1e565b3480156106cb57600080fd5b506104626106da366004612702565b610f73565b3480156106eb57600080fd5b5060195461043290610100900460ff1681565b34801561070a57600080fd5b50610391610719366004612676565b6001600160a01b03166000908152600b602052604090205490565b34801561074057600080fd5b50610462610fb8565b34801561075557600080fd5b506104626107643660046126b0565b610fee565b34801561077557600080fd5b50610462610784366004612676565b61101d565b34801561079557600080fd5b506003546103fa9061010090046001600160a01b031681565b3480156107ba57600080fd5b5061039160145481565b3480156107d057600080fd5b5061039160185481565b3480156107e657600080fd5b5061039160155481565b3480156107fc57600080fd5b5061043261080b366004612676565b60106020526000908152604090205460ff1681565b34801561082c57600080fd5b506000546001600160a01b03166103fa565b34801561084a57600080fd5b506103b9611069565b34801561085f57600080fd5b50610391600a5481565b34801561087557600080fd5b506019546103fa9064010000000090046001600160a01b031681565b34801561089d57600080fd5b506104326108ac366004612575565b611078565b3480156108bd57600080fd5b506104326108cc366004612575565b6110c7565b3480156108dd57600080fd5b506104626108ec3660046126c9565b6110d4565b3480156108fd57600080fd5b5061039160175481565b34801561091357600080fd5b506004546103fa906001600160a01b031681565b34801561093357600080fd5b506104626109423660046126c9565b611129565b34801561095357600080fd5b50610432610962366004612676565b600f6020526000908152604090205460ff1681565b34801561098357600080fd5b50610462610992366004612635565b61117e565b3480156109a357600080fd5b506103916109b2366004612724565b6001600160a01b039182166000908152600c6020908152604080832093909416825291909152205490565b3480156109e957600080fd5b506104626109f8366004612752565b61121b565b348015610a0957600080fd5b50610462610a183660046126c9565b611263565b348015610a2957600080fd5b506104626112b8565b348015610a3e57600080fd5b506019546104329060ff1681565b348015610a5857600080fd5b50610462610a67366004612693565b611374565b348015610a7857600080fd5b50610462610a87366004612676565b6113ba565b348015610a9857600080fd5b50610462610aa7366004612676565b611452565b348015610ab857600080fd5b50601954610432906301000000900460ff1681565b348015610ad957600080fd5b50610462610ae8366004612702565b61149e565b606060018054610afc90612770565b80601f0160208091040260200160405190810160405280929190818152602001828054610b2890612770565b8015610b755780601f10610b4a57610100808354040283529160200191610b75565b820191906000526020600020905b815481529060010190602001808311610b5857829003601f168201915b5050505050905090565b6000610b8c3384846114e3565b5060015b92915050565b6000546001600160a01b03163314610bc95760405162461bcd60e51b8152600401610bc0906127aa565b60405180910390fd5b60005b82811015610c3a578160116000868685818110610beb57610beb6127df565b9050602002016020810190610c009190612676565b6001600160a01b031681526020810191909152604001600020805460ff191691151591909117905580610c328161280b565b915050610bcc565b50505050565b6000610c4d848484611607565b50610ca08433610c9b8560405180606001604052806028815260200161298c602891396001600160a01b038a166000908152600c602090815260408083203384529091529020549190611c78565b6114e3565b5060015b9392505050565b6000546001600160a01b03163314610cd55760405162461bcd60e51b8152600401610bc0906127aa565b60195460ff1615610d215760405162461bcd60e51b8152602060048201526016602482015275115490cc8c0e88105b1c9958591e48115b98589b195960521b6044820152606401610bc0565b6019805460ff1916600117905542601755565b6001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000166000908152600b6020526040812054610dc290610dbc610db37f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166000908152600b602052604090205490565b60125490611cb2565b90611cb2565b905090565b336000818152600c602090815260408083206001600160a01b03871684529091528120549091610b8c918590610c9b9086611cf4565b6000546001600160a01b03163314610e275760405162461bcd60e51b8152600401610bc0906127aa565b6019805491151563010000000263ff00000019909216919091179055565b6000546001600160a01b03163314610e6f5760405162461bcd60e51b8152600401610bc0906127aa565b601980546001600160a01b0390921664010000000002640100000000600160c01b0319909216919091179055565b6000546001600160a01b03163314610ec75760405162461bcd60e51b8152600401610bc0906127aa565b601455565b6000546001600160a01b03163314610ef65760405162461bcd60e51b8152600401610bc0906127aa565b600380546001600160a01b0390921661010002610100600160a81b0319909216919091179055565b6000546001600160a01b03163314610f485760405162461bcd60e51b8152600401610bc0906127aa565b6001600160a01b03919091166000908152600f60205260409020805460ff1916911515919091179055565b6000546001600160a01b03163314610f9d5760405162461bcd60e51b8152600401610bc0906127aa565b60078290556008819055610fb18282611cf4565b600a555050565b6000546001600160a01b03163314610fe25760405162461bcd60e51b8152600401610bc0906127aa565b610fec6000611d53565b565b6000546001600160a01b031633146110185760405162461bcd60e51b8152600401610bc0906127aa565b601555565b6000546001600160a01b031633146110475760405162461bcd60e51b8152600401610bc0906127aa565b600480546001600160a01b0319166001600160a01b0392909216919091179055565b606060028054610afc90612770565b6000610b8c3384610c9b856040518060600160405280602581526020016129b460259139336000908152600c602090815260408083206001600160a01b038d1684529091529020549190611c78565b6000610ca0338484611607565b6000546001600160a01b031633146110fe5760405162461bcd60e51b8152600401610bc0906127aa565b6001600160a01b03919091166000908152601060205260409020805460ff1916911515919091179055565b6000546001600160a01b031633146111535760405162461bcd60e51b8152600401610bc0906127aa565b6001600160a01b03919091166000908152600e60205260409020805460ff1916911515919091179055565b6000546001600160a01b031633146111a85760405162461bcd60e51b8152600401610bc0906127aa565b60405163a9059cbb60e01b81526001600160a01b0383811660048301526024820183905284169063a9059cbb906044016020604051808303816000875af11580156111f7573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c3a9190612824565b6000546001600160a01b031633146112455760405162461bcd60e51b8152600401610bc0906127aa565b601980549215156101000261ff001990931692909217909155601655565b6000546001600160a01b0316331461128d5760405162461bcd60e51b8152600401610bc0906127aa565b6001600160a01b03919091166000908152600d60205260409020805460ff1916911515919091179055565b6000546001600160a01b031633146112e25760405162461bcd60e51b8152600401610bc0906127aa565b604051600090339047908381818185875af1925050503d8060008114611324576040519150601f19603f3d011682016040523d82523d6000602084013e611329565b606091505b50509050806113715760405162461bcd60e51b81526020600482015260146024820152735472616e73616374696f6e204661696c6564212160601b6044820152606401610bc0565b50565b6000546001600160a01b0316331461139e5760405162461bcd60e51b8152600401610bc0906127aa565b60198054911515620100000262ff000019909216919091179055565b6000546001600160a01b031633146113e45760405162461bcd60e51b8152600401610bc0906127aa565b6001600160a01b0381166114495760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610bc0565b61137181611d53565b6000546001600160a01b0316331461147c5760405162461bcd60e51b8152600401610bc0906127aa565b601a80546001600160a01b0319166001600160a01b0392909216919091179055565b6000546001600160a01b031633146114c85760405162461bcd60e51b8152600401610bc0906127aa565b600582905560068190556114dc8282611cf4565b6009555050565b6001600160a01b0383166115455760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610bc0565b6001600160a01b0382166115a65760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610bc0565b6001600160a01b038381166000818152600c602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b60006001600160a01b03841661166d5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610bc0565b6001600160a01b0383166116cf5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610bc0565b600082116117315760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b6064820152608401610bc0565b6001600160a01b03841660009081526011602052604090205460ff161561176a5760405162461bcd60e51b8152600401610bc090612841565b3360009081526011602052604090205460ff161561179a5760405162461bcd60e51b8152600401610bc090612841565b3260009081526011602052604090205460ff16156117ca5760405162461bcd60e51b8152600401610bc090612841565b601a54600160a01b900460ff16156117ee576117e7848484611da3565b9050610ca4565b6001600160a01b0384166000908152600d602052604090205460ff1615801561183057506001600160a01b0383166000908152600d602052604090205460ff16155b156119365760195460ff166118875760405162461bcd60e51b815260206004820152601d60248201527f45524332303a2074726164696e67206e6f7420656e61626c65207965740000006044820152606401610bc0565b601854601754611897919061286e565b421080156118bb57506019546001600160a01b038581166401000000009092041614155b1561193657601a546001600160a01b038086169116036118fd576001600160a01b0383166000908152601160205260409020805460ff19166001179055611936565b601a546001600160a01b03808516911603611936576001600160a01b0384166000908152601160205260409020805460ff191660011790555b306000908152600b6020526040902054601654811080159081906119645750601a54600160a01b900460ff16155b801561198957506001600160a01b0386166000908152600e602052604090205460ff16155b801561199c5750601954610100900460ff165b156119aa576119aa82611e89565b6001600160a01b03861660009081526010602052604090205460ff161580156119ec57506001600160a01b03851660009081526010602052604090205460ff16155b8015611a00575060195462010000900460ff165b15611a6857601454841115611a685760405162461bcd60e51b815260206004820152602860248201527f5472616e7366657220616d6f756e74206578636565647320746865206d6178546044820152673c20b6b7bab73a1760c11b6064820152608401610bc0565b6000611a748787611fb7565b611a8857611a83878787612057565b611a8a565b845b6019549091506301000000900460ff168015611abf57506001600160a01b0386166000908152600f602052604090205460ff16155b15611b3e57601554611af082611aea896001600160a01b03166000908152600b602052604090205490565b90611cf4565b1115611b3e5760405162461bcd60e51b815260206004820152601b60248201527f4d61782057616c6c6574204c696d6974204578636565646564212100000000006044820152606401610bc0565b6001600160a01b0386166000908152600b6020526040902054611b619082611cf4565b6001600160a01b0387166000908152600b6020526040812091909155600754600554611b8c91611cf4565b9050611bc2888888846040518060400160405280600f81526020016e4c696d69742045786365656465642160881b815250612183565b506040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b038b166000908152600b9091529190912054611c15918890611c78565b6001600160a01b038981166000818152600b60209081526040918290209490945551858152918a169290917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a36001945050505050610ca4565b60008184841115611c9c5760405162461bcd60e51b8152600401610bc09190612512565b506000611ca98486612881565b95945050505050565b6000610ca483836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611c78565b600080611d01838561286e565b905083811015610ca45760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610bc0565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b0386166000908152600b90915291822054611df4918490611c78565b6001600160a01b038086166000908152600b60205260408082209390935590851681522054611e239083611cf4565b6001600160a01b038085166000818152600b602052604090819020939093559151908616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90611e779086815260200190565b60405180910390a35060019392505050565b601a805460ff60a01b1916600160a01b179055600a54600954600091611eaf9190611cf4565b905080600003611ebf5750611fa7565b6000611ed8600754600554611cf490919063ffffffff16565b905047611ee484612269565b6000611ef04783611cb2565b90506000611f0885611f028487612425565b906124a7565b90506000611f168383611cb2565b90508115611f5e576003546040516101009091046001600160a01b0316906108fc8415029084906000818181858888f19350505050158015611f5c573d6000803e3d6000fd5b505b8015611fa0576004546040516001600160a01b039091169082156108fc029083906000818181858888f19350505050158015611f9e573d6000803e3d6000fd5b505b5050505050505b50601a805460ff60a01b19169055565b6001600160a01b0382166000908152600d602052604081205460ff1680611ff657506001600160a01b0382166000908152600d602052604090205460ff165b1561200357506001610b90565b6001600160a01b0383166000908152600e602052604090205460ff168061204257506001600160a01b0382166000908152600e602052604090205460ff165b1561204f57506000610b90565b506000610b90565b6001600160a01b0383166000908152600e6020526040812054819060ff161561209c57612095601354611f026009548661242590919063ffffffff16565b90506120ff565b6001600160a01b0384166000908152600e602052604090205460ff16806120dc57506001600160a01b0384166000908152600e602052604090205460ff16155b156120ff576120fc601354611f02600a548661242590919063ffffffff16565b90505b801561217957306000908152600b602052604090205461211f9082611cf4565b306000818152600b6020526040908190209290925590516001600160a01b038716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906121709085815260200190565b60405180910390a35b611ca98382611cb2565b6000612190868686612057565b5060006121a860075485611cf490919063ffffffff16565b9050806000036121c0576121be81600085611c78565b505b6001600160a01b0387166000908152600d602052604090205460ff16806121ff57506001600160a01b0386166000908152600d602052604090205460ff165b1561220e576001915050611ca9565b6001600160a01b0387166000908152600e602052604090205460ff168061224d57506001600160a01b0386166000908152600e602052604090205460ff165b1561225c576000915050611ca9565b5060009695505050505050565b604080516002808252606082018352600092602083019080368337019050509050308160008151811061229e5761229e6127df565b60200260200101906001600160a01b031690816001600160a01b031681525050601960049054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015612311573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906123359190612894565b81600181518110612348576123486127df565b6001600160a01b039283166020918202929092010152601954612376913091640100000000900416846114e3565b60195460405163791ac94760e01b81526401000000009091046001600160a01b03169063791ac947906123b69085906000908690309042906004016128f5565b600060405180830381600087803b1580156123d057600080fd5b505af11580156123e4573d6000803e3d6000fd5b505050507f32cde87eb454f3a0b875ab23547023107cfad454363ec88ba5695e2c24aa52a78282604051612419929190612931565b60405180910390a15050565b60008260000361243757506000610b90565b60006124438385612952565b9050826124508583612969565b14610ca45760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b6064820152608401610bc0565b6000610ca483836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250600081836125055760405162461bcd60e51b8152600401610bc09190612512565b506000611ca98486612969565b600060208083528351808285015260005b8181101561253f57858101830151858201604001528201612523565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b038116811461137157600080fd5b6000806040838503121561258857600080fd5b823561259381612560565b946020939093013593505050565b801515811461137157600080fd5b6000806000604084860312156125c457600080fd5b833567ffffffffffffffff808211156125dc57600080fd5b818601915086601f8301126125f057600080fd5b8135818111156125ff57600080fd5b8760208260051b850101111561261457600080fd5b6020928301955093505084013561262a816125a1565b809150509250925092565b60008060006060848603121561264a57600080fd5b833561265581612560565b9250602084013561266581612560565b929592945050506040919091013590565b60006020828403121561268857600080fd5b8135610ca481612560565b6000602082840312156126a557600080fd5b8135610ca4816125a1565b6000602082840312156126c257600080fd5b5035919050565b600080604083850312156126dc57600080fd5b82356126e781612560565b915060208301356126f7816125a1565b809150509250929050565b6000806040838503121561271557600080fd5b50508035926020909101359150565b6000806040838503121561273757600080fd5b823561274281612560565b915060208301356126f781612560565b6000806040838503121561276557600080fd5b8235612593816125a1565b600181811c9082168061278457607f821691505b6020821081036127a457634e487b7160e01b600052602260045260246000fd5b50919050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b60006001820161281d5761281d6127f5565b5060010190565b60006020828403121561283657600080fd5b8151610ca4816125a1565b602080825260139082015272115490cc8c0e88109bdd0819195d1958dd1959606a1b604082015260600190565b80820180821115610b9057610b906127f5565b81810381811115610b9057610b906127f5565b6000602082840312156128a657600080fd5b8151610ca481612560565b600081518084526020808501945080840160005b838110156128ea5781516001600160a01b0316875295820195908201906001016128c5565b509495945050505050565b85815284602082015260a06040820152600061291460a08301866128b1565b6001600160a01b0394909416606083015250608001529392505050565b82815260406020820152600061294a60408301846128b1565b949350505050565b8082028115828204841417610b9057610b906127f5565b60008261298657634e487b7160e01b600052601260045260246000fd5b50049056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa2646970667358221220c66bcb8268cfaa5f089f098b5c3b303eb091de8a8af13852d2548d1f6d14b07964736f6c63430008130033
Deployed Bytecode
0x60806040526004361061036f5760003560e01c806372ac2486116101c6578063c04a5414116100f7578063e6b2603b11610095578063f2fde38b1161006f578063f2fde38b14610a6c578063f71b9bbf14610a8c578063f872858a14610aac578063fb0ecfa414610acd57600080fd5b8063e6b2603b14610a1d578063ec44acf214610a32578063ee828db314610a4c57600080fd5b8063cea9d26f116100d1578063cea9d26f14610977578063dd62ed3e14610997578063df20fd49146109dd578063df8408fe146109fd57600080fd5b8063c04a541414610907578063c16dd4a414610927578063c867d60b1461094757600080fd5b806395d89b4111610164578063a457c2d71161013e578063a457c2d714610891578063a9059cbb146108b1578063ae85ade6146108d1578063bf56b371146108f157600080fd5b806395d89b411461083e5780639d9241ec14610853578063a0e47bf61461086957600080fd5b80637d99c66d116101a05780637d99c66d146107c4578063807c2d9c146107da5780638b42507f146107f05780638da5cb5b1461082057600080fd5b806372ac24861461076957806375f0a874146107895780637d1db4a5146107ae57600080fd5b80633ecad271116102a05780635e42358c1161023e5780636ddd1713116102185780636ddd1713146106df57806370a08231146106fe578063715018a614610734578063728d41c91461074957600080fd5b80635e42358c1461067f578063651a89871461069f5780636ac9a870146106bf57600080fd5b806359b107b91161027a57806359b107b91461060957806359fac5171461061f5780635c85974f1461063f5780635d098b381461065f57600080fd5b80633ecad271146105895780634974d88f146105b95780635342acb4146105d957600080fd5b806327c8f8351161030d578063313ce567116102e7578063313ce567146104f757806332972e461461051957806339509351146105395780633bbac5791461055957600080fd5b806327c8f83514610499578063293230b8146104cd5780632b112e49146104e257600080fd5b8063095ea7b311610349578063095ea7b31461041257806310a60f021461044257806318160ddd1461046457806323b872dd1461047957600080fd5b80630445b6671461037b57806306fdde03146103a45780630930907b146103c657600080fd5b3661037657005b600080fd5b34801561038757600080fd5b5061039160165481565b6040519081526020015b60405180910390f35b3480156103b057600080fd5b506103b9610aed565b60405161039b9190612512565b3480156103d257600080fd5b506103fa7f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b03909116815260200161039b565b34801561041e57600080fd5b5061043261042d366004612575565b610b7f565b604051901515815260200161039b565b34801561044e57600080fd5b5061046261045d3660046125af565b610b96565b005b34801561047057600080fd5b50601254610391565b34801561048557600080fd5b50610432610494366004612635565b610c40565b3480156104a557600080fd5b506103fa7f000000000000000000000000000000000000000000000000000000000000dead81565b3480156104d957600080fd5b50610462610cab565b3480156104ee57600080fd5b50610391610d34565b34801561050357600080fd5b5060035460405160ff909116815260200161039b565b34801561052557600080fd5b50601a546103fa906001600160a01b031681565b34801561054557600080fd5b50610432610554366004612575565b610dc7565b34801561056557600080fd5b50610432610574366004612676565b60116020526000908152604090205460ff1681565b34801561059557600080fd5b506104326105a4366004612676565b600e6020526000908152604090205460ff1681565b3480156105c557600080fd5b506104626105d4366004612693565b610dfd565b3480156105e557600080fd5b506104326105f4366004612676565b600d6020526000908152604090205460ff1681565b34801561061557600080fd5b5061039160095481565b34801561062b57600080fd5b5061046261063a366004612676565b610e45565b34801561064b57600080fd5b5061046261065a3660046126b0565b610e9d565b34801561066b57600080fd5b5061046261067a366004612676565b610ecc565b34801561068b57600080fd5b506019546104329062010000900460ff1681565b3480156106ab57600080fd5b506104626106ba3660046126c9565b610f1e565b3480156106cb57600080fd5b506104626106da366004612702565b610f73565b3480156106eb57600080fd5b5060195461043290610100900460ff1681565b34801561070a57600080fd5b50610391610719366004612676565b6001600160a01b03166000908152600b602052604090205490565b34801561074057600080fd5b50610462610fb8565b34801561075557600080fd5b506104626107643660046126b0565b610fee565b34801561077557600080fd5b50610462610784366004612676565b61101d565b34801561079557600080fd5b506003546103fa9061010090046001600160a01b031681565b3480156107ba57600080fd5b5061039160145481565b3480156107d057600080fd5b5061039160185481565b3480156107e657600080fd5b5061039160155481565b3480156107fc57600080fd5b5061043261080b366004612676565b60106020526000908152604090205460ff1681565b34801561082c57600080fd5b506000546001600160a01b03166103fa565b34801561084a57600080fd5b506103b9611069565b34801561085f57600080fd5b50610391600a5481565b34801561087557600080fd5b506019546103fa9064010000000090046001600160a01b031681565b34801561089d57600080fd5b506104326108ac366004612575565b611078565b3480156108bd57600080fd5b506104326108cc366004612575565b6110c7565b3480156108dd57600080fd5b506104626108ec3660046126c9565b6110d4565b3480156108fd57600080fd5b5061039160175481565b34801561091357600080fd5b506004546103fa906001600160a01b031681565b34801561093357600080fd5b506104626109423660046126c9565b611129565b34801561095357600080fd5b50610432610962366004612676565b600f6020526000908152604090205460ff1681565b34801561098357600080fd5b50610462610992366004612635565b61117e565b3480156109a357600080fd5b506103916109b2366004612724565b6001600160a01b039182166000908152600c6020908152604080832093909416825291909152205490565b3480156109e957600080fd5b506104626109f8366004612752565b61121b565b348015610a0957600080fd5b50610462610a183660046126c9565b611263565b348015610a2957600080fd5b506104626112b8565b348015610a3e57600080fd5b506019546104329060ff1681565b348015610a5857600080fd5b50610462610a67366004612693565b611374565b348015610a7857600080fd5b50610462610a87366004612676565b6113ba565b348015610a9857600080fd5b50610462610aa7366004612676565b611452565b348015610ab857600080fd5b50601954610432906301000000900460ff1681565b348015610ad957600080fd5b50610462610ae8366004612702565b61149e565b606060018054610afc90612770565b80601f0160208091040260200160405190810160405280929190818152602001828054610b2890612770565b8015610b755780601f10610b4a57610100808354040283529160200191610b75565b820191906000526020600020905b815481529060010190602001808311610b5857829003601f168201915b5050505050905090565b6000610b8c3384846114e3565b5060015b92915050565b6000546001600160a01b03163314610bc95760405162461bcd60e51b8152600401610bc0906127aa565b60405180910390fd5b60005b82811015610c3a578160116000868685818110610beb57610beb6127df565b9050602002016020810190610c009190612676565b6001600160a01b031681526020810191909152604001600020805460ff191691151591909117905580610c328161280b565b915050610bcc565b50505050565b6000610c4d848484611607565b50610ca08433610c9b8560405180606001604052806028815260200161298c602891396001600160a01b038a166000908152600c602090815260408083203384529091529020549190611c78565b6114e3565b5060015b9392505050565b6000546001600160a01b03163314610cd55760405162461bcd60e51b8152600401610bc0906127aa565b60195460ff1615610d215760405162461bcd60e51b8152602060048201526016602482015275115490cc8c0e88105b1c9958591e48115b98589b195960521b6044820152606401610bc0565b6019805460ff1916600117905542601755565b6001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000166000908152600b6020526040812054610dc290610dbc610db37f000000000000000000000000000000000000000000000000000000000000dead6001600160a01b03166000908152600b602052604090205490565b60125490611cb2565b90611cb2565b905090565b336000818152600c602090815260408083206001600160a01b03871684529091528120549091610b8c918590610c9b9086611cf4565b6000546001600160a01b03163314610e275760405162461bcd60e51b8152600401610bc0906127aa565b6019805491151563010000000263ff00000019909216919091179055565b6000546001600160a01b03163314610e6f5760405162461bcd60e51b8152600401610bc0906127aa565b601980546001600160a01b0390921664010000000002640100000000600160c01b0319909216919091179055565b6000546001600160a01b03163314610ec75760405162461bcd60e51b8152600401610bc0906127aa565b601455565b6000546001600160a01b03163314610ef65760405162461bcd60e51b8152600401610bc0906127aa565b600380546001600160a01b0390921661010002610100600160a81b0319909216919091179055565b6000546001600160a01b03163314610f485760405162461bcd60e51b8152600401610bc0906127aa565b6001600160a01b03919091166000908152600f60205260409020805460ff1916911515919091179055565b6000546001600160a01b03163314610f9d5760405162461bcd60e51b8152600401610bc0906127aa565b60078290556008819055610fb18282611cf4565b600a555050565b6000546001600160a01b03163314610fe25760405162461bcd60e51b8152600401610bc0906127aa565b610fec6000611d53565b565b6000546001600160a01b031633146110185760405162461bcd60e51b8152600401610bc0906127aa565b601555565b6000546001600160a01b031633146110475760405162461bcd60e51b8152600401610bc0906127aa565b600480546001600160a01b0319166001600160a01b0392909216919091179055565b606060028054610afc90612770565b6000610b8c3384610c9b856040518060600160405280602581526020016129b460259139336000908152600c602090815260408083206001600160a01b038d1684529091529020549190611c78565b6000610ca0338484611607565b6000546001600160a01b031633146110fe5760405162461bcd60e51b8152600401610bc0906127aa565b6001600160a01b03919091166000908152601060205260409020805460ff1916911515919091179055565b6000546001600160a01b031633146111535760405162461bcd60e51b8152600401610bc0906127aa565b6001600160a01b03919091166000908152600e60205260409020805460ff1916911515919091179055565b6000546001600160a01b031633146111a85760405162461bcd60e51b8152600401610bc0906127aa565b60405163a9059cbb60e01b81526001600160a01b0383811660048301526024820183905284169063a9059cbb906044016020604051808303816000875af11580156111f7573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c3a9190612824565b6000546001600160a01b031633146112455760405162461bcd60e51b8152600401610bc0906127aa565b601980549215156101000261ff001990931692909217909155601655565b6000546001600160a01b0316331461128d5760405162461bcd60e51b8152600401610bc0906127aa565b6001600160a01b03919091166000908152600d60205260409020805460ff1916911515919091179055565b6000546001600160a01b031633146112e25760405162461bcd60e51b8152600401610bc0906127aa565b604051600090339047908381818185875af1925050503d8060008114611324576040519150601f19603f3d011682016040523d82523d6000602084013e611329565b606091505b50509050806113715760405162461bcd60e51b81526020600482015260146024820152735472616e73616374696f6e204661696c6564212160601b6044820152606401610bc0565b50565b6000546001600160a01b0316331461139e5760405162461bcd60e51b8152600401610bc0906127aa565b60198054911515620100000262ff000019909216919091179055565b6000546001600160a01b031633146113e45760405162461bcd60e51b8152600401610bc0906127aa565b6001600160a01b0381166114495760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610bc0565b61137181611d53565b6000546001600160a01b0316331461147c5760405162461bcd60e51b8152600401610bc0906127aa565b601a80546001600160a01b0319166001600160a01b0392909216919091179055565b6000546001600160a01b031633146114c85760405162461bcd60e51b8152600401610bc0906127aa565b600582905560068190556114dc8282611cf4565b6009555050565b6001600160a01b0383166115455760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610bc0565b6001600160a01b0382166115a65760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610bc0565b6001600160a01b038381166000818152600c602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b60006001600160a01b03841661166d5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610bc0565b6001600160a01b0383166116cf5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610bc0565b600082116117315760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b6064820152608401610bc0565b6001600160a01b03841660009081526011602052604090205460ff161561176a5760405162461bcd60e51b8152600401610bc090612841565b3360009081526011602052604090205460ff161561179a5760405162461bcd60e51b8152600401610bc090612841565b3260009081526011602052604090205460ff16156117ca5760405162461bcd60e51b8152600401610bc090612841565b601a54600160a01b900460ff16156117ee576117e7848484611da3565b9050610ca4565b6001600160a01b0384166000908152600d602052604090205460ff1615801561183057506001600160a01b0383166000908152600d602052604090205460ff16155b156119365760195460ff166118875760405162461bcd60e51b815260206004820152601d60248201527f45524332303a2074726164696e67206e6f7420656e61626c65207965740000006044820152606401610bc0565b601854601754611897919061286e565b421080156118bb57506019546001600160a01b038581166401000000009092041614155b1561193657601a546001600160a01b038086169116036118fd576001600160a01b0383166000908152601160205260409020805460ff19166001179055611936565b601a546001600160a01b03808516911603611936576001600160a01b0384166000908152601160205260409020805460ff191660011790555b306000908152600b6020526040902054601654811080159081906119645750601a54600160a01b900460ff16155b801561198957506001600160a01b0386166000908152600e602052604090205460ff16155b801561199c5750601954610100900460ff165b156119aa576119aa82611e89565b6001600160a01b03861660009081526010602052604090205460ff161580156119ec57506001600160a01b03851660009081526010602052604090205460ff16155b8015611a00575060195462010000900460ff165b15611a6857601454841115611a685760405162461bcd60e51b815260206004820152602860248201527f5472616e7366657220616d6f756e74206578636565647320746865206d6178546044820152673c20b6b7bab73a1760c11b6064820152608401610bc0565b6000611a748787611fb7565b611a8857611a83878787612057565b611a8a565b845b6019549091506301000000900460ff168015611abf57506001600160a01b0386166000908152600f602052604090205460ff16155b15611b3e57601554611af082611aea896001600160a01b03166000908152600b602052604090205490565b90611cf4565b1115611b3e5760405162461bcd60e51b815260206004820152601b60248201527f4d61782057616c6c6574204c696d6974204578636565646564212100000000006044820152606401610bc0565b6001600160a01b0386166000908152600b6020526040902054611b619082611cf4565b6001600160a01b0387166000908152600b6020526040812091909155600754600554611b8c91611cf4565b9050611bc2888888846040518060400160405280600f81526020016e4c696d69742045786365656465642160881b815250612183565b506040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b038b166000908152600b9091529190912054611c15918890611c78565b6001600160a01b038981166000818152600b60209081526040918290209490945551858152918a169290917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a36001945050505050610ca4565b60008184841115611c9c5760405162461bcd60e51b8152600401610bc09190612512565b506000611ca98486612881565b95945050505050565b6000610ca483836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611c78565b600080611d01838561286e565b905083811015610ca45760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610bc0565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b0386166000908152600b90915291822054611df4918490611c78565b6001600160a01b038086166000908152600b60205260408082209390935590851681522054611e239083611cf4565b6001600160a01b038085166000818152600b602052604090819020939093559151908616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90611e779086815260200190565b60405180910390a35060019392505050565b601a805460ff60a01b1916600160a01b179055600a54600954600091611eaf9190611cf4565b905080600003611ebf5750611fa7565b6000611ed8600754600554611cf490919063ffffffff16565b905047611ee484612269565b6000611ef04783611cb2565b90506000611f0885611f028487612425565b906124a7565b90506000611f168383611cb2565b90508115611f5e576003546040516101009091046001600160a01b0316906108fc8415029084906000818181858888f19350505050158015611f5c573d6000803e3d6000fd5b505b8015611fa0576004546040516001600160a01b039091169082156108fc029083906000818181858888f19350505050158015611f9e573d6000803e3d6000fd5b505b5050505050505b50601a805460ff60a01b19169055565b6001600160a01b0382166000908152600d602052604081205460ff1680611ff657506001600160a01b0382166000908152600d602052604090205460ff165b1561200357506001610b90565b6001600160a01b0383166000908152600e602052604090205460ff168061204257506001600160a01b0382166000908152600e602052604090205460ff165b1561204f57506000610b90565b506000610b90565b6001600160a01b0383166000908152600e6020526040812054819060ff161561209c57612095601354611f026009548661242590919063ffffffff16565b90506120ff565b6001600160a01b0384166000908152600e602052604090205460ff16806120dc57506001600160a01b0384166000908152600e602052604090205460ff16155b156120ff576120fc601354611f02600a548661242590919063ffffffff16565b90505b801561217957306000908152600b602052604090205461211f9082611cf4565b306000818152600b6020526040908190209290925590516001600160a01b038716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906121709085815260200190565b60405180910390a35b611ca98382611cb2565b6000612190868686612057565b5060006121a860075485611cf490919063ffffffff16565b9050806000036121c0576121be81600085611c78565b505b6001600160a01b0387166000908152600d602052604090205460ff16806121ff57506001600160a01b0386166000908152600d602052604090205460ff165b1561220e576001915050611ca9565b6001600160a01b0387166000908152600e602052604090205460ff168061224d57506001600160a01b0386166000908152600e602052604090205460ff165b1561225c576000915050611ca9565b5060009695505050505050565b604080516002808252606082018352600092602083019080368337019050509050308160008151811061229e5761229e6127df565b60200260200101906001600160a01b031690816001600160a01b031681525050601960049054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015612311573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906123359190612894565b81600181518110612348576123486127df565b6001600160a01b039283166020918202929092010152601954612376913091640100000000900416846114e3565b60195460405163791ac94760e01b81526401000000009091046001600160a01b03169063791ac947906123b69085906000908690309042906004016128f5565b600060405180830381600087803b1580156123d057600080fd5b505af11580156123e4573d6000803e3d6000fd5b505050507f32cde87eb454f3a0b875ab23547023107cfad454363ec88ba5695e2c24aa52a78282604051612419929190612931565b60405180910390a15050565b60008260000361243757506000610b90565b60006124438385612952565b9050826124508583612969565b14610ca45760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b6064820152608401610bc0565b6000610ca483836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250600081836125055760405162461bcd60e51b8152600401610bc09190612512565b506000611ca98486612969565b600060208083528351808285015260005b8181101561253f57858101830151858201604001528201612523565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b038116811461137157600080fd5b6000806040838503121561258857600080fd5b823561259381612560565b946020939093013593505050565b801515811461137157600080fd5b6000806000604084860312156125c457600080fd5b833567ffffffffffffffff808211156125dc57600080fd5b818601915086601f8301126125f057600080fd5b8135818111156125ff57600080fd5b8760208260051b850101111561261457600080fd5b6020928301955093505084013561262a816125a1565b809150509250925092565b60008060006060848603121561264a57600080fd5b833561265581612560565b9250602084013561266581612560565b929592945050506040919091013590565b60006020828403121561268857600080fd5b8135610ca481612560565b6000602082840312156126a557600080fd5b8135610ca4816125a1565b6000602082840312156126c257600080fd5b5035919050565b600080604083850312156126dc57600080fd5b82356126e781612560565b915060208301356126f7816125a1565b809150509250929050565b6000806040838503121561271557600080fd5b50508035926020909101359150565b6000806040838503121561273757600080fd5b823561274281612560565b915060208301356126f781612560565b6000806040838503121561276557600080fd5b8235612593816125a1565b600181811c9082168061278457607f821691505b6020821081036127a457634e487b7160e01b600052602260045260246000fd5b50919050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b60006001820161281d5761281d6127f5565b5060010190565b60006020828403121561283657600080fd5b8151610ca4816125a1565b602080825260139082015272115490cc8c0e88109bdd0819195d1958dd1959606a1b604082015260600190565b80820180821115610b9057610b906127f5565b81810381811115610b9057610b906127f5565b6000602082840312156128a657600080fd5b8151610ca481612560565b600081518084526020808501945080840160005b838110156128ea5781516001600160a01b0316875295820195908201906001016128c5565b509495945050505050565b85815284602082015260a06040820152600061291460a08301866128b1565b6001600160a01b0394909416606083015250608001529392505050565b82815260406020820152600061294a60408301846128b1565b949350505050565b8082028115828204841417610b9057610b906127f5565b60008261298657634e487b7160e01b600052601260045260246000fd5b50049056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa2646970667358221220c66bcb8268cfaa5f089f098b5c3b303eb091de8a8af13852d2548d1f6d14b07964736f6c63430008130033
Deployed Bytecode Sourcemap
4864:15413:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6269:53;;;;;;;;;;;;;;;;;;;160:25:1;;;148:2;133:18;6269:53:0;;;;;;;;8587:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;5219:81::-;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;913:32:1;;;895:51;;883:2;868:18;5219:81:0;749:203:1;9925:161:0;;;;;;;;;;-1:-1:-1;9925:161:0;;;;;:::i;:::-;;:::i;:::-;;;1578:14:1;;1571:22;1553:41;;1541:2;1526:18;9925:161:0;1413:187:1;17974:225:0;;;;;;;;;;-1:-1:-1;17974:225:0;;;;;:::i;:::-;;:::i;:::-;;8864:100;;;;;;;;;;-1:-1:-1;8944:12:0;;8864:100;;10699:313;;;;;;;;;;-1:-1:-1;10699:313:0;;;;;:::i;:::-;;:::i;5131:81::-;;;;;;;;;;;;;;;17406:169;;;;;;;;;;;;;:::i;9258:156::-;;;;;;;;;;;;;:::i;8773:83::-;;;;;;;;;;-1:-1:-1;8839:9:0;;8773:83;;8839:9;;;;3086:36:1;;3074:2;3059:18;8773:83:0;2944:184:1;6617:22:0;;;;;;;;;;-1:-1:-1;6617:22:0;;;;-1:-1:-1;;;;;6617:22:0;;;9422:218;;;;;;;;;;-1:-1:-1;9422:218:0;;;;;:::i;:::-;;:::i;5971:38::-;;;;;;;;;;-1:-1:-1;5971:38:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;5805:45;;;;;;;;;;-1:-1:-1;5805:45:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;18761:105;;;;;;;;;;-1:-1:-1;18761:105:0;;;;;:::i;:::-;;:::i;5748:50::-;;;;;;;;;;-1:-1:-1;5748:50:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;5552:26;;;;;;;;;;;;;;;;20056:115;;;;;;;;;;-1:-1:-1;20056:115:0;;;;;:::i;:::-;;:::i;19382:101::-;;;;;;;;;;-1:-1:-1;19382:101:0;;;;;:::i;:::-;;:::i;19495:114::-;;;;;;;;;;-1:-1:-1;19495:114:0;;;;;:::i;:::-;;:::i;6496:32::-;;;;;;;;;;-1:-1:-1;6496:32:0;;;;;;;;;;;19004:128;;;;;;;;;;-1:-1:-1;19004:128:0;;;;;:::i;:::-;;:::i;18430:217::-;;;;;;;;;;-1:-1:-1;18430:217:0;;;;;:::i;:::-;;:::i;6459:30::-;;;;;;;;;;-1:-1:-1;6459:30:0;;;;;;;;;;;8972:123;;;;;;;;;;-1:-1:-1;8972:123:0;;;;;:::i;:::-;-1:-1:-1;;;;;9064:18:0;9038:7;9064:18;;;:9;:18;;;;;;;8972:123;1935:94;;;;;;;;;;;;;:::i;19268:106::-;;;;;;;;;;-1:-1:-1;19268:106:0;;;;;:::i;:::-;;:::i;19617:118::-;;;;;;;;;;-1:-1:-1;19617:118:0;;;;;:::i;:::-;;:::i;5309:43::-;;;;;;;;;;-1:-1:-1;5309:43:0;;;;;;;-1:-1:-1;;;;;5309:43:0;;;6119:61;;;;;;;;;;;;;;;;6364:38;;;;;;;;;;;;;;;;6196:58;;;;;;;;;;;;;;;;5916:48;;;;;;;;;;-1:-1:-1;5916:48:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;1626:87;;;;;;;;;;-1:-1:-1;1672:7:0;1699:6;-1:-1:-1;;;;;1699:6:0;1626:87;;8678;;;;;;;;;;;;;:::i;5585:27::-;;;;;;;;;;;;;;;;6579:31;;;;;;;;;;-1:-1:-1;6579:31:0;;;;;;;-1:-1:-1;;;;;6579:31:0;;;9648:269;;;;;;;;;;-1:-1:-1;9648:269:0;;;;;:::i;:::-;;:::i;10524:167::-;;;;;;;;;;-1:-1:-1;10524:167:0;;;;;:::i;:::-;;:::i;19140:120::-;;;;;;;;;;-1:-1:-1;19140:120:0;;;;;:::i;:::-;;:::i;6331:25::-;;;;;;;;;;;;;;;;5359:46;;;;;;;;;;-1:-1:-1;5359:46:0;;;;-1:-1:-1;;;;;5359:46:0;;;19743:119;;;;;;;;;;-1:-1:-1;19743:119:0;;;;;:::i;:::-;;:::i;5857:52::-;;;;;;;;;;-1:-1:-1;5857:52:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;17834:132;;;;;;;;;;-1:-1:-1;17834:132:0;;;;;:::i;:::-;;:::i;9103:143::-;;;;;;;;;;-1:-1:-1;9103:143:0;;;;;:::i;:::-;-1:-1:-1;;;;;9211:18:0;;;9184:7;9211:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;9103:143;19870:178;;;;;;;;;;-1:-1:-1;19870:178:0;;;;;:::i;:::-;;:::i;18874:122::-;;;;;;;;;;-1:-1:-1;18874:122:0;;;;;:::i;:::-;;:::i;17616:178::-;;;;;;;;;;;;;:::i;6430:19::-;;;;;;;;;;-1:-1:-1;6430:19:0;;;;;;;;18655:98;;;;;;;;;;-1:-1:-1;18655:98:0;;;;;:::i;:::-;;:::i;2037:229::-;;;;;;;;;;-1:-1:-1;2037:229:0;;;;;:::i;:::-;;:::i;20179:91::-;;;;;;;;;;-1:-1:-1;20179:91:0;;;;;:::i;:::-;;:::i;6535:35::-;;;;;;;;;;-1:-1:-1;6535:35:0;;;;;;;;;;;18211:211;;;;;;;;;;-1:-1:-1;18211:211:0;;;;;:::i;:::-;;:::i;8587:83::-;8624:13;8657:5;8650:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8587:83;:::o;9925:161::-;10000:4;10017:39;273:10;10040:7;10049:6;10017:8;:39::i;:::-;-1:-1:-1;10074:4:0;9925:161;;;;;:::o;17974:225::-;1672:7;1699:6;-1:-1:-1;;;;;1699:6:0;273:10;1847:23;1839:68;;;;-1:-1:-1;;;1839:68:0;;;;;;;:::i;:::-;;;;;;;;;18098:9:::1;18093:99;18113:19:::0;;::::1;18093:99;;;18175:5;18154;:18;18160:8;;18169:1;18160:11;;;;;;;:::i;:::-;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;18154:18:0::1;::::0;;::::1;::::0;::::1;::::0;;;;;;-1:-1:-1;18154:18:0;:26;;-1:-1:-1;;18154:26:0::1;::::0;::::1;;::::0;;;::::1;::::0;;18134:3;::::1;::::0;::::1;:::i;:::-;;;;18093:99;;;;17974:225:::0;;;:::o;10699:313::-;10797:4;10814:36;10824:6;10832:9;10843:6;10814:9;:36::i;:::-;-1:-1:-1;10861:121:0;10870:6;273:10;10892:89;10930:6;10892:89;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;10892:19:0;;;;;;:11;:19;;;;;;;;273:10;10892:33;;;;;;;;;;:37;:89::i;:::-;10861:8;:121::i;:::-;-1:-1:-1;11000:4:0;10699:313;;;;;;:::o;17406:169::-;1672:7;1699:6;-1:-1:-1;;;;;1699:6:0;273:10;1847:23;1839:68;;;;-1:-1:-1;;;1839:68:0;;;;;;;:::i;:::-;17469:7:::1;::::0;::::1;;17468:8;17460:43;;;::::0;-1:-1:-1;;;17460:43:0;;7219:2:1;17460:43:0::1;::::0;::::1;7201:21:1::0;7258:2;7238:18;;;7231:30;-1:-1:-1;;;7277:18:1;;;7270:52;7339:18;;17460:43:0::1;7017:346:1::0;17460:43:0::1;17514:7;:14:::0;;-1:-1:-1;;17514:14:0::1;17524:4;17514:14;::::0;;17552:15:::1;17539:10;:28:::0;17406:169::o;9258:156::-;-1:-1:-1;;;;;9393:11:0;9064:18;9311:7;9064:18;;;:9;:18;;;;;;9338:68;;:40;9355:22;9365:11;-1:-1:-1;;;;;9064:18:0;9038:7;9064:18;;;:9;:18;;;;;;;8972:123;9355:22;9338:12;;;:16;:40::i;:::-;:44;;:68::i;:::-;9331:75;;9258:156;:::o;9422:218::-;273:10;9510:4;9559:25;;;:11;:25;;;;;;;;-1:-1:-1;;;;;9559:34:0;;;;;;;;;;9510:4;;9527:83;;9550:7;;9559:50;;9598:10;9559:38;:50::i;18761:105::-;1672:7;1699:6;-1:-1:-1;;;;;1699:6:0;273:10;1847:23;1839:68;;;;-1:-1:-1;;;1839:68:0;;;;;;;:::i;:::-;18832:16:::1;:26:::0;;;::::1;;::::0;::::1;-1:-1:-1::0;;18832:26:0;;::::1;::::0;;;::::1;::::0;;18761:105::o;20056:115::-;1672:7;1699:6;-1:-1:-1;;;;;1699:6:0;273:10;1847:23;1839:68;;;;-1:-1:-1;;;1839:68:0;;;;;;;:::i;:::-;20128:9:::1;:35:::0;;-1:-1:-1;;;;;20128:35:0;;::::1;::::0;::::1;-1:-1:-1::0;;;;;;20128:35:0;;::::1;::::0;;;::::1;::::0;;20056:115::o;19382:101::-;1672:7;1699:6;-1:-1:-1;;;;;1699:6:0;273:10;1847:23;1839:68;;;;-1:-1:-1;;;1839:68:0;;;;;;;:::i;:::-;19452:12:::1;:23:::0;19382:101::o;19495:114::-;1672:7;1699:6;-1:-1:-1;;;;;1699:6:0;273:10;1847:23;1839:68;;;;-1:-1:-1;;;1839:68:0;;;;;;;:::i;:::-;19573:15:::1;:28:::0;;-1:-1:-1;;;;;19573:28:0;;::::1;;;-1:-1:-1::0;;;;;;19573:28:0;;::::1;::::0;;;::::1;::::0;;19495:114::o;19004:128::-;1672:7;1699:6;-1:-1:-1;;;;;1699:6:0;273:10;1847:23;1839:68;;;;-1:-1:-1;;;1839:68:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;19089:25:0;;;::::1;;::::0;;;:19:::1;:25;::::0;;;;:35;;-1:-1:-1;;19089:35:0::1;::::0;::::1;;::::0;;;::::1;::::0;;19004:128::o;18430:217::-;1672:7;1699:6;-1:-1:-1;;;;;1699:6:0;273:10;1847:23;1839:68;;;;-1:-1:-1;;;1839:68:0;;;;;;;:::i;:::-;18514:17:::1;:33:::0;;;18558:11:::1;:21:::0;;;18605:34:::1;18534:13:::0;18572:7;18605:21:::1;:34::i;:::-;18590:12;:49:::0;-1:-1:-1;;18430:217:0:o;1935:94::-;1672:7;1699:6;-1:-1:-1;;;;;1699:6:0;273:10;1847:23;1839:68;;;;-1:-1:-1;;;1839:68:0;;;;;;;:::i;:::-;2000:21:::1;2018:1;2000:9;:21::i;:::-;1935:94::o:0;19268:106::-;1672:7;1699:6;-1:-1:-1;;;;;1699:6:0;273:10;1847:23;1839:68;;;;-1:-1:-1;;;1839:68:0;;;;;;;:::i;:::-;19345:10:::1;:21:::0;19268:106::o;19617:118::-;1672:7;1699:6;-1:-1:-1;;;;;1699:6:0;273:10;1847:23;1839:68;;;;-1:-1:-1;;;1839:68:0;;;;;;;:::i;:::-;19697:17:::1;:30:::0;;-1:-1:-1;;;;;;19697:30:0::1;-1:-1:-1::0;;;;;19697:30:0;;;::::1;::::0;;;::::1;::::0;;19617:118::o;8678:87::-;8717:13;8750:7;8743:14;;;;;:::i;9648:269::-;9741:4;9758:129;273:10;9781:7;9790:96;9829:15;9790:96;;;;;;;;;;;;;;;;;273:10;9790:25;;;;:11;:25;;;;;;;;-1:-1:-1;;;;;9790:34:0;;;;;;;;;;;;:38;:96::i;10524:167::-;10602:4;10619:42;273:10;10643:9;10654:6;10619:9;:42::i;19140:120::-;1672:7;1699:6;-1:-1:-1;;;;;1699:6:0;273:10;1847:23;1839:68;;;;-1:-1:-1;;;1839:68:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;19221:21:0;;;::::1;;::::0;;;:15:::1;:21;::::0;;;;:31;;-1:-1:-1;;19221:31:0::1;::::0;::::1;;::::0;;;::::1;::::0;;19140:120::o;19743:119::-;1672:7;1699:6;-1:-1:-1;;;;;1699:6:0;273:10;1847:23;1839:68;;;;-1:-1:-1;;;1839:68:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;19825:19:0;;;::::1;;::::0;;;:12:::1;:19;::::0;;;;:29;;-1:-1:-1;;19825:29:0::1;::::0;::::1;;::::0;;;::::1;::::0;;19743:119::o;17834:132::-;1672:7;1699:6;-1:-1:-1;;;;;1699:6:0;273:10;1847:23;1839:68;;;;-1:-1:-1;;;1839:68:0;;;;;;;:::i;:::-;17928:30:::1;::::0;-1:-1:-1;;;17928:30:0;;-1:-1:-1;;;;;7560:32:1;;;17928:30:0::1;::::0;::::1;7542:51:1::0;7609:18;;;7602:34;;;17928:12:0;::::1;::::0;::::1;::::0;7515:18:1;;17928:30:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;19870:178::-:0;1672:7;1699:6;-1:-1:-1;;;;;1699:6:0;273:10;1847:23;1839:68;;;;-1:-1:-1;;;1839:68:0;;;;;;;:::i;:::-;19984:11:::1;:22:::0;;;::::1;;;;-1:-1:-1::0;;19984:22:0;;::::1;::::0;;;::::1;::::0;;;20017:13:::1;:23:::0;19870:178::o;18874:122::-;1672:7;1699:6;-1:-1:-1;;;;;1699:6:0;273:10;1847:23;1839:68;;;;-1:-1:-1;;;1839:68:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;18955:23:0;;;::::1;;::::0;;;:17:::1;:23;::::0;;;;:33;;-1:-1:-1;;18955:33:0::1;::::0;::::1;;::::0;;;::::1;::::0;;18874:122::o;17616:178::-;1672:7;1699:6;-1:-1:-1;;;;;1699:6:0;273:10;1847:23;1839:68;;;;-1:-1:-1;;;1839:68:0;;;;;;;:::i;:::-;17683:58:::1;::::0;17671:7:::1;::::0;17691:10:::1;::::0;17715:21:::1;::::0;17671:7;17683:58;17671:7;17683:58;17715:21;17691:10;17683:58:::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17670:71;;;17760:2;17752:34;;;::::0;-1:-1:-1;;;17752:34:0;;8309:2:1;17752:34:0::1;::::0;::::1;8291:21:1::0;8348:2;8328:18;;;8321:30;-1:-1:-1;;;8367:18:1;;;8360:50;8427:18;;17752:34:0::1;8107:344:1::0;17752:34:0::1;17658:136;17616:178::o:0;18655:98::-;1672:7;1699:6;-1:-1:-1;;;;;1699:6:0;273:10;1847:23;1839:68;;;;-1:-1:-1;;;1839:68:0;;;;;;;:::i;:::-;18722:13:::1;:23:::0;;;::::1;;::::0;::::1;-1:-1:-1::0;;18722:23:0;;::::1;::::0;;;::::1;::::0;;18655:98::o;2037:229::-;1672:7;1699:6;-1:-1:-1;;;;;1699:6:0;273:10;1847:23;1839:68;;;;-1:-1:-1;;;1839:68:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;2140:22:0;::::1;2118:110;;;::::0;-1:-1:-1;;;2118:110:0;;8658:2:1;2118:110:0::1;::::0;::::1;8640:21:1::0;8697:2;8677:18;;;8670:30;8736:34;8716:18;;;8709:62;-1:-1:-1;;;8787:18:1;;;8780:36;8833:19;;2118:110:0::1;8456:402:1::0;2118:110:0::1;2239:19;2249:8;2239:9;:19::i;20179:91::-:0;1672:7;1699:6;-1:-1:-1;;;;;1699:6:0;273:10;1847:23;1839:68;;;;-1:-1:-1;;;1839:68:0;;;;;;;:::i;:::-;20247:7:::1;:15:::0;;-1:-1:-1;;;;;;20247:15:0::1;-1:-1:-1::0;;;;;20247:15:0;;;::::1;::::0;;;::::1;::::0;;20179:91::o;18211:211::-;1672:7;1699:6;-1:-1:-1;;;;;1699:6:0;273:10;1847:23;1839:68;;;;-1:-1:-1;;;1839:68:0;;;;;;;:::i;:::-;18294:16:::1;:32:::0;;;18337:10:::1;:20:::0;;;18382:32:::1;18313:13:::0;18350:7;18382:20:::1;:32::i;:::-;18368:11;:46:::0;-1:-1:-1;;18211:211:0:o;10094:337::-;-1:-1:-1;;;;;10187:19:0;;10179:68;;;;-1:-1:-1;;;10179:68:0;;9065:2:1;10179:68:0;;;9047:21:1;9104:2;9084:18;;;9077:30;9143:34;9123:18;;;9116:62;-1:-1:-1;;;9194:18:1;;;9187:34;9238:19;;10179:68:0;8863:400:1;10179:68:0;-1:-1:-1;;;;;10266:21:0;;10258:68;;;;-1:-1:-1;;;10258:68:0;;9470:2:1;10258:68:0;;;9452:21:1;9509:2;9489:18;;;9482:30;9548:34;9528:18;;;9521:62;-1:-1:-1;;;9599:18:1;;;9592:32;9641:19;;10258:68:0;9268:398:1;10258:68:0;-1:-1:-1;;;;;10339:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;10391:32;;160:25:1;;;10391:32:0;;133:18:1;10391:32:0;;;;;;;10094:337;;;:::o;11020:2589::-;11107:4;-1:-1:-1;;;;;11134:20:0;;11126:70;;;;-1:-1:-1;;;11126:70:0;;9873:2:1;11126:70:0;;;9855:21:1;9912:2;9892:18;;;9885:30;9951:34;9931:18;;;9924:62;-1:-1:-1;;;10002:18:1;;;9995:35;10047:19;;11126:70:0;9671:401:1;11126:70:0;-1:-1:-1;;;;;11215:23:0;;11207:71;;;;-1:-1:-1;;;11207:71:0;;10279:2:1;11207:71:0;;;10261:21:1;10318:2;10298:18;;;10291:30;10357:34;10337:18;;;10330:62;-1:-1:-1;;;10408:18:1;;;10401:33;10451:19;;11207:71:0;10077:399:1;11207:71:0;11306:1;11297:6;:10;11289:64;;;;-1:-1:-1;;;11289:64:0;;10683:2:1;11289:64:0;;;10665:21:1;10722:2;10702:18;;;10695:30;10761:34;10741:18;;;10734:62;-1:-1:-1;;;10812:18:1;;;10805:39;10861:19;;11289:64:0;10481:405:1;11289:64:0;-1:-1:-1;;;;;11383:13:0;;;;;;:5;:13;;;;;;;;11382:14;11374:46;;;;-1:-1:-1;;;11374:46:0;;;;;;;:::i;:::-;11446:10;11440:17;;;;:5;:17;;;;;;;;11439:18;11431:50;;;;-1:-1:-1;;;11431:50:0;;;;;;;:::i;:::-;11507:9;11501:16;;;;:5;:16;;;;;;;;11500:17;11492:49;;;;-1:-1:-1;;;11492:49:0;;;;;;;:::i;:::-;11558:6;;-1:-1:-1;;;11558:6:0;;;;11554:2046;;;11588:41;11603:6;11611:9;11622:6;11588:14;:41::i;:::-;11581:48;;;;11554:2046;-1:-1:-1;;;;;11678:25:0;;;;;;:17;:25;;;;;;;;11677:26;:59;;;;-1:-1:-1;;;;;;11708:28:0;;;;;;:17;:28;;;;;;;;11707:29;11677:59;11673:552;;;11765:7;;;;11757:49;;;;-1:-1:-1;;;11757:49:0;;11441:2:1;11757:49:0;;;11423:21:1;11480:2;11460:18;;;11453:30;11519:31;11499:18;;;11492:59;11568:18;;11757:49:0;11239:353:1;11757:49:0;11884:11;;11871:10;;:24;;;;:::i;:::-;11853:15;:42;:95;;;;-1:-1:-1;11938:9:0;;-1:-1:-1;;;;;11920:28:0;;;11938:9;;;;;11920:28;;11853:95;11827:383;;;11995:7;;-1:-1:-1;;;;;11995:17:0;;;:7;;:17;11991:200;;-1:-1:-1;;;;;12041:16:0;;;;;;:5;:16;;;;;:23;;-1:-1:-1;;12041:23:0;12060:4;12041:23;;;11991:200;;;12098:7;;-1:-1:-1;;;;;12098:20:0;;;:7;;:20;12094:97;;-1:-1:-1;;;;;12147:13:0;;;;;;:5;:13;;;;;:20;;-1:-1:-1;;12147:20:0;12163:4;12147:20;;;12094:97;12290:4;12241:28;9064:18;;;:9;:18;;;;;;12366:13;;12342:37;;;;;;;12400:34;;-1:-1:-1;12428:6:0;;-1:-1:-1;;;12428:6:0;;;;12427:7;12400:34;:59;;;;-1:-1:-1;;;;;;12439:20:0;;;;;;:12;:20;;;;;;;;12438:21;12400:59;:74;;;;-1:-1:-1;12463:11:0;;;;;;;12400:74;12396:145;;;12495:30;12504:20;12495:8;:30::i;:::-;-1:-1:-1;;;;;12563:23:0;;;;;;:15;:23;;;;;;;;12562:24;:55;;;;-1:-1:-1;;;;;;12591:26:0;;;;;;:15;:26;;;;;;;;12590:27;12562:55;:72;;;;-1:-1:-1;12621:13:0;;;;;;;12562:72;12559:187;;;12673:12;;12663:6;:22;;12655:75;;;;-1:-1:-1;;;12655:75:0;;11929:2:1;12655:75:0;;;11911:21:1;11968:2;11948:18;;;11941:30;12007:34;11987:18;;;11980:62;-1:-1:-1;;;12058:18:1;;;12051:38;12106:19;;12655:75:0;11727:404:1;12655:75:0;12763:19;12785:66;12834:6;12841:9;12785:48;:66::i;:::-;:144;;12863:66;12903:6;12911:9;12922:6;12863:39;:66::i;:::-;12785:144;;;12854:6;12785:144;12949:16;;12763:166;;-1:-1:-1;12949:16:0;;;;;:51;;;;-1:-1:-1;;;;;;12970:30:0;;;;;;:19;:30;;;;;;;;12969:31;12949:51;12946:181;;;13070:10;;13029:37;13054:11;13029:20;13039:9;-1:-1:-1;;;;;9064:18:0;9038:7;9064:18;;;:9;:18;;;;;;;8972:123;13029:20;:24;;:37::i;:::-;:51;;13021:90;;;;-1:-1:-1;;;13021:90:0;;12338:2:1;13021:90:0;;;12320:21:1;12377:2;12357:18;;;12350:30;12416:29;12396:18;;;12389:57;12463:18;;13021:90:0;12136:351:1;13021:90:0;-1:-1:-1;;;;;13165:20:0;;;;;;:9;:20;;;;;;:37;;13190:11;13165:24;:37::i;:::-;-1:-1:-1;;;;;13142:20:0;;;;;;:9;:20;;;;;:60;;;;13265:17;;13244:16;;:39;;:20;:39::i;:::-;13218:65;;13299:113;13354:6;13361:9;13371:6;13378:15;13299:113;;;;;;;;;;;;;-1:-1:-1;;;13299:113:0;;;:54;:113::i;:::-;-1:-1:-1;13447:53:0;;;;;;;;;;;-1:-1:-1;;;13447:53:0;;;;;;;;-1:-1:-1;;;;;13447:17:0;;-1:-1:-1;13447:17:0;;;:9;:17;;;;;;;;:53;;13469:6;;13447:21;:53::i;:::-;-1:-1:-1;;;;;13427:17:0;;;;;;;:9;:17;;;;;;;;;:73;;;;13520:40;160:25:1;;;13520:40:0;;;;13427:17;;13520:40;;133:18:1;13520:40:0;;;;;;;13582:4;13575:11;;;;;;;;2813:192;2899:7;2935:12;2927:6;;;;2919:29;;;;-1:-1:-1;;;2919:29:0;;;;;;;;:::i;:::-;-1:-1:-1;2959:9:0;2971:5;2975:1;2971;:5;:::i;:::-;2959:17;2813:192;-1:-1:-1;;;;;2813:192:0:o;2669:136::-;2727:7;2754:43;2758:1;2761;2754:43;;;;;;;;;;;;;;;;;:3;:43::i;2480:181::-;2538:7;;2570:5;2574:1;2570;:5;:::i;:::-;2558:17;;2599:1;2594;:6;;2586:46;;;;-1:-1:-1;;;2586:46:0;;12827:2:1;2586:46:0;;;12809:21:1;12866:2;12846:18;;;12839:30;12905:29;12885:18;;;12878:57;12952:18;;2586:46:0;12625:351:1;2274:173:0;2330:16;2349:6;;-1:-1:-1;;;;;2366:17:0;;;-1:-1:-1;;;;;;2366:17:0;;;;;;2399:40;;2349:6;;;;;;;2399:40;;2330:16;2399:40;2319:128;2274:173;:::o;13623:330::-;13753:53;;;;;;;;;;;-1:-1:-1;;;13753:53:0;;;;;;;;-1:-1:-1;;;;;13753:17:0;;13716:4;13753:17;;;:9;:17;;;;;;;:53;;13775:6;;13753:21;:53::i;:::-;-1:-1:-1;;;;;13733:17:0;;;;;;;:9;:17;;;;;;:73;;;;13840:20;;;;;;;:32;;13865:6;13840:24;:32::i;:::-;-1:-1:-1;;;;;13817:20:0;;;;;;;:9;:20;;;;;;;:55;;;;13888:35;;;;;;;;;;13916:6;160:25:1;;148:2;133:18;;14:177;13888:35:0;;;;;;;;-1:-1:-1;13941:4:0;13623:330;;;;;:::o;15827:915::-;6703:6;:13;;-1:-1:-1;;;;6703:13:0;-1:-1:-1;;;6703:13:0;;;15936:12:::1;::::0;15920:11:::1;::::0;6703:13;;15920:29:::1;::::0;:11;:15:::1;:29::i;:::-;15898:51;;15965:11;15980:1;15965:16:::0;15962:28:::1;;15983:7;;;15962:28;16002:23;16028:39;16049:17;;16028:16;;:20;;:39;;;;:::i;:::-;16002:65:::0;-1:-1:-1;16166:21:0::1;16198:33;16215:15:::0;16198:16:::1;:33::i;:::-;16242:22;16267:41;:21;16293:14:::0;16267:25:::1;:41::i;:::-;16242:66:::0;-1:-1:-1;16329:26:0::1;16358:52;16398:11:::0;16358:35:::1;16242:66:::0;16377:15;16358:18:::1;:35::i;:::-;:39:::0;::::1;:52::i;:::-;16329:81:::0;-1:-1:-1;16421:28:0::1;16452:38;:14:::0;16329:81;16452:18:::1;:38::i;:::-;16421:69:::0;-1:-1:-1;16506:22:0;;16503:107:::1;;16553:15;::::0;16545:53:::1;::::0;16553:15:::1;::::0;;::::1;-1:-1:-1::0;;;;;16553:15:0::1;::::0;16545:53:::1;::::0;::::1;;::::0;;;::::1;::::0;;;;16553:15;16545:53;::::1;;;;;;;;;;;;;::::0;::::1;;;;;;16503:107;16623:24:::0;;16620:113:::1;;16672:17;::::0;16664:57:::1;::::0;-1:-1:-1;;;;;16672:17:0;;::::1;::::0;16664:57;::::1;;;::::0;16700:20;;16672:17:::1;16664:57:::0;16672:17;16664:57;16700:20;16672:17;16664:57;::::1;;;;;;;;;;;;;::::0;::::1;;;;;;16620:113;15885:857;;;;;;6727:1;-1:-1:-1::0;6739:6:0;:14;;-1:-1:-1;;;;6739:14:0;;;15827:915::o;14639:401::-;-1:-1:-1;;;;;14775:25:0;;14755:4;14775:25;;;:17;:25;;;;;;;;;:57;;-1:-1:-1;;;;;;14804:28:0;;;;;;:17;:28;;;;;;;;14775:57;14772:261;;;-1:-1:-1;14856:4:0;14849:11;;14772:261;-1:-1:-1;;;;;14891:20:0;;;;;;:12;:20;;;;;;;;;:47;;-1:-1:-1;;;;;;14915:23:0;;;;;;:12;:23;;;;;;;;14891:47;14887:146;;;-1:-1:-1;14962:5:0;14955:12;;14887:146;-1:-1:-1;15016:5:0;15009:12;;15048:771;-1:-1:-1;;;;;15253:20:0;;15166:7;15253:20;;;:12;:20;;;;;;15166:7;;15253:20;;15250:295;;;15312:43;15340:14;;15312:23;15323:11;;15312:6;:10;;:23;;;;:::i;:43::-;15300:55;;15250:295;;;-1:-1:-1;;;;;15394:23:0;;;;;;:12;:23;;;;;;;;;:51;;-1:-1:-1;;;;;;15421:23:0;;;;;;:12;:23;;;;;;;;15420:24;15394:51;15391:154;;;15485:44;15514:14;;15485:24;15496:12;;15485:6;:10;;:24;;;;:::i;:44::-;15473:56;;15391:154;15564:13;;15561:185;;15643:4;15625:24;;;;:9;:24;;;;;;:39;;15654:9;15625:28;:39::i;:::-;15616:4;15598:24;;;;:9;:24;;;;;;;:66;;;;15688:42;;-1:-1:-1;;;;;15688:42:0;;;;;;;15720:9;160:25:1;;148:2;133:18;;14:177;15688:42:0;;;;;;;;15561:185;15769:21;:6;15780:9;15769:10;:21::i;13967:660::-;14130:4;14147:67;14187:7;14196:9;14207:6;14147:39;:67::i;:::-;;14226:23;14252:28;14262:17;;14252:5;:9;;:28;;;;:::i;:::-;14226:54;;14296:15;14313:1;14296:18;14292:55;;14316:29;:15;14336:1;14338:6;14316:19;:29::i;:::-;;14292:55;-1:-1:-1;;;;;14360:26:0;;;;;;:17;:26;;;;;;;;;:58;;-1:-1:-1;;;;;;14390:28:0;;;;;;:17;:28;;;;;;;;14360:58;14357:263;;;14442:4;14435:11;;;;;14357:263;-1:-1:-1;;;;;14477:21:0;;;;;;:12;:21;;;;;;;;;:48;;-1:-1:-1;;;;;;14502:23:0;;;;;;:12;:23;;;;;;;;14477:48;14473:147;;;14549:5;14542:12;;;;;14473:147;-1:-1:-1;14603:5:0;;13967:660;-1:-1:-1;;;;;;13967:660:0:o;16750:648::-;16900:16;;;16914:1;16900:16;;;;;;;;16876:21;;16900:16;;;;;;;;;;-1:-1:-1;16900:16:0;16876:40;;16945:4;16927;16932:1;16927:7;;;;;;;;:::i;:::-;;;;;;:23;-1:-1:-1;;;;;16927:23:0;;;-1:-1:-1;;;;;16927:23:0;;;;;16971:9;;;;;;;;;-1:-1:-1;;;;;16971:9:0;-1:-1:-1;;;;;16971:14:0;;:16;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;16961:4;16966:1;16961:7;;;;;;;;:::i;:::-;-1:-1:-1;;;;;16961:26:0;;;:7;;;;;;;;;:26;17032:9;;17000:56;;17017:4;;17032:9;;;;17044:11;17000:8;:56::i;:::-;17095:9;;:234;;-1:-1:-1;;;17095:234:0;;:9;;;;-1:-1:-1;;;;;17095:9:0;;:60;;:234;;17170:11;;17196:1;;17240:4;;17267;;17303:15;;17095:9;:234;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17355:35;17372:11;17385:4;17355:35;;;;;;;:::i;:::-;;;;;;;;16805:593;16750:648;:::o;3013:250::-;3071:7;3095:1;3100;3095:6;3091:47;;-1:-1:-1;3125:1:0;3118:8;;3091:47;3150:9;3162:5;3166:1;3162;:5;:::i;:::-;3150:17;-1:-1:-1;3195:1:0;3186:5;3190:1;3150:17;3186:5;:::i;:::-;:10;3178:56;;;;-1:-1:-1;;;3178:56:0;;15356:2:1;3178:56:0;;;15338:21:1;15395:2;15375:18;;;15368:30;15434:34;15414:18;;;15407:62;-1:-1:-1;;;15485:18:1;;;15478:31;15526:19;;3178:56:0;15154:397:1;3271:132:0;3329:7;3356:39;3360:1;3363;3356:39;;;;;;;;;;;;;;;;;3497:7;3532:12;3525:5;3517:28;;;;-1:-1:-1;;;3517:28:0;;;;;;;;:::i;:::-;-1:-1:-1;3556:9:0;3568:5;3572:1;3568;:5;:::i;196:548:1:-;308:4;337:2;366;355:9;348:21;398:6;392:13;441:6;436:2;425:9;421:18;414:34;466:1;476:140;490:6;487:1;484:13;476:140;;;585:14;;;581:23;;575:30;551:17;;;570:2;547:26;540:66;505:10;;476:140;;;480:3;665:1;660:2;651:6;640:9;636:22;632:31;625:42;735:2;728;724:7;719:2;711:6;707:15;703:29;692:9;688:45;684:54;676:62;;;;196:548;;;;:::o;957:131::-;-1:-1:-1;;;;;1032:31:1;;1022:42;;1012:70;;1078:1;1075;1068:12;1093:315;1161:6;1169;1222:2;1210:9;1201:7;1197:23;1193:32;1190:52;;;1238:1;1235;1228:12;1190:52;1277:9;1264:23;1296:31;1321:5;1296:31;:::i;:::-;1346:5;1398:2;1383:18;;;;1370:32;;-1:-1:-1;;;1093:315:1:o;1605:118::-;1691:5;1684:13;1677:21;1670:5;1667:32;1657:60;;1713:1;1710;1703:12;1728:750;1820:6;1828;1836;1889:2;1877:9;1868:7;1864:23;1860:32;1857:52;;;1905:1;1902;1895:12;1857:52;1945:9;1932:23;1974:18;2015:2;2007:6;2004:14;2001:34;;;2031:1;2028;2021:12;2001:34;2069:6;2058:9;2054:22;2044:32;;2114:7;2107:4;2103:2;2099:13;2095:27;2085:55;;2136:1;2133;2126:12;2085:55;2176:2;2163:16;2202:2;2194:6;2191:14;2188:34;;;2218:1;2215;2208:12;2188:34;2273:7;2266:4;2256:6;2253:1;2249:14;2245:2;2241:23;2237:34;2234:47;2231:67;;;2294:1;2291;2284:12;2231:67;2325:4;2317:13;;;;-1:-1:-1;2349:6:1;-1:-1:-1;;2390:20:1;;2377:34;2420:28;2377:34;2420:28;:::i;:::-;2467:5;2457:15;;;1728:750;;;;;:::o;2483:456::-;2560:6;2568;2576;2629:2;2617:9;2608:7;2604:23;2600:32;2597:52;;;2645:1;2642;2635:12;2597:52;2684:9;2671:23;2703:31;2728:5;2703:31;:::i;:::-;2753:5;-1:-1:-1;2810:2:1;2795:18;;2782:32;2823:33;2782:32;2823:33;:::i;:::-;2483:456;;2875:7;;-1:-1:-1;;;2929:2:1;2914:18;;;;2901:32;;2483:456::o;3133:247::-;3192:6;3245:2;3233:9;3224:7;3220:23;3216:32;3213:52;;;3261:1;3258;3251:12;3213:52;3300:9;3287:23;3319:31;3344:5;3319:31;:::i;3385:241::-;3441:6;3494:2;3482:9;3473:7;3469:23;3465:32;3462:52;;;3510:1;3507;3500:12;3462:52;3549:9;3536:23;3568:28;3590:5;3568:28;:::i;3631:180::-;3690:6;3743:2;3731:9;3722:7;3718:23;3714:32;3711:52;;;3759:1;3756;3749:12;3711:52;-1:-1:-1;3782:23:1;;3631:180;-1:-1:-1;3631:180:1:o;3816:382::-;3881:6;3889;3942:2;3930:9;3921:7;3917:23;3913:32;3910:52;;;3958:1;3955;3948:12;3910:52;3997:9;3984:23;4016:31;4041:5;4016:31;:::i;:::-;4066:5;-1:-1:-1;4123:2:1;4108:18;;4095:32;4136:30;4095:32;4136:30;:::i;:::-;4185:7;4175:17;;;3816:382;;;;;:::o;4203:248::-;4271:6;4279;4332:2;4320:9;4311:7;4307:23;4303:32;4300:52;;;4348:1;4345;4338:12;4300:52;-1:-1:-1;;4371:23:1;;;4441:2;4426:18;;;4413:32;;-1:-1:-1;4203:248:1:o;5160:388::-;5228:6;5236;5289:2;5277:9;5268:7;5264:23;5260:32;5257:52;;;5305:1;5302;5295:12;5257:52;5344:9;5331:23;5363:31;5388:5;5363:31;:::i;:::-;5413:5;-1:-1:-1;5470:2:1;5455:18;;5442:32;5483:33;5442:32;5483:33;:::i;5553:309::-;5618:6;5626;5679:2;5667:9;5658:7;5654:23;5650:32;5647:52;;;5695:1;5692;5685:12;5647:52;5734:9;5721:23;5753:28;5775:5;5753:28;:::i;5867:380::-;5946:1;5942:12;;;;5989;;;6010:61;;6064:4;6056:6;6052:17;6042:27;;6010:61;6117:2;6109:6;6106:14;6086:18;6083:38;6080:161;;6163:10;6158:3;6154:20;6151:1;6144:31;6198:4;6195:1;6188:15;6226:4;6223:1;6216:15;6080:161;;5867:380;;;:::o;6252:356::-;6454:2;6436:21;;;6473:18;;;6466:30;6532:34;6527:2;6512:18;;6505:62;6599:2;6584:18;;6252:356::o;6613:127::-;6674:10;6669:3;6665:20;6662:1;6655:31;6705:4;6702:1;6695:15;6729:4;6726:1;6719:15;6745:127;6806:10;6801:3;6797:20;6794:1;6787:31;6837:4;6834:1;6827:15;6861:4;6858:1;6851:15;6877:135;6916:3;6937:17;;;6934:43;;6957:18;;:::i;:::-;-1:-1:-1;7004:1:1;6993:13;;6877:135::o;7647:245::-;7714:6;7767:2;7755:9;7746:7;7742:23;7738:32;7735:52;;;7783:1;7780;7773:12;7735:52;7815:9;7809:16;7834:28;7856:5;7834:28;:::i;10891:343::-;11093:2;11075:21;;;11132:2;11112:18;;;11105:30;-1:-1:-1;;;11166:2:1;11151:18;;11144:49;11225:2;11210:18;;10891:343::o;11597:125::-;11662:9;;;11683:10;;;11680:36;;;11696:18;;:::i;12492:128::-;12559:9;;;12580:11;;;12577:37;;;12594:18;;:::i;13113:251::-;13183:6;13236:2;13224:9;13215:7;13211:23;13207:32;13204:52;;;13252:1;13249;13242:12;13204:52;13284:9;13278:16;13303:31;13328:5;13303:31;:::i;13369:461::-;13422:3;13460:5;13454:12;13487:6;13482:3;13475:19;13513:4;13542:2;13537:3;13533:12;13526:19;;13579:2;13572:5;13568:14;13600:1;13610:195;13624:6;13621:1;13618:13;13610:195;;;13689:13;;-1:-1:-1;;;;;13685:39:1;13673:52;;13745:12;;;;13780:15;;;;13721:1;13639:9;13610:195;;;-1:-1:-1;13821:3:1;;13369:461;-1:-1:-1;;;;;13369:461:1:o;13835:582::-;14134:6;14123:9;14116:25;14177:6;14172:2;14161:9;14157:18;14150:34;14220:3;14215:2;14204:9;14200:18;14193:31;14097:4;14241:57;14293:3;14282:9;14278:19;14270:6;14241:57;:::i;:::-;-1:-1:-1;;;;;14334:32:1;;;;14329:2;14314:18;;14307:60;-1:-1:-1;14398:3:1;14383:19;14376:35;14233:65;13835:582;-1:-1:-1;;;13835:582:1:o;14422:332::-;14629:6;14618:9;14611:25;14672:2;14667;14656:9;14652:18;14645:30;14592:4;14692:56;14744:2;14733:9;14729:18;14721:6;14692:56;:::i;:::-;14684:64;14422:332;-1:-1:-1;;;;14422:332:1:o;14759:168::-;14832:9;;;14863;;14880:15;;;14874:22;;14860:37;14850:71;;14901:18;;:::i;14932:217::-;14972:1;14998;14988:132;;15042:10;15037:3;15033:20;15030:1;15023:31;15077:4;15074:1;15067:15;15105:4;15102:1;15095:15;14988:132;-1:-1:-1;15134:9:1;;14932:217::o
Swarm Source
ipfs://c66bcb8268cfaa5f089f098b5c3b303eb091de8a8af13852d2548d1f6d14b079
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.
Add Token to MetaMask (Web3)