Feature Tip: Add private address tag to any address under My Name Tag !
ERC-20
Overview
Max Total Supply
1,000,000,000 coTAN
Holders
47
Market
Onchain Market Cap
$0.00
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 18 Decimals)
Balance
38,513.392768700248949383 coTANValue
$0.00Loading...
Loading
Loading...
Loading
Loading...
Loading
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|
Contract Source Code Verified (Exact Match)
Contract Name:
TangentArc
Compiler Version
v0.8.23+commit.f704f362
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2023-12-15 */ // // // @@@@@@@@@@@@, @@@@@@@@@@@@ // @@@ @@ // @@@ @@ // @@@ @@ // @@@ @@ // @@@ @@ // @@@ @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @@ // @@@ @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @@ // @@@ @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @@ // @@@ @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@% ,@@ // @@@ @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ ,@@ // @@@ @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@/ %@@ // @@@ .@@@@@@@@@@@@@@@@@@@@@@@, @@@ // @@@ @@@@@@@@@@@@@@@@@@@@@@@@@ @@@ // @@@ @@@@@@@@@@@@@ @@@@@@@@@@@@@ @@@ // @@@ @@@@@@@@@@@@@ @@@@@@@@@@@@@ @@@ // @@@ @@@@@@@@@@@@@ @@@@@@@@@@@@@ @@@ // @@@ @@@@@@@@@@@@@/ @@@@@@@@@@@@@ @@@ // @@@ @@@@@@@@@@@@@ @@@@@@@@@@@@& @@@ // @@@ @@@@@@@@@@@@@ &@@@@@@@@@@@@. @@@ // @@@ @@@@@@@@@@@@@ *@@@@@@@@@@@@ @@@ // @@@ #@@@@@@@@@@@@ @@@@@@@@@@@@@ @@@ // @@@ @@@@@@@@@@@@@ @@@@@@@@@@@@@ @@@ // @@@ @@@@@@@@@@@@ @@@@@@@@@@@@@ @@@ // @@@ @@@@@@@@@@@@@# //////////, @@@@@@@@@@@@% @@@ // @@, @@@@@@@@@@@@ ///////////// @@@@@@@@@@@@@ @@@ // @@, @@@@@@@@@@@@/ ///////////// @@@@@@@@@@@@@. @@@ // @@ @@@@@@@@@@@@/ ///////////// .@@@@@@@@@@@@ @@@ // @@@ @@@@@@@@@@@@@ //////// ,@@@@@@@@@@@@ @@@ // @@@ @@@@@@@@@@@@@ @@@@@@@@@@@@ @@@ // @@@ @@@@@@@@@@@@@ *@@@@@@@@@@@@. @@& // @@@ ,@@@@@@@@@@ @@@@@@@@@@@ @@@ // @@@ @@@& @@&*@ @@@ // @@@ @@@ // @@@ @@@ // @@@ @@@ // @@@ @@@ // @@@@@@@.@@. *@@@@@@@@@@@ // // // ~~~ TANGENT ARC - coTAN Usage Token // ~~~ UNLOCK THE FUTURE // // ~~~ TANGENTARC.IO ~~~ // ~~~ X.COM/TANGENTARC_IO ~~~ // ~~~ T.ME/TANGENTARC ~~~ pragma solidity ^0.8.9; abstract contract Context { function _msgSender() internal view virtual returns (address) { return msg.sender; } function _msgData() internal view virtual returns (bytes calldata) { return msg.data; } } interface IERC20 { /** * @dev Emitted when `value` tokens are moved from one account (`from`) to * another (`to`). * * Note that `value` may be zero. */ event Transfer(address indexed from, address indexed to, uint256 value); /** * @dev Emitted when the allowance of a `spender` for an `owner` is set by * a call to {approve}. `value` is the new allowance. */ event Approval(address indexed owner, address indexed spender, uint256 value); /** * @dev Returns the amount of tokens in existence. */ function totalSupply() external view returns (uint256); /** * @dev Returns the amount of tokens owned by `account`. */ function balanceOf(address account) external view returns (uint256); /** * @dev Moves `amount` tokens from the caller's account to `to`. * * Returns a boolean value indicating whether the operation succeeded. * * Emits a {Transfer} event. */ function transfer(address to, uint256 amount) external returns (bool); /** * @dev Returns the remaining number of tokens that `spender` will be * allowed to spend on behalf of `owner` through {transferFrom}. This is * zero by default. * * This value changes when {approve} or {transferFrom} are called. */ function allowance(address owner, address spender) external view returns (uint256); /** * @dev Sets `amount` as the allowance of `spender` over the caller's tokens. * * Returns a boolean value indicating whether the operation succeeded. * * IMPORTANT: Beware that changing an allowance with this method brings the risk * that someone may use both the old and the new allowance by unfortunate * transaction ordering. One possible solution to mitigate this race * condition is to first reduce the spender's allowance to 0 and set the * desired value afterwards: * https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729 * * Emits an {Approval} event. */ function approve(address spender, uint256 amount) external returns (bool); /** * @dev Moves `amount` tokens from `from` to `to` using the * allowance mechanism. `amount` is then deducted from the caller's * allowance. * * Returns a boolean value indicating whether the operation succeeded. * * Emits a {Transfer} event. */ function transferFrom(address from, address to, uint256 amount) external returns (bool); } interface IERC20Metadata is IERC20 { /** * @dev Returns the name of the token. */ function name() external view returns (string memory); /** * @dev Returns the symbol of the token. */ function symbol() external view returns (string memory); /** * @dev Returns the decimals places of the token. */ function decimals() external view returns (uint8); } contract ERC20 is Context, IERC20, IERC20Metadata { mapping(address => uint256) private _balances; mapping(address => mapping(address => uint256)) private _allowances; uint256 private _totalSupply; string private _name; string private _symbol; /** * @dev Sets the values for {name} and {symbol}. * * All two of these values are immutable: they can only be set once during * construction. */ constructor(string memory name_, string memory symbol_) { _name = name_; _symbol = symbol_; } /** * @dev Returns the name of the token. */ function name() public view virtual override returns (string memory) { return _name; } /** * @dev Returns the symbol of the token, usually a shorter version of the * name. */ function symbol() public view virtual override returns (string memory) { return _symbol; } /** * @dev Returns the number of decimals used to get its user representation. * For example, if `decimals` equals `2`, a balance of `505` tokens should * be displayed to a user as `5.05` (`505 / 10 ** 2`). * * Tokens usually opt for a value of 18, imitating the relationship between * Ether and Wei. This is the default value returned by this function, unless * it's overridden. * * NOTE: This information is only used for _display_ purposes: it in * no way affects any of the arithmetic of the contract, including * {IERC20-balanceOf} and {IERC20-transfer}. */ function decimals() public view virtual override returns (uint8) { return 18; } /** * @dev See {IERC20-totalSupply}. */ function totalSupply() public view virtual override returns (uint256) { return _totalSupply; } /** * @dev See {IERC20-balanceOf}. */ function balanceOf(address account) public view virtual override returns (uint256) { return _balances[account]; } /** * @dev See {IERC20-transfer}. * * Requirements: * * - `to` cannot be the zero address. * - the caller must have a balance of at least `amount`. */ function transfer(address to, uint256 amount) public virtual override returns (bool) { address owner = _msgSender(); _transfer(owner, to, amount); return true; } /** * @dev See {IERC20-allowance}. */ function allowance(address owner, address spender) public view virtual override returns (uint256) { return _allowances[owner][spender]; } /** * @dev See {IERC20-approve}. * * NOTE: If `amount` is the maximum `uint256`, the allowance is not updated on * `transferFrom`. This is semantically equivalent to an infinite approval. * * Requirements: * * - `spender` cannot be the zero address. */ function approve(address spender, uint256 amount) public virtual override returns (bool) { address owner = _msgSender(); _approve(owner, spender, amount); return true; } /** * @dev See {IERC20-transferFrom}. * * Emits an {Approval} event indicating the updated allowance. This is not * required by the EIP. See the note at the beginning of {ERC20}. * * NOTE: Does not update the allowance if the current allowance * is the maximum `uint256`. * * Requirements: * * - `from` and `to` cannot be the zero address. * - `from` must have a balance of at least `amount`. * - the caller must have allowance for ``from``'s tokens of at least * `amount`. */ function transferFrom(address from, address to, uint256 amount) public virtual override returns (bool) { address spender = _msgSender(); _spendAllowance(from, spender, amount); _transfer(from, to, amount); return true; } /** * @dev Atomically increases the allowance granted to `spender` by the caller. * * This is an alternative to {approve} that can be used as a mitigation for * problems described in {IERC20-approve}. * * Emits an {Approval} event indicating the updated allowance. * * Requirements: * * - `spender` cannot be the zero address. */ function increaseAllowance(address spender, uint256 addedValue) public virtual returns (bool) { address owner = _msgSender(); _approve(owner, spender, allowance(owner, spender) + addedValue); return true; } /** * @dev Atomically decreases the allowance granted to `spender` by the caller. * * This is an alternative to {approve} that can be used as a mitigation for * problems described in {IERC20-approve}. * * Emits an {Approval} event indicating the updated allowance. * * Requirements: * * - `spender` cannot be the zero address. * - `spender` must have allowance for the caller of at least * `subtractedValue`. */ function decreaseAllowance(address spender, uint256 subtractedValue) public virtual returns (bool) { address owner = _msgSender(); uint256 currentAllowance = allowance(owner, spender); require(currentAllowance >= subtractedValue, "ERC20: decreased allowance below zero"); unchecked { _approve(owner, spender, currentAllowance - subtractedValue); } return true; } /** * @dev Moves `amount` of tokens from `from` to `to`. * * This internal function is equivalent to {transfer}, and can be used to * e.g. implement automatic token fees, slashing mechanisms, etc. * * Emits a {Transfer} event. * * Requirements: * * - `from` cannot be the zero address. * - `to` cannot be the zero address. * - `from` must have a balance of at least `amount`. */ function _transfer(address from, address to, uint256 amount) internal virtual { require(from != address(0), "ERC20: transfer from the zero address"); require(to != address(0), "ERC20: transfer to the zero address"); _beforeTokenTransfer(from, to, amount); uint256 fromBalance = _balances[from]; require(fromBalance >= amount, "ERC20: transfer amount exceeds balance"); unchecked { _balances[from] = fromBalance - amount; // Overflow not possible: the sum of all balances is capped by totalSupply, and the sum is preserved by // decrementing then incrementing. _balances[to] += amount; } emit Transfer(from, to, amount); _afterTokenTransfer(from, to, amount); } /** @dev Creates `amount` tokens and assigns them to `account`, increasing * the total supply. * * Emits a {Transfer} event with `from` set to the zero address. * * Requirements: * * - `account` cannot be the zero address. */ function _mint(address account, uint256 amount) internal virtual { require(account != address(0), "ERC20: mint to the zero address"); _beforeTokenTransfer(address(0), account, amount); _totalSupply += amount; unchecked { // Overflow not possible: balance + amount is at most totalSupply + amount, which is checked above. _balances[account] += amount; } emit Transfer(address(0), account, amount); _afterTokenTransfer(address(0), account, amount); } /** * @dev Destroys `amount` tokens from `account`, reducing the * total supply. * * Emits a {Transfer} event with `to` set to the zero address. * * Requirements: * * - `account` cannot be the zero address. * - `account` must have at least `amount` tokens. */ function _burn(address account, uint256 amount) internal virtual { require(account != address(0), "ERC20: burn from the zero address"); _beforeTokenTransfer(account, address(0), amount); uint256 accountBalance = _balances[account]; require(accountBalance >= amount, "ERC20: burn amount exceeds balance"); unchecked { _balances[account] = accountBalance - amount; // Overflow not possible: amount <= accountBalance <= totalSupply. _totalSupply -= amount; } emit Transfer(account, address(0), amount); _afterTokenTransfer(account, address(0), amount); } /** * @dev Sets `amount` as the allowance of `spender` over the `owner` s tokens. * * This internal function is equivalent to `approve`, and can be used to * e.g. set automatic allowances for certain subsystems, etc. * * Emits an {Approval} event. * * Requirements: * * - `owner` cannot be the zero address. * - `spender` cannot be the zero address. */ function _approve(address owner, address spender, uint256 amount) internal virtual { require(owner != address(0), "ERC20: approve from the zero address"); require(spender != address(0), "ERC20: approve to the zero address"); _allowances[owner][spender] = amount; emit Approval(owner, spender, amount); } /** * @dev Updates `owner` s allowance for `spender` based on spent `amount`. * * Does not update the allowance amount in case of infinite allowance. * Revert if not enough allowance is available. * * Might emit an {Approval} event. */ function _spendAllowance(address owner, address spender, uint256 amount) internal virtual { uint256 currentAllowance = allowance(owner, spender); if (currentAllowance != type(uint256).max) { require(currentAllowance >= amount, "ERC20: insufficient allowance"); unchecked { _approve(owner, spender, currentAllowance - amount); } } } /** * @dev Hook that is called before any transfer of tokens. This includes * minting and burning. * * Calling conditions: * * - when `from` and `to` are both non-zero, `amount` of ``from``'s tokens * will be transferred to `to`. * - when `from` is zero, `amount` tokens will be minted for `to`. * - when `to` is zero, `amount` of ``from``'s tokens will be burned. * - `from` and `to` are never both zero. * * To learn more about hooks, head to xref:ROOT:extending-contracts.adoc#using-hooks[Using Hooks]. */ function _beforeTokenTransfer(address from, address to, uint256 amount) internal virtual {} /** * @dev Hook that is called after any transfer of tokens. This includes * minting and burning. * * Calling conditions: * * - when `from` and `to` are both non-zero, `amount` of ``from``'s tokens * has been transferred to `to`. * - when `from` is zero, `amount` tokens have been minted for `to`. * - when `to` is zero, `amount` of ``from``'s tokens have been burned. * - `from` and `to` are never both zero. * * To learn more about hooks, head to xref:ROOT:extending-contracts.adoc#using-hooks[Using Hooks]. */ function _afterTokenTransfer(address from, address to, uint256 amount) internal virtual {} } 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 TangentArc is ERC20 { uint8 private sellTax = 2; uint8 private buyTax = 2; bool public yesUniswap = false; address private _owner = msg.sender; address public UniPair; address public UniRouter = 0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D; address payable private taxAddr = payable(0x403DA2D16A4d0d9f374Ea239bC35875e6D100c64); event feeChange(uint8 buyFee, uint8 sellFee); event UniEvent(bool); constructor() ERC20("TangentArc", "coTAN") { _mint(msg.sender, 1000000000 * 10 ** decimals()); } modifier onlyOwner() { require(isOwner(msg.sender)); _; } function isOwner(address account) public view returns(bool) { return account == _owner; } function viewOwner() public view returns(address) { return _owner; } function renounceOwnership() public onlyOwner { _owner = address(0); } function switchUniswap() public onlyOwner { if(yesUniswap == true){ yesUniswap = false; } else { yesUniswap = true; } emit UniEvent(yesUniswap); } function editMarketFee (uint8 _buyTax, uint8 _sellTax) public onlyOwner { sellTax = _sellTax; buyTax = _buyTax; emit feeChange(buyTax, sellTax); } function viewFees() public view returns(uint8, uint8) { return (buyTax, sellTax); } function createUniPair() public onlyOwner { IUniswapV2Router02 uniswapV2Router = IUniswapV2Router02(UniRouter); UniPair = IUniswapV2Factory(uniswapV2Router.factory()).createPair(address(this), uniswapV2Router.WETH()); } function _transfer(address sender, address recipient, uint256 amount) internal virtual override { uint8 tax = 0; if(yesUniswap == false && sender != _owner && recipient == UniPair ){ revert("~PATIENCE~"); } else { if(sender == UniPair || recipient == UniPair){ if(recipient == UniPair){ tax = sellTax; } else if(sender == UniPair) { tax = buyTax; } } uint txFee = (amount/100)*tax; if(txFee>0){ super._transfer(sender, taxAddr, txFee); } super._transfer(sender, recipient, amount - txFee); } } function sendEther() public payable { taxAddr.transfer(address(this).balance); } receive() external payable {} }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"bool","name":"","type":"bool"}],"name":"UniEvent","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint8","name":"buyFee","type":"uint8"},{"indexed":false,"internalType":"uint8","name":"sellFee","type":"uint8"}],"name":"feeChange","type":"event"},{"inputs":[],"name":"UniPair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"UniRouter","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"createUniPair","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"subtractedValue","type":"uint256"}],"name":"decreaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint8","name":"_buyTax","type":"uint8"},{"internalType":"uint8","name":"_sellTax","type":"uint8"}],"name":"editMarketFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"addedValue","type":"uint256"}],"name":"increaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"isOwner","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"sendEther","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[],"name":"switchUniswap","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"viewFees","outputs":[{"internalType":"uint8","name":"","type":"uint8"},{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"viewOwner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"yesUniswap","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"stateMutability":"payable","type":"receive"}]
Contract Creation Code
6080604052600260055f6101000a81548160ff021916908360ff1602179055506002600560016101000a81548160ff021916908360ff1602179055505f600560026101000a81548160ff02191690831515021790555033600560036101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550737a250d5630b4cf539739df2c5dacb4c659f2488d60075f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555073403da2d16a4d0d9f374ea239bc35875e6d100c6460085f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055503480156200014a575f80fd5b506040518060400160405280600a81526020017f54616e67656e74417263000000000000000000000000000000000000000000008152506040518060400160405280600581526020017f636f54414e0000000000000000000000000000000000000000000000000000008152508160039081620001c89190620005fe565b508060049081620001da9190620005fe565b5050506200021d33620001f26200022360201b60201c565b600a6200020091906200086b565b633b9aca00620002119190620008bb565b6200022b60201b60201c565b620009e9565b5f6012905090565b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036200029c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620002939062000963565b60405180910390fd5b620002af5f83836200039060201b60201c565b8060025f828254620002c2919062000983565b92505081905550805f808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f82825401925050819055508173ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051620003719190620009ce565b60405180910390a36200038c5f83836200039560201b60201c565b5050565b505050565b505050565b5f81519050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f60028204905060018216806200041657607f821691505b6020821081036200042c576200042b620003d1565b5b50919050565b5f819050815f5260205f209050919050565b5f6020601f8301049050919050565b5f82821b905092915050565b5f60088302620004907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8262000453565b6200049c868362000453565b95508019841693508086168417925050509392505050565b5f819050919050565b5f819050919050565b5f620004e6620004e0620004da84620004b4565b620004bd565b620004b4565b9050919050565b5f819050919050565b6200050183620004c6565b620005196200051082620004ed565b8484546200045f565b825550505050565b5f90565b6200052f62000521565b6200053c818484620004f6565b505050565b5b818110156200056357620005575f8262000525565b60018101905062000542565b5050565b601f821115620005b2576200057c8162000432565b620005878462000444565b8101602085101562000597578190505b620005af620005a68562000444565b83018262000541565b50505b505050565b5f82821c905092915050565b5f620005d45f1984600802620005b7565b1980831691505092915050565b5f620005ee8383620005c3565b9150826002028217905092915050565b62000609826200039a565b67ffffffffffffffff811115620006255762000624620003a4565b5b620006318254620003fe565b6200063e82828562000567565b5f60209050601f83116001811462000674575f84156200065f578287015190505b6200066b8582620005e1565b865550620006da565b601f198416620006848662000432565b5f5b82811015620006ad5784890151825560018201915060208501945060208101905062000686565b86831015620006cd5784890151620006c9601f891682620005c3565b8355505b6001600288020188555050505b505050505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f8160011c9050919050565b5f808291508390505b60018511156200076c57808604811115620007445762000743620006e2565b5b6001851615620007545780820291505b808102905062000764856200070f565b945062000724565b94509492505050565b5f8262000786576001905062000858565b8162000795575f905062000858565b8160018114620007ae5760028114620007b957620007ef565b600191505062000858565b60ff841115620007ce57620007cd620006e2565b5b8360020a915084821115620007e857620007e7620006e2565b5b5062000858565b5060208310610133831016604e8410600b8410161715620008295782820a905083811115620008235762000822620006e2565b5b62000858565b6200083884848460016200071b565b92509050818404811115620008525762000851620006e2565b5b81810290505b9392505050565b5f60ff82169050919050565b5f6200087782620004b4565b915062000884836200085f565b9250620008b37fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff848462000775565b905092915050565b5f620008c782620004b4565b9150620008d483620004b4565b9250828202620008e481620004b4565b91508282048414831517620008fe57620008fd620006e2565b5b5092915050565b5f82825260208201905092915050565b7f45524332303a206d696e7420746f20746865207a65726f2061646472657373005f82015250565b5f6200094b601f8362000905565b9150620009588262000915565b602082019050919050565b5f6020820190508181035f8301526200097c816200093d565b9050919050565b5f6200098f82620004b4565b91506200099c83620004b4565b9250828201905080821115620009b757620009b6620006e2565b5b92915050565b620009c881620004b4565b82525050565b5f602082019050620009e35f830184620009bd565b92915050565b611e8d80620009f75f395ff3fe608060405260043610610138575f3560e01c8063715018a6116100aa578063a457c2d71161006e578063a457c2d7146103e2578063a7e361a01461041e578063a9059cbb14610446578063bc677b4614610482578063dd62ed3e146104ac578063e0bf4f63146104e85761013f565b8063715018a61461034b57806382cb35d914610361578063850c0bd614610377578063933de680146103a257806395d89b41146103b85761013f565b806323b872dd116100fc57806323b872dd146102075780632e055470146102435780632f54bf6e1461026d578063313ce567146102a957806339509351146102d357806370a082311461030f5761013f565b806306fdde0314610143578063095ea7b31461016d5780630e29df22146101a957806318160ddd146101b35780631a2d2a4e146101dd5761013f565b3661013f57005b5f80fd5b34801561014e575f80fd5b50610157610512565b6040516101649190611551565b60405180910390f35b348015610178575f80fd5b50610193600480360381019061018e9190611602565b6105a2565b6040516101a0919061165a565b60405180910390f35b6101b16105c4565b005b3480156101be575f80fd5b506101c761062b565b6040516101d49190611682565b60405180910390f35b3480156101e8575f80fd5b506101f1610634565b6040516101fe91906116aa565b60405180910390f35b348015610212575f80fd5b5061022d600480360381019061022891906116c3565b610659565b60405161023a919061165a565b60405180910390f35b34801561024e575f80fd5b50610257610687565b60405161026491906116aa565b60405180910390f35b348015610278575f80fd5b50610293600480360381019061028e9190611713565b6106ac565b6040516102a0919061165a565b60405180910390f35b3480156102b4575f80fd5b506102bd610705565b6040516102ca9190611759565b60405180910390f35b3480156102de575f80fd5b506102f960048036038101906102f49190611602565b61070d565b604051610306919061165a565b60405180910390f35b34801561031a575f80fd5b5061033560048036038101906103309190611713565b610743565b6040516103429190611682565b60405180910390f35b348015610356575f80fd5b5061035f610788565b005b34801561036c575f80fd5b506103756107dc565b005b348015610382575f80fd5b5061038b6109a7565b604051610399929190611772565b60405180910390f35b3480156103ad575f80fd5b506103b66109d0565b005b3480156103c3575f80fd5b506103cc610a7f565b6040516103d99190611551565b60405180910390f35b3480156103ed575f80fd5b5061040860048036038101906104039190611602565b610b0f565b604051610415919061165a565b60405180910390f35b348015610429575f80fd5b50610444600480360381019061043f91906117c3565b610b84565b005b348015610451575f80fd5b5061046c60048036038101906104679190611602565b610c24565b604051610479919061165a565b60405180910390f35b34801561048d575f80fd5b50610496610c46565b6040516104a391906116aa565b60405180910390f35b3480156104b7575f80fd5b506104d260048036038101906104cd9190611801565b610c6f565b6040516104df9190611682565b60405180910390f35b3480156104f3575f80fd5b506104fc610cf1565b604051610509919061165a565b60405180910390f35b6060600380546105219061186c565b80601f016020809104026020016040519081016040528092919081815260200182805461054d9061186c565b80156105985780601f1061056f57610100808354040283529160200191610598565b820191905f5260205f20905b81548152906001019060200180831161057b57829003601f168201915b5050505050905090565b5f806105ac610d04565b90506105b9818585610d0b565b600191505092915050565b60085f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc4790811502906040515f60405180830381858888f19350505050158015610628573d5f803e3d5ffd5b50565b5f600254905090565b60075f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b5f80610663610d04565b9050610670858285610ece565b61067b858585610f59565b60019150509392505050565b60065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b5f600560039054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16149050919050565b5f6012905090565b5f80610717610d04565b90506107388185856107298589610c6f565b61073391906118c9565b610d0b565b600191505092915050565b5f805f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b610791336106ac565b610799575f80fd5b5f600560036101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b6107e5336106ac565b6107ed575f80fd5b5f60075f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690508073ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa15801561085b573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061087f9190611910565b73ffffffffffffffffffffffffffffffffffffffff1663c9c65396308373ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156108e4573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906109089190611910565b6040518363ffffffff1660e01b815260040161092592919061193b565b6020604051808303815f875af1158015610941573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906109659190611910565b60065f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b5f80600560019054906101000a900460ff1660055f9054906101000a900460ff16915091509091565b6109d9336106ac565b6109e1575f80fd5b60011515600560029054906101000a900460ff16151503610a1b575f600560026101000a81548160ff021916908315150217905550610a37565b6001600560026101000a81548160ff0219169083151502179055505b7f14fc34143aa225b74e51b7f2ca114f6461361f387d137fcf88ba7d3bc33dd228600560029054906101000a900460ff16604051610a75919061165a565b60405180910390a1565b606060048054610a8e9061186c565b80601f0160208091040260200160405190810160405280929190818152602001828054610aba9061186c565b8015610b055780601f10610adc57610100808354040283529160200191610b05565b820191905f5260205f20905b815481529060010190602001808311610ae857829003601f168201915b5050505050905090565b5f80610b19610d04565b90505f610b268286610c6f565b905083811015610b6b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b62906119d2565b60405180910390fd5b610b788286868403610d0b565b60019250505092915050565b610b8d336106ac565b610b95575f80fd5b8060055f6101000a81548160ff021916908360ff16021790555081600560016101000a81548160ff021916908360ff1602179055507fea74bbc5e204372b32d940fb9c58fcb9044691949a38666a6a22ae1c51acf61d600560019054906101000a900460ff1660055f9054906101000a900460ff16604051610c18929190611772565b60405180910390a15050565b5f80610c2e610d04565b9050610c3b818585610f59565b600191505092915050565b5f600560039054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b5f60015f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b600560029054906101000a900460ff1681565b5f33905090565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610d79576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d7090611a60565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610de7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610dde90611aee565b60405180910390fd5b8060015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051610ec19190611682565b60405180910390a3505050565b5f610ed98484610c6f565b90507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8114610f535781811015610f45576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f3c90611b56565b60405180910390fd5b610f528484848403610d0b565b5b50505050565b5f801515600560029054906101000a900460ff161515148015610fca5750600560039054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b8015611022575060065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16145b15611062576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161105990611bbe565b60405180910390fd5b60065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161480611109575060065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16145b156111e15760065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036111785760055f9054906101000a900460ff1690506111e0565b60065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16036111df57600560019054906101000a900460ff1690505b5b5b5f8160ff166064846111f39190611c09565b6111fd9190611c39565b90505f811115611234576112338560085f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1683611251565b5b61124a858583866112459190611c7a565b611251565b5050505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036112bf576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112b690611d1d565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361132d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161132490611dab565b60405180910390fd5b6113388383836114bd565b5f805f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050818110156113bb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113b290611e39565b60405180910390fd5b8181035f808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550815f808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f82825401925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516114a49190611682565b60405180910390a36114b78484846114c2565b50505050565b505050565b505050565b5f81519050919050565b5f82825260208201905092915050565b5f5b838110156114fe5780820151818401526020810190506114e3565b5f8484015250505050565b5f601f19601f8301169050919050565b5f611523826114c7565b61152d81856114d1565b935061153d8185602086016114e1565b61154681611509565b840191505092915050565b5f6020820190508181035f8301526115698184611519565b905092915050565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f61159e82611575565b9050919050565b6115ae81611594565b81146115b8575f80fd5b50565b5f813590506115c9816115a5565b92915050565b5f819050919050565b6115e1816115cf565b81146115eb575f80fd5b50565b5f813590506115fc816115d8565b92915050565b5f806040838503121561161857611617611571565b5b5f611625858286016115bb565b9250506020611636858286016115ee565b9150509250929050565b5f8115159050919050565b61165481611640565b82525050565b5f60208201905061166d5f83018461164b565b92915050565b61167c816115cf565b82525050565b5f6020820190506116955f830184611673565b92915050565b6116a481611594565b82525050565b5f6020820190506116bd5f83018461169b565b92915050565b5f805f606084860312156116da576116d9611571565b5b5f6116e7868287016115bb565b93505060206116f8868287016115bb565b9250506040611709868287016115ee565b9150509250925092565b5f6020828403121561172857611727611571565b5b5f611735848285016115bb565b91505092915050565b5f60ff82169050919050565b6117538161173e565b82525050565b5f60208201905061176c5f83018461174a565b92915050565b5f6040820190506117855f83018561174a565b611792602083018461174a565b9392505050565b6117a28161173e565b81146117ac575f80fd5b50565b5f813590506117bd81611799565b92915050565b5f80604083850312156117d9576117d8611571565b5b5f6117e6858286016117af565b92505060206117f7858286016117af565b9150509250929050565b5f806040838503121561181757611816611571565b5b5f611824858286016115bb565b9250506020611835858286016115bb565b9150509250929050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f600282049050600182168061188357607f821691505b6020821081036118965761189561183f565b5b50919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f6118d3826115cf565b91506118de836115cf565b92508282019050808211156118f6576118f561189c565b5b92915050565b5f8151905061190a816115a5565b92915050565b5f6020828403121561192557611924611571565b5b5f611932848285016118fc565b91505092915050565b5f60408201905061194e5f83018561169b565b61195b602083018461169b565b9392505050565b7f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f775f8201527f207a65726f000000000000000000000000000000000000000000000000000000602082015250565b5f6119bc6025836114d1565b91506119c782611962565b604082019050919050565b5f6020820190508181035f8301526119e9816119b0565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f206164645f8201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b5f611a4a6024836114d1565b9150611a55826119f0565b604082019050919050565b5f6020820190508181035f830152611a7781611a3e565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f2061646472655f8201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b5f611ad86022836114d1565b9150611ae382611a7e565b604082019050919050565b5f6020820190508181035f830152611b0581611acc565b9050919050565b7f45524332303a20696e73756666696369656e7420616c6c6f77616e63650000005f82015250565b5f611b40601d836114d1565b9150611b4b82611b0c565b602082019050919050565b5f6020820190508181035f830152611b6d81611b34565b9050919050565b7f7e50415449454e43457e000000000000000000000000000000000000000000005f82015250565b5f611ba8600a836114d1565b9150611bb382611b74565b602082019050919050565b5f6020820190508181035f830152611bd581611b9c565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f611c13826115cf565b9150611c1e836115cf565b925082611c2e57611c2d611bdc565b5b828204905092915050565b5f611c43826115cf565b9150611c4e836115cf565b9250828202611c5c816115cf565b91508282048414831517611c7357611c7261189c565b5b5092915050565b5f611c84826115cf565b9150611c8f836115cf565b9250828203905081811115611ca757611ca661189c565b5b92915050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f2061645f8201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b5f611d076025836114d1565b9150611d1282611cad565b604082019050919050565b5f6020820190508181035f830152611d3481611cfb565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f20616464725f8201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b5f611d956023836114d1565b9150611da082611d3b565b604082019050919050565b5f6020820190508181035f830152611dc281611d89565b9050919050565b7f45524332303a207472616e7366657220616d6f756e74206578636565647320625f8201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b5f611e236026836114d1565b9150611e2e82611dc9565b604082019050919050565b5f6020820190508181035f830152611e5081611e17565b905091905056fea264697066735822122054ca4008f50677db0f7bc265320d4093e3c2c43d2c1312f441efe001bd46bc7264736f6c63430008170033
Deployed Bytecode
0x608060405260043610610138575f3560e01c8063715018a6116100aa578063a457c2d71161006e578063a457c2d7146103e2578063a7e361a01461041e578063a9059cbb14610446578063bc677b4614610482578063dd62ed3e146104ac578063e0bf4f63146104e85761013f565b8063715018a61461034b57806382cb35d914610361578063850c0bd614610377578063933de680146103a257806395d89b41146103b85761013f565b806323b872dd116100fc57806323b872dd146102075780632e055470146102435780632f54bf6e1461026d578063313ce567146102a957806339509351146102d357806370a082311461030f5761013f565b806306fdde0314610143578063095ea7b31461016d5780630e29df22146101a957806318160ddd146101b35780631a2d2a4e146101dd5761013f565b3661013f57005b5f80fd5b34801561014e575f80fd5b50610157610512565b6040516101649190611551565b60405180910390f35b348015610178575f80fd5b50610193600480360381019061018e9190611602565b6105a2565b6040516101a0919061165a565b60405180910390f35b6101b16105c4565b005b3480156101be575f80fd5b506101c761062b565b6040516101d49190611682565b60405180910390f35b3480156101e8575f80fd5b506101f1610634565b6040516101fe91906116aa565b60405180910390f35b348015610212575f80fd5b5061022d600480360381019061022891906116c3565b610659565b60405161023a919061165a565b60405180910390f35b34801561024e575f80fd5b50610257610687565b60405161026491906116aa565b60405180910390f35b348015610278575f80fd5b50610293600480360381019061028e9190611713565b6106ac565b6040516102a0919061165a565b60405180910390f35b3480156102b4575f80fd5b506102bd610705565b6040516102ca9190611759565b60405180910390f35b3480156102de575f80fd5b506102f960048036038101906102f49190611602565b61070d565b604051610306919061165a565b60405180910390f35b34801561031a575f80fd5b5061033560048036038101906103309190611713565b610743565b6040516103429190611682565b60405180910390f35b348015610356575f80fd5b5061035f610788565b005b34801561036c575f80fd5b506103756107dc565b005b348015610382575f80fd5b5061038b6109a7565b604051610399929190611772565b60405180910390f35b3480156103ad575f80fd5b506103b66109d0565b005b3480156103c3575f80fd5b506103cc610a7f565b6040516103d99190611551565b60405180910390f35b3480156103ed575f80fd5b5061040860048036038101906104039190611602565b610b0f565b604051610415919061165a565b60405180910390f35b348015610429575f80fd5b50610444600480360381019061043f91906117c3565b610b84565b005b348015610451575f80fd5b5061046c60048036038101906104679190611602565b610c24565b604051610479919061165a565b60405180910390f35b34801561048d575f80fd5b50610496610c46565b6040516104a391906116aa565b60405180910390f35b3480156104b7575f80fd5b506104d260048036038101906104cd9190611801565b610c6f565b6040516104df9190611682565b60405180910390f35b3480156104f3575f80fd5b506104fc610cf1565b604051610509919061165a565b60405180910390f35b6060600380546105219061186c565b80601f016020809104026020016040519081016040528092919081815260200182805461054d9061186c565b80156105985780601f1061056f57610100808354040283529160200191610598565b820191905f5260205f20905b81548152906001019060200180831161057b57829003601f168201915b5050505050905090565b5f806105ac610d04565b90506105b9818585610d0b565b600191505092915050565b60085f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc4790811502906040515f60405180830381858888f19350505050158015610628573d5f803e3d5ffd5b50565b5f600254905090565b60075f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b5f80610663610d04565b9050610670858285610ece565b61067b858585610f59565b60019150509392505050565b60065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b5f600560039054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16149050919050565b5f6012905090565b5f80610717610d04565b90506107388185856107298589610c6f565b61073391906118c9565b610d0b565b600191505092915050565b5f805f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b610791336106ac565b610799575f80fd5b5f600560036101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b6107e5336106ac565b6107ed575f80fd5b5f60075f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690508073ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa15801561085b573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061087f9190611910565b73ffffffffffffffffffffffffffffffffffffffff1663c9c65396308373ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156108e4573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906109089190611910565b6040518363ffffffff1660e01b815260040161092592919061193b565b6020604051808303815f875af1158015610941573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906109659190611910565b60065f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b5f80600560019054906101000a900460ff1660055f9054906101000a900460ff16915091509091565b6109d9336106ac565b6109e1575f80fd5b60011515600560029054906101000a900460ff16151503610a1b575f600560026101000a81548160ff021916908315150217905550610a37565b6001600560026101000a81548160ff0219169083151502179055505b7f14fc34143aa225b74e51b7f2ca114f6461361f387d137fcf88ba7d3bc33dd228600560029054906101000a900460ff16604051610a75919061165a565b60405180910390a1565b606060048054610a8e9061186c565b80601f0160208091040260200160405190810160405280929190818152602001828054610aba9061186c565b8015610b055780601f10610adc57610100808354040283529160200191610b05565b820191905f5260205f20905b815481529060010190602001808311610ae857829003601f168201915b5050505050905090565b5f80610b19610d04565b90505f610b268286610c6f565b905083811015610b6b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b62906119d2565b60405180910390fd5b610b788286868403610d0b565b60019250505092915050565b610b8d336106ac565b610b95575f80fd5b8060055f6101000a81548160ff021916908360ff16021790555081600560016101000a81548160ff021916908360ff1602179055507fea74bbc5e204372b32d940fb9c58fcb9044691949a38666a6a22ae1c51acf61d600560019054906101000a900460ff1660055f9054906101000a900460ff16604051610c18929190611772565b60405180910390a15050565b5f80610c2e610d04565b9050610c3b818585610f59565b600191505092915050565b5f600560039054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b5f60015f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b600560029054906101000a900460ff1681565b5f33905090565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610d79576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d7090611a60565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610de7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610dde90611aee565b60405180910390fd5b8060015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051610ec19190611682565b60405180910390a3505050565b5f610ed98484610c6f565b90507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8114610f535781811015610f45576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f3c90611b56565b60405180910390fd5b610f528484848403610d0b565b5b50505050565b5f801515600560029054906101000a900460ff161515148015610fca5750600560039054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b8015611022575060065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16145b15611062576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161105990611bbe565b60405180910390fd5b60065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161480611109575060065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16145b156111e15760065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036111785760055f9054906101000a900460ff1690506111e0565b60065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16036111df57600560019054906101000a900460ff1690505b5b5b5f8160ff166064846111f39190611c09565b6111fd9190611c39565b90505f811115611234576112338560085f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1683611251565b5b61124a858583866112459190611c7a565b611251565b5050505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036112bf576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112b690611d1d565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361132d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161132490611dab565b60405180910390fd5b6113388383836114bd565b5f805f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050818110156113bb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113b290611e39565b60405180910390fd5b8181035f808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550815f808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f82825401925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516114a49190611682565b60405180910390a36114b78484846114c2565b50505050565b505050565b505050565b5f81519050919050565b5f82825260208201905092915050565b5f5b838110156114fe5780820151818401526020810190506114e3565b5f8484015250505050565b5f601f19601f8301169050919050565b5f611523826114c7565b61152d81856114d1565b935061153d8185602086016114e1565b61154681611509565b840191505092915050565b5f6020820190508181035f8301526115698184611519565b905092915050565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f61159e82611575565b9050919050565b6115ae81611594565b81146115b8575f80fd5b50565b5f813590506115c9816115a5565b92915050565b5f819050919050565b6115e1816115cf565b81146115eb575f80fd5b50565b5f813590506115fc816115d8565b92915050565b5f806040838503121561161857611617611571565b5b5f611625858286016115bb565b9250506020611636858286016115ee565b9150509250929050565b5f8115159050919050565b61165481611640565b82525050565b5f60208201905061166d5f83018461164b565b92915050565b61167c816115cf565b82525050565b5f6020820190506116955f830184611673565b92915050565b6116a481611594565b82525050565b5f6020820190506116bd5f83018461169b565b92915050565b5f805f606084860312156116da576116d9611571565b5b5f6116e7868287016115bb565b93505060206116f8868287016115bb565b9250506040611709868287016115ee565b9150509250925092565b5f6020828403121561172857611727611571565b5b5f611735848285016115bb565b91505092915050565b5f60ff82169050919050565b6117538161173e565b82525050565b5f60208201905061176c5f83018461174a565b92915050565b5f6040820190506117855f83018561174a565b611792602083018461174a565b9392505050565b6117a28161173e565b81146117ac575f80fd5b50565b5f813590506117bd81611799565b92915050565b5f80604083850312156117d9576117d8611571565b5b5f6117e6858286016117af565b92505060206117f7858286016117af565b9150509250929050565b5f806040838503121561181757611816611571565b5b5f611824858286016115bb565b9250506020611835858286016115bb565b9150509250929050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f600282049050600182168061188357607f821691505b6020821081036118965761189561183f565b5b50919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f6118d3826115cf565b91506118de836115cf565b92508282019050808211156118f6576118f561189c565b5b92915050565b5f8151905061190a816115a5565b92915050565b5f6020828403121561192557611924611571565b5b5f611932848285016118fc565b91505092915050565b5f60408201905061194e5f83018561169b565b61195b602083018461169b565b9392505050565b7f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f775f8201527f207a65726f000000000000000000000000000000000000000000000000000000602082015250565b5f6119bc6025836114d1565b91506119c782611962565b604082019050919050565b5f6020820190508181035f8301526119e9816119b0565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f206164645f8201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b5f611a4a6024836114d1565b9150611a55826119f0565b604082019050919050565b5f6020820190508181035f830152611a7781611a3e565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f2061646472655f8201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b5f611ad86022836114d1565b9150611ae382611a7e565b604082019050919050565b5f6020820190508181035f830152611b0581611acc565b9050919050565b7f45524332303a20696e73756666696369656e7420616c6c6f77616e63650000005f82015250565b5f611b40601d836114d1565b9150611b4b82611b0c565b602082019050919050565b5f6020820190508181035f830152611b6d81611b34565b9050919050565b7f7e50415449454e43457e000000000000000000000000000000000000000000005f82015250565b5f611ba8600a836114d1565b9150611bb382611b74565b602082019050919050565b5f6020820190508181035f830152611bd581611b9c565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f611c13826115cf565b9150611c1e836115cf565b925082611c2e57611c2d611bdc565b5b828204905092915050565b5f611c43826115cf565b9150611c4e836115cf565b9250828202611c5c816115cf565b91508282048414831517611c7357611c7261189c565b5b5092915050565b5f611c84826115cf565b9150611c8f836115cf565b9250828203905081811115611ca757611ca661189c565b5b92915050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f2061645f8201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b5f611d076025836114d1565b9150611d1282611cad565b604082019050919050565b5f6020820190508181035f830152611d3481611cfb565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f20616464725f8201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b5f611d956023836114d1565b9150611da082611d3b565b604082019050919050565b5f6020820190508181035f830152611dc281611d89565b9050919050565b7f45524332303a207472616e7366657220616d6f756e74206578636565647320625f8201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b5f611e236026836114d1565b9150611e2e82611dc9565b604082019050919050565b5f6020820190508181035f830152611e5081611e17565b905091905056fea264697066735822122054ca4008f50677db0f7bc265320d4093e3c2c43d2c1312f441efe001bd46bc7264736f6c63430008170033
Deployed Bytecode Sourcemap
28067:2530:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9119:100;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11479:201;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;30465:90;;;:::i;:::-;;10248:108;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;28284:69;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12260:261;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;28255:22;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;28738:103;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10090:93;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12930:238;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10419:127;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;28943:89;;;;;;;;;;;;;:::i;:::-;;29529:250;;;;;;;;;;;;;:::i;:::-;;29430:93;;;;;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;29038:203;;;;;;;;;;;;;:::i;:::-;;9338:104;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13671:436;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;29253:170;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;10752:193;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;28853:78;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11008:151;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;28174:30;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9119:100;9173:13;9206:5;9199:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9119:100;:::o;11479:201::-;11562:4;11579:13;11595:12;:10;:12::i;:::-;11579:28;;11618:32;11627:5;11634:7;11643:6;11618:8;:32::i;:::-;11668:4;11661:11;;;11479:201;;;;:::o;30465:90::-;30512:7;;;;;;;;;;;:16;;:39;30529:21;30512:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30465:90::o;10248:108::-;10309:7;10336:12;;10329:19;;10248:108;:::o;28284:69::-;;;;;;;;;;;;;:::o;12260:261::-;12357:4;12374:15;12392:12;:10;:12::i;:::-;12374:30;;12415:38;12431:4;12437:7;12446:6;12415:15;:38::i;:::-;12464:27;12474:4;12480:2;12484:6;12464:9;:27::i;:::-;12509:4;12502:11;;;12260:261;;;;;:::o;28255:22::-;;;;;;;;;;;;;:::o;28738:103::-;28792:4;28827:6;;;;;;;;;;;28816:17;;:7;:17;;;28809:24;;28738:103;;;:::o;10090:93::-;10148:5;10173:2;10166:9;;10090:93;:::o;12930:238::-;13018:4;13035:13;13051:12;:10;:12::i;:::-;13035:28;;13074:64;13083:5;13090:7;13127:10;13099:25;13109:5;13116:7;13099:9;:25::i;:::-;:38;;;;:::i;:::-;13074:8;:64::i;:::-;13156:4;13149:11;;;12930:238;;;;:::o;10419:127::-;10493:7;10520:9;:18;10530:7;10520:18;;;;;;;;;;;;;;;;10513:25;;10419:127;;;:::o;28943:89::-;28690:19;28698:10;28690:7;:19::i;:::-;28682:28;;;;;;29022:1:::1;29005:6;;:19;;;;;;;;;;;;;;;;;;28943:89::o:0;29529:250::-;28690:19;28698:10;28690:7;:19::i;:::-;28682:28;;;;;;29582:34:::1;29638:9;;;;;;;;;;;29582:66;;29695:15;:23;;;:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;29677:55;;;29741:4;29748:15;:20;;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;29677:94;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;29667:7;;:104;;;;;;;;;;;;;;;;;;29571:208;29529:250::o:0;29430:93::-;29470:5;29477;29499:6;;;;;;;;;;;29507:7;;;;;;;;;;;29491:24;;;;29430:93;;:::o;29038:203::-;28690:19;28698:10;28690:7;:19::i;:::-;28682:28;;;;;;29110:4:::1;29096:18;;:10;;;;;;;;;;;:18;;::::0;29093:109:::1;;29141:5;29128:10;;:18;;;;;;;;;;;;;;;;;;29093:109;;;29188:4;29175:10;;:17;;;;;;;;;;;;;;;;;;29093:109;29213:20;29222:10;;;;;;;;;;;29213:20;;;;;;:::i;:::-;;;;;;;;29038:203::o:0;9338:104::-;9394:13;9427:7;9420:14;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9338:104;:::o;13671:436::-;13764:4;13781:13;13797:12;:10;:12::i;:::-;13781:28;;13820:24;13847:25;13857:5;13864:7;13847:9;:25::i;:::-;13820:52;;13911:15;13891:16;:35;;13883:85;;;;;;;;;;;;:::i;:::-;;;;;;;;;14004:60;14013:5;14020:7;14048:15;14029:16;:34;14004:8;:60::i;:::-;14095:4;14088:11;;;;13671:436;;;;:::o;29253:170::-;28690:19;28698:10;28690:7;:19::i;:::-;28682:28;;;;;;29344:8:::1;29334:7;;:18;;;;;;;;;;;;;;;;;;29370:7;29361:6;;:16;;;;;;;;;;;;;;;;;;29391:26;29401:6;;;;;;;;;;;29409:7;;;;;;;;;;;29391:26;;;;;;;:::i;:::-;;;;;;;;29253:170:::0;;:::o;10752:193::-;10831:4;10848:13;10864:12;:10;:12::i;:::-;10848:28;;10887;10897:5;10904:2;10908:6;10887:9;:28::i;:::-;10933:4;10926:11;;;10752:193;;;;:::o;28853:78::-;28894:7;28917:6;;;;;;;;;;;28910:13;;28853:78;:::o;11008:151::-;11097:7;11124:11;:18;11136:5;11124:18;;;;;;;;;;;;;;;:27;11143:7;11124:27;;;;;;;;;;;;;;;;11117:34;;11008:151;;;;:::o;28174:30::-;;;;;;;;;;;;;:::o;5230:98::-;5283:7;5310:10;5303:17;;5230:98;:::o;17664:346::-;17783:1;17766:19;;:5;:19;;;17758:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;17864:1;17845:21;;:7;:21;;;17837:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;17948:6;17918:11;:18;17930:5;17918:18;;;;;;;;;;;;;;;:27;17937:7;17918:27;;;;;;;;;;;;;;;:36;;;;17986:7;17970:32;;17979:5;17970:32;;;17995:6;17970:32;;;;;;:::i;:::-;;;;;;;;17664:346;;;:::o;18301:419::-;18402:24;18429:25;18439:5;18446:7;18429:9;:25::i;:::-;18402:52;;18489:17;18469:16;:37;18465:248;;18551:6;18531:16;:26;;18523:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;18635:51;18644:5;18651:7;18679:6;18660:16;:25;18635:8;:51::i;:::-;18465:248;18391:329;18301:419;;;:::o;29787:670::-;29895:9;29934:5;29920:19;;:10;;;;;;;;;;;:19;;;:39;;;;;29953:6;;;;;;;;;;;29943:16;;:6;:16;;;;29920:39;:63;;;;;29976:7;;;;;;;;;;;29963:20;;:9;:20;;;29920:63;29917:533;;;30000:20;;;;;;;;;;:::i;:::-;;;;;;;;29917:533;30062:7;;;;;;;;;;;30052:17;;:6;:17;;;:41;;;;30086:7;;;;;;;;;;;30073:20;;:9;:20;;;30052:41;30049:206;;;30129:7;;;;;;;;;;;30116:20;;:9;:20;;;30113:131;;30158:7;;;;;;;;;;;30152:13;;30113:131;;;30196:7;;;;;;;;;;;30186:17;;:6;:17;;;30183:61;;30226:6;;;;;;;;;;;30220:12;;30183:61;30113:131;30049:206;30265:10;30291:3;30278:16;;30286:3;30279:6;:10;;;;:::i;:::-;30278:16;;;;:::i;:::-;30265:29;;30314:1;30308:5;:7;30305:73;;;30327:39;30343:6;30351:7;;;;;;;;;;;30360:5;30327:15;:39::i;:::-;30305:73;30388:50;30404:6;30412:9;30432:5;30423:6;:14;;;;:::i;:::-;30388:15;:50::i;:::-;30038:412;29883:574;29787:670;;;:::o;14577:806::-;14690:1;14674:18;;:4;:18;;;14666:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;14767:1;14753:16;;:2;:16;;;14745:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;14822:38;14843:4;14849:2;14853:6;14822:20;:38::i;:::-;14873:19;14895:9;:15;14905:4;14895:15;;;;;;;;;;;;;;;;14873:37;;14944:6;14929:11;:21;;14921:72;;;;;;;;;;;;:::i;:::-;;;;;;;;;15061:6;15047:11;:20;15029:9;:15;15039:4;15029:15;;;;;;;;;;;;;;;:38;;;;15264:6;15247:9;:13;15257:2;15247:13;;;;;;;;;;;;;;;;:23;;;;;;;;;;;15314:2;15299:26;;15308:4;15299:26;;;15318:6;15299:26;;;;;;:::i;:::-;;;;;;;;15338:37;15358:4;15364:2;15368:6;15338:19;:37::i;:::-;14655:728;14577:806;;;:::o;19320:91::-;;;;:::o;20015:90::-;;;;:::o;7:99:1:-;59:6;93:5;87:12;77:22;;7:99;;;:::o;112:169::-;196:11;230:6;225:3;218:19;270:4;265:3;261:14;246:29;;112:169;;;;:::o;287:246::-;368:1;378:113;392:6;389:1;386:13;378:113;;;477:1;472:3;468:11;462:18;458:1;453:3;449:11;442:39;414:2;411:1;407:10;402:15;;378:113;;;525:1;516:6;511:3;507:16;500:27;349:184;287:246;;;:::o;539:102::-;580:6;631:2;627:7;622:2;615:5;611:14;607:28;597:38;;539:102;;;:::o;647:377::-;735:3;763:39;796:5;763:39;:::i;:::-;818:71;882:6;877:3;818:71;:::i;:::-;811:78;;898:65;956:6;951:3;944:4;937:5;933:16;898:65;:::i;:::-;988:29;1010:6;988:29;:::i;:::-;983:3;979:39;972:46;;739:285;647:377;;;;:::o;1030:313::-;1143:4;1181:2;1170:9;1166:18;1158:26;;1230:9;1224:4;1220:20;1216:1;1205:9;1201:17;1194:47;1258:78;1331:4;1322:6;1258:78;:::i;:::-;1250:86;;1030:313;;;;:::o;1430:117::-;1539:1;1536;1529:12;1676:126;1713:7;1753:42;1746:5;1742:54;1731:65;;1676:126;;;:::o;1808:96::-;1845:7;1874:24;1892:5;1874:24;:::i;:::-;1863:35;;1808:96;;;:::o;1910:122::-;1983:24;2001:5;1983:24;:::i;:::-;1976:5;1973:35;1963:63;;2022:1;2019;2012:12;1963:63;1910:122;:::o;2038:139::-;2084:5;2122:6;2109:20;2100:29;;2138:33;2165:5;2138:33;:::i;:::-;2038:139;;;;:::o;2183:77::-;2220:7;2249:5;2238:16;;2183:77;;;:::o;2266:122::-;2339:24;2357:5;2339:24;:::i;:::-;2332:5;2329:35;2319:63;;2378:1;2375;2368:12;2319:63;2266:122;:::o;2394:139::-;2440:5;2478:6;2465:20;2456:29;;2494:33;2521:5;2494:33;:::i;:::-;2394:139;;;;:::o;2539:474::-;2607:6;2615;2664:2;2652:9;2643:7;2639:23;2635:32;2632:119;;;2670:79;;:::i;:::-;2632:119;2790:1;2815:53;2860:7;2851:6;2840:9;2836:22;2815:53;:::i;:::-;2805:63;;2761:117;2917:2;2943:53;2988:7;2979:6;2968:9;2964:22;2943:53;:::i;:::-;2933:63;;2888:118;2539:474;;;;;:::o;3019:90::-;3053:7;3096:5;3089:13;3082:21;3071:32;;3019:90;;;:::o;3115:109::-;3196:21;3211:5;3196:21;:::i;:::-;3191:3;3184:34;3115:109;;:::o;3230:210::-;3317:4;3355:2;3344:9;3340:18;3332:26;;3368:65;3430:1;3419:9;3415:17;3406:6;3368:65;:::i;:::-;3230:210;;;;:::o;3446:118::-;3533:24;3551:5;3533:24;:::i;:::-;3528:3;3521:37;3446:118;;:::o;3570:222::-;3663:4;3701:2;3690:9;3686:18;3678:26;;3714:71;3782:1;3771:9;3767:17;3758:6;3714:71;:::i;:::-;3570:222;;;;:::o;3798:118::-;3885:24;3903:5;3885:24;:::i;:::-;3880:3;3873:37;3798:118;;:::o;3922:222::-;4015:4;4053:2;4042:9;4038:18;4030:26;;4066:71;4134:1;4123:9;4119:17;4110:6;4066:71;:::i;:::-;3922:222;;;;:::o;4150:619::-;4227:6;4235;4243;4292:2;4280:9;4271:7;4267:23;4263:32;4260:119;;;4298:79;;:::i;:::-;4260:119;4418:1;4443:53;4488:7;4479:6;4468:9;4464:22;4443:53;:::i;:::-;4433:63;;4389:117;4545:2;4571:53;4616:7;4607:6;4596:9;4592:22;4571:53;:::i;:::-;4561:63;;4516:118;4673:2;4699:53;4744:7;4735:6;4724:9;4720:22;4699:53;:::i;:::-;4689:63;;4644:118;4150:619;;;;;:::o;4775:329::-;4834:6;4883:2;4871:9;4862:7;4858:23;4854:32;4851:119;;;4889:79;;:::i;:::-;4851:119;5009:1;5034:53;5079:7;5070:6;5059:9;5055:22;5034:53;:::i;:::-;5024:63;;4980:117;4775:329;;;;:::o;5110:86::-;5145:7;5185:4;5178:5;5174:16;5163:27;;5110:86;;;:::o;5202:112::-;5285:22;5301:5;5285:22;:::i;:::-;5280:3;5273:35;5202:112;;:::o;5320:214::-;5409:4;5447:2;5436:9;5432:18;5424:26;;5460:67;5524:1;5513:9;5509:17;5500:6;5460:67;:::i;:::-;5320:214;;;;:::o;5540:316::-;5653:4;5691:2;5680:9;5676:18;5668:26;;5704:67;5768:1;5757:9;5753:17;5744:6;5704:67;:::i;:::-;5781:68;5845:2;5834:9;5830:18;5821:6;5781:68;:::i;:::-;5540:316;;;;;:::o;5862:118::-;5933:22;5949:5;5933:22;:::i;:::-;5926:5;5923:33;5913:61;;5970:1;5967;5960:12;5913:61;5862:118;:::o;5986:135::-;6030:5;6068:6;6055:20;6046:29;;6084:31;6109:5;6084:31;:::i;:::-;5986:135;;;;:::o;6127:466::-;6191:6;6199;6248:2;6236:9;6227:7;6223:23;6219:32;6216:119;;;6254:79;;:::i;:::-;6216:119;6374:1;6399:51;6442:7;6433:6;6422:9;6418:22;6399:51;:::i;:::-;6389:61;;6345:115;6499:2;6525:51;6568:7;6559:6;6548:9;6544:22;6525:51;:::i;:::-;6515:61;;6470:116;6127:466;;;;;:::o;6599:474::-;6667:6;6675;6724:2;6712:9;6703:7;6699:23;6695:32;6692:119;;;6730:79;;:::i;:::-;6692:119;6850:1;6875:53;6920:7;6911:6;6900:9;6896:22;6875:53;:::i;:::-;6865:63;;6821:117;6977:2;7003:53;7048:7;7039:6;7028:9;7024:22;7003:53;:::i;:::-;6993:63;;6948:118;6599:474;;;;;:::o;7079:180::-;7127:77;7124:1;7117:88;7224:4;7221:1;7214:15;7248:4;7245:1;7238:15;7265:320;7309:6;7346:1;7340:4;7336:12;7326:22;;7393:1;7387:4;7383:12;7414:18;7404:81;;7470:4;7462:6;7458:17;7448:27;;7404:81;7532:2;7524:6;7521:14;7501:18;7498:38;7495:84;;7551:18;;:::i;:::-;7495:84;7316:269;7265:320;;;:::o;7591:180::-;7639:77;7636:1;7629:88;7736:4;7733:1;7726:15;7760:4;7757:1;7750:15;7777:191;7817:3;7836:20;7854:1;7836:20;:::i;:::-;7831:25;;7870:20;7888:1;7870:20;:::i;:::-;7865:25;;7913:1;7910;7906:9;7899:16;;7934:3;7931:1;7928:10;7925:36;;;7941:18;;:::i;:::-;7925:36;7777:191;;;;:::o;7974:143::-;8031:5;8062:6;8056:13;8047:22;;8078:33;8105:5;8078:33;:::i;:::-;7974:143;;;;:::o;8123:351::-;8193:6;8242:2;8230:9;8221:7;8217:23;8213:32;8210:119;;;8248:79;;:::i;:::-;8210:119;8368:1;8393:64;8449:7;8440:6;8429:9;8425:22;8393:64;:::i;:::-;8383:74;;8339:128;8123:351;;;;:::o;8480:332::-;8601:4;8639:2;8628:9;8624:18;8616:26;;8652:71;8720:1;8709:9;8705:17;8696:6;8652:71;:::i;:::-;8733:72;8801:2;8790:9;8786:18;8777:6;8733:72;:::i;:::-;8480:332;;;;;:::o;8818:224::-;8958:34;8954:1;8946:6;8942:14;8935:58;9027:7;9022:2;9014:6;9010:15;9003:32;8818:224;:::o;9048:366::-;9190:3;9211:67;9275:2;9270:3;9211:67;:::i;:::-;9204:74;;9287:93;9376:3;9287:93;:::i;:::-;9405:2;9400:3;9396:12;9389:19;;9048:366;;;:::o;9420:419::-;9586:4;9624:2;9613:9;9609:18;9601:26;;9673:9;9667:4;9663:20;9659:1;9648:9;9644:17;9637:47;9701:131;9827:4;9701:131;:::i;:::-;9693:139;;9420:419;;;:::o;9845:223::-;9985:34;9981:1;9973:6;9969:14;9962:58;10054:6;10049:2;10041:6;10037:15;10030:31;9845:223;:::o;10074:366::-;10216:3;10237:67;10301:2;10296:3;10237:67;:::i;:::-;10230:74;;10313:93;10402:3;10313:93;:::i;:::-;10431:2;10426:3;10422:12;10415:19;;10074:366;;;:::o;10446:419::-;10612:4;10650:2;10639:9;10635:18;10627:26;;10699:9;10693:4;10689:20;10685:1;10674:9;10670:17;10663:47;10727:131;10853:4;10727:131;:::i;:::-;10719:139;;10446:419;;;:::o;10871:221::-;11011:34;11007:1;10999:6;10995:14;10988:58;11080:4;11075:2;11067:6;11063:15;11056:29;10871:221;:::o;11098:366::-;11240:3;11261:67;11325:2;11320:3;11261:67;:::i;:::-;11254:74;;11337:93;11426:3;11337:93;:::i;:::-;11455:2;11450:3;11446:12;11439:19;;11098:366;;;:::o;11470:419::-;11636:4;11674:2;11663:9;11659:18;11651:26;;11723:9;11717:4;11713:20;11709:1;11698:9;11694:17;11687:47;11751:131;11877:4;11751:131;:::i;:::-;11743:139;;11470:419;;;:::o;11895:179::-;12035:31;12031:1;12023:6;12019:14;12012:55;11895:179;:::o;12080:366::-;12222:3;12243:67;12307:2;12302:3;12243:67;:::i;:::-;12236:74;;12319:93;12408:3;12319:93;:::i;:::-;12437:2;12432:3;12428:12;12421:19;;12080:366;;;:::o;12452:419::-;12618:4;12656:2;12645:9;12641:18;12633:26;;12705:9;12699:4;12695:20;12691:1;12680:9;12676:17;12669:47;12733:131;12859:4;12733:131;:::i;:::-;12725:139;;12452:419;;;:::o;12877:160::-;13017:12;13013:1;13005:6;13001:14;12994:36;12877:160;:::o;13043:366::-;13185:3;13206:67;13270:2;13265:3;13206:67;:::i;:::-;13199:74;;13282:93;13371:3;13282:93;:::i;:::-;13400:2;13395:3;13391:12;13384:19;;13043:366;;;:::o;13415:419::-;13581:4;13619:2;13608:9;13604:18;13596:26;;13668:9;13662:4;13658:20;13654:1;13643:9;13639:17;13632:47;13696:131;13822:4;13696:131;:::i;:::-;13688:139;;13415:419;;;:::o;13840:180::-;13888:77;13885:1;13878:88;13985:4;13982:1;13975:15;14009:4;14006:1;13999:15;14026:185;14066:1;14083:20;14101:1;14083:20;:::i;:::-;14078:25;;14117:20;14135:1;14117:20;:::i;:::-;14112:25;;14156:1;14146:35;;14161:18;;:::i;:::-;14146:35;14203:1;14200;14196:9;14191:14;;14026:185;;;;:::o;14217:410::-;14257:7;14280:20;14298:1;14280:20;:::i;:::-;14275:25;;14314:20;14332:1;14314:20;:::i;:::-;14309:25;;14369:1;14366;14362:9;14391:30;14409:11;14391:30;:::i;:::-;14380:41;;14570:1;14561:7;14557:15;14554:1;14551:22;14531:1;14524:9;14504:83;14481:139;;14600:18;;:::i;:::-;14481:139;14265:362;14217:410;;;;:::o;14633:194::-;14673:4;14693:20;14711:1;14693:20;:::i;:::-;14688:25;;14727:20;14745:1;14727:20;:::i;:::-;14722:25;;14771:1;14768;14764:9;14756:17;;14795:1;14789:4;14786:11;14783:37;;;14800:18;;:::i;:::-;14783:37;14633:194;;;;:::o;14833:224::-;14973:34;14969:1;14961:6;14957:14;14950:58;15042:7;15037:2;15029:6;15025:15;15018:32;14833:224;:::o;15063:366::-;15205:3;15226:67;15290:2;15285:3;15226:67;:::i;:::-;15219:74;;15302:93;15391:3;15302:93;:::i;:::-;15420:2;15415:3;15411:12;15404:19;;15063:366;;;:::o;15435:419::-;15601:4;15639:2;15628:9;15624:18;15616:26;;15688:9;15682:4;15678:20;15674:1;15663:9;15659:17;15652:47;15716:131;15842:4;15716:131;:::i;:::-;15708:139;;15435:419;;;:::o;15860:222::-;16000:34;15996:1;15988:6;15984:14;15977:58;16069:5;16064:2;16056:6;16052:15;16045:30;15860:222;:::o;16088:366::-;16230:3;16251:67;16315:2;16310:3;16251:67;:::i;:::-;16244:74;;16327:93;16416:3;16327:93;:::i;:::-;16445:2;16440:3;16436:12;16429:19;;16088:366;;;:::o;16460:419::-;16626:4;16664:2;16653:9;16649:18;16641:26;;16713:9;16707:4;16703:20;16699:1;16688:9;16684:17;16677:47;16741:131;16867:4;16741:131;:::i;:::-;16733:139;;16460:419;;;:::o;16885:225::-;17025:34;17021:1;17013:6;17009:14;17002:58;17094:8;17089:2;17081:6;17077:15;17070:33;16885:225;:::o;17116:366::-;17258:3;17279:67;17343:2;17338:3;17279:67;:::i;:::-;17272:74;;17355:93;17444:3;17355:93;:::i;:::-;17473:2;17468:3;17464:12;17457:19;;17116:366;;;:::o;17488:419::-;17654:4;17692:2;17681:9;17677:18;17669:26;;17741:9;17735:4;17731:20;17727:1;17716:9;17712:17;17705:47;17769:131;17895:4;17769:131;:::i;:::-;17761:139;;17488:419;;;:::o
Swarm Source
ipfs://54ca4008f50677db0f7bc265320d4093e3c2c43d2c1312f441efe001bd46bc72
Loading...
Loading
Loading...
Loading
[ Download: CSV Export ]
[ Download: CSV Export ]
A token is a representation of an on-chain or off-chain asset. The token page shows information such as price, total supply, holders, transfers and social links. Learn more about this page in our Knowledge Base.