Feature Tip: Add private address tag to any address under My Name Tag !
ERC-20
Overview
Max Total Supply
1,000,000,000 SINC
Holders
45
Market
Onchain Market Cap
$0.00
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 18 Decimals)
Balance
0.000000000187824188 SINCValue
$0.00Loading...
Loading
Loading...
Loading
Loading...
Loading
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|
Contract Name:
ShibaInc
Compiler Version
v0.8.18+commit.87f61d96
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2023-03-22 */ // SPDX-License-Identifier: Unlicensed pragma solidity 0.8.18; /** * @dev Interface of the ERC20 standard as defined in the EIP. */ interface IERC20 { /** * @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); /** * @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); } // File: @openzeppelin/contracts/utils/math/SafeMath.sol // OpenZeppelin Contracts v4.4.1 (utils/math/SafeMath.sol) pragma solidity ^0.8.0; // CAUTION // This version of SafeMath should only be used with Solidity 0.8 or later, // because it relies on the compiler's built in overflow checks. /** * @dev Wrappers over Solidity's arithmetic operations. * * NOTE: `SafeMath` is generally not needed starting with Solidity 0.8, since the compiler * now has built in overflow checking. */ library SafeMath { /** * @dev Returns the addition of two unsigned integers, with an overflow flag. * * _Available since v3.4._ */ function tryAdd(uint256 a, uint256 b) internal pure returns (bool, uint256) { unchecked { uint256 c = a + b; if (c < a) return (false, 0); return (true, c); } } /** * @dev Returns the substraction of two unsigned integers, with an overflow flag. * * _Available since v3.4._ */ function trySub(uint256 a, uint256 b) internal pure returns (bool, uint256) { unchecked { if (b > a) return (false, 0); return (true, a - b); } } /** * @dev Returns the multiplication of two unsigned integers, with an overflow flag. * * _Available since v3.4._ */ function tryMul(uint256 a, uint256 b) internal pure returns (bool, uint256) { unchecked { // Gas optimization: this is cheaper than requiring 'a' not being zero, but the // benefit is lost if 'b' is also tested. // See: https://github.com/OpenZeppelin/openzeppelin-contracts/pull/522 if (a == 0) return (true, 0); uint256 c = a * b; if (c / a != b) return (false, 0); return (true, c); } } /** * @dev Returns the division of two unsigned integers, with a division by zero flag. * * _Available since v3.4._ */ function tryDiv(uint256 a, uint256 b) internal pure returns (bool, uint256) { unchecked { if (b == 0) return (false, 0); return (true, a / b); } } /** * @dev Returns the remainder of dividing two unsigned integers, with a division by zero flag. * * _Available since v3.4._ */ function tryMod(uint256 a, uint256 b) internal pure returns (bool, uint256) { unchecked { if (b == 0) return (false, 0); return (true, a % b); } } /** * @dev Returns the addition of two unsigned integers, reverting on * overflow. * * Counterpart to Solidity's `+` operator. * * Requirements: * * - Addition cannot overflow. */ function add(uint256 a, uint256 b) internal pure returns (uint256) { return a + b; } /** * @dev Returns the subtraction of two unsigned integers, reverting on * overflow (when the result is negative). * * Counterpart to Solidity's `-` operator. * * Requirements: * * - Subtraction cannot overflow. */ function sub(uint256 a, uint256 b) internal pure returns (uint256) { return a - b; } /** * @dev Returns the multiplication of two unsigned integers, reverting on * overflow. * * Counterpart to Solidity's `*` operator. * * Requirements: * * - Multiplication cannot overflow. */ function mul(uint256 a, uint256 b) internal pure returns (uint256) { return a * b; } /** * @dev Returns the integer division of two unsigned integers, reverting on * division by zero. The result is rounded towards zero. * * Counterpart to Solidity's `/` operator. * * Requirements: * * - The divisor cannot be zero. */ function div(uint256 a, uint256 b) internal pure returns (uint256) { return a / b; } /** * @dev Returns the remainder of dividing two unsigned integers. (unsigned integer modulo), * reverting when dividing by zero. * * Counterpart to Solidity's `%` operator. This function uses a `revert` * opcode (which leaves remaining gas untouched) while Solidity uses an * invalid opcode to revert (consuming all remaining gas). * * Requirements: * * - The divisor cannot be zero. */ function mod(uint256 a, uint256 b) internal pure returns (uint256) { return a % b; } /** * @dev Returns the subtraction of two unsigned integers, reverting with custom message on * overflow (when the result is negative). * * CAUTION: This function is deprecated because it requires allocating memory for the error * message unnecessarily. For custom revert reasons use {trySub}. * * Counterpart to Solidity's `-` operator. * * Requirements: * * - Subtraction cannot overflow. */ function sub( uint256 a, uint256 b, string memory errorMessage ) internal pure returns (uint256) { unchecked { require(b <= a, errorMessage); return a - b; } } /** * @dev Returns the integer division of two unsigned integers, reverting with custom message on * division by zero. The result is rounded towards zero. * * Counterpart to Solidity's `/` operator. Note: this function uses a * `revert` opcode (which leaves remaining gas untouched) while Solidity * uses an invalid opcode to revert (consuming all remaining gas). * * Requirements: * * - The divisor cannot be zero. */ function div( uint256 a, uint256 b, string memory errorMessage ) internal pure returns (uint256) { unchecked { require(b > 0, errorMessage); return a / b; } } /** * @dev Returns the remainder of dividing two unsigned integers. (unsigned integer modulo), * reverting with custom message when dividing by zero. * * CAUTION: This function is deprecated because it requires allocating memory for the error * message unnecessarily. For custom revert reasons use {tryMod}. * * Counterpart to Solidity's `%` operator. This function uses a `revert` * opcode (which leaves remaining gas untouched) while Solidity uses an * invalid opcode to revert (consuming all remaining gas). * * Requirements: * * - The divisor cannot be zero. */ function mod( uint256 a, uint256 b, string memory errorMessage ) internal pure returns (uint256) { unchecked { require(b > 0, errorMessage); return a % b; } } } // File: @openzeppelin/contracts/utils/Context.sol // OpenZeppelin Contracts v4.4.1 (utils/Context.sol) pragma solidity ^0.8.0; /** * @dev Provides information about the current execution context, including the * sender of the transaction and its data. While these are generally available * via msg.sender and msg.data, they should not be accessed in such a direct * manner, since when dealing with meta-transactions the account sending and * paying for execution may not be the actual sender (as far as an application * is concerned). * * This contract is only required for intermediate, library-like contracts. */ abstract contract Context { function _msgSender() internal view virtual returns (address) { return msg.sender; } function _msgData() internal view virtual returns (bytes calldata) { return msg.data; } } // File: @openzeppelin/contracts/access/Ownable.sol // OpenZeppelin Contracts v4.4.1 (access/Ownable.sol) pragma solidity ^0.8.0; /** * @dev Contract module which provides a basic access control mechanism, where * there is an account (an owner) that can be granted exclusive access to * specific functions. * * By default, the owner account will be the one that deploys the contract. This * can later be changed with {transferOwnership}. * * This module is used through inheritance. It will make available the modifier * `onlyOwner`, which can be applied to your functions to restrict their use to * the owner. */ abstract contract Ownable is Context { address private _owner; event OwnershipTransferred(address indexed previousOwner, address indexed newOwner); /** * @dev Initializes the contract setting the deployer as the initial owner. */ constructor() { _transferOwnership(_msgSender()); } /** * @dev Returns the address of the current owner. */ function owner() public view virtual returns (address) { return _owner; } /** * @dev Throws if called by any account other than the owner. */ modifier onlyOwner() { require(owner() == _msgSender(), "Ownable: caller is not the owner"); _; } /** * @dev Leaves the contract without owner. It will not be possible to call * `onlyOwner` functions anymore. Can only be called by the current owner. * * NOTE: Renouncing ownership will leave the contract without an owner, * thereby removing any functionality that is only available to the owner. */ function renounceOwnership() public virtual onlyOwner { _transferOwnership(address(0)); } /** * @dev Transfers ownership of the contract to a new account (`newOwner`). * Can only be called by the current owner. */ function transferOwnership(address newOwner) public virtual onlyOwner { require(newOwner != address(0), "Ownable: new owner is the zero address"); _transferOwnership(newOwner); } /** * @dev Transfers ownership of the contract to a new account (`newOwner`). * Internal function without access restriction. */ function _transferOwnership(address newOwner) internal virtual { address oldOwner = _owner; _owner = newOwner; emit OwnershipTransferred(oldOwner, newOwner); } } // File: @uniswap/v2-periphery/contracts/interfaces/IUniswapV2Router01.sol pragma solidity >=0.6.2; 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); } // File: @uniswap/v2-periphery/contracts/interfaces/IUniswapV2Router02.sol pragma solidity >=0.6.2; 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; } // File: @uniswap/v2-core/contracts/interfaces/IUniswapV2Factory.sol pragma solidity >=0.5.0; 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; } contract ShibaInc is Context, IERC20, Ownable { mapping(address => uint256) private _balance; mapping(address => mapping(address => uint256)) private _allowances; mapping(address => bool) private _isExcludedFromFeeWallet; uint256 private constant MAX = ~uint256(0); uint8 private constant _decimals = 18; uint256 private constant _totalSupply = 10**9 * 10**_decimals; uint256 private constant maxSwap = 11000000 * 10**_decimals; uint256 public maxTxAmount = maxSwap; uint256 private _tax; uint256 public buyTax = 5; uint256 public sellTax = 5; uint256 private launchBlock; uint256 private blockDelay = 2; string private constant _name = "Shiba Inc"; string private constant _symbol = "SINC"; IUniswapV2Router02 private uniswapV2Router; address public uniswapV2Pair; address payable public marketingWallet; bool private launch = false; constructor() { uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D); marketingWallet = payable(0xCb7460c330a94a4287726f9A69288e80c4f4301f); _balance[msg.sender] = _totalSupply; _isExcludedFromFeeWallet[msg.sender] = true; _isExcludedFromFeeWallet[0xCb7460c330a94a4287726f9A69288e80c4f4301f] = true; _isExcludedFromFeeWallet[address(this)] = true; emit Transfer(address(0), _msgSender(), _totalSupply); } function name() public pure returns (string memory) { return _name; } function symbol() public pure returns (string memory) { return _symbol; } function decimals() public pure returns (uint8) { return _decimals; } function totalSupply() public pure override returns (uint256) { return _totalSupply; } function balanceOf(address account) public view override returns (uint256) { return _balance[account]; } function transfer(address recipient, uint256 amount)public override returns (bool){ _transfer(_msgSender(), recipient, amount); return true; } function allowance(address owner, address spender) public view override returns (uint256){ return _allowances[owner][spender]; } function approve(address spender, uint256 amount) public override returns (bool){ _approve(_msgSender(), spender, amount); return true; } function transferFrom(address sender, address recipient, uint256 amount) public override returns (bool) { _transfer(sender, recipient, amount); _approve(sender,_msgSender(),_allowances[sender][_msgSender()] - amount); return true; } function _approve(address owner, address spender, uint256 amount) private { require(owner != address(0), "ERC20: approve from the zero address"); require(spender != address(0), "ERC20: approve to the zero address"); _allowances[owner][spender] = amount; emit Approval(owner, spender, amount); } function enableTrading() external onlyOwner { launch = true; launchBlock = block.number; } function addPair() external onlyOwner { IUniswapV2Router02 _uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D); uniswapV2Router = _uniswapV2Router; _approve(address(this), address(uniswapV2Router), _totalSupply); uniswapV2Pair = IUniswapV2Factory(_uniswapV2Router.factory()).createPair(address(this), _uniswapV2Router.WETH()); uniswapV2Router.addLiquidityETH{value: address(this).balance} (address(this), balanceOf(address(this)), 0, 0, owner(), block.timestamp); IERC20(uniswapV2Pair).approve(address(uniswapV2Router), type(uint).max); } function addExcludedWallet(address wallet) external onlyOwner { _isExcludedFromFeeWallet[wallet] = true; } function removeLimits() external onlyOwner { maxTxAmount = _totalSupply; } function newBlockDelay(uint256 number) external onlyOwner { blockDelay = number; } function changeTax(uint256 newBuyTax, uint256 newSellTax) external onlyOwner { buyTax = newBuyTax; sellTax = newSellTax; } function setMarketingWallet(address _marketingWallet) external onlyOwner { marketingWallet = payable(_marketingWallet); } function _tokenTransfer(address from, address to, uint256 amount) private { uint256 taxTokens = (amount * _tax) / 100; uint256 transferAmount = amount - taxTokens; _balance[from] = _balance[from] - amount; _balance[to] = _balance[to] + transferAmount; _balance[address(this)] = _balance[address(this)] + taxTokens; emit Transfer(from, to, transferAmount); } function _transfer(address from, address to, uint256 amount) private { require(from != address(0), "ERC20: transfer from the zero address"); if (_isExcludedFromFeeWallet[from] || _isExcludedFromFeeWallet[to]) { _tax = 0; } else { require(launch, "Wait till launch"); require(amount <= maxTxAmount, "Max TxAmount 2% at launch"); if (block.number < launchBlock + blockDelay) {_tax=99;} else { if (from == uniswapV2Pair) { _tax = buyTax; } else if (to == uniswapV2Pair) { uint256 tokensToSwap = balanceOf(address(this)); if (tokensToSwap > maxSwap) { tokensToSwap = maxSwap; } swapTokensForEth(tokensToSwap); _tax = sellTax; } else { _tax = 0; } } } _tokenTransfer(from, to, amount); } function swapTokensForEth(uint256 tokenAmount) private { address[] memory path = new address[](2); path[0] = address(this); path[1] = uniswapV2Router.WETH(); _approve(address(this), address(uniswapV2Router), tokenAmount); uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens( tokenAmount, 0, path, marketingWallet, block.timestamp ); } 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":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[{"internalType":"address","name":"wallet","type":"address"}],"name":"addExcludedWallet","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"addPair","outputs":[],"stateMutability":"nonpayable","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":"buyTax","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"newBuyTax","type":"uint256"},{"internalType":"uint256","name":"newSellTax","type":"uint256"}],"name":"changeTax","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"enableTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"marketingWallet","outputs":[{"internalType":"address payable","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxTxAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"uint256","name":"number","type":"uint256"}],"name":"newBlockDelay","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"removeLimits","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"sellTax","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_marketingWallet","type":"address"}],"name":"setMarketingWallet","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"uniswapV2Pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"stateMutability":"payable","type":"receive"}]
Contract Creation Code
60806040526012600a620000149190620005ac565b62a7d8c0620000249190620005fd565b6004556005600655600560075560026009556000600c60146101000a81548160ff0219169083151502179055503480156200005e57600080fd5b506200007f620000736200034660201b60201c565b6200034e60201b60201c565b737a250d5630b4cf539739df2c5dacb4c659f2488d600a60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555073cb7460c330a94a4287726f9a69288e80c4f4301f600c60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506012600a620001399190620005ac565b633b9aca006200014a9190620005fd565b600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506001600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555060016003600073cb7460c330a94a4287726f9a69288e80c4f4301f73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600360003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550620002b96200034660201b60201c565b73ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6012600a620003189190620005ac565b633b9aca00620003299190620005fd565b60405162000338919062000659565b60405180910390a362000676565b600033905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008160011c9050919050565b6000808291508390505b6001851115620004a05780860481111562000478576200047762000412565b5b6001851615620004885780820291505b8081029050620004988562000441565b945062000458565b94509492505050565b600082620004bb57600190506200058e565b81620004cb57600090506200058e565b8160018114620004e45760028114620004ef5762000525565b60019150506200058e565b60ff84111562000504576200050362000412565b5b8360020a9150848211156200051e576200051d62000412565b5b506200058e565b5060208310610133831016604e8410600b84101617156200055f5782820a90508381111562000559576200055862000412565b5b6200058e565b6200056e84848460016200044e565b9250905081840481111562000588576200058762000412565b5b81810290505b9392505050565b6000819050919050565b600060ff82169050919050565b6000620005b98262000595565b9150620005c6836200059f565b9250620005f57fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484620004a9565b905092915050565b60006200060a8262000595565b9150620006178362000595565b9250828202620006278162000595565b9150828204841483151762000641576200064062000412565b5b5092915050565b620006538162000595565b82525050565b600060208201905062000670600083018462000648565b92915050565b612a6280620006866000396000f3fe60806040526004361061014f5760003560e01c806375f0a874116100b657806395d89b411161006f57806395d89b4114610441578063a9059cbb1461046c578063cc1776d3146104a9578063dba9d420146104d4578063dd62ed3e146104fd578063f2fde38b1461053a57610156565b806375f0a874146103695780638a8c523c146103945780638c0b5e22146103ab5780638da5cb5b146103d65780638f08638a146104015780639036ed4d1461041857610156565b80634f7041a5116101085780634f7041a5146102815780635d098b38146102ac57806370a08231146102d557806370d8c9ec14610312578063715018a61461033b578063751039fc1461035257610156565b806306fdde031461015b578063095ea7b31461018657806318160ddd146101c357806323b872dd146101ee578063313ce5671461022b57806349bd5a5e1461025657610156565b3661015657005b600080fd5b34801561016757600080fd5b50610170610563565b60405161017d9190611cfe565b60405180910390f35b34801561019257600080fd5b506101ad60048036038101906101a89190611db9565b6105a0565b6040516101ba9190611e14565b60405180910390f35b3480156101cf57600080fd5b506101d86105be565b6040516101e59190611e3e565b60405180910390f35b3480156101fa57600080fd5b5061021560048036038101906102109190611e59565b6105e2565b6040516102229190611e14565b60405180910390f35b34801561023757600080fd5b5061024061069a565b60405161024d9190611ec8565b60405180910390f35b34801561026257600080fd5b5061026b6106a3565b6040516102789190611ef2565b60405180910390f35b34801561028d57600080fd5b506102966106c9565b6040516102a39190611e3e565b60405180910390f35b3480156102b857600080fd5b506102d360048036038101906102ce9190611f0d565b6106cf565b005b3480156102e157600080fd5b506102fc60048036038101906102f79190611f0d565b61078f565b6040516103099190611e3e565b60405180910390f35b34801561031e57600080fd5b5061033960048036038101906103349190611f3a565b6107d8565b005b34801561034757600080fd5b5061035061085e565b005b34801561035e57600080fd5b506103676108e6565b005b34801561037557600080fd5b5061037e610987565b60405161038b9190611f88565b60405180910390f35b3480156103a057600080fd5b506103a96109ad565b005b3480156103b757600080fd5b506103c0610a4d565b6040516103cd9190611e3e565b60405180910390f35b3480156103e257600080fd5b506103eb610a53565b6040516103f89190611ef2565b60405180910390f35b34801561040d57600080fd5b50610416610a7c565b005b34801561042457600080fd5b5061043f600480360381019061043a9190611fa3565b610ed7565b005b34801561044d57600080fd5b50610456610f65565b6040516104639190611cfe565b60405180910390f35b34801561047857600080fd5b50610493600480360381019061048e9190611db9565b610fa2565b6040516104a09190611e14565b60405180910390f35b3480156104b557600080fd5b506104be610fc0565b6040516104cb9190611e3e565b60405180910390f35b3480156104e057600080fd5b506104fb60048036038101906104f69190611f0d565b610fc6565b005b34801561050957600080fd5b50610524600480360381019061051f9190611fe3565b61109d565b6040516105319190611e3e565b60405180910390f35b34801561054657600080fd5b50610561600480360381019061055c9190611f0d565b611124565b005b60606040518060400160405280600981526020017f536869626120496e630000000000000000000000000000000000000000000000815250905090565b60006105b46105ad61121b565b8484611223565b6001905092915050565b60006012600a6105ce9190612185565b633b9aca006105dd91906121d0565b905090565b60006105ef8484846113ec565b61068f846105fb61121b565b84600260008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600061064561121b565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461068a9190612212565b611223565b600190509392505050565b60006012905090565b600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60065481565b6106d761121b565b73ffffffffffffffffffffffffffffffffffffffff166106f5610a53565b73ffffffffffffffffffffffffffffffffffffffff161461074b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161074290612292565b60405180910390fd5b80600c60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6107e061121b565b73ffffffffffffffffffffffffffffffffffffffff166107fe610a53565b73ffffffffffffffffffffffffffffffffffffffff1614610854576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161084b90612292565b60405180910390fd5b8060098190555050565b61086661121b565b73ffffffffffffffffffffffffffffffffffffffff16610884610a53565b73ffffffffffffffffffffffffffffffffffffffff16146108da576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108d190612292565b60405180910390fd5b6108e46000611701565b565b6108ee61121b565b73ffffffffffffffffffffffffffffffffffffffff1661090c610a53565b73ffffffffffffffffffffffffffffffffffffffff1614610962576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161095990612292565b60405180910390fd5b6012600a6109709190612185565b633b9aca0061097f91906121d0565b600481905550565b600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6109b561121b565b73ffffffffffffffffffffffffffffffffffffffff166109d3610a53565b73ffffffffffffffffffffffffffffffffffffffff1614610a29576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a2090612292565b60405180910390fd5b6001600c60146101000a81548160ff02191690831515021790555043600881905550565b60045481565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b610a8461121b565b73ffffffffffffffffffffffffffffffffffffffff16610aa2610a53565b73ffffffffffffffffffffffffffffffffffffffff1614610af8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610aef90612292565b60405180910390fd5b6000737a250d5630b4cf539739df2c5dacb4c659f2488d905080600a60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550610b9b30600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166012600a610b879190612185565b633b9aca00610b9691906121d0565b611223565b8073ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610be6573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c0a91906122c7565b73ffffffffffffffffffffffffffffffffffffffff1663c9c65396308373ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610c71573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c9591906122c7565b6040518363ffffffff1660e01b8152600401610cb29291906122f4565b6020604051808303816000875af1158015610cd1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610cf591906122c7565b600b60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d7194730610d7e3061078f565b600080610d89610a53565b426040518863ffffffff1660e01b8152600401610dab96959493929190612362565b60606040518083038185885af1158015610dc9573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610dee91906123d8565b505050600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b3600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b8152600401610e9092919061242b565b6020604051808303816000875af1158015610eaf573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ed39190612480565b5050565b610edf61121b565b73ffffffffffffffffffffffffffffffffffffffff16610efd610a53565b73ffffffffffffffffffffffffffffffffffffffff1614610f53576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f4a90612292565b60405180910390fd5b81600681905550806007819055505050565b60606040518060400160405280600481526020017f53494e4300000000000000000000000000000000000000000000000000000000815250905090565b6000610fb6610faf61121b565b84846113ec565b6001905092915050565b60075481565b610fce61121b565b73ffffffffffffffffffffffffffffffffffffffff16610fec610a53565b73ffffffffffffffffffffffffffffffffffffffff1614611042576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161103990612292565b60405180910390fd5b6001600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b61112c61121b565b73ffffffffffffffffffffffffffffffffffffffff1661114a610a53565b73ffffffffffffffffffffffffffffffffffffffff16146111a0576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161119790612292565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff160361120f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112069061251f565b60405180910390fd5b61121881611701565b50565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611292576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611289906125b1565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611301576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112f890612643565b60405180910390fd5b80600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516113df9190611e3e565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361145b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611452906126d5565b60405180910390fd5b600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16806114fc5750600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b1561150e5760006005819055506116f1565b600c60149054906101000a900460ff1661155d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161155490612741565b60405180910390fd5b6004548111156115a2576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611599906127ad565b60405180910390fd5b6009546008546115b291906127cd565b4310156115c65760636005819055506116f0565b600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611629576006546005819055506116ef565b600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036116e55760006116893061078f565b90506012600a6116999190612185565b62a7d8c06116a791906121d0565b8111156116cd576012600a6116bc9190612185565b62a7d8c06116ca91906121d0565b90505b6116d6816117c5565b600754600581905550506116ee565b60006005819055505b5b5b5b6116fc838383611a2a565b505050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b6000600267ffffffffffffffff8111156117e2576117e1612801565b5b6040519080825280602002602001820160405280156118105781602001602082028036833780820191505090505b509050308160008151811061182857611827612830565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156118cf573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118f391906122c7565b8160018151811061190757611906612830565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505061196e30600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684611223565b600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac94783600084600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16426040518663ffffffff1660e01b81526004016119f4959493929190612972565b600060405180830381600087803b158015611a0e57600080fd5b505af1158015611a22573d6000803e3d6000fd5b505050505050565b6000606460055483611a3c91906121d0565b611a4691906129fb565b905060008183611a569190612212565b905082600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611aa39190612212565b600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555080600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611b3191906127cd565b600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555081600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611bbf91906127cd565b600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051611c5f9190611e3e565b60405180910390a35050505050565b600081519050919050565b600082825260208201905092915050565b60005b83811015611ca8578082015181840152602081019050611c8d565b60008484015250505050565b6000601f19601f8301169050919050565b6000611cd082611c6e565b611cda8185611c79565b9350611cea818560208601611c8a565b611cf381611cb4565b840191505092915050565b60006020820190508181036000830152611d188184611cc5565b905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000611d5082611d25565b9050919050565b611d6081611d45565b8114611d6b57600080fd5b50565b600081359050611d7d81611d57565b92915050565b6000819050919050565b611d9681611d83565b8114611da157600080fd5b50565b600081359050611db381611d8d565b92915050565b60008060408385031215611dd057611dcf611d20565b5b6000611dde85828601611d6e565b9250506020611def85828601611da4565b9150509250929050565b60008115159050919050565b611e0e81611df9565b82525050565b6000602082019050611e296000830184611e05565b92915050565b611e3881611d83565b82525050565b6000602082019050611e536000830184611e2f565b92915050565b600080600060608486031215611e7257611e71611d20565b5b6000611e8086828701611d6e565b9350506020611e9186828701611d6e565b9250506040611ea286828701611da4565b9150509250925092565b600060ff82169050919050565b611ec281611eac565b82525050565b6000602082019050611edd6000830184611eb9565b92915050565b611eec81611d45565b82525050565b6000602082019050611f076000830184611ee3565b92915050565b600060208284031215611f2357611f22611d20565b5b6000611f3184828501611d6e565b91505092915050565b600060208284031215611f5057611f4f611d20565b5b6000611f5e84828501611da4565b91505092915050565b6000611f7282611d25565b9050919050565b611f8281611f67565b82525050565b6000602082019050611f9d6000830184611f79565b92915050565b60008060408385031215611fba57611fb9611d20565b5b6000611fc885828601611da4565b9250506020611fd985828601611da4565b9150509250929050565b60008060408385031215611ffa57611ff9611d20565b5b600061200885828601611d6e565b925050602061201985828601611d6e565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008160011c9050919050565b6000808291508390505b60018511156120a95780860481111561208557612084612023565b5b60018516156120945780820291505b80810290506120a285612052565b9450612069565b94509492505050565b6000826120c2576001905061217e565b816120d0576000905061217e565b81600181146120e657600281146120f05761211f565b600191505061217e565b60ff84111561210257612101612023565b5b8360020a91508482111561211957612118612023565b5b5061217e565b5060208310610133831016604e8410600b84101617156121545782820a90508381111561214f5761214e612023565b5b61217e565b612161848484600161205f565b9250905081840481111561217857612177612023565b5b81810290505b9392505050565b600061219082611d83565b915061219b83611eac565b92506121c87fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff84846120b2565b905092915050565b60006121db82611d83565b91506121e683611d83565b92508282026121f481611d83565b9150828204841483151761220b5761220a612023565b5b5092915050565b600061221d82611d83565b915061222883611d83565b92508282039050818111156122405761223f612023565b5b92915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b600061227c602083611c79565b915061228782612246565b602082019050919050565b600060208201905081810360008301526122ab8161226f565b9050919050565b6000815190506122c181611d57565b92915050565b6000602082840312156122dd576122dc611d20565b5b60006122eb848285016122b2565b91505092915050565b60006040820190506123096000830185611ee3565b6123166020830184611ee3565b9392505050565b6000819050919050565b6000819050919050565b600061234c6123476123428461231d565b612327565b611d83565b9050919050565b61235c81612331565b82525050565b600060c0820190506123776000830189611ee3565b6123846020830188611e2f565b6123916040830187612353565b61239e6060830186612353565b6123ab6080830185611ee3565b6123b860a0830184611e2f565b979650505050505050565b6000815190506123d281611d8d565b92915050565b6000806000606084860312156123f1576123f0611d20565b5b60006123ff868287016123c3565b9350506020612410868287016123c3565b9250506040612421868287016123c3565b9150509250925092565b60006040820190506124406000830185611ee3565b61244d6020830184611e2f565b9392505050565b61245d81611df9565b811461246857600080fd5b50565b60008151905061247a81612454565b92915050565b60006020828403121561249657612495611d20565b5b60006124a48482850161246b565b91505092915050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b6000612509602683611c79565b9150612514826124ad565b604082019050919050565b60006020820190508181036000830152612538816124fc565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b600061259b602483611c79565b91506125a68261253f565b604082019050919050565b600060208201905081810360008301526125ca8161258e565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b600061262d602283611c79565b9150612638826125d1565b604082019050919050565b6000602082019050818103600083015261265c81612620565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b60006126bf602583611c79565b91506126ca82612663565b604082019050919050565b600060208201905081810360008301526126ee816126b2565b9050919050565b7f576169742074696c6c206c61756e636800000000000000000000000000000000600082015250565b600061272b601083611c79565b9150612736826126f5565b602082019050919050565b6000602082019050818103600083015261275a8161271e565b9050919050565b7f4d6178205478416d6f756e74203225206174206c61756e636800000000000000600082015250565b6000612797601983611c79565b91506127a282612761565b602082019050919050565b600060208201905081810360008301526127c68161278a565b9050919050565b60006127d882611d83565b91506127e383611d83565b92508282019050808211156127fb576127fa612023565b5b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b61289481611d45565b82525050565b60006128a6838361288b565b60208301905092915050565b6000602082019050919050565b60006128ca8261285f565b6128d4818561286a565b93506128df8361287b565b8060005b838110156129105781516128f7888261289a565b9750612902836128b2565b9250506001810190506128e3565b5085935050505092915050565b600061293861293361292e84611d25565b612327565b611d25565b9050919050565b600061294a8261291d565b9050919050565b600061295c8261293f565b9050919050565b61296c81612951565b82525050565b600060a0820190506129876000830188611e2f565b6129946020830187612353565b81810360408301526129a681866128bf565b90506129b56060830185612963565b6129c26080830184611e2f565b9695505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000612a0682611d83565b9150612a1183611d83565b925082612a2157612a206129cc565b5b82820490509291505056fea2646970667358221220e69b0543492b450a675f31e8da9b8a1af0960969b24e1850364ac329bfb54a9c64736f6c63430008120033
Deployed Bytecode
0x60806040526004361061014f5760003560e01c806375f0a874116100b657806395d89b411161006f57806395d89b4114610441578063a9059cbb1461046c578063cc1776d3146104a9578063dba9d420146104d4578063dd62ed3e146104fd578063f2fde38b1461053a57610156565b806375f0a874146103695780638a8c523c146103945780638c0b5e22146103ab5780638da5cb5b146103d65780638f08638a146104015780639036ed4d1461041857610156565b80634f7041a5116101085780634f7041a5146102815780635d098b38146102ac57806370a08231146102d557806370d8c9ec14610312578063715018a61461033b578063751039fc1461035257610156565b806306fdde031461015b578063095ea7b31461018657806318160ddd146101c357806323b872dd146101ee578063313ce5671461022b57806349bd5a5e1461025657610156565b3661015657005b600080fd5b34801561016757600080fd5b50610170610563565b60405161017d9190611cfe565b60405180910390f35b34801561019257600080fd5b506101ad60048036038101906101a89190611db9565b6105a0565b6040516101ba9190611e14565b60405180910390f35b3480156101cf57600080fd5b506101d86105be565b6040516101e59190611e3e565b60405180910390f35b3480156101fa57600080fd5b5061021560048036038101906102109190611e59565b6105e2565b6040516102229190611e14565b60405180910390f35b34801561023757600080fd5b5061024061069a565b60405161024d9190611ec8565b60405180910390f35b34801561026257600080fd5b5061026b6106a3565b6040516102789190611ef2565b60405180910390f35b34801561028d57600080fd5b506102966106c9565b6040516102a39190611e3e565b60405180910390f35b3480156102b857600080fd5b506102d360048036038101906102ce9190611f0d565b6106cf565b005b3480156102e157600080fd5b506102fc60048036038101906102f79190611f0d565b61078f565b6040516103099190611e3e565b60405180910390f35b34801561031e57600080fd5b5061033960048036038101906103349190611f3a565b6107d8565b005b34801561034757600080fd5b5061035061085e565b005b34801561035e57600080fd5b506103676108e6565b005b34801561037557600080fd5b5061037e610987565b60405161038b9190611f88565b60405180910390f35b3480156103a057600080fd5b506103a96109ad565b005b3480156103b757600080fd5b506103c0610a4d565b6040516103cd9190611e3e565b60405180910390f35b3480156103e257600080fd5b506103eb610a53565b6040516103f89190611ef2565b60405180910390f35b34801561040d57600080fd5b50610416610a7c565b005b34801561042457600080fd5b5061043f600480360381019061043a9190611fa3565b610ed7565b005b34801561044d57600080fd5b50610456610f65565b6040516104639190611cfe565b60405180910390f35b34801561047857600080fd5b50610493600480360381019061048e9190611db9565b610fa2565b6040516104a09190611e14565b60405180910390f35b3480156104b557600080fd5b506104be610fc0565b6040516104cb9190611e3e565b60405180910390f35b3480156104e057600080fd5b506104fb60048036038101906104f69190611f0d565b610fc6565b005b34801561050957600080fd5b50610524600480360381019061051f9190611fe3565b61109d565b6040516105319190611e3e565b60405180910390f35b34801561054657600080fd5b50610561600480360381019061055c9190611f0d565b611124565b005b60606040518060400160405280600981526020017f536869626120496e630000000000000000000000000000000000000000000000815250905090565b60006105b46105ad61121b565b8484611223565b6001905092915050565b60006012600a6105ce9190612185565b633b9aca006105dd91906121d0565b905090565b60006105ef8484846113ec565b61068f846105fb61121b565b84600260008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600061064561121b565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461068a9190612212565b611223565b600190509392505050565b60006012905090565b600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60065481565b6106d761121b565b73ffffffffffffffffffffffffffffffffffffffff166106f5610a53565b73ffffffffffffffffffffffffffffffffffffffff161461074b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161074290612292565b60405180910390fd5b80600c60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6107e061121b565b73ffffffffffffffffffffffffffffffffffffffff166107fe610a53565b73ffffffffffffffffffffffffffffffffffffffff1614610854576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161084b90612292565b60405180910390fd5b8060098190555050565b61086661121b565b73ffffffffffffffffffffffffffffffffffffffff16610884610a53565b73ffffffffffffffffffffffffffffffffffffffff16146108da576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108d190612292565b60405180910390fd5b6108e46000611701565b565b6108ee61121b565b73ffffffffffffffffffffffffffffffffffffffff1661090c610a53565b73ffffffffffffffffffffffffffffffffffffffff1614610962576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161095990612292565b60405180910390fd5b6012600a6109709190612185565b633b9aca0061097f91906121d0565b600481905550565b600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6109b561121b565b73ffffffffffffffffffffffffffffffffffffffff166109d3610a53565b73ffffffffffffffffffffffffffffffffffffffff1614610a29576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a2090612292565b60405180910390fd5b6001600c60146101000a81548160ff02191690831515021790555043600881905550565b60045481565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b610a8461121b565b73ffffffffffffffffffffffffffffffffffffffff16610aa2610a53565b73ffffffffffffffffffffffffffffffffffffffff1614610af8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610aef90612292565b60405180910390fd5b6000737a250d5630b4cf539739df2c5dacb4c659f2488d905080600a60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550610b9b30600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166012600a610b879190612185565b633b9aca00610b9691906121d0565b611223565b8073ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610be6573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c0a91906122c7565b73ffffffffffffffffffffffffffffffffffffffff1663c9c65396308373ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610c71573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c9591906122c7565b6040518363ffffffff1660e01b8152600401610cb29291906122f4565b6020604051808303816000875af1158015610cd1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610cf591906122c7565b600b60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d7194730610d7e3061078f565b600080610d89610a53565b426040518863ffffffff1660e01b8152600401610dab96959493929190612362565b60606040518083038185885af1158015610dc9573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610dee91906123d8565b505050600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b3600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b8152600401610e9092919061242b565b6020604051808303816000875af1158015610eaf573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ed39190612480565b5050565b610edf61121b565b73ffffffffffffffffffffffffffffffffffffffff16610efd610a53565b73ffffffffffffffffffffffffffffffffffffffff1614610f53576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f4a90612292565b60405180910390fd5b81600681905550806007819055505050565b60606040518060400160405280600481526020017f53494e4300000000000000000000000000000000000000000000000000000000815250905090565b6000610fb6610faf61121b565b84846113ec565b6001905092915050565b60075481565b610fce61121b565b73ffffffffffffffffffffffffffffffffffffffff16610fec610a53565b73ffffffffffffffffffffffffffffffffffffffff1614611042576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161103990612292565b60405180910390fd5b6001600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b61112c61121b565b73ffffffffffffffffffffffffffffffffffffffff1661114a610a53565b73ffffffffffffffffffffffffffffffffffffffff16146111a0576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161119790612292565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff160361120f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112069061251f565b60405180910390fd5b61121881611701565b50565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611292576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611289906125b1565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611301576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112f890612643565b60405180910390fd5b80600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516113df9190611e3e565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361145b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611452906126d5565b60405180910390fd5b600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16806114fc5750600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b1561150e5760006005819055506116f1565b600c60149054906101000a900460ff1661155d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161155490612741565b60405180910390fd5b6004548111156115a2576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611599906127ad565b60405180910390fd5b6009546008546115b291906127cd565b4310156115c65760636005819055506116f0565b600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611629576006546005819055506116ef565b600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036116e55760006116893061078f565b90506012600a6116999190612185565b62a7d8c06116a791906121d0565b8111156116cd576012600a6116bc9190612185565b62a7d8c06116ca91906121d0565b90505b6116d6816117c5565b600754600581905550506116ee565b60006005819055505b5b5b5b6116fc838383611a2a565b505050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b6000600267ffffffffffffffff8111156117e2576117e1612801565b5b6040519080825280602002602001820160405280156118105781602001602082028036833780820191505090505b509050308160008151811061182857611827612830565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156118cf573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118f391906122c7565b8160018151811061190757611906612830565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505061196e30600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684611223565b600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac94783600084600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16426040518663ffffffff1660e01b81526004016119f4959493929190612972565b600060405180830381600087803b158015611a0e57600080fd5b505af1158015611a22573d6000803e3d6000fd5b505050505050565b6000606460055483611a3c91906121d0565b611a4691906129fb565b905060008183611a569190612212565b905082600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611aa39190612212565b600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555080600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611b3191906127cd565b600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555081600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611bbf91906127cd565b600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051611c5f9190611e3e565b60405180910390a35050505050565b600081519050919050565b600082825260208201905092915050565b60005b83811015611ca8578082015181840152602081019050611c8d565b60008484015250505050565b6000601f19601f8301169050919050565b6000611cd082611c6e565b611cda8185611c79565b9350611cea818560208601611c8a565b611cf381611cb4565b840191505092915050565b60006020820190508181036000830152611d188184611cc5565b905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000611d5082611d25565b9050919050565b611d6081611d45565b8114611d6b57600080fd5b50565b600081359050611d7d81611d57565b92915050565b6000819050919050565b611d9681611d83565b8114611da157600080fd5b50565b600081359050611db381611d8d565b92915050565b60008060408385031215611dd057611dcf611d20565b5b6000611dde85828601611d6e565b9250506020611def85828601611da4565b9150509250929050565b60008115159050919050565b611e0e81611df9565b82525050565b6000602082019050611e296000830184611e05565b92915050565b611e3881611d83565b82525050565b6000602082019050611e536000830184611e2f565b92915050565b600080600060608486031215611e7257611e71611d20565b5b6000611e8086828701611d6e565b9350506020611e9186828701611d6e565b9250506040611ea286828701611da4565b9150509250925092565b600060ff82169050919050565b611ec281611eac565b82525050565b6000602082019050611edd6000830184611eb9565b92915050565b611eec81611d45565b82525050565b6000602082019050611f076000830184611ee3565b92915050565b600060208284031215611f2357611f22611d20565b5b6000611f3184828501611d6e565b91505092915050565b600060208284031215611f5057611f4f611d20565b5b6000611f5e84828501611da4565b91505092915050565b6000611f7282611d25565b9050919050565b611f8281611f67565b82525050565b6000602082019050611f9d6000830184611f79565b92915050565b60008060408385031215611fba57611fb9611d20565b5b6000611fc885828601611da4565b9250506020611fd985828601611da4565b9150509250929050565b60008060408385031215611ffa57611ff9611d20565b5b600061200885828601611d6e565b925050602061201985828601611d6e565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008160011c9050919050565b6000808291508390505b60018511156120a95780860481111561208557612084612023565b5b60018516156120945780820291505b80810290506120a285612052565b9450612069565b94509492505050565b6000826120c2576001905061217e565b816120d0576000905061217e565b81600181146120e657600281146120f05761211f565b600191505061217e565b60ff84111561210257612101612023565b5b8360020a91508482111561211957612118612023565b5b5061217e565b5060208310610133831016604e8410600b84101617156121545782820a90508381111561214f5761214e612023565b5b61217e565b612161848484600161205f565b9250905081840481111561217857612177612023565b5b81810290505b9392505050565b600061219082611d83565b915061219b83611eac565b92506121c87fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff84846120b2565b905092915050565b60006121db82611d83565b91506121e683611d83565b92508282026121f481611d83565b9150828204841483151761220b5761220a612023565b5b5092915050565b600061221d82611d83565b915061222883611d83565b92508282039050818111156122405761223f612023565b5b92915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b600061227c602083611c79565b915061228782612246565b602082019050919050565b600060208201905081810360008301526122ab8161226f565b9050919050565b6000815190506122c181611d57565b92915050565b6000602082840312156122dd576122dc611d20565b5b60006122eb848285016122b2565b91505092915050565b60006040820190506123096000830185611ee3565b6123166020830184611ee3565b9392505050565b6000819050919050565b6000819050919050565b600061234c6123476123428461231d565b612327565b611d83565b9050919050565b61235c81612331565b82525050565b600060c0820190506123776000830189611ee3565b6123846020830188611e2f565b6123916040830187612353565b61239e6060830186612353565b6123ab6080830185611ee3565b6123b860a0830184611e2f565b979650505050505050565b6000815190506123d281611d8d565b92915050565b6000806000606084860312156123f1576123f0611d20565b5b60006123ff868287016123c3565b9350506020612410868287016123c3565b9250506040612421868287016123c3565b9150509250925092565b60006040820190506124406000830185611ee3565b61244d6020830184611e2f565b9392505050565b61245d81611df9565b811461246857600080fd5b50565b60008151905061247a81612454565b92915050565b60006020828403121561249657612495611d20565b5b60006124a48482850161246b565b91505092915050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b6000612509602683611c79565b9150612514826124ad565b604082019050919050565b60006020820190508181036000830152612538816124fc565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b600061259b602483611c79565b91506125a68261253f565b604082019050919050565b600060208201905081810360008301526125ca8161258e565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b600061262d602283611c79565b9150612638826125d1565b604082019050919050565b6000602082019050818103600083015261265c81612620565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b60006126bf602583611c79565b91506126ca82612663565b604082019050919050565b600060208201905081810360008301526126ee816126b2565b9050919050565b7f576169742074696c6c206c61756e636800000000000000000000000000000000600082015250565b600061272b601083611c79565b9150612736826126f5565b602082019050919050565b6000602082019050818103600083015261275a8161271e565b9050919050565b7f4d6178205478416d6f756e74203225206174206c61756e636800000000000000600082015250565b6000612797601983611c79565b91506127a282612761565b602082019050919050565b600060208201905081810360008301526127c68161278a565b9050919050565b60006127d882611d83565b91506127e383611d83565b92508282019050808211156127fb576127fa612023565b5b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b61289481611d45565b82525050565b60006128a6838361288b565b60208301905092915050565b6000602082019050919050565b60006128ca8261285f565b6128d4818561286a565b93506128df8361287b565b8060005b838110156129105781516128f7888261289a565b9750612902836128b2565b9250506001810190506128e3565b5085935050505092915050565b600061293861293361292e84611d25565b612327565b611d25565b9050919050565b600061294a8261291d565b9050919050565b600061295c8261293f565b9050919050565b61296c81612951565b82525050565b600060a0820190506129876000830188611e2f565b6129946020830187612353565b81810360408301526129a681866128bf565b90506129b56060830185612963565b6129c26080830184611e2f565b9695505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000612a0682611d83565b9150612a1183611d83565b925082612a2157612a206129cc565b5b82820490509291505056fea2646970667358221220e69b0543492b450a675f31e8da9b8a1af0960969b24e1850364ac329bfb54a9c64736f6c63430008120033
Deployed Bytecode Sourcemap
19049:6455:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;20508:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;21342:160;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;20785:100;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;21510:264;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;20694:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;19878:28;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;19590:25;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;23359:135;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;20893:118;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;23100:96;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;12407:103;;;;;;;;;;;;;:::i;:::-;;23004:88;;;;;;;;;;;;;:::i;:::-;;19913:38;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;22125:113;;;;;;;;;;;;;:::i;:::-;;19518:36;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11756:87;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;22244:624;;;;;;;;;;;;;:::i;:::-;;23204:145;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;20599:87;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;21019:165;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;19622:26;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;22876:120;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;21192:142;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12665:201;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;20508:83;20545:13;20578:5;;;;;;;;;;;;;;;;;20571:12;;20508:83;:::o;21342:160::-;21417:4;21433:39;21442:12;:10;:12::i;:::-;21456:7;21465:6;21433:8;:39::i;:::-;21490:4;21483:11;;21342:160;;;;:::o;20785:100::-;20838:7;19375:2;19432;:13;;;;:::i;:::-;19424:5;:21;;;;:::i;:::-;20858:19;;20785:100;:::o;21510:264::-;21608:4;21625:36;21635:6;21643:9;21654:6;21625:9;:36::i;:::-;21672:72;21681:6;21688:12;:10;:12::i;:::-;21737:6;21701:11;:19;21713:6;21701:19;;;;;;;;;;;;;;;:33;21721:12;:10;:12::i;:::-;21701:33;;;;;;;;;;;;;;;;:42;;;;:::i;:::-;21672:8;:72::i;:::-;21762:4;21755:11;;21510:264;;;;;:::o;20694:83::-;20735:5;19375:2;20753:16;;20694:83;:::o;19878:28::-;;;;;;;;;;;;;:::o;19590:25::-;;;;:::o;23359:135::-;11987:12;:10;:12::i;:::-;11976:23;;:7;:5;:7::i;:::-;:23;;;11968:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;23469:16:::1;23443:15;;:43;;;;;;;;;;;;;;;;;;23359:135:::0;:::o;20893:118::-;20959:7;20986:8;:17;20995:7;20986:17;;;;;;;;;;;;;;;;20979:24;;20893:118;;;:::o;23100:96::-;11987:12;:10;:12::i;:::-;11976:23;;:7;:5;:7::i;:::-;:23;;;11968:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;23182:6:::1;23169:10;:19;;;;23100:96:::0;:::o;12407:103::-;11987:12;:10;:12::i;:::-;11976:23;;:7;:5;:7::i;:::-;:23;;;11968:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;12472:30:::1;12499:1;12472:18;:30::i;:::-;12407:103::o:0;23004:88::-;11987:12;:10;:12::i;:::-;11976:23;;:7;:5;:7::i;:::-;:23;;;11968:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;19375:2:::1;19432;:13;;;;:::i;:::-;19424:5;:21;;;;:::i;:::-;23058:11;:26;;;;23004:88::o:0;19913:38::-;;;;;;;;;;;;;:::o;22125:113::-;11987:12;:10;:12::i;:::-;11976:23;;:7;:5;:7::i;:::-;:23;;;11968:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;22189:4:::1;22180:6;;:13;;;;;;;;;;;;;;;;;;22218:12;22204:11;:26;;;;22125:113::o:0;19518:36::-;;;;:::o;11756:87::-;11802:7;11829:6;;;;;;;;;;;11822:13;;11756:87;:::o;22244:624::-;11987:12;:10;:12::i;:::-;11976:23;;:7;:5;:7::i;:::-;:23;;;11968:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;22287:35:::1;22344:42;22287:100;;22416:16;22398:15;;:34;;;;;;;;;;;;;;;;;;22437:63;22454:4;22469:15;;;;;;;;;;;19375:2;19432;:13;;;;:::i;:::-;19424:5;:21;;;;:::i;:::-;22437:8;:63::i;:::-;22539:16;:24;;;:26;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;22521:56;;;22586:4;22593:16;:21;;;:23;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;22521:96;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;22505:13;;:112;;;;;;;;;;;;;;;;;;22622:15;;;;;;;;;;;:31;;;22661:21;22697:4;22708:24;22726:4;22708:9;:24::i;:::-;22738:1;22745::::0;22752:7:::1;:5;:7::i;:::-;22765:15;22622:159;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;22799:13;;;;;;;;;;;22792:29;;;22830:15;;;;;;;;;;;22848:14;22792:71;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;22282:586;22244:624::o:0;23204:145::-;11987:12;:10;:12::i;:::-;11976:23;;:7;:5;:7::i;:::-;:23;;;11968:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;23301:9:::1;23292:6;:18;;;;23331:10;23321:7;:20;;;;23204:145:::0;;:::o;20599:87::-;20638:13;20671:7;;;;;;;;;;;;;;;;;20664:14;;20599:87;:::o;21019:165::-;21096:4;21112:42;21122:12;:10;:12::i;:::-;21136:9;21147:6;21112:9;:42::i;:::-;21172:4;21165:11;;21019:165;;;;:::o;19622:26::-;;;;:::o;22876:120::-;11987:12;:10;:12::i;:::-;11976:23;;:7;:5;:7::i;:::-;:23;;;11968:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;22984:4:::1;22949:24;:32;22974:6;22949:32;;;;;;;;;;;;;;;;:39;;;;;;;;;;;;;;;;;;22876:120:::0;:::o;21192:142::-;21273:7;21299:11;:18;21311:5;21299:18;;;;;;;;;;;;;;;:27;21318:7;21299:27;;;;;;;;;;;;;;;;21292:34;;21192:142;;;;:::o;12665:201::-;11987:12;:10;:12::i;:::-;11976:23;;:7;:5;:7::i;:::-;:23;;;11968:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;12774:1:::1;12754:22;;:8;:22;;::::0;12746:73:::1;;;;;;;;;;;;:::i;:::-;;;;;;;;;12830:28;12849:8;12830:18;:28::i;:::-;12665:201:::0;:::o;10484:98::-;10537:7;10564:10;10557:17;;10484:98;:::o;21782:335::-;21892:1;21875:19;;:5;:19;;;21867:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;21973:1;21954:21;;:7;:21;;;21946:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;22055:6;22025:11;:18;22037:5;22025:18;;;;;;;;;;;;;;;:27;22044:7;22025:27;;;;;;;;;;;;;;;:36;;;;22093:7;22077:32;;22086:5;22077:32;;;22102:6;22077:32;;;;;;:::i;:::-;;;;;;;;21782:335;;;:::o;23930:1055::-;24034:1;24018:18;;:4;:18;;;24010:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;24095:24;:30;24120:4;24095:30;;;;;;;;;;;;;;;;;;;;;;;;;:62;;;;24129:24;:28;24154:2;24129:28;;;;;;;;;;;;;;;;;;;;;;;;;24095:62;24091:844;;;24181:1;24174:4;:8;;;;24091:844;;;24223:6;;;;;;;;;;;24215:35;;;;;;;;;;;;:::i;:::-;;;;;;;;;24283:11;;24273:6;:21;;24265:59;;;;;;;;;;;;:::i;:::-;;;;;;;;;24372:10;;24358:11;;:24;;;;:::i;:::-;24343:12;:39;24339:585;;;24390:2;24385:4;:7;;;;24339:585;;;24431:13;;;;;;;;;;;24423:21;;:4;:21;;;24419:490;;24476:6;;24469:4;:13;;;;24419:490;;;24518:13;;;;;;;;;;;24512:19;;:2;:19;;;24508:401;;24556:20;24579:24;24597:4;24579:9;:24::i;:::-;24556:47;;19375:2;19498;:13;;;;:::i;:::-;19487:8;:24;;;;:::i;:::-;24634:12;:22;24630:109;;;19375:2;19498;:13;;;;:::i;:::-;19487:8;:24;;;;:::i;:::-;24689:22;;24630:109;24765:30;24782:12;24765:16;:30::i;:::-;24825:7;;24818:4;:14;;;;24533:319;24508:401;;;24888:1;24881:4;:8;;;;24508:401;24419:490;24339:585;24091:844;24945:32;24960:4;24966:2;24970:6;24945:14;:32::i;:::-;23930:1055;;;:::o;13026:191::-;13100:16;13119:6;;;;;;;;;;;13100:25;;13145:8;13136:6;;:17;;;;;;;;;;;;;;;;;;13200:8;13169:40;;13190:8;13169:40;;;;;;;;;;;;13089:128;13026:191;:::o;24993:473::-;25059:21;25097:1;25083:16;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;25059:40;;25128:4;25110;25115:1;25110:7;;;;;;;;:::i;:::-;;;;;;;:23;;;;;;;;;;;25154:15;;;;;;;;;;;:20;;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;25144:4;25149:1;25144:7;;;;;;;;:::i;:::-;;;;;;;:32;;;;;;;;;;;25187:62;25204:4;25219:15;;;;;;;;;;;25237:11;25187:8;:62::i;:::-;25260:15;;;;;;;;;;;:66;;;25341:11;25367:1;25383:4;25402:15;;;;;;;;;;;25432;25260:198;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;25048:418;24993:473;:::o;23502:420::-;23587:17;23625:3;23617:4;;23608:6;:13;;;;:::i;:::-;23607:21;;;;:::i;:::-;23587:41;;23639:22;23673:9;23664:6;:18;;;;:::i;:::-;23639:43;;23729:6;23712:8;:14;23721:4;23712:14;;;;;;;;;;;;;;;;:23;;;;:::i;:::-;23695:8;:14;23704:4;23695:14;;;;;;;;;;;;;;;:40;;;;23776:14;23761:8;:12;23770:2;23761:12;;;;;;;;;;;;;;;;:29;;;;:::i;:::-;23746:8;:12;23755:2;23746:12;;;;;;;;;;;;;;;:44;;;;23853:9;23827:8;:23;23844:4;23827:23;;;;;;;;;;;;;;;;:35;;;;:::i;:::-;23801:8;:23;23818:4;23801:23;;;;;;;;;;;;;;;:61;;;;23895:2;23880:34;;23889:4;23880:34;;;23899:14;23880:34;;;;;;:::i;:::-;;;;;;;;23576:346;;23502:420;;;:::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:619::-;3875:6;3883;3891;3940:2;3928:9;3919:7;3915:23;3911:32;3908:119;;;3946:79;;:::i;:::-;3908:119;4066:1;4091:53;4136:7;4127:6;4116:9;4112:22;4091:53;:::i;:::-;4081:63;;4037:117;4193:2;4219:53;4264:7;4255:6;4244:9;4240:22;4219:53;:::i;:::-;4209:63;;4164:118;4321:2;4347:53;4392:7;4383:6;4372:9;4368:22;4347:53;:::i;:::-;4337:63;;4292:118;3798:619;;;;;:::o;4423:86::-;4458:7;4498:4;4491:5;4487:16;4476:27;;4423:86;;;:::o;4515:112::-;4598:22;4614:5;4598:22;:::i;:::-;4593:3;4586:35;4515:112;;:::o;4633:214::-;4722:4;4760:2;4749:9;4745:18;4737:26;;4773:67;4837:1;4826:9;4822:17;4813:6;4773:67;:::i;:::-;4633:214;;;;:::o;4853:118::-;4940:24;4958:5;4940:24;:::i;:::-;4935:3;4928:37;4853:118;;:::o;4977:222::-;5070:4;5108:2;5097:9;5093:18;5085:26;;5121:71;5189:1;5178:9;5174:17;5165:6;5121:71;:::i;:::-;4977:222;;;;:::o;5205:329::-;5264:6;5313:2;5301:9;5292:7;5288:23;5284:32;5281:119;;;5319:79;;:::i;:::-;5281:119;5439:1;5464:53;5509:7;5500:6;5489:9;5485:22;5464:53;:::i;:::-;5454:63;;5410:117;5205:329;;;;:::o;5540:::-;5599:6;5648:2;5636:9;5627:7;5623:23;5619:32;5616:119;;;5654:79;;:::i;:::-;5616:119;5774:1;5799:53;5844:7;5835:6;5824:9;5820:22;5799:53;:::i;:::-;5789:63;;5745:117;5540:329;;;;:::o;5875:104::-;5920:7;5949:24;5967:5;5949:24;:::i;:::-;5938:35;;5875:104;;;:::o;5985:142::-;6088:32;6114:5;6088:32;:::i;:::-;6083:3;6076:45;5985:142;;:::o;6133:254::-;6242:4;6280:2;6269:9;6265:18;6257:26;;6293:87;6377:1;6366:9;6362:17;6353:6;6293:87;:::i;:::-;6133:254;;;;:::o;6393:474::-;6461:6;6469;6518:2;6506:9;6497:7;6493:23;6489:32;6486:119;;;6524:79;;:::i;:::-;6486:119;6644:1;6669:53;6714:7;6705:6;6694:9;6690:22;6669:53;:::i;:::-;6659:63;;6615:117;6771:2;6797:53;6842:7;6833:6;6822:9;6818:22;6797:53;:::i;:::-;6787:63;;6742:118;6393:474;;;;;:::o;6873:::-;6941:6;6949;6998:2;6986:9;6977:7;6973:23;6969:32;6966:119;;;7004:79;;:::i;:::-;6966:119;7124:1;7149:53;7194:7;7185:6;7174:9;7170:22;7149:53;:::i;:::-;7139:63;;7095:117;7251:2;7277:53;7322:7;7313:6;7302:9;7298:22;7277:53;:::i;:::-;7267:63;;7222:118;6873:474;;;;;:::o;7353:180::-;7401:77;7398:1;7391:88;7498:4;7495:1;7488:15;7522:4;7519:1;7512:15;7539:102;7581:8;7628:5;7625:1;7621:13;7600:34;;7539:102;;;:::o;7647:848::-;7708:5;7715:4;7739:6;7730:15;;7763:5;7754:14;;7777:712;7798:1;7788:8;7785:15;7777:712;;;7893:4;7888:3;7884:14;7878:4;7875:24;7872:50;;;7902:18;;:::i;:::-;7872:50;7952:1;7942:8;7938:16;7935:451;;;8367:4;8360:5;8356:16;8347:25;;7935:451;8417:4;8411;8407:15;8399:23;;8447:32;8470:8;8447:32;:::i;:::-;8435:44;;7777:712;;;7647:848;;;;;;;:::o;8501:1073::-;8555:5;8746:8;8736:40;;8767:1;8758:10;;8769:5;;8736:40;8795:4;8785:36;;8812:1;8803:10;;8814:5;;8785:36;8881:4;8929:1;8924:27;;;;8965:1;8960:191;;;;8874:277;;8924:27;8942:1;8933:10;;8944:5;;;8960:191;9005:3;8995:8;8992:17;8989:43;;;9012:18;;:::i;:::-;8989:43;9061:8;9058:1;9054:16;9045:25;;9096:3;9089:5;9086:14;9083:40;;;9103:18;;:::i;:::-;9083:40;9136:5;;;8874:277;;9260:2;9250:8;9247:16;9241:3;9235:4;9232:13;9228:36;9210:2;9200:8;9197:16;9192:2;9186:4;9183:12;9179:35;9163:111;9160:246;;;9316:8;9310:4;9306:19;9297:28;;9351:3;9344:5;9341:14;9338:40;;;9358:18;;:::i;:::-;9338:40;9391:5;;9160:246;9431:42;9469:3;9459:8;9453:4;9450:1;9431:42;:::i;:::-;9416:57;;;;9505:4;9500:3;9496:14;9489:5;9486:25;9483:51;;;9514:18;;:::i;:::-;9483:51;9563:4;9556:5;9552:16;9543:25;;8501:1073;;;;;;:::o;9580:281::-;9638:5;9662:23;9680:4;9662:23;:::i;:::-;9654:31;;9706:25;9722:8;9706:25;:::i;:::-;9694:37;;9750:104;9787:66;9777:8;9771:4;9750:104;:::i;:::-;9741:113;;9580:281;;;;:::o;9867:410::-;9907:7;9930:20;9948:1;9930:20;:::i;:::-;9925:25;;9964:20;9982:1;9964:20;:::i;:::-;9959:25;;10019:1;10016;10012:9;10041:30;10059:11;10041:30;:::i;:::-;10030:41;;10220:1;10211:7;10207:15;10204:1;10201:22;10181:1;10174:9;10154:83;10131:139;;10250:18;;:::i;:::-;10131:139;9915:362;9867:410;;;;:::o;10283:194::-;10323:4;10343:20;10361:1;10343:20;:::i;:::-;10338:25;;10377:20;10395:1;10377:20;:::i;:::-;10372:25;;10421:1;10418;10414:9;10406:17;;10445:1;10439:4;10436:11;10433:37;;;10450:18;;:::i;:::-;10433:37;10283:194;;;;:::o;10483:182::-;10623:34;10619:1;10611:6;10607:14;10600:58;10483:182;:::o;10671:366::-;10813:3;10834:67;10898:2;10893:3;10834:67;:::i;:::-;10827:74;;10910:93;10999:3;10910:93;:::i;:::-;11028:2;11023:3;11019:12;11012:19;;10671:366;;;:::o;11043:419::-;11209:4;11247:2;11236:9;11232:18;11224:26;;11296:9;11290:4;11286:20;11282:1;11271:9;11267:17;11260:47;11324:131;11450:4;11324:131;:::i;:::-;11316:139;;11043:419;;;:::o;11468:143::-;11525:5;11556:6;11550:13;11541:22;;11572:33;11599:5;11572:33;:::i;:::-;11468:143;;;;:::o;11617:351::-;11687:6;11736:2;11724:9;11715:7;11711:23;11707:32;11704:119;;;11742:79;;:::i;:::-;11704:119;11862:1;11887:64;11943:7;11934:6;11923:9;11919:22;11887:64;:::i;:::-;11877:74;;11833:128;11617:351;;;;:::o;11974:332::-;12095:4;12133:2;12122:9;12118:18;12110:26;;12146:71;12214:1;12203:9;12199:17;12190:6;12146:71;:::i;:::-;12227:72;12295:2;12284:9;12280:18;12271:6;12227:72;:::i;:::-;11974:332;;;;;:::o;12312:85::-;12357:7;12386:5;12375:16;;12312:85;;;:::o;12403:60::-;12431:3;12452:5;12445:12;;12403:60;;;:::o;12469:158::-;12527:9;12560:61;12578:42;12587:32;12613:5;12587:32;:::i;:::-;12578:42;:::i;:::-;12560:61;:::i;:::-;12547:74;;12469:158;;;:::o;12633:147::-;12728:45;12767:5;12728:45;:::i;:::-;12723:3;12716:58;12633:147;;:::o;12786:807::-;13035:4;13073:3;13062:9;13058:19;13050:27;;13087:71;13155:1;13144:9;13140:17;13131:6;13087:71;:::i;:::-;13168:72;13236:2;13225:9;13221:18;13212:6;13168:72;:::i;:::-;13250:80;13326:2;13315:9;13311:18;13302:6;13250:80;:::i;:::-;13340;13416:2;13405:9;13401:18;13392:6;13340:80;:::i;:::-;13430:73;13498:3;13487:9;13483:19;13474:6;13430:73;:::i;:::-;13513;13581:3;13570:9;13566:19;13557:6;13513:73;:::i;:::-;12786:807;;;;;;;;;:::o;13599:143::-;13656:5;13687:6;13681:13;13672:22;;13703:33;13730:5;13703:33;:::i;:::-;13599:143;;;;:::o;13748:663::-;13836:6;13844;13852;13901:2;13889:9;13880:7;13876:23;13872:32;13869:119;;;13907:79;;:::i;:::-;13869:119;14027:1;14052:64;14108:7;14099:6;14088:9;14084:22;14052:64;:::i;:::-;14042:74;;13998:128;14165:2;14191:64;14247:7;14238:6;14227:9;14223:22;14191:64;:::i;:::-;14181:74;;14136:129;14304:2;14330:64;14386:7;14377:6;14366:9;14362:22;14330:64;:::i;:::-;14320:74;;14275:129;13748:663;;;;;:::o;14417:332::-;14538:4;14576:2;14565:9;14561:18;14553:26;;14589:71;14657:1;14646:9;14642:17;14633:6;14589:71;:::i;:::-;14670:72;14738:2;14727:9;14723:18;14714:6;14670:72;:::i;:::-;14417:332;;;;;:::o;14755:116::-;14825:21;14840:5;14825:21;:::i;:::-;14818:5;14815:32;14805:60;;14861:1;14858;14851:12;14805:60;14755:116;:::o;14877:137::-;14931:5;14962:6;14956:13;14947:22;;14978:30;15002:5;14978:30;:::i;:::-;14877:137;;;;:::o;15020:345::-;15087:6;15136:2;15124:9;15115:7;15111:23;15107:32;15104:119;;;15142:79;;:::i;:::-;15104:119;15262:1;15287:61;15340:7;15331:6;15320:9;15316:22;15287:61;:::i;:::-;15277:71;;15233:125;15020:345;;;;:::o;15371:225::-;15511:34;15507:1;15499:6;15495:14;15488:58;15580:8;15575:2;15567:6;15563:15;15556:33;15371:225;:::o;15602:366::-;15744:3;15765:67;15829:2;15824:3;15765:67;:::i;:::-;15758:74;;15841:93;15930:3;15841:93;:::i;:::-;15959:2;15954:3;15950:12;15943:19;;15602:366;;;:::o;15974:419::-;16140:4;16178:2;16167:9;16163:18;16155:26;;16227:9;16221:4;16217:20;16213:1;16202:9;16198:17;16191:47;16255:131;16381:4;16255:131;:::i;:::-;16247:139;;15974:419;;;:::o;16399:223::-;16539:34;16535:1;16527:6;16523:14;16516:58;16608:6;16603:2;16595:6;16591:15;16584:31;16399:223;:::o;16628:366::-;16770:3;16791:67;16855:2;16850:3;16791:67;:::i;:::-;16784:74;;16867:93;16956:3;16867:93;:::i;:::-;16985:2;16980:3;16976:12;16969:19;;16628:366;;;:::o;17000:419::-;17166:4;17204:2;17193:9;17189:18;17181:26;;17253:9;17247:4;17243:20;17239:1;17228:9;17224:17;17217:47;17281:131;17407:4;17281:131;:::i;:::-;17273:139;;17000:419;;;:::o;17425:221::-;17565:34;17561:1;17553:6;17549:14;17542:58;17634:4;17629:2;17621:6;17617:15;17610:29;17425:221;:::o;17652:366::-;17794:3;17815:67;17879:2;17874:3;17815:67;:::i;:::-;17808:74;;17891:93;17980:3;17891:93;:::i;:::-;18009:2;18004:3;18000:12;17993:19;;17652:366;;;:::o;18024:419::-;18190:4;18228:2;18217:9;18213:18;18205:26;;18277:9;18271:4;18267:20;18263:1;18252:9;18248:17;18241:47;18305:131;18431:4;18305:131;:::i;:::-;18297:139;;18024:419;;;:::o;18449:224::-;18589:34;18585:1;18577:6;18573:14;18566:58;18658:7;18653:2;18645:6;18641:15;18634:32;18449:224;:::o;18679:366::-;18821:3;18842:67;18906:2;18901:3;18842:67;:::i;:::-;18835:74;;18918:93;19007:3;18918:93;:::i;:::-;19036:2;19031:3;19027:12;19020:19;;18679:366;;;:::o;19051:419::-;19217:4;19255:2;19244:9;19240:18;19232:26;;19304:9;19298:4;19294:20;19290:1;19279:9;19275:17;19268:47;19332:131;19458:4;19332:131;:::i;:::-;19324:139;;19051:419;;;:::o;19476:166::-;19616:18;19612:1;19604:6;19600:14;19593:42;19476:166;:::o;19648:366::-;19790:3;19811:67;19875:2;19870:3;19811:67;:::i;:::-;19804:74;;19887:93;19976:3;19887:93;:::i;:::-;20005:2;20000:3;19996:12;19989:19;;19648:366;;;:::o;20020:419::-;20186:4;20224:2;20213:9;20209:18;20201:26;;20273:9;20267:4;20263:20;20259:1;20248:9;20244:17;20237:47;20301:131;20427:4;20301:131;:::i;:::-;20293:139;;20020:419;;;:::o;20445:175::-;20585:27;20581:1;20573:6;20569:14;20562:51;20445:175;:::o;20626:366::-;20768:3;20789:67;20853:2;20848:3;20789:67;:::i;:::-;20782:74;;20865:93;20954:3;20865:93;:::i;:::-;20983:2;20978:3;20974:12;20967:19;;20626:366;;;:::o;20998:419::-;21164:4;21202:2;21191:9;21187:18;21179:26;;21251:9;21245:4;21241:20;21237:1;21226:9;21222:17;21215:47;21279:131;21405:4;21279:131;:::i;:::-;21271:139;;20998:419;;;:::o;21423:191::-;21463:3;21482:20;21500:1;21482:20;:::i;:::-;21477:25;;21516:20;21534:1;21516:20;:::i;:::-;21511:25;;21559:1;21556;21552:9;21545:16;;21580:3;21577:1;21574:10;21571:36;;;21587:18;;:::i;:::-;21571:36;21423:191;;;;:::o;21620:180::-;21668:77;21665:1;21658:88;21765:4;21762:1;21755:15;21789:4;21786:1;21779:15;21806:180;21854:77;21851:1;21844:88;21951:4;21948:1;21941:15;21975:4;21972:1;21965:15;21992:114;22059:6;22093:5;22087:12;22077:22;;21992:114;;;:::o;22112:184::-;22211:11;22245:6;22240:3;22233:19;22285:4;22280:3;22276:14;22261:29;;22112:184;;;;:::o;22302:132::-;22369:4;22392:3;22384:11;;22422:4;22417:3;22413:14;22405:22;;22302:132;;;:::o;22440:108::-;22517:24;22535:5;22517:24;:::i;:::-;22512:3;22505:37;22440:108;;:::o;22554:179::-;22623:10;22644:46;22686:3;22678:6;22644:46;:::i;:::-;22722:4;22717:3;22713:14;22699:28;;22554:179;;;;:::o;22739:113::-;22809:4;22841;22836:3;22832:14;22824:22;;22739:113;;;:::o;22888:732::-;23007:3;23036:54;23084:5;23036:54;:::i;:::-;23106:86;23185:6;23180:3;23106:86;:::i;:::-;23099:93;;23216:56;23266:5;23216:56;:::i;:::-;23295:7;23326:1;23311:284;23336:6;23333:1;23330:13;23311:284;;;23412:6;23406:13;23439:63;23498:3;23483:13;23439:63;:::i;:::-;23432:70;;23525:60;23578:6;23525:60;:::i;:::-;23515:70;;23371:224;23358:1;23355;23351:9;23346:14;;23311:284;;;23315:14;23611:3;23604:10;;23012:608;;;22888:732;;;;:::o;23626:142::-;23676:9;23709:53;23727:34;23736:24;23754:5;23736:24;:::i;:::-;23727:34;:::i;:::-;23709:53;:::i;:::-;23696:66;;23626:142;;;:::o;23774:126::-;23824:9;23857:37;23888:5;23857:37;:::i;:::-;23844:50;;23774:126;;;:::o;23906:134::-;23964:9;23997:37;24028:5;23997:37;:::i;:::-;23984:50;;23906:134;;;:::o;24046:147::-;24141:45;24180:5;24141:45;:::i;:::-;24136:3;24129:58;24046:147;;:::o;24199:847::-;24470:4;24508:3;24497:9;24493:19;24485:27;;24522:71;24590:1;24579:9;24575:17;24566:6;24522:71;:::i;:::-;24603:80;24679:2;24668:9;24664:18;24655:6;24603:80;:::i;:::-;24730:9;24724:4;24720:20;24715:2;24704:9;24700:18;24693:48;24758:108;24861:4;24852:6;24758:108;:::i;:::-;24750:116;;24876:80;24952:2;24941:9;24937:18;24928:6;24876:80;:::i;:::-;24966:73;25034:3;25023:9;25019:19;25010:6;24966:73;:::i;:::-;24199:847;;;;;;;;:::o;25052:180::-;25100:77;25097:1;25090:88;25197:4;25194:1;25187:15;25221:4;25218:1;25211:15;25238:185;25278:1;25295:20;25313:1;25295:20;:::i;:::-;25290:25;;25329:20;25347:1;25329:20;:::i;:::-;25324:25;;25368:1;25358:35;;25373:18;;:::i;:::-;25358:35;25415:1;25412;25408:9;25403:14;;25238:185;;;;:::o
Swarm Source
ipfs://e69b0543492b450a675f31e8da9b8a1af0960969b24e1850364ac329bfb54a9c
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.