ERC-20
Overview
Max Total Supply
420,690,000,000 DNK
Holders
7
Market
Onchain Market Cap
$0.00
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 9 Decimals)
Balance
164,493,931.909589065 DNKValue
$0.00Loading...
Loading
Loading...
Loading
Loading...
Loading
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|
Contract Source Code Verified (Exact Match)
Contract Name:
DNK
Compiler Version
v0.8.25+commit.b61c2a91
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2024-10-25 */ // SPDX-License-Identifier: MIT /* X: https://x.com/idontknowneth TG: https://t.me/idontknow_portal WEB: http://www.idontknowfun.fun if you ask for updates ur banned. just buy this shit and trust the process. or don’t. DNK. */ pragma solidity 0.8.25; 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; 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 DNK is Context, IERC20, Ownable { using SafeMath for uint256; mapping (address => uint256) private _balances; mapping (address => mapping (address => uint256)) private _allowances; mapping (address => bool) private _isExcludedFromFee; mapping (address => bool) private bots; address payable private _taxWallet; uint256 private _initialBuyTax=23; uint256 private _initialSellTax=23; uint256 private _finalBuyTax=0; uint256 private _finalSellTax=0; uint256 private _reduceBuyTaxAt=22; uint256 private _reduceSellTaxAt=22; uint256 private _preventSwapBefore=22; uint256 private _transferTax=70; uint256 private _buyCount=0; uint8 private constant _decimals = 9; uint256 private constant _tTotal = 420_690_000_000 * 10**_decimals; string private constant _name = unicode"I Dont Know"; string private constant _symbol = unicode"DNK"; uint256 public _maxTxAmount = 2 * (_tTotal/100); uint256 public _maxWalletSize = 2 * (_tTotal/100); uint256 public _taxSwapThreshold= 1 * (_tTotal/1000); uint256 public _maxTaxSwap= 1 * (_tTotal/100); IUniswapV2Router02 private uniswapV2Router; address private uniswapV2Pair; bool private tradingOpen; bool private inSwap = false; bool private swapEnabled = false; uint256 private sellCount = 0; uint256 private lastSellBlock = 0; event MaxTxAmountUpdated(uint _maxTxAmount); event TransferTaxUpdated(uint _tax); modifier lockTheSwap { inSwap = true; _; inSwap = false; } constructor () { _taxWallet = payable(0x21C6eCaC49857368737F388eE34518Df921A984A); _balances[_msgSender()] = _tTotal; _isExcludedFromFee[owner()] = true; _isExcludedFromFee[address(this)] = true; _isExcludedFromFee[_taxWallet] = true; emit Transfer(address(0), _msgSender(), _tTotal); } 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 _balances[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 _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"); uint256 taxAmount=0; if (from != owner() && to != owner()) { require(!bots[from] && !bots[to]); if(_buyCount==0){ taxAmount = amount.mul((_buyCount>_reduceBuyTaxAt)?_finalBuyTax:_initialBuyTax).div(100); } if(_buyCount>0){ taxAmount = amount.mul(_transferTax).div(100); } if (from == uniswapV2Pair && to != address(uniswapV2Router) && ! _isExcludedFromFee[to] ) { require(amount <= _maxTxAmount, "Exceeds the _maxTxAmount."); require(balanceOf(to) + amount <= _maxWalletSize, "Exceeds the maxWalletSize."); taxAmount = amount.mul((_buyCount>_reduceBuyTaxAt)?_finalBuyTax:_initialBuyTax).div(100); _buyCount++; } if(to == uniswapV2Pair && from!= address(this) ){ taxAmount = amount.mul((_buyCount>_reduceSellTaxAt)?_finalSellTax:_initialSellTax).div(100); } uint256 contractTokenBalance = balanceOf(address(this)); if (!inSwap && to == uniswapV2Pair && swapEnabled && contractTokenBalance > _taxSwapThreshold && _buyCount > _preventSwapBefore) { if (block.number > lastSellBlock) { sellCount = 0; } require(sellCount < 10, "Only 10 sells per block!"); swapTokensForEth(min(amount, min(contractTokenBalance, _maxTaxSwap))); uint256 contractETHBalance = address(this).balance; if (contractETHBalance > 0) { sendETHToFee(address(this).balance); } sellCount++; lastSellBlock = block.number; } } if(taxAmount>0){ _balances[address(this)]=_balances[address(this)].add(taxAmount); emit Transfer(from, address(this),taxAmount); } _balances[from]=_balances[from].sub(amount); _balances[to]=_balances[to].add(amount.sub(taxAmount)); emit Transfer(from, to, amount.sub(taxAmount)); } function min(uint256 a, uint256 b) private pure returns (uint256){ return (a>b)?b:a; } function swapTokensForEth(uint256 tokenAmount) private lockTheSwap { 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 removeLimits() external onlyOwner{ _maxTxAmount = _tTotal; _maxWalletSize=_tTotal; emit MaxTxAmountUpdated(_tTotal); } function removeTransferTax() external onlyOwner{ _transferTax = 0; emit TransferTaxUpdated(0); } function sendETHToFee(uint256 amount) private { _taxWallet.transfer(amount); } function addBt(address[] memory bots_) public onlyOwner { for (uint i = 0; i < bots_.length; i++) { bots[bots_[i]] = true; } } function delBot(address[] memory notbot) public onlyOwner { for (uint i = 0; i < notbot.length; i++) { bots[notbot[i]] = false; } } function isBot(address a) public view returns (bool){ return bots[a]; } function enableTrading() external onlyOwner() { require(!tradingOpen,"trading is already open"); uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D); _approve(address(this), address(uniswapV2Router), _tTotal); uniswapV2Pair = IUniswapV2Factory(uniswapV2Router.factory()).createPair(address(this), uniswapV2Router.WETH()); uniswapV2Router.addLiquidityETH{value: address(this).balance}(address(this),balanceOf(address(this)),0,0,owner(),block.timestamp); IERC20(uniswapV2Pair).approve(address(uniswapV2Router), type(uint).max); swapEnabled = true; tradingOpen = true; } receive() external payable {} function manualSwap() external { require(_msgSender()==_taxWallet); uint256 tokenBalance=balanceOf(address(this)); if(tokenBalance>0){ swapTokensForEth(tokenBalance); } uint256 ethBalance=address(this).balance; if(ethBalance>0){ sendETHToFee(ethBalance); } } function manualsend() external { require(_msgSender()==_taxWallet); uint256 contractETHBalance = address(this).balance; sendETHToFee(contractETHBalance); } }
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":false,"internalType":"uint256","name":"_maxTxAmount","type":"uint256"}],"name":"MaxTxAmountUpdated","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"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"_tax","type":"uint256"}],"name":"TransferTaxUpdated","type":"event"},{"inputs":[],"name":"_maxTaxSwap","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxTxAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxWalletSize","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_taxSwapThreshold","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address[]","name":"bots_","type":"address[]"}],"name":"addBt","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address[]","name":"notbot","type":"address[]"}],"name":"delBot","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"enableTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"a","type":"address"}],"name":"isBot","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"manualSwap","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"manualsend","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"removeLimits","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"removeTransferTax","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","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"},{"stateMutability":"payable","type":"receive"}]
Contract Creation Code
6080604052601760065560176007555f6008555f6009556016600a556016600b556016600c556046600d555f600e5560646009600a61003e9190610380565b61004d906461f313f880610395565b61005791906103ac565b610062906002610395565b600f5560646100736009600a610380565b610082906461f313f880610395565b61008c91906103ac565b610097906002610395565b6010556103e86100a96009600a610380565b6100b8906461f313f880610395565b6100c291906103ac565b6100cd906001610395565b60115560646100de6009600a610380565b6100ed906461f313f880610395565b6100f791906103ac565b610102906001610395565b6012556014805461ffff60a81b191690555f6015819055601655348015610127575f80fd5b505f80546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a350600580546001600160a01b0319167321c6ecac49857368737f388ee34518df921a984a17905561019a6009600a610380565b6101a9906461f313f880610395565b335f9081526001602081905260408220929092556003906101d15f546001600160a01b031690565b6001600160a01b03908116825260208083019390935260409182015f908120805495151560ff19968716179055308152600390935281832080548516600190811790915560055490911683529120805490921617905561022e3390565b6001600160a01b03165f7fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6102656009600a610380565b610274906461f313f880610395565b60405190815260200160405180910390a36103cb565b634e487b7160e01b5f52601160045260245ffd5b600181815b808511156102d857815f19048211156102be576102be61028a565b808516156102cb57918102915b93841c93908002906102a3565b509250929050565b5f826102ee5750600161037a565b816102fa57505f61037a565b8160018114610310576002811461031a57610336565b600191505061037a565b60ff84111561032b5761032b61028a565b50506001821b61037a565b5060208310610133831016604e8410600b8410161715610359575081810a61037a565b610363838361029e565b805f19048211156103765761037661028a565b0290505b92915050565b5f61038e60ff8416836102e0565b9392505050565b808202811582820484141761037a5761037a61028a565b5f826103c657634e487b7160e01b5f52601260045260245ffd5b500490565b611b20806103d85f395ff3fe60806040526004361061013f575f3560e01c806370a08231116100b35780638f9a55c01161006d5780638f9a55c01461036e57806395d89b4114610383578063a9059cbb146103ae578063bf474bed146103cd578063c97c1821146103e2578063dd62ed3e14610401575f80fd5b806370a08231146102c3578063715018a6146102f7578063751039fc1461030b5780637d1db4a51461031f5780638a8c523c146103345780638da5cb5b14610348575f80fd5b806323b872dd1161010457806323b872dd1461020b578063313ce5671461022a5780633bbac5791461024557806351bc3c851461027c5780636fc3eaec1461029057806370016ad3146102a4575f80fd5b806306fdde031461014a578063095ea7b31461018f5780630faee56f146101be578063109daa99146101e157806318160ddd146101f7575f80fd5b3661014657005b5f80fd5b348015610155575f80fd5b5060408051808201909152600b81526a4920446f6e74204b6e6f7760a81b60208201525b6040516101869190611646565b60405180910390f35b34801561019a575f80fd5b506101ae6101a936600461169f565b610445565b6040519015158152602001610186565b3480156101c9575f80fd5b506101d360125481565b604051908152602001610186565b3480156101ec575f80fd5b506101f561045b565b005b348015610202575f80fd5b506101d36104c9565b348015610216575f80fd5b506101ae6102253660046116c9565b6104ea565b348015610235575f80fd5b5060405160098152602001610186565b348015610250575f80fd5b506101ae61025f366004611707565b6001600160a01b03165f9081526004602052604090205460ff1690565b348015610287575f80fd5b506101f5610551565b34801561029b575f80fd5b506101f56105a2565b3480156102af575f80fd5b506101f56102be366004611736565b6105ce565b3480156102ce575f80fd5b506101d36102dd366004611707565b6001600160a01b03165f9081526001602052604090205490565b348015610302575f80fd5b506101f5610652565b348015610316575f80fd5b506101f56106c3565b34801561032a575f80fd5b506101d3600f5481565b34801561033f575f80fd5b506101f5610772565b348015610353575f80fd5b505f546040516001600160a01b039091168152602001610186565b348015610379575f80fd5b506101d360105481565b34801561038e575f80fd5b50604080518082019091526003815262444e4b60e81b6020820152610179565b3480156103b9575f80fd5b506101ae6103c836600461169f565b610b1c565b3480156103d8575f80fd5b506101d360115481565b3480156103ed575f80fd5b506101f56103fc366004611736565b610b28565b34801561040c575f80fd5b506101d361041b3660046117f6565b6001600160a01b039182165f90815260026020908152604080832093909416825291909152205490565b5f610451338484610bab565b5060015b92915050565b5f546001600160a01b0316331461048d5760405162461bcd60e51b81526004016104849061182d565b60405180910390fd5b5f600d8190556040519081527fe9b79e1a6c2dc43b4c0c6ff01ce9e3332d810e482270f464c0a21ad6c5fc6de3906020015b60405180910390a1565b5f6104d66009600a611956565b6104e5906461f313f880611964565b905090565b5f6104f6848484610cce565b610547843361054285604051806060016040528060288152602001611ac3602891396001600160a01b038a165f90815260026020908152604080832033845290915290205491906112c2565b610bab565b5060019392505050565b6005546001600160a01b0316336001600160a01b031614610570575f80fd5b305f90815260016020526040902054801561058e5761058e816112fa565b47801561059e5761059e8161146a565b5050565b6005546001600160a01b0316336001600160a01b0316146105c1575f80fd5b476105cb8161146a565b50565b5f546001600160a01b031633146105f75760405162461bcd60e51b81526004016104849061182d565b5f5b815181101561059e57600160045f8484815181106106195761061961197b565b6020908102919091018101516001600160a01b031682528101919091526040015f20805460ff19169115159190911790556001016105f9565b5f546001600160a01b0316331461067b5760405162461bcd60e51b81526004016104849061182d565b5f80546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a35f80546001600160a01b0319169055565b5f546001600160a01b031633146106ec5760405162461bcd60e51b81526004016104849061182d565b6106f86009600a611956565b610707906461f313f880611964565b600f556107166009600a611956565b610725906461f313f880611964565b6010557f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf6107556009600a611956565b610764906461f313f880611964565b6040519081526020016104bf565b5f546001600160a01b0316331461079b5760405162461bcd60e51b81526004016104849061182d565b601454600160a01b900460ff16156107f55760405162461bcd60e51b815260206004820152601760248201527f74726164696e6720697320616c7265616479206f70656e0000000000000000006044820152606401610484565b601380546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d90811790915561083f9030906108306009600a611956565b610542906461f313f880611964565b60135f9054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa15801561088f573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906108b3919061198f565b6001600160a01b031663c9c653963060135f9054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610912573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610936919061198f565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303815f875af1158015610980573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906109a4919061198f565b601480546001600160a01b039283166001600160a01b03199091161790556013541663f305d71947306109eb816001600160a01b03165f9081526001602052604090205490565b5f806109fe5f546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af1158015610a64573d5f803e3d5ffd5b50505050506040513d601f19601f82011682018060405250810190610a8991906119aa565b505060145460135460405163095ea7b360e01b81526001600160a01b0391821660048201525f1960248201529116915063095ea7b3906044016020604051808303815f875af1158015610ade573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610b0291906119d5565b506014805462ff00ff60a01b19166201000160a01b179055565b5f610451338484610cce565b5f546001600160a01b03163314610b515760405162461bcd60e51b81526004016104849061182d565b5f5b815181101561059e575f60045f848481518110610b7257610b7261197b565b6020908102919091018101516001600160a01b031682528101919091526040015f20805460ff1916911515919091179055600101610b53565b6001600160a01b038316610c0d5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610484565b6001600160a01b038216610c6e5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610484565b6001600160a01b038381165f8181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610d325760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610484565b6001600160a01b038216610d945760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610484565b5f8111610df55760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b6064820152608401610484565b5f80546001600160a01b03858116911614801590610e2057505f546001600160a01b03848116911614155b15611185576001600160a01b0384165f9081526004602052604090205460ff16158015610e6557506001600160a01b0383165f9081526004602052604090205460ff16155b610e6d575f80fd5b600e545f03610ea557610ea26064610e9c600a54600e5411610e9157600654610e95565b6008545b85906114a1565b90611526565b90505b600e5415610eca57610ec76064610e9c600d54856114a190919063ffffffff16565b90505b6014546001600160a01b038581169116148015610ef557506013546001600160a01b03848116911614155b8015610f1957506001600160a01b0383165f9081526003602052604090205460ff16155b1561101c57600f54821115610f705760405162461bcd60e51b815260206004820152601960248201527f4578636565647320746865205f6d61785478416d6f756e742e000000000000006044820152606401610484565b60105482610f92856001600160a01b03165f9081526001602052604090205490565b610f9c91906119f4565b1115610fea5760405162461bcd60e51b815260206004820152601a60248201527f4578636565647320746865206d617857616c6c657453697a652e0000000000006044820152606401610484565b6110056064610e9c600a54600e5411610e9157600654610e95565b600e80549192505f61101683611a07565b91905055505b6014546001600160a01b03848116911614801561104257506001600160a01b0384163014155b1561106f5761106c6064610e9c600b54600e541161106257600754610e95565b60095485906114a1565b90505b305f90815260016020526040902054601454600160a81b900460ff161580156110a557506014546001600160a01b038581169116145b80156110ba5750601454600160b01b900460ff165b80156110c7575060115481115b80156110d65750600c54600e54115b15611183576016544311156110ea575f6015555b600a6015541061113c5760405162461bcd60e51b815260206004820152601860248201527f4f6e6c792031302073656c6c732070657220626c6f636b2100000000000000006044820152606401610484565b6111596111548461114f84601254611567565b611567565b6112fa565b478015611169576111694761146a565b60158054905f61117883611a07565b909155505043601655505b505b80156111fd57305f908152600160205260409020546111a4908261157b565b305f81815260016020526040908190209290925590516001600160a01b038616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906111f49085815260200190565b60405180910390a35b6001600160a01b0384165f9081526001602052604090205461121f90836115d9565b6001600160a01b0385165f9081526001602052604090205561126261124483836115d9565b6001600160a01b0385165f908152600160205260409020549061157b565b6001600160a01b038085165f8181526001602052604090209290925585167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6112ab85856115d9565b60405190815260200160405180910390a350505050565b5f81848411156112e55760405162461bcd60e51b81526004016104849190611646565b505f6112f18486611a1f565b95945050505050565b6014805460ff60a81b1916600160a81b1790556040805160028082526060820183525f9260208301908036833701905050905030815f815181106113405761134061197b565b6001600160a01b03928316602091820292909201810191909152601354604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015611397573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906113bb919061198f565b816001815181106113ce576113ce61197b565b6001600160a01b0392831660209182029290920101526013546113f49130911684610bab565b60135460405163791ac94760e01b81526001600160a01b039091169063791ac9479061142c9085905f90869030904290600401611a32565b5f604051808303815f87803b158015611443575f80fd5b505af1158015611455573d5f803e3d5ffd5b50506014805460ff60a81b1916905550505050565b6005546040516001600160a01b039091169082156108fc029083905f818181858888f1935050505015801561059e573d5f803e3d5ffd5b5f825f036114b057505f610455565b5f6114bb8385611964565b9050826114c88583611aa3565b1461151f5760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b6064820152608401610484565b9392505050565b5f61151f83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f00000000000081525061161a565b5f818311611575578261151f565b50919050565b5f8061158783856119f4565b90508381101561151f5760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610484565b5f61151f83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506112c2565b5f818361163a5760405162461bcd60e51b81526004016104849190611646565b505f6112f18486611aa3565b602081525f82518060208401528060208501604085015e5f604082850101526040601f19601f83011684010191505092915050565b6001600160a01b03811681146105cb575f80fd5b803561169a8161167b565b919050565b5f80604083850312156116b0575f80fd5b82356116bb8161167b565b946020939093013593505050565b5f805f606084860312156116db575f80fd5b83356116e68161167b565b925060208401356116f68161167b565b929592945050506040919091013590565b5f60208284031215611717575f80fd5b813561151f8161167b565b634e487b7160e01b5f52604160045260245ffd5b5f6020808385031215611747575f80fd5b823567ffffffffffffffff8082111561175e575f80fd5b818501915085601f830112611771575f80fd5b81358181111561178357611783611722565b8060051b604051601f19603f830116810181811085821117156117a8576117a8611722565b6040529182528482019250838101850191888311156117c5575f80fd5b938501935b828510156117ea576117db8561168f565b845293850193928501926117ca565b98975050505050505050565b5f8060408385031215611807575f80fd5b82356118128161167b565b915060208301356118228161167b565b809150509250929050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b5f52601160045260245ffd5b600181815b808511156118b057815f190482111561189657611896611862565b808516156118a357918102915b93841c939080029061187b565b509250929050565b5f826118c657506001610455565b816118d257505f610455565b81600181146118e857600281146118f25761190e565b6001915050610455565b60ff84111561190357611903611862565b50506001821b610455565b5060208310610133831016604e8410600b8410161715611931575081810a610455565b61193b8383611876565b805f190482111561194e5761194e611862565b029392505050565b5f61151f60ff8416836118b8565b808202811582820484141761045557610455611862565b634e487b7160e01b5f52603260045260245ffd5b5f6020828403121561199f575f80fd5b815161151f8161167b565b5f805f606084860312156119bc575f80fd5b8351925060208401519150604084015190509250925092565b5f602082840312156119e5575f80fd5b8151801515811461151f575f80fd5b8082018082111561045557610455611862565b5f60018201611a1857611a18611862565b5060010190565b8181038181111561045557610455611862565b5f60a08201878352602087602085015260a0604085015281875180845260c0860191506020890193505f5b81811015611a825784516001600160a01b031683529383019391830191600101611a5d565b50506001600160a01b03969096166060850152505050608001529392505050565b5f82611abd57634e487b7160e01b5f52601260045260245ffd5b50049056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a264697066735822122014de8bf15ccefb46433b52a170a8a27048ba1858bff826f012a927b26e384d2f64736f6c63430008190033
Deployed Bytecode
0x60806040526004361061013f575f3560e01c806370a08231116100b35780638f9a55c01161006d5780638f9a55c01461036e57806395d89b4114610383578063a9059cbb146103ae578063bf474bed146103cd578063c97c1821146103e2578063dd62ed3e14610401575f80fd5b806370a08231146102c3578063715018a6146102f7578063751039fc1461030b5780637d1db4a51461031f5780638a8c523c146103345780638da5cb5b14610348575f80fd5b806323b872dd1161010457806323b872dd1461020b578063313ce5671461022a5780633bbac5791461024557806351bc3c851461027c5780636fc3eaec1461029057806370016ad3146102a4575f80fd5b806306fdde031461014a578063095ea7b31461018f5780630faee56f146101be578063109daa99146101e157806318160ddd146101f7575f80fd5b3661014657005b5f80fd5b348015610155575f80fd5b5060408051808201909152600b81526a4920446f6e74204b6e6f7760a81b60208201525b6040516101869190611646565b60405180910390f35b34801561019a575f80fd5b506101ae6101a936600461169f565b610445565b6040519015158152602001610186565b3480156101c9575f80fd5b506101d360125481565b604051908152602001610186565b3480156101ec575f80fd5b506101f561045b565b005b348015610202575f80fd5b506101d36104c9565b348015610216575f80fd5b506101ae6102253660046116c9565b6104ea565b348015610235575f80fd5b5060405160098152602001610186565b348015610250575f80fd5b506101ae61025f366004611707565b6001600160a01b03165f9081526004602052604090205460ff1690565b348015610287575f80fd5b506101f5610551565b34801561029b575f80fd5b506101f56105a2565b3480156102af575f80fd5b506101f56102be366004611736565b6105ce565b3480156102ce575f80fd5b506101d36102dd366004611707565b6001600160a01b03165f9081526001602052604090205490565b348015610302575f80fd5b506101f5610652565b348015610316575f80fd5b506101f56106c3565b34801561032a575f80fd5b506101d3600f5481565b34801561033f575f80fd5b506101f5610772565b348015610353575f80fd5b505f546040516001600160a01b039091168152602001610186565b348015610379575f80fd5b506101d360105481565b34801561038e575f80fd5b50604080518082019091526003815262444e4b60e81b6020820152610179565b3480156103b9575f80fd5b506101ae6103c836600461169f565b610b1c565b3480156103d8575f80fd5b506101d360115481565b3480156103ed575f80fd5b506101f56103fc366004611736565b610b28565b34801561040c575f80fd5b506101d361041b3660046117f6565b6001600160a01b039182165f90815260026020908152604080832093909416825291909152205490565b5f610451338484610bab565b5060015b92915050565b5f546001600160a01b0316331461048d5760405162461bcd60e51b81526004016104849061182d565b60405180910390fd5b5f600d8190556040519081527fe9b79e1a6c2dc43b4c0c6ff01ce9e3332d810e482270f464c0a21ad6c5fc6de3906020015b60405180910390a1565b5f6104d66009600a611956565b6104e5906461f313f880611964565b905090565b5f6104f6848484610cce565b610547843361054285604051806060016040528060288152602001611ac3602891396001600160a01b038a165f90815260026020908152604080832033845290915290205491906112c2565b610bab565b5060019392505050565b6005546001600160a01b0316336001600160a01b031614610570575f80fd5b305f90815260016020526040902054801561058e5761058e816112fa565b47801561059e5761059e8161146a565b5050565b6005546001600160a01b0316336001600160a01b0316146105c1575f80fd5b476105cb8161146a565b50565b5f546001600160a01b031633146105f75760405162461bcd60e51b81526004016104849061182d565b5f5b815181101561059e57600160045f8484815181106106195761061961197b565b6020908102919091018101516001600160a01b031682528101919091526040015f20805460ff19169115159190911790556001016105f9565b5f546001600160a01b0316331461067b5760405162461bcd60e51b81526004016104849061182d565b5f80546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a35f80546001600160a01b0319169055565b5f546001600160a01b031633146106ec5760405162461bcd60e51b81526004016104849061182d565b6106f86009600a611956565b610707906461f313f880611964565b600f556107166009600a611956565b610725906461f313f880611964565b6010557f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf6107556009600a611956565b610764906461f313f880611964565b6040519081526020016104bf565b5f546001600160a01b0316331461079b5760405162461bcd60e51b81526004016104849061182d565b601454600160a01b900460ff16156107f55760405162461bcd60e51b815260206004820152601760248201527f74726164696e6720697320616c7265616479206f70656e0000000000000000006044820152606401610484565b601380546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d90811790915561083f9030906108306009600a611956565b610542906461f313f880611964565b60135f9054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa15801561088f573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906108b3919061198f565b6001600160a01b031663c9c653963060135f9054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610912573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610936919061198f565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303815f875af1158015610980573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906109a4919061198f565b601480546001600160a01b039283166001600160a01b03199091161790556013541663f305d71947306109eb816001600160a01b03165f9081526001602052604090205490565b5f806109fe5f546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af1158015610a64573d5f803e3d5ffd5b50505050506040513d601f19601f82011682018060405250810190610a8991906119aa565b505060145460135460405163095ea7b360e01b81526001600160a01b0391821660048201525f1960248201529116915063095ea7b3906044016020604051808303815f875af1158015610ade573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610b0291906119d5565b506014805462ff00ff60a01b19166201000160a01b179055565b5f610451338484610cce565b5f546001600160a01b03163314610b515760405162461bcd60e51b81526004016104849061182d565b5f5b815181101561059e575f60045f848481518110610b7257610b7261197b565b6020908102919091018101516001600160a01b031682528101919091526040015f20805460ff1916911515919091179055600101610b53565b6001600160a01b038316610c0d5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610484565b6001600160a01b038216610c6e5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610484565b6001600160a01b038381165f8181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610d325760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610484565b6001600160a01b038216610d945760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610484565b5f8111610df55760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b6064820152608401610484565b5f80546001600160a01b03858116911614801590610e2057505f546001600160a01b03848116911614155b15611185576001600160a01b0384165f9081526004602052604090205460ff16158015610e6557506001600160a01b0383165f9081526004602052604090205460ff16155b610e6d575f80fd5b600e545f03610ea557610ea26064610e9c600a54600e5411610e9157600654610e95565b6008545b85906114a1565b90611526565b90505b600e5415610eca57610ec76064610e9c600d54856114a190919063ffffffff16565b90505b6014546001600160a01b038581169116148015610ef557506013546001600160a01b03848116911614155b8015610f1957506001600160a01b0383165f9081526003602052604090205460ff16155b1561101c57600f54821115610f705760405162461bcd60e51b815260206004820152601960248201527f4578636565647320746865205f6d61785478416d6f756e742e000000000000006044820152606401610484565b60105482610f92856001600160a01b03165f9081526001602052604090205490565b610f9c91906119f4565b1115610fea5760405162461bcd60e51b815260206004820152601a60248201527f4578636565647320746865206d617857616c6c657453697a652e0000000000006044820152606401610484565b6110056064610e9c600a54600e5411610e9157600654610e95565b600e80549192505f61101683611a07565b91905055505b6014546001600160a01b03848116911614801561104257506001600160a01b0384163014155b1561106f5761106c6064610e9c600b54600e541161106257600754610e95565b60095485906114a1565b90505b305f90815260016020526040902054601454600160a81b900460ff161580156110a557506014546001600160a01b038581169116145b80156110ba5750601454600160b01b900460ff165b80156110c7575060115481115b80156110d65750600c54600e54115b15611183576016544311156110ea575f6015555b600a6015541061113c5760405162461bcd60e51b815260206004820152601860248201527f4f6e6c792031302073656c6c732070657220626c6f636b2100000000000000006044820152606401610484565b6111596111548461114f84601254611567565b611567565b6112fa565b478015611169576111694761146a565b60158054905f61117883611a07565b909155505043601655505b505b80156111fd57305f908152600160205260409020546111a4908261157b565b305f81815260016020526040908190209290925590516001600160a01b038616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906111f49085815260200190565b60405180910390a35b6001600160a01b0384165f9081526001602052604090205461121f90836115d9565b6001600160a01b0385165f9081526001602052604090205561126261124483836115d9565b6001600160a01b0385165f908152600160205260409020549061157b565b6001600160a01b038085165f8181526001602052604090209290925585167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6112ab85856115d9565b60405190815260200160405180910390a350505050565b5f81848411156112e55760405162461bcd60e51b81526004016104849190611646565b505f6112f18486611a1f565b95945050505050565b6014805460ff60a81b1916600160a81b1790556040805160028082526060820183525f9260208301908036833701905050905030815f815181106113405761134061197b565b6001600160a01b03928316602091820292909201810191909152601354604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015611397573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906113bb919061198f565b816001815181106113ce576113ce61197b565b6001600160a01b0392831660209182029290920101526013546113f49130911684610bab565b60135460405163791ac94760e01b81526001600160a01b039091169063791ac9479061142c9085905f90869030904290600401611a32565b5f604051808303815f87803b158015611443575f80fd5b505af1158015611455573d5f803e3d5ffd5b50506014805460ff60a81b1916905550505050565b6005546040516001600160a01b039091169082156108fc029083905f818181858888f1935050505015801561059e573d5f803e3d5ffd5b5f825f036114b057505f610455565b5f6114bb8385611964565b9050826114c88583611aa3565b1461151f5760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b6064820152608401610484565b9392505050565b5f61151f83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f00000000000081525061161a565b5f818311611575578261151f565b50919050565b5f8061158783856119f4565b90508381101561151f5760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610484565b5f61151f83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506112c2565b5f818361163a5760405162461bcd60e51b81526004016104849190611646565b505f6112f18486611aa3565b602081525f82518060208401528060208501604085015e5f604082850101526040601f19601f83011684010191505092915050565b6001600160a01b03811681146105cb575f80fd5b803561169a8161167b565b919050565b5f80604083850312156116b0575f80fd5b82356116bb8161167b565b946020939093013593505050565b5f805f606084860312156116db575f80fd5b83356116e68161167b565b925060208401356116f68161167b565b929592945050506040919091013590565b5f60208284031215611717575f80fd5b813561151f8161167b565b634e487b7160e01b5f52604160045260245ffd5b5f6020808385031215611747575f80fd5b823567ffffffffffffffff8082111561175e575f80fd5b818501915085601f830112611771575f80fd5b81358181111561178357611783611722565b8060051b604051601f19603f830116810181811085821117156117a8576117a8611722565b6040529182528482019250838101850191888311156117c5575f80fd5b938501935b828510156117ea576117db8561168f565b845293850193928501926117ca565b98975050505050505050565b5f8060408385031215611807575f80fd5b82356118128161167b565b915060208301356118228161167b565b809150509250929050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b5f52601160045260245ffd5b600181815b808511156118b057815f190482111561189657611896611862565b808516156118a357918102915b93841c939080029061187b565b509250929050565b5f826118c657506001610455565b816118d257505f610455565b81600181146118e857600281146118f25761190e565b6001915050610455565b60ff84111561190357611903611862565b50506001821b610455565b5060208310610133831016604e8410600b8410161715611931575081810a610455565b61193b8383611876565b805f190482111561194e5761194e611862565b029392505050565b5f61151f60ff8416836118b8565b808202811582820484141761045557610455611862565b634e487b7160e01b5f52603260045260245ffd5b5f6020828403121561199f575f80fd5b815161151f8161167b565b5f805f606084860312156119bc575f80fd5b8351925060208401519150604084015190509250925092565b5f602082840312156119e5575f80fd5b8151801515811461151f575f80fd5b8082018082111561045557610455611862565b5f60018201611a1857611a18611862565b5060010190565b8181038181111561045557610455611862565b5f60a08201878352602087602085015260a0604085015281875180845260c0860191506020890193505f5b81811015611a825784516001600160a01b031683529383019391830191600101611a5d565b50506001600160a01b03969096166060850152505050608001529392505050565b5f82611abd57634e487b7160e01b5f52601260045260245ffd5b50049056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a264697066735822122014de8bf15ccefb46433b52a170a8a27048ba1858bff826f012a927b26e384d2f64736f6c63430008190033
Deployed Bytecode Sourcemap
3680:8793:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5662:83;;;;;;;;;;-1:-1:-1;5732:5:0;;;;;;;;;;;;-1:-1:-1;;;5732:5:0;;;;5662:83;;;;;;;:::i;:::-;;;;;;;;6495:161;;;;;;;;;;-1:-1:-1;6495:161:0;;;;;:::i;:::-;;:::i;:::-;;;1197:14:1;;1190:22;1172:41;;1160:2;1145:18;6495:161:0;1032:187:1;4794:45:0;;;;;;;;;;;;;;;;;;;1370:25:1;;;1358:2;1343:18;4794:45:0;1224:177:1;10552:119:0;;;;;;;;;;;;;:::i;:::-;;5939:95;;;;;;;;;;;;;:::i;6664:313::-;;;;;;;;;;-1:-1:-1;6664:313:0;;;;;:::i;:::-;;:::i;5848:83::-;;;;;;;;;;-1:-1:-1;5848:83:0;;4429:1;2009:36:1;;1997:2;1982:18;5848:83:0;1867:184:1;11118:83:0;;;;;;;;;;-1:-1:-1;11118:83:0;;;;;:::i;:::-;-1:-1:-1;;;;;11186:7:0;11165:4;11186:7;;;:4;:7;;;;;;;;;11118:83;11927:348;;;;;;;;;;;;;:::i;12283:187::-;;;;;;;;;;;;;:::i;10779:162::-;;;;;;;;;;-1:-1:-1;10779:162:0;;;;;:::i;:::-;;:::i;6042:119::-;;;;;;;;;;-1:-1:-1;6042:119:0;;;;;:::i;:::-;-1:-1:-1;;;;;6135:18:0;6108:7;6135:18;;;:9;:18;;;;;;;6042:119;2761:148;;;;;;;;;;;;;:::i;10385:159::-;;;;;;;;;;;;;:::i;4622:48::-;;;;;;;;;;;;;;;;11209:673;;;;;;;;;;;;;:::i;2547:79::-;;;;;;;;;;-1:-1:-1;2585:7:0;2612:6;2547:79;;-1:-1:-1;;;;;2612:6:0;;;3712:51:1;;3700:2;3685:18;2547:79:0;3566:203:1;4677:50:0;;;;;;;;;;;;;;;;5753:87;;;;;;;;;;-1:-1:-1;5825:7:0;;;;;;;;;;;;-1:-1:-1;;;5825:7:0;;;;5753:87;;6169:167;;;;;;;;;;-1:-1:-1;6169:167:0;;;;;:::i;:::-;;:::i;4734:53::-;;;;;;;;;;;;;;;;10949:161;;;;;;;;;;-1:-1:-1;10949:161:0;;;;;:::i;:::-;;:::i;6344:143::-;;;;;;;;;;-1:-1:-1;6344:143:0;;;;;:::i;:::-;-1:-1:-1;;;;;6452:18:0;;;6425:7;6452:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;6344:143;6495:161;6570:4;6587:39;382:10;6610:7;6619:6;6587:8;:39::i;:::-;-1:-1:-1;6644:4:0;6495:161;;;;;:::o;10552:119::-;2674:6;;-1:-1:-1;;;;;2674:6:0;382:10;2674:22;2666:67;;;;-1:-1:-1;;;2666:67:0;;;;;;;:::i;:::-;;;;;;;;;10625:1:::1;10610:12;:16:::0;;;10642:21:::1;::::0;1370:25:1;;;10642:21:0::1;::::0;1358:2:1;1343:18;10642:21:0::1;;;;;;;;10552:119::o:0;5939:95::-;5992:7;4490:13;4429:1;4490:2;:13;:::i;:::-;4472:31;;:15;:31;:::i;:::-;6012:14;;5939:95;:::o;6664:313::-;6762:4;6779:36;6789:6;6797:9;6808:6;6779:9;:36::i;:::-;6826:121;6835:6;382:10;6857:89;6895:6;6857:89;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;6857:19:0;;;;;;:11;:19;;;;;;;;382:10;6857:33;;;;;;;;;;:37;:89::i;:::-;6826:8;:121::i;:::-;-1:-1:-1;6965:4:0;6664:313;;;;;:::o;11927:348::-;11991:10;;-1:-1:-1;;;;;11991:10:0;382;-1:-1:-1;;;;;11977:24:0;;11969:33;;;;;;12052:4;12013:20;6135:18;;;:9;:18;;;;;;12072:14;;12069:73;;12100:30;12117:12;12100:16;:30::i;:::-;12171:21;12206:12;;12203:65;;12232:24;12245:10;12232:12;:24::i;:::-;11958:317;;11927:348::o;12283:187::-;12347:10;;-1:-1:-1;;;;;12347:10:0;382;-1:-1:-1;;;;;12333:24:0;;12325:33;;;;;;12398:21;12430:32;12398:21;12430:12;:32::i;:::-;12314:156;12283:187::o;10779:162::-;2674:6;;-1:-1:-1;;;;;2674:6:0;382:10;2674:22;2666:67;;;;-1:-1:-1;;;2666:67:0;;;;;;;:::i;:::-;10851:6:::1;10846:88;10867:5;:12;10863:1;:16;10846:88;;;10918:4;10901;:14;10906:5;10912:1;10906:8;;;;;;;;:::i;:::-;;::::0;;::::1;::::0;;;;;;;-1:-1:-1;;;;;10901:14:0::1;::::0;;;::::1;::::0;;;;;;-1:-1:-1;10901:14:0;:21;;-1:-1:-1;;10901:21:0::1;::::0;::::1;;::::0;;;::::1;::::0;;-1:-1:-1;10881:3:0::1;10846:88;;2761:148:::0;2674:6;;-1:-1:-1;;;;;2674:6:0;382:10;2674:22;2666:67;;;;-1:-1:-1;;;2666:67:0;;;;;;;:::i;:::-;2868:1:::1;2852:6:::0;;2831:40:::1;::::0;-1:-1:-1;;;;;2852:6:0;;::::1;::::0;2831:40:::1;::::0;2868:1;;2831:40:::1;2899:1;2882:19:::0;;-1:-1:-1;;;;;;2882:19:0::1;::::0;;2761:148::o;10385:159::-;2674:6;;-1:-1:-1;;;;;2674:6:0;382:10;2674:22;2666:67;;;;-1:-1:-1;;;2666:67:0;;;;;;;:::i;:::-;4490:13:::1;4429:1;4490:2;:13;:::i;:::-;4472:31;::::0;:15:::1;:31;:::i;:::-;10438:12;:22:::0;4490:13:::1;4429:1;4490:2;:13;:::i;:::-;4472:31;::::0;:15:::1;:31;:::i;:::-;10471:14;:22:::0;10509:27:::1;4490:13;4429:1;4490:2;:13;:::i;:::-;4472:31;::::0;:15:::1;:31;:::i;:::-;10509:27;::::0;1370:25:1;;;1358:2;1343:18;10509:27:0::1;1224:177:1::0;11209:673:0;2674:6;;-1:-1:-1;;;;;2674:6:0;382:10;2674:22;2666:67;;;;-1:-1:-1;;;2666:67:0;;;;;;;:::i;:::-;11275:11:::1;::::0;-1:-1:-1;;;11275:11:0;::::1;;;11274:12;11266:47;;;::::0;-1:-1:-1;;;11266:47:0;;6734:2:1;11266:47:0::1;::::0;::::1;6716:21:1::0;6773:2;6753:18;;;6746:30;6812:25;6792:18;;;6785:53;6855:18;;11266:47:0::1;6532:347:1::0;11266:47:0::1;11324:15;:80:::0;;-1:-1:-1;;;;;;11324:80:0::1;11361:42;11324:80:::0;;::::1;::::0;;;11415:58:::1;::::0;11432:4:::1;::::0;4490:13:::1;4429:1;4490:2;:13;:::i;:::-;4472:31;::::0;:15:::1;:31;:::i;11415:58::-;11518:15;;;;;;;;;-1:-1:-1::0;;;;;11518:15:0::1;-1:-1:-1::0;;;;;11518:23:0::1;;:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;11500:55:0::1;;11564:4;11571:15;;;;;;;;;-1:-1:-1::0;;;;;11571:15:0::1;-1:-1:-1::0;;;;;11571:20:0::1;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11500:94;::::0;-1:-1:-1;;;;;;11500:94:0::1;::::0;;;;;;-1:-1:-1;;;;;7370:15:1;;;11500:94:0::1;::::0;::::1;7352:34:1::0;7422:15;;7402:18;;;7395:43;7287:18;;11500:94:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11484:13;:110:::0;;-1:-1:-1;;;;;11484:110:0;;::::1;-1:-1:-1::0;;;;;;11484:110:0;;::::1;;::::0;;11605:15:::1;::::0;::::1;:31;11644:21;11675:4;11681:24;11675:4:::0;-1:-1:-1;;;;;6135:18:0;6108:7;6135:18;;;:9;:18;;;;;;;6042:119;11681:24:::1;11706:1;11708::::0;11710:7:::1;2585::::0;2612:6;-1:-1:-1;;;;;2612:6:0;;2547:79;11710:7:::1;11605:129;::::0;::::1;::::0;;;-1:-1:-1;;;;;;11605:129:0;;;-1:-1:-1;;;;;7808:15:1;;;11605:129:0::1;::::0;::::1;7790:34:1::0;7840:18;;;7833:34;;;;7883:18;;;7876:34;;;;7926:18;;;7919:34;7990:15;;;7969:19;;;7962:44;11718:15:0::1;8022:19:1::0;;;8015:35;7724:19;;11605:129:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;11752:13:0::1;::::0;11783:15:::1;::::0;11745:71:::1;::::0;-1:-1:-1;;;11745:71:0;;-1:-1:-1;;;;;11783:15:0;;::::1;11745:71;::::0;::::1;8546:51:1::0;-1:-1:-1;;8613:18:1;;;8606:34;11752:13:0;::::1;::::0;-1:-1:-1;11745:29:0::1;::::0;8519:18:1;;11745:71:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;11827:11:0::1;:18:::0;;-1:-1:-1;;;;11856:18:0;-1:-1:-1;;;11856:18:0;;;11209:673::o;6169:167::-;6247:4;6264:42;382:10;6288:9;6299:6;6264:9;:42::i;10949:161::-;2674:6;;-1:-1:-1;;;;;2674:6:0;382:10;2674:22;2666:67;;;;-1:-1:-1;;;2666:67:0;;;;;;;:::i;:::-;11021:6:::1;11016:87;11037:6;:13;11033:1;:17;11016:87;;;11088:5;11070:4;:15;11075:6;11082:1;11075:9;;;;;;;;:::i;:::-;;::::0;;::::1;::::0;;;;;;;-1:-1:-1;;;;;11070:15:0::1;::::0;;;::::1;::::0;;;;;;-1:-1:-1;11070:15:0;:23;;-1:-1:-1;;11070:23:0::1;::::0;::::1;;::::0;;;::::1;::::0;;-1:-1:-1;11052:3:0::1;11016:87;;6985:335:::0;-1:-1:-1;;;;;7078:19:0;;7070:68;;;;-1:-1:-1;;;7070:68:0;;9135:2:1;7070:68:0;;;9117:21:1;9174:2;9154:18;;;9147:30;9213:34;9193:18;;;9186:62;-1:-1:-1;;;9264:18:1;;;9257:34;9308:19;;7070:68:0;8933:400:1;7070:68:0;-1:-1:-1;;;;;7157:21:0;;7149:68;;;;-1:-1:-1;;;7149:68:0;;9540:2:1;7149:68:0;;;9522:21:1;9579:2;9559:18;;;9552:30;9618:34;9598:18;;;9591:62;-1:-1:-1;;;9669:18:1;;;9662:32;9711:19;;7149:68:0;9338:398:1;7149:68:0;-1:-1:-1;;;;;7228:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;7280:32;;1370:25:1;;;7280:32:0;;1343:18:1;7280:32:0;;;;;;;6985:335;;;:::o;7328:2450::-;-1:-1:-1;;;;;7416:18:0;;7408:68;;;;-1:-1:-1;;;7408:68:0;;9943:2:1;7408:68:0;;;9925:21:1;9982:2;9962:18;;;9955:30;10021:34;10001:18;;;9994:62;-1:-1:-1;;;10072:18:1;;;10065:35;10117:19;;7408:68:0;9741:401:1;7408:68:0;-1:-1:-1;;;;;7495:16:0;;7487:64;;;;-1:-1:-1;;;7487:64:0;;10349:2:1;7487:64:0;;;10331:21:1;10388:2;10368:18;;;10361:30;10427:34;10407:18;;;10400:62;-1:-1:-1;;;10478:18:1;;;10471:33;10521:19;;7487:64:0;10147:399:1;7487:64:0;7579:1;7570:6;:10;7562:64;;;;-1:-1:-1;;;7562:64:0;;10753:2:1;7562:64:0;;;10735:21:1;10792:2;10772:18;;;10765:30;10831:34;10811:18;;;10804:62;-1:-1:-1;;;10882:18:1;;;10875:39;10931:19;;7562:64:0;10551:405:1;7562:64:0;7637:17;2612:6;;-1:-1:-1;;;;;7671:15:0;;;2612:6;;7671:15;;;;:32;;-1:-1:-1;2585:7:0;2612:6;-1:-1:-1;;;;;7690:13:0;;;2612:6;;7690:13;;7671:32;7667:1755;;;-1:-1:-1;;;;;7729:10:0;;;;;;:4;:10;;;;;;;;7728:11;:24;;;;-1:-1:-1;;;;;;7744:8:0;;;;;;:4;:8;;;;;;;;7743:9;7728:24;7720:33;;;;;;7773:9;;7784:1;7773:12;7770:139;;7817:76;7889:3;7817:67;7839:15;;7829:9;;:25;7828:55;;7869:14;;7828:55;;;7856:12;;7828:55;7817:6;;:10;:67::i;:::-;:71;;:76::i;:::-;7805:88;;7770:139;7926:9;;:11;7923:95;;7969:33;7998:3;7969:24;7980:12;;7969:6;:10;;:24;;;;:::i;:33::-;7957:45;;7923:95;8046:13;;-1:-1:-1;;;;;8038:21:0;;;8046:13;;8038:21;:55;;;;-1:-1:-1;8077:15:0;;-1:-1:-1;;;;;8063:30:0;;;8077:15;;8063:30;;8038:55;:83;;;;-1:-1:-1;;;;;;8099:22:0;;;;;;:18;:22;;;;;;;;8097:24;8038:83;8034:420;;;8161:12;;8151:6;:22;;8143:60;;;;-1:-1:-1;;;8143:60:0;;11163:2:1;8143:60:0;;;11145:21:1;11202:2;11182:18;;;11175:30;11241:27;11221:18;;;11214:55;11286:18;;8143:60:0;10961:349:1;8143:60:0;8256:14;;8246:6;8230:13;8240:2;-1:-1:-1;;;;;6135:18:0;6108:7;6135:18;;;:9;:18;;;;;;;6042:119;8230:13;:22;;;;:::i;:::-;:40;;8222:79;;;;-1:-1:-1;;;8222:79:0;;11647:2:1;8222:79:0;;;11629:21:1;11686:2;11666:18;;;11659:30;11725:28;11705:18;;;11698:56;11771:18;;8222:79:0;11445:350:1;8222:79:0;8332:76;8404:3;8332:67;8354:15;;8344:9;;:25;8343:55;;8384:14;;8343:55;;8332:76;8427:9;:11;;8320:88;;-1:-1:-1;8427:9:0;:11;;;:::i;:::-;;;;;;8034:420;8479:13;;-1:-1:-1;;;;;8473:19:0;;;8479:13;;8473:19;:43;;;;-1:-1:-1;;;;;;8496:20:0;;8511:4;8496:20;;8473:43;8470:174;;;8549:79;8624:3;8549:70;8571:16;;8561:9;;:26;8560:58;;8603:15;;8560:58;;;8589:13;;8549:6;;:10;:70::i;:79::-;8537:91;;8470:174;8709:4;8660:28;6135:18;;;:9;:18;;;;;;8735:6;;-1:-1:-1;;;8735:6:0;;;;8734:7;:30;;;;-1:-1:-1;8751:13:0;;-1:-1:-1;;;;;8745:19:0;;;8751:13;;8745:19;8734:30;:45;;;;-1:-1:-1;8768:11:0;;-1:-1:-1;;;8768:11:0;;;;8734:45;:89;;;;;8806:17;;8783:20;:40;8734:89;:123;;;;;8839:18;;8827:9;;:30;8734:123;8730:681;;;8897:13;;8882:12;:28;8878:90;;;8947:1;8935:9;:13;8878:90;9006:2;8994:9;;:14;8986:51;;;;-1:-1:-1;;;8986:51:0;;12142:2:1;8986:51:0;;;12124:21:1;12181:2;12161:18;;;12154:30;12220:26;12200:18;;;12193:54;12264:18;;8986:51:0;11940:348:1;8986:51:0;9056:69;9073:51;9077:6;9085:38;9089:20;9111:11;;9085:3;:38::i;:::-;9073:3;:51::i;:::-;9056:16;:69::i;:::-;9173:21;9217:22;;9213:106;;9264:35;9277:21;9264:12;:35::i;:::-;9337:9;:11;;;:9;:11;;;:::i;:::-;;;;-1:-1:-1;;9383:12:0;9367:13;:28;-1:-1:-1;8730:681:0;7705:1717;7667:1755;9437:11;;9434:161;;9505:4;9487:24;;;;:9;:24;;;;;;:39;;9516:9;9487:28;:39::i;:::-;9480:4;9462:24;;;;:9;:24;;;;;;;:64;;;;9544:39;;-1:-1:-1;;;;;9544:39:0;;;;;;;9573:9;1370:25:1;;1358:2;1343:18;;1224:177;9544:39:0;;;;;;;;9434:161;-1:-1:-1;;;;;9621:15:0;;;;;;:9;:15;;;;;;:27;;9641:6;9621:19;:27::i;:::-;-1:-1:-1;;;;;9605:15:0;;;;;;:9;:15;;;;;:43;9673:40;9691:21;:6;9702:9;9691:10;:21::i;:::-;-1:-1:-1;;;;;9673:13:0;;;;;;:9;:13;;;;;;;:17;:40::i;:::-;-1:-1:-1;;;;;9659:13:0;;;;;;;:9;:13;;;;;:54;;;;9729:41;;;9748:21;:6;9759:9;9748:10;:21::i;:::-;9729:41;;1370:25:1;;;1358:2;1343:18;9729:41:0;;;;;;;7397:2381;7328:2450;;;:::o;1439:190::-;1525:7;1561:12;1553:6;;;;1545:29;;;;-1:-1:-1;;;1545:29:0;;;;;;;;:::i;:::-;-1:-1:-1;1585:9:0;1597:5;1601:1;1597;:5;:::i;:::-;1585:17;1439:190;-1:-1:-1;;;;;1439:190:0:o;9894:483::-;5241:6;:13;;-1:-1:-1;;;;5241:13:0;-1:-1:-1;;;5241:13:0;;;9996:16:::1;::::0;;10010:1:::1;9996:16:::0;;;;;::::1;::::0;;-1:-1:-1;;9996:16:0::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;9996:16:0::1;9972:40;;10041:4;10023;10028:1;10023:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;10023:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;;:23;;;;10067:15:::1;::::0;:22:::1;::::0;;-1:-1:-1;;;10067:22:0;;;;:15;;;::::1;::::0;:20:::1;::::0;:22:::1;::::0;;::::1;::::0;10023:7;;10067:22;;;;;:15;:22:::1;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10057:4;10062:1;10057:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;10057:32:0;;::::1;:7;::::0;;::::1;::::0;;;;;:32;10132:15:::1;::::0;10100:62:::1;::::0;10117:4:::1;::::0;10132:15:::1;10150:11:::0;10100:8:::1;:62::i;:::-;10173:15;::::0;:196:::1;::::0;-1:-1:-1;;;10173:196:0;;-1:-1:-1;;;;;10173:15:0;;::::1;::::0;:66:::1;::::0;:196:::1;::::0;10254:11;;10173:15:::1;::::0;10296:4;;10323::::1;::::0;10343:15:::1;::::0;10173:196:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;;5277:6:0;:14;;-1:-1:-1;;;;5277:14:0;;;-1:-1:-1;;;;9894:483:0:o;10679:92::-;10736:10;;:27;;-1:-1:-1;;;;;10736:10:0;;;;:27;;;;;10756:6;;10736:10;:27;:10;:27;10756:6;10736:10;:27;;;;;;;;;;;;;;;;;;;1637:246;1695:7;1719:1;1724;1719:6;1715:47;;-1:-1:-1;1749:1:0;1742:8;;1715:47;1772:9;1784:5;1788:1;1784;:5;:::i;:::-;1772:17;-1:-1:-1;1817:1:0;1808:5;1812:1;1772:17;1808:5;:::i;:::-;:10;1800:56;;;;-1:-1:-1;;;1800:56:0;;13835:2:1;1800:56:0;;;13817:21:1;13874:2;13854:18;;;13847:30;13913:34;13893:18;;;13886:62;-1:-1:-1;;;13964:18:1;;;13957:31;14005:19;;1800:56:0;13633:397:1;1800:56:0;1874:1;1637:246;-1:-1:-1;;;1637:246:0:o;1891:132::-;1949:7;1976:39;1980:1;1983;1976:39;;;;;;;;;;;;;;;;;:3;:39::i;9788:98::-;9845:7;9872:1;9870;:3;9869:9;;9877:1;9869:9;;;-1:-1:-1;9875:1:0;9788:98;-1:-1:-1;9788:98:0:o;1108:179::-;1166:7;;1198:5;1202:1;1198;:5;:::i;:::-;1186:17;;1227:1;1222;:6;;1214:46;;;;-1:-1:-1;;;1214:46:0;;14237:2:1;1214:46:0;;;14219:21:1;14276:2;14256:18;;;14249:30;14315:29;14295:18;;;14288:57;14362:18;;1214:46:0;14035:351:1;1295:136:0;1353:7;1380:43;1384:1;1387;1380:43;;;;;;;;;;;;;;;;;:3;:43::i;2031:189::-;2117:7;2152:12;2145:5;2137:28;;;;-1:-1:-1;;;2137:28:0;;;;;;;;:::i;:::-;-1:-1:-1;2176:9:0;2188:5;2192:1;2188;:5;:::i;14:418:1:-;163:2;152:9;145:21;126:4;195:6;189:13;238:6;233:2;222:9;218:18;211:34;297:6;292:2;284:6;280:15;275:2;264:9;260:18;254:50;353:1;348:2;339:6;328:9;324:22;320:31;313:42;423:2;416;412:7;407:2;399:6;395:15;391:29;380:9;376:45;372:54;364:62;;;14:418;;;;:::o;437:131::-;-1:-1:-1;;;;;512:31:1;;502:42;;492:70;;558:1;555;548:12;573:134;641:20;;670:31;641:20;670:31;:::i;:::-;573:134;;;:::o;712:315::-;780:6;788;841:2;829:9;820:7;816:23;812:32;809:52;;;857:1;854;847:12;809:52;896:9;883:23;915:31;940:5;915:31;:::i;:::-;965:5;1017:2;1002:18;;;;989:32;;-1:-1:-1;;;712:315:1:o;1406:456::-;1483:6;1491;1499;1552:2;1540:9;1531:7;1527:23;1523:32;1520:52;;;1568:1;1565;1558:12;1520:52;1607:9;1594:23;1626:31;1651:5;1626:31;:::i;:::-;1676:5;-1:-1:-1;1733:2:1;1718:18;;1705:32;1746:33;1705:32;1746:33;:::i;:::-;1406:456;;1798:7;;-1:-1:-1;;;1852:2:1;1837:18;;;;1824:32;;1406:456::o;2056:247::-;2115:6;2168:2;2156:9;2147:7;2143:23;2139:32;2136:52;;;2184:1;2181;2174:12;2136:52;2223:9;2210:23;2242:31;2267:5;2242:31;:::i;2308:127::-;2369:10;2364:3;2360:20;2357:1;2350:31;2400:4;2397:1;2390:15;2424:4;2421:1;2414:15;2440:1121;2524:6;2555:2;2598;2586:9;2577:7;2573:23;2569:32;2566:52;;;2614:1;2611;2604:12;2566:52;2654:9;2641:23;2683:18;2724:2;2716:6;2713:14;2710:34;;;2740:1;2737;2730:12;2710:34;2778:6;2767:9;2763:22;2753:32;;2823:7;2816:4;2812:2;2808:13;2804:27;2794:55;;2845:1;2842;2835:12;2794:55;2881:2;2868:16;2903:2;2899;2896:10;2893:36;;;2909:18;;:::i;:::-;2955:2;2952:1;2948:10;2987:2;2981:9;3050:2;3046:7;3041:2;3037;3033:11;3029:25;3021:6;3017:38;3105:6;3093:10;3090:22;3085:2;3073:10;3070:18;3067:46;3064:72;;;3116:18;;:::i;:::-;3152:2;3145:22;3202:18;;;3236:15;;;;-1:-1:-1;3278:11:1;;;3274:20;;;3306:19;;;3303:39;;;3338:1;3335;3328:12;3303:39;3362:11;;;;3382:148;3398:6;3393:3;3390:15;3382:148;;;3464:23;3483:3;3464:23;:::i;:::-;3452:36;;3415:12;;;;3508;;;;3382:148;;;3549:6;2440:1121;-1:-1:-1;;;;;;;;2440:1121:1:o;3774:388::-;3842:6;3850;3903:2;3891:9;3882:7;3878:23;3874:32;3871:52;;;3919:1;3916;3909:12;3871:52;3958:9;3945:23;3977:31;4002:5;3977:31;:::i;:::-;4027:5;-1:-1:-1;4084:2:1;4069:18;;4056:32;4097:33;4056:32;4097:33;:::i;:::-;4149:7;4139:17;;;3774:388;;;;;:::o;4167:356::-;4369:2;4351:21;;;4388:18;;;4381:30;4447:34;4442:2;4427:18;;4420:62;4514:2;4499:18;;4167:356::o;4718:127::-;4779:10;4774:3;4770:20;4767:1;4760:31;4810:4;4807:1;4800:15;4834:4;4831:1;4824:15;4850:416;4939:1;4976:5;4939:1;4990:270;5011:7;5001:8;4998:21;4990:270;;;5070:4;5066:1;5062:6;5058:17;5052:4;5049:27;5046:53;;;5079:18;;:::i;:::-;5129:7;5119:8;5115:22;5112:55;;;5149:16;;;;5112:55;5228:22;;;;5188:15;;;;4990:270;;;4994:3;4850:416;;;;;:::o;5271:806::-;5320:5;5350:8;5340:80;;-1:-1:-1;5391:1:1;5405:5;;5340:80;5439:4;5429:76;;-1:-1:-1;5476:1:1;5490:5;;5429:76;5521:4;5539:1;5534:59;;;;5607:1;5602:130;;;;5514:218;;5534:59;5564:1;5555:10;;5578:5;;;5602:130;5639:3;5629:8;5626:17;5623:43;;;5646:18;;:::i;:::-;-1:-1:-1;;5702:1:1;5688:16;;5717:5;;5514:218;;5816:2;5806:8;5803:16;5797:3;5791:4;5788:13;5784:36;5778:2;5768:8;5765:16;5760:2;5754:4;5751:12;5747:35;5744:77;5741:159;;;-1:-1:-1;5853:19:1;;;5885:5;;5741:159;5932:34;5957:8;5951:4;5932:34;:::i;:::-;6002:6;5998:1;5994:6;5990:19;5981:7;5978:32;5975:58;;;6013:18;;:::i;:::-;6051:20;;5271:806;-1:-1:-1;;;5271:806:1:o;6082:140::-;6140:5;6169:47;6210:4;6200:8;6196:19;6190:4;6169:47;:::i;6227:168::-;6300:9;;;6331;;6348:15;;;6342:22;;6328:37;6318:71;;6369:18;;:::i;6400:127::-;6461:10;6456:3;6452:20;6449:1;6442:31;6492:4;6489:1;6482:15;6516:4;6513:1;6506:15;6884:251;6954:6;7007:2;6995:9;6986:7;6982:23;6978:32;6975:52;;;7023:1;7020;7013:12;6975:52;7055:9;7049:16;7074:31;7099:5;7074:31;:::i;8061:306::-;8149:6;8157;8165;8218:2;8206:9;8197:7;8193:23;8189:32;8186:52;;;8234:1;8231;8224:12;8186:52;8263:9;8257:16;8247:26;;8313:2;8302:9;8298:18;8292:25;8282:35;;8357:2;8346:9;8342:18;8336:25;8326:35;;8061:306;;;;;:::o;8651:277::-;8718:6;8771:2;8759:9;8750:7;8746:23;8742:32;8739:52;;;8787:1;8784;8777:12;8739:52;8819:9;8813:16;8872:5;8865:13;8858:21;8851:5;8848:32;8838:60;;8894:1;8891;8884:12;11315:125;11380:9;;;11401:10;;;11398:36;;;11414:18;;:::i;11800:135::-;11839:3;11860:17;;;11857:43;;11880:18;;:::i;:::-;-1:-1:-1;11927:1:1;11916:13;;11800:135::o;12293:128::-;12360:9;;;12381:11;;;12378:37;;;12395:18;;:::i;12426:980::-;12688:4;12736:3;12725:9;12721:19;12767:6;12756:9;12749:25;12793:2;12831:6;12826:2;12815:9;12811:18;12804:34;12874:3;12869:2;12858:9;12854:18;12847:31;12898:6;12933;12927:13;12964:6;12956;12949:22;13002:3;12991:9;12987:19;12980:26;;13041:2;13033:6;13029:15;13015:29;;13062:1;13072:195;13086:6;13083:1;13080:13;13072:195;;;13151:13;;-1:-1:-1;;;;;13147:39:1;13135:52;;13242:15;;;;13207:12;;;;13183:1;13101:9;13072:195;;;-1:-1:-1;;;;;;;13323:32:1;;;;13318:2;13303:18;;13296:60;-1:-1:-1;;;13387:3:1;13372:19;13365:35;13284:3;12426:980;-1:-1:-1;;;12426:980:1:o;13411:217::-;13451:1;13477;13467:132;;13521:10;13516:3;13512:20;13509:1;13502:31;13556:4;13553:1;13546:15;13584:4;13581:1;13574:15;13467:132;-1:-1:-1;13613:9:1;;13411:217::o
Swarm Source
ipfs://14de8bf15ccefb46433b52a170a8a27048ba1858bff826f012a927b26e384d2f
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.