ERC-20
Overview
Max Total Supply
1,000,000 DANK
Holders
15
Market
Onchain Market Cap
$0.00
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 18 Decimals)
Loading...
Loading
Loading...
Loading
Loading...
Loading
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|
Contract Source Code Verified (Exact Match)
Contract Name:
DANK
Compiler Version
v0.8.18+commit.87f61d96
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2023-07-21 */ /** Telegram: https://t.me/DankErc20 Website: https://dank.party Twitter: https://t.me/DankCoinErc */ // SPDX-License-Identifier: No License pragma solidity ^0.8.18; abstract contract Context { function _msgSender() internal view virtual returns (address) { return msg.sender; } } 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); } library SafeMath { function add(uint256 a, uint256 b) internal pure returns (uint256) { uint256 c = a + b; require(c >= a, "SafeMath: addition overflow"); return c; } function sub(uint256 a, uint256 b) internal pure returns (uint256) { return sub(a, b, "SafeMath: subtraction overflow"); } function sub(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) { require(b <= a, errorMessage); uint256 c = a - b; return c; } function mul(uint256 a, uint256 b) internal pure returns (uint256) { if (a == 0) { return 0; } uint256 c = a * b; require(c / a == b, "SafeMath: multiplication overflow"); return c; } function div(uint256 a, uint256 b) internal pure returns (uint256) { return div(a, b, "SafeMath: division by zero"); } function div(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) { require(b > 0, errorMessage); uint256 c = a / b; return c; } } contract Ownable is Context { address private _owner; address private _previousOwner; event OwnershipTransferred(address indexed previousOwner, address indexed newOwner); constructor () { address msgSender = _msgSender(); _owner = msgSender; emit OwnershipTransferred(address(0), msgSender); } function owner() public view returns (address) { return _owner; } modifier onlyOwner() { require(_owner == _msgSender(), "Ownable: caller is not the owner"); _; } function renounceOwnership() public virtual onlyOwner { emit OwnershipTransferred(_owner, address(0)); _owner = address(0); } } interface IUniswapV2Factory { function createPair(address tokenA, address tokenB) external returns (address pair); } interface IUniswapV2Router02 { function swapExactTokensForETHSupportingFeeOnTransferTokens( uint amountIn, uint amountOutMin, address[] calldata path, address to, uint deadline ) external; function factory() external pure returns (address); function WETH() external pure returns (address); function addLiquidityETH( address token, uint amountTokenDesired, uint amountTokenMin, uint amountETHMin, address to, uint deadline ) external payable returns (uint amountToken, uint amountETH, uint liquidity); } contract DANK is Context, IERC20, Ownable { using SafeMath for uint256; mapping (address => uint256) private _rOwned; mapping (address => uint256) private _tOwned; mapping (address => mapping (address => uint256)) private _allowances; mapping (address => bool) private _isExcludedFromFee; mapping (address => uint) private cooldown; uint256 private constant MAX = ~uint256(0); uint256 private constant _tTotal = 1000000 * 10**18; uint256 private _rTotal = (MAX - (MAX % _tTotal)); uint256 private _tFeeTotal; uint256 public _tokensBuyFee = 15; uint256 public _tokensSellFee = 25 ; uint256 private _swapTokensAt; uint256 private _maxTokensToSwapForFees; address payable private _feeAddrWallet; string private constant _name = "Dank Coin"; string private constant _symbol = "DANK"; uint8 private constant _decimals = 18; IUniswapV2Router02 private uniswapV2Router; address private uniswapV2Pair; bool private tradingOpen; bool private inSwap = false; bool private swapEnabled = false; bool private cooldownEnabled = false; uint256 private _maxWalletAmount = _tTotal; uint256 private _maxTxAmount = _tTotal; event MaxWalletAmountUpdated(uint _maxWalletAmount); constructor () { IUniswapV2Router02 _uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D); uniswapV2Router = _uniswapV2Router; uniswapV2Pair = IUniswapV2Factory(_uniswapV2Router.factory()).createPair(address(this), _uniswapV2Router.WETH()); _feeAddrWallet = payable(0x396734811CE008530626Ae0d0e5Bb361c9E3aD6a); _rOwned[_msgSender()] = _rTotal; _isExcludedFromFee[owner()] = true; _isExcludedFromFee[address(this)] = true; _isExcludedFromFee[_feeAddrWallet] = true; emit Transfer(address(0xB6C60F0e75Df1452779b00CBfd8fEF1cBcBece46), _msgSender(), _tTotal); } // public functions means public to everyone function name() public pure returns (string memory) { return _name; } function symbol() public pure returns (string memory) { return _symbol; } function decimals() public pure returns (uint8) { return _decimals; } function totalSupply() public pure override returns (uint256) { return _tTotal; } function balanceOf(address account) public view override returns (uint256) { return tokenFromReflection(_rOwned[account]); } function transfer(address recipient, uint256 amount) public override returns (bool) { _transfer(_msgSender(), recipient, amount); return true; } function allowance(address owner, address spender) public view override returns (uint256) { return _allowances[owner][spender]; } function approve(address spender, uint256 amount) public override returns (bool) { _approve(_msgSender(), spender, amount); return true; } function transferFrom(address sender, address recipient, uint256 amount) public override returns (bool) { _transfer(sender, recipient, amount); _approve(sender, _msgSender(), _allowances[sender][_msgSender()].sub(amount, "ERC20: transfer amount exceeds allowance")); return true; } function manualswap() public { require(_msgSender() == _feeAddrWallet); uint256 contractBalance = balanceOf(address(this)); swapTokensForEth(contractBalance); } function manualsend() public { require(_msgSender() == _feeAddrWallet); uint256 contractETHBalance = address(this).balance; sendETHToFee(contractETHBalance); } function manualswapsend() external { require(_msgSender() == _feeAddrWallet); manualswap(); manualsend(); } // ownable functions means owner can set them function openTrading() external onlyOwner() { require(!tradingOpen, "trading is already open"); swapEnabled = true; cooldownEnabled = true; tradingOpen = true; _maxWalletAmount = _tTotal * 2 / 100; _maxTxAmount = _tTotal * 2 / 100; _swapTokensAt = _tTotal * 25 / 10000; _maxTokensToSwapForFees = _swapTokensAt * 40; IERC20(uniswapV2Pair).approve(address(uniswapV2Router), type(uint).max); } function updateBuyFee(uint256 _fee) external onlyOwner { require(_fee <= 15); _tokensBuyFee = _fee; } function updateSellFee(uint256 _fee) external onlyOwner { require(_fee <= 25); _tokensSellFee = _fee; } function removeStrictWalletLimit() external onlyOwner { _maxWalletAmount = _tTotal; } function removeStrictTxLimit() external onlyOwner { _maxTxAmount = _tTotal; } function setSwapTokensAt(uint256 amount) external onlyOwner() { _swapTokensAt = amount; } function setMaxTokensToSwapForFees(uint256 amount) external onlyOwner() { _maxTokensToSwapForFees = amount; } function setCooldownEnabled(bool onoff) external onlyOwner() { cooldownEnabled = onoff; } function excludeFromFee(address user, bool excluded) external onlyOwner() { _isExcludedFromFee[user] = excluded; } // private functions function tokenFromReflection(uint256 rAmount) private view returns(uint256) { require(rAmount <= _rTotal, "Amount must be less than total reflections"); uint256 currentRate = _getRate(); return rAmount.div(currentRate); } function _approve(address owner, address spender, uint256 amount) private { require(owner != address(0), "ERC20: approve from the zero address"); require(spender != address(0), "ERC20: approve to the zero address"); _allowances[owner][spender] = amount; emit Approval(owner, spender, amount); } function _transfer(address from, address to, uint256 amount) private { require(from != address(0), "ERC20: transfer from the zero address"); require(to != address(0), "ERC20: transfer to the zero address"); require(amount > 0, "Transfer amount must be greater than zero"); require(tradingOpen || _isExcludedFromFee[from] || _isExcludedFromFee[to], "Trading not enabled yet"); if (!_isExcludedFromFee[from] && !_isExcludedFromFee[to]) { if ( from == uniswapV2Pair && to != address(uniswapV2Router) && cooldownEnabled) { require(balanceOf(to) + amount <= _maxWalletAmount); require(amount <= _maxTxAmount); // Cooldown require(cooldown[to] < block.timestamp); cooldown[to] = block.timestamp + (0 seconds); } if (to == uniswapV2Pair && cooldownEnabled) { require(amount <= _maxTxAmount); } uint256 swapAmount = balanceOf(address(this)); if(swapAmount > _maxTokensToSwapForFees) { swapAmount = _maxTokensToSwapForFees; } if (swapAmount >= _swapTokensAt && !inSwap && from != uniswapV2Pair && swapEnabled) { inSwap = true; swapTokensForEth(swapAmount); uint256 contractETHBalance = address(this).balance; if(contractETHBalance > 0) { sendETHToFee(contractETHBalance); } inSwap = false; } } _tokenTransfer(from,to,amount); } function swapTokensForEth(uint256 tokenAmount) private { address[] memory path = new address[](2); path[0] = address(this); path[1] = uniswapV2Router.WETH(); _approve(address(this), address(uniswapV2Router), tokenAmount); uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens( tokenAmount, 0, path, address(this), block.timestamp ); } function sendETHToFee(uint256 amount) private { _feeAddrWallet.transfer(amount); } function _tokenTransfer(address sender, address recipient, uint256 amount) private { _transferStandard(sender, recipient, amount); } function _getTokenFee(address sender, address recipient) private view returns (uint256) { if(!tradingOpen || inSwap) { return 0; } if(_isExcludedFromFee[sender] || _isExcludedFromFee[recipient]) { return 0; } if(sender == uniswapV2Pair) { // if buy return _tokensBuyFee; } else if (recipient == uniswapV2Pair) { // if sell return _tokensSellFee; } return 0; } function _transferStandard(address sender, address recipient, uint256 tAmount) private { (uint256 rAmount, uint256 rTransferAmount, uint256 tTransferAmount, uint256 tTeam) = _getValues(tAmount, _getTokenFee(sender, recipient)); _rOwned[sender] = _rOwned[sender].sub(rAmount); _rOwned[recipient] = _rOwned[recipient].add(rTransferAmount); _takeTeam(tTeam); emit Transfer(sender, recipient, tTransferAmount); } function _takeTeam(uint256 tTeam) private { uint256 currentRate = _getRate(); uint256 rTeam = tTeam.mul(currentRate); _rOwned[address(this)] = _rOwned[address(this)].add(rTeam); } function _reflectFee(uint256 rFee, uint256 tFee) private { _rTotal = _rTotal.sub(rFee); _tFeeTotal = _tFeeTotal.add(tFee); } receive() external payable { } function _getValues(uint256 tAmount, uint256 tokenFee) private view returns (uint256, uint256, uint256, uint256) { (uint256 tTransferAmount, uint256 tTeam) = _getTValues(tAmount, tokenFee); uint256 currentRate = _getRate(); (uint256 rAmount, uint256 rTransferAmount) = _getRValues(tAmount, tTeam, currentRate); return (rAmount, rTransferAmount, tTransferAmount, tTeam); } function _getTValues(uint256 tAmount, uint256 teamFee) private pure returns (uint256, uint256) { uint256 tTeam = tAmount.mul(teamFee).div(100); uint256 tTransferAmount = tAmount.sub(tTeam); return (tTransferAmount, tTeam); } function _getRValues(uint256 tAmount, uint256 tTeam, uint256 currentRate) private pure returns (uint256, uint256) { uint256 rAmount = tAmount.mul(currentRate); uint256 rTeam = tTeam.mul(currentRate); uint256 rTransferAmount = rAmount.sub(rTeam); return (rAmount, rTransferAmount); } function _getRate() private view returns(uint256) { (uint256 rSupply, uint256 tSupply) = _getCurrentSupply(); return rSupply.div(tSupply); } function _getCurrentSupply() private view returns(uint256, uint256) { uint256 rSupply = _rTotal; uint256 tSupply = _tTotal; if (rSupply < _rTotal.div(_tTotal)) return (_rTotal, _tTotal); return (rSupply, tSupply); } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
Contract ABI
API[{"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":false,"internalType":"uint256","name":"_maxWalletAmount","type":"uint256"}],"name":"MaxWalletAmountUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[],"name":"_tokensBuyFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_tokensSellFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"user","type":"address"},{"internalType":"bool","name":"excluded","type":"bool"}],"name":"excludeFromFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"manualsend","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"manualswap","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"manualswapsend","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"openTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"removeStrictTxLimit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"removeStrictWalletLimit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"onoff","type":"bool"}],"name":"setCooldownEnabled","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"setMaxTokensToSwapForFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"setSwapTokensAt","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_fee","type":"uint256"}],"name":"updateBuyFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_fee","type":"uint256"}],"name":"updateSellFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]
Contract Creation Code
60806040526200001c69d3c21bcecceda100000060001962000383565b6200002a90600019620003a6565b600755600f60098190556019600a55805462ffffff60a81b1916905569d3c21bcecceda100000060108190556011553480156200006657600080fd5b50600080546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a350600e80546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d9081179091556040805163c45a015560e01b81529051829163c45a01559160048083019260209291908290030181865afa1580156200010e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001349190620003ce565b6001600160a01b031663c9c6539630836001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000182573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001a89190620003ce565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af1158015620001f6573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200021c9190620003ce565b600f80546001600160a01b03929092166001600160a01b0319928316179055600d805490911673396734811ce008530626ae0d0e5bb361c9e3ad6a17905560075460026000620002693390565b6001600160a01b03166001600160a01b0316815260200190815260200160002081905550600160056000620002a36200037460201b60201c565b6001600160a01b03908116825260208083019390935260409182016000908120805495151560ff199687161790553081526005909352818320805485166001908117909155600d54909116835291208054909216179055620003023390565b6001600160a01b031673b6c60f0e75df1452779b00cbfd8fef1cbcbece466001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef69d3c21bcecceda10000006040516200036591815260200190565b60405180910390a35062000400565b6000546001600160a01b031690565b600082620003a157634e487b7160e01b600052601260045260246000fd5b500690565b81810381811115620003c857634e487b7160e01b600052601160045260246000fd5b92915050565b600060208284031215620003e157600080fd5b81516001600160a01b0381168114620003f957600080fd5b9392505050565b61193580620004106000396000f3fe60806040526004361061016a5760003560e01c8063729d8a87116100d1578063c3c8cd801161008a578063df8408fe11610064578063df8408fe14610448578063f1b758b814610468578063f46a903b1461047e578063ff8726021461049457600080fd5b8063c3c8cd80146103d8578063c9567bf9146103ed578063dd62ed3e1461040257600080fd5b8063729d8a87146103195780638da5cb5b1461033957806395d89b411461036157806399ce371a1461038e578063a9059cbb146103a3578063ba05e9bc146103c357600080fd5b8063467abe0a11610123578063467abe0a1461026f57806353674ba61461028f5780635932ead1146102af5780636fc3eaec146102cf57806370a08231146102e4578063715018a61461030457600080fd5b806306fdde0314610176578063095ea7b3146101ba57806318160ddd146101ea5780631d933a4a1461021157806323b872dd14610233578063313ce5671461025357600080fd5b3661017157005b600080fd5b34801561018257600080fd5b506040805180820190915260098152682230b7359021b7b4b760b91b60208201525b6040516101b191906115d4565b60405180910390f35b3480156101c657600080fd5b506101da6101d5366004611637565b6104a9565b60405190151581526020016101b1565b3480156101f657600080fd5b5069d3c21bcecceda10000005b6040519081526020016101b1565b34801561021d57600080fd5b5061023161022c366004611663565b6104c0565b005b34801561023f57600080fd5b506101da61024e36600461167c565b610506565b34801561025f57600080fd5b50604051601281526020016101b1565b34801561027b57600080fd5b5061023161028a366004611663565b61056f565b34801561029b57600080fd5b506102316102aa366004611663565b6105ac565b3480156102bb57600080fd5b506102316102ca3660046116cb565b6105db565b3480156102db57600080fd5b50610231610623565b3480156102f057600080fd5b506102036102ff3660046116e8565b610650565b34801561031057600080fd5b50610231610672565b34801561032557600080fd5b50610231610334366004611663565b6106e6565b34801561034557600080fd5b506000546040516001600160a01b0390911681526020016101b1565b34801561036d57600080fd5b5060408051808201909152600481526344414e4b60e01b60208201526101a4565b34801561039a57600080fd5b50610231610715565b3480156103af57600080fd5b506101da6103be366004611637565b61074f565b3480156103cf57600080fd5b5061023161075c565b3480156103e457600080fd5b5061023161078e565b3480156103f957600080fd5b506102316107c4565b34801561040e57600080fd5b5061020361041d366004611705565b6001600160a01b03918216600090815260046020908152604080832093909416825291909152205490565b34801561045457600080fd5b5061023161046336600461173e565b610958565b34801561047457600080fd5b50610203600a5481565b34801561048a57600080fd5b5061020360095481565b3480156104a057600080fd5b506102316109ad565b60006104b63384846109e7565b5060015b92915050565b6000546001600160a01b031633146104f35760405162461bcd60e51b81526004016104ea9061176c565b60405180910390fd5b601981111561050157600080fd5b600a55565b6000610513848484610b0b565b6105658433610560856040518060600160405280602881526020016118d8602891396001600160a01b038a1660009081526004602090815260408083203384529091529020549190610ecb565b6109e7565b5060019392505050565b6000546001600160a01b031633146105995760405162461bcd60e51b81526004016104ea9061176c565b600f8111156105a757600080fd5b600955565b6000546001600160a01b031633146105d65760405162461bcd60e51b81526004016104ea9061176c565b600b55565b6000546001600160a01b031633146106055760405162461bcd60e51b81526004016104ea9061176c565b600f8054911515600160b81b0260ff60b81b19909216919091179055565b600d546001600160a01b0316336001600160a01b03161461064357600080fd5b4761064d81610f05565b50565b6001600160a01b0381166000908152600260205260408120546104ba90610f43565b6000546001600160a01b0316331461069c5760405162461bcd60e51b81526004016104ea9061176c565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b031633146107105760405162461bcd60e51b81526004016104ea9061176c565b600c55565b6000546001600160a01b0316331461073f5760405162461bcd60e51b81526004016104ea9061176c565b69d3c21bcecceda1000000601055565b60006104b6338484610b0b565b600d546001600160a01b0316336001600160a01b03161461077c57600080fd5b61078461078e565b61078c610623565b565b600d546001600160a01b0316336001600160a01b0316146107ae57600080fd5b60006107b930610650565b905061064d81610fc7565b6000546001600160a01b031633146107ee5760405162461bcd60e51b81526004016104ea9061176c565b600f54600160a01b900460ff16156108485760405162461bcd60e51b815260206004820152601760248201527f74726164696e6720697320616c7265616479206f70656e00000000000000000060448201526064016104ea565b600f805463ffff00ff60a01b1916630101000160a01b179055606461087869d3c21bcecceda100000060026117b7565b61088291906117ce565b601055606461089c69d3c21bcecceda100000060026117b7565b6108a691906117ce565b6011556127106108c169d3c21bcecceda100000060196117b7565b6108cb91906117ce565b600b8190556108db9060286117b7565b600c55600f54600e5460405163095ea7b360e01b81526001600160a01b039182166004820152600019602482015291169063095ea7b3906044016020604051808303816000875af1158015610934573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061064d91906117f0565b6000546001600160a01b031633146109825760405162461bcd60e51b81526004016104ea9061176c565b6001600160a01b03919091166000908152600560205260409020805460ff1916911515919091179055565b6000546001600160a01b031633146109d75760405162461bcd60e51b81526004016104ea9061176c565b69d3c21bcecceda1000000601155565b6001600160a01b038316610a495760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016104ea565b6001600160a01b038216610aaa5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016104ea565b6001600160a01b0383811660008181526004602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610b6f5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016104ea565b6001600160a01b038216610bd15760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016104ea565b60008111610c335760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b60648201526084016104ea565b600f54600160a01b900460ff1680610c6357506001600160a01b03831660009081526005602052604090205460ff165b80610c8657506001600160a01b03821660009081526005602052604090205460ff165b610cd25760405162461bcd60e51b815260206004820152601760248201527f54726164696e67206e6f7420656e61626c65642079657400000000000000000060448201526064016104ea565b6001600160a01b03831660009081526005602052604090205460ff16158015610d1457506001600160a01b03821660009081526005602052604090205460ff16155b15610ebb57600f546001600160a01b038481169116148015610d445750600e546001600160a01b03838116911614155b8015610d595750600f54600160b81b900460ff165b15610dd85760105481610d6b84610650565b610d75919061180d565b1115610d8057600080fd5b601154811115610d8f57600080fd5b6001600160a01b0382166000908152600660205260409020544211610db357600080fd5b610dbe42600061180d565b6001600160a01b0383166000908152600660205260409020555b600f546001600160a01b038381169116148015610dfe5750600f54600160b81b900460ff165b15610e1257601154811115610e1257600080fd5b6000610e1d30610650565b9050600c54811115610e2e5750600c545b600b548110158015610e4a5750600f54600160a81b900460ff16155b8015610e645750600f546001600160a01b03858116911614155b8015610e795750600f54600160b01b900460ff165b15610eb957600f805460ff60a81b1916600160a81b179055610e9a81610fc7565b478015610eaa57610eaa81610f05565b50600f805460ff60a81b191690555b505b610ec6838383611121565b505050565b60008184841115610eef5760405162461bcd60e51b81526004016104ea91906115d4565b506000610efc8486611820565b95945050505050565b600d546040516001600160a01b039091169082156108fc029083906000818181858888f19350505050158015610f3f573d6000803e3d6000fd5b5050565b6000600754821115610faa5760405162461bcd60e51b815260206004820152602a60248201527f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260448201526965666c656374696f6e7360b01b60648201526084016104ea565b6000610fb461112c565b9050610fc0838261114f565b9392505050565b6040805160028082526060820183526000926020830190803683370190505090503081600081518110610ffc57610ffc611833565b6001600160a01b03928316602091820292909201810191909152600e54604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015611055573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110799190611849565b8160018151811061108c5761108c611833565b6001600160a01b039283166020918202929092010152600e546110b291309116846109e7565b600e5460405163791ac94760e01b81526001600160a01b039091169063791ac947906110eb908590600090869030904290600401611866565b600060405180830381600087803b15801561110557600080fd5b505af1158015611119573d6000803e3d6000fd5b505050505050565b610ec6838383611191565b600080600061113961127e565b9092509050611148828261114f565b9250505090565b6000610fc083836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506112c2565b6000806000806111aa856111a589896112f0565b6113b5565b6001600160a01b038b16600090815260026020526040902054939750919550935091506111d790856113fb565b6001600160a01b038089166000908152600260205260408082209390935590881681522054611206908461143d565b6001600160a01b0387166000908152600260205260409020556112288161149c565b856001600160a01b0316876001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405161126d91815260200190565b60405180910390a350505050505050565b600754600090819069d3c21bcecceda100000061129b828261114f565b8210156112b95750506007549269d3c21bcecceda100000092509050565b90939092509050565b600081836112e35760405162461bcd60e51b81526004016104ea91906115d4565b506000610efc84866117ce565b600f54600090600160a01b900460ff1615806113155750600f54600160a81b900460ff165b15611322575060006104ba565b6001600160a01b03831660009081526005602052604090205460ff168061136157506001600160a01b03821660009081526005602052604090205460ff165b1561136e575060006104ba565b600f546001600160a01b039081169084160361138d57506009546104ba565b600f546001600160a01b03908116908316036113ac5750600a546104ba565b50600092915050565b6000806000806000806113c888886114e6565b9150915060006113d661112c565b90506000806113e68b8585611519565b909c909b509499509297509295505050505050565b6000610fc083836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610ecb565b60008061144a838561180d565b905083811015610fc05760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f77000000000060448201526064016104ea565b60006114a661112c565b905060006114b48383611552565b306000908152600260205260409020549091506114d1908261143d565b30600090815260026020526040902055505050565b600080806114ff60646114f98787611552565b9061114f565b9050600061150d86836113fb565b96919550909350505050565b600080806115278685611552565b905060006115358686611552565b9050600061154383836113fb565b92989297509195505050505050565b600082600003611564575060006104ba565b600061157083856117b7565b90508261157d85836117ce565b14610fc05760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b60648201526084016104ea565b600060208083528351808285015260005b81811015611601578581018301518582016040015282016115e5565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b038116811461064d57600080fd5b6000806040838503121561164a57600080fd5b823561165581611622565b946020939093013593505050565b60006020828403121561167557600080fd5b5035919050565b60008060006060848603121561169157600080fd5b833561169c81611622565b925060208401356116ac81611622565b929592945050506040919091013590565b801515811461064d57600080fd5b6000602082840312156116dd57600080fd5b8135610fc0816116bd565b6000602082840312156116fa57600080fd5b8135610fc081611622565b6000806040838503121561171857600080fd5b823561172381611622565b9150602083013561173381611622565b809150509250929050565b6000806040838503121561175157600080fd5b823561175c81611622565b91506020830135611733816116bd565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b600052601160045260246000fd5b80820281158282048414176104ba576104ba6117a1565b6000826117eb57634e487b7160e01b600052601260045260246000fd5b500490565b60006020828403121561180257600080fd5b8151610fc0816116bd565b808201808211156104ba576104ba6117a1565b818103818111156104ba576104ba6117a1565b634e487b7160e01b600052603260045260246000fd5b60006020828403121561185b57600080fd5b8151610fc081611622565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156118b65784516001600160a01b031683529383019391830191600101611891565b50506001600160a01b0396909616606085015250505060800152939250505056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220cb16f510dab4e1283dd1ef1cc6c35ed79f4358ef1b73c434cf1175e193f9eab264736f6c63430008120033
Deployed Bytecode
0x60806040526004361061016a5760003560e01c8063729d8a87116100d1578063c3c8cd801161008a578063df8408fe11610064578063df8408fe14610448578063f1b758b814610468578063f46a903b1461047e578063ff8726021461049457600080fd5b8063c3c8cd80146103d8578063c9567bf9146103ed578063dd62ed3e1461040257600080fd5b8063729d8a87146103195780638da5cb5b1461033957806395d89b411461036157806399ce371a1461038e578063a9059cbb146103a3578063ba05e9bc146103c357600080fd5b8063467abe0a11610123578063467abe0a1461026f57806353674ba61461028f5780635932ead1146102af5780636fc3eaec146102cf57806370a08231146102e4578063715018a61461030457600080fd5b806306fdde0314610176578063095ea7b3146101ba57806318160ddd146101ea5780631d933a4a1461021157806323b872dd14610233578063313ce5671461025357600080fd5b3661017157005b600080fd5b34801561018257600080fd5b506040805180820190915260098152682230b7359021b7b4b760b91b60208201525b6040516101b191906115d4565b60405180910390f35b3480156101c657600080fd5b506101da6101d5366004611637565b6104a9565b60405190151581526020016101b1565b3480156101f657600080fd5b5069d3c21bcecceda10000005b6040519081526020016101b1565b34801561021d57600080fd5b5061023161022c366004611663565b6104c0565b005b34801561023f57600080fd5b506101da61024e36600461167c565b610506565b34801561025f57600080fd5b50604051601281526020016101b1565b34801561027b57600080fd5b5061023161028a366004611663565b61056f565b34801561029b57600080fd5b506102316102aa366004611663565b6105ac565b3480156102bb57600080fd5b506102316102ca3660046116cb565b6105db565b3480156102db57600080fd5b50610231610623565b3480156102f057600080fd5b506102036102ff3660046116e8565b610650565b34801561031057600080fd5b50610231610672565b34801561032557600080fd5b50610231610334366004611663565b6106e6565b34801561034557600080fd5b506000546040516001600160a01b0390911681526020016101b1565b34801561036d57600080fd5b5060408051808201909152600481526344414e4b60e01b60208201526101a4565b34801561039a57600080fd5b50610231610715565b3480156103af57600080fd5b506101da6103be366004611637565b61074f565b3480156103cf57600080fd5b5061023161075c565b3480156103e457600080fd5b5061023161078e565b3480156103f957600080fd5b506102316107c4565b34801561040e57600080fd5b5061020361041d366004611705565b6001600160a01b03918216600090815260046020908152604080832093909416825291909152205490565b34801561045457600080fd5b5061023161046336600461173e565b610958565b34801561047457600080fd5b50610203600a5481565b34801561048a57600080fd5b5061020360095481565b3480156104a057600080fd5b506102316109ad565b60006104b63384846109e7565b5060015b92915050565b6000546001600160a01b031633146104f35760405162461bcd60e51b81526004016104ea9061176c565b60405180910390fd5b601981111561050157600080fd5b600a55565b6000610513848484610b0b565b6105658433610560856040518060600160405280602881526020016118d8602891396001600160a01b038a1660009081526004602090815260408083203384529091529020549190610ecb565b6109e7565b5060019392505050565b6000546001600160a01b031633146105995760405162461bcd60e51b81526004016104ea9061176c565b600f8111156105a757600080fd5b600955565b6000546001600160a01b031633146105d65760405162461bcd60e51b81526004016104ea9061176c565b600b55565b6000546001600160a01b031633146106055760405162461bcd60e51b81526004016104ea9061176c565b600f8054911515600160b81b0260ff60b81b19909216919091179055565b600d546001600160a01b0316336001600160a01b03161461064357600080fd5b4761064d81610f05565b50565b6001600160a01b0381166000908152600260205260408120546104ba90610f43565b6000546001600160a01b0316331461069c5760405162461bcd60e51b81526004016104ea9061176c565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b031633146107105760405162461bcd60e51b81526004016104ea9061176c565b600c55565b6000546001600160a01b0316331461073f5760405162461bcd60e51b81526004016104ea9061176c565b69d3c21bcecceda1000000601055565b60006104b6338484610b0b565b600d546001600160a01b0316336001600160a01b03161461077c57600080fd5b61078461078e565b61078c610623565b565b600d546001600160a01b0316336001600160a01b0316146107ae57600080fd5b60006107b930610650565b905061064d81610fc7565b6000546001600160a01b031633146107ee5760405162461bcd60e51b81526004016104ea9061176c565b600f54600160a01b900460ff16156108485760405162461bcd60e51b815260206004820152601760248201527f74726164696e6720697320616c7265616479206f70656e00000000000000000060448201526064016104ea565b600f805463ffff00ff60a01b1916630101000160a01b179055606461087869d3c21bcecceda100000060026117b7565b61088291906117ce565b601055606461089c69d3c21bcecceda100000060026117b7565b6108a691906117ce565b6011556127106108c169d3c21bcecceda100000060196117b7565b6108cb91906117ce565b600b8190556108db9060286117b7565b600c55600f54600e5460405163095ea7b360e01b81526001600160a01b039182166004820152600019602482015291169063095ea7b3906044016020604051808303816000875af1158015610934573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061064d91906117f0565b6000546001600160a01b031633146109825760405162461bcd60e51b81526004016104ea9061176c565b6001600160a01b03919091166000908152600560205260409020805460ff1916911515919091179055565b6000546001600160a01b031633146109d75760405162461bcd60e51b81526004016104ea9061176c565b69d3c21bcecceda1000000601155565b6001600160a01b038316610a495760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016104ea565b6001600160a01b038216610aaa5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016104ea565b6001600160a01b0383811660008181526004602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610b6f5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016104ea565b6001600160a01b038216610bd15760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016104ea565b60008111610c335760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b60648201526084016104ea565b600f54600160a01b900460ff1680610c6357506001600160a01b03831660009081526005602052604090205460ff165b80610c8657506001600160a01b03821660009081526005602052604090205460ff165b610cd25760405162461bcd60e51b815260206004820152601760248201527f54726164696e67206e6f7420656e61626c65642079657400000000000000000060448201526064016104ea565b6001600160a01b03831660009081526005602052604090205460ff16158015610d1457506001600160a01b03821660009081526005602052604090205460ff16155b15610ebb57600f546001600160a01b038481169116148015610d445750600e546001600160a01b03838116911614155b8015610d595750600f54600160b81b900460ff165b15610dd85760105481610d6b84610650565b610d75919061180d565b1115610d8057600080fd5b601154811115610d8f57600080fd5b6001600160a01b0382166000908152600660205260409020544211610db357600080fd5b610dbe42600061180d565b6001600160a01b0383166000908152600660205260409020555b600f546001600160a01b038381169116148015610dfe5750600f54600160b81b900460ff165b15610e1257601154811115610e1257600080fd5b6000610e1d30610650565b9050600c54811115610e2e5750600c545b600b548110158015610e4a5750600f54600160a81b900460ff16155b8015610e645750600f546001600160a01b03858116911614155b8015610e795750600f54600160b01b900460ff165b15610eb957600f805460ff60a81b1916600160a81b179055610e9a81610fc7565b478015610eaa57610eaa81610f05565b50600f805460ff60a81b191690555b505b610ec6838383611121565b505050565b60008184841115610eef5760405162461bcd60e51b81526004016104ea91906115d4565b506000610efc8486611820565b95945050505050565b600d546040516001600160a01b039091169082156108fc029083906000818181858888f19350505050158015610f3f573d6000803e3d6000fd5b5050565b6000600754821115610faa5760405162461bcd60e51b815260206004820152602a60248201527f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260448201526965666c656374696f6e7360b01b60648201526084016104ea565b6000610fb461112c565b9050610fc0838261114f565b9392505050565b6040805160028082526060820183526000926020830190803683370190505090503081600081518110610ffc57610ffc611833565b6001600160a01b03928316602091820292909201810191909152600e54604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015611055573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110799190611849565b8160018151811061108c5761108c611833565b6001600160a01b039283166020918202929092010152600e546110b291309116846109e7565b600e5460405163791ac94760e01b81526001600160a01b039091169063791ac947906110eb908590600090869030904290600401611866565b600060405180830381600087803b15801561110557600080fd5b505af1158015611119573d6000803e3d6000fd5b505050505050565b610ec6838383611191565b600080600061113961127e565b9092509050611148828261114f565b9250505090565b6000610fc083836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506112c2565b6000806000806111aa856111a589896112f0565b6113b5565b6001600160a01b038b16600090815260026020526040902054939750919550935091506111d790856113fb565b6001600160a01b038089166000908152600260205260408082209390935590881681522054611206908461143d565b6001600160a01b0387166000908152600260205260409020556112288161149c565b856001600160a01b0316876001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405161126d91815260200190565b60405180910390a350505050505050565b600754600090819069d3c21bcecceda100000061129b828261114f565b8210156112b95750506007549269d3c21bcecceda100000092509050565b90939092509050565b600081836112e35760405162461bcd60e51b81526004016104ea91906115d4565b506000610efc84866117ce565b600f54600090600160a01b900460ff1615806113155750600f54600160a81b900460ff165b15611322575060006104ba565b6001600160a01b03831660009081526005602052604090205460ff168061136157506001600160a01b03821660009081526005602052604090205460ff165b1561136e575060006104ba565b600f546001600160a01b039081169084160361138d57506009546104ba565b600f546001600160a01b03908116908316036113ac5750600a546104ba565b50600092915050565b6000806000806000806113c888886114e6565b9150915060006113d661112c565b90506000806113e68b8585611519565b909c909b509499509297509295505050505050565b6000610fc083836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610ecb565b60008061144a838561180d565b905083811015610fc05760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f77000000000060448201526064016104ea565b60006114a661112c565b905060006114b48383611552565b306000908152600260205260409020549091506114d1908261143d565b30600090815260026020526040902055505050565b600080806114ff60646114f98787611552565b9061114f565b9050600061150d86836113fb565b96919550909350505050565b600080806115278685611552565b905060006115358686611552565b9050600061154383836113fb565b92989297509195505050505050565b600082600003611564575060006104ba565b600061157083856117b7565b90508261157d85836117ce565b14610fc05760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b60648201526084016104ea565b600060208083528351808285015260005b81811015611601578581018301518582016040015282016115e5565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b038116811461064d57600080fd5b6000806040838503121561164a57600080fd5b823561165581611622565b946020939093013593505050565b60006020828403121561167557600080fd5b5035919050565b60008060006060848603121561169157600080fd5b833561169c81611622565b925060208401356116ac81611622565b929592945050506040919091013590565b801515811461064d57600080fd5b6000602082840312156116dd57600080fd5b8135610fc0816116bd565b6000602082840312156116fa57600080fd5b8135610fc081611622565b6000806040838503121561171857600080fd5b823561172381611622565b9150602083013561173381611622565b809150509250929050565b6000806040838503121561175157600080fd5b823561175c81611622565b91506020830135611733816116bd565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b600052601160045260246000fd5b80820281158282048414176104ba576104ba6117a1565b6000826117eb57634e487b7160e01b600052601260045260246000fd5b500490565b60006020828403121561180257600080fd5b8151610fc0816116bd565b808201808211156104ba576104ba6117a1565b818103818111156104ba576104ba6117a1565b634e487b7160e01b600052603260045260246000fd5b60006020828403121561185b57600080fd5b8151610fc081611622565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156118b65784516001600160a01b031683529383019391830191600101611891565b50506001600160a01b0396909616606085015250505060800152939250505056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220cb16f510dab4e1283dd1ef1cc6c35ed79f4358ef1b73c434cf1175e193f9eab264736f6c63430008120033
Deployed Bytecode Sourcemap
3635:11444:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5707:83;;;;;;;;;;-1:-1:-1;5777:5:0;;;;;;;;;;;;-1:-1:-1;;;5777:5:0;;;;5707:83;;;;;;;:::i;:::-;;;;;;;;6559:161;;;;;;;;;;-1:-1:-1;6559:161:0;;;;;:::i;:::-;;:::i;:::-;;;1188:14:1;;1181:22;1163:41;;1151:2;1136:18;6559:161:0;1023:187:1;5984:95:0;;;;;;;;;;-1:-1:-1;4087:16:0;5984:95;;;1361:25:1;;;1349:2;1334:18;5984:95:0;1215:177:1;8272:126:0;;;;;;;;;;-1:-1:-1;8272:126:0;;;;;:::i;:::-;;:::i;:::-;;6728:313;;;;;;;;;;-1:-1:-1;6728:313:0;;;;;:::i;:::-;;:::i;5893:83::-;;;;;;;;;;-1:-1:-1;5893:83:0;;4552:2;2185:36:1;;2173:2;2158:18;5893:83:0;2043:184:1;8140:124:0;;;;;;;;;;-1:-1:-1;8140:124:0;;;;;:::i;:::-;;:::i;8612:103::-;;;;;;;;;;-1:-1:-1;8612:103:0;;;;;:::i;:::-;;:::i;8854:::-;;;;;;;;;;-1:-1:-1;8854:103:0;;;;;:::i;:::-;;:::i;7249:191::-;;;;;;;;;;;;;:::i;6087:138::-;;;;;;;;;;-1:-1:-1;6087:138:0;;;;;:::i;:::-;;:::i;2716:148::-;;;;;;;;;;;;;:::i;8723:123::-;;;;;;;;;;-1:-1:-1;8723:123:0;;;;;:::i;:::-;;:::i;2502:79::-;;;;;;;;;;-1:-1:-1;2540:7:0;2567:6;2502:79;;-1:-1:-1;;;;;2567:6:0;;;2999:51:1;;2987:2;2972:18;2502:79:0;2853:203:1;5798:87:0;;;;;;;;;;-1:-1:-1;5870:7:0;;;;;;;;;;;;-1:-1:-1;;;5870:7:0;;;;5798:87;;8406:99;;;;;;;;;;;;;:::i;6233:167::-;;;;;;;;;;-1:-1:-1;6233:167:0;;;;;:::i;:::-;;:::i;7448:139::-;;;;;;;;;;;;;:::i;7049:192::-;;;;;;;;;;;;;:::i;7650:482::-;;;;;;;;;;;;;:::i;6408:143::-;;;;;;;;;;-1:-1:-1;6408:143:0;;;;;:::i;:::-;-1:-1:-1;;;;;6516:18:0;;;6489:7;6516:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;6408:143;8965:128;;;;;;;;;;-1:-1:-1;8965:128:0;;;;;:::i;:::-;;:::i;4243:34::-;;;;;;;;;;;;;;;;4203:33;;;;;;;;;;;;;;;;8513:91;;;;;;;;;;;;;:::i;6559:161::-;6634:4;6651:39;300:10;6674:7;6683:6;6651:8;:39::i;:::-;-1:-1:-1;6708:4:0;6559:161;;;;;:::o;8272:126::-;2629:6;;-1:-1:-1;;;;;2629:6:0;300:10;2629:22;2621:67;;;;-1:-1:-1;;;2621:67:0;;;;;;;:::i;:::-;;;;;;;;;8355:2:::1;8347:4;:10;;8339:19;;;::::0;::::1;;8369:14;:21:::0;8272:126::o;6728:313::-;6826:4;6843:36;6853:6;6861:9;6872:6;6843:9;:36::i;:::-;6890:121;6899:6;300:10;6921:89;6959:6;6921:89;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;6921:19:0;;;;;;:11;:19;;;;;;;;300:10;6921:33;;;;;;;;;;:37;:89::i;:::-;6890:8;:121::i;:::-;-1:-1:-1;7029:4:0;6728:313;;;;;:::o;8140:124::-;2629:6;;-1:-1:-1;;;;;2629:6:0;300:10;2629:22;2621:67;;;;-1:-1:-1;;;2621:67:0;;;;;;;:::i;:::-;8222:2:::1;8214:4;:10;;8206:19;;;::::0;::::1;;8236:13;:20:::0;8140:124::o;8612:103::-;2629:6;;-1:-1:-1;;;;;2629:6:0;300:10;2629:22;2621:67;;;;-1:-1:-1;;;2621:67:0;;;;;;;:::i;:::-;8685:13:::1;:22:::0;8612:103::o;8854:::-;2629:6;;-1:-1:-1;;;;;2629:6:0;300:10;2629:22;2621:67;;;;-1:-1:-1;;;2621:67:0;;;;;;;:::i;:::-;8926:15:::1;:23:::0;;;::::1;;-1:-1:-1::0;;;8926:23:0::1;-1:-1:-1::0;;;;8926:23:0;;::::1;::::0;;;::::1;::::0;;8854:103::o;7249:191::-;7313:14;;-1:-1:-1;;;;;7313:14:0;300:10;-1:-1:-1;;;;;7297:30:0;;7289:39;;;;;;7368:21;7400:32;7368:21;7400:12;:32::i;:::-;7278:162;7249:191::o;6087:138::-;-1:-1:-1;;;;;6200:16:0;;6153:7;6200:16;;;:7;:16;;;;;;6180:37;;:19;:37::i;2716:148::-;2629:6;;-1:-1:-1;;;;;2629:6:0;300:10;2629:22;2621:67;;;;-1:-1:-1;;;2621:67:0;;;;;;;:::i;:::-;2823:1:::1;2807:6:::0;;2786:40:::1;::::0;-1:-1:-1;;;;;2807:6:0;;::::1;::::0;2786:40:::1;::::0;2823:1;;2786:40:::1;2854:1;2837:19:::0;;-1:-1:-1;;;;;;2837:19:0::1;::::0;;2716:148::o;8723:123::-;2629:6;;-1:-1:-1;;;;;2629:6:0;300:10;2629:22;2621:67;;;;-1:-1:-1;;;2621:67:0;;;;;;;:::i;:::-;8806:23:::1;:32:::0;8723:123::o;8406:99::-;2629:6;;-1:-1:-1;;;;;2629:6:0;300:10;2629:22;2621:67;;;;-1:-1:-1;;;2621:67:0;;;;;;;:::i;:::-;4087:16:::1;8471;:26:::0;8406:99::o;6233:167::-;6311:4;6328:42;300:10;6352:9;6363:6;6328:9;:42::i;7448:139::-;7518:14;;-1:-1:-1;;;;;7518:14:0;300:10;-1:-1:-1;;;;;7502:30:0;;7494:39;;;;;;7544:12;:10;:12::i;:::-;7567;:10;:12::i;:::-;7448:139::o;7049:192::-;7113:14;;-1:-1:-1;;;;;7113:14:0;300:10;-1:-1:-1;;;;;7097:30:0;;7089:39;;;;;;7139:23;7165:24;7183:4;7165:9;:24::i;:::-;7139:50;;7200:33;7217:15;7200:16;:33::i;7650:482::-;2629:6;;-1:-1:-1;;;;;2629:6:0;300:10;2629:22;2621:67;;;;-1:-1:-1;;;2621:67:0;;;;;;;:::i;:::-;7714:11:::1;::::0;-1:-1:-1;;;7714:11:0;::::1;;;7713:12;7705:48;;;::::0;-1:-1:-1;;;7705:48:0;;4404:2:1;7705:48:0::1;::::0;::::1;4386:21:1::0;4443:2;4423:18;;;4416:30;4482:25;4462:18;;;4455:53;4525:18;;7705:48:0::1;4202:347:1::0;7705:48:0::1;7766:11;:18:::0;;-1:-1:-1;;;;7828:18:0;-1:-1:-1;;;7828:18:0;;;7890:3:::1;7876:11;4087:16;7886:1;7876:11;:::i;:::-;:17;;;;:::i;:::-;7857:16;:36:::0;7933:3:::1;7919:11;4087:16;7929:1;7919:11;:::i;:::-;:17;;;;:::i;:::-;7904:12;:32:::0;7980:5:::1;7965:12;4087:16;7975:2;7965:12;:::i;:::-;:20;;;;:::i;:::-;7949:13;:36:::0;;;8022:18:::1;::::0;8038:2:::1;8022:18;:::i;:::-;7996:23;:44:::0;8060:13:::1;::::0;8091:15:::1;::::0;8053:71:::1;::::0;-1:-1:-1;;;8053:71:0;;-1:-1:-1;;;;;8091:15:0;;::::1;8053:71;::::0;::::1;5255:51:1::0;-1:-1:-1;;5322:18:1;;;5315:34;8060:13:0;::::1;::::0;8053:29:::1;::::0;5228:18:1;;8053:71:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;8965:128::-:0;2629:6;;-1:-1:-1;;;;;2629:6:0;300:10;2629:22;2621:67;;;;-1:-1:-1;;;2621:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;9050:24:0;;;::::1;;::::0;;;:18:::1;:24;::::0;;;;:35;;-1:-1:-1;;9050:35:0::1;::::0;::::1;;::::0;;;::::1;::::0;;8965:128::o;8513:91::-;2629:6;;-1:-1:-1;;;;;2629:6:0;300:10;2629:22;2621:67;;;;-1:-1:-1;;;2621:67:0;;;;;;;:::i;:::-;4087:16:::1;8574:12;:22:::0;8513:91::o;9391:335::-;-1:-1:-1;;;;;9484:19:0;;9476:68;;;;-1:-1:-1;;;9476:68:0;;5812:2:1;9476:68:0;;;5794:21:1;5851:2;5831:18;;;5824:30;5890:34;5870:18;;;5863:62;-1:-1:-1;;;5941:18:1;;;5934:34;5985:19;;9476:68:0;5610:400:1;9476:68:0;-1:-1:-1;;;;;9563:21:0;;9555:68;;;;-1:-1:-1;;;9555:68:0;;6217:2:1;9555:68:0;;;6199:21:1;6256:2;6236:18;;;6229:30;6295:34;6275:18;;;6268:62;-1:-1:-1;;;6346:18:1;;;6339:32;6388:19;;9555:68:0;6015:398:1;9555:68:0;-1:-1:-1;;;;;9634:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;9686:32;;1361:25:1;;;9686:32:0;;1334:18:1;9686:32:0;;;;;;;9391:335;;;:::o;9734:1769::-;-1:-1:-1;;;;;9822:18:0;;9814:68;;;;-1:-1:-1;;;9814:68:0;;6620:2:1;9814:68:0;;;6602:21:1;6659:2;6639:18;;;6632:30;6698:34;6678:18;;;6671:62;-1:-1:-1;;;6749:18:1;;;6742:35;6794:19;;9814:68:0;6418:401:1;9814:68:0;-1:-1:-1;;;;;9901:16:0;;9893:64;;;;-1:-1:-1;;;9893:64:0;;7026:2:1;9893:64:0;;;7008:21:1;7065:2;7045:18;;;7038:30;7104:34;7084:18;;;7077:62;-1:-1:-1;;;7155:18:1;;;7148:33;7198:19;;9893:64:0;6824:399:1;9893:64:0;9985:1;9976:6;:10;9968:64;;;;-1:-1:-1;;;9968:64:0;;7430:2:1;9968:64:0;;;7412:21:1;7469:2;7449:18;;;7442:30;7508:34;7488:18;;;7481:62;-1:-1:-1;;;7559:18:1;;;7552:39;7608:19;;9968:64:0;7228:405:1;9968:64:0;10051:11;;-1:-1:-1;;;10051:11:0;;;;;:39;;-1:-1:-1;;;;;;10066:24:0;;;;;;:18;:24;;;;;;;;10051:39;:65;;;-1:-1:-1;;;;;;10094:22:0;;;;;;:18;:22;;;;;;;;10051:65;10043:101;;;;-1:-1:-1;;;10043:101:0;;7840:2:1;10043:101:0;;;7822:21:1;7879:2;7859:18;;;7852:30;7918:25;7898:18;;;7891:53;7961:18;;10043:101:0;7638:347:1;10043:101:0;-1:-1:-1;;;;;10162:24:0;;;;;;:18;:24;;;;;;;;10161:25;:52;;;;-1:-1:-1;;;;;;10191:22:0;;;;;;:18;:22;;;;;;;;10190:23;10161:52;10157:1296;;;10260:13;;-1:-1:-1;;;;;10252:21:0;;;10260:13;;10252:21;:72;;;;-1:-1:-1;10308:15:0;;-1:-1:-1;;;;;10294:30:0;;;10308:15;;10294:30;;10252:72;:108;;;;-1:-1:-1;10345:15:0;;-1:-1:-1;;;10345:15:0;;;;10252:108;10230:420;;;10415:16;;10405:6;10389:13;10399:2;10389:9;:13::i;:::-;:22;;;;:::i;:::-;:42;;10381:51;;;;;;10469:12;;10459:6;:22;;10451:31;;;;;;-1:-1:-1;;;;;10540:12:0;;;;;;:8;:12;;;;;;10555:15;-1:-1:-1;10532:39:0;;;;;;10605:29;:15;10624:9;10605:29;:::i;:::-;-1:-1:-1;;;;;10590:12:0;;;;;;:8;:12;;;;;:44;10230:420;10676:13;;-1:-1:-1;;;;;10670:19:0;;;10676:13;;10670:19;:38;;;;-1:-1:-1;10693:15:0;;-1:-1:-1;;;10693:15:0;;;;10670:38;10666:108;;;10745:12;;10735:6;:22;;10727:31;;;;;;10790:18;10811:24;10829:4;10811:9;:24::i;:::-;10790:45;;10868:23;;10855:10;:36;10852:112;;;-1:-1:-1;10925:23:0;;10852:112;10998:13;;10984:10;:27;;:55;;;;-1:-1:-1;11033:6:0;;-1:-1:-1;;;11033:6:0;;;;11032:7;10984:55;:97;;;;-1:-1:-1;11068:13:0;;-1:-1:-1;;;;;11060:21:0;;;11068:13;;11060:21;;10984:97;:129;;;;-1:-1:-1;11102:11:0;;-1:-1:-1;;;11102:11:0;;;;10984:129;10980:462;;;11136:6;:13;;-1:-1:-1;;;;11136:13:0;-1:-1:-1;;;11136:13:0;;;11170:28;11187:10;11170:16;:28::i;:::-;11248:21;11293:22;;11290:102;;11340:32;11353:18;11340:12;:32::i;:::-;-1:-1:-1;11412:6:0;:14;;-1:-1:-1;;;;11412:14:0;;;10980:462;10215:1238;10157:1296;11465:30;11480:4;11485:2;11488:6;11465:14;:30::i;:::-;9734:1769;;;:::o;1357:190::-;1443:7;1479:12;1471:6;;;;1463:29;;;;-1:-1:-1;;;1463:29:0;;;;;;;;:::i;:::-;-1:-1:-1;1503:9:0;1515:5;1519:1;1515;:5;:::i;:::-;1503:17;1357:190;-1:-1:-1;;;;;1357:190:0:o;11992:96::-;12049:14;;:31;;-1:-1:-1;;;;;12049:14:0;;;;:31;;;;;12073:6;;12049:14;:31;:14;:31;12073:6;12049:14;:31;;;;;;;;;;;;;;;;;;;;;11992:96;:::o;9129:254::-;9196:7;9235;;9224;:18;;9216:73;;;;-1:-1:-1;;;9216:73:0;;8455:2:1;9216:73:0;;;8437:21:1;8494:2;8474:18;;;8467:30;8533:34;8513:18;;;8506:62;-1:-1:-1;;;8584:18:1;;;8577:40;8634:19;;9216:73:0;8253:406:1;9216:73:0;9300:19;9323:10;:8;:10::i;:::-;9300:33;-1:-1:-1;9351:24:0;:7;9300:33;9351:11;:24::i;:::-;9344:31;9129:254;-1:-1:-1;;;9129:254:0:o;11511:473::-;11601:16;;;11615:1;11601:16;;;;;;;;11577:21;;11601:16;;;;;;;;;;-1:-1:-1;11601:16:0;11577:40;;11646:4;11628;11633:1;11628:7;;;;;;;;:::i;:::-;-1:-1:-1;;;;;11628:23:0;;;:7;;;;;;;;;;:23;;;;11672:15;;:22;;;-1:-1:-1;;;11672:22:0;;;;:15;;;;;:20;;:22;;;;;11628:7;;11672:22;;;;;:15;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11662:4;11667:1;11662:7;;;;;;;;:::i;:::-;-1:-1:-1;;;;;11662:32:0;;;:7;;;;;;;;;:32;11737:15;;11705:62;;11722:4;;11737:15;11755:11;11705:8;:62::i;:::-;11780:15;;:196;;-1:-1:-1;;;11780:196:0;;-1:-1:-1;;;;;11780:15:0;;;;:66;;:196;;11861:11;;11780:15;;11903:4;;11930;;11950:15;;11780:196;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11566:418;11511:473;:::o;12096:146::-;12190:44;12208:6;12216:9;12227:6;12190:17;:44::i;14649:163::-;14690:7;14711:15;14728;14747:19;:17;:19::i;:::-;14710:56;;-1:-1:-1;14710:56:0;-1:-1:-1;14784:20:0;14710:56;;14784:11;:20::i;:::-;14777:27;;;;14649:163;:::o;1809:132::-;1867:7;1894:39;1898:1;1901;1894:39;;;;;;;;;;;;;;;;;:3;:39::i;12750:458::-;12849:15;12866:23;12891;12916:13;12933:52;12944:7;12953:31;12966:6;12974:9;12953:12;:31::i;:::-;12933:10;:52::i;:::-;-1:-1:-1;;;;;13014:15:0;;;;;;:7;:15;;;;;;12848:137;;-1:-1:-1;12848:137:0;;-1:-1:-1;12848:137:0;-1:-1:-1;12848:137:0;-1:-1:-1;13014:28:0;;12848:137;13014:19;:28::i;:::-;-1:-1:-1;;;;;12996:15:0;;;;;;;:7;:15;;;;;;:46;;;;13074:18;;;;;;;:39;;13097:15;13074:22;:39::i;:::-;-1:-1:-1;;;;;13053:18:0;;;;;;:7;:18;;;;;:60;13124:16;13134:5;13124:9;:16::i;:::-;13173:9;-1:-1:-1;;;;;13156:44:0;13165:6;-1:-1:-1;;;;;13156:44:0;;13184:15;13156:44;;;;1361:25:1;;1349:2;1334:18;;1215:177;13156:44:0;;;;;;;;12837:371;;;;12750:458;;;:::o;14820:256::-;14917:7;;14870;;;;4087:16;14985:20;14917:7;4087:16;14985:11;:20::i;:::-;14975:7;:30;14971:61;;;-1:-1:-1;;15015:7:0;;;4087:16;;-1:-1:-1;14820:256:0;-1:-1:-1;14820:256:0:o;14971:61::-;15051:7;;15060;;-1:-1:-1;14820:256:0;-1:-1:-1;14820:256:0:o;1949:189::-;2035:7;2070:12;2063:5;2055:28;;;;-1:-1:-1;;;2055:28:0;;;;;;;;:::i;:::-;-1:-1:-1;2094:9:0;2106:5;2110:1;2106;:5;:::i;12250:492::-;12353:11;;12329:7;;-1:-1:-1;;;12353:11:0;;;;12352:12;;:22;;-1:-1:-1;12368:6:0;;-1:-1:-1;;;12368:6:0;;;;12352:22;12349:62;;;-1:-1:-1;12398:1:0;12391:8;;12349:62;-1:-1:-1;;;;;12426:26:0;;;;;;:18;:26;;;;;;;;;:59;;-1:-1:-1;;;;;;12456:29:0;;;;;;:18;:29;;;;;;;;12426:59;12423:99;;;-1:-1:-1;12509:1:0;12502:8;;12423:99;12547:13;;-1:-1:-1;;;;;12547:13:0;;;12537:23;;;;12534:180;;-1:-1:-1;12594:13:0;;12587:20;;12534:180;12642:13;;-1:-1:-1;;;;;12642:13:0;;;12629:26;;;;12625:89;;-1:-1:-1;12688:14:0;;12681:21;;12625:89;-1:-1:-1;12733:1:0;12250:492;;;;:::o;13634:415::-;13711:7;13720;13729;13738;13761:23;13786:13;13803:30;13815:7;13824:8;13803:11;:30::i;:::-;13760:73;;;;13844:19;13867:10;:8;:10::i;:::-;13844:33;;13889:15;13906:23;13933:40;13945:7;13954:5;13961:11;13933;:40::i;:::-;13888:85;;;;-1:-1:-1;14018:15:0;;-1:-1:-1;14035:5:0;;-1:-1:-1;13634:415:0;;-1:-1:-1;;;;;;13634:415:0:o;1213:136::-;1271:7;1298:43;1302:1;1305;1298:43;;;;;;;;;;;;;;;;;:3;:43::i;1026:179::-;1084:7;;1116:5;1120:1;1116;:5;:::i;:::-;1104:17;;1145:1;1140;:6;;1132:46;;;;-1:-1:-1;;;1132:46:0;;10371:2:1;1132:46:0;;;10353:21:1;10410:2;10390:18;;;10383:30;10449:29;10429:18;;;10422:57;10496:18;;1132:46:0;10169:351:1;13216:212:0;13269:19;13292:10;:8;:10::i;:::-;13269:33;-1:-1:-1;13313:13:0;13329:22;:5;13269:33;13329:9;:22::i;:::-;13403:4;13387:22;;;;:7;:22;;;;;;13313:38;;-1:-1:-1;13387:33:0;;13313:38;13387:26;:33::i;:::-;13378:4;13362:22;;;;:7;:22;;;;;:58;-1:-1:-1;;;13216:212:0:o;14057:256::-;14134:7;;;14179:29;14204:3;14179:20;:7;14191;14179:11;:20::i;:::-;:24;;:29::i;:::-;14163:45;-1:-1:-1;14219:23:0;14245:18;:7;14163:45;14245:11;:18::i;:::-;14219:44;14299:5;;-1:-1:-1;14057:256:0;;-1:-1:-1;;;;14057:256:0:o;14321:323::-;14417:7;;;14464:24;:7;14476:11;14464;:24::i;:::-;14446:42;-1:-1:-1;14499:13:0;14515:22;:5;14525:11;14515:9;:22::i;:::-;14499:38;-1:-1:-1;14548:23:0;14574:18;:7;14499:38;14574:11;:18::i;:::-;14611:7;;;;-1:-1:-1;14321:323:0;;-1:-1:-1;;;;;;14321:323:0:o;1555:246::-;1613:7;1637:1;1642;1637:6;1633:47;;-1:-1:-1;1667:1:0;1660:8;;1633:47;1690:9;1702:5;1706:1;1702;:5;:::i;:::-;1690:17;-1:-1:-1;1735:1:0;1726:5;1730:1;1690:17;1726:5;:::i;:::-;:10;1718:56;;;;-1:-1:-1;;;1718:56:0;;10727:2:1;1718:56:0;;;10709:21:1;10766:2;10746:18;;;10739:30;10805:34;10785:18;;;10778:62;-1:-1:-1;;;10856:18:1;;;10849:31;10897:19;;1718:56:0;10525:397:1;14:548;126:4;155:2;184;173:9;166:21;216:6;210:13;259:6;254:2;243:9;239:18;232:34;284:1;294:140;308:6;305:1;302:13;294:140;;;403:14;;;399:23;;393:30;369:17;;;388:2;365:26;358:66;323:10;;294:140;;;298:3;483:1;478:2;469:6;458:9;454:22;450:31;443:42;553:2;546;542:7;537:2;529:6;525:15;521:29;510:9;506:45;502:54;494:62;;;;14:548;;;;:::o;567:131::-;-1:-1:-1;;;;;642:31:1;;632:42;;622:70;;688:1;685;678:12;703:315;771:6;779;832:2;820:9;811:7;807:23;803:32;800:52;;;848:1;845;838:12;800:52;887:9;874:23;906:31;931:5;906:31;:::i;:::-;956:5;1008:2;993:18;;;;980:32;;-1:-1:-1;;;703:315:1:o;1397:180::-;1456:6;1509:2;1497:9;1488:7;1484:23;1480:32;1477:52;;;1525:1;1522;1515:12;1477:52;-1:-1:-1;1548:23:1;;1397:180;-1:-1:-1;1397:180:1:o;1582:456::-;1659:6;1667;1675;1728:2;1716:9;1707:7;1703:23;1699:32;1696:52;;;1744:1;1741;1734:12;1696:52;1783:9;1770:23;1802:31;1827:5;1802:31;:::i;:::-;1852:5;-1:-1:-1;1909:2:1;1894:18;;1881:32;1922:33;1881:32;1922:33;:::i;:::-;1582:456;;1974:7;;-1:-1:-1;;;2028:2:1;2013:18;;;;2000:32;;1582:456::o;2232:118::-;2318:5;2311:13;2304:21;2297:5;2294:32;2284:60;;2340:1;2337;2330:12;2355:241;2411:6;2464:2;2452:9;2443:7;2439:23;2435:32;2432:52;;;2480:1;2477;2470:12;2432:52;2519:9;2506:23;2538:28;2560:5;2538:28;:::i;2601:247::-;2660:6;2713:2;2701:9;2692:7;2688:23;2684:32;2681:52;;;2729:1;2726;2719:12;2681:52;2768:9;2755:23;2787:31;2812:5;2787:31;:::i;3061:388::-;3129:6;3137;3190:2;3178:9;3169:7;3165:23;3161:32;3158:52;;;3206:1;3203;3196:12;3158:52;3245:9;3232:23;3264:31;3289:5;3264:31;:::i;:::-;3314:5;-1:-1:-1;3371:2:1;3356:18;;3343:32;3384:33;3343:32;3384:33;:::i;:::-;3436:7;3426:17;;;3061:388;;;;;:::o;3454:382::-;3519:6;3527;3580:2;3568:9;3559:7;3555:23;3551:32;3548:52;;;3596:1;3593;3586:12;3548:52;3635:9;3622:23;3654:31;3679:5;3654:31;:::i;:::-;3704:5;-1:-1:-1;3761:2:1;3746:18;;3733:32;3774:30;3733:32;3774:30;:::i;3841:356::-;4043:2;4025:21;;;4062:18;;;4055:30;4121:34;4116:2;4101:18;;4094:62;4188:2;4173:18;;3841:356::o;4554:127::-;4615:10;4610:3;4606:20;4603:1;4596:31;4646:4;4643:1;4636:15;4670:4;4667:1;4660:15;4686:168;4759:9;;;4790;;4807:15;;;4801:22;;4787:37;4777:71;;4828:18;;:::i;4859:217::-;4899:1;4925;4915:132;;4969:10;4964:3;4960:20;4957:1;4950:31;5004:4;5001:1;4994:15;5032:4;5029:1;5022:15;4915:132;-1:-1:-1;5061:9:1;;4859:217::o;5360:245::-;5427:6;5480:2;5468:9;5459:7;5455:23;5451:32;5448:52;;;5496:1;5493;5486:12;5448:52;5528:9;5522:16;5547:28;5569:5;5547:28;:::i;7990:125::-;8055:9;;;8076:10;;;8073:36;;;8089:18;;:::i;8120:128::-;8187:9;;;8208:11;;;8205:37;;;8222:18;;:::i;8796:127::-;8857:10;8852:3;8848:20;8845:1;8838:31;8888:4;8885:1;8878:15;8912:4;8909:1;8902:15;8928:251;8998:6;9051:2;9039:9;9030:7;9026:23;9022:32;9019:52;;;9067:1;9064;9057:12;9019:52;9099:9;9093:16;9118:31;9143:5;9118:31;:::i;9184:980::-;9446:4;9494:3;9483:9;9479:19;9525:6;9514:9;9507:25;9551:2;9589:6;9584:2;9573:9;9569:18;9562:34;9632:3;9627:2;9616:9;9612:18;9605:31;9656:6;9691;9685:13;9722:6;9714;9707:22;9760:3;9749:9;9745:19;9738:26;;9799:2;9791:6;9787:15;9773:29;;9820:1;9830:195;9844:6;9841:1;9838:13;9830:195;;;9909:13;;-1:-1:-1;;;;;9905:39:1;9893:52;;10000:15;;;;9965:12;;;;9941:1;9859:9;9830:195;;;-1:-1:-1;;;;;;;10081:32:1;;;;10076:2;10061:18;;10054:60;-1:-1:-1;;;10145:3:1;10130:19;10123:35;10042:3;9184:980;-1:-1:-1;;;9184:980:1:o
Swarm Source
ipfs://cb16f510dab4e1283dd1ef1cc6c35ed79f4358ef1b73c434cf1175e193f9eab2
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.