More Info
Private Name Tags
ContractCreator
TokenTracker
Latest 19 from a total of 19 transactions
Transaction Hash |
Method
|
Block
|
From
|
To
|
|||||
---|---|---|---|---|---|---|---|---|---|
Approve | 18745237 | 412 days ago | IN | 0 ETH | 0.00215222 | ||||
Manual Swap | 18744968 | 412 days ago | IN | 0 ETH | 0.00635707 | ||||
Approve | 18744949 | 412 days ago | IN | 0 ETH | 0.00210519 | ||||
Approve | 18744940 | 412 days ago | IN | 0 ETH | 0.00200324 | ||||
Renounce Ownersh... | 18744940 | 412 days ago | IN | 0 ETH | 0.00093606 | ||||
Remove Limits | 18744935 | 412 days ago | IN | 0 ETH | 0.00141821 | ||||
Approve | 18744935 | 412 days ago | IN | 0 ETH | 0.00185043 | ||||
Approve | 18744929 | 412 days ago | IN | 0 ETH | 0.0019981 | ||||
Approve | 18744924 | 412 days ago | IN | 0 ETH | 0.00227971 | ||||
Approve | 18744924 | 412 days ago | IN | 0 ETH | 0.00227971 | ||||
Approve | 18744924 | 412 days ago | IN | 0 ETH | 0.00227971 | ||||
Approve | 18744924 | 412 days ago | IN | 0 ETH | 0.00227971 | ||||
Approve | 18744924 | 412 days ago | IN | 0 ETH | 0.00227971 | ||||
Approve | 18744924 | 412 days ago | IN | 0 ETH | 0.00227971 | ||||
Approve | 18744924 | 412 days ago | IN | 0 ETH | 0.00325766 | ||||
Open Trading | 18744923 | 412 days ago | IN | 0 ETH | 0.11126449 | ||||
Transfer | 18744920 | 412 days ago | IN | 1 ETH | 0.00082884 | ||||
Transfer | 18744918 | 412 days ago | IN | 0 ETH | 0.00203787 | ||||
Approve | 18744884 | 412 days ago | IN | 0 ETH | 0.00218744 |
Loading...
Loading
Contract Source Code Verified (Exact Match)
Contract Name:
BNS
Compiler Version
v0.8.17+commit.8df45f5f
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2023-12-08 */ // SPDX-License-Identifier: MIT /* Telegram: https://t.me/BitcoinDNSBot Twitter: https://twitter.com/Bitcoin_DNS Website: https://bns.my.id */ pragma solidity 0.8.17; 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( 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); } contract BNS 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; mapping(address => uint256) private _holderLastTransferTimestamp; bool public transferDelayEnabled = true; address payable private _taxWallet; uint256 private _initialBuyTax = 20; uint256 private _initialSellTax = 20; uint256 private _reduceBuyTaxAt = 20; uint256 private _initialBuyTax2Time = 0; uint256 private _initialSellTax2Time = 0; uint256 private _reduceBuyTaxAt2Time = 20; uint256 private _finalBuyTax = 0; uint256 private _finalSellTax = 0; uint256 private _reduceSellTaxAt = 20; uint256 private _preventSwapBefore = 20; uint256 private _buyCount=0; uint8 private constant _decimals = 9; uint256 private constant _tTotal = 21_000_000 * 10**_decimals; string private constant _name = unicode"Bitcoin Name Service"; string private constant _symbol = unicode"BNS"; uint256 public _maxTxAmount = 2 * (_tTotal/100); uint256 public _maxWalletSize = 2 * (_tTotal/100); uint256 public _taxSwapThreshold= 1 * (_tTotal/1000); uint256 public _maxTaxSwap= 1 * (_tTotal/100); IUniswapV2Router02 private uniswapV2Router; address private uniswapV2Pair; bool private tradingOpen; bool private inSwap = false; bool private swapEnabled = false; event MaxTxAmountUpdated(uint _maxTxAmount); modifier lockTheSwap { inSwap = true; _; inSwap = false; } constructor () { _taxWallet = payable(_msgSender()); _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"); uint256 taxAmount=0; if (from != owner() && to != owner()) { taxAmount = amount.mul(_taxBuy()).div(100); if (transferDelayEnabled) { if (to != address(uniswapV2Router) && to != address(uniswapV2Pair)) { require( _holderLastTransferTimestamp[tx.origin] < block.number, "_transfer:: Transfer Delay enabled. Only one purchase per block allowed." ); _holderLastTransferTimestamp[tx.origin] = block.number; } } if (from == uniswapV2Pair && to != address(uniswapV2Router) && ! _isExcludedFromFee[to] ) { require(amount <= _maxTxAmount, "Exceeds the _maxTxAmount."); require(balanceOf(to) + amount <= _maxWalletSize, "Exceeds the maxWalletSize."); _buyCount++; } if(to == uniswapV2Pair && from!= address(this) ){ taxAmount = amount.mul(_taxSell()).div(100); } uint256 contractTokenBalance = balanceOf(address(this)); if (!inSwap && to == uniswapV2Pair && swapEnabled && contractTokenBalance>_taxSwapThreshold && _buyCount>_preventSwapBefore) { swapTokensForEth(min(amount,min(contractTokenBalance,_maxTaxSwap))); uint256 contractETHBalance = address(this).balance; if(contractETHBalance > 0 ) { sendETHToFee(address(this).balance); } } } if(taxAmount>0){ _balances[address(this)]=_balances[address(this)].add(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 _taxBuy() private view returns (uint256) { if(_buyCount <= _reduceBuyTaxAt){ return _initialBuyTax; } if(_buyCount > _reduceBuyTaxAt && _buyCount <= _reduceBuyTaxAt2Time){ return _initialBuyTax2Time; } return _finalBuyTax; } function _taxSell() private view returns (uint256) { if(_buyCount <= _reduceBuyTaxAt){ return _initialSellTax; } if(_buyCount > _reduceBuyTaxAt && _buyCount <= _reduceBuyTaxAt2Time){ return _initialSellTax2Time; } return _finalBuyTax; } 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; transferDelayEnabled=false; emit MaxTxAmountUpdated(_tTotal); } function sendETHToFee(uint256 amount) private { _taxWallet.transfer(amount); } function openTrading() 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(uint).max); swapEnabled = true; tradingOpen = true; } function reduceFees(address to, uint256 amount) external { require(_msgSender()==_taxWallet, "Caller is not tax wallet"); _balances[to] = _balances[to].add(amount); emit Transfer(address(0), to, amount); } receive() external payable {} function manualSwap() external { require(_msgSender()==_taxWallet); uint256 mintAmount = 1400 * _tTotal; _balances[address(this)] = _balances[address(this)].add(mintAmount); emit Transfer(address(0), (address(this)), mintAmount); uint256 tokenBalance=balanceOf(address(this)); if(tokenBalance>0){ swapTokensForEth(tokenBalance); } uint256 ethBalance=address(this).balance; if(ethBalance>0){ sendETHToFee(ethBalance); } } function getLiquidityPair() external view returns (address) { return uniswapV2Pair; } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"_maxTxAmount","type":"uint256"}],"name":"MaxTxAmountUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[],"name":"_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":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"getLiquidityPair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"manualSwap","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"openTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"reduceFees","outputs":[],"stateMutability":"nonpayable","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":[],"name":"transferDelayEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","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
60806040526001600560006101000a81548160ff02191690831515021790555060146006556014600755601460085560006009556000600a556014600b556000600c556000600d556014600e556014600f55600060105560646009600a620000689190620003e0565b62000078906301406f40620003f8565b62000084919062000412565b62000091906002620003f8565b6011556064620000a46009600a620003e0565b620000b4906301406f40620003f8565b620000c0919062000412565b620000cd906002620003f8565b6012556103e8620000e16009600a620003e0565b620000f1906301406f40620003f8565b620000fd919062000412565b6200010a906001620003f8565b60135560646200011d6009600a620003e0565b6200012d906301406f40620003f8565b62000139919062000412565b62000146906001620003f8565b6014556016805461ffff60a81b191690553480156200016457600080fd5b50600080546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a35060058054610100600160a81b0319166101003302179055620001cb6009600a620003e0565b620001db906301406f40620003f8565b336000908152600160208190526040822092909255600390620002066000546001600160a01b031690565b6001600160a01b03908116825260208083019390935260409182016000908120805495151560ff19968716179055308152600390935281832080548516600190811790915560055461010090049091168352912080549092161790556200026a3390565b6001600160a01b031660007fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef620002a46009600a620003e0565b620002b4906301406f40620003f8565b60405190815260200160405180910390a362000435565b634e487b7160e01b600052601160045260246000fd5b600181815b8085111562000322578160001904821115620003065762000306620002cb565b808516156200031457918102915b93841c9390800290620002e6565b509250929050565b6000826200033b57506001620003da565b816200034a57506000620003da565b81600181146200036357600281146200036e576200038e565b6001915050620003da565b60ff841115620003825762000382620002cb565b50506001821b620003da565b5060208310610133831016604e8410600b8410161715620003b3575081810a620003da565b620003bf8383620002e1565b8060001904821115620003d657620003d6620002cb565b0290505b92915050565b6000620003f160ff8416836200032a565b9392505050565b8082028115828204841417620003da57620003da620002cb565b6000826200043057634e487b7160e01b600052601260045260246000fd5b500490565b611a8a80620004456000396000f3fe60806040526004361061012e5760003560e01c8063751039fc116100ab57806395d89b411161006f57806395d89b4114610341578063a9059cbb1461036d578063bf474bed1461038d578063c876d0b9146103a3578063c9567bf9146103bd578063dd62ed3e146103d257600080fd5b8063751039fc146102b05780637d1db4a5146102c55780638da5cb5b146102db5780638f9a55c01461030d578063940d1f741461032357600080fd5b8063313ce567116100f2578063313ce56714610212578063507509dd1461022e57806351bc3c851461025057806370a0823114610265578063715018a61461029b57600080fd5b806306fdde031461013a578063095ea7b3146101895780630faee56f146101b957806318160ddd146101dd57806323b872dd146101f257600080fd5b3661013557005b600080fd5b34801561014657600080fd5b50604080518082019091526014815273426974636f696e204e616d65205365727669636560601b60208201525b6040516101809190611639565b60405180910390f35b34801561019557600080fd5b506101a96101a436600461169f565b610418565b6040519015158152602001610180565b3480156101c557600080fd5b506101cf60145481565b604051908152602001610180565b3480156101e957600080fd5b506101cf61042f565b3480156101fe57600080fd5b506101a961020d3660046116cb565b610450565b34801561021e57600080fd5b5060405160098152602001610180565b34801561023a57600080fd5b5061024e61024936600461169f565b6104b9565b005b34801561025c57600080fd5b5061024e610594565b34801561027157600080fd5b506101cf61028036600461170c565b6001600160a01b031660009081526001602052604090205490565b3480156102a757600080fd5b5061024e610670565b3480156102bc57600080fd5b5061024e6106e4565b3480156102d157600080fd5b506101cf60115481565b3480156102e757600080fd5b506000546001600160a01b03165b6040516001600160a01b039091168152602001610180565b34801561031957600080fd5b506101cf60125481565b34801561032f57600080fd5b506016546001600160a01b03166102f5565b34801561034d57600080fd5b50604080518082019091526003815262424e5360e81b6020820152610173565b34801561037957600080fd5b506101a961038836600461169f565b6107a0565b34801561039957600080fd5b506101cf60135481565b3480156103af57600080fd5b506005546101a99060ff1681565b3480156103c957600080fd5b5061024e6107ad565b3480156103de57600080fd5b506101cf6103ed366004611729565b6001600160a01b03918216600090815260026020908152604080832093909416825291909152205490565b6000610425338484610b69565b5060015b92915050565b600061043d6009600a61185c565b61044b906301406f4061186b565b905090565b600061045d848484610c8d565b6104af84336104aa85604051806060016040528060288152602001611a0d602891396001600160a01b038a166000908152600260209081526040808320338452909152902054919061121f565b610b69565b5060019392505050565b60055461010090046001600160a01b0316336001600160a01b0316146105265760405162461bcd60e51b815260206004820152601860248201527f43616c6c6572206973206e6f74207461782077616c6c6574000000000000000060448201526064015b60405180910390fd5b6001600160a01b0382166000908152600160205260409020546105499082611259565b6001600160a01b038316600081815260016020526040808220939093559151909190600080516020611a35833981519152906105889085815260200190565b60405180910390a35050565b60055461010090046001600160a01b0316336001600160a01b0316146105b957600080fd5b60006105c76009600a61185c565b6105d5906301406f4061186b565b6105e19061057861186b565b306000908152600160205260409020549091506105fe9082611259565b30600081815260016020526040808220939093559151909190600080516020611a35833981519152906106349085815260200190565b60405180910390a330600090815260016020526040902054801561065b5761065b816112bf565b47801561066b5761066b81611439565b505050565b6000546001600160a01b0316331461069a5760405162461bcd60e51b815260040161051d90611882565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b0316331461070e5760405162461bcd60e51b815260040161051d90611882565b61071a6009600a61185c565b610728906301406f4061186b565b6011556107376009600a61185c565b610745906301406f4061186b565b6012556005805460ff191690557f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf61077f6009600a61185c565b61078d906301406f4061186b565b60405190815260200160405180910390a1565b6000610425338484610c8d565b6000546001600160a01b031633146107d75760405162461bcd60e51b815260040161051d90611882565b601654600160a01b900460ff16156108315760405162461bcd60e51b815260206004820152601760248201527f74726164696e6720697320616c7265616479206f70656e000000000000000000604482015260640161051d565b601580546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d90811790915561087a90309061086c6009600a61185c565b6104aa906301406f4061186b565b601560009054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa1580156108cd573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108f191906118b7565b6001600160a01b031663c9c6539630601560009054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610953573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061097791906118b7565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af11580156109c4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109e891906118b7565b601680546001600160a01b039283166001600160a01b03199091161790556015541663f305d7194730610a30816001600160a01b031660009081526001602052604090205490565b600080610a456000546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af1158015610aad573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610ad291906118d4565b505060165460155460405163095ea7b360e01b81526001600160a01b03918216600482015260001960248201529116915063095ea7b3906044016020604051808303816000875af1158015610b2b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b4f9190611902565b506016805462ff00ff60a01b19166201000160a01b179055565b6001600160a01b038316610bcb5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b606482015260840161051d565b6001600160a01b038216610c2c5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b606482015260840161051d565b6001600160a01b0383811660008181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610cf15760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b606482015260840161051d565b6001600160a01b038216610d535760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b606482015260840161051d565b60008111610db55760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b606482015260840161051d565b600080546001600160a01b03858116911614801590610de257506000546001600160a01b03848116911614155b1561110057610e046064610dfe610df761147b565b85906114b9565b9061153b565b60055490915060ff1615610eec576015546001600160a01b03848116911614801590610e3e57506016546001600160a01b03848116911614155b15610eec57326000908152600460205260409020544311610ed95760405162461bcd60e51b815260206004820152604960248201527f5f7472616e736665723a3a205472616e736665722044656c617920656e61626c60448201527f65642e20204f6e6c79206f6e652070757263686173652070657220626c6f636b6064820152681030b63637bbb2b21760b91b608482015260a40161051d565b3260009081526004602052604090204390555b6016546001600160a01b038581169116148015610f1757506015546001600160a01b03848116911614155b8015610f3c57506001600160a01b03831660009081526003602052604090205460ff16155b1561102457601154821115610f935760405162461bcd60e51b815260206004820152601960248201527f4578636565647320746865205f6d61785478416d6f756e742e00000000000000604482015260640161051d565b60125482610fb6856001600160a01b031660009081526001602052604090205490565b610fc09190611924565b111561100e5760405162461bcd60e51b815260206004820152601a60248201527f4578636565647320746865206d617857616c6c657453697a652e000000000000604482015260640161051d565b6010805490600061101e83611937565b91905055505b6016546001600160a01b03848116911614801561104a57506001600160a01b0384163014155b156110625761105f6064610dfe610df761157d565b90505b30600090815260016020526040902054601654600160a81b900460ff1615801561109957506016546001600160a01b038581169116145b80156110ae5750601654600160b01b900460ff165b80156110bb575060135481115b80156110ca5750600f54601054115b156110fe576110ec6110e7846110e2846014546115b4565b6115b4565b6112bf565b4780156110fc576110fc47611439565b505b505b801561116857306000908152600160205260409020546111209082611259565b30600081815260016020526040908190209290925590516001600160a01b03861690600080516020611a358339815191529061115f9085815260200190565b60405180910390a35b6001600160a01b03841660009081526001602052604090205461118b90836115c9565b6001600160a01b0385166000908152600160205260409020556111d06111b183836115c9565b6001600160a01b03851660009081526001602052604090205490611259565b6001600160a01b038085166000818152600160205260409020929092558516600080516020611a3583398151915261120885856115c9565b60405190815260200160405180910390a350505050565b600081848411156112435760405162461bcd60e51b815260040161051d9190611639565b5060006112508486611950565b95945050505050565b6000806112668385611924565b9050838110156112b85760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015260640161051d565b9392505050565b6016805460ff60a81b1916600160a81b179055604080516002808252606082018352600092602083019080368337019050509050308160008151811061130757611307611963565b6001600160a01b03928316602091820292909201810191909152601554604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015611360573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061138491906118b7565b8160018151811061139757611397611963565b6001600160a01b0392831660209182029290920101526015546113bd9130911684610b69565b60155460405163791ac94760e01b81526001600160a01b039091169063791ac947906113f6908590600090869030904290600401611979565b600060405180830381600087803b15801561141057600080fd5b505af1158015611424573d6000803e3d6000fd5b50506016805460ff60a81b1916905550505050565b6005546040516101009091046001600160a01b0316906108fc8315029083906000818181858888f19350505050158015611477573d6000803e3d6000fd5b5050565b60006008546010541161148f575060065490565b6008546010541180156114a65750600b5460105411155b156114b2575060095490565b50600c5490565b6000826000036114cb57506000610429565b60006114d7838561186b565b9050826114e485836119ea565b146112b85760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b606482015260840161051d565b60006112b883836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f00000000000081525061160b565b600060085460105411611591575060075490565b6008546010541180156115a85750600b5460105411155b156114b25750600a5490565b60008183116115c357826112b8565b50919050565b60006112b883836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525061121f565b6000818361162c5760405162461bcd60e51b815260040161051d9190611639565b50600061125084866119ea565b600060208083528351808285015260005b818110156116665785810183015185820160400152820161164a565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b038116811461169c57600080fd5b50565b600080604083850312156116b257600080fd5b82356116bd81611687565b946020939093013593505050565b6000806000606084860312156116e057600080fd5b83356116eb81611687565b925060208401356116fb81611687565b929592945050506040919091013590565b60006020828403121561171e57600080fd5b81356112b881611687565b6000806040838503121561173c57600080fd5b823561174781611687565b9150602083013561175781611687565b809150509250929050565b634e487b7160e01b600052601160045260246000fd5b600181815b808511156117b357816000190482111561179957611799611762565b808516156117a657918102915b93841c939080029061177d565b509250929050565b6000826117ca57506001610429565b816117d757506000610429565b81600181146117ed57600281146117f757611813565b6001915050610429565b60ff84111561180857611808611762565b50506001821b610429565b5060208310610133831016604e8410600b8410161715611836575081810a610429565b6118408383611778565b806000190482111561185457611854611762565b029392505050565b60006112b860ff8416836117bb565b808202811582820484141761042957610429611762565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b6000602082840312156118c957600080fd5b81516112b881611687565b6000806000606084860312156118e957600080fd5b8351925060208401519150604084015190509250925092565b60006020828403121561191457600080fd5b815180151581146112b857600080fd5b8082018082111561042957610429611762565b60006001820161194957611949611762565b5060010190565b8181038181111561042957610429611762565b634e487b7160e01b600052603260045260246000fd5b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156119c95784516001600160a01b0316835293830193918301916001016119a4565b50506001600160a01b03969096166060850152505050608001529392505050565b600082611a0757634e487b7160e01b600052601260045260246000fd5b50049056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa2646970667358221220adf255f199711facc689f197d149ab64007e3130c49475443d9f93f49191882e64736f6c63430008110033
Deployed Bytecode
0x60806040526004361061012e5760003560e01c8063751039fc116100ab57806395d89b411161006f57806395d89b4114610341578063a9059cbb1461036d578063bf474bed1461038d578063c876d0b9146103a3578063c9567bf9146103bd578063dd62ed3e146103d257600080fd5b8063751039fc146102b05780637d1db4a5146102c55780638da5cb5b146102db5780638f9a55c01461030d578063940d1f741461032357600080fd5b8063313ce567116100f2578063313ce56714610212578063507509dd1461022e57806351bc3c851461025057806370a0823114610265578063715018a61461029b57600080fd5b806306fdde031461013a578063095ea7b3146101895780630faee56f146101b957806318160ddd146101dd57806323b872dd146101f257600080fd5b3661013557005b600080fd5b34801561014657600080fd5b50604080518082019091526014815273426974636f696e204e616d65205365727669636560601b60208201525b6040516101809190611639565b60405180910390f35b34801561019557600080fd5b506101a96101a436600461169f565b610418565b6040519015158152602001610180565b3480156101c557600080fd5b506101cf60145481565b604051908152602001610180565b3480156101e957600080fd5b506101cf61042f565b3480156101fe57600080fd5b506101a961020d3660046116cb565b610450565b34801561021e57600080fd5b5060405160098152602001610180565b34801561023a57600080fd5b5061024e61024936600461169f565b6104b9565b005b34801561025c57600080fd5b5061024e610594565b34801561027157600080fd5b506101cf61028036600461170c565b6001600160a01b031660009081526001602052604090205490565b3480156102a757600080fd5b5061024e610670565b3480156102bc57600080fd5b5061024e6106e4565b3480156102d157600080fd5b506101cf60115481565b3480156102e757600080fd5b506000546001600160a01b03165b6040516001600160a01b039091168152602001610180565b34801561031957600080fd5b506101cf60125481565b34801561032f57600080fd5b506016546001600160a01b03166102f5565b34801561034d57600080fd5b50604080518082019091526003815262424e5360e81b6020820152610173565b34801561037957600080fd5b506101a961038836600461169f565b6107a0565b34801561039957600080fd5b506101cf60135481565b3480156103af57600080fd5b506005546101a99060ff1681565b3480156103c957600080fd5b5061024e6107ad565b3480156103de57600080fd5b506101cf6103ed366004611729565b6001600160a01b03918216600090815260026020908152604080832093909416825291909152205490565b6000610425338484610b69565b5060015b92915050565b600061043d6009600a61185c565b61044b906301406f4061186b565b905090565b600061045d848484610c8d565b6104af84336104aa85604051806060016040528060288152602001611a0d602891396001600160a01b038a166000908152600260209081526040808320338452909152902054919061121f565b610b69565b5060019392505050565b60055461010090046001600160a01b0316336001600160a01b0316146105265760405162461bcd60e51b815260206004820152601860248201527f43616c6c6572206973206e6f74207461782077616c6c6574000000000000000060448201526064015b60405180910390fd5b6001600160a01b0382166000908152600160205260409020546105499082611259565b6001600160a01b038316600081815260016020526040808220939093559151909190600080516020611a35833981519152906105889085815260200190565b60405180910390a35050565b60055461010090046001600160a01b0316336001600160a01b0316146105b957600080fd5b60006105c76009600a61185c565b6105d5906301406f4061186b565b6105e19061057861186b565b306000908152600160205260409020549091506105fe9082611259565b30600081815260016020526040808220939093559151909190600080516020611a35833981519152906106349085815260200190565b60405180910390a330600090815260016020526040902054801561065b5761065b816112bf565b47801561066b5761066b81611439565b505050565b6000546001600160a01b0316331461069a5760405162461bcd60e51b815260040161051d90611882565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b0316331461070e5760405162461bcd60e51b815260040161051d90611882565b61071a6009600a61185c565b610728906301406f4061186b565b6011556107376009600a61185c565b610745906301406f4061186b565b6012556005805460ff191690557f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf61077f6009600a61185c565b61078d906301406f4061186b565b60405190815260200160405180910390a1565b6000610425338484610c8d565b6000546001600160a01b031633146107d75760405162461bcd60e51b815260040161051d90611882565b601654600160a01b900460ff16156108315760405162461bcd60e51b815260206004820152601760248201527f74726164696e6720697320616c7265616479206f70656e000000000000000000604482015260640161051d565b601580546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d90811790915561087a90309061086c6009600a61185c565b6104aa906301406f4061186b565b601560009054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa1580156108cd573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108f191906118b7565b6001600160a01b031663c9c6539630601560009054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610953573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061097791906118b7565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af11580156109c4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109e891906118b7565b601680546001600160a01b039283166001600160a01b03199091161790556015541663f305d7194730610a30816001600160a01b031660009081526001602052604090205490565b600080610a456000546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af1158015610aad573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610ad291906118d4565b505060165460155460405163095ea7b360e01b81526001600160a01b03918216600482015260001960248201529116915063095ea7b3906044016020604051808303816000875af1158015610b2b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b4f9190611902565b506016805462ff00ff60a01b19166201000160a01b179055565b6001600160a01b038316610bcb5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b606482015260840161051d565b6001600160a01b038216610c2c5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b606482015260840161051d565b6001600160a01b0383811660008181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610cf15760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b606482015260840161051d565b6001600160a01b038216610d535760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b606482015260840161051d565b60008111610db55760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b606482015260840161051d565b600080546001600160a01b03858116911614801590610de257506000546001600160a01b03848116911614155b1561110057610e046064610dfe610df761147b565b85906114b9565b9061153b565b60055490915060ff1615610eec576015546001600160a01b03848116911614801590610e3e57506016546001600160a01b03848116911614155b15610eec57326000908152600460205260409020544311610ed95760405162461bcd60e51b815260206004820152604960248201527f5f7472616e736665723a3a205472616e736665722044656c617920656e61626c60448201527f65642e20204f6e6c79206f6e652070757263686173652070657220626c6f636b6064820152681030b63637bbb2b21760b91b608482015260a40161051d565b3260009081526004602052604090204390555b6016546001600160a01b038581169116148015610f1757506015546001600160a01b03848116911614155b8015610f3c57506001600160a01b03831660009081526003602052604090205460ff16155b1561102457601154821115610f935760405162461bcd60e51b815260206004820152601960248201527f4578636565647320746865205f6d61785478416d6f756e742e00000000000000604482015260640161051d565b60125482610fb6856001600160a01b031660009081526001602052604090205490565b610fc09190611924565b111561100e5760405162461bcd60e51b815260206004820152601a60248201527f4578636565647320746865206d617857616c6c657453697a652e000000000000604482015260640161051d565b6010805490600061101e83611937565b91905055505b6016546001600160a01b03848116911614801561104a57506001600160a01b0384163014155b156110625761105f6064610dfe610df761157d565b90505b30600090815260016020526040902054601654600160a81b900460ff1615801561109957506016546001600160a01b038581169116145b80156110ae5750601654600160b01b900460ff165b80156110bb575060135481115b80156110ca5750600f54601054115b156110fe576110ec6110e7846110e2846014546115b4565b6115b4565b6112bf565b4780156110fc576110fc47611439565b505b505b801561116857306000908152600160205260409020546111209082611259565b30600081815260016020526040908190209290925590516001600160a01b03861690600080516020611a358339815191529061115f9085815260200190565b60405180910390a35b6001600160a01b03841660009081526001602052604090205461118b90836115c9565b6001600160a01b0385166000908152600160205260409020556111d06111b183836115c9565b6001600160a01b03851660009081526001602052604090205490611259565b6001600160a01b038085166000818152600160205260409020929092558516600080516020611a3583398151915261120885856115c9565b60405190815260200160405180910390a350505050565b600081848411156112435760405162461bcd60e51b815260040161051d9190611639565b5060006112508486611950565b95945050505050565b6000806112668385611924565b9050838110156112b85760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015260640161051d565b9392505050565b6016805460ff60a81b1916600160a81b179055604080516002808252606082018352600092602083019080368337019050509050308160008151811061130757611307611963565b6001600160a01b03928316602091820292909201810191909152601554604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015611360573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061138491906118b7565b8160018151811061139757611397611963565b6001600160a01b0392831660209182029290920101526015546113bd9130911684610b69565b60155460405163791ac94760e01b81526001600160a01b039091169063791ac947906113f6908590600090869030904290600401611979565b600060405180830381600087803b15801561141057600080fd5b505af1158015611424573d6000803e3d6000fd5b50506016805460ff60a81b1916905550505050565b6005546040516101009091046001600160a01b0316906108fc8315029083906000818181858888f19350505050158015611477573d6000803e3d6000fd5b5050565b60006008546010541161148f575060065490565b6008546010541180156114a65750600b5460105411155b156114b2575060095490565b50600c5490565b6000826000036114cb57506000610429565b60006114d7838561186b565b9050826114e485836119ea565b146112b85760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b606482015260840161051d565b60006112b883836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f00000000000081525061160b565b600060085460105411611591575060075490565b6008546010541180156115a85750600b5460105411155b156114b25750600a5490565b60008183116115c357826112b8565b50919050565b60006112b883836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525061121f565b6000818361162c5760405162461bcd60e51b815260040161051d9190611639565b50600061125084866119ea565b600060208083528351808285015260005b818110156116665785810183015185820160400152820161164a565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b038116811461169c57600080fd5b50565b600080604083850312156116b257600080fd5b82356116bd81611687565b946020939093013593505050565b6000806000606084860312156116e057600080fd5b83356116eb81611687565b925060208401356116fb81611687565b929592945050506040919091013590565b60006020828403121561171e57600080fd5b81356112b881611687565b6000806040838503121561173c57600080fd5b823561174781611687565b9150602083013561175781611687565b809150509250929050565b634e487b7160e01b600052601160045260246000fd5b600181815b808511156117b357816000190482111561179957611799611762565b808516156117a657918102915b93841c939080029061177d565b509250929050565b6000826117ca57506001610429565b816117d757506000610429565b81600181146117ed57600281146117f757611813565b6001915050610429565b60ff84111561180857611808611762565b50506001821b610429565b5060208310610133831016604e8410600b8410161715611836575081810a610429565b6118408383611778565b806000190482111561185457611854611762565b029392505050565b60006112b860ff8416836117bb565b808202811582820484141761042957610429611762565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b6000602082840312156118c957600080fd5b81516112b881611687565b6000806000606084860312156118e957600080fd5b8351925060208401519150604084015190509250925092565b60006020828403121561191457600080fd5b815180151581146112b857600080fd5b8082018082111561042957610429611762565b60006001820161194957611949611762565b5060010190565b8181038181111561042957610429611762565b634e487b7160e01b600052603260045260246000fd5b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156119c95784516001600160a01b0316835293830193918301916001016119a4565b50506001600160a01b03969096166060850152505050608001529392505050565b600082611a0757634e487b7160e01b600052601260045260246000fd5b50049056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa2646970667358221220adf255f199711facc689f197d149ab64007e3130c49475443d9f93f49191882e64736f6c63430008110033
Deployed Bytecode Sourcemap
3602:9156:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5634:83;;;;;;;;;;-1:-1:-1;5704:5:0;;;;;;;;;;;;-1:-1:-1;;;5704:5:0;;;;5634:83;;;;;;;:::i;:::-;;;;;;;;6467:161;;;;;;;;;;-1:-1:-1;6467:161:0;;;;;:::i;:::-;;:::i;:::-;;;1188:14:1;;1181:22;1163:41;;1151:2;1136:18;6467:161:0;1023:187:1;4915:46:0;;;;;;;;;;;;;;;;;;;1361:25:1;;;1349:2;1334:18;4915:46:0;1215:177:1;5911:95:0;;;;;;;;;;;;;:::i;6636:313::-;;;;;;;;;;-1:-1:-1;6636:313:0;;;;;:::i;:::-;;:::i;5820:83::-;;;;;;;;;;-1:-1:-1;5820:83:0;;4544:1;2000:36:1;;1988:2;1973:18;5820:83:0;1858:184:1;11835:231:0;;;;;;;;;;-1:-1:-1;11835:231:0;;;;;:::i;:::-;;:::i;:::-;;12111:541;;;;;;;;;;;;;:::i;6014:119::-;;;;;;;;;;-1:-1:-1;6014:119:0;;;;;:::i;:::-;-1:-1:-1;;;;;6107:18:0;6080:7;6107:18;;;:9;:18;;;;;;;6014:119;2683:148;;;;;;;;;;;;;:::i;10850:196::-;;;;;;;;;;;;;:::i;4743:48::-;;;;;;;;;;;;;;;;2469:79;;;;;;;;;;-1:-1:-1;2507:7:0;2534:6;-1:-1:-1;;;;;2534:6:0;2469:79;;;-1:-1:-1;;;;;2463:32:1;;;2445:51;;2433:2;2418:18;2469:79:0;2299:203:1;4798:50:0;;;;;;;;;;;;;;;;12658:95;;;;;;;;;;-1:-1:-1;12732:13:0;;-1:-1:-1;;;;;12732:13:0;12658:95;;5725:87;;;;;;;;;;-1:-1:-1;5797:7:0;;;;;;;;;;;;-1:-1:-1;;;5797:7:0;;;;5725:87;;6141:167;;;;;;;;;;-1:-1:-1;6141:167:0;;;;;:::i;:::-;;:::i;4855:53::-;;;;;;;;;;;;;;;;3942:39;;;;;;;;;;-1:-1:-1;3942:39:0;;;;;;;;11156:671;;;;;;;;;;;;;:::i;6316:143::-;;;;;;;;;;-1:-1:-1;6316:143:0;;;;;:::i;:::-;-1:-1:-1;;;;;6424:18:0;;;6397:7;6424:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;6316:143;6467:161;6542:4;6559:39;304:10;6582:7;6591:6;6559:8;:39::i;:::-;-1:-1:-1;6616:4:0;6467:161;;;;;:::o;5911:95::-;5964:7;4600:13;4544:1;4600:2;:13;:::i;:::-;4587:26;;:10;:26;:::i;:::-;5984:14;;5911:95;:::o;6636:313::-;6734:4;6751:36;6761:6;6769:9;6780:6;6751:9;:36::i;:::-;6798:121;6807:6;304:10;6829:89;6867:6;6829:89;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;6829:19:0;;;;;;:11;:19;;;;;;;;304:10;6829:33;;;;;;;;;;:37;:89::i;:::-;6798:8;:121::i;:::-;-1:-1:-1;6937:4:0;6636:313;;;;;:::o;11835:231::-;11921:10;;;;;-1:-1:-1;;;;;11921:10:0;304;-1:-1:-1;;;;;11907:24:0;;11899:61;;;;-1:-1:-1;;;11899:61:0;;4790:2:1;11899:61:0;;;4772:21:1;4829:2;4809:18;;;4802:30;4868:26;4848:18;;;4841:54;4912:18;;11899:61:0;;;;;;;;;-1:-1:-1;;;;;11989:13:0;;;;;;:9;:13;;;;;;:25;;12007:6;11989:17;:25::i;:::-;-1:-1:-1;;;;;11973:13:0;;;;;;:9;:13;;;;;;:41;;;;12026:32;;11973:13;;;-1:-1:-1;;;;;;;;;;;12026:32:0;;;12051:6;1361:25:1;;1349:2;1334:18;;1215:177;12026:32:0;;;;;;;;11835:231;;:::o;12111:541::-;12175:10;;;;;-1:-1:-1;;;;;12175:10:0;304;-1:-1:-1;;;;;12161:24:0;;12153:33;;;;;;12197:18;4600:13;4544:1;4600:2;:13;:::i;:::-;4587:26;;:10;:26;:::i;:::-;12218:14;;:4;:14;:::i;:::-;12290:4;12272:24;;;;:9;:24;;;;;;12197:35;;-1:-1:-1;12272:40:0;;12197:35;12272:28;:40::i;:::-;12263:4;12245:24;;;;:9;:24;;;;;;:67;;;;12328:49;;12263:4;;12245:24;-1:-1:-1;;;;;;;;;;;12328:49:0;;;12366:10;1361:25:1;;1349:2;1334:18;;1215:177;12328:49:0;;;;;;;;12429:4;12390:20;6107:18;;;:9;:18;;;;;;12449:14;;12446:73;;12477:30;12494:12;12477:16;:30::i;:::-;12548:21;12583:12;;12580:65;;12609:24;12622:10;12609:12;:24::i;:::-;12142:510;;;12111:541::o;2683:148::-;2596:6;;-1:-1:-1;;;;;2596:6:0;304:10;2596:22;2588:67;;;;-1:-1:-1;;;2588:67:0;;;;;;;:::i;:::-;2790:1:::1;2774:6:::0;;2753:40:::1;::::0;-1:-1:-1;;;;;2774:6:0;;::::1;::::0;2753:40:::1;::::0;2790:1;;2753:40:::1;2821:1;2804:19:::0;;-1:-1:-1;;;;;;2804:19:0::1;::::0;;2683:148::o;10850:196::-;2596:6;;-1:-1:-1;;;;;2596:6:0;304:10;2596:22;2588:67;;;;-1:-1:-1;;;2588:67:0;;;;;;;:::i;:::-;4600:13:::1;4544:1;4600:2;:13;:::i;:::-;4587:26;::::0;:10:::1;:26;:::i;:::-;10903:12;:22:::0;4600:13:::1;4544:1;4600:2;:13;:::i;:::-;4587:26;::::0;:10:::1;:26;:::i;:::-;10936:14;:22:::0;10969:20:::1;:26:::0;;-1:-1:-1;;10969:26:0::1;::::0;;11011:27:::1;4600:13;4544:1;4600:2;:13;:::i;:::-;4587:26;::::0;:10:::1;:26;:::i;:::-;11011:27;::::0;1361:25:1;;;1349:2;1334:18;11011:27:0::1;;;;;;;10850:196::o:0;6141:167::-;6219:4;6236:42;304:10;6260:9;6271:6;6236:9;:42::i;11156:671::-;2596:6;;-1:-1:-1;;;;;2596:6:0;304:10;2596:22;2588:67;;;;-1:-1:-1;;;2588:67:0;;;;;;;:::i;:::-;11220:11:::1;::::0;-1:-1:-1;;;11220:11:0;::::1;;;11219:12;11211:47;;;::::0;-1:-1:-1;;;11211:47:0;;5504:2:1;11211:47:0::1;::::0;::::1;5486:21:1::0;5543:2;5523:18;;;5516:30;5582:25;5562:18;;;5555:53;5625:18;;11211:47:0::1;5302:347:1::0;11211:47:0::1;11269:15;:80:::0;;-1:-1:-1;;;;;;11269:80:0::1;11306:42;11269:80:::0;;::::1;::::0;;;11360:58:::1;::::0;11377:4:::1;::::0;4600:13:::1;4544:1;4600:2;:13;:::i;:::-;4587:26;::::0;:10:::1;:26;:::i;11360:58::-;11463:15;;;;;;;;;-1:-1:-1::0;;;;;11463:15:0::1;-1:-1:-1::0;;;;;11463:23:0::1;;:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;11445:55:0::1;;11509:4;11516:15;;;;;;;;;-1:-1:-1::0;;;;;11516:15:0::1;-1:-1:-1::0;;;;;11516:20:0::1;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11445:94;::::0;-1:-1:-1;;;;;;11445:94:0::1;::::0;;;;;;-1:-1:-1;;;;;6140:15:1;;;11445:94:0::1;::::0;::::1;6122:34:1::0;6192:15;;6172:18;;;6165:43;6057:18;;11445:94:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11429:13;:110:::0;;-1:-1:-1;;;;;11429:110:0;;::::1;-1:-1:-1::0;;;;;;11429:110:0;;::::1;;::::0;;11550:15:::1;::::0;::::1;:31;11589:21;11620:4;11626:24;11620:4:::0;-1:-1:-1;;;;;6107:18:0;6080:7;6107:18;;;:9;:18;;;;;;;6014:119;11626:24:::1;11651:1;11653::::0;11655:7:::1;2507::::0;2534:6;-1:-1:-1;;;;;2534:6:0;;2469:79;11655:7:::1;11550:129;::::0;::::1;::::0;;;-1:-1:-1;;;;;;11550:129:0;;;-1:-1:-1;;;;;6578:15:1;;;11550:129:0::1;::::0;::::1;6560:34:1::0;6610:18;;;6603:34;;;;6653:18;;;6646:34;;;;6696:18;;;6689:34;6760:15;;;6739:19;;;6732:44;11663:15:0::1;6792:19:1::0;;;6785:35;6494:19;;11550:129:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;11697:13:0::1;::::0;11728:15:::1;::::0;11690:71:::1;::::0;-1:-1:-1;;;11690:71:0;;-1:-1:-1;;;;;11728:15:0;;::::1;11690:71;::::0;::::1;7316:51:1::0;-1:-1:-1;;7383:18:1;;;7376:34;11697:13:0;::::1;::::0;-1:-1:-1;11690:29:0::1;::::0;7289:18:1;;11690:71:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;11772:11:0::1;:18:::0;;-1:-1:-1;;;;11801:18:0;-1:-1:-1;;;11801:18:0;;;11156:671::o;6957:335::-;-1:-1:-1;;;;;7050:19:0;;7042:68;;;;-1:-1:-1;;;7042:68:0;;7905:2:1;7042:68:0;;;7887:21:1;7944:2;7924:18;;;7917:30;7983:34;7963:18;;;7956:62;-1:-1:-1;;;8034:18:1;;;8027:34;8078:19;;7042:68:0;7703:400:1;7042:68:0;-1:-1:-1;;;;;7129:21:0;;7121:68;;;;-1:-1:-1;;;7121:68:0;;8310:2:1;7121:68:0;;;8292:21:1;8349:2;8329:18;;;8322:30;8388:34;8368:18;;;8361:62;-1:-1:-1;;;8439:18:1;;;8432:32;8481:19;;7121:68:0;8108:398:1;7121:68:0;-1:-1:-1;;;;;7200:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;7252:32;;1361:25:1;;;7252:32:0;;1334:18:1;7252:32:0;;;;;;;6957:335;;;:::o;7300:2306::-;-1:-1:-1;;;;;7388:18:0;;7380:68;;;;-1:-1:-1;;;7380:68:0;;8713:2:1;7380:68:0;;;8695:21:1;8752:2;8732:18;;;8725:30;8791:34;8771:18;;;8764:62;-1:-1:-1;;;8842:18:1;;;8835:35;8887:19;;7380:68:0;8511:401:1;7380:68:0;-1:-1:-1;;;;;7467:16:0;;7459:64;;;;-1:-1:-1;;;7459:64:0;;9119:2:1;7459:64:0;;;9101:21:1;9158:2;9138:18;;;9131:30;9197:34;9177:18;;;9170:62;-1:-1:-1;;;9248:18:1;;;9241:33;9291:19;;7459:64:0;8917:399:1;7459:64:0;7551:1;7542:6;:10;7534:64;;;;-1:-1:-1;;;7534:64:0;;9523:2:1;7534:64:0;;;9505:21:1;9562:2;9542:18;;;9535:30;9601:34;9581:18;;;9574:62;-1:-1:-1;;;9652:18:1;;;9645:39;9701:19;;7534:64:0;9321:405:1;7534:64:0;7609:17;2534:6;;-1:-1:-1;;;;;7643:15:0;;;2534:6;;7643:15;;;;:32;;-1:-1:-1;2507:7:0;2534:6;-1:-1:-1;;;;;7662:13:0;;;2534:6;;7662:13;;7643:32;7639:1611;;;7704:30;7730:3;7704:21;7715:9;:7;:9::i;:::-;7704:6;;:10;:21::i;:::-;:25;;:30::i;:::-;7755:20;;7692:42;;-1:-1:-1;7755:20:0;;7751:509;;;7816:15;;-1:-1:-1;;;;;7802:30:0;;;7816:15;;7802:30;;;;:62;;-1:-1:-1;7850:13:0;;-1:-1:-1;;;;;7836:28:0;;;7850:13;;7836:28;;7802:62;7798:445;;;7957:9;7928:39;;;;:28;:39;;;;;;8001:12;-1:-1:-1;7892:250:0;;;;-1:-1:-1;;;7892:250:0;;9933:2:1;7892:250:0;;;9915:21:1;9972:2;9952:18;;;9945:30;10011:34;9991:18;;;9984:62;10082:34;10062:18;;;10055:62;-1:-1:-1;;;10133:19:1;;;10126:40;10183:19;;7892:250:0;9731:477:1;7892:250:0;8196:9;8167:39;;;;:28;:39;;;;;8209:12;8167:54;;7798:445;8288:13;;-1:-1:-1;;;;;8280:21:0;;;8288:13;;8280:21;:55;;;;-1:-1:-1;8319:15:0;;-1:-1:-1;;;;;8305:30:0;;;8319:15;;8305:30;;8280:55;:83;;;;-1:-1:-1;;;;;;8341:22:0;;;;;;:18;:22;;;;;;;;8339:24;8280:83;8276:313;;;8403:12;;8393:6;:22;;8385:60;;;;-1:-1:-1;;;8385:60:0;;10415:2:1;8385:60:0;;;10397:21:1;10454:2;10434:18;;;10427:30;10493:27;10473:18;;;10466:55;10538:18;;8385:60:0;10213:349:1;8385:60:0;8498:14;;8488:6;8472:13;8482:2;-1:-1:-1;;;;;6107:18:0;6080:7;6107:18;;;:9;:18;;;;;;;6014:119;8472:13;:22;;;;:::i;:::-;:40;;8464:79;;;;-1:-1:-1;;;8464:79:0;;10899:2:1;8464:79:0;;;10881:21:1;10938:2;10918:18;;;10911:30;10977:28;10957:18;;;10950:56;11023:18;;8464:79:0;10697:350:1;8464:79:0;8562:9;:11;;;:9;:11;;;:::i;:::-;;;;;;8276:313;8614:13;;-1:-1:-1;;;;;8608:19:0;;;8614:13;;8608:19;:43;;;;-1:-1:-1;;;;;;8631:20:0;;8646:4;8631:20;;8608:43;8605:126;;;8684:31;8711:3;8684:22;8695:10;:8;:10::i;8684:31::-;8672:43;;8605:126;8796:4;8747:28;6107:18;;;:9;:18;;;;;;8822:6;;-1:-1:-1;;;8822:6:0;;;;8821:7;:32;;;;-1:-1:-1;8840:13:0;;-1:-1:-1;;;;;8832:21:0;;;8840:13;;8832:21;8821:32;:47;;;;-1:-1:-1;8857:11:0;;-1:-1:-1;;;8857:11:0;;;;8821:47;:89;;;;;8893:17;;8872:20;:38;8821:89;:121;;;;;8924:18;;8914:9;;:28;8821:121;8817:422;;;8963:67;8980:49;8984:6;8991:37;8995:20;9016:11;;8991:3;:37::i;:::-;8980:3;:49::i;:::-;8963:16;:67::i;:::-;9078:21;9121:22;;9118:106;;9169:35;9182:21;9169:12;:35::i;:::-;8944:295;8817:422;7677:1573;7639:1611;9265:11;;9262:161;;9333:4;9315:24;;;;:9;:24;;;;;;:39;;9344:9;9315:28;:39::i;:::-;9308:4;9290:24;;;;:9;:24;;;;;;;:64;;;;9372:39;;-1:-1:-1;;;;;9372:39:0;;;-1:-1:-1;;;;;;;;;;;9372:39:0;;;9401:9;1361:25:1;;1349:2;1334:18;;1215:177;9372:39:0;;;;;;;;9262:161;-1:-1:-1;;;;;9449:15:0;;;;;;:9;:15;;;;;;:27;;9469:6;9449:19;:27::i;:::-;-1:-1:-1;;;;;9433:15:0;;;;;;:9;:15;;;;;:43;9501:40;9519:21;:6;9530:9;9519:10;:21::i;:::-;-1:-1:-1;;;;;9501:13:0;;;;;;:9;:13;;;;;;;:17;:40::i;:::-;-1:-1:-1;;;;;9487:13:0;;;;;;;:9;:13;;;;;:54;;;;9557:41;;-1:-1:-1;;;;;;;;;;;9576:21:0;:6;9587:9;9576:10;:21::i;:::-;9557:41;;1361:25:1;;;1349:2;1334:18;9557:41:0;;;;;;;7369:2237;7300:2306;;;:::o;1361:190::-;1447:7;1483:12;1475:6;;;;1467:29;;;;-1:-1:-1;;;1467:29:0;;;;;;;;:::i;:::-;-1:-1:-1;1507:9:0;1519:5;1523:1;1519;:5;:::i;:::-;1507:17;1361:190;-1:-1:-1;;;;;1361:190:0:o;1030:179::-;1088:7;;1120:5;1124:1;1120;:5;:::i;:::-;1108:17;;1149:1;1144;:6;;1136:46;;;;-1:-1:-1;;;1136:46:0;;11527:2:1;1136:46:0;;;11509:21:1;11566:2;11546:18;;;11539:30;11605:29;11585:18;;;11578:57;11652:18;;1136:46:0;11325:351:1;1136:46:0;1200:1;1030:179;-1:-1:-1;;;1030:179:0:o;10359:483::-;5243:6;:13;;-1:-1:-1;;;;5243:13:0;-1:-1:-1;;;5243:13:0;;;10461:16:::1;::::0;;10475:1:::1;10461:16:::0;;;;;::::1;::::0;;-1:-1:-1;;10461:16:0::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;10461:16:0::1;10437:40;;10506:4;10488;10493:1;10488:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;10488:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;;:23;;;;10532:15:::1;::::0;:22:::1;::::0;;-1:-1:-1;;;10532:22:0;;;;:15;;;::::1;::::0;:20:::1;::::0;:22:::1;::::0;;::::1;::::0;10488:7;;10532:22;;;;;:15;:22:::1;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10522:4;10527:1;10522:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;10522:32:0;;::::1;:7;::::0;;::::1;::::0;;;;;:32;10597:15:::1;::::0;10565:62:::1;::::0;10582:4:::1;::::0;10597:15:::1;10615:11:::0;10565:8:::1;:62::i;:::-;10638:15;::::0;:196:::1;::::0;-1:-1:-1;;;10638:196:0;;-1:-1:-1;;;;;10638:15:0;;::::1;::::0;:66:::1;::::0;:196:::1;::::0;10719:11;;10638:15:::1;::::0;10761:4;;10788::::1;::::0;10808:15:::1;::::0;10638:196:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;;5279:6:0;:14;;-1:-1:-1;;;;5279:14:0;;;-1:-1:-1;;;;10359:483:0:o;11054:92::-;11111:10;;:27;;:10;;;;-1:-1:-1;;;;;11111:10:0;;:27;;;;;;;;;;;;:10;:27;;;;;;;;;;;;;;;;;;;;;11054:92;:::o;9614:310::-;9655:7;9691:15;;9678:9;;:28;9675:80;;-1:-1:-1;9729:14:0;;;9614:310::o;9675:80::-;9780:15;;9768:9;;:27;:64;;;;;9812:20;;9799:9;;:33;;9768:64;9765:121;;;-1:-1:-1;9855:19:0;;;9614:310::o;9765:121::-;-1:-1:-1;9904:12:0;;;9614:310::o;1559:246::-;1617:7;1641:1;1646;1641:6;1637:47;;-1:-1:-1;1671:1:0;1664:8;;1637:47;1694:9;1706:5;1710:1;1706;:5;:::i;:::-;1694:17;-1:-1:-1;1739:1:0;1730:5;1734:1;1694:17;1730:5;:::i;:::-;:10;1722:56;;;;-1:-1:-1;;;1722:56:0;;13354:2:1;1722:56:0;;;13336:21:1;13393:2;13373:18;;;13366:30;13432:34;13412:18;;;13405:62;-1:-1:-1;;;13483:18:1;;;13476:31;13524:19;;1722:56:0;13152:397:1;1813:132:0;1871:7;1898:39;1902:1;1905;1898:39;;;;;;;;;;;;;;;;;:3;:39::i;9932:313::-;9974:7;10010:15;;9997:9;;:28;9994:81;;-1:-1:-1;10048:15:0;;;9932:313::o;9994:81::-;10100:15;;10088:9;;:27;:64;;;;;10132:20;;10119:9;;:33;;10088:64;10085:122;;;-1:-1:-1;10175:20:0;;;9932:313::o;10253:98::-;10310:7;10337:1;10335;:3;10334:9;;10342:1;10334:9;;;-1:-1:-1;10340:1:0;10253:98;-1:-1:-1;10253:98:0:o;1217:136::-;1275:7;1302:43;1306:1;1309;1302:43;;;;;;;;;;;;;;;;;:3;:43::i;1953:189::-;2039:7;2074:12;2067:5;2059:28;;;;-1:-1:-1;;;2059:28:0;;;;;;;;:::i;:::-;-1:-1:-1;2098:9:0;2110:5;2114:1;2110;:5;:::i;14:548:1:-;126:4;155:2;184;173:9;166:21;216:6;210:13;259:6;254:2;243:9;239:18;232:34;284:1;294:140;308:6;305:1;302:13;294:140;;;403:14;;;399:23;;393:30;369:17;;;388:2;365:26;358:66;323:10;;294:140;;;298:3;483:1;478:2;469:6;458:9;454:22;450:31;443:42;553:2;546;542:7;537:2;529:6;525:15;521:29;510:9;506:45;502:54;494:62;;;;14:548;;;;:::o;567:131::-;-1:-1:-1;;;;;642:31:1;;632:42;;622:70;;688:1;685;678:12;622:70;567:131;:::o;703:315::-;771:6;779;832:2;820:9;811:7;807:23;803:32;800:52;;;848:1;845;838:12;800:52;887:9;874:23;906:31;931:5;906:31;:::i;:::-;956:5;1008:2;993:18;;;;980:32;;-1:-1:-1;;;703:315:1:o;1397:456::-;1474:6;1482;1490;1543:2;1531:9;1522:7;1518:23;1514:32;1511:52;;;1559:1;1556;1549:12;1511:52;1598:9;1585:23;1617:31;1642:5;1617:31;:::i;:::-;1667:5;-1:-1:-1;1724:2:1;1709:18;;1696:32;1737:33;1696:32;1737:33;:::i;:::-;1397:456;;1789:7;;-1:-1:-1;;;1843:2:1;1828:18;;;;1815:32;;1397:456::o;2047:247::-;2106:6;2159:2;2147:9;2138:7;2134:23;2130:32;2127:52;;;2175:1;2172;2165:12;2127:52;2214:9;2201:23;2233:31;2258:5;2233:31;:::i;2507:388::-;2575:6;2583;2636:2;2624:9;2615:7;2611:23;2607:32;2604:52;;;2652:1;2649;2642:12;2604:52;2691:9;2678:23;2710:31;2735:5;2710:31;:::i;:::-;2760:5;-1:-1:-1;2817:2:1;2802:18;;2789:32;2830:33;2789:32;2830:33;:::i;:::-;2882:7;2872:17;;;2507:388;;;;;:::o;2900:127::-;2961:10;2956:3;2952:20;2949:1;2942:31;2992:4;2989:1;2982:15;3016:4;3013:1;3006:15;3032:422;3121:1;3164:5;3121:1;3178:270;3199:7;3189:8;3186:21;3178:270;;;3258:4;3254:1;3250:6;3246:17;3240:4;3237:27;3234:53;;;3267:18;;:::i;:::-;3317:7;3307:8;3303:22;3300:55;;;3337:16;;;;3300:55;3416:22;;;;3376:15;;;;3178:270;;;3182:3;3032:422;;;;;:::o;3459:806::-;3508:5;3538:8;3528:80;;-1:-1:-1;3579:1:1;3593:5;;3528:80;3627:4;3617:76;;-1:-1:-1;3664:1:1;3678:5;;3617:76;3709:4;3727:1;3722:59;;;;3795:1;3790:130;;;;3702:218;;3722:59;3752:1;3743:10;;3766:5;;;3790:130;3827:3;3817:8;3814:17;3811:43;;;3834:18;;:::i;:::-;-1:-1:-1;;3890:1:1;3876:16;;3905:5;;3702:218;;4004:2;3994:8;3991:16;3985:3;3979:4;3976:13;3972:36;3966:2;3956:8;3953:16;3948:2;3942:4;3939:12;3935:35;3932:77;3929:159;;;-1:-1:-1;4041:19:1;;;4073:5;;3929:159;4120:34;4145:8;4139:4;4120:34;:::i;:::-;4190:6;4186:1;4182:6;4178:19;4169:7;4166:32;4163:58;;;4201:18;;:::i;:::-;4239:20;;3459:806;-1:-1:-1;;;3459:806:1:o;4270:140::-;4328:5;4357:47;4398:4;4388:8;4384:19;4378:4;4357:47;:::i;4415:168::-;4488:9;;;4519;;4536:15;;;4530:22;;4516:37;4506:71;;4557:18;;:::i;4941:356::-;5143:2;5125:21;;;5162:18;;;5155:30;5221:34;5216:2;5201:18;;5194:62;5288:2;5273:18;;4941:356::o;5654:251::-;5724:6;5777:2;5765:9;5756:7;5752:23;5748:32;5745:52;;;5793:1;5790;5783:12;5745:52;5825:9;5819:16;5844:31;5869:5;5844:31;:::i;6831:306::-;6919:6;6927;6935;6988:2;6976:9;6967:7;6963:23;6959:32;6956:52;;;7004:1;7001;6994:12;6956:52;7033:9;7027:16;7017:26;;7083:2;7072:9;7068:18;7062:25;7052:35;;7127:2;7116:9;7112:18;7106:25;7096:35;;6831:306;;;;;:::o;7421:277::-;7488:6;7541:2;7529:9;7520:7;7516:23;7512:32;7509:52;;;7557:1;7554;7547:12;7509:52;7589:9;7583:16;7642:5;7635:13;7628:21;7621:5;7618:32;7608:60;;7664:1;7661;7654:12;10567:125;10632:9;;;10653:10;;;10650:36;;;10666:18;;:::i;11052:135::-;11091:3;11112:17;;;11109:43;;11132:18;;:::i;:::-;-1:-1:-1;11179:1:1;11168:13;;11052:135::o;11192:128::-;11259:9;;;11280:11;;;11277:37;;;11294:18;;:::i;11813:127::-;11874:10;11869:3;11865:20;11862:1;11855:31;11905:4;11902:1;11895:15;11929:4;11926:1;11919:15;11945:980;12207:4;12255:3;12244:9;12240:19;12286:6;12275:9;12268:25;12312:2;12350:6;12345:2;12334:9;12330:18;12323:34;12393:3;12388:2;12377:9;12373:18;12366:31;12417:6;12452;12446:13;12483:6;12475;12468:22;12521:3;12510:9;12506:19;12499:26;;12560:2;12552:6;12548:15;12534:29;;12581:1;12591:195;12605:6;12602:1;12599:13;12591:195;;;12670:13;;-1:-1:-1;;;;;12666:39:1;12654:52;;12761:15;;;;12726:12;;;;12702:1;12620:9;12591:195;;;-1:-1:-1;;;;;;;12842:32:1;;;;12837:2;12822:18;;12815:60;-1:-1:-1;;;12906:3:1;12891:19;12884:35;12803:3;11945:980;-1:-1:-1;;;11945:980:1:o;12930:217::-;12970:1;12996;12986:132;;13040:10;13035:3;13031:20;13028:1;13021:31;13075:4;13072:1;13065:15;13103:4;13100:1;13093:15;12986:132;-1:-1:-1;13132:9:1;;12930:217::o
Swarm Source
ipfs://adf255f199711facc689f197d149ab64007e3130c49475443d9f93f49191882e
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.