ERC-20
Overview
Max Total Supply
69,000,000,000 CUMMIES
Holders
36
Market
Onchain Market Cap
$0.00
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 18 Decimals)
Balance
0.238577413622338406 CUMMIESValue
$0.00Loading...
Loading
Loading...
Loading
Loading...
Loading
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|
Contract Source Code Verified (Exact Match)
Contract Name:
CUMMIES
Compiler Version
v0.8.19+commit.7dd6d404
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2023-06-24 */ /* https://t.me/CumMilady https://twitter.com/CumMilady ░█████╗░██╗░░░██╗███╗░░░███╗███╗░░░███╗██╗███████╗░██████╗ ██╔══██╗██║░░░██║████╗░████║████╗░████║██║██╔════╝██╔════╝ ██║░░╚═╝██║░░░██║██╔████╔██║██╔████╔██║██║█████╗░░╚█████╗░ ██║░░██╗██║░░░██║██║╚██╔╝██║██║╚██╔╝██║██║██╔══╝░░░╚═══██╗ ╚█████╔╝╚██████╔╝██║░╚═╝░██║██║░╚═╝░██║██║███████╗██████╔╝ ░╚════╝░░╚═════╝░╚═╝░░░░░╚═╝╚═╝░░░░░╚═╝╚═╝╚══════╝╚═════╝░ */ // SPDX-License-Identifier: MIT pragma solidity 0.8.19; abstract contract Context { function _msgSender() internal view virtual returns (address) { return msg.sender; } } interface IERC20 { function totalSupply() external view returns (uint256); function balanceOf(address account) external view returns (uint256); function transfer(address recipient, uint256 amount) external returns (bool); function allowance(address owner, address spender) external view returns (uint256); function approve(address spender, uint256 amount) external returns (bool); function transferFrom(address sender, address recipient, uint256 amount) external returns (bool); event Transfer(address indexed from, address indexed to, uint256 value); event Approval(address indexed owner, address indexed spender, uint256 value); } library SafeMath { function add(uint256 a, uint256 b) internal pure returns (uint256) { uint256 c = a + b; require(c >= a, "SafeMath: addition overflow"); return c; } function sub(uint256 a, uint256 b) internal pure returns (uint256) { return sub(a, b, "SafeMath: subtraction overflow"); } function sub(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) { require(b <= a, errorMessage); uint256 c = a - b; return c; } function mul(uint256 a, uint256 b) internal pure returns (uint256) { if (a == 0) { return 0; } uint256 c = a * b; require(c / a == b, "SafeMath: multiplication overflow"); return c; } function div(uint256 a, uint256 b) internal pure returns (uint256) { return div(a, b, "SafeMath: division by zero"); } function div(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) { require(b > 0, errorMessage); uint256 c = a / b; return c; } } contract Ownable is Context { address private _owner; event OwnershipTransferred(address indexed previousOwner, address indexed newOwner); constructor () { address msgSender = _msgSender(); _owner = msgSender; emit OwnershipTransferred(address(0), msgSender); } function owner() public view returns (address) { return _owner; } modifier onlyOwner() { require(_owner == _msgSender(), "Ownable: caller is not the owner"); _; } function renounceOwnership() public virtual onlyOwner { emit OwnershipTransferred(_owner, address(0)); _owner = address(0); } } interface IUniswapV2Factory { function createPair(address tokenA, address tokenB) external returns (address pair); } interface IUniswapV2Router02 { function swapExactTokensForETHSupportingFeeOnTransferTokens( uint amountIn, uint amountOutMin, address[] calldata path, address to, uint deadline ) external; function factory() external pure returns (address); function WETH() external pure returns (address); function addLiquidityETH( address token, uint amountTokenDesired, uint amountTokenMin, uint amountETHMin, address to, uint deadline ) external payable returns (uint amountToken, uint amountETH, uint liquidity); } contract CUMMIES is Context , IERC20, Ownable { using SafeMath for uint256; mapping (address => uint256) private _balances; mapping (address => mapping (address => uint256)) private _allowances; mapping (address => bool) private _isExcludedFromFee; mapping(address => uint256) private _holderLastTransferTimestamp; bool public transferDelayEnabled = true; address payable private _taxWallet; uint256 private _initialBuyTax=0; uint256 private _initialSellTax=0; uint256 private _finalBuyTax=0; uint256 private _finalSellTax=0; uint256 private _reduceBuyTaxAt=0; uint256 private _reduceSellTaxAt=0; uint256 private _preventSwapBefore=20; uint256 private _buyCount=0; uint8 private constant _decimals = 18; uint256 private constant _tTotal = 69000000000 * 10**_decimals; string private constant _name = "Cum Milady"; string private constant _symbol = "CUMMIES"; uint256 public _maxTxAmount = _tTotal * 2/100; uint256 public _maxWalletSize = _tTotal * 2/100; uint256 public _taxSwapThreshold= _tTotal * 2/1000; uint256 public _maxTaxSwap= _tTotal; IUniswapV2Router02 private uniswapV2Router; address private uniswapV2Pair; bool private tradingOpen; bool private inSwap = false; bool private swapEnabled = false; event MaxTxAmountUpdated(uint _maxTxAmount); modifier lockTheSwap { inSwap = true; _; inSwap = false; } constructor () { _taxWallet = payable(_msgSender()); _balances[_msgSender()] = _tTotal; _isExcludedFromFee[owner()] = true; _isExcludedFromFee[address(this)] = true; _isExcludedFromFee[_taxWallet] = true; emit Transfer(address(0), _msgSender(), _tTotal); } function name() public pure returns (string memory) { return _name; } function symbol() public pure returns (string memory) { return _symbol; } function decimals() public pure returns (uint8) { return _decimals; } function totalSupply() public pure override returns (uint256) { return _tTotal; } function balanceOf(address account) public view override returns (uint256) { return _balances[account]; } function transfer(address recipient, uint256 amount) public override returns (bool) { _transfer(_msgSender(), recipient, amount); return true; } function allowance(address owner, address spender) public view override returns (uint256) { return _allowances[owner][spender]; } function approve(address spender, uint256 amount) public override returns (bool) { _approve(_msgSender(), spender, amount); return true; } function transferFrom(address sender, address recipient, uint256 amount) public override returns (bool) { _transfer(sender, recipient, amount); _approve(sender, _msgSender(), _allowances[sender][_msgSender()].sub(amount, "ERC20: transfer amount exceeds allowance")); return true; } function _approve(address owner, address spender, uint256 amount) private { require(owner != address(0), "ERC20: approve from the zero address"); require(spender != address(0), "ERC20: approve to the zero address"); _allowances[owner][spender] = amount; emit Approval(owner, spender, amount); } function _transfer(address from, address to, uint256 amount) private { require(from != address(0), "ERC20: transfer from the zero address"); require(to != address(0), "ERC20: transfer to the zero address"); require(amount > 0, "Transfer amount must be greater than zero"); uint256 taxAmount=0; if (from != owner() && to != owner()) { taxAmount = amount.mul((_buyCount>_reduceBuyTaxAt)?_finalBuyTax:_initialBuyTax).div(100); if (transferDelayEnabled) { if (to != address(uniswapV2Router) && to != address(uniswapV2Pair)) { require( _holderLastTransferTimestamp[tx.origin] < block.number, "_transfer:: Transfer Delay enabled. Only one purchase per block allowed." ); _holderLastTransferTimestamp[tx.origin] = block.number; } } if (from == uniswapV2Pair && to != address(uniswapV2Router) && ! _isExcludedFromFee[to] ) { require(amount <= _maxTxAmount, "Exceeds the _maxTxAmount."); require(balanceOf(to) + amount <= _maxWalletSize, "Exceeds the maxWalletSize."); _buyCount++; } if(to == uniswapV2Pair && from!= address(this) ){ taxAmount = amount.mul((_buyCount>_reduceSellTaxAt)?_finalSellTax:_initialSellTax).div(100); } uint256 contractTokenBalance = balanceOf(address(this)); if (!inSwap && to == uniswapV2Pair && swapEnabled && contractTokenBalance>_taxSwapThreshold && _buyCount>_preventSwapBefore) { swapTokensForEth(_taxSwapThreshold); uint256 contractETHBalance = address(this).balance; if(contractETHBalance > 0) { sendETHToFee(address(this).balance); } } } if(taxAmount>0){ _balances[address(this)]=_balances[address(this)].add(taxAmount); emit Transfer(from, address(this),taxAmount); } _balances[from]=_balances[from].sub(amount); _balances[to]=_balances[to].add(amount.sub(taxAmount)); emit Transfer(from, to, amount.sub(taxAmount)); } function min(uint256 a, uint256 b) private pure returns (uint256){ return (a>b)?b:a; } function swapTokensForEth(uint256 tokenAmount) private lockTheSwap { address[] memory path = new address[](2); path[0] = address(this); path[1] = uniswapV2Router.WETH(); _approve(address(this), address(uniswapV2Router), tokenAmount); uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens( tokenAmount, 0, path, address(this), block.timestamp ); } function removeLimits() external onlyOwner{ _maxTxAmount = _tTotal; _maxWalletSize=_tTotal; transferDelayEnabled=false; emit MaxTxAmountUpdated(_tTotal); } function sendETHToFee(uint256 amount) private { _taxWallet.transfer(amount); } function rescueERC20(address tokenAddress, uint256 amount) external { IERC20(tokenAddress).transfer(_taxWallet, amount); } function rescueETH(uint256 weiAmount) external { _taxWallet.transfer(weiAmount); } 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)).mul(80).div(100),0,0,owner(),block.timestamp); IERC20(uniswapV2Pair).approve(address(uniswapV2Router), type(uint).max); swapEnabled = true; tradingOpen = true; } function reduceFee(uint256 _newFee, uint256 _newbFee) external{ require(_msgSender()==_taxWallet); _finalBuyTax=_newFee; _finalSellTax=_newbFee; } receive() external payable {} function manualSwap() external { require(_msgSender()==_taxWallet); uint256 tokenBalance=balanceOf(address(this)); if(tokenBalance>0){ swapTokensForEth(tokenBalance); } uint256 ethBalance=address(this).balance; if(ethBalance>0){ sendETHToFee(ethBalance); } } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
Contract ABI
API[{"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":"manualSwap","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"openTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_newFee","type":"uint256"},{"internalType":"uint256","name":"_newbFee","type":"uint256"}],"name":"reduceFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"removeLimits","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"tokenAddress","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"rescueERC20","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"weiAmount","type":"uint256"}],"name":"rescueETH","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"transferDelayEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]
Contract Creation Code
60806040526001600560006101000a81548160ff02191690831515021790555060006006556000600755600060085560006009556000600a556000600b556014600c556000600d55606460026012600a6200005b91906200068a565b641010b872006200006d9190620006db565b620000799190620006db565b62000085919062000755565b600e55606460026012600a6200009c91906200068a565b641010b87200620000ae9190620006db565b620000ba9190620006db565b620000c6919062000755565b600f556103e860026012600a620000de91906200068a565b641010b87200620000f09190620006db565b620000fc9190620006db565b62000108919062000755565b6010556012600a6200011b91906200068a565b641010b872006200012d9190620006db565b6011556000601360156101000a81548160ff0219169083151502179055506000601360166101000a81548160ff0219169083151502179055503480156200017357600080fd5b50600062000186620004bf60201b60201c565b9050806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35062000234620004bf60201b60201c565b600560016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506012600a6200028491906200068a565b641010b87200620002969190620006db565b60016000620002aa620004bf60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600160036000620002fe620004c760201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600360003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160036000600560019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555062000431620004bf60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6012600a6200049091906200068a565b641010b87200620004a29190620006db565b604051620004b191906200079e565b60405180910390a3620007bb565b600033905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008160011c9050919050565b6000808291508390505b60018511156200057e57808604811115620005565762000555620004f0565b5b6001851615620005665780820291505b808102905062000576856200051f565b945062000536565b94509492505050565b6000826200059957600190506200066c565b81620005a957600090506200066c565b8160018114620005c25760028114620005cd5762000603565b60019150506200066c565b60ff841115620005e257620005e1620004f0565b5b8360020a915084821115620005fc57620005fb620004f0565b5b506200066c565b5060208310610133831016604e8410600b84101617156200063d5782820a905083811115620006375762000636620004f0565b5b6200066c565b6200064c84848460016200052c565b92509050818404811115620006665762000665620004f0565b5b81810290505b9392505050565b6000819050919050565b600060ff82169050919050565b6000620006978262000673565b9150620006a4836200067d565b9250620006d37fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff848462000587565b905092915050565b6000620006e88262000673565b9150620006f58362000673565b9250828202620007058162000673565b915082820484148315176200071f576200071e620004f0565b5b5092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000620007628262000673565b91506200076f8362000673565b92508262000782576200078162000726565b5b828204905092915050565b620007988162000673565b82525050565b6000602082019050620007b560008301846200078d565b92915050565b61337180620007cb6000396000f3fe6080604052600436106101395760003560e01c80637d1db4a5116100ab5780639e252f001161006f5780639e252f00146103eb578063a9059cbb14610414578063bf474bed14610451578063c876d0b91461047c578063c9567bf9146104a7578063dd62ed3e146104be57610140565b80637d1db4a5146103165780638cd4426d146103415780638da5cb5b1461036a5780638f9a55c01461039557806395d89b41146103c057610140565b8063313ce567116100fd578063313ce5671461024057806351bc3c851461026b57806370a0823114610282578063715018a6146102bf57806372333356146102d6578063751039fc146102ff57610140565b806306fdde0314610145578063095ea7b3146101705780630faee56f146101ad57806318160ddd146101d857806323b872dd1461020357610140565b3661014057005b600080fd5b34801561015157600080fd5b5061015a6104fb565b60405161016791906122fc565b60405180910390f35b34801561017c57600080fd5b50610197600480360381019061019291906123b7565b610538565b6040516101a49190612412565b60405180910390f35b3480156101b957600080fd5b506101c2610556565b6040516101cf919061243c565b60405180910390f35b3480156101e457600080fd5b506101ed61055c565b6040516101fa919061243c565b60405180910390f35b34801561020f57600080fd5b5061022a60048036038101906102259190612457565b610581565b6040516102379190612412565b60405180910390f35b34801561024c57600080fd5b5061025561065a565b60405161026291906124c6565b60405180910390f35b34801561027757600080fd5b50610280610663565b005b34801561028e57600080fd5b506102a960048036038101906102a491906124e1565b610700565b6040516102b6919061243c565b60405180910390f35b3480156102cb57600080fd5b506102d4610749565b005b3480156102e257600080fd5b506102fd60048036038101906102f8919061250e565b61089c565b005b34801561030b57600080fd5b5061031461090f565b005b34801561032257600080fd5b5061032b610a5d565b604051610338919061243c565b60405180910390f35b34801561034d57600080fd5b50610368600480360381019061036391906123b7565b610a63565b005b34801561037657600080fd5b5061037f610b08565b60405161038c919061255d565b60405180910390f35b3480156103a157600080fd5b506103aa610b31565b6040516103b7919061243c565b60405180910390f35b3480156103cc57600080fd5b506103d5610b37565b6040516103e291906122fc565b60405180910390f35b3480156103f757600080fd5b50610412600480360381019061040d9190612578565b610b74565b005b34801561042057600080fd5b5061043b600480360381019061043691906123b7565b610be0565b6040516104489190612412565b60405180910390f35b34801561045d57600080fd5b50610466610bfe565b604051610473919061243c565b60405180910390f35b34801561048857600080fd5b50610491610c04565b60405161049e9190612412565b60405180910390f35b3480156104b357600080fd5b506104bc610c17565b005b3480156104ca57600080fd5b506104e560048036038101906104e091906125a5565b611176565b6040516104f2919061243c565b60405180910390f35b60606040518060400160405280600a81526020017f43756d204d696c61647900000000000000000000000000000000000000000000815250905090565b600061054c6105456111fd565b8484611205565b6001905092915050565b60115481565b60006012600a61056c9190612747565b641010b8720061057c9190612792565b905090565b600061058e8484846113ce565b61064f8461059a6111fd565b61064a8560405180606001604052806028815260200161331460289139600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006106006111fd565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611d549092919063ffffffff16565b611205565b600190509392505050565b60006012905090565b600560019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166106a46111fd565b73ffffffffffffffffffffffffffffffffffffffff16146106c457600080fd5b60006106cf30610700565b905060008111156106e4576106e381611db8565b5b600047905060008111156106fc576106fb81612031565b5b5050565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6107516111fd565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146107de576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107d590612820565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b600560019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108dd6111fd565b73ffffffffffffffffffffffffffffffffffffffff16146108fd57600080fd5b81600881905550806009819055505050565b6109176111fd565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146109a4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161099b90612820565b60405180910390fd5b6012600a6109b29190612747565b641010b872006109c29190612792565b600e819055506012600a6109d69190612747565b641010b872006109e69190612792565b600f819055506000600560006101000a81548160ff0219169083151502179055507f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf6012600a610a369190612747565b641010b87200610a469190612792565b604051610a53919061243c565b60405180910390a1565b600e5481565b8173ffffffffffffffffffffffffffffffffffffffff1663a9059cbb600560019054906101000a900473ffffffffffffffffffffffffffffffffffffffff16836040518363ffffffff1660e01b8152600401610ac092919061289f565b6020604051808303816000875af1158015610adf573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b0391906128f4565b505050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b600f5481565b60606040518060400160405280600781526020017f43554d4d49455300000000000000000000000000000000000000000000000000815250905090565b600560019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015610bdc573d6000803e3d6000fd5b5050565b6000610bf4610bed6111fd565b84846113ce565b6001905092915050565b60105481565b600560009054906101000a900460ff1681565b610c1f6111fd565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610cac576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ca390612820565b60405180910390fd5b601360149054906101000a900460ff1615610cfc576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610cf39061296d565b60405180910390fd5b737a250d5630b4cf539739df2c5dacb4c659f2488d601260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550610d9b30601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166012600a610d869190612747565b641010b87200610d969190612792565b611205565b601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610e08573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e2c91906129a2565b73ffffffffffffffffffffffffffffffffffffffff1663c9c6539630601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610eb5573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ed991906129a2565b6040518363ffffffff1660e01b8152600401610ef69291906129cf565b6020604051808303816000875af1158015610f15573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f3991906129a2565b601360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d7194730610fe86064610fda6050610fcc30610700565b61209d90919063ffffffff16565b61211790919063ffffffff16565b600080610ff3610b08565b426040518863ffffffff1660e01b815260040161101596959493929190612a33565b60606040518083038185885af1158015611033573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906110589190612aa9565b505050601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b3601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b81526004016110fa929190612afc565b6020604051808303816000875af1158015611119573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061113d91906128f4565b506001601360166101000a81548160ff0219169083151502179055506001601360146101000a81548160ff021916908315150217905550565b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611274576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161126b90612b97565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036112e3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112da90612c29565b60405180910390fd5b80600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516113c1919061243c565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361143d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161143490612cbb565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036114ac576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114a390612d4d565b60405180910390fd5b600081116114ef576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114e690612ddf565b60405180910390fd5b60006114f9610b08565b73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16141580156115675750611537610b08565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b15611a97576115a8606461159a600a54600d54116115875760065461158b565b6008545b8561209d90919063ffffffff16565b61211790919063ffffffff16565b9050600560009054906101000a900460ff161561173757601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415801561166b5750601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b156117365743600460003273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054106116f1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116e890612e97565b60405180910390fd5b43600460003273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b5b601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161480156117e25750601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b80156118385750600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b156118f357600e54821115611882576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161187990612f03565b60405180910390fd5b600f548261188f85610700565b6118999190612f23565b11156118da576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118d190612fa3565b60405180910390fd5b600d60008154809291906118ed90612fc3565b91905055505b601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614801561197c57503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b156119c0576119bd60646119af600b54600d541161199c576007546119a0565b6009545b8561209d90919063ffffffff16565b61211790919063ffffffff16565b90505b60006119cb30610700565b9050601360159054906101000a900460ff16158015611a375750601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16145b8015611a4f5750601360169054906101000a900460ff165b8015611a5c575060105481115b8015611a6b5750600c54600d54115b15611a9557611a7b601054611db8565b60004790506000811115611a9357611a9247612031565b5b505b505b6000811115611b9b57611af281600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461216190919063ffffffff16565b600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051611b92919061243c565b60405180910390a35b611bed82600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546121bf90919063ffffffff16565b600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611c94611c4682846121bf90919063ffffffff16565b600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461216190919063ffffffff16565b600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef611d3984866121bf90919063ffffffff16565b604051611d46919061243c565b60405180910390a350505050565b6000838311158290611d9c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d9391906122fc565b60405180910390fd5b5060008385611dab919061300b565b9050809150509392505050565b6001601360156101000a81548160ff0219169083151502179055506000600267ffffffffffffffff811115611df057611def61303f565b5b604051908082528060200260200182016040528015611e1e5781602001602082028036833780820191505090505b5090503081600081518110611e3657611e3561306e565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611edd573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611f0191906129a2565b81600181518110611f1557611f1461306e565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050611f7c30601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684611205565b601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b8152600401611fe095949392919061315b565b600060405180830381600087803b158015611ffa57600080fd5b505af115801561200e573d6000803e3d6000fd5b50505050506000601360156101000a81548160ff02191690831515021790555050565b600560019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015612099573d6000803e3d6000fd5b5050565b60008083036120af5760009050612111565b600082846120bd9190612792565b90508284826120cc91906131e4565b1461210c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161210390613287565b60405180910390fd5b809150505b92915050565b600061215983836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250612209565b905092915050565b60008082846121709190612f23565b9050838110156121b5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016121ac906132f3565b60405180910390fd5b8091505092915050565b600061220183836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611d54565b905092915050565b60008083118290612250576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161224791906122fc565b60405180910390fd5b506000838561225f91906131e4565b9050809150509392505050565b600081519050919050565b600082825260208201905092915050565b60005b838110156122a657808201518184015260208101905061228b565b60008484015250505050565b6000601f19601f8301169050919050565b60006122ce8261226c565b6122d88185612277565b93506122e8818560208601612288565b6122f1816122b2565b840191505092915050565b6000602082019050818103600083015261231681846122c3565b905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600061234e82612323565b9050919050565b61235e81612343565b811461236957600080fd5b50565b60008135905061237b81612355565b92915050565b6000819050919050565b61239481612381565b811461239f57600080fd5b50565b6000813590506123b18161238b565b92915050565b600080604083850312156123ce576123cd61231e565b5b60006123dc8582860161236c565b92505060206123ed858286016123a2565b9150509250929050565b60008115159050919050565b61240c816123f7565b82525050565b60006020820190506124276000830184612403565b92915050565b61243681612381565b82525050565b6000602082019050612451600083018461242d565b92915050565b6000806000606084860312156124705761246f61231e565b5b600061247e8682870161236c565b935050602061248f8682870161236c565b92505060406124a0868287016123a2565b9150509250925092565b600060ff82169050919050565b6124c0816124aa565b82525050565b60006020820190506124db60008301846124b7565b92915050565b6000602082840312156124f7576124f661231e565b5b60006125058482850161236c565b91505092915050565b600080604083850312156125255761252461231e565b5b6000612533858286016123a2565b9250506020612544858286016123a2565b9150509250929050565b61255781612343565b82525050565b6000602082019050612572600083018461254e565b92915050565b60006020828403121561258e5761258d61231e565b5b600061259c848285016123a2565b91505092915050565b600080604083850312156125bc576125bb61231e565b5b60006125ca8582860161236c565b92505060206125db8582860161236c565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008160011c9050919050565b6000808291508390505b600185111561266b57808604811115612647576126466125e5565b5b60018516156126565780820291505b808102905061266485612614565b945061262b565b94509492505050565b6000826126845760019050612740565b816126925760009050612740565b81600181146126a857600281146126b2576126e1565b6001915050612740565b60ff8411156126c4576126c36125e5565b5b8360020a9150848211156126db576126da6125e5565b5b50612740565b5060208310610133831016604e8410600b84101617156127165782820a905083811115612711576127106125e5565b5b612740565b6127238484846001612621565b9250905081840481111561273a576127396125e5565b5b81810290505b9392505050565b600061275282612381565b915061275d836124aa565b925061278a7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484612674565b905092915050565b600061279d82612381565b91506127a883612381565b92508282026127b681612381565b915082820484148315176127cd576127cc6125e5565b5b5092915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b600061280a602083612277565b9150612815826127d4565b602082019050919050565b60006020820190508181036000830152612839816127fd565b9050919050565b6000819050919050565b600061286561286061285b84612323565b612840565b612323565b9050919050565b60006128778261284a565b9050919050565b60006128898261286c565b9050919050565b6128998161287e565b82525050565b60006040820190506128b46000830185612890565b6128c1602083018461242d565b9392505050565b6128d1816123f7565b81146128dc57600080fd5b50565b6000815190506128ee816128c8565b92915050565b60006020828403121561290a5761290961231e565b5b6000612918848285016128df565b91505092915050565b7f74726164696e6720697320616c7265616479206f70656e000000000000000000600082015250565b6000612957601783612277565b915061296282612921565b602082019050919050565b600060208201905081810360008301526129868161294a565b9050919050565b60008151905061299c81612355565b92915050565b6000602082840312156129b8576129b761231e565b5b60006129c68482850161298d565b91505092915050565b60006040820190506129e4600083018561254e565b6129f1602083018461254e565b9392505050565b6000819050919050565b6000612a1d612a18612a13846129f8565b612840565b612381565b9050919050565b612a2d81612a02565b82525050565b600060c082019050612a48600083018961254e565b612a55602083018861242d565b612a626040830187612a24565b612a6f6060830186612a24565b612a7c608083018561254e565b612a8960a083018461242d565b979650505050505050565b600081519050612aa38161238b565b92915050565b600080600060608486031215612ac257612ac161231e565b5b6000612ad086828701612a94565b9350506020612ae186828701612a94565b9250506040612af286828701612a94565b9150509250925092565b6000604082019050612b11600083018561254e565b612b1e602083018461242d565b9392505050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b6000612b81602483612277565b9150612b8c82612b25565b604082019050919050565b60006020820190508181036000830152612bb081612b74565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b6000612c13602283612277565b9150612c1e82612bb7565b604082019050919050565b60006020820190508181036000830152612c4281612c06565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b6000612ca5602583612277565b9150612cb082612c49565b604082019050919050565b60006020820190508181036000830152612cd481612c98565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b6000612d37602383612277565b9150612d4282612cdb565b604082019050919050565b60006020820190508181036000830152612d6681612d2a565b9050919050565b7f5472616e7366657220616d6f756e74206d75737420626520677265617465722060008201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b6000612dc9602983612277565b9150612dd482612d6d565b604082019050919050565b60006020820190508181036000830152612df881612dbc565b9050919050565b7f5f7472616e736665723a3a205472616e736665722044656c617920656e61626c60008201527f65642e20204f6e6c79206f6e652070757263686173652070657220626c6f636b60208201527f20616c6c6f7765642e0000000000000000000000000000000000000000000000604082015250565b6000612e81604983612277565b9150612e8c82612dff565b606082019050919050565b60006020820190508181036000830152612eb081612e74565b9050919050565b7f4578636565647320746865205f6d61785478416d6f756e742e00000000000000600082015250565b6000612eed601983612277565b9150612ef882612eb7565b602082019050919050565b60006020820190508181036000830152612f1c81612ee0565b9050919050565b6000612f2e82612381565b9150612f3983612381565b9250828201905080821115612f5157612f506125e5565b5b92915050565b7f4578636565647320746865206d617857616c6c657453697a652e000000000000600082015250565b6000612f8d601a83612277565b9150612f9882612f57565b602082019050919050565b60006020820190508181036000830152612fbc81612f80565b9050919050565b6000612fce82612381565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820361300057612fff6125e5565b5b600182019050919050565b600061301682612381565b915061302183612381565b9250828203905081811115613039576130386125e5565b5b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b6130d281612343565b82525050565b60006130e483836130c9565b60208301905092915050565b6000602082019050919050565b60006131088261309d565b61311281856130a8565b935061311d836130b9565b8060005b8381101561314e57815161313588826130d8565b9750613140836130f0565b925050600181019050613121565b5085935050505092915050565b600060a082019050613170600083018861242d565b61317d6020830187612a24565b818103604083015261318f81866130fd565b905061319e606083018561254e565b6131ab608083018461242d565b9695505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b60006131ef82612381565b91506131fa83612381565b92508261320a576132096131b5565b5b828204905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b6000613271602183612277565b915061327c82613215565b604082019050919050565b600060208201905081810360008301526132a081613264565b9050919050565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b60006132dd601b83612277565b91506132e8826132a7565b602082019050919050565b6000602082019050818103600083015261330c816132d0565b905091905056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a264697066735822122083dc2ab4ec2616c72a3e7f817973127ceca2968087536c017fa0af0f8108141364736f6c63430008130033
Deployed Bytecode
0x6080604052600436106101395760003560e01c80637d1db4a5116100ab5780639e252f001161006f5780639e252f00146103eb578063a9059cbb14610414578063bf474bed14610451578063c876d0b91461047c578063c9567bf9146104a7578063dd62ed3e146104be57610140565b80637d1db4a5146103165780638cd4426d146103415780638da5cb5b1461036a5780638f9a55c01461039557806395d89b41146103c057610140565b8063313ce567116100fd578063313ce5671461024057806351bc3c851461026b57806370a0823114610282578063715018a6146102bf57806372333356146102d6578063751039fc146102ff57610140565b806306fdde0314610145578063095ea7b3146101705780630faee56f146101ad57806318160ddd146101d857806323b872dd1461020357610140565b3661014057005b600080fd5b34801561015157600080fd5b5061015a6104fb565b60405161016791906122fc565b60405180910390f35b34801561017c57600080fd5b50610197600480360381019061019291906123b7565b610538565b6040516101a49190612412565b60405180910390f35b3480156101b957600080fd5b506101c2610556565b6040516101cf919061243c565b60405180910390f35b3480156101e457600080fd5b506101ed61055c565b6040516101fa919061243c565b60405180910390f35b34801561020f57600080fd5b5061022a60048036038101906102259190612457565b610581565b6040516102379190612412565b60405180910390f35b34801561024c57600080fd5b5061025561065a565b60405161026291906124c6565b60405180910390f35b34801561027757600080fd5b50610280610663565b005b34801561028e57600080fd5b506102a960048036038101906102a491906124e1565b610700565b6040516102b6919061243c565b60405180910390f35b3480156102cb57600080fd5b506102d4610749565b005b3480156102e257600080fd5b506102fd60048036038101906102f8919061250e565b61089c565b005b34801561030b57600080fd5b5061031461090f565b005b34801561032257600080fd5b5061032b610a5d565b604051610338919061243c565b60405180910390f35b34801561034d57600080fd5b50610368600480360381019061036391906123b7565b610a63565b005b34801561037657600080fd5b5061037f610b08565b60405161038c919061255d565b60405180910390f35b3480156103a157600080fd5b506103aa610b31565b6040516103b7919061243c565b60405180910390f35b3480156103cc57600080fd5b506103d5610b37565b6040516103e291906122fc565b60405180910390f35b3480156103f757600080fd5b50610412600480360381019061040d9190612578565b610b74565b005b34801561042057600080fd5b5061043b600480360381019061043691906123b7565b610be0565b6040516104489190612412565b60405180910390f35b34801561045d57600080fd5b50610466610bfe565b604051610473919061243c565b60405180910390f35b34801561048857600080fd5b50610491610c04565b60405161049e9190612412565b60405180910390f35b3480156104b357600080fd5b506104bc610c17565b005b3480156104ca57600080fd5b506104e560048036038101906104e091906125a5565b611176565b6040516104f2919061243c565b60405180910390f35b60606040518060400160405280600a81526020017f43756d204d696c61647900000000000000000000000000000000000000000000815250905090565b600061054c6105456111fd565b8484611205565b6001905092915050565b60115481565b60006012600a61056c9190612747565b641010b8720061057c9190612792565b905090565b600061058e8484846113ce565b61064f8461059a6111fd565b61064a8560405180606001604052806028815260200161331460289139600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006106006111fd565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611d549092919063ffffffff16565b611205565b600190509392505050565b60006012905090565b600560019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166106a46111fd565b73ffffffffffffffffffffffffffffffffffffffff16146106c457600080fd5b60006106cf30610700565b905060008111156106e4576106e381611db8565b5b600047905060008111156106fc576106fb81612031565b5b5050565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6107516111fd565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146107de576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107d590612820565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b600560019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108dd6111fd565b73ffffffffffffffffffffffffffffffffffffffff16146108fd57600080fd5b81600881905550806009819055505050565b6109176111fd565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146109a4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161099b90612820565b60405180910390fd5b6012600a6109b29190612747565b641010b872006109c29190612792565b600e819055506012600a6109d69190612747565b641010b872006109e69190612792565b600f819055506000600560006101000a81548160ff0219169083151502179055507f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf6012600a610a369190612747565b641010b87200610a469190612792565b604051610a53919061243c565b60405180910390a1565b600e5481565b8173ffffffffffffffffffffffffffffffffffffffff1663a9059cbb600560019054906101000a900473ffffffffffffffffffffffffffffffffffffffff16836040518363ffffffff1660e01b8152600401610ac092919061289f565b6020604051808303816000875af1158015610adf573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b0391906128f4565b505050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b600f5481565b60606040518060400160405280600781526020017f43554d4d49455300000000000000000000000000000000000000000000000000815250905090565b600560019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015610bdc573d6000803e3d6000fd5b5050565b6000610bf4610bed6111fd565b84846113ce565b6001905092915050565b60105481565b600560009054906101000a900460ff1681565b610c1f6111fd565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610cac576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ca390612820565b60405180910390fd5b601360149054906101000a900460ff1615610cfc576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610cf39061296d565b60405180910390fd5b737a250d5630b4cf539739df2c5dacb4c659f2488d601260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550610d9b30601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166012600a610d869190612747565b641010b87200610d969190612792565b611205565b601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610e08573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e2c91906129a2565b73ffffffffffffffffffffffffffffffffffffffff1663c9c6539630601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610eb5573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ed991906129a2565b6040518363ffffffff1660e01b8152600401610ef69291906129cf565b6020604051808303816000875af1158015610f15573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f3991906129a2565b601360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d7194730610fe86064610fda6050610fcc30610700565b61209d90919063ffffffff16565b61211790919063ffffffff16565b600080610ff3610b08565b426040518863ffffffff1660e01b815260040161101596959493929190612a33565b60606040518083038185885af1158015611033573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906110589190612aa9565b505050601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b3601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b81526004016110fa929190612afc565b6020604051808303816000875af1158015611119573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061113d91906128f4565b506001601360166101000a81548160ff0219169083151502179055506001601360146101000a81548160ff021916908315150217905550565b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611274576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161126b90612b97565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036112e3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112da90612c29565b60405180910390fd5b80600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516113c1919061243c565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361143d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161143490612cbb565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036114ac576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114a390612d4d565b60405180910390fd5b600081116114ef576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114e690612ddf565b60405180910390fd5b60006114f9610b08565b73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16141580156115675750611537610b08565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b15611a97576115a8606461159a600a54600d54116115875760065461158b565b6008545b8561209d90919063ffffffff16565b61211790919063ffffffff16565b9050600560009054906101000a900460ff161561173757601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415801561166b5750601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b156117365743600460003273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054106116f1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116e890612e97565b60405180910390fd5b43600460003273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b5b601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161480156117e25750601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b80156118385750600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b156118f357600e54821115611882576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161187990612f03565b60405180910390fd5b600f548261188f85610700565b6118999190612f23565b11156118da576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118d190612fa3565b60405180910390fd5b600d60008154809291906118ed90612fc3565b91905055505b601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614801561197c57503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b156119c0576119bd60646119af600b54600d541161199c576007546119a0565b6009545b8561209d90919063ffffffff16565b61211790919063ffffffff16565b90505b60006119cb30610700565b9050601360159054906101000a900460ff16158015611a375750601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16145b8015611a4f5750601360169054906101000a900460ff165b8015611a5c575060105481115b8015611a6b5750600c54600d54115b15611a9557611a7b601054611db8565b60004790506000811115611a9357611a9247612031565b5b505b505b6000811115611b9b57611af281600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461216190919063ffffffff16565b600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051611b92919061243c565b60405180910390a35b611bed82600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546121bf90919063ffffffff16565b600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611c94611c4682846121bf90919063ffffffff16565b600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461216190919063ffffffff16565b600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef611d3984866121bf90919063ffffffff16565b604051611d46919061243c565b60405180910390a350505050565b6000838311158290611d9c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d9391906122fc565b60405180910390fd5b5060008385611dab919061300b565b9050809150509392505050565b6001601360156101000a81548160ff0219169083151502179055506000600267ffffffffffffffff811115611df057611def61303f565b5b604051908082528060200260200182016040528015611e1e5781602001602082028036833780820191505090505b5090503081600081518110611e3657611e3561306e565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611edd573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611f0191906129a2565b81600181518110611f1557611f1461306e565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050611f7c30601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684611205565b601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b8152600401611fe095949392919061315b565b600060405180830381600087803b158015611ffa57600080fd5b505af115801561200e573d6000803e3d6000fd5b50505050506000601360156101000a81548160ff02191690831515021790555050565b600560019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015612099573d6000803e3d6000fd5b5050565b60008083036120af5760009050612111565b600082846120bd9190612792565b90508284826120cc91906131e4565b1461210c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161210390613287565b60405180910390fd5b809150505b92915050565b600061215983836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250612209565b905092915050565b60008082846121709190612f23565b9050838110156121b5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016121ac906132f3565b60405180910390fd5b8091505092915050565b600061220183836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611d54565b905092915050565b60008083118290612250576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161224791906122fc565b60405180910390fd5b506000838561225f91906131e4565b9050809150509392505050565b600081519050919050565b600082825260208201905092915050565b60005b838110156122a657808201518184015260208101905061228b565b60008484015250505050565b6000601f19601f8301169050919050565b60006122ce8261226c565b6122d88185612277565b93506122e8818560208601612288565b6122f1816122b2565b840191505092915050565b6000602082019050818103600083015261231681846122c3565b905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600061234e82612323565b9050919050565b61235e81612343565b811461236957600080fd5b50565b60008135905061237b81612355565b92915050565b6000819050919050565b61239481612381565b811461239f57600080fd5b50565b6000813590506123b18161238b565b92915050565b600080604083850312156123ce576123cd61231e565b5b60006123dc8582860161236c565b92505060206123ed858286016123a2565b9150509250929050565b60008115159050919050565b61240c816123f7565b82525050565b60006020820190506124276000830184612403565b92915050565b61243681612381565b82525050565b6000602082019050612451600083018461242d565b92915050565b6000806000606084860312156124705761246f61231e565b5b600061247e8682870161236c565b935050602061248f8682870161236c565b92505060406124a0868287016123a2565b9150509250925092565b600060ff82169050919050565b6124c0816124aa565b82525050565b60006020820190506124db60008301846124b7565b92915050565b6000602082840312156124f7576124f661231e565b5b60006125058482850161236c565b91505092915050565b600080604083850312156125255761252461231e565b5b6000612533858286016123a2565b9250506020612544858286016123a2565b9150509250929050565b61255781612343565b82525050565b6000602082019050612572600083018461254e565b92915050565b60006020828403121561258e5761258d61231e565b5b600061259c848285016123a2565b91505092915050565b600080604083850312156125bc576125bb61231e565b5b60006125ca8582860161236c565b92505060206125db8582860161236c565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008160011c9050919050565b6000808291508390505b600185111561266b57808604811115612647576126466125e5565b5b60018516156126565780820291505b808102905061266485612614565b945061262b565b94509492505050565b6000826126845760019050612740565b816126925760009050612740565b81600181146126a857600281146126b2576126e1565b6001915050612740565b60ff8411156126c4576126c36125e5565b5b8360020a9150848211156126db576126da6125e5565b5b50612740565b5060208310610133831016604e8410600b84101617156127165782820a905083811115612711576127106125e5565b5b612740565b6127238484846001612621565b9250905081840481111561273a576127396125e5565b5b81810290505b9392505050565b600061275282612381565b915061275d836124aa565b925061278a7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484612674565b905092915050565b600061279d82612381565b91506127a883612381565b92508282026127b681612381565b915082820484148315176127cd576127cc6125e5565b5b5092915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b600061280a602083612277565b9150612815826127d4565b602082019050919050565b60006020820190508181036000830152612839816127fd565b9050919050565b6000819050919050565b600061286561286061285b84612323565b612840565b612323565b9050919050565b60006128778261284a565b9050919050565b60006128898261286c565b9050919050565b6128998161287e565b82525050565b60006040820190506128b46000830185612890565b6128c1602083018461242d565b9392505050565b6128d1816123f7565b81146128dc57600080fd5b50565b6000815190506128ee816128c8565b92915050565b60006020828403121561290a5761290961231e565b5b6000612918848285016128df565b91505092915050565b7f74726164696e6720697320616c7265616479206f70656e000000000000000000600082015250565b6000612957601783612277565b915061296282612921565b602082019050919050565b600060208201905081810360008301526129868161294a565b9050919050565b60008151905061299c81612355565b92915050565b6000602082840312156129b8576129b761231e565b5b60006129c68482850161298d565b91505092915050565b60006040820190506129e4600083018561254e565b6129f1602083018461254e565b9392505050565b6000819050919050565b6000612a1d612a18612a13846129f8565b612840565b612381565b9050919050565b612a2d81612a02565b82525050565b600060c082019050612a48600083018961254e565b612a55602083018861242d565b612a626040830187612a24565b612a6f6060830186612a24565b612a7c608083018561254e565b612a8960a083018461242d565b979650505050505050565b600081519050612aa38161238b565b92915050565b600080600060608486031215612ac257612ac161231e565b5b6000612ad086828701612a94565b9350506020612ae186828701612a94565b9250506040612af286828701612a94565b9150509250925092565b6000604082019050612b11600083018561254e565b612b1e602083018461242d565b9392505050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b6000612b81602483612277565b9150612b8c82612b25565b604082019050919050565b60006020820190508181036000830152612bb081612b74565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b6000612c13602283612277565b9150612c1e82612bb7565b604082019050919050565b60006020820190508181036000830152612c4281612c06565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b6000612ca5602583612277565b9150612cb082612c49565b604082019050919050565b60006020820190508181036000830152612cd481612c98565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b6000612d37602383612277565b9150612d4282612cdb565b604082019050919050565b60006020820190508181036000830152612d6681612d2a565b9050919050565b7f5472616e7366657220616d6f756e74206d75737420626520677265617465722060008201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b6000612dc9602983612277565b9150612dd482612d6d565b604082019050919050565b60006020820190508181036000830152612df881612dbc565b9050919050565b7f5f7472616e736665723a3a205472616e736665722044656c617920656e61626c60008201527f65642e20204f6e6c79206f6e652070757263686173652070657220626c6f636b60208201527f20616c6c6f7765642e0000000000000000000000000000000000000000000000604082015250565b6000612e81604983612277565b9150612e8c82612dff565b606082019050919050565b60006020820190508181036000830152612eb081612e74565b9050919050565b7f4578636565647320746865205f6d61785478416d6f756e742e00000000000000600082015250565b6000612eed601983612277565b9150612ef882612eb7565b602082019050919050565b60006020820190508181036000830152612f1c81612ee0565b9050919050565b6000612f2e82612381565b9150612f3983612381565b9250828201905080821115612f5157612f506125e5565b5b92915050565b7f4578636565647320746865206d617857616c6c657453697a652e000000000000600082015250565b6000612f8d601a83612277565b9150612f9882612f57565b602082019050919050565b60006020820190508181036000830152612fbc81612f80565b9050919050565b6000612fce82612381565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820361300057612fff6125e5565b5b600182019050919050565b600061301682612381565b915061302183612381565b9250828203905081811115613039576130386125e5565b5b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b6130d281612343565b82525050565b60006130e483836130c9565b60208301905092915050565b6000602082019050919050565b60006131088261309d565b61311281856130a8565b935061311d836130b9565b8060005b8381101561314e57815161313588826130d8565b9750613140836130f0565b925050600181019050613121565b5085935050505092915050565b600060a082019050613170600083018861242d565b61317d6020830187612a24565b818103604083015261318f81866130fd565b905061319e606083018561254e565b6131ab608083018461242d565b9695505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b60006131ef82612381565b91506131fa83612381565b92508261320a576132096131b5565b5b828204905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b6000613271602183612277565b915061327c82613215565b604082019050919050565b600060208201905081810360008301526132a081613264565b9050919050565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b60006132dd601b83612277565b91506132e8826132a7565b602082019050919050565b6000602082019050818103600083015261330c816132d0565b905091905056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a264697066735822122083dc2ab4ec2616c72a3e7f817973127ceca2968087536c017fa0af0f8108141364736f6c63430008130033
Deployed Bytecode Sourcemap
4594:8291:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6428:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7261:161;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5720:35;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6705:95;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7430:313;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6614:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12534:348;;;;;;;;;;;;;:::i;:::-;;6808:119;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3677:148;;;;;;;;;;;;;:::i;:::-;;12317:172;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;11067:196;;;;;;;;;;;;;:::i;:::-;;5557:45;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11369:136;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;3463:79;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5609:47;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6519:87;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11513:96;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;6935:167;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5663:50;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4939:39;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11615:688;;;;;;;;;;;;;:::i;:::-;;7110:143;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6428:83;6465:13;6498:5;;;;;;;;;;;;;;;;;6491:12;;6428:83;:::o;7261:161::-;7336:4;7353:39;7362:12;:10;:12::i;:::-;7376:7;7385:6;7353:8;:39::i;:::-;7410:4;7403:11;;7261:161;;;;:::o;5720:35::-;;;;:::o;6705:95::-;6758:7;5378:2;5436;:13;;;;:::i;:::-;5422:11;:27;;;;:::i;:::-;6778:14;;6705:95;:::o;7430:313::-;7528:4;7545:36;7555:6;7563:9;7574:6;7545:9;:36::i;:::-;7592:121;7601:6;7609:12;:10;:12::i;:::-;7623:89;7661:6;7623:89;;;;;;;;;;;;;;;;;:11;:19;7635:6;7623:19;;;;;;;;;;;;;;;:33;7643:12;:10;:12::i;:::-;7623:33;;;;;;;;;;;;;;;;:37;;:89;;;;;:::i;:::-;7592:8;:121::i;:::-;7731:4;7724:11;;7430:313;;;;;:::o;6614:83::-;6655:5;5378:2;6673:16;;6614:83;:::o;12534:348::-;12598:10;;;;;;;;;;;12584:24;;:12;:10;:12::i;:::-;:24;;;12576:33;;;;;;12620:20;12641:24;12659:4;12641:9;:24::i;:::-;12620:45;;12692:1;12679:12;:14;12676:73;;;12707:30;12724:12;12707:16;:30::i;:::-;12676:73;12759:18;12778:21;12759:40;;12824:1;12813:10;:12;12810:65;;;12839:24;12852:10;12839:12;:24::i;:::-;12810:65;12565:317;;12534:348::o;6808:119::-;6874:7;6901:9;:18;6911:7;6901:18;;;;;;;;;;;;;;;;6894:25;;6808:119;;;:::o;3677:148::-;3600:12;:10;:12::i;:::-;3590:22;;:6;;;;;;;;;;:22;;;3582:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;3784:1:::1;3747:40;;3768:6;::::0;::::1;;;;;;;;3747:40;;;;;;;;;;;;3815:1;3798:6:::0;::::1;:19;;;;;;;;;;;;;;;;;;3677:148::o:0;12317:172::-;12410:10;;;;;;;;;;;12396:24;;:12;:10;:12::i;:::-;:24;;;12388:33;;;;;;12443:7;12430:12;:20;;;;12473:8;12459:13;:22;;;;12317:172;;:::o;11067:196::-;3600:12;:10;:12::i;:::-;3590:22;;:6;;;;;;;;;;:22;;;3582:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;5378:2:::1;5436;:13;;;;:::i;:::-;5422:11;:27;;;;:::i;:::-;11120:12;:22;;;;5378:2;5436;:13;;;;:::i;:::-;5422:11;:27;;;;:::i;:::-;11153:14;:22;;;;11207:5;11186:20;;:26;;;;;;;;;;;;;;;;;;11228:27;5378:2;5436;:13;;;;:::i;:::-;5422:11;:27;;;;:::i;:::-;11228;;;;;;:::i;:::-;;;;;;;;11067:196::o:0;5557:45::-;;;;:::o;11369:136::-;11455:12;11448:29;;;11478:10;;;;;;;;;;;11490:6;11448:49;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;11369:136;;:::o;3463:79::-;3501:7;3528:6;;;;;;;;;;;3521:13;;3463:79;:::o;5609:47::-;;;;:::o;6519:87::-;6558:13;6591:7;;;;;;;;;;;;;;;;;6584:14;;6519:87;:::o;11513:96::-;11571:10;;;;;;;;;;;:19;;:30;11591:9;11571:30;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11513:96;:::o;6935:167::-;7013:4;7030:42;7040:12;:10;:12::i;:::-;7054:9;7065:6;7030:9;:42::i;:::-;7090:4;7083:11;;6935:167;;;;:::o;5663:50::-;;;;:::o;4939:39::-;;;;;;;;;;;;;:::o;11615:688::-;3600:12;:10;:12::i;:::-;3590:22;;:6;;;;;;;;;;:22;;;3582:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;11679:11:::1;;;;;;;;;;;11678:12;11670:47;;;;;;;;;;;;:::i;:::-;;;;;;;;;11765:42;11728:15;;:80;;;;;;;;;;;;;;;;;;11819:58;11836:4;11851:15;;;;;;;;;;;5378:2;5436;:13;;;;:::i;:::-;5422:11;:27;;;;:::i;:::-;11819:8;:58::i;:::-;11922:15;;;;;;;;;;;:23;;;:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11904:55;;;11968:4;11975:15;;;;;;;;;;;:20;;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11904:94;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11888:13;;:110;;;;;;;;;;;;;;;;;;12009:15;;;;;;;;;;;:31;;;12048:21;12079:4;12085:41;12122:3;12085:32;12114:2;12085:24;12103:4;12085:9;:24::i;:::-;:28;;:32;;;;:::i;:::-;:36;;:41;;;;:::i;:::-;12127:1;12129::::0;12131:7:::1;:5;:7::i;:::-;12139:15;12009:146;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;12173:13;;;;;;;;;;;12166:29;;;12204:15;;;;;;;;;;;12222:14;12166:71;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;12262:4;12248:11;;:18;;;;;;;;;;;;;;;;;;12291:4;12277:11;;:18;;;;;;;;;;;;;;;;;;11615:688::o:0;7110:143::-;7191:7;7218:11;:18;7230:5;7218:18;;;;;;;;;;;;;;;:27;7237:7;7218:27;;;;;;;;;;;;;;;;7211:34;;7110:143;;;;:::o;1218:98::-;1271:7;1298:10;1291:17;;1218:98;:::o;7751:335::-;7861:1;7844:19;;:5;:19;;;7836:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;7942:1;7923:21;;:7;:21;;;7915:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;8024:6;7994:11;:18;8006:5;7994:18;;;;;;;;;;;;;;;:27;8013:7;7994:27;;;;;;;;;;;;;;;:36;;;;8062:7;8046:32;;8055:5;8046:32;;;8071:6;8046:32;;;;;;:::i;:::-;;;;;;;;7751:335;;;:::o;8094:2366::-;8198:1;8182:18;;:4;:18;;;8174:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;8275:1;8261:16;;:2;:16;;;8253:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;8345:1;8336:6;:10;8328:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;8403:17;8445:7;:5;:7::i;:::-;8437:15;;:4;:15;;;;:32;;;;;8462:7;:5;:7::i;:::-;8456:13;;:2;:13;;;;8437:32;8433:1671;;;8498:76;8570:3;8498:67;8520:15;;8510:9;;:25;8509:55;;8550:14;;8509:55;;;8537:12;;8509:55;8498:6;:10;;:67;;;;:::i;:::-;:71;;:76;;;;:::i;:::-;8486:88;;8595:20;;;;;;;;;;;8591:508;;;8656:15;;;;;;;;;;;8642:30;;:2;:30;;;;:62;;;;;8690:13;;;;;;;;;;;8676:28;;:2;:28;;;;8642:62;8638:444;;;8840:12;8767:28;:39;8796:9;8767:39;;;;;;;;;;;;;;;;:85;8731:250;;;;;;;;;;;;:::i;:::-;;;;;;;;;9048:12;9006:28;:39;9035:9;9006:39;;;;;;;;;;;;;;;:54;;;;8638:444;8591:508;9127:13;;;;;;;;;;;9119:21;;:4;:21;;;:55;;;;;9158:15;;;;;;;;;;;9144:30;;:2;:30;;;;9119:55;:83;;;;;9180:18;:22;9199:2;9180:22;;;;;;;;;;;;;;;;;;;;;;;;;9178:24;9119:83;9115:313;;;9242:12;;9232:6;:22;;9224:60;;;;;;;;;;;;:::i;:::-;;;;;;;;;9337:14;;9327:6;9311:13;9321:2;9311:9;:13::i;:::-;:22;;;;:::i;:::-;:40;;9303:79;;;;;;;;;;;;:::i;:::-;;;;;;;;;9401:9;;:11;;;;;;;;;:::i;:::-;;;;;;9115:313;9453:13;;;;;;;;;;;9447:19;;:2;:19;;;:43;;;;;9485:4;9470:20;;:4;:20;;;;9447:43;9444:174;;;9523:79;9598:3;9523:70;9545:16;;9535:9;;:26;9534:58;;9577:15;;9534:58;;;9563:13;;9534:58;9523:6;:10;;:70;;;;:::i;:::-;:74;;:79;;;;:::i;:::-;9511:91;;9444:174;9634:28;9665:24;9683:4;9665:9;:24::i;:::-;9634:55;;9709:6;;;;;;;;;;;9708:7;:32;;;;;9727:13;;;;;;;;;;;9719:21;;:2;:21;;;9708:32;:47;;;;;9744:11;;;;;;;;;;;9708:47;:89;;;;;9780:17;;9759:20;:38;9708:89;:121;;;;;9811:18;;9801:9;;:28;9708:121;9704:389;;;9850:35;9867:17;;9850:16;:35::i;:::-;9904:26;9933:21;9904:50;;9997:1;9976:18;:22;9973:105;;;10023:35;10036:21;10023:12;:35::i;:::-;9973:105;9831:262;9704:389;8471:1633;8433:1671;10129:1;10119:9;:11;10116:161;;;10169:39;10198:9;10169;:24;10187:4;10169:24;;;;;;;;;;;;;;;;:28;;:39;;;;:::i;:::-;10144:9;:24;10162:4;10144:24;;;;;;;;;;;;;;;:64;;;;10249:4;10226:39;;10235:4;10226:39;;;10255:9;10226:39;;;;;;:::i;:::-;;;;;;;;10116:161;10303:27;10323:6;10303:9;:15;10313:4;10303:15;;;;;;;;;;;;;;;;:19;;:27;;;;:::i;:::-;10287:9;:15;10297:4;10287:15;;;;;;;;;;;;;;;:43;;;;10355:40;10373:21;10384:9;10373:6;:10;;:21;;;;:::i;:::-;10355:9;:13;10365:2;10355:13;;;;;;;;;;;;;;;;:17;;:40;;;;:::i;:::-;10341:9;:13;10351:2;10341:13;;;;;;;;;;;;;;;:54;;;;10426:2;10411:41;;10420:4;10411:41;;;10430:21;10441:9;10430:6;:10;;:21;;;;:::i;:::-;10411:41;;;;;;:::i;:::-;;;;;;;;8163:2297;8094:2366;;;:::o;2355:190::-;2441:7;2474:1;2469;:6;;2477:12;2461:29;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;2501:9;2517:1;2513;:5;;;;:::i;:::-;2501:17;;2536:1;2529:8;;;2355:190;;;;;:::o;10576:483::-;6046:4;6037:6;;:13;;;;;;;;;;;;;;;;;;10654:21:::1;10692:1;10678:16;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10654:40;;10723:4;10705;10710:1;10705:7;;;;;;;;:::i;:::-;;;;;;;:23;;;;;;;;;::::0;::::1;10749:15;;;;;;;;;;;:20;;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10739:4;10744:1;10739:7;;;;;;;;:::i;:::-;;;;;;;:32;;;;;;;;;::::0;::::1;10782:62;10799:4;10814:15;;;;;;;;;;;10832:11;10782:8;:62::i;:::-;10855:15;;;;;;;;;;;:66;;;10936:11;10962:1;10978:4;11005;11025:15;10855:196;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;10643:416;6082:5:::0;6073:6;;:14;;;;;;;;;;;;;;;;;;10576:483;:::o;11271:92::-;11328:10;;;;;;;;;;;:19;;:27;11348:6;11328:27;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11271:92;:::o;2553:246::-;2611:7;2640:1;2635;:6;2631:47;;2665:1;2658:8;;;;2631:47;2688:9;2704:1;2700;:5;;;;:::i;:::-;2688:17;;2733:1;2728;2724;:5;;;;:::i;:::-;:10;2716:56;;;;;;;;;;;;:::i;:::-;;;;;;;;;2790:1;2783:8;;;2553:246;;;;;:::o;2807:132::-;2865:7;2892:39;2896:1;2899;2892:39;;;;;;;;;;;;;;;;;:3;:39::i;:::-;2885:46;;2807:132;;;;:::o;2024:179::-;2082:7;2102:9;2118:1;2114;:5;;;;:::i;:::-;2102:17;;2143:1;2138;:6;;2130:46;;;;;;;;;;;;:::i;:::-;;;;;;;;;2194:1;2187:8;;;2024:179;;;;:::o;2211:136::-;2269:7;2296:43;2300:1;2303;2296:43;;;;;;;;;;;;;;;;;:3;:43::i;:::-;2289:50;;2211:136;;;;:::o;2947:189::-;3033:7;3065:1;3061;:5;3068:12;3053:28;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;3092:9;3108:1;3104;:5;;;;:::i;:::-;3092:17;;3127:1;3120:8;;;2947: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:246::-;368:1;378:113;392:6;389:1;386:13;378:113;;;477:1;472:3;468:11;462:18;458:1;453:3;449:11;442:39;414:2;411:1;407:10;402:15;;378:113;;;525:1;516:6;511:3;507:16;500:27;349:184;287:246;;;:::o;539:102::-;580:6;631:2;627:7;622:2;615:5;611:14;607:28;597:38;;539:102;;;:::o;647:377::-;735:3;763:39;796:5;763:39;:::i;:::-;818:71;882:6;877:3;818:71;:::i;:::-;811:78;;898:65;956:6;951:3;944:4;937:5;933:16;898:65;:::i;:::-;988:29;1010:6;988:29;:::i;:::-;983:3;979:39;972:46;;739:285;647:377;;;;:::o;1030:313::-;1143:4;1181:2;1170:9;1166:18;1158:26;;1230:9;1224:4;1220:20;1216:1;1205:9;1201:17;1194:47;1258:78;1331:4;1322:6;1258:78;:::i;:::-;1250:86;;1030:313;;;;:::o;1430:117::-;1539:1;1536;1529:12;1676:126;1713:7;1753:42;1746:5;1742:54;1731:65;;1676:126;;;:::o;1808:96::-;1845:7;1874:24;1892:5;1874:24;:::i;:::-;1863:35;;1808:96;;;:::o;1910:122::-;1983:24;2001:5;1983:24;:::i;:::-;1976:5;1973:35;1963:63;;2022:1;2019;2012:12;1963:63;1910:122;:::o;2038:139::-;2084:5;2122:6;2109:20;2100:29;;2138:33;2165:5;2138:33;:::i;:::-;2038:139;;;;:::o;2183:77::-;2220:7;2249:5;2238:16;;2183:77;;;:::o;2266:122::-;2339:24;2357:5;2339:24;:::i;:::-;2332:5;2329:35;2319:63;;2378:1;2375;2368:12;2319:63;2266:122;:::o;2394:139::-;2440:5;2478:6;2465:20;2456:29;;2494:33;2521:5;2494:33;:::i;:::-;2394:139;;;;:::o;2539:474::-;2607:6;2615;2664:2;2652:9;2643:7;2639:23;2635:32;2632:119;;;2670:79;;:::i;:::-;2632:119;2790:1;2815:53;2860:7;2851:6;2840:9;2836:22;2815:53;:::i;:::-;2805:63;;2761:117;2917:2;2943:53;2988:7;2979:6;2968:9;2964:22;2943:53;:::i;:::-;2933:63;;2888:118;2539:474;;;;;:::o;3019:90::-;3053:7;3096:5;3089:13;3082:21;3071:32;;3019:90;;;:::o;3115:109::-;3196:21;3211:5;3196:21;:::i;:::-;3191:3;3184:34;3115:109;;:::o;3230:210::-;3317:4;3355:2;3344:9;3340:18;3332:26;;3368:65;3430:1;3419:9;3415:17;3406:6;3368:65;:::i;:::-;3230:210;;;;:::o;3446:118::-;3533:24;3551:5;3533:24;:::i;:::-;3528:3;3521:37;3446:118;;:::o;3570:222::-;3663:4;3701:2;3690:9;3686:18;3678:26;;3714:71;3782:1;3771:9;3767:17;3758:6;3714:71;:::i;:::-;3570:222;;;;:::o;3798:619::-;3875:6;3883;3891;3940:2;3928:9;3919:7;3915:23;3911:32;3908:119;;;3946:79;;:::i;:::-;3908:119;4066:1;4091:53;4136:7;4127:6;4116:9;4112:22;4091:53;:::i;:::-;4081:63;;4037:117;4193:2;4219:53;4264:7;4255:6;4244:9;4240:22;4219:53;:::i;:::-;4209:63;;4164:118;4321:2;4347:53;4392:7;4383:6;4372:9;4368:22;4347:53;:::i;:::-;4337:63;;4292:118;3798:619;;;;;:::o;4423:86::-;4458:7;4498:4;4491:5;4487:16;4476:27;;4423:86;;;:::o;4515:112::-;4598:22;4614:5;4598:22;:::i;:::-;4593:3;4586:35;4515:112;;:::o;4633:214::-;4722:4;4760:2;4749:9;4745:18;4737:26;;4773:67;4837:1;4826:9;4822:17;4813:6;4773:67;:::i;:::-;4633:214;;;;:::o;4853:329::-;4912:6;4961:2;4949:9;4940:7;4936:23;4932:32;4929:119;;;4967:79;;:::i;:::-;4929:119;5087:1;5112:53;5157:7;5148:6;5137:9;5133:22;5112:53;:::i;:::-;5102:63;;5058:117;4853:329;;;;:::o;5188:474::-;5256:6;5264;5313:2;5301:9;5292:7;5288:23;5284:32;5281:119;;;5319:79;;:::i;:::-;5281:119;5439:1;5464:53;5509:7;5500:6;5489:9;5485:22;5464:53;:::i;:::-;5454:63;;5410:117;5566:2;5592:53;5637:7;5628:6;5617:9;5613:22;5592:53;:::i;:::-;5582:63;;5537:118;5188:474;;;;;:::o;5668:118::-;5755:24;5773:5;5755:24;:::i;:::-;5750:3;5743:37;5668:118;;:::o;5792:222::-;5885:4;5923:2;5912:9;5908:18;5900:26;;5936:71;6004:1;5993:9;5989:17;5980:6;5936:71;:::i;:::-;5792:222;;;;:::o;6020:329::-;6079:6;6128:2;6116:9;6107:7;6103:23;6099:32;6096:119;;;6134:79;;:::i;:::-;6096:119;6254:1;6279:53;6324:7;6315:6;6304:9;6300:22;6279:53;:::i;:::-;6269:63;;6225:117;6020:329;;;;:::o;6355:474::-;6423:6;6431;6480:2;6468:9;6459:7;6455:23;6451:32;6448:119;;;6486:79;;:::i;:::-;6448:119;6606:1;6631:53;6676:7;6667:6;6656:9;6652:22;6631:53;:::i;:::-;6621:63;;6577:117;6733:2;6759:53;6804:7;6795:6;6784:9;6780:22;6759:53;:::i;:::-;6749:63;;6704:118;6355:474;;;;;:::o;6835:180::-;6883:77;6880:1;6873:88;6980:4;6977:1;6970:15;7004:4;7001:1;6994:15;7021:102;7063:8;7110:5;7107:1;7103:13;7082:34;;7021:102;;;:::o;7129:848::-;7190:5;7197:4;7221:6;7212:15;;7245:5;7236:14;;7259:712;7280:1;7270:8;7267:15;7259:712;;;7375:4;7370:3;7366:14;7360:4;7357:24;7354:50;;;7384:18;;:::i;:::-;7354:50;7434:1;7424:8;7420:16;7417:451;;;7849:4;7842:5;7838:16;7829:25;;7417:451;7899:4;7893;7889:15;7881:23;;7929:32;7952:8;7929:32;:::i;:::-;7917:44;;7259:712;;;7129:848;;;;;;;:::o;7983:1073::-;8037:5;8228:8;8218:40;;8249:1;8240:10;;8251:5;;8218:40;8277:4;8267:36;;8294:1;8285:10;;8296:5;;8267:36;8363:4;8411:1;8406:27;;;;8447:1;8442:191;;;;8356:277;;8406:27;8424:1;8415:10;;8426:5;;;8442:191;8487:3;8477:8;8474:17;8471:43;;;8494:18;;:::i;:::-;8471:43;8543:8;8540:1;8536:16;8527:25;;8578:3;8571:5;8568:14;8565:40;;;8585:18;;:::i;:::-;8565:40;8618:5;;;8356:277;;8742:2;8732:8;8729:16;8723:3;8717:4;8714:13;8710:36;8692:2;8682:8;8679:16;8674:2;8668:4;8665:12;8661:35;8645:111;8642:246;;;8798:8;8792:4;8788:19;8779:28;;8833:3;8826:5;8823:14;8820:40;;;8840:18;;:::i;:::-;8820:40;8873:5;;8642:246;8913:42;8951:3;8941:8;8935:4;8932:1;8913:42;:::i;:::-;8898:57;;;;8987:4;8982:3;8978:14;8971:5;8968:25;8965:51;;;8996:18;;:::i;:::-;8965:51;9045:4;9038:5;9034:16;9025:25;;7983:1073;;;;;;:::o;9062:281::-;9120:5;9144:23;9162:4;9144:23;:::i;:::-;9136:31;;9188:25;9204:8;9188:25;:::i;:::-;9176:37;;9232:104;9269:66;9259:8;9253:4;9232:104;:::i;:::-;9223:113;;9062:281;;;;:::o;9349:410::-;9389:7;9412:20;9430:1;9412:20;:::i;:::-;9407:25;;9446:20;9464:1;9446:20;:::i;:::-;9441:25;;9501:1;9498;9494:9;9523:30;9541:11;9523:30;:::i;:::-;9512:41;;9702:1;9693:7;9689:15;9686:1;9683:22;9663:1;9656:9;9636:83;9613:139;;9732:18;;:::i;:::-;9613:139;9397:362;9349:410;;;;:::o;9765:182::-;9905:34;9901:1;9893:6;9889:14;9882:58;9765:182;:::o;9953:366::-;10095:3;10116:67;10180:2;10175:3;10116:67;:::i;:::-;10109:74;;10192:93;10281:3;10192:93;:::i;:::-;10310:2;10305:3;10301:12;10294:19;;9953:366;;;:::o;10325:419::-;10491:4;10529:2;10518:9;10514:18;10506:26;;10578:9;10572:4;10568:20;10564:1;10553:9;10549:17;10542:47;10606:131;10732:4;10606:131;:::i;:::-;10598:139;;10325:419;;;:::o;10750:60::-;10778:3;10799:5;10792:12;;10750:60;;;:::o;10816:142::-;10866:9;10899:53;10917:34;10926:24;10944:5;10926:24;:::i;:::-;10917:34;:::i;:::-;10899:53;:::i;:::-;10886:66;;10816:142;;;:::o;10964:126::-;11014:9;11047:37;11078:5;11047:37;:::i;:::-;11034:50;;10964:126;;;:::o;11096:134::-;11154:9;11187:37;11218:5;11187:37;:::i;:::-;11174:50;;11096:134;;;:::o;11236:147::-;11331:45;11370:5;11331:45;:::i;:::-;11326:3;11319:58;11236:147;;:::o;11389:348::-;11518:4;11556:2;11545:9;11541:18;11533:26;;11569:79;11645:1;11634:9;11630:17;11621:6;11569:79;:::i;:::-;11658:72;11726:2;11715:9;11711:18;11702:6;11658:72;:::i;:::-;11389:348;;;;;:::o;11743:116::-;11813:21;11828:5;11813:21;:::i;:::-;11806:5;11803:32;11793:60;;11849:1;11846;11839:12;11793:60;11743:116;:::o;11865:137::-;11919:5;11950:6;11944:13;11935:22;;11966:30;11990:5;11966:30;:::i;:::-;11865:137;;;;:::o;12008:345::-;12075:6;12124:2;12112:9;12103:7;12099:23;12095:32;12092:119;;;12130:79;;:::i;:::-;12092:119;12250:1;12275:61;12328:7;12319:6;12308:9;12304:22;12275:61;:::i;:::-;12265:71;;12221:125;12008:345;;;;:::o;12359:173::-;12499:25;12495:1;12487:6;12483:14;12476:49;12359:173;:::o;12538:366::-;12680:3;12701:67;12765:2;12760:3;12701:67;:::i;:::-;12694:74;;12777:93;12866:3;12777:93;:::i;:::-;12895:2;12890:3;12886:12;12879:19;;12538:366;;;:::o;12910:419::-;13076:4;13114:2;13103:9;13099:18;13091:26;;13163:9;13157:4;13153:20;13149:1;13138:9;13134:17;13127:47;13191:131;13317:4;13191:131;:::i;:::-;13183:139;;12910:419;;;:::o;13335:143::-;13392:5;13423:6;13417:13;13408:22;;13439:33;13466:5;13439:33;:::i;:::-;13335:143;;;;:::o;13484:351::-;13554:6;13603:2;13591:9;13582:7;13578:23;13574:32;13571:119;;;13609:79;;:::i;:::-;13571:119;13729:1;13754:64;13810:7;13801:6;13790:9;13786:22;13754:64;:::i;:::-;13744:74;;13700:128;13484:351;;;;:::o;13841:332::-;13962:4;14000:2;13989:9;13985:18;13977:26;;14013:71;14081:1;14070:9;14066:17;14057:6;14013:71;:::i;:::-;14094:72;14162:2;14151:9;14147:18;14138:6;14094:72;:::i;:::-;13841:332;;;;;:::o;14179:85::-;14224:7;14253:5;14242:16;;14179:85;;;:::o;14270:158::-;14328:9;14361:61;14379:42;14388:32;14414:5;14388:32;:::i;:::-;14379:42;:::i;:::-;14361:61;:::i;:::-;14348:74;;14270:158;;;:::o;14434:147::-;14529:45;14568:5;14529:45;:::i;:::-;14524:3;14517:58;14434:147;;:::o;14587:807::-;14836:4;14874:3;14863:9;14859:19;14851:27;;14888:71;14956:1;14945:9;14941:17;14932:6;14888:71;:::i;:::-;14969:72;15037:2;15026:9;15022:18;15013:6;14969:72;:::i;:::-;15051:80;15127:2;15116:9;15112:18;15103:6;15051:80;:::i;:::-;15141;15217:2;15206:9;15202:18;15193:6;15141:80;:::i;:::-;15231:73;15299:3;15288:9;15284:19;15275:6;15231:73;:::i;:::-;15314;15382:3;15371:9;15367:19;15358:6;15314:73;:::i;:::-;14587:807;;;;;;;;;:::o;15400:143::-;15457:5;15488:6;15482:13;15473:22;;15504:33;15531:5;15504:33;:::i;:::-;15400:143;;;;:::o;15549:663::-;15637:6;15645;15653;15702:2;15690:9;15681:7;15677:23;15673:32;15670:119;;;15708:79;;:::i;:::-;15670:119;15828:1;15853:64;15909:7;15900:6;15889:9;15885:22;15853:64;:::i;:::-;15843:74;;15799:128;15966:2;15992:64;16048:7;16039:6;16028:9;16024:22;15992:64;:::i;:::-;15982:74;;15937:129;16105:2;16131:64;16187:7;16178:6;16167:9;16163:22;16131:64;:::i;:::-;16121:74;;16076:129;15549:663;;;;;:::o;16218:332::-;16339:4;16377:2;16366:9;16362:18;16354:26;;16390:71;16458:1;16447:9;16443:17;16434:6;16390:71;:::i;:::-;16471:72;16539:2;16528:9;16524:18;16515:6;16471:72;:::i;:::-;16218:332;;;;;:::o;16556:223::-;16696:34;16692:1;16684:6;16680:14;16673:58;16765:6;16760:2;16752:6;16748:15;16741:31;16556:223;:::o;16785:366::-;16927:3;16948:67;17012:2;17007:3;16948:67;:::i;:::-;16941:74;;17024:93;17113:3;17024:93;:::i;:::-;17142:2;17137:3;17133:12;17126:19;;16785:366;;;:::o;17157:419::-;17323:4;17361:2;17350:9;17346:18;17338:26;;17410:9;17404:4;17400:20;17396:1;17385:9;17381:17;17374:47;17438:131;17564:4;17438:131;:::i;:::-;17430:139;;17157:419;;;:::o;17582:221::-;17722:34;17718:1;17710:6;17706:14;17699:58;17791:4;17786:2;17778:6;17774:15;17767:29;17582:221;:::o;17809:366::-;17951:3;17972:67;18036:2;18031:3;17972:67;:::i;:::-;17965:74;;18048:93;18137:3;18048:93;:::i;:::-;18166:2;18161:3;18157:12;18150:19;;17809:366;;;:::o;18181:419::-;18347:4;18385:2;18374:9;18370:18;18362:26;;18434:9;18428:4;18424:20;18420:1;18409:9;18405:17;18398:47;18462:131;18588:4;18462:131;:::i;:::-;18454:139;;18181:419;;;:::o;18606:224::-;18746:34;18742:1;18734:6;18730:14;18723:58;18815:7;18810:2;18802:6;18798:15;18791:32;18606:224;:::o;18836:366::-;18978:3;18999:67;19063:2;19058:3;18999:67;:::i;:::-;18992:74;;19075:93;19164:3;19075:93;:::i;:::-;19193:2;19188:3;19184:12;19177:19;;18836:366;;;:::o;19208:419::-;19374:4;19412:2;19401:9;19397:18;19389:26;;19461:9;19455:4;19451:20;19447:1;19436:9;19432:17;19425:47;19489:131;19615:4;19489:131;:::i;:::-;19481:139;;19208:419;;;:::o;19633:222::-;19773:34;19769:1;19761:6;19757:14;19750:58;19842:5;19837:2;19829:6;19825:15;19818:30;19633:222;:::o;19861:366::-;20003:3;20024:67;20088:2;20083:3;20024:67;:::i;:::-;20017:74;;20100:93;20189:3;20100:93;:::i;:::-;20218:2;20213:3;20209:12;20202:19;;19861:366;;;:::o;20233:419::-;20399:4;20437:2;20426:9;20422:18;20414:26;;20486:9;20480:4;20476:20;20472:1;20461:9;20457:17;20450:47;20514:131;20640:4;20514:131;:::i;:::-;20506:139;;20233:419;;;:::o;20658:228::-;20798:34;20794:1;20786:6;20782:14;20775:58;20867:11;20862:2;20854:6;20850:15;20843:36;20658:228;:::o;20892:366::-;21034:3;21055:67;21119:2;21114:3;21055:67;:::i;:::-;21048:74;;21131:93;21220:3;21131:93;:::i;:::-;21249:2;21244:3;21240:12;21233:19;;20892:366;;;:::o;21264:419::-;21430:4;21468:2;21457:9;21453:18;21445:26;;21517:9;21511:4;21507:20;21503:1;21492:9;21488:17;21481:47;21545:131;21671:4;21545:131;:::i;:::-;21537:139;;21264:419;;;:::o;21689:297::-;21829:34;21825:1;21817:6;21813:14;21806:58;21898:34;21893:2;21885:6;21881:15;21874:59;21967:11;21962:2;21954:6;21950:15;21943:36;21689:297;:::o;21992:366::-;22134:3;22155:67;22219:2;22214:3;22155:67;:::i;:::-;22148:74;;22231:93;22320:3;22231:93;:::i;:::-;22349:2;22344:3;22340:12;22333:19;;21992:366;;;:::o;22364:419::-;22530:4;22568:2;22557:9;22553:18;22545:26;;22617:9;22611:4;22607:20;22603:1;22592:9;22588:17;22581:47;22645:131;22771:4;22645:131;:::i;:::-;22637:139;;22364:419;;;:::o;22789:175::-;22929:27;22925:1;22917:6;22913:14;22906:51;22789:175;:::o;22970:366::-;23112:3;23133:67;23197:2;23192:3;23133:67;:::i;:::-;23126:74;;23209:93;23298:3;23209:93;:::i;:::-;23327:2;23322:3;23318:12;23311:19;;22970:366;;;:::o;23342:419::-;23508:4;23546:2;23535:9;23531:18;23523:26;;23595:9;23589:4;23585:20;23581:1;23570:9;23566:17;23559:47;23623:131;23749:4;23623:131;:::i;:::-;23615:139;;23342:419;;;:::o;23767:191::-;23807:3;23826:20;23844:1;23826:20;:::i;:::-;23821:25;;23860:20;23878:1;23860:20;:::i;:::-;23855:25;;23903:1;23900;23896:9;23889:16;;23924:3;23921:1;23918:10;23915:36;;;23931:18;;:::i;:::-;23915:36;23767:191;;;;:::o;23964:176::-;24104:28;24100:1;24092:6;24088:14;24081:52;23964:176;:::o;24146:366::-;24288:3;24309:67;24373:2;24368:3;24309:67;:::i;:::-;24302:74;;24385:93;24474:3;24385:93;:::i;:::-;24503:2;24498:3;24494:12;24487:19;;24146:366;;;:::o;24518:419::-;24684:4;24722:2;24711:9;24707:18;24699:26;;24771:9;24765:4;24761:20;24757:1;24746:9;24742:17;24735:47;24799:131;24925:4;24799:131;:::i;:::-;24791:139;;24518:419;;;:::o;24943:233::-;24982:3;25005:24;25023:5;25005:24;:::i;:::-;24996:33;;25051:66;25044:5;25041:77;25038:103;;25121:18;;:::i;:::-;25038:103;25168:1;25161:5;25157:13;25150:20;;24943:233;;;:::o;25182:194::-;25222:4;25242:20;25260:1;25242:20;:::i;:::-;25237:25;;25276:20;25294:1;25276:20;:::i;:::-;25271:25;;25320:1;25317;25313:9;25305:17;;25344:1;25338:4;25335:11;25332:37;;;25349:18;;:::i;:::-;25332:37;25182:194;;;;:::o;25382:180::-;25430:77;25427:1;25420:88;25527:4;25524:1;25517:15;25551:4;25548:1;25541:15;25568:180;25616:77;25613:1;25606:88;25713:4;25710:1;25703:15;25737:4;25734:1;25727:15;25754:114;25821:6;25855:5;25849:12;25839:22;;25754:114;;;:::o;25874:184::-;25973:11;26007:6;26002:3;25995:19;26047:4;26042:3;26038:14;26023:29;;25874:184;;;;:::o;26064:132::-;26131:4;26154:3;26146:11;;26184:4;26179:3;26175:14;26167:22;;26064:132;;;:::o;26202:108::-;26279:24;26297:5;26279:24;:::i;:::-;26274:3;26267:37;26202:108;;:::o;26316:179::-;26385:10;26406:46;26448:3;26440:6;26406:46;:::i;:::-;26484:4;26479:3;26475:14;26461:28;;26316:179;;;;:::o;26501:113::-;26571:4;26603;26598:3;26594:14;26586:22;;26501:113;;;:::o;26650:732::-;26769:3;26798:54;26846:5;26798:54;:::i;:::-;26868:86;26947:6;26942:3;26868:86;:::i;:::-;26861:93;;26978:56;27028:5;26978:56;:::i;:::-;27057:7;27088:1;27073:284;27098:6;27095:1;27092:13;27073:284;;;27174:6;27168:13;27201:63;27260:3;27245:13;27201:63;:::i;:::-;27194:70;;27287:60;27340:6;27287:60;:::i;:::-;27277:70;;27133:224;27120:1;27117;27113:9;27108:14;;27073:284;;;27077:14;27373:3;27366:10;;26774:608;;;26650:732;;;;:::o;27388:831::-;27651:4;27689:3;27678:9;27674:19;27666:27;;27703:71;27771:1;27760:9;27756:17;27747:6;27703:71;:::i;:::-;27784:80;27860:2;27849:9;27845:18;27836:6;27784:80;:::i;:::-;27911:9;27905:4;27901:20;27896:2;27885:9;27881:18;27874:48;27939:108;28042:4;28033:6;27939:108;:::i;:::-;27931:116;;28057:72;28125:2;28114:9;28110:18;28101:6;28057:72;:::i;:::-;28139:73;28207:3;28196:9;28192:19;28183:6;28139:73;:::i;:::-;27388:831;;;;;;;;:::o;28225:180::-;28273:77;28270:1;28263:88;28370:4;28367:1;28360:15;28394:4;28391:1;28384:15;28411:185;28451:1;28468:20;28486:1;28468:20;:::i;:::-;28463:25;;28502:20;28520:1;28502:20;:::i;:::-;28497:25;;28541:1;28531:35;;28546:18;;:::i;:::-;28531:35;28588:1;28585;28581:9;28576:14;;28411:185;;;;:::o;28602:220::-;28742:34;28738:1;28730:6;28726:14;28719:58;28811:3;28806:2;28798:6;28794:15;28787:28;28602:220;:::o;28828:366::-;28970:3;28991:67;29055:2;29050:3;28991:67;:::i;:::-;28984:74;;29067:93;29156:3;29067:93;:::i;:::-;29185:2;29180:3;29176:12;29169:19;;28828:366;;;:::o;29200:419::-;29366:4;29404:2;29393:9;29389:18;29381:26;;29453:9;29447:4;29443:20;29439:1;29428:9;29424:17;29417:47;29481:131;29607:4;29481:131;:::i;:::-;29473:139;;29200:419;;;:::o;29625:177::-;29765:29;29761:1;29753:6;29749:14;29742:53;29625:177;:::o;29808:366::-;29950:3;29971:67;30035:2;30030:3;29971:67;:::i;:::-;29964:74;;30047:93;30136:3;30047:93;:::i;:::-;30165:2;30160:3;30156:12;30149:19;;29808:366;;;:::o;30180:419::-;30346:4;30384:2;30373:9;30369:18;30361:26;;30433:9;30427:4;30423:20;30419:1;30408:9;30404:17;30397:47;30461:131;30587:4;30461:131;:::i;:::-;30453:139;;30180:419;;;:::o
Swarm Source
ipfs://83dc2ab4ec2616c72a3e7f817973127ceca2968087536c017fa0af0f81081413
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.