Feature Tip: Add private address tag to any address under My Name Tag !
ERC-20
Overview
Max Total Supply
50,000,000,000 MERICA
Holders
66
Market
Onchain Market Cap
$0.00
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 18 Decimals)
Balance
475,000,000 MERICAValue
$0.00Loading...
Loading
Loading...
Loading
Loading...
Loading
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|
Contract Source Code Verified (Exact Match)
Contract Name:
MER
Compiler Version
v0.8.19+commit.7dd6d404
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2024-07-30 */ // SPDX-License-Identifier: MIT /************************************** Website: Merica-trump.com Twitter: https://x.com/mericaeth/ Telegram: https://t.me/mericatokeneth **************************************/ pragma solidity 0.8.19; abstract contract Context { function _msgSender() internal view virtual returns (address) { return msg.sender; } function _msgData() internal view virtual returns (bytes calldata) { this; // silence state mutability warning without generating bytecode - see https://github.com/ethereum/solidity/issues/2691 return msg.data; } } interface IERC20 { /** * @dev Returns the amount of tokens in existence. */ function totalSupply() external view returns (uint256); /** * @dev Returns the amount of tokens owned by `account`. */ function balanceOf(address account) external view returns (uint256); /** * @dev Moves `amount` tokens from the caller's account to `recipient`. * * Returns a boolean value indicating whether the operation succeeded. * * Emits a {Transfer} event. */ function transfer(address recipient, uint256 amount) external returns (bool); /** * @dev Returns the remaining number of tokens that `spender` will be * allowed to spend on behalf of `owner` through {transferFrom}. This is * zero by default. * * This value changes when {approve} or {transferFrom} are called. */ function allowance(address owner, address spender) external view returns (uint256); /** * @dev Sets `amount` as the allowance of `spender` over the caller's tokens. * * Returns a boolean value indicating whether the operation succeeded. * * IMPORTANT: Beware that changing an allowance with this method brings the risk * that someone may use both the old and the new allowance by unfortunate * transaction ordering. One possible solution to mitigate this race * condition is to first reduce the spender's allowance to 0 and set the * desired value afterwards: * https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729 * * Emits an {Approval} event. */ function approve(address spender, uint256 amount) external returns (bool); /** * @dev Moves `amount` tokens from `sender` to `recipient` using the * allowance mechanism. `amount` is then deducted from the caller's * allowance. * * Returns a boolean value indicating whether the operation succeeded. * * Emits a {Transfer} event. */ function transferFrom( address sender, address recipient, uint256 amount ) external returns (bool); /** * @dev Emitted when `value` tokens are moved from one account (`from`) to * another (`to`). * * Note that `value` may be zero. */ event Transfer(address indexed from, address indexed to, uint256 value); /** * @dev Emitted when the allowance of a `spender` for an `owner` is set by * a call to {approve}. `value` is the new allowance. */ event Approval( address indexed owner, address indexed spender, uint256 value ); } interface IERC20Metadata is IERC20 { /** * @dev Returns the name of the token. */ function name() external view returns (string memory); /** * @dev Returns the symbol of the token. */ function symbol() external view returns (string memory); /** * @dev Returns the decimals places of the token. */ function decimals() external view returns (uint8); } contract ERC20 is Context, IERC20, IERC20Metadata { mapping(address => uint256) private _balances; mapping(address => mapping(address => uint256)) private _allowances; uint256 private _totalSupply; string private _name; string private _symbol; 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 18; } 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 recipient, uint256 amount) public virtual override returns (bool) { _transfer(_msgSender(), recipient, 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) { _approve(_msgSender(), spender, amount); return true; } function transferFrom( address sender, address recipient, uint256 amount ) public virtual override returns (bool) { _transfer(sender, recipient, amount); uint256 currentAllowance = _allowances[sender][_msgSender()]; require( currentAllowance >= amount, "ERC20: transfer amount exceeds allowance" ); unchecked { _approve(sender, _msgSender(), currentAllowance - amount); } return true; } function increaseAllowance(address spender, uint256 addedValue) public virtual returns (bool) { _approve( _msgSender(), spender, _allowances[_msgSender()][spender] + addedValue ); return true; } function decreaseAllowance(address spender, uint256 subtractedValue) public virtual returns (bool) { uint256 currentAllowance = _allowances[_msgSender()][spender]; require( currentAllowance >= subtractedValue, "ERC20: decreased allowance below zero" ); unchecked { _approve(_msgSender(), spender, currentAllowance - subtractedValue); } return true; } function _transfer( address sender, address recipient, uint256 amount ) internal virtual { require(sender != address(0), "ERC20: transfer from the zero address"); require(recipient != address(0), "ERC20: transfer to the zero address"); uint256 senderBalance = _balances[sender]; require( senderBalance >= amount, "ERC20: transfer amount exceeds balance" ); unchecked { _balances[sender] = senderBalance - amount; } _balances[recipient] += amount; emit Transfer(sender, recipient, amount); } function _createInitialSupply(address account, uint256 amount) internal virtual { require(account != address(0), "ERC20: mint to the zero address"); _totalSupply += amount; _balances[account] += amount; emit Transfer(address(0), account, 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); } } contract Ownable is Context { address private _owner; event OwnershipTransferred( address indexed previousOwner, address indexed newOwner ); constructor() { address msgSender = _msgSender(); _owner = msgSender; emit OwnershipTransferred(address(0), msgSender); } function owner() public view returns (address) { return _owner; } modifier onlyOwner() { require(_owner == _msgSender(), "Ownable: caller is not the owner"); _; } function renounceOwnership(bool confirmRenounce) external virtual onlyOwner { require(confirmRenounce, "Please confirm renounce!"); emit OwnershipTransferred(_owner, address(0)); _owner = address(0); } function transferOwnership(address newOwner) public virtual onlyOwner { require( newOwner != address(0), "Ownable: new owner is the zero address" ); emit OwnershipTransferred(_owner, newOwner); _owner = newOwner; } } interface ILpPair { function sync() external; } interface IDexRouter { function factory() external pure returns (address); function WETH() external pure returns (address); function swapExactTokensForETHSupportingFeeOnTransferTokens( uint256 amountIn, uint256 amountOutMin, address[] calldata path, address to, uint256 deadline ) external; function swapExactETHForTokensSupportingFeeOnTransferTokens( uint256 amountOutMin, address[] calldata path, address to, uint256 deadline ) external payable; function addLiquidityETH( address token, uint256 amountTokenDesired, uint256 amountTokenMin, uint256 amountETHMin, address to, uint256 deadline ) external payable returns ( uint256 amountToken, uint256 amountETH, uint256 liquidity ); function getAmountsOut(uint256 amountIn, address[] calldata path) external view returns (uint256[] memory amounts); function removeLiquidityETH( address token, uint256 liquidity, uint256 amountTokenMin, uint256 amountETHMin, address to, uint256 deadline ) external returns (uint256 amountToken, uint256 amountETH); } interface IDexFactory { function createPair(address tokenA, address tokenB) external returns (address pair); } contract MER is ERC20, Ownable { uint256 public maxBuyAmount; uint256 public maxSellAmount; uint256 public maxWallet; IDexRouter public dexRouter; address public lpPair; bool private swapping; uint256 public swapTokensAtAmount; address public operationsAddress; uint256 public tradingActiveBlock = 0; mapping(address => bool) public markedAsSniper; bool public limitsInEffect = true; bool public tradingActive = false; bool public swapEnabled = false; uint256 public buyTotalFees; uint256 public buyOperationsFee; uint256 public sellTotalFees; uint256 public sellOperationsFee; uint256 public tokensForOperations; bool public oncePerBlockEnabled = false; uint256 public lastSwapBlock; uint256 public maxSwapsPerBlock = 1; uint256 public swapsThisBlock = 0; mapping(address => bool) private _isExcludedFromFees; mapping(address => bool) public _isExcludedMaxTransactionAmount; mapping(address => bool) public automatedMarketMakerPairs; event SetAutomatedMarketMakerPair(address indexed pair, bool indexed value); event EnabledTrading(); event ExcludeFromFees(address indexed account, bool isExcluded); event UpdatedOperationsAddress(address indexed newWallet); event MaxTransactionExclusion(address _address, bool excluded); event OwnerForcedSwapBack(uint256 timestamp); event CaughtEarlyBuyer(address sniper); event SwapAndLiquify( uint256 tokensSwapped, uint256 ethReceived, uint256 tokensIntoLiquidity ); event TransferForeignToken(address token, uint256 amount); constructor() payable ERC20("Captain America", "MERICA") { address newOwner = msg.sender; uint256 totalSupply = 50 * 1e9 * 1e18; buyOperationsFee = 30; buyTotalFees = buyOperationsFee; sellOperationsFee = 30; sellTotalFees = sellOperationsFee; maxBuyAmount = (totalSupply * 15) / 1000; // 1.5% maxSellAmount = (totalSupply * 15) / 1000; // 1.5% maxWallet = (totalSupply * 15) / 1000; // 1.5% swapTokensAtAmount = (totalSupply * 5) / 10000; // 0.05 % operationsAddress = address(0xc4817b9936027AC79D0572205d45147CAa0F55fF); _excludeFromMaxTransaction(newOwner, true); _excludeFromMaxTransaction(address(this), true); _excludeFromMaxTransaction(address(0xdead), true); _excludeFromMaxTransaction(address(operationsAddress), true); excludeFromFees(newOwner, true); excludeFromFees(address(this), true); excludeFromFees(address(0xdead), true); excludeFromFees(address(operationsAddress), true); _createInitialSupply(address(this), totalSupply); transferOwnership(newOwner); } receive() external payable {} function _excludeFromMaxTransaction( address updAds, bool isExcluded ) private { _isExcludedMaxTransactionAmount[updAds] = isExcluded; emit MaxTransactionExclusion(updAds, isExcluded); } function excludeFromMaxTransaction( address updAds, bool isEx ) external onlyOwner { if (!isEx) { require( updAds != lpPair, "Cannot remove uniswap pair from max txn" ); } _isExcludedMaxTransactionAmount[updAds] = isEx; } function _setAutomatedMarketMakerPair(address pair, bool value) private { automatedMarketMakerPairs[pair] = value; _excludeFromMaxTransaction(pair, value); emit SetAutomatedMarketMakerPair(pair, value); } function setAutomatedMarketMakerPair( address pair, bool value ) external onlyOwner { require( pair != lpPair, "The pair cannot be removed from automatedMarketMakerPairs" ); _setAutomatedMarketMakerPair(pair, value); emit SetAutomatedMarketMakerPair(pair, value); } function updateBuyTax( uint256 _operationsFee ) external onlyOwner { buyOperationsFee = _operationsFee; buyTotalFees = buyOperationsFee; require(buyTotalFees <= 12, "Must keep fees at 12% or less"); } function updateSellTax( uint256 _operationsFee ) external onlyOwner { sellOperationsFee = _operationsFee; sellTotalFees = sellOperationsFee; require(sellTotalFees <= 20, "Must keep fees at 20% or less"); } function updateSwapTokensAtAmount(uint256 newAmount) external onlyOwner { require( newAmount >= (totalSupply() * 1) / 100000, "Swap amount cannot be lower than 0.001% total supply." ); require( newAmount <= (totalSupply() * 1) / 100, "Swap amount cannot be higher than 1% total supply." ); swapTokensAtAmount = newAmount; } function excludeFromFees(address account, bool excluded) public onlyOwner { _isExcludedFromFees[account] = excluded; emit ExcludeFromFees(account, excluded); } 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"); require(amount > 0, "amount must be greater than 0"); if (!tradingActive) { require( _isExcludedFromFees[from] || _isExcludedFromFees[to], "Trading is not active." ); } else { require( !markedAsSniper[from], "Snipers cannot transfer tokens" ); } if (limitsInEffect) { if (to != address(0xdead) && !_isExcludedFromFees[from] && !_isExcludedFromFees[to] ) { //when buy if ( automatedMarketMakerPairs[from] && !_isExcludedMaxTransactionAmount[to] ) { require( amount <= maxBuyAmount, "Buy transfer amount exceeds the max buy." ); require( amount + balanceOf(to) <= maxWallet, "Max Wallet Exceeded" ); } //when sell else if ( automatedMarketMakerPairs[to] && !_isExcludedMaxTransactionAmount[from] ) { require( amount <= maxSellAmount, "Sell transfer amount exceeds the max sell." ); } else if (!_isExcludedMaxTransactionAmount[to]) { require( amount + balanceOf(to) <= maxWallet, "Max Wallet Exceeded" ); } } } uint256 contractTokenBalance = balanceOf(address(this)); bool canSwap = contractTokenBalance >= swapTokensAtAmount; if ( canSwap && swapEnabled && !swapping && automatedMarketMakerPairs[to] ) { swapping = true; swapBack(false); swapping = false; } bool takeFee = true; // if any account belongs to _isExcludedFromFee account then remove the fee if (_isExcludedFromFees[from] || _isExcludedFromFees[to]) { takeFee = false; } uint256 fees = 0; // only take fees on buys/sells, do not take on wallet transfers if (takeFee) { // on sell if (automatedMarketMakerPairs[to] && sellTotalFees > 0) { fees = (amount * sellTotalFees) / 100; tokensForOperations += (fees * sellOperationsFee) / sellTotalFees; } // on buy else if (automatedMarketMakerPairs[from] && buyTotalFees > 0) { fees = (amount * buyTotalFees) / 100; tokensForOperations += (fees * buyOperationsFee) / buyTotalFees; } if (fees > 0) { super._transfer(from, address(this), fees); } amount -= fees; } super._transfer(from, to, amount); } function swapTokensForEth(uint256 tokenAmount) private { // generate the uniswap pair path of token -> weth address[] memory path = new address[](2); path[0] = address(this); path[1] = dexRouter.WETH(); _approve(address(this), address(dexRouter), tokenAmount); // make the swap dexRouter.swapExactTokensForETHSupportingFeeOnTransferTokens( tokenAmount, 0, // accept any amount of ETH path, address(this), block.timestamp ); } function swapBack(bool all) private { if (block.number != lastSwapBlock) { lastSwapBlock = block.number; swapsThisBlock = 0; } if (oncePerBlockEnabled && swapsThisBlock >= maxSwapsPerBlock) { return; } uint256 contractBalance = balanceOf(address(this)); uint256 totalTokensToSwap = tokensForOperations; if (contractBalance == 0 || totalTokensToSwap == 0) { return; } if (!all && (contractBalance > swapTokensAtAmount * 15)) { contractBalance = swapTokensAtAmount * 15; } swapTokensForEth(contractBalance); tokensForOperations = 0; swapsThisBlock += 1; (bool success, ) = address(operationsAddress).call{ value: address(this).balance }(""); require(success, "Transfer to operations address failed"); } function transferForeignToken( address _token, address _to ) external onlyOwner returns (bool _sent) { require(_token != address(0), "_token address cannot be 0"); require( _token != address(this) || !tradingActive, "Can't withdraw native tokens while trading is active" ); uint256 _contractBalance = IERC20(_token).balanceOf(address(this)); _sent = IERC20(_token).transfer(_to, _contractBalance); emit TransferForeignToken(_token, _contractBalance); } function setOperationsAddress( address _operationsAddress ) external onlyOwner { require( _operationsAddress != address(0), "_operationsAddress address cannot be 0" ); operationsAddress = payable(_operationsAddress); emit UpdatedOperationsAddress(_operationsAddress); } function removeLimits() external onlyOwner { limitsInEffect = false; } function flagSniper(address wallet) external onlyOwner { require(!markedAsSniper[wallet], "Wallet is already flagged."); markedAsSniper[wallet] = true; } function unflagSniper(address wallet) external onlyOwner { require(markedAsSniper[wallet], "Wallet is already not marked."); markedAsSniper[wallet] = false; } function recoverETH() external onlyOwner { bool success; (success, ) = address(msg.sender).call{value: address(this).balance}( "" ); } function prepLaunch() external onlyOwner { require(!tradingActive, "Trading is already active, cannot relaunch."); address _dexRouter; if (block.chainid == 1) { _dexRouter = 0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D; // ETH: Uniswap V2 } else if (block.chainid == 11155111) { _dexRouter = 0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D; // ETH: Sepolia } else if (block.chainid == 56) { _dexRouter = 0x10ED43C718714eb63d5aA57B78B54704E256024E; // BNB Chain: PCS V2 } else if (block.chainid == 97) { _dexRouter = 0xD99D1c33F9fC3444f8101754aBC46c52416550D1; // BNB Chain: PCS V2 } else if (block.chainid == 42161) { _dexRouter = 0x1b02dA8Cb0d097eB8D57A175b88c7D8b47997506; // Arbitrum: SushiSwap } else { revert("Chain not configured"); } // initialize router dexRouter = IDexRouter(_dexRouter); // create pair lpPair = IDexFactory(dexRouter.factory()).createPair( address(this), dexRouter.WETH() ); _excludeFromMaxTransaction(address(lpPair), true); _setAutomatedMarketMakerPair(address(lpPair), true); _excludeFromMaxTransaction(address(dexRouter), true); excludeFromFees(address(dexRouter), true); require( address(this).balance > 0, "Must have ETH on contract to launch" ); require( balanceOf(address(this)) > 0, "Must have Tokens on contract to launch" ); _approve(address(this), address(dexRouter), balanceOf(address(this))); dexRouter.addLiquidityETH{value: address(this).balance}( address(this), balanceOf(address(this)), 0, // slippage is unavoidable 0, // slippage is unavoidable msg.sender, block.timestamp ); } function enableTrading() external onlyOwner { require(!tradingActive, "Cannot reenable trading"); tradingActive = true; swapEnabled = true; tradingActiveBlock = block.number; emit EnabledTrading(); } function setSwapRestrictions(bool _enabled, uint256 _maxSwaps) external onlyOwner { require(_maxSwaps > 0, "Max swaps per block must be greater than 0"); oncePerBlockEnabled = _enabled; maxSwapsPerBlock = _maxSwaps; } function forceSwapBack(bool all) external onlyOwner { require( balanceOf(address(this)) >= swapTokensAtAmount, "Can only swap when token amount is at or higher than restriction" ); swapping = true; swapBack(all); swapping = false; emit OwnerForcedSwapBack(block.timestamp); } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[],"stateMutability":"payable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"sniper","type":"address"}],"name":"CaughtEarlyBuyer","type":"event"},{"anonymous":false,"inputs":[],"name":"EnabledTrading","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":false,"internalType":"address","name":"_address","type":"address"},{"indexed":false,"internalType":"bool","name":"excluded","type":"bool"}],"name":"MaxTransactionExclusion","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"timestamp","type":"uint256"}],"name":"OwnerForcedSwapBack","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":false,"internalType":"uint256","name":"tokensSwapped","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"ethReceived","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"tokensIntoLiquidity","type":"uint256"}],"name":"SwapAndLiquify","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"token","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"TransferForeignToken","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"newWallet","type":"address"}],"name":"UpdatedOperationsAddress","type":"event"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"_isExcludedMaxTransactionAmount","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"automatedMarketMakerPairs","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"buyOperationsFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"buyTotalFees","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":[],"name":"dexRouter","outputs":[{"internalType":"contract IDexRouter","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"enableTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"bool","name":"excluded","type":"bool"}],"name":"excludeFromFees","outputs":[],"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":"wallet","type":"address"}],"name":"flagSniper","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"all","type":"bool"}],"name":"forceSwapBack","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":"lastSwapBlock","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"limitsInEffect","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"lpPair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"markedAsSniper","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxBuyAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxSellAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxSwapsPerBlock","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":"oncePerBlockEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"operationsAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"prepLaunch","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"recoverETH","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"removeLimits","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"confirmRenounce","type":"bool"}],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"sellOperationsFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"sellTotalFees","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":"address","name":"_operationsAddress","type":"address"}],"name":"setOperationsAddress","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"_enabled","type":"bool"},{"internalType":"uint256","name":"_maxSwaps","type":"uint256"}],"name":"setSwapRestrictions","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":"swapsThisBlock","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":"tokensForOperations","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"tradingActive","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"tradingActiveBlock","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_token","type":"address"},{"internalType":"address","name":"_to","type":"address"}],"name":"transferForeignToken","outputs":[{"internalType":"bool","name":"_sent","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"wallet","type":"address"}],"name":"unflagSniper","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_operationsFee","type":"uint256"}],"name":"updateBuyTax","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_operationsFee","type":"uint256"}],"name":"updateSellTax","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newAmount","type":"uint256"}],"name":"updateSwapTokensAtAmount","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]
Contract Creation Code
6000600d819055600f805462ffffff1916600190811782556015805460ff1916905560175560189190915560809081526e4361707461696e20416d657269636160881b60a052610100604052600660c0908152654d455249434160d01b60e05260036200006d8382620005d1565b5060046200007c8282620005d1565b5050506000620000916200023560201b60201c565b600580546001600160a01b0319166001600160a01b0383169081179091556040519192509060009060008051602062003670833981519152908290a350601e601181905560108190556013819055601255336ba18f07d736b90be5500000006103e86200010082600f620006b3565b6200010c9190620006d3565b6006556103e86200011f82600f620006b3565b6200012b9190620006d3565b6007556103e86200013e82600f620006b3565b6200014a9190620006d3565b6008556127106200015d826005620006b3565b620001699190620006d3565b600b55600c80546001600160a01b03191673c4817b9936027ac79d0572205d45147caa0f55ff1790556200019f82600162000239565b620001ac30600162000239565b620001bb61dead600162000239565b600c54620001d4906001600160a01b0316600162000239565b620001e18260016200029c565b620001ee3060016200029c565b620001fd61dead60016200029c565b600c5462000216906001600160a01b031660016200029c565b6200022230826200034a565b6200022d826200042f565b50506200070c565b3390565b6001600160a01b0382166000818152601a6020908152604091829020805460ff19168515159081179091558251938452908301527f6b4f1be9103e6cbcd38ca4a922334f2c3109b260130a6676a987f94088fd6746910160405180910390a15050565b6005546001600160a01b03163314620002eb5760405162461bcd60e51b815260206004820181905260248201526000805160206200365083398151915260448201526064015b60405180910390fd5b6001600160a01b038216600081815260196020908152604091829020805460ff191685151590811790915591519182527f9d8f7706ea1113d1a167b526eca956215946dd36cc7df39eb16180222d8b5df7910160405180910390a25050565b6001600160a01b038216620003a25760405162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f2061646472657373006044820152606401620002e2565b8060026000828254620003b69190620006f6565b90915550506001600160a01b03821660009081526020819052604081208054839290620003e5908490620006f6565b90915550506040518181526001600160a01b038316906000907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a35050565b6005546001600160a01b031633146200047a5760405162461bcd60e51b81526020600482018190526024820152600080516020620036508339815191526044820152606401620002e2565b6001600160a01b038116620004e15760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401620002e2565b6005546040516001600160a01b038084169216906000805160206200367083398151915290600090a3600580546001600160a01b0319166001600160a01b0392909216919091179055565b634e487b7160e01b600052604160045260246000fd5b600181811c908216806200055757607f821691505b6020821081036200057857634e487b7160e01b600052602260045260246000fd5b50919050565b601f821115620005cc57600081815260208120601f850160051c81016020861015620005a75750805b601f850160051c820191505b81811015620005c857828155600101620005b3565b5050505b505050565b81516001600160401b03811115620005ed57620005ed6200052c565b6200060581620005fe845462000542565b846200057e565b602080601f8311600181146200063d5760008415620006245750858301515b600019600386901b1c1916600185901b178555620005c8565b600085815260208120601f198616915b828110156200066e578886015182559484019460019091019084016200064d565b50858210156200068d5787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b634e487b7160e01b600052601160045260246000fd5b8082028115828204841417620006cd57620006cd6200069d565b92915050565b600082620006f157634e487b7160e01b600052601260045260246000fd5b500490565b80820180821115620006cd57620006cd6200069d565b612f34806200071c6000396000f3fe60806040526004361061031e5760003560e01c80637e926b4b116101ab578063c44a24dd116100f7578063e2f4560511610095578063f2fde38b1161006f578063f2fde38b14610927578063f8b45b0514610947578063fb002c971461095d578063ff5d38071461097357600080fd5b8063e2f45605146108db578063ea4cfe12146108f1578063ee40166e1461091157600080fd5b8063d257b34f116100d1578063d257b34f1461083f578063d85ba0631461085f578063d86c9fec14610875578063dd62ed3e1461089557600080fd5b8063c44a24dd146107df578063c4c6571b1461080f578063cef3f8861461082557600080fd5b80639679266911610164578063a9059cbb1161013e578063a9059cbb14610750578063b62496f514610770578063bbc0c742146107a0578063c0246668146107bf57600080fd5b806396792669146106fa5780639a7a23d614610710578063a457c2d71461073057600080fd5b80637e926b4b1461065c5780638366e79a1461067c57806388e765ff1461069c5780638a8c523c146106b25780638da5cb5b146106c757806395d89b41146106e557600080fd5b8063499b83941161026a57806366d602ae116102235780636ddd1713116101fd5780636ddd1713146105e757806370a0823114610607578063751039fc146106275780637571336a1461063c57600080fd5b806366d602ae1461059b578063672fc7be146105b15780636a486a8e146105d157600080fd5b8063499b8394146104ff5780634a62bb651461051f5780634f77f6c01461053957806357bd8bb31461054f578063591f09eb1461056f5780635a139dd41461058557600080fd5b806318160ddd116102d7578063313ce567116102b1578063313ce56714610483578063395093511461049f578063436d3340146104bf578063452ed4f1146104df57600080fd5b806318160ddd146104245780631b1b6f741461044357806323b872dd1461046357600080fd5b80630614117a1461032a57806306fdde03146103415780630758d9241461036c578063095ea7b3146103a457806310d5de53146103d457806312185a391461040457600080fd5b3661032557005b600080fd5b34801561033657600080fd5b5061033f610988565b005b34801561034d57600080fd5b50610356610a08565b6040516103639190612acd565b60405180910390f35b34801561037857600080fd5b5060095461038c906001600160a01b031681565b6040516001600160a01b039091168152602001610363565b3480156103b057600080fd5b506103c46103bf366004612b30565b610a9a565b6040519015158152602001610363565b3480156103e057600080fd5b506103c46103ef366004612b5c565b601a6020526000908152604090205460ff1681565b34801561041057600080fd5b5061033f61041f366004612b80565b610ab1565b34801561043057600080fd5b506002545b604051908152602001610363565b34801561044f57600080fd5b5061033f61045e366004612ba7565b610b39565b34801561046f57600080fd5b506103c461047e366004612bc4565b610c44565b34801561048f57600080fd5b5060405160128152602001610363565b3480156104ab57600080fd5b506103c46104ba366004612b30565b610cee565b3480156104cb57600080fd5b5061033f6104da366004612b80565b610d2a565b3480156104eb57600080fd5b50600a5461038c906001600160a01b031681565b34801561050b57600080fd5b5061033f61051a366004612b5c565b610daf565b34801561052b57600080fd5b50600f546103c49060ff1681565b34801561054557600080fd5b5061043560135481565b34801561055b57600080fd5b5061033f61056a366004612b5c565b610e88565b34801561057b57600080fd5b5061043560165481565b34801561059157600080fd5b5061043560115481565b3480156105a757600080fd5b5061043560075481565b3480156105bd57600080fd5b5061033f6105cc366004612c05565b610f3f565b3480156105dd57600080fd5b5061043560125481565b3480156105f357600080fd5b50600f546103c49062010000900460ff1681565b34801561061357600080fd5b50610435610622366004612b5c565b610fe3565b34801561063357600080fd5b5061033f610ffe565b34801561064857600080fd5b5061033f610657366004612c23565b611034565b34801561066857600080fd5b5061033f610677366004612ba7565b6110fc565b34801561068857600080fd5b506103c4610697366004612c5c565b6111be565b3480156106a857600080fd5b5061043560065481565b3480156106be57600080fd5b5061033f6113f8565b3480156106d357600080fd5b506005546001600160a01b031661038c565b3480156106f157600080fd5b506103566114ba565b34801561070657600080fd5b5061043560175481565b34801561071c57600080fd5b5061033f61072b366004612c23565b6114c9565b34801561073c57600080fd5b506103c461074b366004612b30565b6115bd565b34801561075c57600080fd5b506103c461076b366004612b30565b611656565b34801561077c57600080fd5b506103c461078b366004612b5c565b601b6020526000908152604090205460ff1681565b3480156107ac57600080fd5b50600f546103c490610100900460ff1681565b3480156107cb57600080fd5b5061033f6107da366004612c23565b611663565b3480156107eb57600080fd5b506103c46107fa366004612b5c565b600e6020526000908152604090205460ff1681565b34801561081b57600080fd5b5061043560185481565b34801561083157600080fd5b506015546103c49060ff1681565b34801561084b57600080fd5b5061033f61085a366004612b80565b6116ec565b34801561086b57600080fd5b5061043560105481565b34801561088157600080fd5b5061033f610890366004612b5c565b611834565b3480156108a157600080fd5b506104356108b0366004612c5c565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b3480156108e757600080fd5b50610435600b5481565b3480156108fd57600080fd5b50600c5461038c906001600160a01b031681565b34801561091d57600080fd5b50610435600d5481565b34801561093357600080fd5b5061033f610942366004612b5c565b6118e7565b34801561095357600080fd5b5061043560085481565b34801561096957600080fd5b5061043560145481565b34801561097f57600080fd5b5061033f6119d2565b6005546001600160a01b031633146109bb5760405162461bcd60e51b81526004016109b290612c8a565b60405180910390fd5b604051600090339047908381818185875af1925050503d80600081146109fd576040519150601f19603f3d011682016040523d82523d6000602084013e610a02565b606091505b50505050565b606060038054610a1790612cbf565b80601f0160208091040260200160405190810160405280929190818152602001828054610a4390612cbf565b8015610a905780601f10610a6557610100808354040283529160200191610a90565b820191906000526020600020905b815481529060010190602001808311610a7357829003601f168201915b5050505050905090565b6000610aa7338484611ec1565b5060015b92915050565b6005546001600160a01b03163314610adb5760405162461bcd60e51b81526004016109b290612c8a565b601381905560128190556014811115610b365760405162461bcd60e51b815260206004820152601d60248201527f4d757374206b656570206665657320617420323025206f72206c65737300000060448201526064016109b2565b50565b6005546001600160a01b03163314610b635760405162461bcd60e51b81526004016109b290612c8a565b600b54610b6f30610fe3565b1015610be5576040805162461bcd60e51b81526020600482015260248101919091527f43616e206f6e6c792073776170207768656e20746f6b656e20616d6f756e742060448201527f6973206174206f7220686967686572207468616e207265737472696374696f6e60648201526084016109b2565b600a805460ff60a01b1916600160a01b179055610c0181611fe5565b600a805460ff60a01b191690556040514281527f1b56c383f4f48fc992e45667ea4eabae777b9cca68b516a9562d8cda78f1bb329060200160405180910390a150565b6000610c51848484612146565b6001600160a01b038416600090815260016020908152604080832033845290915290205482811015610cd65760405162461bcd60e51b815260206004820152602860248201527f45524332303a207472616e7366657220616d6f756e74206578636565647320616044820152676c6c6f77616e636560c01b60648201526084016109b2565b610ce38533858403611ec1565b506001949350505050565b3360008181526001602090815260408083206001600160a01b03871684529091528120549091610aa7918590610d25908690612d0f565b611ec1565b6005546001600160a01b03163314610d545760405162461bcd60e51b81526004016109b290612c8a565b60118190556010819055600c811115610b365760405162461bcd60e51b815260206004820152601d60248201527f4d757374206b656570206665657320617420313225206f72206c65737300000060448201526064016109b2565b6005546001600160a01b03163314610dd95760405162461bcd60e51b81526004016109b290612c8a565b6001600160a01b038116610e3e5760405162461bcd60e51b815260206004820152602660248201527f5f6f7065726174696f6e734164647265737320616464726573732063616e6e6f60448201526507420626520360d41b60648201526084016109b2565b600c80546001600160a01b0319166001600160a01b0383169081179091556040517f4efa56652237561d0f1fd31311aeaaa41f3b754a461545ed3cf6ced5876d298290600090a250565b6005546001600160a01b03163314610eb25760405162461bcd60e51b81526004016109b290612c8a565b6001600160a01b0381166000908152600e602052604090205460ff1615610f1b5760405162461bcd60e51b815260206004820152601a60248201527f57616c6c657420697320616c726561647920666c61676765642e00000000000060448201526064016109b2565b6001600160a01b03166000908152600e60205260409020805460ff19166001179055565b6005546001600160a01b03163314610f695760405162461bcd60e51b81526004016109b290612c8a565b60008111610fcc5760405162461bcd60e51b815260206004820152602a60248201527f4d61782073776170732070657220626c6f636b206d75737420626520677265616044820152690746572207468616e20360b41b60648201526084016109b2565b6015805460ff191692151592909217909155601755565b6001600160a01b031660009081526020819052604090205490565b6005546001600160a01b031633146110285760405162461bcd60e51b81526004016109b290612c8a565b600f805460ff19169055565b6005546001600160a01b0316331461105e5760405162461bcd60e51b81526004016109b290612c8a565b806110d157600a546001600160a01b03908116908316036110d15760405162461bcd60e51b815260206004820152602760248201527f43616e6e6f742072656d6f766520756e697377617020706169722066726f6d2060448201526636b0bc103a3c3760c91b60648201526084016109b2565b6001600160a01b03919091166000908152601a60205260409020805460ff1916911515919091179055565b6005546001600160a01b031633146111265760405162461bcd60e51b81526004016109b290612c8a565b806111735760405162461bcd60e51b815260206004820152601860248201527f506c6561736520636f6e6669726d2072656e6f756e636521000000000000000060448201526064016109b2565b6005546040516000916001600160a01b0316907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a350600580546001600160a01b0319169055565b6005546000906001600160a01b031633146111eb5760405162461bcd60e51b81526004016109b290612c8a565b6001600160a01b0383166112415760405162461bcd60e51b815260206004820152601a60248201527f5f746f6b656e20616464726573732063616e6e6f74206265203000000000000060448201526064016109b2565b6001600160a01b038316301415806112615750600f54610100900460ff16155b6112ca5760405162461bcd60e51b815260206004820152603460248201527f43616e2774207769746864726177206e617469766520746f6b656e73207768696044820152736c652074726164696e672069732061637469766560601b60648201526084016109b2565b6040516370a0823160e01b81523060048201526000906001600160a01b038516906370a0823190602401602060405180830381865afa158015611311573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113359190612d22565b60405163a9059cbb60e01b81526001600160a01b038581166004830152602482018390529192509085169063a9059cbb906044016020604051808303816000875af1158015611388573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113ac9190612d3b565b604080516001600160a01b0387168152602081018490529193507fdeda980967fcead7b61e78ac46a4da14274af29e894d4d61e8b81ec38ab3e438910160405180910390a15092915050565b6005546001600160a01b031633146114225760405162461bcd60e51b81526004016109b290612c8a565b600f54610100900460ff161561147a5760405162461bcd60e51b815260206004820152601760248201527f43616e6e6f74207265656e61626c652074726164696e6700000000000000000060448201526064016109b2565b600f805462ffff0019166201010017905543600d556040517fa56feb2d31b9a7424db0be063fd450863979c9e2382cf5110f869bd1ad361bb790600090a1565b606060048054610a1790612cbf565b6005546001600160a01b031633146114f35760405162461bcd60e51b81526004016109b290612c8a565b600a546001600160a01b03908116908316036115775760405162461bcd60e51b815260206004820152603960248201527f54686520706169722063616e6e6f742062652072656d6f7665642066726f6d2060448201527f6175746f6d617465644d61726b65744d616b657250616972730000000000000060648201526084016109b2565b6115818282612791565b604051811515906001600160a01b038416907fffa9187bf1f18bf477bd0ea1bcbb64e93b6a98132473929edfce215cd9b16fab90600090a35050565b3360009081526001602090815260408083206001600160a01b03861684529091528120548281101561163f5760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b60648201526084016109b2565b61164c3385858403611ec1565b5060019392505050565b6000610aa7338484612146565b6005546001600160a01b0316331461168d5760405162461bcd60e51b81526004016109b290612c8a565b6001600160a01b038216600081815260196020908152604091829020805460ff191685151590811790915591519182527f9d8f7706ea1113d1a167b526eca956215946dd36cc7df39eb16180222d8b5df7910160405180910390a25050565b6005546001600160a01b031633146117165760405162461bcd60e51b81526004016109b290612c8a565b620186a061172360025490565b61172e906001612d58565b6117389190612d6f565b8110156117a55760405162461bcd60e51b815260206004820152603560248201527f5377617020616d6f756e742063616e6e6f74206265206c6f776572207468616e60448201527410181718181892903a37ba30b61039bab838363c9760591b60648201526084016109b2565b60646117b060025490565b6117bb906001612d58565b6117c59190612d6f565b81111561182f5760405162461bcd60e51b815260206004820152603260248201527f5377617020616d6f756e742063616e6e6f74206265206869676865722074686160448201527137101892903a37ba30b61039bab838363c9760711b60648201526084016109b2565b600b55565b6005546001600160a01b0316331461185e5760405162461bcd60e51b81526004016109b290612c8a565b6001600160a01b0381166000908152600e602052604090205460ff166118c65760405162461bcd60e51b815260206004820152601d60248201527f57616c6c657420697320616c7265616479206e6f74206d61726b65642e00000060448201526064016109b2565b6001600160a01b03166000908152600e60205260409020805460ff19169055565b6005546001600160a01b031633146119115760405162461bcd60e51b81526004016109b290612c8a565b6001600160a01b0381166119765760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016109b2565b6005546040516001600160a01b038084169216907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a3600580546001600160a01b0319166001600160a01b0392909216919091179055565b6005546001600160a01b031633146119fc5760405162461bcd60e51b81526004016109b290612c8a565b600f54610100900460ff1615611a685760405162461bcd60e51b815260206004820152602b60248201527f54726164696e6720697320616c7265616479206163746976652c2063616e6e6f60448201526a3a103932b630bab731b41760a91b60648201526084016109b2565b600046600103611a8d5750737a250d5630b4cf539739df2c5dacb4c659f2488d611b5b565b4662aa36a703611ab25750737a250d5630b4cf539739df2c5dacb4c659f2488d611b5b565b46603803611ad557507310ed43c718714eb63d5aa57b78b54704e256024e611b5b565b46606103611af8575073d99d1c33f9fc3444f8101754abc46c52416550d1611b5b565b4661a4b103611b1c5750731b02da8cb0d097eb8d57a175b88c7d8b47997506611b5b565b60405162461bcd60e51b815260206004820152601460248201527310da185a5b881b9bdd0818dbdb999a59dd5c995960621b60448201526064016109b2565b600980546001600160a01b0319166001600160a01b0383169081179091556040805163c45a015560e01b8152905163c45a0155916004808201926020929091908290030181865afa158015611bb4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611bd89190612d91565b6001600160a01b031663c9c6539630600960009054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611c3a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611c5e9190612d91565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af1158015611cab573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611ccf9190612d91565b600a80546001600160a01b0319166001600160a01b03929092169182179055611cf99060016127bb565b600a54611d10906001600160a01b03166001612791565b600954611d27906001600160a01b031660016127bb565b600954611d3e906001600160a01b03166001611663565b60004711611d9a5760405162461bcd60e51b815260206004820152602360248201527f4d757374206861766520455448206f6e20636f6e747261637420746f206c61756044820152620dcc6d60eb1b60648201526084016109b2565b6000611da530610fe3565b11611e015760405162461bcd60e51b815260206004820152602660248201527f4d757374206861766520546f6b656e73206f6e20636f6e747261637420746f206044820152650d8c2eadcc6d60d31b60648201526084016109b2565b600954611e1c9030906001600160a01b0316610d2582610fe3565b6009546001600160a01b031663f305d7194730611e3881610fe3565b6040516001600160e01b031960e086901b1681526001600160a01b039092166004830152602482015260006044820181905260648201523360848201524260a482015260c40160606040518083038185885af1158015611e9c573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610a029190612dae565b6001600160a01b038316611f235760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016109b2565b6001600160a01b038216611f845760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016109b2565b6001600160a01b0383811660008181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6016544314611ff8574360165560006018555b60155460ff16801561200e575060175460185410155b156120165750565b600061202130610fe3565b601454909150811580612032575080155b1561203c57505050565b821580156120565750600b5461205390600f612d58565b82115b1561206c57600b5461206990600f612d58565b91505b6120758261281e565b60006014819055506001601860008282546120909190612d0f565b9091555050600c546040516000916001600160a01b03169047908381818185875af1925050503d80600081146120e2576040519150601f19603f3d011682016040523d82523d6000602084013e6120e7565b606091505b5050905080610a025760405162461bcd60e51b815260206004820152602560248201527f5472616e7366657220746f206f7065726174696f6e7320616464726573732066604482015264185a5b195960da1b60648201526084016109b2565b6001600160a01b03831661216c5760405162461bcd60e51b81526004016109b290612ddc565b6001600160a01b0382166121925760405162461bcd60e51b81526004016109b290612e21565b600081116121e25760405162461bcd60e51b815260206004820152601d60248201527f616d6f756e74206d7573742062652067726561746572207468616e203000000060448201526064016109b2565b600f54610100900460ff1661227a576001600160a01b03831660009081526019602052604090205460ff168061223057506001600160a01b03821660009081526019602052604090205460ff165b6122755760405162461bcd60e51b81526020600482015260166024820152752a3930b234b7339034b9903737ba1030b1ba34bb329760511b60448201526064016109b2565b6122e3565b6001600160a01b0383166000908152600e602052604090205460ff16156122e35760405162461bcd60e51b815260206004820152601e60248201527f536e69706572732063616e6e6f74207472616e7366657220746f6b656e73000060448201526064016109b2565b600f5460ff1615612579576001600160a01b03821661dead1480159061232257506001600160a01b03831660009081526019602052604090205460ff16155b801561234757506001600160a01b03821660009081526019602052604090205460ff16155b15612579576001600160a01b0383166000908152601b602052604090205460ff16801561238d57506001600160a01b0382166000908152601a602052604090205460ff16155b15612454576006548111156123f55760405162461bcd60e51b815260206004820152602860248201527f427579207472616e7366657220616d6f756e742065786365656473207468652060448201526736b0bc10313abc9760c11b60648201526084016109b2565b60085461240183610fe3565b61240b9083612d0f565b111561244f5760405162461bcd60e51b815260206004820152601360248201527213585e0815d85b1b195d08115e18d959591959606a1b60448201526064016109b2565b612579565b6001600160a01b0382166000908152601b602052604090205460ff16801561249557506001600160a01b0383166000908152601a602052604090205460ff16155b156124ff5760075481111561244f5760405162461bcd60e51b815260206004820152602a60248201527f53656c6c207472616e7366657220616d6f756e742065786365656473207468656044820152691036b0bc1039b2b6361760b11b60648201526084016109b2565b6001600160a01b0382166000908152601a602052604090205460ff166125795760085461252b83610fe3565b6125359083612d0f565b11156125795760405162461bcd60e51b815260206004820152601360248201527213585e0815d85b1b195d08115e18d959591959606a1b60448201526064016109b2565b600061258430610fe3565b600b54909150811080159081906125a35750600f5462010000900460ff165b80156125b95750600a54600160a01b900460ff16155b80156125dd57506001600160a01b0384166000908152601b602052604090205460ff165b1561260d57600a805460ff60a01b1916600160a01b1790556125ff6000611fe5565b600a805460ff60a01b191690555b6001600160a01b03851660009081526019602052604090205460019060ff168061264f57506001600160a01b03851660009081526019602052604090205460ff165b15612658575060005b6000811561277d576001600160a01b0386166000908152601b602052604090205460ff16801561268a57506000601254115b156126e25760646012548661269f9190612d58565b6126a99190612d6f565b9050601254601354826126bc9190612d58565b6126c69190612d6f565b601460008282546126d79190612d0f565b9091555061275f9050565b6001600160a01b0387166000908152601b602052604090205460ff16801561270c57506000601054115b1561275f576064601054866127219190612d58565b61272b9190612d6f565b90506010546011548261273e9190612d58565b6127489190612d6f565b601460008282546127599190612d0f565b90915550505b801561277057612770873083612978565b61277a8186612e64565b94505b612788878787612978565b50505050505050565b6001600160a01b0382166000908152601b60205260409020805460ff191682151517905561158182825b6001600160a01b0382166000818152601a6020908152604091829020805460ff19168515159081179091558251938452908301527f6b4f1be9103e6cbcd38ca4a922334f2c3109b260130a6676a987f94088fd6746910160405180910390a15050565b604080516002808252606082018352600092602083019080368337019050509050308160008151811061285357612853612e77565b6001600160a01b03928316602091820292909201810191909152600954604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa1580156128ac573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906128d09190612d91565b816001815181106128e3576128e3612e77565b6001600160a01b0392831660209182029290920101526009546129099130911684611ec1565b60095460405163791ac94760e01b81526001600160a01b039091169063791ac94790612942908590600090869030904290600401612e8d565b600060405180830381600087803b15801561295c57600080fd5b505af1158015612970573d6000803e3d6000fd5b505050505050565b6001600160a01b03831661299e5760405162461bcd60e51b81526004016109b290612ddc565b6001600160a01b0382166129c45760405162461bcd60e51b81526004016109b290612e21565b6001600160a01b03831660009081526020819052604090205481811015612a3c5760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b60648201526084016109b2565b6001600160a01b03808516600090815260208190526040808220858503905591851681529081208054849290612a73908490612d0f565b92505081905550826001600160a01b0316846001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051612abf91815260200190565b60405180910390a350505050565b600060208083528351808285015260005b81811015612afa57858101830151858201604001528201612ade565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b0381168114610b3657600080fd5b60008060408385031215612b4357600080fd5b8235612b4e81612b1b565b946020939093013593505050565b600060208284031215612b6e57600080fd5b8135612b7981612b1b565b9392505050565b600060208284031215612b9257600080fd5b5035919050565b8015158114610b3657600080fd5b600060208284031215612bb957600080fd5b8135612b7981612b99565b600080600060608486031215612bd957600080fd5b8335612be481612b1b565b92506020840135612bf481612b1b565b929592945050506040919091013590565b60008060408385031215612c1857600080fd5b8235612b4e81612b99565b60008060408385031215612c3657600080fd5b8235612c4181612b1b565b91506020830135612c5181612b99565b809150509250929050565b60008060408385031215612c6f57600080fd5b8235612c7a81612b1b565b91506020830135612c5181612b1b565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b600181811c90821680612cd357607f821691505b602082108103612cf357634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052601160045260246000fd5b80820180821115610aab57610aab612cf9565b600060208284031215612d3457600080fd5b5051919050565b600060208284031215612d4d57600080fd5b8151612b7981612b99565b8082028115828204841417610aab57610aab612cf9565b600082612d8c57634e487b7160e01b600052601260045260246000fd5b500490565b600060208284031215612da357600080fd5b8151612b7981612b1b565b600080600060608486031215612dc357600080fd5b8351925060208401519150604084015190509250925092565b60208082526025908201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604082015264647265737360d81b606082015260800190565b60208082526023908201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260408201526265737360e81b606082015260800190565b81810381811115610aab57610aab612cf9565b634e487b7160e01b600052603260045260246000fd5b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b81811015612edd5784516001600160a01b031683529383019391830191600101612eb8565b50506001600160a01b0396909616606085015250505060800152939250505056fea2646970667358221220b1a44661b255c35967cbe782306c2c2cddcf27a5141e06db4937d57734b0bc4d64736f6c634300081300334f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65728be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0
Deployed Bytecode
0x60806040526004361061031e5760003560e01c80637e926b4b116101ab578063c44a24dd116100f7578063e2f4560511610095578063f2fde38b1161006f578063f2fde38b14610927578063f8b45b0514610947578063fb002c971461095d578063ff5d38071461097357600080fd5b8063e2f45605146108db578063ea4cfe12146108f1578063ee40166e1461091157600080fd5b8063d257b34f116100d1578063d257b34f1461083f578063d85ba0631461085f578063d86c9fec14610875578063dd62ed3e1461089557600080fd5b8063c44a24dd146107df578063c4c6571b1461080f578063cef3f8861461082557600080fd5b80639679266911610164578063a9059cbb1161013e578063a9059cbb14610750578063b62496f514610770578063bbc0c742146107a0578063c0246668146107bf57600080fd5b806396792669146106fa5780639a7a23d614610710578063a457c2d71461073057600080fd5b80637e926b4b1461065c5780638366e79a1461067c57806388e765ff1461069c5780638a8c523c146106b25780638da5cb5b146106c757806395d89b41146106e557600080fd5b8063499b83941161026a57806366d602ae116102235780636ddd1713116101fd5780636ddd1713146105e757806370a0823114610607578063751039fc146106275780637571336a1461063c57600080fd5b806366d602ae1461059b578063672fc7be146105b15780636a486a8e146105d157600080fd5b8063499b8394146104ff5780634a62bb651461051f5780634f77f6c01461053957806357bd8bb31461054f578063591f09eb1461056f5780635a139dd41461058557600080fd5b806318160ddd116102d7578063313ce567116102b1578063313ce56714610483578063395093511461049f578063436d3340146104bf578063452ed4f1146104df57600080fd5b806318160ddd146104245780631b1b6f741461044357806323b872dd1461046357600080fd5b80630614117a1461032a57806306fdde03146103415780630758d9241461036c578063095ea7b3146103a457806310d5de53146103d457806312185a391461040457600080fd5b3661032557005b600080fd5b34801561033657600080fd5b5061033f610988565b005b34801561034d57600080fd5b50610356610a08565b6040516103639190612acd565b60405180910390f35b34801561037857600080fd5b5060095461038c906001600160a01b031681565b6040516001600160a01b039091168152602001610363565b3480156103b057600080fd5b506103c46103bf366004612b30565b610a9a565b6040519015158152602001610363565b3480156103e057600080fd5b506103c46103ef366004612b5c565b601a6020526000908152604090205460ff1681565b34801561041057600080fd5b5061033f61041f366004612b80565b610ab1565b34801561043057600080fd5b506002545b604051908152602001610363565b34801561044f57600080fd5b5061033f61045e366004612ba7565b610b39565b34801561046f57600080fd5b506103c461047e366004612bc4565b610c44565b34801561048f57600080fd5b5060405160128152602001610363565b3480156104ab57600080fd5b506103c46104ba366004612b30565b610cee565b3480156104cb57600080fd5b5061033f6104da366004612b80565b610d2a565b3480156104eb57600080fd5b50600a5461038c906001600160a01b031681565b34801561050b57600080fd5b5061033f61051a366004612b5c565b610daf565b34801561052b57600080fd5b50600f546103c49060ff1681565b34801561054557600080fd5b5061043560135481565b34801561055b57600080fd5b5061033f61056a366004612b5c565b610e88565b34801561057b57600080fd5b5061043560165481565b34801561059157600080fd5b5061043560115481565b3480156105a757600080fd5b5061043560075481565b3480156105bd57600080fd5b5061033f6105cc366004612c05565b610f3f565b3480156105dd57600080fd5b5061043560125481565b3480156105f357600080fd5b50600f546103c49062010000900460ff1681565b34801561061357600080fd5b50610435610622366004612b5c565b610fe3565b34801561063357600080fd5b5061033f610ffe565b34801561064857600080fd5b5061033f610657366004612c23565b611034565b34801561066857600080fd5b5061033f610677366004612ba7565b6110fc565b34801561068857600080fd5b506103c4610697366004612c5c565b6111be565b3480156106a857600080fd5b5061043560065481565b3480156106be57600080fd5b5061033f6113f8565b3480156106d357600080fd5b506005546001600160a01b031661038c565b3480156106f157600080fd5b506103566114ba565b34801561070657600080fd5b5061043560175481565b34801561071c57600080fd5b5061033f61072b366004612c23565b6114c9565b34801561073c57600080fd5b506103c461074b366004612b30565b6115bd565b34801561075c57600080fd5b506103c461076b366004612b30565b611656565b34801561077c57600080fd5b506103c461078b366004612b5c565b601b6020526000908152604090205460ff1681565b3480156107ac57600080fd5b50600f546103c490610100900460ff1681565b3480156107cb57600080fd5b5061033f6107da366004612c23565b611663565b3480156107eb57600080fd5b506103c46107fa366004612b5c565b600e6020526000908152604090205460ff1681565b34801561081b57600080fd5b5061043560185481565b34801561083157600080fd5b506015546103c49060ff1681565b34801561084b57600080fd5b5061033f61085a366004612b80565b6116ec565b34801561086b57600080fd5b5061043560105481565b34801561088157600080fd5b5061033f610890366004612b5c565b611834565b3480156108a157600080fd5b506104356108b0366004612c5c565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b3480156108e757600080fd5b50610435600b5481565b3480156108fd57600080fd5b50600c5461038c906001600160a01b031681565b34801561091d57600080fd5b50610435600d5481565b34801561093357600080fd5b5061033f610942366004612b5c565b6118e7565b34801561095357600080fd5b5061043560085481565b34801561096957600080fd5b5061043560145481565b34801561097f57600080fd5b5061033f6119d2565b6005546001600160a01b031633146109bb5760405162461bcd60e51b81526004016109b290612c8a565b60405180910390fd5b604051600090339047908381818185875af1925050503d80600081146109fd576040519150601f19603f3d011682016040523d82523d6000602084013e610a02565b606091505b50505050565b606060038054610a1790612cbf565b80601f0160208091040260200160405190810160405280929190818152602001828054610a4390612cbf565b8015610a905780601f10610a6557610100808354040283529160200191610a90565b820191906000526020600020905b815481529060010190602001808311610a7357829003601f168201915b5050505050905090565b6000610aa7338484611ec1565b5060015b92915050565b6005546001600160a01b03163314610adb5760405162461bcd60e51b81526004016109b290612c8a565b601381905560128190556014811115610b365760405162461bcd60e51b815260206004820152601d60248201527f4d757374206b656570206665657320617420323025206f72206c65737300000060448201526064016109b2565b50565b6005546001600160a01b03163314610b635760405162461bcd60e51b81526004016109b290612c8a565b600b54610b6f30610fe3565b1015610be5576040805162461bcd60e51b81526020600482015260248101919091527f43616e206f6e6c792073776170207768656e20746f6b656e20616d6f756e742060448201527f6973206174206f7220686967686572207468616e207265737472696374696f6e60648201526084016109b2565b600a805460ff60a01b1916600160a01b179055610c0181611fe5565b600a805460ff60a01b191690556040514281527f1b56c383f4f48fc992e45667ea4eabae777b9cca68b516a9562d8cda78f1bb329060200160405180910390a150565b6000610c51848484612146565b6001600160a01b038416600090815260016020908152604080832033845290915290205482811015610cd65760405162461bcd60e51b815260206004820152602860248201527f45524332303a207472616e7366657220616d6f756e74206578636565647320616044820152676c6c6f77616e636560c01b60648201526084016109b2565b610ce38533858403611ec1565b506001949350505050565b3360008181526001602090815260408083206001600160a01b03871684529091528120549091610aa7918590610d25908690612d0f565b611ec1565b6005546001600160a01b03163314610d545760405162461bcd60e51b81526004016109b290612c8a565b60118190556010819055600c811115610b365760405162461bcd60e51b815260206004820152601d60248201527f4d757374206b656570206665657320617420313225206f72206c65737300000060448201526064016109b2565b6005546001600160a01b03163314610dd95760405162461bcd60e51b81526004016109b290612c8a565b6001600160a01b038116610e3e5760405162461bcd60e51b815260206004820152602660248201527f5f6f7065726174696f6e734164647265737320616464726573732063616e6e6f60448201526507420626520360d41b60648201526084016109b2565b600c80546001600160a01b0319166001600160a01b0383169081179091556040517f4efa56652237561d0f1fd31311aeaaa41f3b754a461545ed3cf6ced5876d298290600090a250565b6005546001600160a01b03163314610eb25760405162461bcd60e51b81526004016109b290612c8a565b6001600160a01b0381166000908152600e602052604090205460ff1615610f1b5760405162461bcd60e51b815260206004820152601a60248201527f57616c6c657420697320616c726561647920666c61676765642e00000000000060448201526064016109b2565b6001600160a01b03166000908152600e60205260409020805460ff19166001179055565b6005546001600160a01b03163314610f695760405162461bcd60e51b81526004016109b290612c8a565b60008111610fcc5760405162461bcd60e51b815260206004820152602a60248201527f4d61782073776170732070657220626c6f636b206d75737420626520677265616044820152690746572207468616e20360b41b60648201526084016109b2565b6015805460ff191692151592909217909155601755565b6001600160a01b031660009081526020819052604090205490565b6005546001600160a01b031633146110285760405162461bcd60e51b81526004016109b290612c8a565b600f805460ff19169055565b6005546001600160a01b0316331461105e5760405162461bcd60e51b81526004016109b290612c8a565b806110d157600a546001600160a01b03908116908316036110d15760405162461bcd60e51b815260206004820152602760248201527f43616e6e6f742072656d6f766520756e697377617020706169722066726f6d2060448201526636b0bc103a3c3760c91b60648201526084016109b2565b6001600160a01b03919091166000908152601a60205260409020805460ff1916911515919091179055565b6005546001600160a01b031633146111265760405162461bcd60e51b81526004016109b290612c8a565b806111735760405162461bcd60e51b815260206004820152601860248201527f506c6561736520636f6e6669726d2072656e6f756e636521000000000000000060448201526064016109b2565b6005546040516000916001600160a01b0316907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a350600580546001600160a01b0319169055565b6005546000906001600160a01b031633146111eb5760405162461bcd60e51b81526004016109b290612c8a565b6001600160a01b0383166112415760405162461bcd60e51b815260206004820152601a60248201527f5f746f6b656e20616464726573732063616e6e6f74206265203000000000000060448201526064016109b2565b6001600160a01b038316301415806112615750600f54610100900460ff16155b6112ca5760405162461bcd60e51b815260206004820152603460248201527f43616e2774207769746864726177206e617469766520746f6b656e73207768696044820152736c652074726164696e672069732061637469766560601b60648201526084016109b2565b6040516370a0823160e01b81523060048201526000906001600160a01b038516906370a0823190602401602060405180830381865afa158015611311573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113359190612d22565b60405163a9059cbb60e01b81526001600160a01b038581166004830152602482018390529192509085169063a9059cbb906044016020604051808303816000875af1158015611388573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113ac9190612d3b565b604080516001600160a01b0387168152602081018490529193507fdeda980967fcead7b61e78ac46a4da14274af29e894d4d61e8b81ec38ab3e438910160405180910390a15092915050565b6005546001600160a01b031633146114225760405162461bcd60e51b81526004016109b290612c8a565b600f54610100900460ff161561147a5760405162461bcd60e51b815260206004820152601760248201527f43616e6e6f74207265656e61626c652074726164696e6700000000000000000060448201526064016109b2565b600f805462ffff0019166201010017905543600d556040517fa56feb2d31b9a7424db0be063fd450863979c9e2382cf5110f869bd1ad361bb790600090a1565b606060048054610a1790612cbf565b6005546001600160a01b031633146114f35760405162461bcd60e51b81526004016109b290612c8a565b600a546001600160a01b03908116908316036115775760405162461bcd60e51b815260206004820152603960248201527f54686520706169722063616e6e6f742062652072656d6f7665642066726f6d2060448201527f6175746f6d617465644d61726b65744d616b657250616972730000000000000060648201526084016109b2565b6115818282612791565b604051811515906001600160a01b038416907fffa9187bf1f18bf477bd0ea1bcbb64e93b6a98132473929edfce215cd9b16fab90600090a35050565b3360009081526001602090815260408083206001600160a01b03861684529091528120548281101561163f5760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b60648201526084016109b2565b61164c3385858403611ec1565b5060019392505050565b6000610aa7338484612146565b6005546001600160a01b0316331461168d5760405162461bcd60e51b81526004016109b290612c8a565b6001600160a01b038216600081815260196020908152604091829020805460ff191685151590811790915591519182527f9d8f7706ea1113d1a167b526eca956215946dd36cc7df39eb16180222d8b5df7910160405180910390a25050565b6005546001600160a01b031633146117165760405162461bcd60e51b81526004016109b290612c8a565b620186a061172360025490565b61172e906001612d58565b6117389190612d6f565b8110156117a55760405162461bcd60e51b815260206004820152603560248201527f5377617020616d6f756e742063616e6e6f74206265206c6f776572207468616e60448201527410181718181892903a37ba30b61039bab838363c9760591b60648201526084016109b2565b60646117b060025490565b6117bb906001612d58565b6117c59190612d6f565b81111561182f5760405162461bcd60e51b815260206004820152603260248201527f5377617020616d6f756e742063616e6e6f74206265206869676865722074686160448201527137101892903a37ba30b61039bab838363c9760711b60648201526084016109b2565b600b55565b6005546001600160a01b0316331461185e5760405162461bcd60e51b81526004016109b290612c8a565b6001600160a01b0381166000908152600e602052604090205460ff166118c65760405162461bcd60e51b815260206004820152601d60248201527f57616c6c657420697320616c7265616479206e6f74206d61726b65642e00000060448201526064016109b2565b6001600160a01b03166000908152600e60205260409020805460ff19169055565b6005546001600160a01b031633146119115760405162461bcd60e51b81526004016109b290612c8a565b6001600160a01b0381166119765760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016109b2565b6005546040516001600160a01b038084169216907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a3600580546001600160a01b0319166001600160a01b0392909216919091179055565b6005546001600160a01b031633146119fc5760405162461bcd60e51b81526004016109b290612c8a565b600f54610100900460ff1615611a685760405162461bcd60e51b815260206004820152602b60248201527f54726164696e6720697320616c7265616479206163746976652c2063616e6e6f60448201526a3a103932b630bab731b41760a91b60648201526084016109b2565b600046600103611a8d5750737a250d5630b4cf539739df2c5dacb4c659f2488d611b5b565b4662aa36a703611ab25750737a250d5630b4cf539739df2c5dacb4c659f2488d611b5b565b46603803611ad557507310ed43c718714eb63d5aa57b78b54704e256024e611b5b565b46606103611af8575073d99d1c33f9fc3444f8101754abc46c52416550d1611b5b565b4661a4b103611b1c5750731b02da8cb0d097eb8d57a175b88c7d8b47997506611b5b565b60405162461bcd60e51b815260206004820152601460248201527310da185a5b881b9bdd0818dbdb999a59dd5c995960621b60448201526064016109b2565b600980546001600160a01b0319166001600160a01b0383169081179091556040805163c45a015560e01b8152905163c45a0155916004808201926020929091908290030181865afa158015611bb4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611bd89190612d91565b6001600160a01b031663c9c6539630600960009054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611c3a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611c5e9190612d91565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af1158015611cab573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611ccf9190612d91565b600a80546001600160a01b0319166001600160a01b03929092169182179055611cf99060016127bb565b600a54611d10906001600160a01b03166001612791565b600954611d27906001600160a01b031660016127bb565b600954611d3e906001600160a01b03166001611663565b60004711611d9a5760405162461bcd60e51b815260206004820152602360248201527f4d757374206861766520455448206f6e20636f6e747261637420746f206c61756044820152620dcc6d60eb1b60648201526084016109b2565b6000611da530610fe3565b11611e015760405162461bcd60e51b815260206004820152602660248201527f4d757374206861766520546f6b656e73206f6e20636f6e747261637420746f206044820152650d8c2eadcc6d60d31b60648201526084016109b2565b600954611e1c9030906001600160a01b0316610d2582610fe3565b6009546001600160a01b031663f305d7194730611e3881610fe3565b6040516001600160e01b031960e086901b1681526001600160a01b039092166004830152602482015260006044820181905260648201523360848201524260a482015260c40160606040518083038185885af1158015611e9c573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610a029190612dae565b6001600160a01b038316611f235760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016109b2565b6001600160a01b038216611f845760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016109b2565b6001600160a01b0383811660008181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6016544314611ff8574360165560006018555b60155460ff16801561200e575060175460185410155b156120165750565b600061202130610fe3565b601454909150811580612032575080155b1561203c57505050565b821580156120565750600b5461205390600f612d58565b82115b1561206c57600b5461206990600f612d58565b91505b6120758261281e565b60006014819055506001601860008282546120909190612d0f565b9091555050600c546040516000916001600160a01b03169047908381818185875af1925050503d80600081146120e2576040519150601f19603f3d011682016040523d82523d6000602084013e6120e7565b606091505b5050905080610a025760405162461bcd60e51b815260206004820152602560248201527f5472616e7366657220746f206f7065726174696f6e7320616464726573732066604482015264185a5b195960da1b60648201526084016109b2565b6001600160a01b03831661216c5760405162461bcd60e51b81526004016109b290612ddc565b6001600160a01b0382166121925760405162461bcd60e51b81526004016109b290612e21565b600081116121e25760405162461bcd60e51b815260206004820152601d60248201527f616d6f756e74206d7573742062652067726561746572207468616e203000000060448201526064016109b2565b600f54610100900460ff1661227a576001600160a01b03831660009081526019602052604090205460ff168061223057506001600160a01b03821660009081526019602052604090205460ff165b6122755760405162461bcd60e51b81526020600482015260166024820152752a3930b234b7339034b9903737ba1030b1ba34bb329760511b60448201526064016109b2565b6122e3565b6001600160a01b0383166000908152600e602052604090205460ff16156122e35760405162461bcd60e51b815260206004820152601e60248201527f536e69706572732063616e6e6f74207472616e7366657220746f6b656e73000060448201526064016109b2565b600f5460ff1615612579576001600160a01b03821661dead1480159061232257506001600160a01b03831660009081526019602052604090205460ff16155b801561234757506001600160a01b03821660009081526019602052604090205460ff16155b15612579576001600160a01b0383166000908152601b602052604090205460ff16801561238d57506001600160a01b0382166000908152601a602052604090205460ff16155b15612454576006548111156123f55760405162461bcd60e51b815260206004820152602860248201527f427579207472616e7366657220616d6f756e742065786365656473207468652060448201526736b0bc10313abc9760c11b60648201526084016109b2565b60085461240183610fe3565b61240b9083612d0f565b111561244f5760405162461bcd60e51b815260206004820152601360248201527213585e0815d85b1b195d08115e18d959591959606a1b60448201526064016109b2565b612579565b6001600160a01b0382166000908152601b602052604090205460ff16801561249557506001600160a01b0383166000908152601a602052604090205460ff16155b156124ff5760075481111561244f5760405162461bcd60e51b815260206004820152602a60248201527f53656c6c207472616e7366657220616d6f756e742065786365656473207468656044820152691036b0bc1039b2b6361760b11b60648201526084016109b2565b6001600160a01b0382166000908152601a602052604090205460ff166125795760085461252b83610fe3565b6125359083612d0f565b11156125795760405162461bcd60e51b815260206004820152601360248201527213585e0815d85b1b195d08115e18d959591959606a1b60448201526064016109b2565b600061258430610fe3565b600b54909150811080159081906125a35750600f5462010000900460ff165b80156125b95750600a54600160a01b900460ff16155b80156125dd57506001600160a01b0384166000908152601b602052604090205460ff165b1561260d57600a805460ff60a01b1916600160a01b1790556125ff6000611fe5565b600a805460ff60a01b191690555b6001600160a01b03851660009081526019602052604090205460019060ff168061264f57506001600160a01b03851660009081526019602052604090205460ff165b15612658575060005b6000811561277d576001600160a01b0386166000908152601b602052604090205460ff16801561268a57506000601254115b156126e25760646012548661269f9190612d58565b6126a99190612d6f565b9050601254601354826126bc9190612d58565b6126c69190612d6f565b601460008282546126d79190612d0f565b9091555061275f9050565b6001600160a01b0387166000908152601b602052604090205460ff16801561270c57506000601054115b1561275f576064601054866127219190612d58565b61272b9190612d6f565b90506010546011548261273e9190612d58565b6127489190612d6f565b601460008282546127599190612d0f565b90915550505b801561277057612770873083612978565b61277a8186612e64565b94505b612788878787612978565b50505050505050565b6001600160a01b0382166000908152601b60205260409020805460ff191682151517905561158182825b6001600160a01b0382166000818152601a6020908152604091829020805460ff19168515159081179091558251938452908301527f6b4f1be9103e6cbcd38ca4a922334f2c3109b260130a6676a987f94088fd6746910160405180910390a15050565b604080516002808252606082018352600092602083019080368337019050509050308160008151811061285357612853612e77565b6001600160a01b03928316602091820292909201810191909152600954604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa1580156128ac573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906128d09190612d91565b816001815181106128e3576128e3612e77565b6001600160a01b0392831660209182029290920101526009546129099130911684611ec1565b60095460405163791ac94760e01b81526001600160a01b039091169063791ac94790612942908590600090869030904290600401612e8d565b600060405180830381600087803b15801561295c57600080fd5b505af1158015612970573d6000803e3d6000fd5b505050505050565b6001600160a01b03831661299e5760405162461bcd60e51b81526004016109b290612ddc565b6001600160a01b0382166129c45760405162461bcd60e51b81526004016109b290612e21565b6001600160a01b03831660009081526020819052604090205481811015612a3c5760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b60648201526084016109b2565b6001600160a01b03808516600090815260208190526040808220858503905591851681529081208054849290612a73908490612d0f565b92505081905550826001600160a01b0316846001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051612abf91815260200190565b60405180910390a350505050565b600060208083528351808285015260005b81811015612afa57858101830151858201604001528201612ade565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b0381168114610b3657600080fd5b60008060408385031215612b4357600080fd5b8235612b4e81612b1b565b946020939093013593505050565b600060208284031215612b6e57600080fd5b8135612b7981612b1b565b9392505050565b600060208284031215612b9257600080fd5b5035919050565b8015158114610b3657600080fd5b600060208284031215612bb957600080fd5b8135612b7981612b99565b600080600060608486031215612bd957600080fd5b8335612be481612b1b565b92506020840135612bf481612b1b565b929592945050506040919091013590565b60008060408385031215612c1857600080fd5b8235612b4e81612b99565b60008060408385031215612c3657600080fd5b8235612c4181612b1b565b91506020830135612c5181612b99565b809150509250929050565b60008060408385031215612c6f57600080fd5b8235612c7a81612b1b565b91506020830135612c5181612b1b565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b600181811c90821680612cd357607f821691505b602082108103612cf357634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052601160045260246000fd5b80820180821115610aab57610aab612cf9565b600060208284031215612d3457600080fd5b5051919050565b600060208284031215612d4d57600080fd5b8151612b7981612b99565b8082028115828204841417610aab57610aab612cf9565b600082612d8c57634e487b7160e01b600052601260045260246000fd5b500490565b600060208284031215612da357600080fd5b8151612b7981612b1b565b600080600060608486031215612dc357600080fd5b8351925060208401519150604084015190509250925092565b60208082526025908201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604082015264647265737360d81b606082015260800190565b60208082526023908201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260408201526265737360e81b606082015260800190565b81810381811115610aab57610aab612cf9565b634e487b7160e01b600052603260045260246000fd5b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b81811015612edd5784516001600160a01b031683529383019391830191600101612eb8565b50506001600160a01b0396909616606085015250505060800152939250505056fea2646970667358221220b1a44661b255c35967cbe782306c2c2cddcf27a5141e06db4937d57734b0bc4d64736f6c63430008130033
Deployed Bytecode Sourcemap
10877:14864:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;22619:179;;;;;;;;;;;;;:::i;:::-;;4229:100;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11017:27;;;;;;;;;;-1:-1:-1;11017:27:0;;;;-1:-1:-1;;;;;11017:27:0;;;;;;-1:-1:-1;;;;;749:32:1;;;731:51;;719:2;704:18;11017:27:0;567:221:1;5284:210:0;;;;;;;;;;-1:-1:-1;5284:210:0;;;;;:::i;:::-;;:::i;:::-;;;1414:14:1;;1407:22;1389:41;;1377:2;1362:18;5284:210:0;1249:187:1;11831:63:0;;;;;;;;;;-1:-1:-1;11831:63:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;15289:251;;;;;;;;;;-1:-1:-1;15289:251:0;;;;;:::i;:::-;;:::i;4550:108::-;;;;;;;;;;-1:-1:-1;4638:12:0;;4550:108;;;2024:25:1;;;2012:2;1997:18;4550:108:0;1878:177:1;25374:360:0;;;;;;;;;;-1:-1:-1;25374:360:0;;;;;:::i;:::-;;:::i;5502:529::-;;;;;;;;;;-1:-1:-1;5502:529:0;;;;;:::i;:::-;;:::i;4449:93::-;;;;;;;;;;-1:-1:-1;4449:93:0;;4532:2;3032:36:1;;3020:2;3005:18;4449:93:0;2890:184:1;6039:297:0;;;;;;;;;;-1:-1:-1;6039:297:0;;;;;:::i;:::-;;:::i;15035:246::-;;;;;;;;;;-1:-1:-1;15035:246:0;;;;;:::i;:::-;;:::i;11051:21::-;;;;;;;;;;-1:-1:-1;11051:21:0;;;;-1:-1:-1;;;;;11051:21:0;;;21788:350;;;;;;;;;;-1:-1:-1;21788:350:0;;;;;:::i;:::-;;:::i;11289:33::-;;;;;;;;;;-1:-1:-1;11289:33:0;;;;;;;;11518:32;;;;;;;;;;;;;;;;22238:176;;;;;;;;;;-1:-1:-1;22238:176:0;;;;;:::i;:::-;;:::i;11648:28::-;;;;;;;;;;;;;;;;11443:31;;;;;;;;;;;;;;;;10949:28;;;;;;;;;;;;;;;;25117:249;;;;;;;;;;-1:-1:-1;25117:249:0;;;;;:::i;:::-;;:::i;11483:28::-;;;;;;;;;;;;;;;;11369:31;;;;;;;;;;-1:-1:-1;11369:31:0;;;;;;;;;;;4666:177;;;;;;;;;;-1:-1:-1;4666:177:0;;;;;:::i;:::-;;:::i;22146:84::-;;;;;;;;;;;;;:::i;14076:336::-;;;;;;;;;;-1:-1:-1;14076:336:0;;;;;:::i;:::-;;:::i;8760:265::-;;;;;;;;;;-1:-1:-1;8760:265:0;;;;;:::i;:::-;;:::i;21220:560::-;;;;;;;;;;-1:-1:-1;21220:560:0;;;;;:::i;:::-;;:::i;10915:27::-;;;;;;;;;;;;;;;;24854:249;;;;;;;;;;;;;:::i;8546:79::-;;;;;;;;;;-1:-1:-1;8611:6:0;;-1:-1:-1;;;;;8611:6:0;8546:79;;4337:104;;;;;;;;;;;;;:::i;11684:35::-;;;;;;;;;;;;;;;;14664:355;;;;;;;;;;-1:-1:-1;14664:355:0;;;;;:::i;:::-;;:::i;6344:482::-;;;;;;;;;;-1:-1:-1;6344:482:0;;;;;:::i;:::-;;:::i;4851:216::-;;;;;;;;;;-1:-1:-1;4851:216:0;;;;;:::i;:::-;;:::i;11901:57::-;;;;;;;;;;-1:-1:-1;11901:57:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;11329:33;;;;;;;;;;-1:-1:-1;11329:33:0;;;;;;;;;;;15989:182;;;;;;;;;;-1:-1:-1;15989:182:0;;;;;:::i;:::-;;:::i;11234:46::-;;;;;;;;;;-1:-1:-1;11234:46:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;11727:33;;;;;;;;;;;;;;;;11602:39;;;;;;;;;;-1:-1:-1;11602:39:0;;;;;;;;15552:425;;;;;;;;;;-1:-1:-1;15552:425:0;;;;;:::i;:::-;;:::i;11409:27::-;;;;;;;;;;;;;;;;22422:181;;;;;;;;;;-1:-1:-1;22422:181:0;;;;;:::i;:::-;;:::i;5075:201::-;;;;;;;;;;-1:-1:-1;5075:201:0;;;;;:::i;:::-;-1:-1:-1;;;;;5241:18:0;;;5209:7;5241:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;5075:201;11109:33;;;;;;;;;;;;;;;;11149:32;;;;;;;;;;-1:-1:-1;11149:32:0;;;;-1:-1:-1;;;;;11149:32:0;;;11190:37;;;;;;;;;;;;;;;;9033:281;;;;;;;;;;-1:-1:-1;9033:281:0;;;;;:::i;:::-;;:::i;10984:24::-;;;;;;;;;;;;;;;;11559:34;;;;;;;;;;;;;;;;22812:2034;;;;;;;;;;;;;:::i;22619:179::-;8673:6;;-1:-1:-1;;;;;8673:6:0;379:10;8673:22;8665:67;;;;-1:-1:-1;;;8665:67:0;;;;;;;:::i;:::-;;;;;;;;;22708:82:::1;::::0;22671:12:::1;::::0;22716:10:::1;::::0;22740:21:::1;::::0;22671:12;22708:82;22671:12;22708:82;22740:21;22716:10;22708:82:::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1::0;;;;22619:179:0:o;4229:100::-;4283:13;4316:5;4309:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4229:100;:::o;5284:210::-;5403:4;5425:39;379:10;5448:7;5457:6;5425:8;:39::i;:::-;-1:-1:-1;5482:4:0;5284:210;;;;;:::o;15289:251::-;8673:6;;-1:-1:-1;;;;;8673:6:0;379:10;8673:22;8665:67;;;;-1:-1:-1;;;8665:67:0;;;;;;;:::i;:::-;15382:17:::1;:34:::0;;;15427:13:::1;:33:::0;;;15496:2:::1;15479:19:::0;::::1;;15471:61;;;::::0;-1:-1:-1;;;15471:61:0;;5539:2:1;15471:61:0::1;::::0;::::1;5521:21:1::0;5578:2;5558:18;;;5551:30;5617:31;5597:18;;;5590:59;5666:18;;15471:61:0::1;5337:353:1::0;15471:61:0::1;15289:251:::0;:::o;25374:360::-;8673:6;;-1:-1:-1;;;;;8673:6:0;379:10;8673:22;8665:67;;;;-1:-1:-1;;;8665:67:0;;;;;;;:::i;:::-;25487:18:::1;;25459:24;25477:4;25459:9;:24::i;:::-;:46;;25437:160;;;::::0;;-1:-1:-1;;;25437:160:0;;5897:2:1;25437:160:0::1;::::0;::::1;5879:21:1::0;5916:18;;;5909:30;;;;5975:34;5955:18;;;5948:62;6046:34;6026:18;;;6019:62;6098:19;;25437:160:0::1;5695:428:1::0;25437:160:0::1;25608:8;:15:::0;;-1:-1:-1;;;;25608:15:0::1;-1:-1:-1::0;;;25608:15:0::1;::::0;;25634:13:::1;25643:3:::0;25634:8:::1;:13::i;:::-;25658:8;:16:::0;;-1:-1:-1;;;;25658:16:0::1;::::0;;25690:36:::1;::::0;25710:15:::1;2024:25:1::0;;25690:36:0::1;::::0;2012:2:1;1997:18;25690:36:0::1;;;;;;;25374:360:::0;:::o;5502:529::-;5642:4;5659:36;5669:6;5677:9;5688:6;5659:9;:36::i;:::-;-1:-1:-1;;;;;5735:19:0;;5708:24;5735:19;;;:11;:19;;;;;;;;379:10;5735:33;;;;;;;;5801:26;;;;5779:116;;;;-1:-1:-1;;;5779:116:0;;6330:2:1;5779:116:0;;;6312:21:1;6369:2;6349:18;;;6342:30;6408:34;6388:18;;;6381:62;-1:-1:-1;;;6459:18:1;;;6452:38;6507:19;;5779:116:0;6128:404:1;5779:116:0;5931:57;5940:6;379:10;5981:6;5962:16;:25;5931:8;:57::i;:::-;-1:-1:-1;6019:4:0;;5502:529;-1:-1:-1;;;;5502:529:0:o;6039:297::-;379:10;6154:4;6248:25;;;:11;:25;;;;;;;;-1:-1:-1;;;;;6248:34:0;;;;;;;;;;6154:4;;6176:130;;6226:7;;6248:47;;6285:10;;6248:47;:::i;:::-;6176:8;:130::i;15035:246::-;8673:6;;-1:-1:-1;;;;;8673:6:0;379:10;8673:22;8665:67;;;;-1:-1:-1;;;8665:67:0;;;;;;;:::i;:::-;15127:16:::1;:33:::0;;;15171:12:::1;:31:::0;;;15237:2:::1;15221:18:::0;::::1;;15213:60;;;::::0;-1:-1:-1;;;15213:60:0;;7001:2:1;15213:60:0::1;::::0;::::1;6983:21:1::0;7040:2;7020:18;;;7013:30;7079:31;7059:18;;;7052:59;7128:18;;15213:60:0::1;6799:353:1::0;21788:350:0;8673:6;;-1:-1:-1;;;;;8673:6:0;379:10;8673:22;8665:67;;;;-1:-1:-1;;;8665:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;21914:32:0;::::1;21892:120;;;::::0;-1:-1:-1;;;21892:120:0;;7359:2:1;21892:120:0::1;::::0;::::1;7341:21:1::0;7398:2;7378:18;;;7371:30;7437:34;7417:18;;;7410:62;-1:-1:-1;;;7488:18:1;;;7481:36;7534:19;;21892:120:0::1;7157:402:1::0;21892:120:0::1;22023:17;:47:::0;;-1:-1:-1;;;;;;22023:47:0::1;-1:-1:-1::0;;;;;22023:47:0;::::1;::::0;;::::1;::::0;;;22086:44:::1;::::0;::::1;::::0;-1:-1:-1;;22086:44:0::1;21788:350:::0;:::o;22238:176::-;8673:6;;-1:-1:-1;;;;;8673:6:0;379:10;8673:22;8665:67;;;;-1:-1:-1;;;8665:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;22313:22:0;::::1;;::::0;;;:14:::1;:22;::::0;;;;;::::1;;22312:23;22304:62;;;::::0;-1:-1:-1;;;22304:62:0;;7766:2:1;22304:62:0::1;::::0;::::1;7748:21:1::0;7805:2;7785:18;;;7778:30;7844:28;7824:18;;;7817:56;7890:18;;22304:62:0::1;7564:350:1::0;22304:62:0::1;-1:-1:-1::0;;;;;22377:22:0::1;;::::0;;;:14:::1;:22;::::0;;;;:29;;-1:-1:-1;;22377:29:0::1;22402:4;22377:29;::::0;;22238:176::o;25117:249::-;8673:6;;-1:-1:-1;;;;;8673:6:0;379:10;8673:22;8665:67;;;;-1:-1:-1;;;8665:67:0;;;;;;;:::i;:::-;25230:1:::1;25218:9;:13;25210:68;;;::::0;-1:-1:-1;;;25210:68:0;;8121:2:1;25210:68:0::1;::::0;::::1;8103:21:1::0;8160:2;8140:18;;;8133:30;8199:34;8179:18;;;8172:62;-1:-1:-1;;;8250:18:1;;;8243:40;8300:19;;25210:68:0::1;7919:406:1::0;25210:68:0::1;25289:19;:30:::0;;-1:-1:-1;;25289:30:0::1;::::0;::::1;;::::0;;;::::1;::::0;;;25330:16:::1;:28:::0;25117:249::o;4666:177::-;-1:-1:-1;;;;;4817:18:0;4785:7;4817:18;;;;;;;;;;;;4666:177::o;22146:84::-;8673:6;;-1:-1:-1;;;;;8673:6:0;379:10;8673:22;8665:67;;;;-1:-1:-1;;;8665:67:0;;;;;;;:::i;:::-;22200:14:::1;:22:::0;;-1:-1:-1;;22200:22:0::1;::::0;;22146:84::o;14076:336::-;8673:6;;-1:-1:-1;;;;;8673:6:0;379:10;8673:22;8665:67;;;;-1:-1:-1;;;8665:67:0;;;;;;;:::i;:::-;14198:4:::1;14193:155;;14255:6;::::0;-1:-1:-1;;;;;14255:6:0;;::::1;14245:16:::0;;::::1;::::0;14219:117:::1;;;::::0;-1:-1:-1;;;14219:117:0;;8532:2:1;14219:117:0::1;::::0;::::1;8514:21:1::0;8571:2;8551:18;;;8544:30;8610:34;8590:18;;;8583:62;-1:-1:-1;;;8661:18:1;;;8654:37;8708:19;;14219:117:0::1;8330:403:1::0;14219:117:0::1;-1:-1:-1::0;;;;;14358:39:0;;;::::1;;::::0;;;:31:::1;:39;::::0;;;;:46;;-1:-1:-1;;14358:46:0::1;::::0;::::1;;::::0;;;::::1;::::0;;14076:336::o;8760:265::-;8673:6;;-1:-1:-1;;;;;8673:6:0;379:10;8673:22;8665:67;;;;-1:-1:-1;;;8665:67:0;;;;;;;:::i;:::-;8887:15:::1;8879:52;;;::::0;-1:-1:-1;;;8879:52:0;;8940:2:1;8879:52:0::1;::::0;::::1;8922:21:1::0;8979:2;8959:18;;;8952:30;9018:26;8998:18;;;8991:54;9062:18;;8879:52:0::1;8738:348:1::0;8879:52:0::1;8968:6;::::0;8947:40:::1;::::0;8984:1:::1;::::0;-1:-1:-1;;;;;8968:6:0::1;::::0;8947:40:::1;::::0;8984:1;;8947:40:::1;-1:-1:-1::0;8998:6:0::1;:19:::0;;-1:-1:-1;;;;;;8998:19:0::1;::::0;;8760:265::o;21220:560::-;8673:6;;21332:10;;-1:-1:-1;;;;;8673:6:0;379:10;8673:22;8665:67;;;;-1:-1:-1;;;8665:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;21363:20:0;::::1;21355:59;;;::::0;-1:-1:-1;;;21355:59:0;;9293:2:1;21355:59:0::1;::::0;::::1;9275:21:1::0;9332:2;9312:18;;;9305:30;9371:28;9351:18;;;9344:56;9417:18;;21355:59:0::1;9091:350:1::0;21355:59:0::1;-1:-1:-1::0;;;;;21447:23:0;::::1;21465:4;21447:23;;::::0;:41:::1;;-1:-1:-1::0;21475:13:0::1;::::0;::::1;::::0;::::1;;;21474:14;21447:41;21425:143;;;::::0;-1:-1:-1;;;21425:143:0;;9648:2:1;21425:143:0::1;::::0;::::1;9630:21:1::0;9687:2;9667:18;;;9660:30;9726:34;9706:18;;;9699:62;-1:-1:-1;;;9777:18:1;;;9770:50;9837:19;;21425:143:0::1;9446:416:1::0;21425:143:0::1;21606:39;::::0;-1:-1:-1;;;21606:39:0;;21639:4:::1;21606:39;::::0;::::1;731:51:1::0;21579:24:0::1;::::0;-1:-1:-1;;;;;21606:24:0;::::1;::::0;::::1;::::0;704:18:1;;21606:39:0::1;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;21664:46;::::0;-1:-1:-1;;;21664:46:0;;-1:-1:-1;;;;;10248:32:1;;;21664:46:0::1;::::0;::::1;10230:51:1::0;10297:18;;;10290:34;;;21579:66:0;;-1:-1:-1;21664:23:0;;::::1;::::0;::::1;::::0;10203:18:1;;21664:46:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;21726;::::0;;-1:-1:-1;;;;;10248:32:1;;10230:51;;10312:2;10297:18;;10290:34;;;21656:54:0;;-1:-1:-1;21726:46:0::1;::::0;10203:18:1;21726:46:0::1;;;;;;;21344:436;21220:560:::0;;;;:::o;24854:249::-;8673:6;;-1:-1:-1;;;;;8673:6:0;379:10;8673:22;8665:67;;;;-1:-1:-1;;;8665:67:0;;;;;;;:::i;:::-;24918:13:::1;::::0;::::1;::::0;::::1;;;24917:14;24909:50;;;::::0;-1:-1:-1;;;24909:50:0;;10787:2:1;24909:50:0::1;::::0;::::1;10769:21:1::0;10826:2;10806:18;;;10799:30;10865:25;10845:18;;;10838:53;10908:18;;24909:50:0::1;10585:347:1::0;24909:50:0::1;24970:13;:20:::0;;-1:-1:-1;;25001:18:0;;;;;25051:12:::1;25030:18;:33:::0;25079:16:::1;::::0;::::1;::::0;-1:-1:-1;;25079:16:0::1;24854:249::o:0;4337:104::-;4393:13;4426:7;4419:14;;;;;:::i;14664:355::-;8673:6;;-1:-1:-1;;;;;8673:6:0;379:10;8673:22;8665:67;;;;-1:-1:-1;;;8665:67:0;;;;;;;:::i;:::-;14812:6:::1;::::0;-1:-1:-1;;;;;14812:6:0;;::::1;14804:14:::0;;::::1;::::0;14782:121:::1;;;::::0;-1:-1:-1;;;14782:121:0;;11139:2:1;14782:121:0::1;::::0;::::1;11121:21:1::0;11178:2;11158:18;;;11151:30;11217:34;11197:18;;;11190:62;11288:27;11268:18;;;11261:55;11333:19;;14782:121:0::1;10937:421:1::0;14782:121:0::1;14914:41;14943:4;14949:5;14914:28;:41::i;:::-;14971:40;::::0;;::::1;;::::0;-1:-1:-1;;;;;14971:40:0;::::1;::::0;::::1;::::0;;;::::1;14664:355:::0;;:::o;6344:482::-;379:10;6464:4;6513:25;;;:11;:25;;;;;;;;-1:-1:-1;;;;;6513:34:0;;;;;;;;;;6580:35;;;;6558:122;;;;-1:-1:-1;;;6558:122:0;;11565:2:1;6558:122:0;;;11547:21:1;11604:2;11584:18;;;11577:30;11643:34;11623:18;;;11616:62;-1:-1:-1;;;11694:18:1;;;11687:35;11739:19;;6558:122:0;11363:401:1;6558:122:0;6716:67;379:10;6739:7;6767:15;6748:16;:34;6716:8;:67::i;:::-;-1:-1:-1;6814:4:0;;6344:482;-1:-1:-1;;;6344:482:0:o;4851:216::-;4973:4;4995:42;379:10;5019:9;5030:6;4995:9;:42::i;15989:182::-;8673:6;;-1:-1:-1;;;;;8673:6:0;379:10;8673:22;8665:67;;;;-1:-1:-1;;;8665:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;16074:28:0;::::1;;::::0;;;:19:::1;:28;::::0;;;;;;;;:39;;-1:-1:-1;;16074:39:0::1;::::0;::::1;;::::0;;::::1;::::0;;;16129:34;;1389:41:1;;;16129:34:0::1;::::0;1362:18:1;16129:34:0::1;;;;;;;15989:182:::0;;:::o;15552:425::-;8673:6;;-1:-1:-1;;;;;8673:6:0;379:10;8673:22;8665:67;;;;-1:-1:-1;;;8665:67:0;;;;;;;:::i;:::-;15692:6:::1;15671:13;4638:12:::0;;;4550:108;15671:13:::1;:17;::::0;15687:1:::1;15671:17;:::i;:::-;15670:28;;;;:::i;:::-;15657:9;:41;;15635:144;;;::::0;-1:-1:-1;;;15635:144:0;;12366:2:1;15635:144:0::1;::::0;::::1;12348:21:1::0;12405:2;12385:18;;;12378:30;12444:34;12424:18;;;12417:62;-1:-1:-1;;;12495:18:1;;;12488:51;12556:19;;15635:144:0::1;12164:417:1::0;15635:144:0::1;15847:3;15826:13;4638:12:::0;;;4550:108;15826:13:::1;:17;::::0;15842:1:::1;15826:17;:::i;:::-;15825:25;;;;:::i;:::-;15812:9;:38;;15790:138;;;::::0;-1:-1:-1;;;15790:138:0;;12788:2:1;15790:138:0::1;::::0;::::1;12770:21:1::0;12827:2;12807:18;;;12800:30;12866:34;12846:18;;;12839:62;-1:-1:-1;;;12917:18:1;;;12910:48;12975:19;;15790:138:0::1;12586:414:1::0;15790:138:0::1;15939:18;:30:::0;15552:425::o;22422:181::-;8673:6;;-1:-1:-1;;;;;8673:6:0;379:10;8673:22;8665:67;;;;-1:-1:-1;;;8665:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;22498:22:0;::::1;;::::0;;;:14:::1;:22;::::0;;;;;::::1;;22490:64;;;::::0;-1:-1:-1;;;22490:64:0;;13207:2:1;22490:64:0::1;::::0;::::1;13189:21:1::0;13246:2;13226:18;;;13219:30;13285:31;13265:18;;;13258:59;13334:18;;22490:64:0::1;13005:353:1::0;22490:64:0::1;-1:-1:-1::0;;;;;22565:22:0::1;22590:5;22565:22:::0;;;:14:::1;:22;::::0;;;;:30;;-1:-1:-1;;22565:30:0::1;::::0;;22422:181::o;9033:281::-;8673:6;;-1:-1:-1;;;;;8673:6:0;379:10;8673:22;8665:67;;;;-1:-1:-1;;;8665:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;9136:22:0;::::1;9114:110;;;::::0;-1:-1:-1;;;9114:110:0;;13565:2:1;9114:110:0::1;::::0;::::1;13547:21:1::0;13604:2;13584:18;;;13577:30;13643:34;13623:18;;;13616:62;-1:-1:-1;;;13694:18:1;;;13687:36;13740:19;;9114:110:0::1;13363:402:1::0;9114:110:0::1;9261:6;::::0;9240:38:::1;::::0;-1:-1:-1;;;;;9240:38:0;;::::1;::::0;9261:6:::1;::::0;9240:38:::1;::::0;9261:6:::1;::::0;9240:38:::1;9289:6;:17:::0;;-1:-1:-1;;;;;;9289:17:0::1;-1:-1:-1::0;;;;;9289:17:0;;;::::1;::::0;;;::::1;::::0;;9033:281::o;22812:2034::-;8673:6;;-1:-1:-1;;;;;8673:6:0;379:10;8673:22;8665:67;;;;-1:-1:-1;;;8665:67:0;;;;;;;:::i;:::-;22873:13:::1;::::0;::::1;::::0;::::1;;;22872:14;22864:70;;;::::0;-1:-1:-1;;;22864:70:0;;13972:2:1;22864:70:0::1;::::0;::::1;13954:21:1::0;14011:2;13991:18;;;13984:30;14050:34;14030:18;;;14023:62;-1:-1:-1;;;14101:18:1;;;14094:41;14152:19;;22864:70:0::1;13770:407:1::0;22864:70:0::1;22952:18;22987:13;23004:1;22987:18:::0;22983:730:::1;;-1:-1:-1::0;23035:42:0::1;22983:730;;;23118:13;23135:8;23118:25:::0;23114:599:::1;;-1:-1:-1::0;23173:42:0::1;23114:599;;;23253:13;23270:2;23253:19:::0;23249:464:::1;;-1:-1:-1::0;23302:42:0::1;23249:464;;;23387:13;23404:2;23387:19:::0;23383:330:::1;;-1:-1:-1::0;23436:42:0::1;23383:330;;;23521:13;23538:5;23521:22:::0;23517:196:::1;;-1:-1:-1::0;23573:42:0::1;23517:196;;;23671:30;::::0;-1:-1:-1;;;23671:30:0;;14384:2:1;23671:30:0::1;::::0;::::1;14366:21:1::0;14423:2;14403:18;;;14396:30;-1:-1:-1;;;14442:18:1;;;14435:50;14502:18;;23671:30:0::1;14182:344:1::0;23517:196:0::1;23755:9;:34:::0;;-1:-1:-1;;;;;;23755:34:0::1;-1:-1:-1::0;;;;;23755:34:0;::::1;::::0;;::::1;::::0;;;23855:19:::1;::::0;;-1:-1:-1;;;23855:19:0;;;;:17:::1;::::0;:19:::1;::::0;;::::1;::::0;::::1;::::0;;;;;;;;;23755:34;23855:19:::1;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;23843:43:0::1;;23909:4;23929:9;;;;;;;;;-1:-1:-1::0;;;;;23929:9:0::1;-1:-1:-1::0;;;;;23929:14:0::1;;:16;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;23843:113;::::0;-1:-1:-1;;;;;;23843:113:0::1;::::0;;;;;;-1:-1:-1;;;;;15017:15:1;;;23843:113:0::1;::::0;::::1;14999:34:1::0;15069:15;;15049:18;;;15042:43;14934:18;;23843:113:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;23834:6;:122:::0;;-1:-1:-1;;;;;;23834:122:0::1;-1:-1:-1::0;;;;;23834:122:0;;;::::1;::::0;;::::1;::::0;;23969:49:::1;::::0;-1:-1:-1;23969:26:0::1;:49::i;:::-;24066:6;::::0;24029:51:::1;::::0;-1:-1:-1;;;;;24066:6:0::1;::::0;24029:28:::1;:51::i;:::-;24136:9;::::0;24101:52:::1;::::0;-1:-1:-1;;;;;24136:9:0::1;::::0;24101:26:::1;:52::i;:::-;24188:9;::::0;24164:41:::1;::::0;-1:-1:-1;;;;;24188:9:0::1;::::0;24164:15:::1;:41::i;:::-;24266:1;24242:21;:25;24220:110;;;::::0;-1:-1:-1;;;24220:110:0;;15298:2:1;24220:110:0::1;::::0;::::1;15280:21:1::0;15337:2;15317:18;;;15310:30;15376:34;15356:18;;;15349:62;-1:-1:-1;;;15427:18:1;;;15420:33;15470:19;;24220:110:0::1;15096:399:1::0;24220:110:0::1;24390:1;24363:24;24381:4;24363:9;:24::i;:::-;:28;24341:116;;;::::0;-1:-1:-1;;;24341:116:0;;15702:2:1;24341:116:0::1;::::0;::::1;15684:21:1::0;15741:2;15721:18;;;15714:30;15780:34;15760:18;;;15753:62;-1:-1:-1;;;15831:18:1;;;15824:36;15877:19;;24341:116:0::1;15500:402:1::0;24341:116:0::1;24513:9;::::0;24481:69:::1;::::0;24498:4:::1;::::0;-1:-1:-1;;;;;24513:9:0::1;24525:24;24498:4:::0;24525:9:::1;:24::i;24481:69::-;24563:9;::::0;-1:-1:-1;;;;;24563:9:0::1;:25;24596:21;24641:4;24661:24;24641:4:::0;24661:9:::1;:24::i;:::-;24563:274;::::0;-1:-1:-1;;;;;;24563:274:0::1;::::0;;;;;;-1:-1:-1;;;;;16266:15:1;;;24563:274:0::1;::::0;::::1;16248:34:1::0;16298:18;;;16291:34;24700:1:0::1;16341:18:1::0;;;16334:34;;;16384:18;;;16377:34;24786:10:0::1;16427:19:1::0;;;16420:44;24811:15:0::1;16480:19:1::0;;;16473:35;16182:19;;24563:274:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;7815:380::-:0;-1:-1:-1;;;;;7951:19:0;;7943:68;;;;-1:-1:-1;;;7943:68:0;;17032:2:1;7943:68:0;;;17014:21:1;17071:2;17051:18;;;17044:30;17110:34;17090:18;;;17083:62;-1:-1:-1;;;17161:18:1;;;17154:34;17205:19;;7943:68:0;16830:400:1;7943:68:0;-1:-1:-1;;;;;8030:21:0;;8022:68;;;;-1:-1:-1;;;8022:68:0;;17437:2:1;8022:68:0;;;17419:21:1;17476:2;17456:18;;;17449:30;17515:34;17495:18;;;17488:62;-1:-1:-1;;;17566:18:1;;;17559:32;17608:19;;8022:68:0;17235:398:1;8022:68:0;-1:-1:-1;;;;;8103:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;8155:32;;2024:25:1;;;8155:32:0;;1997:18:1;8155:32:0;;;;;;;7815:380;;;:::o;20253:959::-;20322:13;;20306:12;:29;20302:123;;20368:12;20352:13;:28;20412:1;20395:14;:18;20302:123;20441:19;;;;:57;;;;;20482:16;;20464:14;;:34;;20441:57;20437:96;;;20253:959;:::o;20437:96::-;20553:23;20579:24;20597:4;20579:9;:24::i;:::-;20642:19;;20553:50;;-1:-1:-1;20678:20:0;;;:46;;-1:-1:-1;20702:22:0;;20678:46;20674:85;;;20741:7;;20253:959;:::o;20674:85::-;20776:3;20775:4;:51;;;;-1:-1:-1;20802:18:0;;:23;;20823:2;20802:23;:::i;:::-;20784:15;:41;20775:51;20771:125;;;20861:18;;:23;;20882:2;20861:23;:::i;:::-;20843:41;;20771:125;20908:33;20925:15;20908:16;:33::i;:::-;20976:1;20954:19;:23;;;;21008:1;20990:14;;:19;;;;;;;:::i;:::-;;;;-1:-1:-1;;21053:17:0;;21045:89;;21027:12;;-1:-1:-1;;;;;21053:17:0;;21098:21;;21027:12;21045:89;21027:12;21045:89;21098:21;21053:17;21045:89;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;21026:108;;;21155:7;21147:57;;;;-1:-1:-1;;;21147:57:0;;17840:2:1;21147:57:0;;;17822:21:1;17879:2;17859:18;;;17852:30;17918:34;17898:18;;;17891:62;-1:-1:-1;;;17969:18:1;;;17962:35;18014:19;;21147:57:0;17638:401:1;16179:3487:0;-1:-1:-1;;;;;16311:18:0;;16303:68;;;;-1:-1:-1;;;16303:68:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;16390:16:0;;16382:64;;;;-1:-1:-1;;;16382:64:0;;;;;;;:::i;:::-;16474:1;16465:6;:10;16457:52;;;;-1:-1:-1;;;16457:52:0;;19056:2:1;16457:52:0;;;19038:21:1;19095:2;19075:18;;;19068:30;19134:31;19114:18;;;19107:59;19183:18;;16457:52:0;18854:353:1;16457:52:0;16527:13;;;;;;;16522:329;;-1:-1:-1;;;;;16583:25:0;;;;;;:19;:25;;;;;;;;;:52;;-1:-1:-1;;;;;;16612:23:0;;;;;;:19;:23;;;;;;;;16583:52;16557:136;;;;-1:-1:-1;;;16557:136:0;;19414:2:1;16557:136:0;;;19396:21:1;19453:2;19433:18;;;19426:30;-1:-1:-1;;;19472:18:1;;;19465:52;19534:18;;16557:136:0;19212:346:1;16557:136:0;16522:329;;;-1:-1:-1;;;;;16753:20:0;;;;;;:14;:20;;;;;;;;16752:21;16726:113;;;;-1:-1:-1;;;16726:113:0;;19765:2:1;16726:113:0;;;19747:21:1;19804:2;19784:18;;;19777:30;19843:32;19823:18;;;19816:60;19893:18;;16726:113:0;19563:354:1;16726:113:0;16867:14;;;;16863:1348;;;-1:-1:-1;;;;;16902:21:0;;16916:6;16902:21;;;;:68;;-1:-1:-1;;;;;;16945:25:0;;;;;;:19;:25;;;;;;;;16944:26;16902:68;:113;;;;-1:-1:-1;;;;;;16992:23:0;;;;;;:19;:23;;;;;;;;16991:24;16902:113;16898:1302;;;-1:-1:-1;;;;;17104:31:0;;;;;;:25;:31;;;;;;;;:92;;;;-1:-1:-1;;;;;;17161:35:0;;;;;;:31;:35;;;;;;;;17160:36;17104:92;17078:1107;;;17283:12;;17273:6;:22;;17239:148;;;;-1:-1:-1;;;17239:148:0;;20124:2:1;17239:148:0;;;20106:21:1;20163:2;20143:18;;;20136:30;20202:34;20182:18;;;20175:62;-1:-1:-1;;;20253:18:1;;;20246:38;20301:19;;17239:148:0;19922:404:1;17239:148:0;17470:9;;17453:13;17463:2;17453:9;:13::i;:::-;17444:22;;:6;:22;:::i;:::-;:35;;17410:140;;;;-1:-1:-1;;;17410:140:0;;20533:2:1;17410:140:0;;;20515:21:1;20572:2;20552:18;;;20545:30;-1:-1:-1;;;20591:18:1;;;20584:49;20650:18;;17410:140:0;20331:343:1;17410:140:0;17078:1107;;;-1:-1:-1;;;;;17648:29:0;;;;;;:25;:29;;;;;;;;:92;;;;-1:-1:-1;;;;;;17703:37:0;;;;;;:31;:37;;;;;;;;17702:38;17648:92;17622:563;;;17827:13;;17817:6;:23;;17783:151;;;;-1:-1:-1;;;17783:151:0;;20881:2:1;17783:151:0;;;20863:21:1;20920:2;20900:18;;;20893:30;20959:34;20939:18;;;20932:62;-1:-1:-1;;;21010:18:1;;;21003:40;21060:19;;17783:151:0;20679:406:1;17622:563:0;-1:-1:-1;;;;;17965:35:0;;;;;;:31;:35;;;;;;;;17960:225;;18085:9;;18068:13;18078:2;18068:9;:13::i;:::-;18059:22;;:6;:22;:::i;:::-;:35;;18025:140;;;;-1:-1:-1;;;18025:140:0;;20533:2:1;18025:140:0;;;20515:21:1;20572:2;20552:18;;;20545:30;-1:-1:-1;;;20591:18:1;;;20584:49;20650:18;;18025:140:0;20331:343:1;18025:140:0;18223:28;18254:24;18272:4;18254:9;:24::i;:::-;18330:18;;18223:55;;-1:-1:-1;18306:42:0;;;;;;;18379:22;;-1:-1:-1;18390:11:0;;;;;;;18379:22;:35;;;;-1:-1:-1;18406:8:0;;-1:-1:-1;;;18406:8:0;;;;18405:9;18379:35;:68;;;;-1:-1:-1;;;;;;18418:29:0;;;;;;:25;:29;;;;;;;;18379:68;18361:201;;;18474:8;:15;;-1:-1:-1;;;;18474:15:0;-1:-1:-1;;;18474:15:0;;;18504;18474;18504:8;:15::i;:::-;18534:8;:16;;-1:-1:-1;;;;18534:16:0;;;18361:201;-1:-1:-1;;;;;18693:25:0;;18574:12;18693:25;;;:19;:25;;;;;;18589:4;;18693:25;;;:52;;-1:-1:-1;;;;;;18722:23:0;;;;;;:19;:23;;;;;;;;18693:52;18689:100;;;-1:-1:-1;18772:5:0;18689:100;18801:12;18906:7;18902:711;;;-1:-1:-1;;;;;18962:29:0;;;;;;:25;:29;;;;;;;;:50;;;;;19011:1;18995:13;;:17;18962:50;18958:506;;;19067:3;19050:13;;19041:6;:22;;;;:::i;:::-;19040:30;;;;:::i;:::-;19033:37;;19183:13;;19141:17;;19134:4;:24;;;;:::i;:::-;19133:63;;;;:::i;:::-;19089:19;;:107;;;;;;;:::i;:::-;;;;-1:-1:-1;18958:506:0;;-1:-1:-1;18958:506:0;;-1:-1:-1;;;;;19258:31:0;;;;;;:25;:31;;;;;;;;:51;;;;;19308:1;19293:12;;:16;19258:51;19254:210;;;19363:3;19347:12;;19338:6;:21;;;;:::i;:::-;19337:29;;;;:::i;:::-;19330:36;;19436:12;;19416:16;;19409:4;:23;;;;:::i;:::-;19408:40;;;;:::i;:::-;19385:19;;:63;;;;;;;:::i;:::-;;;;-1:-1:-1;;19254:210:0;19484:8;;19480:91;;19513:42;19529:4;19543;19550;19513:15;:42::i;:::-;19587:14;19597:4;19587:14;;:::i;:::-;;;18902:711;19625:33;19641:4;19647:2;19651:6;19625:15;:33::i;:::-;16292:3374;;;;16179:3487;;;:::o;14420:236::-;-1:-1:-1;;;;;14503:31:0;;;;;;:25;:31;;;;;:39;;-1:-1:-1;;14503:39:0;;;;;;;14553;14503:31;:39;13836:232;-1:-1:-1;;;;;13949:39:0;;;;;;:31;:39;;;;;;;;;:52;;-1:-1:-1;;13949:52:0;;;;;;;;;;14017:43;;21391:51:1;;;21458:18;;;21451:50;14017:43:0;;21364:18:1;14017:43:0;;;;;;;13836:232;;:::o;19674:571::-;19824:16;;;19838:1;19824:16;;;;;;;;19800:21;;19824:16;;;;;;;;;;-1:-1:-1;19824:16:0;19800:40;;19869:4;19851;19856:1;19851:7;;;;;;;;:::i;:::-;-1:-1:-1;;;;;19851:23:0;;;:7;;;;;;;;;;:23;;;;19895:9;;:16;;;-1:-1:-1;;;19895:16:0;;;;:9;;;;;:14;;:16;;;;;19851:7;;19895:16;;;;;:9;:16;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;19885:4;19890:1;19885:7;;;;;;;;:::i;:::-;-1:-1:-1;;;;;19885:26:0;;;:7;;;;;;;;;:26;19956:9;;19924:56;;19941:4;;19956:9;19968:11;19924:8;:56::i;:::-;20019:9;;:218;;-1:-1:-1;;;20019:218:0;;-1:-1:-1;;;;;20019:9:0;;;;:60;;:218;;20094:11;;20019:9;;20164:4;;20191;;20211:15;;20019:218;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;19729:516;19674:571;:::o;6834:651::-;-1:-1:-1;;;;;6974:20:0;;6966:70;;;;-1:-1:-1;;;6966:70:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;7055:23:0;;7047:71;;;;-1:-1:-1;;;7047:71:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;7155:17:0;;7131:21;7155:17;;;;;;;;;;;7205:23;;;;7183:111;;;;-1:-1:-1;;;7183:111:0;;22963:2:1;7183:111:0;;;22945:21:1;23002:2;22982:18;;;22975:30;23041:34;23021:18;;;23014:62;-1:-1:-1;;;23092:18:1;;;23085:36;23138:19;;7183:111:0;22761:402:1;7183:111:0;-1:-1:-1;;;;;7330:17:0;;;:9;:17;;;;;;;;;;;7350:22;;;7330:42;;7394:20;;;;;;;;:30;;7366:6;;7330:9;7394:30;;7366:6;;7394:30;:::i;:::-;;;;;;;;7459:9;-1:-1:-1;;;;;7442:35:0;7451:6;-1:-1:-1;;;;;7442:35:0;;7470:6;7442:35;;;;2024:25:1;;2012:2;1997:18;;1878:177;7442:35:0;;;;;;;;6955:530;6834:651;;;:::o;14:548:1:-;126:4;155:2;184;173:9;166:21;216:6;210:13;259:6;254:2;243:9;239:18;232:34;284:1;294:140;308:6;305:1;302:13;294:140;;;403:14;;;399:23;;393:30;369:17;;;388:2;365:26;358:66;323:10;;294:140;;;298:3;483:1;478:2;469:6;458:9;454:22;450:31;443:42;553:2;546;542:7;537:2;529:6;525:15;521:29;510:9;506:45;502:54;494:62;;;;14:548;;;;:::o;793:131::-;-1:-1:-1;;;;;868:31:1;;858:42;;848:70;;914:1;911;904:12;929:315;997:6;1005;1058:2;1046:9;1037:7;1033:23;1029:32;1026:52;;;1074:1;1071;1064:12;1026:52;1113:9;1100:23;1132:31;1157:5;1132:31;:::i;:::-;1182:5;1234:2;1219:18;;;;1206:32;;-1:-1:-1;;;929:315:1:o;1441:247::-;1500:6;1553:2;1541:9;1532:7;1528:23;1524:32;1521:52;;;1569:1;1566;1559:12;1521:52;1608:9;1595:23;1627:31;1652:5;1627:31;:::i;:::-;1677:5;1441:247;-1:-1:-1;;;1441:247:1:o;1693:180::-;1752:6;1805:2;1793:9;1784:7;1780:23;1776:32;1773:52;;;1821:1;1818;1811:12;1773:52;-1:-1:-1;1844:23:1;;1693:180;-1:-1:-1;1693:180:1:o;2060:118::-;2146:5;2139:13;2132:21;2125:5;2122:32;2112:60;;2168:1;2165;2158:12;2183:241;2239:6;2292:2;2280:9;2271:7;2267:23;2263:32;2260:52;;;2308:1;2305;2298:12;2260:52;2347:9;2334:23;2366:28;2388:5;2366:28;:::i;2429:456::-;2506:6;2514;2522;2575:2;2563:9;2554:7;2550:23;2546:32;2543:52;;;2591:1;2588;2581:12;2543:52;2630:9;2617:23;2649:31;2674:5;2649:31;:::i;:::-;2699:5;-1:-1:-1;2756:2:1;2741:18;;2728:32;2769:33;2728:32;2769:33;:::i;:::-;2429:456;;2821:7;;-1:-1:-1;;;2875:2:1;2860:18;;;;2847:32;;2429:456::o;3287:309::-;3352:6;3360;3413:2;3401:9;3392:7;3388:23;3384:32;3381:52;;;3429:1;3426;3419:12;3381:52;3468:9;3455:23;3487:28;3509:5;3487:28;:::i;3601:382::-;3666:6;3674;3727:2;3715:9;3706:7;3702:23;3698:32;3695:52;;;3743:1;3740;3733:12;3695:52;3782:9;3769:23;3801:31;3826:5;3801:31;:::i;:::-;3851:5;-1:-1:-1;3908:2:1;3893:18;;3880:32;3921:30;3880:32;3921:30;:::i;:::-;3970:7;3960:17;;;3601:382;;;;;:::o;3988:388::-;4056:6;4064;4117:2;4105:9;4096:7;4092:23;4088:32;4085:52;;;4133:1;4130;4123:12;4085:52;4172:9;4159:23;4191:31;4216:5;4191:31;:::i;:::-;4241:5;-1:-1:-1;4298:2:1;4283:18;;4270:32;4311:33;4270:32;4311:33;:::i;4381:356::-;4583:2;4565:21;;;4602:18;;;4595:30;4661:34;4656:2;4641:18;;4634:62;4728:2;4713:18;;4381:356::o;4952:380::-;5031:1;5027:12;;;;5074;;;5095:61;;5149:4;5141:6;5137:17;5127:27;;5095:61;5202:2;5194:6;5191:14;5171:18;5168:38;5165:161;;5248:10;5243:3;5239:20;5236:1;5229:31;5283:4;5280:1;5273:15;5311:4;5308:1;5301:15;5165:161;;4952:380;;;:::o;6537:127::-;6598:10;6593:3;6589:20;6586:1;6579:31;6629:4;6626:1;6619:15;6653:4;6650:1;6643:15;6669:125;6734:9;;;6755:10;;;6752:36;;;6768:18;;:::i;9867:184::-;9937:6;9990:2;9978:9;9969:7;9965:23;9961:32;9958:52;;;10006:1;10003;9996:12;9958:52;-1:-1:-1;10029:16:1;;9867:184;-1:-1:-1;9867:184:1:o;10335:245::-;10402:6;10455:2;10443:9;10434:7;10430:23;10426:32;10423:52;;;10471:1;10468;10461:12;10423:52;10503:9;10497:16;10522:28;10544:5;10522:28;:::i;11769:168::-;11842:9;;;11873;;11890:15;;;11884:22;;11870:37;11860:71;;11911:18;;:::i;11942:217::-;11982:1;12008;11998:132;;12052:10;12047:3;12043:20;12040:1;12033:31;12087:4;12084:1;12077:15;12115:4;12112:1;12105:15;11998:132;-1:-1:-1;12144:9:1;;11942:217::o;14531:251::-;14601:6;14654:2;14642:9;14633:7;14629:23;14625:32;14622:52;;;14670:1;14667;14660:12;14622:52;14702:9;14696:16;14721:31;14746:5;14721:31;:::i;16519:306::-;16607:6;16615;16623;16676:2;16664:9;16655:7;16651:23;16647:32;16644:52;;;16692:1;16689;16682:12;16644:52;16721:9;16715:16;16705:26;;16771:2;16760:9;16756:18;16750:25;16740:35;;16815:2;16804:9;16800:18;16794:25;16784:35;;16519:306;;;;;:::o;18044:401::-;18246:2;18228:21;;;18285:2;18265:18;;;18258:30;18324:34;18319:2;18304:18;;18297:62;-1:-1:-1;;;18390:2:1;18375:18;;18368:35;18435:3;18420:19;;18044:401::o;18450:399::-;18652:2;18634:21;;;18691:2;18671:18;;;18664:30;18730:34;18725:2;18710:18;;18703:62;-1:-1:-1;;;18796:2:1;18781:18;;18774:33;18839:3;18824:19;;18450:399::o;21090:128::-;21157:9;;;21178:11;;;21175:37;;;21192:18;;:::i;21644:127::-;21705:10;21700:3;21696:20;21693:1;21686:31;21736:4;21733:1;21726:15;21760:4;21757:1;21750:15;21776:980;22038:4;22086:3;22075:9;22071:19;22117:6;22106:9;22099:25;22143:2;22181:6;22176:2;22165:9;22161:18;22154:34;22224:3;22219:2;22208:9;22204:18;22197:31;22248:6;22283;22277:13;22314:6;22306;22299:22;22352:3;22341:9;22337:19;22330:26;;22391:2;22383:6;22379:15;22365:29;;22412:1;22422:195;22436:6;22433:1;22430:13;22422:195;;;22501:13;;-1:-1:-1;;;;;22497:39:1;22485:52;;22592:15;;;;22557:12;;;;22533:1;22451:9;22422:195;;;-1:-1:-1;;;;;;;22673:32:1;;;;22668:2;22653:18;;22646:60;-1:-1:-1;;;22737:3:1;22722:19;22715:35;22634:3;21776:980;-1:-1:-1;;;21776:980:1:o
Swarm Source
ipfs://b1a44661b255c35967cbe782306c2c2cddcf27a5141e06db4937d57734b0bc4d
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.