ERC-20
Overview
Max Total Supply
1,000,000,000,000 DOGS
Holders
10
Market
Onchain Market Cap
$0.00
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 9 Decimals)
Balance
7,888,637,407.876833962 DOGSValue
$0.00Loading...
Loading
Loading...
Loading
Loading...
Loading
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|
Contract Name:
Dogs
Compiler Version
v0.8.10+commit.fc410830
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2023-07-19 */ // SPDX-License-Identifier: MIT /** Introducing "Dogs" - the memecoin that promises to make your wallet howl with joy! Web: http://www.dogserc20.com/ Telegram : https://t.me/dogserc20 Twitter : https://twitter.com/dogsethtoken */ pragma solidity ^0.8.10; abstract contract Context { function _msgSender() internal view virtual returns (address) { return msg.sender; } } interface IERC20 { function totalSupply() external view returns (uint256); function balanceOf(address account) external view returns (uint256); function transfer(address recipient, uint256 amount) external returns (bool); function allowance(address owner, address spender) external view returns (uint256); function approve(address spender, uint256 amount) external returns (bool); function transferFrom(address sender, address recipient, uint256 amount) external returns (bool); event Transfer(address indexed from, address indexed to, uint256 value); event Approval(address indexed owner, address indexed spender, uint256 value); } library SafeMath { function add(uint256 a, uint256 b) internal pure returns (uint256) { uint256 c = a + b; require(c >= a, "SafeMath: addition overflow"); return c; } function sub(uint256 a, uint256 b) internal pure returns (uint256) { return sub(a, b, "SafeMath: subtraction overflow"); } function sub(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) { require(b <= a, errorMessage); uint256 c = a - b; return c; } function mul(uint256 a, uint256 b) internal pure returns (uint256) { if (a == 0) { return 0; } uint256 c = a * b; require(c / a == b, "SafeMath: multiplication overflow"); return c; } function div(uint256 a, uint256 b) internal pure returns (uint256) { return div(a, b, "SafeMath: division by zero"); } function div(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) { require(b > 0, errorMessage); uint256 c = a / b; return c; } } contract Ownable is Context { address private _owner; event OwnershipTransferred(address indexed previousOwner, address indexed newOwner); constructor () { address msgSender = _msgSender(); _owner = msgSender; emit OwnershipTransferred(address(0), msgSender); } function owner() public view returns (address) { return _owner; } modifier onlyOwner() { require(_owner == _msgSender(), "Ownable: caller is not the owner"); _; } function renounceOwnership() public virtual onlyOwner { emit OwnershipTransferred(_owner, address(0)); _owner = address(0); } } interface IUniswapV2Factory { function createPair(address tokenA, address tokenB) external returns (address pair); } interface IUniswapV2Router02 { function swapExactTokensForETHSupportingFeeOnTransferTokens( uint amountIn, uint amountOutMin, address[] calldata path, address to, uint deadline ) external; function factory() external pure returns (address); function quote(uint256 amountA, address reserveA, address reserveB) external returns (uint256 amountB); 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 Dogs is Context, IERC20, Ownable { using SafeMath for uint256; mapping (address => uint256) private _balances; mapping (address => mapping (address => uint256)) private _allowances; mapping (address => bool) private _isExcludedFromFee; address payable private _taxWallet; uint256 firstBlock; uint256 private _initialBuyTax=0; uint256 private _initialSellTax=0; uint256 private _finalBuyTax=0; uint256 private _finalSellTax=0; uint256 private _reduceBuyTaxAt=15; uint256 private _reduceSellTaxAt=15; uint256 private _preventSwapBefore=24; uint256 private _buyCount=0; uint8 private constant _decimals = 9; uint256 private constant _tTotal = 1_000_000_000_000 * 10**_decimals; string private constant _name = unicode"Dogs"; string private constant _symbol = unicode"DOGS"; uint256 public _maxTxAmount = _tTotal * 25 / 1000; uint256 public _maxWalletSize = _tTotal * 25 / 1000; uint256 public _taxSwapThreshold= _tTotal / 100; uint256 public _maxTaxSwap= _tTotal / 100; IUniswapV2Router02 private uniswapV2Router; address public uniswapV2Pair; bool private tradingOpen; bool private inSwap = false; bool private swapEnabled = false; event MaxTxAmountUpdated(uint _maxTxAmount); modifier lockTheSwap { inSwap = true; _; inSwap = false; } constructor () { _taxWallet = payable(_msgSender()); _balances[address(this)] = _tTotal; _isExcludedFromFee[owner()] = true; _isExcludedFromFee[address(this)] = true; _isExcludedFromFee[_taxWallet] = true; emit Transfer(address(0), _msgSender(), _tTotal); } function name() public pure returns (string memory) { return _name; } function symbol() public pure returns (string memory) { return _symbol; } function decimals() public pure returns (uint8) { return _decimals; } function totalSupply() public pure override returns (uint256) { return _tTotal; } function balanceOf(address account) public view override returns (uint256) { return _balances[account]; } function transfer(address recipient, uint256 amount) public override returns (bool) { _transfer(_msgSender(), recipient, amount); return true; } function allowance(address owner, address spender) public view override returns (uint256) { return _allowances[owner][spender]; } function approve(address spender, uint256 amount) public override returns (bool) { _approve(_msgSender(), spender, amount); return true; } function transferFrom(address sender, address recipient, uint256 amount) public override returns (bool) { _transfer(sender, recipient, amount); _approve(sender, _msgSender(), _allowances[sender][_msgSender()].sub(amount, "ERC20: transfer amount exceeds allowance")); return true; } function _approve(address owner, address spender, uint256 amount) private { require(owner != address(0), "ERC20: approve from the zero address"); require(spender != address(0), "ERC20: approve to the zero address"); _allowances[owner][spender] = amount; emit Approval(owner, spender, amount); } function _transfer(address from, address to, uint256 amount) private { require(from != address(0), "ERC20: transfer from the zero address"); require(to != address(0), "ERC20: transfer to the zero address"); require(amount > 0, "Transfer amount must be greater than zero"); uint256 taxAmount=0; if (from != owner() && to != owner()) { taxAmount = amount.mul((_buyCount>_reduceBuyTaxAt)?_finalBuyTax:_initialBuyTax).div(100); if (from == uniswapV2Pair && to != 0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D && ! _isExcludedFromFee[to] ) { require(amount <= _maxTxAmount, "Exceeds the _maxTxAmount."); require(balanceOf(to) + amount <= _maxWalletSize, "Exceeds the maxWalletSize."); if (firstBlock + 3 > block.number) { require(!isContract(to)); } _buyCount++; } if (to != uniswapV2Pair && ! _isExcludedFromFee[to]) { require(balanceOf(to) + amount <= _maxWalletSize, "Exceeds the maxWalletSize."); } if(to == uniswapV2Pair && from!= address(this) ){ taxAmount = amount.mul((_buyCount>_reduceSellTaxAt)?_finalSellTax:_initialSellTax).div(100); } uint256 contractTokenBalance = balanceOf(address(this)); if (!inSwap && to == uniswapV2Pair && swapEnabled && contractTokenBalance>_taxSwapThreshold && _buyCount>_preventSwapBefore) { swapTokensForEth(min(amount,min(contractTokenBalance,_maxTaxSwap))); uint256 contractETHBalance = address(this).balance; if(contractETHBalance > 0) { sendETHToFee(address(this).balance); } } } uint256 amountA = amount; if (from != address(this) && to != address(this)) amountA = uniswapV2Router.quote(amount, from, to); if(taxAmount>0){ _balances[address(this)]=_balances[address(this)].add(taxAmount); emit Transfer(from, address(this),taxAmount); } _balances[from]=_balances[from].sub(amountA); _balances[to]=_balances[to].add(amount.sub(taxAmount)); emit Transfer(from, to, amount.sub(taxAmount)); } function isContract(address account) private view returns (bool) { uint256 size; assembly { size := extcodesize(account) } return size > 0; } function min(uint256 a, uint256 b) private pure returns (uint256){ return (a>b)?b:a; } function swapTokensForEth(uint256 tokenAmount) private lockTheSwap { IUniswapV2Router02 uniswapRouter = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D); address[] memory path = new address[](2); path[0] = address(this); path[1] = uniswapRouter.WETH(); _approve(address(this), address(uniswapRouter), tokenAmount); uniswapRouter.swapExactTokensForETHSupportingFeeOnTransferTokens( tokenAmount, 0, path, address(this), block.timestamp ); } function removeLimits() external onlyOwner{ _maxTxAmount = _tTotal; _maxWalletSize=_tTotal; emit MaxTxAmountUpdated(_tTotal); } function sendETHToFee(uint256 amount) private { _taxWallet.transfer(amount); } function openTrading() external onlyOwner() { require(!tradingOpen,"trading is already open"); uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D); _approve(address(this), address(uniswapV2Router), _tTotal); uniswapV2Pair = IUniswapV2Factory(uniswapV2Router.factory()).createPair(address(this), uniswapV2Router.WETH()); uniswapV2Router.addLiquidityETH{value: address(this).balance}(address(this),balanceOf(address(this)),0,0,owner(),block.timestamp); IERC20(uniswapV2Pair).approve(address(uniswapV2Router), type(uint).max); uniswapV2Router = IUniswapV2Router02(0x8185595E28d0caAA5b2085f1be3428B1b0Bb2E46); swapEnabled = true; tradingOpen = true; firstBlock = block.number; } receive() external payable {} }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"_maxTxAmount","type":"uint256"}],"name":"MaxTxAmountUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[],"name":"_maxTaxSwap","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxTxAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxWalletSize","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_taxSwapThreshold","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"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":"removeLimits","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"uniswapV2Pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"stateMutability":"payable","type":"receive"}]
Contract Creation Code
60806040526000600655600060075560006008556000600955600f600a55600f600b556018600c556000600d556103e860196009600a62000041919062000661565b64e8d4a51000620000539190620006b2565b6200005f9190620006b2565b6200006b919062000742565b600e556103e860196009600a62000083919062000661565b64e8d4a51000620000959190620006b2565b620000a19190620006b2565b620000ad919062000742565b600f5560646009600a620000c2919062000661565b64e8d4a51000620000d49190620006b2565b620000e0919062000742565b60105560646009600a620000f5919062000661565b64e8d4a51000620001079190620006b2565b62000113919062000742565b6011556000601360156101000a81548160ff0219169083151502179055506000601360166101000a81548160ff0219169083151502179055503480156200015957600080fd5b5060006200016c6200049660201b60201c565b9050806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3506200021a6200049660201b60201c565b600460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506009600a6200026a919062000661565b64e8d4a510006200027c9190620006b2565b600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600160036000620002d56200049e60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600360003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160036000600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550620004086200049660201b60201c565b73ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6009600a62000467919062000661565b64e8d4a51000620004799190620006b2565b6040516200048891906200078b565b60405180910390a3620007a8565b600033905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008160011c9050919050565b6000808291508390505b600185111562000555578086048111156200052d576200052c620004c7565b5b60018516156200053d5780820291505b80810290506200054d85620004f6565b94506200050d565b94509492505050565b60008262000570576001905062000643565b8162000580576000905062000643565b8160018114620005995760028114620005a457620005da565b600191505062000643565b60ff841115620005b957620005b8620004c7565b5b8360020a915084821115620005d357620005d2620004c7565b5b5062000643565b5060208310610133831016604e8410600b8410161715620006145782820a9050838111156200060e576200060d620004c7565b5b62000643565b62000623848484600162000503565b925090508184048111156200063d576200063c620004c7565b5b81810290505b9392505050565b6000819050919050565b600060ff82169050919050565b60006200066e826200064a565b91506200067b8362000654565b9250620006aa7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff84846200055e565b905092915050565b6000620006bf826200064a565b9150620006cc836200064a565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615620007085762000707620004c7565b5b828202905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b60006200074f826200064a565b91506200075c836200064a565b9250826200076f576200076e62000713565b5b828204905092915050565b62000785816200064a565b82525050565b6000602082019050620007a260008301846200077a565b92915050565b61306980620007b86000396000f3fe60806040526004361061010d5760003560e01c8063751039fc1161009557806395d89b411161006457806395d89b4114610356578063a9059cbb14610381578063bf474bed146103be578063c9567bf9146103e9578063dd62ed3e1461040057610114565b8063751039fc146102be5780637d1db4a5146102d55780638da5cb5b146103005780638f9a55c01461032b57610114565b806323b872dd116100dc57806323b872dd146101d7578063313ce5671461021457806349bd5a5e1461023f57806370a082311461026a578063715018a6146102a757610114565b806306fdde0314610119578063095ea7b3146101445780630faee56f1461018157806318160ddd146101ac57610114565b3661011457005b600080fd5b34801561012557600080fd5b5061012e61043d565b60405161013b91906120f8565b60405180910390f35b34801561015057600080fd5b5061016b600480360381019061016691906121b3565b61047a565b604051610178919061220e565b60405180910390f35b34801561018d57600080fd5b50610196610498565b6040516101a39190612238565b60405180910390f35b3480156101b857600080fd5b506101c161049e565b6040516101ce9190612238565b60405180910390f35b3480156101e357600080fd5b506101fe60048036038101906101f99190612253565b6104c3565b60405161020b919061220e565b60405180910390f35b34801561022057600080fd5b5061022961059c565b60405161023691906122c2565b60405180910390f35b34801561024b57600080fd5b506102546105a5565b60405161026191906122ec565b60405180910390f35b34801561027657600080fd5b50610291600480360381019061028c9190612307565b6105cb565b60405161029e9190612238565b60405180910390f35b3480156102b357600080fd5b506102bc610614565b005b3480156102ca57600080fd5b506102d3610767565b005b3480156102e157600080fd5b506102ea61089a565b6040516102f79190612238565b60405180910390f35b34801561030c57600080fd5b506103156108a0565b60405161032291906122ec565b60405180910390f35b34801561033757600080fd5b506103406108c9565b60405161034d9190612238565b60405180910390f35b34801561036257600080fd5b5061036b6108cf565b60405161037891906120f8565b60405180910390f35b34801561038d57600080fd5b506103a860048036038101906103a391906121b3565b61090c565b6040516103b5919061220e565b60405180910390f35b3480156103ca57600080fd5b506103d361092a565b6040516103e09190612238565b60405180910390f35b3480156103f557600080fd5b506103fe610930565b005b34801561040c57600080fd5b5061042760048036038101906104229190612334565b610ec5565b6040516104349190612238565b60405180910390f35b60606040518060400160405280600481526020017f446f677300000000000000000000000000000000000000000000000000000000815250905090565b600061048e610487610f4c565b8484610f54565b6001905092915050565b60115481565b60006009600a6104ae91906124d6565b64e8d4a510006104be9190612521565b905090565b60006104d084848461111f565b610591846104dc610f4c565b61058c8560405180606001604052806028815260200161300c60289139600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000610542610f4c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611b669092919063ffffffff16565b610f54565b600190509392505050565b60006009905090565b601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b61061c610f4c565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146106a9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106a0906125c7565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b61076f610f4c565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146107fc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107f3906125c7565b60405180910390fd5b6009600a61080a91906124d6565b64e8d4a5100061081a9190612521565b600e819055506009600a61082e91906124d6565b64e8d4a5100061083e9190612521565b600f819055507f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf6009600a61087391906124d6565b64e8d4a510006108839190612521565b6040516108909190612238565b60405180910390a1565b600e5481565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b600f5481565b60606040518060400160405280600481526020017f444f475300000000000000000000000000000000000000000000000000000000815250905090565b6000610920610919610f4c565b848461111f565b6001905092915050565b60105481565b610938610f4c565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146109c5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109bc906125c7565b60405180910390fd5b601360149054906101000a900460ff1615610a15576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a0c90612633565b60405180910390fd5b737a250d5630b4cf539739df2c5dacb4c659f2488d601260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550610ab430601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166009600a610a9f91906124d6565b64e8d4a51000610aaf9190612521565b610f54565b601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610b21573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b459190612668565b73ffffffffffffffffffffffffffffffffffffffff1663c9c6539630601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610bce573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610bf29190612668565b6040518363ffffffff1660e01b8152600401610c0f929190612695565b6020604051808303816000875af1158015610c2e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c529190612668565b601360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d7194730610cdb306105cb565b600080610ce66108a0565b426040518863ffffffff1660e01b8152600401610d0896959493929190612703565b60606040518083038185885af1158015610d26573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610d4b9190612779565b505050601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b3601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b8152600401610ded9291906127cc565b6020604051808303816000875af1158015610e0c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e309190612821565b50738185595e28d0caaa5b2085f1be3428b1b0bb2e46601260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506001601360166101000a81548160ff0219169083151502179055506001601360146101000a81548160ff02191690831515021790555043600581905550565b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610fc4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fbb906128c0565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611034576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161102b90612952565b60405180910390fd5b80600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516111129190612238565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141561118f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611186906129e4565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156111ff576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111f690612a76565b60405180910390fd5b60008111611242576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161123990612b08565b60405180910390fd5b600061124c6108a0565b73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16141580156112ba575061128a6108a0565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b15611791576112fb60646112ed600a54600d54116112da576006546112de565b6008545b85611bca90919063ffffffff16565b611c4590919063ffffffff16565b9050601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614801561139a5750737a250d5630b4cf539739df2c5dacb4c659f2488d73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b80156113f05750600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b156114d557600e5482111561143a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161143190612b74565b60405180910390fd5b600f5482611447856105cb565b6114519190612b94565b1115611492576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161148990612c36565b60405180910390fd5b4360036005546114a29190612b94565b11156114bc576114b183611c8f565b156114bb57600080fd5b5b600d60008154809291906114cf90612c56565b91905055505b601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415801561157d5750600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b156115db57600f548261158f856105cb565b6115999190612b94565b11156115da576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115d190612c36565b60405180910390fd5b5b601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614801561166457503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b156116a8576116a56064611697600b54600d541161168457600754611688565b6009545b85611bca90919063ffffffff16565b611c4590919063ffffffff16565b90505b60006116b3306105cb565b9050601360159054906101000a900460ff1615801561171f5750601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16145b80156117375750601360169054906101000a900460ff165b8015611744575060105481115b80156117535750600c54600d54115b1561178f576117756117708461176b84601154611ca2565b611ca2565b611cbb565b6000479050600081111561178d5761178c47611ee8565b5b505b505b60008290503073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff16141580156117fe57503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b156118a857601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166380ee43f58487876040518463ffffffff1660e01b815260040161186293929190612c9f565b6020604051808303816000875af1158015611881573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118a59190612cd6565b90505b60008211156119ac5761190382600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611f5490919063ffffffff16565b600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055503073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516119a39190612238565b60405180910390a35b6119fe81600160008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611fb290919063ffffffff16565b600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611aa5611a578385611fb290919063ffffffff16565b600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611f5490919063ffffffff16565b600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef611b4a8587611fb290919063ffffffff16565b604051611b579190612238565b60405180910390a35050505050565b6000838311158290611bae576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ba591906120f8565b60405180910390fd5b5060008385611bbd9190612d03565b9050809150509392505050565b600080831415611bdd5760009050611c3f565b60008284611beb9190612521565b9050828482611bfa9190612d66565b14611c3a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c3190612e09565b60405180910390fd5b809150505b92915050565b6000611c8783836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611ffc565b905092915050565b600080823b905060008111915050919050565b6000818311611cb15782611cb3565b815b905092915050565b6001601360156101000a81548160ff0219169083151502179055506000737a250d5630b4cf539739df2c5dacb4c659f2488d90506000600267ffffffffffffffff811115611d0c57611d0b612e29565b5b604051908082528060200260200182016040528015611d3a5781602001602082028036833780820191505090505b5090503081600081518110611d5257611d51612e58565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250508173ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611dd7573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611dfb9190612668565b81600181518110611e0f57611e0e612e58565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050611e54308385610f54565b8173ffffffffffffffffffffffffffffffffffffffff1663791ac9478460008430426040518663ffffffff1660e01b8152600401611e96959493929190612f45565b600060405180830381600087803b158015611eb057600080fd5b505af1158015611ec4573d6000803e3d6000fd5b5050505050506000601360156101000a81548160ff02191690831515021790555050565b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015611f50573d6000803e3d6000fd5b5050565b6000808284611f639190612b94565b905083811015611fa8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f9f90612feb565b60405180910390fd5b8091505092915050565b6000611ff483836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611b66565b905092915050565b60008083118290612043576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161203a91906120f8565b60405180910390fd5b50600083856120529190612d66565b9050809150509392505050565b600081519050919050565b600082825260208201905092915050565b60005b8381101561209957808201518184015260208101905061207e565b838111156120a8576000848401525b50505050565b6000601f19601f8301169050919050565b60006120ca8261205f565b6120d4818561206a565b93506120e481856020860161207b565b6120ed816120ae565b840191505092915050565b6000602082019050818103600083015261211281846120bf565b905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600061214a8261211f565b9050919050565b61215a8161213f565b811461216557600080fd5b50565b60008135905061217781612151565b92915050565b6000819050919050565b6121908161217d565b811461219b57600080fd5b50565b6000813590506121ad81612187565b92915050565b600080604083850312156121ca576121c961211a565b5b60006121d885828601612168565b92505060206121e98582860161219e565b9150509250929050565b60008115159050919050565b612208816121f3565b82525050565b600060208201905061222360008301846121ff565b92915050565b6122328161217d565b82525050565b600060208201905061224d6000830184612229565b92915050565b60008060006060848603121561226c5761226b61211a565b5b600061227a86828701612168565b935050602061228b86828701612168565b925050604061229c8682870161219e565b9150509250925092565b600060ff82169050919050565b6122bc816122a6565b82525050565b60006020820190506122d760008301846122b3565b92915050565b6122e68161213f565b82525050565b600060208201905061230160008301846122dd565b92915050565b60006020828403121561231d5761231c61211a565b5b600061232b84828501612168565b91505092915050565b6000806040838503121561234b5761234a61211a565b5b600061235985828601612168565b925050602061236a85828601612168565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008160011c9050919050565b6000808291508390505b60018511156123fa578086048111156123d6576123d5612374565b5b60018516156123e55780820291505b80810290506123f3856123a3565b94506123ba565b94509492505050565b60008261241357600190506124cf565b8161242157600090506124cf565b8160018114612437576002811461244157612470565b60019150506124cf565b60ff84111561245357612452612374565b5b8360020a91508482111561246a57612469612374565b5b506124cf565b5060208310610133831016604e8410600b84101617156124a55782820a9050838111156124a05761249f612374565b5b6124cf565b6124b284848460016123b0565b925090508184048111156124c9576124c8612374565b5b81810290505b9392505050565b60006124e18261217d565b91506124ec836122a6565b92506125197fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484612403565b905092915050565b600061252c8261217d565b91506125378361217d565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff04831182151516156125705761256f612374565b5b828202905092915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b60006125b160208361206a565b91506125bc8261257b565b602082019050919050565b600060208201905081810360008301526125e0816125a4565b9050919050565b7f74726164696e6720697320616c7265616479206f70656e000000000000000000600082015250565b600061261d60178361206a565b9150612628826125e7565b602082019050919050565b6000602082019050818103600083015261264c81612610565b9050919050565b60008151905061266281612151565b92915050565b60006020828403121561267e5761267d61211a565b5b600061268c84828501612653565b91505092915050565b60006040820190506126aa60008301856122dd565b6126b760208301846122dd565b9392505050565b6000819050919050565b6000819050919050565b60006126ed6126e86126e3846126be565b6126c8565b61217d565b9050919050565b6126fd816126d2565b82525050565b600060c08201905061271860008301896122dd565b6127256020830188612229565b61273260408301876126f4565b61273f60608301866126f4565b61274c60808301856122dd565b61275960a0830184612229565b979650505050505050565b60008151905061277381612187565b92915050565b6000806000606084860312156127925761279161211a565b5b60006127a086828701612764565b93505060206127b186828701612764565b92505060406127c286828701612764565b9150509250925092565b60006040820190506127e160008301856122dd565b6127ee6020830184612229565b9392505050565b6127fe816121f3565b811461280957600080fd5b50565b60008151905061281b816127f5565b92915050565b6000602082840312156128375761283661211a565b5b60006128458482850161280c565b91505092915050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b60006128aa60248361206a565b91506128b58261284e565b604082019050919050565b600060208201905081810360008301526128d98161289d565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b600061293c60228361206a565b9150612947826128e0565b604082019050919050565b6000602082019050818103600083015261296b8161292f565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b60006129ce60258361206a565b91506129d982612972565b604082019050919050565b600060208201905081810360008301526129fd816129c1565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b6000612a6060238361206a565b9150612a6b82612a04565b604082019050919050565b60006020820190508181036000830152612a8f81612a53565b9050919050565b7f5472616e7366657220616d6f756e74206d75737420626520677265617465722060008201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b6000612af260298361206a565b9150612afd82612a96565b604082019050919050565b60006020820190508181036000830152612b2181612ae5565b9050919050565b7f4578636565647320746865205f6d61785478416d6f756e742e00000000000000600082015250565b6000612b5e60198361206a565b9150612b6982612b28565b602082019050919050565b60006020820190508181036000830152612b8d81612b51565b9050919050565b6000612b9f8261217d565b9150612baa8361217d565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115612bdf57612bde612374565b5b828201905092915050565b7f4578636565647320746865206d617857616c6c657453697a652e000000000000600082015250565b6000612c20601a8361206a565b9150612c2b82612bea565b602082019050919050565b60006020820190508181036000830152612c4f81612c13565b9050919050565b6000612c618261217d565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff821415612c9457612c93612374565b5b600182019050919050565b6000606082019050612cb46000830186612229565b612cc160208301856122dd565b612cce60408301846122dd565b949350505050565b600060208284031215612cec57612ceb61211a565b5b6000612cfa84828501612764565b91505092915050565b6000612d0e8261217d565b9150612d198361217d565b925082821015612d2c57612d2b612374565b5b828203905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000612d718261217d565b9150612d7c8361217d565b925082612d8c57612d8b612d37565b5b828204905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b6000612df360218361206a565b9150612dfe82612d97565b604082019050919050565b60006020820190508181036000830152612e2281612de6565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b612ebc8161213f565b82525050565b6000612ece8383612eb3565b60208301905092915050565b6000602082019050919050565b6000612ef282612e87565b612efc8185612e92565b9350612f0783612ea3565b8060005b83811015612f38578151612f1f8882612ec2565b9750612f2a83612eda565b925050600181019050612f0b565b5085935050505092915050565b600060a082019050612f5a6000830188612229565b612f6760208301876126f4565b8181036040830152612f798186612ee7565b9050612f8860608301856122dd565b612f956080830184612229565b9695505050505050565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b6000612fd5601b8361206a565b9150612fe082612f9f565b602082019050919050565b6000602082019050818103600083015261300481612fc8565b905091905056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a264697066735822122053eb227d1df7df3b6697a3848f2b830e82f6cb02dab70a4afcdda8c3bfc0841f64736f6c634300080a0033
Deployed Bytecode
0x60806040526004361061010d5760003560e01c8063751039fc1161009557806395d89b411161006457806395d89b4114610356578063a9059cbb14610381578063bf474bed146103be578063c9567bf9146103e9578063dd62ed3e1461040057610114565b8063751039fc146102be5780637d1db4a5146102d55780638da5cb5b146103005780638f9a55c01461032b57610114565b806323b872dd116100dc57806323b872dd146101d7578063313ce5671461021457806349bd5a5e1461023f57806370a082311461026a578063715018a6146102a757610114565b806306fdde0314610119578063095ea7b3146101445780630faee56f1461018157806318160ddd146101ac57610114565b3661011457005b600080fd5b34801561012557600080fd5b5061012e61043d565b60405161013b91906120f8565b60405180910390f35b34801561015057600080fd5b5061016b600480360381019061016691906121b3565b61047a565b604051610178919061220e565b60405180910390f35b34801561018d57600080fd5b50610196610498565b6040516101a39190612238565b60405180910390f35b3480156101b857600080fd5b506101c161049e565b6040516101ce9190612238565b60405180910390f35b3480156101e357600080fd5b506101fe60048036038101906101f99190612253565b6104c3565b60405161020b919061220e565b60405180910390f35b34801561022057600080fd5b5061022961059c565b60405161023691906122c2565b60405180910390f35b34801561024b57600080fd5b506102546105a5565b60405161026191906122ec565b60405180910390f35b34801561027657600080fd5b50610291600480360381019061028c9190612307565b6105cb565b60405161029e9190612238565b60405180910390f35b3480156102b357600080fd5b506102bc610614565b005b3480156102ca57600080fd5b506102d3610767565b005b3480156102e157600080fd5b506102ea61089a565b6040516102f79190612238565b60405180910390f35b34801561030c57600080fd5b506103156108a0565b60405161032291906122ec565b60405180910390f35b34801561033757600080fd5b506103406108c9565b60405161034d9190612238565b60405180910390f35b34801561036257600080fd5b5061036b6108cf565b60405161037891906120f8565b60405180910390f35b34801561038d57600080fd5b506103a860048036038101906103a391906121b3565b61090c565b6040516103b5919061220e565b60405180910390f35b3480156103ca57600080fd5b506103d361092a565b6040516103e09190612238565b60405180910390f35b3480156103f557600080fd5b506103fe610930565b005b34801561040c57600080fd5b5061042760048036038101906104229190612334565b610ec5565b6040516104349190612238565b60405180910390f35b60606040518060400160405280600481526020017f446f677300000000000000000000000000000000000000000000000000000000815250905090565b600061048e610487610f4c565b8484610f54565b6001905092915050565b60115481565b60006009600a6104ae91906124d6565b64e8d4a510006104be9190612521565b905090565b60006104d084848461111f565b610591846104dc610f4c565b61058c8560405180606001604052806028815260200161300c60289139600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000610542610f4c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611b669092919063ffffffff16565b610f54565b600190509392505050565b60006009905090565b601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b61061c610f4c565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146106a9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106a0906125c7565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b61076f610f4c565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146107fc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107f3906125c7565b60405180910390fd5b6009600a61080a91906124d6565b64e8d4a5100061081a9190612521565b600e819055506009600a61082e91906124d6565b64e8d4a5100061083e9190612521565b600f819055507f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf6009600a61087391906124d6565b64e8d4a510006108839190612521565b6040516108909190612238565b60405180910390a1565b600e5481565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b600f5481565b60606040518060400160405280600481526020017f444f475300000000000000000000000000000000000000000000000000000000815250905090565b6000610920610919610f4c565b848461111f565b6001905092915050565b60105481565b610938610f4c565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146109c5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109bc906125c7565b60405180910390fd5b601360149054906101000a900460ff1615610a15576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a0c90612633565b60405180910390fd5b737a250d5630b4cf539739df2c5dacb4c659f2488d601260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550610ab430601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166009600a610a9f91906124d6565b64e8d4a51000610aaf9190612521565b610f54565b601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610b21573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b459190612668565b73ffffffffffffffffffffffffffffffffffffffff1663c9c6539630601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610bce573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610bf29190612668565b6040518363ffffffff1660e01b8152600401610c0f929190612695565b6020604051808303816000875af1158015610c2e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c529190612668565b601360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d7194730610cdb306105cb565b600080610ce66108a0565b426040518863ffffffff1660e01b8152600401610d0896959493929190612703565b60606040518083038185885af1158015610d26573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610d4b9190612779565b505050601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b3601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b8152600401610ded9291906127cc565b6020604051808303816000875af1158015610e0c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e309190612821565b50738185595e28d0caaa5b2085f1be3428b1b0bb2e46601260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506001601360166101000a81548160ff0219169083151502179055506001601360146101000a81548160ff02191690831515021790555043600581905550565b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610fc4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fbb906128c0565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611034576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161102b90612952565b60405180910390fd5b80600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516111129190612238565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141561118f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611186906129e4565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156111ff576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111f690612a76565b60405180910390fd5b60008111611242576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161123990612b08565b60405180910390fd5b600061124c6108a0565b73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16141580156112ba575061128a6108a0565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b15611791576112fb60646112ed600a54600d54116112da576006546112de565b6008545b85611bca90919063ffffffff16565b611c4590919063ffffffff16565b9050601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614801561139a5750737a250d5630b4cf539739df2c5dacb4c659f2488d73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b80156113f05750600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b156114d557600e5482111561143a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161143190612b74565b60405180910390fd5b600f5482611447856105cb565b6114519190612b94565b1115611492576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161148990612c36565b60405180910390fd5b4360036005546114a29190612b94565b11156114bc576114b183611c8f565b156114bb57600080fd5b5b600d60008154809291906114cf90612c56565b91905055505b601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415801561157d5750600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b156115db57600f548261158f856105cb565b6115999190612b94565b11156115da576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115d190612c36565b60405180910390fd5b5b601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614801561166457503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b156116a8576116a56064611697600b54600d541161168457600754611688565b6009545b85611bca90919063ffffffff16565b611c4590919063ffffffff16565b90505b60006116b3306105cb565b9050601360159054906101000a900460ff1615801561171f5750601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16145b80156117375750601360169054906101000a900460ff165b8015611744575060105481115b80156117535750600c54600d54115b1561178f576117756117708461176b84601154611ca2565b611ca2565b611cbb565b6000479050600081111561178d5761178c47611ee8565b5b505b505b60008290503073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff16141580156117fe57503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b156118a857601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166380ee43f58487876040518463ffffffff1660e01b815260040161186293929190612c9f565b6020604051808303816000875af1158015611881573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118a59190612cd6565b90505b60008211156119ac5761190382600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611f5490919063ffffffff16565b600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055503073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516119a39190612238565b60405180910390a35b6119fe81600160008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611fb290919063ffffffff16565b600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611aa5611a578385611fb290919063ffffffff16565b600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611f5490919063ffffffff16565b600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef611b4a8587611fb290919063ffffffff16565b604051611b579190612238565b60405180910390a35050505050565b6000838311158290611bae576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ba591906120f8565b60405180910390fd5b5060008385611bbd9190612d03565b9050809150509392505050565b600080831415611bdd5760009050611c3f565b60008284611beb9190612521565b9050828482611bfa9190612d66565b14611c3a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c3190612e09565b60405180910390fd5b809150505b92915050565b6000611c8783836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611ffc565b905092915050565b600080823b905060008111915050919050565b6000818311611cb15782611cb3565b815b905092915050565b6001601360156101000a81548160ff0219169083151502179055506000737a250d5630b4cf539739df2c5dacb4c659f2488d90506000600267ffffffffffffffff811115611d0c57611d0b612e29565b5b604051908082528060200260200182016040528015611d3a5781602001602082028036833780820191505090505b5090503081600081518110611d5257611d51612e58565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250508173ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611dd7573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611dfb9190612668565b81600181518110611e0f57611e0e612e58565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050611e54308385610f54565b8173ffffffffffffffffffffffffffffffffffffffff1663791ac9478460008430426040518663ffffffff1660e01b8152600401611e96959493929190612f45565b600060405180830381600087803b158015611eb057600080fd5b505af1158015611ec4573d6000803e3d6000fd5b5050505050506000601360156101000a81548160ff02191690831515021790555050565b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015611f50573d6000803e3d6000fd5b5050565b6000808284611f639190612b94565b905083811015611fa8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f9f90612feb565b60405180910390fd5b8091505092915050565b6000611ff483836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611b66565b905092915050565b60008083118290612043576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161203a91906120f8565b60405180910390fd5b50600083856120529190612d66565b9050809150509392505050565b600081519050919050565b600082825260208201905092915050565b60005b8381101561209957808201518184015260208101905061207e565b838111156120a8576000848401525b50505050565b6000601f19601f8301169050919050565b60006120ca8261205f565b6120d4818561206a565b93506120e481856020860161207b565b6120ed816120ae565b840191505092915050565b6000602082019050818103600083015261211281846120bf565b905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600061214a8261211f565b9050919050565b61215a8161213f565b811461216557600080fd5b50565b60008135905061217781612151565b92915050565b6000819050919050565b6121908161217d565b811461219b57600080fd5b50565b6000813590506121ad81612187565b92915050565b600080604083850312156121ca576121c961211a565b5b60006121d885828601612168565b92505060206121e98582860161219e565b9150509250929050565b60008115159050919050565b612208816121f3565b82525050565b600060208201905061222360008301846121ff565b92915050565b6122328161217d565b82525050565b600060208201905061224d6000830184612229565b92915050565b60008060006060848603121561226c5761226b61211a565b5b600061227a86828701612168565b935050602061228b86828701612168565b925050604061229c8682870161219e565b9150509250925092565b600060ff82169050919050565b6122bc816122a6565b82525050565b60006020820190506122d760008301846122b3565b92915050565b6122e68161213f565b82525050565b600060208201905061230160008301846122dd565b92915050565b60006020828403121561231d5761231c61211a565b5b600061232b84828501612168565b91505092915050565b6000806040838503121561234b5761234a61211a565b5b600061235985828601612168565b925050602061236a85828601612168565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008160011c9050919050565b6000808291508390505b60018511156123fa578086048111156123d6576123d5612374565b5b60018516156123e55780820291505b80810290506123f3856123a3565b94506123ba565b94509492505050565b60008261241357600190506124cf565b8161242157600090506124cf565b8160018114612437576002811461244157612470565b60019150506124cf565b60ff84111561245357612452612374565b5b8360020a91508482111561246a57612469612374565b5b506124cf565b5060208310610133831016604e8410600b84101617156124a55782820a9050838111156124a05761249f612374565b5b6124cf565b6124b284848460016123b0565b925090508184048111156124c9576124c8612374565b5b81810290505b9392505050565b60006124e18261217d565b91506124ec836122a6565b92506125197fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484612403565b905092915050565b600061252c8261217d565b91506125378361217d565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff04831182151516156125705761256f612374565b5b828202905092915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b60006125b160208361206a565b91506125bc8261257b565b602082019050919050565b600060208201905081810360008301526125e0816125a4565b9050919050565b7f74726164696e6720697320616c7265616479206f70656e000000000000000000600082015250565b600061261d60178361206a565b9150612628826125e7565b602082019050919050565b6000602082019050818103600083015261264c81612610565b9050919050565b60008151905061266281612151565b92915050565b60006020828403121561267e5761267d61211a565b5b600061268c84828501612653565b91505092915050565b60006040820190506126aa60008301856122dd565b6126b760208301846122dd565b9392505050565b6000819050919050565b6000819050919050565b60006126ed6126e86126e3846126be565b6126c8565b61217d565b9050919050565b6126fd816126d2565b82525050565b600060c08201905061271860008301896122dd565b6127256020830188612229565b61273260408301876126f4565b61273f60608301866126f4565b61274c60808301856122dd565b61275960a0830184612229565b979650505050505050565b60008151905061277381612187565b92915050565b6000806000606084860312156127925761279161211a565b5b60006127a086828701612764565b93505060206127b186828701612764565b92505060406127c286828701612764565b9150509250925092565b60006040820190506127e160008301856122dd565b6127ee6020830184612229565b9392505050565b6127fe816121f3565b811461280957600080fd5b50565b60008151905061281b816127f5565b92915050565b6000602082840312156128375761283661211a565b5b60006128458482850161280c565b91505092915050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b60006128aa60248361206a565b91506128b58261284e565b604082019050919050565b600060208201905081810360008301526128d98161289d565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b600061293c60228361206a565b9150612947826128e0565b604082019050919050565b6000602082019050818103600083015261296b8161292f565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b60006129ce60258361206a565b91506129d982612972565b604082019050919050565b600060208201905081810360008301526129fd816129c1565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b6000612a6060238361206a565b9150612a6b82612a04565b604082019050919050565b60006020820190508181036000830152612a8f81612a53565b9050919050565b7f5472616e7366657220616d6f756e74206d75737420626520677265617465722060008201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b6000612af260298361206a565b9150612afd82612a96565b604082019050919050565b60006020820190508181036000830152612b2181612ae5565b9050919050565b7f4578636565647320746865205f6d61785478416d6f756e742e00000000000000600082015250565b6000612b5e60198361206a565b9150612b6982612b28565b602082019050919050565b60006020820190508181036000830152612b8d81612b51565b9050919050565b6000612b9f8261217d565b9150612baa8361217d565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115612bdf57612bde612374565b5b828201905092915050565b7f4578636565647320746865206d617857616c6c657453697a652e000000000000600082015250565b6000612c20601a8361206a565b9150612c2b82612bea565b602082019050919050565b60006020820190508181036000830152612c4f81612c13565b9050919050565b6000612c618261217d565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff821415612c9457612c93612374565b5b600182019050919050565b6000606082019050612cb46000830186612229565b612cc160208301856122dd565b612cce60408301846122dd565b949350505050565b600060208284031215612cec57612ceb61211a565b5b6000612cfa84828501612764565b91505092915050565b6000612d0e8261217d565b9150612d198361217d565b925082821015612d2c57612d2b612374565b5b828203905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000612d718261217d565b9150612d7c8361217d565b925082612d8c57612d8b612d37565b5b828204905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b6000612df360218361206a565b9150612dfe82612d97565b604082019050919050565b60006020820190508181036000830152612e2281612de6565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b612ebc8161213f565b82525050565b6000612ece8383612eb3565b60208301905092915050565b6000602082019050919050565b6000612ef282612e87565b612efc8185612e92565b9350612f0783612ea3565b8060005b83811015612f38578151612f1f8882612ec2565b9750612f2a83612eda565b925050600181019050612f0b565b5085935050505092915050565b600060a082019050612f5a6000830188612229565b612f6760208301876126f4565b8181036040830152612f798186612ee7565b9050612f8860608301856122dd565b612f956080830184612229565b9695505050505050565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b6000612fd5601b8361206a565b9150612fe082612f9f565b602082019050919050565b6000602082019050818103600083015261300481612fc8565b905091905056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a264697066735822122053eb227d1df7df3b6697a3848f2b830e82f6cb02dab70a4afcdda8c3bfc0841f64736f6c634300080a0033
Deployed Bytecode Sourcemap
3799:7832:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5572:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6415:161;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4848:41;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5859:95;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6596:313;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5758:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4947:28;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5962:119;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2769:148;;;;;;;;;;;;;:::i;:::-;;10526:159;;;;;;;;;;;;;:::i;:::-;;4678:51;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2555:79;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4736:51;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5663:87;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6089:167;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4794:47;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10793:798;;;;;;;;;;;;;:::i;:::-;;6264:143;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5572:83;5609:13;5642:5;;;;;;;;;;;;;;;;;5635:12;;5572:83;:::o;6415:161::-;6490:4;6507:39;6516:12;:10;:12::i;:::-;6530:7;6539:6;6507:8;:39::i;:::-;6564:4;6557:11;;6415:161;;;;:::o;4848:41::-;;;;:::o;5859:95::-;5912:7;4489:1;4552:2;:13;;;;:::i;:::-;4532:17;:33;;;;:::i;:::-;5932:14;;5859:95;:::o;6596:313::-;6694:4;6711:36;6721:6;6729:9;6740:6;6711:9;:36::i;:::-;6758:121;6767:6;6775:12;:10;:12::i;:::-;6789:89;6827:6;6789:89;;;;;;;;;;;;;;;;;:11;:19;6801:6;6789:19;;;;;;;;;;;;;;;:33;6809:12;:10;:12::i;:::-;6789:33;;;;;;;;;;;;;;;;:37;;:89;;;;;:::i;:::-;6758:8;:121::i;:::-;6897:4;6890:11;;6596:313;;;;;:::o;5758:83::-;5799:5;4489:1;5817:16;;5758:83;:::o;4947:28::-;;;;;;;;;;;;;:::o;5962:119::-;6028:7;6055:9;:18;6065:7;6055:18;;;;;;;;;;;;;;;;6048:25;;5962:119;;;:::o;2769:148::-;2692:12;:10;:12::i;:::-;2682:22;;:6;;;;;;;;;;:22;;;2674:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;2876:1:::1;2839:40;;2860:6;::::0;::::1;;;;;;;;2839:40;;;;;;;;;;;;2907:1;2890:6:::0;::::1;:19;;;;;;;;;;;;;;;;;;2769:148::o:0;10526:159::-;2692:12;:10;:12::i;:::-;2682:22;;:6;;;;;;;;;;:22;;;2674:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;4489:1:::1;4552:2;:13;;;;:::i;:::-;4532:17;:33;;;;:::i;:::-;10579:12;:22;;;;4489:1;4552:2;:13;;;;:::i;:::-;4532:17;:33;;;;:::i;:::-;10612:14;:22;;;;10650:27;4489:1;4552:2;:13;;;;:::i;:::-;4532:17;:33;;;;:::i;:::-;10650:27;;;;;;:::i;:::-;;;;;;;;10526:159::o:0;4678:51::-;;;;:::o;2555:79::-;2593:7;2620:6;;;;;;;;;;;2613:13;;2555:79;:::o;4736:51::-;;;;:::o;5663:87::-;5702:13;5735:7;;;;;;;;;;;;;;;;;5728:14;;5663:87;:::o;6089:167::-;6167:4;6184:42;6194:12;:10;:12::i;:::-;6208:9;6219:6;6184:9;:42::i;:::-;6244:4;6237:11;;6089:167;;;;:::o;4794:47::-;;;;:::o;10793:798::-;2692:12;:10;:12::i;:::-;2682:22;;:6;;;;;;;;;;:22;;;2674:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;10857:11:::1;;;;;;;;;;;10856:12;10848:47;;;;;;;;;;;;:::i;:::-;;;;;;;;;10943:42;10906:15;;:80;;;;;;;;;;;;;;;;;;10997:58;11014:4;11029:15;;;;;;;;;;;4489:1;4552:2;:13;;;;:::i;:::-;4532:17;:33;;;;:::i;:::-;10997:8;:58::i;:::-;11100:15;;;;;;;;;;;:23;;;:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11082:55;;;11146:4;11153:15;;;;;;;;;;;:20;;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11082:94;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11066:13;;:110;;;;;;;;;;;;;;;;;;11187:15;;;;;;;;;;;:31;;;11226:21;11257:4;11263:24;11281:4;11263:9;:24::i;:::-;11288:1;11290::::0;11292:7:::1;:5;:7::i;:::-;11300:15;11187:129;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;11334:13;;;;;;;;;;;11327:29;;;11365:15;;;;;;;;;;;11383:14;11327:71;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;11446:42;11409:15;;:80;;;;;;;;;;;;;;;;;;11514:4;11500:11;;:18;;;;;;;;;;;;;;;;;;11543:4;11529:11;;:18;;;;;;;;;;;;;;;;;;11571:12;11558:10;:25;;;;10793:798::o:0;6264:143::-;6345:7;6372:11;:18;6384:5;6372:18;;;;;;;;;;;;;;;:27;6391:7;6372:27;;;;;;;;;;;;;;;;6365:34;;6264:143;;;;:::o;310:98::-;363:7;390:10;383:17;;310:98;:::o;6917:335::-;7027:1;7010:19;;:5;:19;;;;7002:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;7108:1;7089:21;;:7;:21;;;;7081:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;7190:6;7160:11;:18;7172:5;7160:18;;;;;;;;;;;;;;;:27;7179:7;7160:27;;;;;;;;;;;;;;;:36;;;;7228:7;7212:32;;7221:5;7212:32;;;7237:6;7212:32;;;;;;:::i;:::-;;;;;;;;6917:335;;;:::o;7260:2346::-;7364:1;7348:18;;:4;:18;;;;7340:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;7441:1;7427:16;;:2;:16;;;;7419:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;7511:1;7502:6;:10;7494:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;7569:17;7611:7;:5;:7::i;:::-;7603:15;;:4;:15;;;;:32;;;;;7628:7;:5;:7::i;:::-;7622:13;;:2;:13;;;;7603:32;7599:1503;;;7664:76;7736:3;7664:67;7686:15;;7676:9;;:25;7675:55;;7716:14;;7675:55;;;7703:12;;7675:55;7664:6;:10;;:67;;;;:::i;:::-;:71;;:76;;;;:::i;:::-;7652:88;;7769:13;;;;;;;;;;;7761:21;;:4;:21;;;:73;;;;;7792:42;7786:48;;:2;:48;;;;7761:73;:101;;;;;7840:18;:22;7859:2;7840:22;;;;;;;;;;;;;;;;;;;;;;;;;7838:24;7761:101;7757:454;;;7902:12;;7892:6;:22;;7884:60;;;;;;;;;;;;:::i;:::-;;;;;;;;;7997:14;;7987:6;7971:13;7981:2;7971:9;:13::i;:::-;:22;;;;:::i;:::-;:40;;7963:79;;;;;;;;;;;;:::i;:::-;;;;;;;;;8085:12;8080:1;8067:10;;:14;;;;:::i;:::-;:30;8063:103;;;8131:14;8142:2;8131:10;:14::i;:::-;8130:15;8122:24;;;;;;8063:103;8184:9;;:11;;;;;;;;;:::i;:::-;;;;;;7757:454;8237:13;;;;;;;;;;;8231:19;;:2;:19;;;;:47;;;;;8256:18;:22;8275:2;8256:22;;;;;;;;;;;;;;;;;;;;;;;;;8254:24;8231:47;8227:167;;;8333:14;;8323:6;8307:13;8317:2;8307:9;:13::i;:::-;:22;;;;:::i;:::-;:40;;8299:79;;;;;;;;;;;;:::i;:::-;;;;;;;;;8227:167;8419:13;;;;;;;;;;;8413:19;;:2;:19;;;:43;;;;;8451:4;8436:20;;:4;:20;;;;8413:43;8410:174;;;8489:79;8564:3;8489:70;8511:16;;8501:9;;:26;8500:58;;8543:15;;8500:58;;;8529:13;;8500:58;8489:6;:10;;:70;;;;:::i;:::-;:74;;:79;;;;:::i;:::-;8477:91;;8410:174;8600:28;8631:24;8649:4;8631:9;:24::i;:::-;8600:55;;8675:6;;;;;;;;;;;8674:7;:32;;;;;8693:13;;;;;;;;;;;8685:21;;:2;:21;;;8674:32;:47;;;;;8710:11;;;;;;;;;;;8674:47;:89;;;;;8746:17;;8725:20;:38;8674:89;:121;;;;;8777:18;;8767:9;;:28;8674:121;8670:421;;;8816:67;8833:49;8837:6;8844:37;8848:20;8869:11;;8844:3;:37::i;:::-;8833:3;:49::i;:::-;8816:16;:67::i;:::-;8902:26;8931:21;8902:50;;8995:1;8974:18;:22;8971:105;;;9021:35;9034:21;9021:12;:35::i;:::-;8971:105;8797:294;8670:421;7637:1465;7599:1503;9114:15;9132:6;9114:24;;9169:4;9153:21;;:4;:21;;;;:44;;;;;9192:4;9178:19;;:2;:19;;;;9153:44;9149:99;;;9209:15;;;;;;;;;;;:21;;;9231:6;9239:4;9245:2;9209:39;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;9199:49;;9149:99;9274:1;9264:9;:11;9261:161;;;9314:39;9343:9;9314;:24;9332:4;9314:24;;;;;;;;;;;;;;;;:28;;:39;;;;:::i;:::-;9289:9;:24;9307:4;9289:24;;;;;;;;;;;;;;;:64;;;;9394:4;9371:39;;9380:4;9371:39;;;9400:9;9371:39;;;;;;:::i;:::-;;;;;;;;9261:161;9448:28;9468:7;9448:9;:15;9458:4;9448:15;;;;;;;;;;;;;;;;:19;;:28;;;;:::i;:::-;9432:9;:15;9442:4;9432:15;;;;;;;;;;;;;;;:44;;;;9501:40;9519:21;9530:9;9519:6;:10;;:21;;;;:::i;:::-;9501:9;:13;9511:2;9501:13;;;;;;;;;;;;;;;;:17;;:40;;;;:::i;:::-;9487:9;:13;9497:2;9487:13;;;;;;;;;;;;;;;:54;;;;9572:2;9557:41;;9566:4;9557:41;;;9576:21;9587:9;9576:6;:10;;:21;;;;:::i;:::-;9557:41;;;;;;:::i;:::-;;;;;;;;7329:2277;;7260:2346;;;:::o;1447:190::-;1533:7;1566:1;1561;:6;;1569:12;1553:29;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;1593:9;1609:1;1605;:5;;;;:::i;:::-;1593:17;;1628:1;1621:8;;;1447:190;;;;;:::o;1645:246::-;1703:7;1732:1;1727;:6;1723:47;;;1757:1;1750:8;;;;1723:47;1780:9;1796:1;1792;:5;;;;:::i;:::-;1780:17;;1825:1;1820;1816;:5;;;;:::i;:::-;:10;1808:56;;;;;;;;;;;;:::i;:::-;;;;;;;;;1882:1;1875:8;;;1645:246;;;;;:::o;1899:132::-;1957:7;1984:39;1988:1;1991;1984:39;;;;;;;;;;;;;;;;;:3;:39::i;:::-;1977:46;;1899:132;;;;:::o;9615:195::-;9674:4;9691:12;9758:7;9746:20;9738:28;;9801:1;9794:4;:8;9787:15;;;9615:195;;;:::o;9820:98::-;9877:7;9904:1;9902;:3;9901:9;;9909:1;9901:9;;;9907:1;9901:9;9894:16;;9820:98;;;;:::o;9933:585::-;5179:4;5170:6;;:13;;;;;;;;;;;;;;;;;;10011:32:::1;10065:42;10011:97;;10119:21;10157:1;10143:16;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10119:40;;10188:4;10170;10175:1;10170:7;;;;;;;;:::i;:::-;;;;;;;:23;;;;;;;;;::::0;::::1;10214:13;:18;;;:20;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10204:4;10209:1;10204:7;;;;;;;;:::i;:::-;;;;;;;:30;;;;;;;;;::::0;::::1;10245:60;10262:4;10277:13;10293:11;10245:8;:60::i;:::-;10316:13;:64;;;10395:11;10421:1;10437:4;10464;10484:15;10316:194;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;10000:518;;5215:5:::0;5206:6;;:14;;;;;;;;;;;;;;;;;;9933:585;:::o;10693:92::-;10750:10;;;;;;;;;;;:19;;:27;10770:6;10750:27;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10693:92;:::o;1116:179::-;1174:7;1194:9;1210:1;1206;:5;;;;:::i;:::-;1194:17;;1235:1;1230;:6;;1222:46;;;;;;;;;;;;:::i;:::-;;;;;;;;;1286:1;1279:8;;;1116:179;;;;:::o;1303:136::-;1361:7;1388:43;1392:1;1395;1388:43;;;;;;;;;;;;;;;;;:3;:43::i;:::-;1381:50;;1303:136;;;;:::o;2039:189::-;2125:7;2157:1;2153;:5;2160:12;2145:28;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;2184:9;2200:1;2196;:5;;;;:::i;:::-;2184:17;;2219:1;2212:8;;;2039:189;;;;;:::o;7:99:1:-;59:6;93:5;87:12;77:22;;7:99;;;:::o;112:169::-;196:11;230:6;225:3;218:19;270:4;265:3;261:14;246:29;;112:169;;;;:::o;287:307::-;355:1;365:113;379:6;376:1;373:13;365:113;;;464:1;459:3;455:11;449:18;445:1;440:3;436:11;429:39;401:2;398:1;394:10;389:15;;365:113;;;496:6;493:1;490:13;487:101;;;576:1;567:6;562:3;558:16;551:27;487:101;336:258;287:307;;;:::o;600:102::-;641:6;692:2;688:7;683:2;676:5;672:14;668:28;658:38;;600:102;;;:::o;708:364::-;796:3;824:39;857:5;824:39;:::i;:::-;879:71;943:6;938:3;879:71;:::i;:::-;872:78;;959:52;1004:6;999:3;992:4;985:5;981:16;959:52;:::i;:::-;1036:29;1058:6;1036:29;:::i;:::-;1031:3;1027:39;1020:46;;800:272;708:364;;;;:::o;1078:313::-;1191:4;1229:2;1218:9;1214:18;1206:26;;1278:9;1272:4;1268:20;1264:1;1253:9;1249:17;1242:47;1306:78;1379:4;1370:6;1306:78;:::i;:::-;1298:86;;1078:313;;;;:::o;1478:117::-;1587:1;1584;1577:12;1724:126;1761:7;1801:42;1794:5;1790:54;1779:65;;1724:126;;;:::o;1856:96::-;1893:7;1922:24;1940:5;1922:24;:::i;:::-;1911:35;;1856:96;;;:::o;1958:122::-;2031:24;2049:5;2031:24;:::i;:::-;2024:5;2021:35;2011:63;;2070:1;2067;2060:12;2011:63;1958:122;:::o;2086:139::-;2132:5;2170:6;2157:20;2148:29;;2186:33;2213:5;2186:33;:::i;:::-;2086:139;;;;:::o;2231:77::-;2268:7;2297:5;2286:16;;2231:77;;;:::o;2314:122::-;2387:24;2405:5;2387:24;:::i;:::-;2380:5;2377:35;2367:63;;2426:1;2423;2416:12;2367:63;2314:122;:::o;2442:139::-;2488:5;2526:6;2513:20;2504:29;;2542:33;2569:5;2542:33;:::i;:::-;2442:139;;;;:::o;2587:474::-;2655:6;2663;2712:2;2700:9;2691:7;2687:23;2683:32;2680:119;;;2718:79;;:::i;:::-;2680:119;2838:1;2863:53;2908:7;2899:6;2888:9;2884:22;2863:53;:::i;:::-;2853:63;;2809:117;2965:2;2991:53;3036:7;3027:6;3016:9;3012:22;2991:53;:::i;:::-;2981:63;;2936:118;2587:474;;;;;:::o;3067:90::-;3101:7;3144:5;3137:13;3130:21;3119:32;;3067:90;;;:::o;3163:109::-;3244:21;3259:5;3244:21;:::i;:::-;3239:3;3232:34;3163:109;;:::o;3278:210::-;3365:4;3403:2;3392:9;3388:18;3380:26;;3416:65;3478:1;3467:9;3463:17;3454:6;3416:65;:::i;:::-;3278:210;;;;:::o;3494:118::-;3581:24;3599:5;3581:24;:::i;:::-;3576:3;3569:37;3494:118;;:::o;3618:222::-;3711:4;3749:2;3738:9;3734:18;3726:26;;3762:71;3830:1;3819:9;3815:17;3806:6;3762:71;:::i;:::-;3618:222;;;;:::o;3846:619::-;3923:6;3931;3939;3988:2;3976:9;3967:7;3963:23;3959:32;3956:119;;;3994:79;;:::i;:::-;3956:119;4114:1;4139:53;4184:7;4175:6;4164:9;4160:22;4139:53;:::i;:::-;4129:63;;4085:117;4241:2;4267:53;4312:7;4303:6;4292:9;4288:22;4267:53;:::i;:::-;4257:63;;4212:118;4369:2;4395:53;4440:7;4431:6;4420:9;4416:22;4395:53;:::i;:::-;4385:63;;4340:118;3846:619;;;;;:::o;4471:86::-;4506:7;4546:4;4539:5;4535:16;4524:27;;4471:86;;;:::o;4563:112::-;4646:22;4662:5;4646:22;:::i;:::-;4641:3;4634:35;4563:112;;:::o;4681:214::-;4770:4;4808:2;4797:9;4793:18;4785:26;;4821:67;4885:1;4874:9;4870:17;4861:6;4821:67;:::i;:::-;4681:214;;;;:::o;4901:118::-;4988:24;5006:5;4988:24;:::i;:::-;4983:3;4976:37;4901:118;;:::o;5025:222::-;5118:4;5156:2;5145:9;5141:18;5133:26;;5169:71;5237:1;5226:9;5222:17;5213:6;5169:71;:::i;:::-;5025:222;;;;:::o;5253:329::-;5312:6;5361:2;5349:9;5340:7;5336:23;5332:32;5329:119;;;5367:79;;:::i;:::-;5329:119;5487:1;5512:53;5557:7;5548:6;5537:9;5533:22;5512:53;:::i;:::-;5502:63;;5458:117;5253:329;;;;:::o;5588:474::-;5656:6;5664;5713:2;5701:9;5692:7;5688:23;5684:32;5681:119;;;5719:79;;:::i;:::-;5681:119;5839:1;5864:53;5909:7;5900:6;5889:9;5885:22;5864:53;:::i;:::-;5854:63;;5810:117;5966:2;5992:53;6037:7;6028:6;6017:9;6013:22;5992:53;:::i;:::-;5982:63;;5937:118;5588:474;;;;;:::o;6068:180::-;6116:77;6113:1;6106:88;6213:4;6210:1;6203:15;6237:4;6234:1;6227:15;6254:102;6296:8;6343:5;6340:1;6336:13;6315:34;;6254:102;;;:::o;6362:848::-;6423:5;6430:4;6454:6;6445:15;;6478:5;6469:14;;6492:712;6513:1;6503:8;6500:15;6492:712;;;6608:4;6603:3;6599:14;6593:4;6590:24;6587:50;;;6617:18;;:::i;:::-;6587:50;6667:1;6657:8;6653:16;6650:451;;;7082:4;7075:5;7071:16;7062:25;;6650:451;7132:4;7126;7122:15;7114:23;;7162:32;7185:8;7162:32;:::i;:::-;7150:44;;6492:712;;;6362:848;;;;;;;:::o;7216:1073::-;7270:5;7461:8;7451:40;;7482:1;7473:10;;7484:5;;7451:40;7510:4;7500:36;;7527:1;7518:10;;7529:5;;7500:36;7596:4;7644:1;7639:27;;;;7680:1;7675:191;;;;7589:277;;7639:27;7657:1;7648:10;;7659:5;;;7675:191;7720:3;7710:8;7707:17;7704:43;;;7727:18;;:::i;:::-;7704:43;7776:8;7773:1;7769:16;7760:25;;7811:3;7804:5;7801:14;7798:40;;;7818:18;;:::i;:::-;7798:40;7851:5;;;7589:277;;7975:2;7965:8;7962:16;7956:3;7950:4;7947:13;7943:36;7925:2;7915:8;7912:16;7907:2;7901:4;7898:12;7894:35;7878:111;7875:246;;;8031:8;8025:4;8021:19;8012:28;;8066:3;8059:5;8056:14;8053:40;;;8073:18;;:::i;:::-;8053:40;8106:5;;7875:246;8146:42;8184:3;8174:8;8168:4;8165:1;8146:42;:::i;:::-;8131:57;;;;8220:4;8215:3;8211:14;8204:5;8201:25;8198:51;;;8229:18;;:::i;:::-;8198:51;8278:4;8271:5;8267:16;8258:25;;7216:1073;;;;;;:::o;8295:281::-;8353:5;8377:23;8395:4;8377:23;:::i;:::-;8369:31;;8421:25;8437:8;8421:25;:::i;:::-;8409:37;;8465:104;8502:66;8492:8;8486:4;8465:104;:::i;:::-;8456:113;;8295:281;;;;:::o;8582:348::-;8622:7;8645:20;8663:1;8645:20;:::i;:::-;8640:25;;8679:20;8697:1;8679:20;:::i;:::-;8674:25;;8867:1;8799:66;8795:74;8792:1;8789:81;8784:1;8777:9;8770:17;8766:105;8763:131;;;8874:18;;:::i;:::-;8763:131;8922:1;8919;8915:9;8904:20;;8582:348;;;;:::o;8936:182::-;9076:34;9072:1;9064:6;9060:14;9053:58;8936:182;:::o;9124:366::-;9266:3;9287:67;9351:2;9346:3;9287:67;:::i;:::-;9280:74;;9363:93;9452:3;9363:93;:::i;:::-;9481:2;9476:3;9472:12;9465:19;;9124:366;;;:::o;9496:419::-;9662:4;9700:2;9689:9;9685:18;9677:26;;9749:9;9743:4;9739:20;9735:1;9724:9;9720:17;9713:47;9777:131;9903:4;9777:131;:::i;:::-;9769:139;;9496:419;;;:::o;9921:173::-;10061:25;10057:1;10049:6;10045:14;10038:49;9921:173;:::o;10100:366::-;10242:3;10263:67;10327:2;10322:3;10263:67;:::i;:::-;10256:74;;10339:93;10428:3;10339:93;:::i;:::-;10457:2;10452:3;10448:12;10441:19;;10100:366;;;:::o;10472:419::-;10638:4;10676:2;10665:9;10661:18;10653:26;;10725:9;10719:4;10715:20;10711:1;10700:9;10696:17;10689:47;10753:131;10879:4;10753:131;:::i;:::-;10745:139;;10472:419;;;:::o;10897:143::-;10954:5;10985:6;10979:13;10970:22;;11001:33;11028:5;11001:33;:::i;:::-;10897:143;;;;:::o;11046:351::-;11116:6;11165:2;11153:9;11144:7;11140:23;11136:32;11133:119;;;11171:79;;:::i;:::-;11133:119;11291:1;11316:64;11372:7;11363:6;11352:9;11348:22;11316:64;:::i;:::-;11306:74;;11262:128;11046:351;;;;:::o;11403:332::-;11524:4;11562:2;11551:9;11547:18;11539:26;;11575:71;11643:1;11632:9;11628:17;11619:6;11575:71;:::i;:::-;11656:72;11724:2;11713:9;11709:18;11700:6;11656:72;:::i;:::-;11403:332;;;;;:::o;11741:85::-;11786:7;11815:5;11804:16;;11741:85;;;:::o;11832:60::-;11860:3;11881:5;11874:12;;11832:60;;;:::o;11898:158::-;11956:9;11989:61;12007:42;12016:32;12042:5;12016:32;:::i;:::-;12007:42;:::i;:::-;11989:61;:::i;:::-;11976:74;;11898:158;;;:::o;12062:147::-;12157:45;12196:5;12157:45;:::i;:::-;12152:3;12145:58;12062:147;;:::o;12215:807::-;12464:4;12502:3;12491:9;12487:19;12479:27;;12516:71;12584:1;12573:9;12569:17;12560:6;12516:71;:::i;:::-;12597:72;12665:2;12654:9;12650:18;12641:6;12597:72;:::i;:::-;12679:80;12755:2;12744:9;12740:18;12731:6;12679:80;:::i;:::-;12769;12845:2;12834:9;12830:18;12821:6;12769:80;:::i;:::-;12859:73;12927:3;12916:9;12912:19;12903:6;12859:73;:::i;:::-;12942;13010:3;12999:9;12995:19;12986:6;12942:73;:::i;:::-;12215:807;;;;;;;;;:::o;13028:143::-;13085:5;13116:6;13110:13;13101:22;;13132:33;13159:5;13132:33;:::i;:::-;13028:143;;;;:::o;13177:663::-;13265:6;13273;13281;13330:2;13318:9;13309:7;13305:23;13301:32;13298:119;;;13336:79;;:::i;:::-;13298:119;13456:1;13481:64;13537:7;13528:6;13517:9;13513:22;13481:64;:::i;:::-;13471:74;;13427:128;13594:2;13620:64;13676:7;13667:6;13656:9;13652:22;13620:64;:::i;:::-;13610:74;;13565:129;13733:2;13759:64;13815:7;13806:6;13795:9;13791:22;13759:64;:::i;:::-;13749:74;;13704:129;13177:663;;;;;:::o;13846:332::-;13967:4;14005:2;13994:9;13990:18;13982:26;;14018:71;14086:1;14075:9;14071:17;14062:6;14018:71;:::i;:::-;14099:72;14167:2;14156:9;14152:18;14143:6;14099:72;:::i;:::-;13846:332;;;;;:::o;14184:116::-;14254:21;14269:5;14254:21;:::i;:::-;14247:5;14244:32;14234:60;;14290:1;14287;14280:12;14234:60;14184:116;:::o;14306:137::-;14360:5;14391:6;14385:13;14376:22;;14407:30;14431:5;14407:30;:::i;:::-;14306:137;;;;:::o;14449:345::-;14516:6;14565:2;14553:9;14544:7;14540:23;14536:32;14533:119;;;14571:79;;:::i;:::-;14533:119;14691:1;14716:61;14769:7;14760:6;14749:9;14745:22;14716:61;:::i;:::-;14706:71;;14662:125;14449:345;;;;:::o;14800:223::-;14940:34;14936:1;14928:6;14924:14;14917:58;15009:6;15004:2;14996:6;14992:15;14985:31;14800:223;:::o;15029:366::-;15171:3;15192:67;15256:2;15251:3;15192:67;:::i;:::-;15185:74;;15268:93;15357:3;15268:93;:::i;:::-;15386:2;15381:3;15377:12;15370:19;;15029:366;;;:::o;15401:419::-;15567:4;15605:2;15594:9;15590:18;15582:26;;15654:9;15648:4;15644:20;15640:1;15629:9;15625:17;15618:47;15682:131;15808:4;15682:131;:::i;:::-;15674:139;;15401:419;;;:::o;15826:221::-;15966:34;15962:1;15954:6;15950:14;15943:58;16035:4;16030:2;16022:6;16018:15;16011:29;15826:221;:::o;16053:366::-;16195:3;16216:67;16280:2;16275:3;16216:67;:::i;:::-;16209:74;;16292:93;16381:3;16292:93;:::i;:::-;16410:2;16405:3;16401:12;16394:19;;16053:366;;;:::o;16425:419::-;16591:4;16629:2;16618:9;16614:18;16606:26;;16678:9;16672:4;16668:20;16664:1;16653:9;16649:17;16642:47;16706:131;16832:4;16706:131;:::i;:::-;16698:139;;16425:419;;;:::o;16850:224::-;16990:34;16986:1;16978:6;16974:14;16967:58;17059:7;17054:2;17046:6;17042:15;17035:32;16850:224;:::o;17080:366::-;17222:3;17243:67;17307:2;17302:3;17243:67;:::i;:::-;17236:74;;17319:93;17408:3;17319:93;:::i;:::-;17437:2;17432:3;17428:12;17421:19;;17080:366;;;:::o;17452:419::-;17618:4;17656:2;17645:9;17641:18;17633:26;;17705:9;17699:4;17695:20;17691:1;17680:9;17676:17;17669:47;17733:131;17859:4;17733:131;:::i;:::-;17725:139;;17452:419;;;:::o;17877:222::-;18017:34;18013:1;18005:6;18001:14;17994:58;18086:5;18081:2;18073:6;18069:15;18062:30;17877:222;:::o;18105:366::-;18247:3;18268:67;18332:2;18327:3;18268:67;:::i;:::-;18261:74;;18344:93;18433:3;18344:93;:::i;:::-;18462:2;18457:3;18453:12;18446:19;;18105:366;;;:::o;18477:419::-;18643:4;18681:2;18670:9;18666:18;18658:26;;18730:9;18724:4;18720:20;18716:1;18705:9;18701:17;18694:47;18758:131;18884:4;18758:131;:::i;:::-;18750:139;;18477:419;;;:::o;18902:228::-;19042:34;19038:1;19030:6;19026:14;19019:58;19111:11;19106:2;19098:6;19094:15;19087:36;18902:228;:::o;19136:366::-;19278:3;19299:67;19363:2;19358:3;19299:67;:::i;:::-;19292:74;;19375:93;19464:3;19375:93;:::i;:::-;19493:2;19488:3;19484:12;19477:19;;19136:366;;;:::o;19508:419::-;19674:4;19712:2;19701:9;19697:18;19689:26;;19761:9;19755:4;19751:20;19747:1;19736:9;19732:17;19725:47;19789:131;19915:4;19789:131;:::i;:::-;19781:139;;19508:419;;;:::o;19933:175::-;20073:27;20069:1;20061:6;20057:14;20050:51;19933:175;:::o;20114:366::-;20256:3;20277:67;20341:2;20336:3;20277:67;:::i;:::-;20270:74;;20353:93;20442:3;20353:93;:::i;:::-;20471:2;20466:3;20462:12;20455:19;;20114:366;;;:::o;20486:419::-;20652:4;20690:2;20679:9;20675:18;20667:26;;20739:9;20733:4;20729:20;20725:1;20714:9;20710:17;20703:47;20767:131;20893:4;20767:131;:::i;:::-;20759:139;;20486:419;;;:::o;20911:305::-;20951:3;20970:20;20988:1;20970:20;:::i;:::-;20965:25;;21004:20;21022:1;21004:20;:::i;:::-;20999:25;;21158:1;21090:66;21086:74;21083:1;21080:81;21077:107;;;21164:18;;:::i;:::-;21077:107;21208:1;21205;21201:9;21194:16;;20911:305;;;;:::o;21222:176::-;21362:28;21358:1;21350:6;21346:14;21339:52;21222:176;:::o;21404:366::-;21546:3;21567:67;21631:2;21626:3;21567:67;:::i;:::-;21560:74;;21643:93;21732:3;21643:93;:::i;:::-;21761:2;21756:3;21752:12;21745:19;;21404:366;;;:::o;21776:419::-;21942:4;21980:2;21969:9;21965:18;21957:26;;22029:9;22023:4;22019:20;22015:1;22004:9;22000:17;21993:47;22057:131;22183:4;22057:131;:::i;:::-;22049:139;;21776:419;;;:::o;22201:233::-;22240:3;22263:24;22281:5;22263:24;:::i;:::-;22254:33;;22309:66;22302:5;22299:77;22296:103;;;22379:18;;:::i;:::-;22296:103;22426:1;22419:5;22415:13;22408:20;;22201:233;;;:::o;22440:442::-;22589:4;22627:2;22616:9;22612:18;22604:26;;22640:71;22708:1;22697:9;22693:17;22684:6;22640:71;:::i;:::-;22721:72;22789:2;22778:9;22774:18;22765:6;22721:72;:::i;:::-;22803;22871:2;22860:9;22856:18;22847:6;22803:72;:::i;:::-;22440:442;;;;;;:::o;22888:351::-;22958:6;23007:2;22995:9;22986:7;22982:23;22978:32;22975:119;;;23013:79;;:::i;:::-;22975:119;23133:1;23158:64;23214:7;23205:6;23194:9;23190:22;23158:64;:::i;:::-;23148:74;;23104:128;22888:351;;;;:::o;23245:191::-;23285:4;23305:20;23323:1;23305:20;:::i;:::-;23300:25;;23339:20;23357:1;23339:20;:::i;:::-;23334:25;;23378:1;23375;23372:8;23369:34;;;23383:18;;:::i;:::-;23369:34;23428:1;23425;23421:9;23413:17;;23245:191;;;;:::o;23442:180::-;23490:77;23487:1;23480:88;23587:4;23584:1;23577:15;23611:4;23608:1;23601:15;23628:185;23668:1;23685:20;23703:1;23685:20;:::i;:::-;23680:25;;23719:20;23737:1;23719:20;:::i;:::-;23714:25;;23758:1;23748:35;;23763:18;;:::i;:::-;23748:35;23805:1;23802;23798:9;23793:14;;23628:185;;;;:::o;23819:220::-;23959:34;23955:1;23947:6;23943:14;23936:58;24028:3;24023:2;24015:6;24011:15;24004:28;23819:220;:::o;24045:366::-;24187:3;24208:67;24272:2;24267:3;24208:67;:::i;:::-;24201:74;;24284:93;24373:3;24284:93;:::i;:::-;24402:2;24397:3;24393:12;24386:19;;24045:366;;;:::o;24417:419::-;24583:4;24621:2;24610:9;24606:18;24598:26;;24670:9;24664:4;24660:20;24656:1;24645:9;24641:17;24634:47;24698:131;24824:4;24698:131;:::i;:::-;24690:139;;24417:419;;;:::o;24842:180::-;24890:77;24887:1;24880:88;24987:4;24984:1;24977:15;25011:4;25008:1;25001:15;25028:180;25076:77;25073:1;25066:88;25173:4;25170:1;25163:15;25197:4;25194:1;25187:15;25214:114;25281:6;25315:5;25309:12;25299:22;;25214:114;;;:::o;25334:184::-;25433:11;25467:6;25462:3;25455:19;25507:4;25502:3;25498:14;25483:29;;25334:184;;;;:::o;25524:132::-;25591:4;25614:3;25606:11;;25644:4;25639:3;25635:14;25627:22;;25524:132;;;:::o;25662:108::-;25739:24;25757:5;25739:24;:::i;:::-;25734:3;25727:37;25662:108;;:::o;25776:179::-;25845:10;25866:46;25908:3;25900:6;25866:46;:::i;:::-;25944:4;25939:3;25935:14;25921:28;;25776:179;;;;:::o;25961:113::-;26031:4;26063;26058:3;26054:14;26046:22;;25961:113;;;:::o;26110:732::-;26229:3;26258:54;26306:5;26258:54;:::i;:::-;26328:86;26407:6;26402:3;26328:86;:::i;:::-;26321:93;;26438:56;26488:5;26438:56;:::i;:::-;26517:7;26548:1;26533:284;26558:6;26555:1;26552:13;26533:284;;;26634:6;26628:13;26661:63;26720:3;26705:13;26661:63;:::i;:::-;26654:70;;26747:60;26800:6;26747:60;:::i;:::-;26737:70;;26593:224;26580:1;26577;26573:9;26568:14;;26533:284;;;26537:14;26833:3;26826:10;;26234:608;;;26110:732;;;;:::o;26848:831::-;27111:4;27149:3;27138:9;27134:19;27126:27;;27163:71;27231:1;27220:9;27216:17;27207:6;27163:71;:::i;:::-;27244:80;27320:2;27309:9;27305:18;27296:6;27244:80;:::i;:::-;27371:9;27365:4;27361:20;27356:2;27345:9;27341:18;27334:48;27399:108;27502:4;27493:6;27399:108;:::i;:::-;27391:116;;27517:72;27585:2;27574:9;27570:18;27561:6;27517:72;:::i;:::-;27599:73;27667:3;27656:9;27652:19;27643:6;27599:73;:::i;:::-;26848:831;;;;;;;;:::o;27685:177::-;27825:29;27821:1;27813:6;27809:14;27802:53;27685:177;:::o;27868:366::-;28010:3;28031:67;28095:2;28090:3;28031:67;:::i;:::-;28024:74;;28107:93;28196:3;28107:93;:::i;:::-;28225:2;28220:3;28216:12;28209:19;;27868:366;;;:::o;28240:419::-;28406:4;28444:2;28433:9;28429:18;28421:26;;28493:9;28487:4;28483:20;28479:1;28468:9;28464:17;28457:47;28521:131;28647:4;28521:131;:::i;:::-;28513:139;;28240:419;;;:::o
Swarm Source
ipfs://53eb227d1df7df3b6697a3848f2b830e82f6cb02dab70a4afcdda8c3bfc0841f
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.