ERC-20
Overview
Max Total Supply
100,000,000,000 ORDER
Holders
35
Total Transfers
-
Market
Onchain Market Cap
$0.00
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 9 Decimals)
Loading...
Loading
Loading...
Loading
Loading...
Loading
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|
Contract Source Code Verified (Exact Match)
Contract Name:
ORDER
Compiler Version
v0.8.26+commit.8a97fa7a
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2024-12-10 */ // SPDX-License-Identifier: UNLICENSE /* Welcome the Remigumi-guchi Digital Corporation. We're cryptoxillionaires. Website: https://www.rworder.org Twitter: https://x.com/RemiliaWOrder Telegram: https://t.me/remiliaworldorder_erc20 */ pragma solidity ^0.8.26; interface IUniswapV2Factory { event PairCreated( address indexed token0, address indexed token1, address pair, uint256 ); function feeTo() external view returns (address); function feeToSetter() external view returns (address); function getPair(address tokenA, address tokenB) external view returns (address pair); function allPairs(uint256) external view returns (address pair); function allPairsLength() external view returns (uint256); function createPair(address tokenA, address tokenB) external returns (address pair); function setFeeTo(address) external; function setFeeToSetter(address) external; } interface IUniswapV2Pair { event Approval( address indexed owner, address indexed spender, uint256 value ); event Transfer(address indexed from, address indexed to, uint256 value); function name() external pure returns (string memory); function symbol() external pure returns (string memory); function decimals() external pure returns (uint8); function totalSupply() external view returns (uint256); function balanceOf(address owner) external view returns (uint256); function allowance(address owner, address spender) external view returns (uint256); function approve(address spender, uint256 value) external returns (bool); function transfer(address to, uint256 value) external returns (bool); function transferFrom( address from, address to, uint256 value ) external returns (bool); function DOMAIN_SEPARATOR() external view returns (bytes32); function PERMIT_TYPEHASH() external pure returns (bytes32); function nonces(address owner) external view returns (uint256); function permit( address owner, address spender, uint256 value, uint256 deadline, uint8 v, bytes32 r, bytes32 s ) external; event Mint(address indexed sender, uint256 amount0, uint256 amount1); event Burn( address indexed sender, uint256 amount0, uint256 amount1, address indexed to ); event Swap( address indexed sender, uint256 amount0In, uint256 amount1In, uint256 amount0Out, uint256 amount1Out, address indexed to ); event Sync(uint112 reserve0, uint112 reserve1); function MINIMUM_LIQUIDITY() external pure returns (uint256); function factory() external view returns (address); function token0() external view returns (address); function token1() external view returns (address); function getReserves() external view returns ( uint112 reserve0, uint112 reserve1, uint32 blockTimestampLast ); function price0CumulativeLast() external view returns (uint256); function price1CumulativeLast() external view returns (uint256); function kLast() external view returns (uint256); function mint(address to) external returns (uint256 liquidity); function burn(address to) external returns (uint256 amount0, uint256 amount1); function swap( uint256 amount0Out, uint256 amount1Out, address to, bytes calldata data ) external; function skim(address to) external; function sync() external; function initialize(address, address) external; } interface IUniswapV2Router02 { function factory() external pure returns (address); function WETH() external pure returns (address); function addLiquidity( address tokenA, address tokenB, uint256 amountADesired, uint256 amountBDesired, uint256 amountAMin, uint256 amountBMin, address to, uint256 deadline ) external returns ( uint256 amountA, uint256 amountB, uint256 liquidity ); function addLiquidityETH( address token, uint256 amountTokenDesired, uint256 amountTokenMin, uint256 amountETHMin, address to, uint256 deadline ) external payable returns ( uint256 amountToken, uint256 amountETH, uint256 liquidity ); function swapExactTokensForTokensSupportingFeeOnTransferTokens( 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 swapExactTokensForETHSupportingFeeOnTransferTokens( uint256 amountIn, uint256 amountOutMin, address[] calldata path, address to, uint256 deadline ) external; } library SafeMath { function tryAdd(uint256 a, uint256 b) internal pure returns (bool, uint256) { unchecked { uint256 c = a + b; if (c < a) return (false, 0); return (true, c); } } function trySub(uint256 a, uint256 b) internal pure returns (bool, uint256) { unchecked { if (b > a) return (false, 0); return (true, a - b); } } function tryMul(uint256 a, uint256 b) internal pure returns (bool, uint256) { unchecked { if (a == 0) return (true, 0); uint256 c = a * b; if (c / a != b) return (false, 0); return (true, c); } } function tryDiv(uint256 a, uint256 b) internal pure returns (bool, uint256) { unchecked { if (b == 0) return (false, 0); return (true, a / b); } } function tryMod(uint256 a, uint256 b) internal pure returns (bool, uint256) { unchecked { if (b == 0) return (false, 0); return (true, a % b); } } function add(uint256 a, uint256 b) internal pure returns (uint256) { return a + b; } function sub(uint256 a, uint256 b) internal pure returns (uint256) { return a - b; } function mul(uint256 a, uint256 b) internal pure returns (uint256) { return a * b; } function div(uint256 a, uint256 b) internal pure returns (uint256) { return a / b; } function mod(uint256 a, uint256 b) internal pure returns (uint256) { return a % b; } function sub( uint256 a, uint256 b, string memory errorMessage ) internal pure returns (uint256) { unchecked { require(b <= a, errorMessage); return a - b; } } function div( uint256 a, uint256 b, string memory errorMessage ) internal pure returns (uint256) { unchecked { require(b > 0, errorMessage); return a / b; } } function mod( uint256 a, uint256 b, string memory errorMessage ) internal pure returns (uint256) { unchecked { require(b > 0, errorMessage); return a % b; } } } interface IERC20 { function totalSupply() external view returns (uint256); function balanceOf(address account) external view returns (uint256); function transfer(address recipient, uint256 amount) external returns (bool); function allowance(address owner, address spender) external view returns (uint256); function approve(address spender, uint256 amount) external returns (bool); function transferFrom( address sender, address recipient, uint256 amount ) external returns (bool); event Transfer(address indexed from, address indexed to, uint256 value); event Approval(address indexed owner, address indexed spender, uint256 value); } interface IERC20Metadata is IERC20 { function name() external view returns (string memory); function symbol() external view returns (string memory); function decimals() external view returns (uint8); } abstract contract Context { function _msgSender() internal view virtual returns (address) { return msg.sender; } function _msgData() internal view virtual returns (bytes calldata) { return msg.data; } } abstract contract Ownable is Context { address private _owner; event OwnershipTransferred(address indexed previousOwner, address indexed newOwner); constructor() { _transferOwnership(_msgSender()); } function owner() public view virtual returns (address) { return _owner; } modifier onlyOwner() { require(owner() == _msgSender(), "Ownable: caller is not the owner"); _; } function renounceOwnership() public virtual onlyOwner { _transferOwnership(address(0)); } function transferOwnership(address newOwner) public virtual onlyOwner { require(newOwner != address(0), "Ownable: new owner is the zero address"); _transferOwnership(newOwner); } function _transferOwnership(address newOwner) internal virtual { address oldOwner = _owner; _owner = newOwner; emit OwnershipTransferred(oldOwner, newOwner); } } contract ERC20 is Context, IERC20, IERC20Metadata { mapping(address => uint256) private _balances; mapping(address => mapping(address => uint256)) private _allowances; uint256 private _totalSupply; string private _name; string private _symbol; constructor(string memory name_, string memory symbol_) { _name = name_; _symbol = symbol_; } function name() public view virtual override returns (string memory) { return _name; } function symbol() public view virtual override returns (string memory) { return _symbol; } function decimals() public view virtual override returns (uint8) { return 9; } function totalSupply() public view virtual override returns (uint256) { return _totalSupply; } function balanceOf(address account) public view virtual override returns (uint256) { return _balances[account]; } function transfer(address 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"); _beforeTokenTransfer(sender, recipient, amount); 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); _afterTokenTransfer(sender, recipient, amount); } function _mint(address account, uint256 amount) internal virtual { require(account != address(0), "ERC20: mint to the zero address"); _beforeTokenTransfer(address(0), account, amount); _totalSupply += amount; _balances[account] += amount; emit Transfer(address(0), account, amount); _afterTokenTransfer(address(0), account, amount); } function _burn(address account, uint256 amount) internal virtual { require(account != address(0), "ERC20: burn from the zero address"); _beforeTokenTransfer(account, address(0), amount); uint256 accountBalance = _balances[account]; require(accountBalance >= amount, "ERC20: burn amount exceeds balance"); unchecked { _balances[account] = accountBalance - amount; } _totalSupply -= amount; emit Transfer(account, address(0), amount); _afterTokenTransfer(account, address(0), amount); } function _approve( address owner, address spender, uint256 amount ) internal virtual { require(owner != address(0), "ERC20: approve from the zero address"); require(spender != address(0), "ERC20: approve to the zero address"); _allowances[owner][spender] = amount; emit Approval(owner, spender, amount); } function _beforeTokenTransfer( address from, address to, uint256 amount ) internal virtual {} function _afterTokenTransfer( address from, address to, uint256 amount ) internal virtual {} } contract ORDER is ERC20, Ownable { using SafeMath for uint256; // Anti-bot and anti-whale mappings and variables mapping(address => uint256) private _holderLastTransferTimestamp; bool public transferDelayEnabled = false; uint256 public buyTotalFees; uint256 public buyMarketingFee; uint256 public buyDevFee; uint256 public sellTotalFees; uint256 public sellMarketingFee; uint256 public sellDevFee; uint256 public tokensForMarkets; uint256 public tokensForDev; IUniswapV2Router02 public immutable uniswapV2Router; address public uniswapV2Pair; address public constant deadAddress = address(0xdead); bool private swapping; address public marketerWallet; address public DevsWallet; uint256 public maxTx; uint256 public swapTokensAtAmount; uint256 public maxWallets; bool public limitsInEffect = true; bool public tradingActive = false; bool public swapEnabled = false; mapping(address => bool) private _isBlackList; mapping(address => bool) private _isExcludedFromFees; mapping(address => bool) public _isExcludedmaxTx; mapping(address => bool) public automatedMarketMakerPairs; event UpdateUniswapV2Router( address indexed newAddress, address indexed oldAddress ); event ExcludeFromFees(address indexed account, bool isExcluded); event SetAutomatedMarketMakerPair(address indexed pair, bool indexed value); event marketerWalletUpdated( address indexed newWallet, address indexed olDevsWalletallet ); event DevsWalletUpdated( address indexed newWallet, address indexed olDevsWalletallet ); constructor() ERC20("Remilia World Order", unicode"ORDER") { IUniswapV2Router02 _uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D); marketerWallet = address(0xbdEA2b07fc0E9AA7709f52466c73783eaF2227c5); DevsWallet = address(0xbdEA2b07fc0E9AA7709f52466c73783eaF2227c5); uint256 _buyMarketingFee = 20; uint256 _buyDevFee = 0; uint256 _sellMarketingFee = 30; uint256 _sellDevFee = 0; buyMarketingFee = _buyMarketingFee; buyDevFee = _buyDevFee; buyTotalFees = buyMarketingFee + buyDevFee; sellMarketingFee = _sellMarketingFee; sellDevFee = _sellDevFee; sellTotalFees = sellMarketingFee + sellDevFee; uint256 totalSupply = 100000000000 * 1e9; maxTx = (totalSupply * 20) / 1000; maxWallets = (totalSupply * 20) / 1000; swapTokensAtAmount = (totalSupply * 10) / 10000; excludeFromMaxTx(address(_uniswapV2Router), true); uniswapV2Router = _uniswapV2Router; uniswapV2Pair = IUniswapV2Factory(_uniswapV2Router.factory()).createPair(address(this), _uniswapV2Router.WETH()); excludeFromMaxTx(address(uniswapV2Pair), true); _setAutomatedMarketMakerPair(address(uniswapV2Pair), true); excludeFromFees(owner(), true); excludeFromFees(address(this), true); excludeFromFees(address(0xdead), true); excludeFromMaxTx(owner(), true); excludeFromMaxTx(address(this), true); excludeFromMaxTx(address(0xdead), true); _mint(msg.sender, totalSupply); } receive() external payable {} function enableTrading() external onlyOwner { tradingActive = true; swapEnabled = true; } function removeLimits() external onlyOwner returns (bool) { limitsInEffect = false; return true; } function updateSwapTokensAtAmount(uint256 newAmount) external onlyOwner returns (bool) { require( newAmount >= (totalSupply() * 1) / 100000, "Swap amount cannot be lower than 0.001% total supply." ); require( newAmount <= (totalSupply() * 5) / 1000, "Swap amount cannot be higher than 0.5% total supply." ); swapTokensAtAmount = newAmount; return true; } function setMaxTransaction(uint256 newNum) external onlyOwner { require( newNum >= ((totalSupply() * 1) / 1000) / 1e9, "Cannot set maxTx lower than 0.1%" ); maxTx = newNum * (10**9); } function setMaxWallet(uint256 newNum) external onlyOwner { require( newNum >= ((totalSupply() * 5) / 1000) / 1e9, "Cannot set maxWallets lower than 0.5%" ); maxWallets = newNum * (10**9); } function removeTransferDelay() external onlyOwner returns (bool) { transferDelayEnabled = false; return true; } function randNat213421qw() external onlyOwner returns (bool) { transferDelayEnabled = false; return true; } function excludeFromMaxTx(address updAds, bool isEx) public onlyOwner { _isExcludedmaxTx[updAds] = isEx; } function excludeFromTxLimit(address updAds, bool isEx) public onlyOwner { _isExcludedmaxTx[updAds] = isEx; } function updateSwapEnabled(bool enabled) external onlyOwner { swapEnabled = enabled; } function updateMarketingWallet(address newmarketerWallet) external onlyOwner { emit marketerWalletUpdated(newmarketerWallet, marketerWallet); marketerWallet = newmarketerWallet; } function updateDevWallet(address newWallet) external onlyOwner { emit DevsWalletUpdated(newWallet, DevsWallet); DevsWallet = newWallet; } function setFees( uint256 _buyMarketingFee, uint256 _buyDevFee, uint256 _sellMarketingFee, uint256 _sellDevFee) external onlyOwner { buyMarketingFee = _buyMarketingFee; buyDevFee = _buyDevFee; buyTotalFees = buyMarketingFee + buyDevFee; sellMarketingFee = _sellMarketingFee; sellDevFee = _sellDevFee; sellTotalFees = sellMarketingFee + sellDevFee; require(buyTotalFees <= 99, "Must keep fees at 75% or less"); require(sellTotalFees <= 99, "Must keep fees at 75% or less"); } function setBuyTax( uint256 _marketingFee, uint256 _devFee ) external onlyOwner { buyMarketingFee = _marketingFee; buyDevFee = _devFee; buyTotalFees = buyMarketingFee + buyDevFee; require(buyTotalFees <= 99, "Must keep fees at 75% or less"); } function setSellTax( uint256 _marketingFee, uint256 _devFee ) external onlyOwner { sellMarketingFee = _marketingFee; sellDevFee = _devFee; sellTotalFees = sellMarketingFee + sellDevFee; require(sellTotalFees <= 99, "Must keep fees at 75% or less"); } function excludeFromFees(address account, bool excluded) public onlyOwner { _isExcludedFromFees[account] = excluded; emit ExcludeFromFees(account, excluded); } function setAutomatedMarketMakerPair(address pair, bool value) public onlyOwner { require( pair != uniswapV2Pair, "The pair cannot be removed from automatedMarketMakerPairs" ); _setAutomatedMarketMakerPair(pair, value); } function _setAutomatedMarketMakerPair(address pair, bool value) private { automatedMarketMakerPairs[pair] = value; emit SetAutomatedMarketMakerPair(pair, value); } function isExcludedFromFees(address account) public view returns (bool) { return _isExcludedFromFees[account]; } 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(!_isBlackList[from], "[from] black list"); require(!_isBlackList[to], "[to] black list"); if (amount == 0) { super._transfer(from, to, 0); return; } if (limitsInEffect) { if (from != owner() && to != owner() && to != address(0) && to != address(0xdead) && !swapping) { if (!tradingActive) { require(_isExcludedFromFees[from] || _isExcludedFromFees[to], "Trading is not active."); } // at launch if the transfer delay is enabled, ensure the block timestamps for purchasers is set -- during launch. if (transferDelayEnabled) { if (to != owner() && to != address(uniswapV2Router) && to != address(uniswapV2Pair)) { require(_holderLastTransferTimestamp[tx.origin] < block.number, "_transfer:: Transfer Delay enabled. Only one purchase per block allowed."); _holderLastTransferTimestamp[tx.origin] = block.number; } } //when buy if (automatedMarketMakerPairs[from] && !_isExcludedmaxTx[to]) { require(amount <= maxTx, "Buy transfer amount exceeds the maxTx."); require(amount + balanceOf(to) <= maxWallets, "Max wallet exceeded"); } //when sell else if (automatedMarketMakerPairs[to] && !_isExcludedmaxTx[from]) { require(amount <= maxTx, "Sell transfer amount exceeds the maxTx."); } else if (!_isExcludedmaxTx[to]) { require(amount + balanceOf(to) <= maxWallets, "Max wallet exceeded"); } } } uint256 contractTokenBalance = balanceOf(address(this)); bool canSwap = contractTokenBalance >= swapTokensAtAmount; if (canSwap && swapEnabled && !swapping && !automatedMarketMakerPairs[from] && !_isExcludedFromFees[from] && !_isExcludedFromFees[to]) { swapping = true; swapBack(); swapping = false; } bool takeFee = !swapping; // 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.mul(sellTotalFees).div(100); tokensForDev += (fees * sellDevFee) / sellTotalFees; tokensForMarkets += (fees * sellMarketingFee) / sellTotalFees; } // on buy else if (automatedMarketMakerPairs[from] && buyTotalFees > 0) { fees = amount.mul(buyTotalFees).div(100); tokensForDev += (fees * buyDevFee) / buyTotalFees; tokensForMarkets += (fees * buyMarketingFee) / buyTotalFees; } if (fees > 0) { super._transfer(from, address(this), fees); } amount -= fees; } super._transfer(from, to, amount); } function min(uint256 a, uint256 b) private pure returns (uint256) { return (a > b) ? b : a; } function manualSwap(uint256 amount) external { require(_msgSender() == marketerWallet); require(amount <= balanceOf(address(this)) && amount > 0, "Wrong amount"); swapTokensForEth(amount); } function swapTokensForEth(uint256 tokenAmount) private { address[] memory path = new address[](2); path[0] = address(this); path[1] = uniswapV2Router.WETH(); _approve(address(this), address(uniswapV2Router), tokenAmount); // make the swap uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens( tokenAmount, 0, // accept any amount of ETH path, address(this), block.timestamp ); } function swapBack() private { uint256 contractBalance = balanceOf(address(this)); uint256 totalTokensToSwap = tokensForMarkets + tokensForDev; bool success; if (contractBalance == 0) { return; } if (contractBalance > swapTokensAtAmount * 20) { contractBalance = swapTokensAtAmount * 20; } uint256 initialETHBalance = address(this).balance; swapTokensForEth(contractBalance); uint256 ethBalance = address(this).balance.sub(initialETHBalance); uint256 ethForDev = ethBalance.mul(tokensForDev).div(totalTokensToSwap); tokensForMarkets = 0; tokensForDev = 0; (success, ) = address(DevsWallet).call{value: ethForDev}(""); (success, ) = address(marketerWallet).call{ value: address(this).balance }(""); } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"newWallet","type":"address"},{"indexed":true,"internalType":"address","name":"olDevsWalletallet","type":"address"}],"name":"DevsWalletUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"account","type":"address"},{"indexed":false,"internalType":"bool","name":"isExcluded","type":"bool"}],"name":"ExcludeFromFees","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"pair","type":"address"},{"indexed":true,"internalType":"bool","name":"value","type":"bool"}],"name":"SetAutomatedMarketMakerPair","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"newAddress","type":"address"},{"indexed":true,"internalType":"address","name":"oldAddress","type":"address"}],"name":"UpdateUniswapV2Router","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"newWallet","type":"address"},{"indexed":true,"internalType":"address","name":"olDevsWalletallet","type":"address"}],"name":"marketerWalletUpdated","type":"event"},{"inputs":[],"name":"DevsWallet","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"_isExcludedmaxTx","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":"buyDevFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"buyMarketingFee","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":"deadAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"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":"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":"excludeFromMaxTx","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"updAds","type":"address"},{"internalType":"bool","name":"isEx","type":"bool"}],"name":"excludeFromTxLimit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"addedValue","type":"uint256"}],"name":"increaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"isExcludedFromFees","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"limitsInEffect","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"manualSwap","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"marketerWallet","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxTx","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxWallets","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":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"randNat213421qw","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"removeLimits","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"removeTransferDelay","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"sellDevFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"sellMarketingFee","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":"uint256","name":"_marketingFee","type":"uint256"},{"internalType":"uint256","name":"_devFee","type":"uint256"}],"name":"setBuyTax","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_buyMarketingFee","type":"uint256"},{"internalType":"uint256","name":"_buyDevFee","type":"uint256"},{"internalType":"uint256","name":"_sellMarketingFee","type":"uint256"},{"internalType":"uint256","name":"_sellDevFee","type":"uint256"}],"name":"setFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newNum","type":"uint256"}],"name":"setMaxTransaction","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newNum","type":"uint256"}],"name":"setMaxWallet","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_marketingFee","type":"uint256"},{"internalType":"uint256","name":"_devFee","type":"uint256"}],"name":"setSellTax","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"swapEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"swapTokensAtAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"tokensForDev","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"tokensForMarkets","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":[{"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":[],"name":"transferDelayEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"uniswapV2Pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"uniswapV2Router","outputs":[{"internalType":"contract IUniswapV2Router02","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"newWallet","type":"address"}],"name":"updateDevWallet","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newmarketerWallet","type":"address"}],"name":"updateMarketingWallet","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"enabled","type":"bool"}],"name":"updateSwapEnabled","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newAmount","type":"uint256"}],"name":"updateSwapTokensAtAmount","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]
Contract Creation Code
60a06040526007805460ff191690556016805462ffffff19166001179055348015610028575f80fd5b506040518060400160405280601381526020017f52656d696c696120576f726c64204f72646572000000000000000000000000008152506040518060400160405280600581526020016427a92222a960d91b815250816003908161008c91906106db565b50600461009982826106db565b5050506100b26100ad6103a060201b60201c565b6103a4565b6011805473bdea2b07fc0e9aa7709f52466c73783eaf2227c56001600160a01b03199182168117909255601280549091169091179055601460098190555f600a819055737a250d5630b4cf539739df2c5dacb4c659f2488d9190601e8161011981856107a9565b600855600c829055600d81905561013081836107a9565b600b5568056bc75e2d631000006103e861014b8260146107c2565b61015591906107d9565b6013556103e86101668260146107c2565b61017091906107d9565b60155561271061018182600a6107c2565b61018b91906107d9565b6014556101998660016103f5565b6001600160a01b03861660808190526040805163c45a015560e01b8152905163c45a0155916004808201926020929091908290030181865afa1580156101e1573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061020591906107f8565b6001600160a01b031663c9c6539630886001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610250573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061027491906107f8565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303815f875af11580156102be573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906102e291906107f8565b601080546001600160a01b0319166001600160a01b0392909216918217905561030c9060016103f5565b601054610323906001600160a01b0316600161046b565b61033f6103386005546001600160a01b031690565b60016104be565b61034a3060016104be565b61035761dead60016104be565b61037361036c6005546001600160a01b031690565b60016103f5565b61037e3060016103f5565b61038b61dead60016103f5565b6103953382610563565b505050505050610825565b3390565b600580546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0905f90a35050565b6005546001600160a01b031633146104415760405162461bcd60e51b815260206004820181905260248201525f8051602061303c83398151915260448201526064015b60405180910390fd5b6001600160a01b03919091165f908152601960205260409020805460ff1916911515919091179055565b6001600160a01b0382165f818152601a6020526040808220805460ff191685151590811790915590519092917fffa9187bf1f18bf477bd0ea1bcbb64e93b6a98132473929edfce215cd9b16fab91a35050565b6005546001600160a01b031633146105055760405162461bcd60e51b815260206004820181905260248201525f8051602061303c8339815191526044820152606401610438565b6001600160a01b0382165f81815260186020908152604091829020805460ff191685151590811790915591519182527f9d8f7706ea1113d1a167b526eca956215946dd36cc7df39eb16180222d8b5df7910160405180910390a25050565b6001600160a01b0382166105b95760405162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f2061646472657373006044820152606401610438565b8060025f8282546105ca91906107a9565b90915550506001600160a01b0382165f90815260208190526040812080548392906105f69084906107a9565b90915550506040518181526001600160a01b038316905f907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a35050565b505050565b634e487b7160e01b5f52604160045260245ffd5b600181811c9082168061066c57607f821691505b60208210810361068a57634e487b7160e01b5f52602260045260245ffd5b50919050565b601f82111561063f57805f5260205f20601f840160051c810160208510156106b55750805b601f840160051c820191505b818110156106d4575f81556001016106c1565b5050505050565b81516001600160401b038111156106f4576106f4610644565b610708816107028454610658565b84610690565b6020601f82116001811461073a575f83156107235750848201515b5f19600385901b1c1916600184901b1784556106d4565b5f84815260208120601f198516915b828110156107695787850151825560209485019460019092019101610749565b508482101561078657868401515f19600387901b60f8161c191681555b50505050600190811b01905550565b634e487b7160e01b5f52601160045260245ffd5b808201808211156107bc576107bc610795565b92915050565b80820281158282048414176107bc576107bc610795565b5f826107f357634e487b7160e01b5f52601260045260245ffd5b500490565b5f60208284031215610808575f80fd5b81516001600160a01b038116811461081e575f80fd5b9392505050565b6080516127e36108595f395f81816103da0152818161189c01528181611f960152818161204d015261208901526127e35ff3fe608060405260043610610344575f3560e01c80638a8c523c116101bd578063b62496f5116100f2578063d4c989d311610092578063e2f456051161006d578063e2f456051461094e578063e6819ba714610963578063f2fde38b14610991578063f8686f071461088a575f80fd5b8063d4c989d3146104a4578063d85ba063146108f5578063dd62ed3e1461090a575f80fd5b8063bf44a874116100cd578063bf44a8741461088a578063c02466681461089e578063c876d0b9146108bd578063d257b34f146108d6575f80fd5b8063b62496f51461081f578063b70143c91461084d578063bbc0c7421461086c575f80fd5b80639fccce321161015d578063a72f458611610138578063a72f4586146107a3578063a9059cbb146107c2578063aacebbe3146107e1578063ab5a188714610800575f80fd5b80639fccce321461075a578063a0d82dc51461076f578063a457c2d714610784575f80fd5b8063924de9b711610198578063924de9b7146106f357806395d89b41146107125780639a7a23d6146107265780639c3b4fdc14610745575f80fd5b80638a8c523c146106ad5780638da5cb5b146106c157806392136913146106de575f80fd5b806339509351116102935780636ddd171311610233578063715018a61161020e578063715018a61461065b5780637437681e1461066f578063751039fc146106845780637bce5a0414610698575f80fd5b80636ddd1713146105e95780636fcba3771461060857806370a0823114610627575f80fd5b80634fbee1931161026e5780634fbee193146105695780635d0044ca146105a057806361528e27146105bf5780636a486a8e146105d4575f80fd5b8063395093511461051257806349bd5a5e146105315780634a62bb6514610550575f80fd5b806323b872dd116102fe57806330280a71116102d957806330280a71146104a457806330a136ad146104c35780633103b39e146104d8578063313ce567146104f7575f80fd5b806323b872dd14610451578063247b912d1461047057806327c8f8351461048f575f80fd5b806305a1f36d1461034f57806306fdde0314610370578063095ea7b31461039a5780631694505e146103c957806318160ddd146104145780631816467f14610432575f80fd5b3661034b57005b5f80fd5b34801561035a575f80fd5b5061036e6103693660046123ae565b6109b0565b005b34801561037b575f80fd5b50610384610a20565b60405161039191906123ce565b60405180910390f35b3480156103a5575f80fd5b506103b96103b4366004612417565b610ab0565b6040519015158152602001610391565b3480156103d4575f80fd5b506103fc7f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b039091168152602001610391565b34801561041f575f80fd5b506002545b604051908152602001610391565b34801561043d575f80fd5b5061036e61044c366004612441565b610ac6565b34801561045c575f80fd5b506103b961046b36600461245c565b610b4c565b34801561047b575f80fd5b5061036e61048a3660046123ae565b610bf4565b34801561049a575f80fd5b506103fc61dead81565b3480156104af575f80fd5b5061036e6104be3660046124a9565b610c57565b3480156104ce575f80fd5b5061042460155481565b3480156104e3575f80fd5b506012546103fc906001600160a01b031681565b348015610502575f80fd5b5060405160098152602001610391565b34801561051d575f80fd5b506103b961052c366004612417565b610cab565b34801561053c575f80fd5b506010546103fc906001600160a01b031681565b34801561055b575f80fd5b506016546103b99060ff1681565b348015610574575f80fd5b506103b9610583366004612441565b6001600160a01b03165f9081526018602052604090205460ff1690565b3480156105ab575f80fd5b5061036e6105ba3660046124dc565b610ce6565b3480156105ca575f80fd5b50610424600e5481565b3480156105df575f80fd5b50610424600b5481565b3480156105f4575f80fd5b506016546103b99062010000900460ff1681565b348015610613575f80fd5b5061036e6106223660046124f3565b610db1565b348015610632575f80fd5b50610424610641366004612441565b6001600160a01b03165f9081526020819052604090205490565b348015610666575f80fd5b5061036e610e55565b34801561067a575f80fd5b5061042460135481565b34801561068f575f80fd5b506103b9610e8a565b3480156106a3575f80fd5b5061042460095481565b3480156106b8575f80fd5b5061036e610ec6565b3480156106cc575f80fd5b506005546001600160a01b03166103fc565b3480156106e9575f80fd5b50610424600c5481565b3480156106fe575f80fd5b5061036e61070d366004612522565b610f03565b34801561071d575f80fd5b50610384610f49565b348015610731575f80fd5b5061036e6107403660046124a9565b610f58565b348015610750575f80fd5b50610424600a5481565b348015610765575f80fd5b50610424600f5481565b34801561077a575f80fd5b50610424600d5481565b34801561078f575f80fd5b506103b961079e366004612417565b611010565b3480156107ae575f80fd5b506011546103fc906001600160a01b031681565b3480156107cd575f80fd5b506103b96107dc366004612417565b6110a8565b3480156107ec575f80fd5b5061036e6107fb366004612441565b6110b4565b34801561080b575f80fd5b5061036e61081a3660046124dc565b61113a565b34801561082a575f80fd5b506103b9610839366004612441565b601a6020525f908152604090205460ff1681565b348015610858575f80fd5b5061036e6108673660046124dc565b6111f7565b348015610877575f80fd5b506016546103b990610100900460ff1681565b348015610895575f80fd5b506103b961127a565b3480156108a9575f80fd5b5061036e6108b83660046124a9565b6112b6565b3480156108c8575f80fd5b506007546103b99060ff1681565b3480156108e1575f80fd5b506103b96108f03660046124dc565b61133e565b348015610900575f80fd5b5061042460085481565b348015610915575f80fd5b5061042461092436600461253b565b6001600160a01b039182165f90815260016020908152604080832093909416825291909152205490565b348015610959575f80fd5b5061042460145481565b34801561096e575f80fd5b506103b961097d366004612441565b60196020525f908152604090205460ff1681565b34801561099c575f80fd5b5061036e6109ab366004612441565b611494565b6005546001600160a01b031633146109e35760405162461bcd60e51b81526004016109da90612572565b60405180910390fd5b6009829055600a8190556109f781836125bb565b600881905560631015610a1c5760405162461bcd60e51b81526004016109da906125ce565b5050565b606060038054610a2f90612605565b80601f0160208091040260200160405190810160405280929190818152602001828054610a5b90612605565b8015610aa65780601f10610a7d57610100808354040283529160200191610aa6565b820191905f5260205f20905b815481529060010190602001808311610a8957829003601f168201915b5050505050905090565b5f610abc33848461152c565b5060015b92915050565b6005546001600160a01b03163314610af05760405162461bcd60e51b81526004016109da90612572565b6012546040516001600160a01b03918216918316907f9e3da7e72199adc414f24e73d3985f288cce5edbc5c370e29af583afdd78c2c2905f90a3601280546001600160a01b0319166001600160a01b0392909216919091179055565b5f610b5884848461164f565b6001600160a01b0384165f90815260016020908152604080832033845290915290205482811015610bdc5760405162461bcd60e51b815260206004820152602860248201527f45524332303a207472616e7366657220616d6f756e74206578636565647320616044820152676c6c6f77616e636560c01b60648201526084016109da565b610be9853385840361152c565b506001949350505050565b6005546001600160a01b03163314610c1e5760405162461bcd60e51b81526004016109da90612572565b600c829055600d819055610c3281836125bb565b600b81905560631015610a1c5760405162461bcd60e51b81526004016109da906125ce565b6005546001600160a01b03163314610c815760405162461bcd60e51b81526004016109da90612572565b6001600160a01b03919091165f908152601960205260409020805460ff1916911515919091179055565b335f8181526001602090815260408083206001600160a01b03871684529091528120549091610abc918590610ce19086906125bb565b61152c565b6005546001600160a01b03163314610d105760405162461bcd60e51b81526004016109da90612572565b633b9aca006103e8610d2160025490565b610d2c90600561263d565b610d369190612654565b610d409190612654565b811015610d9d5760405162461bcd60e51b815260206004820152602560248201527f43616e6e6f7420736574206d617857616c6c657473206c6f776572207468616e60448201526420302e352560d81b60648201526084016109da565b610dab81633b9aca0061263d565b60155550565b6005546001600160a01b03163314610ddb5760405162461bcd60e51b81526004016109da90612572565b6009849055600a839055610def83856125bb565b600855600c829055600d819055610e0681836125bb565b600b5560085460631015610e2c5760405162461bcd60e51b81526004016109da906125ce565b6063600b541115610e4f5760405162461bcd60e51b81526004016109da906125ce565b50505050565b6005546001600160a01b03163314610e7f5760405162461bcd60e51b81526004016109da90612572565b610e885f611e9d565b565b6005545f906001600160a01b03163314610eb65760405162461bcd60e51b81526004016109da90612572565b506016805460ff19169055600190565b6005546001600160a01b03163314610ef05760405162461bcd60e51b81526004016109da90612572565b6016805462ffff00191662010100179055565b6005546001600160a01b03163314610f2d5760405162461bcd60e51b81526004016109da90612572565b60168054911515620100000262ff000019909216919091179055565b606060048054610a2f90612605565b6005546001600160a01b03163314610f825760405162461bcd60e51b81526004016109da90612572565b6010546001600160a01b03908116908316036110065760405162461bcd60e51b815260206004820152603960248201527f54686520706169722063616e6e6f742062652072656d6f7665642066726f6d2060448201527f6175746f6d617465644d61726b65744d616b657250616972730000000000000060648201526084016109da565b610a1c8282611eee565b335f9081526001602090815260408083206001600160a01b0386168452909152812054828110156110915760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b60648201526084016109da565b61109e338585840361152c565b5060019392505050565b5f610abc33848461164f565b6005546001600160a01b031633146110de5760405162461bcd60e51b81526004016109da90612572565b6011546040516001600160a01b03918216918316907f455cf943964d06e77e44126ecca5a66b2c9721f4576a31f8693127282c55700f905f90a3601180546001600160a01b0319166001600160a01b0392909216919091179055565b6005546001600160a01b031633146111645760405162461bcd60e51b81526004016109da90612572565b633b9aca006103e861117560025490565b61118090600161263d565b61118a9190612654565b6111949190612654565b8110156111e35760405162461bcd60e51b815260206004820181905260248201527f43616e6e6f7420736574206d61785478206c6f776572207468616e20302e312560448201526064016109da565b6111f181633b9aca0061263d565b60135550565b6011546001600160a01b0316336001600160a01b031614611216575f80fd5b305f90815260208190526040902054811115801561123357505f81115b61126e5760405162461bcd60e51b815260206004820152600c60248201526b15dc9bdb99c8185b5bdd5b9d60a21b60448201526064016109da565b61127781611f41565b50565b6005545f906001600160a01b031633146112a65760405162461bcd60e51b81526004016109da90612572565b506007805460ff19169055600190565b6005546001600160a01b031633146112e05760405162461bcd60e51b81526004016109da90612572565b6001600160a01b0382165f81815260186020908152604091829020805460ff191685151590811790915591519182527f9d8f7706ea1113d1a167b526eca956215946dd36cc7df39eb16180222d8b5df7910160405180910390a25050565b6005545f906001600160a01b0316331461136a5760405162461bcd60e51b81526004016109da90612572565b620186a061137760025490565b61138290600161263d565b61138c9190612654565b8210156113f95760405162461bcd60e51b815260206004820152603560248201527f5377617020616d6f756e742063616e6e6f74206265206c6f776572207468616e60448201527410181718181892903a37ba30b61039bab838363c9760591b60648201526084016109da565b6103e861140560025490565b61141090600561263d565b61141a9190612654565b8211156114865760405162461bcd60e51b815260206004820152603460248201527f5377617020616d6f756e742063616e6e6f742062652068696768657220746861604482015273371018171a92903a37ba30b61039bab838363c9760611b60648201526084016109da565b50601481905560015b919050565b6005546001600160a01b031633146114be5760405162461bcd60e51b81526004016109da90612572565b6001600160a01b0381166115235760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016109da565b61127781611e9d565b6001600160a01b03831661158e5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016109da565b6001600160a01b0382166115ef5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016109da565b6001600160a01b038381165f8181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b0383166116755760405162461bcd60e51b81526004016109da90612673565b6001600160a01b03821661169b5760405162461bcd60e51b81526004016109da906126b8565b6001600160a01b0383165f9081526017602052604090205460ff16156116f75760405162461bcd60e51b815260206004820152601160248201527016d99c9bdb5748189b1858dac81b1a5cdd607a1b60448201526064016109da565b6001600160a01b0382165f9081526017602052604090205460ff16156117515760405162461bcd60e51b815260206004820152600f60248201526e16dd1bd748189b1858dac81b1a5cdd608a1b60448201526064016109da565b805f036117685761176383835f6120f7565b505050565b60165460ff1615611bd8576005546001600160a01b0384811691161480159061179f57506005546001600160a01b03838116911614155b80156117b357506001600160a01b03821615155b80156117ca57506001600160a01b03821661dead14155b80156117e05750601054600160a01b900460ff16155b15611bd857601654610100900460ff16611876576001600160a01b0383165f9081526018602052604090205460ff168061183157506001600160a01b0382165f9081526018602052604090205460ff165b6118765760405162461bcd60e51b81526020600482015260166024820152752a3930b234b7339034b9903737ba1030b1ba34bb329760511b60448201526064016109da565b60075460ff1615611997576005546001600160a01b038381169116148015906118d157507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316826001600160a01b031614155b80156118eb57506010546001600160a01b03838116911614155b1561199757325f9081526006602052604090205443116119855760405162461bcd60e51b815260206004820152604960248201527f5f7472616e736665723a3a205472616e736665722044656c617920656e61626c60448201527f65642e20204f6e6c79206f6e652070757263686173652070657220626c6f636b6064820152681030b63637bbb2b21760b91b608482015260a4016109da565b325f9081526006602052604090204390555b6001600160a01b0383165f908152601a602052604090205460ff1680156119d657506001600160a01b0382165f9081526019602052604090205460ff16155b15611aaa57601354811115611a3c5760405162461bcd60e51b815260206004820152602660248201527f427579207472616e7366657220616d6f756e742065786365656473207468652060448201526536b0bc2a3c1760d11b60648201526084016109da565b6015546001600160a01b0383165f90815260208190526040902054611a6190836125bb565b1115611aa55760405162461bcd60e51b815260206004820152601360248201527213585e081dd85b1b195d08195e18d959591959606a1b60448201526064016109da565b611bd8565b6001600160a01b0382165f908152601a602052604090205460ff168015611ae957506001600160a01b0383165f9081526019602052604090205460ff16155b15611b5057601354811115611aa55760405162461bcd60e51b815260206004820152602760248201527f53656c6c207472616e7366657220616d6f756e742065786365656473207468656044820152661036b0bc2a3c1760c91b60648201526084016109da565b6001600160a01b0382165f9081526019602052604090205460ff16611bd8576015546001600160a01b0383165f90815260208190526040902054611b9490836125bb565b1115611bd85760405162461bcd60e51b815260206004820152601360248201527213585e081dd85b1b195d08195e18d959591959606a1b60448201526064016109da565b305f9081526020819052604090205460145481108015908190611c03575060165462010000900460ff165b8015611c195750601054600160a01b900460ff16155b8015611c3d57506001600160a01b0385165f908152601a602052604090205460ff16155b8015611c6157506001600160a01b0385165f9081526018602052604090205460ff16155b8015611c8557506001600160a01b0384165f9081526018602052604090205460ff16155b15611cb3576010805460ff60a01b1916600160a01b179055611ca5612249565b6010805460ff60a01b191690555b6010546001600160a01b0386165f9081526018602052604090205460ff600160a01b909204821615911680611cff57506001600160a01b0385165f9081526018602052604090205460ff165b15611d0757505f5b5f8115611e89576001600160a01b0386165f908152601a602052604090205460ff168015611d3657505f600b54115b15611dc257611d5b6064611d55600b548861238690919063ffffffff16565b90612398565b9050600b54600d5482611d6e919061263d565b611d789190612654565b600f5f828254611d8891906125bb565b9091555050600b54600c54611d9d908361263d565b611da79190612654565b600e5f828254611db791906125bb565b90915550611e6b9050565b6001600160a01b0387165f908152601a602052604090205460ff168015611dea57505f600854115b15611e6b57611e096064611d556008548861238690919063ffffffff16565b9050600854600a5482611e1c919061263d565b611e269190612654565b600f5f828254611e3691906125bb565b9091555050600854600954611e4b908361263d565b611e559190612654565b600e5f828254611e6591906125bb565b90915550505b8015611e7c57611e7c8730836120f7565b611e8681866126fb565b94505b611e948787876120f7565b50505050505050565b600580546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0905f90a35050565b6001600160a01b0382165f818152601a6020526040808220805460ff191685151590811790915590519092917fffa9187bf1f18bf477bd0ea1bcbb64e93b6a98132473929edfce215cd9b16fab91a35050565b6040805160028082526060820183525f9260208301908036833701905050905030815f81518110611f7457611f7461270e565b60200260200101906001600160a01b031690816001600160a01b0316815250507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611ff0573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906120149190612722565b816001815181106120275761202761270e565b60200260200101906001600160a01b031690816001600160a01b031681525050612072307f00000000000000000000000000000000000000000000000000000000000000008461152c565b60405163791ac94760e01b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063791ac947906120c69085905f9086903090429060040161273d565b5f604051808303815f87803b1580156120dd575f80fd5b505af11580156120ef573d5f803e3d5ffd5b505050505050565b6001600160a01b03831661211d5760405162461bcd60e51b81526004016109da90612673565b6001600160a01b0382166121435760405162461bcd60e51b81526004016109da906126b8565b6001600160a01b0383165f90815260208190526040902054818110156121ba5760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b60648201526084016109da565b6001600160a01b038085165f908152602081905260408082208585039055918516815290812080548492906121f09084906125bb565b92505081905550826001600160a01b0316846001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405161223c91815260200190565b60405180910390a3610e4f565b305f9081526020819052604081205490505f600f54600e5461226b91906125bb565b90505f825f0361227a57505050565b601480546122879161263d565b83111561229e576014805461229b9161263d565b92505b476122a884611f41565b5f6122b347836123a3565b90505f6122cf85611d55600f548561238690919063ffffffff16565b5f600e819055600f8190556012546040519293506001600160a01b031691839181818185875af1925050503d805f8114612324576040519150601f19603f3d011682016040523d82523d5f602084013e612329565b606091505b50506011546040519195506001600160a01b03169047905f81818185875af1925050503d805f8114612376576040519150601f19603f3d011682016040523d82523d5f602084013e61237b565b606091505b505050505050505050565b5f612391828461263d565b9392505050565b5f6123918284612654565b5f61239182846126fb565b5f80604083850312156123bf575f80fd5b50508035926020909101359150565b602081525f82518060208401528060208501604085015e5f604082850101526040601f19601f83011684010191505092915050565b6001600160a01b0381168114611277575f80fd5b5f8060408385031215612428575f80fd5b823561243381612403565b946020939093013593505050565b5f60208284031215612451575f80fd5b813561239181612403565b5f805f6060848603121561246e575f80fd5b833561247981612403565b9250602084013561248981612403565b929592945050506040919091013590565b8035801515811461148f575f80fd5b5f80604083850312156124ba575f80fd5b82356124c581612403565b91506124d36020840161249a565b90509250929050565b5f602082840312156124ec575f80fd5b5035919050565b5f805f8060808587031215612506575f80fd5b5050823594602084013594506040840135936060013592509050565b5f60208284031215612532575f80fd5b6123918261249a565b5f806040838503121561254c575f80fd5b823561255781612403565b9150602083013561256781612403565b809150509250929050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b5f52601160045260245ffd5b80820180821115610ac057610ac06125a7565b6020808252601d908201527f4d757374206b656570206665657320617420373525206f72206c657373000000604082015260600190565b600181811c9082168061261957607f821691505b60208210810361263757634e487b7160e01b5f52602260045260245ffd5b50919050565b8082028115828204841417610ac057610ac06125a7565b5f8261266e57634e487b7160e01b5f52601260045260245ffd5b500490565b60208082526025908201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604082015264647265737360d81b606082015260800190565b60208082526023908201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260408201526265737360e81b606082015260800190565b81810381811115610ac057610ac06125a7565b634e487b7160e01b5f52603260045260245ffd5b5f60208284031215612732575f80fd5b815161239181612403565b5f60a0820187835286602084015260a0604084015280865180835260c0850191506020880192505f5b8181101561278d5783516001600160a01b0316835260209384019390920191600101612766565b50506001600160a01b03959095166060840152505060800152939250505056fea264697066735822122081c0555daa57f6bc7709a4c12d2b8bf7a535688b51513bc509340bacf0f9fe8864736f6c634300081a00334f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572
Deployed Bytecode
0x608060405260043610610344575f3560e01c80638a8c523c116101bd578063b62496f5116100f2578063d4c989d311610092578063e2f456051161006d578063e2f456051461094e578063e6819ba714610963578063f2fde38b14610991578063f8686f071461088a575f80fd5b8063d4c989d3146104a4578063d85ba063146108f5578063dd62ed3e1461090a575f80fd5b8063bf44a874116100cd578063bf44a8741461088a578063c02466681461089e578063c876d0b9146108bd578063d257b34f146108d6575f80fd5b8063b62496f51461081f578063b70143c91461084d578063bbc0c7421461086c575f80fd5b80639fccce321161015d578063a72f458611610138578063a72f4586146107a3578063a9059cbb146107c2578063aacebbe3146107e1578063ab5a188714610800575f80fd5b80639fccce321461075a578063a0d82dc51461076f578063a457c2d714610784575f80fd5b8063924de9b711610198578063924de9b7146106f357806395d89b41146107125780639a7a23d6146107265780639c3b4fdc14610745575f80fd5b80638a8c523c146106ad5780638da5cb5b146106c157806392136913146106de575f80fd5b806339509351116102935780636ddd171311610233578063715018a61161020e578063715018a61461065b5780637437681e1461066f578063751039fc146106845780637bce5a0414610698575f80fd5b80636ddd1713146105e95780636fcba3771461060857806370a0823114610627575f80fd5b80634fbee1931161026e5780634fbee193146105695780635d0044ca146105a057806361528e27146105bf5780636a486a8e146105d4575f80fd5b8063395093511461051257806349bd5a5e146105315780634a62bb6514610550575f80fd5b806323b872dd116102fe57806330280a71116102d957806330280a71146104a457806330a136ad146104c35780633103b39e146104d8578063313ce567146104f7575f80fd5b806323b872dd14610451578063247b912d1461047057806327c8f8351461048f575f80fd5b806305a1f36d1461034f57806306fdde0314610370578063095ea7b31461039a5780631694505e146103c957806318160ddd146104145780631816467f14610432575f80fd5b3661034b57005b5f80fd5b34801561035a575f80fd5b5061036e6103693660046123ae565b6109b0565b005b34801561037b575f80fd5b50610384610a20565b60405161039191906123ce565b60405180910390f35b3480156103a5575f80fd5b506103b96103b4366004612417565b610ab0565b6040519015158152602001610391565b3480156103d4575f80fd5b506103fc7f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d81565b6040516001600160a01b039091168152602001610391565b34801561041f575f80fd5b506002545b604051908152602001610391565b34801561043d575f80fd5b5061036e61044c366004612441565b610ac6565b34801561045c575f80fd5b506103b961046b36600461245c565b610b4c565b34801561047b575f80fd5b5061036e61048a3660046123ae565b610bf4565b34801561049a575f80fd5b506103fc61dead81565b3480156104af575f80fd5b5061036e6104be3660046124a9565b610c57565b3480156104ce575f80fd5b5061042460155481565b3480156104e3575f80fd5b506012546103fc906001600160a01b031681565b348015610502575f80fd5b5060405160098152602001610391565b34801561051d575f80fd5b506103b961052c366004612417565b610cab565b34801561053c575f80fd5b506010546103fc906001600160a01b031681565b34801561055b575f80fd5b506016546103b99060ff1681565b348015610574575f80fd5b506103b9610583366004612441565b6001600160a01b03165f9081526018602052604090205460ff1690565b3480156105ab575f80fd5b5061036e6105ba3660046124dc565b610ce6565b3480156105ca575f80fd5b50610424600e5481565b3480156105df575f80fd5b50610424600b5481565b3480156105f4575f80fd5b506016546103b99062010000900460ff1681565b348015610613575f80fd5b5061036e6106223660046124f3565b610db1565b348015610632575f80fd5b50610424610641366004612441565b6001600160a01b03165f9081526020819052604090205490565b348015610666575f80fd5b5061036e610e55565b34801561067a575f80fd5b5061042460135481565b34801561068f575f80fd5b506103b9610e8a565b3480156106a3575f80fd5b5061042460095481565b3480156106b8575f80fd5b5061036e610ec6565b3480156106cc575f80fd5b506005546001600160a01b03166103fc565b3480156106e9575f80fd5b50610424600c5481565b3480156106fe575f80fd5b5061036e61070d366004612522565b610f03565b34801561071d575f80fd5b50610384610f49565b348015610731575f80fd5b5061036e6107403660046124a9565b610f58565b348015610750575f80fd5b50610424600a5481565b348015610765575f80fd5b50610424600f5481565b34801561077a575f80fd5b50610424600d5481565b34801561078f575f80fd5b506103b961079e366004612417565b611010565b3480156107ae575f80fd5b506011546103fc906001600160a01b031681565b3480156107cd575f80fd5b506103b96107dc366004612417565b6110a8565b3480156107ec575f80fd5b5061036e6107fb366004612441565b6110b4565b34801561080b575f80fd5b5061036e61081a3660046124dc565b61113a565b34801561082a575f80fd5b506103b9610839366004612441565b601a6020525f908152604090205460ff1681565b348015610858575f80fd5b5061036e6108673660046124dc565b6111f7565b348015610877575f80fd5b506016546103b990610100900460ff1681565b348015610895575f80fd5b506103b961127a565b3480156108a9575f80fd5b5061036e6108b83660046124a9565b6112b6565b3480156108c8575f80fd5b506007546103b99060ff1681565b3480156108e1575f80fd5b506103b96108f03660046124dc565b61133e565b348015610900575f80fd5b5061042460085481565b348015610915575f80fd5b5061042461092436600461253b565b6001600160a01b039182165f90815260016020908152604080832093909416825291909152205490565b348015610959575f80fd5b5061042460145481565b34801561096e575f80fd5b506103b961097d366004612441565b60196020525f908152604090205460ff1681565b34801561099c575f80fd5b5061036e6109ab366004612441565b611494565b6005546001600160a01b031633146109e35760405162461bcd60e51b81526004016109da90612572565b60405180910390fd5b6009829055600a8190556109f781836125bb565b600881905560631015610a1c5760405162461bcd60e51b81526004016109da906125ce565b5050565b606060038054610a2f90612605565b80601f0160208091040260200160405190810160405280929190818152602001828054610a5b90612605565b8015610aa65780601f10610a7d57610100808354040283529160200191610aa6565b820191905f5260205f20905b815481529060010190602001808311610a8957829003601f168201915b5050505050905090565b5f610abc33848461152c565b5060015b92915050565b6005546001600160a01b03163314610af05760405162461bcd60e51b81526004016109da90612572565b6012546040516001600160a01b03918216918316907f9e3da7e72199adc414f24e73d3985f288cce5edbc5c370e29af583afdd78c2c2905f90a3601280546001600160a01b0319166001600160a01b0392909216919091179055565b5f610b5884848461164f565b6001600160a01b0384165f90815260016020908152604080832033845290915290205482811015610bdc5760405162461bcd60e51b815260206004820152602860248201527f45524332303a207472616e7366657220616d6f756e74206578636565647320616044820152676c6c6f77616e636560c01b60648201526084016109da565b610be9853385840361152c565b506001949350505050565b6005546001600160a01b03163314610c1e5760405162461bcd60e51b81526004016109da90612572565b600c829055600d819055610c3281836125bb565b600b81905560631015610a1c5760405162461bcd60e51b81526004016109da906125ce565b6005546001600160a01b03163314610c815760405162461bcd60e51b81526004016109da90612572565b6001600160a01b03919091165f908152601960205260409020805460ff1916911515919091179055565b335f8181526001602090815260408083206001600160a01b03871684529091528120549091610abc918590610ce19086906125bb565b61152c565b6005546001600160a01b03163314610d105760405162461bcd60e51b81526004016109da90612572565b633b9aca006103e8610d2160025490565b610d2c90600561263d565b610d369190612654565b610d409190612654565b811015610d9d5760405162461bcd60e51b815260206004820152602560248201527f43616e6e6f7420736574206d617857616c6c657473206c6f776572207468616e60448201526420302e352560d81b60648201526084016109da565b610dab81633b9aca0061263d565b60155550565b6005546001600160a01b03163314610ddb5760405162461bcd60e51b81526004016109da90612572565b6009849055600a839055610def83856125bb565b600855600c829055600d819055610e0681836125bb565b600b5560085460631015610e2c5760405162461bcd60e51b81526004016109da906125ce565b6063600b541115610e4f5760405162461bcd60e51b81526004016109da906125ce565b50505050565b6005546001600160a01b03163314610e7f5760405162461bcd60e51b81526004016109da90612572565b610e885f611e9d565b565b6005545f906001600160a01b03163314610eb65760405162461bcd60e51b81526004016109da90612572565b506016805460ff19169055600190565b6005546001600160a01b03163314610ef05760405162461bcd60e51b81526004016109da90612572565b6016805462ffff00191662010100179055565b6005546001600160a01b03163314610f2d5760405162461bcd60e51b81526004016109da90612572565b60168054911515620100000262ff000019909216919091179055565b606060048054610a2f90612605565b6005546001600160a01b03163314610f825760405162461bcd60e51b81526004016109da90612572565b6010546001600160a01b03908116908316036110065760405162461bcd60e51b815260206004820152603960248201527f54686520706169722063616e6e6f742062652072656d6f7665642066726f6d2060448201527f6175746f6d617465644d61726b65744d616b657250616972730000000000000060648201526084016109da565b610a1c8282611eee565b335f9081526001602090815260408083206001600160a01b0386168452909152812054828110156110915760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b60648201526084016109da565b61109e338585840361152c565b5060019392505050565b5f610abc33848461164f565b6005546001600160a01b031633146110de5760405162461bcd60e51b81526004016109da90612572565b6011546040516001600160a01b03918216918316907f455cf943964d06e77e44126ecca5a66b2c9721f4576a31f8693127282c55700f905f90a3601180546001600160a01b0319166001600160a01b0392909216919091179055565b6005546001600160a01b031633146111645760405162461bcd60e51b81526004016109da90612572565b633b9aca006103e861117560025490565b61118090600161263d565b61118a9190612654565b6111949190612654565b8110156111e35760405162461bcd60e51b815260206004820181905260248201527f43616e6e6f7420736574206d61785478206c6f776572207468616e20302e312560448201526064016109da565b6111f181633b9aca0061263d565b60135550565b6011546001600160a01b0316336001600160a01b031614611216575f80fd5b305f90815260208190526040902054811115801561123357505f81115b61126e5760405162461bcd60e51b815260206004820152600c60248201526b15dc9bdb99c8185b5bdd5b9d60a21b60448201526064016109da565b61127781611f41565b50565b6005545f906001600160a01b031633146112a65760405162461bcd60e51b81526004016109da90612572565b506007805460ff19169055600190565b6005546001600160a01b031633146112e05760405162461bcd60e51b81526004016109da90612572565b6001600160a01b0382165f81815260186020908152604091829020805460ff191685151590811790915591519182527f9d8f7706ea1113d1a167b526eca956215946dd36cc7df39eb16180222d8b5df7910160405180910390a25050565b6005545f906001600160a01b0316331461136a5760405162461bcd60e51b81526004016109da90612572565b620186a061137760025490565b61138290600161263d565b61138c9190612654565b8210156113f95760405162461bcd60e51b815260206004820152603560248201527f5377617020616d6f756e742063616e6e6f74206265206c6f776572207468616e60448201527410181718181892903a37ba30b61039bab838363c9760591b60648201526084016109da565b6103e861140560025490565b61141090600561263d565b61141a9190612654565b8211156114865760405162461bcd60e51b815260206004820152603460248201527f5377617020616d6f756e742063616e6e6f742062652068696768657220746861604482015273371018171a92903a37ba30b61039bab838363c9760611b60648201526084016109da565b50601481905560015b919050565b6005546001600160a01b031633146114be5760405162461bcd60e51b81526004016109da90612572565b6001600160a01b0381166115235760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016109da565b61127781611e9d565b6001600160a01b03831661158e5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016109da565b6001600160a01b0382166115ef5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016109da565b6001600160a01b038381165f8181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b0383166116755760405162461bcd60e51b81526004016109da90612673565b6001600160a01b03821661169b5760405162461bcd60e51b81526004016109da906126b8565b6001600160a01b0383165f9081526017602052604090205460ff16156116f75760405162461bcd60e51b815260206004820152601160248201527016d99c9bdb5748189b1858dac81b1a5cdd607a1b60448201526064016109da565b6001600160a01b0382165f9081526017602052604090205460ff16156117515760405162461bcd60e51b815260206004820152600f60248201526e16dd1bd748189b1858dac81b1a5cdd608a1b60448201526064016109da565b805f036117685761176383835f6120f7565b505050565b60165460ff1615611bd8576005546001600160a01b0384811691161480159061179f57506005546001600160a01b03838116911614155b80156117b357506001600160a01b03821615155b80156117ca57506001600160a01b03821661dead14155b80156117e05750601054600160a01b900460ff16155b15611bd857601654610100900460ff16611876576001600160a01b0383165f9081526018602052604090205460ff168061183157506001600160a01b0382165f9081526018602052604090205460ff165b6118765760405162461bcd60e51b81526020600482015260166024820152752a3930b234b7339034b9903737ba1030b1ba34bb329760511b60448201526064016109da565b60075460ff1615611997576005546001600160a01b038381169116148015906118d157507f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d6001600160a01b0316826001600160a01b031614155b80156118eb57506010546001600160a01b03838116911614155b1561199757325f9081526006602052604090205443116119855760405162461bcd60e51b815260206004820152604960248201527f5f7472616e736665723a3a205472616e736665722044656c617920656e61626c60448201527f65642e20204f6e6c79206f6e652070757263686173652070657220626c6f636b6064820152681030b63637bbb2b21760b91b608482015260a4016109da565b325f9081526006602052604090204390555b6001600160a01b0383165f908152601a602052604090205460ff1680156119d657506001600160a01b0382165f9081526019602052604090205460ff16155b15611aaa57601354811115611a3c5760405162461bcd60e51b815260206004820152602660248201527f427579207472616e7366657220616d6f756e742065786365656473207468652060448201526536b0bc2a3c1760d11b60648201526084016109da565b6015546001600160a01b0383165f90815260208190526040902054611a6190836125bb565b1115611aa55760405162461bcd60e51b815260206004820152601360248201527213585e081dd85b1b195d08195e18d959591959606a1b60448201526064016109da565b611bd8565b6001600160a01b0382165f908152601a602052604090205460ff168015611ae957506001600160a01b0383165f9081526019602052604090205460ff16155b15611b5057601354811115611aa55760405162461bcd60e51b815260206004820152602760248201527f53656c6c207472616e7366657220616d6f756e742065786365656473207468656044820152661036b0bc2a3c1760c91b60648201526084016109da565b6001600160a01b0382165f9081526019602052604090205460ff16611bd8576015546001600160a01b0383165f90815260208190526040902054611b9490836125bb565b1115611bd85760405162461bcd60e51b815260206004820152601360248201527213585e081dd85b1b195d08195e18d959591959606a1b60448201526064016109da565b305f9081526020819052604090205460145481108015908190611c03575060165462010000900460ff165b8015611c195750601054600160a01b900460ff16155b8015611c3d57506001600160a01b0385165f908152601a602052604090205460ff16155b8015611c6157506001600160a01b0385165f9081526018602052604090205460ff16155b8015611c8557506001600160a01b0384165f9081526018602052604090205460ff16155b15611cb3576010805460ff60a01b1916600160a01b179055611ca5612249565b6010805460ff60a01b191690555b6010546001600160a01b0386165f9081526018602052604090205460ff600160a01b909204821615911680611cff57506001600160a01b0385165f9081526018602052604090205460ff165b15611d0757505f5b5f8115611e89576001600160a01b0386165f908152601a602052604090205460ff168015611d3657505f600b54115b15611dc257611d5b6064611d55600b548861238690919063ffffffff16565b90612398565b9050600b54600d5482611d6e919061263d565b611d789190612654565b600f5f828254611d8891906125bb565b9091555050600b54600c54611d9d908361263d565b611da79190612654565b600e5f828254611db791906125bb565b90915550611e6b9050565b6001600160a01b0387165f908152601a602052604090205460ff168015611dea57505f600854115b15611e6b57611e096064611d556008548861238690919063ffffffff16565b9050600854600a5482611e1c919061263d565b611e269190612654565b600f5f828254611e3691906125bb565b9091555050600854600954611e4b908361263d565b611e559190612654565b600e5f828254611e6591906125bb565b90915550505b8015611e7c57611e7c8730836120f7565b611e8681866126fb565b94505b611e948787876120f7565b50505050505050565b600580546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0905f90a35050565b6001600160a01b0382165f818152601a6020526040808220805460ff191685151590811790915590519092917fffa9187bf1f18bf477bd0ea1bcbb64e93b6a98132473929edfce215cd9b16fab91a35050565b6040805160028082526060820183525f9260208301908036833701905050905030815f81518110611f7457611f7461270e565b60200260200101906001600160a01b031690816001600160a01b0316815250507f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d6001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611ff0573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906120149190612722565b816001815181106120275761202761270e565b60200260200101906001600160a01b031690816001600160a01b031681525050612072307f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d8461152c565b60405163791ac94760e01b81526001600160a01b037f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d169063791ac947906120c69085905f9086903090429060040161273d565b5f604051808303815f87803b1580156120dd575f80fd5b505af11580156120ef573d5f803e3d5ffd5b505050505050565b6001600160a01b03831661211d5760405162461bcd60e51b81526004016109da90612673565b6001600160a01b0382166121435760405162461bcd60e51b81526004016109da906126b8565b6001600160a01b0383165f90815260208190526040902054818110156121ba5760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b60648201526084016109da565b6001600160a01b038085165f908152602081905260408082208585039055918516815290812080548492906121f09084906125bb565b92505081905550826001600160a01b0316846001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405161223c91815260200190565b60405180910390a3610e4f565b305f9081526020819052604081205490505f600f54600e5461226b91906125bb565b90505f825f0361227a57505050565b601480546122879161263d565b83111561229e576014805461229b9161263d565b92505b476122a884611f41565b5f6122b347836123a3565b90505f6122cf85611d55600f548561238690919063ffffffff16565b5f600e819055600f8190556012546040519293506001600160a01b031691839181818185875af1925050503d805f8114612324576040519150601f19603f3d011682016040523d82523d5f602084013e612329565b606091505b50506011546040519195506001600160a01b03169047905f81818185875af1925050503d805f8114612376576040519150601f19603f3d011682016040523d82523d5f602084013e61237b565b606091505b505050505050505050565b5f612391828461263d565b9392505050565b5f6123918284612654565b5f61239182846126fb565b5f80604083850312156123bf575f80fd5b50508035926020909101359150565b602081525f82518060208401528060208501604085015e5f604082850101526040601f19601f83011684010191505092915050565b6001600160a01b0381168114611277575f80fd5b5f8060408385031215612428575f80fd5b823561243381612403565b946020939093013593505050565b5f60208284031215612451575f80fd5b813561239181612403565b5f805f6060848603121561246e575f80fd5b833561247981612403565b9250602084013561248981612403565b929592945050506040919091013590565b8035801515811461148f575f80fd5b5f80604083850312156124ba575f80fd5b82356124c581612403565b91506124d36020840161249a565b90509250929050565b5f602082840312156124ec575f80fd5b5035919050565b5f805f8060808587031215612506575f80fd5b5050823594602084013594506040840135936060013592509050565b5f60208284031215612532575f80fd5b6123918261249a565b5f806040838503121561254c575f80fd5b823561255781612403565b9150602083013561256781612403565b809150509250929050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b5f52601160045260245ffd5b80820180821115610ac057610ac06125a7565b6020808252601d908201527f4d757374206b656570206665657320617420373525206f72206c657373000000604082015260600190565b600181811c9082168061261957607f821691505b60208210810361263757634e487b7160e01b5f52602260045260245ffd5b50919050565b8082028115828204841417610ac057610ac06125a7565b5f8261266e57634e487b7160e01b5f52601260045260245ffd5b500490565b60208082526025908201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604082015264647265737360d81b606082015260800190565b60208082526023908201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260408201526265737360e81b606082015260800190565b81810381811115610ac057610ac06125a7565b634e487b7160e01b5f52603260045260245ffd5b5f60208284031215612732575f80fd5b815161239181612403565b5f60a0820187835286602084015260a0604084015280865180835260c0850191506020880192505f5b8181101561278d5783516001600160a01b0316835260209384019390920191600101612766565b50506001600160a01b03959095166060840152505060800152939250505056fea264697066735822122081c0555daa57f6bc7709a4c12d2b8bf7a535688b51513bc509340bacf0f9fe8864736f6c634300081a0033
Deployed Bytecode Sourcemap
15176:13448:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;21564:307;;;;;;;;;;-1:-1:-1;21564:307:0;;;;;:::i;:::-;;:::i;:::-;;10541:100;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11454:169;;;;;;;;;;-1:-1:-1;11454:169:0;;;;;:::i;:::-;;:::i;:::-;;;1461:14:1;;1454:22;1436:41;;1424:2;1409:18;11454:169:0;1296:187:1;15711:51:0;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1678:32:1;;;1660:51;;1648:2;1633:18;15711:51:0;1488:229:1;10861:108:0;;;;;;;;;;-1:-1:-1;10949:12:0;;10861:108;;;1868:25:1;;;1856:2;1841:18;10861:108:0;1722:177:1;20801:160:0;;;;;;;;;;-1:-1:-1;20801:160:0;;;;;:::i;:::-;;:::i;11631:492::-;;;;;;;;;;-1:-1:-1;11631:492:0;;;;;:::i;:::-;;:::i;21879:314::-;;;;;;;;;;-1:-1:-1;21879:314:0;;;;;:::i;:::-;;:::i;15804:53::-;;;;;;;;;;;;15850:6;15804:53;;20326:145;;;;;;;;;;-1:-1:-1;20326:145:0;;;;;:::i;:::-;;:::i;16033:25::-;;;;;;;;;;;;;;;;15932;;;;;;;;;;-1:-1:-1;15932:25:0;;;;-1:-1:-1;;;;;15932:25:0;;;10761:92;;;;;;;;;;-1:-1:-1;10761:92:0;;10844:1;3504:36:1;;3492:2;3477:18;10761:92:0;3362:184:1;12131:215:0;;;;;;;;;;-1:-1:-1;12131:215:0;;;;;:::i;:::-;;:::i;15769:28::-;;;;;;;;;;-1:-1:-1;15769:28:0;;;;-1:-1:-1;;;;;15769:28:0;;;16067:33;;;;;;;;;;-1:-1:-1;16067:33:0;;;;;;;;22899:126;;;;;;;;;;-1:-1:-1;22899:126:0;;;;;:::i;:::-;-1:-1:-1;;;;;22989:28:0;22965:4;22989:28;;;:19;:28;;;;;;;;;22899:126;19632:247;;;;;;;;;;-1:-1:-1;19632:247:0;;;;;:::i;:::-;;:::i;15637:31::-;;;;;;;;;;;;;;;;15530:28;;;;;;;;;;;;;;;;16147:31;;;;;;;;;;-1:-1:-1;16147:31:0;;;;;;;;;;;20969:587;;;;;;;;;;-1:-1:-1;20969:587:0;;;;;:::i;:::-;;:::i;10977:127::-;;;;;;;;;;-1:-1:-1;10977:127:0;;;;;:::i;:::-;-1:-1:-1;;;;;11078:18:0;11051:7;11078:18;;;;;;;;;;;;10977:127;9617:103;;;;;;;;;;;;;:::i;15966:20::-;;;;;;;;;;;;;;;;18748:121;;;;;;;;;;;;;:::i;15460:30::-;;;;;;;;;;;;;;;;18628:112;;;;;;;;;;;;;:::i;9394:87::-;;;;;;;;;;-1:-1:-1;9467:6:0;;-1:-1:-1;;;;;9467:6:0;9394:87;;15565:31;;;;;;;;;;;;;;;;20479:100;;;;;;;;;;-1:-1:-1;20479:100:0;;;;;:::i;:::-;;:::i;10649:104::-;;;;;;;;;;;;;:::i;22391:304::-;;;;;;;;;;-1:-1:-1;22391:304:0;;;;;:::i;:::-;;:::i;15497:24::-;;;;;;;;;;;;;;;;15675:27;;;;;;;;;;;;;;;;15603:25;;;;;;;;;;;;;;;;12354:413;;;;;;;;;;-1:-1:-1;12354:413:0;;;;;:::i;:::-;;:::i;15896:29::-;;;;;;;;;;-1:-1:-1;15896:29:0;;;;-1:-1:-1;;;;;15896:29:0;;;11112:175;;;;;;;;;;-1:-1:-1;11112:175:0;;;;;:::i;:::-;;:::i;20591:202::-;;;;;;;;;;-1:-1:-1;20591:202:0;;;;;:::i;:::-;;:::i;19382:242::-;;;;;;;;;;-1:-1:-1;19382:242:0;;;;;:::i;:::-;;:::i;16355:57::-;;;;;;;;;;-1:-1:-1;16355:57:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;26976:222;;;;;;;;;;-1:-1:-1;26976:222:0;;;;;:::i;:::-;;:::i;16107:33::-;;;;;;;;;;-1:-1:-1;16107:33:0;;;;;;;;;;;20031:130;;;;;;;;;;;;;:::i;22201:182::-;;;;;;;;;;-1:-1:-1;22201:182:0;;;;;:::i;:::-;;:::i;15377:40::-;;;;;;;;;;-1:-1:-1;15377:40:0;;;;;;;;18877:497;;;;;;;;;;-1:-1:-1;18877:497:0;;;;;:::i;:::-;;:::i;15426:27::-;;;;;;;;;;;;;;;;11295:151;;;;;;;;;;-1:-1:-1;11295:151:0;;;;;:::i;:::-;-1:-1:-1;;;;;11411:18:0;;;11384:7;11411:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;11295:151;15993:33;;;;;;;;;;;;;;;;16298:48;;;;;;;;;;-1:-1:-1;16298:48:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;9728:201;;;;;;;;;;-1:-1:-1;9728:201:0;;;;;:::i;:::-;;:::i;21564:307::-;9467:6;;-1:-1:-1;;;;;9467:6:0;9020:10;9529:23;9521:68;;;;-1:-1:-1;;;9521:68:0;;;;;;;:::i;:::-;;;;;;;;;21678:15:::1;:31:::0;;;21720:9:::1;:19:::0;;;21765:27:::1;21732:7:::0;21696:13;21765:27:::1;:::i;:::-;21750:12;:42:::0;;;21827:2:::1;-1:-1:-1::0;21811:18:0::1;21803:60;;;;-1:-1:-1::0;;;21803:60:0::1;;;;;;;:::i;:::-;21564:307:::0;;:::o;10541:100::-;10595:13;10628:5;10621:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10541:100;:::o;11454:169::-;11537:4;11554:39;9020:10;11577:7;11586:6;11554:8;:39::i;:::-;-1:-1:-1;11611:4:0;11454:169;;;;;:::o;20801:160::-;9467:6;;-1:-1:-1;;;;;9467:6:0;9020:10;9529:23;9521:68;;;;-1:-1:-1;;;9521:68:0;;;;;;;:::i;:::-;20909:10:::1;::::0;20880:40:::1;::::0;-1:-1:-1;;;;;20909:10:0;;::::1;::::0;20880:40;::::1;::::0;::::1;::::0;20909:10:::1;::::0;20880:40:::1;20931:10;:22:::0;;-1:-1:-1;;;;;;20931:22:0::1;-1:-1:-1::0;;;;;20931:22:0;;;::::1;::::0;;;::::1;::::0;;20801:160::o;11631:492::-;11771:4;11788:36;11798:6;11806:9;11817:6;11788:9;:36::i;:::-;-1:-1:-1;;;;;11864:19:0;;11837:24;11864:19;;;:11;:19;;;;;;;;9020:10;11864:33;;;;;;;;11916:26;;;;11908:79;;;;-1:-1:-1;;;11908:79:0;;6520:2:1;11908:79:0;;;6502:21:1;6559:2;6539:18;;;6532:30;6598:34;6578:18;;;6571:62;-1:-1:-1;;;6649:18:1;;;6642:38;6697:19;;11908:79:0;6318:404:1;11908:79:0;12023:57;12032:6;9020:10;12073:6;12054:16;:25;12023:8;:57::i;:::-;-1:-1:-1;12111:4:0;;11631:492;-1:-1:-1;;;;11631:492:0:o;21879:314::-;9467:6;;-1:-1:-1;;;;;9467:6:0;9020:10;9529:23;9521:68;;;;-1:-1:-1;;;9521:68:0;;;;;;;:::i;:::-;21994:16:::1;:32:::0;;;22037:10:::1;:20:::0;;;22084:29:::1;22050:7:::0;22013:13;22084:29:::1;:::i;:::-;22068:13;:45:::0;;;22149:2:::1;-1:-1:-1::0;22132:19:0::1;22124:61;;;;-1:-1:-1::0;;;22124:61:0::1;;;;;;;:::i;20326:145::-:0;9467:6;;-1:-1:-1;;;;;9467:6:0;9020:10;9529:23;9521:68;;;;-1:-1:-1;;;9521:68:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;20432:24:0;;;::::1;;::::0;;;:16:::1;:24;::::0;;;;:31;;-1:-1:-1;;20432:31:0::1;::::0;::::1;;::::0;;;::::1;::::0;;20326:145::o;12131:215::-;9020:10;12219:4;12268:25;;;:11;:25;;;;;;;;-1:-1:-1;;;;;12268:34:0;;;;;;;;;;12219:4;;12236:80;;12259:7;;12268:47;;12305:10;;12268:47;:::i;:::-;12236:8;:80::i;19632:247::-;9467:6;;-1:-1:-1;;;;;9467:6:0;9020:10;9529:23;9521:68;;;;-1:-1:-1;;;9521:68:0;;;;;;;:::i;:::-;19763:3:::1;19755:4;19734:13;10949:12:::0;;;10861:108;19734:13:::1;:17;::::0;19750:1:::1;19734:17;:::i;:::-;19733:26;;;;:::i;:::-;19732:34;;;;:::i;:::-;19722:6;:44;;19700:131;;;::::0;-1:-1:-1;;;19700:131:0;;7324:2:1;19700:131:0::1;::::0;::::1;7306:21:1::0;7363:2;7343:18;;;7336:30;7402:34;7382:18;;;7375:62;-1:-1:-1;;;7453:18:1;;;7446:35;7498:19;;19700:131:0::1;7122:401:1::0;19700:131:0::1;19855:16;:6:::0;19865:5:::1;19855:16;:::i;:::-;19842:10;:29:::0;-1:-1:-1;19632:247:0:o;20969:587::-;9467:6;;-1:-1:-1;;;;;9467:6:0;9020:10;9529:23;9521:68;;;;-1:-1:-1;;;9521:68:0;;;;;;;:::i;:::-;21147:15:::1;:34:::0;;;21192:9:::1;:22:::0;;;21240:27:::1;21204:10:::0;21165:16;21240:27:::1;:::i;:::-;21225:12;:42:::0;21278:16:::1;:36:::0;;;21325:10:::1;:24:::0;;;21376:29:::1;21338:11:::0;21297:17;21376:29:::1;:::i;:::-;21360:13;:45:::0;21424:12:::1;::::0;21440:2:::1;-1:-1:-1::0;21424:18:0::1;21416:60;;;;-1:-1:-1::0;;;21416:60:0::1;;;;;;;:::i;:::-;21512:2;21495:13;;:19;;21487:61;;;;-1:-1:-1::0;;;21487:61:0::1;;;;;;;:::i;:::-;20969:587:::0;;;;:::o;9617:103::-;9467:6;;-1:-1:-1;;;;;9467:6:0;9020:10;9529:23;9521:68;;;;-1:-1:-1;;;9521:68:0;;;;;;;:::i;:::-;9682:30:::1;9709:1;9682:18;:30::i;:::-;9617:103::o:0;18748:121::-;9467:6;;18800:4;;-1:-1:-1;;;;;9467:6:0;9020:10;9529:23;9521:68;;;;-1:-1:-1;;;9521:68:0;;;;;;;:::i;:::-;-1:-1:-1;18817:14:0::1;:22:::0;;-1:-1:-1;;18817:22:0::1;::::0;;;18748:121;:::o;18628:112::-;9467:6;;-1:-1:-1;;;;;9467:6:0;9020:10;9529:23;9521:68;;;;-1:-1:-1;;;9521:68:0;;;;;;;:::i;:::-;18683:13:::1;:20:::0;;-1:-1:-1;;18714:18:0;;;;;18628:112::o;20479:100::-;9467:6;;-1:-1:-1;;;;;9467:6:0;9020:10;9529:23;9521:68;;;;-1:-1:-1;;;9521:68:0;;;;;;;:::i;:::-;20550:11:::1;:21:::0;;;::::1;;::::0;::::1;-1:-1:-1::0;;20550:21:0;;::::1;::::0;;;::::1;::::0;;20479:100::o;10649:104::-;10705:13;10738:7;10731:14;;;;;:::i;22391:304::-;9467:6;;-1:-1:-1;;;;;9467:6:0;9020:10;9529:23;9521:68;;;;-1:-1:-1;;;9521:68:0;;;;;;;:::i;:::-;22535:13:::1;::::0;-1:-1:-1;;;;;22535:13:0;;::::1;22527:21:::0;;::::1;::::0;22505:128:::1;;;::::0;-1:-1:-1;;;22505:128:0;;7730:2:1;22505:128:0::1;::::0;::::1;7712:21:1::0;7769:2;7749:18;;;7742:30;7808:34;7788:18;;;7781:62;7879:27;7859:18;;;7852:55;7924:19;;22505:128:0::1;7528:421:1::0;22505:128:0::1;22646:41;22675:4;22681:5;22646:28;:41::i;12354:413::-:0;9020:10;12447:4;12491:25;;;:11;:25;;;;;;;;-1:-1:-1;;;;;12491:34:0;;;;;;;;;;12544:35;;;;12536:85;;;;-1:-1:-1;;;12536:85:0;;8156:2:1;12536:85:0;;;8138:21:1;8195:2;8175:18;;;8168:30;8234:34;8214:18;;;8207:62;-1:-1:-1;;;8285:18:1;;;8278:35;8330:19;;12536:85:0;7954:401:1;12536:85:0;12657:67;9020:10;12680:7;12708:15;12689:16;:34;12657:8;:67::i;:::-;-1:-1:-1;12755:4:0;;12354:413;-1:-1:-1;;;12354:413:0:o;11112:175::-;11198:4;11215:42;9020:10;11239:9;11250:6;11215:9;:42::i;20591:202::-;9467:6;;-1:-1:-1;;;;;9467:6:0;9020:10;9529:23;9521:68;;;;-1:-1:-1;;;9521:68:0;;;;;;;:::i;:::-;20725:14:::1;::::0;20684:56:::1;::::0;-1:-1:-1;;;;;20725:14:0;;::::1;::::0;20684:56;::::1;::::0;::::1;::::0;20725:14:::1;::::0;20684:56:::1;20751:14;:34:::0;;-1:-1:-1;;;;;;20751:34:0::1;-1:-1:-1::0;;;;;20751:34:0;;;::::1;::::0;;;::::1;::::0;;20591:202::o;19382:242::-;9467:6;;-1:-1:-1;;;;;9467:6:0;9020:10;9529:23;9521:68;;;;-1:-1:-1;;;9521:68:0;;;;;;;:::i;:::-;19518:3:::1;19510:4;19489:13;10949:12:::0;;;10861:108;19489:13:::1;:17;::::0;19505:1:::1;19489:17;:::i;:::-;19488:26;;;;:::i;:::-;19487:34;;;;:::i;:::-;19477:6;:44;;19455:126;;;::::0;-1:-1:-1;;;19455:126:0;;8562:2:1;19455:126:0::1;::::0;::::1;8544:21:1::0;;;8581:18;;;8574:30;8640:34;8620:18;;;8613:62;8692:18;;19455:126:0::1;8360:356:1::0;19455:126:0::1;19600:16;:6:::0;19610:5:::1;19600:16;:::i;:::-;19592:5;:24:::0;-1:-1:-1;19382:242:0:o;26976:222::-;27056:14;;-1:-1:-1;;;;;27056:14:0;9020:10;-1:-1:-1;;;;;27040:30:0;;27032:39;;;;;;27118:4;11051:7;11078:18;;;;;;;;;;;27090:6;:34;;:48;;;;;27137:1;27128:6;:10;27090:48;27082:73;;;;-1:-1:-1;;;27082:73:0;;8923:2:1;27082:73:0;;;8905:21:1;8962:2;8942:18;;;8935:30;-1:-1:-1;;;8981:18:1;;;8974:42;9033:18;;27082:73:0;8721:336:1;27082:73:0;27166:24;27183:6;27166:16;:24::i;:::-;26976:222;:::o;20031:130::-;9467:6;;20086:4;;-1:-1:-1;;;;;9467:6:0;9020:10;9529:23;9521:68;;;;-1:-1:-1;;;9521:68:0;;;;;;;:::i;:::-;-1:-1:-1;20103:20:0::1;:28:::0;;-1:-1:-1;;20103:28:0::1;::::0;;;20031:130;:::o;22201:182::-;9467:6;;-1:-1:-1;;;;;9467:6:0;9020:10;9529:23;9521:68;;;;-1:-1:-1;;;9521:68:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;22286:28:0;::::1;;::::0;;;:19:::1;:28;::::0;;;;;;;;:39;;-1:-1:-1;;22286:39:0::1;::::0;::::1;;::::0;;::::1;::::0;;;22341:34;;1436:41:1;;;22341:34:0::1;::::0;1409:18:1;22341:34:0::1;;;;;;;22201:182:::0;;:::o;18877:497::-;9467:6;;18985:4;;-1:-1:-1;;;;;9467:6:0;9020:10;9529:23;9521:68;;;;-1:-1:-1;;;9521:68:0;;;;;;;:::i;:::-;19064:6:::1;19043:13;10949:12:::0;;;10861:108;19043:13:::1;:17;::::0;19059:1:::1;19043:17;:::i;:::-;19042:28;;;;:::i;:::-;19029:9;:41;;19007:144;;;::::0;-1:-1:-1;;;19007:144:0;;9264:2:1;19007:144:0::1;::::0;::::1;9246:21:1::0;9303:2;9283:18;;;9276:30;9342:34;9322:18;;;9315:62;-1:-1:-1;;;9393:18:1;;;9386:51;9454:19;;19007:144:0::1;9062:417:1::0;19007:144:0::1;19219:4;19198:13;10949:12:::0;;;10861:108;19198:13:::1;:17;::::0;19214:1:::1;19198:17;:::i;:::-;19197:26;;;;:::i;:::-;19184:9;:39;;19162:141;;;::::0;-1:-1:-1;;;19162:141:0;;9686:2:1;19162:141:0::1;::::0;::::1;9668:21:1::0;9725:2;9705:18;;;9698:30;9764:34;9744:18;;;9737:62;-1:-1:-1;;;9815:18:1;;;9808:50;9875:19;;19162:141:0::1;9484:416:1::0;19162:141:0::1;-1:-1:-1::0;19314:18:0::1;:30:::0;;;19362:4:::1;9600:1;18877:497:::0;;;:::o;9728:201::-;9467:6;;-1:-1:-1;;;;;9467:6:0;9020:10;9529:23;9521:68;;;;-1:-1:-1;;;9521:68:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;9817:22:0;::::1;9809:73;;;::::0;-1:-1:-1;;;9809:73:0;;10107:2:1;9809:73:0::1;::::0;::::1;10089:21:1::0;10146:2;10126:18;;;10119:30;10185:34;10165:18;;;10158:62;-1:-1:-1;;;10236:18:1;;;10229:36;10282:19;;9809:73:0::1;9905:402:1::0;9809:73:0::1;9893:28;9912:8;9893:18;:28::i;14522:380::-:0;-1:-1:-1;;;;;14658:19:0;;14650:68;;;;-1:-1:-1;;;14650:68:0;;10514:2:1;14650:68:0;;;10496:21:1;10553:2;10533:18;;;10526:30;10592:34;10572:18;;;10565:62;-1:-1:-1;;;10643:18:1;;;10636:34;10687:19;;14650:68:0;10312:400:1;14650:68:0;-1:-1:-1;;;;;14737:21:0;;14729:68;;;;-1:-1:-1;;;14729:68:0;;10919:2:1;14729:68:0;;;10901:21:1;10958:2;10938:18;;;10931:30;10997:34;10977:18;;;10970:62;-1:-1:-1;;;11048:18:1;;;11041:32;11090:19;;14729:68:0;10717:398:1;14729:68:0;-1:-1:-1;;;;;14810:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;14862:32;;1868:25:1;;;14862:32:0;;1841:18:1;14862:32:0;;;;;;;14522:380;;;:::o;23033:3820::-;-1:-1:-1;;;;;23165:18:0;;23157:68;;;;-1:-1:-1;;;23157:68:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;23244:16:0;;23236:64;;;;-1:-1:-1;;;23236:64:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;23320:18:0;;;;;;:12;:18;;;;;;;;23319:19;23311:49;;;;-1:-1:-1;;;23311:49:0;;12132:2:1;23311:49:0;;;12114:21:1;12171:2;12151:18;;;12144:30;-1:-1:-1;;;12190:18:1;;;12183:47;12247:18;;23311:49:0;11930:341:1;23311:49:0;-1:-1:-1;;;;;23380:16:0;;;;;;:12;:16;;;;;;;;23379:17;23371:45;;;;-1:-1:-1;;;23371:45:0;;12478:2:1;23371:45:0;;;12460:21:1;12517:2;12497:18;;;12490:30;-1:-1:-1;;;12536:18:1;;;12529:45;12591:18;;23371:45:0;12276:339:1;23371:45:0;23433:6;23443:1;23433:11;23429:93;;23461:28;23477:4;23483:2;23487:1;23461:15;:28::i;:::-;23033:3820;;;:::o;23429:93::-;23538:14;;;;23534:1666;;;9467:6;;-1:-1:-1;;;;;23573:15:0;;;9467:6;;23573:15;;;;:49;;-1:-1:-1;9467:6:0;;-1:-1:-1;;;;;23609:13:0;;;9467:6;;23609:13;;23573:49;:86;;;;-1:-1:-1;;;;;;23643:16:0;;;;23573:86;:128;;;;-1:-1:-1;;;;;;23680:21:0;;23694:6;23680:21;;23573:128;:158;;;;-1:-1:-1;23723:8:0;;-1:-1:-1;;;23723:8:0;;;;23722:9;23573:158;23569:1620;;;23757:13;;;;;;;23752:150;;-1:-1:-1;;;;;23803:25:0;;;;;;:19;:25;;;;;;;;;:52;;-1:-1:-1;;;;;;23832:23:0;;;;;;:19;:23;;;;;;;;23803:52;23795:87;;;;-1:-1:-1;;;23795:87:0;;12822:2:1;23795:87:0;;;12804:21:1;12861:2;12841:18;;;12834:30;-1:-1:-1;;;12880:18:1;;;12873:52;12942:18;;23795:87:0;12620:346:1;23795:87:0;24058:20;;;;24054:425;;;9467:6;;-1:-1:-1;;;;;24107:13:0;;;9467:6;;24107:13;;;;:47;;;24138:15;-1:-1:-1;;;;;24124:30:0;:2;-1:-1:-1;;;;;24124:30:0;;;24107:47;:79;;;;-1:-1:-1;24172:13:0;;-1:-1:-1;;;;;24158:28:0;;;24172:13;;24158:28;;24107:79;24103:357;;;24252:9;24223:39;;;;:28;:39;;;;;;24265:12;-1:-1:-1;24215:140:0;;;;-1:-1:-1;;;24215:140:0;;13173:2:1;24215:140:0;;;13155:21:1;13212:2;13192:18;;;13185:30;13251:34;13231:18;;;13224:62;13322:34;13302:18;;;13295:62;-1:-1:-1;;;13373:19:1;;;13366:40;13423:19;;24215:140:0;12971:477:1;24215:140:0;24411:9;24382:39;;;;:28;:39;;;;;24424:12;24382:54;;24103:357;-1:-1:-1;;;;;24531:31:0;;;;;;:25;:31;;;;;;;;:56;;;;-1:-1:-1;;;;;;24567:20:0;;;;;;:16;:20;;;;;;;;24566:21;24531:56;24527:647;;;24630:5;;24620:6;:15;;24612:66;;;;-1:-1:-1;;;24612:66:0;;13655:2:1;24612:66:0;;;13637:21:1;13694:2;13674:18;;;13667:30;13733:34;13713:18;;;13706:62;-1:-1:-1;;;13784:18:1;;;13777:36;13830:19;;24612:66:0;13453:402:1;24612:66:0;24735:10;;-1:-1:-1;;;;;11078:18:0;;11051:7;11078:18;;;;;;;;;;;24709:22;;:6;:22;:::i;:::-;:36;;24701:68;;;;-1:-1:-1;;;24701:68:0;;14062:2:1;24701:68:0;;;14044:21:1;14101:2;14081:18;;;14074:30;-1:-1:-1;;;14120:18:1;;;14113:49;14179:18;;24701:68:0;13860:343:1;24701:68:0;24527:647;;;-1:-1:-1;;;;;24845:29:0;;;;;;:25;:29;;;;;;;;:56;;;;-1:-1:-1;;;;;;24879:22:0;;;;;;:16;:22;;;;;;;;24878:23;24845:56;24841:333;;;24944:5;;24934:6;:15;;24926:67;;;;-1:-1:-1;;;24926:67:0;;14410:2:1;24926:67:0;;;14392:21:1;14449:2;14429:18;;;14422:30;14488:34;14468:18;;;14461:62;-1:-1:-1;;;14539:18:1;;;14532:37;14586:19;;24926:67:0;14208:403:1;24841:333:0;-1:-1:-1;;;;;25041:20:0;;;;;;:16;:20;;;;;;;;25036:138;;25120:10;;-1:-1:-1;;;;;11078:18:0;;11051:7;11078:18;;;;;;;;;;;25094:22;;:6;:22;:::i;:::-;:36;;25086:68;;;;-1:-1:-1;;;25086:68:0;;14062:2:1;25086:68:0;;;14044:21:1;14101:2;14081:18;;;14074:30;-1:-1:-1;;;14120:18:1;;;14113:49;14179:18;;25086:68:0;13860:343:1;25086:68:0;25261:4;25212:28;11078:18;;;;;;;;;;;25317;;25293:42;;;;;;;25352:35;;-1:-1:-1;25376:11:0;;;;;;;25352:35;:61;;;;-1:-1:-1;25405:8:0;;-1:-1:-1;;;25405:8:0;;;;25404:9;25352:61;:110;;;;-1:-1:-1;;;;;;25431:31:0;;;;;;:25;:31;;;;;;;;25430:32;25352:110;:153;;;;-1:-1:-1;;;;;;25480:25:0;;;;;;:19;:25;;;;;;;;25479:26;25352:153;:194;;;;-1:-1:-1;;;;;;25523:23:0;;;;;;:19;:23;;;;;;;;25522:24;25352:194;25348:302;;;25563:8;:15;;-1:-1:-1;;;;25563:15:0;-1:-1:-1;;;25563:15:0;;;25595:10;:8;:10::i;:::-;25622:8;:16;;-1:-1:-1;;;;25622:16:0;;;25348:302;25678:8;;-1:-1:-1;;;;;25788:25:0;;25662:12;25788:25;;;:19;:25;;;;;;25678:8;-1:-1:-1;;;25678:8:0;;;;;25677:9;;25788:25;;:52;;-1:-1:-1;;;;;;25817:23:0;;;;;;:19;:23;;;;;;;;25788:52;25784:100;;;-1:-1:-1;25867:5:0;25784:100;25896:12;26001:7;25997:803;;;-1:-1:-1;;;;;26053:29:0;;;;;;:25;:29;;;;;;;;:50;;;;;26102:1;26086:13;;:17;26053:50;26049:602;;;26131:34;26161:3;26131:25;26142:13;;26131:6;:10;;:25;;;;:::i;:::-;:29;;:34::i;:::-;26124:41;;26222:13;;26208:10;;26201:4;:17;;;;:::i;:::-;26200:35;;;;:::i;:::-;26184:12;;:51;;;;;;;:::i;:::-;;;;-1:-1:-1;;26302:13:0;;26282:16;;26275:23;;:4;:23;:::i;:::-;26274:41;;;;:::i;:::-;26254:16;;:61;;;;;;;:::i;:::-;;;;-1:-1:-1;26049:602:0;;-1:-1:-1;26049:602:0;;-1:-1:-1;;;;;26377:31:0;;;;;;:25;:31;;;;;;;;:51;;;;;26427:1;26412:12;;:16;26377:51;26373:278;;;26456:33;26485:3;26456:24;26467:12;;26456:6;:10;;:24;;;;:::i;:33::-;26449:40;;26545:12;;26532:9;;26525:4;:16;;;;:::i;:::-;26524:33;;;;:::i;:::-;26508:12;;:49;;;;;;;:::i;:::-;;;;-1:-1:-1;;26623:12:0;;26604:15;;26597:22;;:4;:22;:::i;:::-;26596:39;;;;:::i;:::-;26576:16;;:59;;;;;;;:::i;:::-;;;;-1:-1:-1;;26373:278:0;26671:8;;26667:91;;26700:42;26716:4;26730;26737;26700:15;:42::i;:::-;26774:14;26784:4;26774:14;;:::i;:::-;;;25997:803;26812:33;26828:4;26834:2;26838:6;26812:15;:33::i;:::-;23146:3707;;;;23033:3820;;;:::o;9937:191::-;10030:6;;;-1:-1:-1;;;;;10047:17:0;;;-1:-1:-1;;;;;;10047:17:0;;;;;;;10080:40;;10030:6;;;10047:17;10030:6;;10080:40;;10011:16;;10080:40;10000:128;9937:191;:::o;22703:188::-;-1:-1:-1;;;;;22786:31:0;;;;;;:25;:31;;;;;;:39;;-1:-1:-1;;22786:39:0;;;;;;;;;;22843:40;;22786:39;;:31;22843:40;;;22703:188;;:::o;27208:529::-;27298:16;;;27312:1;27298:16;;;;;;;;27274:21;;27298:16;;;;;;;;;;-1:-1:-1;27298:16:0;27274:40;;27343:4;27325;27330:1;27325:7;;;;;;;;:::i;:::-;;;;;;:23;-1:-1:-1;;;;;27325:23:0;;;-1:-1:-1;;;;;27325:23:0;;;;;27369:15;-1:-1:-1;;;;;27369:20:0;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;27359:4;27364:1;27359:7;;;;;;;;:::i;:::-;;;;;;:32;-1:-1:-1;;;;;27359:32:0;;;-1:-1:-1;;;;;27359:32:0;;;;;27404:62;27421:4;27436:15;27454:11;27404:8;:62::i;:::-;27505:224;;-1:-1:-1;;;27505:224:0;;-1:-1:-1;;;;;27505:15:0;:66;;;;:224;;27586:11;;27612:1;;27656:4;;27683;;27703:15;;27505:224;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;27263:474;27208:529;:::o;12775:733::-;-1:-1:-1;;;;;12915:20:0;;12907:70;;;;-1:-1:-1;;;12907:70:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;12996:23:0;;12988:71;;;;-1:-1:-1;;;12988:71:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;13156:17:0;;13132:21;13156:17;;;;;;;;;;;13192:23;;;;13184:74;;;;-1:-1:-1;;;13184:74:0;;16435:2:1;13184:74:0;;;16417:21:1;16474:2;16454:18;;;16447:30;16513:34;16493:18;;;16486:62;-1:-1:-1;;;16564:18:1;;;16557:36;16610:19;;13184:74:0;16233:402:1;13184:74:0;-1:-1:-1;;;;;13294:17:0;;;:9;:17;;;;;;;;;;;13314:22;;;13294:42;;13358:20;;;;;;;;:30;;13330:6;;13294:9;13358:30;;13330:6;;13358:30;:::i;:::-;;;;;;;;13423:9;-1:-1:-1;;;;;13406:35:0;13415:6;-1:-1:-1;;;;;13406:35:0;;13434:6;13406:35;;;;1868:25:1;;1856:2;1841:18;;1722:177;13406:35:0;;;;;;;;13454:46;23033:3820;27745:876;27828:4;27784:23;11078:18;;;;;;;;;;;27784:50;;27845:25;27892:12;;27873:16;;:31;;;;:::i;:::-;27845:59;;27915:12;27944:15;27963:1;27944:20;27940:59;;27981:7;;;27745:876::o;27940:59::-;28033:18;;;:23;;;:::i;:::-;28015:15;:41;28011:115;;;28091:18;;;:23;;;:::i;:::-;28073:41;;28011:115;28166:21;28198:33;28215:15;28198:16;:33::i;:::-;28244:18;28265:44;:21;28291:17;28265:25;:44::i;:::-;28244:65;;28320:17;28340:51;28373:17;28340:28;28355:12;;28340:10;:14;;:28;;;;:::i;:51::-;28423:1;28404:16;:20;;;28435:12;:16;;;28486:10;;28478:46;;28320:71;;-1:-1:-1;;;;;;28486:10:0;;28320:71;;28478:46;28423:1;28478:46;28320:71;28486:10;28478:46;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;28557:14:0;;28549:64;;28464:60;;-1:-1:-1;;;;;;28557:14:0;;28586:21;;28549:64;;;;28586:21;28557:14;28549:64;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;27745:876:0:o;6894:98::-;6952:7;6979:5;6983:1;6979;:5;:::i;:::-;6972:12;6894:98;-1:-1:-1;;;6894:98:0:o;7000:::-;7058:7;7085:5;7089:1;7085;:5;:::i;6788:98::-;6846:7;6873:5;6877:1;6873;:5;:::i;14:346:1:-;82:6;90;143:2;131:9;122:7;118:23;114:32;111:52;;;159:1;156;149:12;111:52;-1:-1:-1;;204:23:1;;;324:2;309:18;;;296:32;;-1:-1:-1;14:346:1:o;365:418::-;514:2;503:9;496:21;477:4;546:6;540:13;589:6;584:2;573:9;569:18;562:34;648:6;643:2;635:6;631:15;626:2;615:9;611:18;605:50;704:1;699:2;690:6;679:9;675:22;671:31;664:42;774:2;767;763:7;758:2;750:6;746:15;742:29;731:9;727:45;723:54;715:62;;;365:418;;;;:::o;788:131::-;-1:-1:-1;;;;;863:31:1;;853:42;;843:70;;909:1;906;899:12;924:367;992:6;1000;1053:2;1041:9;1032:7;1028:23;1024:32;1021:52;;;1069:1;1066;1059:12;1021:52;1108:9;1095:23;1127:31;1152:5;1127:31;:::i;:::-;1177:5;1255:2;1240:18;;;;1227:32;;-1:-1:-1;;;924:367:1:o;1904:247::-;1963:6;2016:2;2004:9;1995:7;1991:23;1987:32;1984:52;;;2032:1;2029;2022:12;1984:52;2071:9;2058:23;2090:31;2115:5;2090:31;:::i;2156:508::-;2233:6;2241;2249;2302:2;2290:9;2281:7;2277:23;2273:32;2270:52;;;2318:1;2315;2308:12;2270:52;2357:9;2344:23;2376:31;2401:5;2376:31;:::i;:::-;2426:5;-1:-1:-1;2483:2:1;2468:18;;2455:32;2496:33;2455:32;2496:33;:::i;:::-;2156:508;;2548:7;;-1:-1:-1;;;2628:2:1;2613:18;;;;2600:32;;2156:508::o;2877:160::-;2942:20;;2998:13;;2991:21;2981:32;;2971:60;;3027:1;3024;3017:12;3042:315;3107:6;3115;3168:2;3156:9;3147:7;3143:23;3139:32;3136:52;;;3184:1;3181;3174:12;3136:52;3223:9;3210:23;3242:31;3267:5;3242:31;:::i;:::-;3292:5;-1:-1:-1;3316:35:1;3347:2;3332:18;;3316:35;:::i;:::-;3306:45;;3042:315;;;;;:::o;3551:226::-;3610:6;3663:2;3651:9;3642:7;3638:23;3634:32;3631:52;;;3679:1;3676;3669:12;3631:52;-1:-1:-1;3724:23:1;;3551:226;-1:-1:-1;3551:226:1:o;3782:587::-;3868:6;3876;3884;3892;3945:3;3933:9;3924:7;3920:23;3916:33;3913:53;;;3962:1;3959;3952:12;3913:53;-1:-1:-1;;4007:23:1;;;4127:2;4112:18;;4099:32;;-1:-1:-1;4230:2:1;4215:18;;4202:32;;4333:2;4318:18;4305:32;;-1:-1:-1;3782:587:1;-1:-1:-1;3782:587:1:o;4374:180::-;4430:6;4483:2;4471:9;4462:7;4458:23;4454:32;4451:52;;;4499:1;4496;4489:12;4451:52;4522:26;4538:9;4522:26;:::i;4559:388::-;4627:6;4635;4688:2;4676:9;4667:7;4663:23;4659:32;4656:52;;;4704:1;4701;4694:12;4656:52;4743:9;4730:23;4762:31;4787:5;4762:31;:::i;:::-;4812:5;-1:-1:-1;4869:2:1;4854:18;;4841:32;4882:33;4841:32;4882:33;:::i;:::-;4934:7;4924:17;;;4559:388;;;;;:::o;4952:356::-;5154:2;5136:21;;;5173:18;;;5166:30;5232:34;5227:2;5212:18;;5205:62;5299:2;5284:18;;4952:356::o;5313:127::-;5374:10;5369:3;5365:20;5362:1;5355:31;5405:4;5402:1;5395:15;5429:4;5426:1;5419:15;5445:125;5510:9;;;5531:10;;;5528:36;;;5544:18;;:::i;5575:353::-;5777:2;5759:21;;;5816:2;5796:18;;;5789:30;5855:31;5850:2;5835:18;;5828:59;5919:2;5904:18;;5575:353::o;5933:380::-;6012:1;6008:12;;;;6055;;;6076:61;;6130:4;6122:6;6118:17;6108:27;;6076:61;6183:2;6175:6;6172:14;6152:18;6149:38;6146:161;;6229:10;6224:3;6220:20;6217:1;6210:31;6264:4;6261:1;6254:15;6292:4;6289:1;6282:15;6146:161;;5933:380;;;:::o;6727:168::-;6800:9;;;6831;;6848:15;;;6842:22;;6828:37;6818:71;;6869:18;;:::i;6900:217::-;6940:1;6966;6956:132;;7010:10;7005:3;7001:20;6998:1;6991:31;7045:4;7042:1;7035:15;7073:4;7070:1;7063:15;6956:132;-1:-1:-1;7102:9:1;;6900:217::o;11120:401::-;11322:2;11304:21;;;11361:2;11341:18;;;11334:30;11400:34;11395:2;11380:18;;11373:62;-1:-1:-1;;;11466:2:1;11451:18;;11444:35;11511:3;11496:19;;11120:401::o;11526:399::-;11728:2;11710:21;;;11767:2;11747:18;;;11740:30;11806:34;11801:2;11786:18;;11779:62;-1:-1:-1;;;11872:2:1;11857:18;;11850:33;11915:3;11900:19;;11526:399::o;14616:128::-;14683:9;;;14704:11;;;14701:37;;;14718:18;;:::i;14881:127::-;14942:10;14937:3;14933:20;14930:1;14923:31;14973:4;14970:1;14963:15;14997:4;14994:1;14987:15;15013:251;15083:6;15136:2;15124:9;15115:7;15111:23;15107:32;15104:52;;;15152:1;15149;15142:12;15104:52;15184:9;15178:16;15203:31;15228:5;15203:31;:::i;15269:959::-;15531:4;15579:3;15568:9;15564:19;15610:6;15599:9;15592:25;15653:6;15648:2;15637:9;15633:18;15626:34;15696:3;15691:2;15680:9;15676:18;15669:31;15720:6;15755;15749:13;15786:6;15778;15771:22;15824:3;15813:9;15809:19;15802:26;;15863:2;15855:6;15851:15;15837:29;;15884:1;15894:195;15908:6;15905:1;15902:13;15894:195;;;15973:13;;-1:-1:-1;;;;;15969:39:1;15957:52;;16038:2;16064:15;;;;16029:12;;;;16005:1;15923:9;15894:195;;;-1:-1:-1;;;;;;;16145:32:1;;;;16140:2;16125:18;;16118:60;-1:-1:-1;;16209:3:1;16194:19;16187:35;16106:3;15269:959;-1:-1:-1;;;15269:959:1:o
Swarm Source
ipfs://81c0555daa57f6bc7709a4c12d2b8bf7a535688b51513bc509340bacf0f9fe88
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.