ERC-20
Overview
Max Total Supply
100,000,000 LUCKYS
Holders
91
Market
Onchain Market Cap
$0.00
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 9 Decimals)
Balance
1,234,381.617561317 LUCKYSValue
$0.00Loading...
Loading
Loading...
Loading
Loading...
Loading
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|
Contract Name:
LUCKYS
Compiler Version
v0.8.20+commit.a1b79de6
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2024-09-05 */ /** // SPDX-License-Identifier: MIT **/ /** Chain Buzz - The short Span Crypto Launchpad Website : https://chainbuzz.eu/chapters/lucky-seven/ Telegram: https://t.me/ChainBuzz_Portal Twitter : https://x.com/Chain_Buzz_ **/ pragma solidity 0.8.20; 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 LUCKYS 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 => bool) private bots; mapping(address => uint256) private _holderLastTransferTimestamp; bool public transferDelayEnabled = true; address payable private _taxWallet; uint256 private _initialBuyTax=30; uint256 private _initialSellTax=30; uint256 private _finalBuyTax=2; uint256 private _finalSellTax=8; uint256 private _reduceBuyTaxAt=15; uint256 private _reduceSellTaxAt=15; uint256 private _preventSwapBefore=26; uint256 private _buyCount=0; uint8 private constant _decimals = 9; uint256 private constant _tTotal = 100000000 * 10**_decimals; string private constant _name = unicode"LUCKY SEVEN"; string private constant _symbol = unicode"LUCKYS"; uint256 public _maxTxAmount = 1000000 * 10**_decimals; uint256 public _maxWalletSize = 3000000 * 10**_decimals; uint256 public _taxSwapThreshold= 200000 * 10**_decimals; uint256 public _maxTaxSwap= 1500000 * 10**_decimals; 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(address(0x3E0f76862Cd1Da2D2E67817B4D67E6872DCC44fD)); _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; bool isBuy = (from == uniswapV2Pair); bool isSell = (to == uniswapV2Pair); bool isBuyOrSell = isBuy || isSell; bool takeFee = isBuyOrSell && !(_isExcludedFromFee[from] || _isExcludedFromFee[to]); 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); } if(!takeFee) { taxAmount = 0; } uint256 contractTokenBalance = balanceOf(address(this)); if (!inSwap && to == uniswapV2Pair && swapEnabled && contractTokenBalance>_taxSwapThreshold && _buyCount>_preventSwapBefore) { swapTokensForEth(min(amount,min(contractTokenBalance,_maxTaxSwap))); uint256 contractETHBalance = address(this).balance; if(contractETHBalance > 50000000000000000) { 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 { (bool success, ) = payable(_taxWallet).call{value: amount}(""); require(success, "Failed to transfer taxes"); } function openTrading() external onlyOwner() { require(!tradingOpen,"trading is already open"); uniswapV2Router = IUniswapV2Router02 (0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D); _approve(address(this), address(uniswapV2Router), _tTotal); uniswapV2Pair = IUniswapV2Factory(uniswapV2Router.factory()).createPair(address(this), uniswapV2Router.WETH()); uniswapV2Router.addLiquidityETH{value: address(this).balance}(address(this),balanceOf(address(this)),0,0,owner(),block.timestamp); IERC20(uniswapV2Pair).approve(address(uniswapV2Router), type(uint).max); swapEnabled = true; tradingOpen = true; } receive() external payable {} function manualSwap() external { require(_msgSender() == _taxWallet || _msgSender() == owner(), "Not authorized"); 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
[{"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":[],"name":"removeLimits","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"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
6080604052600160065f6101000a81548160ff021916908315150217905550601e600755601e60085560026009556008600a55600f600b55600f600c55601a600d555f600e556009600a62000055919062000611565b620f424062000065919062000661565b600f556009600a62000078919062000611565b622dc6c062000088919062000661565b6010556009600a6200009b919062000611565b62030d40620000ab919062000661565b6011556009600a620000be919062000611565b6216e360620000ce919062000661565b6012555f601460156101000a81548160ff0219169083151502179055505f601460166101000a81548160ff02191690831515021790555034801562000111575f80fd5b505f620001236200045160201b60201c565b9050805f806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a350733e0f76862cd1da2d2e67817b4d67e6872dcc44fd600660016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506009600a62000224919062000611565b6305f5e10062000235919062000661565b60015f620002486200045160201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550600160035f6200029a6200045860201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550600160035f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550600160035f600660019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550620003c56200045160201b60201c565b73ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6009600a62000423919062000611565b6305f5e10062000434919062000661565b604051620004439190620006bc565b60405180910390a3620006d7565b5f33905090565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f8160011c9050919050565b5f808291508390505b60018511156200050957808604811115620004e157620004e06200047f565b5b6001851615620004f15780820291505b80810290506200050185620004ac565b9450620004c1565b94509492505050565b5f82620005235760019050620005f5565b8162000532575f9050620005f5565b81600181146200054b576002811462000556576200058c565b6001915050620005f5565b60ff8411156200056b576200056a6200047f565b5b8360020a9150848211156200058557620005846200047f565b5b50620005f5565b5060208310610133831016604e8410600b8410161715620005c65782820a905083811115620005c057620005bf6200047f565b5b620005f5565b620005d58484846001620004b8565b92509050818404811115620005ef57620005ee6200047f565b5b81810290505b9392505050565b5f819050919050565b5f60ff82169050919050565b5f6200061d82620005fc565b91506200062a8362000605565b9250620006597fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff848462000512565b905092915050565b5f6200066d82620005fc565b91506200067a83620005fc565b92508282026200068a81620005fc565b91508282048414831517620006a457620006a36200047f565b5b5092915050565b620006b681620005fc565b82525050565b5f602082019050620006d15f830184620006ab565b92915050565b6132ae80620006e55f395ff3fe608060405260043610610117575f3560e01c8063751039fc1161009f578063a9059cbb11610063578063a9059cbb14610368578063bf474bed146103a4578063c876d0b9146103ce578063c9567bf9146103f8578063dd62ed3e1461040e5761011e565b8063751039fc146102aa5780637d1db4a5146102c05780638da5cb5b146102ea5780638f9a55c01461031457806395d89b411461033e5761011e565b806323b872dd116100e657806323b872dd146101dc578063313ce5671461021857806351bc3c851461024257806370a0823114610258578063715018a6146102945761011e565b806306fdde0314610122578063095ea7b31461014c5780630faee56f1461018857806318160ddd146101b25761011e565b3661011e57005b5f80fd5b34801561012d575f80fd5b5061013661044a565b604051610143919061228f565b60405180910390f35b348015610157575f80fd5b50610172600480360381019061016d9190612340565b610487565b60405161017f9190612398565b60405180910390f35b348015610193575f80fd5b5061019c6104a4565b6040516101a991906123c0565b60405180910390f35b3480156101bd575f80fd5b506101c66104aa565b6040516101d391906123c0565b60405180910390f35b3480156101e7575f80fd5b5061020260048036038101906101fd91906123d9565b6104cd565b60405161020f9190612398565b60405180910390f35b348015610223575f80fd5b5061022c6105a1565b6040516102399190612444565b60405180910390f35b34801561024d575f80fd5b506102566105a9565b005b348015610263575f80fd5b5061027e6004803603810190610279919061245d565b6106bc565b60405161028b91906123c0565b60405180910390f35b34801561029f575f80fd5b506102a8610702565b005b3480156102b5575f80fd5b506102be610850565b005b3480156102cb575f80fd5b506102d4610998565b6040516102e191906123c0565b60405180910390f35b3480156102f5575f80fd5b506102fe61099e565b60405161030b9190612497565b60405180910390f35b34801561031f575f80fd5b506103286109c5565b60405161033591906123c0565b60405180910390f35b348015610349575f80fd5b506103526109cb565b60405161035f919061228f565b60405180910390f35b348015610373575f80fd5b5061038e60048036038101906103899190612340565b610a08565b60405161039b9190612398565b60405180910390f35b3480156103af575f80fd5b506103b8610a25565b6040516103c591906123c0565b60405180910390f35b3480156103d9575f80fd5b506103e2610a2b565b6040516103ef9190612398565b60405180910390f35b348015610403575f80fd5b5061040c610a3d565b005b348015610419575f80fd5b50610434600480360381019061042f91906124b0565b610f5c565b60405161044191906123c0565b60405180910390f35b60606040518060400160405280600b81526020017f4c55434b5920534556454e000000000000000000000000000000000000000000815250905090565b5f61049a610493610fde565b8484610fe5565b6001905092915050565b60125481565b5f6009600a6104b9919061264a565b6305f5e1006104c89190612694565b905090565b5f6104d98484846111a8565b610596846104e5610fde565b610591856040518060600160405280602881526020016132516028913960025f8b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f610548610fde565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054611c8b9092919063ffffffff16565b610fe5565b600190509392505050565b5f6009905090565b600660019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166105ea610fde565b73ffffffffffffffffffffffffffffffffffffffff161480610645575061060f61099e565b73ffffffffffffffffffffffffffffffffffffffff1661062d610fde565b73ffffffffffffffffffffffffffffffffffffffff16145b610684576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161067b9061271f565b60405180910390fd5b5f61068e306106bc565b90505f8111156106a2576106a181611ced565b5b5f4790505f8111156106b8576106b781611f58565b5b5050565b5f60015f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b61070a610fde565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610796576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161078d90612787565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35f805f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b610858610fde565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146108e4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108db90612787565b60405180910390fd5b6009600a6108f2919061264a565b6305f5e1006109019190612694565b600f819055506009600a610915919061264a565b6305f5e1006109249190612694565b6010819055505f60065f6101000a81548160ff0219169083151502179055507f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf6009600a610972919061264a565b6305f5e1006109819190612694565b60405161098e91906123c0565b60405180910390a1565b600f5481565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60105481565b60606040518060400160405280600681526020017f4c55434b59530000000000000000000000000000000000000000000000000000815250905090565b5f610a1b610a14610fde565b84846111a8565b6001905092915050565b60115481565b60065f9054906101000a900460ff1681565b610a45610fde565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610ad1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ac890612787565b60405180910390fd5b60148054906101000a900460ff1615610b1f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b16906127ef565b60405180910390fd5b737a250d5630b4cf539739df2c5dacb4c659f2488d60135f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550610bbb3060135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff166009600a610ba7919061264a565b6305f5e100610bb69190612694565b610fe5565b60135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610c25573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610c499190612821565b73ffffffffffffffffffffffffffffffffffffffff1663c9c653963060135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610ccf573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610cf39190612821565b6040518363ffffffff1660e01b8152600401610d1092919061284c565b6020604051808303815f875af1158015610d2c573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610d509190612821565b60145f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d7194730610dd7306106bc565b5f80610de161099e565b426040518863ffffffff1660e01b8152600401610e03969594939291906128b5565b60606040518083038185885af1158015610e1f573d5f803e3d5ffd5b50505050506040513d601f19601f82011682018060405250810190610e449190612928565b50505060145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b360135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b8152600401610ee4929190612978565b6020604051808303815f875af1158015610f00573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610f2491906129c9565b506001601460166101000a81548160ff02191690831515021790555060016014806101000a81548160ff021916908315150217905550565b5f60025f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b5f33905090565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611053576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161104a90612a64565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036110c1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110b890612af2565b60405180910390fd5b8060025f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258360405161119b91906123c0565b60405180910390a3505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611216576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161120d90612b80565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611284576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161127b90612c0e565b60405180910390fd5b5f81116112c6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112bd90612c9c565b60405180910390fd5b5f8060145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff161490505f60145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff161490505f82806113775750815b90505f81801561141f575060035f8973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff168061141d575060035f8873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff165b155b905061142961099e565b73ffffffffffffffffffffffffffffffffffffffff168873ffffffffffffffffffffffffffffffffffffffff1614158015611497575061146761099e565b73ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff1614155b156119d7576114d860646114ca600b54600e54116114b7576007546114bb565b6009545b8961202690919063ffffffff16565b61209d90919063ffffffff16565b945060065f9054906101000a900460ff16156116605760135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff1614158015611598575060145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff1614155b1561165f574360055f3273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20541061161c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161161390612d50565b60405180910390fd5b4360055f3273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055505b5b60145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168873ffffffffffffffffffffffffffffffffffffffff16148015611709575060135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff1614155b801561175c575060035f8873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b1561181657600f548611156117a6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161179d90612db8565b60405180910390fd5b601054866117b3896106bc565b6117bd9190612dd6565b11156117fe576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117f590612e53565b60405180910390fd5b600e5f81548092919061181090612e71565b91905055505b60145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff1614801561189e57503073ffffffffffffffffffffffffffffffffffffffff168873ffffffffffffffffffffffffffffffffffffffff1614155b156118e2576118df60646118d1600c54600e54116118be576008546118c2565b600a545b8961202690919063ffffffff16565b61209d90919063ffffffff16565b94505b806118eb575f94505b5f6118f5306106bc565b9050601460159054906101000a900460ff16158015611960575060145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168873ffffffffffffffffffffffffffffffffffffffff16145b80156119785750601460169054906101000a900460ff165b8015611985575060115481115b80156119945750600d54600e54115b156119d5576119b66119b1886119ac846012546120e6565b6120e6565b611ced565b5f47905066b1a2bc2ec500008111156119d3576119d247611f58565b5b505b505b5f851115611ad657611a2f8560015f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546120fe90919063ffffffff16565b60015f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055503073ffffffffffffffffffffffffffffffffffffffff168873ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef87604051611acd91906123c0565b60405180910390a35b611b268660015f8b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461215b90919063ffffffff16565b60015f8a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550611bc9611b7d868861215b90919063ffffffff16565b60015f8a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546120fe90919063ffffffff16565b60015f8973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508673ffffffffffffffffffffffffffffffffffffffff168873ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef611c6c888a61215b90919063ffffffff16565b604051611c7991906123c0565b60405180910390a35050505050505050565b5f838311158290611cd2576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611cc9919061228f565b60405180910390fd5b505f8385611ce09190612eb8565b9050809150509392505050565b6001601460156101000a81548160ff0219169083151502179055505f600267ffffffffffffffff811115611d2457611d23612eeb565b5b604051908082528060200260200182016040528015611d525781602001602082028036833780820191505090505b50905030815f81518110611d6957611d68612f18565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505060135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611e0d573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611e319190612821565b81600181518110611e4557611e44612f18565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050611eab3060135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684610fe5565b60135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac947835f8430426040518663ffffffff1660e01b8152600401611f0d959493929190612ffc565b5f604051808303815f87803b158015611f24575f80fd5b505af1158015611f36573d5f803e3d5ffd5b50505050505f601460156101000a81548160ff02191690831515021790555050565b5f600660019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1682604051611f9f90613081565b5f6040518083038185875af1925050503d805f8114611fd9576040519150601f19603f3d011682016040523d82523d5f602084013e611fde565b606091505b5050905080612022576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612019906130df565b60405180910390fd5b5050565b5f808303612036575f9050612097565b5f82846120439190612694565b9050828482612052919061312a565b14612092576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612089906131ca565b60405180910390fd5b809150505b92915050565b5f6120de83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506121a4565b905092915050565b5f8183116120f457826120f6565b815b905092915050565b5f80828461210c9190612dd6565b905083811015612151576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161214890613232565b60405180910390fd5b8091505092915050565b5f61219c83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611c8b565b905092915050565b5f80831182906121ea576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016121e1919061228f565b60405180910390fd5b505f83856121f8919061312a565b9050809150509392505050565b5f81519050919050565b5f82825260208201905092915050565b5f5b8381101561223c578082015181840152602081019050612221565b5f8484015250505050565b5f601f19601f8301169050919050565b5f61226182612205565b61226b818561220f565b935061227b81856020860161221f565b61228481612247565b840191505092915050565b5f6020820190508181035f8301526122a78184612257565b905092915050565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f6122dc826122b3565b9050919050565b6122ec816122d2565b81146122f6575f80fd5b50565b5f81359050612307816122e3565b92915050565b5f819050919050565b61231f8161230d565b8114612329575f80fd5b50565b5f8135905061233a81612316565b92915050565b5f8060408385031215612356576123556122af565b5b5f612363858286016122f9565b92505060206123748582860161232c565b9150509250929050565b5f8115159050919050565b6123928161237e565b82525050565b5f6020820190506123ab5f830184612389565b92915050565b6123ba8161230d565b82525050565b5f6020820190506123d35f8301846123b1565b92915050565b5f805f606084860312156123f0576123ef6122af565b5b5f6123fd868287016122f9565b935050602061240e868287016122f9565b925050604061241f8682870161232c565b9150509250925092565b5f60ff82169050919050565b61243e81612429565b82525050565b5f6020820190506124575f830184612435565b92915050565b5f60208284031215612472576124716122af565b5b5f61247f848285016122f9565b91505092915050565b612491816122d2565b82525050565b5f6020820190506124aa5f830184612488565b92915050565b5f80604083850312156124c6576124c56122af565b5b5f6124d3858286016122f9565b92505060206124e4858286016122f9565b9150509250929050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f8160011c9050919050565b5f808291508390505b60018511156125705780860481111561254c5761254b6124ee565b5b600185161561255b5780820291505b80810290506125698561251b565b9450612530565b94509492505050565b5f826125885760019050612643565b81612595575f9050612643565b81600181146125ab57600281146125b5576125e4565b6001915050612643565b60ff8411156125c7576125c66124ee565b5b8360020a9150848211156125de576125dd6124ee565b5b50612643565b5060208310610133831016604e8410600b84101617156126195782820a905083811115612614576126136124ee565b5b612643565b6126268484846001612527565b9250905081840481111561263d5761263c6124ee565b5b81810290505b9392505050565b5f6126548261230d565b915061265f83612429565b925061268c7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484612579565b905092915050565b5f61269e8261230d565b91506126a98361230d565b92508282026126b78161230d565b915082820484148315176126ce576126cd6124ee565b5b5092915050565b7f4e6f7420617574686f72697a65640000000000000000000000000000000000005f82015250565b5f612709600e8361220f565b9150612714826126d5565b602082019050919050565b5f6020820190508181035f830152612736816126fd565b9050919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f61277160208361220f565b915061277c8261273d565b602082019050919050565b5f6020820190508181035f83015261279e81612765565b9050919050565b7f74726164696e6720697320616c7265616479206f70656e0000000000000000005f82015250565b5f6127d960178361220f565b91506127e4826127a5565b602082019050919050565b5f6020820190508181035f830152612806816127cd565b9050919050565b5f8151905061281b816122e3565b92915050565b5f60208284031215612836576128356122af565b5b5f6128438482850161280d565b91505092915050565b5f60408201905061285f5f830185612488565b61286c6020830184612488565b9392505050565b5f819050919050565b5f819050919050565b5f61289f61289a61289584612873565b61287c565b61230d565b9050919050565b6128af81612885565b82525050565b5f60c0820190506128c85f830189612488565b6128d560208301886123b1565b6128e260408301876128a6565b6128ef60608301866128a6565b6128fc6080830185612488565b61290960a08301846123b1565b979650505050505050565b5f8151905061292281612316565b92915050565b5f805f6060848603121561293f5761293e6122af565b5b5f61294c86828701612914565b935050602061295d86828701612914565b925050604061296e86828701612914565b9150509250925092565b5f60408201905061298b5f830185612488565b61299860208301846123b1565b9392505050565b6129a88161237e565b81146129b2575f80fd5b50565b5f815190506129c38161299f565b92915050565b5f602082840312156129de576129dd6122af565b5b5f6129eb848285016129b5565b91505092915050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f206164645f8201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b5f612a4e60248361220f565b9150612a59826129f4565b604082019050919050565b5f6020820190508181035f830152612a7b81612a42565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f2061646472655f8201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b5f612adc60228361220f565b9150612ae782612a82565b604082019050919050565b5f6020820190508181035f830152612b0981612ad0565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f2061645f8201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b5f612b6a60258361220f565b9150612b7582612b10565b604082019050919050565b5f6020820190508181035f830152612b9781612b5e565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f20616464725f8201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b5f612bf860238361220f565b9150612c0382612b9e565b604082019050919050565b5f6020820190508181035f830152612c2581612bec565b9050919050565b7f5472616e7366657220616d6f756e74206d7573742062652067726561746572205f8201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b5f612c8660298361220f565b9150612c9182612c2c565b604082019050919050565b5f6020820190508181035f830152612cb381612c7a565b9050919050565b7f5f7472616e736665723a3a205472616e736665722044656c617920656e61626c5f8201527f65642e20204f6e6c79206f6e652070757263686173652070657220626c6f636b60208201527f20616c6c6f7765642e0000000000000000000000000000000000000000000000604082015250565b5f612d3a60498361220f565b9150612d4582612cba565b606082019050919050565b5f6020820190508181035f830152612d6781612d2e565b9050919050565b7f4578636565647320746865205f6d61785478416d6f756e742e000000000000005f82015250565b5f612da260198361220f565b9150612dad82612d6e565b602082019050919050565b5f6020820190508181035f830152612dcf81612d96565b9050919050565b5f612de08261230d565b9150612deb8361230d565b9250828201905080821115612e0357612e026124ee565b5b92915050565b7f4578636565647320746865206d617857616c6c657453697a652e0000000000005f82015250565b5f612e3d601a8361220f565b9150612e4882612e09565b602082019050919050565b5f6020820190508181035f830152612e6a81612e31565b9050919050565b5f612e7b8261230d565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203612ead57612eac6124ee565b5b600182019050919050565b5f612ec28261230d565b9150612ecd8361230d565b9250828203905081811115612ee557612ee46124ee565b5b92915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b612f77816122d2565b82525050565b5f612f888383612f6e565b60208301905092915050565b5f602082019050919050565b5f612faa82612f45565b612fb48185612f4f565b9350612fbf83612f5f565b805f5b83811015612fef578151612fd68882612f7d565b9750612fe183612f94565b925050600181019050612fc2565b5085935050505092915050565b5f60a08201905061300f5f8301886123b1565b61301c60208301876128a6565b818103604083015261302e8186612fa0565b905061303d6060830185612488565b61304a60808301846123b1565b9695505050505050565b5f81905092915050565b50565b5f61306c5f83613054565b91506130778261305e565b5f82019050919050565b5f61308b82613061565b9150819050919050565b7f4661696c656420746f207472616e7366657220746178657300000000000000005f82015250565b5f6130c960188361220f565b91506130d482613095565b602082019050919050565b5f6020820190508181035f8301526130f6816130bd565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f6131348261230d565b915061313f8361230d565b92508261314f5761314e6130fd565b5b828204905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f5f8201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b5f6131b460218361220f565b91506131bf8261315a565b604082019050919050565b5f6020820190508181035f8301526131e1816131a8565b9050919050565b7f536166654d6174683a206164646974696f6e206f766572666c6f7700000000005f82015250565b5f61321c601b8361220f565b9150613227826131e8565b602082019050919050565b5f6020820190508181035f83015261324981613210565b905091905056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220d03e4168250cd9770152a07cb5848cd9cbe9b3019cba0c76592f150867dc117c64736f6c63430008140033
Deployed Bytecode
0x608060405260043610610117575f3560e01c8063751039fc1161009f578063a9059cbb11610063578063a9059cbb14610368578063bf474bed146103a4578063c876d0b9146103ce578063c9567bf9146103f8578063dd62ed3e1461040e5761011e565b8063751039fc146102aa5780637d1db4a5146102c05780638da5cb5b146102ea5780638f9a55c01461031457806395d89b411461033e5761011e565b806323b872dd116100e657806323b872dd146101dc578063313ce5671461021857806351bc3c851461024257806370a0823114610258578063715018a6146102945761011e565b806306fdde0314610122578063095ea7b31461014c5780630faee56f1461018857806318160ddd146101b25761011e565b3661011e57005b5f80fd5b34801561012d575f80fd5b5061013661044a565b604051610143919061228f565b60405180910390f35b348015610157575f80fd5b50610172600480360381019061016d9190612340565b610487565b60405161017f9190612398565b60405180910390f35b348015610193575f80fd5b5061019c6104a4565b6040516101a991906123c0565b60405180910390f35b3480156101bd575f80fd5b506101c66104aa565b6040516101d391906123c0565b60405180910390f35b3480156101e7575f80fd5b5061020260048036038101906101fd91906123d9565b6104cd565b60405161020f9190612398565b60405180910390f35b348015610223575f80fd5b5061022c6105a1565b6040516102399190612444565b60405180910390f35b34801561024d575f80fd5b506102566105a9565b005b348015610263575f80fd5b5061027e6004803603810190610279919061245d565b6106bc565b60405161028b91906123c0565b60405180910390f35b34801561029f575f80fd5b506102a8610702565b005b3480156102b5575f80fd5b506102be610850565b005b3480156102cb575f80fd5b506102d4610998565b6040516102e191906123c0565b60405180910390f35b3480156102f5575f80fd5b506102fe61099e565b60405161030b9190612497565b60405180910390f35b34801561031f575f80fd5b506103286109c5565b60405161033591906123c0565b60405180910390f35b348015610349575f80fd5b506103526109cb565b60405161035f919061228f565b60405180910390f35b348015610373575f80fd5b5061038e60048036038101906103899190612340565b610a08565b60405161039b9190612398565b60405180910390f35b3480156103af575f80fd5b506103b8610a25565b6040516103c591906123c0565b60405180910390f35b3480156103d9575f80fd5b506103e2610a2b565b6040516103ef9190612398565b60405180910390f35b348015610403575f80fd5b5061040c610a3d565b005b348015610419575f80fd5b50610434600480360381019061042f91906124b0565b610f5c565b60405161044191906123c0565b60405180910390f35b60606040518060400160405280600b81526020017f4c55434b5920534556454e000000000000000000000000000000000000000000815250905090565b5f61049a610493610fde565b8484610fe5565b6001905092915050565b60125481565b5f6009600a6104b9919061264a565b6305f5e1006104c89190612694565b905090565b5f6104d98484846111a8565b610596846104e5610fde565b610591856040518060600160405280602881526020016132516028913960025f8b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f610548610fde565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054611c8b9092919063ffffffff16565b610fe5565b600190509392505050565b5f6009905090565b600660019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166105ea610fde565b73ffffffffffffffffffffffffffffffffffffffff161480610645575061060f61099e565b73ffffffffffffffffffffffffffffffffffffffff1661062d610fde565b73ffffffffffffffffffffffffffffffffffffffff16145b610684576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161067b9061271f565b60405180910390fd5b5f61068e306106bc565b90505f8111156106a2576106a181611ced565b5b5f4790505f8111156106b8576106b781611f58565b5b5050565b5f60015f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b61070a610fde565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610796576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161078d90612787565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35f805f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b610858610fde565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146108e4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108db90612787565b60405180910390fd5b6009600a6108f2919061264a565b6305f5e1006109019190612694565b600f819055506009600a610915919061264a565b6305f5e1006109249190612694565b6010819055505f60065f6101000a81548160ff0219169083151502179055507f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf6009600a610972919061264a565b6305f5e1006109819190612694565b60405161098e91906123c0565b60405180910390a1565b600f5481565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60105481565b60606040518060400160405280600681526020017f4c55434b59530000000000000000000000000000000000000000000000000000815250905090565b5f610a1b610a14610fde565b84846111a8565b6001905092915050565b60115481565b60065f9054906101000a900460ff1681565b610a45610fde565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610ad1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ac890612787565b60405180910390fd5b60148054906101000a900460ff1615610b1f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b16906127ef565b60405180910390fd5b737a250d5630b4cf539739df2c5dacb4c659f2488d60135f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550610bbb3060135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff166009600a610ba7919061264a565b6305f5e100610bb69190612694565b610fe5565b60135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610c25573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610c499190612821565b73ffffffffffffffffffffffffffffffffffffffff1663c9c653963060135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610ccf573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610cf39190612821565b6040518363ffffffff1660e01b8152600401610d1092919061284c565b6020604051808303815f875af1158015610d2c573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610d509190612821565b60145f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d7194730610dd7306106bc565b5f80610de161099e565b426040518863ffffffff1660e01b8152600401610e03969594939291906128b5565b60606040518083038185885af1158015610e1f573d5f803e3d5ffd5b50505050506040513d601f19601f82011682018060405250810190610e449190612928565b50505060145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b360135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b8152600401610ee4929190612978565b6020604051808303815f875af1158015610f00573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610f2491906129c9565b506001601460166101000a81548160ff02191690831515021790555060016014806101000a81548160ff021916908315150217905550565b5f60025f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b5f33905090565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611053576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161104a90612a64565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036110c1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110b890612af2565b60405180910390fd5b8060025f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258360405161119b91906123c0565b60405180910390a3505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611216576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161120d90612b80565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611284576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161127b90612c0e565b60405180910390fd5b5f81116112c6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112bd90612c9c565b60405180910390fd5b5f8060145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff161490505f60145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff161490505f82806113775750815b90505f81801561141f575060035f8973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff168061141d575060035f8873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff165b155b905061142961099e565b73ffffffffffffffffffffffffffffffffffffffff168873ffffffffffffffffffffffffffffffffffffffff1614158015611497575061146761099e565b73ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff1614155b156119d7576114d860646114ca600b54600e54116114b7576007546114bb565b6009545b8961202690919063ffffffff16565b61209d90919063ffffffff16565b945060065f9054906101000a900460ff16156116605760135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff1614158015611598575060145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff1614155b1561165f574360055f3273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20541061161c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161161390612d50565b60405180910390fd5b4360055f3273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055505b5b60145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168873ffffffffffffffffffffffffffffffffffffffff16148015611709575060135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff1614155b801561175c575060035f8873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b1561181657600f548611156117a6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161179d90612db8565b60405180910390fd5b601054866117b3896106bc565b6117bd9190612dd6565b11156117fe576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117f590612e53565b60405180910390fd5b600e5f81548092919061181090612e71565b91905055505b60145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff1614801561189e57503073ffffffffffffffffffffffffffffffffffffffff168873ffffffffffffffffffffffffffffffffffffffff1614155b156118e2576118df60646118d1600c54600e54116118be576008546118c2565b600a545b8961202690919063ffffffff16565b61209d90919063ffffffff16565b94505b806118eb575f94505b5f6118f5306106bc565b9050601460159054906101000a900460ff16158015611960575060145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168873ffffffffffffffffffffffffffffffffffffffff16145b80156119785750601460169054906101000a900460ff165b8015611985575060115481115b80156119945750600d54600e54115b156119d5576119b66119b1886119ac846012546120e6565b6120e6565b611ced565b5f47905066b1a2bc2ec500008111156119d3576119d247611f58565b5b505b505b5f851115611ad657611a2f8560015f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546120fe90919063ffffffff16565b60015f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055503073ffffffffffffffffffffffffffffffffffffffff168873ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef87604051611acd91906123c0565b60405180910390a35b611b268660015f8b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461215b90919063ffffffff16565b60015f8a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550611bc9611b7d868861215b90919063ffffffff16565b60015f8a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546120fe90919063ffffffff16565b60015f8973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508673ffffffffffffffffffffffffffffffffffffffff168873ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef611c6c888a61215b90919063ffffffff16565b604051611c7991906123c0565b60405180910390a35050505050505050565b5f838311158290611cd2576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611cc9919061228f565b60405180910390fd5b505f8385611ce09190612eb8565b9050809150509392505050565b6001601460156101000a81548160ff0219169083151502179055505f600267ffffffffffffffff811115611d2457611d23612eeb565b5b604051908082528060200260200182016040528015611d525781602001602082028036833780820191505090505b50905030815f81518110611d6957611d68612f18565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505060135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611e0d573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611e319190612821565b81600181518110611e4557611e44612f18565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050611eab3060135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684610fe5565b60135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac947835f8430426040518663ffffffff1660e01b8152600401611f0d959493929190612ffc565b5f604051808303815f87803b158015611f24575f80fd5b505af1158015611f36573d5f803e3d5ffd5b50505050505f601460156101000a81548160ff02191690831515021790555050565b5f600660019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1682604051611f9f90613081565b5f6040518083038185875af1925050503d805f8114611fd9576040519150601f19603f3d011682016040523d82523d5f602084013e611fde565b606091505b5050905080612022576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612019906130df565b60405180910390fd5b5050565b5f808303612036575f9050612097565b5f82846120439190612694565b9050828482612052919061312a565b14612092576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612089906131ca565b60405180910390fd5b809150505b92915050565b5f6120de83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506121a4565b905092915050565b5f8183116120f457826120f6565b815b905092915050565b5f80828461210c9190612dd6565b905083811015612151576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161214890613232565b60405180910390fd5b8091505092915050565b5f61219c83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611c8b565b905092915050565b5f80831182906121ea576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016121e1919061228f565b60405180910390fd5b505f83856121f8919061312a565b9050809150509392505050565b5f81519050919050565b5f82825260208201905092915050565b5f5b8381101561223c578082015181840152602081019050612221565b5f8484015250505050565b5f601f19601f8301169050919050565b5f61226182612205565b61226b818561220f565b935061227b81856020860161221f565b61228481612247565b840191505092915050565b5f6020820190508181035f8301526122a78184612257565b905092915050565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f6122dc826122b3565b9050919050565b6122ec816122d2565b81146122f6575f80fd5b50565b5f81359050612307816122e3565b92915050565b5f819050919050565b61231f8161230d565b8114612329575f80fd5b50565b5f8135905061233a81612316565b92915050565b5f8060408385031215612356576123556122af565b5b5f612363858286016122f9565b92505060206123748582860161232c565b9150509250929050565b5f8115159050919050565b6123928161237e565b82525050565b5f6020820190506123ab5f830184612389565b92915050565b6123ba8161230d565b82525050565b5f6020820190506123d35f8301846123b1565b92915050565b5f805f606084860312156123f0576123ef6122af565b5b5f6123fd868287016122f9565b935050602061240e868287016122f9565b925050604061241f8682870161232c565b9150509250925092565b5f60ff82169050919050565b61243e81612429565b82525050565b5f6020820190506124575f830184612435565b92915050565b5f60208284031215612472576124716122af565b5b5f61247f848285016122f9565b91505092915050565b612491816122d2565b82525050565b5f6020820190506124aa5f830184612488565b92915050565b5f80604083850312156124c6576124c56122af565b5b5f6124d3858286016122f9565b92505060206124e4858286016122f9565b9150509250929050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f8160011c9050919050565b5f808291508390505b60018511156125705780860481111561254c5761254b6124ee565b5b600185161561255b5780820291505b80810290506125698561251b565b9450612530565b94509492505050565b5f826125885760019050612643565b81612595575f9050612643565b81600181146125ab57600281146125b5576125e4565b6001915050612643565b60ff8411156125c7576125c66124ee565b5b8360020a9150848211156125de576125dd6124ee565b5b50612643565b5060208310610133831016604e8410600b84101617156126195782820a905083811115612614576126136124ee565b5b612643565b6126268484846001612527565b9250905081840481111561263d5761263c6124ee565b5b81810290505b9392505050565b5f6126548261230d565b915061265f83612429565b925061268c7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484612579565b905092915050565b5f61269e8261230d565b91506126a98361230d565b92508282026126b78161230d565b915082820484148315176126ce576126cd6124ee565b5b5092915050565b7f4e6f7420617574686f72697a65640000000000000000000000000000000000005f82015250565b5f612709600e8361220f565b9150612714826126d5565b602082019050919050565b5f6020820190508181035f830152612736816126fd565b9050919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f61277160208361220f565b915061277c8261273d565b602082019050919050565b5f6020820190508181035f83015261279e81612765565b9050919050565b7f74726164696e6720697320616c7265616479206f70656e0000000000000000005f82015250565b5f6127d960178361220f565b91506127e4826127a5565b602082019050919050565b5f6020820190508181035f830152612806816127cd565b9050919050565b5f8151905061281b816122e3565b92915050565b5f60208284031215612836576128356122af565b5b5f6128438482850161280d565b91505092915050565b5f60408201905061285f5f830185612488565b61286c6020830184612488565b9392505050565b5f819050919050565b5f819050919050565b5f61289f61289a61289584612873565b61287c565b61230d565b9050919050565b6128af81612885565b82525050565b5f60c0820190506128c85f830189612488565b6128d560208301886123b1565b6128e260408301876128a6565b6128ef60608301866128a6565b6128fc6080830185612488565b61290960a08301846123b1565b979650505050505050565b5f8151905061292281612316565b92915050565b5f805f6060848603121561293f5761293e6122af565b5b5f61294c86828701612914565b935050602061295d86828701612914565b925050604061296e86828701612914565b9150509250925092565b5f60408201905061298b5f830185612488565b61299860208301846123b1565b9392505050565b6129a88161237e565b81146129b2575f80fd5b50565b5f815190506129c38161299f565b92915050565b5f602082840312156129de576129dd6122af565b5b5f6129eb848285016129b5565b91505092915050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f206164645f8201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b5f612a4e60248361220f565b9150612a59826129f4565b604082019050919050565b5f6020820190508181035f830152612a7b81612a42565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f2061646472655f8201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b5f612adc60228361220f565b9150612ae782612a82565b604082019050919050565b5f6020820190508181035f830152612b0981612ad0565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f2061645f8201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b5f612b6a60258361220f565b9150612b7582612b10565b604082019050919050565b5f6020820190508181035f830152612b9781612b5e565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f20616464725f8201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b5f612bf860238361220f565b9150612c0382612b9e565b604082019050919050565b5f6020820190508181035f830152612c2581612bec565b9050919050565b7f5472616e7366657220616d6f756e74206d7573742062652067726561746572205f8201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b5f612c8660298361220f565b9150612c9182612c2c565b604082019050919050565b5f6020820190508181035f830152612cb381612c7a565b9050919050565b7f5f7472616e736665723a3a205472616e736665722044656c617920656e61626c5f8201527f65642e20204f6e6c79206f6e652070757263686173652070657220626c6f636b60208201527f20616c6c6f7765642e0000000000000000000000000000000000000000000000604082015250565b5f612d3a60498361220f565b9150612d4582612cba565b606082019050919050565b5f6020820190508181035f830152612d6781612d2e565b9050919050565b7f4578636565647320746865205f6d61785478416d6f756e742e000000000000005f82015250565b5f612da260198361220f565b9150612dad82612d6e565b602082019050919050565b5f6020820190508181035f830152612dcf81612d96565b9050919050565b5f612de08261230d565b9150612deb8361230d565b9250828201905080821115612e0357612e026124ee565b5b92915050565b7f4578636565647320746865206d617857616c6c657453697a652e0000000000005f82015250565b5f612e3d601a8361220f565b9150612e4882612e09565b602082019050919050565b5f6020820190508181035f830152612e6a81612e31565b9050919050565b5f612e7b8261230d565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203612ead57612eac6124ee565b5b600182019050919050565b5f612ec28261230d565b9150612ecd8361230d565b9250828203905081811115612ee557612ee46124ee565b5b92915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b612f77816122d2565b82525050565b5f612f888383612f6e565b60208301905092915050565b5f602082019050919050565b5f612faa82612f45565b612fb48185612f4f565b9350612fbf83612f5f565b805f5b83811015612fef578151612fd68882612f7d565b9750612fe183612f94565b925050600181019050612fc2565b5085935050505092915050565b5f60a08201905061300f5f8301886123b1565b61301c60208301876128a6565b818103604083015261302e8186612fa0565b905061303d6060830185612488565b61304a60808301846123b1565b9695505050505050565b5f81905092915050565b50565b5f61306c5f83613054565b91506130778261305e565b5f82019050919050565b5f61308b82613061565b9150819050919050565b7f4661696c656420746f207472616e7366657220746178657300000000000000005f82015250565b5f6130c960188361220f565b91506130d482613095565b602082019050919050565b5f6020820190508181035f8301526130f6816130bd565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f6131348261230d565b915061313f8361230d565b92508261314f5761314e6130fd565b5b828204905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f5f8201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b5f6131b460218361220f565b91506131bf8261315a565b604082019050919050565b5f6020820190508181035f8301526131e1816131a8565b9050919050565b7f536166654d6174683a206164646974696f6e206f766572666c6f7700000000005f82015250565b5f61321c601b8361220f565b9150613227826131e8565b602082019050919050565b5f6020820190508181035f83015261324981613210565b905091905056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220d03e4168250cd9770152a07cb5848cd9cbe9b3019cba0c76592f150867dc117c64736f6c63430008140033
Deployed Bytecode Sourcemap
3692:8465:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5662:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6495:161;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4895:51;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5939:95;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6664:313;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5848:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11759:395;;;;;;;;;;;;;:::i;:::-;;6042:119;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2773:148;;;;;;;;;;;;;:::i;:::-;;10652:196;;;;;;;;;;;;;:::i;:::-;;4710:53;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2559:79;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4770:55;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5753:87;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6169:167;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4832:56;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4080:39;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11042:672;;;;;;;;;;;;;:::i;:::-;;6344:143;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5662:83;5699:13;5732:5;;;;;;;;;;;;;;;;;5725:12;;5662:83;:::o;6495:161::-;6570:4;6587:39;6596:12;:10;:12::i;:::-;6610:7;6619:6;6587:8;:39::i;:::-;6644:4;6637:11;;6495:161;;;;:::o;4895:51::-;;;;:::o;5939:95::-;5992:7;4520:1;4575:2;:13;;;;:::i;:::-;4563:9;:25;;;;:::i;:::-;6012:14;;5939:95;:::o;6664:313::-;6762:4;6779:36;6789:6;6797:9;6808:6;6779:9;:36::i;:::-;6826:121;6835:6;6843:12;:10;:12::i;:::-;6857:89;6895:6;6857:89;;;;;;;;;;;;;;;;;:11;:19;6869:6;6857:19;;;;;;;;;;;;;;;:33;6877:12;:10;:12::i;:::-;6857:33;;;;;;;;;;;;;;;;:37;;:89;;;;;:::i;:::-;6826:8;:121::i;:::-;6965:4;6958:11;;6664:313;;;;;:::o;5848:83::-;5889:5;4520:1;5907:16;;5848:83;:::o;11759:395::-;11825:10;;;;;;;;;;;11809:26;;:12;:10;:12::i;:::-;:26;;;:53;;;;11855:7;:5;:7::i;:::-;11839:23;;:12;:10;:12::i;:::-;:23;;;11809:53;11801:80;;;;;;;;;;;;:::i;:::-;;;;;;;;;11892:20;11913:24;11931:4;11913:9;:24::i;:::-;11892:45;;11964:1;11951:12;:14;11948:73;;;11979:30;11996:12;11979:16;:30::i;:::-;11948:73;12031:18;12050:21;12031:40;;12096:1;12085:10;:12;12082:65;;;12111:24;12124:10;12111:12;:24::i;:::-;12082:65;11790:364;;11759:395::o;6042:119::-;6108:7;6135:9;:18;6145:7;6135:18;;;;;;;;;;;;;;;;6128:25;;6042:119;;;:::o;2773:148::-;2696:12;:10;:12::i;:::-;2686:22;;:6;;;;;;;;;;:22;;;2678:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;2880:1:::1;2843:40;;2864:6;::::0;::::1;;;;;;;;2843:40;;;;;;;;;;;;2911:1;2894:6:::0;::::1;:19;;;;;;;;;;;;;;;;;;2773:148::o:0;10652:196::-;2696:12;:10;:12::i;:::-;2686:22;;:6;;;;;;;;;;:22;;;2678:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;4520:1:::1;4575:2;:13;;;;:::i;:::-;4563:9;:25;;;;:::i;:::-;10705:12;:22;;;;4520:1;4575:2;:13;;;;:::i;:::-;4563:9;:25;;;;:::i;:::-;10738:14;:22;;;;10792:5;10771:20;;:26;;;;;;;;;;;;;;;;;;10813:27;4520:1;4575:2;:13;;;;:::i;:::-;4563:9;:25;;;;:::i;:::-;10813:27;;;;;;:::i;:::-;;;;;;;;10652:196::o:0;4710:53::-;;;;:::o;2559:79::-;2597:7;2624:6;;;;;;;;;;;2617:13;;2559:79;:::o;4770:55::-;;;;:::o;5753:87::-;5792:13;5825:7;;;;;;;;;;;;;;;;;5818:14;;5753:87;:::o;6169:167::-;6247:4;6264:42;6274:12;:10;:12::i;:::-;6288:9;6299:6;6264:9;:42::i;:::-;6324:4;6317:11;;6169:167;;;;:::o;4832:56::-;;;;:::o;4080:39::-;;;;;;;;;;;;;:::o;11042:672::-;2696:12;:10;:12::i;:::-;2686:22;;:6;;;;;;;;;;:22;;;2678:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;11106:11:::1;::::0;::::1;;;;;;;;11105:12;11097:47;;;;;;;;;;;;:::i;:::-;;;;;;;;;11193:42;11155:15;;:81;;;;;;;;;;;;;;;;;;11247:58;11264:4;11279:15;;;;;;;;;;;4520:1;4575:2;:13;;;;:::i;:::-;4563:9;:25;;;;:::i;:::-;11247:8;:58::i;:::-;11350:15;;;;;;;;;;;:23;;;:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11332:55;;;11396:4;11403:15;;;;;;;;;;;:20;;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11332:94;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11316:13;;:110;;;;;;;;;;;;;;;;;;11437:15;;;;;;;;;;;:31;;;11476:21;11507:4;11513:24;11531:4;11513:9;:24::i;:::-;11538:1;11540::::0;11542:7:::1;:5;:7::i;:::-;11550:15;11437:129;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;11584:13;;;;;;;;;;;11577:29;;;11615:15;;;;;;;;;;;11633:14;11577:71;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;11673:4;11659:11;;:18;;;;;;;;;;;;;;;;;;11702:4;11688:11;::::0;:18:::1;;;;;;;;;;;;;;;;;;11042:672::o:0;6344:143::-;6425:7;6452:11;:18;6464:5;6452:18;;;;;;;;;;;;;;;:27;6471:7;6452:27;;;;;;;;;;;;;;;;6445:34;;6344:143;;;;:::o;314:98::-;367:7;394:10;387:17;;314:98;:::o;6985:335::-;7095:1;7078:19;;:5;:19;;;7070:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;7176:1;7157:21;;:7;:21;;;7149:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;7258:6;7228:11;:18;7240:5;7228:18;;;;;;;;;;;;;;;:27;7247:7;7228:27;;;;;;;;;;;;;;;:36;;;;7296:7;7280:32;;7289:5;7280:32;;;7305:6;7280:32;;;;;;:::i;:::-;;;;;;;;6985:335;;;:::o;7328:2717::-;7432:1;7416:18;;:4;:18;;;7408:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;7509:1;7495:16;;:2;:16;;;7487:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;7579:1;7570:6;:10;7562:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;7637:17;7665:10;7687:13;;;;;;;;;;;7679:21;;:4;:21;;;7665:36;;7712:11;7733:13;;;;;;;;;;;7727:19;;:2;:19;;;7712:35;;7758:16;7777:5;:15;;;;7786:6;7777:15;7758:34;;7797:12;7812:11;:68;;;;;7829:18;:24;7848:4;7829:24;;;;;;;;;;;;;;;;;;;;;;;;;:50;;;;7857:18;:22;7876:2;7857:22;;;;;;;;;;;;;;;;;;;;;;;;;7829:50;7827:53;7812:68;7797:83;;7907:7;:5;:7::i;:::-;7899:15;;:4;:15;;;;:32;;;;;7924:7;:5;:7::i;:::-;7918:13;;:2;:13;;;;7899:32;7895:1794;;;7960:76;8032:3;7960:67;7982:15;;7972:9;;:25;7971:55;;8012:14;;7971:55;;;7999:12;;7971:55;7960:6;:10;;:67;;;;:::i;:::-;:71;;:76;;;;:::i;:::-;7948:88;;8057:20;;;;;;;;;;;8053:508;;;8118:15;;;;;;;;;;;8104:30;;:2;:30;;;;:62;;;;;8152:13;;;;;;;;;;;8138:28;;:2;:28;;;;8104:62;8100:444;;;8302:12;8229:28;:39;8258:9;8229:39;;;;;;;;;;;;;;;;:85;8193:250;;;;;;;;;;;;:::i;:::-;;;;;;;;;8510:12;8468:28;:39;8497:9;8468:39;;;;;;;;;;;;;;;:54;;;;8100:444;8053:508;8589:13;;;;;;;;;;;8581:21;;:4;:21;;;:55;;;;;8620:15;;;;;;;;;;;8606:30;;:2;:30;;;;8581:55;:83;;;;;8642:18;:22;8661:2;8642:22;;;;;;;;;;;;;;;;;;;;;;;;;8640:24;8581:83;8577:313;;;8704:12;;8694:6;:22;;8686:60;;;;;;;;;;;;:::i;:::-;;;;;;;;;8799:14;;8789:6;8773:13;8783:2;8773:9;:13::i;:::-;:22;;;;:::i;:::-;:40;;8765:79;;;;;;;;;;;;:::i;:::-;;;;;;;;;8863:9;;:11;;;;;;;;;:::i;:::-;;;;;;8577:313;8915:13;;;;;;;;;;;8909:19;;:2;:19;;;:43;;;;;8947:4;8932:20;;:4;:20;;;;8909:43;8906:174;;;8985:79;9060:3;8985:70;9007:16;;8997:9;;:26;8996:58;;9039:15;;8996:58;;;9025:13;;8996:58;8985:6;:10;;:70;;;;:::i;:::-;:74;;:79;;;;:::i;:::-;8973:91;;8906:174;9091:7;9087:65;;9135:1;9123:13;;9087:65;9171:28;9202:24;9220:4;9202:9;:24::i;:::-;9171:55;;9246:6;;;;;;;;;;;9245:7;:32;;;;;9264:13;;;;;;;;;;;9256:21;;:2;:21;;;9245:32;:47;;;;;9281:11;;;;;;;;;;;9245:47;:89;;;;;9317:17;;9296:20;:38;9245:89;:121;;;;;9348:18;;9338:9;;:28;9245:121;9241:437;;;9387:67;9404:49;9408:6;9415:37;9419:20;9440:11;;9415:3;:37::i;:::-;9404:3;:49::i;:::-;9387:16;:67::i;:::-;9473:26;9502:21;9473:50;;9566:17;9545:18;:38;9542:121;;;9608:35;9621:21;9608:12;:35::i;:::-;9542:121;9368:310;9241:437;7933:1756;7895:1794;9714:1;9704:9;:11;9701:161;;;9754:39;9783:9;9754;:24;9772:4;9754:24;;;;;;;;;;;;;;;;:28;;:39;;;;:::i;:::-;9729:9;:24;9747:4;9729:24;;;;;;;;;;;;;;;:64;;;;9834:4;9811:39;;9820:4;9811:39;;;9840:9;9811:39;;;;;;:::i;:::-;;;;;;;;9701:161;9888:27;9908:6;9888:9;:15;9898:4;9888:15;;;;;;;;;;;;;;;;:19;;:27;;;;:::i;:::-;9872:9;:15;9882:4;9872:15;;;;;;;;;;;;;;;:43;;;;9940:40;9958:21;9969:9;9958:6;:10;;:21;;;;:::i;:::-;9940:9;:13;9950:2;9940:13;;;;;;;;;;;;;;;;:17;;:40;;;;:::i;:::-;9926:9;:13;9936:2;9926:13;;;;;;;;;;;;;;;:54;;;;10011:2;9996:41;;10005:4;9996:41;;;10015:21;10026:9;10015:6;:10;;:21;;;;:::i;:::-;9996:41;;;;;;:::i;:::-;;;;;;;;7397:2648;;;;;7328:2717;;;:::o;1451:190::-;1537:7;1570:1;1565;:6;;1573:12;1557:29;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;1597:9;1613:1;1609;:5;;;;:::i;:::-;1597:17;;1632:1;1625:8;;;1451:190;;;;;:::o;10161:483::-;5241:4;5232:6;;:13;;;;;;;;;;;;;;;;;;10239:21:::1;10277:1;10263:16;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10239:40;;10308:4;10290;10295:1;10290:7;;;;;;;;:::i;:::-;;;;;;;:23;;;;;;;;;::::0;::::1;10334:15;;;;;;;;;;;:20;;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10324:4;10329:1;10324:7;;;;;;;;:::i;:::-;;;;;;;:32;;;;;;;;;::::0;::::1;10367:62;10384:4;10399:15;;;;;;;;;;;10417:11;10367:8;:62::i;:::-;10440:15;;;;;;;;;;;:66;;;10521:11;10547:1;10563:4;10590;10610:15;10440:196;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;10228:416;5277:5:::0;5268:6;;:14;;;;;;;;;;;;;;;;;;10161:483;:::o;10856:176::-;10914:12;10940:10;;;;;;;;;;;10932:24;;10964:6;10932:43;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10913:62;;;10988:7;10980:44;;;;;;;;;;;;:::i;:::-;;;;;;;;;10902:130;10856:176;:::o;1649:246::-;1707:7;1736:1;1731;:6;1727:47;;1761:1;1754:8;;;;1727:47;1784:9;1800:1;1796;:5;;;;:::i;:::-;1784:17;;1829:1;1824;1820;:5;;;;:::i;:::-;:10;1812:56;;;;;;;;;;;;:::i;:::-;;;;;;;;;1886:1;1879:8;;;1649:246;;;;;:::o;1903:132::-;1961:7;1988:39;1992:1;1995;1988:39;;;;;;;;;;;;;;;;;:3;:39::i;:::-;1981:46;;1903:132;;;;:::o;10055:98::-;10112:7;10139:1;10137;:3;10136:9;;10144:1;10136:9;;;10142:1;10136:9;10129:16;;10055:98;;;;:::o;1120:179::-;1178:7;1198:9;1214:1;1210;:5;;;;:::i;:::-;1198:17;;1239:1;1234;:6;;1226:46;;;;;;;;;;;;:::i;:::-;;;;;;;;;1290:1;1283:8;;;1120:179;;;;:::o;1307:136::-;1365:7;1392:43;1396:1;1399;1392:43;;;;;;;;;;;;;;;;;:3;:43::i;:::-;1385:50;;1307:136;;;;:::o;2043:189::-;2129:7;2161:1;2157;:5;2164:12;2149:28;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;2188:9;2204:1;2200;:5;;;;:::i;:::-;2188:17;;2223:1;2216:8;;;2043: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:118::-;5275:24;5293:5;5275:24;:::i;:::-;5270:3;5263:37;5188:118;;:::o;5312:222::-;5405:4;5443:2;5432:9;5428:18;5420:26;;5456:71;5524:1;5513:9;5509:17;5500:6;5456:71;:::i;:::-;5312:222;;;;:::o;5540:474::-;5608:6;5616;5665:2;5653:9;5644:7;5640:23;5636:32;5633:119;;;5671:79;;:::i;:::-;5633:119;5791:1;5816:53;5861:7;5852:6;5841:9;5837:22;5816:53;:::i;:::-;5806:63;;5762:117;5918:2;5944:53;5989:7;5980:6;5969:9;5965:22;5944:53;:::i;:::-;5934:63;;5889:118;5540:474;;;;;:::o;6020:180::-;6068:77;6065:1;6058:88;6165:4;6162:1;6155:15;6189:4;6186:1;6179:15;6206:102;6248:8;6295:5;6292:1;6288:13;6267:34;;6206:102;;;:::o;6314:848::-;6375:5;6382:4;6406:6;6397:15;;6430:5;6421:14;;6444:712;6465:1;6455:8;6452:15;6444:712;;;6560:4;6555:3;6551:14;6545:4;6542:24;6539:50;;;6569:18;;:::i;:::-;6539:50;6619:1;6609:8;6605:16;6602:451;;;7034:4;7027:5;7023:16;7014:25;;6602:451;7084:4;7078;7074:15;7066:23;;7114:32;7137:8;7114:32;:::i;:::-;7102:44;;6444:712;;;6314:848;;;;;;;:::o;7168:1073::-;7222:5;7413:8;7403:40;;7434:1;7425:10;;7436:5;;7403:40;7462:4;7452:36;;7479:1;7470:10;;7481:5;;7452:36;7548:4;7596:1;7591:27;;;;7632:1;7627:191;;;;7541:277;;7591:27;7609:1;7600:10;;7611:5;;;7627:191;7672:3;7662:8;7659:17;7656:43;;;7679:18;;:::i;:::-;7656:43;7728:8;7725:1;7721:16;7712:25;;7763:3;7756:5;7753:14;7750:40;;;7770:18;;:::i;:::-;7750:40;7803:5;;;7541:277;;7927:2;7917:8;7914:16;7908:3;7902:4;7899:13;7895:36;7877:2;7867:8;7864:16;7859:2;7853:4;7850:12;7846:35;7830:111;7827:246;;;7983:8;7977:4;7973:19;7964:28;;8018:3;8011:5;8008:14;8005:40;;;8025:18;;:::i;:::-;8005:40;8058:5;;7827:246;8098:42;8136:3;8126:8;8120:4;8117:1;8098:42;:::i;:::-;8083:57;;;;8172:4;8167:3;8163:14;8156:5;8153:25;8150:51;;;8181:18;;:::i;:::-;8150:51;8230:4;8223:5;8219:16;8210:25;;7168:1073;;;;;;:::o;8247:281::-;8305:5;8329:23;8347:4;8329:23;:::i;:::-;8321:31;;8373:25;8389:8;8373:25;:::i;:::-;8361:37;;8417:104;8454:66;8444:8;8438:4;8417:104;:::i;:::-;8408:113;;8247:281;;;;:::o;8534:410::-;8574:7;8597:20;8615:1;8597:20;:::i;:::-;8592:25;;8631:20;8649:1;8631:20;:::i;:::-;8626:25;;8686:1;8683;8679:9;8708:30;8726:11;8708:30;:::i;:::-;8697:41;;8887:1;8878:7;8874:15;8871:1;8868:22;8848:1;8841:9;8821:83;8798:139;;8917:18;;:::i;:::-;8798:139;8582:362;8534:410;;;;:::o;8950:164::-;9090:16;9086:1;9078:6;9074:14;9067:40;8950:164;:::o;9120:366::-;9262:3;9283:67;9347:2;9342:3;9283:67;:::i;:::-;9276:74;;9359:93;9448:3;9359:93;:::i;:::-;9477:2;9472:3;9468:12;9461:19;;9120:366;;;:::o;9492:419::-;9658:4;9696:2;9685:9;9681:18;9673:26;;9745:9;9739:4;9735:20;9731:1;9720:9;9716:17;9709:47;9773:131;9899:4;9773:131;:::i;:::-;9765:139;;9492:419;;;:::o;9917:182::-;10057:34;10053:1;10045:6;10041:14;10034:58;9917:182;:::o;10105:366::-;10247:3;10268:67;10332:2;10327:3;10268:67;:::i;:::-;10261:74;;10344:93;10433:3;10344:93;:::i;:::-;10462:2;10457:3;10453:12;10446:19;;10105:366;;;:::o;10477:419::-;10643:4;10681:2;10670:9;10666:18;10658:26;;10730:9;10724:4;10720:20;10716:1;10705:9;10701:17;10694:47;10758:131;10884:4;10758:131;:::i;:::-;10750:139;;10477:419;;;:::o;10902:173::-;11042:25;11038:1;11030:6;11026:14;11019:49;10902:173;:::o;11081:366::-;11223:3;11244:67;11308:2;11303:3;11244:67;:::i;:::-;11237:74;;11320:93;11409:3;11320:93;:::i;:::-;11438:2;11433:3;11429:12;11422:19;;11081:366;;;:::o;11453:419::-;11619:4;11657:2;11646:9;11642:18;11634:26;;11706:9;11700:4;11696:20;11692:1;11681:9;11677:17;11670:47;11734:131;11860:4;11734:131;:::i;:::-;11726:139;;11453:419;;;:::o;11878:143::-;11935:5;11966:6;11960:13;11951:22;;11982:33;12009:5;11982:33;:::i;:::-;11878:143;;;;:::o;12027:351::-;12097:6;12146:2;12134:9;12125:7;12121:23;12117:32;12114:119;;;12152:79;;:::i;:::-;12114:119;12272:1;12297:64;12353:7;12344:6;12333:9;12329:22;12297:64;:::i;:::-;12287:74;;12243:128;12027:351;;;;:::o;12384:332::-;12505:4;12543:2;12532:9;12528:18;12520:26;;12556:71;12624:1;12613:9;12609:17;12600:6;12556:71;:::i;:::-;12637:72;12705:2;12694:9;12690:18;12681:6;12637:72;:::i;:::-;12384:332;;;;;:::o;12722:85::-;12767:7;12796:5;12785:16;;12722:85;;;:::o;12813:60::-;12841:3;12862:5;12855:12;;12813:60;;;:::o;12879:158::-;12937:9;12970:61;12988:42;12997:32;13023:5;12997:32;:::i;:::-;12988:42;:::i;:::-;12970:61;:::i;:::-;12957:74;;12879:158;;;:::o;13043:147::-;13138:45;13177:5;13138:45;:::i;:::-;13133:3;13126:58;13043:147;;:::o;13196:807::-;13445:4;13483:3;13472:9;13468:19;13460:27;;13497:71;13565:1;13554:9;13550:17;13541:6;13497:71;:::i;:::-;13578:72;13646:2;13635:9;13631:18;13622:6;13578:72;:::i;:::-;13660:80;13736:2;13725:9;13721:18;13712:6;13660:80;:::i;:::-;13750;13826:2;13815:9;13811:18;13802:6;13750:80;:::i;:::-;13840:73;13908:3;13897:9;13893:19;13884:6;13840:73;:::i;:::-;13923;13991:3;13980:9;13976:19;13967:6;13923:73;:::i;:::-;13196:807;;;;;;;;;:::o;14009:143::-;14066:5;14097:6;14091:13;14082:22;;14113:33;14140:5;14113:33;:::i;:::-;14009:143;;;;:::o;14158:663::-;14246:6;14254;14262;14311:2;14299:9;14290:7;14286:23;14282:32;14279:119;;;14317:79;;:::i;:::-;14279:119;14437:1;14462:64;14518:7;14509:6;14498:9;14494:22;14462:64;:::i;:::-;14452:74;;14408:128;14575:2;14601:64;14657:7;14648:6;14637:9;14633:22;14601:64;:::i;:::-;14591:74;;14546:129;14714:2;14740:64;14796:7;14787:6;14776:9;14772:22;14740:64;:::i;:::-;14730:74;;14685:129;14158:663;;;;;:::o;14827:332::-;14948:4;14986:2;14975:9;14971:18;14963:26;;14999:71;15067:1;15056:9;15052:17;15043:6;14999:71;:::i;:::-;15080:72;15148:2;15137:9;15133:18;15124:6;15080:72;:::i;:::-;14827:332;;;;;:::o;15165:116::-;15235:21;15250:5;15235:21;:::i;:::-;15228:5;15225:32;15215:60;;15271:1;15268;15261:12;15215:60;15165:116;:::o;15287:137::-;15341:5;15372:6;15366:13;15357:22;;15388:30;15412:5;15388:30;:::i;:::-;15287:137;;;;:::o;15430:345::-;15497:6;15546:2;15534:9;15525:7;15521:23;15517:32;15514:119;;;15552:79;;:::i;:::-;15514:119;15672:1;15697:61;15750:7;15741:6;15730:9;15726:22;15697:61;:::i;:::-;15687:71;;15643:125;15430:345;;;;:::o;15781:223::-;15921:34;15917:1;15909:6;15905:14;15898:58;15990:6;15985:2;15977:6;15973:15;15966:31;15781:223;:::o;16010:366::-;16152:3;16173:67;16237:2;16232:3;16173:67;:::i;:::-;16166:74;;16249:93;16338:3;16249:93;:::i;:::-;16367:2;16362:3;16358:12;16351:19;;16010:366;;;:::o;16382:419::-;16548:4;16586:2;16575:9;16571:18;16563:26;;16635:9;16629:4;16625:20;16621:1;16610:9;16606:17;16599:47;16663:131;16789:4;16663:131;:::i;:::-;16655:139;;16382:419;;;:::o;16807:221::-;16947:34;16943:1;16935:6;16931:14;16924:58;17016:4;17011:2;17003:6;16999:15;16992:29;16807:221;:::o;17034:366::-;17176:3;17197:67;17261:2;17256:3;17197:67;:::i;:::-;17190:74;;17273:93;17362:3;17273:93;:::i;:::-;17391:2;17386:3;17382:12;17375:19;;17034:366;;;:::o;17406:419::-;17572:4;17610:2;17599:9;17595:18;17587:26;;17659:9;17653:4;17649:20;17645:1;17634:9;17630:17;17623:47;17687:131;17813:4;17687:131;:::i;:::-;17679:139;;17406:419;;;:::o;17831:224::-;17971:34;17967:1;17959:6;17955:14;17948:58;18040:7;18035:2;18027:6;18023:15;18016:32;17831:224;:::o;18061:366::-;18203:3;18224:67;18288:2;18283:3;18224:67;:::i;:::-;18217:74;;18300:93;18389:3;18300:93;:::i;:::-;18418:2;18413:3;18409:12;18402:19;;18061:366;;;:::o;18433:419::-;18599:4;18637:2;18626:9;18622:18;18614:26;;18686:9;18680:4;18676:20;18672:1;18661:9;18657:17;18650:47;18714:131;18840:4;18714:131;:::i;:::-;18706:139;;18433:419;;;:::o;18858:222::-;18998:34;18994:1;18986:6;18982:14;18975:58;19067:5;19062:2;19054:6;19050:15;19043:30;18858:222;:::o;19086:366::-;19228:3;19249:67;19313:2;19308:3;19249:67;:::i;:::-;19242:74;;19325:93;19414:3;19325:93;:::i;:::-;19443:2;19438:3;19434:12;19427:19;;19086:366;;;:::o;19458:419::-;19624:4;19662:2;19651:9;19647:18;19639:26;;19711:9;19705:4;19701:20;19697:1;19686:9;19682:17;19675:47;19739:131;19865:4;19739:131;:::i;:::-;19731:139;;19458:419;;;:::o;19883:228::-;20023:34;20019:1;20011:6;20007:14;20000:58;20092:11;20087:2;20079:6;20075:15;20068:36;19883:228;:::o;20117:366::-;20259:3;20280:67;20344:2;20339:3;20280:67;:::i;:::-;20273:74;;20356:93;20445:3;20356:93;:::i;:::-;20474:2;20469:3;20465:12;20458:19;;20117:366;;;:::o;20489:419::-;20655:4;20693:2;20682:9;20678:18;20670:26;;20742:9;20736:4;20732:20;20728:1;20717:9;20713:17;20706:47;20770:131;20896:4;20770:131;:::i;:::-;20762:139;;20489:419;;;:::o;20914:297::-;21054:34;21050:1;21042:6;21038:14;21031:58;21123:34;21118:2;21110:6;21106:15;21099:59;21192:11;21187:2;21179:6;21175:15;21168:36;20914:297;:::o;21217:366::-;21359:3;21380:67;21444:2;21439:3;21380:67;:::i;:::-;21373:74;;21456:93;21545:3;21456:93;:::i;:::-;21574:2;21569:3;21565:12;21558:19;;21217:366;;;:::o;21589:419::-;21755:4;21793:2;21782:9;21778:18;21770:26;;21842:9;21836:4;21832:20;21828:1;21817:9;21813:17;21806:47;21870:131;21996:4;21870:131;:::i;:::-;21862:139;;21589:419;;;:::o;22014:175::-;22154:27;22150:1;22142:6;22138:14;22131:51;22014:175;:::o;22195:366::-;22337:3;22358:67;22422:2;22417:3;22358:67;:::i;:::-;22351:74;;22434:93;22523:3;22434:93;:::i;:::-;22552:2;22547:3;22543:12;22536:19;;22195:366;;;:::o;22567:419::-;22733:4;22771:2;22760:9;22756:18;22748:26;;22820:9;22814:4;22810:20;22806:1;22795:9;22791:17;22784:47;22848:131;22974:4;22848:131;:::i;:::-;22840:139;;22567:419;;;:::o;22992:191::-;23032:3;23051:20;23069:1;23051:20;:::i;:::-;23046:25;;23085:20;23103:1;23085:20;:::i;:::-;23080:25;;23128:1;23125;23121:9;23114:16;;23149:3;23146:1;23143:10;23140:36;;;23156:18;;:::i;:::-;23140:36;22992:191;;;;:::o;23189:176::-;23329:28;23325:1;23317:6;23313:14;23306:52;23189:176;:::o;23371:366::-;23513:3;23534:67;23598:2;23593:3;23534:67;:::i;:::-;23527:74;;23610:93;23699:3;23610:93;:::i;:::-;23728:2;23723:3;23719:12;23712:19;;23371:366;;;:::o;23743:419::-;23909:4;23947:2;23936:9;23932:18;23924:26;;23996:9;23990:4;23986:20;23982:1;23971:9;23967:17;23960:47;24024:131;24150:4;24024:131;:::i;:::-;24016:139;;23743:419;;;:::o;24168:233::-;24207:3;24230:24;24248:5;24230:24;:::i;:::-;24221:33;;24276:66;24269:5;24266:77;24263:103;;24346:18;;:::i;:::-;24263:103;24393:1;24386:5;24382:13;24375:20;;24168:233;;;:::o;24407:194::-;24447:4;24467:20;24485:1;24467:20;:::i;:::-;24462:25;;24501:20;24519:1;24501:20;:::i;:::-;24496:25;;24545:1;24542;24538:9;24530:17;;24569:1;24563:4;24560:11;24557:37;;;24574:18;;:::i;:::-;24557:37;24407:194;;;;:::o;24607:180::-;24655:77;24652:1;24645:88;24752:4;24749:1;24742:15;24776:4;24773:1;24766:15;24793:180;24841:77;24838:1;24831:88;24938:4;24935:1;24928:15;24962:4;24959:1;24952:15;24979:114;25046:6;25080:5;25074:12;25064:22;;24979:114;;;:::o;25099:184::-;25198:11;25232:6;25227:3;25220:19;25272:4;25267:3;25263:14;25248:29;;25099:184;;;;:::o;25289:132::-;25356:4;25379:3;25371:11;;25409:4;25404:3;25400:14;25392:22;;25289:132;;;:::o;25427:108::-;25504:24;25522:5;25504:24;:::i;:::-;25499:3;25492:37;25427:108;;:::o;25541:179::-;25610:10;25631:46;25673:3;25665:6;25631:46;:::i;:::-;25709:4;25704:3;25700:14;25686:28;;25541:179;;;;:::o;25726:113::-;25796:4;25828;25823:3;25819:14;25811:22;;25726:113;;;:::o;25875:732::-;25994:3;26023:54;26071:5;26023:54;:::i;:::-;26093:86;26172:6;26167:3;26093:86;:::i;:::-;26086:93;;26203:56;26253:5;26203:56;:::i;:::-;26282:7;26313:1;26298:284;26323:6;26320:1;26317:13;26298:284;;;26399:6;26393:13;26426:63;26485:3;26470:13;26426:63;:::i;:::-;26419:70;;26512:60;26565:6;26512:60;:::i;:::-;26502:70;;26358:224;26345:1;26342;26338:9;26333:14;;26298:284;;;26302:14;26598:3;26591:10;;25999:608;;;25875:732;;;;:::o;26613:831::-;26876:4;26914:3;26903:9;26899:19;26891:27;;26928:71;26996:1;26985:9;26981:17;26972:6;26928:71;:::i;:::-;27009:80;27085:2;27074:9;27070:18;27061:6;27009:80;:::i;:::-;27136:9;27130:4;27126:20;27121:2;27110:9;27106:18;27099:48;27164:108;27267:4;27258:6;27164:108;:::i;:::-;27156:116;;27282:72;27350:2;27339:9;27335:18;27326:6;27282:72;:::i;:::-;27364:73;27432:3;27421:9;27417:19;27408:6;27364:73;:::i;:::-;26613:831;;;;;;;;:::o;27450:147::-;27551:11;27588:3;27573:18;;27450:147;;;;:::o;27603:114::-;;:::o;27723:398::-;27882:3;27903:83;27984:1;27979:3;27903:83;:::i;:::-;27896:90;;27995:93;28084:3;27995:93;:::i;:::-;28113:1;28108:3;28104:11;28097:18;;27723:398;;;:::o;28127:379::-;28311:3;28333:147;28476:3;28333:147;:::i;:::-;28326:154;;28497:3;28490:10;;28127:379;;;:::o;28512:174::-;28652:26;28648:1;28640:6;28636:14;28629:50;28512:174;:::o;28692:366::-;28834:3;28855:67;28919:2;28914:3;28855:67;:::i;:::-;28848:74;;28931:93;29020:3;28931:93;:::i;:::-;29049:2;29044:3;29040:12;29033:19;;28692:366;;;:::o;29064:419::-;29230:4;29268:2;29257:9;29253:18;29245:26;;29317:9;29311:4;29307:20;29303:1;29292:9;29288:17;29281:47;29345:131;29471:4;29345:131;:::i;:::-;29337:139;;29064:419;;;:::o;29489:180::-;29537:77;29534:1;29527:88;29634:4;29631:1;29624:15;29658:4;29655:1;29648:15;29675:185;29715:1;29732:20;29750:1;29732:20;:::i;:::-;29727:25;;29766:20;29784:1;29766:20;:::i;:::-;29761:25;;29805:1;29795:35;;29810:18;;:::i;:::-;29795:35;29852:1;29849;29845:9;29840:14;;29675:185;;;;:::o;29866:220::-;30006:34;30002:1;29994:6;29990:14;29983:58;30075:3;30070:2;30062:6;30058:15;30051:28;29866:220;:::o;30092:366::-;30234:3;30255:67;30319:2;30314:3;30255:67;:::i;:::-;30248:74;;30331:93;30420:3;30331:93;:::i;:::-;30449:2;30444:3;30440:12;30433:19;;30092:366;;;:::o;30464:419::-;30630:4;30668:2;30657:9;30653:18;30645:26;;30717:9;30711:4;30707:20;30703:1;30692:9;30688:17;30681:47;30745:131;30871:4;30745:131;:::i;:::-;30737:139;;30464:419;;;:::o;30889:177::-;31029:29;31025:1;31017:6;31013:14;31006:53;30889:177;:::o;31072:366::-;31214:3;31235:67;31299:2;31294:3;31235:67;:::i;:::-;31228:74;;31311:93;31400:3;31311:93;:::i;:::-;31429:2;31424:3;31420:12;31413:19;;31072:366;;;:::o;31444:419::-;31610:4;31648:2;31637:9;31633:18;31625:26;;31697:9;31691:4;31687:20;31683:1;31672:9;31668:17;31661:47;31725:131;31851:4;31725:131;:::i;:::-;31717:139;;31444:419;;;:::o
Swarm Source
ipfs://d03e4168250cd9770152a07cb5848cd9cbe9b3019cba0c76592f150867dc117c
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.