Feature Tip: Add private address tag to any address under My Name Tag !
ERC-20
Overview
Max Total Supply
77,000,000 $Wings
Holders
55
Market
Onchain Market Cap
$0.00
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 18 Decimals)
Balance
166,583.770554331968696545 $WingsValue
$0.00Loading...
Loading
Loading...
Loading
Loading...
Loading
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|
Contract Name:
WingsToken
Compiler Version
v0.8.13+commit.abaa5c0e
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2023-06-07 */ // SPDX-License-Identifier: Unlicensed pragma solidity 0.8.13; abstract contract Context { function _msgSender() internal view virtual returns (address payable) { return payable(msg.sender); } function _msgData() internal view virtual returns (bytes memory) { this; // silence state mutability warning without generating bytecode - see https://github.com/ethereum/solidity/issues/2691 return msg.data; } } 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); } function transferOwnership(address newOwner) public virtual onlyOwner { require(newOwner != address(0), "Ownable: new owner is the zero address"); emit OwnershipTransferred(_owner, newOwner); _owner = newOwner; } } interface IDexRouter { function factory() external pure returns (address); function WETH() external pure returns (address); function swapExactTokensForETHSupportingFeeOnTransferTokens(uint amountIn, uint amountOutMin, address[] calldata path, address to, uint deadline) external; function swapExactETHForTokensSupportingFeeOnTransferTokens(uint amountOutMin, address[] calldata path, address to, uint deadline) external payable; function addLiquidityETH(address token, uint256 amountTokenDesired, uint256 amountTokenMin, uint256 amountETHMin, address to, uint256 deadline) external payable returns (uint256 amountToken, uint256 amountETH, uint256 liquidity); function removeLiquidityETH(address token, uint liquidity, uint amountTokenMin, uint amountETHMin, address to, uint deadline) external returns (uint amountToken, uint amountETH); function getAmountsOut(uint amountIn, address[] calldata path) external view returns (uint[] memory amounts); } interface IDexFactory { function getPair(address tokenA, address tokenB) external view returns (address pair); function createPair(address tokenA, address tokenB) external returns (address pair); } interface IERC20 { function totalSupply() external view returns (uint256); function balanceOf(address account) external view returns (uint256); function transfer(address recipient, uint256 amount) external returns (bool); function allowance(address owner, address spender) external view returns (uint256); function approve(address spender, uint256 amount) external returns (bool); function transferFrom(address sender, address recipient, uint256 amount) external returns (bool); event Transfer(address indexed from, address indexed to, uint256 value); event Approval(address indexed owner, address indexed spender, uint256 value); } contract WingsToken is Context, IERC20, Ownable { string constant private _name = "Super Wings"; string constant private _symbol = "$Wings"; uint8 constant private _decimals = 18; address public constant deadAddress = 0x000000000000000000000000000000000000dEaD; address payable public autoLiquidityReceiver = payable(0x65C0853A49325d8BA537402A3183d6AFc3DD1210); // LP Address address payable public marketingFeeReceiver = payable(0x159e563e5fB5d80dA04a02FA562851A198916b2D); // Marketing Address address payable public buybackFeeReceiver = payable(0x6f2d3987C1053dFae6a27251038938e1Ec661270); // Buyback Address mapping (address => uint256) private balances; mapping (address => mapping (address => uint256)) private allowances; mapping (address => bool) public isBot; mapping (address => bool) public isMarketPair; mapping (address => bool) public isTxLimitExempt; mapping (address => bool) public isExcludedFromFee; mapping (address => bool) public isWalletLimitExempt; bool public txLimitsEnabled = true; uint256 public buyTax = 200; uint256 public sellTax = 450; uint256 public transferTax = 40; uint256 public lpShare = 20; uint256 public marketingShare = 40; uint256 public buybackShare = 20; uint256 constant private _totalSupply = 77 * 10**6 * 10**_decimals; uint256 public swapThreshold = 1000 * 10**_decimals; uint256 public maxTx = 0; uint256 public walletMax = 2310000 * 10**_decimals; IDexRouter public dexRouter; address public lpPair; bool private isInSwap; bool public swapEnabled = true; bool public swapByLimitOnly = false; bool public checkWalletLimit = true; event BotStatusUpdated(address account, bool isBot_); event SwapTokensForETH(uint256 amountIn, address[] path); event MaxTxAmountChanged(uint256 maxTx_); event MarketPairUpdated(address account, bool isMarketPair_); event TaxesChanged(uint256 buyTax_, uint256 sellTax_, uint256 transferTax_); event SwapSettingsUpdated(bool swapEnabled_, uint256 swapThreshold_, bool swapByLimitOnly_); event AccountWhitelisted(address account, bool feeExempt, bool walletLimitExempt, bool txLimitExempt); event TaxDistributionChanged(uint256 buybackShare_, uint256 lpShare_, uint256 marketingShare_); modifier lockTheSwap { isInSwap = true; _; isInSwap = false; } constructor () { dexRouter = IDexRouter(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D); lpPair = IDexFactory(dexRouter.factory()).createPair(address(this), dexRouter.WETH()); isExcludedFromFee[owner()] = true; isExcludedFromFee[address(this)] = true; isTxLimitExempt[owner()] = true; isTxLimitExempt[address(this)] = true; isWalletLimitExempt[owner()] = true; isWalletLimitExempt[address(lpPair)] = true; isWalletLimitExempt[address(this)] = true; isMarketPair[address(lpPair)] = true; allowances[address(this)][address(dexRouter)] = _totalSupply; balances[_msgSender()] = _totalSupply; emit Transfer(address(0), _msgSender(), _totalSupply); } //to receive ETH from dexRouter when swapping receive() external payable {} 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 _totalSupply; } function circulatingSupply() public view returns (uint256) { return _totalSupply - balanceOf(deadAddress); } function balanceOf(address account) public view override returns (uint256) { return balances[account]; } function allowance(address owner_, address spender) public view override returns (uint256) { return allowances[owner_][spender]; } function increaseAllowance(address spender, uint256 addedValue) public virtual returns (bool) { _approve(_msgSender(), spender, allowances[_msgSender()][spender] + addedValue); return true; } function decreaseAllowance(address spender, uint256 subtractedValue) public virtual returns (bool) { _approve(_msgSender(), spender, allowances[_msgSender()][spender] - subtractedValue); return true; } function approve(address spender, uint256 amount) public override returns (bool) { _approve(_msgSender(), spender, amount); 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 recipient, uint256 amount) public override returns (bool) { _transfer(_msgSender(), recipient, 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()] - amount); return true; } function changeBotStatus(address account, bool isBot_) public onlyOwner { isBot[account] = isBot_; emit BotStatusUpdated(account, isBot_); } function changeMarketPairStatus(address account, bool isMarketPair_) public onlyOwner { isMarketPair[account] = isMarketPair_; emit MarketPairUpdated(account, isMarketPair_); } function setTaxes(uint256 buyTax_, uint256 sellTax_, uint256 transferTax_) external onlyOwner { buyTax = buyTax_; sellTax = sellTax_; transferTax = transferTax_; emit TaxesChanged(buyTax_, sellTax_, transferTax_); } function changeTaxDistribution(uint256 buybackShare_, uint256 lpShare_, uint256 marketingShare_) external onlyOwner { buybackShare = buybackShare_; lpShare = lpShare_; marketingShare = marketingShare_; emit TaxDistributionChanged(buybackShare_, lpShare_, marketingShare_); } function changeTxLimits(uint256 maxTx_, bool txLimitsEnabled_) external onlyOwner { maxTx = maxTx_; txLimitsEnabled = txLimitsEnabled_; emit MaxTxAmountChanged(maxTx_); } function changeWalletLimits(bool checkWalletLimit_, uint256 walletMax_) external onlyOwner { checkWalletLimit = checkWalletLimit_; walletMax = walletMax_; } function whitelistAccounts(address[] memory wallets, bool feeExempt, bool walletLimitExempt, bool txLimitExempt) public onlyOwner { for(uint256 i = 0; i < wallets.length; i++){ isExcludedFromFee[wallets[i]] = feeExempt; isWalletLimitExempt[wallets[i]] = walletLimitExempt; isTxLimitExempt[wallets[i]] = txLimitExempt; emit AccountWhitelisted(wallets[i], feeExempt, walletLimitExempt, txLimitExempt); } } function changeSwapSettings(bool swapEnabled_, uint256 swapThreshold_, bool swapByLimitOnly_) public onlyOwner { swapEnabled = swapEnabled_; swapThreshold = swapThreshold_; swapByLimitOnly = swapByLimitOnly_; emit SwapSettingsUpdated(swapEnabled_, swapThreshold_, swapByLimitOnly_); } function changeMarketingFeeReceiver(address marketingFeeReceiver_) external onlyOwner { require(marketingFeeReceiver_ != address(0), "New address cannot be zero address"); marketingFeeReceiver = payable(marketingFeeReceiver_); } function changeBuybackFeeReceiver(address buybackFeeReceiver_) external onlyOwner { require(buybackFeeReceiver_ != address(0), "New address cannot be zero address"); buybackFeeReceiver = payable(buybackFeeReceiver_); } function changeAutoLiquidityReceiver(address autoLiquidityReceiver_) external onlyOwner { require(autoLiquidityReceiver_ != address(0), "New address cannot be zero address"); autoLiquidityReceiver = payable(autoLiquidityReceiver_); } function transferETH(address payable recipient, uint256 amount) private { bool success; (success,) = address(recipient).call{value: amount}(""); } function _transfer(address sender, address recipient, uint256 amount) private returns (bool) { if(isInSwap) { return _basicTransfer(sender, recipient, amount); } else { require(sender != address(0), "ERC20: transfer from the zero address"); require(recipient != address(0), "ERC20: transfer to the zero address"); require(!isBot[sender] && !isBot[recipient], "To/from address is blacklisted!"); if(txLimitsEnabled && !isTxLimitExempt[sender] && !isTxLimitExempt[recipient]) { require(amount <= maxTx, "Transfer amount exceeds the max transaction limit."); } bool isTaxFree = (isExcludedFromFee[sender] || isExcludedFromFee[recipient]); if (!isTaxFree && !isMarketPair[sender] && swapEnabled) { uint256 contractTokenBalance = balanceOf(address(this)); bool overMinimumTokenBalance = contractTokenBalance >= swapThreshold; if(overMinimumTokenBalance) { if(swapByLimitOnly) contractTokenBalance = swapThreshold; swapAndLiquify(contractTokenBalance); } } balances[sender] = balances[sender] - amount; uint256 finalAmount = isTaxFree ? amount : takeFee(sender, recipient, amount); if(checkWalletLimit && !isWalletLimitExempt[recipient]) { require((balanceOf(recipient) + finalAmount) <= walletMax); } balances[recipient] = balances[recipient] + finalAmount; emit Transfer(sender, recipient, finalAmount); return true; } } function _basicTransfer(address sender, address recipient, uint256 amount) internal returns (bool) { balances[sender] = balances[sender] - amount; balances[recipient] = balances[recipient] + amount; emit Transfer(sender, recipient, amount); return true; } function swapAndLiquify(uint256 tAmount) private lockTheSwap { uint256 totalShares = buybackShare + lpShare + marketingShare; uint256 tokensForLP = ((tAmount * lpShare) / totalShares) / 2; uint256 tokensForSwap = tAmount - tokensForLP; swapTokensForEth(tokensForSwap); uint256 amountReceived = address(this).balance; uint256 ethShares = totalShares - (lpShare / 2); uint256 ethForLiquidity = ((amountReceived * lpShare) / ethShares) / 2; uint256 ethForBuyback = (amountReceived * buybackShare) / ethShares; uint256 ethForMarketing = amountReceived - ethForLiquidity - ethForBuyback; if(ethForMarketing > 0) { transferETH(marketingFeeReceiver, ethForMarketing); } if(ethForBuyback > 0) { transferETH(buybackFeeReceiver, ethForBuyback); } if(ethForLiquidity > 0 && tokensForLP > 0) { addLiquidity(tokensForLP, ethForLiquidity); } } function swapTokensForEth(uint256 tokenAmount) private { // generate the uniswap pair path of token -> weth address[] memory path = new address[](2); path[0] = address(this); path[1] = dexRouter.WETH(); _approve(address(this), address(dexRouter), tokenAmount); // make the swap dexRouter.swapExactTokensForETHSupportingFeeOnTransferTokens( tokenAmount, 0, // accept any amount of ETH path, address(this), // The contract block.timestamp ); emit SwapTokensForETH(tokenAmount, path); } function addLiquidity(uint256 tokenAmount, uint256 ethAmount) private { // approve token transfer to cover all possible scenarios _approve(address(this), address(dexRouter), tokenAmount); // add the liquidity dexRouter.addLiquidityETH{value: ethAmount}( address(this), tokenAmount, 0, // slippage is unavoidable 0, // slippage is unavoidable autoLiquidityReceiver, block.timestamp ); } function takeFee(address sender, address recipient, uint256 amount) internal returns (uint256) { uint256 feeAmount = (amount * transferTax) / 1000; if(isMarketPair[recipient]) { feeAmount = (amount * sellTax) / 1000; } else if(isMarketPair[sender]) { feeAmount = (amount * buyTax) / 1000; } if(feeAmount > 0) { balances[address(this)] = balances[address(this)] + feeAmount; emit Transfer(sender, address(this), feeAmount); } return amount - feeAmount; } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"account","type":"address"},{"indexed":false,"internalType":"bool","name":"feeExempt","type":"bool"},{"indexed":false,"internalType":"bool","name":"walletLimitExempt","type":"bool"},{"indexed":false,"internalType":"bool","name":"txLimitExempt","type":"bool"}],"name":"AccountWhitelisted","type":"event"},{"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":"address","name":"account","type":"address"},{"indexed":false,"internalType":"bool","name":"isBot_","type":"bool"}],"name":"BotStatusUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"account","type":"address"},{"indexed":false,"internalType":"bool","name":"isMarketPair_","type":"bool"}],"name":"MarketPairUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"maxTx_","type":"uint256"}],"name":"MaxTxAmountChanged","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":false,"internalType":"bool","name":"swapEnabled_","type":"bool"},{"indexed":false,"internalType":"uint256","name":"swapThreshold_","type":"uint256"},{"indexed":false,"internalType":"bool","name":"swapByLimitOnly_","type":"bool"}],"name":"SwapSettingsUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"amountIn","type":"uint256"},{"indexed":false,"internalType":"address[]","name":"path","type":"address[]"}],"name":"SwapTokensForETH","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"buybackShare_","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"lpShare_","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"marketingShare_","type":"uint256"}],"name":"TaxDistributionChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"buyTax_","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"sellTax_","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"transferTax_","type":"uint256"}],"name":"TaxesChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[{"internalType":"address","name":"owner_","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"autoLiquidityReceiver","outputs":[{"internalType":"address payable","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"buyTax","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"buybackFeeReceiver","outputs":[{"internalType":"address payable","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"buybackShare","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"autoLiquidityReceiver_","type":"address"}],"name":"changeAutoLiquidityReceiver","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"bool","name":"isBot_","type":"bool"}],"name":"changeBotStatus","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"buybackFeeReceiver_","type":"address"}],"name":"changeBuybackFeeReceiver","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"bool","name":"isMarketPair_","type":"bool"}],"name":"changeMarketPairStatus","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"marketingFeeReceiver_","type":"address"}],"name":"changeMarketingFeeReceiver","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"swapEnabled_","type":"bool"},{"internalType":"uint256","name":"swapThreshold_","type":"uint256"},{"internalType":"bool","name":"swapByLimitOnly_","type":"bool"}],"name":"changeSwapSettings","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"buybackShare_","type":"uint256"},{"internalType":"uint256","name":"lpShare_","type":"uint256"},{"internalType":"uint256","name":"marketingShare_","type":"uint256"}],"name":"changeTaxDistribution","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"maxTx_","type":"uint256"},{"internalType":"bool","name":"txLimitsEnabled_","type":"bool"}],"name":"changeTxLimits","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"checkWalletLimit_","type":"bool"},{"internalType":"uint256","name":"walletMax_","type":"uint256"}],"name":"changeWalletLimits","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"checkWalletLimit","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"circulatingSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"deadAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"subtractedValue","type":"uint256"}],"name":"decreaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"dexRouter","outputs":[{"internalType":"contract IDexRouter","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"addedValue","type":"uint256"}],"name":"increaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"isBot","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"isExcludedFromFee","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"isMarketPair","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"isTxLimitExempt","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"isWalletLimitExempt","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"lpPair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"lpShare","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"marketingFeeReceiver","outputs":[{"internalType":"address payable","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"marketingShare","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxTx","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"sellTax","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"buyTax_","type":"uint256"},{"internalType":"uint256","name":"sellTax_","type":"uint256"},{"internalType":"uint256","name":"transferTax_","type":"uint256"}],"name":"setTaxes","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"swapByLimitOnly","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"swapEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"swapThreshold","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"transferTax","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"txLimitsEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"walletMax","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address[]","name":"wallets","type":"address[]"},{"internalType":"bool","name":"feeExempt","type":"bool"},{"internalType":"bool","name":"walletLimitExempt","type":"bool"},{"internalType":"bool","name":"txLimitExempt","type":"bool"}],"name":"whitelistAccounts","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]
Contract Creation Code
60806040527365c0853a49325d8ba537402a3183d6afc3dd1210600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555073159e563e5fb5d80da04a02fa562851a198916b2d600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550736f2d3987c1053dfae6a27251038938e1ec661270600360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506001600b60006101000a81548160ff02191690831515021790555060c8600c556101c2600d556028600e556014600f55602860105560146011556012600a6200014d919062000ba2565b6103e86200015c919062000bf3565b60125560006013556012600a62000174919062000ba2565b62233f7062000184919062000bf3565b6014556001601660156101000a81548160ff02191690831515021790555060006016806101000a81548160ff0219169083151502179055506001601660176101000a81548160ff021916908315150217905550348015620001e457600080fd5b506000620001f7620009d760201b60201c565b9050806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a350737a250d5630b4cf539739df2c5dacb4c659f2488d601560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000358573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200037e919062000cbe565b73ffffffffffffffffffffffffffffffffffffffff1663c9c6539630601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000408573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200042e919062000cbe565b6040518363ffffffff1660e01b81526004016200044d92919062000d01565b6020604051808303816000875af11580156200046d573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000493919062000cbe565b601660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600160096000620004e9620009df60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600960003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160086000620005a8620009df60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600860003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600a600062000667620009df60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600a6000601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600a60003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160076000601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506012600a62000814919062000ba2565b630496ed4062000825919062000bf3565b600560003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506012600a620008d7919062000ba2565b630496ed40620008e8919062000bf3565b60046000620008fc620009d760201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506200094a620009d760201b60201c565b73ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6012600a620009a9919062000ba2565b630496ed40620009ba919062000bf3565b604051620009c9919062000d3f565b60405180910390a362000d5c565b600033905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008160011c9050919050565b6000808291508390505b600185111562000a965780860481111562000a6e5762000a6d62000a08565b5b600185161562000a7e5780820291505b808102905062000a8e8562000a37565b945062000a4e565b94509492505050565b60008262000ab1576001905062000b84565b8162000ac1576000905062000b84565b816001811462000ada576002811462000ae55762000b1b565b600191505062000b84565b60ff84111562000afa5762000af962000a08565b5b8360020a91508482111562000b145762000b1362000a08565b5b5062000b84565b5060208310610133831016604e8410600b841016171562000b555782820a90508381111562000b4f5762000b4e62000a08565b5b62000b84565b62000b64848484600162000a44565b9250905081840481111562000b7e5762000b7d62000a08565b5b81810290505b9392505050565b6000819050919050565b600060ff82169050919050565b600062000baf8262000b8b565b915062000bbc8362000b95565b925062000beb7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff848462000a9f565b905092915050565b600062000c008262000b8b565b915062000c0d8362000b8b565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff048311821515161562000c495762000c4862000a08565b5b828202905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600062000c868262000c59565b9050919050565b62000c988162000c79565b811462000ca457600080fd5b50565b60008151905062000cb88162000c8d565b92915050565b60006020828403121562000cd75762000cd662000c54565b5b600062000ce78482850162000ca7565b91505092915050565b62000cfb8162000c79565b82525050565b600060408201905062000d18600083018562000cf0565b62000d27602083018462000cf0565b9392505050565b62000d398162000b8b565b82525050565b600060208201905062000d56600083018462000d2e565b92915050565b6147438062000d6c6000396000f3fe6080604052600436106102cd5760003560e01c80637437681e11610175578063c2710c99116100dc578063df10b50811610095578063ebc38ab01161006f578063ebc38ab014610b41578063f2fde38b14610b6c578063f872858a14610b95578063fe31452414610bc0576102d4565b8063df10b50814610ac2578063e96fada214610aed578063e9dae5ed14610b18576102d4565b8063c2710c99146109a0578063c867d60b146109c9578063ca33e64c14610a06578063cc1776d314610a31578063d5304de814610a5c578063dd62ed3e14610a85576102d4565b80638e3657aa1161012e5780638e3657aa1461087c5780639358928b146108a757806395d89b41146108d2578063a457c2d7146108fd578063a9059cbb1461093a578063bc0ec4e714610977576102d4565b80637437681e1461076a57806378811eca146107955780638124f7ac146107be57806384b1d1ef146107e95780638b42507f146108145780638da5cb5b14610851576102d4565b806339509351116102345780635342acb4116101ed5780636a22ab32116101c75780636a22ab32146106c25780636ddd1713146106eb57806370a0823114610716578063715018a614610753576102d4565b80635342acb4146106335780635d9fe7e61461067057806367ad4c0e14610699576102d4565b806339509351146104fd5780633bbac5791461053a5780633ecad27114610577578063452ed4f1146105b457806345baf611146105df5780634f7041a514610608576102d4565b806318160ddd1161028657806318160ddd146103ed5780631f1f4cc71461041857806323b872dd1461044157806327c8f8351461047e5780632a42caed146104a9578063313ce567146104d2576102d4565b80630445b667146102d957806306fdde03146103045780630758d9241461032f57806309218ee71461035a578063095ea7b31461038557806314310699146103c2576102d4565b366102d457005b600080fd5b3480156102e557600080fd5b506102ee610beb565b6040516102fb91906133e0565b60405180910390f35b34801561031057600080fd5b50610319610bf1565b6040516103269190613494565b60405180910390f35b34801561033b57600080fd5b50610344610c2e565b6040516103519190613535565b60405180910390f35b34801561036657600080fd5b5061036f610c54565b60405161037c91906133e0565b60405180910390f35b34801561039157600080fd5b506103ac60048036038101906103a791906135ce565b610c5a565b6040516103b99190613629565b60405180910390f35b3480156103ce57600080fd5b506103d7610c78565b6040516103e49190613629565b60405180910390f35b3480156103f957600080fd5b50610402610c8b565b60405161040f91906133e0565b60405180910390f35b34801561042457600080fd5b5061043f600480360381019061043a91906137b8565b610caf565b005b34801561044d57600080fd5b506104686004803603810190610463919061383b565b610f14565b6040516104759190613629565b60405180910390f35b34801561048a57600080fd5b50610493610fcd565b6040516104a0919061389d565b60405180910390f35b3480156104b557600080fd5b506104d060048036038101906104cb91906138b8565b610fd3565b005b3480156104de57600080fd5b506104e76110bd565b6040516104f49190613927565b60405180910390f35b34801561050957600080fd5b50610524600480360381019061051f91906135ce565b6110c6565b6040516105319190613629565b60405180910390f35b34801561054657600080fd5b50610561600480360381019061055c9190613942565b611172565b60405161056e9190613629565b60405180910390f35b34801561058357600080fd5b5061059e60048036038101906105999190613942565b611192565b6040516105ab9190613629565b60405180910390f35b3480156105c057600080fd5b506105c96111b2565b6040516105d6919061389d565b60405180910390f35b3480156105eb57600080fd5b5061060660048036038101906106019190613942565b6111d8565b005b34801561061457600080fd5b5061061d611320565b60405161062a91906133e0565b60405180910390f35b34801561063f57600080fd5b5061065a60048036038101906106559190613942565b611326565b6040516106679190613629565b60405180910390f35b34801561067c57600080fd5b5061069760048036038101906106929190613942565b611346565b005b3480156106a557600080fd5b506106c060048036038101906106bb919061396f565b61148e565b005b3480156106ce57600080fd5b506106e960048036038101906106e4919061396f565b6115b7565b005b3480156106f757600080fd5b506107006116e0565b60405161070d9190613629565b60405180910390f35b34801561072257600080fd5b5061073d60048036038101906107389190613942565b6116f3565b60405161074a91906133e0565b60405180910390f35b34801561075f57600080fd5b5061076861173c565b005b34801561077657600080fd5b5061077f61188f565b60405161078c91906133e0565b60405180910390f35b3480156107a157600080fd5b506107bc60048036038101906107b791906139af565b611895565b005b3480156107ca57600080fd5b506107d36119a4565b6040516107e091906133e0565b60405180910390f35b3480156107f557600080fd5b506107fe6119aa565b60405161080b9190613a23565b60405180910390f35b34801561082057600080fd5b5061083b60048036038101906108369190613942565b6119d0565b6040516108489190613629565b60405180910390f35b34801561085d57600080fd5b506108666119f0565b604051610873919061389d565b60405180910390f35b34801561088857600080fd5b50610891611a19565b60405161089e9190613629565b60405180910390f35b3480156108b357600080fd5b506108bc611a2a565b6040516108c991906133e0565b60405180910390f35b3480156108de57600080fd5b506108e7611a63565b6040516108f49190613494565b60405180910390f35b34801561090957600080fd5b50610924600480360381019061091f91906135ce565b611aa0565b6040516109319190613629565b60405180910390f35b34801561094657600080fd5b50610961600480360381019061095c91906135ce565b611b4c565b60405161096e9190613629565b60405180910390f35b34801561098357600080fd5b5061099e60048036038101906109999190613942565b611b6b565b005b3480156109ac57600080fd5b506109c760048036038101906109c29190613a3e565b611cb3565b005b3480156109d557600080fd5b506109f060048036038101906109eb9190613942565b611da4565b6040516109fd9190613629565b60405180910390f35b348015610a1257600080fd5b50610a1b611dc4565b604051610a289190613a23565b60405180910390f35b348015610a3d57600080fd5b50610a46611dea565b604051610a5391906133e0565b60405180910390f35b348015610a6857600080fd5b50610a836004803603810190610a7e9190613a7e565b611df0565b005b348015610a9157600080fd5b50610aac6004803603810190610aa79190613abe565b611eaa565b604051610ab991906133e0565b60405180910390f35b348015610ace57600080fd5b50610ad7611f31565b604051610ae491906133e0565b60405180910390f35b348015610af957600080fd5b50610b02611f37565b604051610b0f9190613a23565b60405180910390f35b348015610b2457600080fd5b50610b3f6004803603810190610b3a91906138b8565b611f5d565b005b348015610b4d57600080fd5b50610b56612047565b604051610b6391906133e0565b60405180910390f35b348015610b7857600080fd5b50610b936004803603810190610b8e9190613942565b61204d565b005b348015610ba157600080fd5b50610baa61220e565b604051610bb79190613629565b60405180910390f35b348015610bcc57600080fd5b50610bd5612221565b604051610be291906133e0565b60405180910390f35b60125481565b60606040518060400160405280600b81526020017f53757065722057696e6773000000000000000000000000000000000000000000815250905090565b601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60105481565b6000610c6e610c67612227565b848461222f565b6001905092915050565b600b60009054906101000a900460ff1681565b60006012600a610c9b9190613c60565b630496ed40610caa9190613cab565b905090565b610cb7612227565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610d44576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d3b90613d51565b60405180910390fd5b60005b8451811015610f0d578360096000878481518110610d6857610d67613d71565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555082600a6000878481518110610dd957610dd8613d71565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508160086000878481518110610e4a57610e49613d71565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055507f12d9c9f75d95e930caf8a1f18460585ce2349b367898dbf23e394afef2d35d95858281518110610ed757610ed6613d71565b5b6020026020010151858585604051610ef29493929190613da0565b60405180910390a18080610f0590613de5565b915050610d47565b5050505050565b6000610f218484846123f8565b50610fc284610f2e612227565b84600560008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000610f78612227565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610fbd9190613e2d565b61222f565b600190509392505050565b61dead81565b610fdb612227565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611068576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161105f90613d51565b60405180910390fd5b8260118190555081600f81905550806010819055507f182101bc4f3117ca4bac06c236d9b9d22164fd259705bb944f9c4580cdba1d9b8383836040516110b093929190613e61565b60405180910390a1505050565b60006012905090565b60006111686110d3612227565b8484600560006110e1612227565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546111639190613e98565b61222f565b6001905092915050565b60066020528060005260406000206000915054906101000a900460ff1681565b60076020528060005260406000206000915054906101000a900460ff1681565b601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6111e0612227565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461126d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161126490613d51565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036112dc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112d390613f60565b60405180910390fd5b80600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600c5481565b60096020528060005260406000206000915054906101000a900460ff1681565b61134e612227565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146113db576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113d290613d51565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff160361144a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161144190613f60565b60405180910390fd5b80600360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b611496612227565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611523576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161151a90613d51565b60405180910390fd5b80600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055507f160ff69a72bc70f3e792a86c87d27070e421562197f032d96bcab11c5010222e82826040516115ab929190613f80565b60405180910390a15050565b6115bf612227565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461164c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161164390613d51565b60405180910390fd5b80600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055507f066e0c23b9ae0bb92a88e9b0985bb7d85fce062730057312b99a9e243fde5ee182826040516116d4929190613f80565b60405180910390a15050565b601660159054906101000a900460ff1681565b6000600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b611744612227565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146117d1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117c890613d51565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b60135481565b61189d612227565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461192a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161192190613d51565b60405180910390fd5b82601660156101000a81548160ff02191690831515021790555081601281905550806016806101000a81548160ff0219169083151502179055507f11208aed08835f646702af16c636fb4351554fa2f623991905cadb0293a88afc83838360405161199793929190613fa9565b60405180910390a1505050565b600e5481565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60086020528060005260406000206000915054906101000a900460ff1681565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60168054906101000a900460ff1681565b6000611a3761dead6116f3565b6012600a611a459190613c60565b630496ed40611a549190613cab565b611a5e9190613e2d565b905090565b60606040518060400160405280600681526020017f2457696e67730000000000000000000000000000000000000000000000000000815250905090565b6000611b42611aad612227565b848460056000611abb612227565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611b3d9190613e2d565b61222f565b6001905092915050565b6000611b60611b59612227565b84846123f8565b506001905092915050565b611b73612227565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611c00576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611bf790613d51565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603611c6f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c6690613f60565b60405180910390fd5b80600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b611cbb612227565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611d48576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d3f90613d51565b60405180910390fd5b8160138190555080600b60006101000a81548160ff0219169083151502179055507fcff95ed354a1a3fcbabf882bfa4a9319f55569c324478c800820398451df187182604051611d9891906133e0565b60405180910390a15050565b600a6020528060005260406000206000915054906101000a900460ff1681565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600d5481565b611df8612227565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611e85576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e7c90613d51565b60405180910390fd5b81601660176101000a81548160ff021916908315150217905550806014819055505050565b6000600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b60115481565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b611f65612227565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611ff2576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611fe990613d51565b60405180910390fd5b82600c8190555081600d8190555080600e819055507f25867dce048c131028a643b5e80a65d9181f527aebfc047edf0c4341bc57ac8783838360405161203a93929190613e61565b60405180910390a1505050565b600f5481565b612055612227565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146120e2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016120d990613d51565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603612151576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161214890614052565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b601660179054906101000a900460ff1681565b60145481565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361229e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612295906140e4565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361230d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161230490614176565b60405180910390fd5b80600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516123eb91906133e0565b60405180910390a3505050565b6000601660149054906101000a900460ff16156124215761241a848484612a7e565b9050612a77565b600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1603612490576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161248790614208565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036124ff576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016124f69061429a565b60405180910390fd5b600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161580156125a35750600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b6125e2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016125d990614306565b60405180910390fd5b600b60009054906101000a900460ff1680156126485750600860008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b801561269e5750600860008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b156126e9576013548211156126e8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016126df90614398565b60405180910390fd5b5b6000600960008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff168061278c5750600960008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b9050801580156127e65750600760008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b80156127fe5750601660159054906101000a900460ff165b1561284657600061280e306116f3565b90506000601254821015905080156128435760168054906101000a900460ff16156128395760125491505b61284282612c0c565b5b50505b82600460008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546128919190613e2d565b600460008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506000816128eb576128e6868686612dc0565b6128ed565b835b9050601660179054906101000a900460ff1680156129555750600a60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b1561297d5760145481612967876116f3565b6129719190613e98565b111561297c57600080fd5b5b80600460008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546129c89190613e98565b600460008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508473ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051612a6891906133e0565b60405180910390a36001925050505b9392505050565b600081600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612acb9190613e2d565b600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555081600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612b599190613e98565b600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051612bf991906133e0565b60405180910390a3600190509392505050565b6001601660146101000a81548160ff0219169083151502179055506000601054600f54601154612c3c9190613e98565b612c469190613e98565b90506000600282600f5485612c5b9190613cab565b612c6591906143e7565b612c6f91906143e7565b905060008184612c7f9190613e2d565b9050612c8a81612fd8565b600047905060006002600f54612ca091906143e7565b85612cab9190613e2d565b90506000600282600f5485612cc09190613cab565b612cca91906143e7565b612cd491906143e7565b905060008260115485612ce79190613cab565b612cf191906143e7565b90506000818386612d029190613e2d565b612d0c9190613e2d565b90506000811115612d4457612d43600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1682613254565b5b6000821115612d7a57612d79600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1683613254565b5b600083118015612d8a5750600087115b15612d9a57612d9987846132c7565b5b50505050505050506000601660146101000a81548160ff02191690831515021790555050565b6000806103e8600e5484612dd49190613cab565b612dde91906143e7565b9050600760008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615612e54576103e8600d5484612e439190613cab565b612e4d91906143e7565b9050612ec5565b600760008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615612ec4576103e8600c5484612eb79190613cab565b612ec191906143e7565b90505b5b6000811115612fc25780600460003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612f199190613e98565b600460003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055503073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051612fb991906133e0565b60405180910390a35b8083612fce9190613e2d565b9150509392505050565b6000600267ffffffffffffffff811115612ff557612ff4613649565b5b6040519080825280602002602001820160405280156130235781602001602082028036833780820191505090505b509050308160008151811061303b5761303a613d71565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156130e2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613106919061442d565b8160018151811061311a57613119613d71565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505061318130601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff168461222f565b601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b81526004016131e5959493929190614553565b600060405180830381600087803b1580156131ff57600080fd5b505af1158015613213573d6000803e3d6000fd5b505050507f32cde87eb454f3a0b875ab23547023107cfad454363ec88ba5695e2c24aa52a782826040516132489291906145ad565b60405180910390a15050565b60008273ffffffffffffffffffffffffffffffffffffffff168260405161327a9061460e565b60006040518083038185875af1925050503d80600081146132b7576040519150601f19603f3d011682016040523d82523d6000602084013e6132bc565b606091505b505080915050505050565b6132f430601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff168461222f565b601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d719823085600080600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16426040518863ffffffff1660e01b815260040161337d96959493929190614644565b60606040518083038185885af115801561339b573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906133c091906146ba565b5050505050565b6000819050919050565b6133da816133c7565b82525050565b60006020820190506133f560008301846133d1565b92915050565b600081519050919050565b600082825260208201905092915050565b60005b8381101561343557808201518184015260208101905061341a565b83811115613444576000848401525b50505050565b6000601f19601f8301169050919050565b6000613466826133fb565b6134708185613406565b9350613480818560208601613417565b6134898161344a565b840191505092915050565b600060208201905081810360008301526134ae818461345b565b905092915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b60006134fb6134f66134f1846134b6565b6134d6565b6134b6565b9050919050565b600061350d826134e0565b9050919050565b600061351f82613502565b9050919050565b61352f81613514565b82525050565b600060208201905061354a6000830184613526565b92915050565b6000604051905090565b600080fd5b600080fd5b600061356f826134b6565b9050919050565b61357f81613564565b811461358a57600080fd5b50565b60008135905061359c81613576565b92915050565b6135ab816133c7565b81146135b657600080fd5b50565b6000813590506135c8816135a2565b92915050565b600080604083850312156135e5576135e461355a565b5b60006135f38582860161358d565b9250506020613604858286016135b9565b9150509250929050565b60008115159050919050565b6136238161360e565b82525050565b600060208201905061363e600083018461361a565b92915050565b600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6136818261344a565b810181811067ffffffffffffffff821117156136a05761369f613649565b5b80604052505050565b60006136b3613550565b90506136bf8282613678565b919050565b600067ffffffffffffffff8211156136df576136de613649565b5b602082029050602081019050919050565b600080fd5b6000613708613703846136c4565b6136a9565b9050808382526020820190506020840283018581111561372b5761372a6136f0565b5b835b818110156137545780613740888261358d565b84526020840193505060208101905061372d565b5050509392505050565b600082601f83011261377357613772613644565b5b81356137838482602086016136f5565b91505092915050565b6137958161360e565b81146137a057600080fd5b50565b6000813590506137b28161378c565b92915050565b600080600080608085870312156137d2576137d161355a565b5b600085013567ffffffffffffffff8111156137f0576137ef61355f565b5b6137fc8782880161375e565b945050602061380d878288016137a3565b935050604061381e878288016137a3565b925050606061382f878288016137a3565b91505092959194509250565b6000806000606084860312156138545761385361355a565b5b60006138628682870161358d565b93505060206138738682870161358d565b9250506040613884868287016135b9565b9150509250925092565b61389781613564565b82525050565b60006020820190506138b2600083018461388e565b92915050565b6000806000606084860312156138d1576138d061355a565b5b60006138df868287016135b9565b93505060206138f0868287016135b9565b9250506040613901868287016135b9565b9150509250925092565b600060ff82169050919050565b6139218161390b565b82525050565b600060208201905061393c6000830184613918565b92915050565b6000602082840312156139585761395761355a565b5b60006139668482850161358d565b91505092915050565b600080604083850312156139865761398561355a565b5b60006139948582860161358d565b92505060206139a5858286016137a3565b9150509250929050565b6000806000606084860312156139c8576139c761355a565b5b60006139d6868287016137a3565b93505060206139e7868287016135b9565b92505060406139f8868287016137a3565b9150509250925092565b6000613a0d826134b6565b9050919050565b613a1d81613a02565b82525050565b6000602082019050613a386000830184613a14565b92915050565b60008060408385031215613a5557613a5461355a565b5b6000613a63858286016135b9565b9250506020613a74858286016137a3565b9150509250929050565b60008060408385031215613a9557613a9461355a565b5b6000613aa3858286016137a3565b9250506020613ab4858286016135b9565b9150509250929050565b60008060408385031215613ad557613ad461355a565b5b6000613ae38582860161358d565b9250506020613af48582860161358d565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008160011c9050919050565b6000808291508390505b6001851115613b8457808604811115613b6057613b5f613afe565b5b6001851615613b6f5780820291505b8081029050613b7d85613b2d565b9450613b44565b94509492505050565b600082613b9d5760019050613c59565b81613bab5760009050613c59565b8160018114613bc15760028114613bcb57613bfa565b6001915050613c59565b60ff841115613bdd57613bdc613afe565b5b8360020a915084821115613bf457613bf3613afe565b5b50613c59565b5060208310610133831016604e8410600b8410161715613c2f5782820a905083811115613c2a57613c29613afe565b5b613c59565b613c3c8484846001613b3a565b92509050818404811115613c5357613c52613afe565b5b81810290505b9392505050565b6000613c6b826133c7565b9150613c768361390b565b9250613ca37fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484613b8d565b905092915050565b6000613cb6826133c7565b9150613cc1836133c7565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615613cfa57613cf9613afe565b5b828202905092915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b6000613d3b602083613406565b9150613d4682613d05565b602082019050919050565b60006020820190508181036000830152613d6a81613d2e565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b6000608082019050613db5600083018761388e565b613dc2602083018661361a565b613dcf604083018561361a565b613ddc606083018461361a565b95945050505050565b6000613df0826133c7565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203613e2257613e21613afe565b5b600182019050919050565b6000613e38826133c7565b9150613e43836133c7565b925082821015613e5657613e55613afe565b5b828203905092915050565b6000606082019050613e7660008301866133d1565b613e8360208301856133d1565b613e9060408301846133d1565b949350505050565b6000613ea3826133c7565b9150613eae836133c7565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115613ee357613ee2613afe565b5b828201905092915050565b7f4e657720616464726573732063616e6e6f74206265207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b6000613f4a602283613406565b9150613f5582613eee565b604082019050919050565b60006020820190508181036000830152613f7981613f3d565b9050919050565b6000604082019050613f95600083018561388e565b613fa2602083018461361a565b9392505050565b6000606082019050613fbe600083018661361a565b613fcb60208301856133d1565b613fd8604083018461361a565b949350505050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b600061403c602683613406565b915061404782613fe0565b604082019050919050565b6000602082019050818103600083015261406b8161402f565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b60006140ce602483613406565b91506140d982614072565b604082019050919050565b600060208201905081810360008301526140fd816140c1565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b6000614160602283613406565b915061416b82614104565b604082019050919050565b6000602082019050818103600083015261418f81614153565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b60006141f2602583613406565b91506141fd82614196565b604082019050919050565b60006020820190508181036000830152614221816141e5565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b6000614284602383613406565b915061428f82614228565b604082019050919050565b600060208201905081810360008301526142b381614277565b9050919050565b7f546f2f66726f6d206164647265737320697320626c61636b6c69737465642100600082015250565b60006142f0601f83613406565b91506142fb826142ba565b602082019050919050565b6000602082019050818103600083015261431f816142e3565b9050919050565b7f5472616e7366657220616d6f756e74206578636565647320746865206d61782060008201527f7472616e73616374696f6e206c696d69742e0000000000000000000000000000602082015250565b6000614382603283613406565b915061438d82614326565b604082019050919050565b600060208201905081810360008301526143b181614375565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b60006143f2826133c7565b91506143fd836133c7565b92508261440d5761440c6143b8565b5b828204905092915050565b60008151905061442781613576565b92915050565b6000602082840312156144435761444261355a565b5b600061445184828501614418565b91505092915050565b6000819050919050565b600061447f61447a6144758461445a565b6134d6565b6133c7565b9050919050565b61448f81614464565b82525050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b6144ca81613564565b82525050565b60006144dc83836144c1565b60208301905092915050565b6000602082019050919050565b600061450082614495565b61450a81856144a0565b9350614515836144b1565b8060005b8381101561454657815161452d88826144d0565b9750614538836144e8565b925050600181019050614519565b5085935050505092915050565b600060a08201905061456860008301886133d1565b6145756020830187614486565b818103604083015261458781866144f5565b9050614596606083018561388e565b6145a360808301846133d1565b9695505050505050565b60006040820190506145c260008301856133d1565b81810360208301526145d481846144f5565b90509392505050565b600081905092915050565b50565b60006145f86000836145dd565b9150614603826145e8565b600082019050919050565b6000614619826145eb565b9150819050919050565b600061462e82613502565b9050919050565b61463e81614623565b82525050565b600060c082019050614659600083018961388e565b61466660208301886133d1565b6146736040830187614486565b6146806060830186614486565b61468d6080830185614635565b61469a60a08301846133d1565b979650505050505050565b6000815190506146b4816135a2565b92915050565b6000806000606084860312156146d3576146d261355a565b5b60006146e1868287016146a5565b93505060206146f2868287016146a5565b9250506040614703868287016146a5565b915050925092509256fea2646970667358221220ff64642a6735d79f05919aad3c123147168ea18108601ecbe3311bd1f7e327de64736f6c634300080d0033
Deployed Bytecode
0x6080604052600436106102cd5760003560e01c80637437681e11610175578063c2710c99116100dc578063df10b50811610095578063ebc38ab01161006f578063ebc38ab014610b41578063f2fde38b14610b6c578063f872858a14610b95578063fe31452414610bc0576102d4565b8063df10b50814610ac2578063e96fada214610aed578063e9dae5ed14610b18576102d4565b8063c2710c99146109a0578063c867d60b146109c9578063ca33e64c14610a06578063cc1776d314610a31578063d5304de814610a5c578063dd62ed3e14610a85576102d4565b80638e3657aa1161012e5780638e3657aa1461087c5780639358928b146108a757806395d89b41146108d2578063a457c2d7146108fd578063a9059cbb1461093a578063bc0ec4e714610977576102d4565b80637437681e1461076a57806378811eca146107955780638124f7ac146107be57806384b1d1ef146107e95780638b42507f146108145780638da5cb5b14610851576102d4565b806339509351116102345780635342acb4116101ed5780636a22ab32116101c75780636a22ab32146106c25780636ddd1713146106eb57806370a0823114610716578063715018a614610753576102d4565b80635342acb4146106335780635d9fe7e61461067057806367ad4c0e14610699576102d4565b806339509351146104fd5780633bbac5791461053a5780633ecad27114610577578063452ed4f1146105b457806345baf611146105df5780634f7041a514610608576102d4565b806318160ddd1161028657806318160ddd146103ed5780631f1f4cc71461041857806323b872dd1461044157806327c8f8351461047e5780632a42caed146104a9578063313ce567146104d2576102d4565b80630445b667146102d957806306fdde03146103045780630758d9241461032f57806309218ee71461035a578063095ea7b31461038557806314310699146103c2576102d4565b366102d457005b600080fd5b3480156102e557600080fd5b506102ee610beb565b6040516102fb91906133e0565b60405180910390f35b34801561031057600080fd5b50610319610bf1565b6040516103269190613494565b60405180910390f35b34801561033b57600080fd5b50610344610c2e565b6040516103519190613535565b60405180910390f35b34801561036657600080fd5b5061036f610c54565b60405161037c91906133e0565b60405180910390f35b34801561039157600080fd5b506103ac60048036038101906103a791906135ce565b610c5a565b6040516103b99190613629565b60405180910390f35b3480156103ce57600080fd5b506103d7610c78565b6040516103e49190613629565b60405180910390f35b3480156103f957600080fd5b50610402610c8b565b60405161040f91906133e0565b60405180910390f35b34801561042457600080fd5b5061043f600480360381019061043a91906137b8565b610caf565b005b34801561044d57600080fd5b506104686004803603810190610463919061383b565b610f14565b6040516104759190613629565b60405180910390f35b34801561048a57600080fd5b50610493610fcd565b6040516104a0919061389d565b60405180910390f35b3480156104b557600080fd5b506104d060048036038101906104cb91906138b8565b610fd3565b005b3480156104de57600080fd5b506104e76110bd565b6040516104f49190613927565b60405180910390f35b34801561050957600080fd5b50610524600480360381019061051f91906135ce565b6110c6565b6040516105319190613629565b60405180910390f35b34801561054657600080fd5b50610561600480360381019061055c9190613942565b611172565b60405161056e9190613629565b60405180910390f35b34801561058357600080fd5b5061059e60048036038101906105999190613942565b611192565b6040516105ab9190613629565b60405180910390f35b3480156105c057600080fd5b506105c96111b2565b6040516105d6919061389d565b60405180910390f35b3480156105eb57600080fd5b5061060660048036038101906106019190613942565b6111d8565b005b34801561061457600080fd5b5061061d611320565b60405161062a91906133e0565b60405180910390f35b34801561063f57600080fd5b5061065a60048036038101906106559190613942565b611326565b6040516106679190613629565b60405180910390f35b34801561067c57600080fd5b5061069760048036038101906106929190613942565b611346565b005b3480156106a557600080fd5b506106c060048036038101906106bb919061396f565b61148e565b005b3480156106ce57600080fd5b506106e960048036038101906106e4919061396f565b6115b7565b005b3480156106f757600080fd5b506107006116e0565b60405161070d9190613629565b60405180910390f35b34801561072257600080fd5b5061073d60048036038101906107389190613942565b6116f3565b60405161074a91906133e0565b60405180910390f35b34801561075f57600080fd5b5061076861173c565b005b34801561077657600080fd5b5061077f61188f565b60405161078c91906133e0565b60405180910390f35b3480156107a157600080fd5b506107bc60048036038101906107b791906139af565b611895565b005b3480156107ca57600080fd5b506107d36119a4565b6040516107e091906133e0565b60405180910390f35b3480156107f557600080fd5b506107fe6119aa565b60405161080b9190613a23565b60405180910390f35b34801561082057600080fd5b5061083b60048036038101906108369190613942565b6119d0565b6040516108489190613629565b60405180910390f35b34801561085d57600080fd5b506108666119f0565b604051610873919061389d565b60405180910390f35b34801561088857600080fd5b50610891611a19565b60405161089e9190613629565b60405180910390f35b3480156108b357600080fd5b506108bc611a2a565b6040516108c991906133e0565b60405180910390f35b3480156108de57600080fd5b506108e7611a63565b6040516108f49190613494565b60405180910390f35b34801561090957600080fd5b50610924600480360381019061091f91906135ce565b611aa0565b6040516109319190613629565b60405180910390f35b34801561094657600080fd5b50610961600480360381019061095c91906135ce565b611b4c565b60405161096e9190613629565b60405180910390f35b34801561098357600080fd5b5061099e60048036038101906109999190613942565b611b6b565b005b3480156109ac57600080fd5b506109c760048036038101906109c29190613a3e565b611cb3565b005b3480156109d557600080fd5b506109f060048036038101906109eb9190613942565b611da4565b6040516109fd9190613629565b60405180910390f35b348015610a1257600080fd5b50610a1b611dc4565b604051610a289190613a23565b60405180910390f35b348015610a3d57600080fd5b50610a46611dea565b604051610a5391906133e0565b60405180910390f35b348015610a6857600080fd5b50610a836004803603810190610a7e9190613a7e565b611df0565b005b348015610a9157600080fd5b50610aac6004803603810190610aa79190613abe565b611eaa565b604051610ab991906133e0565b60405180910390f35b348015610ace57600080fd5b50610ad7611f31565b604051610ae491906133e0565b60405180910390f35b348015610af957600080fd5b50610b02611f37565b604051610b0f9190613a23565b60405180910390f35b348015610b2457600080fd5b50610b3f6004803603810190610b3a91906138b8565b611f5d565b005b348015610b4d57600080fd5b50610b56612047565b604051610b6391906133e0565b60405180910390f35b348015610b7857600080fd5b50610b936004803603810190610b8e9190613942565b61204d565b005b348015610ba157600080fd5b50610baa61220e565b604051610bb79190613629565b60405180910390f35b348015610bcc57600080fd5b50610bd5612221565b604051610be291906133e0565b60405180910390f35b60125481565b60606040518060400160405280600b81526020017f53757065722057696e6773000000000000000000000000000000000000000000815250905090565b601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60105481565b6000610c6e610c67612227565b848461222f565b6001905092915050565b600b60009054906101000a900460ff1681565b60006012600a610c9b9190613c60565b630496ed40610caa9190613cab565b905090565b610cb7612227565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610d44576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d3b90613d51565b60405180910390fd5b60005b8451811015610f0d578360096000878481518110610d6857610d67613d71565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555082600a6000878481518110610dd957610dd8613d71565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508160086000878481518110610e4a57610e49613d71565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055507f12d9c9f75d95e930caf8a1f18460585ce2349b367898dbf23e394afef2d35d95858281518110610ed757610ed6613d71565b5b6020026020010151858585604051610ef29493929190613da0565b60405180910390a18080610f0590613de5565b915050610d47565b5050505050565b6000610f218484846123f8565b50610fc284610f2e612227565b84600560008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000610f78612227565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610fbd9190613e2d565b61222f565b600190509392505050565b61dead81565b610fdb612227565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611068576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161105f90613d51565b60405180910390fd5b8260118190555081600f81905550806010819055507f182101bc4f3117ca4bac06c236d9b9d22164fd259705bb944f9c4580cdba1d9b8383836040516110b093929190613e61565b60405180910390a1505050565b60006012905090565b60006111686110d3612227565b8484600560006110e1612227565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546111639190613e98565b61222f565b6001905092915050565b60066020528060005260406000206000915054906101000a900460ff1681565b60076020528060005260406000206000915054906101000a900460ff1681565b601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6111e0612227565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461126d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161126490613d51565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036112dc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112d390613f60565b60405180910390fd5b80600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600c5481565b60096020528060005260406000206000915054906101000a900460ff1681565b61134e612227565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146113db576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113d290613d51565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff160361144a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161144190613f60565b60405180910390fd5b80600360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b611496612227565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611523576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161151a90613d51565b60405180910390fd5b80600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055507f160ff69a72bc70f3e792a86c87d27070e421562197f032d96bcab11c5010222e82826040516115ab929190613f80565b60405180910390a15050565b6115bf612227565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461164c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161164390613d51565b60405180910390fd5b80600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055507f066e0c23b9ae0bb92a88e9b0985bb7d85fce062730057312b99a9e243fde5ee182826040516116d4929190613f80565b60405180910390a15050565b601660159054906101000a900460ff1681565b6000600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b611744612227565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146117d1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117c890613d51565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b60135481565b61189d612227565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461192a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161192190613d51565b60405180910390fd5b82601660156101000a81548160ff02191690831515021790555081601281905550806016806101000a81548160ff0219169083151502179055507f11208aed08835f646702af16c636fb4351554fa2f623991905cadb0293a88afc83838360405161199793929190613fa9565b60405180910390a1505050565b600e5481565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60086020528060005260406000206000915054906101000a900460ff1681565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60168054906101000a900460ff1681565b6000611a3761dead6116f3565b6012600a611a459190613c60565b630496ed40611a549190613cab565b611a5e9190613e2d565b905090565b60606040518060400160405280600681526020017f2457696e67730000000000000000000000000000000000000000000000000000815250905090565b6000611b42611aad612227565b848460056000611abb612227565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611b3d9190613e2d565b61222f565b6001905092915050565b6000611b60611b59612227565b84846123f8565b506001905092915050565b611b73612227565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611c00576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611bf790613d51565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603611c6f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c6690613f60565b60405180910390fd5b80600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b611cbb612227565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611d48576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d3f90613d51565b60405180910390fd5b8160138190555080600b60006101000a81548160ff0219169083151502179055507fcff95ed354a1a3fcbabf882bfa4a9319f55569c324478c800820398451df187182604051611d9891906133e0565b60405180910390a15050565b600a6020528060005260406000206000915054906101000a900460ff1681565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600d5481565b611df8612227565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611e85576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e7c90613d51565b60405180910390fd5b81601660176101000a81548160ff021916908315150217905550806014819055505050565b6000600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b60115481565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b611f65612227565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611ff2576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611fe990613d51565b60405180910390fd5b82600c8190555081600d8190555080600e819055507f25867dce048c131028a643b5e80a65d9181f527aebfc047edf0c4341bc57ac8783838360405161203a93929190613e61565b60405180910390a1505050565b600f5481565b612055612227565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146120e2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016120d990613d51565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603612151576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161214890614052565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b601660179054906101000a900460ff1681565b60145481565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361229e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612295906140e4565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361230d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161230490614176565b60405180910390fd5b80600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516123eb91906133e0565b60405180910390a3505050565b6000601660149054906101000a900460ff16156124215761241a848484612a7e565b9050612a77565b600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1603612490576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161248790614208565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036124ff576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016124f69061429a565b60405180910390fd5b600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161580156125a35750600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b6125e2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016125d990614306565b60405180910390fd5b600b60009054906101000a900460ff1680156126485750600860008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b801561269e5750600860008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b156126e9576013548211156126e8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016126df90614398565b60405180910390fd5b5b6000600960008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff168061278c5750600960008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b9050801580156127e65750600760008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b80156127fe5750601660159054906101000a900460ff165b1561284657600061280e306116f3565b90506000601254821015905080156128435760168054906101000a900460ff16156128395760125491505b61284282612c0c565b5b50505b82600460008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546128919190613e2d565b600460008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506000816128eb576128e6868686612dc0565b6128ed565b835b9050601660179054906101000a900460ff1680156129555750600a60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b1561297d5760145481612967876116f3565b6129719190613e98565b111561297c57600080fd5b5b80600460008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546129c89190613e98565b600460008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508473ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051612a6891906133e0565b60405180910390a36001925050505b9392505050565b600081600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612acb9190613e2d565b600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555081600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612b599190613e98565b600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051612bf991906133e0565b60405180910390a3600190509392505050565b6001601660146101000a81548160ff0219169083151502179055506000601054600f54601154612c3c9190613e98565b612c469190613e98565b90506000600282600f5485612c5b9190613cab565b612c6591906143e7565b612c6f91906143e7565b905060008184612c7f9190613e2d565b9050612c8a81612fd8565b600047905060006002600f54612ca091906143e7565b85612cab9190613e2d565b90506000600282600f5485612cc09190613cab565b612cca91906143e7565b612cd491906143e7565b905060008260115485612ce79190613cab565b612cf191906143e7565b90506000818386612d029190613e2d565b612d0c9190613e2d565b90506000811115612d4457612d43600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1682613254565b5b6000821115612d7a57612d79600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1683613254565b5b600083118015612d8a5750600087115b15612d9a57612d9987846132c7565b5b50505050505050506000601660146101000a81548160ff02191690831515021790555050565b6000806103e8600e5484612dd49190613cab565b612dde91906143e7565b9050600760008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615612e54576103e8600d5484612e439190613cab565b612e4d91906143e7565b9050612ec5565b600760008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615612ec4576103e8600c5484612eb79190613cab565b612ec191906143e7565b90505b5b6000811115612fc25780600460003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612f199190613e98565b600460003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055503073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051612fb991906133e0565b60405180910390a35b8083612fce9190613e2d565b9150509392505050565b6000600267ffffffffffffffff811115612ff557612ff4613649565b5b6040519080825280602002602001820160405280156130235781602001602082028036833780820191505090505b509050308160008151811061303b5761303a613d71565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156130e2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613106919061442d565b8160018151811061311a57613119613d71565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505061318130601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff168461222f565b601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b81526004016131e5959493929190614553565b600060405180830381600087803b1580156131ff57600080fd5b505af1158015613213573d6000803e3d6000fd5b505050507f32cde87eb454f3a0b875ab23547023107cfad454363ec88ba5695e2c24aa52a782826040516132489291906145ad565b60405180910390a15050565b60008273ffffffffffffffffffffffffffffffffffffffff168260405161327a9061460e565b60006040518083038185875af1925050503d80600081146132b7576040519150601f19603f3d011682016040523d82523d6000602084013e6132bc565b606091505b505080915050505050565b6132f430601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff168461222f565b601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d719823085600080600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16426040518863ffffffff1660e01b815260040161337d96959493929190614644565b60606040518083038185885af115801561339b573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906133c091906146ba565b5050505050565b6000819050919050565b6133da816133c7565b82525050565b60006020820190506133f560008301846133d1565b92915050565b600081519050919050565b600082825260208201905092915050565b60005b8381101561343557808201518184015260208101905061341a565b83811115613444576000848401525b50505050565b6000601f19601f8301169050919050565b6000613466826133fb565b6134708185613406565b9350613480818560208601613417565b6134898161344a565b840191505092915050565b600060208201905081810360008301526134ae818461345b565b905092915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b60006134fb6134f66134f1846134b6565b6134d6565b6134b6565b9050919050565b600061350d826134e0565b9050919050565b600061351f82613502565b9050919050565b61352f81613514565b82525050565b600060208201905061354a6000830184613526565b92915050565b6000604051905090565b600080fd5b600080fd5b600061356f826134b6565b9050919050565b61357f81613564565b811461358a57600080fd5b50565b60008135905061359c81613576565b92915050565b6135ab816133c7565b81146135b657600080fd5b50565b6000813590506135c8816135a2565b92915050565b600080604083850312156135e5576135e461355a565b5b60006135f38582860161358d565b9250506020613604858286016135b9565b9150509250929050565b60008115159050919050565b6136238161360e565b82525050565b600060208201905061363e600083018461361a565b92915050565b600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6136818261344a565b810181811067ffffffffffffffff821117156136a05761369f613649565b5b80604052505050565b60006136b3613550565b90506136bf8282613678565b919050565b600067ffffffffffffffff8211156136df576136de613649565b5b602082029050602081019050919050565b600080fd5b6000613708613703846136c4565b6136a9565b9050808382526020820190506020840283018581111561372b5761372a6136f0565b5b835b818110156137545780613740888261358d565b84526020840193505060208101905061372d565b5050509392505050565b600082601f83011261377357613772613644565b5b81356137838482602086016136f5565b91505092915050565b6137958161360e565b81146137a057600080fd5b50565b6000813590506137b28161378c565b92915050565b600080600080608085870312156137d2576137d161355a565b5b600085013567ffffffffffffffff8111156137f0576137ef61355f565b5b6137fc8782880161375e565b945050602061380d878288016137a3565b935050604061381e878288016137a3565b925050606061382f878288016137a3565b91505092959194509250565b6000806000606084860312156138545761385361355a565b5b60006138628682870161358d565b93505060206138738682870161358d565b9250506040613884868287016135b9565b9150509250925092565b61389781613564565b82525050565b60006020820190506138b2600083018461388e565b92915050565b6000806000606084860312156138d1576138d061355a565b5b60006138df868287016135b9565b93505060206138f0868287016135b9565b9250506040613901868287016135b9565b9150509250925092565b600060ff82169050919050565b6139218161390b565b82525050565b600060208201905061393c6000830184613918565b92915050565b6000602082840312156139585761395761355a565b5b60006139668482850161358d565b91505092915050565b600080604083850312156139865761398561355a565b5b60006139948582860161358d565b92505060206139a5858286016137a3565b9150509250929050565b6000806000606084860312156139c8576139c761355a565b5b60006139d6868287016137a3565b93505060206139e7868287016135b9565b92505060406139f8868287016137a3565b9150509250925092565b6000613a0d826134b6565b9050919050565b613a1d81613a02565b82525050565b6000602082019050613a386000830184613a14565b92915050565b60008060408385031215613a5557613a5461355a565b5b6000613a63858286016135b9565b9250506020613a74858286016137a3565b9150509250929050565b60008060408385031215613a9557613a9461355a565b5b6000613aa3858286016137a3565b9250506020613ab4858286016135b9565b9150509250929050565b60008060408385031215613ad557613ad461355a565b5b6000613ae38582860161358d565b9250506020613af48582860161358d565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008160011c9050919050565b6000808291508390505b6001851115613b8457808604811115613b6057613b5f613afe565b5b6001851615613b6f5780820291505b8081029050613b7d85613b2d565b9450613b44565b94509492505050565b600082613b9d5760019050613c59565b81613bab5760009050613c59565b8160018114613bc15760028114613bcb57613bfa565b6001915050613c59565b60ff841115613bdd57613bdc613afe565b5b8360020a915084821115613bf457613bf3613afe565b5b50613c59565b5060208310610133831016604e8410600b8410161715613c2f5782820a905083811115613c2a57613c29613afe565b5b613c59565b613c3c8484846001613b3a565b92509050818404811115613c5357613c52613afe565b5b81810290505b9392505050565b6000613c6b826133c7565b9150613c768361390b565b9250613ca37fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484613b8d565b905092915050565b6000613cb6826133c7565b9150613cc1836133c7565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615613cfa57613cf9613afe565b5b828202905092915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b6000613d3b602083613406565b9150613d4682613d05565b602082019050919050565b60006020820190508181036000830152613d6a81613d2e565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b6000608082019050613db5600083018761388e565b613dc2602083018661361a565b613dcf604083018561361a565b613ddc606083018461361a565b95945050505050565b6000613df0826133c7565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203613e2257613e21613afe565b5b600182019050919050565b6000613e38826133c7565b9150613e43836133c7565b925082821015613e5657613e55613afe565b5b828203905092915050565b6000606082019050613e7660008301866133d1565b613e8360208301856133d1565b613e9060408301846133d1565b949350505050565b6000613ea3826133c7565b9150613eae836133c7565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115613ee357613ee2613afe565b5b828201905092915050565b7f4e657720616464726573732063616e6e6f74206265207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b6000613f4a602283613406565b9150613f5582613eee565b604082019050919050565b60006020820190508181036000830152613f7981613f3d565b9050919050565b6000604082019050613f95600083018561388e565b613fa2602083018461361a565b9392505050565b6000606082019050613fbe600083018661361a565b613fcb60208301856133d1565b613fd8604083018461361a565b949350505050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b600061403c602683613406565b915061404782613fe0565b604082019050919050565b6000602082019050818103600083015261406b8161402f565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b60006140ce602483613406565b91506140d982614072565b604082019050919050565b600060208201905081810360008301526140fd816140c1565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b6000614160602283613406565b915061416b82614104565b604082019050919050565b6000602082019050818103600083015261418f81614153565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b60006141f2602583613406565b91506141fd82614196565b604082019050919050565b60006020820190508181036000830152614221816141e5565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b6000614284602383613406565b915061428f82614228565b604082019050919050565b600060208201905081810360008301526142b381614277565b9050919050565b7f546f2f66726f6d206164647265737320697320626c61636b6c69737465642100600082015250565b60006142f0601f83613406565b91506142fb826142ba565b602082019050919050565b6000602082019050818103600083015261431f816142e3565b9050919050565b7f5472616e7366657220616d6f756e74206578636565647320746865206d61782060008201527f7472616e73616374696f6e206c696d69742e0000000000000000000000000000602082015250565b6000614382603283613406565b915061438d82614326565b604082019050919050565b600060208201905081810360008301526143b181614375565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b60006143f2826133c7565b91506143fd836133c7565b92508261440d5761440c6143b8565b5b828204905092915050565b60008151905061442781613576565b92915050565b6000602082840312156144435761444261355a565b5b600061445184828501614418565b91505092915050565b6000819050919050565b600061447f61447a6144758461445a565b6134d6565b6133c7565b9050919050565b61448f81614464565b82525050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b6144ca81613564565b82525050565b60006144dc83836144c1565b60208301905092915050565b6000602082019050919050565b600061450082614495565b61450a81856144a0565b9350614515836144b1565b8060005b8381101561454657815161452d88826144d0565b9750614538836144e8565b925050600181019050614519565b5085935050505092915050565b600060a08201905061456860008301886133d1565b6145756020830187614486565b818103604083015261458781866144f5565b9050614596606083018561388e565b6145a360808301846133d1565b9695505050505050565b60006040820190506145c260008301856133d1565b81810360208301526145d481846144f5565b90509392505050565b600081905092915050565b50565b60006145f86000836145dd565b9150614603826145e8565b600082019050919050565b6000614619826145eb565b9150819050919050565b600061462e82613502565b9050919050565b61463e81614623565b82525050565b600060c082019050614659600083018961388e565b61466660208301886133d1565b6146736040830187614486565b6146806060830186614486565b61468d6080830185614635565b61469a60a08301846133d1565b979650505050505050565b6000815190506146b4816135a2565b92915050565b6000806000606084860312156146d3576146d261355a565b5b60006146e1868287016146a5565b93505060206146f2868287016146a5565b9250506040614703868287016146a5565b915050925092509256fea2646970667358221220ff64642a6735d79f05919aad3c123147168ea18108601ecbe3311bd1f7e327de64736f6c634300080d0033
Deployed Bytecode Sourcemap
3297:13654:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4708:51;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6699:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4859:27;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4553:34;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7950:161;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4367:34;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6976:100;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10282:478;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;8642:265;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3505:81;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9561:315;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;6885:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7496:214;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4097:38;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4142:45;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4893:21;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11101:251;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;4410:27;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4249:50;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11360:241;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;9086:199;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;8915:163;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;4955:30;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7218:118;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1006:148;;;;;;;;;;;;;:::i;:::-;;4769:24;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10768:325;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;4479:31;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3837:95;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4194:48;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;785:79;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4992:35;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7088:122;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6790:87;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7718:224;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8467:167;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11609:256;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;9884:202;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;4306:52;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3593:98;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4444:28;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10094:180;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;7344:144;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4594:32;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3712:97;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9297:256;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;4519:27;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1162:244;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;5034:35;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4800:50;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4708:51;;;;:::o;6699:83::-;6736:13;6769:5;;;;;;;;;;;;;;;;;6762:12;;6699:83;:::o;4859:27::-;;;;;;;;;;;;;:::o;4553:34::-;;;;:::o;7950:161::-;8025:4;8042:39;8051:12;:10;:12::i;:::-;8065:7;8074:6;8042:8;:39::i;:::-;8099:4;8092:11;;7950:161;;;;:::o;4367:34::-;;;;;;;;;;;;;:::o;6976:100::-;7029:7;3494:2;4688;:13;;;;:::i;:::-;4675:10;:26;;;;:::i;:::-;7049:19;;6976:100;:::o;10282:478::-;929:12;:10;:12::i;:::-;919:22;;:6;;;;;;;;;;:22;;;911:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;10427:9:::1;10423:330;10446:7;:14;10442:1;:18;10423:330;;;10513:9;10481:17;:29;10499:7;10507:1;10499:10;;;;;;;;:::i;:::-;;;;;;;;10481:29;;;;;;;;;;;;;;;;:41;;;;;;;;;;;;;;;;;;10571:17;10537:19;:31;10557:7;10565:1;10557:10;;;;;;;;:::i;:::-;;;;;;;;10537:31;;;;;;;;;;;;;;;;:51;;;;;;;;;;;;;;;;;;10633:13;10603:15;:27;10619:7;10627:1;10619:10;;;;;;;;:::i;:::-;;;;;;;;10603:27;;;;;;;;;;;;;;;;:43;;;;;;;;;;;;;;;;;;10666:75;10685:7;10693:1;10685:10;;;;;;;;:::i;:::-;;;;;;;;10697:9;10708:17;10727:13;10666:75;;;;;;;;;:::i;:::-;;;;;;;;10462:3;;;;;:::i;:::-;;;;10423:330;;;;10282:478:::0;;;;:::o;8642:265::-;8740:4;8757:36;8767:6;8775:9;8786:6;8757:9;:36::i;:::-;;8804:73;8813:6;8821:12;:10;:12::i;:::-;8870:6;8835:10;:18;8846:6;8835:18;;;;;;;;;;;;;;;:32;8854:12;:10;:12::i;:::-;8835:32;;;;;;;;;;;;;;;;:41;;;;:::i;:::-;8804:8;:73::i;:::-;8895:4;8888:11;;8642:265;;;;;:::o;3505:81::-;3544:42;3505:81;:::o;9561:315::-;929:12;:10;:12::i;:::-;919:22;;:6;;;;;;;;;;:22;;;911:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;9703:13:::1;9688:12;:28;;;;9737:8;9727:7;:18;;;;9773:15;9756:14;:32;;;;9804:64;9827:13;9842:8;9852:15;9804:64;;;;;;;;:::i;:::-;;;;;;;;9561:315:::0;;;:::o;6885:83::-;6926:5;3494:2;6944:16;;6885:83;:::o;7496:214::-;7584:4;7601:79;7610:12;:10;:12::i;:::-;7624:7;7669:10;7633;:24;7644:12;:10;:12::i;:::-;7633:24;;;;;;;;;;;;;;;:33;7658:7;7633:33;;;;;;;;;;;;;;;;:46;;;;:::i;:::-;7601:8;:79::i;:::-;7698:4;7691:11;;7496:214;;;;:::o;4097:38::-;;;;;;;;;;;;;;;;;;;;;;:::o;4142:45::-;;;;;;;;;;;;;;;;;;;;;;:::o;4893:21::-;;;;;;;;;;;;;:::o;11101:251::-;929:12;:10;:12::i;:::-;919:22;;:6;;;;;;;;;;:22;;;911:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;11239:1:::1;11206:35;;:21;:35;;::::0;11198:82:::1;;;;;;;;;;;;:::i;:::-;;;;;;;;;11322:21;11291:20;;:53;;;;;;;;;;;;;;;;;;11101:251:::0;:::o;4410:27::-;;;;:::o;4249:50::-;;;;;;;;;;;;;;;;;;;;;;:::o;11360:241::-;929:12;:10;:12::i;:::-;919:22;;:6;;;;;;;;;;:22;;;911:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;11492:1:::1;11461:33;;:19;:33;;::::0;11453:80:::1;;;;;;;;;;;;:::i;:::-;;;;;;;;;11573:19;11544:18;;:49;;;;;;;;;;;;;;;;;;11360:241:::0;:::o;9086:199::-;929:12;:10;:12::i;:::-;919:22;;:6;;;;;;;;;;:22;;;911:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;9207:13:::1;9183:12;:21;9196:7;9183:21;;;;;;;;;;;;;;;;:37;;;;;;;;;;;;;;;;;;9236:41;9254:7;9263:13;9236:41;;;;;;;:::i;:::-;;;;;;;;9086:199:::0;;:::o;8915:163::-;929:12;:10;:12::i;:::-;919:22;;:6;;;;;;;;;;:22;;;911:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;9015:6:::1;8998:5;:14;9004:7;8998:14;;;;;;;;;;;;;;;;:23;;;;;;;;;;;;;;;;;;9037:33;9054:7;9063:6;9037:33;;;;;;;:::i;:::-;;;;;;;;8915:163:::0;;:::o;4955:30::-;;;;;;;;;;;;;:::o;7218:118::-;7284:7;7311:8;:17;7320:7;7311:17;;;;;;;;;;;;;;;;7304:24;;7218:118;;;:::o;1006:148::-;929:12;:10;:12::i;:::-;919:22;;:6;;;;;;;;;;:22;;;911:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;1113:1:::1;1076:40;;1097:6;::::0;::::1;;;;;;;;1076:40;;;;;;;;;;;;1144:1;1127:6:::0;::::1;:19;;;;;;;;;;;;;;;;;;1006:148::o:0;4769:24::-;;;;:::o;10768:325::-;929:12;:10;:12::i;:::-;919:22;;:6;;;;;;;;;;:22;;;911:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;10904:12:::1;10890:11;;:26;;;;;;;;;;;;;;;;;;10943:14;10927:13;:30;;;;10986:16;10968:15;::::0;:34:::1;;;;;;;;;;;;;;;;;;11018:67;11038:12;11052:14;11068:16;11018:67;;;;;;;;:::i;:::-;;;;;;;;10768:325:::0;;;:::o;4479:31::-;;;;:::o;3837:95::-;;;;;;;;;;;;;:::o;4194:48::-;;;;;;;;;;;;;;;;;;;;;;:::o;785:79::-;823:7;850:6;;;;;;;;;;;843:13;;785:79;:::o;4992:35::-;;;;;;;;;;;;:::o;7088:122::-;7138:7;7180:22;3544:42;7180:9;:22::i;:::-;3494:2;4688;:13;;;;:::i;:::-;4675:10;:26;;;;:::i;:::-;7165:37;;;;:::i;:::-;7158:44;;7088:122;:::o;6790:87::-;6829:13;6862:7;;;;;;;;;;;;;;;;;6855:14;;6790:87;:::o;7718:224::-;7811:4;7828:84;7837:12;:10;:12::i;:::-;7851:7;7896:15;7860:10;:24;7871:12;:10;:12::i;:::-;7860:24;;;;;;;;;;;;;;;:33;7885:7;7860:33;;;;;;;;;;;;;;;;:51;;;;:::i;:::-;7828:8;:84::i;:::-;7930:4;7923:11;;7718:224;;;;:::o;8467:167::-;8545:4;8562:42;8572:12;:10;:12::i;:::-;8586:9;8597:6;8562:9;:42::i;:::-;;8622:4;8615:11;;8467:167;;;;:::o;11609:256::-;929:12;:10;:12::i;:::-;919:22;;:6;;;;;;;;;;:22;;;911:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;11750:1:::1;11716:36;;:22;:36;;::::0;11708:83:::1;;;;;;;;;;;;:::i;:::-;;;;;;;;;11834:22;11802:21;;:55;;;;;;;;;;;;;;;;;;11609:256:::0;:::o;9884:202::-;929:12;:10;:12::i;:::-;919:22;;:6;;;;;;;;;;:22;;;911:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;9985:6:::1;9977:5;:14;;;;10020:16;10002:15;;:34;;;;;;;;;;;;;;;;;;10052:26;10071:6;10052:26;;;;;;:::i;:::-;;;;;;;;9884:202:::0;;:::o;4306:52::-;;;;;;;;;;;;;;;;;;;;;;:::o;3593:98::-;;;;;;;;;;;;;:::o;4444:28::-;;;;:::o;10094:180::-;929:12;:10;:12::i;:::-;919:22;;:6;;;;;;;;;;:22;;;911:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;10215:17:::1;10196:16;;:36;;;;;;;;;;;;;;;;;;10256:10;10243:9;:23;;;;10094:180:::0;;:::o;7344:144::-;7426:7;7453:10;:18;7464:6;7453:18;;;;;;;;;;;;;;;:27;7472:7;7453:27;;;;;;;;;;;;;;;;7446:34;;7344:144;;;;:::o;4594:32::-;;;;:::o;3712:97::-;;;;;;;;;;;;;:::o;9297:256::-;929:12;:10;:12::i;:::-;919:22;;:6;;;;;;;;;;:22;;;911:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;9411:7:::1;9402:6;:16;;;;9439:8;9429:7;:18;;;;9472:12;9458:11;:26;;;;9500:45;9513:7;9522:8;9532:12;9500:45;;;;;;;;:::i;:::-;;;;;;;;9297:256:::0;;;:::o;4519:27::-;;;;:::o;1162:244::-;929:12;:10;:12::i;:::-;919:22;;:6;;;;;;;;;;:22;;;911:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;1271:1:::1;1251:22;;:8;:22;;::::0;1243:73:::1;;;;;;;;;;;;:::i;:::-;;;;;;;;;1361:8;1332:38;;1353:6;::::0;::::1;;;;;;;;1332:38;;;;;;;;;;;;1390:8;1381:6;::::0;:17:::1;;;;;;;;;;;;;;;;;;1162:244:::0;:::o;5034:35::-;;;;;;;;;;;;;:::o;4800:50::-;;;;:::o;102:115::-;155:15;198:10;183:26;;102:115;:::o;8119:340::-;8231:1;8213:20;;:6;:20;;;8205:69;;;;;;;;;;;;:::i;:::-;;;;;;;;;8312:1;8293:21;;:7;:21;;;8285:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;8396:6;8366:10;:18;8377:6;8366:18;;;;;;;;;;;;;;;:27;8385:7;8366:27;;;;;;;;;;;;;;;:36;;;;8435:7;8418:33;;8427:6;8418:33;;;8444:6;8418:33;;;;;;:::i;:::-;;;;;;;;8119:340;;;:::o;12050:1761::-;12137:4;12157:8;;;;;;;;;;;12154:1650;;;12190:41;12205:6;12213:9;12224:6;12190:14;:41::i;:::-;12183:48;;;;12154:1650;12291:1;12273:20;;:6;:20;;;12265:70;;;;;;;;;;;;:::i;:::-;;;;;;;;;12379:1;12358:23;;:9;:23;;;12350:71;;;;;;;;;;;;:::i;:::-;;;;;;;;;12445:5;:13;12451:6;12445:13;;;;;;;;;;;;;;;;;;;;;;;;;12444:14;:35;;;;;12463:5;:16;12469:9;12463:16;;;;;;;;;;;;;;;;;;;;;;;;;12462:17;12444:35;12436:79;;;;;;;;;;;;:::i;:::-;;;;;;;;;12535:15;;;;;;;;;;;:43;;;;;12555:15;:23;12571:6;12555:23;;;;;;;;;;;;;;;;;;;;;;;;;12554:24;12535:43;:74;;;;;12583:15;:26;12599:9;12583:26;;;;;;;;;;;;;;;;;;;;;;;;;12582:27;12535:74;12532:192;;;12648:5;;12638:6;:15;;12630:78;;;;;;;;;;;;:::i;:::-;;;;;;;;;12532:192;12740:14;12758:17;:25;12776:6;12758:25;;;;;;;;;;;;;;;;;;;;;;;;;:57;;;;12787:17;:28;12805:9;12787:28;;;;;;;;;;;;;;;;;;;;;;;;;12758:57;12740:76;;12838:9;12837:10;:35;;;;;12852:12;:20;12865:6;12852:20;;;;;;;;;;;;;;;;;;;;;;;;;12851:21;12837:35;:50;;;;;12876:11;;;;;;;;;;;12837:50;12833:480;;;12922:28;12953:24;12971:4;12953:9;:24::i;:::-;12922:55;;12996:28;13051:13;;13027:20;:37;;12996:68;;13086:23;13083:215;;;13137:15;;;;;;;;;;13134:81;;;13202:13;;13179:36;;13134:81;13238:36;13253:20;13238:14;:36::i;:::-;13083:215;12903:410;;12833:480;13367:6;13348:8;:16;13357:6;13348:16;;;;;;;;;;;;;;;;:25;;;;:::i;:::-;13329:8;:16;13338:6;13329:16;;;;;;;;;;;;;;;:44;;;;13390:19;13412:9;:55;;13433:34;13441:6;13449:9;13460:6;13433:7;:34::i;:::-;13412:55;;;13424:6;13412:55;13390:77;;13487:16;;;;;;;;;;;:51;;;;;13508:19;:30;13528:9;13508:30;;;;;;;;;;;;;;;;;;;;;;;;;13507:31;13487:51;13484:149;;;13607:9;;13591:11;13568:20;13578:9;13568;:20::i;:::-;:34;;;;:::i;:::-;13567:49;;13559:58;;;;;;13484:149;13693:11;13671:8;:19;13680:9;13671:19;;;;;;;;;;;;;;;;:33;;;;:::i;:::-;13649:8;:19;13658:9;13649:19;;;;;;;;;;;;;;;:55;;;;13743:9;13726:40;;13735:6;13726:40;;;13754:11;13726:40;;;;;;:::i;:::-;;;;;;;;13788:4;13781:11;;;;12050:1761;;;;;;:::o;13819:296::-;13912:4;13967:6;13948:8;:16;13957:6;13948:16;;;;;;;;;;;;;;;;:25;;;;:::i;:::-;13929:8;:16;13938:6;13929:16;;;;;;;;;;;;;;;:44;;;;14028:6;14006:8;:19;14015:9;14006:19;;;;;;;;;;;;;;;;:28;;;;:::i;:::-;13984:8;:19;13993:9;13984:19;;;;;;;;;;;;;;;:50;;;;14067:9;14050:35;;14059:6;14050:35;;;14078:6;14050:35;;;;;;:::i;:::-;;;;;;;;14103:4;14096:11;;13819:296;;;;;:::o;14123:1038::-;5748:4;5737:8;;:15;;;;;;;;;;;;;;;;;;14195:19:::1;14242:14;;14232:7;;14217:12;;:22;;;;:::i;:::-;:39;;;;:::i;:::-;14195:61;;14267:19;14327:1;14312:11;14301:7;;14291;:17;;;;:::i;:::-;14290:33;;;;:::i;:::-;14289:39;;;;:::i;:::-;14267:61;;14339:21;14373:11;14363:7;:21;;;;:::i;:::-;14339:45;;14397:31;14414:13;14397:16;:31::i;:::-;14449:22;14474:21;14449:46;;14508:17;14553:1;14543:7;;:11;;;;:::i;:::-;14528;:27;;;;:::i;:::-;14508:47;;14576:23;14645:1;14632:9;14621:7;;14604:14;:24;;;;:::i;:::-;14603:38;;;;:::i;:::-;14602:44;;;;:::i;:::-;14576:70;;14657:21;14715:9;14699:12;;14682:14;:29;;;;:::i;:::-;14681:43;;;;:::i;:::-;14657:67;;14735:23;14796:13;14778:15;14761:14;:32;;;;:::i;:::-;:48;;;;:::i;:::-;14735:74;;14843:1;14825:15;:19;14822:101;;;14861:50;14873:20;;;;;;;;;;;14895:15;14861:11;:50::i;:::-;14822:101;14954:1;14938:13;:17;14935:95;;;14972:46;14984:18;;;;;;;;;;;15004:13;14972:11;:46::i;:::-;14935:95;15063:1;15045:15;:19;:38;;;;;15082:1;15068:11;:15;15045:38;15042:112;;;15100:42;15113:11;15126:15;15100:12;:42::i;:::-;15042:112;14184:977;;;;;;;;5786:5:::0;5775:8;;:16;;;;;;;;;;;;;;;;;;14123:1038;:::o;16348:594::-;16434:7;16456:17;16501:4;16486:11;;16477:6;:20;;;;:::i;:::-;16476:29;;;;:::i;:::-;16456:49;;16524:12;:23;16537:9;16524:23;;;;;;;;;;;;;;;;;;;;;;;;;16521:188;;;16597:4;16586:7;;16577:6;:16;;;;:::i;:::-;16576:25;;;;:::i;:::-;16564:37;;16521:188;;;16623:12;:20;16636:6;16623:20;;;;;;;;;;;;;;;;;;;;;;;;;16620:89;;;16692:4;16682:6;;16673;:15;;;;:::i;:::-;16672:24;;;;:::i;:::-;16660:36;;16620:89;16521:188;16744:1;16732:9;:13;16729:168;;;16814:9;16788:8;:23;16805:4;16788:23;;;;;;;;;;;;;;;;:35;;;;:::i;:::-;16762:8;:23;16779:4;16762:23;;;;;;;;;;;;;;;:61;;;;16868:4;16843:42;;16852:6;16843:42;;;16875:9;16843:42;;;;;;:::i;:::-;;;;;;;;16729:168;16925:9;16916:6;:18;;;;:::i;:::-;16909:25;;;16348:594;;;;;:::o;15169:648::-;15295:21;15333:1;15319:16;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15295:40;;15364:4;15346;15351:1;15346:7;;;;;;;;:::i;:::-;;;;;;;:23;;;;;;;;;;;15390:9;;;;;;;;;;;:14;;;:16;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;15380:4;15385:1;15380:7;;;;;;;;:::i;:::-;;;;;;;:26;;;;;;;;;;;15419:56;15436:4;15451:9;;;;;;;;;;;15463:11;15419:8;:56::i;:::-;15514:9;;;;;;;;;;;:60;;;15589:11;15615:1;15659:4;15686;15722:15;15514:234;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15774:35;15791:11;15804:4;15774:35;;;;;;;:::i;:::-;;;;;;;;15224:593;15169:648;:::o;11873:169::-;11956:12;12000:9;11992:23;;12023:6;11992:42;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11979:55;;;;;11945:97;11873:169;;:::o;15825:515::-;15973:56;15990:4;16005:9;;;;;;;;;;;16017:11;15973:8;:56::i;:::-;16072:9;;;;;;;;;;;:25;;;16105:9;16138:4;16158:11;16184:1;16227;16270:21;;;;;;;;;;;16306:15;16072:260;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;15825:515;;:::o;7:77:1:-;44:7;73:5;62:16;;7:77;;;:::o;90:118::-;177:24;195:5;177:24;:::i;:::-;172:3;165:37;90:118;;:::o;214:222::-;307:4;345:2;334:9;330:18;322:26;;358:71;426:1;415:9;411:17;402:6;358:71;:::i;:::-;214:222;;;;:::o;442:99::-;494:6;528:5;522:12;512:22;;442:99;;;:::o;547:169::-;631:11;665:6;660:3;653:19;705:4;700:3;696:14;681:29;;547:169;;;;:::o;722:307::-;790:1;800:113;814:6;811:1;808:13;800:113;;;899:1;894:3;890:11;884:18;880:1;875:3;871:11;864:39;836:2;833:1;829:10;824:15;;800:113;;;931:6;928:1;925:13;922:101;;;1011:1;1002:6;997:3;993:16;986:27;922:101;771:258;722:307;;;:::o;1035:102::-;1076:6;1127:2;1123:7;1118:2;1111:5;1107:14;1103:28;1093:38;;1035:102;;;:::o;1143:364::-;1231:3;1259:39;1292:5;1259:39;:::i;:::-;1314:71;1378:6;1373:3;1314:71;:::i;:::-;1307:78;;1394:52;1439:6;1434:3;1427:4;1420:5;1416:16;1394:52;:::i;:::-;1471:29;1493:6;1471:29;:::i;:::-;1466:3;1462:39;1455:46;;1235:272;1143:364;;;;:::o;1513:313::-;1626:4;1664:2;1653:9;1649:18;1641:26;;1713:9;1707:4;1703:20;1699:1;1688:9;1684:17;1677:47;1741:78;1814:4;1805:6;1741:78;:::i;:::-;1733:86;;1513:313;;;;:::o;1832:126::-;1869:7;1909:42;1902:5;1898:54;1887:65;;1832:126;;;:::o;1964:60::-;1992:3;2013:5;2006:12;;1964:60;;;:::o;2030:142::-;2080:9;2113:53;2131:34;2140:24;2158:5;2140:24;:::i;:::-;2131:34;:::i;:::-;2113:53;:::i;:::-;2100:66;;2030:142;;;:::o;2178:126::-;2228:9;2261:37;2292:5;2261:37;:::i;:::-;2248:50;;2178:126;;;:::o;2310:144::-;2378:9;2411:37;2442:5;2411:37;:::i;:::-;2398:50;;2310:144;;;:::o;2460:167::-;2565:55;2614:5;2565:55;:::i;:::-;2560:3;2553:68;2460:167;;:::o;2633:258::-;2744:4;2782:2;2771:9;2767:18;2759:26;;2795:89;2881:1;2870:9;2866:17;2857:6;2795:89;:::i;:::-;2633:258;;;;:::o;2897:75::-;2930:6;2963:2;2957:9;2947:19;;2897:75;:::o;2978:117::-;3087:1;3084;3077:12;3101:117;3210:1;3207;3200:12;3224:96;3261:7;3290:24;3308:5;3290:24;:::i;:::-;3279:35;;3224:96;;;:::o;3326:122::-;3399:24;3417:5;3399:24;:::i;:::-;3392:5;3389:35;3379:63;;3438:1;3435;3428:12;3379:63;3326:122;:::o;3454:139::-;3500:5;3538:6;3525:20;3516:29;;3554:33;3581:5;3554:33;:::i;:::-;3454:139;;;;:::o;3599:122::-;3672:24;3690:5;3672:24;:::i;:::-;3665:5;3662:35;3652:63;;3711:1;3708;3701:12;3652:63;3599:122;:::o;3727:139::-;3773:5;3811:6;3798:20;3789:29;;3827:33;3854:5;3827:33;:::i;:::-;3727:139;;;;:::o;3872:474::-;3940:6;3948;3997:2;3985:9;3976:7;3972:23;3968:32;3965:119;;;4003:79;;:::i;:::-;3965:119;4123:1;4148:53;4193:7;4184:6;4173:9;4169:22;4148:53;:::i;:::-;4138:63;;4094:117;4250:2;4276:53;4321:7;4312:6;4301:9;4297:22;4276:53;:::i;:::-;4266:63;;4221:118;3872:474;;;;;:::o;4352:90::-;4386:7;4429:5;4422:13;4415:21;4404:32;;4352:90;;;:::o;4448:109::-;4529:21;4544:5;4529:21;:::i;:::-;4524:3;4517:34;4448:109;;:::o;4563:210::-;4650:4;4688:2;4677:9;4673:18;4665:26;;4701:65;4763:1;4752:9;4748:17;4739:6;4701:65;:::i;:::-;4563:210;;;;:::o;4779:117::-;4888:1;4885;4878:12;4902:180;4950:77;4947:1;4940:88;5047:4;5044:1;5037:15;5071:4;5068:1;5061:15;5088:281;5171:27;5193:4;5171:27;:::i;:::-;5163:6;5159:40;5301:6;5289:10;5286:22;5265:18;5253:10;5250:34;5247:62;5244:88;;;5312:18;;:::i;:::-;5244:88;5352:10;5348:2;5341:22;5131:238;5088:281;;:::o;5375:129::-;5409:6;5436:20;;:::i;:::-;5426:30;;5465:33;5493:4;5485:6;5465:33;:::i;:::-;5375:129;;;:::o;5510:311::-;5587:4;5677:18;5669:6;5666:30;5663:56;;;5699:18;;:::i;:::-;5663:56;5749:4;5741:6;5737:17;5729:25;;5809:4;5803;5799:15;5791:23;;5510:311;;;:::o;5827:117::-;5936:1;5933;5926:12;5967:710;6063:5;6088:81;6104:64;6161:6;6104:64;:::i;:::-;6088:81;:::i;:::-;6079:90;;6189:5;6218:6;6211:5;6204:21;6252:4;6245:5;6241:16;6234:23;;6305:4;6297:6;6293:17;6285:6;6281:30;6334:3;6326:6;6323:15;6320:122;;;6353:79;;:::i;:::-;6320:122;6468:6;6451:220;6485:6;6480:3;6477:15;6451:220;;;6560:3;6589:37;6622:3;6610:10;6589:37;:::i;:::-;6584:3;6577:50;6656:4;6651:3;6647:14;6640:21;;6527:144;6511:4;6506:3;6502:14;6495:21;;6451:220;;;6455:21;6069:608;;5967:710;;;;;:::o;6700:370::-;6771:5;6820:3;6813:4;6805:6;6801:17;6797:27;6787:122;;6828:79;;:::i;:::-;6787:122;6945:6;6932:20;6970:94;7060:3;7052:6;7045:4;7037:6;7033:17;6970:94;:::i;:::-;6961:103;;6777:293;6700:370;;;;:::o;7076:116::-;7146:21;7161:5;7146:21;:::i;:::-;7139:5;7136:32;7126:60;;7182:1;7179;7172:12;7126:60;7076:116;:::o;7198:133::-;7241:5;7279:6;7266:20;7257:29;;7295:30;7319:5;7295:30;:::i;:::-;7198:133;;;;:::o;7337:957::-;7439:6;7447;7455;7463;7512:3;7500:9;7491:7;7487:23;7483:33;7480:120;;;7519:79;;:::i;:::-;7480:120;7667:1;7656:9;7652:17;7639:31;7697:18;7689:6;7686:30;7683:117;;;7719:79;;:::i;:::-;7683:117;7824:78;7894:7;7885:6;7874:9;7870:22;7824:78;:::i;:::-;7814:88;;7610:302;7951:2;7977:50;8019:7;8010:6;7999:9;7995:22;7977:50;:::i;:::-;7967:60;;7922:115;8076:2;8102:50;8144:7;8135:6;8124:9;8120:22;8102:50;:::i;:::-;8092:60;;8047:115;8201:2;8227:50;8269:7;8260:6;8249:9;8245:22;8227:50;:::i;:::-;8217:60;;8172:115;7337:957;;;;;;;:::o;8300:619::-;8377:6;8385;8393;8442:2;8430:9;8421:7;8417:23;8413:32;8410:119;;;8448:79;;:::i;:::-;8410:119;8568:1;8593:53;8638:7;8629:6;8618:9;8614:22;8593:53;:::i;:::-;8583:63;;8539:117;8695:2;8721:53;8766:7;8757:6;8746:9;8742:22;8721:53;:::i;:::-;8711:63;;8666:118;8823:2;8849:53;8894:7;8885:6;8874:9;8870:22;8849:53;:::i;:::-;8839:63;;8794:118;8300:619;;;;;:::o;8925:118::-;9012:24;9030:5;9012:24;:::i;:::-;9007:3;9000:37;8925:118;;:::o;9049:222::-;9142:4;9180:2;9169:9;9165:18;9157:26;;9193:71;9261:1;9250:9;9246:17;9237:6;9193:71;:::i;:::-;9049:222;;;;:::o;9277:619::-;9354:6;9362;9370;9419:2;9407:9;9398:7;9394:23;9390:32;9387:119;;;9425:79;;:::i;:::-;9387:119;9545:1;9570:53;9615:7;9606:6;9595:9;9591:22;9570:53;:::i;:::-;9560:63;;9516:117;9672:2;9698:53;9743:7;9734:6;9723:9;9719:22;9698:53;:::i;:::-;9688:63;;9643:118;9800:2;9826:53;9871:7;9862:6;9851:9;9847:22;9826:53;:::i;:::-;9816:63;;9771:118;9277:619;;;;;:::o;9902:86::-;9937:7;9977:4;9970:5;9966:16;9955:27;;9902:86;;;:::o;9994:112::-;10077:22;10093:5;10077:22;:::i;:::-;10072:3;10065:35;9994:112;;:::o;10112:214::-;10201:4;10239:2;10228:9;10224:18;10216:26;;10252:67;10316:1;10305:9;10301:17;10292:6;10252:67;:::i;:::-;10112:214;;;;:::o;10332:329::-;10391:6;10440:2;10428:9;10419:7;10415:23;10411:32;10408:119;;;10446:79;;:::i;:::-;10408:119;10566:1;10591:53;10636:7;10627:6;10616:9;10612:22;10591:53;:::i;:::-;10581:63;;10537:117;10332:329;;;;:::o;10667:468::-;10732:6;10740;10789:2;10777:9;10768:7;10764:23;10760:32;10757:119;;;10795:79;;:::i;:::-;10757:119;10915:1;10940:53;10985:7;10976:6;10965:9;10961:22;10940:53;:::i;:::-;10930:63;;10886:117;11042:2;11068:50;11110:7;11101:6;11090:9;11086:22;11068:50;:::i;:::-;11058:60;;11013:115;10667:468;;;;;:::o;11141:607::-;11212:6;11220;11228;11277:2;11265:9;11256:7;11252:23;11248:32;11245:119;;;11283:79;;:::i;:::-;11245:119;11403:1;11428:50;11470:7;11461:6;11450:9;11446:22;11428:50;:::i;:::-;11418:60;;11374:114;11527:2;11553:53;11598:7;11589:6;11578:9;11574:22;11553:53;:::i;:::-;11543:63;;11498:118;11655:2;11681:50;11723:7;11714:6;11703:9;11699:22;11681:50;:::i;:::-;11671:60;;11626:115;11141:607;;;;;:::o;11754:104::-;11799:7;11828:24;11846:5;11828:24;:::i;:::-;11817:35;;11754:104;;;:::o;11864:142::-;11967:32;11993:5;11967:32;:::i;:::-;11962:3;11955:45;11864:142;;:::o;12012:254::-;12121:4;12159:2;12148:9;12144:18;12136:26;;12172:87;12256:1;12245:9;12241:17;12232:6;12172:87;:::i;:::-;12012:254;;;;:::o;12272:468::-;12337:6;12345;12394:2;12382:9;12373:7;12369:23;12365:32;12362:119;;;12400:79;;:::i;:::-;12362:119;12520:1;12545:53;12590:7;12581:6;12570:9;12566:22;12545:53;:::i;:::-;12535:63;;12491:117;12647:2;12673:50;12715:7;12706:6;12695:9;12691:22;12673:50;:::i;:::-;12663:60;;12618:115;12272:468;;;;;:::o;12746:::-;12811:6;12819;12868:2;12856:9;12847:7;12843:23;12839:32;12836:119;;;12874:79;;:::i;:::-;12836:119;12994:1;13019:50;13061:7;13052:6;13041:9;13037:22;13019:50;:::i;:::-;13009:60;;12965:114;13118:2;13144:53;13189:7;13180:6;13169:9;13165:22;13144:53;:::i;:::-;13134:63;;13089:118;12746:468;;;;;:::o;13220:474::-;13288:6;13296;13345:2;13333:9;13324:7;13320:23;13316:32;13313:119;;;13351:79;;:::i;:::-;13313:119;13471:1;13496:53;13541:7;13532:6;13521:9;13517:22;13496:53;:::i;:::-;13486:63;;13442:117;13598:2;13624:53;13669:7;13660:6;13649:9;13645:22;13624:53;:::i;:::-;13614:63;;13569:118;13220:474;;;;;:::o;13700:180::-;13748:77;13745:1;13738:88;13845:4;13842:1;13835:15;13869:4;13866:1;13859:15;13886:102;13928:8;13975:5;13972:1;13968:13;13947:34;;13886:102;;;:::o;13994:848::-;14055:5;14062:4;14086:6;14077:15;;14110:5;14101:14;;14124:712;14145:1;14135:8;14132:15;14124:712;;;14240:4;14235:3;14231:14;14225:4;14222:24;14219:50;;;14249:18;;:::i;:::-;14219:50;14299:1;14289:8;14285:16;14282:451;;;14714:4;14707:5;14703:16;14694:25;;14282:451;14764:4;14758;14754:15;14746:23;;14794:32;14817:8;14794:32;:::i;:::-;14782:44;;14124:712;;;13994:848;;;;;;;:::o;14848:1073::-;14902:5;15093:8;15083:40;;15114:1;15105:10;;15116:5;;15083:40;15142:4;15132:36;;15159:1;15150:10;;15161:5;;15132:36;15228:4;15276:1;15271:27;;;;15312:1;15307:191;;;;15221:277;;15271:27;15289:1;15280:10;;15291:5;;;15307:191;15352:3;15342:8;15339:17;15336:43;;;15359:18;;:::i;:::-;15336:43;15408:8;15405:1;15401:16;15392:25;;15443:3;15436:5;15433:14;15430:40;;;15450:18;;:::i;:::-;15430:40;15483:5;;;15221:277;;15607:2;15597:8;15594:16;15588:3;15582:4;15579:13;15575:36;15557:2;15547:8;15544:16;15539:2;15533:4;15530:12;15526:35;15510:111;15507:246;;;15663:8;15657:4;15653:19;15644:28;;15698:3;15691:5;15688:14;15685:40;;;15705:18;;:::i;:::-;15685:40;15738:5;;15507:246;15778:42;15816:3;15806:8;15800:4;15797:1;15778:42;:::i;:::-;15763:57;;;;15852:4;15847:3;15843:14;15836:5;15833:25;15830:51;;;15861:18;;:::i;:::-;15830:51;15910:4;15903:5;15899:16;15890:25;;14848:1073;;;;;;:::o;15927:281::-;15985:5;16009:23;16027:4;16009:23;:::i;:::-;16001:31;;16053:25;16069:8;16053:25;:::i;:::-;16041:37;;16097:104;16134:66;16124:8;16118:4;16097:104;:::i;:::-;16088:113;;15927:281;;;;:::o;16214:348::-;16254:7;16277:20;16295:1;16277:20;:::i;:::-;16272:25;;16311:20;16329:1;16311:20;:::i;:::-;16306:25;;16499:1;16431:66;16427:74;16424:1;16421:81;16416:1;16409:9;16402:17;16398:105;16395:131;;;16506:18;;:::i;:::-;16395:131;16554:1;16551;16547:9;16536:20;;16214:348;;;;:::o;16568:182::-;16708:34;16704:1;16696:6;16692:14;16685:58;16568:182;:::o;16756:366::-;16898:3;16919:67;16983:2;16978:3;16919:67;:::i;:::-;16912:74;;16995:93;17084:3;16995:93;:::i;:::-;17113:2;17108:3;17104:12;17097:19;;16756:366;;;:::o;17128:419::-;17294:4;17332:2;17321:9;17317:18;17309:26;;17381:9;17375:4;17371:20;17367:1;17356:9;17352:17;17345:47;17409:131;17535:4;17409:131;:::i;:::-;17401:139;;17128:419;;;:::o;17553:180::-;17601:77;17598:1;17591:88;17698:4;17695:1;17688:15;17722:4;17719:1;17712:15;17739:517;17898:4;17936:3;17925:9;17921:19;17913:27;;17950:71;18018:1;18007:9;18003:17;17994:6;17950:71;:::i;:::-;18031:66;18093:2;18082:9;18078:18;18069:6;18031:66;:::i;:::-;18107;18169:2;18158:9;18154:18;18145:6;18107:66;:::i;:::-;18183;18245:2;18234:9;18230:18;18221:6;18183:66;:::i;:::-;17739:517;;;;;;;:::o;18262:233::-;18301:3;18324:24;18342:5;18324:24;:::i;:::-;18315:33;;18370:66;18363:5;18360:77;18357:103;;18440:18;;:::i;:::-;18357:103;18487:1;18480:5;18476:13;18469:20;;18262:233;;;:::o;18501:191::-;18541:4;18561:20;18579:1;18561:20;:::i;:::-;18556:25;;18595:20;18613:1;18595:20;:::i;:::-;18590:25;;18634:1;18631;18628:8;18625:34;;;18639:18;;:::i;:::-;18625:34;18684:1;18681;18677:9;18669:17;;18501:191;;;;:::o;18698:442::-;18847:4;18885:2;18874:9;18870:18;18862:26;;18898:71;18966:1;18955:9;18951:17;18942:6;18898:71;:::i;:::-;18979:72;19047:2;19036:9;19032:18;19023:6;18979:72;:::i;:::-;19061;19129:2;19118:9;19114:18;19105:6;19061:72;:::i;:::-;18698:442;;;;;;:::o;19146:305::-;19186:3;19205:20;19223:1;19205:20;:::i;:::-;19200:25;;19239:20;19257:1;19239:20;:::i;:::-;19234:25;;19393:1;19325:66;19321:74;19318:1;19315:81;19312:107;;;19399:18;;:::i;:::-;19312:107;19443:1;19440;19436:9;19429:16;;19146:305;;;;:::o;19457:221::-;19597:34;19593:1;19585:6;19581:14;19574:58;19666:4;19661:2;19653:6;19649:15;19642:29;19457:221;:::o;19684:366::-;19826:3;19847:67;19911:2;19906:3;19847:67;:::i;:::-;19840:74;;19923:93;20012:3;19923:93;:::i;:::-;20041:2;20036:3;20032:12;20025:19;;19684:366;;;:::o;20056:419::-;20222:4;20260:2;20249:9;20245:18;20237:26;;20309:9;20303:4;20299:20;20295:1;20284:9;20280:17;20273:47;20337:131;20463:4;20337:131;:::i;:::-;20329:139;;20056:419;;;:::o;20481:320::-;20596:4;20634:2;20623:9;20619:18;20611:26;;20647:71;20715:1;20704:9;20700:17;20691:6;20647:71;:::i;:::-;20728:66;20790:2;20779:9;20775:18;20766:6;20728:66;:::i;:::-;20481:320;;;;;:::o;20807:418::-;20944:4;20982:2;20971:9;20967:18;20959:26;;20995:65;21057:1;21046:9;21042:17;21033:6;20995:65;:::i;:::-;21070:72;21138:2;21127:9;21123:18;21114:6;21070:72;:::i;:::-;21152:66;21214:2;21203:9;21199:18;21190:6;21152:66;:::i;:::-;20807:418;;;;;;:::o;21231:225::-;21371:34;21367:1;21359:6;21355:14;21348:58;21440:8;21435:2;21427:6;21423:15;21416:33;21231:225;:::o;21462:366::-;21604:3;21625:67;21689:2;21684:3;21625:67;:::i;:::-;21618:74;;21701:93;21790:3;21701:93;:::i;:::-;21819:2;21814:3;21810:12;21803:19;;21462:366;;;:::o;21834:419::-;22000:4;22038:2;22027:9;22023:18;22015:26;;22087:9;22081:4;22077:20;22073:1;22062:9;22058:17;22051:47;22115:131;22241:4;22115:131;:::i;:::-;22107:139;;21834:419;;;:::o;22259:223::-;22399:34;22395:1;22387:6;22383:14;22376:58;22468:6;22463:2;22455:6;22451:15;22444:31;22259:223;:::o;22488:366::-;22630:3;22651:67;22715:2;22710:3;22651:67;:::i;:::-;22644:74;;22727:93;22816:3;22727:93;:::i;:::-;22845:2;22840:3;22836:12;22829:19;;22488:366;;;:::o;22860:419::-;23026:4;23064:2;23053:9;23049:18;23041:26;;23113:9;23107:4;23103:20;23099:1;23088:9;23084:17;23077:47;23141:131;23267:4;23141:131;:::i;:::-;23133:139;;22860:419;;;:::o;23285:221::-;23425:34;23421:1;23413:6;23409:14;23402:58;23494:4;23489:2;23481:6;23477:15;23470:29;23285:221;:::o;23512:366::-;23654:3;23675:67;23739:2;23734:3;23675:67;:::i;:::-;23668:74;;23751:93;23840:3;23751:93;:::i;:::-;23869:2;23864:3;23860:12;23853:19;;23512:366;;;:::o;23884:419::-;24050:4;24088:2;24077:9;24073:18;24065:26;;24137:9;24131:4;24127:20;24123:1;24112:9;24108:17;24101:47;24165:131;24291:4;24165:131;:::i;:::-;24157:139;;23884:419;;;:::o;24309:224::-;24449:34;24445:1;24437:6;24433:14;24426:58;24518:7;24513:2;24505:6;24501:15;24494:32;24309:224;:::o;24539:366::-;24681:3;24702:67;24766:2;24761:3;24702:67;:::i;:::-;24695:74;;24778:93;24867:3;24778:93;:::i;:::-;24896:2;24891:3;24887:12;24880:19;;24539:366;;;:::o;24911:419::-;25077:4;25115:2;25104:9;25100:18;25092:26;;25164:9;25158:4;25154:20;25150:1;25139:9;25135:17;25128:47;25192:131;25318:4;25192:131;:::i;:::-;25184:139;;24911:419;;;:::o;25336:222::-;25476:34;25472:1;25464:6;25460:14;25453:58;25545:5;25540:2;25532:6;25528:15;25521:30;25336:222;:::o;25564:366::-;25706:3;25727:67;25791:2;25786:3;25727:67;:::i;:::-;25720:74;;25803:93;25892:3;25803:93;:::i;:::-;25921:2;25916:3;25912:12;25905:19;;25564:366;;;:::o;25936:419::-;26102:4;26140:2;26129:9;26125:18;26117:26;;26189:9;26183:4;26179:20;26175:1;26164:9;26160:17;26153:47;26217:131;26343:4;26217:131;:::i;:::-;26209:139;;25936:419;;;:::o;26361:181::-;26501:33;26497:1;26489:6;26485:14;26478:57;26361:181;:::o;26548:366::-;26690:3;26711:67;26775:2;26770:3;26711:67;:::i;:::-;26704:74;;26787:93;26876:3;26787:93;:::i;:::-;26905:2;26900:3;26896:12;26889:19;;26548:366;;;:::o;26920:419::-;27086:4;27124:2;27113:9;27109:18;27101:26;;27173:9;27167:4;27163:20;27159:1;27148:9;27144:17;27137:47;27201:131;27327:4;27201:131;:::i;:::-;27193:139;;26920:419;;;:::o;27345:237::-;27485:34;27481:1;27473:6;27469:14;27462:58;27554:20;27549:2;27541:6;27537:15;27530:45;27345:237;:::o;27588:366::-;27730:3;27751:67;27815:2;27810:3;27751:67;:::i;:::-;27744:74;;27827:93;27916:3;27827:93;:::i;:::-;27945:2;27940:3;27936:12;27929:19;;27588:366;;;:::o;27960:419::-;28126:4;28164:2;28153:9;28149:18;28141:26;;28213:9;28207:4;28203:20;28199:1;28188:9;28184:17;28177:47;28241:131;28367:4;28241:131;:::i;:::-;28233:139;;27960:419;;;:::o;28385:180::-;28433:77;28430:1;28423:88;28530:4;28527:1;28520:15;28554:4;28551:1;28544:15;28571:185;28611:1;28628:20;28646:1;28628:20;:::i;:::-;28623:25;;28662:20;28680:1;28662:20;:::i;:::-;28657:25;;28701:1;28691:35;;28706:18;;:::i;:::-;28691:35;28748:1;28745;28741:9;28736:14;;28571:185;;;;:::o;28762:143::-;28819:5;28850:6;28844:13;28835:22;;28866:33;28893:5;28866:33;:::i;:::-;28762:143;;;;:::o;28911:351::-;28981:6;29030:2;29018:9;29009:7;29005:23;29001:32;28998:119;;;29036:79;;:::i;:::-;28998:119;29156:1;29181:64;29237:7;29228:6;29217:9;29213:22;29181:64;:::i;:::-;29171:74;;29127:128;28911:351;;;;:::o;29268:85::-;29313:7;29342:5;29331:16;;29268:85;;;:::o;29359:158::-;29417:9;29450:61;29468:42;29477:32;29503:5;29477:32;:::i;:::-;29468:42;:::i;:::-;29450:61;:::i;:::-;29437:74;;29359:158;;;:::o;29523:147::-;29618:45;29657:5;29618:45;:::i;:::-;29613:3;29606:58;29523:147;;:::o;29676:114::-;29743:6;29777:5;29771:12;29761:22;;29676:114;;;:::o;29796:184::-;29895:11;29929:6;29924:3;29917:19;29969:4;29964:3;29960:14;29945:29;;29796:184;;;;:::o;29986:132::-;30053:4;30076:3;30068:11;;30106:4;30101:3;30097:14;30089:22;;29986:132;;;:::o;30124:108::-;30201:24;30219:5;30201:24;:::i;:::-;30196:3;30189:37;30124:108;;:::o;30238:179::-;30307:10;30328:46;30370:3;30362:6;30328:46;:::i;:::-;30406:4;30401:3;30397:14;30383:28;;30238:179;;;;:::o;30423:113::-;30493:4;30525;30520:3;30516:14;30508:22;;30423:113;;;:::o;30572:732::-;30691:3;30720:54;30768:5;30720:54;:::i;:::-;30790:86;30869:6;30864:3;30790:86;:::i;:::-;30783:93;;30900:56;30950:5;30900:56;:::i;:::-;30979:7;31010:1;30995:284;31020:6;31017:1;31014:13;30995:284;;;31096:6;31090:13;31123:63;31182:3;31167:13;31123:63;:::i;:::-;31116:70;;31209:60;31262:6;31209:60;:::i;:::-;31199:70;;31055:224;31042:1;31039;31035:9;31030:14;;30995:284;;;30999:14;31295:3;31288:10;;30696:608;;;30572:732;;;;:::o;31310:831::-;31573:4;31611:3;31600:9;31596:19;31588:27;;31625:71;31693:1;31682:9;31678:17;31669:6;31625:71;:::i;:::-;31706:80;31782:2;31771:9;31767:18;31758:6;31706:80;:::i;:::-;31833:9;31827:4;31823:20;31818:2;31807:9;31803:18;31796:48;31861:108;31964:4;31955:6;31861:108;:::i;:::-;31853:116;;31979:72;32047:2;32036:9;32032:18;32023:6;31979:72;:::i;:::-;32061:73;32129:3;32118:9;32114:19;32105:6;32061:73;:::i;:::-;31310:831;;;;;;;;:::o;32147:483::-;32318:4;32356:2;32345:9;32341:18;32333:26;;32369:71;32437:1;32426:9;32422:17;32413:6;32369:71;:::i;:::-;32487:9;32481:4;32477:20;32472:2;32461:9;32457:18;32450:48;32515:108;32618:4;32609:6;32515:108;:::i;:::-;32507:116;;32147:483;;;;;:::o;32636:147::-;32737:11;32774:3;32759:18;;32636:147;;;;:::o;32789:114::-;;:::o;32909:398::-;33068:3;33089:83;33170:1;33165:3;33089:83;:::i;:::-;33082:90;;33181:93;33270:3;33181:93;:::i;:::-;33299:1;33294:3;33290:11;33283:18;;32909:398;;;:::o;33313:379::-;33497:3;33519:147;33662:3;33519:147;:::i;:::-;33512:154;;33683:3;33676:10;;33313:379;;;:::o;33698:134::-;33756:9;33789:37;33820:5;33789:37;:::i;:::-;33776:50;;33698:134;;;:::o;33838:147::-;33933:45;33972:5;33933:45;:::i;:::-;33928:3;33921:58;33838:147;;:::o;33991:823::-;34248:4;34286:3;34275:9;34271:19;34263:27;;34300:71;34368:1;34357:9;34353:17;34344:6;34300:71;:::i;:::-;34381:72;34449:2;34438:9;34434:18;34425:6;34381:72;:::i;:::-;34463:80;34539:2;34528:9;34524:18;34515:6;34463:80;:::i;:::-;34553;34629:2;34618:9;34614:18;34605:6;34553:80;:::i;:::-;34643:81;34719:3;34708:9;34704:19;34695:6;34643:81;:::i;:::-;34734:73;34802:3;34791:9;34787:19;34778:6;34734:73;:::i;:::-;33991:823;;;;;;;;;:::o;34820:143::-;34877:5;34908:6;34902:13;34893:22;;34924:33;34951:5;34924:33;:::i;:::-;34820:143;;;;:::o;34969:663::-;35057:6;35065;35073;35122:2;35110:9;35101:7;35097:23;35093:32;35090:119;;;35128:79;;:::i;:::-;35090:119;35248:1;35273:64;35329:7;35320:6;35309:9;35305:22;35273:64;:::i;:::-;35263:74;;35219:128;35386:2;35412:64;35468:7;35459:6;35448:9;35444:22;35412:64;:::i;:::-;35402:74;;35357:129;35525:2;35551:64;35607:7;35598:6;35587:9;35583:22;35551:64;:::i;:::-;35541:74;;35496:129;34969:663;;;;;:::o
Swarm Source
ipfs://ff64642a6735d79f05919aad3c123147168ea18108601ecbe3311bd1f7e327de
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.