Feature Tip: Add private address tag to any address under My Name Tag !
Source Code
More Info
Private Name Tags
ContractCreator
TokenTracker
Latest 25 from a total of 30 transactions
| Transaction Hash |
Method
|
Block
|
From
|
|
To
|
||||
|---|---|---|---|---|---|---|---|---|---|
| Approve | 15022899 | 1372 days ago | IN | 0 ETH | 0.00120919 | ||||
| Approve | 14911485 | 1392 days ago | IN | 0 ETH | 0.0016767 | ||||
| Approve | 14909358 | 1392 days ago | IN | 0 ETH | 0.00203225 | ||||
| Approve | 14908563 | 1392 days ago | IN | 0 ETH | 0.00132897 | ||||
| Approve | 14906297 | 1392 days ago | IN | 0 ETH | 0.00186297 | ||||
| Approve | 14906297 | 1392 days ago | IN | 0 ETH | 0.00186297 | ||||
| Approve | 14895808 | 1394 days ago | IN | 0 ETH | 0.00217111 | ||||
| Approve | 14895499 | 1394 days ago | IN | 0 ETH | 0.00237901 | ||||
| Approve | 14893722 | 1395 days ago | IN | 0 ETH | 0.00441356 | ||||
| Transfer | 14893641 | 1395 days ago | IN | 0 ETH | 0.01603508 | ||||
| Approve | 14893634 | 1395 days ago | IN | 0 ETH | 0.00228001 | ||||
| Approve | 14893629 | 1395 days ago | IN | 0 ETH | 0.00247616 | ||||
| Approve | 14893629 | 1395 days ago | IN | 0 ETH | 0.00247616 | ||||
| Approve | 14893627 | 1395 days ago | IN | 0 ETH | 0.00217463 | ||||
| Approve | 14893621 | 1395 days ago | IN | 0 ETH | 0.003439 | ||||
| Approve | 14893612 | 1395 days ago | IN | 0 ETH | 0.00279042 | ||||
| Approve | 14893611 | 1395 days ago | IN | 0 ETH | 0.00290918 | ||||
| Approve | 14893605 | 1395 days ago | IN | 0 ETH | 0.00319795 | ||||
| Renounce Ownersh... | 14893603 | 1395 days ago | IN | 0 ETH | 0.00152757 | ||||
| Approve | 14893603 | 1395 days ago | IN | 0 ETH | 0.00307975 | ||||
| Approve | 14893597 | 1395 days ago | IN | 0 ETH | 0.00231697 | ||||
| Approve | 14893597 | 1395 days ago | IN | 0 ETH | 0.00231697 | ||||
| Update Max Walle... | 14893594 | 1395 days ago | IN | 0 ETH | 0.00140991 | ||||
| Update Max Tx Li... | 14893594 | 1395 days ago | IN | 0 ETH | 0.00168251 | ||||
| Approve | 14893593 | 1395 days ago | IN | 0 ETH | 0.00253473 |
Latest 25 internal transactions (View All)
Advanced mode:
| Parent Transaction Hash | Method | Block |
From
|
|
To
|
||
|---|---|---|---|---|---|---|---|
| - | 14916231 | 1391 days ago | 0.00039341 ETH | ||||
| - | 14916231 | 1391 days ago | 0.00157366 ETH | ||||
| - | 14916231 | 1391 days ago | 0.00157366 ETH | ||||
| - | 14916231 | 1391 days ago | 0.00354074 ETH | ||||
| - | 14911495 | 1392 days ago | 0.00042991 ETH | ||||
| - | 14911495 | 1392 days ago | 0.00171964 ETH | ||||
| - | 14911495 | 1392 days ago | 0.00171964 ETH | ||||
| - | 14911495 | 1392 days ago | 0.0038692 ETH | ||||
| - | 14909363 | 1392 days ago | 0.00045663 ETH | ||||
| - | 14909363 | 1392 days ago | 0.00182655 ETH | ||||
| - | 14909363 | 1392 days ago | 0.00182655 ETH | ||||
| - | 14909363 | 1392 days ago | 0.00410974 ETH | ||||
| - | 14908566 | 1392 days ago | 0.00050093 ETH | ||||
| - | 14908566 | 1392 days ago | 0.00200373 ETH | ||||
| - | 14908566 | 1392 days ago | 0.00200373 ETH | ||||
| - | 14908566 | 1392 days ago | 0.0045084 ETH | ||||
| - | 14906307 | 1392 days ago | 0.00053469 ETH | ||||
| - | 14906307 | 1392 days ago | 0.00213877 ETH | ||||
| - | 14906307 | 1392 days ago | 0.00213877 ETH | ||||
| - | 14906307 | 1392 days ago | 0.00481224 ETH | ||||
| - | 14902298 | 1393 days ago | 0.00056612 ETH | ||||
| - | 14902298 | 1393 days ago | 0.0022645 ETH | ||||
| - | 14902298 | 1393 days ago | 0.0022645 ETH | ||||
| - | 14902298 | 1393 days ago | 0.00509513 ETH | ||||
| - | 14902251 | 1393 days ago | 0.00068432 ETH |
Loading...
Loading
Loading...
Loading
Cross-Chain Transactions
Loading...
Loading
Contract Name:
DWND
Compiler Version
v0.8.7+commit.e28d00a7
Contract Source Code (Solidity)
/**
*Submitted for verification at Etherscan.io on 2022-06-02
*/
/*
(0)(0)
When the time runs out, the patient will be rewarded.
(0)(0)
DeFi Will Never Die
www.defiwillneverdie.com
t.me/defiwillneverdie
(0)(0)f
*/
//SPDX-License-Identifier: UNLICENSED
pragma solidity ^0.8.7;
abstract contract Context {
function _msgSender() internal view virtual returns (address) {
return msg.sender;
}
function _msgData() internal view virtual returns (bytes calldata) {
this; // silence state mutability warning without generating bytecode - see https://github.com/ethereum/solidity/issues/2691
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);
}
interface IERC20Metadata is IERC20 {
/**
* @dev Returns the name of the token.
*/
function name() external view returns (string memory);
/**
* @dev Returns the symbol of the token.
*/
function symbol() external view returns (string memory);
/**
* @dev Returns the decimals places of the token.
*/
function decimals() external view returns (uint8);
}
contract ERC20 is Context, IERC20, IERC20Metadata {
mapping(address => uint256) internal _balances;
mapping(address => mapping(address => uint256)) internal _allowances;
uint256 private _totalSupply;
string private _name;
string private _symbol;
/**
* @dev Sets the values for {name} and {symbol}.
*
* The defaut value of {decimals} is 18. To select a different value for
* {decimals} you should overload it.
*
* All two of these values are immutable: they can only be set once during
* construction.
*/
constructor(string memory name_, string memory symbol_) {
_name = name_;
_symbol = symbol_;
}
/**
* @dev Returns the name of the token.
*/
function name() public view virtual override returns (string memory) {
return _name;
}
/**
* @dev Returns the symbol of the token, usually a shorter version of the
* name.
*/
function symbol() public view virtual override returns (string memory) {
return _symbol;
}
/**
* @dev Returns the number of decimals used to get its user representation.
* For example, if `decimals` equals `2`, a balance of `505` tokens should
* be displayed to a user as `5,05` (`505 / 10 ** 2`).
*
* Tokens usually opt for a value of 18, imitating the relationship between
* Ether and Wei. This is the value {ERC20} uses, unless this function is
* overridden;
*
* NOTE: This information is only used for _display_ purposes: it in
* no way affects any of the arithmetic of the contract, including
* {IERC20-balanceOf} and {IERC20-transfer}.
*/
function decimals() public view virtual override returns (uint8) {
return 18;
}
/**
* @dev See {IERC20-totalSupply}.
*/
function totalSupply() public view virtual override returns (uint256) {
return _totalSupply;
}
/**
* @dev See {IERC20-balanceOf}.
*/
function balanceOf(address account) public view virtual override returns (uint256) {
return _balances[account];
}
/**
* @dev See {IERC20-transfer}.
*
* Requirements:
*
* - `recipient` cannot be the zero address.
* - the caller must have a balance of at least `amount`.
*/
function transfer(address recipient, uint256 amount)
public
virtual
override
returns (bool)
{
_transfer(_msgSender(), recipient, amount);
return true;
}
/**
* @dev See {IERC20-allowance}.
*/
function allowance(address owner, address spender)
public
view
virtual
override
returns (uint256)
{
return _allowances[owner][spender];
}
/**
* @dev See {IERC20-approve}.
*
* Requirements:
*
* - `spender` cannot be the zero address.
*/
function approve(address spender, uint256 amount) public virtual override returns (bool) {
_approve(_msgSender(), spender, amount);
return true;
}
/**
* @dev See {IERC20-transferFrom}.
*
* Emits an {Approval} event indicating the updated allowance. This is not
* required by the EIP. See the note at the beginning of {ERC20}.
*
* Requirements:
*
* - `sender` and `recipient` cannot be the zero address.
* - `sender` must have a balance of at least `amount`.
* - the caller must have allowance for ``sender``'s tokens of at least
* `amount`.
*/
function transferFrom(
address sender,
address recipient,
uint256 amount
) public virtual override returns (bool) {
_transfer(sender, recipient, amount);
uint256 currentAllowance = _allowances[sender][_msgSender()];
require(currentAllowance >= amount, "ERC20: transfer amount exceeds allowance");
_approve(sender, _msgSender(), currentAllowance - amount);
return true;
}
/**
* @dev Atomically increases the allowance granted to `spender` by the caller.
*
* This is an alternative to {approve} that can be used as a mitigation for
* problems described in {IERC20-approve}.
*
* Emits an {Approval} event indicating the updated allowance.
*
* Requirements:
*
* - `spender` cannot be the zero address.
*/
function increaseAllowance(address spender, uint256 addedValue)
public
virtual
returns (bool)
{
_approve(_msgSender(), spender, _allowances[_msgSender()][spender] + addedValue);
return true;
}
/**
* @dev Atomically decreases the allowance granted to `spender` by the caller.
*
* This is an alternative to {approve} that can be used as a mitigation for
* problems described in {IERC20-approve}.
*
* Emits an {Approval} event indicating the updated allowance.
*
* Requirements:
*
* - `spender` cannot be the zero address.
* - `spender` must have allowance for the caller of at least
* `subtractedValue`.
*/
function decreaseAllowance(address spender, uint256 subtractedValue)
public
virtual
returns (bool)
{
uint256 currentAllowance = _allowances[_msgSender()][spender];
require(currentAllowance >= subtractedValue, "ERC20: decreased allowance below zero");
_approve(_msgSender(), spender, currentAllowance - subtractedValue);
return true;
}
/**
* @dev Moves tokens `amount` from `sender` to `recipient`.
*
* This is internal function is equivalent to {transfer}, and can be used to
* e.g. implement automatic token fees, slashing mechanisms, etc.
*
* Emits a {Transfer} event.
*
* Requirements:
*
* - `sender` cannot be the zero address.
* - `recipient` cannot be the zero address.
* - `sender` must have a balance of at least `amount`.
*/
function _transfer(
address sender,
address recipient,
uint256 amount
) internal virtual {
require(sender != address(0), "ERC20: transfer from the zero address");
require(recipient != address(0), "ERC20: transfer to the zero address");
_beforeTokenTransfer(sender, recipient, amount);
uint256 senderBalance = _balances[sender];
require(senderBalance >= amount, "ERC20: transfer amount exceeds balance");
_balances[sender] = senderBalance - amount;
_balances[recipient] += amount;
emit Transfer(sender, recipient, amount);
}
/** @dev Creates `amount` tokens and assigns them to `account`, increasing
* the total supply.
*
* Emits a {Transfer} event with `from` set to the zero address.
*
* Requirements:
*
* - `to` cannot be the zero address.
*/
function _tokengeneration(address account, uint256 amount) internal virtual {
require(account != address(0), "ERC20: generation to the zero address");
_beforeTokenTransfer(address(0), account, amount);
_totalSupply += amount;
_balances[account] += amount;
emit Transfer(address(0), account, amount);
}
/**
* @dev Destroys `amount` tokens from `account`, reducing the
* total supply.
*
* Emits a {Transfer} event with `to` set to the zero address.
*
* Requirements:
*
* - `account` cannot be the zero address.
* - `account` must have at least `amount` tokens.
*/
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");
_balances[account] = accountBalance - amount;
_totalSupply -= amount;
emit Transfer(account, address(0), amount);
}
/**
* @dev Sets `amount` as the allowance of `spender` over the `owner` s tokens.
*
* This internal function is equivalent to `approve`, and can be used to
* e.g. set automatic allowances for certain subsystems, etc.
*
* Emits an {Approval} event.
*
* Requirements:
*
* - `owner` cannot be the zero address.
* - `spender` cannot be the zero address.
*/
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);
}
/**
* @dev Hook that is called before any transfer of tokens. This includes
* generation and burning.
*
* Calling conditions:
*
* - when `from` and `to` are both non-zero, `amount` of ``from``'s tokens
* will be to transferred to `to`.
* - when `from` is zero, `amount` tokens will be generated for `to`.
* - when `to` is zero, `amount` of ``from``'s tokens will be burned.
* - `from` and `to` are never both zero.
*
* To learn more about hooks, head to xref:ROOT:extending-contracts.adoc#using-hooks[Using Hooks].
*/
function _beforeTokenTransfer(
address from,
address to,
uint256 amount
) internal virtual {}
}
library Address {
function sendValue(address payable recipient, uint256 amount) internal {
require(address(this).balance >= amount, "Address: insufficient balance");
(bool success, ) = recipient.call{ value: amount }("");
require(success, "Address: unable to send value, recipient may have reverted");
}
}
abstract contract Ownable is Context {
address private _owner;
event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);
constructor() {
_setOwner(_msgSender());
}
function owner() public view virtual returns (address) {
return _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);
}
}
interface IFactory {
function createPair(address tokenA, address tokenB) external returns (address pair);
}
interface IRouter {
function factory() external pure returns (address);
function WETH() external pure returns (address);
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;
}
contract DWND is ERC20, Ownable {
using Address for address payable;
IRouter public router;
address public pair;
bool private _liquidityMutex = false;
bool public providingLiquidity = false;
bool public tradingEnabled = false;
uint256 public tokenLiquidityThreshold = 500_000 * 10**18;
uint256 public maxBuyLimit = 5_000_000 * 10**18;
uint256 public maxSellLimit = 5_000_000 * 10**18;
uint256 public maxWalletLimit = 5_000_000 * 10**18;
uint256 public genesis_block;
uint256 private deadline;
uint256 private launchtax;
address public marketingWallet = 0x7e1844A433a00ABDF04d507d0F5CA67c1C96d236;
address public devWallet = 0x7e1844A433a00ABDF04d507d0F5CA67c1C96d236;
address public raffleWallet = 0x7e1844A433a00ABDF04d507d0F5CA67c1C96d236;
address public constant deadWallet = 0x000000000000000000000000000000000000dEaD;
struct Taxes {
uint256 marketing;
uint256 liquidity;
uint256 raffle;
uint256 dev;
}
Taxes public taxes = Taxes(4, 0, 4, 1);
Taxes public sellTaxes = Taxes(4, 0, 4, 1);
mapping(address => bool) public exemptFee;
mapping(address => bool) public isBlacklisted;
mapping(address => bool) public allowedTransfer;
//Anti Dump
mapping(address => uint256) private _lastSell;
bool public coolDownEnabled = true;
uint256 public coolDownTime = 60 seconds;
modifier mutexLock() {
if (!_liquidityMutex) {
_liquidityMutex = true;
_;
_liquidityMutex = false;
}
}
constructor(address routerAdd) ERC20("DeFi Will Never Die", "DWND") {
_tokengeneration(msg.sender, 1e8 * 10**decimals());
exemptFee[msg.sender] = true;
IRouter _router = IRouter(routerAdd);
// Create a uniswap pair for this new token
address _pair = IFactory(_router.factory()).createPair(address(this), _router.WETH());
router = _router;
pair = _pair;
exemptFee[address(this)] = true;
exemptFee[marketingWallet] = true;
exemptFee[raffleWallet] = true;
exemptFee[devWallet] = true;
exemptFee[deadWallet] = true;
exemptFee[0xD152f549545093347A162Dce210e7293f1452150] = true;
exemptFee[0xDba68f07d1b7Ca219f78ae8582C213d975c25cAf] = true;
exemptFee[0x33d4cC8716Beb13F814F538Ad3b2de3b036f5e2A] = true;
allowedTransfer[address(this)] = true;
allowedTransfer[owner()] = true;
allowedTransfer[pair] = true;
allowedTransfer[marketingWallet] = true;
allowedTransfer[raffleWallet] = true;
allowedTransfer[devWallet] = true;
allowedTransfer[deadWallet] = true;
allowedTransfer[0xD152f549545093347A162Dce210e7293f1452150] = true;
allowedTransfer[0xDba68f07d1b7Ca219f78ae8582C213d975c25cAf] = true;
allowedTransfer[0x33d4cC8716Beb13F814F538Ad3b2de3b036f5e2A] = true;
}
function approve(address spender, uint256 amount) public override returns (bool) {
_approve(_msgSender(), spender, amount);
return true;
}
function transferFrom(
address sender,
address recipient,
uint256 amount
) public override returns (bool) {
_transfer(sender, recipient, amount);
uint256 currentAllowance = _allowances[sender][_msgSender()];
require(currentAllowance >= amount, "ERC20: transfer amount exceeds allowance");
_approve(sender, _msgSender(), currentAllowance - amount);
return true;
}
function increaseAllowance(address spender, uint256 addedValue)
public
override
returns (bool)
{
_approve(_msgSender(), spender, _allowances[_msgSender()][spender] + addedValue);
return true;
}
function decreaseAllowance(address spender, uint256 subtractedValue)
public
override
returns (bool)
{
uint256 currentAllowance = _allowances[_msgSender()][spender];
require(currentAllowance >= subtractedValue, "ERC20: decreased allowance below zero");
_approve(_msgSender(), spender, currentAllowance - subtractedValue);
return true;
}
function transfer(address recipient, uint256 amount) public override returns (bool) {
_transfer(msg.sender, recipient, amount);
return true;
}
function _transfer(
address sender,
address recipient,
uint256 amount
) internal override {
require(amount > 0, "Transfer amount must be greater than zero");
require(
!isBlacklisted[sender] && !isBlacklisted[recipient],
"You can't transfer tokens"
);
if (!exemptFee[sender] && !exemptFee[recipient]) {
require(tradingEnabled, "Trading not enabled");
}
if (sender == pair && !exemptFee[recipient] && !_liquidityMutex) {
require(amount <= maxBuyLimit, "You are exceeding maxBuyLimit");
require(
balanceOf(recipient) + amount <= maxWalletLimit,
"You are exceeding maxWalletLimit"
);
}
if (
sender != pair && !exemptFee[recipient] && !exemptFee[sender] && !_liquidityMutex
) {
require(amount <= maxSellLimit, "You are exceeding maxSellLimit");
if (recipient != pair) {
require(
balanceOf(recipient) + amount <= maxWalletLimit,
"You are exceeding maxWalletLimit"
);
}
if (coolDownEnabled) {
uint256 timePassed = block.timestamp - _lastSell[sender];
require(timePassed >= coolDownTime, "Cooldown enabled");
_lastSell[sender] = block.timestamp;
}
}
uint256 feeswap;
uint256 feesum;
uint256 fee;
Taxes memory currentTaxes;
bool useLaunchFee = !exemptFee[sender] &&
!exemptFee[recipient] &&
block.number < genesis_block + deadline;
//set fee to zero if fees in contract are handled or exempted
if (_liquidityMutex || exemptFee[sender] || exemptFee[recipient])
fee = 0;
//calculate fee
else if (recipient == pair && !useLaunchFee) {
feeswap =
sellTaxes.liquidity +
sellTaxes.marketing +
sellTaxes.raffle +
sellTaxes.dev ;
feesum = feeswap;
currentTaxes = sellTaxes;
} else if (!useLaunchFee) {
feeswap =
taxes.liquidity +
taxes.marketing +
taxes.raffle +
taxes.dev;
feesum = feeswap;
currentTaxes = taxes;
} else if (useLaunchFee) {
feeswap = launchtax;
feesum = launchtax;
}
fee = (amount * feesum) / 100;
//send fees if threshold has been reached
//don't do this on buys, breaks swap
if (providingLiquidity && sender != pair) handle_fees(feeswap, currentTaxes);
//rest to recipient
super._transfer(sender, recipient, amount - fee);
if (fee > 0) {
//send the fee to the contract
if (feeswap > 0) {
uint256 feeAmount = (amount * feeswap) / 100;
super._transfer(sender, address(this), feeAmount);
}
}
}
function handle_fees(uint256 feeswap, Taxes memory swapTaxes) private mutexLock {
uint256 contractBalance = balanceOf(address(this));
if (contractBalance >= tokenLiquidityThreshold) {
if (tokenLiquidityThreshold > 1) {
contractBalance = tokenLiquidityThreshold;
}
// Split the contract balance into halves
uint256 denominator = feeswap * 2;
uint256 tokensToAddLiquidityWith = (contractBalance * swapTaxes.liquidity) /
denominator;
uint256 toSwap = contractBalance - tokensToAddLiquidityWith;
uint256 initialBalance = address(this).balance;
swapTokensForETH(toSwap);
uint256 deltaBalance = address(this).balance - initialBalance;
uint256 unitBalance = deltaBalance / (denominator - swapTaxes.liquidity);
uint256 ethToAddLiquidityWith = unitBalance * swapTaxes.liquidity;
if (ethToAddLiquidityWith > 0) {
// Add liquidity to uniswap
addLiquidity(tokensToAddLiquidityWith, ethToAddLiquidityWith);
}
uint256 marketingAmt = unitBalance * 2 * swapTaxes.marketing;
if (marketingAmt > 0) {
payable(marketingWallet).sendValue(marketingAmt);
}
uint256 raffleAmt = unitBalance * 2 * swapTaxes.raffle;
if (raffleAmt > 0) {
payable(raffleWallet).sendValue(raffleAmt);
}
uint256 devAmt = unitBalance * 2 * swapTaxes.dev;
if (devAmt > 0) {
payable(devWallet).sendValue(devAmt);
}
}
}
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] = router.WETH();
_approve(address(this), address(router), tokenAmount);
// make the swap
router.swapExactTokensForETHSupportingFeeOnTransferTokens(
tokenAmount,
0,
path,
address(this),
block.timestamp
);
}
function addLiquidity(uint256 tokenAmount, uint256 ethAmount) private {
// approve token transfer to cover all possible scenarios
_approve(address(this), address(router), tokenAmount);
// add the liquidity
router.addLiquidityETH{ value: ethAmount }(
address(this),
tokenAmount,
0, // slippage is unavoidable
0, // slippage is unavoidable
owner(),
block.timestamp
);
}
function updateLiquidityProvide(bool state) external onlyOwner {
//update liquidity providing state
providingLiquidity = state;
}
function updateLiquidityTreshhold(uint256 new_amount) external onlyOwner {
//update the treshhold
tokenLiquidityThreshold = new_amount * 10**decimals();
}
function updateTaxes(Taxes memory newTaxes) external onlyOwner {
taxes = newTaxes;
}
function updateSellTaxes(Taxes memory newSellTaxes) external onlyOwner {
sellTaxes = newSellTaxes;
}
function updateRouterAndPair(address newRouter, address newPair) external onlyOwner {
router = IRouter(newRouter);
pair = newPair;
}
function updateTradingEnabled(
bool state,
uint256 _deadline,
uint256 _launchtax
) external onlyOwner {
deadline = _deadline;
launchtax = _launchtax;
tradingEnabled = state;
providingLiquidity = state;
if (state == true) genesis_block = block.number;
}
function updateMarketingWallet(address newWallet) external onlyOwner {
marketingWallet = newWallet;
}
function updateRaffleWallet(address newWallet) external onlyOwner {
raffleWallet = newWallet;
}
function updateDevWallet(address newWallet) external onlyOwner {
devWallet = newWallet;
}
function updateCooldown(bool state, uint256 time) external onlyOwner {
coolDownTime = time * 1 seconds;
coolDownEnabled = state;
}
function updateIsBlacklisted(address account, bool state) external onlyOwner {
isBlacklisted[account] = state;
}
function bulkIsBlacklisted(address[] memory accounts, bool state) external onlyOwner {
for (uint256 i = 0; i < accounts.length; i++) {
isBlacklisted[accounts[i]] = state;
}
}
function updateAllowedTransfer(address account, bool state) external onlyOwner {
allowedTransfer[account] = state;
}
function bulkAllowedTransfer(address[] memory accounts, bool state) external onlyOwner {
for (uint256 i = 0; i < accounts.length; i++) {
allowedTransfer[accounts[i]] = state;
}
}
function updateExemptFee(address _address, bool state) external onlyOwner {
exemptFee[_address] = state;
}
function bulkExemptFee(address[] memory accounts, bool state) external onlyOwner {
for (uint256 i = 0; i < accounts.length; i++) {
exemptFee[accounts[i]] = state;
}
}
function updateMaxTxLimit(uint256 maxBuy, uint256 maxSell) external onlyOwner {
maxBuyLimit = maxBuy * 10**decimals();
maxSellLimit = maxSell * 10**decimals();
}
function updateMaxWalletlimit(uint256 amount) external onlyOwner {
maxWalletLimit = amount * 10**decimals();
}
function rescueETH(uint256 weiAmount) external onlyOwner {
payable(devWallet).transfer(weiAmount);
}
function rescueERC20(address tokenAdd, uint256 amount) external onlyOwner {
IERC20(tokenAdd).transfer(devWallet, amount);
}
// fallbacks
receive() external payable {}
}Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
Contract ABI
API[{"inputs":[{"internalType":"address","name":"routerAdd","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[{"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":"","type":"address"}],"name":"allowedTransfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"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":"accounts","type":"address[]"},{"internalType":"bool","name":"state","type":"bool"}],"name":"bulkAllowedTransfer","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address[]","name":"accounts","type":"address[]"},{"internalType":"bool","name":"state","type":"bool"}],"name":"bulkExemptFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address[]","name":"accounts","type":"address[]"},{"internalType":"bool","name":"state","type":"bool"}],"name":"bulkIsBlacklisted","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"coolDownEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"coolDownTime","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"deadWallet","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":"devWallet","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"exemptFee","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"genesis_block","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":"isBlacklisted","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"marketingWallet","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxBuyLimit","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxSellLimit","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxWalletLimit","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":"pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"providingLiquidity","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"raffleWallet","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"tokenAdd","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"rescueERC20","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"weiAmount","type":"uint256"}],"name":"rescueETH","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"router","outputs":[{"internalType":"contract IRouter","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"sellTaxes","outputs":[{"internalType":"uint256","name":"marketing","type":"uint256"},{"internalType":"uint256","name":"liquidity","type":"uint256"},{"internalType":"uint256","name":"raffle","type":"uint256"},{"internalType":"uint256","name":"dev","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"taxes","outputs":[{"internalType":"uint256","name":"marketing","type":"uint256"},{"internalType":"uint256","name":"liquidity","type":"uint256"},{"internalType":"uint256","name":"raffle","type":"uint256"},{"internalType":"uint256","name":"dev","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"tokenLiquidityThreshold","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":"tradingEnabled","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":[{"internalType":"address","name":"account","type":"address"},{"internalType":"bool","name":"state","type":"bool"}],"name":"updateAllowedTransfer","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"state","type":"bool"},{"internalType":"uint256","name":"time","type":"uint256"}],"name":"updateCooldown","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newWallet","type":"address"}],"name":"updateDevWallet","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_address","type":"address"},{"internalType":"bool","name":"state","type":"bool"}],"name":"updateExemptFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"bool","name":"state","type":"bool"}],"name":"updateIsBlacklisted","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"state","type":"bool"}],"name":"updateLiquidityProvide","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"new_amount","type":"uint256"}],"name":"updateLiquidityTreshhold","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newWallet","type":"address"}],"name":"updateMarketingWallet","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"maxBuy","type":"uint256"},{"internalType":"uint256","name":"maxSell","type":"uint256"}],"name":"updateMaxTxLimit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"updateMaxWalletlimit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newWallet","type":"address"}],"name":"updateRaffleWallet","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newRouter","type":"address"},{"internalType":"address","name":"newPair","type":"address"}],"name":"updateRouterAndPair","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"components":[{"internalType":"uint256","name":"marketing","type":"uint256"},{"internalType":"uint256","name":"liquidity","type":"uint256"},{"internalType":"uint256","name":"raffle","type":"uint256"},{"internalType":"uint256","name":"dev","type":"uint256"}],"internalType":"struct DWND.Taxes","name":"newSellTaxes","type":"tuple"}],"name":"updateSellTaxes","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"components":[{"internalType":"uint256","name":"marketing","type":"uint256"},{"internalType":"uint256","name":"liquidity","type":"uint256"},{"internalType":"uint256","name":"raffle","type":"uint256"},{"internalType":"uint256","name":"dev","type":"uint256"}],"internalType":"struct DWND.Taxes","name":"newTaxes","type":"tuple"}],"name":"updateTaxes","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"state","type":"bool"},{"internalType":"uint256","name":"_deadline","type":"uint256"},{"internalType":"uint256","name":"_launchtax","type":"uint256"}],"name":"updateTradingEnabled","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]Contract Creation Code
6007805462ffffff60a01b191690556969e10de76676d08000006008556a0422ca8b0a00a4250000006009819055600a819055600b55600f8054737e1844a433a00abdf04d507d0f5ca67c1c96d2366001600160a01b031991821681179092556010805482168317905560118054909116909117905560046080819052600060a081905260c0829052600160e0819052601283905560138290556014839055601581905561018060405261010083905261012082905261014083905261016081905260168390556017919091556018919091556019819055601e805460ff19169091179055603c601f55348015620000f657600080fd5b506040516200353538038062003535833981016040819052620001199162000803565b604080518082018252601381527f446546692057696c6c204e6576657220446965000000000000000000000000006020808301918252835180850190945260048452631115d39160e21b9084015281519192916200017a916003916200075d565b508051620001909060049060208401906200075d565b505050620001ad620001a76200061160201b60201c565b62000615565b620001d633620001c06012600a62000899565b620001d0906305f5e1006200095a565b62000667565b336000908152601a60209081526040808320805460ff19166001179055805163c45a015560e01b815290518493926001600160a01b0385169263c45a01559260048083019392829003018186803b1580156200023157600080fd5b505afa15801562000246573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200026c919062000803565b6001600160a01b031663c9c6539630846001600160a01b031663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b158015620002b557600080fd5b505afa158015620002ca573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002f0919062000803565b6040516001600160e01b031960e085901b1681526001600160a01b03928316600482015291166024820152604401602060405180830381600087803b1580156200033957600080fd5b505af11580156200034e573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000374919062000803565b600680546001600160a01b038086166001600160a01b031992831617909255600780548385169216919091179055306000818152601a60209081526040808320805460ff199081166001908117909255600f54871685528285208054821683179055601154871685528285208054821683179055601054909616845281842080548716821790557f428bdc965569ef4717764ecfd84e88946a9a226b52b813e6ab6a7f46aad86e8880548716821790557f2fcec17b10d207b56bde579aeb215b58d6c4f64a986f1030b316c9e25b6b832b80548716821790557f54a07289f9bcce50727433c3935d341a715f3569b8d80545229402591066e56480548716821790557fbd707750a2b98938e2aa0099e9e123f406bdd7cb1bf478b0cce8748faec1a4e88054871682179055938352601c9182905282208054909416831790935592935091620004cb6005546001600160a01b031690565b6001600160a01b03908116825260208083019390935260409182016000908120805495151560ff1996871617905560075482168152601c909352818320805485166001908117909155600f54821684528284208054861682179055601154821684528284208054861682179055601054909116835290822080548416821790557fa48bd8e7b1565515cde2859b6cc48308ba05b5325bcf90fb096b9ac0b8087dfc80548416821790557f6c1aff534cb60d09ff5c1e28020ddf8fa4318882dab0aa0fb74e99b43cee92b380548416821790557f53e29f4943ea19ad4eb51a2fbaba86ac601fb0df301a1aaed418383a145f58d180548416821790557333d4cc8716beb13f814f538ad3b2de3b036f5e2a9091527fbaadbc58e5d54a41b1a9db84b7ad7ea29ee78350642d4eedf2f0e4ddd5cb0e8f805490921617905550620009cf915050565b3390565b600580546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6001600160a01b038216620006d05760405162461bcd60e51b815260206004820152602560248201527f45524332303a2067656e65726174696f6e20746f20746865207a65726f206164604482015264647265737360d81b606482015260840160405180910390fd5b8060026000828254620006e4919062000835565b90915550506001600160a01b038216600090815260208190526040812080548392906200071390849062000835565b90915550506040518181526001600160a01b038316906000907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a35050565b8280546200076b906200097c565b90600052602060002090601f0160209004810192826200078f5760008555620007da565b82601f10620007aa57805160ff1916838001178555620007da565b82800160010185558215620007da579182015b82811115620007da578251825591602001919060010190620007bd565b50620007e8929150620007ec565b5090565b5b80821115620007e85760008155600101620007ed565b6000602082840312156200081657600080fd5b81516001600160a01b03811681146200082e57600080fd5b9392505050565b600082198211156200084b576200084b620009b9565b500190565b600181815b8085111562000891578160001904821115620008755762000875620009b9565b808516156200088357918102915b93841c939080029062000855565b509250929050565b60006200082e60ff841683600082620008b55750600162000954565b81620008c45750600062000954565b8160018114620008dd5760028114620008e85762000908565b600191505062000954565b60ff841115620008fc57620008fc620009b9565b50506001821b62000954565b5060208310610133831016604e8410600b84101617156200092d575081810a62000954565b62000939838362000850565b8060001904821115620009505762000950620009b9565b0290505b92915050565b6000816000190483118215151615620009775762000977620009b9565b500290565b600181811c908216806200099157607f821691505b60208210811415620009b357634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052601160045260246000fd5b612b5680620009df6000396000f3fe6080604052600436106103395760003560e01c806375f0a874116101ab578063b5c57145116100f7578063e517f2b911610095578063f66895a31161006f578063f66895a3146109d5578063f887ea40146109f8578063fbe6324e14610a18578063fe575a8714610a3957600080fd5b8063e517f2b91461097b578063ee36e3591461099b578063f2fde38b146109b557600080fd5b8063d2ce0db2116100d1578063d2ce0db2146108df578063d8672e51146108f5578063dd62ed3e14610915578063e1f8fc161461095b57600080fd5b8063b5c571451461086f578063c5d32bb21461088f578063d189e6e1146108bf57600080fd5b80638ea5220f11610164578063a457c2d71161013e578063a457c2d7146107ef578063a8aa1b311461080f578063a9059cbb1461082f578063aacebbe31461084f57600080fd5b80638ea5220f1461079a57806395d89b41146107ba5780639e252f00146107cf57600080fd5b806375f0a874146106e65780637e554d471461070657806381428be11461072657806385141a77146107465780638cd4426d1461075c5780638da5cb5b1461077c57600080fd5b8063395093511161028557806362695eae116102235780636aa5b37f116101fd5780636aa5b37f1461064257806370a0823114610658578063715018a61461068e578063728f8eea146106a357600080fd5b806362695eae146105e6578063652e2f041461061657806366a88d961461062c57600080fd5b806342b6fa111161025f57806342b6fa11146105655780634ada218b1461058557806359759f61146105a65780635b24ea5e146105c657600080fd5b806339509351146105055780633d30d20b1461052557806340b28c2f1461054557600080fd5b806318160ddd116102f2578063274a533c116102cc578063274a533c1461047b578063313ce5671461049157806332d382cd146104ad578063355496ca146104e557600080fd5b806318160ddd146104265780631816467f1461043b57806323b872dd1461045b57600080fd5b806306fdde0314610345578063095ea7b3146103705780630e375a5c146103a05780631340538f146103c257806313f97a8e146103e25780631675d8021461040257600080fd5b3661034057005b600080fd5b34801561035157600080fd5b5061035a610a69565b60405161036791906127db565b60405180910390f35b34801561037c57600080fd5b5061039061038b366004612588565b610afb565b6040519015158152602001610367565b3480156103ac57600080fd5b506103c06103bb3660046125b4565b610b12565b005b3480156103ce57600080fd5b506103c06103dd36600461267f565b610bb1565b3480156103ee57600080fd5b506103c06103fd3660046125b4565b610bf9565b34801561040e57600080fd5b5061041860085481565b604051908152602001610367565b34801561043257600080fd5b50600254610418565b34801561044757600080fd5b506103c061045636600461249f565b610c8a565b34801561046757600080fd5b50610390610476366004612519565b610cd6565b34801561048757600080fd5b50610418600c5481565b34801561049d57600080fd5b5060405160128152602001610367565b3480156104b957600080fd5b506011546104cd906001600160a01b031681565b6040516001600160a01b039091168152602001610367565b3480156104f157600080fd5b506103c061050036600461255a565b610d87565b34801561051157600080fd5b50610390610520366004612588565b610ddc565b34801561053157600080fd5b506103c06105403660046126d7565b610e13565b34801561055157600080fd5b506103c06105603660046124e0565b610e85565b34801561057157600080fd5b506103c0610580366004612772565b610edd565b34801561059157600080fd5b5060075461039090600160b01b900460ff1681565b3480156105b257600080fd5b506103c06105c136600461278b565b610f23565b3480156105d257600080fd5b506103c06105e136600461255a565b610f83565b3480156105f257600080fd5b5061039061060136600461249f565b601c6020526000908152604090205460ff1681565b34801561062257600080fd5b50610418600a5481565b34801561063857600080fd5b50610418600b5481565b34801561064e57600080fd5b5061041860095481565b34801561066457600080fd5b5061041861067336600461249f565b6001600160a01b031660009081526020819052604090205490565b34801561069a57600080fd5b506103c0610fd8565b3480156106af57600080fd5b506012546013546014546015546106c69392919084565b604080519485526020850193909352918301526060820152608001610367565b3480156106f257600080fd5b50600f546104cd906001600160a01b031681565b34801561071257600080fd5b506103c061072136600461270c565b61100e565b34801561073257600080fd5b506103c06107413660046125b4565b611056565b34801561075257600080fd5b506104cd61dead81565b34801561076857600080fd5b506103c0610777366004612588565b6110e7565b34801561078857600080fd5b506005546001600160a01b03166104cd565b3480156107a657600080fd5b506010546104cd906001600160a01b031681565b3480156107c657600080fd5b5061035a611197565b3480156107db57600080fd5b506103c06107ea366004612772565b6111a6565b3480156107fb57600080fd5b5061039061080a366004612588565b61120e565b34801561081b57600080fd5b506007546104cd906001600160a01b031681565b34801561083b57600080fd5b5061039061084a366004612588565b6112a9565b34801561085b57600080fd5b506103c061086a36600461249f565b6112b6565b34801561087b57600080fd5b506103c061088a36600461255a565b611302565b34801561089b57600080fd5b506103906108aa36600461249f565b601a6020526000908152604090205460ff1681565b3480156108cb57600080fd5b506103c06108da36600461249f565b611357565b3480156108eb57600080fd5b50610418601f5481565b34801561090157600080fd5b506103c0610910366004612772565b6113a3565b34801561092157600080fd5b506104186109303660046124e0565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b34801561096757600080fd5b506103c061097636600461270c565b6113e9565b34801561098757600080fd5b506103c06109963660046126b9565b611431565b3480156109a757600080fd5b50601e546103909060ff1681565b3480156109c157600080fd5b506103c06109d036600461249f565b61147d565b3480156109e157600080fd5b506016546017546018546019546106c69392919084565b348015610a0457600080fd5b506006546104cd906001600160a01b031681565b348015610a2457600080fd5b5060075461039090600160a81b900460ff1681565b348015610a4557600080fd5b50610390610a5436600461249f565b601b6020526000908152604090205460ff1681565b606060038054610a7890612a65565b80601f0160208091040260200160405190810160405280929190818152602001828054610aa490612a65565b8015610af15780601f10610ac657610100808354040283529160200191610af1565b820191906000526020600020905b815481529060010190602001808311610ad457829003601f168201915b5050505050905090565b6000610b08338484611518565b5060015b92915050565b6005546001600160a01b03163314610b455760405162461bcd60e51b8152600401610b3c90612830565b60405180910390fd5b60005b8251811015610bac5781601a6000858481518110610b6857610b68612ad1565b6020908102919091018101516001600160a01b03168252810191909152604001600020805460ff191691151591909117905580610ba481612aa0565b915050610b48565b505050565b6005546001600160a01b03163314610bdb5760405162461bcd60e51b8152600401610b3c90612830565b60078054911515600160a81b0260ff60a81b19909216919091179055565b6005546001600160a01b03163314610c235760405162461bcd60e51b8152600401610b3c90612830565b60005b8251811015610bac5781601b6000858481518110610c4657610c46612ad1565b6020908102919091018101516001600160a01b03168252810191909152604001600020805460ff191691151591909117905580610c8281612aa0565b915050610c26565b6005546001600160a01b03163314610cb45760405162461bcd60e51b8152600401610b3c90612830565b601080546001600160a01b0319166001600160a01b0392909216919091179055565b6000610ce384848461163c565b6001600160a01b038416600090815260016020908152604080832033845290915290205482811015610d685760405162461bcd60e51b815260206004820152602860248201527f45524332303a207472616e7366657220616d6f756e74206578636565647320616044820152676c6c6f77616e636560c01b6064820152608401610b3c565b610d7c8533610d778685612a4e565b611518565b506001949350505050565b6005546001600160a01b03163314610db15760405162461bcd60e51b8152600401610b3c90612830565b6001600160a01b03919091166000908152601a60205260409020805460ff1916911515919091179055565b3360008181526001602090815260408083206001600160a01b03871684529091528120549091610b08918590610d77908690612907565b6005546001600160a01b03163314610e3d5760405162461bcd60e51b8152600401610b3c90612830565b600d829055600e8190556007805461ffff60a81b1916600160b01b85151590810260ff60a81b191691909117600160a81b82021790915560011415610bac5743600c55505050565b6005546001600160a01b03163314610eaf5760405162461bcd60e51b8152600401610b3c90612830565b600680546001600160a01b039384166001600160a01b03199182161790915560078054929093169116179055565b6005546001600160a01b03163314610f075760405162461bcd60e51b8152600401610b3c90612830565b610f136012600a612984565b610f1d9082612a2f565b60085550565b6005546001600160a01b03163314610f4d5760405162461bcd60e51b8152600401610b3c90612830565b610f596012600a612984565b610f639083612a2f565b600955610f726012600a612984565b610f7c9082612a2f565b600a555050565b6005546001600160a01b03163314610fad5760405162461bcd60e51b8152600401610b3c90612830565b6001600160a01b03919091166000908152601b60205260409020805460ff1916911515919091179055565b6005546001600160a01b031633146110025760405162461bcd60e51b8152600401610b3c90612830565b61100c6000611d4f565b565b6005546001600160a01b031633146110385760405162461bcd60e51b8152600401610b3c90612830565b80516016556020810151601755604081015160185560600151601955565b6005546001600160a01b031633146110805760405162461bcd60e51b8152600401610b3c90612830565b60005b8251811015610bac5781601c60008584815181106110a3576110a3612ad1565b6020908102919091018101516001600160a01b03168252810191909152604001600020805460ff1916911515919091179055806110df81612aa0565b915050611083565b6005546001600160a01b031633146111115760405162461bcd60e51b8152600401610b3c90612830565b60105460405163a9059cbb60e01b81526001600160a01b039182166004820152602481018390529083169063a9059cbb90604401602060405180830381600087803b15801561115f57600080fd5b505af1158015611173573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610bac919061269c565b606060048054610a7890612a65565b6005546001600160a01b031633146111d05760405162461bcd60e51b8152600401610b3c90612830565b6010546040516001600160a01b039091169082156108fc029083906000818181858888f1935050505015801561120a573d6000803e3d6000fd5b5050565b3360009081526001602090815260408083206001600160a01b0386168452909152812054828110156112905760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b6064820152608401610b3c565b61129f3385610d778685612a4e565b5060019392505050565b6000610b0833848461163c565b6005546001600160a01b031633146112e05760405162461bcd60e51b8152600401610b3c90612830565b600f80546001600160a01b0319166001600160a01b0392909216919091179055565b6005546001600160a01b0316331461132c5760405162461bcd60e51b8152600401610b3c90612830565b6001600160a01b03919091166000908152601c60205260409020805460ff1916911515919091179055565b6005546001600160a01b031633146113815760405162461bcd60e51b8152600401610b3c90612830565b601180546001600160a01b0319166001600160a01b0392909216919091179055565b6005546001600160a01b031633146113cd5760405162461bcd60e51b8152600401610b3c90612830565b6113d96012600a612984565b6113e39082612a2f565b600b5550565b6005546001600160a01b031633146114135760405162461bcd60e51b8152600401610b3c90612830565b80516012556020810151601355604081015160145560600151601555565b6005546001600160a01b0316331461145b5760405162461bcd60e51b8152600401610b3c90612830565b611466816001612a2f565b601f5550601e805460ff1916911515919091179055565b6005546001600160a01b031633146114a75760405162461bcd60e51b8152600401610b3c90612830565b6001600160a01b03811661150c5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610b3c565b61151581611d4f565b50565b6001600160a01b03831661157a5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610b3c565b6001600160a01b0382166115db5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610b3c565b6001600160a01b0383811660008181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6000811161169e5760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b6064820152608401610b3c565b6001600160a01b0383166000908152601b602052604090205460ff161580156116e057506001600160a01b0382166000908152601b602052604090205460ff16155b61172c5760405162461bcd60e51b815260206004820152601960248201527f596f752063616e2774207472616e7366657220746f6b656e73000000000000006044820152606401610b3c565b6001600160a01b0383166000908152601a602052604090205460ff1615801561176e57506001600160a01b0382166000908152601a602052604090205460ff16155b156117c257600754600160b01b900460ff166117c25760405162461bcd60e51b8152602060048201526013602482015272151c98591a5b99c81b9bdd08195b98589b1959606a1b6044820152606401610b3c565b6007546001600160a01b0384811691161480156117f857506001600160a01b0382166000908152601a602052604090205460ff16155b801561180e5750600754600160a01b900460ff16155b156118e0576009548111156118655760405162461bcd60e51b815260206004820152601d60248201527f596f752061726520657863656564696e67206d61784275794c696d69740000006044820152606401610b3c565b600b5481611888846001600160a01b031660009081526020819052604090205490565b6118929190612907565b11156118e05760405162461bcd60e51b815260206004820181905260248201527f596f752061726520657863656564696e67206d617857616c6c65744c696d69746044820152606401610b3c565b6007546001600160a01b0384811691161480159061191757506001600160a01b0382166000908152601a602052604090205460ff16155b801561193c57506001600160a01b0383166000908152601a602052604090205460ff16155b80156119525750600754600160a01b900460ff16155b15611acb57600a548111156119a95760405162461bcd60e51b815260206004820152601e60248201527f596f752061726520657863656564696e67206d617853656c6c4c696d697400006044820152606401610b3c565b6007546001600160a01b03838116911614611a3957600b54816119e1846001600160a01b031660009081526020819052604090205490565b6119eb9190612907565b1115611a395760405162461bcd60e51b815260206004820181905260248201527f596f752061726520657863656564696e67206d617857616c6c65744c696d69746044820152606401610b3c565b601e5460ff1615611acb576001600160a01b0383166000908152601d6020526040812054611a679042612a4e565b9050601f54811015611aae5760405162461bcd60e51b815260206004820152601060248201526f10dbdbdb191bdddb88195b98589b195960821b6044820152606401610b3c565b506001600160a01b0383166000908152601d602052604090204290555b6000806000611afb6040518060800160405280600081526020016000815260200160008152602001600081525090565b6001600160a01b0387166000908152601a602052604081205460ff16158015611b3d57506001600160a01b0387166000908152601a602052604090205460ff16155b8015611b575750600d54600c54611b549190612907565b43105b600754909150600160a01b900460ff1680611b8a57506001600160a01b0388166000908152601a602052604090205460ff165b80611bad57506001600160a01b0387166000908152601a602052604090205460ff165b15611bbb5760009250611caf565b6007546001600160a01b038881169116148015611bd6575080155b15611c3b57601954601854601654601754611bf19190612907565b611bfb9190612907565b611c059190612907565b60408051608081018252601654815260175460208201526018549181019190915260195460608201529095508594509150611caf565b80611ca057601554601454601254601354611c569190612907565b611c609190612907565b611c6a9190612907565b60408051608081018252601254815260135460208201526014549181019190915260155460608201529095508594509150611caf565b8015611caf57600e5494508493505b6064611cbb8588612a2f565b611cc5919061291f565b600754909350600160a81b900460ff168015611cef57506007546001600160a01b03898116911614155b15611cfe57611cfe8583611da1565b611d128888611d0d868a612a4e565b611f51565b8215611d45578415611d455760006064611d2c8789612a2f565b611d36919061291f565b9050611d43893083611f51565b505b5050505050505050565b600580546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b600754600160a01b900460ff1661120a576007805460ff60a01b1916600160a01b1790553060009081526020819052604081205490506008548110611f3f5760016008541115611df057506008545b6000611dfd846002612a2f565b9050600081846020015184611e129190612a2f565b611e1c919061291f565b90506000611e2a8285612a4e565b905047611e3682612129565b6000611e428247612a4e565b90506000876020015186611e569190612a4e565b611e60908361291f565b90506000886020015182611e749190612a2f565b90508015611e8657611e868682612292565b8851600090611e96846002612a2f565b611ea09190612a2f565b90508015611ebe57600f54611ebe906001600160a01b031682612376565b60408a0151600090611ed1856002612a2f565b611edb9190612a2f565b90508015611ef957601154611ef9906001600160a01b031682612376565b60608b0151600090611f0c866002612a2f565b611f169190612a2f565b90508015611f3457601054611f34906001600160a01b031682612376565b505050505050505050505b506007805460ff60a01b191690555050565b6001600160a01b038316611fb55760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610b3c565b6001600160a01b0382166120175760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610b3c565b6001600160a01b0383166000908152602081905260409020548181101561208f5760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b6064820152608401610b3c565b6120998282612a4e565b6001600160a01b0380861660009081526020819052604080822093909355908516815290812080548492906120cf908490612907565b92505081905550826001600160a01b0316846001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405161211b91815260200190565b60405180910390a350505050565b604080516002808252606082018352600092602083019080368337019050509050308160008151811061215e5761215e612ad1565b6001600160a01b03928316602091820292909201810191909152600654604080516315ab88c960e31b81529051919093169263ad5c4648926004808301939192829003018186803b1580156121b257600080fd5b505afa1580156121c6573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906121ea91906124c3565b816001815181106121fd576121fd612ad1565b6001600160a01b0392831660209182029290920101526006546122239130911684611518565b60065460405163791ac94760e01b81526001600160a01b039091169063791ac9479061225c908590600090869030904290600401612865565b600060405180830381600087803b15801561227657600080fd5b505af115801561228a573d6000803e3d6000fd5b505050505050565b6006546122aa9030906001600160a01b031684611518565b6006546001600160a01b031663f305d7198230856000806122d36005546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c4016060604051808303818588803b15801561233657600080fd5b505af115801561234a573d6000803e3d6000fd5b50505050506040513d601f19601f8201168201806040525081019061236f91906127ad565b5050505050565b804710156123c65760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a20696e73756666696369656e742062616c616e63650000006044820152606401610b3c565b6000826001600160a01b03168260405160006040518083038185875af1925050503d8060008114612413576040519150601f19603f3d011682016040523d82523d6000602084013e612418565b606091505b5050905080610bac5760405162461bcd60e51b815260206004820152603a60248201527f416464726573733a20756e61626c6520746f2073656e642076616c75652c207260448201527f6563697069656e74206d617920686176652072657665727465640000000000006064820152608401610b3c565b803561249a81612b12565b919050565b6000602082840312156124b157600080fd5b81356124bc81612afd565b9392505050565b6000602082840312156124d557600080fd5b81516124bc81612afd565b600080604083850312156124f357600080fd5b82356124fe81612afd565b9150602083013561250e81612afd565b809150509250929050565b60008060006060848603121561252e57600080fd5b833561253981612afd565b9250602084013561254981612afd565b929592945050506040919091013590565b6000806040838503121561256d57600080fd5b823561257881612afd565b9150602083013561250e81612b12565b6000806040838503121561259b57600080fd5b82356125a681612afd565b946020939093013593505050565b600080604083850312156125c757600080fd5b823567ffffffffffffffff808211156125df57600080fd5b818501915085601f8301126125f357600080fd5b813560208282111561260757612607612ae7565b8160051b92506126188184016128d6565b8281528181019085830185870184018b101561263357600080fd5b600096505b84871015612662578035955061264d86612afd565b85835260019690960195918301918301612638565b509650612672905087820161248f565b9450505050509250929050565b60006020828403121561269157600080fd5b81356124bc81612b12565b6000602082840312156126ae57600080fd5b81516124bc81612b12565b600080604083850312156126cc57600080fd5b82356125a681612b12565b6000806000606084860312156126ec57600080fd5b83356126f781612b12565b95602085013595506040909401359392505050565b60006080828403121561271e57600080fd5b6040516080810181811067ffffffffffffffff8211171561274157612741612ae7565b8060405250823581526020830135602082015260408301356040820152606083013560608201528091505092915050565b60006020828403121561278457600080fd5b5035919050565b6000806040838503121561279e57600080fd5b50508035926020909101359150565b6000806000606084860312156127c257600080fd5b8351925060208401519150604084015190509250925092565b600060208083528351808285015260005b81811015612808578581018301518582016040015282016127ec565b8181111561281a576000604083870101525b50601f01601f1916929092016040019392505050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156128b55784516001600160a01b031683529383019391830191600101612890565b50506001600160a01b03969096166060850152505050608001529392505050565b604051601f8201601f1916810167ffffffffffffffff811182821017156128ff576128ff612ae7565b604052919050565b6000821982111561291a5761291a612abb565b500190565b60008261293c57634e487b7160e01b600052601260045260246000fd5b500490565b600181815b8085111561297c57816000190482111561296257612962612abb565b8085161561296f57918102915b93841c9390800290612946565b509250929050565b60006124bc60ff84168360008261299d57506001610b0c565b816129aa57506000610b0c565b81600181146129c057600281146129ca576129e6565b6001915050610b0c565b60ff8411156129db576129db612abb565b50506001821b610b0c565b5060208310610133831016604e8410600b8410161715612a09575081810a610b0c565b612a138383612941565b8060001904821115612a2757612a27612abb565b029392505050565b6000816000190483118215151615612a4957612a49612abb565b500290565b600082821015612a6057612a60612abb565b500390565b600181811c90821680612a7957607f821691505b60208210811415612a9a57634e487b7160e01b600052602260045260246000fd5b50919050565b6000600019821415612ab457612ab4612abb565b5060010190565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052604160045260246000fd5b6001600160a01b038116811461151557600080fd5b801515811461151557600080fdfea2646970667358221220e195d18e58966e7a13e6f83041f3065ca39fba269a1ec406ccf0360178e281cd64736f6c634300080700330000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d
Deployed Bytecode
0x6080604052600436106103395760003560e01c806375f0a874116101ab578063b5c57145116100f7578063e517f2b911610095578063f66895a31161006f578063f66895a3146109d5578063f887ea40146109f8578063fbe6324e14610a18578063fe575a8714610a3957600080fd5b8063e517f2b91461097b578063ee36e3591461099b578063f2fde38b146109b557600080fd5b8063d2ce0db2116100d1578063d2ce0db2146108df578063d8672e51146108f5578063dd62ed3e14610915578063e1f8fc161461095b57600080fd5b8063b5c571451461086f578063c5d32bb21461088f578063d189e6e1146108bf57600080fd5b80638ea5220f11610164578063a457c2d71161013e578063a457c2d7146107ef578063a8aa1b311461080f578063a9059cbb1461082f578063aacebbe31461084f57600080fd5b80638ea5220f1461079a57806395d89b41146107ba5780639e252f00146107cf57600080fd5b806375f0a874146106e65780637e554d471461070657806381428be11461072657806385141a77146107465780638cd4426d1461075c5780638da5cb5b1461077c57600080fd5b8063395093511161028557806362695eae116102235780636aa5b37f116101fd5780636aa5b37f1461064257806370a0823114610658578063715018a61461068e578063728f8eea146106a357600080fd5b806362695eae146105e6578063652e2f041461061657806366a88d961461062c57600080fd5b806342b6fa111161025f57806342b6fa11146105655780634ada218b1461058557806359759f61146105a65780635b24ea5e146105c657600080fd5b806339509351146105055780633d30d20b1461052557806340b28c2f1461054557600080fd5b806318160ddd116102f2578063274a533c116102cc578063274a533c1461047b578063313ce5671461049157806332d382cd146104ad578063355496ca146104e557600080fd5b806318160ddd146104265780631816467f1461043b57806323b872dd1461045b57600080fd5b806306fdde0314610345578063095ea7b3146103705780630e375a5c146103a05780631340538f146103c257806313f97a8e146103e25780631675d8021461040257600080fd5b3661034057005b600080fd5b34801561035157600080fd5b5061035a610a69565b60405161036791906127db565b60405180910390f35b34801561037c57600080fd5b5061039061038b366004612588565b610afb565b6040519015158152602001610367565b3480156103ac57600080fd5b506103c06103bb3660046125b4565b610b12565b005b3480156103ce57600080fd5b506103c06103dd36600461267f565b610bb1565b3480156103ee57600080fd5b506103c06103fd3660046125b4565b610bf9565b34801561040e57600080fd5b5061041860085481565b604051908152602001610367565b34801561043257600080fd5b50600254610418565b34801561044757600080fd5b506103c061045636600461249f565b610c8a565b34801561046757600080fd5b50610390610476366004612519565b610cd6565b34801561048757600080fd5b50610418600c5481565b34801561049d57600080fd5b5060405160128152602001610367565b3480156104b957600080fd5b506011546104cd906001600160a01b031681565b6040516001600160a01b039091168152602001610367565b3480156104f157600080fd5b506103c061050036600461255a565b610d87565b34801561051157600080fd5b50610390610520366004612588565b610ddc565b34801561053157600080fd5b506103c06105403660046126d7565b610e13565b34801561055157600080fd5b506103c06105603660046124e0565b610e85565b34801561057157600080fd5b506103c0610580366004612772565b610edd565b34801561059157600080fd5b5060075461039090600160b01b900460ff1681565b3480156105b257600080fd5b506103c06105c136600461278b565b610f23565b3480156105d257600080fd5b506103c06105e136600461255a565b610f83565b3480156105f257600080fd5b5061039061060136600461249f565b601c6020526000908152604090205460ff1681565b34801561062257600080fd5b50610418600a5481565b34801561063857600080fd5b50610418600b5481565b34801561064e57600080fd5b5061041860095481565b34801561066457600080fd5b5061041861067336600461249f565b6001600160a01b031660009081526020819052604090205490565b34801561069a57600080fd5b506103c0610fd8565b3480156106af57600080fd5b506012546013546014546015546106c69392919084565b604080519485526020850193909352918301526060820152608001610367565b3480156106f257600080fd5b50600f546104cd906001600160a01b031681565b34801561071257600080fd5b506103c061072136600461270c565b61100e565b34801561073257600080fd5b506103c06107413660046125b4565b611056565b34801561075257600080fd5b506104cd61dead81565b34801561076857600080fd5b506103c0610777366004612588565b6110e7565b34801561078857600080fd5b506005546001600160a01b03166104cd565b3480156107a657600080fd5b506010546104cd906001600160a01b031681565b3480156107c657600080fd5b5061035a611197565b3480156107db57600080fd5b506103c06107ea366004612772565b6111a6565b3480156107fb57600080fd5b5061039061080a366004612588565b61120e565b34801561081b57600080fd5b506007546104cd906001600160a01b031681565b34801561083b57600080fd5b5061039061084a366004612588565b6112a9565b34801561085b57600080fd5b506103c061086a36600461249f565b6112b6565b34801561087b57600080fd5b506103c061088a36600461255a565b611302565b34801561089b57600080fd5b506103906108aa36600461249f565b601a6020526000908152604090205460ff1681565b3480156108cb57600080fd5b506103c06108da36600461249f565b611357565b3480156108eb57600080fd5b50610418601f5481565b34801561090157600080fd5b506103c0610910366004612772565b6113a3565b34801561092157600080fd5b506104186109303660046124e0565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b34801561096757600080fd5b506103c061097636600461270c565b6113e9565b34801561098757600080fd5b506103c06109963660046126b9565b611431565b3480156109a757600080fd5b50601e546103909060ff1681565b3480156109c157600080fd5b506103c06109d036600461249f565b61147d565b3480156109e157600080fd5b506016546017546018546019546106c69392919084565b348015610a0457600080fd5b506006546104cd906001600160a01b031681565b348015610a2457600080fd5b5060075461039090600160a81b900460ff1681565b348015610a4557600080fd5b50610390610a5436600461249f565b601b6020526000908152604090205460ff1681565b606060038054610a7890612a65565b80601f0160208091040260200160405190810160405280929190818152602001828054610aa490612a65565b8015610af15780601f10610ac657610100808354040283529160200191610af1565b820191906000526020600020905b815481529060010190602001808311610ad457829003601f168201915b5050505050905090565b6000610b08338484611518565b5060015b92915050565b6005546001600160a01b03163314610b455760405162461bcd60e51b8152600401610b3c90612830565b60405180910390fd5b60005b8251811015610bac5781601a6000858481518110610b6857610b68612ad1565b6020908102919091018101516001600160a01b03168252810191909152604001600020805460ff191691151591909117905580610ba481612aa0565b915050610b48565b505050565b6005546001600160a01b03163314610bdb5760405162461bcd60e51b8152600401610b3c90612830565b60078054911515600160a81b0260ff60a81b19909216919091179055565b6005546001600160a01b03163314610c235760405162461bcd60e51b8152600401610b3c90612830565b60005b8251811015610bac5781601b6000858481518110610c4657610c46612ad1565b6020908102919091018101516001600160a01b03168252810191909152604001600020805460ff191691151591909117905580610c8281612aa0565b915050610c26565b6005546001600160a01b03163314610cb45760405162461bcd60e51b8152600401610b3c90612830565b601080546001600160a01b0319166001600160a01b0392909216919091179055565b6000610ce384848461163c565b6001600160a01b038416600090815260016020908152604080832033845290915290205482811015610d685760405162461bcd60e51b815260206004820152602860248201527f45524332303a207472616e7366657220616d6f756e74206578636565647320616044820152676c6c6f77616e636560c01b6064820152608401610b3c565b610d7c8533610d778685612a4e565b611518565b506001949350505050565b6005546001600160a01b03163314610db15760405162461bcd60e51b8152600401610b3c90612830565b6001600160a01b03919091166000908152601a60205260409020805460ff1916911515919091179055565b3360008181526001602090815260408083206001600160a01b03871684529091528120549091610b08918590610d77908690612907565b6005546001600160a01b03163314610e3d5760405162461bcd60e51b8152600401610b3c90612830565b600d829055600e8190556007805461ffff60a81b1916600160b01b85151590810260ff60a81b191691909117600160a81b82021790915560011415610bac5743600c55505050565b6005546001600160a01b03163314610eaf5760405162461bcd60e51b8152600401610b3c90612830565b600680546001600160a01b039384166001600160a01b03199182161790915560078054929093169116179055565b6005546001600160a01b03163314610f075760405162461bcd60e51b8152600401610b3c90612830565b610f136012600a612984565b610f1d9082612a2f565b60085550565b6005546001600160a01b03163314610f4d5760405162461bcd60e51b8152600401610b3c90612830565b610f596012600a612984565b610f639083612a2f565b600955610f726012600a612984565b610f7c9082612a2f565b600a555050565b6005546001600160a01b03163314610fad5760405162461bcd60e51b8152600401610b3c90612830565b6001600160a01b03919091166000908152601b60205260409020805460ff1916911515919091179055565b6005546001600160a01b031633146110025760405162461bcd60e51b8152600401610b3c90612830565b61100c6000611d4f565b565b6005546001600160a01b031633146110385760405162461bcd60e51b8152600401610b3c90612830565b80516016556020810151601755604081015160185560600151601955565b6005546001600160a01b031633146110805760405162461bcd60e51b8152600401610b3c90612830565b60005b8251811015610bac5781601c60008584815181106110a3576110a3612ad1565b6020908102919091018101516001600160a01b03168252810191909152604001600020805460ff1916911515919091179055806110df81612aa0565b915050611083565b6005546001600160a01b031633146111115760405162461bcd60e51b8152600401610b3c90612830565b60105460405163a9059cbb60e01b81526001600160a01b039182166004820152602481018390529083169063a9059cbb90604401602060405180830381600087803b15801561115f57600080fd5b505af1158015611173573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610bac919061269c565b606060048054610a7890612a65565b6005546001600160a01b031633146111d05760405162461bcd60e51b8152600401610b3c90612830565b6010546040516001600160a01b039091169082156108fc029083906000818181858888f1935050505015801561120a573d6000803e3d6000fd5b5050565b3360009081526001602090815260408083206001600160a01b0386168452909152812054828110156112905760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b6064820152608401610b3c565b61129f3385610d778685612a4e565b5060019392505050565b6000610b0833848461163c565b6005546001600160a01b031633146112e05760405162461bcd60e51b8152600401610b3c90612830565b600f80546001600160a01b0319166001600160a01b0392909216919091179055565b6005546001600160a01b0316331461132c5760405162461bcd60e51b8152600401610b3c90612830565b6001600160a01b03919091166000908152601c60205260409020805460ff1916911515919091179055565b6005546001600160a01b031633146113815760405162461bcd60e51b8152600401610b3c90612830565b601180546001600160a01b0319166001600160a01b0392909216919091179055565b6005546001600160a01b031633146113cd5760405162461bcd60e51b8152600401610b3c90612830565b6113d96012600a612984565b6113e39082612a2f565b600b5550565b6005546001600160a01b031633146114135760405162461bcd60e51b8152600401610b3c90612830565b80516012556020810151601355604081015160145560600151601555565b6005546001600160a01b0316331461145b5760405162461bcd60e51b8152600401610b3c90612830565b611466816001612a2f565b601f5550601e805460ff1916911515919091179055565b6005546001600160a01b031633146114a75760405162461bcd60e51b8152600401610b3c90612830565b6001600160a01b03811661150c5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610b3c565b61151581611d4f565b50565b6001600160a01b03831661157a5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610b3c565b6001600160a01b0382166115db5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610b3c565b6001600160a01b0383811660008181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6000811161169e5760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b6064820152608401610b3c565b6001600160a01b0383166000908152601b602052604090205460ff161580156116e057506001600160a01b0382166000908152601b602052604090205460ff16155b61172c5760405162461bcd60e51b815260206004820152601960248201527f596f752063616e2774207472616e7366657220746f6b656e73000000000000006044820152606401610b3c565b6001600160a01b0383166000908152601a602052604090205460ff1615801561176e57506001600160a01b0382166000908152601a602052604090205460ff16155b156117c257600754600160b01b900460ff166117c25760405162461bcd60e51b8152602060048201526013602482015272151c98591a5b99c81b9bdd08195b98589b1959606a1b6044820152606401610b3c565b6007546001600160a01b0384811691161480156117f857506001600160a01b0382166000908152601a602052604090205460ff16155b801561180e5750600754600160a01b900460ff16155b156118e0576009548111156118655760405162461bcd60e51b815260206004820152601d60248201527f596f752061726520657863656564696e67206d61784275794c696d69740000006044820152606401610b3c565b600b5481611888846001600160a01b031660009081526020819052604090205490565b6118929190612907565b11156118e05760405162461bcd60e51b815260206004820181905260248201527f596f752061726520657863656564696e67206d617857616c6c65744c696d69746044820152606401610b3c565b6007546001600160a01b0384811691161480159061191757506001600160a01b0382166000908152601a602052604090205460ff16155b801561193c57506001600160a01b0383166000908152601a602052604090205460ff16155b80156119525750600754600160a01b900460ff16155b15611acb57600a548111156119a95760405162461bcd60e51b815260206004820152601e60248201527f596f752061726520657863656564696e67206d617853656c6c4c696d697400006044820152606401610b3c565b6007546001600160a01b03838116911614611a3957600b54816119e1846001600160a01b031660009081526020819052604090205490565b6119eb9190612907565b1115611a395760405162461bcd60e51b815260206004820181905260248201527f596f752061726520657863656564696e67206d617857616c6c65744c696d69746044820152606401610b3c565b601e5460ff1615611acb576001600160a01b0383166000908152601d6020526040812054611a679042612a4e565b9050601f54811015611aae5760405162461bcd60e51b815260206004820152601060248201526f10dbdbdb191bdddb88195b98589b195960821b6044820152606401610b3c565b506001600160a01b0383166000908152601d602052604090204290555b6000806000611afb6040518060800160405280600081526020016000815260200160008152602001600081525090565b6001600160a01b0387166000908152601a602052604081205460ff16158015611b3d57506001600160a01b0387166000908152601a602052604090205460ff16155b8015611b575750600d54600c54611b549190612907565b43105b600754909150600160a01b900460ff1680611b8a57506001600160a01b0388166000908152601a602052604090205460ff165b80611bad57506001600160a01b0387166000908152601a602052604090205460ff165b15611bbb5760009250611caf565b6007546001600160a01b038881169116148015611bd6575080155b15611c3b57601954601854601654601754611bf19190612907565b611bfb9190612907565b611c059190612907565b60408051608081018252601654815260175460208201526018549181019190915260195460608201529095508594509150611caf565b80611ca057601554601454601254601354611c569190612907565b611c609190612907565b611c6a9190612907565b60408051608081018252601254815260135460208201526014549181019190915260155460608201529095508594509150611caf565b8015611caf57600e5494508493505b6064611cbb8588612a2f565b611cc5919061291f565b600754909350600160a81b900460ff168015611cef57506007546001600160a01b03898116911614155b15611cfe57611cfe8583611da1565b611d128888611d0d868a612a4e565b611f51565b8215611d45578415611d455760006064611d2c8789612a2f565b611d36919061291f565b9050611d43893083611f51565b505b5050505050505050565b600580546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b600754600160a01b900460ff1661120a576007805460ff60a01b1916600160a01b1790553060009081526020819052604081205490506008548110611f3f5760016008541115611df057506008545b6000611dfd846002612a2f565b9050600081846020015184611e129190612a2f565b611e1c919061291f565b90506000611e2a8285612a4e565b905047611e3682612129565b6000611e428247612a4e565b90506000876020015186611e569190612a4e565b611e60908361291f565b90506000886020015182611e749190612a2f565b90508015611e8657611e868682612292565b8851600090611e96846002612a2f565b611ea09190612a2f565b90508015611ebe57600f54611ebe906001600160a01b031682612376565b60408a0151600090611ed1856002612a2f565b611edb9190612a2f565b90508015611ef957601154611ef9906001600160a01b031682612376565b60608b0151600090611f0c866002612a2f565b611f169190612a2f565b90508015611f3457601054611f34906001600160a01b031682612376565b505050505050505050505b506007805460ff60a01b191690555050565b6001600160a01b038316611fb55760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610b3c565b6001600160a01b0382166120175760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610b3c565b6001600160a01b0383166000908152602081905260409020548181101561208f5760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b6064820152608401610b3c565b6120998282612a4e565b6001600160a01b0380861660009081526020819052604080822093909355908516815290812080548492906120cf908490612907565b92505081905550826001600160a01b0316846001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405161211b91815260200190565b60405180910390a350505050565b604080516002808252606082018352600092602083019080368337019050509050308160008151811061215e5761215e612ad1565b6001600160a01b03928316602091820292909201810191909152600654604080516315ab88c960e31b81529051919093169263ad5c4648926004808301939192829003018186803b1580156121b257600080fd5b505afa1580156121c6573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906121ea91906124c3565b816001815181106121fd576121fd612ad1565b6001600160a01b0392831660209182029290920101526006546122239130911684611518565b60065460405163791ac94760e01b81526001600160a01b039091169063791ac9479061225c908590600090869030904290600401612865565b600060405180830381600087803b15801561227657600080fd5b505af115801561228a573d6000803e3d6000fd5b505050505050565b6006546122aa9030906001600160a01b031684611518565b6006546001600160a01b031663f305d7198230856000806122d36005546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c4016060604051808303818588803b15801561233657600080fd5b505af115801561234a573d6000803e3d6000fd5b50505050506040513d601f19601f8201168201806040525081019061236f91906127ad565b5050505050565b804710156123c65760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a20696e73756666696369656e742062616c616e63650000006044820152606401610b3c565b6000826001600160a01b03168260405160006040518083038185875af1925050503d8060008114612413576040519150601f19603f3d011682016040523d82523d6000602084013e612418565b606091505b5050905080610bac5760405162461bcd60e51b815260206004820152603a60248201527f416464726573733a20756e61626c6520746f2073656e642076616c75652c207260448201527f6563697069656e74206d617920686176652072657665727465640000000000006064820152608401610b3c565b803561249a81612b12565b919050565b6000602082840312156124b157600080fd5b81356124bc81612afd565b9392505050565b6000602082840312156124d557600080fd5b81516124bc81612afd565b600080604083850312156124f357600080fd5b82356124fe81612afd565b9150602083013561250e81612afd565b809150509250929050565b60008060006060848603121561252e57600080fd5b833561253981612afd565b9250602084013561254981612afd565b929592945050506040919091013590565b6000806040838503121561256d57600080fd5b823561257881612afd565b9150602083013561250e81612b12565b6000806040838503121561259b57600080fd5b82356125a681612afd565b946020939093013593505050565b600080604083850312156125c757600080fd5b823567ffffffffffffffff808211156125df57600080fd5b818501915085601f8301126125f357600080fd5b813560208282111561260757612607612ae7565b8160051b92506126188184016128d6565b8281528181019085830185870184018b101561263357600080fd5b600096505b84871015612662578035955061264d86612afd565b85835260019690960195918301918301612638565b509650612672905087820161248f565b9450505050509250929050565b60006020828403121561269157600080fd5b81356124bc81612b12565b6000602082840312156126ae57600080fd5b81516124bc81612b12565b600080604083850312156126cc57600080fd5b82356125a681612b12565b6000806000606084860312156126ec57600080fd5b83356126f781612b12565b95602085013595506040909401359392505050565b60006080828403121561271e57600080fd5b6040516080810181811067ffffffffffffffff8211171561274157612741612ae7565b8060405250823581526020830135602082015260408301356040820152606083013560608201528091505092915050565b60006020828403121561278457600080fd5b5035919050565b6000806040838503121561279e57600080fd5b50508035926020909101359150565b6000806000606084860312156127c257600080fd5b8351925060208401519150604084015190509250925092565b600060208083528351808285015260005b81811015612808578581018301518582016040015282016127ec565b8181111561281a576000604083870101525b50601f01601f1916929092016040019392505050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156128b55784516001600160a01b031683529383019391830191600101612890565b50506001600160a01b03969096166060850152505050608001529392505050565b604051601f8201601f1916810167ffffffffffffffff811182821017156128ff576128ff612ae7565b604052919050565b6000821982111561291a5761291a612abb565b500190565b60008261293c57634e487b7160e01b600052601260045260246000fd5b500490565b600181815b8085111561297c57816000190482111561296257612962612abb565b8085161561296f57918102915b93841c9390800290612946565b509250929050565b60006124bc60ff84168360008261299d57506001610b0c565b816129aa57506000610b0c565b81600181146129c057600281146129ca576129e6565b6001915050610b0c565b60ff8411156129db576129db612abb565b50506001821b610b0c565b5060208310610133831016604e8410600b8410161715612a09575081810a610b0c565b612a138383612941565b8060001904821115612a2757612a27612abb565b029392505050565b6000816000190483118215151615612a4957612a49612abb565b500290565b600082821015612a6057612a60612abb565b500390565b600181811c90821680612a7957607f821691505b60208210811415612a9a57634e487b7160e01b600052602260045260246000fd5b50919050565b6000600019821415612ab457612ab4612abb565b5060010190565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052604160045260246000fd5b6001600160a01b038116811461151557600080fd5b801515811461151557600080fdfea2646970667358221220e195d18e58966e7a13e6f83041f3065ca39fba269a1ec406ccf0360178e281cd64736f6c63430008070033
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d
-----Decoded View---------------
Arg [0] : routerAdd (address): 0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D
-----Encoded View---------------
1 Constructor Arguments found :
Arg [0] : 0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d
Deployed Bytecode Sourcemap
13773:13796:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2549:100;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;16821:161;;;;;;;;;;-1:-1:-1;16821:161:0;;;;;:::i;:::-;;:::i;:::-;;;7378:14:1;;7371:22;7353:41;;7341:2;7326:18;16821:161:0;7213:187:1;26718:202:0;;;;;;;;;;-1:-1:-1;26718:202:0;;;;;:::i;:::-;;:::i;:::-;;24288:152;;;;;;;;;;-1:-1:-1;24288:152:0;;;;;:::i;:::-;;:::i;26012:210::-;;;;;;;;;;-1:-1:-1;26012:210:0;;;;;:::i;:::-;;:::i;14041:57::-;;;;;;;;;;;;;;;;;;;15304:25:1;;;15292:2;15277:18;14041:57:0;15158:177:1;3669:108:0;;;;;;;;;;-1:-1:-1;3757:12:0;;3669:108;;25606:103;;;;;;;;;;-1:-1:-1;25606:103:0;;;;;:::i;:::-;;:::i;16990:448::-;;;;;;;;;;-1:-1:-1;16990:448:0;;;;;:::i;:::-;;:::i;14273:28::-;;;;;;;;;;;;;;;;3511:93;;;;;;;;;;-1:-1:-1;3511:93:0;;3594:2;16863:36:1;;16851:2;16836:18;3511:93:0;16721:184:1;14531:72:0;;;;;;;;;;-1:-1:-1;14531:72:0;;;;-1:-1:-1;;;;;14531:72:0;;;;;;-1:-1:-1;;;;;6278:32:1;;;6260:51;;6248:2;6233:18;14531:72:0;6114:203:1;26590:120:0;;;;;;;;;;-1:-1:-1;26590:120:0;;;;;:::i;:::-;;:::i;17446:248::-;;;;;;;;;;-1:-1:-1;17446:248:0;;;;;:::i;:::-;;:::i;25024:334::-;;;;;;;;;;-1:-1:-1;25024:334:0;;;;;:::i;:::-;;:::i;24861:155::-;;;;;;;;;;-1:-1:-1;24861:155:0;;;;;:::i;:::-;;:::i;24448:177::-;;;;;;;;;;-1:-1:-1;24448:177:0;;;;;:::i;:::-;;:::i;13998:34::-;;;;;;;;;;-1:-1:-1;13998:34:0;;;;-1:-1:-1;;;13998:34:0;;;;;;26928:184;;;;;;;;;;-1:-1:-1;26928:184:0;;;;;:::i;:::-;;:::i;25878:126::-;;;;;;;;;;-1:-1:-1;25878:126:0;;;;;:::i;:::-;;:::i;15023:47::-;;;;;;;;;;-1:-1:-1;15023:47:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;14159:48;;;;;;;;;;;;;;;;14214:50;;;;;;;;;;;;;;;;14105:47;;;;;;;;;;;;;;;;3840:127;;;;;;;;;;-1:-1:-1;3840:127:0;;;;;:::i;:::-;-1:-1:-1;;;;;3941:18:0;3914:7;3941:18;;;;;;;;;;;;3840:127;12436:94;;;;;;;;;;;;;:::i;14827:38::-;;;;;;;;;;-1:-1:-1;14827:38:0;;;;;;;;;;;;;;;;;;;16556:25:1;;;16612:2;16597:18;;16590:34;;;;16640:18;;;16633:34;16698:2;16683:18;;16676:34;16543:3;16528:19;14827:38:0;16325:391:1;14373:75:0;;;;;;;;;;-1:-1:-1;14373:75:0;;;;-1:-1:-1;;;;;14373:75:0;;;24739:114;;;;;;;;;;-1:-1:-1;24739:114:0;;;;;:::i;:::-;;:::i;26368:214::-;;;;;;;;;;-1:-1:-1;26368:214:0;;;;;:::i;:::-;;:::i;14607:79::-;;;;;;;;;;;;14644:42;14607:79;;27374:137;;;;;;;;;;-1:-1:-1;27374:137:0;;;;;:::i;:::-;;:::i;12213:87::-;;;;;;;;;;-1:-1:-1;12286:6:0;;-1:-1:-1;;;;;12286:6:0;12213:87;;14455:69;;;;;;;;;;-1:-1:-1;14455:69:0;;;;-1:-1:-1;;;;;14455:69:0;;;2768:104;;;;;;;;;;;;;:::i;27252:114::-;;;;;;;;;;-1:-1:-1;27252:114:0;;;;;:::i;:::-;;:::i;17702:410::-;;;;;;;;;;-1:-1:-1;17702:410:0;;;;;:::i;:::-;;:::i;13882:19::-;;;;;;;;;;-1:-1:-1;13882:19:0;;;;-1:-1:-1;;;;;13882:19:0;;;18120:165;;;;;;;;;;-1:-1:-1;18120:165:0;;;;;:::i;:::-;;:::i;25366:115::-;;;;;;;;;;-1:-1:-1;25366:115:0;;;;;:::i;:::-;;:::i;26230:130::-;;;;;;;;;;-1:-1:-1;26230:130:0;;;;;:::i;:::-;;:::i;14923:41::-;;;;;;;;;;-1:-1:-1;14923:41:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;25489:109;;;;;;;;;;-1:-1:-1;25489:109:0;;;;;:::i;:::-;;:::i;15189:40::-;;;;;;;;;;;;;;;;27120:124;;;;;;;;;;-1:-1:-1;27120:124:0;;;;;:::i;:::-;;:::i;4459:201::-;;;;;;;;;;-1:-1:-1;4459:201:0;;;;;:::i;:::-;-1:-1:-1;;;;;4625:18:0;;;4593:7;4625:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;4459:201;24633:98;;;;;;;;;;-1:-1:-1;24633:98:0;;;;;:::i;:::-;;:::i;25717:153::-;;;;;;;;;;-1:-1:-1;25717:153:0;;;;;:::i;:::-;;:::i;15148:34::-;;;;;;;;;;-1:-1:-1;15148:34:0;;;;;;;;12538:192;;;;;;;;;;-1:-1:-1;12538:192:0;;;;;:::i;:::-;;:::i;14872:42::-;;;;;;;;;;-1:-1:-1;14872:42:0;;;;;;;;;;;;;;;13854:21;;;;;;;;;;-1:-1:-1;13854:21:0;;;;-1:-1:-1;;;;;13854:21:0;;;13953:38;;;;;;;;;;-1:-1:-1;13953:38:0;;;;-1:-1:-1;;;13953:38:0;;;;;;14971:45;;;;;;;;;;-1:-1:-1;14971:45:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;2549:100;2603:13;2636:5;2629:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2549:100;:::o;16821:161::-;16896:4;16913:39;351:10;16936:7;16945:6;16913:8;:39::i;:::-;-1:-1:-1;16970:4:0;16821:161;;;;;:::o;26718:202::-;12286:6;;-1:-1:-1;;;;;12286:6:0;351:10;12348:23;12340:68;;;;-1:-1:-1;;;12340:68:0;;;;;;;:::i;:::-;;;;;;;;;26815:9:::1;26810:103;26834:8;:15;26830:1;:19;26810:103;;;26896:5;26871:9;:22;26881:8;26890:1;26881:11;;;;;;;;:::i;:::-;;::::0;;::::1;::::0;;;;;;;-1:-1:-1;;;;;26871:22:0::1;::::0;;;::::1;::::0;;;;;;-1:-1:-1;26871:22:0;:30;;-1:-1:-1;;26871:30:0::1;::::0;::::1;;::::0;;;::::1;::::0;;26851:3;::::1;::::0;::::1;:::i;:::-;;;;26810:103;;;;26718:202:::0;;:::o;24288:152::-;12286:6;;-1:-1:-1;;;;;12286:6:0;351:10;12348:23;12340:68;;;;-1:-1:-1;;;12340:68:0;;;;;;;:::i;:::-;24406:18:::1;:26:::0;;;::::1;;-1:-1:-1::0;;;24406:26:0::1;-1:-1:-1::0;;;;24406:26:0;;::::1;::::0;;;::::1;::::0;;24288:152::o;26012:210::-;12286:6;;-1:-1:-1;;;;;12286:6:0;351:10;12348:23;12340:68;;;;-1:-1:-1;;;12340:68:0;;;;;;;:::i;:::-;26113:9:::1;26108:107;26132:8;:15;26128:1;:19;26108:107;;;26198:5;26169:13;:26;26183:8;26192:1;26183:11;;;;;;;;:::i;:::-;;::::0;;::::1;::::0;;;;;;;-1:-1:-1;;;;;26169:26:0::1;::::0;;;::::1;::::0;;;;;;-1:-1:-1;26169:26:0;:34;;-1:-1:-1;;26169:34:0::1;::::0;::::1;;::::0;;;::::1;::::0;;26149:3;::::1;::::0;::::1;:::i;:::-;;;;26108:107;;25606:103:::0;12286:6;;-1:-1:-1;;;;;12286:6:0;351:10;12348:23;12340:68;;;;-1:-1:-1;;;12340:68:0;;;;;;;:::i;:::-;25680:9:::1;:21:::0;;-1:-1:-1;;;;;;25680:21:0::1;-1:-1:-1::0;;;;;25680:21:0;;;::::1;::::0;;;::::1;::::0;;25606:103::o;16990:448::-;17122:4;17139:36;17149:6;17157:9;17168:6;17139:9;:36::i;:::-;-1:-1:-1;;;;;17215:19:0;;17188:24;17215:19;;;:11;:19;;;;;;;;351:10;17215:33;;;;;;;;17267:26;;;;17259:79;;;;-1:-1:-1;;;17259:79:0;;11557:2:1;17259:79:0;;;11539:21:1;11596:2;11576:18;;;11569:30;11635:34;11615:18;;;11608:62;-1:-1:-1;;;11686:18:1;;;11679:38;11734:19;;17259:79:0;11355:404:1;17259:79:0;17349:57;17358:6;351:10;17380:25;17399:6;17380:16;:25;:::i;:::-;17349:8;:57::i;:::-;-1:-1:-1;17426:4:0;;16990:448;-1:-1:-1;;;;16990:448:0:o;26590:120::-;12286:6;;-1:-1:-1;;;;;12286:6:0;351:10;12348:23;12340:68;;;;-1:-1:-1;;;12340:68:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;26675:19:0;;;::::1;;::::0;;;:9:::1;:19;::::0;;;;:27;;-1:-1:-1;;26675:27:0::1;::::0;::::1;;::::0;;;::::1;::::0;;26590:120::o;17446:248::-;351:10;17562:4;17616:25;;;:11;:25;;;;;;;;-1:-1:-1;;;;;17616:34:0;;;;;;;;;;17562:4;;17584:80;;17607:7;;17616:47;;17653:10;;17616:47;:::i;25024:334::-;12286:6;;-1:-1:-1;;;;;12286:6:0;351:10;12348:23;12340:68;;;;-1:-1:-1;;;12340:68:0;;;;;;;:::i;:::-;25169:8:::1;:20:::0;;;25200:9:::1;:22:::0;;;25233:14:::1;:22:::0;;-1:-1:-1;;;;25266:26:0;-1:-1:-1;;;25233:22:0;::::1;;::::0;;::::1;-1:-1:-1::0;;;;25266:26:0;;;;;-1:-1:-1;;;25266:26:0;::::1;;::::0;;;-1:-1:-1;25307:13:0::1;25303:47;;;25338:12;25322:13;:28:::0;25024:334;;;:::o;24861:155::-;12286:6;;-1:-1:-1;;;;;12286:6:0;351:10;12348:23;12340:68;;;;-1:-1:-1;;;12340:68:0;;;;;;;:::i;:::-;24956:6:::1;:27:::0;;-1:-1:-1;;;;;24956:27:0;;::::1;-1:-1:-1::0;;;;;;24956:27:0;;::::1;;::::0;;;24994:4:::1;:14:::0;;;;;::::1;::::0;::::1;;::::0;;24861:155::o;24448:177::-;12286:6;;-1:-1:-1;;;;;12286:6:0;351:10;12348:23;12340:68;;;;-1:-1:-1;;;12340:68:0;;;;;;;:::i;:::-;24603:14:::1;3594:2:::0;24603::::1;:14;:::i;:::-;24590:27;::::0;:10;:27:::1;:::i;:::-;24564:23;:53:::0;-1:-1:-1;24448:177:0:o;26928:184::-;12286:6;;-1:-1:-1;;;;;12286:6:0;351:10;12348:23;12340:68;;;;-1:-1:-1;;;12340:68:0;;;;;;;:::i;:::-;27040:14:::1;3594:2:::0;27040::::1;:14;:::i;:::-;27031:23;::::0;:6;:23:::1;:::i;:::-;27017:11;:37:::0;27090:14:::1;3594:2:::0;27090::::1;:14;:::i;:::-;27080:24;::::0;:7;:24:::1;:::i;:::-;27065:12;:39:::0;-1:-1:-1;;26928:184:0:o;25878:126::-;12286:6;;-1:-1:-1;;;;;12286:6:0;351:10;12348:23;12340:68;;;;-1:-1:-1;;;12340:68:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;25966:22:0;;;::::1;;::::0;;;:13:::1;:22;::::0;;;;:30;;-1:-1:-1;;25966:30:0::1;::::0;::::1;;::::0;;;::::1;::::0;;25878:126::o;12436:94::-;12286:6;;-1:-1:-1;;;;;12286:6:0;351:10;12348:23;12340:68;;;;-1:-1:-1;;;12340:68:0;;;;;;;:::i;:::-;12501:21:::1;12519:1;12501:9;:21::i;:::-;12436:94::o:0;24739:114::-;12286:6;;-1:-1:-1;;;;;12286:6:0;351:10;12348:23;12340:68;;;;-1:-1:-1;;;12340:68:0;;;;;;;:::i;:::-;24821:24;;:9:::1;:24:::0;::::1;::::0;::::1;::::0;;;::::1;::::0;::::1;::::0;;;::::1;;::::0;;;24739:114::o;26368:214::-;12286:6;;-1:-1:-1;;;;;12286:6:0;351:10;12348:23;12340:68;;;;-1:-1:-1;;;12340:68:0;;;;;;;:::i;:::-;26471:9:::1;26466:109;26490:8;:15;26486:1;:19;26466:109;;;26558:5;26527:15;:28;26543:8;26552:1;26543:11;;;;;;;;:::i;:::-;;::::0;;::::1;::::0;;;;;;;-1:-1:-1;;;;;26527:28:0::1;::::0;;;::::1;::::0;;;;;;-1:-1:-1;26527:28:0;:36;;-1:-1:-1;;26527:36:0::1;::::0;::::1;;::::0;;;::::1;::::0;;26507:3;::::1;::::0;::::1;:::i;:::-;;;;26466:109;;27374:137:::0;12286:6;;-1:-1:-1;;;;;12286:6:0;351:10;12348:23;12340:68;;;;-1:-1:-1;;;12340:68:0;;;;;;;:::i;:::-;27485:9:::1;::::0;27459:44:::1;::::0;-1:-1:-1;;;27459:44:0;;-1:-1:-1;;;;;27485:9:0;;::::1;27459:44;::::0;::::1;6496:51:1::0;6563:18;;;6556:34;;;27459:25:0;;::::1;::::0;::::1;::::0;6469:18:1;;27459:44:0::1;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;2768:104::-:0;2824:13;2857:7;2850:14;;;;;:::i;27252:114::-;12286:6;;-1:-1:-1;;;;;12286:6:0;351:10;12348:23;12340:68;;;;-1:-1:-1;;;12340:68:0;;;;;;;:::i;:::-;27328:9:::1;::::0;27320:38:::1;::::0;-1:-1:-1;;;;;27328:9:0;;::::1;::::0;27320:38;::::1;;;::::0;27348:9;;27328::::1;27320:38:::0;27328:9;27320:38;27348:9;27328;27320:38;::::1;;;;;;;;;;;;;::::0;::::1;;;;;;27252:114:::0;:::o;17702:410::-;351:10;17823:4;17872:25;;;:11;:25;;;;;;;;-1:-1:-1;;;;;17872:34:0;;;;;;;;;;17925:35;;;;17917:85;;;;-1:-1:-1;;;17917:85:0;;14954:2:1;17917:85:0;;;14936:21:1;14993:2;14973:18;;;14966:30;15032:34;15012:18;;;15005:62;-1:-1:-1;;;15083:18:1;;;15076:35;15128:19;;17917:85:0;14752:401:1;17917:85:0;18013:67;351:10;18036:7;18045:34;18064:15;18045:16;:34;:::i;18013:67::-;-1:-1:-1;18100:4:0;;17702:410;-1:-1:-1;;;17702:410:0:o;18120:165::-;18198:4;18215:40;18225:10;18237:9;18248:6;18215:9;:40::i;25366:115::-;12286:6;;-1:-1:-1;;;;;12286:6:0;351:10;12348:23;12340:68;;;;-1:-1:-1;;;12340:68:0;;;;;;;:::i;:::-;25446:15:::1;:27:::0;;-1:-1:-1;;;;;;25446:27:0::1;-1:-1:-1::0;;;;;25446:27:0;;;::::1;::::0;;;::::1;::::0;;25366:115::o;26230:130::-;12286:6;;-1:-1:-1;;;;;12286:6:0;351:10;12348:23;12340:68;;;;-1:-1:-1;;;12340:68:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;26320:24:0;;;::::1;;::::0;;;:15:::1;:24;::::0;;;;:32;;-1:-1:-1;;26320:32:0::1;::::0;::::1;;::::0;;;::::1;::::0;;26230:130::o;25489:109::-;12286:6;;-1:-1:-1;;;;;12286:6:0;351:10;12348:23;12340:68;;;;-1:-1:-1;;;12340:68:0;;;;;;;:::i;:::-;25566:12:::1;:24:::0;;-1:-1:-1;;;;;;25566:24:0::1;-1:-1:-1::0;;;;;25566:24:0;;;::::1;::::0;;;::::1;::::0;;25489:109::o;27120:124::-;12286:6;;-1:-1:-1;;;;;12286:6:0;351:10;12348:23;12340:68;;;;-1:-1:-1;;;12340:68:0;;;;;;;:::i;:::-;27222:14:::1;3594:2:::0;27222::::1;:14;:::i;:::-;27213:23;::::0;:6;:23:::1;:::i;:::-;27196:14;:40:::0;-1:-1:-1;27120:124:0:o;24633:98::-;12286:6;;-1:-1:-1;;;;;12286:6:0;351:10;12348:23;12340:68;;;;-1:-1:-1;;;12340:68:0;;;;;;;:::i;:::-;24707:16;;:5:::1;:16:::0;::::1;::::0;::::1;::::0;;;::::1;::::0;::::1;::::0;;;::::1;;::::0;;;24633:98::o;25717:153::-;12286:6;;-1:-1:-1;;;;;12286:6:0;351:10;12348:23;12340:68;;;;-1:-1:-1;;;12340:68:0;;;;;;;:::i;:::-;25812:16:::1;:4:::0;25819:9:::1;25812:16;:::i;:::-;25797:12;:31:::0;-1:-1:-1;25839:15:0::1;:23:::0;;-1:-1:-1;;25839:23:0::1;::::0;::::1;;::::0;;;::::1;::::0;;25717:153::o;12538:192::-;12286:6;;-1:-1:-1;;;;;12286:6:0;351:10;12348:23;12340:68;;;;-1:-1:-1;;;12340:68:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;12627:22:0;::::1;12619:73;;;::::0;-1:-1:-1;;;12619:73:0;;9194:2:1;12619:73:0::1;::::0;::::1;9176:21:1::0;9233:2;9213:18;;;9206:30;9272:34;9252:18;;;9245:62;-1:-1:-1;;;9323:18:1;;;9316:36;9369:19;;12619:73:0::1;8992:402:1::0;12619:73:0::1;12703:19;12713:8;12703:9;:19::i;:::-;12538:192:::0;:::o;10512:380::-;-1:-1:-1;;;;;10648:19:0;;10640:68;;;;-1:-1:-1;;;10640:68:0;;14190:2:1;10640:68:0;;;14172:21:1;14229:2;14209:18;;;14202:30;14268:34;14248:18;;;14241:62;-1:-1:-1;;;14319:18:1;;;14312:34;14363:19;;10640:68:0;13988:400:1;10640:68:0;-1:-1:-1;;;;;10727:21:0;;10719:68;;;;-1:-1:-1;;;10719:68:0;;9601:2:1;10719:68:0;;;9583:21:1;9640:2;9620:18;;;9613:30;9679:34;9659:18;;;9652:62;-1:-1:-1;;;9730:18:1;;;9723:32;9772:19;;10719:68:0;9399:398:1;10719:68:0;-1:-1:-1;;;;;10800:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;10852:32;;15304:25:1;;;10852:32:0;;15277:18:1;10852:32:0;;;;;;;10512:380;;;:::o;18293:3209::-;18443:1;18434:6;:10;18426:64;;;;-1:-1:-1;;;18426:64:0;;12327:2:1;18426:64:0;;;12309:21:1;12366:2;12346:18;;;12339:30;12405:34;12385:18;;;12378:62;-1:-1:-1;;;12456:18:1;;;12449:39;12505:19;;18426:64:0;12125:405:1;18426:64:0;-1:-1:-1;;;;;18524:21:0;;;;;;:13;:21;;;;;;;;18523:22;:51;;;;-1:-1:-1;;;;;;18550:24:0;;;;;;:13;:24;;;;;;;;18549:25;18523:51;18501:126;;;;-1:-1:-1;;;18501:126:0;;13430:2:1;18501:126:0;;;13412:21:1;13469:2;13449:18;;;13442:30;13508:27;13488:18;;;13481:55;13553:18;;18501:126:0;13228:349:1;18501:126:0;-1:-1:-1;;;;;18645:17:0;;;;;;:9;:17;;;;;;;;18644:18;:43;;;;-1:-1:-1;;;;;;18667:20:0;;;;;;:9;:20;;;;;;;;18666:21;18644:43;18640:122;;;18712:14;;-1:-1:-1;;;18712:14:0;;;;18704:46;;;;-1:-1:-1;;;18704:46:0;;12737:2:1;18704:46:0;;;12719:21:1;12776:2;12756:18;;;12749:30;-1:-1:-1;;;12795:18:1;;;12788:49;12854:18;;18704:46:0;12535:343:1;18704:46:0;18788:4;;-1:-1:-1;;;;;18778:14:0;;;18788:4;;18778:14;:39;;;;-1:-1:-1;;;;;;18797:20:0;;;;;;:9;:20;;;;;;;;18796:21;18778:39;:59;;;;-1:-1:-1;18822:15:0;;-1:-1:-1;;;18822:15:0;;;;18821:16;18778:59;18774:311;;;18872:11;;18862:6;:21;;18854:63;;;;-1:-1:-1;;;18854:63:0;;8836:2:1;18854:63:0;;;8818:21:1;8875:2;8855:18;;;8848:30;8914:31;8894:18;;;8887:59;8963:18;;18854:63:0;8634:353:1;18854:63:0;18991:14;;18981:6;18958:20;18968:9;-1:-1:-1;;;;;3941:18:0;3914:7;3941:18;;;;;;;;;;;;3840:127;18958:20;:29;;;;:::i;:::-;:47;;18932:141;;;;-1:-1:-1;;;18932:141:0;;10411:2:1;18932:141:0;;;10393:21:1;;;10430:18;;;10423:30;10489:34;10469:18;;;10462:62;10541:18;;18932:141:0;10209:356:1;18932:141:0;19125:4;;-1:-1:-1;;;;;19115:14:0;;;19125:4;;19115:14;;;;:39;;-1:-1:-1;;;;;;19134:20:0;;;;;;:9;:20;;;;;;;;19133:21;19115:39;:61;;;;-1:-1:-1;;;;;;19159:17:0;;;;;;:9;:17;;;;;;;;19158:18;19115:61;:81;;;;-1:-1:-1;19181:15:0;;-1:-1:-1;;;19181:15:0;;;;19180:16;19115:81;19097:682;;;19241:12;;19231:6;:22;;19223:65;;;;-1:-1:-1;;;19223:65:0;;14595:2:1;19223:65:0;;;14577:21:1;14634:2;14614:18;;;14607:30;14673:32;14653:18;;;14646:60;14723:18;;19223:65:0;14393:354:1;19223:65:0;19320:4;;-1:-1:-1;;;;;19307:17:0;;;19320:4;;19307:17;19303:211;;19408:14;;19398:6;19375:20;19385:9;-1:-1:-1;;;;;3941:18:0;3914:7;3941:18;;;;;;;;;;;;3840:127;19375:20;:29;;;;:::i;:::-;:47;;19345:153;;;;-1:-1:-1;;;19345:153:0;;10411:2:1;19345:153:0;;;10393:21:1;;;10430:18;;;10423:30;10489:34;10469:18;;;10462:62;10541:18;;19345:153:0;10209:356:1;19345:153:0;19532:15;;;;19528:240;;;-1:-1:-1;;;;;19607:17:0;;19568:18;19607:17;;;:9;:17;;;;;;19589:35;;:15;:35;:::i;:::-;19568:56;;19665:12;;19651:10;:26;;19643:55;;;;-1:-1:-1;;;19643:55:0;;13085:2:1;19643:55:0;;;13067:21:1;13124:2;13104:18;;;13097:30;-1:-1:-1;;;13143:18:1;;;13136:46;13199:18;;19643:55:0;12883:340:1;19643:55:0;-1:-1:-1;;;;;;19717:17:0;;;;;;:9;:17;;;;;19737:15;19717:35;;19528:240;19791:15;19817:14;19842:11;19864:25;-1:-1:-1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;19864:25:0;-1:-1:-1;;;;;19923:17:0;;19902;19923;;;:9;:17;;;;;;;;19922:18;:56;;;;-1:-1:-1;;;;;;19958:20:0;;;;;;:9;:20;;;;;;;;19957:21;19922:56;:112;;;;;20026:8;;20010:13;;:24;;;;:::i;:::-;19995:12;:39;19922:112;20122:15;;19902:132;;-1:-1:-1;;;;20122:15:0;;;;;:36;;-1:-1:-1;;;;;;20141:17:0;;;;;;:9;:17;;;;;;;;20122:36;:60;;;-1:-1:-1;;;;;;20162:20:0;;;;;;:9;:20;;;;;;;;20122:60;20118:800;;;20203:1;20197:7;;20118:800;;;20268:4;;-1:-1:-1;;;;;20255:17:0;;;20268:4;;20255:17;:34;;;;;20277:12;20276:13;20255:34;20251:667;;;20463:13;;20411:16;;20463:9;20372:19;20333;;:58;;20372:19;20333:58;:::i;:::-;:94;;;;:::i;:::-;:143;;;;:::i;:::-;20523:24;;;;;;;;20538:9;20523:24;;;;;;;;;;;;;;;;;;;;;;;;20306:170;;-1:-1:-1;20306:170:0;;-1:-1:-1;20523:24:0;-1:-1:-1;20251:667:0;;;20570:12;20565:353;;20728:9;;20696:12;;20728:5;20661:15;20626;;:50;;20661:15;20626:50;:::i;:::-;:82;;;;:::i;:::-;:111;;;;:::i;:::-;20783:20;;;;;;;;20798:5;20783:20;;;;;;;;;;;;;;;;;;;;;;;;20599:138;;-1:-1:-1;20599:138:0;;-1:-1:-1;20783:20:0;-1:-1:-1;20565:353:0;;;20825:12;20821:97;;;20864:9;;;-1:-1:-1;20864:9:0;;-1:-1:-1;20821:97:0;20956:3;20937:15;20946:6;20937;:15;:::i;:::-;20936:23;;;;:::i;:::-;21073:18;;20930:29;;-1:-1:-1;;;;21073:18:0;;;;:36;;;;-1:-1:-1;21105:4:0;;-1:-1:-1;;;;;21095:14:0;;;21105:4;;21095:14;;21073:36;21069:76;;;21111:34;21123:7;21132:12;21111:11;:34::i;:::-;21187:48;21203:6;21211:9;21222:12;21231:3;21222:6;:12;:::i;:::-;21187:15;:48::i;:::-;21250:7;;21246:249;;21322:11;;21318:164;;21354:17;21395:3;21375:16;21384:7;21375:6;:16;:::i;:::-;21374:24;;;;:::i;:::-;21354:44;;21417:49;21433:6;21449:4;21456:9;21417:15;:49::i;:::-;21335:147;21318:164;18415:3087;;;;;18293:3209;;;:::o;12738:173::-;12813:6;;;-1:-1:-1;;;;;12830:17:0;;;-1:-1:-1;;;;;;12830:17:0;;;;;;;12863:40;;12813:6;;;12830:17;12813:6;;12863:40;;12794:16;;12863:40;12783:128;12738:173;:::o;21510:1723::-;15275:15;;-1:-1:-1;;;15275:15:0;;;;15270:125;;15307:15;:22;;-1:-1:-1;;;;15307:22:0;-1:-1:-1;;;15307:22:0;;;21645:4:::1;-1:-1:-1::0;3941:18:0;;;;;;;;;;;21601:50:::1;;21685:23;;21666:15;:42;21662:1564;;21755:1;21729:23;;:27;21725:109;;;-1:-1:-1::0;21795:23:0::1;::::0;21725:109:::1;21905:19;21927:11;:7:::0;21937:1:::1;21927:11;:::i;:::-;21905:33;;21953:32;22047:11;22007:9;:19;;;21989:15;:37;;;;:::i;:::-;21988:70;;;;:::i;:::-;21953:105:::0;-1:-1:-1;22073:14:0::1;22090:42;21953:105:::0;22090:15;:42:::1;:::i;:::-;22073:59:::0;-1:-1:-1;22174:21:0::1;22212:24;22073:59:::0;22212:16:::1;:24::i;:::-;22253:20;22276:38;22300:14:::0;22276:21:::1;:38;:::i;:::-;22253:61;;22329:19;22381:9;:19;;;22367:11;:33;;;;:::i;:::-;22351:50;::::0;:12;:50:::1;:::i;:::-;22329:72;;22416:29;22462:9;:19;;;22448:11;:33;;;;:::i;:::-;22416:65:::0;-1:-1:-1;22502:25:0;;22498:172:::1;;22593:61;22606:24;22632:21;22593:12;:61::i;:::-;22727:19:::0;;22686:20:::1;::::0;22709:15:::1;:11:::0;22723:1:::1;22709:15;:::i;:::-;:37;;;;:::i;:::-;22686:60:::0;-1:-1:-1;22765:16:0;;22761:105:::1;;22810:15;::::0;22802:48:::1;::::0;-1:-1:-1;;;;;22810:15:0::1;22837:12:::0;22802:34:::1;:48::i;:::-;22920:16;::::0;::::1;::::0;22882:17:::1;::::0;22902:15:::1;:11:::0;22916:1:::1;22902:15;:::i;:::-;:34;;;;:::i;:::-;22882:54:::0;-1:-1:-1;22955:13:0;;22951:96:::1;;22997:12;::::0;22989:42:::1;::::0;-1:-1:-1;;;;;22997:12:0::1;23021:9:::0;22989:31:::1;:42::i;:::-;23098:13;::::0;::::1;::::0;23063:14:::1;::::0;23080:15:::1;:11:::0;23094:1:::1;23080:15;:::i;:::-;:31;;;;:::i;:::-;23063:48:::0;-1:-1:-1;23130:10:0;;23126:87:::1;;23169:9;::::0;23161:36:::1;::::0;-1:-1:-1;;;;;23169:9:0::1;23190:6:::0;23161:28:::1;:36::i;:::-;21710:1516;;;;;;;;;;21662:1564;-1:-1:-1::0;15360:15:0;:23;;-1:-1:-1;;;;15360:23:0;;;21510:1723;;:::o;7972:638::-;-1:-1:-1;;;;;8112:20:0;;8104:70;;;;-1:-1:-1;;;8104:70:0;;13784:2:1;8104:70:0;;;13766:21:1;13823:2;13803:18;;;13796:30;13862:34;13842:18;;;13835:62;-1:-1:-1;;;13913:18:1;;;13906:35;13958:19;;8104:70:0;13582:401:1;8104:70:0;-1:-1:-1;;;;;8193:23:0;;8185:71;;;;-1:-1:-1;;;8185:71:0;;8432:2:1;8185:71:0;;;8414:21:1;8471:2;8451:18;;;8444:30;8510:34;8490:18;;;8483:62;-1:-1:-1;;;8561:18:1;;;8554:33;8604:19;;8185:71:0;8230:399:1;8185:71:0;-1:-1:-1;;;;;8353:17:0;;8329:21;8353:17;;;;;;;;;;;8389:23;;;;8381:74;;;;-1:-1:-1;;;8381:74:0;;10004:2:1;8381:74:0;;;9986:21:1;10043:2;10023:18;;;10016:30;10082:34;10062:18;;;10055:62;-1:-1:-1;;;10133:18:1;;;10126:36;10179:19;;8381:74:0;9802:402:1;8381:74:0;8486:22;8502:6;8486:13;:22;:::i;:::-;-1:-1:-1;;;;;8466:17:0;;;:9;:17;;;;;;;;;;;:42;;;;8519:20;;;;;;;;:30;;8543:6;;8466:9;8519:30;;8543:6;;8519:30;:::i;:::-;;;;;;;;8584:9;-1:-1:-1;;;;;8567:35:0;8576:6;-1:-1:-1;;;;;8567:35:0;;8595:6;8567:35;;;;15304:25:1;;15292:2;15277:18;;15158:177;8567:35:0;;;;;;;;8093:517;7972:638;;;:::o;23241:534::-;23391:16;;;23405:1;23391:16;;;;;;;;23367:21;;23391:16;;;;;;;;;;-1:-1:-1;23391:16:0;23367:40;;23436:4;23418;23423:1;23418:7;;;;;;;;:::i;:::-;-1:-1:-1;;;;;23418:23:0;;;:7;;;;;;;;;;:23;;;;23462:6;;:13;;;-1:-1:-1;;;23462:13:0;;;;:6;;;;;:11;;:13;;;;;23418:7;;23462:13;;;;;:6;:13;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;23452:4;23457:1;23452:7;;;;;;;;:::i;:::-;-1:-1:-1;;;;;23452:23:0;;;:7;;;;;;;;;:23;23520:6;;23488:53;;23505:4;;23520:6;23529:11;23488:8;:53::i;:::-;23580:6;;:187;;-1:-1:-1;;;23580:187:0;;-1:-1:-1;;;;;23580:6:0;;;;:57;;:187;;23652:11;;23580:6;;23694:4;;23721;;23741:15;;23580:187;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23296:479;23241:534;:::o;23783:497::-;23963:6;;23931:53;;23948:4;;-1:-1:-1;;;;;23963:6:0;23972:11;23931:8;:53::i;:::-;24027:6;;-1:-1:-1;;;;;24027:6:0;:22;24058:9;24092:4;24112:11;24027:6;;24224:7;12286:6;;-1:-1:-1;;;;;12286:6:0;;12213:87;24224:7;24027:245;;;;;;-1:-1:-1;;;;;;24027:245:0;;;-1:-1:-1;;;;;6960:15:1;;;24027:245:0;;;6942:34:1;6992:18;;;6985:34;;;;7035:18;;;7028:34;;;;7078:18;;;7071:34;7142:15;;;7121:19;;;7114:44;24246:15:0;7174:19:1;;;7167:35;6876:19;;24027:245:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;23783:497;;:::o;11656:319::-;11771:6;11746:21;:31;;11738:73;;;;-1:-1:-1;;;11738:73:0;;11199:2:1;11738:73:0;;;11181:21:1;11238:2;11218:18;;;11211:30;11277:31;11257:18;;;11250:59;11326:18;;11738:73:0;10997:353:1;11738:73:0;11825:12;11843:9;-1:-1:-1;;;;;11843:14:0;11866:6;11843:35;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11824:54;;;11897:7;11889:78;;;;-1:-1:-1;;;11889:78:0;;10772:2:1;11889:78:0;;;10754:21:1;10811:2;10791:18;;;10784:30;10850:34;10830:18;;;10823:62;10921:28;10901:18;;;10894:56;10967:19;;11889:78:0;10570:422:1;14:128;79:20;;108:28;79:20;108:28;:::i;:::-;14:128;;;:::o;147:247::-;206:6;259:2;247:9;238:7;234:23;230:32;227:52;;;275:1;272;265:12;227:52;314:9;301:23;333:31;358:5;333:31;:::i;:::-;383:5;147:247;-1:-1:-1;;;147:247:1:o;399:251::-;469:6;522:2;510:9;501:7;497:23;493:32;490:52;;;538:1;535;528:12;490:52;570:9;564:16;589:31;614:5;589:31;:::i;655:388::-;723:6;731;784:2;772:9;763:7;759:23;755:32;752:52;;;800:1;797;790:12;752:52;839:9;826:23;858:31;883:5;858:31;:::i;:::-;908:5;-1:-1:-1;965:2:1;950:18;;937:32;978:33;937:32;978:33;:::i;:::-;1030:7;1020:17;;;655:388;;;;;:::o;1048:456::-;1125:6;1133;1141;1194:2;1182:9;1173:7;1169:23;1165:32;1162:52;;;1210:1;1207;1200:12;1162:52;1249:9;1236:23;1268:31;1293:5;1268:31;:::i;:::-;1318:5;-1:-1:-1;1375:2:1;1360:18;;1347:32;1388:33;1347:32;1388:33;:::i;:::-;1048:456;;1440:7;;-1:-1:-1;;;1494:2:1;1479:18;;;;1466:32;;1048:456::o;1509:382::-;1574:6;1582;1635:2;1623:9;1614:7;1610:23;1606:32;1603:52;;;1651:1;1648;1641:12;1603:52;1690:9;1677:23;1709:31;1734:5;1709:31;:::i;:::-;1759:5;-1:-1:-1;1816:2:1;1801:18;;1788:32;1829:30;1788:32;1829:30;:::i;1896:315::-;1964:6;1972;2025:2;2013:9;2004:7;2000:23;1996:32;1993:52;;;2041:1;2038;2031:12;1993:52;2080:9;2067:23;2099:31;2124:5;2099:31;:::i;:::-;2149:5;2201:2;2186:18;;;;2173:32;;-1:-1:-1;;;1896:315:1:o;2216:1102::-;2306:6;2314;2367:2;2355:9;2346:7;2342:23;2338:32;2335:52;;;2383:1;2380;2373:12;2335:52;2423:9;2410:23;2452:18;2493:2;2485:6;2482:14;2479:34;;;2509:1;2506;2499:12;2479:34;2547:6;2536:9;2532:22;2522:32;;2592:7;2585:4;2581:2;2577:13;2573:27;2563:55;;2614:1;2611;2604:12;2563:55;2650:2;2637:16;2672:4;2695:2;2691;2688:10;2685:36;;;2701:18;;:::i;:::-;2747:2;2744:1;2740:10;2730:20;;2770:28;2794:2;2790;2786:11;2770:28;:::i;:::-;2832:15;;;2863:12;;;;2895:11;;;2925;;;2921:20;;2918:33;-1:-1:-1;2915:53:1;;;2964:1;2961;2954:12;2915:53;2986:1;2977:10;;2996:238;3010:2;3007:1;3004:9;2996:238;;;3081:3;3068:17;3055:30;;3098:31;3123:5;3098:31;:::i;:::-;3142:18;;;3028:1;3021:9;;;;;3180:12;;;;3212;;2996:238;;;-1:-1:-1;3253:5:1;-1:-1:-1;3277:35:1;;-1:-1:-1;3293:18:1;;;3277:35;:::i;:::-;3267:45;;;;;;2216:1102;;;;;:::o;3323:241::-;3379:6;3432:2;3420:9;3411:7;3407:23;3403:32;3400:52;;;3448:1;3445;3438:12;3400:52;3487:9;3474:23;3506:28;3528:5;3506:28;:::i;3569:245::-;3636:6;3689:2;3677:9;3668:7;3664:23;3660:32;3657:52;;;3705:1;3702;3695:12;3657:52;3737:9;3731:16;3756:28;3778:5;3756:28;:::i;3819:309::-;3884:6;3892;3945:2;3933:9;3924:7;3920:23;3916:32;3913:52;;;3961:1;3958;3951:12;3913:52;4000:9;3987:23;4019:28;4041:5;4019:28;:::i;4133:377::-;4207:6;4215;4223;4276:2;4264:9;4255:7;4251:23;4247:32;4244:52;;;4292:1;4289;4282:12;4244:52;4331:9;4318:23;4350:28;4372:5;4350:28;:::i;:::-;4397:5;4449:2;4434:18;;4421:32;;-1:-1:-1;4500:2:1;4485:18;;;4472:32;;4133:377;-1:-1:-1;;;4133:377:1:o;4515:635::-;4596:6;4649:3;4637:9;4628:7;4624:23;4620:33;4617:53;;;4666:1;4663;4656:12;4617:53;4699:2;4693:9;4741:3;4733:6;4729:16;4811:6;4799:10;4796:22;4775:18;4763:10;4760:34;4757:62;4754:88;;;4822:18;;:::i;:::-;4862:10;4858:2;4851:22;;4910:9;4897:23;4889:6;4882:39;4982:2;4971:9;4967:18;4954:32;4949:2;4941:6;4937:15;4930:57;5048:2;5037:9;5033:18;5020:32;5015:2;5007:6;5003:15;4996:57;5114:2;5103:9;5099:18;5086:32;5081:2;5073:6;5069:15;5062:57;5138:6;5128:16;;;4515:635;;;;:::o;5155:180::-;5214:6;5267:2;5255:9;5246:7;5242:23;5238:32;5235:52;;;5283:1;5280;5273:12;5235:52;-1:-1:-1;5306:23:1;;5155:180;-1:-1:-1;5155:180:1:o;5340:248::-;5408:6;5416;5469:2;5457:9;5448:7;5444:23;5440:32;5437:52;;;5485:1;5482;5475:12;5437:52;-1:-1:-1;;5508:23:1;;;5578:2;5563:18;;;5550:32;;-1:-1:-1;5340:248:1:o;5593:306::-;5681:6;5689;5697;5750:2;5738:9;5729:7;5725:23;5721:32;5718:52;;;5766:1;5763;5756:12;5718:52;5795:9;5789:16;5779:26;;5845:2;5834:9;5830:18;5824:25;5814:35;;5889:2;5878:9;5874:18;5868:25;5858:35;;5593:306;;;;;:::o;7628:597::-;7740:4;7769:2;7798;7787:9;7780:21;7830:6;7824:13;7873:6;7868:2;7857:9;7853:18;7846:34;7898:1;7908:140;7922:6;7919:1;7916:13;7908:140;;;8017:14;;;8013:23;;8007:30;7983:17;;;8002:2;7979:26;7972:66;7937:10;;7908:140;;;8066:6;8063:1;8060:13;8057:91;;;8136:1;8131:2;8122:6;8111:9;8107:22;8103:31;8096:42;8057:91;-1:-1:-1;8209:2:1;8188:15;-1:-1:-1;;8184:29:1;8169:45;;;;8216:2;8165:54;;7628:597;-1:-1:-1;;;7628:597:1:o;11764:356::-;11966:2;11948:21;;;11985:18;;;11978:30;12044:34;12039:2;12024:18;;12017:62;12111:2;12096:18;;11764:356::o;15340:980::-;15602:4;15650:3;15639:9;15635:19;15681:6;15670:9;15663:25;15707:2;15745:6;15740:2;15729:9;15725:18;15718:34;15788:3;15783:2;15772:9;15768:18;15761:31;15812:6;15847;15841:13;15878:6;15870;15863:22;15916:3;15905:9;15901:19;15894:26;;15955:2;15947:6;15943:15;15929:29;;15976:1;15986:195;16000:6;15997:1;15994:13;15986:195;;;16065:13;;-1:-1:-1;;;;;16061:39:1;16049:52;;16156:15;;;;16121:12;;;;16097:1;16015:9;15986:195;;;-1:-1:-1;;;;;;;16237:32:1;;;;16232:2;16217:18;;16210:60;-1:-1:-1;;;16301:3:1;16286:19;16279:35;16198:3;15340:980;-1:-1:-1;;;15340:980:1:o;16910:275::-;16981:2;16975:9;17046:2;17027:13;;-1:-1:-1;;17023:27:1;17011:40;;17081:18;17066:34;;17102:22;;;17063:62;17060:88;;;17128:18;;:::i;:::-;17164:2;17157:22;16910:275;;-1:-1:-1;16910:275:1:o;17190:128::-;17230:3;17261:1;17257:6;17254:1;17251:13;17248:39;;;17267:18;;:::i;:::-;-1:-1:-1;17303:9:1;;17190:128::o;17323:217::-;17363:1;17389;17379:132;;17433:10;17428:3;17424:20;17421:1;17414:31;17468:4;17465:1;17458:15;17496:4;17493:1;17486:15;17379:132;-1:-1:-1;17525:9:1;;17323:217::o;17545:422::-;17634:1;17677:5;17634:1;17691:270;17712:7;17702:8;17699:21;17691:270;;;17771:4;17767:1;17763:6;17759:17;17753:4;17750:27;17747:53;;;17780:18;;:::i;:::-;17830:7;17820:8;17816:22;17813:55;;;17850:16;;;;17813:55;17929:22;;;;17889:15;;;;17691:270;;;17695:3;17545:422;;;;;:::o;17972:140::-;18030:5;18059:47;18100:4;18090:8;18086:19;18080:4;18166:5;18196:8;18186:80;;-1:-1:-1;18237:1:1;18251:5;;18186:80;18285:4;18275:76;;-1:-1:-1;18322:1:1;18336:5;;18275:76;18367:4;18385:1;18380:59;;;;18453:1;18448:130;;;;18360:218;;18380:59;18410:1;18401:10;;18424:5;;;18448:130;18485:3;18475:8;18472:17;18469:43;;;18492:18;;:::i;:::-;-1:-1:-1;;18548:1:1;18534:16;;18563:5;;18360:218;;18662:2;18652:8;18649:16;18643:3;18637:4;18634:13;18630:36;18624:2;18614:8;18611:16;18606:2;18600:4;18597:12;18593:35;18590:77;18587:159;;;-1:-1:-1;18699:19:1;;;18731:5;;18587:159;18778:34;18803:8;18797:4;18778:34;:::i;:::-;18848:6;18844:1;18840:6;18836:19;18827:7;18824:32;18821:58;;;18859:18;;:::i;:::-;18897:20;;18117:806;-1:-1:-1;;;18117:806:1:o;18928:168::-;18968:7;19034:1;19030;19026:6;19022:14;19019:1;19016:21;19011:1;19004:9;18997:17;18993:45;18990:71;;;19041:18;;:::i;:::-;-1:-1:-1;19081:9:1;;18928:168::o;19101:125::-;19141:4;19169:1;19166;19163:8;19160:34;;;19174:18;;:::i;:::-;-1:-1:-1;19211:9:1;;19101:125::o;19231:380::-;19310:1;19306:12;;;;19353;;;19374:61;;19428:4;19420:6;19416:17;19406:27;;19374:61;19481:2;19473:6;19470:14;19450:18;19447:38;19444:161;;;19527:10;19522:3;19518:20;19515:1;19508:31;19562:4;19559:1;19552:15;19590:4;19587:1;19580:15;19444:161;;19231:380;;;:::o;19616:135::-;19655:3;-1:-1:-1;;19676:17:1;;19673:43;;;19696:18;;:::i;:::-;-1:-1:-1;19743:1:1;19732:13;;19616:135::o;19756:127::-;19817:10;19812:3;19808:20;19805:1;19798:31;19848:4;19845:1;19838:15;19872:4;19869:1;19862:15;19888:127;19949:10;19944:3;19940:20;19937:1;19930:31;19980:4;19977:1;19970:15;20004:4;20001:1;19994:15;20020:127;20081:10;20076:3;20072:20;20069:1;20062:31;20112:4;20109:1;20102:15;20136:4;20133:1;20126:15;20152:131;-1:-1:-1;;;;;20227:31:1;;20217:42;;20207:70;;20273:1;20270;20263:12;20288:118;20374:5;20367:13;20360:21;20353:5;20350:32;20340:60;;20396:1;20393;20386:12
Swarm Source
ipfs://e195d18e58966e7a13e6f83041f3065ca39fba269a1ec406ccf0360178e281cd
Loading...
Loading
Loading...
Loading
Net Worth in USD
$0.00
Net Worth in ETH
0
Token Allocations
ETH
100.00%
Multichain Portfolio | 33 Chains
| Chain | Token | Portfolio % | Price | Amount | Value |
|---|---|---|---|---|---|
| ETH | 100.00% | $1,995.37 | 0.000000000000000153 | <$0.000001 |
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.