ERC-20
Overview
Max Total Supply
420,000,000,000 STAN
Holders
40
Market
Onchain Market Cap
$0.00
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 18 Decimals)
Balance
0.627709997079488284 STANValue
$0.00Loading...
Loading
Loading...
Loading
Loading...
Loading
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|
Contract Name:
STAN
Compiler Version
v0.8.20+commit.a1b79de6
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2023-11-11 */ // SPDX-License-Identifier: UNLISCENCED // https://twitter.com/staneth_ // https://t.me/stanportaleth // https://stan.baby pragma solidity 0.8.20; abstract contract Context { function _msgSender() internal view virtual returns (address) { return msg.sender; } function _msgData() internal view virtual returns (bytes calldata) { this; return msg.data; } } interface IERC20 { function totalSupply() external view returns (uint256); function balanceOf(address account) external view returns (uint256); function transfer(address recipient, uint256 amount) external returns (bool); function allowance(address owner, address spender) external view returns (uint256); function approve(address spender, uint256 amount) external returns (bool); function transferFrom( address sender, address recipient, uint256 amount ) external returns (bool); event Transfer(address indexed from, address indexed to, uint256 value); event Approval(address indexed owner, address indexed spender, uint256 value); } interface IERC20Metadata is IERC20 { function name() external view returns (string memory); function symbol() external view returns (string memory); function decimals() external view returns (uint8); } contract ERC20 is Context, IERC20, IERC20Metadata { mapping (address => uint256) internal _balances; mapping (address => mapping (address => uint256)) internal _allowances; uint256 private _totalSupply; string private _name; string private _symbol; constructor (string memory name_, string memory symbol_) { _name = name_; _symbol = symbol_; } function name() public view virtual override returns (string memory) { return _name; } function symbol() public view virtual override returns (string memory) { return _symbol; } function decimals() public view virtual override returns (uint8) { return 18; } function totalSupply() public view virtual override returns (uint256) { return _totalSupply; } function balanceOf(address account) public view virtual override returns (uint256) { return _balances[account]; } function transfer(address recipient, uint256 amount) public virtual override returns (bool) { _transfer(_msgSender(), recipient, amount); return true; } function allowance(address owner, address spender) public view virtual override returns (uint256) { return _allowances[owner][spender]; } function approve(address spender, uint256 amount) public virtual override returns (bool) { _approve(_msgSender(), spender, amount); return true; } function transferFrom(address sender, address recipient, uint256 amount) public virtual override returns (bool) { _transfer(sender, recipient, amount); uint256 currentAllowance = _allowances[sender][_msgSender()]; require(currentAllowance >= amount, "ERC20: transfer amount exceeds allowance"); _approve(sender, _msgSender(), currentAllowance - amount); return true; } function increaseAllowance(address spender, uint256 addedValue) public virtual returns (bool) { _approve(_msgSender(), spender, _allowances[_msgSender()][spender] + addedValue); return true; } function decreaseAllowance(address spender, uint256 subtractedValue) public virtual returns (bool) { uint256 currentAllowance = _allowances[_msgSender()][spender]; require(currentAllowance >= subtractedValue, "ERC20: decreased allowance below zero"); _approve(_msgSender(), spender, currentAllowance - subtractedValue); return true; } function _transfer(address sender, address recipient, uint256 amount) internal virtual { require(sender != address(0), "ERC20: transfer from the zero address"); require(recipient != address(0), "ERC20: transfer to the zero address"); _beforeTokenTransfer(sender, recipient, amount); uint256 senderBalance = _balances[sender]; require(senderBalance >= amount, "ERC20: transfer amount exceeds balance"); _balances[sender] = senderBalance - amount; _balances[recipient] += amount; emit Transfer(sender, recipient, amount); } function _mint(address account, uint256 amount) internal virtual { require(account != address(0), "ERC20: mint to the zero address"); _beforeTokenTransfer(address(0), account, amount); _totalSupply += amount; _balances[account] += amount; emit Transfer(address(0), account, amount); } function _burn(address account, uint256 amount) internal virtual { require(account != address(0), "ERC20: burn from the zero address"); _beforeTokenTransfer(account, address(0), amount); uint256 accountBalance = _balances[account]; require(accountBalance >= amount, "ERC20: burn amount exceeds balance"); _balances[account] = accountBalance - amount; _totalSupply -= amount; emit Transfer(account, address(0), amount); } function _approve(address owner, address spender, uint256 amount) internal virtual { require(owner != address(0), "ERC20: approve from the zero address"); require(spender != address(0), "ERC20: approve to the zero address"); _allowances[owner][spender] = amount; emit Approval(owner, spender, amount); } function _beforeTokenTransfer(address from, address to, uint256 amount) internal virtual { } } library Address{ function sendValue(address payable recipient, uint256 amount) internal { require(address(this).balance >= amount, "Address: insufficient balance"); (bool success, ) = recipient.call{value: amount}(""); require(success, "Address: unable to send value, recipient may have reverted"); } } abstract contract Ownable is Context { address private _owner; event OwnershipTransferred(address indexed previousOwner, address indexed newOwner); constructor() { _setOwner(_msgSender()); } function owner() public view virtual returns (address) { return _owner; } modifier onlyOwner() { require(owner() == _msgSender(), "Ownable: caller is not the owner"); _; } function renounceOwnership() public virtual onlyOwner { _setOwner(address(0)); } function transferOwnership(address newOwner) public virtual onlyOwner { require(newOwner != address(0), "Ownable: new owner is the zero address"); _setOwner(newOwner); } function _setOwner(address newOwner) private { address oldOwner = _owner; _owner = newOwner; emit OwnershipTransferred(oldOwner, newOwner); } } interface IFactory{ function createPair(address tokenA, address tokenB) external returns (address pair); } interface IRouter { function factory() external pure returns (address); function WETH() external pure returns (address); function swapExactTokensForETHSupportingFeeOnTransferTokens( uint amountIn, uint amountOutMin, address[] calldata path, address to, uint deadline) external; } contract STAN is ERC20, Ownable{ using Address for address payable; IRouter public router; address public pair; bool private swapping; bool public swapEnabled; bool public tradingEnabled; uint256 public genesis_block; uint256 public deadblocks = 0; uint256 public swapThreshold; uint256 public maxTxAmount; uint256 public maxWalletAmount; address public marketingWallet = 0xDd8896B8a306172999d4D9c7e72C148a945EDbd6; uint256 public buyTax = 40; uint256 public sellTax = 40; mapping (address => bool) public excludedFromFees; mapping (address => bool) private isBot; modifier inSwap() { if (!swapping) { swapping = true; _; swapping = false; } } constructor() ERC20("MarvelUniverseStarsStripesStanHappy", "STAN") { _mint(msg.sender, 420e9 * 10 ** decimals()); IRouter _router = IRouter(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D); address _pair = IFactory(_router.factory()) .createPair(address(this), _router.WETH()); router = _router; pair = _pair; excludedFromFees[address(this)] = true; excludedFromFees[marketingWallet] = true; excludedFromFees[msg.sender] = true; excludedFromFees[address(0xdead)] = true; swapThreshold = totalSupply() * 1 / 10000; maxTxAmount = totalSupply() * 1 / 100; maxWalletAmount = totalSupply() * 2 / 100; } function _transfer(address sender, address recipient, uint256 amount) internal override { require(amount > 0, "Transfer amount must be greater than zero"); require(!isBot[sender] && !isBot[recipient], "You can't transfer tokens"); if(!excludedFromFees[sender] && !excludedFromFees[recipient] && !swapping){ require(tradingEnabled, "Trading not active yet"); if(genesis_block + deadblocks > block.number){ if(recipient != pair) isBot[recipient] = true; if(sender != pair) isBot[sender] = true; } require(amount <= maxTxAmount, "You are exceeding maxTxAmount"); if(recipient != pair){ require(balanceOf(recipient) + amount <= maxWalletAmount, "You are exceeding maxWalletAmount"); } } uint256 fee; if (swapping || excludedFromFees[sender] || excludedFromFees[recipient]) fee = 0; else{ if(recipient == pair) fee = amount * sellTax / 100; else fee = amount * buyTax / 100; } if (swapEnabled && !swapping && sender != pair && fee > 0) swapForFees(); super._transfer(sender, recipient, amount - fee); if(fee > 0) super._transfer(sender, address(this) ,fee); } function swapForFees() private inSwap { uint256 contractBalance = balanceOf(address(this)); if (contractBalance >= swapThreshold) { uint256 toSwap = contractBalance; swapTokensForETH(toSwap); uint256 marketingAmt = address(this).balance; if(marketingAmt > 0){ payable(marketingWallet).sendValue(marketingAmt); } } } function swapTokensForETH(uint256 tokenAmount) private { address[] memory path = new address[](2); path[0] = address(this); path[1] = router.WETH(); _approve(address(this), address(router), tokenAmount); // make the swap router.swapExactTokensForETHSupportingFeeOnTransferTokens(tokenAmount, 0, path, address(this), block.timestamp); } function setSwapEnabled(bool state) external onlyOwner { swapEnabled = state; } function setSwapThreshold(uint256 new_amount) external onlyOwner { swapThreshold = new_amount; } function enableTrading(uint256 numOfDeadBlocks) external onlyOwner{ require(!tradingEnabled, "Trading already active"); tradingEnabled = true; swapEnabled = true; genesis_block = block.number; deadblocks = numOfDeadBlocks; } function setBuyTaxes(uint256 _marketing) external onlyOwner{ buyTax = _marketing; } function setSellTaxes(uint256 _marketing) external onlyOwner{ sellTax = _marketing; } function updateMarketingWallet(address newWallet) external onlyOwner{ marketingWallet = newWallet; } function updateRouterAndPair(IRouter _router, address _pair) external onlyOwner{ router = _router; pair = _pair; } function addBots(address[] memory isBot_) public onlyOwner { for (uint i = 0; i < isBot_.length; i++) { isBot[isBot_[i]] = true; } } function updateExcludedFromFees(address _address, bool state) external onlyOwner { excludedFromFees[_address] = state; } function updateMaxTxAmount(uint256 _percen) external onlyOwner{ maxTxAmount = totalSupply() * _percen / 100; } function updateMaxWalletAmount(uint256 _percen) external onlyOwner{ maxWalletAmount = totalSupply() * _percen / 100; } function removeLimit() external onlyOwner { maxTxAmount = totalSupply(); maxWalletAmount = totalSupply(); } function rescueERC20(address tokenAddress, uint256 amount) external onlyOwner{ IERC20(tokenAddress).transfer(owner(), amount); } function rescueETH(uint256 weiAmount) external onlyOwner{ payable(owner()).sendValue(weiAmount); } function manualSwap(uint256 amount, uint256 marketingPercentage) external onlyOwner{ uint256 initBalance = address(this).balance; swapTokensForETH(amount); uint256 newBalance = address(this).balance - initBalance; if(marketingPercentage > 0) payable(marketingWallet).sendValue(newBalance * marketingPercentage / ( marketingPercentage)); } // fallbacks receive() external payable {} }
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"},{"inputs":[{"internalType":"address[]","name":"isBot_","type":"address[]"}],"name":"addBots","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"buyTax","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"deadblocks","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"subtractedValue","type":"uint256"}],"name":"decreaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"numOfDeadBlocks","type":"uint256"}],"name":"enableTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"excludedFromFees","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"genesis_block","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"addedValue","type":"uint256"}],"name":"increaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"uint256","name":"marketingPercentage","type":"uint256"}],"name":"manualSwap","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"marketingWallet","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxTxAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxWalletAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"removeLimit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"tokenAddress","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"rescueERC20","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"weiAmount","type":"uint256"}],"name":"rescueETH","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"router","outputs":[{"internalType":"contract IRouter","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"sellTax","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_marketing","type":"uint256"}],"name":"setBuyTaxes","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_marketing","type":"uint256"}],"name":"setSellTaxes","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"state","type":"bool"}],"name":"setSwapEnabled","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"new_amount","type":"uint256"}],"name":"setSwapThreshold","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"swapEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"swapThreshold","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"tradingEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"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":[{"internalType":"address","name":"_address","type":"address"},{"internalType":"bool","name":"state","type":"bool"}],"name":"updateExcludedFromFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newWallet","type":"address"}],"name":"updateMarketingWallet","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_percen","type":"uint256"}],"name":"updateMaxTxAmount","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_percen","type":"uint256"}],"name":"updateMaxWalletAmount","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"contract IRouter","name":"_router","type":"address"},{"internalType":"address","name":"_pair","type":"address"}],"name":"updateRouterAndPair","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]
Contract Creation Code
60806040525f600955600d80546001600160a01b03191673dd8896b8a306172999d4d9c7e72c148a945edbd61790556028600e819055600f5534801562000044575f80fd5b50604051806060016040528060238152602001620026726023913960408051808201909152600481526329aa20a760e11b602082015260036200008883826200053c565b5060046200009782826200053c565b505050620000b4620000ae6200035e60201b60201c565b62000362565b620000de33620000c76012600a62000713565b620000d8906461c9f368006200072a565b620003b3565b5f737a250d5630b4cf539739df2c5dacb4c659f2488d90505f816001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000134573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906200015a919062000744565b6001600160a01b031663c9c6539630846001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015620001a6573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190620001cc919062000744565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303815f875af115801562000217573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906200023d919062000744565b600680546001600160a01b038086166001600160a01b031992831617909255600780548385169216919091179055305f90815260106020526040808220805460ff199081166001908117909255600d5490941683528183208054851682179055338352908220805484168217905561dead9091527f9e93e1db4a1f807cc22b2aecf4deeb0bf5745f1ecb319e87c68c5624c0fa6b6980549092161790559050612710620002e960025490565b620002f69060016200072a565b6200030291906200076c565b600a5560646200031160025490565b6200031e9060016200072a565b6200032a91906200076c565b600b5560646200033960025490565b620003469060026200072a565b6200035291906200076c565b600c5550620007a29050565b3390565b600580546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0905f90a35050565b6001600160a01b0382166200040e5760405162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f206164647265737300604482015260640160405180910390fd5b8060025f8282546200042191906200078c565b90915550506001600160a01b0382165f90815260208190526040812080548392906200044f9084906200078c565b90915550506040518181526001600160a01b038316905f907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a35050565b505050565b634e487b7160e01b5f52604160045260245ffd5b600181811c90821680620004c657607f821691505b602082108103620004e557634e487b7160e01b5f52602260045260245ffd5b50919050565b601f82111562000498575f81815260208120601f850160051c81016020861015620005135750805b601f850160051c820191505b8181101562000534578281556001016200051f565b505050505050565b81516001600160401b038111156200055857620005586200049d565b6200057081620005698454620004b1565b84620004eb565b602080601f831160018114620005a6575f84156200058e5750858301515b5f19600386901b1c1916600185901b17855562000534565b5f85815260208120601f198616915b82811015620005d657888601518255948401946001909101908401620005b5565b5085821015620005f457878501515f19600388901b60f8161c191681555b5050505050600190811b01905550565b634e487b7160e01b5f52601160045260245ffd5b600181815b808511156200065857815f19048211156200063c576200063c62000604565b808516156200064a57918102915b93841c93908002906200061d565b509250929050565b5f8262000670575060016200070d565b816200067e57505f6200070d565b8160018114620006975760028114620006a257620006c2565b60019150506200070d565b60ff841115620006b657620006b662000604565b50506001821b6200070d565b5060208310610133831016604e8410600b8410161715620006e7575081810a6200070d565b620006f3838362000618565b805f190482111562000709576200070962000604565b0290505b92915050565b5f6200072360ff84168362000660565b9392505050565b80820281158282048414176200070d576200070d62000604565b5f6020828403121562000755575f80fd5b81516001600160a01b038116811462000723575f80fd5b5f826200078757634e487b7160e01b5f52601260045260245ffd5b500490565b808201808211156200070d576200070d62000604565b611ec280620007b05f395ff3fe60806040526004361061024c575f3560e01c80638c0b5e2211610134578063aa4bde28116100b3578063dbe66ca011610078578063dbe66ca014610691578063dd62ed3e146106bf578063e01af92c14610703578063e545fd6d14610722578063f2fde38b14610741578063f887ea4014610760575f80fd5b8063aa4bde281461060a578063aacebbe31461061f578063c18bc1951461063e578063cc1776d31461065d578063d34628cc14610672575f80fd5b80639e252f00116100f95780639e252f001461056f578063a3ca847d1461058e578063a457c2d7146105ad578063a8aa1b31146105cc578063a9059cbb146105eb575f80fd5b80638c0b5e22146104eb5780638cd4426d146105005780638da5cb5b1461051f57806395d89b411461053c5780639d0014b114610550575f80fd5b80634ada218b116101cb5780636256d181116101905780636256d1811461040e5780636ddd17131461042d57806370a082311461044d578063715018a61461048157806375f0a8741461049557806382aa7c68146104cc575f80fd5b80634ada218b146103915780634f7041a5146103b157806350c9a88f146103c657806356faae96146103db57806362256589146103fa575f80fd5b806323b872dd1161021157806323b872dd14610304578063274a533c14610323578063313ce56714610338578063395093511461035357806340b28c2f14610372575f80fd5b80630445b6671461025757806306fdde031461027f5780630940bbc7146102a0578063095ea7b3146102c157806318160ddd146102f0575f80fd5b3661025357005b5f80fd5b348015610262575f80fd5b5061026c600a5481565b6040519081526020015b60405180910390f35b34801561028a575f80fd5b5061029361077f565b6040516102769190611a4f565b3480156102ab575f80fd5b506102bf6102ba366004611a9a565b61080f565b005b3480156102cc575f80fd5b506102e06102db366004611ad5565b610847565b6040519015158152602001610276565b3480156102fb575f80fd5b5060025461026c565b34801561030f575f80fd5b506102e061031e366004611aff565b61085d565b34801561032e575f80fd5b5061026c60085481565b348015610343575f80fd5b5060405160128152602001610276565b34801561035e575f80fd5b506102e061036d366004611ad5565b61090c565b34801561037d575f80fd5b506102bf61038c366004611b3d565b610942565b34801561039c575f80fd5b506007546102e090600160b01b900460ff1681565b3480156103bc575f80fd5b5061026c600e5481565b3480156103d1575f80fd5b5061026c60095481565b3480156103e6575f80fd5b506102bf6103f5366004611b74565b61099a565b348015610405575f80fd5b506102bf610a11565b348015610419575f80fd5b506102bf610428366004611a9a565b610a49565b348015610438575f80fd5b506007546102e090600160a81b900460ff1681565b348015610458575f80fd5b5061026c610467366004611b94565b6001600160a01b03165f9081526020819052604090205490565b34801561048c575f80fd5b506102bf610a99565b3480156104a0575f80fd5b50600d546104b4906001600160a01b031681565b6040516001600160a01b039091168152602001610276565b3480156104d7575f80fd5b506102bf6104e6366004611a9a565b610ace565b3480156104f6575f80fd5b5061026c600b5481565b34801561050b575f80fd5b506102bf61051a366004611ad5565b610b69565b34801561052a575f80fd5b506005546001600160a01b03166104b4565b348015610547575f80fd5b50610293610c27565b34801561055b575f80fd5b506102bf61056a366004611a9a565b610c36565b34801561057a575f80fd5b506102bf610589366004611a9a565b610c65565b348015610599575f80fd5b506102bf6105a8366004611a9a565b610cb7565b3480156105b8575f80fd5b506102e06105c7366004611ad5565b610ce6565b3480156105d7575f80fd5b506007546104b4906001600160a01b031681565b3480156105f6575f80fd5b506102e0610605366004611ad5565b610d80565b348015610615575f80fd5b5061026c600c5481565b34801561062a575f80fd5b506102bf610639366004611b94565b610d8c565b348015610649575f80fd5b506102bf610658366004611a9a565b610dd8565b348015610668575f80fd5b5061026c600f5481565b34801561067d575f80fd5b506102bf61068c366004611bca565b610e28565b34801561069c575f80fd5b506102e06106ab366004611b94565b60106020525f908152604090205460ff1681565b3480156106ca575f80fd5b5061026c6106d9366004611b3d565b6001600160a01b039182165f90815260016020908152604080832093909416825291909152205490565b34801561070e575f80fd5b506102bf61071d366004611c97565b610ebb565b34801561072d575f80fd5b506102bf61073c366004611cb2565b610f03565b34801561074c575f80fd5b506102bf61075b366004611b94565b610f57565b34801561076b575f80fd5b506006546104b4906001600160a01b031681565b60606003805461078e90611cde565b80601f01602080910402602001604051908101604052809291908181526020018280546107ba90611cde565b80156108055780601f106107dc57610100808354040283529160200191610805565b820191905f5260205f20905b8154815290600101906020018083116107e857829003601f168201915b5050505050905090565b6005546001600160a01b031633146108425760405162461bcd60e51b815260040161083990611d16565b60405180910390fd5b600f55565b5f610853338484610fef565b5060015b92915050565b5f610869848484611112565b6001600160a01b0384165f908152600160209081526040808320338452909152902054828110156108ed5760405162461bcd60e51b815260206004820152602860248201527f45524332303a207472616e7366657220616d6f756e74206578636565647320616044820152676c6c6f77616e636560c01b6064820152608401610839565b61090185336108fc8685611d5f565b610fef565b506001949350505050565b335f8181526001602090815260408083206001600160a01b038716845290915281205490916108539185906108fc908690611d72565b6005546001600160a01b0316331461096c5760405162461bcd60e51b815260040161083990611d16565b600680546001600160a01b039384166001600160a01b03199182161790915560078054929093169116179055565b6005546001600160a01b031633146109c45760405162461bcd60e51b815260040161083990611d16565b476109ce8361154b565b5f6109d98247611d5f565b90508215610a0b57610a0b836109ef8184611d85565b6109f99190611d9c565b600d546001600160a01b03169061169b565b50505050565b6005546001600160a01b03163314610a3b5760405162461bcd60e51b815260040161083990611d16565b600254600b55600254600c55565b6005546001600160a01b03163314610a735760405162461bcd60e51b815260040161083990611d16565b606481610a7f60025490565b610a899190611d85565b610a939190611d9c565b600b5550565b6005546001600160a01b03163314610ac35760405162461bcd60e51b815260040161083990611d16565b610acc5f6117b0565b565b6005546001600160a01b03163314610af85760405162461bcd60e51b815260040161083990611d16565b600754600160b01b900460ff1615610b4b5760405162461bcd60e51b815260206004820152601660248201527554726164696e6720616c72656164792061637469766560501b6044820152606401610839565b6007805461ffff60a81b191661010160a81b17905543600855600955565b6005546001600160a01b03163314610b935760405162461bcd60e51b815260040161083990611d16565b816001600160a01b031663a9059cbb610bb46005546001600160a01b031690565b6040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602481018490526044016020604051808303815f875af1158015610bfe573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610c229190611dbb565b505050565b60606004805461078e90611cde565b6005546001600160a01b03163314610c605760405162461bcd60e51b815260040161083990611d16565b600a55565b6005546001600160a01b03163314610c8f5760405162461bcd60e51b815260040161083990611d16565b610cb481610ca56005546001600160a01b031690565b6001600160a01b03169061169b565b50565b6005546001600160a01b03163314610ce15760405162461bcd60e51b815260040161083990611d16565b600e55565b335f9081526001602090815260408083206001600160a01b038616845290915281205482811015610d675760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b6064820152608401610839565b610d7633856108fc8685611d5f565b5060019392505050565b5f610853338484611112565b6005546001600160a01b03163314610db65760405162461bcd60e51b815260040161083990611d16565b600d80546001600160a01b0319166001600160a01b0392909216919091179055565b6005546001600160a01b03163314610e025760405162461bcd60e51b815260040161083990611d16565b606481610e0e60025490565b610e189190611d85565b610e229190611d9c565b600c5550565b6005546001600160a01b03163314610e525760405162461bcd60e51b815260040161083990611d16565b5f5b8151811015610eb757600160115f848481518110610e7457610e74611dd6565b6020908102919091018101516001600160a01b031682528101919091526040015f20805460ff191691151591909117905580610eaf81611dea565b915050610e54565b5050565b6005546001600160a01b03163314610ee55760405162461bcd60e51b815260040161083990611d16565b60078054911515600160a81b0260ff60a81b19909216919091179055565b6005546001600160a01b03163314610f2d5760405162461bcd60e51b815260040161083990611d16565b6001600160a01b03919091165f908152601060205260409020805460ff1916911515919091179055565b6005546001600160a01b03163314610f815760405162461bcd60e51b815260040161083990611d16565b6001600160a01b038116610fe65760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610839565b610cb4816117b0565b6001600160a01b0383166110515760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610839565b6001600160a01b0382166110b25760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610839565b6001600160a01b038381165f8181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b5f81116111735760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b6064820152608401610839565b6001600160a01b0383165f9081526011602052604090205460ff161580156111b357506001600160a01b0382165f9081526011602052604090205460ff16155b6111ff5760405162461bcd60e51b815260206004820152601960248201527f596f752063616e2774207472616e7366657220746f6b656e73000000000000006044820152606401610839565b6001600160a01b0383165f9081526010602052604090205460ff1615801561123f57506001600160a01b0382165f9081526010602052604090205460ff16155b80156112555750600754600160a01b900460ff16155b1561141e57600754600160b01b900460ff166112ac5760405162461bcd60e51b8152602060048201526016602482015275151c98591a5b99c81b9bdd081858dd1a5d99481e595d60521b6044820152606401610839565b436009546008546112bd9190611d72565b1115611333576007546001600160a01b038381169116146112fb576001600160a01b0382165f908152601160205260409020805460ff191660011790555b6007546001600160a01b03848116911614611333576001600160a01b0383165f908152601160205260409020805460ff191660011790555b600b548111156113855760405162461bcd60e51b815260206004820152601d60248201527f596f752061726520657863656564696e67206d61785478416d6f756e740000006044820152606401610839565b6007546001600160a01b0383811691161461141e57600c54816113bc846001600160a01b03165f9081526020819052604090205490565b6113c69190611d72565b111561141e5760405162461bcd60e51b815260206004820152602160248201527f596f752061726520657863656564696e67206d617857616c6c6574416d6f756e6044820152601d60fa1b6064820152608401610839565b6007545f90600160a01b900460ff168061144f57506001600160a01b0384165f9081526010602052604090205460ff165b8061147157506001600160a01b0383165f9081526010602052604090205460ff165b1561147d57505f6114d1565b6007546001600160a01b03908116908416036114b4576064600f54836114a39190611d85565b6114ad9190611d9c565b90506114d1565b6064600e54836114c49190611d85565b6114ce9190611d9c565b90505b600754600160a81b900460ff1680156114f45750600754600160a01b900460ff16155b801561150e57506007546001600160a01b03858116911614155b801561151957505f81115b1561152657611526611801565b61153a84846115358486611d5f565b611879565b8015610a0b57610a0b843083611879565b6040805160028082526060820183525f9260208301908036833701905050905030815f8151811061157e5761157e611dd6565b6001600160a01b03928316602091820292909201810191909152600654604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa1580156115d5573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906115f99190611e02565b8160018151811061160c5761160c611dd6565b6001600160a01b0392831660209182029290920101526006546116329130911684610fef565b60065460405163791ac94760e01b81526001600160a01b039091169063791ac9479061166a9085905f90869030904290600401611e1d565b5f604051808303815f87803b158015611681575f80fd5b505af1158015611693573d5f803e3d5ffd5b505050505050565b804710156116eb5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a20696e73756666696369656e742062616c616e63650000006044820152606401610839565b5f826001600160a01b0316826040515f6040518083038185875af1925050503d805f8114611734576040519150601f19603f3d011682016040523d82523d5f602084013e611739565b606091505b5050905080610c225760405162461bcd60e51b815260206004820152603a60248201527f416464726573733a20756e61626c6520746f2073656e642076616c75652c207260448201527f6563697069656e74206d617920686176652072657665727465640000000000006064820152608401610839565b600580546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0905f90a35050565b600754600160a01b900460ff16610acc576007805460ff60a01b1916600160a01b179055305f908152602081905260408120549050600a54811061186957806118498161154b565b47801561186657600d54611866906001600160a01b03168261169b565b50505b506007805460ff60a01b19169055565b6001600160a01b0383166118dd5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610839565b6001600160a01b03821661193f5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610839565b6001600160a01b0383165f90815260208190526040902054818110156119b65760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b6064820152608401610839565b6119c08282611d5f565b6001600160a01b038086165f9081526020819052604080822093909355908516815290812080548492906119f5908490611d72565b92505081905550826001600160a01b0316846001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051611a4191815260200190565b60405180910390a350505050565b5f6020808352835180828501525f5b81811015611a7a57858101830151858201604001528201611a5e565b505f604082860101526040601f19601f8301168501019250505092915050565b5f60208284031215611aaa575f80fd5b5035919050565b6001600160a01b0381168114610cb4575f80fd5b8035611ad081611ab1565b919050565b5f8060408385031215611ae6575f80fd5b8235611af181611ab1565b946020939093013593505050565b5f805f60608486031215611b11575f80fd5b8335611b1c81611ab1565b92506020840135611b2c81611ab1565b929592945050506040919091013590565b5f8060408385031215611b4e575f80fd5b8235611b5981611ab1565b91506020830135611b6981611ab1565b809150509250929050565b5f8060408385031215611b85575f80fd5b50508035926020909101359150565b5f60208284031215611ba4575f80fd5b8135611baf81611ab1565b9392505050565b634e487b7160e01b5f52604160045260245ffd5b5f6020808385031215611bdb575f80fd5b823567ffffffffffffffff80821115611bf2575f80fd5b818501915085601f830112611c05575f80fd5b813581811115611c1757611c17611bb6565b8060051b604051601f19603f83011681018181108582111715611c3c57611c3c611bb6565b604052918252848201925083810185019188831115611c59575f80fd5b938501935b82851015611c7e57611c6f85611ac5565b84529385019392850192611c5e565b98975050505050505050565b8015158114610cb4575f80fd5b5f60208284031215611ca7575f80fd5b8135611baf81611c8a565b5f8060408385031215611cc3575f80fd5b8235611cce81611ab1565b91506020830135611b6981611c8a565b600181811c90821680611cf257607f821691505b602082108103611d1057634e487b7160e01b5f52602260045260245ffd5b50919050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b5f52601160045260245ffd5b8181038181111561085757610857611d4b565b8082018082111561085757610857611d4b565b808202811582820484141761085757610857611d4b565b5f82611db657634e487b7160e01b5f52601260045260245ffd5b500490565b5f60208284031215611dcb575f80fd5b8151611baf81611c8a565b634e487b7160e01b5f52603260045260245ffd5b5f60018201611dfb57611dfb611d4b565b5060010190565b5f60208284031215611e12575f80fd5b8151611baf81611ab1565b5f60a082018783526020878185015260a0604085015281875180845260c08601915082890193505f5b81811015611e6b5784516001600160a01b031683529383019391830191600101611e46565b50506001600160a01b0396909616606085015250505060800152939250505056fea2646970667358221220b9d1291297e5d44fbc1d2eff6173091fbfbb5ab6d0f1160b9d3bc2b44068184264736f6c634300081400334d617276656c556e6976657273655374617273537472697065735374616e4861707079
Deployed Bytecode
0x60806040526004361061024c575f3560e01c80638c0b5e2211610134578063aa4bde28116100b3578063dbe66ca011610078578063dbe66ca014610691578063dd62ed3e146106bf578063e01af92c14610703578063e545fd6d14610722578063f2fde38b14610741578063f887ea4014610760575f80fd5b8063aa4bde281461060a578063aacebbe31461061f578063c18bc1951461063e578063cc1776d31461065d578063d34628cc14610672575f80fd5b80639e252f00116100f95780639e252f001461056f578063a3ca847d1461058e578063a457c2d7146105ad578063a8aa1b31146105cc578063a9059cbb146105eb575f80fd5b80638c0b5e22146104eb5780638cd4426d146105005780638da5cb5b1461051f57806395d89b411461053c5780639d0014b114610550575f80fd5b80634ada218b116101cb5780636256d181116101905780636256d1811461040e5780636ddd17131461042d57806370a082311461044d578063715018a61461048157806375f0a8741461049557806382aa7c68146104cc575f80fd5b80634ada218b146103915780634f7041a5146103b157806350c9a88f146103c657806356faae96146103db57806362256589146103fa575f80fd5b806323b872dd1161021157806323b872dd14610304578063274a533c14610323578063313ce56714610338578063395093511461035357806340b28c2f14610372575f80fd5b80630445b6671461025757806306fdde031461027f5780630940bbc7146102a0578063095ea7b3146102c157806318160ddd146102f0575f80fd5b3661025357005b5f80fd5b348015610262575f80fd5b5061026c600a5481565b6040519081526020015b60405180910390f35b34801561028a575f80fd5b5061029361077f565b6040516102769190611a4f565b3480156102ab575f80fd5b506102bf6102ba366004611a9a565b61080f565b005b3480156102cc575f80fd5b506102e06102db366004611ad5565b610847565b6040519015158152602001610276565b3480156102fb575f80fd5b5060025461026c565b34801561030f575f80fd5b506102e061031e366004611aff565b61085d565b34801561032e575f80fd5b5061026c60085481565b348015610343575f80fd5b5060405160128152602001610276565b34801561035e575f80fd5b506102e061036d366004611ad5565b61090c565b34801561037d575f80fd5b506102bf61038c366004611b3d565b610942565b34801561039c575f80fd5b506007546102e090600160b01b900460ff1681565b3480156103bc575f80fd5b5061026c600e5481565b3480156103d1575f80fd5b5061026c60095481565b3480156103e6575f80fd5b506102bf6103f5366004611b74565b61099a565b348015610405575f80fd5b506102bf610a11565b348015610419575f80fd5b506102bf610428366004611a9a565b610a49565b348015610438575f80fd5b506007546102e090600160a81b900460ff1681565b348015610458575f80fd5b5061026c610467366004611b94565b6001600160a01b03165f9081526020819052604090205490565b34801561048c575f80fd5b506102bf610a99565b3480156104a0575f80fd5b50600d546104b4906001600160a01b031681565b6040516001600160a01b039091168152602001610276565b3480156104d7575f80fd5b506102bf6104e6366004611a9a565b610ace565b3480156104f6575f80fd5b5061026c600b5481565b34801561050b575f80fd5b506102bf61051a366004611ad5565b610b69565b34801561052a575f80fd5b506005546001600160a01b03166104b4565b348015610547575f80fd5b50610293610c27565b34801561055b575f80fd5b506102bf61056a366004611a9a565b610c36565b34801561057a575f80fd5b506102bf610589366004611a9a565b610c65565b348015610599575f80fd5b506102bf6105a8366004611a9a565b610cb7565b3480156105b8575f80fd5b506102e06105c7366004611ad5565b610ce6565b3480156105d7575f80fd5b506007546104b4906001600160a01b031681565b3480156105f6575f80fd5b506102e0610605366004611ad5565b610d80565b348015610615575f80fd5b5061026c600c5481565b34801561062a575f80fd5b506102bf610639366004611b94565b610d8c565b348015610649575f80fd5b506102bf610658366004611a9a565b610dd8565b348015610668575f80fd5b5061026c600f5481565b34801561067d575f80fd5b506102bf61068c366004611bca565b610e28565b34801561069c575f80fd5b506102e06106ab366004611b94565b60106020525f908152604090205460ff1681565b3480156106ca575f80fd5b5061026c6106d9366004611b3d565b6001600160a01b039182165f90815260016020908152604080832093909416825291909152205490565b34801561070e575f80fd5b506102bf61071d366004611c97565b610ebb565b34801561072d575f80fd5b506102bf61073c366004611cb2565b610f03565b34801561074c575f80fd5b506102bf61075b366004611b94565b610f57565b34801561076b575f80fd5b506006546104b4906001600160a01b031681565b60606003805461078e90611cde565b80601f01602080910402602001604051908101604052809291908181526020018280546107ba90611cde565b80156108055780601f106107dc57610100808354040283529160200191610805565b820191905f5260205f20905b8154815290600101906020018083116107e857829003601f168201915b5050505050905090565b6005546001600160a01b031633146108425760405162461bcd60e51b815260040161083990611d16565b60405180910390fd5b600f55565b5f610853338484610fef565b5060015b92915050565b5f610869848484611112565b6001600160a01b0384165f908152600160209081526040808320338452909152902054828110156108ed5760405162461bcd60e51b815260206004820152602860248201527f45524332303a207472616e7366657220616d6f756e74206578636565647320616044820152676c6c6f77616e636560c01b6064820152608401610839565b61090185336108fc8685611d5f565b610fef565b506001949350505050565b335f8181526001602090815260408083206001600160a01b038716845290915281205490916108539185906108fc908690611d72565b6005546001600160a01b0316331461096c5760405162461bcd60e51b815260040161083990611d16565b600680546001600160a01b039384166001600160a01b03199182161790915560078054929093169116179055565b6005546001600160a01b031633146109c45760405162461bcd60e51b815260040161083990611d16565b476109ce8361154b565b5f6109d98247611d5f565b90508215610a0b57610a0b836109ef8184611d85565b6109f99190611d9c565b600d546001600160a01b03169061169b565b50505050565b6005546001600160a01b03163314610a3b5760405162461bcd60e51b815260040161083990611d16565b600254600b55600254600c55565b6005546001600160a01b03163314610a735760405162461bcd60e51b815260040161083990611d16565b606481610a7f60025490565b610a899190611d85565b610a939190611d9c565b600b5550565b6005546001600160a01b03163314610ac35760405162461bcd60e51b815260040161083990611d16565b610acc5f6117b0565b565b6005546001600160a01b03163314610af85760405162461bcd60e51b815260040161083990611d16565b600754600160b01b900460ff1615610b4b5760405162461bcd60e51b815260206004820152601660248201527554726164696e6720616c72656164792061637469766560501b6044820152606401610839565b6007805461ffff60a81b191661010160a81b17905543600855600955565b6005546001600160a01b03163314610b935760405162461bcd60e51b815260040161083990611d16565b816001600160a01b031663a9059cbb610bb46005546001600160a01b031690565b6040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602481018490526044016020604051808303815f875af1158015610bfe573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610c229190611dbb565b505050565b60606004805461078e90611cde565b6005546001600160a01b03163314610c605760405162461bcd60e51b815260040161083990611d16565b600a55565b6005546001600160a01b03163314610c8f5760405162461bcd60e51b815260040161083990611d16565b610cb481610ca56005546001600160a01b031690565b6001600160a01b03169061169b565b50565b6005546001600160a01b03163314610ce15760405162461bcd60e51b815260040161083990611d16565b600e55565b335f9081526001602090815260408083206001600160a01b038616845290915281205482811015610d675760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b6064820152608401610839565b610d7633856108fc8685611d5f565b5060019392505050565b5f610853338484611112565b6005546001600160a01b03163314610db65760405162461bcd60e51b815260040161083990611d16565b600d80546001600160a01b0319166001600160a01b0392909216919091179055565b6005546001600160a01b03163314610e025760405162461bcd60e51b815260040161083990611d16565b606481610e0e60025490565b610e189190611d85565b610e229190611d9c565b600c5550565b6005546001600160a01b03163314610e525760405162461bcd60e51b815260040161083990611d16565b5f5b8151811015610eb757600160115f848481518110610e7457610e74611dd6565b6020908102919091018101516001600160a01b031682528101919091526040015f20805460ff191691151591909117905580610eaf81611dea565b915050610e54565b5050565b6005546001600160a01b03163314610ee55760405162461bcd60e51b815260040161083990611d16565b60078054911515600160a81b0260ff60a81b19909216919091179055565b6005546001600160a01b03163314610f2d5760405162461bcd60e51b815260040161083990611d16565b6001600160a01b03919091165f908152601060205260409020805460ff1916911515919091179055565b6005546001600160a01b03163314610f815760405162461bcd60e51b815260040161083990611d16565b6001600160a01b038116610fe65760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610839565b610cb4816117b0565b6001600160a01b0383166110515760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610839565b6001600160a01b0382166110b25760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610839565b6001600160a01b038381165f8181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b5f81116111735760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b6064820152608401610839565b6001600160a01b0383165f9081526011602052604090205460ff161580156111b357506001600160a01b0382165f9081526011602052604090205460ff16155b6111ff5760405162461bcd60e51b815260206004820152601960248201527f596f752063616e2774207472616e7366657220746f6b656e73000000000000006044820152606401610839565b6001600160a01b0383165f9081526010602052604090205460ff1615801561123f57506001600160a01b0382165f9081526010602052604090205460ff16155b80156112555750600754600160a01b900460ff16155b1561141e57600754600160b01b900460ff166112ac5760405162461bcd60e51b8152602060048201526016602482015275151c98591a5b99c81b9bdd081858dd1a5d99481e595d60521b6044820152606401610839565b436009546008546112bd9190611d72565b1115611333576007546001600160a01b038381169116146112fb576001600160a01b0382165f908152601160205260409020805460ff191660011790555b6007546001600160a01b03848116911614611333576001600160a01b0383165f908152601160205260409020805460ff191660011790555b600b548111156113855760405162461bcd60e51b815260206004820152601d60248201527f596f752061726520657863656564696e67206d61785478416d6f756e740000006044820152606401610839565b6007546001600160a01b0383811691161461141e57600c54816113bc846001600160a01b03165f9081526020819052604090205490565b6113c69190611d72565b111561141e5760405162461bcd60e51b815260206004820152602160248201527f596f752061726520657863656564696e67206d617857616c6c6574416d6f756e6044820152601d60fa1b6064820152608401610839565b6007545f90600160a01b900460ff168061144f57506001600160a01b0384165f9081526010602052604090205460ff165b8061147157506001600160a01b0383165f9081526010602052604090205460ff165b1561147d57505f6114d1565b6007546001600160a01b03908116908416036114b4576064600f54836114a39190611d85565b6114ad9190611d9c565b90506114d1565b6064600e54836114c49190611d85565b6114ce9190611d9c565b90505b600754600160a81b900460ff1680156114f45750600754600160a01b900460ff16155b801561150e57506007546001600160a01b03858116911614155b801561151957505f81115b1561152657611526611801565b61153a84846115358486611d5f565b611879565b8015610a0b57610a0b843083611879565b6040805160028082526060820183525f9260208301908036833701905050905030815f8151811061157e5761157e611dd6565b6001600160a01b03928316602091820292909201810191909152600654604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa1580156115d5573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906115f99190611e02565b8160018151811061160c5761160c611dd6565b6001600160a01b0392831660209182029290920101526006546116329130911684610fef565b60065460405163791ac94760e01b81526001600160a01b039091169063791ac9479061166a9085905f90869030904290600401611e1d565b5f604051808303815f87803b158015611681575f80fd5b505af1158015611693573d5f803e3d5ffd5b505050505050565b804710156116eb5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a20696e73756666696369656e742062616c616e63650000006044820152606401610839565b5f826001600160a01b0316826040515f6040518083038185875af1925050503d805f8114611734576040519150601f19603f3d011682016040523d82523d5f602084013e611739565b606091505b5050905080610c225760405162461bcd60e51b815260206004820152603a60248201527f416464726573733a20756e61626c6520746f2073656e642076616c75652c207260448201527f6563697069656e74206d617920686176652072657665727465640000000000006064820152608401610839565b600580546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0905f90a35050565b600754600160a01b900460ff16610acc576007805460ff60a01b1916600160a01b179055305f908152602081905260408120549050600a54811061186957806118498161154b565b47801561186657600d54611866906001600160a01b03168261169b565b50505b506007805460ff60a01b19169055565b6001600160a01b0383166118dd5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610839565b6001600160a01b03821661193f5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610839565b6001600160a01b0383165f90815260208190526040902054818110156119b65760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b6064820152608401610839565b6119c08282611d5f565b6001600160a01b038086165f9081526020819052604080822093909355908516815290812080548492906119f5908490611d72565b92505081905550826001600160a01b0316846001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051611a4191815260200190565b60405180910390a350505050565b5f6020808352835180828501525f5b81811015611a7a57858101830151858201604001528201611a5e565b505f604082860101526040601f19601f8301168501019250505092915050565b5f60208284031215611aaa575f80fd5b5035919050565b6001600160a01b0381168114610cb4575f80fd5b8035611ad081611ab1565b919050565b5f8060408385031215611ae6575f80fd5b8235611af181611ab1565b946020939093013593505050565b5f805f60608486031215611b11575f80fd5b8335611b1c81611ab1565b92506020840135611b2c81611ab1565b929592945050506040919091013590565b5f8060408385031215611b4e575f80fd5b8235611b5981611ab1565b91506020830135611b6981611ab1565b809150509250929050565b5f8060408385031215611b85575f80fd5b50508035926020909101359150565b5f60208284031215611ba4575f80fd5b8135611baf81611ab1565b9392505050565b634e487b7160e01b5f52604160045260245ffd5b5f6020808385031215611bdb575f80fd5b823567ffffffffffffffff80821115611bf2575f80fd5b818501915085601f830112611c05575f80fd5b813581811115611c1757611c17611bb6565b8060051b604051601f19603f83011681018181108582111715611c3c57611c3c611bb6565b604052918252848201925083810185019188831115611c59575f80fd5b938501935b82851015611c7e57611c6f85611ac5565b84529385019392850192611c5e565b98975050505050505050565b8015158114610cb4575f80fd5b5f60208284031215611ca7575f80fd5b8135611baf81611c8a565b5f8060408385031215611cc3575f80fd5b8235611cce81611ab1565b91506020830135611b6981611c8a565b600181811c90821680611cf257607f821691505b602082108103611d1057634e487b7160e01b5f52602260045260245ffd5b50919050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b5f52601160045260245ffd5b8181038181111561085757610857611d4b565b8082018082111561085757610857611d4b565b808202811582820484141761085757610857611d4b565b5f82611db657634e487b7160e01b5f52601260045260245ffd5b500490565b5f60208284031215611dcb575f80fd5b8151611baf81611c8a565b634e487b7160e01b5f52603260045260245ffd5b5f60018201611dfb57611dfb611d4b565b5060010190565b5f60208284031215611e12575f80fd5b8151611baf81611ab1565b5f60a082018783526020878185015260a0604085015281875180845260c08601915082890193505f5b81811015611e6b5784516001600160a01b031683529383019391830191600101611e46565b50506001600160a01b0396909616606085015250505060800152939250505056fea2646970667358221220b9d1291297e5d44fbc1d2eff6173091fbfbb5ab6d0f1160b9d3bc2b44068184264736f6c63430008140033
Deployed Bytecode Sourcemap
7586:6269:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7900:28;;;;;;;;;;;;;;;;;;;160:25:1;;;148:2;133:18;7900:28:0;;;;;;;;1793:100;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;12024:99::-;;;;;;;;;;-1:-1:-1;12024:99:0;;;;;:::i;:::-;;:::i;:::-;;2707:169;;;;;;;;;;-1:-1:-1;2707:169:0;;;;;:::i;:::-;;:::i;:::-;;;1694:14:1;;1687:22;1669:41;;1657:2;1642:18;2707:169:0;1529:187:1;2114:108:0;;;;;;;;;;-1:-1:-1;2202:12:0;;2114:108;;2884:422;;;;;;;;;;-1:-1:-1;2884:422:0;;;;;:::i;:::-;;:::i;7823:28::-;;;;;;;;;;;;;;;;2013:93;;;;;;;;;;-1:-1:-1;2013:93:0;;2096:2;2324:36:1;;2312:2;2297:18;2013:93:0;2182:184:1;3314:215:0;;;;;;;;;;-1:-1:-1;3314:215:0;;;;;:::i;:::-;;:::i;12259:137::-;;;;;;;;;;-1:-1:-1;12259:137:0;;;;;:::i;:::-;;:::i;7788:26::-;;;;;;;;;;-1:-1:-1;7788:26:0;;;;-1:-1:-1;;;7788:26:0;;;;;;8095;;;;;;;;;;;;;;;;7858:29;;;;;;;;;;;;;;;;13412:379;;;;;;;;;;-1:-1:-1;13412:379:0;;;;;:::i;:::-;;:::i;13004:130::-;;;;;;;;;;;;;:::i;12728:124::-;;;;;;;;;;-1:-1:-1;12728:124:0;;;;;:::i;:::-;;:::i;7758:23::-;;;;;;;;;;-1:-1:-1;7758:23:0;;;;-1:-1:-1;;;7758:23:0;;;;;;2230:127;;;;;;;;;;-1:-1:-1;2230:127:0;;;;;:::i;:::-;-1:-1:-1;;;;;2331:18:0;2304:7;2331:18;;;;;;;;;;;;2230:127;6635:94;;;;;;;;;;;;;:::i;8011:75::-;;;;;;;;;;-1:-1:-1;8011:75:0;;;;-1:-1:-1;;;;;8011:75:0;;;;;;-1:-1:-1;;;;;3448:32:1;;;3430:51;;3418:2;3403:18;8011:75:0;3284:203:1;11637:274:0;;;;;;;;;;-1:-1:-1;11637:274:0;;;;;:::i;:::-;;:::i;7935:26::-;;;;;;;;;;;;;;;;13142:142;;;;;;;;;;-1:-1:-1;13142:142:0;;;;;:::i;:::-;;:::i;6412:87::-;;;;;;;;;;-1:-1:-1;6485:6:0;;-1:-1:-1;;;;;6485:6:0;6412:87;;1901:104;;;;;;;;;;;;;:::i;11519:110::-;;;;;;;;;;-1:-1:-1;11519:110:0;;;;;:::i;:::-;;:::i;13292:112::-;;;;;;;;;;-1:-1:-1;13292:112:0;;;;;:::i;:::-;;:::i;11919:97::-;;;;;;;;;;-1:-1:-1;11919:97:0;;;;;:::i;:::-;;:::i;3537:377::-;;;;;;;;;;-1:-1:-1;3537:377:0;;;;;:::i;:::-;;:::i;7698:19::-;;;;;;;;;;-1:-1:-1;7698:19:0;;;;-1:-1:-1;;;;;7698:19:0;;;2365:175;;;;;;;;;;-1:-1:-1;2365:175:0;;;;;:::i;:::-;;:::i;7968:30::-;;;;;;;;;;;;;;;;12135:114;;;;;;;;;;-1:-1:-1;12135:114:0;;;;;:::i;:::-;;:::i;12864:132::-;;;;;;;;;;-1:-1:-1;12864:132:0;;;;;:::i;:::-;;:::i;8128:27::-;;;;;;;;;;;;;;;;12408:168;;;;;;;;;;-1:-1:-1;12408:168:0;;;;;:::i;:::-;;:::i;8168:49::-;;;;;;;;;;-1:-1:-1;8168:49:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;2548:151;;;;;;;;;;-1:-1:-1;2548:151:0;;;;;:::i;:::-;-1:-1:-1;;;;;2664:18:0;;;2637:7;2664:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;2548:151;11418:93;;;;;;;;;;-1:-1:-1;11418:93:0;;;;;:::i;:::-;;:::i;12582:134::-;;;;;;;;;;-1:-1:-1;12582:134:0;;;;;:::i;:::-;;:::i;6737:192::-;;;;;;;;;;-1:-1:-1;6737:192:0;;;;;:::i;:::-;;:::i;7670:21::-;;;;;;;;;;-1:-1:-1;7670:21:0;;;;-1:-1:-1;;;;;7670:21:0;;;1793:100;1847:13;1880:5;1873:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1793:100;:::o;12024:99::-;6485:6;;-1:-1:-1;;;;;6485:6:0;275:10;6547:23;6539:68;;;;-1:-1:-1;;;6539:68:0;;;;;;;:::i;:::-;;;;;;;;;12095:7:::1;:20:::0;12024:99::o;2707:169::-;2790:4;2807:39;275:10;2830:7;2839:6;2807:8;:39::i;:::-;-1:-1:-1;2864:4:0;2707:169;;;;;:::o;2884:422::-;2990:4;3007:36;3017:6;3025:9;3036:6;3007:9;:36::i;:::-;-1:-1:-1;;;;;3083:19:0;;3056:24;3083:19;;;:11;:19;;;;;;;;275:10;3083:33;;;;;;;;3135:26;;;;3127:79;;;;-1:-1:-1;;;3127:79:0;;7070:2:1;3127:79:0;;;7052:21:1;7109:2;7089:18;;;7082:30;7148:34;7128:18;;;7121:62;-1:-1:-1;;;7199:18:1;;;7192:38;7247:19;;3127:79:0;6868:404:1;3127:79:0;3217:57;3226:6;275:10;3248:25;3267:6;3248:16;:25;:::i;:::-;3217:8;:57::i;:::-;-1:-1:-1;3294:4:0;;2884:422;-1:-1:-1;;;;2884:422:0:o;3314:215::-;275:10;3402:4;3451:25;;;:11;:25;;;;;;;;-1:-1:-1;;;;;3451:34:0;;;;;;;;;;3402:4;;3419:80;;3442:7;;3451:47;;3488:10;;3451:47;:::i;12259:137::-;6485:6;;-1:-1:-1;;;;;6485:6:0;275:10;6547:23;6539:68;;;;-1:-1:-1;;;6539:68:0;;;;;;;:::i;:::-;12349:6:::1;:16:::0;;-1:-1:-1;;;;;12349:16:0;;::::1;-1:-1:-1::0;;;;;;12349:16:0;;::::1;;::::0;;;12376:4:::1;:12:::0;;;;;::::1;::::0;::::1;;::::0;;12259:137::o;13412:379::-;6485:6;;-1:-1:-1;;;;;6485:6:0;275:10;6547:23;6539:68;;;;-1:-1:-1;;;6539:68:0;;;;;;;:::i;:::-;13528:21:::1;13560:24;13577:6:::0;13560:16:::1;:24::i;:::-;13595:18;13616:35;13640:11:::0;13616:21:::1;:35;:::i;:::-;13595:56:::0;-1:-1:-1;13665:23:0;;13662:121:::1;;13690:93;13762:19:::0;13725:32:::1;13762:19:::0;13725:10;:32:::1;:::i;:::-;:57;;;;:::i;:::-;13698:15;::::0;-1:-1:-1;;;;;13698:15:0::1;::::0;13690:34:::1;:93::i;:::-;13495:296;;13412:379:::0;;:::o;13004:130::-;6485:6;;-1:-1:-1;;;;;6485:6:0;275:10;6547:23;6539:68;;;;-1:-1:-1;;;6539:68:0;;;;;;;:::i;:::-;2202:12;;13057:11:::1;:27:::0;2202:12;;13095:15:::1;:31:::0;13004:130::o;12728:124::-;6485:6;;-1:-1:-1;;;;;6485:6:0;275:10;6547:23;6539:68;;;;-1:-1:-1;;;6539:68:0;;;;;;;:::i;:::-;12841:3:::1;12831:7;12815:13;2202:12:::0;;;2114:108;12815:13:::1;:23;;;;:::i;:::-;:29;;;;:::i;:::-;12801:11;:43:::0;-1:-1:-1;12728:124:0:o;6635:94::-;6485:6;;-1:-1:-1;;;;;6485:6:0;275:10;6547:23;6539:68;;;;-1:-1:-1;;;6539:68:0;;;;;;;:::i;:::-;6700:21:::1;6718:1;6700:9;:21::i;:::-;6635:94::o:0;11637:274::-;6485:6;;-1:-1:-1;;;;;6485:6:0;275:10;6547:23;6539:68;;;;-1:-1:-1;;;6539:68:0;;;;;;;:::i;:::-;11723:14:::1;::::0;-1:-1:-1;;;11723:14:0;::::1;;;11722:15;11714:50;;;::::0;-1:-1:-1;;;11714:50:0;;8269:2:1;11714:50:0::1;::::0;::::1;8251:21:1::0;8308:2;8288:18;;;8281:30;-1:-1:-1;;;8327:18:1;;;8320:52;8389:18;;11714:50:0::1;8067:346:1::0;11714:50:0::1;11775:14;:21:::0;;-1:-1:-1;;;;11807:18:0;-1:-1:-1;;;11807:18:0;;;11852:12:::1;11836:13;:28:::0;11875:10:::1;:28:::0;11637:274::o;13142:142::-;6485:6;;-1:-1:-1;;;;;6485:6:0;275:10;6547:23;6539:68;;;;-1:-1:-1;;;6539:68:0;;;;;;;:::i;:::-;13237:12:::1;-1:-1:-1::0;;;;;13230:29:0::1;;13260:7;6485:6:::0;;-1:-1:-1;;;;;6485:6:0;;6412:87;13260:7:::1;13230:46;::::0;-1:-1:-1;;;;;;13230:46:0::1;::::0;;;;;;-1:-1:-1;;;;;8610:32:1;;;13230:46:0::1;::::0;::::1;8592:51:1::0;8659:18;;;8652:34;;;8565:18;;13230:46:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;13142:142:::0;;:::o;1901:104::-;1957:13;1990:7;1983:14;;;;;:::i;11519:110::-;6485:6;;-1:-1:-1;;;;;6485:6:0;275:10;6547:23;6539:68;;;;-1:-1:-1;;;6539:68:0;;;;;;;:::i;:::-;11595:13:::1;:26:::0;11519:110::o;13292:112::-;6485:6;;-1:-1:-1;;;;;6485:6:0;275:10;6547:23;6539:68;;;;-1:-1:-1;;;6539:68:0;;;;;;;:::i;:::-;13359:37:::1;13386:9;13367:7;6485:6:::0;;-1:-1:-1;;;;;6485:6:0;;6412:87;13367:7:::1;-1:-1:-1::0;;;;;13359:26:0::1;::::0;::::1;:37::i;:::-;13292:112:::0;:::o;11919:97::-;6485:6;;-1:-1:-1;;;;;6485:6:0;275:10;6547:23;6539:68;;;;-1:-1:-1;;;6539:68:0;;;;;;;:::i;:::-;11989:6:::1;:19:::0;11919:97::o;3537:377::-;275:10;3630:4;3674:25;;;:11;:25;;;;;;;;-1:-1:-1;;;;;3674:34:0;;;;;;;;;;3727:35;;;;3719:85;;;;-1:-1:-1;;;3719:85:0;;9149:2:1;3719:85:0;;;9131:21:1;9188:2;9168:18;;;9161:30;9227:34;9207:18;;;9200:62;-1:-1:-1;;;9278:18:1;;;9271:35;9323:19;;3719:85:0;8947:401:1;3719:85:0;3815:67;275:10;3838:7;3847:34;3866:15;3847:16;:34;:::i;3815:67::-;-1:-1:-1;3902:4:0;;3537:377;-1:-1:-1;;;3537:377:0:o;2365:175::-;2451:4;2468:42;275:10;2492:9;2503:6;2468:9;:42::i;12135:114::-;6485:6;;-1:-1:-1;;;;;6485:6:0;275:10;6547:23;6539:68;;;;-1:-1:-1;;;6539:68:0;;;;;;;:::i;:::-;12214:15:::1;:27:::0;;-1:-1:-1;;;;;;12214:27:0::1;-1:-1:-1::0;;;;;12214:27:0;;;::::1;::::0;;;::::1;::::0;;12135:114::o;12864:132::-;6485:6;;-1:-1:-1;;;;;6485:6:0;275:10;6547:23;6539:68;;;;-1:-1:-1;;;6539:68:0;;;;;;;:::i;:::-;12985:3:::1;12975:7;12959:13;2202:12:::0;;;2114:108;12959:13:::1;:23;;;;:::i;:::-;:29;;;;:::i;:::-;12941:15;:47:::0;-1:-1:-1;12864:132:0:o;12408:168::-;6485:6;;-1:-1:-1;;;;;6485:6:0;275:10;6547:23;6539:68;;;;-1:-1:-1;;;6539:68:0;;;;;;;:::i;:::-;12483:6:::1;12478:91;12499:6;:13;12495:1;:17;12478:91;;;12553:4;12534:5;:16;12540:6;12547:1;12540:9;;;;;;;;:::i;:::-;;::::0;;::::1;::::0;;;;;;;-1:-1:-1;;;;;12534:16:0::1;::::0;;;::::1;::::0;;;;;;-1:-1:-1;12534:16:0;:23;;-1:-1:-1;;12534:23:0::1;::::0;::::1;;::::0;;;::::1;::::0;;12514:3;::::1;::::0;::::1;:::i;:::-;;;;12478:91;;;;12408:168:::0;:::o;11418:93::-;6485:6;;-1:-1:-1;;;;;6485:6:0;275:10;6547:23;6539:68;;;;-1:-1:-1;;;6539:68:0;;;;;;;:::i;:::-;11484:11:::1;:19:::0;;;::::1;;-1:-1:-1::0;;;11484:19:0::1;-1:-1:-1::0;;;;11484:19:0;;::::1;::::0;;;::::1;::::0;;11418:93::o;12582:134::-;6485:6;;-1:-1:-1;;;;;6485:6:0;275:10;6547:23;6539:68;;;;-1:-1:-1;;;6539:68:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;12674:26:0;;;::::1;;::::0;;;:16:::1;:26;::::0;;;;:34;;-1:-1:-1;;12674:34:0::1;::::0;::::1;;::::0;;;::::1;::::0;;12582:134::o;6737:192::-;6485:6;;-1:-1:-1;;;;;6485:6:0;275:10;6547:23;6539:68;;;;-1:-1:-1;;;6539:68:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;6826:22:0;::::1;6818:73;;;::::0;-1:-1:-1;;;6818:73:0;;9827:2:1;6818:73:0::1;::::0;::::1;9809:21:1::0;9866:2;9846:18;;;9839:30;9905:34;9885:18;;;9878:62;-1:-1:-1;;;9956:18:1;;;9949:36;10002:19;;6818:73:0::1;9625:402:1::0;6818:73:0::1;6902:19;6912:8;6902:9;:19::i;5382:346::-:0;-1:-1:-1;;;;;5484:19:0;;5476:68;;;;-1:-1:-1;;;5476:68:0;;10234:2:1;5476:68:0;;;10216:21:1;10273:2;10253:18;;;10246:30;10312:34;10292:18;;;10285:62;-1:-1:-1;;;10363:18:1;;;10356:34;10407:19;;5476:68:0;10032:400:1;5476:68:0;-1:-1:-1;;;;;5563:21:0;;5555:68;;;;-1:-1:-1;;;5555:68:0;;10639:2:1;5555:68:0;;;10621:21:1;10678:2;10658:18;;;10651:30;10717:34;10697:18;;;10690:62;-1:-1:-1;;;10768:18:1;;;10761:32;10810:19;;5555:68:0;10437:398:1;5555:68:0;-1:-1:-1;;;;;5636:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;5688:32;;160:25:1;;;5688:32:0;;133:18:1;5688:32:0;;;;;;;5382:346;;;:::o;9172:1386::-;9288:1;9279:6;:10;9271:64;;;;-1:-1:-1;;;9271:64:0;;11042:2:1;9271:64:0;;;11024:21:1;11081:2;11061:18;;;11054:30;11120:34;11100:18;;;11093:62;-1:-1:-1;;;11171:18:1;;;11164:39;11220:19;;9271:64:0;10840:405:1;9271:64:0;-1:-1:-1;;;;;9355:13:0;;;;;;:5;:13;;;;;;;;9354:14;:35;;;;-1:-1:-1;;;;;;9373:16:0;;;;;;:5;:16;;;;;;;;9372:17;9354:35;9346:73;;;;-1:-1:-1;;;9346:73:0;;11452:2:1;9346:73:0;;;11434:21:1;11491:2;11471:18;;;11464:30;11530:27;11510:18;;;11503:55;11575:18;;9346:73:0;11250:349:1;9346:73:0;-1:-1:-1;;;;;9462:24:0;;;;;;:16;:24;;;;;;;;9461:25;:57;;;;-1:-1:-1;;;;;;9491:27:0;;;;;;:16;:27;;;;;;;;9490:28;9461:57;:70;;;;-1:-1:-1;9523:8:0;;-1:-1:-1;;;9523:8:0;;;;9522:9;9461:70;9458:589;;;9555:14;;-1:-1:-1;;;9555:14:0;;;;9547:49;;;;-1:-1:-1;;;9547:49:0;;11806:2:1;9547:49:0;;;11788:21:1;11845:2;11825:18;;;11818:30;-1:-1:-1;;;11864:18:1;;;11857:52;11926:18;;9547:49:0;11604:346:1;9547:49:0;9643:12;9630:10;;9614:13;;:26;;;;:::i;:::-;:41;9611:183;;;9691:4;;-1:-1:-1;;;;;9678:17:0;;;9691:4;;9678:17;9675:45;;-1:-1:-1;;;;;9697:16:0;;;;;;:5;:16;;;;;:23;;-1:-1:-1;;9697:23:0;9716:4;9697:23;;;9675:45;9752:4;;-1:-1:-1;;;;;9742:14:0;;;9752:4;;9742:14;9739:39;;-1:-1:-1;;;;;9758:13:0;;;;;;:5;:13;;;;;:20;;-1:-1:-1;;9758:20:0;9774:4;9758:20;;;9739:39;9826:11;;9816:6;:21;;9808:63;;;;-1:-1:-1;;;9808:63:0;;12157:2:1;9808:63:0;;;12139:21:1;12196:2;12176:18;;;12169:30;12235:31;12215:18;;;12208:59;12284:18;;9808:63:0;11955:353:1;9808:63:0;9902:4;;-1:-1:-1;;;;;9889:17:0;;;9902:4;;9889:17;9886:150;;9967:15;;9957:6;9934:20;9944:9;-1:-1:-1;;;;;2331:18:0;2304:7;2331:18;;;;;;;;;;;;2230:127;9934:20;:29;;;;:::i;:::-;:48;;9926:94;;;;-1:-1:-1;;;9926:94:0;;12515:2:1;9926:94:0;;;12497:21:1;12554:2;12534:18;;;12527:30;12593:34;12573:18;;;12566:62;-1:-1:-1;;;12644:18:1;;;12637:31;12685:19;;9926:94:0;12313:397:1;9926:94:0;10099:8;;10059:11;;-1:-1:-1;;;10099:8:0;;;;;:36;;-1:-1:-1;;;;;;10111:24:0;;;;;;:16;:24;;;;;;;;10099:36;:67;;;-1:-1:-1;;;;;;10139:27:0;;;;;;:16;:27;;;;;;;;10099:67;10095:232;;;-1:-1:-1;10174:1:0;10095:232;;;10234:4;;-1:-1:-1;;;;;10234:4:0;;;10221:17;;;;10218:97;;10265:3;10255:7;;10246:6;:16;;;;:::i;:::-;:22;;;;:::i;:::-;10240:28;;10218:97;;;10312:3;10303:6;;10294;:15;;;;:::i;:::-;:21;;;;:::i;:::-;10288:27;;10218:97;10353:11;;-1:-1:-1;;;10353:11:0;;;;:24;;;;-1:-1:-1;10369:8:0;;-1:-1:-1;;;10369:8:0;;;;10368:9;10353:24;:42;;;;-1:-1:-1;10391:4:0;;-1:-1:-1;;;;;10381:14:0;;;10391:4;;10381:14;;10353:42;:53;;;;;10405:1;10399:3;:7;10353:53;10349:72;;;10408:13;:11;:13::i;:::-;10434:48;10450:6;10458:9;10469:12;10478:3;10469:6;:12;:::i;:::-;10434:15;:48::i;:::-;10496:7;;10493:55;;10505:43;10521:6;10537:4;10544:3;10505:15;:43::i;11010:400::-;11100:16;;;11114:1;11100:16;;;;;;;;11076:21;;11100:16;;;;;;;;;;-1:-1:-1;11100:16:0;11076:40;;11145:4;11127;11132:1;11127:7;;;;;;;;:::i;:::-;-1:-1:-1;;;;;11127:23:0;;;:7;;;;;;;;;;:23;;;;11171:6;;:13;;;-1:-1:-1;;;11171:13:0;;;;:6;;;;;:11;;:13;;;;;11127:7;;11171:13;;;;;:6;:13;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11161:4;11166:1;11161:7;;;;;;;;:::i;:::-;-1:-1:-1;;;;;11161:23:0;;;:7;;;;;;;;;:23;11229:6;;11197:53;;11214:4;;11229:6;11238:11;11197:8;:53::i;:::-;11289:6;;:111;;-1:-1:-1;;;11289:111:0;;-1:-1:-1;;;;;11289:6:0;;;;:57;;:111;;11347:11;;11289:6;;11363:4;;11377;;11384:15;;11289:111;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11065:345;11010:400;:::o;5857:317::-;5972:6;5947:21;:31;;5939:73;;;;-1:-1:-1;;;5939:73:0;;14158:2:1;5939:73:0;;;14140:21:1;14197:2;14177:18;;;14170:30;14236:31;14216:18;;;14209:59;14285:18;;5939:73:0;13956:353:1;5939:73:0;6026:12;6044:9;-1:-1:-1;;;;;6044:14:0;6066:6;6044:33;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6025:52;;;6096:7;6088:78;;;;-1:-1:-1;;;6088:78:0;;14726:2:1;6088:78:0;;;14708:21:1;14765:2;14745:18;;;14738:30;14804:34;14784:18;;;14777:62;14875:28;14855:18;;;14848:56;14921:19;;6088:78:0;14524:422:1;6937:173:0;7012:6;;;-1:-1:-1;;;;;7029:17:0;;;-1:-1:-1;;;;;;7029:17:0;;;;;;;7062:40;;7012:6;;;7029:17;7012:6;;7062:40;;6993:16;;7062:40;6982:128;6937:173;:::o;10566:434::-;8310:8;;-1:-1:-1;;;8310:8:0;;;;8305:104;;8335:8;:15;;-1:-1:-1;;;;8335:15:0;-1:-1:-1;;;8335:15:0;;;10659:4:::1;-1:-1:-1::0;2331:18:0;;;;;;;;;;;10615:50:::1;;10699:13;;10680:15;:32;10676:317;;10746:15:::0;10779:24:::1;10746:15:::0;10779:16:::1;:24::i;:::-;10843:21;10882:16:::0;;10879:103:::1;;10926:15;::::0;10918:48:::1;::::0;-1:-1:-1;;;;;10926:15:0::1;10953:12:::0;10918:34:::1;:48::i;:::-;10714:279;;10676:317;-1:-1:-1::0;8381:8:0;:16;;-1:-1:-1;;;;8381:16:0;;;10566:434::o;3922:604::-;-1:-1:-1;;;;;4028:20:0;;4020:70;;;;-1:-1:-1;;;4020:70:0;;15153:2:1;4020:70:0;;;15135:21:1;15192:2;15172:18;;;15165:30;15231:34;15211:18;;;15204:62;-1:-1:-1;;;15282:18:1;;;15275:35;15327:19;;4020:70:0;14951:401:1;4020:70:0;-1:-1:-1;;;;;4109:23:0;;4101:71;;;;-1:-1:-1;;;4101:71:0;;15559:2:1;4101:71:0;;;15541:21:1;15598:2;15578:18;;;15571:30;15637:34;15617:18;;;15610:62;-1:-1:-1;;;15688:18:1;;;15681:33;15731:19;;4101:71:0;15357:399:1;4101:71:0;-1:-1:-1;;;;;4269:17:0;;4245:21;4269:17;;;;;;;;;;;4305:23;;;;4297:74;;;;-1:-1:-1;;;4297:74:0;;15963:2:1;4297:74:0;;;15945:21:1;16002:2;15982:18;;;15975:30;16041:34;16021:18;;;16014:62;-1:-1:-1;;;16092:18:1;;;16085:36;16138:19;;4297:74:0;15761:402:1;4297:74:0;4402:22;4418:6;4402:13;:22;:::i;:::-;-1:-1:-1;;;;;4382:17:0;;;:9;:17;;;;;;;;;;;:42;;;;4435:20;;;;;;;;:30;;4459:6;;4382:9;4435:30;;4459:6;;4435:30;:::i;:::-;;;;;;;;4500:9;-1:-1:-1;;;;;4483:35:0;4492:6;-1:-1:-1;;;;;4483:35:0;;4511:6;4483:35;;;;160:25:1;;148:2;133:18;;14:177;4483:35:0;;;;;;;;4009:517;3922:604;;;:::o;196:548:1:-;308:4;337:2;366;355:9;348:21;398:6;392:13;441:6;436:2;425:9;421:18;414:34;466:1;476:140;490:6;487:1;484:13;476:140;;;585:14;;;581:23;;575:30;551:17;;;570:2;547:26;540:66;505:10;;476:140;;;480:3;665:1;660:2;651:6;640:9;636:22;632:31;625:42;735:2;728;724:7;719:2;711:6;707:15;703:29;692:9;688:45;684:54;676:62;;;;196:548;;;;:::o;749:180::-;808:6;861:2;849:9;840:7;836:23;832:32;829:52;;;877:1;874;867:12;829:52;-1:-1:-1;900:23:1;;749:180;-1:-1:-1;749:180:1:o;934:131::-;-1:-1:-1;;;;;1009:31:1;;999:42;;989:70;;1055:1;1052;1045:12;1070:134;1138:20;;1167:31;1138:20;1167:31;:::i;:::-;1070:134;;;:::o;1209:315::-;1277:6;1285;1338:2;1326:9;1317:7;1313:23;1309:32;1306:52;;;1354:1;1351;1344:12;1306:52;1393:9;1380:23;1412:31;1437:5;1412:31;:::i;:::-;1462:5;1514:2;1499:18;;;;1486:32;;-1:-1:-1;;;1209:315:1:o;1721:456::-;1798:6;1806;1814;1867:2;1855:9;1846:7;1842:23;1838:32;1835:52;;;1883:1;1880;1873:12;1835:52;1922:9;1909:23;1941:31;1966:5;1941:31;:::i;:::-;1991:5;-1:-1:-1;2048:2:1;2033:18;;2020:32;2061:33;2020:32;2061:33;:::i;:::-;1721:456;;2113:7;;-1:-1:-1;;;2167:2:1;2152:18;;;;2139:32;;1721:456::o;2371:403::-;2454:6;2462;2515:2;2503:9;2494:7;2490:23;2486:32;2483:52;;;2531:1;2528;2521:12;2483:52;2570:9;2557:23;2589:31;2614:5;2589:31;:::i;:::-;2639:5;-1:-1:-1;2696:2:1;2681:18;;2668:32;2709:33;2668:32;2709:33;:::i;:::-;2761:7;2751:17;;;2371:403;;;;;:::o;2779:248::-;2847:6;2855;2908:2;2896:9;2887:7;2883:23;2879:32;2876:52;;;2924:1;2921;2914:12;2876:52;-1:-1:-1;;2947:23:1;;;3017:2;3002:18;;;2989:32;;-1:-1:-1;2779:248:1:o;3032:247::-;3091:6;3144:2;3132:9;3123:7;3119:23;3115:32;3112:52;;;3160:1;3157;3150:12;3112:52;3199:9;3186:23;3218:31;3243:5;3218:31;:::i;:::-;3268:5;3032:247;-1:-1:-1;;;3032:247:1:o;3492:127::-;3553:10;3548:3;3544:20;3541:1;3534:31;3584:4;3581:1;3574:15;3608:4;3605:1;3598:15;3624:1121;3708:6;3739:2;3782;3770:9;3761:7;3757:23;3753:32;3750:52;;;3798:1;3795;3788:12;3750:52;3838:9;3825:23;3867:18;3908:2;3900:6;3897:14;3894:34;;;3924:1;3921;3914:12;3894:34;3962:6;3951:9;3947:22;3937:32;;4007:7;4000:4;3996:2;3992:13;3988:27;3978:55;;4029:1;4026;4019:12;3978:55;4065:2;4052:16;4087:2;4083;4080:10;4077:36;;;4093:18;;:::i;:::-;4139:2;4136:1;4132:10;4171:2;4165:9;4234:2;4230:7;4225:2;4221;4217:11;4213:25;4205:6;4201:38;4289:6;4277:10;4274:22;4269:2;4257:10;4254:18;4251:46;4248:72;;;4300:18;;:::i;:::-;4336:2;4329:22;4386:18;;;4420:15;;;;-1:-1:-1;4462:11:1;;;4458:20;;;4490:19;;;4487:39;;;4522:1;4519;4512:12;4487:39;4546:11;;;;4566:148;4582:6;4577:3;4574:15;4566:148;;;4648:23;4667:3;4648:23;:::i;:::-;4636:36;;4599:12;;;;4692;;;;4566:148;;;4733:6;3624:1121;-1:-1:-1;;;;;;;;3624:1121:1:o;5143:118::-;5229:5;5222:13;5215:21;5208:5;5205:32;5195:60;;5251:1;5248;5241:12;5266:241;5322:6;5375:2;5363:9;5354:7;5350:23;5346:32;5343:52;;;5391:1;5388;5381:12;5343:52;5430:9;5417:23;5449:28;5471:5;5449:28;:::i;5512:382::-;5577:6;5585;5638:2;5626:9;5617:7;5613:23;5609:32;5606:52;;;5654:1;5651;5644:12;5606:52;5693:9;5680:23;5712:31;5737:5;5712:31;:::i;:::-;5762:5;-1:-1:-1;5819:2:1;5804:18;;5791:32;5832:30;5791:32;5832:30;:::i;6122:380::-;6201:1;6197:12;;;;6244;;;6265:61;;6319:4;6311:6;6307:17;6297:27;;6265:61;6372:2;6364:6;6361:14;6341:18;6338:38;6335:161;;6418:10;6413:3;6409:20;6406:1;6399:31;6453:4;6450:1;6443:15;6481:4;6478:1;6471:15;6335:161;;6122:380;;;:::o;6507:356::-;6709:2;6691:21;;;6728:18;;;6721:30;6787:34;6782:2;6767:18;;6760:62;6854:2;6839:18;;6507:356::o;7277:127::-;7338:10;7333:3;7329:20;7326:1;7319:31;7369:4;7366:1;7359:15;7393:4;7390:1;7383:15;7409:128;7476:9;;;7497:11;;;7494:37;;;7511:18;;:::i;7542:125::-;7607:9;;;7628:10;;;7625:36;;;7641:18;;:::i;7672:168::-;7745:9;;;7776;;7793:15;;;7787:22;;7773:37;7763:71;;7814:18;;:::i;7845:217::-;7885:1;7911;7901:132;;7955:10;7950:3;7946:20;7943:1;7936:31;7990:4;7987:1;7980:15;8018:4;8015:1;8008:15;7901:132;-1:-1:-1;8047:9:1;;7845:217::o;8697:245::-;8764:6;8817:2;8805:9;8796:7;8792:23;8788:32;8785:52;;;8833:1;8830;8823:12;8785:52;8865:9;8859:16;8884:28;8906:5;8884:28;:::i;9353:127::-;9414:10;9409:3;9405:20;9402:1;9395:31;9445:4;9442:1;9435:15;9469:4;9466:1;9459:15;9485:135;9524:3;9545:17;;;9542:43;;9565:18;;:::i;:::-;-1:-1:-1;9612:1:1;9601:13;;9485:135::o;12715:251::-;12785:6;12838:2;12826:9;12817:7;12813:23;12809:32;12806:52;;;12854:1;12851;12844:12;12806:52;12886:9;12880:16;12905:31;12930:5;12905:31;:::i;12971:980::-;13233:4;13281:3;13270:9;13266:19;13312:6;13301:9;13294:25;13338:2;13376:6;13371:2;13360:9;13356:18;13349:34;13419:3;13414:2;13403:9;13399:18;13392:31;13443:6;13478;13472:13;13509:6;13501;13494:22;13547:3;13536:9;13532:19;13525:26;;13586:2;13578:6;13574:15;13560:29;;13607:1;13617:195;13631:6;13628:1;13625:13;13617:195;;;13696:13;;-1:-1:-1;;;;;13692:39:1;13680:52;;13787:15;;;;13752:12;;;;13728:1;13646:9;13617:195;;;-1:-1:-1;;;;;;;13868:32:1;;;;13863:2;13848:18;;13841:60;-1:-1:-1;;;13932:3:1;13917:19;13910:35;13829:3;12971:980;-1:-1:-1;;;12971:980:1:o
Swarm Source
ipfs://b9d1291297e5d44fbc1d2eff6173091fbfbb5ab6d0f1160b9d3bc2b440681842
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.