Source Code
More Info
Private Name Tags
ContractCreator
TokenTracker
Latest 25 from a total of 293 transactions
| Transaction Hash |
|
Block
|
From
|
To
|
|||||
|---|---|---|---|---|---|---|---|---|---|
| Approve | 21871015 | 495 days ago | IN | 0 ETH | 0.0000001 | ||||
| Approve | 17323990 | 600 days ago | IN | 0 ETH | 0.00000538 | ||||
| Transfer | 16663919 | 616 days ago | IN | 0 ETH | 0.00000048 | ||||
| Approve | 16484758 | 620 days ago | IN | 0 ETH | 0.00000101 | ||||
| Approve | 16207135 | 626 days ago | IN | 0 ETH | 0.00000012 | ||||
| Approve | 16063347 | 630 days ago | IN | 0 ETH | 0.00000057 | ||||
| Approve | 15767662 | 636 days ago | IN | 0 ETH | 0.00000106 | ||||
| Transfer | 15767560 | 636 days ago | IN | 0 ETH | 0.00040003 | ||||
| Transfer | 15709070 | 638 days ago | IN | 0 ETH | 0.00000237 | ||||
| Transfer | 15673242 | 639 days ago | IN | 0 ETH | 0.00000081 | ||||
| Transfer | 15672041 | 639 days ago | IN | 0 ETH | 0.00000095 | ||||
| Approve | 15584650 | 641 days ago | IN | 0 ETH | 0.00000012 | ||||
| Approve | 15521522 | 642 days ago | IN | 0 ETH | 0.0000001 | ||||
| Transfer | 15510239 | 642 days ago | IN | 0 ETH | 0.00000023 | ||||
| Approve | 15502587 | 643 days ago | IN | 0 ETH | 0.00000021 | ||||
| Approve | 15433380 | 644 days ago | IN | 0 ETH | 0.00000014 | ||||
| Approve | 15433219 | 644 days ago | IN | 0 ETH | 0.00000015 | ||||
| Transfer | 15417947 | 645 days ago | IN | 0 ETH | 0.00000082 | ||||
| Transfer | 15417919 | 645 days ago | IN | 0 ETH | 0.00000076 | ||||
| Transfer | 15417906 | 645 days ago | IN | 0 ETH | 0.00000108 | ||||
| Approve | 15292513 | 647 days ago | IN | 0 ETH | 0.00000017 | ||||
| Transfer | 15292494 | 647 days ago | IN | 0 ETH | 0.00000026 | ||||
| Approve | 15291352 | 647 days ago | IN | 0 ETH | 0.0000001 | ||||
| Transfer | 15290920 | 647 days ago | IN | 0 ETH | 0.00000008 | ||||
| Transfer | 15290897 | 647 days ago | IN | 0 ETH | 0.00000008 |
Latest 25 internal transactions (View All)
| Parent Transaction Hash | Block | From | To | |||
|---|---|---|---|---|---|---|
| 20745430 | 521 days ago | 0.00001667 ETH | ||||
| 20745418 | 521 days ago | 0.00002399 ETH | ||||
| 20745407 | 521 days ago | 0.00701564 ETH | ||||
| 18214245 | 580 days ago | 0.00801397 ETH | ||||
| 18214237 | 580 days ago | 0.01033751 ETH | ||||
| 18214237 | 580 days ago | 0.00001342 ETH | ||||
| 17369044 | 599 days ago | 0.00001608 ETH | ||||
| 17369028 | 599 days ago | 0.01780193 ETH | ||||
| 17369028 | 599 days ago | 0.00373269 ETH | ||||
| 17323997 | 600 days ago | 0.02799 ETH | ||||
| 17323997 | 600 days ago | 0.0000127 ETH | ||||
| 16484761 | 620 days ago | 0.04824941 ETH | ||||
| 16484761 | 620 days ago | 0.01706653 ETH | ||||
| 16207182 | 626 days ago | 0.0000442 ETH | ||||
| 15987645 | 631 days ago | 0.00004425 ETH | ||||
| 15987632 | 631 days ago | 0.0000443 ETH | ||||
| 15987624 | 631 days ago | 0.00004435 ETH | ||||
| 15987620 | 631 days ago | 0.0000444 ETH | ||||
| 15987613 | 631 days ago | 0.00004445 ETH | ||||
| 15987608 | 631 days ago | 0.0000445 ETH | ||||
| 15987598 | 631 days ago | 0.00004455 ETH | ||||
| 15987594 | 631 days ago | 0.00004461 ETH | ||||
| 15987588 | 631 days ago | 0.00004466 ETH | ||||
| 15987581 | 631 days ago | 0.00004471 ETH | ||||
| 15987575 | 631 days ago | 0.00004476 ETH |
Cross-Chain Transactions
Loading...
Loading
Contract Name:
VacuumToken
Compiler Version
v0.8.25+commit.b61c2a91
Contract Source Code (Solidity)
/**
*Submitted for verification at basescan.org on 2024-05-23
*/
/**
___ ___ ________ ________ ___ ___ ___ ___ _____ ______
|\ \ / /|\ __ \|\ ____\|\ \|\ \|\ \|\ \|\ _ \ _ \
\ \ \ / / | \ \|\ \ \ \___|\ \ \\\ \ \ \\\ \ \ \\\__\ \ \
\ \ \/ / / \ \ __ \ \ \ \ \ \\\ \ \ \\\ \ \ \\|__| \ \
\ \ / / \ \ \ \ \ \ \____\ \ \\\ \ \ \\\ \ \ \ \ \ \
\ \__/ / \ \__\ \__\ \_______\ \_______\ \_______\ \__\ \ \__\
\|__|/ \|__|\|__|\|_______|\|_______|\|_______|\|__| \|__|
# Linear taxes from 3% to 30%. All tax proceeds go towards the Black Hole, Negative Entropy keeps the token alive, forever.
# Twitter: https://x.com/Vacu_Fi
# Telegram: https://t.me/Vacu_Fi
# Warpcast: https://warpcast.com/vacufi
# Whitepaper: https://vacufi.gitbook.io/vacufi
*/
//SPDX-License-Identifier: MIT
pragma solidity ^0.8.0;
interface IBEP20 {
function totalSupply() external view returns (uint256);
function decimals() external view returns (uint8);
function symbol() external view returns (string memory);
function name() external view returns (string memory);
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 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
);
}
contract Owner {
address private owner;
// event for EVM logging
event OwnerSet(address indexed newOwner);
// modifier to check if caller is owner
modifier onlyOwner() {
// If the first argument of 'require' evaluates to 'false', execution terminates and all
// changes to the state and to Ether balances are reverted.
// This used to consume all gas in old EVM versions, but not anymore.
// It is often a good idea to use 'require' to check if functions are called correctly.
// As a second argument, you can also provide an explanation about what went wrong.
require(msg.sender == getOwner(), "Caller is not owner");
_;
}
/**
* @dev Set contract deployer as owner
*/
constructor() {
owner = msg.sender; // 'msg.sender' is sender of current call, contract deployer for a constructor
emit OwnerSet(owner);
}
/**
* @dev Change owner
* @param newOwner address of new owner
*/
function changeOwner(address newOwner) public onlyOwner {
owner = newOwner;
emit OwnerSet(newOwner);
}
/**
* @dev Return owner address
* @return address of owner
*/
function getOwner() internal view returns (address) {
return owner;
}
function getOwnerExternal() public view returns (address) {
return getOwner();
}
}
interface IUniswapV2Factory {
event PairCreated(address indexed token0, address indexed token1, address pair, uint);
function feeTo() external view returns (address);
function feeToSetter() external view returns (address);
function getPair(address tokenA, address tokenB) external view returns (address pair);
function allPairs(uint) external view returns (address pair);
function allPairsLength() external view returns (uint);
function createPair(address tokenA, address tokenB) external returns (address pair);
function setFeeTo(address) external;
function setFeeToSetter(address) external;
}
interface IUniswapV2Pair {
event Approval(address indexed owner, address indexed spender, uint value);
event Transfer(address indexed from, address indexed to, uint value);
function name() external pure returns (string memory);
function symbol() external pure returns (string memory);
function decimals() external pure returns (uint8);
function totalSupply() external view returns (uint);
function balanceOf(address owner) external view returns (uint);
function allowance(address owner, address spender) external view returns (uint);
function approve(address spender, uint value) external returns (bool);
function transfer(address to, uint value) external returns (bool);
function transferFrom(address from, address to, uint value) external returns (bool);
function DOMAIN_SEPARATOR() external view returns (bytes32);
function PERMIT_TYPEHASH() external pure returns (bytes32);
function nonces(address owner) external view returns (uint);
function permit(address owner, address spender, uint value, uint deadline, uint8 v, bytes32 r, bytes32 s) external;
event Mint(address indexed sender, uint amount0, uint amount1);
event Burn(address indexed sender, uint amount0, uint amount1, address indexed to);
event Swap(
address indexed sender,
uint amount0In,
uint amount1In,
uint amount0Out,
uint amount1Out,
address indexed to
);
event Sync(uint112 reserve0, uint112 reserve1);
function MINIMUM_LIQUIDITY() external pure returns (uint);
function factory() external view returns (address);
function token0() external view returns (address);
function token1() external view returns (address);
function getReserves() external view returns (uint112 reserve0, uint112 reserve1, uint32 blockTimestampLast);
function price0CumulativeLast() external view returns (uint);
function price1CumulativeLast() external view returns (uint);
function kLast() external view returns (uint);
function mint(address to) external returns (uint liquidity);
function burn(address to) external returns (uint amount0, uint amount1);
function swap(uint amount0Out, uint amount1Out, address to, bytes calldata data) external;
function skim(address to) external;
function sync() external;
function initialize(address, address) external;
}
interface IUniswapV2Router01 {
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 removeLiquidity(
address tokenA,
address tokenB,
uint liquidity,
uint amountAMin,
uint amountBMin,
address to,
uint deadline
) external returns (uint amountA, uint amountB);
function removeLiquidityETH(
address token,
uint liquidity,
uint amountTokenMin,
uint amountETHMin,
address to,
uint deadline
) external returns (uint amountToken, uint amountETH);
function removeLiquidityWithPermit(
address tokenA,
address tokenB,
uint liquidity,
uint amountAMin,
uint amountBMin,
address to,
uint deadline,
bool approveMax, uint8 v, bytes32 r, bytes32 s
) external returns (uint amountA, uint amountB);
function removeLiquidityETHWithPermit(
address token,
uint liquidity,
uint amountTokenMin,
uint amountETHMin,
address to,
uint deadline,
bool approveMax, uint8 v, bytes32 r, bytes32 s
) external returns (uint amountToken, uint amountETH);
function swapExactTokensForTokens(
uint amountIn,
uint amountOutMin,
address[] calldata path,
address to,
uint deadline
) external returns (uint[] memory amounts);
function swapTokensForExactTokens(
uint amountOut,
uint amountInMax,
address[] calldata path,
address to,
uint deadline
) external returns (uint[] memory amounts);
function swapExactETHForTokens(uint amountOutMin, address[] calldata path, address to, uint deadline)
external
payable
returns (uint[] memory amounts);
function swapTokensForExactETH(uint amountOut, uint amountInMax, address[] calldata path, address to, uint deadline)
external
returns (uint[] memory amounts);
function swapExactTokensForETH(uint amountIn, uint amountOutMin, address[] calldata path, address to, uint deadline)
external
returns (uint[] memory amounts);
function swapETHForExactTokens(uint amountOut, address[] calldata path, address to, uint deadline)
external
payable
returns (uint[] memory amounts);
function quote(uint amountA, uint reserveA, uint reserveB) external pure returns (uint amountB);
function getAmountOut(uint amountIn, uint reserveIn, uint reserveOut) external pure returns (uint amountOut);
function getAmountIn(uint amountOut, uint reserveIn, uint reserveOut) external pure returns (uint amountIn);
function getAmountsOut(uint amountIn, address[] calldata path) external view returns (uint[] memory amounts);
function getAmountsIn(uint amountOut, address[] calldata path) external view returns (uint[] memory amounts);
}
interface IUniswapV2Router02 is IUniswapV2Router01 {
function removeLiquidityETHSupportingFeeOnTransferTokens(
address token,
uint liquidity,
uint amountTokenMin,
uint amountETHMin,
address to,
uint deadline
) external returns (uint amountETH);
function removeLiquidityETHWithPermitSupportingFeeOnTransferTokens(
address token,
uint liquidity,
uint amountTokenMin,
uint amountETHMin,
address to,
uint deadline,
bool approveMax, uint8 v, bytes32 r, bytes32 s
) external returns (uint amountETH);
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 VacuumToken is IBEP20, Owner {
address WETH = 0x4200000000000000000000000000000000000006;
address DEAD = 0x000000000000000000000000000000000000dEaD;
address ZERO = 0x0000000000000000000000000000000000000000;
string _name = "Vacuum";
string constant _symbol = "VACU";
uint8 constant _decimals = 9;
uint256 _totalSupply = 10**9 * (10 ** _decimals);
mapping (address => uint256) _balances;
mapping (address => mapping (address => uint256)) _allowances;
uint256 private constant LOWER_BOUND = 50; // equivalent to 0.00005 or 0.005%
uint256 private constant UPPER_BOUND = 5000; // equivalent to 0.005 or 0.5%
uint256 private constant LOWER_TAX_RATE = 300; // equivalent to 3%
uint256 private constant UPPER_TAX_RATE = 3000; // equivalent to 30%
uint256 private constant INITIAL_TAX_MULTIPLIER = 3;
uint256 public negentropyThreshold = 23 hours;
uint256 public totalVolumeForNegentropy = 0;
uint256 public lastEpoch = 0;
uint256 public taxMultiplierTimestamp = 0;
IUniswapV2Router02 public uniswapV2Router;
address public uniswapV2Pair;
address routerAddress = 0x4752ba5DBc23f44D87826276BF6Fd6b1C372aD24;
bool inSwap;
modifier swapping() {
inSwap = true;
_;
inSwap = false;
}
event BasicTransfer(address sender, address recipient, uint256 amount);
event SwapVacuumForETH(uint256 vacuumSwapped, uint256 WETHReceived);
event SwapETHForVacuum(uint256 amount);
event TotalVolumeIncreased(address sender, address recipient, uint256 amount);
constructor () {
uniswapV2Router = IUniswapV2Router02(routerAddress);
// Create a uniswap pair for this new token
uniswapV2Pair = IUniswapV2Factory(0x8909Dc15e40173Ff4699343b6eB8132c65e18eC6)
.createPair(address(this), uniswapV2Router.WETH());
_allowances[address(this)][address(uniswapV2Router)] = _totalSupply;
WETH = uniswapV2Router.WETH();
approve(routerAddress, _totalSupply);
approve(address(uniswapV2Pair), _totalSupply);
_balances[msg.sender] = _totalSupply;
taxMultiplierTimestamp = block.timestamp;
lastEpoch = block.timestamp;
emit Transfer(address(0), msg.sender, _totalSupply);
}
receive() external payable { }
function totalSupply() external view override returns (uint256) {
return _totalSupply;
}
function decimals() external pure override returns (uint8) {
return _decimals;
}
function symbol() external pure override returns (string memory) {
return _symbol;
}
function name() external view override returns (string memory) {
return _name;
}
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 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, _totalSupply);
}
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] != _totalSupply){
require(_allowances[sender][msg.sender] >= amount, "Insufficient Allowance");
_allowances[sender][msg.sender] -= amount;
}
return _transferFrom(sender, recipient, amount);
}
function _transferFrom(address sender, address recipient, uint256 amount) internal returns (bool) {
require(balanceOf(sender) >= amount, "Insufficient balance");
if(txCountForVolume(sender, recipient)) {
totalVolumeForNegentropy += amount;
emit TotalVolumeIncreased(sender, recipient, amount);
}
if (inSwap) {
return _basicTransfer(sender, recipient, amount);
}
if(shouldSwapVacuumForWETH(recipient)) {
swapVacuumForETH();
}
if(shouldSwapWETHForVacuum(recipient)) {
negentropy();
}
if(block.timestamp - lastEpoch >= negentropyThreshold && recipient == uniswapV2Pair) {
// Start a new epoch if the negentropy function hasn't been called after a sell at the end of the timer meaning the threshold volume has been reached
lastEpoch = block.timestamp;
totalVolumeForNegentropy = 0;
}
uint256 taxedAmount = shouldTakeFee(sender, recipient) ? takeFee(sender, amount) : amount;
_balances[sender] -= amount;
_balances[recipient] += taxedAmount;
emit Transfer(sender, recipient, taxedAmount);
return true;
}
function _basicTransfer(address sender, address recipient, uint256 amount) internal returns (bool) {
_balances[sender] -= amount;
_balances[recipient] += amount;
emit BasicTransfer(sender, recipient, amount);
return true;
}
function txCountForVolume(address sender, address recipient) internal view returns (bool) {
return (sender == uniswapV2Pair || recipient == uniswapV2Pair) && sender != getOwner() && recipient != getOwner() && recipient != DEAD && recipient != ZERO;
}
function shouldTakeFee(address sender, address recipient) internal view returns (bool) {
return sender != getOwner() && recipient != getOwner() && (sender == uniswapV2Pair || recipient == uniswapV2Pair) && (recipient != DEAD && recipient != ZERO && sender != address(this) && recipient != address(this));
}
function takeFee(address sender, uint256 amount) internal returns (uint256) {
uint256 feeAmount = calculateTax(amount);
_balances[address(this)] += feeAmount;
emit Transfer(sender, address(this), feeAmount);
return amount - feeAmount;
}
function calculateTax(uint256 amount) internal view returns (uint256) {
uint256 tax = getTax(amount);
uint256 multiplier = getMultiplier();
uint256 taxedAmount = amount * (tax * multiplier) / 10000;
return taxedAmount;
}
function getMultiplier() internal view returns (uint256) {
uint256 elapsedTime = block.timestamp - taxMultiplierTimestamp;
if(elapsedTime < 20 minutes) {
return INITIAL_TAX_MULTIPLIER;
} else {
return 1;
}
}
// Function to calculate tax based on transaction size and circulating supply
function getTax(uint256 transactionSize) internal view returns (uint256) {
uint256 circulatingSupply = getCirculatingSupply();
if(circulatingSupply == 0) return 0; // Prevent division by zero
uint256 lowerTaxRateThreshold = circulatingSupply * 5 / 100000; // 0.005%
uint256 upperTaxRateThreshold = circulatingSupply * 500 / 100000; // 0.5%
if(transactionSize <= lowerTaxRateThreshold) {
return LOWER_TAX_RATE;
} else if(transactionSize >= upperTaxRateThreshold) {
return UPPER_TAX_RATE;
} else {
// Linear interpolation between points:
// Correcting calculation for slope using accurate range difference calculations:
uint256 taxRate = ((transactionSize - lowerTaxRateThreshold) * (UPPER_TAX_RATE - LOWER_TAX_RATE) / (upperTaxRateThreshold - lowerTaxRateThreshold)) + LOWER_TAX_RATE;
return taxRate;
}
}
function negentropy() internal {
lastEpoch = block.timestamp;
negentropyThreshold = getRandomHours() * 1 hours;
totalVolumeForNegentropy = 0;
uint256 wethBalance = address(this).balance;
if(wethBalance > 0) {
uint256 amountToSwap = wethBalance * 42 / 100;
swapETHForVacuum(amountToSwap);
}
}
function shouldSwapVacuumForWETH(address recipient) internal view returns (bool) {
// Only swap during a sell
return !inSwap
&& msg.sender != uniswapV2Pair
&& recipient == uniswapV2Pair
&& balanceOf(address(this)) > 0;
}
function shouldSwapWETHForVacuum(address recipient) internal view returns (bool) {
// Only swap during a sell
uint256 circulatingSupply = getCirculatingSupply();
uint256 meaningfulThreshold = circulatingSupply / 100; // 1%
bool thresholdNotReached = totalVolumeForNegentropy < meaningfulThreshold;
return thresholdNotReached
&& block.timestamp - lastEpoch >= negentropyThreshold
&& msg.sender != uniswapV2Pair
&& recipient == uniswapV2Pair
&& address(this).balance > 0;
}
function swapVacuumForETH() internal swapping {
uint256 amountToSwap = balanceOf(address(this));
address[] memory path = new address[](2);
path[0] = address(this);
path[1] = WETH;
uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens(
amountToSwap,
0,
path,
address(this),
block.timestamp
);
uint256 ETHBalance = address(this).balance;
emit SwapVacuumForETH(amountToSwap, ETHBalance);
}
function swapETHForVacuum(uint256 wETHAmount) internal {
uint256 previousVacuumAmount = balanceOf(address(this));
address[] memory path = new address[](2);
path[0] = WETH;
path[1] = address(this);
uniswapV2Router.swapExactETHForTokensSupportingFeeOnTransferTokens{value: wETHAmount}(
0,
path,
DEAD, // The tokens are sent to the DEAD address
block.timestamp
);
uint256 amountSwapped = balanceOf(address(this)) - previousVacuumAmount;
emit SwapETHForVacuum(amountSwapped);
}
function getRandomHours() internal view returns (uint256) {
uint256 randomValue = uint256(keccak256(abi.encodePacked(block.timestamp, block.difficulty))) % 4;
return 22 + randomValue;
}
function getCirculatingSupply() public view returns (uint256) {
return _totalSupply - balanceOf(DEAD) - balanceOf(ZERO);
}
function launch() public onlyOwner {
taxMultiplierTimestamp = block.timestamp;
}
}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":"address","name":"sender","type":"address"},{"indexed":false,"internalType":"address","name":"recipient","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"BasicTransfer","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnerSet","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"SwapETHForVacuum","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"vacuumSwapped","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"WETHReceived","type":"uint256"}],"name":"SwapVacuumForETH","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"sender","type":"address"},{"indexed":false,"internalType":"address","name":"recipient","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"TotalVolumeIncreased","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":"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":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"changeOwner","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"getCirculatingSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getOwnerExternal","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"lastEpoch","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"launch","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"negentropyThreshold","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"taxMultiplierTimestamp","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":"totalVolumeForNegentropy","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":[],"name":"uniswapV2Pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"uniswapV2Router","outputs":[{"internalType":"contract IUniswapV2Router02","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"stateMutability":"payable","type":"receive"}]Contract Creation Code
608060405273420000000000000000000000000000000000000660015f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555061dead60025f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505f60035f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506040518060400160405280600681526020017f56616375756d00000000000000000000000000000000000000000000000000008152506004908161011e91906109c9565b506009600a61012d9190610c00565b633b9aca0061013c9190610c4a565b600555620143706008555f6009555f600a555f600b55734752ba5dbc23f44d87826276bf6fd6b1c372ad24600e5f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055503480156101b1575f80fd5b50335f806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f50146d0e3c60aa1d17a70635b05494f864e86144a2201275021014fbf08bafe260405160405180910390a2600e5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600c5f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550738909dc15e40173ff4699343b6eb8132c65e18ec673ffffffffffffffffffffffffffffffffffffffff1663c9c6539630600c5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801561034f573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906103739190610ce9565b6040518363ffffffff1660e01b8152600401610390929190610d23565b6020604051808303815f875af11580156103ac573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906103d09190610ce9565b600d5f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060055460075f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f600c5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550600c5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610519573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061053d9190610ce9565b60015f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506105af600e5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff166005546106a260201b60201c565b506105e3600d5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff166005546106a260201b60201c565b5060055460065f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f208190555042600b8190555042600a819055503373ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6005546040516106959190610d59565b60405180910390a3610d72565b5f8160075f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258460405161077d9190610d59565b60405180910390a36001905092915050565b5f81519050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f600282049050600182168061080a57607f821691505b60208210810361081d5761081c6107c6565b5b50919050565b5f819050815f5260205f209050919050565b5f6020601f8301049050919050565b5f82821b905092915050565b5f6008830261087f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82610844565b6108898683610844565b95508019841693508086168417925050509392505050565b5f819050919050565b5f819050919050565b5f6108cd6108c86108c3846108a1565b6108aa565b6108a1565b9050919050565b5f819050919050565b6108e6836108b3565b6108fa6108f2826108d4565b848454610850565b825550505050565b5f90565b61090e610902565b6109198184846108dd565b505050565b5b8181101561093c576109315f82610906565b60018101905061091f565b5050565b601f8211156109815761095281610823565b61095b84610835565b8101602085101561096a578190505b61097e61097685610835565b83018261091e565b50505b505050565b5f82821c905092915050565b5f6109a15f1984600802610986565b1980831691505092915050565b5f6109b98383610992565b9150826002028217905092915050565b6109d28261078f565b67ffffffffffffffff8111156109eb576109ea610799565b5b6109f582546107f3565b610a00828285610940565b5f60209050601f831160018114610a31575f8415610a1f578287015190505b610a2985826109ae565b865550610a90565b601f198416610a3f86610823565b5f5b82811015610a6657848901518255600182019150602085019450602081019050610a41565b86831015610a835784890151610a7f601f891682610992565b8355505b6001600288020188555050505b505050505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f8160011c9050919050565b5f808291508390505b6001851115610b1a57808604811115610af657610af5610a98565b5b6001851615610b055780820291505b8081029050610b1385610ac5565b9450610ada565b94509492505050565b5f82610b325760019050610bed565b81610b3f575f9050610bed565b8160018114610b555760028114610b5f57610b8e565b6001915050610bed565b60ff841115610b7157610b70610a98565b5b8360020a915084821115610b8857610b87610a98565b5b50610bed565b5060208310610133831016604e8410600b8410161715610bc35782820a905083811115610bbe57610bbd610a98565b5b610bed565b610bd08484846001610ad1565b92509050818404811115610be757610be6610a98565b5b81810290505b9392505050565b5f60ff82169050919050565b5f610c0a826108a1565b9150610c1583610bf4565b9250610c427fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484610b23565b905092915050565b5f610c54826108a1565b9150610c5f836108a1565b9250828202610c6d816108a1565b91508282048414831517610c8457610c83610a98565b5b5092915050565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f610cb882610c8f565b9050919050565b610cc881610cae565b8114610cd2575f80fd5b50565b5f81519050610ce381610cbf565b92915050565b5f60208284031215610cfe57610cfd610c8b565b5b5f610d0b84828501610cd5565b91505092915050565b610d1d81610cae565b82525050565b5f604082019050610d365f830185610d14565b610d436020830184610d14565b9392505050565b610d53816108a1565b82525050565b5f602082019050610d6c5f830184610d4a565b92915050565b6125b780610d7f5f395ff3fe608060405260043610610122575f3560e01c806331d2716f1161009f57806370a082311161006357806370a08231146103c557806395d89b4114610401578063a6f9dae11461042b578063a9059cbb14610453578063dd62ed3e1461048f57610129565b806331d2716f146102e157806349bd5a5e1461030b5780634b402c5214610335578063512afb3a1461035f578063571ac8b01461038957610129565b80631694505e116100e65780631694505e146101fd57806318160ddd1461022757806323b872dd146102515780632b112e491461028d578063313ce567146102b757610129565b806301339c211461012d57806306a4c9831461014357806306fdde031461016d578063095ea7b3146101975780630d3faaa4146101d357610129565b3661012957005b5f80fd5b348015610138575f80fd5b506101416104cb565b005b34801561014e575f80fd5b50610157610549565b6040516101649190611ccd565b60405180910390f35b348015610178575f80fd5b5061018161054f565b60405161018e9190611d56565b60405180910390f35b3480156101a2575f80fd5b506101bd60048036038101906101b89190611dfe565b6105df565b6040516101ca9190611e56565b60405180910390f35b3480156101de575f80fd5b506101e76106cc565b6040516101f49190611ccd565b60405180910390f35b348015610208575f80fd5b506102116106d2565b60405161021e9190611eca565b60405180910390f35b348015610232575f80fd5b5061023b6106f7565b6040516102489190611ccd565b60405180910390f35b34801561025c575f80fd5b5061027760048036038101906102729190611ee3565b610700565b6040516102849190611e56565b60405180910390f35b348015610298575f80fd5b506102a16108e0565b6040516102ae9190611ccd565b60405180910390f35b3480156102c2575f80fd5b506102cb610951565b6040516102d89190611f4e565b60405180910390f35b3480156102ec575f80fd5b506102f5610959565b6040516103029190611f76565b60405180910390f35b348015610316575f80fd5b5061031f610967565b60405161032c9190611f76565b60405180910390f35b348015610340575f80fd5b5061034961098c565b6040516103569190611ccd565b60405180910390f35b34801561036a575f80fd5b50610373610992565b6040516103809190611ccd565b60405180910390f35b348015610394575f80fd5b506103af60048036038101906103aa9190611f8f565b610998565b6040516103bc9190611e56565b60405180910390f35b3480156103d0575f80fd5b506103eb60048036038101906103e69190611f8f565b6109ac565b6040516103f89190611ccd565b60405180910390f35b34801561040c575f80fd5b506104156109f2565b6040516104229190611d56565b60405180910390f35b348015610436575f80fd5b50610451600480360381019061044c9190611f8f565b610a2f565b005b34801561045e575f80fd5b5061047960048036038101906104749190611dfe565b610b29565b6040516104869190611e56565b60405180910390f35b34801561049a575f80fd5b506104b560048036038101906104b09190611fba565b610b3d565b6040516104c29190611ccd565b60405180910390f35b6104d3610bbf565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610540576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161053790612042565b60405180910390fd5b42600b81905550565b600a5481565b60606004805461055e9061208d565b80601f016020809104026020016040519081016040528092919081815260200182805461058a9061208d565b80156105d55780601f106105ac576101008083540402835291602001916105d5565b820191905f5260205f20905b8154815290600101906020018083116105b857829003601f168201915b5050505050905090565b5f8160075f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040516106ba9190611ccd565b60405180910390a36001905092915050565b600b5481565b600c5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b5f600554905090565b5f60055460075f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054146108cc578160075f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054101561083d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161083490612107565b60405180910390fd5b8160075f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8282546108c49190612152565b925050819055505b6108d7848484610be6565b90509392505050565b5f61090b60035f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff166109ac565b61093560025f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff166109ac565b6005546109429190612152565b61094c9190612152565b905090565b5f6009905090565b5f610962610bbf565b905090565b600d5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60095481565b60085481565b5f6109a5826005546105df565b9050919050565b5f60065f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b60606040518060400160405280600481526020017f5641435500000000000000000000000000000000000000000000000000000000815250905090565b610a37610bbf565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610aa4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a9b90612042565b60405180910390fd5b805f806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff167f50146d0e3c60aa1d17a70635b05494f864e86144a2201275021014fbf08bafe260405160405180910390a250565b5f610b35338484610be6565b905092915050565b5f60075f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b5f81610bf1856109ac565b1015610c32576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c29906121cf565b60405180910390fd5b610c3c8484610ea3565b15610c95578160095f828254610c5291906121ed565b925050819055507f68941839ba52618f2e2f1d9ae52fee27c2c983e54c319a08feec74b9b44c6f5a848484604051610c8c93929190612220565b60405180910390a15b600e60149054906101000a900460ff1615610cbc57610cb5848484611083565b9050610e9c565b610cc583611170565b15610cd357610cd261124d565b5b610cdc8361146a565b15610cea57610ce9611570565b5b600854600a5442610cfb9190612152565b10158015610d555750600d5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16145b15610d695742600a819055505f6009819055505b5f610d7485856115cf565b610d7e5782610d89565b610d88858461181f565b5b90508260065f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f828254610dd79190612152565b925050819055508060065f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f828254610e2a91906121ed565b925050819055508373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051610e8e9190611ccd565b60405180910390a360019150505b9392505050565b5f600d5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161480610f4b5750600d5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16145b8015610f8a5750610f5a610bbf565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b8015610fc95750610f99610bbf565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b8015611022575060025f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b801561107b575060035f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b905092915050565b5f8160065f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8282546110d09190612152565b925050819055508160065f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f82825461112391906121ed565b925050819055507f23782940353c76f32cdb6b37a9ec14ebb34dcf332acbe27eb97102e11799192584848460405161115d93929190612220565b60405180910390a1600190509392505050565b5f600e60149054906101000a900460ff161580156111db5750600d5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614155b80156112335750600d5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16145b801561124657505f611244306109ac565b115b9050919050565b6001600e60146101000a81548160ff0219169083151502179055505f611272306109ac565b90505f600267ffffffffffffffff8111156112905761128f612255565b5b6040519080825280602002602001820160405280156112be5781602001602082028036833780820191505090505b50905030815f815181106112d5576112d4612282565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505060015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff168160018151811061134557611344612282565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600c5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac947835f8430426040518663ffffffff1660e01b81526004016113e195949392919061239f565b5f604051808303815f87803b1580156113f8575f80fd5b505af115801561140a573d5f803e3d5ffd5b505050505f4790507f7f7e68c3f8bfb8963fb4665895846b1e29696621fd4a00db34a4702f10ba4f3283826040516114439291906123f7565b60405180910390a15050505f600e60146101000a81548160ff021916908315150217905550565b5f806114746108e0565b90505f606482611484919061244b565b90505f816009541090508080156114aa5750600854600a54426114a79190612152565b10155b80156115035750600d5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614155b801561155b5750600d5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff16145b801561156657505f47115b9350505050919050565b42600a81905550610e106115826118f9565b61158c919061247b565b6008819055505f6009819055505f4790505f8111156115cc575f6064602a836115b5919061247b565b6115bf919061244b565b90506115ca81611947565b505b50565b5f6115d8610bbf565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141580156116465750611616610bbf565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b80156116f55750600d5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614806116f45750600d5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16145b5b8015611817575060025f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141580156117a6575060035f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b80156117de57503073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b801561181657503073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b5b905092915050565b5f8061182a83611b62565b90508060065f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f82825461187891906121ed565b925050819055503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516118dc9190611ccd565b60405180910390a380836118f09190612152565b91505092915050565b5f80600442446040516020016119109291906124dc565b604051602081830303815290604052805190602001205f1c6119329190612507565b905080601661194191906121ed565b91505090565b5f611951306109ac565b90505f600267ffffffffffffffff81111561196f5761196e612255565b5b60405190808252806020026020018201604052801561199d5781602001602082028036833780820191505090505b50905060015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16815f815181106119d5576119d4612282565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250503081600181518110611a2457611a23612282565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600c5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663b6f9de95845f8460025f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16426040518663ffffffff1660e01b8152600401611ae09493929190612537565b5f604051808303818588803b158015611af7575f80fd5b505af1158015611b09573d5f803e3d5ffd5b50505050505f82611b19306109ac565b611b239190612152565b90507f0dff86dd34ae770828d474354eef8f145ff7bcea09b138c457b7eefa2b28a1a281604051611b549190611ccd565b60405180910390a150505050565b5f80611b6d83611bac565b90505f611b78611c86565b90505f6127108284611b8a919061247b565b86611b95919061247b565b611b9f919061244b565b9050809350505050919050565b5f80611bb66108e0565b90505f8103611bc8575f915050611c81565b5f620186a0600583611bda919061247b565b611be4919061244b565b90505f620186a06101f484611bf9919061247b565b611c03919061244b565b9050818511611c195761012c9350505050611c81565b808510611c2d57610bb89350505050611c81565b5f61012c8383611c3d9190612152565b61012c610bb8611c4d9190612152565b8589611c599190612152565b611c63919061247b565b611c6d919061244b565b611c7791906121ed565b9050809450505050505b919050565b5f80600b5442611c969190612152565b90506104b0811015611cac576003915050611cb2565b60019150505b90565b5f819050919050565b611cc781611cb5565b82525050565b5f602082019050611ce05f830184611cbe565b92915050565b5f81519050919050565b5f82825260208201905092915050565b8281835e5f83830152505050565b5f601f19601f8301169050919050565b5f611d2882611ce6565b611d328185611cf0565b9350611d42818560208601611d00565b611d4b81611d0e565b840191505092915050565b5f6020820190508181035f830152611d6e8184611d1e565b905092915050565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f611da382611d7a565b9050919050565b611db381611d99565b8114611dbd575f80fd5b50565b5f81359050611dce81611daa565b92915050565b611ddd81611cb5565b8114611de7575f80fd5b50565b5f81359050611df881611dd4565b92915050565b5f8060408385031215611e1457611e13611d76565b5b5f611e2185828601611dc0565b9250506020611e3285828601611dea565b9150509250929050565b5f8115159050919050565b611e5081611e3c565b82525050565b5f602082019050611e695f830184611e47565b92915050565b5f819050919050565b5f611e92611e8d611e8884611d7a565b611e6f565b611d7a565b9050919050565b5f611ea382611e78565b9050919050565b5f611eb482611e99565b9050919050565b611ec481611eaa565b82525050565b5f602082019050611edd5f830184611ebb565b92915050565b5f805f60608486031215611efa57611ef9611d76565b5b5f611f0786828701611dc0565b9350506020611f1886828701611dc0565b9250506040611f2986828701611dea565b9150509250925092565b5f60ff82169050919050565b611f4881611f33565b82525050565b5f602082019050611f615f830184611f3f565b92915050565b611f7081611d99565b82525050565b5f602082019050611f895f830184611f67565b92915050565b5f60208284031215611fa457611fa3611d76565b5b5f611fb184828501611dc0565b91505092915050565b5f8060408385031215611fd057611fcf611d76565b5b5f611fdd85828601611dc0565b9250506020611fee85828601611dc0565b9150509250929050565b7f43616c6c6572206973206e6f74206f776e6572000000000000000000000000005f82015250565b5f61202c601383611cf0565b915061203782611ff8565b602082019050919050565b5f6020820190508181035f83015261205981612020565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f60028204905060018216806120a457607f821691505b6020821081036120b7576120b6612060565b5b50919050565b7f496e73756666696369656e7420416c6c6f77616e6365000000000000000000005f82015250565b5f6120f1601683611cf0565b91506120fc826120bd565b602082019050919050565b5f6020820190508181035f83015261211e816120e5565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f61215c82611cb5565b915061216783611cb5565b925082820390508181111561217f5761217e612125565b5b92915050565b7f496e73756666696369656e742062616c616e63650000000000000000000000005f82015250565b5f6121b9601483611cf0565b91506121c482612185565b602082019050919050565b5f6020820190508181035f8301526121e6816121ad565b9050919050565b5f6121f782611cb5565b915061220283611cb5565b925082820190508082111561221a57612219612125565b5b92915050565b5f6060820190506122335f830186611f67565b6122406020830185611f67565b61224d6040830184611cbe565b949350505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f819050919050565b5f6122d26122cd6122c8846122af565b611e6f565b611cb5565b9050919050565b6122e2816122b8565b82525050565b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b61231a81611d99565b82525050565b5f61232b8383612311565b60208301905092915050565b5f602082019050919050565b5f61234d826122e8565b61235781856122f2565b935061236283612302565b805f5b838110156123925781516123798882612320565b975061238483612337565b925050600181019050612365565b5085935050505092915050565b5f60a0820190506123b25f830188611cbe565b6123bf60208301876122d9565b81810360408301526123d18186612343565b90506123e06060830185611f67565b6123ed6080830184611cbe565b9695505050505050565b5f60408201905061240a5f830185611cbe565b6124176020830184611cbe565b9392505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f61245582611cb5565b915061246083611cb5565b9250826124705761246f61241e565b5b828204905092915050565b5f61248582611cb5565b915061249083611cb5565b925082820261249e81611cb5565b915082820484148315176124b5576124b4612125565b5b5092915050565b5f819050919050565b6124d66124d182611cb5565b6124bc565b82525050565b5f6124e782856124c5565b6020820191506124f782846124c5565b6020820191508190509392505050565b5f61251182611cb5565b915061251c83611cb5565b92508261252c5761252b61241e565b5b828206905092915050565b5f60808201905061254a5f8301876122d9565b818103602083015261255c8186612343565b905061256b6040830185611f67565b6125786060830184611cbe565b9594505050505056fea264697066735822122045834ee78a54f31c3a3abbd9aab1f8912413f6a591c409535f2bd5fb75a8056464736f6c63430008190033
Deployed Bytecode
0x608060405260043610610122575f3560e01c806331d2716f1161009f57806370a082311161006357806370a08231146103c557806395d89b4114610401578063a6f9dae11461042b578063a9059cbb14610453578063dd62ed3e1461048f57610129565b806331d2716f146102e157806349bd5a5e1461030b5780634b402c5214610335578063512afb3a1461035f578063571ac8b01461038957610129565b80631694505e116100e65780631694505e146101fd57806318160ddd1461022757806323b872dd146102515780632b112e491461028d578063313ce567146102b757610129565b806301339c211461012d57806306a4c9831461014357806306fdde031461016d578063095ea7b3146101975780630d3faaa4146101d357610129565b3661012957005b5f80fd5b348015610138575f80fd5b506101416104cb565b005b34801561014e575f80fd5b50610157610549565b6040516101649190611ccd565b60405180910390f35b348015610178575f80fd5b5061018161054f565b60405161018e9190611d56565b60405180910390f35b3480156101a2575f80fd5b506101bd60048036038101906101b89190611dfe565b6105df565b6040516101ca9190611e56565b60405180910390f35b3480156101de575f80fd5b506101e76106cc565b6040516101f49190611ccd565b60405180910390f35b348015610208575f80fd5b506102116106d2565b60405161021e9190611eca565b60405180910390f35b348015610232575f80fd5b5061023b6106f7565b6040516102489190611ccd565b60405180910390f35b34801561025c575f80fd5b5061027760048036038101906102729190611ee3565b610700565b6040516102849190611e56565b60405180910390f35b348015610298575f80fd5b506102a16108e0565b6040516102ae9190611ccd565b60405180910390f35b3480156102c2575f80fd5b506102cb610951565b6040516102d89190611f4e565b60405180910390f35b3480156102ec575f80fd5b506102f5610959565b6040516103029190611f76565b60405180910390f35b348015610316575f80fd5b5061031f610967565b60405161032c9190611f76565b60405180910390f35b348015610340575f80fd5b5061034961098c565b6040516103569190611ccd565b60405180910390f35b34801561036a575f80fd5b50610373610992565b6040516103809190611ccd565b60405180910390f35b348015610394575f80fd5b506103af60048036038101906103aa9190611f8f565b610998565b6040516103bc9190611e56565b60405180910390f35b3480156103d0575f80fd5b506103eb60048036038101906103e69190611f8f565b6109ac565b6040516103f89190611ccd565b60405180910390f35b34801561040c575f80fd5b506104156109f2565b6040516104229190611d56565b60405180910390f35b348015610436575f80fd5b50610451600480360381019061044c9190611f8f565b610a2f565b005b34801561045e575f80fd5b5061047960048036038101906104749190611dfe565b610b29565b6040516104869190611e56565b60405180910390f35b34801561049a575f80fd5b506104b560048036038101906104b09190611fba565b610b3d565b6040516104c29190611ccd565b60405180910390f35b6104d3610bbf565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610540576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161053790612042565b60405180910390fd5b42600b81905550565b600a5481565b60606004805461055e9061208d565b80601f016020809104026020016040519081016040528092919081815260200182805461058a9061208d565b80156105d55780601f106105ac576101008083540402835291602001916105d5565b820191905f5260205f20905b8154815290600101906020018083116105b857829003601f168201915b5050505050905090565b5f8160075f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040516106ba9190611ccd565b60405180910390a36001905092915050565b600b5481565b600c5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b5f600554905090565b5f60055460075f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054146108cc578160075f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054101561083d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161083490612107565b60405180910390fd5b8160075f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8282546108c49190612152565b925050819055505b6108d7848484610be6565b90509392505050565b5f61090b60035f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff166109ac565b61093560025f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff166109ac565b6005546109429190612152565b61094c9190612152565b905090565b5f6009905090565b5f610962610bbf565b905090565b600d5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60095481565b60085481565b5f6109a5826005546105df565b9050919050565b5f60065f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b60606040518060400160405280600481526020017f5641435500000000000000000000000000000000000000000000000000000000815250905090565b610a37610bbf565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610aa4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a9b90612042565b60405180910390fd5b805f806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff167f50146d0e3c60aa1d17a70635b05494f864e86144a2201275021014fbf08bafe260405160405180910390a250565b5f610b35338484610be6565b905092915050565b5f60075f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b5f81610bf1856109ac565b1015610c32576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c29906121cf565b60405180910390fd5b610c3c8484610ea3565b15610c95578160095f828254610c5291906121ed565b925050819055507f68941839ba52618f2e2f1d9ae52fee27c2c983e54c319a08feec74b9b44c6f5a848484604051610c8c93929190612220565b60405180910390a15b600e60149054906101000a900460ff1615610cbc57610cb5848484611083565b9050610e9c565b610cc583611170565b15610cd357610cd261124d565b5b610cdc8361146a565b15610cea57610ce9611570565b5b600854600a5442610cfb9190612152565b10158015610d555750600d5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16145b15610d695742600a819055505f6009819055505b5f610d7485856115cf565b610d7e5782610d89565b610d88858461181f565b5b90508260065f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f828254610dd79190612152565b925050819055508060065f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f828254610e2a91906121ed565b925050819055508373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051610e8e9190611ccd565b60405180910390a360019150505b9392505050565b5f600d5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161480610f4b5750600d5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16145b8015610f8a5750610f5a610bbf565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b8015610fc95750610f99610bbf565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b8015611022575060025f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b801561107b575060035f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b905092915050565b5f8160065f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8282546110d09190612152565b925050819055508160065f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f82825461112391906121ed565b925050819055507f23782940353c76f32cdb6b37a9ec14ebb34dcf332acbe27eb97102e11799192584848460405161115d93929190612220565b60405180910390a1600190509392505050565b5f600e60149054906101000a900460ff161580156111db5750600d5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614155b80156112335750600d5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16145b801561124657505f611244306109ac565b115b9050919050565b6001600e60146101000a81548160ff0219169083151502179055505f611272306109ac565b90505f600267ffffffffffffffff8111156112905761128f612255565b5b6040519080825280602002602001820160405280156112be5781602001602082028036833780820191505090505b50905030815f815181106112d5576112d4612282565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505060015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff168160018151811061134557611344612282565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600c5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac947835f8430426040518663ffffffff1660e01b81526004016113e195949392919061239f565b5f604051808303815f87803b1580156113f8575f80fd5b505af115801561140a573d5f803e3d5ffd5b505050505f4790507f7f7e68c3f8bfb8963fb4665895846b1e29696621fd4a00db34a4702f10ba4f3283826040516114439291906123f7565b60405180910390a15050505f600e60146101000a81548160ff021916908315150217905550565b5f806114746108e0565b90505f606482611484919061244b565b90505f816009541090508080156114aa5750600854600a54426114a79190612152565b10155b80156115035750600d5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614155b801561155b5750600d5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff16145b801561156657505f47115b9350505050919050565b42600a81905550610e106115826118f9565b61158c919061247b565b6008819055505f6009819055505f4790505f8111156115cc575f6064602a836115b5919061247b565b6115bf919061244b565b90506115ca81611947565b505b50565b5f6115d8610bbf565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141580156116465750611616610bbf565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b80156116f55750600d5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614806116f45750600d5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16145b5b8015611817575060025f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141580156117a6575060035f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b80156117de57503073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b801561181657503073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b5b905092915050565b5f8061182a83611b62565b90508060065f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f82825461187891906121ed565b925050819055503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516118dc9190611ccd565b60405180910390a380836118f09190612152565b91505092915050565b5f80600442446040516020016119109291906124dc565b604051602081830303815290604052805190602001205f1c6119329190612507565b905080601661194191906121ed565b91505090565b5f611951306109ac565b90505f600267ffffffffffffffff81111561196f5761196e612255565b5b60405190808252806020026020018201604052801561199d5781602001602082028036833780820191505090505b50905060015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16815f815181106119d5576119d4612282565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250503081600181518110611a2457611a23612282565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600c5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663b6f9de95845f8460025f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16426040518663ffffffff1660e01b8152600401611ae09493929190612537565b5f604051808303818588803b158015611af7575f80fd5b505af1158015611b09573d5f803e3d5ffd5b50505050505f82611b19306109ac565b611b239190612152565b90507f0dff86dd34ae770828d474354eef8f145ff7bcea09b138c457b7eefa2b28a1a281604051611b549190611ccd565b60405180910390a150505050565b5f80611b6d83611bac565b90505f611b78611c86565b90505f6127108284611b8a919061247b565b86611b95919061247b565b611b9f919061244b565b9050809350505050919050565b5f80611bb66108e0565b90505f8103611bc8575f915050611c81565b5f620186a0600583611bda919061247b565b611be4919061244b565b90505f620186a06101f484611bf9919061247b565b611c03919061244b565b9050818511611c195761012c9350505050611c81565b808510611c2d57610bb89350505050611c81565b5f61012c8383611c3d9190612152565b61012c610bb8611c4d9190612152565b8589611c599190612152565b611c63919061247b565b611c6d919061244b565b611c7791906121ed565b9050809450505050505b919050565b5f80600b5442611c969190612152565b90506104b0811015611cac576003915050611cb2565b60019150505b90565b5f819050919050565b611cc781611cb5565b82525050565b5f602082019050611ce05f830184611cbe565b92915050565b5f81519050919050565b5f82825260208201905092915050565b8281835e5f83830152505050565b5f601f19601f8301169050919050565b5f611d2882611ce6565b611d328185611cf0565b9350611d42818560208601611d00565b611d4b81611d0e565b840191505092915050565b5f6020820190508181035f830152611d6e8184611d1e565b905092915050565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f611da382611d7a565b9050919050565b611db381611d99565b8114611dbd575f80fd5b50565b5f81359050611dce81611daa565b92915050565b611ddd81611cb5565b8114611de7575f80fd5b50565b5f81359050611df881611dd4565b92915050565b5f8060408385031215611e1457611e13611d76565b5b5f611e2185828601611dc0565b9250506020611e3285828601611dea565b9150509250929050565b5f8115159050919050565b611e5081611e3c565b82525050565b5f602082019050611e695f830184611e47565b92915050565b5f819050919050565b5f611e92611e8d611e8884611d7a565b611e6f565b611d7a565b9050919050565b5f611ea382611e78565b9050919050565b5f611eb482611e99565b9050919050565b611ec481611eaa565b82525050565b5f602082019050611edd5f830184611ebb565b92915050565b5f805f60608486031215611efa57611ef9611d76565b5b5f611f0786828701611dc0565b9350506020611f1886828701611dc0565b9250506040611f2986828701611dea565b9150509250925092565b5f60ff82169050919050565b611f4881611f33565b82525050565b5f602082019050611f615f830184611f3f565b92915050565b611f7081611d99565b82525050565b5f602082019050611f895f830184611f67565b92915050565b5f60208284031215611fa457611fa3611d76565b5b5f611fb184828501611dc0565b91505092915050565b5f8060408385031215611fd057611fcf611d76565b5b5f611fdd85828601611dc0565b9250506020611fee85828601611dc0565b9150509250929050565b7f43616c6c6572206973206e6f74206f776e6572000000000000000000000000005f82015250565b5f61202c601383611cf0565b915061203782611ff8565b602082019050919050565b5f6020820190508181035f83015261205981612020565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f60028204905060018216806120a457607f821691505b6020821081036120b7576120b6612060565b5b50919050565b7f496e73756666696369656e7420416c6c6f77616e6365000000000000000000005f82015250565b5f6120f1601683611cf0565b91506120fc826120bd565b602082019050919050565b5f6020820190508181035f83015261211e816120e5565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f61215c82611cb5565b915061216783611cb5565b925082820390508181111561217f5761217e612125565b5b92915050565b7f496e73756666696369656e742062616c616e63650000000000000000000000005f82015250565b5f6121b9601483611cf0565b91506121c482612185565b602082019050919050565b5f6020820190508181035f8301526121e6816121ad565b9050919050565b5f6121f782611cb5565b915061220283611cb5565b925082820190508082111561221a57612219612125565b5b92915050565b5f6060820190506122335f830186611f67565b6122406020830185611f67565b61224d6040830184611cbe565b949350505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f819050919050565b5f6122d26122cd6122c8846122af565b611e6f565b611cb5565b9050919050565b6122e2816122b8565b82525050565b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b61231a81611d99565b82525050565b5f61232b8383612311565b60208301905092915050565b5f602082019050919050565b5f61234d826122e8565b61235781856122f2565b935061236283612302565b805f5b838110156123925781516123798882612320565b975061238483612337565b925050600181019050612365565b5085935050505092915050565b5f60a0820190506123b25f830188611cbe565b6123bf60208301876122d9565b81810360408301526123d18186612343565b90506123e06060830185611f67565b6123ed6080830184611cbe565b9695505050505050565b5f60408201905061240a5f830185611cbe565b6124176020830184611cbe565b9392505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f61245582611cb5565b915061246083611cb5565b9250826124705761246f61241e565b5b828204905092915050565b5f61248582611cb5565b915061249083611cb5565b925082820261249e81611cb5565b915082820484148315176124b5576124b4612125565b5b5092915050565b5f819050919050565b6124d66124d182611cb5565b6124bc565b82525050565b5f6124e782856124c5565b6020820191506124f782846124c5565b6020820191508190509392505050565b5f61251182611cb5565b915061251c83611cb5565b92508261252c5761252b61241e565b5b828206905092915050565b5f60808201905061254a5f8301876122d9565b818103602083015261255c8186612343565b905061256b6040830185611f67565b6125786060830184611cbe565b9594505050505056fea264697066735822122045834ee78a54f31c3a3abbd9aab1f8912413f6a591c409535f2bd5fb75a8056464736f6c63430008190033
Deployed Bytecode Sourcemap
12239:11114:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23256:94;;;;;;;;;;;;;:::i;:::-;;13234:28;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;15007:94;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;15399:216;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13269:41;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13317;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;14664:113;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;15912:394;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;23112:136;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;14789:95;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4171:94;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13365:28;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13184:43;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13132:45;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;15623:117;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;15113:119;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;14896:99;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3840:137;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;15748:156;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;15244:147;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;23256:94;3454:10;:8;:10::i;:::-;3440:24;;:10;:24;;;3432:56;;;;;;;;;;;;:::i;:::-;;;;;;;;;23327:15:::1;23302:22;:40;;;;23256:94::o:0;13234:28::-;;;;:::o;15007:94::-;15055:13;15088:5;15081:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15007:94;:::o;15399:216::-;15474:4;15526:6;15491:11;:23;15503:10;15491:23;;;;;;;;;;;;;;;:32;15515:7;15491:32;;;;;;;;;;;;;;;:41;;;;15569:7;15548:37;;15557:10;15548:37;;;15578:6;15548:37;;;;;;:::i;:::-;;;;;;;;15603:4;15596:11;;15399:216;;;;:::o;13269:41::-;;;;:::o;13317:::-;;;;;;;;;;;;;:::o;14664:113::-;14719:7;14746:12;;14739:19;;14664:113;:::o;15912:394::-;16012:4;16067:12;;16032:11;:19;16044:6;16032:19;;;;;;;;;;;;;;;:31;16052:10;16032:31;;;;;;;;;;;;;;;;:47;16029:210;;16138:6;16103:11;:19;16115:6;16103:19;;;;;;;;;;;;;;;:31;16123:10;16103:31;;;;;;;;;;;;;;;;:41;;16095:76;;;;;;;;;;;;:::i;:::-;;;;;;;;;16221:6;16186:11;:19;16198:6;16186:19;;;;;;;;;;;;;;;:31;16206:10;16186:31;;;;;;;;;;;;;;;;:41;;;;;;;:::i;:::-;;;;;;;;16029:210;16258:40;16272:6;16280:9;16291:6;16258:13;:40::i;:::-;16251:47;;15912:394;;;;;:::o;23112:136::-;23165:7;23225:15;23235:4;;;;;;;;;;;23225:9;:15::i;:::-;23207;23217:4;;;;;;;;;;;23207:9;:15::i;:::-;23192:12;;:30;;;;:::i;:::-;:48;;;;:::i;:::-;23185:55;;23112:136;:::o;14789:95::-;14841:5;12576:1;14859:16;;14789:95;:::o;4171:94::-;4220:7;4247:10;:8;:10::i;:::-;4240:17;;4171:94;:::o;13365:28::-;;;;;;;;;;;;;:::o;13184:43::-;;;;:::o;13132:45::-;;;;:::o;15623:117::-;15678:4;15702:30;15710:7;15719:12;;15702:7;:30::i;:::-;15695:37;;15623:117;;;:::o;15113:119::-;15179:7;15206:9;:18;15216:7;15206:18;;;;;;;;;;;;;;;;15199:25;;15113:119;;;:::o;14896:99::-;14946:13;14980:7;;;;;;;;;;;;;;;;;14973:14;;14896:99;:::o;3840:137::-;3454:10;:8;:10::i;:::-;3440:24;;:10;:24;;;3432:56;;;;;;;;;;;;:::i;:::-;;;;;;;;;3915:8:::1;3907:5;::::0;:16:::1;;;;;;;;;;;;;;;;;;3958:8;3949:18;;;;;;;;;;;;3840:137:::0;:::o;15748:156::-;15828:4;15852:44;15866:10;15878:9;15889:6;15852:13;:44::i;:::-;15845:51;;15748:156;;;;:::o;15244:147::-;15328:7;15355:11;:19;15367:6;15355:19;;;;;;;;;;;;;;;:28;15375:7;15355:28;;;;;;;;;;;;;;;;15348:35;;15244:147;;;;:::o;4071:88::-;4114:7;4145:5;;;;;;;;;;;4138:12;;4071:88;:::o;16314:1303::-;16406:4;16452:6;16431:17;16441:6;16431:9;:17::i;:::-;:27;;16423:60;;;;;;;;;;;;:::i;:::-;;;;;;;;;16507:35;16524:6;16532:9;16507:16;:35::i;:::-;16504:168;;;16587:6;16559:24;;:34;;;;;;;:::i;:::-;;;;;;;;16613:47;16634:6;16642:9;16653:6;16613:47;;;;;;;;:::i;:::-;;;;;;;;16504:168;16688:6;;;;;;;;;;;16684:87;;;16718:41;16733:6;16741:9;16752:6;16718:14;:41::i;:::-;16711:48;;;;16684:87;16788:34;16812:9;16788:23;:34::i;:::-;16785:84;;;16839:18;:16;:18::i;:::-;16785:84;16884:34;16908:9;16884:23;:34::i;:::-;16881:78;;;16935:12;:10;:12::i;:::-;16881:78;17013:19;;17000:9;;16982:15;:27;;;;:::i;:::-;:50;;:80;;;;;17049:13;;;;;;;;;;;17036:26;;:9;:26;;;16982:80;16979:345;;;17254:15;17242:9;:27;;;;17311:1;17284:24;:28;;;;16979:345;17336:19;17358:32;17372:6;17380:9;17358:13;:32::i;:::-;:67;;17419:6;17358:67;;;17393:23;17401:6;17409;17393:7;:23::i;:::-;17358:67;17336:89;;17467:6;17446:9;:17;17456:6;17446:17;;;;;;;;;;;;;;;;:27;;;;;;;:::i;:::-;;;;;;;;17508:11;17484:9;:20;17494:9;17484:20;;;;;;;;;;;;;;;;:35;;;;;;;:::i;:::-;;;;;;;;17554:9;17537:40;;17546:6;17537:40;;;17565:11;17537:40;;;;;;:::i;:::-;;;;;;;;17605:4;17598:11;;;16314:1303;;;;;;:::o;17907:264::-;17991:4;18026:13;;;;;;;;;;;18016:23;;:6;:23;;;:53;;;;18056:13;;;;;;;;;;;18043:26;;:9;:26;;;18016:53;18015:79;;;;;18084:10;:8;:10::i;:::-;18074:20;;:6;:20;;;;18015:79;:106;;;;;18111:10;:8;:10::i;:::-;18098:23;;:9;:23;;;;18015:106;:127;;;;;18138:4;;;;;;;;;;;18125:17;;:9;:17;;;;18015:127;:148;;;;;18159:4;;;;;;;;;;;18146:17;;:9;:17;;;;18015:148;18008:155;;17907:264;;;;:::o;17625:274::-;17718:4;17756:6;17735:9;:17;17745:6;17735:17;;;;;;;;;;;;;;;;:27;;;;;;;:::i;:::-;;;;;;;;17797:6;17773:9;:20;17783:9;17773:20;;;;;;;;;;;;;;;;:30;;;;;;;:::i;:::-;;;;;;;;17829:40;17843:6;17851:9;17862:6;17829:40;;;;;;;;:::i;:::-;;;;;;;;17887:4;17880:11;;17625:274;;;;;:::o;20788:282::-;20863:4;20924:6;;;;;;;;;;;20923:7;:51;;;;;20961:13;;;;;;;;;;;20947:27;;:10;:27;;;;20923:51;:94;;;;;21004:13;;;;;;;;;;;20991:26;;:9;:26;;;20923:94;:139;;;;;21061:1;21034:24;21052:4;21034:9;:24::i;:::-;:28;20923:139;20916:146;;20788:282;;;:::o;21659:577::-;13536:4;13527:6;;:13;;;;;;;;;;;;;;;;;;21726:20:::1;21749:24;21767:4;21749:9;:24::i;:::-;21726:47;;21786:21;21824:1;21810:16;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;21786:40;;21855:4;21837;21842:1;21837:7;;;;;;;;:::i;:::-;;;;;;;:23;;;;;;;;;::::0;::::1;21881:4;;;;;;;;;;;21871;21876:1;21871:7;;;;;;;;:::i;:::-;;;;;;;:14;;;;;;;;;::::0;::::1;21898:15;;;;;;;;;;;:66;;;21979:12;22006:1;22022:4;22049;22069:15;21898:197;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;22108:18;22129:21;22108:42;;22176;22193:12;22207:10;22176:42;;;;;;;:::i;:::-;;;;;;;;21705:531;;;13574:5:::0;13565:6;;:14;;;;;;;;;;;;;;;;;;21659:577::o;21078:573::-;21153:4;21206:25;21234:22;:20;:22::i;:::-;21206:50;;21267:27;21317:3;21297:17;:23;;;;:::i;:::-;21267:53;;21337:24;21391:19;21364:24;;:46;21337:73;;21428:19;:86;;;;;21495:19;;21482:9;;21464:15;:27;;;;:::i;:::-;:50;;21428:86;:130;;;;;21545:13;;;;;;;;;;;21531:27;;:10;:27;;;;21428:130;:173;;;;;21588:13;;;;;;;;;;;21575:26;;:9;:26;;;21428:173;:215;;;;;21642:1;21618:21;:25;21428:215;21421:222;;;;;21078:573;;;:::o;20403:377::-;20458:15;20446:9;:27;;;;20525:7;20506:16;:14;:16::i;:::-;:26;;;;:::i;:::-;20484:19;:48;;;;20570:1;20543:24;:28;;;;20582:19;20604:21;20582:43;;20653:1;20639:11;:15;20636:137;;;20671:20;20713:3;20708:2;20694:11;:16;;;;:::i;:::-;:22;;;;:::i;:::-;20671:45;;20731:30;20748:12;20731:16;:30::i;:::-;20656:117;20636:137;20435:345;20403:377::o;18179:320::-;18260:4;18294:10;:8;:10::i;:::-;18284:20;;:6;:20;;;;:47;;;;;18321:10;:8;:10::i;:::-;18308:23;;:9;:23;;;;18284:47;:106;;;;;18346:13;;;;;;;;;;;18336:23;;:6;:23;;;:53;;;;18376:13;;;;;;;;;;;18363:26;;:9;:26;;;18336:53;18284:106;:207;;;;;18408:4;;;;;;;;;;;18395:17;;:9;:17;;;;:38;;;;;18429:4;;;;;;;;;;;18416:17;;:9;:17;;;;18395:38;:65;;;;;18455:4;18437:23;;:6;:23;;;;18395:65;:95;;;;;18485:4;18464:26;;:9;:26;;;;18395:95;18284:207;18277:214;;18179:320;;;;:::o;18507:279::-;18574:7;18594:17;18614:20;18627:6;18614:12;:20::i;:::-;18594:40;;18673:9;18645;:24;18663:4;18645:24;;;;;;;;;;;;;;;;:37;;;;;;;:::i;:::-;;;;;;;;18723:4;18698:42;;18707:6;18698:42;;;18730:9;18698:42;;;;;;:::i;:::-;;;;;;;;18769:9;18760:6;:18;;;;:::i;:::-;18753:25;;;18507:279;;;;:::o;22892:208::-;22941:7;22961:19;23057:1;23018:15;23035:16;23001:51;;;;;;;;;:::i;:::-;;;;;;;;;;;;;22991:62;;;;;;22983:71;;:75;;;;:::i;:::-;22961:97;;23081:11;23076:2;:16;;;;:::i;:::-;23069:23;;;22892:208;:::o;22248:636::-;22316:28;22347:24;22365:4;22347:9;:24::i;:::-;22316:55;;22382:21;22420:1;22406:16;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;22382:40;;22443:4;;;;;;;;;;;22433;22438:1;22433:7;;;;;;;;:::i;:::-;;;;;;;:14;;;;;;;;;;;22476:4;22458;22463:1;22458:7;;;;;;;;:::i;:::-;;;;;;;:23;;;;;;;;;;;22494:15;;;;;;;;;;;:66;;;22568:10;22594:1;22610:4;22629;;;;;;;;;;;22691:15;22494:223;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;22748:21;22799:20;22772:24;22790:4;22772:9;:24::i;:::-;:47;;;;:::i;:::-;22748:71;;22845:31;22862:13;22845:31;;;;;;:::i;:::-;;;;;;;;22303:581;;;22248:636;:::o;18794:261::-;18855:7;18875:11;18889:14;18896:6;18889;:14::i;:::-;18875:28;;18914:18;18935:15;:13;:15::i;:::-;18914:36;;18961:19;19013:5;18999:10;18993:3;:16;;;;:::i;:::-;18983:6;:27;;;;:::i;:::-;:35;;;;:::i;:::-;18961:57;;19036:11;19029:18;;;;;18794:261;;;:::o;19427:968::-;19491:7;19521:25;19549:22;:20;:22::i;:::-;19521:50;;19606:1;19585:17;:22;19582:35;;19616:1;19609:8;;;;;19582:35;19656:29;19712:6;19708:1;19688:17;:21;;;;:::i;:::-;:30;;;;:::i;:::-;19656:62;;19739:29;19797:6;19791:3;19771:17;:23;;;;:::i;:::-;:32;;;;:::i;:::-;19739:64;;19844:21;19825:15;:40;19822:566;;12970:3;19882:21;;;;;;;19822:566;19943:21;19924:15;:40;19921:467;;13042:4;19981:21;;;;;;;19921:467;20183:15;12970:3;20307:21;20283;:45;;;;:::i;:::-;12970:3;13042:4;20247:31;;;;:::i;:::-;20221:21;20203:15;:39;;;;:::i;:::-;20202:77;;;;:::i;:::-;:127;;;;:::i;:::-;20201:146;;;;:::i;:::-;20183:164;;20369:7;20362:14;;;;;;19427:968;;;;:::o;19063:275::-;19111:7;19131:19;19171:22;;19153:15;:40;;;;:::i;:::-;19131:62;;19221:10;19207:11;:24;19204:127;;;13124:1;19249:29;;;;;19204:127;19318:1;19311:8;;;19063:275;;:::o;7:77:1:-;44:7;73:5;62:16;;7:77;;;:::o;90:118::-;177:24;195:5;177:24;:::i;:::-;172:3;165:37;90:118;;:::o;214:222::-;307:4;345:2;334:9;330:18;322:26;;358:71;426:1;415:9;411:17;402:6;358:71;:::i;:::-;214:222;;;;:::o;442:99::-;494:6;528:5;522:12;512:22;;442:99;;;:::o;547:169::-;631:11;665:6;660:3;653:19;705:4;700:3;696:14;681:29;;547:169;;;;:::o;722:139::-;811:6;806:3;801;795:23;852:1;843:6;838:3;834:16;827:27;722:139;;;:::o;867:102::-;908:6;959:2;955:7;950:2;943:5;939:14;935:28;925:38;;867:102;;;:::o;975:377::-;1063:3;1091:39;1124:5;1091:39;:::i;:::-;1146:71;1210:6;1205:3;1146:71;:::i;:::-;1139:78;;1226:65;1284:6;1279:3;1272:4;1265:5;1261:16;1226:65;:::i;:::-;1316:29;1338:6;1316:29;:::i;:::-;1311:3;1307:39;1300:46;;1067:285;975:377;;;;:::o;1358:313::-;1471:4;1509:2;1498:9;1494:18;1486:26;;1558:9;1552:4;1548:20;1544:1;1533:9;1529:17;1522:47;1586:78;1659:4;1650:6;1586:78;:::i;:::-;1578:86;;1358:313;;;;:::o;1758:117::-;1867:1;1864;1857:12;2004:126;2041:7;2081:42;2074:5;2070:54;2059:65;;2004:126;;;:::o;2136:96::-;2173:7;2202:24;2220:5;2202:24;:::i;:::-;2191:35;;2136:96;;;:::o;2238:122::-;2311:24;2329:5;2311:24;:::i;:::-;2304:5;2301:35;2291:63;;2350:1;2347;2340:12;2291:63;2238:122;:::o;2366:139::-;2412:5;2450:6;2437:20;2428:29;;2466:33;2493:5;2466:33;:::i;:::-;2366:139;;;;:::o;2511:122::-;2584:24;2602:5;2584:24;:::i;:::-;2577:5;2574:35;2564:63;;2623:1;2620;2613:12;2564:63;2511:122;:::o;2639:139::-;2685:5;2723:6;2710:20;2701:29;;2739:33;2766:5;2739:33;:::i;:::-;2639:139;;;;:::o;2784:474::-;2852:6;2860;2909:2;2897:9;2888:7;2884:23;2880:32;2877:119;;;2915:79;;:::i;:::-;2877:119;3035:1;3060:53;3105:7;3096:6;3085:9;3081:22;3060:53;:::i;:::-;3050:63;;3006:117;3162:2;3188:53;3233:7;3224:6;3213:9;3209:22;3188:53;:::i;:::-;3178:63;;3133:118;2784:474;;;;;:::o;3264:90::-;3298:7;3341:5;3334:13;3327:21;3316:32;;3264:90;;;:::o;3360:109::-;3441:21;3456:5;3441:21;:::i;:::-;3436:3;3429:34;3360:109;;:::o;3475:210::-;3562:4;3600:2;3589:9;3585:18;3577:26;;3613:65;3675:1;3664:9;3660:17;3651:6;3613:65;:::i;:::-;3475:210;;;;:::o;3691:60::-;3719:3;3740:5;3733:12;;3691:60;;;:::o;3757:142::-;3807:9;3840:53;3858:34;3867:24;3885:5;3867:24;:::i;:::-;3858:34;:::i;:::-;3840:53;:::i;:::-;3827:66;;3757:142;;;:::o;3905:126::-;3955:9;3988:37;4019:5;3988:37;:::i;:::-;3975:50;;3905:126;;;:::o;4037:152::-;4113:9;4146:37;4177:5;4146:37;:::i;:::-;4133:50;;4037:152;;;:::o;4195:183::-;4308:63;4365:5;4308:63;:::i;:::-;4303:3;4296:76;4195:183;;:::o;4384:274::-;4503:4;4541:2;4530:9;4526:18;4518:26;;4554:97;4648:1;4637:9;4633:17;4624:6;4554:97;:::i;:::-;4384:274;;;;:::o;4664:619::-;4741:6;4749;4757;4806:2;4794:9;4785:7;4781:23;4777:32;4774:119;;;4812:79;;:::i;:::-;4774:119;4932:1;4957:53;5002:7;4993:6;4982:9;4978:22;4957:53;:::i;:::-;4947:63;;4903:117;5059:2;5085:53;5130:7;5121:6;5110:9;5106:22;5085:53;:::i;:::-;5075:63;;5030:118;5187:2;5213:53;5258:7;5249:6;5238:9;5234:22;5213:53;:::i;:::-;5203:63;;5158:118;4664:619;;;;;:::o;5289:86::-;5324:7;5364:4;5357:5;5353:16;5342:27;;5289:86;;;:::o;5381:112::-;5464:22;5480:5;5464:22;:::i;:::-;5459:3;5452:35;5381:112;;:::o;5499:214::-;5588:4;5626:2;5615:9;5611:18;5603:26;;5639:67;5703:1;5692:9;5688:17;5679:6;5639:67;:::i;:::-;5499:214;;;;:::o;5719:118::-;5806:24;5824:5;5806:24;:::i;:::-;5801:3;5794:37;5719:118;;:::o;5843:222::-;5936:4;5974:2;5963:9;5959:18;5951:26;;5987:71;6055:1;6044:9;6040:17;6031:6;5987:71;:::i;:::-;5843:222;;;;:::o;6071:329::-;6130:6;6179:2;6167:9;6158:7;6154:23;6150:32;6147:119;;;6185:79;;:::i;:::-;6147:119;6305:1;6330:53;6375:7;6366:6;6355:9;6351:22;6330:53;:::i;:::-;6320:63;;6276:117;6071:329;;;;:::o;6406:474::-;6474:6;6482;6531:2;6519:9;6510:7;6506:23;6502:32;6499:119;;;6537:79;;:::i;:::-;6499:119;6657:1;6682:53;6727:7;6718:6;6707:9;6703:22;6682:53;:::i;:::-;6672:63;;6628:117;6784:2;6810:53;6855:7;6846:6;6835:9;6831:22;6810:53;:::i;:::-;6800:63;;6755:118;6406:474;;;;;:::o;6886:169::-;7026:21;7022:1;7014:6;7010:14;7003:45;6886:169;:::o;7061:366::-;7203:3;7224:67;7288:2;7283:3;7224:67;:::i;:::-;7217:74;;7300:93;7389:3;7300:93;:::i;:::-;7418:2;7413:3;7409:12;7402:19;;7061:366;;;:::o;7433:419::-;7599:4;7637:2;7626:9;7622:18;7614:26;;7686:9;7680:4;7676:20;7672:1;7661:9;7657:17;7650:47;7714:131;7840:4;7714:131;:::i;:::-;7706:139;;7433:419;;;:::o;7858:180::-;7906:77;7903:1;7896:88;8003:4;8000:1;7993:15;8027:4;8024:1;8017:15;8044:320;8088:6;8125:1;8119:4;8115:12;8105:22;;8172:1;8166:4;8162:12;8193:18;8183:81;;8249:4;8241:6;8237:17;8227:27;;8183:81;8311:2;8303:6;8300:14;8280:18;8277:38;8274:84;;8330:18;;:::i;:::-;8274:84;8095:269;8044:320;;;:::o;8370:172::-;8510:24;8506:1;8498:6;8494:14;8487:48;8370:172;:::o;8548:366::-;8690:3;8711:67;8775:2;8770:3;8711:67;:::i;:::-;8704:74;;8787:93;8876:3;8787:93;:::i;:::-;8905:2;8900:3;8896:12;8889:19;;8548:366;;;:::o;8920:419::-;9086:4;9124:2;9113:9;9109:18;9101:26;;9173:9;9167:4;9163:20;9159:1;9148:9;9144:17;9137:47;9201:131;9327:4;9201:131;:::i;:::-;9193:139;;8920:419;;;:::o;9345:180::-;9393:77;9390:1;9383:88;9490:4;9487:1;9480:15;9514:4;9511:1;9504:15;9531:194;9571:4;9591:20;9609:1;9591:20;:::i;:::-;9586:25;;9625:20;9643:1;9625:20;:::i;:::-;9620:25;;9669:1;9666;9662:9;9654:17;;9693:1;9687:4;9684:11;9681:37;;;9698:18;;:::i;:::-;9681:37;9531:194;;;;:::o;9731:170::-;9871:22;9867:1;9859:6;9855:14;9848:46;9731:170;:::o;9907:366::-;10049:3;10070:67;10134:2;10129:3;10070:67;:::i;:::-;10063:74;;10146:93;10235:3;10146:93;:::i;:::-;10264:2;10259:3;10255:12;10248:19;;9907:366;;;:::o;10279:419::-;10445:4;10483:2;10472:9;10468:18;10460:26;;10532:9;10526:4;10522:20;10518:1;10507:9;10503:17;10496:47;10560:131;10686:4;10560:131;:::i;:::-;10552:139;;10279:419;;;:::o;10704:191::-;10744:3;10763:20;10781:1;10763:20;:::i;:::-;10758:25;;10797:20;10815:1;10797:20;:::i;:::-;10792:25;;10840:1;10837;10833:9;10826:16;;10861:3;10858:1;10855:10;10852:36;;;10868:18;;:::i;:::-;10852:36;10704:191;;;;:::o;10901:442::-;11050:4;11088:2;11077:9;11073:18;11065:26;;11101:71;11169:1;11158:9;11154:17;11145:6;11101:71;:::i;:::-;11182:72;11250:2;11239:9;11235:18;11226:6;11182:72;:::i;:::-;11264;11332:2;11321:9;11317:18;11308:6;11264:72;:::i;:::-;10901:442;;;;;;:::o;11349:180::-;11397:77;11394:1;11387:88;11494:4;11491:1;11484:15;11518:4;11515:1;11508:15;11535:180;11583:77;11580:1;11573:88;11680:4;11677:1;11670:15;11704:4;11701:1;11694:15;11721:85;11766:7;11795:5;11784:16;;11721:85;;;:::o;11812:158::-;11870:9;11903:61;11921:42;11930:32;11956:5;11930:32;:::i;:::-;11921:42;:::i;:::-;11903:61;:::i;:::-;11890:74;;11812:158;;;:::o;11976:147::-;12071:45;12110:5;12071:45;:::i;:::-;12066:3;12059:58;11976:147;;:::o;12129:114::-;12196:6;12230:5;12224:12;12214:22;;12129:114;;;:::o;12249:184::-;12348:11;12382:6;12377:3;12370:19;12422:4;12417:3;12413:14;12398:29;;12249:184;;;;:::o;12439:132::-;12506:4;12529:3;12521:11;;12559:4;12554:3;12550:14;12542:22;;12439:132;;;:::o;12577:108::-;12654:24;12672:5;12654:24;:::i;:::-;12649:3;12642:37;12577:108;;:::o;12691:179::-;12760:10;12781:46;12823:3;12815:6;12781:46;:::i;:::-;12859:4;12854:3;12850:14;12836:28;;12691:179;;;;:::o;12876:113::-;12946:4;12978;12973:3;12969:14;12961:22;;12876:113;;;:::o;13025:732::-;13144:3;13173:54;13221:5;13173:54;:::i;:::-;13243:86;13322:6;13317:3;13243:86;:::i;:::-;13236:93;;13353:56;13403:5;13353:56;:::i;:::-;13432:7;13463:1;13448:284;13473:6;13470:1;13467:13;13448:284;;;13549:6;13543:13;13576:63;13635:3;13620:13;13576:63;:::i;:::-;13569:70;;13662:60;13715:6;13662:60;:::i;:::-;13652:70;;13508:224;13495:1;13492;13488:9;13483:14;;13448:284;;;13452:14;13748:3;13741:10;;13149:608;;;13025:732;;;;:::o;13763:831::-;14026:4;14064:3;14053:9;14049:19;14041:27;;14078:71;14146:1;14135:9;14131:17;14122:6;14078:71;:::i;:::-;14159:80;14235:2;14224:9;14220:18;14211:6;14159:80;:::i;:::-;14286:9;14280:4;14276:20;14271:2;14260:9;14256:18;14249:48;14314:108;14417:4;14408:6;14314:108;:::i;:::-;14306:116;;14432:72;14500:2;14489:9;14485:18;14476:6;14432:72;:::i;:::-;14514:73;14582:3;14571:9;14567:19;14558:6;14514:73;:::i;:::-;13763:831;;;;;;;;:::o;14600:332::-;14721:4;14759:2;14748:9;14744:18;14736:26;;14772:71;14840:1;14829:9;14825:17;14816:6;14772:71;:::i;:::-;14853:72;14921:2;14910:9;14906:18;14897:6;14853:72;:::i;:::-;14600:332;;;;;:::o;14938:180::-;14986:77;14983:1;14976:88;15083:4;15080:1;15073:15;15107:4;15104:1;15097:15;15124:185;15164:1;15181:20;15199:1;15181:20;:::i;:::-;15176:25;;15215:20;15233:1;15215:20;:::i;:::-;15210:25;;15254:1;15244:35;;15259:18;;:::i;:::-;15244:35;15301:1;15298;15294:9;15289:14;;15124:185;;;;:::o;15315:410::-;15355:7;15378:20;15396:1;15378:20;:::i;:::-;15373:25;;15412:20;15430:1;15412:20;:::i;:::-;15407:25;;15467:1;15464;15460:9;15489:30;15507:11;15489:30;:::i;:::-;15478:41;;15668:1;15659:7;15655:15;15652:1;15649:22;15629:1;15622:9;15602:83;15579:139;;15698:18;;:::i;:::-;15579:139;15363:362;15315:410;;;;:::o;15731:79::-;15770:7;15799:5;15788:16;;15731:79;;;:::o;15816:157::-;15921:45;15941:24;15959:5;15941:24;:::i;:::-;15921:45;:::i;:::-;15916:3;15909:58;15816:157;;:::o;15979:397::-;16119:3;16134:75;16205:3;16196:6;16134:75;:::i;:::-;16234:2;16229:3;16225:12;16218:19;;16247:75;16318:3;16309:6;16247:75;:::i;:::-;16347:2;16342:3;16338:12;16331:19;;16367:3;16360:10;;15979:397;;;;;:::o;16382:176::-;16414:1;16431:20;16449:1;16431:20;:::i;:::-;16426:25;;16465:20;16483:1;16465:20;:::i;:::-;16460:25;;16504:1;16494:35;;16509:18;;:::i;:::-;16494:35;16550:1;16547;16543:9;16538:14;;16382:176;;;;:::o;16564:720::-;16799:4;16837:3;16826:9;16822:19;16814:27;;16851:79;16927:1;16916:9;16912:17;16903:6;16851:79;:::i;:::-;16977:9;16971:4;16967:20;16962:2;16951:9;16947:18;16940:48;17005:108;17108:4;17099:6;17005:108;:::i;:::-;16997:116;;17123:72;17191:2;17180:9;17176:18;17167:6;17123:72;:::i;:::-;17205;17273:2;17262:9;17258:18;17249:6;17205:72;:::i;:::-;16564:720;;;;;;;:::o
Swarm Source
ipfs://45834ee78a54f31c3a3abbd9aab1f8912413f6a591c409535f2bd5fb75a80564
Loading...
Loading
Loading...
Loading
Loading...
Loading
Net Worth in USD
$60.56
Net Worth in ETH
0.029346
Token Allocations
ETH
100.00%
Multichain Portfolio | 33 Chains
| Chain | Token | Portfolio % | Price | Amount | Value |
|---|---|---|---|---|---|
| BASE | 100.00% | $2,063.59 | 0.0293 | $60.56 |
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.