More Info
Private Name Tags
ContractCreator
TokenTracker
Latest 25 from a total of 210 transactions
Transaction Hash |
Method
|
Block
|
From
|
To
|
|||||
---|---|---|---|---|---|---|---|---|---|
Approve | 16312060 | 719 days ago | IN | 0 ETH | 0.00064617 | ||||
Transfer | 16312058 | 719 days ago | IN | 0 ETH | 0.00419303 | ||||
Approve | 14816732 | 944 days ago | IN | 0 ETH | 0.00047238 | ||||
Approve | 13224147 | 1193 days ago | IN | 0 ETH | 0.00287966 | ||||
Approve | 13205445 | 1196 days ago | IN | 0 ETH | 0.00402659 | ||||
Approve | 13123978 | 1209 days ago | IN | 0 ETH | 0.00441768 | ||||
Approve | 13060555 | 1218 days ago | IN | 0 ETH | 0.00140296 | ||||
Approve | 12983457 | 1230 days ago | IN | 0 ETH | 0.0011162 | ||||
Approve | 12950147 | 1236 days ago | IN | 0 ETH | 0.00165333 | ||||
Approve | 12942274 | 1237 days ago | IN | 0 ETH | 0.00146792 | ||||
Approve | 12941287 | 1237 days ago | IN | 0 ETH | 0.00155885 | ||||
Transfer | 12941231 | 1237 days ago | IN | 0 ETH | 0.00865541 | ||||
Approve | 12923544 | 1240 days ago | IN | 0 ETH | 0.00170056 | ||||
Approve | 12918509 | 1241 days ago | IN | 0 ETH | 0.00105404 | ||||
Approve | 12904640 | 1243 days ago | IN | 0 ETH | 0.00119512 | ||||
Approve | 12903660 | 1243 days ago | IN | 0 ETH | 0.00198399 | ||||
Approve | 12898034 | 1244 days ago | IN | 0 ETH | 0.00103923 | ||||
Approve | 12897817 | 1244 days ago | IN | 0 ETH | 0.00089634 | ||||
Approve | 12897018 | 1244 days ago | IN | 0 ETH | 0.00119512 | ||||
Approve | 12895741 | 1244 days ago | IN | 0 ETH | 0.0006755 | ||||
Approve | 12890146 | 1245 days ago | IN | 0 ETH | 0.00145493 | ||||
Approve | 12890044 | 1245 days ago | IN | 0 ETH | 0.00571579 | ||||
Approve | 12889524 | 1245 days ago | IN | 0 ETH | 0.0007558 | ||||
Approve | 12888957 | 1245 days ago | IN | 0 ETH | 0.00056685 | ||||
Approve | 12888446 | 1245 days ago | IN | 0 ETH | 0.00061409 |
Latest 25 internal transactions (View All)
Advanced mode:
Parent Transaction Hash | Block |
From
|
To
|
|||
---|---|---|---|---|---|---|
16312063 | 719 days ago | 0.00107031 ETH | ||||
16312063 | 719 days ago | 0.00107031 ETH | ||||
16312063 | 719 days ago | 0.00214062 ETH | ||||
16312058 | 719 days ago | 0.00389392 ETH | ||||
16312058 | 719 days ago | 0.00389392 ETH | ||||
16312058 | 719 days ago | 0.00778784 ETH | ||||
13068640 | 1217 days ago | 0.00184003 ETH | ||||
13068640 | 1217 days ago | 0.00184003 ETH | ||||
13068640 | 1217 days ago | 0.00368006 ETH | ||||
13047950 | 1220 days ago | 0.02186597 ETH | ||||
13047950 | 1220 days ago | 0.02186597 ETH | ||||
13047950 | 1220 days ago | 0.04373195 ETH | ||||
13045685 | 1221 days ago | 0.00186637 ETH | ||||
13045685 | 1221 days ago | 0.00186637 ETH | ||||
13045685 | 1221 days ago | 0.00373274 ETH | ||||
13000835 | 1228 days ago | 0.00167883 ETH | ||||
13000835 | 1228 days ago | 0.00167883 ETH | ||||
13000835 | 1228 days ago | 0.00335766 ETH | ||||
12941293 | 1237 days ago | 0.00195886 ETH | ||||
12941293 | 1237 days ago | 0.00195886 ETH | ||||
12941293 | 1237 days ago | 0.00391773 ETH | ||||
12941231 | 1237 days ago | 0.00153187 ETH | ||||
12941231 | 1237 days ago | 0.00153187 ETH | ||||
12941231 | 1237 days ago | 0.00306374 ETH | ||||
12931863 | 1238 days ago | 0.00117591 ETH |
Loading...
Loading
Contract Name:
Virginactic
Compiler Version
v0.8.6+commit.11564f7e
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2021-07-19 */ /* Virginactic $VRGN Website: https://virginactic.io Telegram: https://t.me/Virginactic Twitter: https://twitter.com/virginactic */ // SPDX-License-Identifier: Unlicensed pragma solidity ^0.8.4; 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 ); } contract Ownable is Context { address private _owner; address private _previousOwner; 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); } } 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; } } interface IUniswapV2Factory { function createPair(address tokenA, address tokenB) external returns (address pair); } interface IUniswapV2Router02 { function swapExactTokensForETHSupportingFeeOnTransferTokens( uint256 amountIn, uint256 amountOutMin, address[] calldata path, address to, uint256 deadline ) external; function factory() external pure returns (address); function WETH() external pure returns (address); function addLiquidityETH( address token, uint256 amountTokenDesired, uint256 amountTokenMin, uint256 amountETHMin, address to, uint256 deadline ) external payable returns ( uint256 amountToken, uint256 amountETH, uint256 liquidity ); } contract Virginactic is Context, IERC20, Ownable { using SafeMath for uint256; string private constant _name = "Virginactic"; string private constant _symbol = "VRGN"; uint8 private constant _decimals = 18; mapping(address => uint256) private _rOwned; mapping(address => uint256) private _tOwned; mapping(address => mapping(address => uint256)) private _allowances; mapping(address => bool) private _isExcludedFromFee; uint256 private constant MAX = ~uint256(0); uint256 private constant _tTotal = 2000000 * 10**18; uint256 private _rTotal = (MAX - (MAX % _tTotal)); uint256 private _tFeeTotal; uint256 private _taxFee = 1; uint256 private _teamFee = 10; uint256 private _previousTaxFee = _taxFee; uint256 private _previousteamFee = _teamFee; // Bot detection mapping(address => bool) private bots; mapping(address => uint256) private cooldown; address payable private _teamAddress; address payable private _marketingFunds; IUniswapV2Router02 public uniswapV2Router; address public uniswapV2Pair; bool private tradingOpen; bool private inSwap = false; bool private swapEnabled = true; uint256 public _maxTxAmount = 20000 * 10**18; event MaxTxAmountUpdated(uint256 _maxTxAmount); modifier lockTheSwap { inSwap = true; _; inSwap = false; } constructor(address payable addr1, address payable addr2) { _teamAddress = addr1; _marketingFunds = addr2; _rOwned[_msgSender()] = _rTotal; IUniswapV2Router02 _uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D); uniswapV2Router = _uniswapV2Router; uniswapV2Pair = IUniswapV2Factory(_uniswapV2Router.factory()) .createPair(address(this), _uniswapV2Router.WETH()); _isExcludedFromFee[owner()] = true; _isExcludedFromFee[address(this)] = true; _isExcludedFromFee[_teamAddress] = true; _isExcludedFromFee[_marketingFunds] = 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 tokenFromReflection(_rOwned[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 tokenFromReflection(uint256 rAmount) private view returns (uint256) { require( rAmount <= _rTotal, "Amount must be less than total reflections" ); uint256 currentRate = _getRate(); return rAmount.div(currentRate); } function removeAllFee() private { if (_taxFee == 0 && _teamFee == 0) return; _previousTaxFee = _taxFee; _previousteamFee = _teamFee; _taxFee = 0; _teamFee = 0; } function restoreAllFee() private { _taxFee = _previousTaxFee; _teamFee = _previousteamFee; } function _approve( address owner, address spender, uint256 amount ) private { require(owner != address(0), "ERC20: approve from the zero address"); require(spender != address(0), "ERC20: approve to the zero address"); _allowances[owner][spender] = amount; emit Approval(owner, spender, amount); } function _transfer( address from, address to, uint256 amount ) private { require(from != address(0), "ERC20: transfer from the zero address"); require(to != address(0), "ERC20: transfer to the zero address"); require(amount > 0, "Transfer amount must be greater than zero"); if (from != owner() && to != owner()) { //Trade start check if (from == uniswapV2Pair || to == uniswapV2Pair) { require(tradingOpen, "Trading is not enabled yet"); } require(amount <= _maxTxAmount); require(!bots[from] && !bots[to]); uint256 contractTokenBalance = balanceOf(address(this)); if(contractTokenBalance >= _maxTxAmount) { contractTokenBalance = _maxTxAmount; } if (!inSwap && from != uniswapV2Pair && swapEnabled) { swapTokensForEth(contractTokenBalance); uint256 contractETHBalance = address(this).balance; if (contractETHBalance > 0) { sendETHToFee(address(this).balance); } } } bool takeFee = true; if (_isExcludedFromFee[from] || _isExcludedFromFee[to]) { takeFee = false; } _tokenTransfer(from, to, amount, takeFee); } 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 sendETHToFee(uint256 amount) private { _teamAddress.transfer(amount.div(2)); _marketingFunds.transfer(amount.div(2)); } function startTrading() external onlyOwner() { require(!tradingOpen, "trading is already started"); tradingOpen = true; } function manualswap() external { require(_msgSender() == _teamAddress); uint256 contractBalance = balanceOf(address(this)); swapTokensForEth(contractBalance); } function manualsend() external { require(_msgSender() == _teamAddress); uint256 contractETHBalance = address(this).balance; sendETHToFee(contractETHBalance); } function blockBots(address[] memory bots_) public onlyOwner { for (uint256 i = 0; i < bots_.length; i++) { bots[bots_[i]] = true; } } function unblockBot(address notbot) public onlyOwner { bots[notbot] = false; } function _tokenTransfer( address sender, address recipient, uint256 amount, bool takeFee ) private { if (!takeFee) removeAllFee(); _transferStandard(sender, recipient, amount); if (!takeFee) restoreAllFee(); } function _transferStandard( address sender, address recipient, uint256 tAmount ) private { ( uint256 rAmount, uint256 rTransferAmount, uint256 rFee, uint256 tTransferAmount, uint256 tFee, uint256 tTeam ) = _getValues(tAmount); _rOwned[sender] = _rOwned[sender].sub(rAmount); _rOwned[recipient] = _rOwned[recipient].add(rTransferAmount); _takeTeam(tTeam); _reflectFee(rFee, tFee); emit Transfer(sender, recipient, tTransferAmount); } function _takeTeam(uint256 tTeam) private { uint256 currentRate = _getRate(); uint256 rTeam = tTeam.mul(currentRate); _rOwned[address(this)] = _rOwned[address(this)].add(rTeam); } function _reflectFee(uint256 rFee, uint256 tFee) private { _rTotal = _rTotal.sub(rFee); _tFeeTotal = _tFeeTotal.add(tFee); } receive() external payable {} function _getValues(uint256 tAmount) private view returns ( uint256, uint256, uint256, uint256, uint256, uint256 ) { (uint256 tTransferAmount, uint256 tFee, uint256 tTeam) = _getTValues(tAmount, _taxFee, _teamFee); uint256 currentRate = _getRate(); (uint256 rAmount, uint256 rTransferAmount, uint256 rFee) = _getRValues(tAmount, tFee, tTeam, currentRate); return (rAmount, rTransferAmount, rFee, tTransferAmount, tFee, tTeam); } function _getTValues( uint256 tAmount, uint256 taxFee, uint256 TeamFee ) private pure returns ( uint256, uint256, uint256 ) { uint256 tFee = tAmount.mul(taxFee).div(100); uint256 tTeam = tAmount.mul(TeamFee).div(100); uint256 tTransferAmount = tAmount.sub(tFee).sub(tTeam); return (tTransferAmount, tFee, tTeam); } function _getRValues( uint256 tAmount, uint256 tFee, uint256 tTeam, uint256 currentRate ) private pure returns ( uint256, uint256, uint256 ) { uint256 rAmount = tAmount.mul(currentRate); uint256 rFee = tFee.mul(currentRate); uint256 rTeam = tTeam.mul(currentRate); uint256 rTransferAmount = rAmount.sub(rFee).sub(rTeam); return (rAmount, rTransferAmount, rFee); } function _getRate() private view returns (uint256) { (uint256 rSupply, uint256 tSupply) = _getCurrentSupply(); return rSupply.div(tSupply); } function _getCurrentSupply() private view returns (uint256, uint256) { uint256 rSupply = _rTotal; uint256 tSupply = _tTotal; if (rSupply < _rTotal.div(_tTotal)) return (_rTotal, _tTotal); return (rSupply, tSupply); } function setMaxTxPercent(uint256 maxTxPercent) external onlyOwner() { require(maxTxPercent > 0, "Amount must be greater than 0"); _maxTxAmount = _tTotal.mul(maxTxPercent).div(10**2); emit MaxTxAmountUpdated(_maxTxAmount); } function setTaxFee(uint256 taxFee) external onlyOwner() { require(taxFee >= 0 && taxFee <= 25, 'taxFee should be in 0 - 25'); _taxFee = taxFee; } function setTeamFee(uint256 teamFee) external onlyOwner() { require(teamFee >= 0 && teamFee <= 25, 'teamFee should be in 0 - 25'); _teamFee = teamFee; } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[{"internalType":"address payable","name":"addr1","type":"address"},{"internalType":"address payable","name":"addr2","type":"address"}],"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":"_maxTxAmount","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":[{"internalType":"address[]","name":"bots_","type":"address[]"}],"name":"blockBots","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"manualsend","outputs":[],"stateMutability":"nonpayable","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":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"maxTxPercent","type":"uint256"}],"name":"setMaxTxPercent","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"taxFee","type":"uint256"}],"name":"setTaxFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"teamFee","type":"uint256"}],"name":"setTeamFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"startTrading","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":[{"internalType":"address","name":"notbot","type":"address"}],"name":"unblockBot","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"uniswapV2Pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"uniswapV2Router","outputs":[{"internalType":"contract IUniswapV2Router02","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"stateMutability":"payable","type":"receive"}]
Contract Creation Code
60806040526a01a784379d99db420000006000196200001f919062000883565b6000196200002e9190620007f6565b6006556001600855600a600955600854600a55600954600b556000601160156101000a81548160ff0219169083151502179055506001601160166101000a81548160ff02191690831515021790555069043c33c19375648000006012553480156200009857600080fd5b5060405162003c0538038062003c058339818101604052810190620000be919062000743565b6000620000d0620006b260201b60201c565b9050806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35081600e60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080600f60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506006546002600062000207620006b260201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506000737a250d5630b4cf539739df2c5dacb4c659f2488d905080601060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b158015620002e657600080fd5b505afa158015620002fb573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000321919062000711565b73ffffffffffffffffffffffffffffffffffffffff1663c9c65396308373ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b1580156200038457600080fd5b505afa15801562000399573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620003bf919062000711565b6040518363ffffffff1660e01b8152600401620003de929190620007ac565b602060405180830381600087803b158015620003f957600080fd5b505af11580156200040e573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000434919062000711565b601160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506001600560006200048a620006ba60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600560003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160056000600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160056000600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555062000637620006b260201b60201c565b73ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6a01a784379d99db42000000604051620006a19190620007d9565b60405180910390a350505062000952565b600033905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b600081519050620006f4816200091e565b92915050565b6000815190506200070b8162000938565b92915050565b6000602082840312156200072a576200072962000919565b5b60006200073a84828501620006e3565b91505092915050565b600080604083850312156200075d576200075c62000919565b5b60006200076d85828601620006fa565b92505060206200078085828601620006fa565b9150509250929050565b620007958162000831565b82525050565b620007a68162000879565b82525050565b6000604082019050620007c360008301856200078a565b620007d260208301846200078a565b9392505050565b6000602082019050620007f060008301846200079b565b92915050565b6000620008038262000879565b9150620008108362000879565b925082821015620008265762000825620008bb565b5b828203905092915050565b60006200083e8262000859565b9050919050565b6000620008528262000859565b9050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b6000620008908262000879565b91506200089d8362000879565b925082620008b057620008af620008ea565b5b828206905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600080fd5b620009298162000831565b81146200093557600080fd5b50565b620009438162000845565b81146200094f57600080fd5b50565b6132a380620009626000396000f3fe6080604052600436106101385760003560e01c806370a08231116100ab578063a9059cbb1161006f578063a9059cbb146103ea578063c3c8cd8014610427578063c4081a4c1461043e578063d543dbeb14610467578063dd62ed3e14610490578063e6ec64ec146104cd5761013f565b806370a0823114610315578063715018a6146103525780637d1db4a5146103695780638da5cb5b1461039457806395d89b41146103bf5761013f565b806323b872dd116100fd57806323b872dd1461022b578063293230b814610268578063313ce5671461027f57806349bd5a5e146102aa5780636b999053146102d55780636fc3eaec146102fe5761013f565b8062b8cf2a1461014457806306fdde031461016d578063095ea7b3146101985780631694505e146101d557806318160ddd146102005761013f565b3661013f57005b600080fd5b34801561015057600080fd5b5061016b600480360381019061016691906124c0565b6104f6565b005b34801561017957600080fd5b50610182610620565b60405161018f9190612889565b60405180910390f35b3480156101a457600080fd5b506101bf60048036038101906101ba9190612480565b61065d565b6040516101cc9190612853565b60405180910390f35b3480156101e157600080fd5b506101ea61067b565b6040516101f7919061286e565b60405180910390f35b34801561020c57600080fd5b506102156106a1565b6040516102229190612a6b565b60405180910390f35b34801561023757600080fd5b50610252600480360381019061024d919061242d565b6106b4565b60405161025f9190612853565b60405180910390f35b34801561027457600080fd5b5061027d61078d565b005b34801561028b57600080fd5b5061029461088f565b6040516102a19190612ae0565b60405180910390f35b3480156102b657600080fd5b506102bf610898565b6040516102cc9190612838565b60405180910390f35b3480156102e157600080fd5b506102fc60048036038101906102f79190612393565b6108be565b005b34801561030a57600080fd5b506103136109ae565b005b34801561032157600080fd5b5061033c60048036038101906103379190612393565b610a20565b6040516103499190612a6b565b60405180910390f35b34801561035e57600080fd5b50610367610a71565b005b34801561037557600080fd5b5061037e610bc4565b60405161038b9190612a6b565b60405180910390f35b3480156103a057600080fd5b506103a9610bca565b6040516103b69190612838565b60405180910390f35b3480156103cb57600080fd5b506103d4610bf3565b6040516103e19190612889565b60405180910390f35b3480156103f657600080fd5b50610411600480360381019061040c9190612480565b610c30565b60405161041e9190612853565b60405180910390f35b34801561043357600080fd5b5061043c610c4e565b005b34801561044a57600080fd5b5061046560048036038101906104609190612509565b610cc8565b005b34801561047357600080fd5b5061048e60048036038101906104899190612509565b610db8565b005b34801561049c57600080fd5b506104b760048036038101906104b291906123ed565b610f03565b6040516104c49190612a6b565b60405180910390f35b3480156104d957600080fd5b506104f460048036038101906104ef9190612509565b610f8a565b005b6104fe61107a565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461058b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610582906129ab565b60405180910390fd5b60005b815181101561061c576001600c60008484815181106105b0576105af612e4c565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550808061061490612da5565b91505061058e565b5050565b60606040518060400160405280600b81526020017f56697267696e6163746963000000000000000000000000000000000000000000815250905090565b600061067161066a61107a565b8484611082565b6001905092915050565b601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60006a01a784379d99db42000000905090565b60006106c184848461124d565b610782846106cd61107a565b61077d8560405180606001604052806028815260200161324660289139600460008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600061073361107a565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546117319092919063ffffffff16565b611082565b600190509392505050565b61079561107a565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610822576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610819906129ab565b60405180910390fd5b601160149054906101000a900460ff1615610872576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610869906128cb565b60405180910390fd5b6001601160146101000a81548160ff021916908315150217905550565b60006012905090565b601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6108c661107a565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610953576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161094a906129ab565b60405180910390fd5b6000600c60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166109ef61107a565b73ffffffffffffffffffffffffffffffffffffffff1614610a0f57600080fd5b6000479050610a1d81611795565b50565b6000610a6a600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611890565b9050919050565b610a7961107a565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610b06576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610afd906129ab565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b60125481565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606040518060400160405280600481526020017f5652474e00000000000000000000000000000000000000000000000000000000815250905090565b6000610c44610c3d61107a565b848461124d565b6001905092915050565b600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610c8f61107a565b73ffffffffffffffffffffffffffffffffffffffff1614610caf57600080fd5b6000610cba30610a20565b9050610cc5816118fe565b50565b610cd061107a565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610d5d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d54906129ab565b60405180910390fd5b60008110158015610d6f575060198111155b610dae576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610da590612a4b565b60405180910390fd5b8060088190555050565b610dc061107a565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610e4d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e44906129ab565b60405180910390fd5b60008111610e90576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e879061296b565b60405180910390fd5b610ec16064610eb3836a01a784379d99db42000000611b8690919063ffffffff16565b611c0190919063ffffffff16565b6012819055507f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf601254604051610ef89190612a6b565b60405180910390a150565b6000600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b610f9261107a565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461101f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611016906129ab565b60405180910390fd5b60008110158015611031575060198111155b611070576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611067906129cb565b60405180910390fd5b8060098190555050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156110f2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110e990612a2b565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611162576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111599061292b565b60405180910390fd5b80600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516112409190612a6b565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156112bd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112b490612a0b565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141561132d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611324906128ab565b60405180910390fd5b60008111611370576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611367906129eb565b60405180910390fd5b611378610bca565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141580156113e657506113b6610bca565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b1561166e57601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614806114945750601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16145b156114e957601160149054906101000a900460ff166114e8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114df906128eb565b60405180910390fd5b5b6012548111156114f857600080fd5b600c60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615801561159c5750600c60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b6115a557600080fd5b60006115b030610a20565b905060125481106115c15760125490505b601160159054906101000a900460ff1615801561162c5750601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b80156116445750601160169054906101000a900460ff165b1561166c57611652816118fe565b6000479050600081111561166a5761166947611795565b5b505b505b600060019050600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16806117155750600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b1561171f57600090505b61172b84848484611c4b565b50505050565b6000838311158290611779576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117709190612889565b60405180910390fd5b50600083856117889190612c82565b9050809150509392505050565b600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc6117e5600284611c0190919063ffffffff16565b9081150290604051600060405180830381858888f19350505050158015611810573d6000803e3d6000fd5b50600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc611861600284611c0190919063ffffffff16565b9081150290604051600060405180830381858888f1935050505015801561188c573d6000803e3d6000fd5b5050565b60006006548211156118d7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118ce9061290b565b60405180910390fd5b60006118e1611c78565b90506118f68184611c0190919063ffffffff16565b915050919050565b6001601160156101000a81548160ff0219169083151502179055506000600267ffffffffffffffff81111561193657611935612e7b565b5b6040519080825280602002602001820160405280156119645781602001602082028036833780820191505090505b509050308160008151811061197c5761197b612e4c565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b158015611a1e57600080fd5b505afa158015611a32573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611a5691906123c0565b81600181518110611a6a57611a69612e4c565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050611ad130601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684611082565b601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b8152600401611b35959493929190612a86565b600060405180830381600087803b158015611b4f57600080fd5b505af1158015611b63573d6000803e3d6000fd5b50505050506000601160156101000a81548160ff02191690831515021790555050565b600080831415611b995760009050611bfb565b60008284611ba79190612c28565b9050828482611bb69190612bf7565b14611bf6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611bed9061298b565b60405180910390fd5b809150505b92915050565b6000611c4383836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611ca3565b905092915050565b80611c5957611c58611d06565b5b611c64848484611d49565b80611c7257611c71611f14565b5b50505050565b6000806000611c85611f28565b91509150611c9c8183611c0190919063ffffffff16565b9250505090565b60008083118290611cea576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ce19190612889565b60405180910390fd5b5060008385611cf99190612bf7565b9050809150509392505050565b6000600854148015611d1a57506000600954145b15611d2457611d47565b600854600a81905550600954600b81905550600060088190555060006009819055505b565b600080600080600080611d5b87611f90565b955095509550955095509550611db986600260008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611ff890919063ffffffff16565b600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611e4e85600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461204290919063ffffffff16565b600260008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611e9a816120a0565b611ea4848361215d565b8773ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef85604051611f019190612a6b565b60405180910390a3505050505050505050565b600a54600881905550600b54600981905550565b6000806000600654905060006a01a784379d99db420000009050611f626a01a784379d99db42000000600654611c0190919063ffffffff16565b821015611f83576006546a01a784379d99db42000000935093505050611f8c565b81819350935050505b9091565b6000806000806000806000806000611fad8a600854600954612197565b9250925092506000611fbd611c78565b90506000806000611fd08e87878761222d565b9250925092508282828989899c509c509c509c509c509c505050505050505091939550919395565b600061203a83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611731565b905092915050565b60008082846120519190612ba1565b905083811015612096576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161208d9061294b565b60405180910390fd5b8091505092915050565b60006120aa611c78565b905060006120c18284611b8690919063ffffffff16565b905061211581600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461204290919063ffffffff16565b600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550505050565b61217282600654611ff890919063ffffffff16565b60068190555061218d8160075461204290919063ffffffff16565b6007819055505050565b6000806000806121c360646121b5888a611b8690919063ffffffff16565b611c0190919063ffffffff16565b905060006121ed60646121df888b611b8690919063ffffffff16565b611c0190919063ffffffff16565b9050600061221682612208858c611ff890919063ffffffff16565b611ff890919063ffffffff16565b905080838395509550955050505093509350939050565b6000806000806122468589611b8690919063ffffffff16565b9050600061225d8689611b8690919063ffffffff16565b905060006122748789611b8690919063ffffffff16565b9050600061229d8261228f8587611ff890919063ffffffff16565b611ff890919063ffffffff16565b9050838184965096509650505050509450945094915050565b60006122c96122c484612b20565b612afb565b905080838252602082019050828560208602820111156122ec576122eb612eaf565b5b60005b8581101561231c57816123028882612326565b8452602084019350602083019250506001810190506122ef565b5050509392505050565b60008135905061233581613217565b92915050565b60008151905061234a81613217565b92915050565b600082601f83011261236557612364612eaa565b5b81356123758482602086016122b6565b91505092915050565b60008135905061238d8161322e565b92915050565b6000602082840312156123a9576123a8612eb9565b5b60006123b784828501612326565b91505092915050565b6000602082840312156123d6576123d5612eb9565b5b60006123e48482850161233b565b91505092915050565b6000806040838503121561240457612403612eb9565b5b600061241285828601612326565b925050602061242385828601612326565b9150509250929050565b60008060006060848603121561244657612445612eb9565b5b600061245486828701612326565b935050602061246586828701612326565b92505060406124768682870161237e565b9150509250925092565b6000806040838503121561249757612496612eb9565b5b60006124a585828601612326565b92505060206124b68582860161237e565b9150509250929050565b6000602082840312156124d6576124d5612eb9565b5b600082013567ffffffffffffffff8111156124f4576124f3612eb4565b5b61250084828501612350565b91505092915050565b60006020828403121561251f5761251e612eb9565b5b600061252d8482850161237e565b91505092915050565b6000612542838361254e565b60208301905092915050565b61255781612cb6565b82525050565b61256681612cb6565b82525050565b600061257782612b5c565b6125818185612b7f565b935061258c83612b4c565b8060005b838110156125bd5781516125a48882612536565b97506125af83612b72565b925050600181019050612590565b5085935050505092915050565b6125d381612cc8565b82525050565b6125e281612d0b565b82525050565b6125f181612d2f565b82525050565b600061260282612b67565b61260c8185612b90565b935061261c818560208601612d41565b61262581612ebe565b840191505092915050565b600061263d602383612b90565b915061264882612ecf565b604082019050919050565b6000612660601a83612b90565b915061266b82612f1e565b602082019050919050565b6000612683601a83612b90565b915061268e82612f47565b602082019050919050565b60006126a6602a83612b90565b91506126b182612f70565b604082019050919050565b60006126c9602283612b90565b91506126d482612fbf565b604082019050919050565b60006126ec601b83612b90565b91506126f78261300e565b602082019050919050565b600061270f601d83612b90565b915061271a82613037565b602082019050919050565b6000612732602183612b90565b915061273d82613060565b604082019050919050565b6000612755602083612b90565b9150612760826130af565b602082019050919050565b6000612778601b83612b90565b9150612783826130d8565b602082019050919050565b600061279b602983612b90565b91506127a682613101565b604082019050919050565b60006127be602583612b90565b91506127c982613150565b604082019050919050565b60006127e1602483612b90565b91506127ec8261319f565b604082019050919050565b6000612804601a83612b90565b915061280f826131ee565b602082019050919050565b61282381612cf4565b82525050565b61283281612cfe565b82525050565b600060208201905061284d600083018461255d565b92915050565b600060208201905061286860008301846125ca565b92915050565b600060208201905061288360008301846125d9565b92915050565b600060208201905081810360008301526128a381846125f7565b905092915050565b600060208201905081810360008301526128c481612630565b9050919050565b600060208201905081810360008301526128e481612653565b9050919050565b6000602082019050818103600083015261290481612676565b9050919050565b6000602082019050818103600083015261292481612699565b9050919050565b60006020820190508181036000830152612944816126bc565b9050919050565b60006020820190508181036000830152612964816126df565b9050919050565b6000602082019050818103600083015261298481612702565b9050919050565b600060208201905081810360008301526129a481612725565b9050919050565b600060208201905081810360008301526129c481612748565b9050919050565b600060208201905081810360008301526129e48161276b565b9050919050565b60006020820190508181036000830152612a048161278e565b9050919050565b60006020820190508181036000830152612a24816127b1565b9050919050565b60006020820190508181036000830152612a44816127d4565b9050919050565b60006020820190508181036000830152612a64816127f7565b9050919050565b6000602082019050612a80600083018461281a565b92915050565b600060a082019050612a9b600083018861281a565b612aa860208301876125e8565b8181036040830152612aba818661256c565b9050612ac9606083018561255d565b612ad6608083018461281a565b9695505050505050565b6000602082019050612af56000830184612829565b92915050565b6000612b05612b16565b9050612b118282612d74565b919050565b6000604051905090565b600067ffffffffffffffff821115612b3b57612b3a612e7b565b5b602082029050602081019050919050565b6000819050602082019050919050565b600081519050919050565b600081519050919050565b6000602082019050919050565b600082825260208201905092915050565b600082825260208201905092915050565b6000612bac82612cf4565b9150612bb783612cf4565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115612bec57612beb612dee565b5b828201905092915050565b6000612c0282612cf4565b9150612c0d83612cf4565b925082612c1d57612c1c612e1d565b5b828204905092915050565b6000612c3382612cf4565b9150612c3e83612cf4565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615612c7757612c76612dee565b5b828202905092915050565b6000612c8d82612cf4565b9150612c9883612cf4565b925082821015612cab57612caa612dee565b5b828203905092915050565b6000612cc182612cd4565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b6000612d1682612d1d565b9050919050565b6000612d2882612cd4565b9050919050565b6000612d3a82612cf4565b9050919050565b60005b83811015612d5f578082015181840152602081019050612d44565b83811115612d6e576000848401525b50505050565b612d7d82612ebe565b810181811067ffffffffffffffff82111715612d9c57612d9b612e7b565b5b80604052505050565b6000612db082612cf4565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff821415612de357612de2612dee565b5b600182019050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b7f74726164696e6720697320616c72656164792073746172746564000000000000600082015250565b7f54726164696e67206973206e6f7420656e61626c656420796574000000000000600082015250565b7f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260008201527f65666c656374696f6e7300000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b7f416d6f756e74206d7573742062652067726561746572207468616e2030000000600082015250565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b7f7465616d4665652073686f756c6420626520696e2030202d2032350000000000600082015250565b7f5472616e7366657220616d6f756e74206d75737420626520677265617465722060008201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b7f7461784665652073686f756c6420626520696e2030202d203235000000000000600082015250565b61322081612cb6565b811461322b57600080fd5b50565b61323781612cf4565b811461324257600080fd5b5056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220cf1f8368e51e6c1a9f065553c84bcad905e48e8602ef17ce362bbb8d41836ee664736f6c63430008060033000000000000000000000000ab9cc5dbb5f982e317dfba20950b23d582e49744000000000000000000000000f7f8db0777d7a562e10cd50a18473c7c06da3042
Deployed Bytecode
0x6080604052600436106101385760003560e01c806370a08231116100ab578063a9059cbb1161006f578063a9059cbb146103ea578063c3c8cd8014610427578063c4081a4c1461043e578063d543dbeb14610467578063dd62ed3e14610490578063e6ec64ec146104cd5761013f565b806370a0823114610315578063715018a6146103525780637d1db4a5146103695780638da5cb5b1461039457806395d89b41146103bf5761013f565b806323b872dd116100fd57806323b872dd1461022b578063293230b814610268578063313ce5671461027f57806349bd5a5e146102aa5780636b999053146102d55780636fc3eaec146102fe5761013f565b8062b8cf2a1461014457806306fdde031461016d578063095ea7b3146101985780631694505e146101d557806318160ddd146102005761013f565b3661013f57005b600080fd5b34801561015057600080fd5b5061016b600480360381019061016691906124c0565b6104f6565b005b34801561017957600080fd5b50610182610620565b60405161018f9190612889565b60405180910390f35b3480156101a457600080fd5b506101bf60048036038101906101ba9190612480565b61065d565b6040516101cc9190612853565b60405180910390f35b3480156101e157600080fd5b506101ea61067b565b6040516101f7919061286e565b60405180910390f35b34801561020c57600080fd5b506102156106a1565b6040516102229190612a6b565b60405180910390f35b34801561023757600080fd5b50610252600480360381019061024d919061242d565b6106b4565b60405161025f9190612853565b60405180910390f35b34801561027457600080fd5b5061027d61078d565b005b34801561028b57600080fd5b5061029461088f565b6040516102a19190612ae0565b60405180910390f35b3480156102b657600080fd5b506102bf610898565b6040516102cc9190612838565b60405180910390f35b3480156102e157600080fd5b506102fc60048036038101906102f79190612393565b6108be565b005b34801561030a57600080fd5b506103136109ae565b005b34801561032157600080fd5b5061033c60048036038101906103379190612393565b610a20565b6040516103499190612a6b565b60405180910390f35b34801561035e57600080fd5b50610367610a71565b005b34801561037557600080fd5b5061037e610bc4565b60405161038b9190612a6b565b60405180910390f35b3480156103a057600080fd5b506103a9610bca565b6040516103b69190612838565b60405180910390f35b3480156103cb57600080fd5b506103d4610bf3565b6040516103e19190612889565b60405180910390f35b3480156103f657600080fd5b50610411600480360381019061040c9190612480565b610c30565b60405161041e9190612853565b60405180910390f35b34801561043357600080fd5b5061043c610c4e565b005b34801561044a57600080fd5b5061046560048036038101906104609190612509565b610cc8565b005b34801561047357600080fd5b5061048e60048036038101906104899190612509565b610db8565b005b34801561049c57600080fd5b506104b760048036038101906104b291906123ed565b610f03565b6040516104c49190612a6b565b60405180910390f35b3480156104d957600080fd5b506104f460048036038101906104ef9190612509565b610f8a565b005b6104fe61107a565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461058b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610582906129ab565b60405180910390fd5b60005b815181101561061c576001600c60008484815181106105b0576105af612e4c565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550808061061490612da5565b91505061058e565b5050565b60606040518060400160405280600b81526020017f56697267696e6163746963000000000000000000000000000000000000000000815250905090565b600061067161066a61107a565b8484611082565b6001905092915050565b601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60006a01a784379d99db42000000905090565b60006106c184848461124d565b610782846106cd61107a565b61077d8560405180606001604052806028815260200161324660289139600460008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600061073361107a565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546117319092919063ffffffff16565b611082565b600190509392505050565b61079561107a565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610822576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610819906129ab565b60405180910390fd5b601160149054906101000a900460ff1615610872576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610869906128cb565b60405180910390fd5b6001601160146101000a81548160ff021916908315150217905550565b60006012905090565b601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6108c661107a565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610953576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161094a906129ab565b60405180910390fd5b6000600c60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166109ef61107a565b73ffffffffffffffffffffffffffffffffffffffff1614610a0f57600080fd5b6000479050610a1d81611795565b50565b6000610a6a600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611890565b9050919050565b610a7961107a565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610b06576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610afd906129ab565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b60125481565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606040518060400160405280600481526020017f5652474e00000000000000000000000000000000000000000000000000000000815250905090565b6000610c44610c3d61107a565b848461124d565b6001905092915050565b600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610c8f61107a565b73ffffffffffffffffffffffffffffffffffffffff1614610caf57600080fd5b6000610cba30610a20565b9050610cc5816118fe565b50565b610cd061107a565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610d5d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d54906129ab565b60405180910390fd5b60008110158015610d6f575060198111155b610dae576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610da590612a4b565b60405180910390fd5b8060088190555050565b610dc061107a565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610e4d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e44906129ab565b60405180910390fd5b60008111610e90576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e879061296b565b60405180910390fd5b610ec16064610eb3836a01a784379d99db42000000611b8690919063ffffffff16565b611c0190919063ffffffff16565b6012819055507f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf601254604051610ef89190612a6b565b60405180910390a150565b6000600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b610f9261107a565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461101f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611016906129ab565b60405180910390fd5b60008110158015611031575060198111155b611070576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611067906129cb565b60405180910390fd5b8060098190555050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156110f2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110e990612a2b565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611162576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111599061292b565b60405180910390fd5b80600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516112409190612a6b565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156112bd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112b490612a0b565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141561132d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611324906128ab565b60405180910390fd5b60008111611370576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611367906129eb565b60405180910390fd5b611378610bca565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141580156113e657506113b6610bca565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b1561166e57601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614806114945750601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16145b156114e957601160149054906101000a900460ff166114e8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114df906128eb565b60405180910390fd5b5b6012548111156114f857600080fd5b600c60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615801561159c5750600c60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b6115a557600080fd5b60006115b030610a20565b905060125481106115c15760125490505b601160159054906101000a900460ff1615801561162c5750601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b80156116445750601160169054906101000a900460ff165b1561166c57611652816118fe565b6000479050600081111561166a5761166947611795565b5b505b505b600060019050600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16806117155750600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b1561171f57600090505b61172b84848484611c4b565b50505050565b6000838311158290611779576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117709190612889565b60405180910390fd5b50600083856117889190612c82565b9050809150509392505050565b600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc6117e5600284611c0190919063ffffffff16565b9081150290604051600060405180830381858888f19350505050158015611810573d6000803e3d6000fd5b50600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc611861600284611c0190919063ffffffff16565b9081150290604051600060405180830381858888f1935050505015801561188c573d6000803e3d6000fd5b5050565b60006006548211156118d7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118ce9061290b565b60405180910390fd5b60006118e1611c78565b90506118f68184611c0190919063ffffffff16565b915050919050565b6001601160156101000a81548160ff0219169083151502179055506000600267ffffffffffffffff81111561193657611935612e7b565b5b6040519080825280602002602001820160405280156119645781602001602082028036833780820191505090505b509050308160008151811061197c5761197b612e4c565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b158015611a1e57600080fd5b505afa158015611a32573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611a5691906123c0565b81600181518110611a6a57611a69612e4c565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050611ad130601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684611082565b601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b8152600401611b35959493929190612a86565b600060405180830381600087803b158015611b4f57600080fd5b505af1158015611b63573d6000803e3d6000fd5b50505050506000601160156101000a81548160ff02191690831515021790555050565b600080831415611b995760009050611bfb565b60008284611ba79190612c28565b9050828482611bb69190612bf7565b14611bf6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611bed9061298b565b60405180910390fd5b809150505b92915050565b6000611c4383836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611ca3565b905092915050565b80611c5957611c58611d06565b5b611c64848484611d49565b80611c7257611c71611f14565b5b50505050565b6000806000611c85611f28565b91509150611c9c8183611c0190919063ffffffff16565b9250505090565b60008083118290611cea576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ce19190612889565b60405180910390fd5b5060008385611cf99190612bf7565b9050809150509392505050565b6000600854148015611d1a57506000600954145b15611d2457611d47565b600854600a81905550600954600b81905550600060088190555060006009819055505b565b600080600080600080611d5b87611f90565b955095509550955095509550611db986600260008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611ff890919063ffffffff16565b600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611e4e85600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461204290919063ffffffff16565b600260008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611e9a816120a0565b611ea4848361215d565b8773ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef85604051611f019190612a6b565b60405180910390a3505050505050505050565b600a54600881905550600b54600981905550565b6000806000600654905060006a01a784379d99db420000009050611f626a01a784379d99db42000000600654611c0190919063ffffffff16565b821015611f83576006546a01a784379d99db42000000935093505050611f8c565b81819350935050505b9091565b6000806000806000806000806000611fad8a600854600954612197565b9250925092506000611fbd611c78565b90506000806000611fd08e87878761222d565b9250925092508282828989899c509c509c509c509c509c505050505050505091939550919395565b600061203a83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611731565b905092915050565b60008082846120519190612ba1565b905083811015612096576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161208d9061294b565b60405180910390fd5b8091505092915050565b60006120aa611c78565b905060006120c18284611b8690919063ffffffff16565b905061211581600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461204290919063ffffffff16565b600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550505050565b61217282600654611ff890919063ffffffff16565b60068190555061218d8160075461204290919063ffffffff16565b6007819055505050565b6000806000806121c360646121b5888a611b8690919063ffffffff16565b611c0190919063ffffffff16565b905060006121ed60646121df888b611b8690919063ffffffff16565b611c0190919063ffffffff16565b9050600061221682612208858c611ff890919063ffffffff16565b611ff890919063ffffffff16565b905080838395509550955050505093509350939050565b6000806000806122468589611b8690919063ffffffff16565b9050600061225d8689611b8690919063ffffffff16565b905060006122748789611b8690919063ffffffff16565b9050600061229d8261228f8587611ff890919063ffffffff16565b611ff890919063ffffffff16565b9050838184965096509650505050509450945094915050565b60006122c96122c484612b20565b612afb565b905080838252602082019050828560208602820111156122ec576122eb612eaf565b5b60005b8581101561231c57816123028882612326565b8452602084019350602083019250506001810190506122ef565b5050509392505050565b60008135905061233581613217565b92915050565b60008151905061234a81613217565b92915050565b600082601f83011261236557612364612eaa565b5b81356123758482602086016122b6565b91505092915050565b60008135905061238d8161322e565b92915050565b6000602082840312156123a9576123a8612eb9565b5b60006123b784828501612326565b91505092915050565b6000602082840312156123d6576123d5612eb9565b5b60006123e48482850161233b565b91505092915050565b6000806040838503121561240457612403612eb9565b5b600061241285828601612326565b925050602061242385828601612326565b9150509250929050565b60008060006060848603121561244657612445612eb9565b5b600061245486828701612326565b935050602061246586828701612326565b92505060406124768682870161237e565b9150509250925092565b6000806040838503121561249757612496612eb9565b5b60006124a585828601612326565b92505060206124b68582860161237e565b9150509250929050565b6000602082840312156124d6576124d5612eb9565b5b600082013567ffffffffffffffff8111156124f4576124f3612eb4565b5b61250084828501612350565b91505092915050565b60006020828403121561251f5761251e612eb9565b5b600061252d8482850161237e565b91505092915050565b6000612542838361254e565b60208301905092915050565b61255781612cb6565b82525050565b61256681612cb6565b82525050565b600061257782612b5c565b6125818185612b7f565b935061258c83612b4c565b8060005b838110156125bd5781516125a48882612536565b97506125af83612b72565b925050600181019050612590565b5085935050505092915050565b6125d381612cc8565b82525050565b6125e281612d0b565b82525050565b6125f181612d2f565b82525050565b600061260282612b67565b61260c8185612b90565b935061261c818560208601612d41565b61262581612ebe565b840191505092915050565b600061263d602383612b90565b915061264882612ecf565b604082019050919050565b6000612660601a83612b90565b915061266b82612f1e565b602082019050919050565b6000612683601a83612b90565b915061268e82612f47565b602082019050919050565b60006126a6602a83612b90565b91506126b182612f70565b604082019050919050565b60006126c9602283612b90565b91506126d482612fbf565b604082019050919050565b60006126ec601b83612b90565b91506126f78261300e565b602082019050919050565b600061270f601d83612b90565b915061271a82613037565b602082019050919050565b6000612732602183612b90565b915061273d82613060565b604082019050919050565b6000612755602083612b90565b9150612760826130af565b602082019050919050565b6000612778601b83612b90565b9150612783826130d8565b602082019050919050565b600061279b602983612b90565b91506127a682613101565b604082019050919050565b60006127be602583612b90565b91506127c982613150565b604082019050919050565b60006127e1602483612b90565b91506127ec8261319f565b604082019050919050565b6000612804601a83612b90565b915061280f826131ee565b602082019050919050565b61282381612cf4565b82525050565b61283281612cfe565b82525050565b600060208201905061284d600083018461255d565b92915050565b600060208201905061286860008301846125ca565b92915050565b600060208201905061288360008301846125d9565b92915050565b600060208201905081810360008301526128a381846125f7565b905092915050565b600060208201905081810360008301526128c481612630565b9050919050565b600060208201905081810360008301526128e481612653565b9050919050565b6000602082019050818103600083015261290481612676565b9050919050565b6000602082019050818103600083015261292481612699565b9050919050565b60006020820190508181036000830152612944816126bc565b9050919050565b60006020820190508181036000830152612964816126df565b9050919050565b6000602082019050818103600083015261298481612702565b9050919050565b600060208201905081810360008301526129a481612725565b9050919050565b600060208201905081810360008301526129c481612748565b9050919050565b600060208201905081810360008301526129e48161276b565b9050919050565b60006020820190508181036000830152612a048161278e565b9050919050565b60006020820190508181036000830152612a24816127b1565b9050919050565b60006020820190508181036000830152612a44816127d4565b9050919050565b60006020820190508181036000830152612a64816127f7565b9050919050565b6000602082019050612a80600083018461281a565b92915050565b600060a082019050612a9b600083018861281a565b612aa860208301876125e8565b8181036040830152612aba818661256c565b9050612ac9606083018561255d565b612ad6608083018461281a565b9695505050505050565b6000602082019050612af56000830184612829565b92915050565b6000612b05612b16565b9050612b118282612d74565b919050565b6000604051905090565b600067ffffffffffffffff821115612b3b57612b3a612e7b565b5b602082029050602081019050919050565b6000819050602082019050919050565b600081519050919050565b600081519050919050565b6000602082019050919050565b600082825260208201905092915050565b600082825260208201905092915050565b6000612bac82612cf4565b9150612bb783612cf4565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115612bec57612beb612dee565b5b828201905092915050565b6000612c0282612cf4565b9150612c0d83612cf4565b925082612c1d57612c1c612e1d565b5b828204905092915050565b6000612c3382612cf4565b9150612c3e83612cf4565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615612c7757612c76612dee565b5b828202905092915050565b6000612c8d82612cf4565b9150612c9883612cf4565b925082821015612cab57612caa612dee565b5b828203905092915050565b6000612cc182612cd4565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b6000612d1682612d1d565b9050919050565b6000612d2882612cd4565b9050919050565b6000612d3a82612cf4565b9050919050565b60005b83811015612d5f578082015181840152602081019050612d44565b83811115612d6e576000848401525b50505050565b612d7d82612ebe565b810181811067ffffffffffffffff82111715612d9c57612d9b612e7b565b5b80604052505050565b6000612db082612cf4565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff821415612de357612de2612dee565b5b600182019050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b7f74726164696e6720697320616c72656164792073746172746564000000000000600082015250565b7f54726164696e67206973206e6f7420656e61626c656420796574000000000000600082015250565b7f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260008201527f65666c656374696f6e7300000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b7f416d6f756e74206d7573742062652067726561746572207468616e2030000000600082015250565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b7f7465616d4665652073686f756c6420626520696e2030202d2032350000000000600082015250565b7f5472616e7366657220616d6f756e74206d75737420626520677265617465722060008201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b7f7461784665652073686f756c6420626520696e2030202d203235000000000000600082015250565b61322081612cb6565b811461322b57600080fd5b50565b61323781612cf4565b811461324257600080fd5b5056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220cf1f8368e51e6c1a9f065553c84bcad905e48e8602ef17ce362bbb8d41836ee664736f6c63430008060033
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
000000000000000000000000ab9cc5dbb5f982e317dfba20950b23d582e49744000000000000000000000000f7f8db0777d7a562e10cd50a18473c7c06da3042
-----Decoded View---------------
Arg [0] : addr1 (address): 0xAb9cc5dBB5F982E317DfBa20950b23d582e49744
Arg [1] : addr2 (address): 0xf7F8dB0777d7a562e10CD50A18473c7C06Da3042
-----Encoded View---------------
2 Constructor Arguments found :
Arg [0] : 000000000000000000000000ab9cc5dbb5f982e317dfba20950b23d582e49744
Arg [1] : 000000000000000000000000f7f8db0777d7a562e10cd50a18473c7c06da3042
Deployed Bytecode Sourcemap
3964:11827:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11477:169;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;6150:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7075:193;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5016:41;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6427:95;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7276:446;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10926:144;;;;;;;;;;;;;:::i;:::-;;6336:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5064:28;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11654:92;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;11278:191;;;;;;;;;;;;;:::i;:::-;;6530:138;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1705:148;;;;;;;;;;;;;:::i;:::-;;5202:44;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1491:79;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6241:87;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6676:199;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11078:192;;;;;;;;;;;;;:::i;:::-;;15434:168;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;15167:255;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;6883:184;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;15610:175;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;11477:169;1628:12;:10;:12::i;:::-;1618:22;;:6;;;;;;;;;;:22;;;1610:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;11553:9:::1;11548:91;11572:5;:12;11568:1;:16;11548:91;;;11623:4;11606;:14;11611:5;11617:1;11611:8;;;;;;;;:::i;:::-;;;;;;;;11606:14;;;;;;;;;;;;;;;;:21;;;;;;;;;;;;;;;;;;11586:3;;;;;:::i;:::-;;;;11548:91;;;;11477:169:::0;:::o;6150:83::-;6187:13;6220:5;;;;;;;;;;;;;;;;;6213:12;;6150:83;:::o;7075:193::-;7177:4;7199:39;7208:12;:10;:12::i;:::-;7222:7;7231:6;7199:8;:39::i;:::-;7256:4;7249:11;;7075:193;;;;:::o;5016:41::-;;;;;;;;;;;;;:::o;6427:95::-;6480:7;4516:16;6500:14;;6427:95;:::o;7276:446::-;7408:4;7425:36;7435:6;7443:9;7454:6;7425:9;:36::i;:::-;7472:220;7495:6;7516:12;:10;:12::i;:::-;7543:138;7599:6;7543:138;;;;;;;;;;;;;;;;;:11;:19;7555:6;7543:19;;;;;;;;;;;;;;;:33;7563:12;:10;:12::i;:::-;7543:33;;;;;;;;;;;;;;;;:37;;:138;;;;;:::i;:::-;7472:8;:220::i;:::-;7710:4;7703:11;;7276:446;;;;;:::o;10926:144::-;1628:12;:10;:12::i;:::-;1618:22;;:6;;;;;;;;;;:22;;;1610:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;10991:11:::1;;;;;;;;;;;10990:12;10982:51;;;;;;;;;;;;:::i;:::-;;;;;;;;;11058:4;11044:11;;:18;;;;;;;;;;;;;;;;;;10926:144::o:0;6336:83::-;6377:5;4189:2;6395:16;;6336:83;:::o;5064:28::-;;;;;;;;;;;;;:::o;11654:92::-;1628:12;:10;:12::i;:::-;1618:22;;:6;;;;;;;;;;:22;;;1610:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;11733:5:::1;11718:4;:12;11723:6;11718:12;;;;;;;;;;;;;;;;:20;;;;;;;;;;;;;;;;;;11654:92:::0;:::o;11278:191::-;11344:12;;;;;;;;;;;11328:28;;:12;:10;:12::i;:::-;:28;;;11320:37;;;;;;11368:26;11397:21;11368:50;;11429:32;11442:18;11429:12;:32::i;:::-;11309:160;11278:191::o;6530:138::-;6596:7;6623:37;6643:7;:16;6651:7;6643:16;;;;;;;;;;;;;;;;6623:19;:37::i;:::-;6616:44;;6530:138;;;:::o;1705:148::-;1628:12;:10;:12::i;:::-;1618:22;;:6;;;;;;;;;;:22;;;1610:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;1812:1:::1;1775:40;;1796:6;::::0;::::1;;;;;;;;1775:40;;;;;;;;;;;;1843:1;1826:6:::0;::::1;:19;;;;;;;;;;;;;;;;;;1705:148::o:0;5202:44::-;;;;:::o;1491:79::-;1529:7;1556:6;;;;;;;;;;;1549:13;;1491:79;:::o;6241:87::-;6280:13;6313:7;;;;;;;;;;;;;;;;;6306:14;;6241:87;:::o;6676:199::-;6781:4;6803:42;6813:12;:10;:12::i;:::-;6827:9;6838:6;6803:9;:42::i;:::-;6863:4;6856:11;;6676:199;;;;:::o;11078:192::-;11144:12;;;;;;;;;;;11128:28;;:12;:10;:12::i;:::-;:28;;;11120:37;;;;;;11168:23;11194:24;11212:4;11194:9;:24::i;:::-;11168:50;;11229:33;11246:15;11229:16;:33::i;:::-;11109:161;11078:192::o;15434:168::-;1628:12;:10;:12::i;:::-;1618:22;;:6;;;;;;;;;;:22;;;1610:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;15519:1:::1;15509:6;:11;;:27;;;;;15534:2;15524:6;:12;;15509:27;15501:66;;;;;;;;;;;;:::i;:::-;;;;;;;;;15588:6;15578:7;:16;;;;15434:168:::0;:::o;15167:255::-;1628:12;:10;:12::i;:::-;1618:22;;:6;;;;;;;;;;:22;;;1610:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;15269:1:::1;15254:12;:16;15246:58;;;;;;;;;;;;:::i;:::-;;;;;;;;;15330:36;15360:5;15330:25;15342:12;4516:16;15330:11;;:25;;;;:::i;:::-;:29;;:36;;;;:::i;:::-;15315:12;:51;;;;15382:32;15401:12;;15382:32;;;;;;:::i;:::-;;;;;;;;15167:255:::0;:::o;6883:184::-;7000:7;7032:11;:18;7044:5;7032:18;;;;;;;;;;;;;;;:27;7051:7;7032:27;;;;;;;;;;;;;;;;7025:34;;6883:184;;;;:::o;15610:175::-;1628:12;:10;:12::i;:::-;1618:22;;:6;;;;;;;;;;:22;;;1610:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;15698:1:::1;15687:7;:12;;:29;;;;;15714:2;15703:7;:13;;15687:29;15679:69;;;;;;;;;;;;:::i;:::-;;;;;;;;;15770:7;15759:8;:18;;;;15610:175:::0;:::o;250:98::-;303:7;330:10;323:17;;250:98;:::o;8419:369::-;8563:1;8546:19;;:5;:19;;;;8538:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;8644:1;8625:21;;:7;:21;;;;8617:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;8726:6;8696:11;:18;8708:5;8696:18;;;;;;;;;;;;;;;:27;8715:7;8696:27;;;;;;;;;;;;;;;:36;;;;8764:7;8748:32;;8757:5;8748:32;;;8773:6;8748:32;;;;;;:::i;:::-;;;;;;;;8419:369;;;:::o;8796:1472::-;8934:1;8918:18;;:4;:18;;;;8910:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;9011:1;8997:16;;:2;:16;;;;8989:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;9081:1;9072:6;:10;9064:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;9153:7;:5;:7::i;:::-;9145:15;;:4;:15;;;;:32;;;;;9170:7;:5;:7::i;:::-;9164:13;;:2;:13;;;;9145:32;9141:926;;;9253:13;;;;;;;;;;;9245:21;;:4;:21;;;:44;;;;9276:13;;;;;;;;;;;9270:19;;:2;:19;;;9245:44;9241:136;;;9319:11;;;;;;;;;;;9311:50;;;;;;;;;;;;:::i;:::-;;;;;;;;;9241:136;9425:12;;9415:6;:22;;9407:31;;;;;;9462:4;:10;9467:4;9462:10;;;;;;;;;;;;;;;;;;;;;;;;;9461:11;:24;;;;;9477:4;:8;9482:2;9477:8;;;;;;;;;;;;;;;;;;;;;;;;;9476:9;9461:24;9453:33;;;;;;9515:28;9546:24;9564:4;9546:9;:24::i;:::-;9515:55;;9612:12;;9588:20;:36;9585:124;;9681:12;;9658:35;;9585:124;9742:6;;;;;;;;;;;9741:7;:32;;;;;9760:13;;;;;;;;;;;9752:21;;:4;:21;;;;9741:32;:47;;;;;9777:11;;;;;;;;;;;9741:47;9737:319;;;9809:38;9826:20;9809:16;:38::i;:::-;9866:26;9895:21;9866:50;;9960:1;9939:18;:22;9935:106;;;9986:35;9999:21;9986:12;:35::i;:::-;9935:106;9790:266;9737:319;9179:888;9141:926;10077:12;10092:4;10077:19;;10113:18;:24;10132:4;10113:24;;;;;;;;;;;;;;;;;;;;;;;;;:50;;;;10141:18;:22;10160:2;10141:22;;;;;;;;;;;;;;;;;;;;;;;;;10113:50;10109:98;;;10190:5;10180:15;;10109:98;10219:41;10234:4;10240:2;10244:6;10252:7;10219:14;:41::i;:::-;8899:1369;8796:1472;;;:::o;2215:224::-;2335:7;2368:1;2363;:6;;2371:12;2355:29;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;2395:9;2411:1;2407;:5;;;;:::i;:::-;2395:17;;2430:1;2423:8;;;2215:224;;;;;:::o;10767:151::-;10824:12;;;;;;;;;;;:21;;:36;10846:13;10857:1;10846:6;:10;;:13;;;;:::i;:::-;10824:36;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10871:15;;;;;;;;;;;:24;;:39;10896:13;10907:1;10896:6;:10;;:13;;;;:::i;:::-;10871:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10767:151;:::o;7730:323::-;7825:7;7883;;7872;:18;;7850:110;;;;;;;;;;;;:::i;:::-;;;;;;;;;7971:19;7993:10;:8;:10::i;:::-;7971:32;;8021:24;8033:11;8021:7;:11;;:24;;;;:::i;:::-;8014:31;;;7730:323;;;:::o;10276:483::-;5349:4;5340:6;;:13;;;;;;;;;;;;;;;;;;10354:21:::1;10392:1;10378:16;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10354:40;;10423:4;10405;10410:1;10405:7;;;;;;;;:::i;:::-;;;;;;;:23;;;;;;;;;::::0;::::1;10449:15;;;;;;;;;;;:20;;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10439:4;10444:1;10439:7;;;;;;;;:::i;:::-;;;;;;;:32;;;;;;;;;::::0;::::1;10482:62;10499:4;10514:15;;;;;;;;;;;10532:11;10482:8;:62::i;:::-;10555:15;;;;;;;;;;;:66;;;10636:11;10662:1;10678:4;10705;10725:15;10555:196;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;10343:416;5385:5:::0;5376:6;;:14;;;;;;;;;;;;;;;;;;10276:483;:::o;2447:246::-;2505:7;2534:1;2529;:6;2525:47;;;2559:1;2552:8;;;;2525:47;2582:9;2598:1;2594;:5;;;;:::i;:::-;2582:17;;2627:1;2622;2618;:5;;;;:::i;:::-;:10;2610:56;;;;;;;;;;;;:::i;:::-;;;;;;;;;2684:1;2677:8;;;2447:246;;;;;:::o;2701:132::-;2759:7;2786:39;2790:1;2793;2786:39;;;;;;;;;;;;;;;;;:3;:39::i;:::-;2779:46;;2701:132;;;;:::o;11754:282::-;11910:7;11905:28;;11919:14;:12;:14::i;:::-;11905:28;11944:44;11962:6;11970:9;11981:6;11944:17;:44::i;:::-;12004:7;11999:29;;12013:15;:13;:15::i;:::-;11999:29;11754:282;;;;:::o;14726:166::-;14768:7;14789:15;14806;14825:19;:17;:19::i;:::-;14788:56;;;;14864:20;14876:7;14864;:11;;:20;;;;:::i;:::-;14857:27;;;;14726:166;:::o;2841:223::-;2961:7;2993:1;2989;:5;2996:12;2981:28;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;3020:9;3036:1;3032;:5;;;;:::i;:::-;3020:17;;3055:1;3048:8;;;2841:223;;;;;:::o;8061:227::-;8119:1;8108:7;;:12;:29;;;;;8136:1;8124:8;;:13;8108:29;8104:42;;;8139:7;;8104:42;8180:7;;8162:15;:25;;;;8217:8;;8198:16;:27;;;;8256:1;8246:7;:11;;;;8279:1;8268:8;:12;;;;8061:227;:::o;12044:610::-;12191:15;12221:23;12259:12;12286:23;12324:12;12351:13;12378:19;12389:7;12378:10;:19::i;:::-;12176:221;;;;;;;;;;;;12426:28;12446:7;12426;:15;12434:6;12426:15;;;;;;;;;;;;;;;;:19;;:28;;;;:::i;:::-;12408:7;:15;12416:6;12408:15;;;;;;;;;;;;;;;:46;;;;12486:39;12509:15;12486:7;:18;12494:9;12486:18;;;;;;;;;;;;;;;;:22;;:39;;;;:::i;:::-;12465:7;:18;12473:9;12465:18;;;;;;;;;;;;;;;:60;;;;12536:16;12546:5;12536:9;:16::i;:::-;12563:23;12575:4;12581;12563:11;:23::i;:::-;12619:9;12602:44;;12611:6;12602:44;;;12630:15;12602:44;;;;;;:::i;:::-;;;;;;;;12165:489;;;;;;12044:610;;;:::o;8296:115::-;8350:15;;8340:7;:25;;;;8387:16;;8376:8;:27;;;;8296:115::o;14900:259::-;14951:7;14960;14980:15;14998:7;;14980:25;;15016:15;4516:16;15016:25;;15066:20;4516:16;15066:7;;:11;;:20;;;;:::i;:::-;15056:7;:30;15052:61;;;15096:7;;4516:16;15088:25;;;;;;;;15052:61;15134:7;15143;15126:25;;;;;;14900:259;;;:::o;13073:624::-;13173:7;13195;13217;13239;13261;13283;13319:23;13344:12;13358:13;13388:39;13400:7;13409;;13418:8;;13388:11;:39::i;:::-;13318:109;;;;;;13438:19;13460:10;:8;:10::i;:::-;13438:32;;13482:15;13499:23;13524:12;13553:46;13565:7;13574:4;13580:5;13587:11;13553;:46::i;:::-;13481:118;;;;;;13628:7;13637:15;13654:4;13660:15;13677:4;13683:5;13620:69;;;;;;;;;;;;;;;;;;;13073:624;;;;;;;:::o;2071:136::-;2129:7;2156:43;2160:1;2163;2156:43;;;;;;;;;;;;;;;;;:3;:43::i;:::-;2149:50;;2071:136;;;;:::o;1884:179::-;1942:7;1962:9;1978:1;1974;:5;;;;:::i;:::-;1962:17;;2003:1;1998;:6;;1990:46;;;;;;;;;;;;:::i;:::-;;;;;;;;;2054:1;2047:8;;;1884:179;;;;:::o;12662:211::-;12715:19;12737:10;:8;:10::i;:::-;12715:32;;12758:13;12774:22;12784:11;12774:5;:9;;:22;;;;:::i;:::-;12758:38;;12832:33;12859:5;12832:7;:22;12848:4;12832:22;;;;;;;;;;;;;;;;:26;;:33;;;;:::i;:::-;12807:7;:22;12823:4;12807:22;;;;;;;;;;;;;;;:58;;;;12704:169;;12662:211;:::o;12881:147::-;12959:17;12971:4;12959:7;;:11;;:17;;;;:::i;:::-;12949:7;:27;;;;13000:20;13015:4;13000:10;;:14;;:20;;;;:::i;:::-;12987:10;:33;;;;12881:147;;:::o;13705:469::-;13873:7;13895;13917;13952:12;13967:28;13991:3;13967:19;13979:6;13967:7;:11;;:19;;;;:::i;:::-;:23;;:28;;;;:::i;:::-;13952:43;;14006:13;14022:29;14047:3;14022:20;14034:7;14022;:11;;:20;;;;:::i;:::-;:24;;:29;;;;:::i;:::-;14006:45;;14062:23;14088:28;14110:5;14088:17;14100:4;14088:7;:11;;:17;;;;:::i;:::-;:21;;:28;;;;:::i;:::-;14062:54;;14137:15;14154:4;14160:5;14129:37;;;;;;;;;13705:469;;;;;;;:::o;14182:536::-;14376:7;14398;14420;14455:15;14473:24;14485:11;14473:7;:11;;:24;;;;:::i;:::-;14455:42;;14508:12;14523:21;14532:11;14523:4;:8;;:21;;;;:::i;:::-;14508:36;;14555:13;14571:22;14581:11;14571:5;:9;;:22;;;;:::i;:::-;14555:38;;14604:23;14630:28;14652:5;14630:17;14642:4;14630:7;:11;;:17;;;;:::i;:::-;:21;;:28;;;;:::i;:::-;14604:54;;14679:7;14688:15;14705:4;14671:39;;;;;;;;;;14182:536;;;;;;;;:::o;24:722:1:-;120:5;145:81;161:64;218:6;161:64;:::i;:::-;145:81;:::i;:::-;136:90;;246:5;275:6;268:5;261:21;309:4;302:5;298:16;291:23;;335:6;385:3;377:4;369:6;365:17;360:3;356:27;353:36;350:2;;;404:79;;:::i;:::-;350:2;517:1;502:238;527:6;524:1;521:13;502:238;;;595:3;624:37;657:3;645:10;624:37;:::i;:::-;619:3;612:50;691:4;686:3;682:14;675:21;;725:4;720:3;716:14;709:21;;562:178;549:1;546;542:9;537:14;;502:238;;;506:14;126:620;;;;;;;:::o;752:139::-;798:5;836:6;823:20;814:29;;852:33;879:5;852:33;:::i;:::-;804:87;;;;:::o;897:143::-;954:5;985:6;979:13;970:22;;1001:33;1028:5;1001:33;:::i;:::-;960:80;;;;:::o;1063:370::-;1134:5;1183:3;1176:4;1168:6;1164:17;1160:27;1150:2;;1191:79;;:::i;:::-;1150:2;1308:6;1295:20;1333:94;1423:3;1415:6;1408:4;1400:6;1396:17;1333:94;:::i;:::-;1324:103;;1140:293;;;;;:::o;1439:139::-;1485:5;1523:6;1510:20;1501:29;;1539:33;1566:5;1539:33;:::i;:::-;1491:87;;;;:::o;1584:329::-;1643:6;1692:2;1680:9;1671:7;1667:23;1663:32;1660:2;;;1698:79;;:::i;:::-;1660:2;1818:1;1843:53;1888:7;1879:6;1868:9;1864:22;1843:53;:::i;:::-;1833:63;;1789:117;1650:263;;;;:::o;1919:351::-;1989:6;2038:2;2026:9;2017:7;2013:23;2009:32;2006:2;;;2044:79;;:::i;:::-;2006:2;2164:1;2189:64;2245:7;2236:6;2225:9;2221:22;2189:64;:::i;:::-;2179:74;;2135:128;1996:274;;;;:::o;2276:474::-;2344:6;2352;2401:2;2389:9;2380:7;2376:23;2372:32;2369:2;;;2407:79;;:::i;:::-;2369:2;2527:1;2552:53;2597:7;2588:6;2577:9;2573:22;2552:53;:::i;:::-;2542:63;;2498:117;2654:2;2680:53;2725:7;2716:6;2705:9;2701:22;2680:53;:::i;:::-;2670:63;;2625:118;2359:391;;;;;:::o;2756:619::-;2833:6;2841;2849;2898:2;2886:9;2877:7;2873:23;2869:32;2866:2;;;2904:79;;:::i;:::-;2866:2;3024:1;3049:53;3094:7;3085:6;3074:9;3070:22;3049:53;:::i;:::-;3039:63;;2995:117;3151:2;3177:53;3222:7;3213:6;3202:9;3198:22;3177:53;:::i;:::-;3167:63;;3122:118;3279:2;3305:53;3350:7;3341:6;3330:9;3326:22;3305:53;:::i;:::-;3295:63;;3250:118;2856:519;;;;;:::o;3381:474::-;3449:6;3457;3506:2;3494:9;3485:7;3481:23;3477:32;3474:2;;;3512:79;;:::i;:::-;3474:2;3632:1;3657:53;3702:7;3693:6;3682:9;3678:22;3657:53;:::i;:::-;3647:63;;3603:117;3759:2;3785:53;3830:7;3821:6;3810:9;3806:22;3785:53;:::i;:::-;3775:63;;3730:118;3464:391;;;;;:::o;3861:539::-;3945:6;3994:2;3982:9;3973:7;3969:23;3965:32;3962:2;;;4000:79;;:::i;:::-;3962:2;4148:1;4137:9;4133:17;4120:31;4178:18;4170:6;4167:30;4164:2;;;4200:79;;:::i;:::-;4164:2;4305:78;4375:7;4366:6;4355:9;4351:22;4305:78;:::i;:::-;4295:88;;4091:302;3952:448;;;;:::o;4406:329::-;4465:6;4514:2;4502:9;4493:7;4489:23;4485:32;4482:2;;;4520:79;;:::i;:::-;4482:2;4640:1;4665:53;4710:7;4701:6;4690:9;4686:22;4665:53;:::i;:::-;4655:63;;4611:117;4472:263;;;;:::o;4741:179::-;4810:10;4831:46;4873:3;4865:6;4831:46;:::i;:::-;4909:4;4904:3;4900:14;4886:28;;4821:99;;;;:::o;4926:108::-;5003:24;5021:5;5003:24;:::i;:::-;4998:3;4991:37;4981:53;;:::o;5040:118::-;5127:24;5145:5;5127:24;:::i;:::-;5122:3;5115:37;5105:53;;:::o;5194:732::-;5313:3;5342:54;5390:5;5342:54;:::i;:::-;5412:86;5491:6;5486:3;5412:86;:::i;:::-;5405:93;;5522:56;5572:5;5522:56;:::i;:::-;5601:7;5632:1;5617:284;5642:6;5639:1;5636:13;5617:284;;;5718:6;5712:13;5745:63;5804:3;5789:13;5745:63;:::i;:::-;5738:70;;5831:60;5884:6;5831:60;:::i;:::-;5821:70;;5677:224;5664:1;5661;5657:9;5652:14;;5617:284;;;5621:14;5917:3;5910:10;;5318:608;;;;;;;:::o;5932:109::-;6013:21;6028:5;6013:21;:::i;:::-;6008:3;6001:34;5991:50;;:::o;6047:183::-;6160:63;6217:5;6160:63;:::i;:::-;6155:3;6148:76;6138:92;;:::o;6236:147::-;6331:45;6370:5;6331:45;:::i;:::-;6326:3;6319:58;6309:74;;:::o;6389:364::-;6477:3;6505:39;6538:5;6505:39;:::i;:::-;6560:71;6624:6;6619:3;6560:71;:::i;:::-;6553:78;;6640:52;6685:6;6680:3;6673:4;6666:5;6662:16;6640:52;:::i;:::-;6717:29;6739:6;6717:29;:::i;:::-;6712:3;6708:39;6701:46;;6481:272;;;;;:::o;6759:366::-;6901:3;6922:67;6986:2;6981:3;6922:67;:::i;:::-;6915:74;;6998:93;7087:3;6998:93;:::i;:::-;7116:2;7111:3;7107:12;7100:19;;6905:220;;;:::o;7131:366::-;7273:3;7294:67;7358:2;7353:3;7294:67;:::i;:::-;7287:74;;7370:93;7459:3;7370:93;:::i;:::-;7488:2;7483:3;7479:12;7472:19;;7277:220;;;:::o;7503:366::-;7645:3;7666:67;7730:2;7725:3;7666:67;:::i;:::-;7659:74;;7742:93;7831:3;7742:93;:::i;:::-;7860:2;7855:3;7851:12;7844:19;;7649:220;;;:::o;7875:366::-;8017:3;8038:67;8102:2;8097:3;8038:67;:::i;:::-;8031:74;;8114:93;8203:3;8114:93;:::i;:::-;8232:2;8227:3;8223:12;8216:19;;8021:220;;;:::o;8247:366::-;8389:3;8410:67;8474:2;8469:3;8410:67;:::i;:::-;8403:74;;8486:93;8575:3;8486:93;:::i;:::-;8604:2;8599:3;8595:12;8588:19;;8393:220;;;:::o;8619:366::-;8761:3;8782:67;8846:2;8841:3;8782:67;:::i;:::-;8775:74;;8858:93;8947:3;8858:93;:::i;:::-;8976:2;8971:3;8967:12;8960:19;;8765:220;;;:::o;8991:366::-;9133:3;9154:67;9218:2;9213:3;9154:67;:::i;:::-;9147:74;;9230:93;9319:3;9230:93;:::i;:::-;9348:2;9343:3;9339:12;9332:19;;9137:220;;;:::o;9363:366::-;9505:3;9526:67;9590:2;9585:3;9526:67;:::i;:::-;9519:74;;9602:93;9691:3;9602:93;:::i;:::-;9720:2;9715:3;9711:12;9704:19;;9509:220;;;:::o;9735:366::-;9877:3;9898:67;9962:2;9957:3;9898:67;:::i;:::-;9891:74;;9974:93;10063:3;9974:93;:::i;:::-;10092:2;10087:3;10083:12;10076:19;;9881:220;;;:::o;10107:366::-;10249:3;10270:67;10334:2;10329:3;10270:67;:::i;:::-;10263:74;;10346:93;10435:3;10346:93;:::i;:::-;10464:2;10459:3;10455:12;10448:19;;10253:220;;;:::o;10479:366::-;10621:3;10642:67;10706:2;10701:3;10642:67;:::i;:::-;10635:74;;10718:93;10807:3;10718:93;:::i;:::-;10836:2;10831:3;10827:12;10820:19;;10625:220;;;:::o;10851:366::-;10993:3;11014:67;11078:2;11073:3;11014:67;:::i;:::-;11007:74;;11090:93;11179:3;11090:93;:::i;:::-;11208:2;11203:3;11199:12;11192:19;;10997:220;;;:::o;11223:366::-;11365:3;11386:67;11450:2;11445:3;11386:67;:::i;:::-;11379:74;;11462:93;11551:3;11462:93;:::i;:::-;11580:2;11575:3;11571:12;11564:19;;11369:220;;;:::o;11595:366::-;11737:3;11758:67;11822:2;11817:3;11758:67;:::i;:::-;11751:74;;11834:93;11923:3;11834:93;:::i;:::-;11952:2;11947:3;11943:12;11936:19;;11741:220;;;:::o;11967:118::-;12054:24;12072:5;12054:24;:::i;:::-;12049:3;12042:37;12032:53;;:::o;12091:112::-;12174:22;12190:5;12174:22;:::i;:::-;12169:3;12162:35;12152:51;;:::o;12209:222::-;12302:4;12340:2;12329:9;12325:18;12317:26;;12353:71;12421:1;12410:9;12406:17;12397:6;12353:71;:::i;:::-;12307:124;;;;:::o;12437:210::-;12524:4;12562:2;12551:9;12547:18;12539:26;;12575:65;12637:1;12626:9;12622:17;12613:6;12575:65;:::i;:::-;12529:118;;;;:::o;12653:274::-;12772:4;12810:2;12799:9;12795:18;12787:26;;12823:97;12917:1;12906:9;12902:17;12893:6;12823:97;:::i;:::-;12777:150;;;;:::o;12933:313::-;13046:4;13084:2;13073:9;13069:18;13061:26;;13133:9;13127:4;13123:20;13119:1;13108:9;13104:17;13097:47;13161:78;13234:4;13225:6;13161:78;:::i;:::-;13153:86;;13051:195;;;;:::o;13252:419::-;13418:4;13456:2;13445:9;13441:18;13433:26;;13505:9;13499:4;13495:20;13491:1;13480:9;13476:17;13469:47;13533:131;13659:4;13533:131;:::i;:::-;13525:139;;13423:248;;;:::o;13677:419::-;13843:4;13881:2;13870:9;13866:18;13858:26;;13930:9;13924:4;13920:20;13916:1;13905:9;13901:17;13894:47;13958:131;14084:4;13958:131;:::i;:::-;13950:139;;13848:248;;;:::o;14102:419::-;14268:4;14306:2;14295:9;14291:18;14283:26;;14355:9;14349:4;14345:20;14341:1;14330:9;14326:17;14319:47;14383:131;14509:4;14383:131;:::i;:::-;14375:139;;14273:248;;;:::o;14527:419::-;14693:4;14731:2;14720:9;14716:18;14708:26;;14780:9;14774:4;14770:20;14766:1;14755:9;14751:17;14744:47;14808:131;14934:4;14808:131;:::i;:::-;14800:139;;14698:248;;;:::o;14952:419::-;15118:4;15156:2;15145:9;15141:18;15133:26;;15205:9;15199:4;15195:20;15191:1;15180:9;15176:17;15169:47;15233:131;15359:4;15233:131;:::i;:::-;15225:139;;15123:248;;;:::o;15377:419::-;15543:4;15581:2;15570:9;15566:18;15558:26;;15630:9;15624:4;15620:20;15616:1;15605:9;15601:17;15594:47;15658:131;15784:4;15658:131;:::i;:::-;15650:139;;15548:248;;;:::o;15802:419::-;15968:4;16006:2;15995:9;15991:18;15983:26;;16055:9;16049:4;16045:20;16041:1;16030:9;16026:17;16019:47;16083:131;16209:4;16083:131;:::i;:::-;16075:139;;15973:248;;;:::o;16227:419::-;16393:4;16431:2;16420:9;16416:18;16408:26;;16480:9;16474:4;16470:20;16466:1;16455:9;16451:17;16444:47;16508:131;16634:4;16508:131;:::i;:::-;16500:139;;16398:248;;;:::o;16652:419::-;16818:4;16856:2;16845:9;16841:18;16833:26;;16905:9;16899:4;16895:20;16891:1;16880:9;16876:17;16869:47;16933:131;17059:4;16933:131;:::i;:::-;16925:139;;16823:248;;;:::o;17077:419::-;17243:4;17281:2;17270:9;17266:18;17258:26;;17330:9;17324:4;17320:20;17316:1;17305:9;17301:17;17294:47;17358:131;17484:4;17358:131;:::i;:::-;17350:139;;17248:248;;;:::o;17502:419::-;17668:4;17706:2;17695:9;17691:18;17683:26;;17755:9;17749:4;17745:20;17741:1;17730:9;17726:17;17719:47;17783:131;17909:4;17783:131;:::i;:::-;17775:139;;17673:248;;;:::o;17927:419::-;18093:4;18131:2;18120:9;18116:18;18108:26;;18180:9;18174:4;18170:20;18166:1;18155:9;18151:17;18144:47;18208:131;18334:4;18208:131;:::i;:::-;18200:139;;18098:248;;;:::o;18352:419::-;18518:4;18556:2;18545:9;18541:18;18533:26;;18605:9;18599:4;18595:20;18591:1;18580:9;18576:17;18569:47;18633:131;18759:4;18633:131;:::i;:::-;18625:139;;18523:248;;;:::o;18777:419::-;18943:4;18981:2;18970:9;18966:18;18958:26;;19030:9;19024:4;19020:20;19016:1;19005:9;19001:17;18994:47;19058:131;19184:4;19058:131;:::i;:::-;19050:139;;18948:248;;;:::o;19202:222::-;19295:4;19333:2;19322:9;19318:18;19310:26;;19346:71;19414:1;19403:9;19399:17;19390:6;19346:71;:::i;:::-;19300:124;;;;:::o;19430:831::-;19693:4;19731:3;19720:9;19716:19;19708:27;;19745:71;19813:1;19802:9;19798:17;19789:6;19745:71;:::i;:::-;19826:80;19902:2;19891:9;19887:18;19878:6;19826:80;:::i;:::-;19953:9;19947:4;19943:20;19938:2;19927:9;19923:18;19916:48;19981:108;20084:4;20075:6;19981:108;:::i;:::-;19973:116;;20099:72;20167:2;20156:9;20152:18;20143:6;20099:72;:::i;:::-;20181:73;20249:3;20238:9;20234:19;20225:6;20181:73;:::i;:::-;19698:563;;;;;;;;:::o;20267:214::-;20356:4;20394:2;20383:9;20379:18;20371:26;;20407:67;20471:1;20460:9;20456:17;20447:6;20407:67;:::i;:::-;20361:120;;;;:::o;20487:129::-;20521:6;20548:20;;:::i;:::-;20538:30;;20577:33;20605:4;20597:6;20577:33;:::i;:::-;20528:88;;;:::o;20622:75::-;20655:6;20688:2;20682:9;20672:19;;20662:35;:::o;20703:311::-;20780:4;20870:18;20862:6;20859:30;20856:2;;;20892:18;;:::i;:::-;20856:2;20942:4;20934:6;20930:17;20922:25;;21002:4;20996;20992:15;20984:23;;20785:229;;;:::o;21020:132::-;21087:4;21110:3;21102:11;;21140:4;21135:3;21131:14;21123:22;;21092:60;;;:::o;21158:114::-;21225:6;21259:5;21253:12;21243:22;;21232:40;;;:::o;21278:99::-;21330:6;21364:5;21358:12;21348:22;;21337:40;;;:::o;21383:113::-;21453:4;21485;21480:3;21476:14;21468:22;;21458:38;;;:::o;21502:184::-;21601:11;21635:6;21630:3;21623:19;21675:4;21670:3;21666:14;21651:29;;21613:73;;;;:::o;21692:169::-;21776:11;21810:6;21805:3;21798:19;21850:4;21845:3;21841:14;21826:29;;21788:73;;;;:::o;21867:305::-;21907:3;21926:20;21944:1;21926:20;:::i;:::-;21921:25;;21960:20;21978:1;21960:20;:::i;:::-;21955:25;;22114:1;22046:66;22042:74;22039:1;22036:81;22033:2;;;22120:18;;:::i;:::-;22033:2;22164:1;22161;22157:9;22150:16;;21911:261;;;;:::o;22178:185::-;22218:1;22235:20;22253:1;22235:20;:::i;:::-;22230:25;;22269:20;22287:1;22269:20;:::i;:::-;22264:25;;22308:1;22298:2;;22313:18;;:::i;:::-;22298:2;22355:1;22352;22348:9;22343:14;;22220:143;;;;:::o;22369:348::-;22409:7;22432:20;22450:1;22432:20;:::i;:::-;22427:25;;22466:20;22484:1;22466:20;:::i;:::-;22461:25;;22654:1;22586:66;22582:74;22579:1;22576:81;22571:1;22564:9;22557:17;22553:105;22550:2;;;22661:18;;:::i;:::-;22550:2;22709:1;22706;22702:9;22691:20;;22417:300;;;;:::o;22723:191::-;22763:4;22783:20;22801:1;22783:20;:::i;:::-;22778:25;;22817:20;22835:1;22817:20;:::i;:::-;22812:25;;22856:1;22853;22850:8;22847:2;;;22861:18;;:::i;:::-;22847:2;22906:1;22903;22899:9;22891:17;;22768:146;;;;:::o;22920:96::-;22957:7;22986:24;23004:5;22986:24;:::i;:::-;22975:35;;22965:51;;;:::o;23022:90::-;23056:7;23099:5;23092:13;23085:21;23074:32;;23064:48;;;:::o;23118:126::-;23155:7;23195:42;23188:5;23184:54;23173:65;;23163:81;;;:::o;23250:77::-;23287:7;23316:5;23305:16;;23295:32;;;:::o;23333:86::-;23368:7;23408:4;23401:5;23397:16;23386:27;;23376:43;;;:::o;23425:178::-;23501:9;23534:63;23591:5;23534:63;:::i;:::-;23521:76;;23511:92;;;:::o;23609:139::-;23685:9;23718:24;23736:5;23718:24;:::i;:::-;23705:37;;23695:53;;;:::o;23754:121::-;23812:9;23845:24;23863:5;23845:24;:::i;:::-;23832:37;;23822:53;;;:::o;23881:307::-;23949:1;23959:113;23973:6;23970:1;23967:13;23959:113;;;24058:1;24053:3;24049:11;24043:18;24039:1;24034:3;24030:11;24023:39;23995:2;23992:1;23988:10;23983:15;;23959:113;;;24090:6;24087:1;24084:13;24081:2;;;24170:1;24161:6;24156:3;24152:16;24145:27;24081:2;23930:258;;;;:::o;24194:281::-;24277:27;24299:4;24277:27;:::i;:::-;24269:6;24265:40;24407:6;24395:10;24392:22;24371:18;24359:10;24356:34;24353:62;24350:2;;;24418:18;;:::i;:::-;24350:2;24458:10;24454:2;24447:22;24237:238;;;:::o;24481:233::-;24520:3;24543:24;24561:5;24543:24;:::i;:::-;24534:33;;24589:66;24582:5;24579:77;24576:2;;;24659:18;;:::i;:::-;24576:2;24706:1;24699:5;24695:13;24688:20;;24524:190;;;:::o;24720:180::-;24768:77;24765:1;24758:88;24865:4;24862:1;24855:15;24889:4;24886:1;24879:15;24906:180;24954:77;24951:1;24944:88;25051:4;25048:1;25041:15;25075:4;25072:1;25065:15;25092:180;25140:77;25137:1;25130:88;25237:4;25234:1;25227:15;25261:4;25258:1;25251:15;25278:180;25326:77;25323:1;25316:88;25423:4;25420:1;25413:15;25447:4;25444:1;25437:15;25464:117;25573:1;25570;25563:12;25587:117;25696:1;25693;25686:12;25710:117;25819:1;25816;25809:12;25833:117;25942:1;25939;25932:12;25956:102;25997:6;26048:2;26044:7;26039:2;26032:5;26028:14;26024:28;26014:38;;26004:54;;;:::o;26064:222::-;26204:34;26200:1;26192:6;26188:14;26181:58;26273:5;26268:2;26260:6;26256:15;26249:30;26170:116;:::o;26292:176::-;26432:28;26428:1;26420:6;26416:14;26409:52;26398:70;:::o;26474:176::-;26614:28;26610:1;26602:6;26598:14;26591:52;26580:70;:::o;26656:229::-;26796:34;26792:1;26784:6;26780:14;26773:58;26865:12;26860:2;26852:6;26848:15;26841:37;26762:123;:::o;26891:221::-;27031:34;27027:1;27019:6;27015:14;27008:58;27100:4;27095:2;27087:6;27083:15;27076:29;26997:115;:::o;27118:177::-;27258:29;27254:1;27246:6;27242:14;27235:53;27224:71;:::o;27301:179::-;27441:31;27437:1;27429:6;27425:14;27418:55;27407:73;:::o;27486:220::-;27626:34;27622:1;27614:6;27610:14;27603:58;27695:3;27690:2;27682:6;27678:15;27671:28;27592:114;:::o;27712:182::-;27852:34;27848:1;27840:6;27836:14;27829:58;27818:76;:::o;27900:177::-;28040:29;28036:1;28028:6;28024:14;28017:53;28006:71;:::o;28083:228::-;28223:34;28219:1;28211:6;28207:14;28200:58;28292:11;28287:2;28279:6;28275:15;28268:36;28189:122;:::o;28317:224::-;28457:34;28453:1;28445:6;28441:14;28434:58;28526:7;28521:2;28513:6;28509:15;28502:32;28423:118;:::o;28547:223::-;28687:34;28683:1;28675:6;28671:14;28664:58;28756:6;28751:2;28743:6;28739:15;28732:31;28653:117;:::o;28776:176::-;28916:28;28912:1;28904:6;28900:14;28893:52;28882:70;:::o;28958:122::-;29031:24;29049:5;29031:24;:::i;:::-;29024:5;29021:35;29011:2;;29070:1;29067;29060:12;29011:2;29001:79;:::o;29086:122::-;29159:24;29177:5;29159:24;:::i;:::-;29152:5;29149:35;29139:2;;29198:1;29195;29188:12;29139:2;29129:79;:::o
Swarm Source
ipfs://cf1f8368e51e6c1a9f065553c84bcad905e48e8602ef17ce362bbb8d41836ee6
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.