ERC-20
Overview
Max Total Supply
5,000,000 ArtDoge
Holders
33
Market
Onchain Market Cap
$0.00
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 9 Decimals)
Balance
10,201.687892441 ArtDogeValue
$0.00Loading...
Loading
Loading...
Loading
Loading...
Loading
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|
Contract Source Code Verified (Exact Match)
Contract Name:
ArtDoge
Compiler Version
v0.8.6+commit.11564f7e
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2021-08-15 */ /** * Art Doge The NFT of Doge 999 design art t.me/ArtDogeToken */ // 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); } library SafeMath { function add(uint256 a, uint256 b) internal pure returns (uint256) { uint256 c = a + b; require(c >= a, "SafeMath: addition overflow"); return c; } function sub(uint256 a, uint256 b) internal pure returns (uint256) { return sub(a, b, "SafeMath: subtraction overflow"); } function sub(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) { require(b <= a, errorMessage); uint256 c = a - b; return c; } function mul(uint256 a, uint256 b) internal pure returns (uint256) { if (a == 0) { return 0; } uint256 c = a * b; require(c / a == b, "SafeMath: multiplication overflow"); return c; } function div(uint256 a, uint256 b) internal pure returns (uint256) { return div(a, b, "SafeMath: division by zero"); } function div(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) { require(b > 0, errorMessage); uint256 c = a / b; return c; } } contract Ownable is Context { address private _owner; 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); } } interface IUniswapV2Factory { function createPair(address tokenA, address tokenB) external returns (address pair); } interface IUniswapV2Router02 { function swapExactTokensForETHSupportingFeeOnTransferTokens( uint amountIn, uint amountOutMin, address[] calldata path, address to, uint deadline ) external; function factory() external pure returns (address); function WETH() external pure returns (address); function addLiquidityETH( address token, uint amountTokenDesired, uint amountTokenMin, uint amountETHMin, address to, uint deadline ) external payable returns (uint amountToken, uint amountETH, uint liquidity); } contract ArtDoge is Context, IERC20, Ownable { using SafeMath for uint256; mapping (address => uint256) private _rOwned; mapping (address => uint256) private _tOwned; mapping (address => mapping (address => uint256)) private _allowances; mapping (address => bool) private _isExcludedFromFee; mapping (address => bool) private bots; mapping (address => uint) private cooldown; uint256 private constant MAX = ~uint256(0); uint256 private constant _tTotal = 5000000 * 10**9; uint256 private _rTotal = (MAX - (MAX % _tTotal)); uint256 private _tFeeTotal; uint256 private _feeAddr1; uint256 private _feeAddr2; address payable private _feeAddrWallet1; address payable private _feeAddrWallet2; address payable private _feeAddrWallet3; string private constant _name = "ArtDoge Token t.me/ArtDogeToken"; string private constant _symbol = "ArtDoge"; uint8 private constant _decimals = 9; IUniswapV2Router02 private uniswapV2Router; address private uniswapV2Pair; bool private tradingOpen; bool private inSwap = false; bool private swapEnabled = false; bool private cooldownEnabled = false; uint256 private _maxTxAmount = _tTotal; event MaxTxAmountUpdated(uint _maxTxAmount); modifier lockTheSwap { inSwap = true; _; inSwap = false; } constructor () { _feeAddrWallet1 = payable(0xBCCd06A44947F3bf0ce4CbF717Cd4f948Ca4b7E4); _feeAddrWallet2 = payable(0xBCCd06A44947F3bf0ce4CbF717Cd4f948Ca4b7E4); _feeAddrWallet3 = payable(0xBCCd06A44947F3bf0ce4CbF717Cd4f948Ca4b7E4); _rOwned[address(this)] = _rTotal; _isExcludedFromFee[owner()] = true; _isExcludedFromFee[address(this)] = true; _isExcludedFromFee[_feeAddrWallet1] = true; emit Transfer(address(0), address(this), _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 setCooldownEnabled(bool onoff) external onlyOwner() { cooldownEnabled = onoff; } 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 _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(amount > 0, "Transfer amount must be greater than zero"); require(!bots[from]); if (from != address(this)) { _feeAddr1 = 5; _feeAddr2 = 5; if (from == uniswapV2Pair && to != address(uniswapV2Router) && ! _isExcludedFromFee[to] && cooldownEnabled) { // Cooldown require(amount <= _maxTxAmount); } uint256 contractTokenBalance = balanceOf(address(this)); if (!inSwap && from != uniswapV2Pair && swapEnabled) { swapTokensForEth(contractTokenBalance); uint256 contractETHBalance = address(this).balance; if(contractETHBalance > 300000000000000000) { sendETHToFee(address(this).balance); } } } _tokenTransfer(from,to,amount); } 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 liftMaxTx() external onlyOwner{ _maxTxAmount = _tTotal; } function sendETHToFee(uint256 amount) private { _feeAddrWallet1.transfer(amount/3); _feeAddrWallet2.transfer(amount/3); _feeAddrWallet3.transfer(amount/3); } function openTrading() external onlyOwner() { require(!tradingOpen,"trading is already open"); IUniswapV2Router02 _uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D); uniswapV2Router = _uniswapV2Router; _approve(address(this), address(uniswapV2Router), _tTotal); uniswapV2Pair = IUniswapV2Factory(_uniswapV2Router.factory()).createPair(address(this), _uniswapV2Router.WETH()); uniswapV2Router.addLiquidityETH{value: address(this).balance}(address(this),balanceOf(address(this)),0,0,owner(),block.timestamp); swapEnabled = true; cooldownEnabled = true; _maxTxAmount = 250000 * 10**9; tradingOpen = true; IERC20(uniswapV2Pair).approve(address(uniswapV2Router), type(uint).max); } function _tokenTransfer(address sender, address recipient, uint256 amount) private { _transferStandard(sender, recipient, amount); } 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 manualswap() external { require(_msgSender() == _feeAddrWallet1); uint256 contractBalance = balanceOf(address(this)); swapTokensForEth(contractBalance); } function manualsend() external { require(_msgSender() == _feeAddrWallet1); uint256 contractETHBalance = address(this).balance; sendETHToFee(contractETHBalance); } function _getValues(uint256 tAmount) private view returns (uint256, uint256, uint256, uint256, uint256, uint256) { (uint256 tTransferAmount, uint256 tFee, uint256 tTeam) = _getTValues(tAmount, _feeAddr1, _feeAddr2); 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); } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"_maxTxAmount","type":"uint256"}],"name":"MaxTxAmountUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"liftMaxTx","outputs":[],"stateMutability":"nonpayable","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":"openTrading","outputs":[],"stateMutability":"nonpayable","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":"bool","name":"onoff","type":"bool"}],"name":"setCooldownEnabled","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]
Contract Creation Code
60806040526611c37937e080006000196200001b9190620004de565b6000196200002a919062000499565b6008556000601060156101000a81548160ff0219169083151502179055506000601060166101000a81548160ff0219169083151502179055506000601060176101000a81548160ff0219169083151502179055506611c37937e080006011553480156200009657600080fd5b506000620000a96200043a60201b60201c565b9050806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35073bccd06a44947f3bf0ce4cbf717cd4f948ca4b7e4600c60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555073bccd06a44947f3bf0ce4cbf717cd4f948ca4b7e4600d60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555073bccd06a44947f3bf0ce4cbf717cd4f948ca4b7e4600e60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600854600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600160056000620002a26200044260201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600560003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160056000600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055503073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6611c37937e080006040516200042c91906200047c565b60405180910390a362000574565b600033905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6200047681620004d4565b82525050565b60006020820190506200049360008301846200046b565b92915050565b6000620004a682620004d4565b9150620004b383620004d4565b925082821015620004c957620004c862000516565b5b828203905092915050565b6000819050919050565b6000620004eb82620004d4565b9150620004f883620004d4565b9250826200050b576200050a62000545565b5b828206905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b612beb80620005846000396000f3fe6080604052600436106100f75760003560e01c806370a082311161008a578063a9059cbb11610059578063a9059cbb146102ff578063c3c8cd801461033c578063c9567bf914610353578063dd62ed3e1461036a576100fe565b806370a0823114610255578063715018a6146102925780638da5cb5b146102a957806395d89b41146102d4576100fe565b80632ab30838116100c65780632ab30838146101d3578063313ce567146101ea5780635932ead1146102155780636fc3eaec1461023e576100fe565b806306fdde0314610103578063095ea7b31461012e57806318160ddd1461016b57806323b872dd14610196576100fe565b366100fe57005b600080fd5b34801561010f57600080fd5b506101186103a7565b60405161012591906124ba565b60405180910390f35b34801561013a57600080fd5b50610155600480360381019061015091906120c3565b6103e4565b604051610162919061249f565b60405180910390f35b34801561017757600080fd5b50610180610402565b60405161018d91906125dc565b60405180910390f35b3480156101a257600080fd5b506101bd60048036038101906101b89190612070565b610411565b6040516101ca919061249f565b60405180910390f35b3480156101df57600080fd5b506101e86104ea565b005b3480156101f657600080fd5b506101ff61058f565b60405161020c9190612651565b60405180910390f35b34801561022157600080fd5b5061023c60048036038101906102379190612103565b610598565b005b34801561024a57600080fd5b5061025361064a565b005b34801561026157600080fd5b5061027c60048036038101906102779190611fd6565b6106bc565b60405161028991906125dc565b60405180910390f35b34801561029e57600080fd5b506102a761070d565b005b3480156102b557600080fd5b506102be610860565b6040516102cb91906123d1565b60405180910390f35b3480156102e057600080fd5b506102e9610889565b6040516102f691906124ba565b60405180910390f35b34801561030b57600080fd5b50610326600480360381019061032191906120c3565b6108c6565b604051610333919061249f565b60405180910390f35b34801561034857600080fd5b506103516108e4565b005b34801561035f57600080fd5b5061036861095e565b005b34801561037657600080fd5b50610391600480360381019061038c9190612030565b610eb6565b60405161039e91906125dc565b60405180910390f35b60606040518060400160405280601f81526020017f417274446f676520546f6b656e20742e6d652f417274446f6765546f6b656e00815250905090565b60006103f86103f1610f3d565b8484610f45565b6001905092915050565b60006611c37937e08000905090565b600061041e848484611110565b6104df8461042a610f3d565b6104da85604051806060016040528060288152602001612b8e60289139600460008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000610490610f3d565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546113ec9092919063ffffffff16565b610f45565b600190509392505050565b6104f2610f3d565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461057f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105769061255c565b60405180910390fd5b6611c37937e08000601181905550565b60006009905090565b6105a0610f3d565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461062d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106249061255c565b60405180910390fd5b80601060176101000a81548160ff02191690831515021790555050565b600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1661068b610f3d565b73ffffffffffffffffffffffffffffffffffffffff16146106ab57600080fd5b60004790506106b981611450565b50565b6000610706600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546115b2565b9050919050565b610715610f3d565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146107a2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107999061255c565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606040518060400160405280600781526020017f417274446f676500000000000000000000000000000000000000000000000000815250905090565b60006108da6108d3610f3d565b8484611110565b6001905092915050565b600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610925610f3d565b73ffffffffffffffffffffffffffffffffffffffff161461094557600080fd5b6000610950306106bc565b905061095b81611620565b50565b610966610f3d565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146109f3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109ea9061255c565b60405180910390fd5b601060149054906101000a900460ff1615610a43576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a3a906125bc565b60405180910390fd5b6000737a250d5630b4cf539739df2c5dacb4c659f2488d905080600f60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550610ad130600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166611c37937e08000610f45565b8073ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b158015610b1757600080fd5b505afa158015610b2b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b4f9190612003565b73ffffffffffffffffffffffffffffffffffffffff1663c9c65396308373ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b158015610bb157600080fd5b505afa158015610bc5573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610be99190612003565b6040518363ffffffff1660e01b8152600401610c069291906123ec565b602060405180830381600087803b158015610c2057600080fd5b505af1158015610c34573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c589190612003565b601060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d7194730610ce1306106bc565b600080610cec610860565b426040518863ffffffff1660e01b8152600401610d0e9695949392919061243e565b6060604051808303818588803b158015610d2757600080fd5b505af1158015610d3b573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610d60919061215d565b5050506001601060166101000a81548160ff0219169083151502179055506001601060176101000a81548160ff02191690831515021790555065e35fa931a0006011819055506001601060146101000a81548160ff021916908315150217905550601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b3600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b8152600401610e60929190612415565b602060405180830381600087803b158015610e7a57600080fd5b505af1158015610e8e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610eb29190612130565b5050565b6000600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610fb5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fac9061259c565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611025576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161101c906124fc565b60405180910390fd5b80600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258360405161110391906125dc565b60405180910390a3505050565b60008111611153576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161114a9061257c565b60405180910390fd5b600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16156111aa57600080fd5b3073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16146113dc576005600a819055506005600b81905550601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161480156112985750600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b80156112ee5750600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b80156113065750601060179054906101000a900460ff165b1561131b5760115481111561131a57600080fd5b5b6000611326306106bc565b9050601060159054906101000a900460ff161580156113935750601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b80156113ab5750601060169054906101000a900460ff165b156113da576113b981611620565b6000479050670429d069189e00008111156113d8576113d747611450565b5b505b505b6113e78383836118a8565b505050565b6000838311158290611434576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161142b91906124ba565b60405180910390fd5b506000838561144391906127a2565b9050809150509392505050565b600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc6003836114999190612717565b9081150290604051600060405180830381858888f193505050501580156114c4573d6000803e3d6000fd5b50600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc60038361150e9190612717565b9081150290604051600060405180830381858888f19350505050158015611539573d6000803e3d6000fd5b50600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc6003836115839190612717565b9081150290604051600060405180830381858888f193505050501580156115ae573d6000803e3d6000fd5b5050565b60006008548211156115f9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115f0906124dc565b60405180910390fd5b60006116036118b8565b905061161881846118e390919063ffffffff16565b915050919050565b6001601060156101000a81548160ff0219169083151502179055506000600267ffffffffffffffff811115611658576116576128fd565b5b6040519080825280602002602001820160405280156116865781602001602082028036833780820191505090505b509050308160008151811061169e5761169d6128ce565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b15801561174057600080fd5b505afa158015611754573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117789190612003565b8160018151811061178c5761178b6128ce565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250506117f330600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684610f45565b600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b81526004016118579594939291906125f7565b600060405180830381600087803b15801561187157600080fd5b505af1158015611885573d6000803e3d6000fd5b50505050506000601060156101000a81548160ff02191690831515021790555050565b6118b383838361192d565b505050565b60008060006118c5611af8565b915091506118dc81836118e390919063ffffffff16565b9250505090565b600061192583836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611b54565b905092915050565b60008060008060008061193f87611bb7565b95509550955095509550955061199d86600260008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611c1f90919063ffffffff16565b600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611a3285600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611c6990919063ffffffff16565b600260008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611a7e81611cc7565b611a888483611d84565b8773ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef85604051611ae591906125dc565b60405180910390a3505050505050505050565b6000806000600854905060006611c37937e080009050611b2a6611c37937e080006008546118e390919063ffffffff16565b821015611b47576008546611c37937e08000935093505050611b50565b81819350935050505b9091565b60008083118290611b9b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b9291906124ba565b60405180910390fd5b5060008385611baa9190612717565b9050809150509392505050565b6000806000806000806000806000611bd48a600a54600b54611dbe565b9250925092506000611be46118b8565b90506000806000611bf78e878787611e54565b9250925092508282828989899c509c509c509c509c509c505050505050505091939550919395565b6000611c6183836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506113ec565b905092915050565b6000808284611c7891906126c1565b905083811015611cbd576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611cb49061251c565b60405180910390fd5b8091505092915050565b6000611cd16118b8565b90506000611ce88284611edd90919063ffffffff16565b9050611d3c81600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611c6990919063ffffffff16565b600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550505050565b611d9982600854611c1f90919063ffffffff16565b600881905550611db481600954611c6990919063ffffffff16565b6009819055505050565b600080600080611dea6064611ddc888a611edd90919063ffffffff16565b6118e390919063ffffffff16565b90506000611e146064611e06888b611edd90919063ffffffff16565b6118e390919063ffffffff16565b90506000611e3d82611e2f858c611c1f90919063ffffffff16565b611c1f90919063ffffffff16565b905080838395509550955050505093509350939050565b600080600080611e6d8589611edd90919063ffffffff16565b90506000611e848689611edd90919063ffffffff16565b90506000611e9b8789611edd90919063ffffffff16565b90506000611ec482611eb68587611c1f90919063ffffffff16565b611c1f90919063ffffffff16565b9050838184965096509650505050509450945094915050565b600080831415611ef05760009050611f52565b60008284611efe9190612748565b9050828482611f0d9190612717565b14611f4d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f449061253c565b60405180910390fd5b809150505b92915050565b600081359050611f6781612b48565b92915050565b600081519050611f7c81612b48565b92915050565b600081359050611f9181612b5f565b92915050565b600081519050611fa681612b5f565b92915050565b600081359050611fbb81612b76565b92915050565b600081519050611fd081612b76565b92915050565b600060208284031215611fec57611feb61292c565b5b6000611ffa84828501611f58565b91505092915050565b6000602082840312156120195761201861292c565b5b600061202784828501611f6d565b91505092915050565b600080604083850312156120475761204661292c565b5b600061205585828601611f58565b925050602061206685828601611f58565b9150509250929050565b6000806000606084860312156120895761208861292c565b5b600061209786828701611f58565b93505060206120a886828701611f58565b92505060406120b986828701611fac565b9150509250925092565b600080604083850312156120da576120d961292c565b5b60006120e885828601611f58565b92505060206120f985828601611fac565b9150509250929050565b6000602082840312156121195761211861292c565b5b600061212784828501611f82565b91505092915050565b6000602082840312156121465761214561292c565b5b600061215484828501611f97565b91505092915050565b6000806000606084860312156121765761217561292c565b5b600061218486828701611fc1565b935050602061219586828701611fc1565b92505060406121a686828701611fc1565b9150509250925092565b60006121bc83836121c8565b60208301905092915050565b6121d1816127d6565b82525050565b6121e0816127d6565b82525050565b60006121f18261267c565b6121fb818561269f565b93506122068361266c565b8060005b8381101561223757815161221e88826121b0565b975061222983612692565b92505060018101905061220a565b5085935050505092915050565b61224d816127e8565b82525050565b61225c8161282b565b82525050565b600061226d82612687565b61227781856126b0565b935061228781856020860161283d565b61229081612931565b840191505092915050565b60006122a8602a836126b0565b91506122b382612942565b604082019050919050565b60006122cb6022836126b0565b91506122d682612991565b604082019050919050565b60006122ee601b836126b0565b91506122f9826129e0565b602082019050919050565b60006123116021836126b0565b915061231c82612a09565b604082019050919050565b60006123346020836126b0565b915061233f82612a58565b602082019050919050565b60006123576029836126b0565b915061236282612a81565b604082019050919050565b600061237a6024836126b0565b915061238582612ad0565b604082019050919050565b600061239d6017836126b0565b91506123a882612b1f565b602082019050919050565b6123bc81612814565b82525050565b6123cb8161281e565b82525050565b60006020820190506123e660008301846121d7565b92915050565b600060408201905061240160008301856121d7565b61240e60208301846121d7565b9392505050565b600060408201905061242a60008301856121d7565b61243760208301846123b3565b9392505050565b600060c08201905061245360008301896121d7565b61246060208301886123b3565b61246d6040830187612253565b61247a6060830186612253565b61248760808301856121d7565b61249460a08301846123b3565b979650505050505050565b60006020820190506124b46000830184612244565b92915050565b600060208201905081810360008301526124d48184612262565b905092915050565b600060208201905081810360008301526124f58161229b565b9050919050565b60006020820190508181036000830152612515816122be565b9050919050565b60006020820190508181036000830152612535816122e1565b9050919050565b6000602082019050818103600083015261255581612304565b9050919050565b6000602082019050818103600083015261257581612327565b9050919050565b600060208201905081810360008301526125958161234a565b9050919050565b600060208201905081810360008301526125b58161236d565b9050919050565b600060208201905081810360008301526125d581612390565b9050919050565b60006020820190506125f160008301846123b3565b92915050565b600060a08201905061260c60008301886123b3565b6126196020830187612253565b818103604083015261262b81866121e6565b905061263a60608301856121d7565b61264760808301846123b3565b9695505050505050565b600060208201905061266660008301846123c2565b92915050565b6000819050602082019050919050565b600081519050919050565b600081519050919050565b6000602082019050919050565b600082825260208201905092915050565b600082825260208201905092915050565b60006126cc82612814565b91506126d783612814565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0382111561270c5761270b612870565b5b828201905092915050565b600061272282612814565b915061272d83612814565b92508261273d5761273c61289f565b5b828204905092915050565b600061275382612814565b915061275e83612814565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff048311821515161561279757612796612870565b5b828202905092915050565b60006127ad82612814565b91506127b883612814565b9250828210156127cb576127ca612870565b5b828203905092915050565b60006127e1826127f4565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b600061283682612814565b9050919050565b60005b8381101561285b578082015181840152602081019050612840565b8381111561286a576000848401525b50505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600080fd5b6000601f19601f8301169050919050565b7f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260008201527f65666c656374696f6e7300000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b7f5472616e7366657220616d6f756e74206d75737420626520677265617465722060008201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b7f74726164696e6720697320616c7265616479206f70656e000000000000000000600082015250565b612b51816127d6565b8114612b5c57600080fd5b50565b612b68816127e8565b8114612b7357600080fd5b50565b612b7f81612814565b8114612b8a57600080fd5b5056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a264697066735822122011e2f948779a711f44dffa9c58144a81fdd92980764bb1421360fef2c42f868f64736f6c63430008060033
Deployed Bytecode
0x6080604052600436106100f75760003560e01c806370a082311161008a578063a9059cbb11610059578063a9059cbb146102ff578063c3c8cd801461033c578063c9567bf914610353578063dd62ed3e1461036a576100fe565b806370a0823114610255578063715018a6146102925780638da5cb5b146102a957806395d89b41146102d4576100fe565b80632ab30838116100c65780632ab30838146101d3578063313ce567146101ea5780635932ead1146102155780636fc3eaec1461023e576100fe565b806306fdde0314610103578063095ea7b31461012e57806318160ddd1461016b57806323b872dd14610196576100fe565b366100fe57005b600080fd5b34801561010f57600080fd5b506101186103a7565b60405161012591906124ba565b60405180910390f35b34801561013a57600080fd5b50610155600480360381019061015091906120c3565b6103e4565b604051610162919061249f565b60405180910390f35b34801561017757600080fd5b50610180610402565b60405161018d91906125dc565b60405180910390f35b3480156101a257600080fd5b506101bd60048036038101906101b89190612070565b610411565b6040516101ca919061249f565b60405180910390f35b3480156101df57600080fd5b506101e86104ea565b005b3480156101f657600080fd5b506101ff61058f565b60405161020c9190612651565b60405180910390f35b34801561022157600080fd5b5061023c60048036038101906102379190612103565b610598565b005b34801561024a57600080fd5b5061025361064a565b005b34801561026157600080fd5b5061027c60048036038101906102779190611fd6565b6106bc565b60405161028991906125dc565b60405180910390f35b34801561029e57600080fd5b506102a761070d565b005b3480156102b557600080fd5b506102be610860565b6040516102cb91906123d1565b60405180910390f35b3480156102e057600080fd5b506102e9610889565b6040516102f691906124ba565b60405180910390f35b34801561030b57600080fd5b50610326600480360381019061032191906120c3565b6108c6565b604051610333919061249f565b60405180910390f35b34801561034857600080fd5b506103516108e4565b005b34801561035f57600080fd5b5061036861095e565b005b34801561037657600080fd5b50610391600480360381019061038c9190612030565b610eb6565b60405161039e91906125dc565b60405180910390f35b60606040518060400160405280601f81526020017f417274446f676520546f6b656e20742e6d652f417274446f6765546f6b656e00815250905090565b60006103f86103f1610f3d565b8484610f45565b6001905092915050565b60006611c37937e08000905090565b600061041e848484611110565b6104df8461042a610f3d565b6104da85604051806060016040528060288152602001612b8e60289139600460008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000610490610f3d565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546113ec9092919063ffffffff16565b610f45565b600190509392505050565b6104f2610f3d565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461057f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105769061255c565b60405180910390fd5b6611c37937e08000601181905550565b60006009905090565b6105a0610f3d565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461062d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106249061255c565b60405180910390fd5b80601060176101000a81548160ff02191690831515021790555050565b600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1661068b610f3d565b73ffffffffffffffffffffffffffffffffffffffff16146106ab57600080fd5b60004790506106b981611450565b50565b6000610706600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546115b2565b9050919050565b610715610f3d565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146107a2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107999061255c565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606040518060400160405280600781526020017f417274446f676500000000000000000000000000000000000000000000000000815250905090565b60006108da6108d3610f3d565b8484611110565b6001905092915050565b600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610925610f3d565b73ffffffffffffffffffffffffffffffffffffffff161461094557600080fd5b6000610950306106bc565b905061095b81611620565b50565b610966610f3d565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146109f3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109ea9061255c565b60405180910390fd5b601060149054906101000a900460ff1615610a43576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a3a906125bc565b60405180910390fd5b6000737a250d5630b4cf539739df2c5dacb4c659f2488d905080600f60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550610ad130600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166611c37937e08000610f45565b8073ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b158015610b1757600080fd5b505afa158015610b2b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b4f9190612003565b73ffffffffffffffffffffffffffffffffffffffff1663c9c65396308373ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b158015610bb157600080fd5b505afa158015610bc5573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610be99190612003565b6040518363ffffffff1660e01b8152600401610c069291906123ec565b602060405180830381600087803b158015610c2057600080fd5b505af1158015610c34573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c589190612003565b601060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d7194730610ce1306106bc565b600080610cec610860565b426040518863ffffffff1660e01b8152600401610d0e9695949392919061243e565b6060604051808303818588803b158015610d2757600080fd5b505af1158015610d3b573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610d60919061215d565b5050506001601060166101000a81548160ff0219169083151502179055506001601060176101000a81548160ff02191690831515021790555065e35fa931a0006011819055506001601060146101000a81548160ff021916908315150217905550601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b3600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b8152600401610e60929190612415565b602060405180830381600087803b158015610e7a57600080fd5b505af1158015610e8e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610eb29190612130565b5050565b6000600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610fb5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fac9061259c565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611025576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161101c906124fc565b60405180910390fd5b80600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258360405161110391906125dc565b60405180910390a3505050565b60008111611153576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161114a9061257c565b60405180910390fd5b600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16156111aa57600080fd5b3073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16146113dc576005600a819055506005600b81905550601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161480156112985750600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b80156112ee5750600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b80156113065750601060179054906101000a900460ff165b1561131b5760115481111561131a57600080fd5b5b6000611326306106bc565b9050601060159054906101000a900460ff161580156113935750601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b80156113ab5750601060169054906101000a900460ff165b156113da576113b981611620565b6000479050670429d069189e00008111156113d8576113d747611450565b5b505b505b6113e78383836118a8565b505050565b6000838311158290611434576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161142b91906124ba565b60405180910390fd5b506000838561144391906127a2565b9050809150509392505050565b600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc6003836114999190612717565b9081150290604051600060405180830381858888f193505050501580156114c4573d6000803e3d6000fd5b50600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc60038361150e9190612717565b9081150290604051600060405180830381858888f19350505050158015611539573d6000803e3d6000fd5b50600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc6003836115839190612717565b9081150290604051600060405180830381858888f193505050501580156115ae573d6000803e3d6000fd5b5050565b60006008548211156115f9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115f0906124dc565b60405180910390fd5b60006116036118b8565b905061161881846118e390919063ffffffff16565b915050919050565b6001601060156101000a81548160ff0219169083151502179055506000600267ffffffffffffffff811115611658576116576128fd565b5b6040519080825280602002602001820160405280156116865781602001602082028036833780820191505090505b509050308160008151811061169e5761169d6128ce565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b15801561174057600080fd5b505afa158015611754573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117789190612003565b8160018151811061178c5761178b6128ce565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250506117f330600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684610f45565b600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b81526004016118579594939291906125f7565b600060405180830381600087803b15801561187157600080fd5b505af1158015611885573d6000803e3d6000fd5b50505050506000601060156101000a81548160ff02191690831515021790555050565b6118b383838361192d565b505050565b60008060006118c5611af8565b915091506118dc81836118e390919063ffffffff16565b9250505090565b600061192583836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611b54565b905092915050565b60008060008060008061193f87611bb7565b95509550955095509550955061199d86600260008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611c1f90919063ffffffff16565b600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611a3285600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611c6990919063ffffffff16565b600260008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611a7e81611cc7565b611a888483611d84565b8773ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef85604051611ae591906125dc565b60405180910390a3505050505050505050565b6000806000600854905060006611c37937e080009050611b2a6611c37937e080006008546118e390919063ffffffff16565b821015611b47576008546611c37937e08000935093505050611b50565b81819350935050505b9091565b60008083118290611b9b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b9291906124ba565b60405180910390fd5b5060008385611baa9190612717565b9050809150509392505050565b6000806000806000806000806000611bd48a600a54600b54611dbe565b9250925092506000611be46118b8565b90506000806000611bf78e878787611e54565b9250925092508282828989899c509c509c509c509c509c505050505050505091939550919395565b6000611c6183836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506113ec565b905092915050565b6000808284611c7891906126c1565b905083811015611cbd576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611cb49061251c565b60405180910390fd5b8091505092915050565b6000611cd16118b8565b90506000611ce88284611edd90919063ffffffff16565b9050611d3c81600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611c6990919063ffffffff16565b600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550505050565b611d9982600854611c1f90919063ffffffff16565b600881905550611db481600954611c6990919063ffffffff16565b6009819055505050565b600080600080611dea6064611ddc888a611edd90919063ffffffff16565b6118e390919063ffffffff16565b90506000611e146064611e06888b611edd90919063ffffffff16565b6118e390919063ffffffff16565b90506000611e3d82611e2f858c611c1f90919063ffffffff16565b611c1f90919063ffffffff16565b905080838395509550955050505093509350939050565b600080600080611e6d8589611edd90919063ffffffff16565b90506000611e848689611edd90919063ffffffff16565b90506000611e9b8789611edd90919063ffffffff16565b90506000611ec482611eb68587611c1f90919063ffffffff16565b611c1f90919063ffffffff16565b9050838184965096509650505050509450945094915050565b600080831415611ef05760009050611f52565b60008284611efe9190612748565b9050828482611f0d9190612717565b14611f4d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f449061253c565b60405180910390fd5b809150505b92915050565b600081359050611f6781612b48565b92915050565b600081519050611f7c81612b48565b92915050565b600081359050611f9181612b5f565b92915050565b600081519050611fa681612b5f565b92915050565b600081359050611fbb81612b76565b92915050565b600081519050611fd081612b76565b92915050565b600060208284031215611fec57611feb61292c565b5b6000611ffa84828501611f58565b91505092915050565b6000602082840312156120195761201861292c565b5b600061202784828501611f6d565b91505092915050565b600080604083850312156120475761204661292c565b5b600061205585828601611f58565b925050602061206685828601611f58565b9150509250929050565b6000806000606084860312156120895761208861292c565b5b600061209786828701611f58565b93505060206120a886828701611f58565b92505060406120b986828701611fac565b9150509250925092565b600080604083850312156120da576120d961292c565b5b60006120e885828601611f58565b92505060206120f985828601611fac565b9150509250929050565b6000602082840312156121195761211861292c565b5b600061212784828501611f82565b91505092915050565b6000602082840312156121465761214561292c565b5b600061215484828501611f97565b91505092915050565b6000806000606084860312156121765761217561292c565b5b600061218486828701611fc1565b935050602061219586828701611fc1565b92505060406121a686828701611fc1565b9150509250925092565b60006121bc83836121c8565b60208301905092915050565b6121d1816127d6565b82525050565b6121e0816127d6565b82525050565b60006121f18261267c565b6121fb818561269f565b93506122068361266c565b8060005b8381101561223757815161221e88826121b0565b975061222983612692565b92505060018101905061220a565b5085935050505092915050565b61224d816127e8565b82525050565b61225c8161282b565b82525050565b600061226d82612687565b61227781856126b0565b935061228781856020860161283d565b61229081612931565b840191505092915050565b60006122a8602a836126b0565b91506122b382612942565b604082019050919050565b60006122cb6022836126b0565b91506122d682612991565b604082019050919050565b60006122ee601b836126b0565b91506122f9826129e0565b602082019050919050565b60006123116021836126b0565b915061231c82612a09565b604082019050919050565b60006123346020836126b0565b915061233f82612a58565b602082019050919050565b60006123576029836126b0565b915061236282612a81565b604082019050919050565b600061237a6024836126b0565b915061238582612ad0565b604082019050919050565b600061239d6017836126b0565b91506123a882612b1f565b602082019050919050565b6123bc81612814565b82525050565b6123cb8161281e565b82525050565b60006020820190506123e660008301846121d7565b92915050565b600060408201905061240160008301856121d7565b61240e60208301846121d7565b9392505050565b600060408201905061242a60008301856121d7565b61243760208301846123b3565b9392505050565b600060c08201905061245360008301896121d7565b61246060208301886123b3565b61246d6040830187612253565b61247a6060830186612253565b61248760808301856121d7565b61249460a08301846123b3565b979650505050505050565b60006020820190506124b46000830184612244565b92915050565b600060208201905081810360008301526124d48184612262565b905092915050565b600060208201905081810360008301526124f58161229b565b9050919050565b60006020820190508181036000830152612515816122be565b9050919050565b60006020820190508181036000830152612535816122e1565b9050919050565b6000602082019050818103600083015261255581612304565b9050919050565b6000602082019050818103600083015261257581612327565b9050919050565b600060208201905081810360008301526125958161234a565b9050919050565b600060208201905081810360008301526125b58161236d565b9050919050565b600060208201905081810360008301526125d581612390565b9050919050565b60006020820190506125f160008301846123b3565b92915050565b600060a08201905061260c60008301886123b3565b6126196020830187612253565b818103604083015261262b81866121e6565b905061263a60608301856121d7565b61264760808301846123b3565b9695505050505050565b600060208201905061266660008301846123c2565b92915050565b6000819050602082019050919050565b600081519050919050565b600081519050919050565b6000602082019050919050565b600082825260208201905092915050565b600082825260208201905092915050565b60006126cc82612814565b91506126d783612814565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0382111561270c5761270b612870565b5b828201905092915050565b600061272282612814565b915061272d83612814565b92508261273d5761273c61289f565b5b828204905092915050565b600061275382612814565b915061275e83612814565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff048311821515161561279757612796612870565b5b828202905092915050565b60006127ad82612814565b91506127b883612814565b9250828210156127cb576127ca612870565b5b828203905092915050565b60006127e1826127f4565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b600061283682612814565b9050919050565b60005b8381101561285b578082015181840152602081019050612840565b8381111561286a576000848401525b50505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600080fd5b6000601f19601f8301169050919050565b7f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260008201527f65666c656374696f6e7300000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b7f5472616e7366657220616d6f756e74206d75737420626520677265617465722060008201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b7f74726164696e6720697320616c7265616479206f70656e000000000000000000600082015250565b612b51816127d6565b8114612b5c57600080fd5b50565b612b68816127e8565b8114612b7357600080fd5b50565b612b7f81612814565b8114612b8a57600080fd5b5056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a264697066735822122011e2f948779a711f44dffa9c58144a81fdd92980764bb1421360fef2c42f868f64736f6c63430008060033
Deployed Bytecode Sourcemap
3595:9757:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5537:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6389:161;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5814:95;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6558:313;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9063:80;;;;;;;;;;;;;:::i;:::-;;5723:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6879:103;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;11456:194;;;;;;;;;;;;;:::i;:::-;;5917:138;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2674:148;;;;;;;;;;;;;:::i;:::-;;2460:79;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5628:87;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6063:167;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11249:195;;;;;;;;;;;;;:::i;:::-;;9350:811;;;;;;;;;;;;;:::i;:::-;;6238:143;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5537:83;5574:13;5607:5;;;;;;;;;;;;;;;;;5600:12;;5537:83;:::o;6389:161::-;6464:4;6481:39;6490:12;:10;:12::i;:::-;6504:7;6513:6;6481:8;:39::i;:::-;6538:4;6531:11;;6389:161;;;;:::o;5814:95::-;5867:7;4095:15;5887:14;;5814:95;:::o;6558:313::-;6656:4;6673:36;6683:6;6691:9;6702:6;6673:9;:36::i;:::-;6720:121;6729:6;6737:12;:10;:12::i;:::-;6751:89;6789:6;6751:89;;;;;;;;;;;;;;;;;:11;:19;6763:6;6751:19;;;;;;;;;;;;;;;:33;6771:12;:10;:12::i;:::-;6751:33;;;;;;;;;;;;;;;;:37;;:89;;;;;:::i;:::-;6720:8;:121::i;:::-;6859:4;6852:11;;6558:313;;;;;:::o;9063:80::-;2597:12;:10;:12::i;:::-;2587:22;;:6;;;;;;;;;;:22;;;2579:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;4095:15:::1;9113:12;:22;;;;9063:80::o:0;5723:83::-;5764:5;4577:1;5782:16;;5723:83;:::o;6879:103::-;2597:12;:10;:12::i;:::-;2587:22;;:6;;;;;;;;;;:22;;;2579:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;6969:5:::1;6951:15;;:23;;;;;;;;;;;;;;;;;;6879:103:::0;:::o;11456:194::-;11522:15;;;;;;;;;;;11506:31;;:12;:10;:12::i;:::-;:31;;;11498:40;;;;;;11549:26;11578:21;11549:50;;11610:32;11623:18;11610:12;:32::i;:::-;11487:163;11456:194::o;5917:138::-;5983:7;6010:37;6030:7;:16;6038:7;6030:16;;;;;;;;;;;;;;;;6010:19;:37::i;:::-;6003:44;;5917:138;;;:::o;2674:148::-;2597:12;:10;:12::i;:::-;2587:22;;:6;;;;;;;;;;:22;;;2579:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;2781:1:::1;2744:40;;2765:6;::::0;::::1;;;;;;;;2744:40;;;;;;;;;;;;2812:1;2795:6:::0;::::1;:19;;;;;;;;;;;;;;;;;;2674:148::o:0;2460:79::-;2498:7;2525:6;;;;;;;;;;;2518:13;;2460:79;:::o;5628:87::-;5667:13;5700:7;;;;;;;;;;;;;;;;;5693:14;;5628:87;:::o;6063:167::-;6141:4;6158:42;6168:12;:10;:12::i;:::-;6182:9;6193:6;6158:9;:42::i;:::-;6218:4;6211:11;;6063:167;;;;:::o;11249:195::-;11315:15;;;;;;;;;;;11299:31;;:12;:10;:12::i;:::-;:31;;;11291:40;;;;;;11342:23;11368:24;11386:4;11368:9;:24::i;:::-;11342:50;;11403:33;11420:15;11403:16;:33::i;:::-;11280:164;11249:195::o;9350:811::-;2597:12;:10;:12::i;:::-;2587:22;;:6;;;;;;;;;;:22;;;2579:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;9414:11:::1;;;;;;;;;;;9413:12;9405:47;;;;;;;;;;;;:::i;:::-;;;;;;;;;9463:35;9520:42;9463:100;;9592:16;9574:15;;:34;;;;;;;;;;;;;;;;;;9619:58;9636:4;9651:15;;;;;;;;;;;4095;9619:8;:58::i;:::-;9722:16;:24;;;:26;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;9704:56;;;9769:4;9776:16;:21;;;:23;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;9704:96;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;9688:13;;:112;;;;;;;;;;;;;;;;;;9811:15;;;;;;;;;;;:31;;;9850:21;9881:4;9887:24;9905:4;9887:9;:24::i;:::-;9912:1;9914::::0;9916:7:::1;:5;:7::i;:::-;9924:15;9811:129;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;9965:4;9951:11;;:18;;;;;;;;;;;;;;;;;;9998:4;9980:15;;:22;;;;;;;;;;;;;;;;;;10028:14;10013:12;:29;;;;10067:4;10053:11;;:18;;;;;;;;;;;;;;;;;;10089:13;;;;;;;;;;;10082:29;;;10120:15;;;;;;;;;;;10138:14;10082:71;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;9394:767;9350:811::o:0;6238:143::-;6319:7;6346:11;:18;6358:5;6346:18;;;;;;;;;;;;;;;:27;6365:7;6346:27;;;;;;;;;;;;;;;;6339:34;;6238:143;;;;:::o;178:98::-;231:7;258:10;251:17;;178:98;:::o;7252:335::-;7362:1;7345:19;;:5;:19;;;;7337:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;7443:1;7424:21;;:7;:21;;;;7416:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;7525:6;7495:11;:18;7507:5;7495:18;;;;;;;;;;;;;;;:27;7514:7;7495:27;;;;;;;;;;;;;;;:36;;;;7563:7;7547:32;;7556:5;7547:32;;;7572:6;7547:32;;;;;;:::i;:::-;;;;;;;;7252:335;;;:::o;7595:971::-;7692:1;7683:6;:10;7675:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;7759:4;:10;7764:4;7759:10;;;;;;;;;;;;;;;;;;;;;;;;;7758:11;7750:20;;;;;;7801:4;7785:21;;:4;:21;;;7781:733;;7835:1;7823:9;:13;;;;7863:1;7851:9;:13;;;;7891;;;;;;;;;;;7883:21;;:4;:21;;;:55;;;;;7922:15;;;;;;;;;;;7908:30;;:2;:30;;;;7883:55;:83;;;;;7944:18;:22;7963:2;7944:22;;;;;;;;;;;;;;;;;;;;;;;;;7942:24;7883:83;:102;;;;;7970:15;;;;;;;;;;;7883:102;7879:203;;;8053:12;;8043:6;:22;;8035:31;;;;;;7879:203;8098:28;8129:24;8147:4;8129:9;:24::i;:::-;8098:55;;8173:6;;;;;;;;;;;8172:7;:32;;;;;8191:13;;;;;;;;;;;8183:21;;:4;:21;;;;8172:32;:47;;;;;8208:11;;;;;;;;;;;8172:47;8168:335;;;8240:38;8257:20;8240:16;:38::i;:::-;8297:26;8326:21;8297:50;;8390:18;8369;:39;8366:122;;;8433:35;8446:21;8433:12;:35::i;:::-;8366:122;8221:282;8168:335;7808:706;7781:733;8528:30;8543:4;8548:2;8551:6;8528:14;:30::i;:::-;7595:971;;;:::o;1315:190::-;1401:7;1434:1;1429;:6;;1437:12;1421:29;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;1461:9;1477:1;1473;:5;;;;:::i;:::-;1461:17;;1496:1;1489:8;;;1315:190;;;;;:::o;9149:189::-;9206:15;;;;;;;;;;;:24;;:34;9238:1;9231:6;:8;;;;:::i;:::-;9206:34;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9251:15;;;;;;;;;;;:24;;:34;9283:1;9276:6;:8;;;;:::i;:::-;9251:34;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9296:15;;;;;;;;;;;:24;;:34;9328:1;9321:6;:8;;;;:::i;:::-;9296:34;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9149:189;:::o;6990:254::-;7057:7;7096;;7085;:18;;7077:73;;;;;;;;;;;;:::i;:::-;;;;;;;;;7161:19;7184:10;:8;:10::i;:::-;7161:33;;7212:24;7224:11;7212:7;:11;;:24;;;;:::i;:::-;7205:31;;;6990:254;;;:::o;8574:483::-;4959:4;4950:6;;:13;;;;;;;;;;;;;;;;;;8652:21:::1;8690:1;8676:16;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8652:40;;8721:4;8703;8708:1;8703:7;;;;;;;;:::i;:::-;;;;;;;:23;;;;;;;;;::::0;::::1;8747:15;;;;;;;;;;;:20;;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;8737:4;8742:1;8737:7;;;;;;;;:::i;:::-;;;;;;;:32;;;;;;;;;::::0;::::1;8780:62;8797:4;8812:15;;;;;;;;;;;8830:11;8780:8;:62::i;:::-;8853:15;;;;;;;;;;;:66;;;8934:11;8960:1;8976:4;9003;9023:15;8853:196;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;8641:416;4995:5:::0;4986:6;;:14;;;;;;;;;;;;;;;;;;8574:483;:::o;10183:146::-;10277:44;10295:6;10303:9;10314:6;10277:17;:44::i;:::-;10183:146;;;:::o;12916:163::-;12957:7;12978:15;12995;13014:19;:17;:19::i;:::-;12977:56;;;;13051:20;13063:7;13051;:11;;:20;;;;:::i;:::-;13044:27;;;;12916:163;:::o;1767:132::-;1825:7;1852:39;1856:1;1859;1852:39;;;;;;;;;;;;;;;;;:3;:39::i;:::-;1845:46;;1767:132;;;;:::o;10337:488::-;10436:15;10453:23;10478:12;10492:23;10517:12;10531:13;10548:19;10559:7;10548:10;:19::i;:::-;10435:132;;;;;;;;;;;;10596:28;10616:7;10596;:15;10604:6;10596:15;;;;;;;;;;;;;;;;:19;;:28;;;;:::i;:::-;10578:7;:15;10586:6;10578:15;;;;;;;;;;;;;;;:46;;;;10656:39;10679:15;10656:7;:18;10664:9;10656:18;;;;;;;;;;;;;;;;:22;;:39;;;;:::i;:::-;10635:7;:18;10643:9;10635:18;;;;;;;;;;;;;;;:60;;;;10707:16;10717:5;10707:9;:16::i;:::-;10734:23;10746:4;10752;10734:11;:23::i;:::-;10790:9;10773:44;;10782:6;10773:44;;;10801:15;10773:44;;;;;;:::i;:::-;;;;;;;;10424:401;;;;;;10337:488;;;:::o;13087:262::-;13137:7;13146;13166:15;13184:7;;13166:25;;13202:15;4095;13202:25;;13258:20;4095:15;13258:7;;:11;;:20;;;;:::i;:::-;13248:7;:30;13244:61;;;13288:7;;4095:15;13280:25;;;;;;;;13244:61;13324:7;13333;13316:25;;;;;;13087:262;;;:::o;1907:189::-;1993:7;2025:1;2021;:5;2028:12;2013:28;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;2052:9;2068:1;2064;:5;;;;:::i;:::-;2052:17;;2087:1;2080:8;;;1907:189;;;;;:::o;11664:471::-;11723:7;11732;11741;11750;11759;11768;11789:23;11814:12;11828:13;11845:42;11857:7;11866:9;;11877;;11845:11;:42::i;:::-;11788:99;;;;;;11898:19;11921:10;:8;:10::i;:::-;11898:33;;11943:15;11960:23;11985:12;12001:46;12013:7;12022:4;12028:5;12035:11;12001;:46::i;:::-;11942:105;;;;;;12066:7;12075:15;12092:4;12098:15;12115:4;12121:5;12058:69;;;;;;;;;;;;;;;;;;;11664:471;;;;;;;:::o;1171:136::-;1229:7;1256:43;1260:1;1263;1256:43;;;;;;;;;;;;;;;;;:3;:43::i;:::-;1249:50;;1171:136;;;;:::o;984:179::-;1042:7;1062:9;1078:1;1074;:5;;;;:::i;:::-;1062:17;;1103:1;1098;:6;;1090:46;;;;;;;;;;;;:::i;:::-;;;;;;;;;1154:1;1147:8;;;984:179;;;;:::o;10833:212::-;10886:19;10909:10;:8;:10::i;:::-;10886:33;;10930:13;10946:22;10956:11;10946:5;:9;;:22;;;;:::i;:::-;10930:38;;11004:33;11031:5;11004:7;:22;11020:4;11004:22;;;;;;;;;;;;;;;;:26;;:33;;;;:::i;:::-;10979:7;:22;10995:4;10979:22;;;;;;;;;;;;;;;:58;;;;10875:170;;10833:212;:::o;11053:147::-;11131:17;11143:4;11131:7;;:11;;:17;;;;:::i;:::-;11121:7;:27;;;;11172:20;11187:4;11172:10;;:14;;:20;;;;:::i;:::-;11159:10;:33;;;;11053:147;;:::o;12143:351::-;12236:7;12245;12254;12274:12;12289:28;12313:3;12289:19;12301:6;12289:7;:11;;:19;;;;:::i;:::-;:23;;:28;;;;:::i;:::-;12274:43;;12328:13;12344:29;12369:3;12344:20;12356:7;12344;:11;;:20;;;;:::i;:::-;:24;;:29;;;;:::i;:::-;12328:45;;12384:23;12410:28;12432:5;12410:17;12422:4;12410:7;:11;;:17;;;;:::i;:::-;:21;;:28;;;;:::i;:::-;12384:54;;12457:15;12474:4;12480:5;12449:37;;;;;;;;;12143:351;;;;;;;:::o;12502:409::-;12612:7;12621;12630;12650:15;12668:24;12680:11;12668:7;:11;;:24;;;;:::i;:::-;12650:42;;12703:12;12718:21;12727:11;12718:4;:8;;:21;;;;:::i;:::-;12703:36;;12750:13;12766:22;12776:11;12766:5;:9;;:22;;;;:::i;:::-;12750:38;;12799:23;12825:28;12847:5;12825:17;12837:4;12825:7;:11;;:17;;;;:::i;:::-;:21;;:28;;;;:::i;:::-;12799:54;;12872:7;12881:15;12898:4;12864:39;;;;;;;;;;12502:409;;;;;;;;:::o;1513:246::-;1571:7;1600:1;1595;:6;1591:47;;;1625:1;1618:8;;;;1591:47;1648:9;1664:1;1660;:5;;;;:::i;:::-;1648:17;;1693:1;1688;1684;:5;;;;:::i;:::-;:10;1676:56;;;;;;;;;;;;:::i;:::-;;;;;;;;;1750:1;1743:8;;;1513:246;;;;;:::o;7:139:1:-;53:5;91:6;78:20;69:29;;107:33;134:5;107:33;:::i;:::-;59:87;;;;:::o;152:143::-;209:5;240:6;234:13;225:22;;256:33;283:5;256:33;:::i;:::-;215:80;;;;:::o;301:133::-;344:5;382:6;369:20;360:29;;398:30;422:5;398:30;:::i;:::-;350:84;;;;:::o;440:137::-;494:5;525:6;519:13;510:22;;541:30;565:5;541:30;:::i;:::-;500:77;;;;:::o;583:139::-;629:5;667:6;654:20;645:29;;683:33;710:5;683:33;:::i;:::-;635:87;;;;:::o;728:143::-;785:5;816:6;810:13;801:22;;832:33;859:5;832:33;:::i;:::-;791:80;;;;:::o;877:329::-;936:6;985:2;973:9;964:7;960:23;956:32;953:2;;;991:79;;:::i;:::-;953:2;1111:1;1136:53;1181:7;1172:6;1161:9;1157:22;1136:53;:::i;:::-;1126:63;;1082:117;943:263;;;;:::o;1212:351::-;1282:6;1331:2;1319:9;1310:7;1306:23;1302:32;1299:2;;;1337:79;;:::i;:::-;1299:2;1457:1;1482:64;1538:7;1529:6;1518:9;1514:22;1482:64;:::i;:::-;1472:74;;1428:128;1289:274;;;;:::o;1569:474::-;1637:6;1645;1694:2;1682:9;1673:7;1669:23;1665:32;1662:2;;;1700:79;;:::i;:::-;1662:2;1820:1;1845:53;1890:7;1881:6;1870:9;1866:22;1845:53;:::i;:::-;1835:63;;1791:117;1947:2;1973:53;2018:7;2009:6;1998:9;1994:22;1973:53;:::i;:::-;1963:63;;1918:118;1652:391;;;;;:::o;2049:619::-;2126:6;2134;2142;2191:2;2179:9;2170:7;2166:23;2162:32;2159:2;;;2197:79;;:::i;:::-;2159:2;2317:1;2342:53;2387:7;2378:6;2367:9;2363:22;2342:53;:::i;:::-;2332:63;;2288:117;2444:2;2470:53;2515:7;2506:6;2495:9;2491:22;2470:53;:::i;:::-;2460:63;;2415:118;2572:2;2598:53;2643:7;2634:6;2623:9;2619:22;2598:53;:::i;:::-;2588:63;;2543:118;2149:519;;;;;:::o;2674:474::-;2742:6;2750;2799:2;2787:9;2778:7;2774:23;2770:32;2767:2;;;2805:79;;:::i;:::-;2767:2;2925:1;2950:53;2995:7;2986:6;2975:9;2971:22;2950:53;:::i;:::-;2940:63;;2896:117;3052:2;3078:53;3123:7;3114:6;3103:9;3099:22;3078:53;:::i;:::-;3068:63;;3023:118;2757:391;;;;;:::o;3154:323::-;3210:6;3259:2;3247:9;3238:7;3234:23;3230:32;3227:2;;;3265:79;;:::i;:::-;3227:2;3385:1;3410:50;3452:7;3443:6;3432:9;3428:22;3410:50;:::i;:::-;3400:60;;3356:114;3217:260;;;;:::o;3483:345::-;3550:6;3599:2;3587:9;3578:7;3574:23;3570:32;3567:2;;;3605:79;;:::i;:::-;3567:2;3725:1;3750:61;3803:7;3794:6;3783:9;3779:22;3750:61;:::i;:::-;3740:71;;3696:125;3557:271;;;;:::o;3834:663::-;3922:6;3930;3938;3987:2;3975:9;3966:7;3962:23;3958:32;3955:2;;;3993:79;;:::i;:::-;3955:2;4113:1;4138:64;4194:7;4185:6;4174:9;4170:22;4138:64;:::i;:::-;4128:74;;4084:128;4251:2;4277:64;4333:7;4324:6;4313:9;4309:22;4277:64;:::i;:::-;4267:74;;4222:129;4390:2;4416:64;4472:7;4463:6;4452:9;4448:22;4416:64;:::i;:::-;4406:74;;4361:129;3945:552;;;;;:::o;4503:179::-;4572:10;4593:46;4635:3;4627:6;4593:46;:::i;:::-;4671:4;4666:3;4662:14;4648:28;;4583:99;;;;:::o;4688:108::-;4765:24;4783:5;4765:24;:::i;:::-;4760:3;4753:37;4743:53;;:::o;4802:118::-;4889:24;4907:5;4889:24;:::i;:::-;4884:3;4877:37;4867:53;;:::o;4956:732::-;5075:3;5104:54;5152:5;5104:54;:::i;:::-;5174:86;5253:6;5248:3;5174:86;:::i;:::-;5167:93;;5284:56;5334:5;5284:56;:::i;:::-;5363:7;5394:1;5379:284;5404:6;5401:1;5398:13;5379:284;;;5480:6;5474:13;5507:63;5566:3;5551:13;5507:63;:::i;:::-;5500:70;;5593:60;5646:6;5593:60;:::i;:::-;5583:70;;5439:224;5426:1;5423;5419:9;5414:14;;5379:284;;;5383:14;5679:3;5672:10;;5080:608;;;;;;;:::o;5694:109::-;5775:21;5790:5;5775:21;:::i;:::-;5770:3;5763:34;5753:50;;:::o;5809:147::-;5904:45;5943:5;5904:45;:::i;:::-;5899:3;5892:58;5882:74;;:::o;5962:364::-;6050:3;6078:39;6111:5;6078:39;:::i;:::-;6133:71;6197:6;6192:3;6133:71;:::i;:::-;6126:78;;6213:52;6258:6;6253:3;6246:4;6239:5;6235:16;6213:52;:::i;:::-;6290:29;6312:6;6290:29;:::i;:::-;6285:3;6281:39;6274:46;;6054:272;;;;;:::o;6332:366::-;6474:3;6495:67;6559:2;6554:3;6495:67;:::i;:::-;6488:74;;6571:93;6660:3;6571:93;:::i;:::-;6689:2;6684:3;6680:12;6673:19;;6478:220;;;:::o;6704:366::-;6846:3;6867:67;6931:2;6926:3;6867:67;:::i;:::-;6860:74;;6943:93;7032:3;6943:93;:::i;:::-;7061:2;7056:3;7052:12;7045:19;;6850:220;;;:::o;7076:366::-;7218:3;7239:67;7303:2;7298:3;7239:67;:::i;:::-;7232:74;;7315:93;7404:3;7315:93;:::i;:::-;7433:2;7428:3;7424:12;7417:19;;7222:220;;;:::o;7448:366::-;7590:3;7611:67;7675:2;7670:3;7611:67;:::i;:::-;7604:74;;7687:93;7776:3;7687:93;:::i;:::-;7805:2;7800:3;7796:12;7789:19;;7594:220;;;:::o;7820:366::-;7962:3;7983:67;8047:2;8042:3;7983:67;:::i;:::-;7976:74;;8059:93;8148:3;8059:93;:::i;:::-;8177:2;8172:3;8168:12;8161:19;;7966:220;;;:::o;8192:366::-;8334:3;8355:67;8419:2;8414:3;8355:67;:::i;:::-;8348:74;;8431:93;8520:3;8431:93;:::i;:::-;8549:2;8544:3;8540:12;8533:19;;8338:220;;;:::o;8564:366::-;8706:3;8727:67;8791:2;8786:3;8727:67;:::i;:::-;8720:74;;8803:93;8892:3;8803:93;:::i;:::-;8921:2;8916:3;8912:12;8905:19;;8710:220;;;:::o;8936:366::-;9078:3;9099:67;9163:2;9158:3;9099:67;:::i;:::-;9092:74;;9175:93;9264:3;9175:93;:::i;:::-;9293:2;9288:3;9284:12;9277:19;;9082:220;;;:::o;9308:118::-;9395:24;9413:5;9395:24;:::i;:::-;9390:3;9383:37;9373:53;;:::o;9432:112::-;9515:22;9531:5;9515:22;:::i;:::-;9510:3;9503:35;9493:51;;:::o;9550:222::-;9643:4;9681:2;9670:9;9666:18;9658:26;;9694:71;9762:1;9751:9;9747:17;9738:6;9694:71;:::i;:::-;9648:124;;;;:::o;9778:332::-;9899:4;9937:2;9926:9;9922:18;9914:26;;9950:71;10018:1;10007:9;10003:17;9994:6;9950:71;:::i;:::-;10031:72;10099:2;10088:9;10084:18;10075:6;10031:72;:::i;:::-;9904:206;;;;;:::o;10116:332::-;10237:4;10275:2;10264:9;10260:18;10252:26;;10288:71;10356:1;10345:9;10341:17;10332:6;10288:71;:::i;:::-;10369:72;10437:2;10426:9;10422:18;10413:6;10369:72;:::i;:::-;10242:206;;;;;:::o;10454:807::-;10703:4;10741:3;10730:9;10726:19;10718:27;;10755:71;10823:1;10812:9;10808:17;10799:6;10755:71;:::i;:::-;10836:72;10904:2;10893:9;10889:18;10880:6;10836:72;:::i;:::-;10918:80;10994:2;10983:9;10979:18;10970:6;10918:80;:::i;:::-;11008;11084:2;11073:9;11069:18;11060:6;11008:80;:::i;:::-;11098:73;11166:3;11155:9;11151:19;11142:6;11098:73;:::i;:::-;11181;11249:3;11238:9;11234:19;11225:6;11181:73;:::i;:::-;10708:553;;;;;;;;;:::o;11267:210::-;11354:4;11392:2;11381:9;11377:18;11369:26;;11405:65;11467:1;11456:9;11452:17;11443:6;11405:65;:::i;:::-;11359:118;;;;:::o;11483:313::-;11596:4;11634:2;11623:9;11619:18;11611:26;;11683:9;11677:4;11673:20;11669:1;11658:9;11654:17;11647:47;11711:78;11784:4;11775:6;11711:78;:::i;:::-;11703:86;;11601:195;;;;:::o;11802:419::-;11968:4;12006:2;11995:9;11991:18;11983:26;;12055:9;12049:4;12045:20;12041:1;12030:9;12026:17;12019:47;12083:131;12209:4;12083:131;:::i;:::-;12075:139;;11973:248;;;:::o;12227:419::-;12393:4;12431:2;12420:9;12416:18;12408:26;;12480:9;12474:4;12470:20;12466:1;12455:9;12451:17;12444:47;12508:131;12634:4;12508:131;:::i;:::-;12500:139;;12398:248;;;:::o;12652:419::-;12818:4;12856:2;12845:9;12841:18;12833:26;;12905:9;12899:4;12895:20;12891:1;12880:9;12876:17;12869:47;12933:131;13059:4;12933:131;:::i;:::-;12925:139;;12823:248;;;:::o;13077:419::-;13243:4;13281:2;13270:9;13266:18;13258:26;;13330:9;13324:4;13320:20;13316:1;13305:9;13301:17;13294:47;13358:131;13484:4;13358:131;:::i;:::-;13350:139;;13248:248;;;:::o;13502:419::-;13668:4;13706:2;13695:9;13691:18;13683:26;;13755:9;13749:4;13745:20;13741:1;13730:9;13726:17;13719:47;13783:131;13909:4;13783:131;:::i;:::-;13775:139;;13673:248;;;:::o;13927:419::-;14093:4;14131:2;14120:9;14116:18;14108:26;;14180:9;14174:4;14170:20;14166:1;14155:9;14151:17;14144:47;14208:131;14334:4;14208:131;:::i;:::-;14200:139;;14098:248;;;:::o;14352:419::-;14518:4;14556:2;14545:9;14541:18;14533:26;;14605:9;14599:4;14595:20;14591:1;14580:9;14576:17;14569:47;14633:131;14759:4;14633:131;:::i;:::-;14625:139;;14523:248;;;:::o;14777:419::-;14943:4;14981:2;14970:9;14966:18;14958:26;;15030:9;15024:4;15020:20;15016:1;15005:9;15001:17;14994:47;15058:131;15184:4;15058:131;:::i;:::-;15050:139;;14948:248;;;:::o;15202:222::-;15295:4;15333:2;15322:9;15318:18;15310:26;;15346:71;15414:1;15403:9;15399:17;15390:6;15346:71;:::i;:::-;15300:124;;;;:::o;15430:831::-;15693:4;15731:3;15720:9;15716:19;15708:27;;15745:71;15813:1;15802:9;15798:17;15789:6;15745:71;:::i;:::-;15826:80;15902:2;15891:9;15887:18;15878:6;15826:80;:::i;:::-;15953:9;15947:4;15943:20;15938:2;15927:9;15923:18;15916:48;15981:108;16084:4;16075:6;15981:108;:::i;:::-;15973:116;;16099:72;16167:2;16156:9;16152:18;16143:6;16099:72;:::i;:::-;16181:73;16249:3;16238:9;16234:19;16225:6;16181:73;:::i;:::-;15698:563;;;;;;;;:::o;16267:214::-;16356:4;16394:2;16383:9;16379:18;16371:26;;16407:67;16471:1;16460:9;16456:17;16447:6;16407:67;:::i;:::-;16361:120;;;;:::o;16568:132::-;16635:4;16658:3;16650:11;;16688:4;16683:3;16679:14;16671:22;;16640:60;;;:::o;16706:114::-;16773:6;16807:5;16801:12;16791:22;;16780:40;;;:::o;16826:99::-;16878:6;16912:5;16906:12;16896:22;;16885:40;;;:::o;16931:113::-;17001:4;17033;17028:3;17024:14;17016:22;;17006:38;;;:::o;17050:184::-;17149:11;17183:6;17178:3;17171:19;17223:4;17218:3;17214:14;17199:29;;17161:73;;;;:::o;17240:169::-;17324:11;17358:6;17353:3;17346:19;17398:4;17393:3;17389:14;17374:29;;17336:73;;;;:::o;17415:305::-;17455:3;17474:20;17492:1;17474:20;:::i;:::-;17469:25;;17508:20;17526:1;17508:20;:::i;:::-;17503:25;;17662:1;17594:66;17590:74;17587:1;17584:81;17581:2;;;17668:18;;:::i;:::-;17581:2;17712:1;17709;17705:9;17698:16;;17459:261;;;;:::o;17726:185::-;17766:1;17783:20;17801:1;17783:20;:::i;:::-;17778:25;;17817:20;17835:1;17817:20;:::i;:::-;17812:25;;17856:1;17846:2;;17861:18;;:::i;:::-;17846:2;17903:1;17900;17896:9;17891:14;;17768:143;;;;:::o;17917:348::-;17957:7;17980:20;17998:1;17980:20;:::i;:::-;17975:25;;18014:20;18032:1;18014:20;:::i;:::-;18009:25;;18202:1;18134:66;18130:74;18127:1;18124:81;18119:1;18112:9;18105:17;18101:105;18098:2;;;18209:18;;:::i;:::-;18098:2;18257:1;18254;18250:9;18239:20;;17965:300;;;;:::o;18271:191::-;18311:4;18331:20;18349:1;18331:20;:::i;:::-;18326:25;;18365:20;18383:1;18365:20;:::i;:::-;18360:25;;18404:1;18401;18398:8;18395:2;;;18409:18;;:::i;:::-;18395:2;18454:1;18451;18447:9;18439:17;;18316:146;;;;:::o;18468:96::-;18505:7;18534:24;18552:5;18534:24;:::i;:::-;18523:35;;18513:51;;;:::o;18570:90::-;18604:7;18647:5;18640:13;18633:21;18622:32;;18612:48;;;:::o;18666:126::-;18703:7;18743:42;18736:5;18732:54;18721:65;;18711:81;;;:::o;18798:77::-;18835:7;18864:5;18853:16;;18843:32;;;:::o;18881:86::-;18916:7;18956:4;18949:5;18945:16;18934:27;;18924:43;;;:::o;18973:121::-;19031:9;19064:24;19082:5;19064:24;:::i;:::-;19051:37;;19041:53;;;:::o;19100:307::-;19168:1;19178:113;19192:6;19189:1;19186:13;19178:113;;;19277:1;19272:3;19268:11;19262:18;19258:1;19253:3;19249:11;19242:39;19214:2;19211:1;19207:10;19202:15;;19178:113;;;19309:6;19306:1;19303:13;19300:2;;;19389:1;19380:6;19375:3;19371:16;19364:27;19300:2;19149:258;;;;:::o;19413:180::-;19461:77;19458:1;19451:88;19558:4;19555:1;19548:15;19582:4;19579:1;19572:15;19599:180;19647:77;19644:1;19637:88;19744:4;19741:1;19734:15;19768:4;19765:1;19758:15;19785:180;19833:77;19830:1;19823:88;19930:4;19927:1;19920:15;19954:4;19951:1;19944:15;19971:180;20019:77;20016:1;20009:88;20116:4;20113:1;20106:15;20140:4;20137:1;20130:15;20280:117;20389:1;20386;20379:12;20403:102;20444:6;20495:2;20491:7;20486:2;20479:5;20475:14;20471:28;20461:38;;20451:54;;;:::o;20511:229::-;20651:34;20647:1;20639:6;20635:14;20628:58;20720:12;20715:2;20707:6;20703:15;20696:37;20617:123;:::o;20746:221::-;20886:34;20882:1;20874:6;20870:14;20863:58;20955:4;20950:2;20942:6;20938:15;20931:29;20852:115;:::o;20973:177::-;21113:29;21109:1;21101:6;21097:14;21090:53;21079:71;:::o;21156:220::-;21296:34;21292:1;21284:6;21280:14;21273:58;21365:3;21360:2;21352:6;21348:15;21341:28;21262:114;:::o;21382:182::-;21522:34;21518:1;21510:6;21506:14;21499:58;21488:76;:::o;21570:228::-;21710:34;21706:1;21698:6;21694:14;21687:58;21779:11;21774:2;21766:6;21762:15;21755:36;21676:122;:::o;21804:223::-;21944:34;21940:1;21932:6;21928:14;21921:58;22013:6;22008:2;22000:6;21996:15;21989:31;21910:117;:::o;22033:173::-;22173:25;22169:1;22161:6;22157:14;22150:49;22139:67;:::o;22212:122::-;22285:24;22303:5;22285:24;:::i;:::-;22278:5;22275:35;22265:2;;22324:1;22321;22314:12;22265:2;22255:79;:::o;22340:116::-;22410:21;22425:5;22410:21;:::i;:::-;22403:5;22400:32;22390:2;;22446:1;22443;22436:12;22390:2;22380:76;:::o;22462:122::-;22535:24;22553:5;22535:24;:::i;:::-;22528:5;22525:35;22515:2;;22574:1;22571;22564:12;22515:2;22505:79;:::o
Swarm Source
ipfs://11e2f948779a711f44dffa9c58144a81fdd92980764bb1421360fef2c42f868f
Loading...
Loading
Loading...
Loading
[ Download: CSV Export ]
[ Download: CSV Export ]
A token is a representation of an on-chain or off-chain asset. The token page shows information such as price, total supply, holders, transfers and social links. Learn more about this page in our Knowledge Base.