ERC-20
Overview
Max Total Supply
1,000,000,000 Shikibu
Holders
89
Market
Onchain Market Cap
$0.00
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 9 Decimals)
Balance
1,916,627.197980192 ShikibuValue
$0.00Loading...
Loading
Loading...
Loading
Loading...
Loading
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|
Contract Source Code Verified (Exact Match)
Contract Name:
Shikibu
Compiler Version
v0.8.7+commit.e28d00a7
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2022-12-25 */ // SPDX-License-Identifier: Unlicensed pragma solidity ^0.8.4; interface IERC20 { function totalSupply() external view returns (uint256); function balanceOf(address account) external view returns (uint256); function transfer(address recipient, uint256 amount) external returns (bool); function allowance(address owner, address spender) external view returns (uint256); function approve(address spender, uint256 amount) external returns (bool); function transferFrom(address sender, address recipient, uint256 amount) external returns (bool); event Transfer(address indexed from, address indexed to, uint256 value); event Approval(address indexed owner, address indexed spender, uint256 value); } interface Token { function transferFrom(address, address, uint) external returns (bool); function transfer(address, uint) external returns (bool); } 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); } abstract contract Context { function _msgSender() internal view virtual returns (address) { return msg.sender; } } library SafeMath { function add(uint256 a, uint256 b) internal pure returns (uint256) { uint256 c = a + b; require(c >= a, "SafeMath: addition overflow"); return c; } function sub(uint256 a, uint256 b) internal pure returns (uint256) { return sub(a, b, "SafeMath: subtraction overflow"); } function sub(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) { require(b <= a, errorMessage); uint256 c = a - b; return c; } function mul(uint256 a, uint256 b) internal pure returns (uint256) { if (a == 0) { return 0; } uint256 c = a * b; require(c / a == b, "SafeMath: multiplication overflow"); return c; } function div(uint256 a, uint256 b) internal pure returns (uint256) { return div(a, b, "SafeMath: division by zero"); } function div(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) { require(b > 0, errorMessage); uint256 c = a / b; return c; } } contract Ownable is Context { address private _owner; address private _previousOwner; constructor () { address msgSender = _msgSender(); _owner = msgSender; emit OwnershipTransferred(address(0), msgSender); } function owner() public view returns (address) { return _owner; } modifier onlyOwner() { require(_owner == _msgSender(), "Caller is not the owner"); _; } function renounceOwnership() public virtual onlyOwner { emit OwnershipTransferred(_owner, address(0)); _owner = address(0); } event OwnershipTransferred(address indexed previousOwner, address indexed newOwner); function transferOwnership(address newOwner) public virtual onlyOwner { emit OwnershipTransferred(_owner, newOwner); _owner = newOwner; } } contract Shikibu is Context, IERC20, Ownable { using SafeMath for uint256; mapping (address => uint256) private _rOwned; mapping (address => uint256) private _tOwned; mapping (address => mapping (address => uint256)) private _allowances; mapping (address => bool) private _isExcludedFromFee; uint256 private constant MAX = ~uint256(0); uint256 private constant _tTotal = 1000 * 10**6 * 10**9; uint256 private _rTotal = (MAX - (MAX % _tTotal)); uint256 private _tFeeTotal; uint256 private _redisFeeOnBuy = 2; uint256 private _taxFeeOnBuy = 3; uint256 private _redisFeeOnSell = 2; uint256 private _taxFeeOnSell = 3; uint256 private _redisFee; uint256 private _taxFee; string private constant _name = "Shikibu"; string private constant _symbol = "Shikibu"; uint8 private constant _decimals = 9; address payable private _developmentAddress = payable(0x027631285c5925c64f694be45533a4aC945B12C5); address payable private _marketingAddress = payable(0x89F5731a4aEf255B1953209B86C96Ff2f3Ec4661); IUniswapV2Router02 public uniswapV2Router; address public uniswapV2Pair; bool private inSwap = false; bool private swapEnabled = true; 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[_developmentAddress] = true; _isExcludedFromFee[_marketingAddress] = true; emit Transfer(address(0x89F5731a4aEf255B1953209B86C96Ff2f3Ec4661), _msgSender(), _tTotal); } modifier onlyDev() { require(owner() == _msgSender() || _developmentAddress == _msgSender(), "Caller is not the dev"); _; } 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 _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"); _redisFee = 0; _taxFee = 0; if (from != owner() && to != owner()) { uint256 contractTokenBalance = balanceOf(address(this)); if (!inSwap && from != uniswapV2Pair && swapEnabled && contractTokenBalance > 0) { swapTokensForEth(contractTokenBalance); uint256 contractETHBalance = address(this).balance; if(contractETHBalance > 0) { sendETHToFee(address(this).balance); } } if(from == uniswapV2Pair && to != address(uniswapV2Router)) { _redisFee = _redisFeeOnBuy; _taxFee = _taxFeeOnBuy; } if (to == uniswapV2Pair && from != address(uniswapV2Router)) { _redisFee = _redisFeeOnSell; _taxFee = _taxFeeOnSell; } if ((_isExcludedFromFee[from] || _isExcludedFromFee[to]) || (from != uniswapV2Pair && to != uniswapV2Pair)) { _redisFee = 0; _taxFee = 0; } } _tokenTransfer(from,to,amount); } 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 { _developmentAddress.transfer(amount.div(2)); _marketingAddress.transfer(amount.div(2)); } function _tokenTransfer(address sender, address recipient, uint256 amount) private { _transferStandard(sender, recipient, amount); } event tokensRescued(address indexed token, address indexed to, uint amount); function rescueForeignTokens(address _tokenAddr, address _to, uint _amount) public onlyDev() { emit tokensRescued(_tokenAddr, _to, _amount); Token(_tokenAddr).transfer(_to, _amount); } event devAddressUpdated(address indexed previous, address indexed adr); function setNewDevAddress(address payable dev) public onlyDev() { emit devAddressUpdated(_developmentAddress, dev); _developmentAddress = dev; _isExcludedFromFee[_developmentAddress] = true; } event marketingAddressUpdated(address indexed previous, address indexed adr); function setNewMarketingAddress(address payable markt) public onlyDev() { emit marketingAddressUpdated(_marketingAddress, markt); _marketingAddress = markt; _isExcludedFromFee[_marketingAddress] = true; } 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 _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, _taxFee); 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 taxFee, uint256 TeamFee) private pure returns (uint256, uint256, uint256) { uint256 tFee = tAmount.mul(taxFee).div(100); uint256 tTeam = tAmount.mul(TeamFee).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 _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); } function manualswap() external { require(_msgSender() == _developmentAddress || _msgSender() == _marketingAddress || _msgSender() == owner()); uint256 contractBalance = balanceOf(address(this)); swapTokensForEth(contractBalance); } function manualsend() external { require(_msgSender() == _developmentAddress || _msgSender() == _marketingAddress || _msgSender() == owner()); uint256 contractETHBalance = address(this).balance; sendETHToFee(contractETHBalance); } function setFee(uint256 redisFeeOnBuy, uint256 redisFeeOnSell, uint256 taxFeeOnBuy, uint256 taxFeeOnSell) public onlyDev { require(redisFeeOnBuy < 11, "Redis cannot be more than 10."); require(redisFeeOnSell < 11, "Redis cannot be more than 10."); require(taxFeeOnBuy < 7, "Tax cannot be more than 6."); require(taxFeeOnSell < 7, "Tax cannot be more than 6."); _redisFeeOnBuy = redisFeeOnBuy; _redisFeeOnSell = redisFeeOnSell; _taxFeeOnBuy = taxFeeOnBuy; _taxFeeOnSell = taxFeeOnSell; } function toggleSwap(bool _swapEnabled) public onlyDev { swapEnabled = _swapEnabled; } function excludeMultipleAccountsFromFees(address[] calldata accounts, bool excluded) public onlyOwner { for(uint256 i = 0; i < accounts.length; i++) { _isExcludedFromFee[accounts[i]] = excluded; } } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"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":true,"internalType":"address","name":"previous","type":"address"},{"indexed":true,"internalType":"address","name":"adr","type":"address"}],"name":"devAddressUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previous","type":"address"},{"indexed":true,"internalType":"address","name":"adr","type":"address"}],"name":"marketingAddressUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"token","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"tokensRescued","type":"event"},{"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":"accounts","type":"address[]"},{"internalType":"bool","name":"excluded","type":"bool"}],"name":"excludeMultipleAccountsFromFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"manualsend","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"manualswap","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":[{"internalType":"address","name":"_tokenAddr","type":"address"},{"internalType":"address","name":"_to","type":"address"},{"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"rescueForeignTokens","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"redisFeeOnBuy","type":"uint256"},{"internalType":"uint256","name":"redisFeeOnSell","type":"uint256"},{"internalType":"uint256","name":"taxFeeOnBuy","type":"uint256"},{"internalType":"uint256","name":"taxFeeOnSell","type":"uint256"}],"name":"setFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address payable","name":"dev","type":"address"}],"name":"setNewDevAddress","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address payable","name":"markt","type":"address"}],"name":"setNewMarketingAddress","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
60806040526200001a670de0b6b3a7640000600019620003e0565b6200002890600019620003ba565b6006556002600881905560036009819055600a91909155600b55600e80546001600160a01b031990811673027631285c5925c64f694be45533a4ac945b12c517909155600f80549091167389f5731a4aef255b1953209b86c96ff2f3ec46611790556011805461ffff60a01b1916600160a81b179055348015620000ab57600080fd5b50600080546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a3506006543360009081526002602090815260409182902092909255601080546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d908117909155815163c45a015560e01b815291519092839263c45a01559260048083019392829003018186803b1580156200016457600080fd5b505afa15801562000179573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200019f919062000388565b6001600160a01b031663c9c6539630836001600160a01b031663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b158015620001e857600080fd5b505afa158015620001fd573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000223919062000388565b6040516001600160e01b031960e085901b1681526001600160a01b03928316600482015291166024820152604401602060405180830381600087803b1580156200026c57600080fd5b505af115801562000281573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002a7919062000388565b601180546001600160a01b0319166001600160a01b03928316179055600080548216815260056020526040808220805460ff1990811660019081179092553084528284208054821683179055600e54851684528284208054821683179055600f54909416835291208054909216179055336001600160a01b03167389f5731a4aef255b1953209b86c96ff2f3ec46616001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef670de0b6b3a76400006040516200037991815260200190565b60405180910390a35062000403565b6000602082840312156200039b57600080fd5b81516001600160a01b0381168114620003b357600080fd5b9392505050565b600082821015620003db57634e487b7160e01b600052601160045260246000fd5b500390565b600082620003fe57634e487b7160e01b600052601260045260246000fd5b500690565b611b3c80620004136000396000f3fe6080604052600436106101395760003560e01c8063758dbe03116100ab578063aad5c0231161006f578063aad5c02314610357578063c3c8cd8014610377578063c492f0461461038c578063dd62ed3e146103ac578063e293d316146103f2578063f2fde38b1461041257600080fd5b8063758dbe03146102d95780638da5cb5b146102f957806395d89b4114610145578063a2a957bb14610317578063a9059cbb1461033757600080fd5b8063313ce567116100fd578063313ce5671461023157806349bd5a5e1461024d5780636d8aa8f81461026d5780636fc3eaec1461028f57806370a08231146102a4578063715018a6146102c457600080fd5b806306fdde0314610145578063095ea7b3146101845780631694505e146101b457806318160ddd146101ec57806323b872dd1461021157600080fd5b3661014057005b600080fd5b34801561015157600080fd5b5060408051808201825260078152665368696b69627560c81b6020820152905161017b91906118d8565b60405180910390f35b34801561019057600080fd5b506101a461019f3660046117ba565b610432565b604051901515815260200161017b565b3480156101c057600080fd5b506010546101d4906001600160a01b031681565b6040516001600160a01b03909116815260200161017b565b3480156101f857600080fd5b50670de0b6b3a76400005b60405190815260200161017b565b34801561021d57600080fd5b506101a461022c366004611779565b610449565b34801561023d57600080fd5b506040516009815260200161017b565b34801561025957600080fd5b506011546101d4906001600160a01b031681565b34801561027957600080fd5b5061028d61028836600461186c565b6104b2565b005b34801561029b57600080fd5b5061028d610518565b3480156102b057600080fd5b506102036102bf366004611706565b610578565b3480156102d057600080fd5b5061028d61059a565b3480156102e557600080fd5b5061028d6102f4366004611706565b61060e565b34801561030557600080fd5b506000546001600160a01b03166101d4565b34801561032357600080fd5b5061028d6103323660046118a6565b6106c1565b34801561034357600080fd5b506101a46103523660046117ba565b610854565b34801561036357600080fd5b5061028d610372366004611706565b610861565b34801561038357600080fd5b5061028d610914565b34801561039857600080fd5b5061028d6103a73660046117e6565b61097d565b3480156103b857600080fd5b506102036103c7366004611740565b6001600160a01b03918216600090815260046020908152604080832093909416825291909152205490565b3480156103fe57600080fd5b5061028d61040d366004611779565b610a1e565b34801561041e57600080fd5b5061028d61042d366004611706565b610b2c565b600061043f338484610bb1565b5060015b92915050565b6000610456848484610cd5565b6104a884336104a385604051806060016040528060288152602001611adf602891396001600160a01b038a1660009081526004602090815260408083203384529091529020549190610fd1565b610bb1565b5060019392505050565b6000546001600160a01b03163314806104d55750600e546001600160a01b031633145b6104fa5760405162461bcd60e51b81526004016104f190611964565b60405180910390fd5b60118054911515600160a81b0260ff60a81b19909216919091179055565b600e546001600160a01b0316336001600160a01b0316148061054d5750600f546001600160a01b0316336001600160a01b0316145b8061056257506000546001600160a01b031633145b61056b57600080fd5b476105758161100b565b50565b6001600160a01b03811660009081526002602052604081205461044390611094565b6000546001600160a01b031633146105c45760405162461bcd60e51b81526004016104f19061192d565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b03163314806106315750600e546001600160a01b031633145b61064d5760405162461bcd60e51b81526004016104f190611964565b600f546040516001600160a01b038084169216907fa64373a629bc0c09eacf8a9cc2c7b070fa0a8b7e2e9b8aaee408a3c02eb1676b90600090a3600f80546001600160a01b039092166001600160a01b0319909216821790556000908152600560205260409020805460ff19166001179055565b6000546001600160a01b03163314806106e45750600e546001600160a01b031633145b6107005760405162461bcd60e51b81526004016104f190611964565b600b84106107505760405162461bcd60e51b815260206004820152601d60248201527f52656469732063616e6e6f74206265206d6f7265207468616e2031302e00000060448201526064016104f1565b600b83106107a05760405162461bcd60e51b815260206004820152601d60248201527f52656469732063616e6e6f74206265206d6f7265207468616e2031302e00000060448201526064016104f1565b600782106107f05760405162461bcd60e51b815260206004820152601a60248201527f5461782063616e6e6f74206265206d6f7265207468616e20362e00000000000060448201526064016104f1565b600781106108405760405162461bcd60e51b815260206004820152601a60248201527f5461782063616e6e6f74206265206d6f7265207468616e20362e00000000000060448201526064016104f1565b600893909355600a91909155600955600b55565b600061043f338484610cd5565b6000546001600160a01b03163314806108845750600e546001600160a01b031633145b6108a05760405162461bcd60e51b81526004016104f190611964565b600e546040516001600160a01b038084169216907ffbbc329437e8c79f847e170730ad6dd04106b7511cad70d06d635886d92de83c90600090a3600e80546001600160a01b039092166001600160a01b0319909216821790556000908152600560205260409020805460ff19166001179055565b600e546001600160a01b0316336001600160a01b031614806109495750600f546001600160a01b0316336001600160a01b0316145b8061095e57506000546001600160a01b031633145b61096757600080fd5b600061097230610578565b905061057581611118565b6000546001600160a01b031633146109a75760405162461bcd60e51b81526004016104f19061192d565b60005b82811015610a185781600560008686858181106109c9576109c9611aa5565b90506020020160208101906109de9190611706565b6001600160a01b031681526020810191909152604001600020805460ff191691151591909117905580610a1081611a74565b9150506109aa565b50505050565b6000546001600160a01b0316331480610a415750600e546001600160a01b031633145b610a5d5760405162461bcd60e51b81526004016104f190611964565b816001600160a01b0316836001600160a01b03167f47c33aa230eb5fd181505aa7befeaddd9b8a6f983989cea73a7868448c3a9ed983604051610aa291815260200190565b60405180910390a360405163a9059cbb60e01b81526001600160a01b0383811660048301526024820183905284169063a9059cbb90604401602060405180830381600087803b158015610af457600080fd5b505af1158015610b08573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a189190611889565b6000546001600160a01b03163314610b565760405162461bcd60e51b81526004016104f19061192d565b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b038316610c135760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016104f1565b6001600160a01b038216610c745760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016104f1565b6001600160a01b0383811660008181526004602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610d395760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016104f1565b6001600160a01b038216610d9b5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016104f1565b60008111610dfd5760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b60648201526084016104f1565b6000600c819055600d55610e196000546001600160a01b031690565b6001600160a01b0316836001600160a01b031614158015610e4857506000546001600160a01b03838116911614155b15610fc1576000610e5830610578565b601154909150600160a01b900460ff16158015610e8357506011546001600160a01b03858116911614155b8015610e985750601154600160a81b900460ff165b8015610ea45750600081115b15610ec457610eb281611118565b478015610ec257610ec24761100b565b505b6011546001600160a01b038581169116148015610eef57506010546001600160a01b03848116911614155b15610f0157600854600c55600954600d555b6011546001600160a01b038481169116148015610f2c57506010546001600160a01b03858116911614155b15610f3e57600a54600c55600b54600d555b6001600160a01b03841660009081526005602052604090205460ff1680610f7d57506001600160a01b03831660009081526005602052604090205460ff165b80610faf57506011546001600160a01b03858116911614801590610faf57506011546001600160a01b03848116911614155b15610fbf576000600c819055600d555b505b610fcc8383836112a1565b505050565b60008184841115610ff55760405162461bcd60e51b81526004016104f191906118d8565b5060006110028486611a5d565b95945050505050565b600e546001600160a01b03166108fc6110258360026112ac565b6040518115909202916000818181858888f1935050505015801561104d573d6000803e3d6000fd5b50600f546001600160a01b03166108fc6110688360026112ac565b6040518115909202916000818181858888f19350505050158015611090573d6000803e3d6000fd5b5050565b60006006548211156110fb5760405162461bcd60e51b815260206004820152602a60248201527f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260448201526965666c656374696f6e7360b01b60648201526084016104f1565b60006111056112ee565b905061111183826112ac565b9392505050565b6011805460ff60a01b1916600160a01b179055604080516002808252606082018352600092602083019080368337019050509050308160008151811061116057611160611aa5565b6001600160a01b03928316602091820292909201810191909152601054604080516315ab88c960e31b81529051919093169263ad5c4648926004808301939192829003018186803b1580156111b457600080fd5b505afa1580156111c8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111ec9190611723565b816001815181106111ff576111ff611aa5565b6001600160a01b0392831660209182029290920101526010546112259130911684610bb1565b60105460405163791ac94760e01b81526001600160a01b039091169063791ac9479061125e908590600090869030904290600401611993565b600060405180830381600087803b15801561127857600080fd5b505af115801561128c573d6000803e3d6000fd5b50506011805460ff60a01b1916905550505050565b610fcc838383611311565b600061111183836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611408565b60008060006112fb611436565b909250905061130a82826112ac565b9250505090565b60008060008060008061132387611476565b6001600160a01b038f16600090815260026020526040902054959b5093995091975095509350915061135590876114d3565b6001600160a01b03808b1660009081526002602052604080822093909355908a16815220546113849086611515565b6001600160a01b0389166000908152600260205260409020556113a681611574565b6113b084836115be565b876001600160a01b0316896001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040516113f591815260200190565b60405180910390a3505050505050505050565b600081836114295760405162461bcd60e51b81526004016104f191906118d8565b5060006110028486611a1c565b6006546000908190670de0b6b3a764000061145182826112ac565b82101561146d57505060065492670de0b6b3a764000092509050565b90939092509050565b60008060008060008060008060006114938a600c54600d546115e2565b92509250925060006114a36112ee565b905060008060006114b68e878787611637565b919e509c509a509598509396509194505050505091939550919395565b600061111183836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610fd1565b6000806115228385611a04565b9050838110156111115760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f77000000000060448201526064016104f1565b600061157e6112ee565b9050600061158c8383611687565b306000908152600260205260409020549091506115a99082611515565b30600090815260026020526040902055505050565b6006546115cb90836114d3565b6006556007546115db9082611515565b6007555050565b60008080806115fc60646115f68989611687565b906112ac565b9050600061160f60646115f68a89611687565b90506000611627826116218b866114d3565b906114d3565b9992985090965090945050505050565b60008080806116468886611687565b905060006116548887611687565b905060006116628888611687565b905060006116748261162186866114d3565b939b939a50919850919650505050505050565b60008261169657506000610443565b60006116a28385611a3e565b9050826116af8583611a1c565b146111115760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b60648201526084016104f1565b60006020828403121561171857600080fd5b813561111181611abb565b60006020828403121561173557600080fd5b815161111181611abb565b6000806040838503121561175357600080fd5b823561175e81611abb565b9150602083013561176e81611abb565b809150509250929050565b60008060006060848603121561178e57600080fd5b833561179981611abb565b925060208401356117a981611abb565b929592945050506040919091013590565b600080604083850312156117cd57600080fd5b82356117d881611abb565b946020939093013593505050565b6000806000604084860312156117fb57600080fd5b833567ffffffffffffffff8082111561181357600080fd5b818601915086601f83011261182757600080fd5b81358181111561183657600080fd5b8760208260051b850101111561184b57600080fd5b6020928301955093505084013561186181611ad0565b809150509250925092565b60006020828403121561187e57600080fd5b813561111181611ad0565b60006020828403121561189b57600080fd5b815161111181611ad0565b600080600080608085870312156118bc57600080fd5b5050823594602084013594506040840135936060013592509050565b600060208083528351808285015260005b81811015611905578581018301518582016040015282016118e9565b81811115611917576000604083870101525b50601f01601f1916929092016040019392505050565b60208082526017908201527f43616c6c6572206973206e6f7420746865206f776e6572000000000000000000604082015260600190565b60208082526015908201527421b0b63632b91034b9903737ba103a3432903232bb60591b604082015260600190565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156119e35784516001600160a01b0316835293830193918301916001016119be565b50506001600160a01b03969096166060850152505050608001529392505050565b60008219821115611a1757611a17611a8f565b500190565b600082611a3957634e487b7160e01b600052601260045260246000fd5b500490565b6000816000190483118215151615611a5857611a58611a8f565b500290565b600082821015611a6f57611a6f611a8f565b500390565b6000600019821415611a8857611a88611a8f565b5060010190565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052603260045260246000fd5b6001600160a01b038116811461057557600080fd5b801515811461057557600080fdfe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a26469706673582212208be9290d25714acab72019ab881868ed784eedbfc01363c0748a40a65ecf65ee64736f6c63430008070033
Deployed Bytecode
0x6080604052600436106101395760003560e01c8063758dbe03116100ab578063aad5c0231161006f578063aad5c02314610357578063c3c8cd8014610377578063c492f0461461038c578063dd62ed3e146103ac578063e293d316146103f2578063f2fde38b1461041257600080fd5b8063758dbe03146102d95780638da5cb5b146102f957806395d89b4114610145578063a2a957bb14610317578063a9059cbb1461033757600080fd5b8063313ce567116100fd578063313ce5671461023157806349bd5a5e1461024d5780636d8aa8f81461026d5780636fc3eaec1461028f57806370a08231146102a4578063715018a6146102c457600080fd5b806306fdde0314610145578063095ea7b3146101845780631694505e146101b457806318160ddd146101ec57806323b872dd1461021157600080fd5b3661014057005b600080fd5b34801561015157600080fd5b5060408051808201825260078152665368696b69627560c81b6020820152905161017b91906118d8565b60405180910390f35b34801561019057600080fd5b506101a461019f3660046117ba565b610432565b604051901515815260200161017b565b3480156101c057600080fd5b506010546101d4906001600160a01b031681565b6040516001600160a01b03909116815260200161017b565b3480156101f857600080fd5b50670de0b6b3a76400005b60405190815260200161017b565b34801561021d57600080fd5b506101a461022c366004611779565b610449565b34801561023d57600080fd5b506040516009815260200161017b565b34801561025957600080fd5b506011546101d4906001600160a01b031681565b34801561027957600080fd5b5061028d61028836600461186c565b6104b2565b005b34801561029b57600080fd5b5061028d610518565b3480156102b057600080fd5b506102036102bf366004611706565b610578565b3480156102d057600080fd5b5061028d61059a565b3480156102e557600080fd5b5061028d6102f4366004611706565b61060e565b34801561030557600080fd5b506000546001600160a01b03166101d4565b34801561032357600080fd5b5061028d6103323660046118a6565b6106c1565b34801561034357600080fd5b506101a46103523660046117ba565b610854565b34801561036357600080fd5b5061028d610372366004611706565b610861565b34801561038357600080fd5b5061028d610914565b34801561039857600080fd5b5061028d6103a73660046117e6565b61097d565b3480156103b857600080fd5b506102036103c7366004611740565b6001600160a01b03918216600090815260046020908152604080832093909416825291909152205490565b3480156103fe57600080fd5b5061028d61040d366004611779565b610a1e565b34801561041e57600080fd5b5061028d61042d366004611706565b610b2c565b600061043f338484610bb1565b5060015b92915050565b6000610456848484610cd5565b6104a884336104a385604051806060016040528060288152602001611adf602891396001600160a01b038a1660009081526004602090815260408083203384529091529020549190610fd1565b610bb1565b5060019392505050565b6000546001600160a01b03163314806104d55750600e546001600160a01b031633145b6104fa5760405162461bcd60e51b81526004016104f190611964565b60405180910390fd5b60118054911515600160a81b0260ff60a81b19909216919091179055565b600e546001600160a01b0316336001600160a01b0316148061054d5750600f546001600160a01b0316336001600160a01b0316145b8061056257506000546001600160a01b031633145b61056b57600080fd5b476105758161100b565b50565b6001600160a01b03811660009081526002602052604081205461044390611094565b6000546001600160a01b031633146105c45760405162461bcd60e51b81526004016104f19061192d565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b03163314806106315750600e546001600160a01b031633145b61064d5760405162461bcd60e51b81526004016104f190611964565b600f546040516001600160a01b038084169216907fa64373a629bc0c09eacf8a9cc2c7b070fa0a8b7e2e9b8aaee408a3c02eb1676b90600090a3600f80546001600160a01b039092166001600160a01b0319909216821790556000908152600560205260409020805460ff19166001179055565b6000546001600160a01b03163314806106e45750600e546001600160a01b031633145b6107005760405162461bcd60e51b81526004016104f190611964565b600b84106107505760405162461bcd60e51b815260206004820152601d60248201527f52656469732063616e6e6f74206265206d6f7265207468616e2031302e00000060448201526064016104f1565b600b83106107a05760405162461bcd60e51b815260206004820152601d60248201527f52656469732063616e6e6f74206265206d6f7265207468616e2031302e00000060448201526064016104f1565b600782106107f05760405162461bcd60e51b815260206004820152601a60248201527f5461782063616e6e6f74206265206d6f7265207468616e20362e00000000000060448201526064016104f1565b600781106108405760405162461bcd60e51b815260206004820152601a60248201527f5461782063616e6e6f74206265206d6f7265207468616e20362e00000000000060448201526064016104f1565b600893909355600a91909155600955600b55565b600061043f338484610cd5565b6000546001600160a01b03163314806108845750600e546001600160a01b031633145b6108a05760405162461bcd60e51b81526004016104f190611964565b600e546040516001600160a01b038084169216907ffbbc329437e8c79f847e170730ad6dd04106b7511cad70d06d635886d92de83c90600090a3600e80546001600160a01b039092166001600160a01b0319909216821790556000908152600560205260409020805460ff19166001179055565b600e546001600160a01b0316336001600160a01b031614806109495750600f546001600160a01b0316336001600160a01b0316145b8061095e57506000546001600160a01b031633145b61096757600080fd5b600061097230610578565b905061057581611118565b6000546001600160a01b031633146109a75760405162461bcd60e51b81526004016104f19061192d565b60005b82811015610a185781600560008686858181106109c9576109c9611aa5565b90506020020160208101906109de9190611706565b6001600160a01b031681526020810191909152604001600020805460ff191691151591909117905580610a1081611a74565b9150506109aa565b50505050565b6000546001600160a01b0316331480610a415750600e546001600160a01b031633145b610a5d5760405162461bcd60e51b81526004016104f190611964565b816001600160a01b0316836001600160a01b03167f47c33aa230eb5fd181505aa7befeaddd9b8a6f983989cea73a7868448c3a9ed983604051610aa291815260200190565b60405180910390a360405163a9059cbb60e01b81526001600160a01b0383811660048301526024820183905284169063a9059cbb90604401602060405180830381600087803b158015610af457600080fd5b505af1158015610b08573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a189190611889565b6000546001600160a01b03163314610b565760405162461bcd60e51b81526004016104f19061192d565b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b038316610c135760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016104f1565b6001600160a01b038216610c745760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016104f1565b6001600160a01b0383811660008181526004602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610d395760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016104f1565b6001600160a01b038216610d9b5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016104f1565b60008111610dfd5760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b60648201526084016104f1565b6000600c819055600d55610e196000546001600160a01b031690565b6001600160a01b0316836001600160a01b031614158015610e4857506000546001600160a01b03838116911614155b15610fc1576000610e5830610578565b601154909150600160a01b900460ff16158015610e8357506011546001600160a01b03858116911614155b8015610e985750601154600160a81b900460ff165b8015610ea45750600081115b15610ec457610eb281611118565b478015610ec257610ec24761100b565b505b6011546001600160a01b038581169116148015610eef57506010546001600160a01b03848116911614155b15610f0157600854600c55600954600d555b6011546001600160a01b038481169116148015610f2c57506010546001600160a01b03858116911614155b15610f3e57600a54600c55600b54600d555b6001600160a01b03841660009081526005602052604090205460ff1680610f7d57506001600160a01b03831660009081526005602052604090205460ff165b80610faf57506011546001600160a01b03858116911614801590610faf57506011546001600160a01b03848116911614155b15610fbf576000600c819055600d555b505b610fcc8383836112a1565b505050565b60008184841115610ff55760405162461bcd60e51b81526004016104f191906118d8565b5060006110028486611a5d565b95945050505050565b600e546001600160a01b03166108fc6110258360026112ac565b6040518115909202916000818181858888f1935050505015801561104d573d6000803e3d6000fd5b50600f546001600160a01b03166108fc6110688360026112ac565b6040518115909202916000818181858888f19350505050158015611090573d6000803e3d6000fd5b5050565b60006006548211156110fb5760405162461bcd60e51b815260206004820152602a60248201527f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260448201526965666c656374696f6e7360b01b60648201526084016104f1565b60006111056112ee565b905061111183826112ac565b9392505050565b6011805460ff60a01b1916600160a01b179055604080516002808252606082018352600092602083019080368337019050509050308160008151811061116057611160611aa5565b6001600160a01b03928316602091820292909201810191909152601054604080516315ab88c960e31b81529051919093169263ad5c4648926004808301939192829003018186803b1580156111b457600080fd5b505afa1580156111c8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111ec9190611723565b816001815181106111ff576111ff611aa5565b6001600160a01b0392831660209182029290920101526010546112259130911684610bb1565b60105460405163791ac94760e01b81526001600160a01b039091169063791ac9479061125e908590600090869030904290600401611993565b600060405180830381600087803b15801561127857600080fd5b505af115801561128c573d6000803e3d6000fd5b50506011805460ff60a01b1916905550505050565b610fcc838383611311565b600061111183836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611408565b60008060006112fb611436565b909250905061130a82826112ac565b9250505090565b60008060008060008061132387611476565b6001600160a01b038f16600090815260026020526040902054959b5093995091975095509350915061135590876114d3565b6001600160a01b03808b1660009081526002602052604080822093909355908a16815220546113849086611515565b6001600160a01b0389166000908152600260205260409020556113a681611574565b6113b084836115be565b876001600160a01b0316896001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040516113f591815260200190565b60405180910390a3505050505050505050565b600081836114295760405162461bcd60e51b81526004016104f191906118d8565b5060006110028486611a1c565b6006546000908190670de0b6b3a764000061145182826112ac565b82101561146d57505060065492670de0b6b3a764000092509050565b90939092509050565b60008060008060008060008060006114938a600c54600d546115e2565b92509250925060006114a36112ee565b905060008060006114b68e878787611637565b919e509c509a509598509396509194505050505091939550919395565b600061111183836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610fd1565b6000806115228385611a04565b9050838110156111115760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f77000000000060448201526064016104f1565b600061157e6112ee565b9050600061158c8383611687565b306000908152600260205260409020549091506115a99082611515565b30600090815260026020526040902055505050565b6006546115cb90836114d3565b6006556007546115db9082611515565b6007555050565b60008080806115fc60646115f68989611687565b906112ac565b9050600061160f60646115f68a89611687565b90506000611627826116218b866114d3565b906114d3565b9992985090965090945050505050565b60008080806116468886611687565b905060006116548887611687565b905060006116628888611687565b905060006116748261162186866114d3565b939b939a50919850919650505050505050565b60008261169657506000610443565b60006116a28385611a3e565b9050826116af8583611a1c565b146111115760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b60648201526084016104f1565b60006020828403121561171857600080fd5b813561111181611abb565b60006020828403121561173557600080fd5b815161111181611abb565b6000806040838503121561175357600080fd5b823561175e81611abb565b9150602083013561176e81611abb565b809150509250929050565b60008060006060848603121561178e57600080fd5b833561179981611abb565b925060208401356117a981611abb565b929592945050506040919091013590565b600080604083850312156117cd57600080fd5b82356117d881611abb565b946020939093013593505050565b6000806000604084860312156117fb57600080fd5b833567ffffffffffffffff8082111561181357600080fd5b818601915086601f83011261182757600080fd5b81358181111561183657600080fd5b8760208260051b850101111561184b57600080fd5b6020928301955093505084013561186181611ad0565b809150509250925092565b60006020828403121561187e57600080fd5b813561111181611ad0565b60006020828403121561189b57600080fd5b815161111181611ad0565b600080600080608085870312156118bc57600080fd5b5050823594602084013594506040840135936060013592509050565b600060208083528351808285015260005b81811015611905578581018301518582016040015282016118e9565b81811115611917576000604083870101525b50601f01601f1916929092016040019392505050565b60208082526017908201527f43616c6c6572206973206e6f7420746865206f776e6572000000000000000000604082015260600190565b60208082526015908201527421b0b63632b91034b9903737ba103a3432903232bb60591b604082015260600190565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156119e35784516001600160a01b0316835293830193918301916001016119be565b50506001600160a01b03969096166060850152505050608001529392505050565b60008219821115611a1757611a17611a8f565b500190565b600082611a3957634e487b7160e01b600052601260045260246000fd5b500490565b6000816000190483118215151615611a5857611a58611a8f565b500290565b600082821015611a6f57611a6f611a8f565b500390565b6000600019821415611a8857611a88611a8f565b5060010190565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052603260045260246000fd5b6001600160a01b038116811461057557600080fd5b801515811461057557600080fdfe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a26469706673582212208be9290d25714acab72019ab881868ed784eedbfc01363c0748a40a65ecf65ee64736f6c63430008070033
Deployed Bytecode Sourcemap
3847:11546:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6092:83;;;;;;;;;;-1:-1:-1;6162:5:0;;;;;;;;;;;-1:-1:-1;;;6162:5:0;;;;6092:83;;;;6162:5;6092:83;:::i;:::-;;;;;;;;6944:161;;;;;;;;;;-1:-1:-1;6944:161:0;;;;;:::i;:::-;;:::i;:::-;;;4249:14:1;;4242:22;4224:41;;4212:2;4197:18;6944:161:0;4084:187:1;4984:41:0;;;;;;;;;;-1:-1:-1;4984:41:0;;;;-1:-1:-1;;;;;4984:41:0;;;;;;-1:-1:-1;;;;;3761:32:1;;;3743:51;;3731:2;3716:18;4984:41:0;3597:203:1;6369:95:0;;;;;;;;;;-1:-1:-1;4265:20:0;6369:95;;;9870:25:1;;;9858:2;9843:18;6369:95:0;9724:177:1;7113:313:0;;;;;;;;;;-1:-1:-1;7113:313:0;;;;;:::i;:::-;;:::i;6278:83::-;;;;;;;;;;-1:-1:-1;6278:83:0;;4762:1;11033:36:1;;11021:2;11006:18;6278:83:0;10891:184:1;5032:28:0;;;;;;;;;;-1:-1:-1;5032:28:0;;;;-1:-1:-1;;;;;5032:28:0;;;15049:99;;;;;;;;;;-1:-1:-1;15049:99:0;;;;;:::i;:::-;;:::i;:::-;;14212:262;;;;;;;;;;;;;:::i;6472:138::-;;;;;;;;;;-1:-1:-1;6472:138:0;;;;;:::i;:::-;;:::i;3428:148::-;;;;;;;;;;;;;:::i;11093:237::-;;;;;;;;;;-1:-1:-1;11093:237:0;;;;;:::i;:::-;;:::i;3223:79::-;;;;;;;;;;-1:-1:-1;3261:7:0;3288:6;-1:-1:-1;;;;;3288:6:0;3223:79;;14486:551;;;;;;;;;;-1:-1:-1;14486:551:0;;;;;:::i;:::-;;:::i;6618:167::-;;;;;;;;;;-1:-1:-1;6618:167:0;;;;;:::i;:::-;;:::i;10773:225::-;;;;;;;;;;-1:-1:-1;10773:225:0;;;;;:::i;:::-;;:::i;13941:263::-;;;;;;;;;;;;;:::i;15156:234::-;;;;;;;;;;-1:-1:-1;15156:234:0;;;;;:::i;:::-;;:::i;6793:143::-;;;;;;;;;;-1:-1:-1;6793:143:0;;;;;:::i;:::-;-1:-1:-1;;;;;6901:18:0;;;6874:7;6901:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;6793:143;10476:208;;;;;;;;;;-1:-1:-1;10476:208:0;;;;;:::i;:::-;;:::i;3678:160::-;;;;;;;;;;-1:-1:-1;3678:160:0;;;;;:::i;:::-;;:::i;6944:161::-;7019:4;7036:39;1784:10;7059:7;7068:6;7036:8;:39::i;:::-;-1:-1:-1;7093:4:0;6944:161;;;;;:::o;7113:313::-;7211:4;7228:36;7238:6;7246:9;7257:6;7228:9;:36::i;:::-;7275:121;7284:6;1784:10;7306:89;7344:6;7306:89;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;7306:19:0;;;;;;:11;:19;;;;;;;;1784:10;7306:33;;;;;;;;;;:37;:89::i;:::-;7275:8;:121::i;:::-;-1:-1:-1;7414:4:0;7113:313;;;;;:::o;15049:99::-;3261:7;3288:6;-1:-1:-1;;;;;3288:6:0;1784:10;5974:23;;:62;;-1:-1:-1;6001:19:0;;-1:-1:-1;;;;;6001:19:0;1784:10;6001:35;5974:62;5966:96;;;;-1:-1:-1;;;5966:96:0;;;;;;;:::i;:::-;;;;;;;;;15114:11:::1;:26:::0;;;::::1;;-1:-1:-1::0;;;15114:26:0::1;-1:-1:-1::0;;;;15114:26:0;;::::1;::::0;;;::::1;::::0;;15049:99::o;14212:262::-;14278:19;;-1:-1:-1;;;;;14278:19:0;1784:10;-1:-1:-1;;;;;14262:35:0;;:72;;;-1:-1:-1;14317:17:0;;-1:-1:-1;;;;;14317:17:0;1784:10;-1:-1:-1;;;;;14301:33:0;;14262:72;:99;;;-1:-1:-1;3261:7:0;3288:6;-1:-1:-1;;;;;3288:6:0;1784:10;14338:23;14262:99;14254:108;;;;;;14402:21;14434:32;14402:21;14434:12;:32::i;:::-;14243:231;14212:262::o;6472:138::-;-1:-1:-1;;;;;6585:16:0;;6538:7;6585:16;;;:7;:16;;;;;;6565:37;;:19;:37::i;3428:148::-;3350:6;;-1:-1:-1;;;;;3350:6:0;1784:10;3350:22;3342:58;;;;-1:-1:-1;;;3342:58:0;;;;;;;:::i;:::-;3535:1:::1;3519:6:::0;;3498:40:::1;::::0;-1:-1:-1;;;;;3519:6:0;;::::1;::::0;3498:40:::1;::::0;3535:1;;3498:40:::1;3566:1;3549:19:::0;;-1:-1:-1;;;;;;3549:19:0::1;::::0;;3428:148::o;11093:237::-;3261:7;3288:6;-1:-1:-1;;;;;3288:6:0;1784:10;5974:23;;:62;;-1:-1:-1;6001:19:0;;-1:-1:-1;;;;;6001:19:0;1784:10;6001:35;5974:62;5966:96;;;;-1:-1:-1;;;5966:96:0;;;;;;;:::i;:::-;11205:17:::1;::::0;11181:49:::1;::::0;-1:-1:-1;;;;;11181:49:0;;::::1;::::0;11205:17:::1;::::0;11181:49:::1;::::0;11205:17:::1;::::0;11181:49:::1;11242:17;:25:::0;;-1:-1:-1;;;;;11242:25:0;;::::1;-1:-1:-1::0;;;;;;11242:25:0;;::::1;::::0;::::1;::::0;;:17:::1;11278:37:::0;;;:18:::1;:37;::::0;;;;:44;;-1:-1:-1;;11278:44:0::1;11242:25:::0;11278:44:::1;::::0;;11093:237::o;14486:551::-;3261:7;3288:6;-1:-1:-1;;;;;3288:6:0;1784:10;5974:23;;:62;;-1:-1:-1;6001:19:0;;-1:-1:-1;;;;;6001:19:0;1784:10;6001:35;5974:62;5966:96;;;;-1:-1:-1;;;5966:96:0;;;;;;;:::i;:::-;14639:2:::1;14623:13;:18;14615:60;;;::::0;-1:-1:-1;;;14615:60:0;;9568:2:1;14615:60:0::1;::::0;::::1;9550:21:1::0;9607:2;9587:18;;;9580:30;9646:31;9626:18;;;9619:59;9695:18;;14615:60:0::1;9366:353:1::0;14615:60:0::1;14708:2;14691:14;:19;14683:61;;;::::0;-1:-1:-1;;;14683:61:0;;9568:2:1;14683:61:0::1;::::0;::::1;9550:21:1::0;9607:2;9587:18;;;9580:30;9646:31;9626:18;;;9619:59;9695:18;;14683:61:0::1;9366:353:1::0;14683:61:0::1;14774:1;14760:11;:15;14752:54;;;::::0;-1:-1:-1;;;14752:54:0;;8808:2:1;14752:54:0::1;::::0;::::1;8790:21:1::0;8847:2;8827:18;;;8820:30;8886:28;8866:18;;;8859:56;8932:18;;14752:54:0::1;8606:350:1::0;14752:54:0::1;14837:1;14822:12;:16;14814:55;;;::::0;-1:-1:-1;;;14814:55:0;;8808:2:1;14814:55:0::1;::::0;::::1;8790:21:1::0;8847:2;8827:18;;;8820:30;8886:28;8866:18;;;8859:56;8932:18;;14814:55:0::1;8606:350:1::0;14814:55:0::1;14880:14;:30:::0;;;;14921:15:::1;:32:::0;;;;14964:12:::1;:26:::0;15001:13:::1;:28:::0;14486:551::o;6618:167::-;6696:4;6713:42;1784:10;6737:9;6748:6;6713:9;:42::i;10773:225::-;3261:7;3288:6;-1:-1:-1;;;;;3288:6:0;1784:10;5974:23;;:62;;-1:-1:-1;6001:19:0;;-1:-1:-1;;;;;6001:19:0;1784:10;6001:35;5974:62;5966:96;;;;-1:-1:-1;;;5966:96:0;;;;;;;:::i;:::-;10871:19:::1;::::0;10853:43:::1;::::0;-1:-1:-1;;;;;10853:43:0;;::::1;::::0;10871:19:::1;::::0;10853:43:::1;::::0;10871:19:::1;::::0;10853:43:::1;10908:19;:25:::0;;-1:-1:-1;;;;;10908:25:0;;::::1;-1:-1:-1::0;;;;;;10908:25:0;;::::1;::::0;::::1;::::0;;:19:::1;10944:39:::0;;;:18:::1;:39;::::0;;;;:46;;-1:-1:-1;;10944:46:0::1;10908:25:::0;10944:46:::1;::::0;;10773:225::o;13941:263::-;14007:19;;-1:-1:-1;;;;;14007:19:0;1784:10;-1:-1:-1;;;;;13991:35:0;;:72;;;-1:-1:-1;14046:17:0;;-1:-1:-1;;;;;14046:17:0;1784:10;-1:-1:-1;;;;;14030:33:0;;13991:72;:99;;;-1:-1:-1;3261:7:0;3288:6;-1:-1:-1;;;;;3288:6:0;1784:10;14067:23;13991:99;13983:108;;;;;;14102:23;14128:24;14146:4;14128:9;:24::i;:::-;14102:50;;14163:33;14180:15;14163:16;:33::i;15156:234::-;3350:6;;-1:-1:-1;;;;;3350:6:0;1784:10;3350:22;3342:58;;;;-1:-1:-1;;;3342:58:0;;;;;;;:::i;:::-;15273:9:::1;15269:114;15288:19:::0;;::::1;15269:114;;;15363:8;15329:18;:31;15348:8;;15357:1;15348:11;;;;;;;:::i;:::-;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;15329:31:0::1;::::0;;::::1;::::0;::::1;::::0;;;;;;-1:-1:-1;15329:31:0;:42;;-1:-1:-1;;15329:42:0::1;::::0;::::1;;::::0;;;::::1;::::0;;15309:3;::::1;::::0;::::1;:::i;:::-;;;;15269:114;;;;15156:234:::0;;;:::o;10476:208::-;3261:7;3288:6;-1:-1:-1;;;;;3288:6:0;1784:10;5974:23;;:62;;-1:-1:-1;6001:19:0;;-1:-1:-1;;;;;6001:19:0;1784:10;6001:35;5974:62;5966:96;;;;-1:-1:-1;;;5966:96:0;;;;;;;:::i;:::-;10611:3:::1;-1:-1:-1::0;;;;;10585:39:0::1;10599:10;-1:-1:-1::0;;;;;10585:39:0::1;;10616:7;10585:39;;;;9870:25:1::0;;9858:2;9843:18;;9724:177;10585:39:0::1;;;;;;;;10636:40;::::0;-1:-1:-1;;;10636:40:0;;-1:-1:-1;;;;;3997:32:1;;;10636:40:0::1;::::0;::::1;3979:51:1::0;4046:18;;;4039:34;;;10636:26:0;::::1;::::0;::::1;::::0;3952:18:1;;10636:40:0::1;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;3678:160::-:0;3350:6;;-1:-1:-1;;;;;3350:6:0;1784:10;3350:22;3342:58;;;;-1:-1:-1;;;3342:58:0;;;;;;;:::i;:::-;3785:6:::1;::::0;;3764:38:::1;::::0;-1:-1:-1;;;;;3764:38:0;;::::1;::::0;3785:6;::::1;::::0;3764:38:::1;::::0;::::1;3813:6;:17:::0;;-1:-1:-1;;;;;;3813:17:0::1;-1:-1:-1::0;;;;;3813:17:0;;;::::1;::::0;;;::::1;::::0;;3678:160::o;7696:335::-;-1:-1:-1;;;;;7789:19:0;;7781:68;;;;-1:-1:-1;;;7781:68:0;;9163:2:1;7781:68:0;;;9145:21:1;9202:2;9182:18;;;9175:30;9241:34;9221:18;;;9214:62;-1:-1:-1;;;9292:18:1;;;9285:34;9336:19;;7781:68:0;8961:400:1;7781:68:0;-1:-1:-1;;;;;7868:21:0;;7860:68;;;;-1:-1:-1;;;7860:68:0;;6481:2:1;7860:68:0;;;6463:21:1;6520:2;6500:18;;;6493:30;6559:34;6539:18;;;6532:62;-1:-1:-1;;;6610:18:1;;;6603:32;6652:19;;7860:68:0;6279:398:1;7860:68:0;-1:-1:-1;;;;;7939:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;7991:32;;9870:25:1;;;7991:32:0;;9843:18:1;7991:32:0;;;;;;;7696:335;;;:::o;8039:1522::-;-1:-1:-1;;;;;8127:18:0;;8119:68;;;;-1:-1:-1;;;8119:68:0;;8402:2:1;8119:68:0;;;8384:21:1;8441:2;8421:18;;;8414:30;8480:34;8460:18;;;8453:62;-1:-1:-1;;;8531:18:1;;;8524:35;8576:19;;8119:68:0;8200:401:1;8119:68:0;-1:-1:-1;;;;;8206:16:0;;8198:64;;;;-1:-1:-1;;;8198:64:0;;5314:2:1;8198:64:0;;;5296:21:1;5353:2;5333:18;;;5326:30;5392:34;5372:18;;;5365:62;-1:-1:-1;;;5443:18:1;;;5436:33;5486:19;;8198:64:0;5112:399:1;8198:64:0;8290:1;8281:6;:10;8273:64;;;;-1:-1:-1;;;8273:64:0;;7992:2:1;8273:64:0;;;7974:21:1;8031:2;8011:18;;;8004:30;8070:34;8050:18;;;8043:62;-1:-1:-1;;;8121:18:1;;;8114:39;8170:19;;8273:64:0;7790:405:1;8273:64:0;8370:1;8358:9;:13;;;8382:7;:11;8426:7;3261;3288:6;-1:-1:-1;;;;;3288:6:0;;3223:79;8426:7;-1:-1:-1;;;;;8418:15:0;:4;-1:-1:-1;;;;;8418:15:0;;;:32;;;;-1:-1:-1;3261:7:0;3288:6;-1:-1:-1;;;;;8437:13:0;;;3288:6;;8437:13;;8418:32;8414:1097;;;8481:28;8512:24;8530:4;8512:9;:24::i;:::-;8556:6;;8481:55;;-1:-1:-1;;;;8556:6:0;;;;8555:7;:32;;;;-1:-1:-1;8574:13:0;;-1:-1:-1;;;;;8566:21:0;;;8574:13;;8566:21;;8555:32;:47;;;;-1:-1:-1;8591:11:0;;-1:-1:-1;;;8591:11:0;;;;8555:47;:75;;;;;8629:1;8606:20;:24;8555:75;8551:346;;;8651:38;8668:20;8651:16;:38::i;:::-;8737:21;8780:22;;8777:105;;8827:35;8840:21;8827:12;:35::i;:::-;8632:265;8551:346;8936:13;;-1:-1:-1;;;;;8928:21:0;;;8936:13;;8928:21;:55;;;;-1:-1:-1;8967:15:0;;-1:-1:-1;;;;;8953:30:0;;;8967:15;;8953:30;;8928:55;8925:162;;;9016:14;;9004:9;:26;9059:12;;9049:7;:22;8925:162;9117:13;;-1:-1:-1;;;;;9111:19:0;;;9117:13;;9111:19;:55;;;;-1:-1:-1;9150:15:0;;-1:-1:-1;;;;;9134:32:0;;;9150:15;;9134:32;;9111:55;9107:165;;;9199:15;;9187:9;:27;9243:13;;9233:7;:23;9107:165;-1:-1:-1;;;;;9305:24:0;;;;;;:18;:24;;;;;;;;;:50;;-1:-1:-1;;;;;;9333:22:0;;;;;;:18;:22;;;;;;;;9305:50;9304:102;;;-1:-1:-1;9369:13:0;;-1:-1:-1;;;;;9361:21:0;;;9369:13;;9361:21;;;;:44;;-1:-1:-1;9392:13:0;;-1:-1:-1;;;;;9386:19:0;;;9392:13;;9386:19;;9361:44;9300:186;;;9439:1;9427:9;:13;;;9459:7;:11;9300:186;8452:1059;8414:1097;9523:30;9538:4;9543:2;9546:6;9523:14;:30::i;:::-;8039:1522;;;:::o;2168:190::-;2254:7;2290:12;2282:6;;;;2274:29;;;;-1:-1:-1;;;2274:29:0;;;;;;;;:::i;:::-;-1:-1:-1;2314:9:0;2326:5;2330:1;2326;:5;:::i;:::-;2314:17;2168:190;-1:-1:-1;;;;;2168:190:0:o;10068:160::-;10125:19;;-1:-1:-1;;;;;10125:19:0;:43;10154:13;:6;10165:1;10154:10;:13::i;:::-;10125:43;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;10179:17:0;;-1:-1:-1;;;;;10179:17:0;:41;10206:13;:6;10217:1;10206:10;:13::i;:::-;10179:41;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10068:160;:::o;7434:254::-;7501:7;7540;;7529;:18;;7521:73;;;;-1:-1:-1;;;7521:73:0;;6070:2:1;7521:73:0;;;6052:21:1;6109:2;6089:18;;;6082:30;6148:34;6128:18;;;6121:62;-1:-1:-1;;;6199:18:1;;;6192:40;6249:19;;7521:73:0;5868:406:1;7521:73:0;7605:19;7628:10;:8;:10::i;:::-;7605:33;-1:-1:-1;7656:24:0;:7;7605:33;7656:11;:24::i;:::-;7649:31;7434:254;-1:-1:-1;;;7434:254:0:o;9569:483::-;5183:6;:13;;-1:-1:-1;;;;5183:13:0;-1:-1:-1;;;5183:13:0;;;9671:16:::1;::::0;;9685:1:::1;9671:16:::0;;;;;::::1;::::0;;-1:-1:-1;;9671:16:0::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;9671:16:0::1;9647:40;;9716:4;9698;9703:1;9698:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;9698:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;;:23;;;;9742:15:::1;::::0;:22:::1;::::0;;-1:-1:-1;;;9742:22:0;;;;:15;;;::::1;::::0;:20:::1;::::0;:22:::1;::::0;;::::1;::::0;9698:7;;9742:22;;;;;:15;:22;::::1;;::::0;::::1;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;9732:4;9737:1;9732:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;9732:32:0;;::::1;:7;::::0;;::::1;::::0;;;;;:32;9807:15:::1;::::0;9775:62:::1;::::0;9792:4:::1;::::0;9807:15:::1;9825:11:::0;9775:8:::1;:62::i;:::-;9848:15;::::0;:196:::1;::::0;-1:-1:-1;;;9848:196:0;;-1:-1:-1;;;;;9848:15:0;;::::1;::::0;:66:::1;::::0;:196:::1;::::0;9929:11;;9848:15:::1;::::0;9971:4;;9998::::1;::::0;10018:15:::1;::::0;9848:196:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;;5219:6:0;:14;;-1:-1:-1;;;;5219:14:0;;;-1:-1:-1;;;;9569:483:0:o;10240:146::-;10334:44;10352:6;10360:9;10371:6;10334:17;:44::i;2620:132::-;2678:7;2705:39;2709:1;2712;2705:39;;;;;;;;;;;;;;;;;:3;:39::i;13500:163::-;13541:7;13562:15;13579;13598:19;:17;:19::i;:::-;13561:56;;-1:-1:-1;13561:56:0;-1:-1:-1;13635:20:0;13561:56;;13635:11;:20::i;:::-;13628:27;;;;13500:163;:::o;11338:488::-;11437:15;11454:23;11479:12;11493:23;11518:12;11532:13;11549:19;11560:7;11549:10;:19::i;:::-;-1:-1:-1;;;;;11597:15:0;;;;;;:7;:15;;;;;;11436:132;;-1:-1:-1;11436:132:0;;-1:-1:-1;11436:132:0;;-1:-1:-1;11436:132:0;-1:-1:-1;11436:132:0;-1:-1:-1;11436:132:0;-1:-1:-1;11597:28:0;;11436:132;11597:19;:28::i;:::-;-1:-1:-1;;;;;11579:15:0;;;;;;;:7;:15;;;;;;:46;;;;11657:18;;;;;;;:39;;11680:15;11657:22;:39::i;:::-;-1:-1:-1;;;;;11636:18:0;;;;;;:7;:18;;;;;:60;11708:16;11718:5;11708:9;:16::i;:::-;11735:23;11747:4;11753;11735:11;:23::i;:::-;11791:9;-1:-1:-1;;;;;11774:44:0;11783:6;-1:-1:-1;;;;;11774:44:0;;11802:15;11774:44;;;;9870:25:1;;9858:2;9843:18;;9724:177;11774:44:0;;;;;;;;11425:401;;;;;;11338:488;;;:::o;2760:189::-;2846:7;2881:12;2874:5;2866:28;;;;-1:-1:-1;;;2866:28:0;;;;;;;;:::i;:::-;-1:-1:-1;2905:9:0;2917:5;2921:1;2917;:5;:::i;13671:262::-;13768:7;;13721;;;;4265:20;13842;13768:7;4265:20;13842:11;:20::i;:::-;13832:7;:30;13828:61;;;-1:-1:-1;;13872:7:0;;;4265:20;;-1:-1:-1;13671:262:0;-1:-1:-1;13671:262:0:o;13828:61::-;13908:7;;13917;;-1:-1:-1;13671:262:0;-1:-1:-1;13671:262:0:o;12250:469::-;12309:7;12318;12327;12336;12345;12354;12375:23;12400:12;12414:13;12431:40;12443:7;12452:9;;12463:7;;12431:11;:40::i;:::-;12374:97;;;;;;12482:19;12505:10;:8;:10::i;:::-;12482:33;;12527:15;12544:23;12569:12;12585:46;12597:7;12606:4;12612:5;12619:11;12585;:46::i;:::-;12526:105;;-1:-1:-1;12526:105:0;-1:-1:-1;12526:105:0;-1:-1:-1;12682:15:0;;-1:-1:-1;12699:4:0;;-1:-1:-1;12705:5:0;;-1:-1:-1;;;;;12250:469:0;;;;;;;:::o;2024:136::-;2082:7;2109:43;2113:1;2116;2109:43;;;;;;;;;;;;;;;;;:3;:43::i;1837:179::-;1895:7;;1927:5;1931:1;1927;:5;:::i;:::-;1915:17;;1956:1;1951;:6;;1943:46;;;;-1:-1:-1;;;1943:46:0;;6884:2:1;1943:46:0;;;6866:21:1;6923:2;6903:18;;;6896:30;6962:29;6942:18;;;6935:57;7009:18;;1943:46:0;6682:351:1;11834:212:0;11887:19;11910:10;:8;:10::i;:::-;11887:33;-1:-1:-1;11931:13:0;11947:22;:5;11887:33;11947:9;:22::i;:::-;12021:4;12005:22;;;;:7;:22;;;;;;11931:38;;-1:-1:-1;12005:33:0;;11931:38;12005:26;:33::i;:::-;11996:4;11980:22;;;;:7;:22;;;;;:58;-1:-1:-1;;;11834:212:0:o;12054:147::-;12132:7;;:17;;12144:4;12132:11;:17::i;:::-;12122:7;:27;12173:10;;:20;;12188:4;12173:14;:20::i;:::-;12160:10;:33;-1:-1:-1;;12054:147:0:o;12727:351::-;12820:7;;;;12873:28;12897:3;12873:19;:7;12885:6;12873:11;:19::i;:::-;:23;;:28::i;:::-;12858:43;-1:-1:-1;12912:13:0;12928:29;12953:3;12928:20;:7;12940;12928:11;:20::i;:29::-;12912:45;-1:-1:-1;12968:23:0;12994:28;12912:45;12994:17;:7;13006:4;12994:11;:17::i;:::-;:21;;:28::i;:::-;12968:54;13058:4;;-1:-1:-1;13064:5:0;;-1:-1:-1;12727:351:0;;-1:-1:-1;;;;;12727:351:0:o;13086:409::-;13196:7;;;;13252:24;:7;13264:11;13252;:24::i;:::-;13234:42;-1:-1:-1;13287:12:0;13302:21;:4;13311:11;13302:8;:21::i;:::-;13287:36;-1:-1:-1;13334:13:0;13350:22;:5;13360:11;13350:9;:22::i;:::-;13334:38;-1:-1:-1;13383:23:0;13409:28;13334:38;13409:17;:7;13421:4;13409:11;:17::i;:28::-;13456:7;;;;-1:-1:-1;13482:4:0;;-1:-1:-1;13086:409:0;;-1:-1:-1;;;;;;;13086:409:0:o;2366:246::-;2424:7;2448:6;2444:47;;-1:-1:-1;2478:1:0;2471:8;;2444:47;2501:9;2513:5;2517:1;2513;:5;:::i;:::-;2501:17;-1:-1:-1;2546:1:0;2537:5;2541:1;2501:17;2537:5;:::i;:::-;:10;2529:56;;;;-1:-1:-1;;;2529:56:0;;7240:2:1;2529:56:0;;;7222:21:1;7279:2;7259:18;;;7252:30;7318:34;7298:18;;;7291:62;-1:-1:-1;;;7369:18:1;;;7362:31;7410:19;;2529:56:0;7038:397:1;14:247;73:6;126:2;114:9;105:7;101:23;97:32;94:52;;;142:1;139;132:12;94:52;181:9;168:23;200:31;225:5;200:31;:::i;266:251::-;336:6;389:2;377:9;368:7;364:23;360:32;357:52;;;405:1;402;395:12;357:52;437:9;431:16;456:31;481:5;456:31;:::i;782:388::-;850:6;858;911:2;899:9;890:7;886:23;882:32;879:52;;;927:1;924;917:12;879:52;966:9;953:23;985:31;1010:5;985:31;:::i;:::-;1035:5;-1:-1:-1;1092:2:1;1077:18;;1064:32;1105:33;1064:32;1105:33;:::i;:::-;1157:7;1147:17;;;782:388;;;;;:::o;1175:456::-;1252:6;1260;1268;1321:2;1309:9;1300:7;1296:23;1292:32;1289:52;;;1337:1;1334;1327:12;1289:52;1376:9;1363:23;1395:31;1420:5;1395:31;:::i;:::-;1445:5;-1:-1:-1;1502:2:1;1487:18;;1474:32;1515:33;1474:32;1515:33;:::i;:::-;1175:456;;1567:7;;-1:-1:-1;;;1621:2:1;1606:18;;;;1593:32;;1175:456::o;1636:315::-;1704:6;1712;1765:2;1753:9;1744:7;1740:23;1736:32;1733:52;;;1781:1;1778;1771:12;1733:52;1820:9;1807:23;1839:31;1864:5;1839:31;:::i;:::-;1889:5;1941:2;1926:18;;;;1913:32;;-1:-1:-1;;;1636:315:1:o;1956:750::-;2048:6;2056;2064;2117:2;2105:9;2096:7;2092:23;2088:32;2085:52;;;2133:1;2130;2123:12;2085:52;2173:9;2160:23;2202:18;2243:2;2235:6;2232:14;2229:34;;;2259:1;2256;2249:12;2229:34;2297:6;2286:9;2282:22;2272:32;;2342:7;2335:4;2331:2;2327:13;2323:27;2313:55;;2364:1;2361;2354:12;2313:55;2404:2;2391:16;2430:2;2422:6;2419:14;2416:34;;;2446:1;2443;2436:12;2416:34;2501:7;2494:4;2484:6;2481:1;2477:14;2473:2;2469:23;2465:34;2462:47;2459:67;;;2522:1;2519;2512:12;2459:67;2553:4;2545:13;;;;-1:-1:-1;2577:6:1;-1:-1:-1;;2618:20:1;;2605:34;2648:28;2605:34;2648:28;:::i;:::-;2695:5;2685:15;;;1956:750;;;;;:::o;2711:241::-;2767:6;2820:2;2808:9;2799:7;2795:23;2791:32;2788:52;;;2836:1;2833;2826:12;2788:52;2875:9;2862:23;2894:28;2916:5;2894:28;:::i;2957:245::-;3024:6;3077:2;3065:9;3056:7;3052:23;3048:32;3045:52;;;3093:1;3090;3083:12;3045:52;3125:9;3119:16;3144:28;3166:5;3144:28;:::i;3207:385::-;3293:6;3301;3309;3317;3370:3;3358:9;3349:7;3345:23;3341:33;3338:53;;;3387:1;3384;3377:12;3338:53;-1:-1:-1;;3410:23:1;;;3480:2;3465:18;;3452:32;;-1:-1:-1;3531:2:1;3516:18;;3503:32;;3582:2;3567:18;3554:32;;-1:-1:-1;3207:385:1;-1:-1:-1;3207:385:1:o;4510:597::-;4622:4;4651:2;4680;4669:9;4662:21;4712:6;4706:13;4755:6;4750:2;4739:9;4735:18;4728:34;4780:1;4790:140;4804:6;4801:1;4798:13;4790:140;;;4899:14;;;4895:23;;4889:30;4865:17;;;4884:2;4861:26;4854:66;4819:10;;4790:140;;;4948:6;4945:1;4942:13;4939:91;;;5018:1;5013:2;5004:6;4993:9;4989:22;4985:31;4978:42;4939:91;-1:-1:-1;5091:2:1;5070:15;-1:-1:-1;;5066:29:1;5051:45;;;;5098:2;5047:54;;4510:597;-1:-1:-1;;;4510:597:1:o;5516:347::-;5718:2;5700:21;;;5757:2;5737:18;;;5730:30;5796:25;5791:2;5776:18;;5769:53;5854:2;5839:18;;5516:347::o;7440:345::-;7642:2;7624:21;;;7681:2;7661:18;;;7654:30;-1:-1:-1;;;7715:2:1;7700:18;;7693:51;7776:2;7761:18;;7440:345::o;9906:980::-;10168:4;10216:3;10205:9;10201:19;10247:6;10236:9;10229:25;10273:2;10311:6;10306:2;10295:9;10291:18;10284:34;10354:3;10349:2;10338:9;10334:18;10327:31;10378:6;10413;10407:13;10444:6;10436;10429:22;10482:3;10471:9;10467:19;10460:26;;10521:2;10513:6;10509:15;10495:29;;10542:1;10552:195;10566:6;10563:1;10560:13;10552:195;;;10631:13;;-1:-1:-1;;;;;10627:39:1;10615:52;;10722:15;;;;10687:12;;;;10663:1;10581:9;10552:195;;;-1:-1:-1;;;;;;;10803:32:1;;;;10798:2;10783:18;;10776:60;-1:-1:-1;;;10867:3:1;10852:19;10845:35;10764:3;9906:980;-1:-1:-1;;;9906:980:1:o;11080:128::-;11120:3;11151:1;11147:6;11144:1;11141:13;11138:39;;;11157:18;;:::i;:::-;-1:-1:-1;11193:9:1;;11080:128::o;11213:217::-;11253:1;11279;11269:132;;11323:10;11318:3;11314:20;11311:1;11304:31;11358:4;11355:1;11348:15;11386:4;11383:1;11376:15;11269:132;-1:-1:-1;11415:9:1;;11213:217::o;11435:168::-;11475:7;11541:1;11537;11533:6;11529:14;11526:1;11523:21;11518:1;11511:9;11504:17;11500:45;11497:71;;;11548:18;;:::i;:::-;-1:-1:-1;11588:9:1;;11435:168::o;11608:125::-;11648:4;11676:1;11673;11670:8;11667:34;;;11681:18;;:::i;:::-;-1:-1:-1;11718:9:1;;11608:125::o;11738:135::-;11777:3;-1:-1:-1;;11798:17:1;;11795:43;;;11818:18;;:::i;:::-;-1:-1:-1;11865:1:1;11854:13;;11738:135::o;11878:127::-;11939:10;11934:3;11930:20;11927:1;11920:31;11970:4;11967:1;11960:15;11994:4;11991:1;11984:15;12010:127;12071:10;12066:3;12062:20;12059:1;12052:31;12102:4;12099:1;12092:15;12126:4;12123:1;12116:15;12274:131;-1:-1:-1;;;;;12349:31:1;;12339:42;;12329:70;;12395:1;12392;12385:12;12410:118;12496:5;12489:13;12482:21;12475:5;12472:32;12462:60;;12518:1;12515;12508:12
Swarm Source
ipfs://8be9290d25714acab72019ab881868ed784eedbfc01363c0748a40a65ecf65ee
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.