Feature Tip: Add private address tag to any address under My Name Tag !
ERC-20
Overview
Max Total Supply
1,000,000,000,000 AIDS
Holders
47
Market
Onchain Market Cap
$0.00
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 9 Decimals)
Balance
16,372,527,108.876413123 AIDSValue
$0.00Loading...
Loading
Loading...
Loading
Loading...
Loading
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|
Contract Name:
AiDaySwing
Compiler Version
v0.8.4+commit.c7e474f2
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2021-08-20 */ /** * * AIDS * TG: https://t.me/AiDaySwing * WebSite- https://www.aidayswing.com/ * * Tokenomics: * * Tax is only 5% but swings * * Reversal mode - buy tax is 1% for 5 minutes if one of following is met: * - 6 consecutive sells * - a single sell of 2% price impact * * Anti-paperhand mode - sell tax is increased to 10% for 5 minutes if one of following is met: * - 6 consecutive buys * - a single buy of 2% price impact * * Redistribution - 20% of all collected fees * * Early bird mechanic - runs for the first 10 minutes * - 10% buy tax * * No team tokens * * SPDX-License-Identifier: UNLICENSED * */ pragma solidity ^0.8.4; abstract contract Context { function _msgSender() internal view virtual returns (address) { return msg.sender; } } interface IERC20 { function totalSupply() external view returns (uint256); function balanceOf(address account) external view returns (uint256); function transfer(address recipient, uint256 amount) external returns (bool); function allowance(address owner, address spender) external view returns (uint256); function approve(address spender, uint256 amount) external returns (bool); function transferFrom(address sender, address recipient, uint256 amount) external returns (bool); event Transfer(address indexed from, address indexed to, uint256 value); event Approval(address indexed owner, address indexed spender, uint256 value); } library SafeMath { function add(uint256 a, uint256 b) internal pure returns (uint256) { uint256 c = a + b; require(c >= a, "SafeMath: addition overflow"); return c; } function sub(uint256 a, uint256 b) internal pure returns (uint256) { return sub(a, b, "SafeMath: subtraction overflow"); } function sub(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) { require(b <= a, errorMessage); uint256 c = a - b; return c; } function mul(uint256 a, uint256 b) internal pure returns (uint256) { if(a == 0) { return 0; } uint256 c = a * b; require(c / a == b, "SafeMath: multiplication overflow"); return c; } function div(uint256 a, uint256 b) internal pure returns (uint256) { return div(a, b, "SafeMath: division by zero"); } function div(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) { require(b > 0, errorMessage); uint256 c = a / b; return c; } function mod(uint256 a, uint256 b) internal pure returns (uint256) { return mod(a, b, "SafeMath: modulo by zero"); } function mod(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) { require(b != 0, errorMessage); return a % b; } } contract Ownable is Context { address private _owner; address private _previousOwner; event OwnershipTransferred(address indexed previousOwner, address indexed newOwner); constructor () { address msgSender = _msgSender(); _owner = msgSender; emit OwnershipTransferred(address(0), msgSender); } function owner() public view returns (address) { return _owner; } modifier onlyOwner() { require(_owner == _msgSender(), "Ownable: caller is not the owner"); _; } function renounceOwnership() public virtual onlyOwner { emit OwnershipTransferred(_owner, address(0)); _owner = address(0); } } interface IUniswapV2Factory { function createPair(address tokenA, address tokenB) external returns (address pair); } interface IUniswapV2Router02 { function swapExactTokensForETHSupportingFeeOnTransferTokens( uint amountIn, uint amountOutMin, address[] calldata path, address to, uint deadline ) external; function factory() external pure returns (address); function WETH() external pure returns (address); function addLiquidityETH( address token, uint amountTokenDesired, uint amountTokenMin, uint amountETHMin, address to, uint deadline ) external payable returns (uint amountToken, uint amountETH, uint liquidity); } contract AiDaySwing is Context, IERC20, Ownable { using SafeMath for uint256; mapping (address => uint256) private _rOwned; mapping (address => uint256) private _tOwned; mapping (address => mapping (address => uint256)) private _allowances; mapping (address => bool) private _isExcludedFromFee; mapping (address => bool) private _bots; mapping (address => User) private trader; uint256 private constant MAX = ~uint256(0); uint256 private constant _tTotal = 1e12 * 10**9; uint256 private _rTotal = (MAX - (MAX % _tTotal)); uint256 private _tFeeTotal; string private constant _name = unicode"AiDaySwing"; string private constant _symbol = unicode"AIDS"; uint8 private constant _decimals = 9; uint256 private _taxFee = 2; uint256 private _teamFee = 8; uint256 private _launchTime; uint256 private _previousTaxFee = _taxFee; uint256 private _previousteamFee = _teamFee; uint256 private _maxBuyAmount; address payable private _FeeAddress; address payable private _marketingWalletAddress; IUniswapV2Router02 private uniswapV2Router; address private uniswapV2Pair; bool private tradingOpen = false; bool private _cooldownEnabled = true; bool private _communityMode = false; bool private inSwap = false; uint256 private launchBlock = 0; uint256 private buyLimitEnd; uint256 private antipaper = 0; uint256 private buymode = 0; uint256 private consecBuyCounter = 0; uint256 private consecSellCounter = 0; struct User { uint256 buyCD; bool exists; } event MaxBuyAmountUpdated(uint _maxBuyAmount); event CooldownEnabledUpdated(bool _cooldown); event FeeMultiplierUpdated(uint _multiplier); event FeeRateUpdated(uint _rate); modifier lockTheSwap { inSwap = true; _; inSwap = false; } constructor (address payable FeeAddress, address payable marketingWalletAddress) { _FeeAddress = FeeAddress; _marketingWalletAddress = marketingWalletAddress; _rOwned[_msgSender()] = _rTotal; _isExcludedFromFee[owner()] = true; _isExcludedFromFee[address(this)] = true; _isExcludedFromFee[FeeAddress] = true; _isExcludedFromFee[marketingWalletAddress] = true; emit Transfer(address(0), _msgSender(), _tTotal); } function name() public pure returns (string memory) { return _name; } function symbol() public pure returns (string memory) { return _symbol; } function decimals() public pure returns (uint8) { return _decimals; } function totalSupply() public pure override returns (uint256) { return _tTotal; } function balanceOf(address account) public view override returns (uint256) { return tokenFromReflection(_rOwned[account]); } function transfer(address recipient, uint256 amount) public override returns (bool) { _transfer(_msgSender(), recipient, amount); return true; } function allowance(address owner, address spender) public view override returns (uint256) { return _allowances[owner][spender]; } function approve(address spender, uint256 amount) public override returns (bool) { _approve(_msgSender(), spender, amount); return true; } function transferFrom(address sender, address recipient, uint256 amount) public override returns (bool) { _transfer(sender, recipient, amount); _approve(sender, _msgSender(), _allowances[sender][_msgSender()].sub(amount, "ERC20: transfer amount exceeds allowance")); return true; } function tokenFromReflection(uint256 rAmount) private view returns(uint256) { require(rAmount <= _rTotal, "Amount must be less than total reflections"); uint256 currentRate = _getRate(); return rAmount.div(currentRate); } function removeAllFee() private { if(_taxFee == 0 && _teamFee == 0) return; _previousTaxFee = _taxFee; _previousteamFee = _teamFee; _taxFee = 0; _teamFee = 0; } function restoreAllFee() private { _taxFee = _previousTaxFee; _teamFee = _previousteamFee; } function _approve(address owner, address spender, uint256 amount) private { require(owner != address(0), "ERC20: approve from the zero address"); require(spender != address(0), "ERC20: approve to the zero address"); _allowances[owner][spender] = amount; emit Approval(owner, spender, amount); } function _transfer(address from, address to, uint256 amount) private { require(from != address(0), "ERC20: transfer from the zero address"); require(to != address(0), "ERC20: transfer to the zero address"); require(amount > 0, "Transfer amount must be greater than zero"); if(from != owner() && to != owner()) { require(!_bots[from] && !_bots[to]); if(!trader[msg.sender].exists) { trader[msg.sender] = User(0,true); } uint256 totalFee = 2; // buy if(from == uniswapV2Pair && to != address(uniswapV2Router) && !_isExcludedFromFee[to]) { require(tradingOpen, "Trading not yet enabled."); if(block.timestamp > _launchTime + (10 minutes)) { if (buymode > block.timestamp) { totalFee = 2; } else { totalFee = 5; } } else { totalFee = 10; } _taxFee = (totalFee.mul(2)).div(10); _teamFee = (totalFee.mul(8)).div(10); if(_cooldownEnabled) { if(buyLimitEnd > block.timestamp) { require(amount <= _maxBuyAmount); require(trader[to].buyCD < block.timestamp, "Your buy cooldown has not expired."); trader[to].buyCD = block.timestamp + (45 seconds); } } if (amount >= balanceOf(uniswapV2Pair).mul(2).div(100)) { antipaper = block.timestamp + (5 minutes); } if (consecBuyCounter >= 5) { antipaper = block.timestamp + (5 minutes); consecBuyCounter = 0; } else { consecBuyCounter++; } consecSellCounter = 0; } uint256 contractTokenBalance = balanceOf(address(this)); // sell if(!inSwap && from != uniswapV2Pair && tradingOpen) { if (antipaper > block.timestamp) { totalFee = 15; } else { totalFee = 10; } _taxFee = (totalFee.mul(2)).div(10); _teamFee = (totalFee.mul(8)).div(10); if(contractTokenBalance > 0) { if(contractTokenBalance > balanceOf(uniswapV2Pair).mul(6).div(100)) { contractTokenBalance = balanceOf(uniswapV2Pair).mul(6).div(100); } swapTokensForEth(contractTokenBalance); } uint256 contractETHBalance = address(this).balance; if(contractETHBalance > 0) { sendETHToFee(address(this).balance); } if (amount >= balanceOf(uniswapV2Pair).mul(2).div(100)) { buymode = block.timestamp + (5 minutes); } if (consecSellCounter >= 5) { buymode = block.timestamp + (5 minutes); consecSellCounter = 0; } else { consecSellCounter++; } consecBuyCounter = 0; } } bool takeFee = true; if(_isExcludedFromFee[from] || _isExcludedFromFee[to] || _communityMode){ takeFee = false; } _tokenTransfer(from,to,amount,takeFee); } function swapTokensForEth(uint256 tokenAmount) private lockTheSwap { address[] memory path = new address[](2); path[0] = address(this); path[1] = uniswapV2Router.WETH(); _approve(address(this), address(uniswapV2Router), tokenAmount); uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens( tokenAmount, 0, path, address(this), block.timestamp ); } function sendETHToFee(uint256 amount) private { _FeeAddress.transfer(amount.div(2)); _marketingWalletAddress.transfer(amount.div(2)); } function _tokenTransfer(address sender, address recipient, uint256 amount, bool takeFee) private { if(!takeFee) removeAllFee(); _transferStandard(sender, recipient, amount); if(!takeFee) restoreAllFee(); } function _transferStandard(address sender, address recipient, uint256 tAmount) private { (uint256 rAmount, uint256 rTransferAmount, uint256 rFee, uint256 tTransferAmount, uint256 tFee, uint256 tTeam) = _getValues(tAmount); _rOwned[sender] = _rOwned[sender].sub(rAmount); _rOwned[recipient] = _rOwned[recipient].add(rTransferAmount); _takeTeam(tTeam); _reflectFee(rFee, tFee); emit Transfer(sender, recipient, tTransferAmount); } function _getValues(uint256 tAmount) private view returns (uint256, uint256, uint256, uint256, uint256, uint256) { (uint256 tTransferAmount, uint256 tFee, uint256 tTeam) = _getTValues(tAmount, _taxFee, _teamFee); uint256 currentRate = _getRate(); (uint256 rAmount, uint256 rTransferAmount, uint256 rFee) = _getRValues(tAmount, tFee, tTeam, currentRate); return (rAmount, rTransferAmount, rFee, tTransferAmount, tFee, tTeam); } function _getTValues(uint256 tAmount, uint256 taxFee, uint256 TeamFee) private pure returns (uint256, uint256, uint256) { uint256 tFee = tAmount.mul(taxFee).div(100); uint256 tTeam = tAmount.mul(TeamFee).div(100); uint256 tTransferAmount = tAmount.sub(tFee).sub(tTeam); return (tTransferAmount, tFee, tTeam); } function _getRate() private view returns(uint256) { (uint256 rSupply, uint256 tSupply) = _getCurrentSupply(); return rSupply.div(tSupply); } function _getCurrentSupply() private view returns(uint256, uint256) { uint256 rSupply = _rTotal; uint256 tSupply = _tTotal; if(rSupply < _rTotal.div(_tTotal)) return (_rTotal, _tTotal); return (rSupply, tSupply); } function _getRValues(uint256 tAmount, uint256 tFee, uint256 tTeam, uint256 currentRate) private pure returns (uint256, uint256, uint256) { uint256 rAmount = tAmount.mul(currentRate); uint256 rFee = tFee.mul(currentRate); uint256 rTeam = tTeam.mul(currentRate); uint256 rTransferAmount = rAmount.sub(rFee).sub(rTeam); return (rAmount, rTransferAmount, rFee); } function _takeTeam(uint256 tTeam) private { uint256 currentRate = _getRate(); uint256 rTeam = tTeam.mul(currentRate); _rOwned[address(this)] = _rOwned[address(this)].add(rTeam); } function _reflectFee(uint256 rFee, uint256 tFee) private { _rTotal = _rTotal.sub(rFee); _tFeeTotal = _tFeeTotal.add(tFee); } receive() external payable {} function openTrading() external onlyOwner() { require(!tradingOpen,"trading is already open"); IUniswapV2Router02 _uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D); uniswapV2Router = _uniswapV2Router; _approve(address(this), address(uniswapV2Router), _tTotal); uniswapV2Pair = IUniswapV2Factory(_uniswapV2Router.factory()).createPair(address(this), _uniswapV2Router.WETH()); uniswapV2Router.addLiquidityETH{value: address(this).balance}(address(this),balanceOf(address(this)),0,0,owner(),block.timestamp); _maxBuyAmount = 5000000000 * 10**9; IERC20(uniswapV2Pair).approve(address(uniswapV2Router), type(uint).max); tradingOpen = true; buyLimitEnd = block.timestamp + (20 seconds); _launchTime = block.timestamp; } function setMarketingWallet (address payable marketingWalletAddress) external { require(_msgSender() == _FeeAddress); _isExcludedFromFee[_marketingWalletAddress] = false; _marketingWalletAddress = marketingWalletAddress; _isExcludedFromFee[marketingWalletAddress] = true; } function excludeFromFee (address payable ad) external { require(_msgSender() == _FeeAddress); _isExcludedFromFee[ad] = true; } function includeToFee (address payable ad) external { require(_msgSender() == _FeeAddress); _isExcludedFromFee[ad] = false; } // Fees will no longer be collected when function setCommunityMode(bool onoff) external { require(_msgSender() == _FeeAddress); _communityMode = onoff; } function setBots(address[] memory bots_) public onlyOwner { for (uint i = 0; i < bots_.length; i++) { if (bots_[i] != uniswapV2Pair && bots_[i] != address(uniswapV2Router)) { _bots[bots_[i]] = true; } } } function delBot(address notbot) public onlyOwner { _bots[notbot] = false; } function isBot(address ad) public view returns (bool) { return _bots[ad]; } function isAntipaperMode() public view returns (bool) { return (antipaper > block.timestamp); } function isSwingMode() public view returns (bool) { return (buymode > block.timestamp); } function manualswap() external { require(_msgSender() == _FeeAddress); uint256 contractBalance = balanceOf(address(this)); swapTokensForEth(contractBalance); } function manualsend() external { require(_msgSender() == _FeeAddress); uint256 contractETHBalance = address(this).balance; sendETHToFee(contractETHBalance); } function setCooldownEnabled(bool onoff) external onlyOwner() { _cooldownEnabled = onoff; emit CooldownEnabledUpdated(_cooldownEnabled); } function thisBalance() public view returns (uint) { return balanceOf(address(this)); } function cooldownEnabled() public view returns (bool) { return _cooldownEnabled; } function timeToBuy(address buyer) public view returns (uint) { return block.timestamp - trader[buyer].buyCD; } function amountInPool() public view returns (uint) { return balanceOf(uniswapV2Pair); } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[{"internalType":"address payable","name":"FeeAddress","type":"address"},{"internalType":"address payable","name":"marketingWalletAddress","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"bool","name":"_cooldown","type":"bool"}],"name":"CooldownEnabledUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"_multiplier","type":"uint256"}],"name":"FeeMultiplierUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"_rate","type":"uint256"}],"name":"FeeRateUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"_maxBuyAmount","type":"uint256"}],"name":"MaxBuyAmountUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"amountInPool","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"cooldownEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"notbot","type":"address"}],"name":"delBot","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address payable","name":"ad","type":"address"}],"name":"excludeFromFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address payable","name":"ad","type":"address"}],"name":"includeToFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"isAntipaperMode","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"ad","type":"address"}],"name":"isBot","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"isSwingMode","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"manualsend","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"manualswap","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"openTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address[]","name":"bots_","type":"address[]"}],"name":"setBots","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"onoff","type":"bool"}],"name":"setCommunityMode","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"onoff","type":"bool"}],"name":"setCooldownEnabled","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address payable","name":"marketingWalletAddress","type":"address"}],"name":"setMarketingWallet","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"thisBalance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"buyer","type":"address"}],"name":"timeToBuy","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]
Contract Creation Code
6080604052683635c9adc5dea000006000196200001d9190620005ab565b6000196200002c919062000532565b6008556002600a556008600b55600a54600d55600b54600e556000601360146101000a81548160ff0219169083151502179055506001601360156101000a81548160ff0219169083151502179055506000601360166101000a81548160ff0219169083151502179055506000601360176101000a81548160ff02191690831515021790555060006014556000601655600060175560006018556000601955348015620000d757600080fd5b506040516200489a3803806200489a8339818101604052810190620000fd9190620004c3565b60006200010f6200047b60201b60201c565b9050806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35081601060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080601160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060085460026000620002466200047b60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506001600560006200029a6200048360201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600560003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550620004036200047b60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef683635c9adc5dea000006040516200046b919062000515565b60405180910390a350506200065b565b600033905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b600081519050620004bd8162000641565b92915050565b60008060408385031215620004d757600080fd5b6000620004e785828601620004ac565b9250506020620004fa85828601620004ac565b9150509250929050565b6200050f81620005a1565b82525050565b60006020820190506200052c600083018462000504565b92915050565b60006200053f82620005a1565b91506200054c83620005a1565b925082821015620005625762000561620005e3565b5b828203905092915050565b60006200057a8262000581565b9050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b6000620005b882620005a1565b9150620005c583620005a1565b925082620005d857620005d762000612565b5b828206905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6200064c816200056d565b81146200065857600080fd5b50565b61422f806200066b6000396000f3fe6080604052600436106101bb5760003560e01c8063715018a6116100ec578063ba48ecb31161008a578063ca80166711610064578063ca801667146105df578063cf0848f71461060a578063db92dbb614610633578063dd62ed3e1461065e576101c2565b8063ba48ecb314610586578063c3c8cd80146105b1578063c9567bf9146105c8576101c2565b8063a9059cbb116100c6578063a9059cbb146104cc578063a985ceef14610509578063b1e5237314610534578063b515566a1461055d576101c2565b8063715018a61461045f5780638da5cb5b1461047657806395d89b41146104a1576101c2565b80633bbac579116101595780635d098b38116101335780635d098b38146103a557806368a3a6a5146103ce5780636fc3eaec1461040b57806370a0823114610422576101c2565b80633bbac57914610316578063437823ec146103535780635932ead11461037c576101c2565b806323b872dd1161019557806323b872dd1461025a578063273123b71461029757806327f3a72a146102c0578063313ce567146102eb576101c2565b806306fdde03146101c7578063095ea7b3146101f257806318160ddd1461022f576101c2565b366101c257005b600080fd5b3480156101d357600080fd5b506101dc61069b565b6040516101e991906138a8565b60405180910390f35b3480156101fe57600080fd5b50610219600480360381019061021491906133f4565b6106d8565b604051610226919061388d565b60405180910390f35b34801561023b57600080fd5b506102446106f6565b6040516102519190613a4a565b60405180910390f35b34801561026657600080fd5b50610281600480360381019061027c91906133a5565b610707565b60405161028e919061388d565b60405180910390f35b3480156102a357600080fd5b506102be60048036038101906102b991906132ee565b6107e0565b005b3480156102cc57600080fd5b506102d56108d0565b6040516102e29190613a4a565b60405180910390f35b3480156102f757600080fd5b506103006108e0565b60405161030d9190613abf565b60405180910390f35b34801561032257600080fd5b5061033d600480360381019061033891906132ee565b6108e9565b60405161034a919061388d565b60405180910390f35b34801561035f57600080fd5b5061037a60048036038101906103759190613340565b61093f565b005b34801561038857600080fd5b506103a3600480360381019061039e9190613471565b6109fb565b005b3480156103b157600080fd5b506103cc60048036038101906103c79190613340565b610af3565b005b3480156103da57600080fd5b506103f560048036038101906103f091906132ee565b610c6a565b6040516104029190613a4a565b60405180910390f35b34801561041757600080fd5b50610420610cc1565b005b34801561042e57600080fd5b50610449600480360381019061044491906132ee565b610d33565b6040516104569190613a4a565b60405180910390f35b34801561046b57600080fd5b50610474610d84565b005b34801561048257600080fd5b5061048b610ed7565b60405161049891906137bf565b60405180910390f35b3480156104ad57600080fd5b506104b6610f00565b6040516104c391906138a8565b60405180910390f35b3480156104d857600080fd5b506104f360048036038101906104ee91906133f4565b610f3d565b604051610500919061388d565b60405180910390f35b34801561051557600080fd5b5061051e610f5b565b60405161052b919061388d565b60405180910390f35b34801561054057600080fd5b5061055b60048036038101906105569190613471565b610f72565b005b34801561056957600080fd5b50610584600480360381019061057f9190613430565b610ff0565b005b34801561059257600080fd5b5061059b611272565b6040516105a8919061388d565b60405180910390f35b3480156105bd57600080fd5b506105c661127e565b005b3480156105d457600080fd5b506105dd6112f8565b005b3480156105eb57600080fd5b506105f4611838565b604051610601919061388d565b60405180910390f35b34801561061657600080fd5b50610631600480360381019061062c9190613340565b611844565b005b34801561063f57600080fd5b50610648611900565b6040516106559190613a4a565b60405180910390f35b34801561066a57600080fd5b5061068560048036038101906106809190613369565b611932565b6040516106929190613a4a565b60405180910390f35b60606040518060400160405280600a81526020017f41694461795377696e6700000000000000000000000000000000000000000000815250905090565b60006106ec6106e56119b9565b84846119c1565b6001905092915050565b6000683635c9adc5dea00000905090565b6000610714848484611b8c565b6107d5846107206119b9565b6107d0856040518060600160405280602881526020016141d260289139600460008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006107866119b9565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546125d49092919063ffffffff16565b6119c1565b600190509392505050565b6107e86119b9565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610875576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161086c9061398a565b60405180910390fd5b6000600660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b60006108db30610d33565b905090565b60006009905090565b6000600660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166109806119b9565b73ffffffffffffffffffffffffffffffffffffffff16146109a057600080fd5b6001600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b610a036119b9565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610a90576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a879061398a565b60405180910390fd5b80601360156101000a81548160ff0219169083151502179055507f0d63187a8abb5b4d1bb562e1163897386b0a88ee72e0799dd105bd0fd6f28706601360159054906101000a900460ff16604051610ae8919061388d565b60405180910390a150565b601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610b346119b9565b73ffffffffffffffffffffffffffffffffffffffff1614610b5457600080fd5b600060056000601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555080601160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506001600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b6000600760008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000015442610cba9190613c61565b9050919050565b601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610d026119b9565b73ffffffffffffffffffffffffffffffffffffffff1614610d2257600080fd5b6000479050610d3081612638565b50565b6000610d7d600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612733565b9050919050565b610d8c6119b9565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610e19576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e109061398a565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606040518060400160405280600481526020017f4149445300000000000000000000000000000000000000000000000000000000815250905090565b6000610f51610f4a6119b9565b8484611b8c565b6001905092915050565b6000601360159054906101000a900460ff16905090565b601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610fb36119b9565b73ffffffffffffffffffffffffffffffffffffffff1614610fd357600080fd5b80601360166101000a81548160ff02191690831515021790555050565b610ff86119b9565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611085576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161107c9061398a565b60405180910390fd5b60005b815181101561126e57601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16828281518110611103577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b602002602001015173ffffffffffffffffffffffffffffffffffffffff16141580156111bd5750601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1682828151811061119c577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1614155b1561125b57600160066000848481518110611201577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505b808061126690613d72565b915050611088565b5050565b60004260165411905090565b601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166112bf6119b9565b73ffffffffffffffffffffffffffffffffffffffff16146112df57600080fd5b60006112ea30610d33565b90506112f5816127a1565b50565b6113006119b9565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461138d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113849061398a565b60405180910390fd5b601360149054906101000a900460ff16156113dd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113d490613a0a565b60405180910390fd5b6000737a250d5630b4cf539739df2c5dacb4c659f2488d905080601260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555061146d30601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16683635c9adc5dea000006119c1565b8073ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b1580156114b357600080fd5b505afa1580156114c7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114eb9190613317565b73ffffffffffffffffffffffffffffffffffffffff1663c9c65396308373ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b15801561154d57600080fd5b505afa158015611561573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115859190613317565b6040518363ffffffff1660e01b81526004016115a29291906137da565b602060405180830381600087803b1580156115bc57600080fd5b505af11580156115d0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115f49190613317565b601360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d719473061167d30610d33565b600080611688610ed7565b426040518863ffffffff1660e01b81526004016116aa9695949392919061382c565b6060604051808303818588803b1580156116c357600080fd5b505af11580156116d7573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906116fc91906134c3565b505050674563918244f40000600f81905550601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b3601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b81526004016117ad929190613803565b602060405180830381600087803b1580156117c757600080fd5b505af11580156117db573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117ff919061349a565b506001601360146101000a81548160ff0219169083151502179055506014426118289190613b80565b60158190555042600c8190555050565b60004260175411905090565b601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166118856119b9565b73ffffffffffffffffffffffffffffffffffffffff16146118a557600080fd5b6000600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b600061192d601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16610d33565b905090565b6000600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611a31576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a28906139ea565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611aa1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a989061390a565b60405180910390fd5b80600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051611b7f9190613a4a565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611bfc576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611bf3906139ca565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611c6c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c63906138ca565b60405180910390fd5b60008111611caf576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ca6906139aa565b60405180910390fd5b611cb7610ed7565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614158015611d255750611cf5610ed7565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b156124fa57600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16158015611dce5750600660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b611dd757600080fd5b600760003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060010160009054906101000a900460ff16611eb15760405180604001604052806000815260200160011515815250600760003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000820151816000015560208201518160010160006101000a81548160ff0219169083151502179055509050505b600060029050601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16148015611f625750601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b8015611fb85750600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b1561225f57601360149054906101000a900460ff1661200c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161200390613a2a565b60405180910390fd5b610258600c5461201c9190613b80565b42111561204057426017541115612036576002905061203b565b600590505b612045565b600a90505b61206c600a61205e600284612a9b90919063ffffffff16565b612b1690919063ffffffff16565b600a81905550612099600a61208b600884612a9b90919063ffffffff16565b612b1690919063ffffffff16565b600b81905550601360159054906101000a900460ff16156121a6574260155411156121a557600f548211156120cd57600080fd5b42600760008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000015410612151576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016121489061392a565b60405180910390fd5b602d4261215e9190613b80565b600760008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600001819055505b5b6121f760646121e960026121db601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16610d33565b612a9b90919063ffffffff16565b612b1690919063ffffffff16565b82106122125761012c4261220b9190613b80565b6016819055505b60056018541061223d5761012c4261222a9190613b80565b6016819055506000601881905550612256565b6018600081548092919061225090613d72565b91905055505b60006019819055505b600061226a30610d33565b9050601360179054906101000a900460ff161580156122d75750601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1614155b80156122ef5750601360149054906101000a900460ff165b156124f75742601654111561230757600f915061230c565b600a91505b612333600a612325600285612a9b90919063ffffffff16565b612b1690919063ffffffff16565b600a81905550612360600a612352600885612a9b90919063ffffffff16565b612b1690919063ffffffff16565b600b819055506000811115612425576123c060646123b260066123a4601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16610d33565b612a9b90919063ffffffff16565b612b1690919063ffffffff16565b81111561241b57612418606461240a60066123fc601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16610d33565b612a9b90919063ffffffff16565b612b1690919063ffffffff16565b90505b612424816127a1565b5b6000479050600081111561243d5761243c47612638565b5b61248e60646124806002612472601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16610d33565b612a9b90919063ffffffff16565b612b1690919063ffffffff16565b84106124a95761012c426124a29190613b80565b6017819055505b6005601954106124d45761012c426124c19190613b80565b60178190555060006019819055506124ed565b601960008154809291906124e790613d72565b91905055505b6000601881905550505b50505b600060019050600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16806125a15750600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b806125b85750601360169054906101000a900460ff165b156125c257600090505b6125ce84848484612b60565b50505050565b600083831115829061261c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161261391906138a8565b60405180910390fd5b506000838561262b9190613c61565b9050809150509392505050565b601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc612688600284612b1690919063ffffffff16565b9081150290604051600060405180830381858888f193505050501580156126b3573d6000803e3d6000fd5b50601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc612704600284612b1690919063ffffffff16565b9081150290604051600060405180830381858888f1935050505015801561272f573d6000803e3d6000fd5b5050565b600060085482111561277a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612771906138ea565b60405180910390fd5b6000612784612b8d565b90506127998184612b1690919063ffffffff16565b915050919050565b6001601360176101000a81548160ff0219169083151502179055506000600267ffffffffffffffff8111156127ff577f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b60405190808252806020026020018201604052801561282d5781602001602082028036833780820191505090505b509050308160008151811061286b577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b15801561290d57600080fd5b505afa158015612921573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906129459190613317565b8160018151811061297f577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250506129e630601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16846119c1565b601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b8152600401612a4a959493929190613a65565b600060405180830381600087803b158015612a6457600080fd5b505af1158015612a78573d6000803e3d6000fd5b50505050506000601360176101000a81548160ff02191690831515021790555050565b600080831415612aae5760009050612b10565b60008284612abc9190613c07565b9050828482612acb9190613bd6565b14612b0b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612b029061396a565b60405180910390fd5b809150505b92915050565b6000612b5883836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250612bb8565b905092915050565b80612b6e57612b6d612c1b565b5b612b79848484612c5e565b80612b8757612b86612e29565b5b50505050565b6000806000612b9a612e3d565b91509150612bb18183612b1690919063ffffffff16565b9250505090565b60008083118290612bff576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612bf691906138a8565b60405180910390fd5b5060008385612c0e9190613bd6565b9050809150509392505050565b6000600a54148015612c2f57506000600b54145b15612c3957612c5c565b600a54600d81905550600b54600e819055506000600a819055506000600b819055505b565b600080600080600080612c7087612e9f565b955095509550955095509550612cce86600260008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612f0790919063ffffffff16565b600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550612d6385600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612f5190919063ffffffff16565b600260008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550612daf81612faf565b612db9848361306c565b8773ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef85604051612e169190613a4a565b60405180910390a3505050505050505050565b600d54600a81905550600e54600b81905550565b600080600060085490506000683635c9adc5dea000009050612e73683635c9adc5dea00000600854612b1690919063ffffffff16565b821015612e9257600854683635c9adc5dea00000935093505050612e9b565b81819350935050505b9091565b6000806000806000806000806000612ebc8a600a54600b546130a6565b9250925092506000612ecc612b8d565b90506000806000612edf8e87878761313c565b9250925092508282828989899c509c509c509c509c509c505050505050505091939550919395565b6000612f4983836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506125d4565b905092915050565b6000808284612f609190613b80565b905083811015612fa5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612f9c9061394a565b60405180910390fd5b8091505092915050565b6000612fb9612b8d565b90506000612fd08284612a9b90919063ffffffff16565b905061302481600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612f5190919063ffffffff16565b600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550505050565b61308182600854612f0790919063ffffffff16565b60088190555061309c81600954612f5190919063ffffffff16565b6009819055505050565b6000806000806130d260646130c4888a612a9b90919063ffffffff16565b612b1690919063ffffffff16565b905060006130fc60646130ee888b612a9b90919063ffffffff16565b612b1690919063ffffffff16565b9050600061312582613117858c612f0790919063ffffffff16565b612f0790919063ffffffff16565b905080838395509550955050505093509350939050565b6000806000806131558589612a9b90919063ffffffff16565b9050600061316c8689612a9b90919063ffffffff16565b905060006131838789612a9b90919063ffffffff16565b905060006131ac8261319e8587612f0790919063ffffffff16565b612f0790919063ffffffff16565b9050838184965096509650505050509450945094915050565b60006131d86131d384613aff565b613ada565b905080838252602082019050828560208602820111156131f757600080fd5b60005b85811015613227578161320d8882613231565b8452602084019350602083019250506001810190506131fa565b5050509392505050565b60008135905061324081614175565b92915050565b60008151905061325581614175565b92915050565b60008135905061326a8161418c565b92915050565b600082601f83011261328157600080fd5b81356132918482602086016131c5565b91505092915050565b6000813590506132a9816141a3565b92915050565b6000815190506132be816141a3565b92915050565b6000813590506132d3816141ba565b92915050565b6000815190506132e8816141ba565b92915050565b60006020828403121561330057600080fd5b600061330e84828501613231565b91505092915050565b60006020828403121561332957600080fd5b600061333784828501613246565b91505092915050565b60006020828403121561335257600080fd5b60006133608482850161325b565b91505092915050565b6000806040838503121561337c57600080fd5b600061338a85828601613231565b925050602061339b85828601613231565b9150509250929050565b6000806000606084860312156133ba57600080fd5b60006133c886828701613231565b93505060206133d986828701613231565b92505060406133ea868287016132c4565b9150509250925092565b6000806040838503121561340757600080fd5b600061341585828601613231565b9250506020613426858286016132c4565b9150509250929050565b60006020828403121561344257600080fd5b600082013567ffffffffffffffff81111561345c57600080fd5b61346884828501613270565b91505092915050565b60006020828403121561348357600080fd5b60006134918482850161329a565b91505092915050565b6000602082840312156134ac57600080fd5b60006134ba848285016132af565b91505092915050565b6000806000606084860312156134d857600080fd5b60006134e6868287016132d9565b93505060206134f7868287016132d9565b9250506040613508868287016132d9565b9150509250925092565b600061351e838361352a565b60208301905092915050565b61353381613c95565b82525050565b61354281613c95565b82525050565b600061355382613b3b565b61355d8185613b5e565b935061356883613b2b565b8060005b838110156135995781516135808882613512565b975061358b83613b51565b92505060018101905061356c565b5085935050505092915050565b6135af81613cb9565b82525050565b6135be81613cfc565b82525050565b60006135cf82613b46565b6135d98185613b6f565b93506135e9818560208601613d0e565b6135f281613e48565b840191505092915050565b600061360a602383613b6f565b915061361582613e59565b604082019050919050565b600061362d602a83613b6f565b915061363882613ea8565b604082019050919050565b6000613650602283613b6f565b915061365b82613ef7565b604082019050919050565b6000613673602283613b6f565b915061367e82613f46565b604082019050919050565b6000613696601b83613b6f565b91506136a182613f95565b602082019050919050565b60006136b9602183613b6f565b91506136c482613fbe565b604082019050919050565b60006136dc602083613b6f565b91506136e78261400d565b602082019050919050565b60006136ff602983613b6f565b915061370a82614036565b604082019050919050565b6000613722602583613b6f565b915061372d82614085565b604082019050919050565b6000613745602483613b6f565b9150613750826140d4565b604082019050919050565b6000613768601783613b6f565b915061377382614123565b602082019050919050565b600061378b601883613b6f565b91506137968261414c565b602082019050919050565b6137aa81613ce5565b82525050565b6137b981613cef565b82525050565b60006020820190506137d46000830184613539565b92915050565b60006040820190506137ef6000830185613539565b6137fc6020830184613539565b9392505050565b60006040820190506138186000830185613539565b61382560208301846137a1565b9392505050565b600060c0820190506138416000830189613539565b61384e60208301886137a1565b61385b60408301876135b5565b61386860608301866135b5565b6138756080830185613539565b61388260a08301846137a1565b979650505050505050565b60006020820190506138a260008301846135a6565b92915050565b600060208201905081810360008301526138c281846135c4565b905092915050565b600060208201905081810360008301526138e3816135fd565b9050919050565b6000602082019050818103600083015261390381613620565b9050919050565b6000602082019050818103600083015261392381613643565b9050919050565b6000602082019050818103600083015261394381613666565b9050919050565b6000602082019050818103600083015261396381613689565b9050919050565b60006020820190508181036000830152613983816136ac565b9050919050565b600060208201905081810360008301526139a3816136cf565b9050919050565b600060208201905081810360008301526139c3816136f2565b9050919050565b600060208201905081810360008301526139e381613715565b9050919050565b60006020820190508181036000830152613a0381613738565b9050919050565b60006020820190508181036000830152613a238161375b565b9050919050565b60006020820190508181036000830152613a438161377e565b9050919050565b6000602082019050613a5f60008301846137a1565b92915050565b600060a082019050613a7a60008301886137a1565b613a8760208301876135b5565b8181036040830152613a998186613548565b9050613aa86060830185613539565b613ab560808301846137a1565b9695505050505050565b6000602082019050613ad460008301846137b0565b92915050565b6000613ae4613af5565b9050613af08282613d41565b919050565b6000604051905090565b600067ffffffffffffffff821115613b1a57613b19613e19565b5b602082029050602081019050919050565b6000819050602082019050919050565b600081519050919050565b600081519050919050565b6000602082019050919050565b600082825260208201905092915050565b600082825260208201905092915050565b6000613b8b82613ce5565b9150613b9683613ce5565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115613bcb57613bca613dbb565b5b828201905092915050565b6000613be182613ce5565b9150613bec83613ce5565b925082613bfc57613bfb613dea565b5b828204905092915050565b6000613c1282613ce5565b9150613c1d83613ce5565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615613c5657613c55613dbb565b5b828202905092915050565b6000613c6c82613ce5565b9150613c7783613ce5565b925082821015613c8a57613c89613dbb565b5b828203905092915050565b6000613ca082613cc5565b9050919050565b6000613cb282613cc5565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b6000613d0782613ce5565b9050919050565b60005b83811015613d2c578082015181840152602081019050613d11565b83811115613d3b576000848401525b50505050565b613d4a82613e48565b810181811067ffffffffffffffff82111715613d6957613d68613e19565b5b80604052505050565b6000613d7d82613ce5565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff821415613db057613daf613dbb565b5b600182019050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6000601f19601f8301169050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b7f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260008201527f65666c656374696f6e7300000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b7f596f75722062757920636f6f6c646f776e20686173206e6f742065787069726560008201527f642e000000000000000000000000000000000000000000000000000000000000602082015250565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b7f5472616e7366657220616d6f756e74206d75737420626520677265617465722060008201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b7f74726164696e6720697320616c7265616479206f70656e000000000000000000600082015250565b7f54726164696e67206e6f742079657420656e61626c65642e0000000000000000600082015250565b61417e81613c95565b811461418957600080fd5b50565b61419581613ca7565b81146141a057600080fd5b50565b6141ac81613cb9565b81146141b757600080fd5b50565b6141c381613ce5565b81146141ce57600080fd5b5056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220a8de2c5edd59c4816954cb868d93ba00ee6e1a1d360febe315cf72a1557a3e1564736f6c634300080400330000000000000000000000006f60f8f4c365be016a630b1c0c988346767082a50000000000000000000000006f60f8f4c365be016a630b1c0c988346767082a5
Deployed Bytecode
0x6080604052600436106101bb5760003560e01c8063715018a6116100ec578063ba48ecb31161008a578063ca80166711610064578063ca801667146105df578063cf0848f71461060a578063db92dbb614610633578063dd62ed3e1461065e576101c2565b8063ba48ecb314610586578063c3c8cd80146105b1578063c9567bf9146105c8576101c2565b8063a9059cbb116100c6578063a9059cbb146104cc578063a985ceef14610509578063b1e5237314610534578063b515566a1461055d576101c2565b8063715018a61461045f5780638da5cb5b1461047657806395d89b41146104a1576101c2565b80633bbac579116101595780635d098b38116101335780635d098b38146103a557806368a3a6a5146103ce5780636fc3eaec1461040b57806370a0823114610422576101c2565b80633bbac57914610316578063437823ec146103535780635932ead11461037c576101c2565b806323b872dd1161019557806323b872dd1461025a578063273123b71461029757806327f3a72a146102c0578063313ce567146102eb576101c2565b806306fdde03146101c7578063095ea7b3146101f257806318160ddd1461022f576101c2565b366101c257005b600080fd5b3480156101d357600080fd5b506101dc61069b565b6040516101e991906138a8565b60405180910390f35b3480156101fe57600080fd5b50610219600480360381019061021491906133f4565b6106d8565b604051610226919061388d565b60405180910390f35b34801561023b57600080fd5b506102446106f6565b6040516102519190613a4a565b60405180910390f35b34801561026657600080fd5b50610281600480360381019061027c91906133a5565b610707565b60405161028e919061388d565b60405180910390f35b3480156102a357600080fd5b506102be60048036038101906102b991906132ee565b6107e0565b005b3480156102cc57600080fd5b506102d56108d0565b6040516102e29190613a4a565b60405180910390f35b3480156102f757600080fd5b506103006108e0565b60405161030d9190613abf565b60405180910390f35b34801561032257600080fd5b5061033d600480360381019061033891906132ee565b6108e9565b60405161034a919061388d565b60405180910390f35b34801561035f57600080fd5b5061037a60048036038101906103759190613340565b61093f565b005b34801561038857600080fd5b506103a3600480360381019061039e9190613471565b6109fb565b005b3480156103b157600080fd5b506103cc60048036038101906103c79190613340565b610af3565b005b3480156103da57600080fd5b506103f560048036038101906103f091906132ee565b610c6a565b6040516104029190613a4a565b60405180910390f35b34801561041757600080fd5b50610420610cc1565b005b34801561042e57600080fd5b50610449600480360381019061044491906132ee565b610d33565b6040516104569190613a4a565b60405180910390f35b34801561046b57600080fd5b50610474610d84565b005b34801561048257600080fd5b5061048b610ed7565b60405161049891906137bf565b60405180910390f35b3480156104ad57600080fd5b506104b6610f00565b6040516104c391906138a8565b60405180910390f35b3480156104d857600080fd5b506104f360048036038101906104ee91906133f4565b610f3d565b604051610500919061388d565b60405180910390f35b34801561051557600080fd5b5061051e610f5b565b60405161052b919061388d565b60405180910390f35b34801561054057600080fd5b5061055b60048036038101906105569190613471565b610f72565b005b34801561056957600080fd5b50610584600480360381019061057f9190613430565b610ff0565b005b34801561059257600080fd5b5061059b611272565b6040516105a8919061388d565b60405180910390f35b3480156105bd57600080fd5b506105c661127e565b005b3480156105d457600080fd5b506105dd6112f8565b005b3480156105eb57600080fd5b506105f4611838565b604051610601919061388d565b60405180910390f35b34801561061657600080fd5b50610631600480360381019061062c9190613340565b611844565b005b34801561063f57600080fd5b50610648611900565b6040516106559190613a4a565b60405180910390f35b34801561066a57600080fd5b5061068560048036038101906106809190613369565b611932565b6040516106929190613a4a565b60405180910390f35b60606040518060400160405280600a81526020017f41694461795377696e6700000000000000000000000000000000000000000000815250905090565b60006106ec6106e56119b9565b84846119c1565b6001905092915050565b6000683635c9adc5dea00000905090565b6000610714848484611b8c565b6107d5846107206119b9565b6107d0856040518060600160405280602881526020016141d260289139600460008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006107866119b9565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546125d49092919063ffffffff16565b6119c1565b600190509392505050565b6107e86119b9565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610875576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161086c9061398a565b60405180910390fd5b6000600660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b60006108db30610d33565b905090565b60006009905090565b6000600660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166109806119b9565b73ffffffffffffffffffffffffffffffffffffffff16146109a057600080fd5b6001600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b610a036119b9565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610a90576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a879061398a565b60405180910390fd5b80601360156101000a81548160ff0219169083151502179055507f0d63187a8abb5b4d1bb562e1163897386b0a88ee72e0799dd105bd0fd6f28706601360159054906101000a900460ff16604051610ae8919061388d565b60405180910390a150565b601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610b346119b9565b73ffffffffffffffffffffffffffffffffffffffff1614610b5457600080fd5b600060056000601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555080601160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506001600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b6000600760008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000015442610cba9190613c61565b9050919050565b601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610d026119b9565b73ffffffffffffffffffffffffffffffffffffffff1614610d2257600080fd5b6000479050610d3081612638565b50565b6000610d7d600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612733565b9050919050565b610d8c6119b9565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610e19576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e109061398a565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606040518060400160405280600481526020017f4149445300000000000000000000000000000000000000000000000000000000815250905090565b6000610f51610f4a6119b9565b8484611b8c565b6001905092915050565b6000601360159054906101000a900460ff16905090565b601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610fb36119b9565b73ffffffffffffffffffffffffffffffffffffffff1614610fd357600080fd5b80601360166101000a81548160ff02191690831515021790555050565b610ff86119b9565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611085576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161107c9061398a565b60405180910390fd5b60005b815181101561126e57601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16828281518110611103577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b602002602001015173ffffffffffffffffffffffffffffffffffffffff16141580156111bd5750601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1682828151811061119c577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1614155b1561125b57600160066000848481518110611201577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505b808061126690613d72565b915050611088565b5050565b60004260165411905090565b601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166112bf6119b9565b73ffffffffffffffffffffffffffffffffffffffff16146112df57600080fd5b60006112ea30610d33565b90506112f5816127a1565b50565b6113006119b9565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461138d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113849061398a565b60405180910390fd5b601360149054906101000a900460ff16156113dd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113d490613a0a565b60405180910390fd5b6000737a250d5630b4cf539739df2c5dacb4c659f2488d905080601260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555061146d30601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16683635c9adc5dea000006119c1565b8073ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b1580156114b357600080fd5b505afa1580156114c7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114eb9190613317565b73ffffffffffffffffffffffffffffffffffffffff1663c9c65396308373ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b15801561154d57600080fd5b505afa158015611561573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115859190613317565b6040518363ffffffff1660e01b81526004016115a29291906137da565b602060405180830381600087803b1580156115bc57600080fd5b505af11580156115d0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115f49190613317565b601360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d719473061167d30610d33565b600080611688610ed7565b426040518863ffffffff1660e01b81526004016116aa9695949392919061382c565b6060604051808303818588803b1580156116c357600080fd5b505af11580156116d7573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906116fc91906134c3565b505050674563918244f40000600f81905550601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b3601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b81526004016117ad929190613803565b602060405180830381600087803b1580156117c757600080fd5b505af11580156117db573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117ff919061349a565b506001601360146101000a81548160ff0219169083151502179055506014426118289190613b80565b60158190555042600c8190555050565b60004260175411905090565b601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166118856119b9565b73ffffffffffffffffffffffffffffffffffffffff16146118a557600080fd5b6000600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b600061192d601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16610d33565b905090565b6000600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611a31576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a28906139ea565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611aa1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a989061390a565b60405180910390fd5b80600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051611b7f9190613a4a565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611bfc576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611bf3906139ca565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611c6c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c63906138ca565b60405180910390fd5b60008111611caf576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ca6906139aa565b60405180910390fd5b611cb7610ed7565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614158015611d255750611cf5610ed7565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b156124fa57600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16158015611dce5750600660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b611dd757600080fd5b600760003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060010160009054906101000a900460ff16611eb15760405180604001604052806000815260200160011515815250600760003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000820151816000015560208201518160010160006101000a81548160ff0219169083151502179055509050505b600060029050601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16148015611f625750601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b8015611fb85750600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b1561225f57601360149054906101000a900460ff1661200c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161200390613a2a565b60405180910390fd5b610258600c5461201c9190613b80565b42111561204057426017541115612036576002905061203b565b600590505b612045565b600a90505b61206c600a61205e600284612a9b90919063ffffffff16565b612b1690919063ffffffff16565b600a81905550612099600a61208b600884612a9b90919063ffffffff16565b612b1690919063ffffffff16565b600b81905550601360159054906101000a900460ff16156121a6574260155411156121a557600f548211156120cd57600080fd5b42600760008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000015410612151576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016121489061392a565b60405180910390fd5b602d4261215e9190613b80565b600760008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600001819055505b5b6121f760646121e960026121db601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16610d33565b612a9b90919063ffffffff16565b612b1690919063ffffffff16565b82106122125761012c4261220b9190613b80565b6016819055505b60056018541061223d5761012c4261222a9190613b80565b6016819055506000601881905550612256565b6018600081548092919061225090613d72565b91905055505b60006019819055505b600061226a30610d33565b9050601360179054906101000a900460ff161580156122d75750601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1614155b80156122ef5750601360149054906101000a900460ff165b156124f75742601654111561230757600f915061230c565b600a91505b612333600a612325600285612a9b90919063ffffffff16565b612b1690919063ffffffff16565b600a81905550612360600a612352600885612a9b90919063ffffffff16565b612b1690919063ffffffff16565b600b819055506000811115612425576123c060646123b260066123a4601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16610d33565b612a9b90919063ffffffff16565b612b1690919063ffffffff16565b81111561241b57612418606461240a60066123fc601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16610d33565b612a9b90919063ffffffff16565b612b1690919063ffffffff16565b90505b612424816127a1565b5b6000479050600081111561243d5761243c47612638565b5b61248e60646124806002612472601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16610d33565b612a9b90919063ffffffff16565b612b1690919063ffffffff16565b84106124a95761012c426124a29190613b80565b6017819055505b6005601954106124d45761012c426124c19190613b80565b60178190555060006019819055506124ed565b601960008154809291906124e790613d72565b91905055505b6000601881905550505b50505b600060019050600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16806125a15750600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b806125b85750601360169054906101000a900460ff165b156125c257600090505b6125ce84848484612b60565b50505050565b600083831115829061261c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161261391906138a8565b60405180910390fd5b506000838561262b9190613c61565b9050809150509392505050565b601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc612688600284612b1690919063ffffffff16565b9081150290604051600060405180830381858888f193505050501580156126b3573d6000803e3d6000fd5b50601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc612704600284612b1690919063ffffffff16565b9081150290604051600060405180830381858888f1935050505015801561272f573d6000803e3d6000fd5b5050565b600060085482111561277a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612771906138ea565b60405180910390fd5b6000612784612b8d565b90506127998184612b1690919063ffffffff16565b915050919050565b6001601360176101000a81548160ff0219169083151502179055506000600267ffffffffffffffff8111156127ff577f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b60405190808252806020026020018201604052801561282d5781602001602082028036833780820191505090505b509050308160008151811061286b577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b15801561290d57600080fd5b505afa158015612921573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906129459190613317565b8160018151811061297f577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250506129e630601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16846119c1565b601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b8152600401612a4a959493929190613a65565b600060405180830381600087803b158015612a6457600080fd5b505af1158015612a78573d6000803e3d6000fd5b50505050506000601360176101000a81548160ff02191690831515021790555050565b600080831415612aae5760009050612b10565b60008284612abc9190613c07565b9050828482612acb9190613bd6565b14612b0b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612b029061396a565b60405180910390fd5b809150505b92915050565b6000612b5883836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250612bb8565b905092915050565b80612b6e57612b6d612c1b565b5b612b79848484612c5e565b80612b8757612b86612e29565b5b50505050565b6000806000612b9a612e3d565b91509150612bb18183612b1690919063ffffffff16565b9250505090565b60008083118290612bff576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612bf691906138a8565b60405180910390fd5b5060008385612c0e9190613bd6565b9050809150509392505050565b6000600a54148015612c2f57506000600b54145b15612c3957612c5c565b600a54600d81905550600b54600e819055506000600a819055506000600b819055505b565b600080600080600080612c7087612e9f565b955095509550955095509550612cce86600260008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612f0790919063ffffffff16565b600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550612d6385600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612f5190919063ffffffff16565b600260008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550612daf81612faf565b612db9848361306c565b8773ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef85604051612e169190613a4a565b60405180910390a3505050505050505050565b600d54600a81905550600e54600b81905550565b600080600060085490506000683635c9adc5dea000009050612e73683635c9adc5dea00000600854612b1690919063ffffffff16565b821015612e9257600854683635c9adc5dea00000935093505050612e9b565b81819350935050505b9091565b6000806000806000806000806000612ebc8a600a54600b546130a6565b9250925092506000612ecc612b8d565b90506000806000612edf8e87878761313c565b9250925092508282828989899c509c509c509c509c509c505050505050505091939550919395565b6000612f4983836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506125d4565b905092915050565b6000808284612f609190613b80565b905083811015612fa5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612f9c9061394a565b60405180910390fd5b8091505092915050565b6000612fb9612b8d565b90506000612fd08284612a9b90919063ffffffff16565b905061302481600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612f5190919063ffffffff16565b600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550505050565b61308182600854612f0790919063ffffffff16565b60088190555061309c81600954612f5190919063ffffffff16565b6009819055505050565b6000806000806130d260646130c4888a612a9b90919063ffffffff16565b612b1690919063ffffffff16565b905060006130fc60646130ee888b612a9b90919063ffffffff16565b612b1690919063ffffffff16565b9050600061312582613117858c612f0790919063ffffffff16565b612f0790919063ffffffff16565b905080838395509550955050505093509350939050565b6000806000806131558589612a9b90919063ffffffff16565b9050600061316c8689612a9b90919063ffffffff16565b905060006131838789612a9b90919063ffffffff16565b905060006131ac8261319e8587612f0790919063ffffffff16565b612f0790919063ffffffff16565b9050838184965096509650505050509450945094915050565b60006131d86131d384613aff565b613ada565b905080838252602082019050828560208602820111156131f757600080fd5b60005b85811015613227578161320d8882613231565b8452602084019350602083019250506001810190506131fa565b5050509392505050565b60008135905061324081614175565b92915050565b60008151905061325581614175565b92915050565b60008135905061326a8161418c565b92915050565b600082601f83011261328157600080fd5b81356132918482602086016131c5565b91505092915050565b6000813590506132a9816141a3565b92915050565b6000815190506132be816141a3565b92915050565b6000813590506132d3816141ba565b92915050565b6000815190506132e8816141ba565b92915050565b60006020828403121561330057600080fd5b600061330e84828501613231565b91505092915050565b60006020828403121561332957600080fd5b600061333784828501613246565b91505092915050565b60006020828403121561335257600080fd5b60006133608482850161325b565b91505092915050565b6000806040838503121561337c57600080fd5b600061338a85828601613231565b925050602061339b85828601613231565b9150509250929050565b6000806000606084860312156133ba57600080fd5b60006133c886828701613231565b93505060206133d986828701613231565b92505060406133ea868287016132c4565b9150509250925092565b6000806040838503121561340757600080fd5b600061341585828601613231565b9250506020613426858286016132c4565b9150509250929050565b60006020828403121561344257600080fd5b600082013567ffffffffffffffff81111561345c57600080fd5b61346884828501613270565b91505092915050565b60006020828403121561348357600080fd5b60006134918482850161329a565b91505092915050565b6000602082840312156134ac57600080fd5b60006134ba848285016132af565b91505092915050565b6000806000606084860312156134d857600080fd5b60006134e6868287016132d9565b93505060206134f7868287016132d9565b9250506040613508868287016132d9565b9150509250925092565b600061351e838361352a565b60208301905092915050565b61353381613c95565b82525050565b61354281613c95565b82525050565b600061355382613b3b565b61355d8185613b5e565b935061356883613b2b565b8060005b838110156135995781516135808882613512565b975061358b83613b51565b92505060018101905061356c565b5085935050505092915050565b6135af81613cb9565b82525050565b6135be81613cfc565b82525050565b60006135cf82613b46565b6135d98185613b6f565b93506135e9818560208601613d0e565b6135f281613e48565b840191505092915050565b600061360a602383613b6f565b915061361582613e59565b604082019050919050565b600061362d602a83613b6f565b915061363882613ea8565b604082019050919050565b6000613650602283613b6f565b915061365b82613ef7565b604082019050919050565b6000613673602283613b6f565b915061367e82613f46565b604082019050919050565b6000613696601b83613b6f565b91506136a182613f95565b602082019050919050565b60006136b9602183613b6f565b91506136c482613fbe565b604082019050919050565b60006136dc602083613b6f565b91506136e78261400d565b602082019050919050565b60006136ff602983613b6f565b915061370a82614036565b604082019050919050565b6000613722602583613b6f565b915061372d82614085565b604082019050919050565b6000613745602483613b6f565b9150613750826140d4565b604082019050919050565b6000613768601783613b6f565b915061377382614123565b602082019050919050565b600061378b601883613b6f565b91506137968261414c565b602082019050919050565b6137aa81613ce5565b82525050565b6137b981613cef565b82525050565b60006020820190506137d46000830184613539565b92915050565b60006040820190506137ef6000830185613539565b6137fc6020830184613539565b9392505050565b60006040820190506138186000830185613539565b61382560208301846137a1565b9392505050565b600060c0820190506138416000830189613539565b61384e60208301886137a1565b61385b60408301876135b5565b61386860608301866135b5565b6138756080830185613539565b61388260a08301846137a1565b979650505050505050565b60006020820190506138a260008301846135a6565b92915050565b600060208201905081810360008301526138c281846135c4565b905092915050565b600060208201905081810360008301526138e3816135fd565b9050919050565b6000602082019050818103600083015261390381613620565b9050919050565b6000602082019050818103600083015261392381613643565b9050919050565b6000602082019050818103600083015261394381613666565b9050919050565b6000602082019050818103600083015261396381613689565b9050919050565b60006020820190508181036000830152613983816136ac565b9050919050565b600060208201905081810360008301526139a3816136cf565b9050919050565b600060208201905081810360008301526139c3816136f2565b9050919050565b600060208201905081810360008301526139e381613715565b9050919050565b60006020820190508181036000830152613a0381613738565b9050919050565b60006020820190508181036000830152613a238161375b565b9050919050565b60006020820190508181036000830152613a438161377e565b9050919050565b6000602082019050613a5f60008301846137a1565b92915050565b600060a082019050613a7a60008301886137a1565b613a8760208301876135b5565b8181036040830152613a998186613548565b9050613aa86060830185613539565b613ab560808301846137a1565b9695505050505050565b6000602082019050613ad460008301846137b0565b92915050565b6000613ae4613af5565b9050613af08282613d41565b919050565b6000604051905090565b600067ffffffffffffffff821115613b1a57613b19613e19565b5b602082029050602081019050919050565b6000819050602082019050919050565b600081519050919050565b600081519050919050565b6000602082019050919050565b600082825260208201905092915050565b600082825260208201905092915050565b6000613b8b82613ce5565b9150613b9683613ce5565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115613bcb57613bca613dbb565b5b828201905092915050565b6000613be182613ce5565b9150613bec83613ce5565b925082613bfc57613bfb613dea565b5b828204905092915050565b6000613c1282613ce5565b9150613c1d83613ce5565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615613c5657613c55613dbb565b5b828202905092915050565b6000613c6c82613ce5565b9150613c7783613ce5565b925082821015613c8a57613c89613dbb565b5b828203905092915050565b6000613ca082613cc5565b9050919050565b6000613cb282613cc5565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b6000613d0782613ce5565b9050919050565b60005b83811015613d2c578082015181840152602081019050613d11565b83811115613d3b576000848401525b50505050565b613d4a82613e48565b810181811067ffffffffffffffff82111715613d6957613d68613e19565b5b80604052505050565b6000613d7d82613ce5565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff821415613db057613daf613dbb565b5b600182019050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6000601f19601f8301169050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b7f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260008201527f65666c656374696f6e7300000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b7f596f75722062757920636f6f6c646f776e20686173206e6f742065787069726560008201527f642e000000000000000000000000000000000000000000000000000000000000602082015250565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b7f5472616e7366657220616d6f756e74206d75737420626520677265617465722060008201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b7f74726164696e6720697320616c7265616479206f70656e000000000000000000600082015250565b7f54726164696e67206e6f742079657420656e61626c65642e0000000000000000600082015250565b61417e81613c95565b811461418957600080fd5b50565b61419581613ca7565b81146141a057600080fd5b50565b6141ac81613cb9565b81146141b757600080fd5b50565b6141c381613ce5565b81146141ce57600080fd5b5056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220a8de2c5edd59c4816954cb868d93ba00ee6e1a1d360febe315cf72a1557a3e1564736f6c63430008040033
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
0000000000000000000000006f60f8f4c365be016a630b1c0c988346767082a50000000000000000000000006f60f8f4c365be016a630b1c0c988346767082a5
-----Decoded View---------------
Arg [0] : FeeAddress (address): 0x6F60F8f4c365Be016a630B1C0c988346767082a5
Arg [1] : marketingWalletAddress (address): 0x6F60F8f4c365Be016a630B1C0c988346767082a5
-----Encoded View---------------
2 Constructor Arguments found :
Arg [0] : 0000000000000000000000006f60f8f4c365be016a630b1c0c988346767082a5
Arg [1] : 0000000000000000000000006f60f8f4c365be016a630b1c0c988346767082a5
Deployed Bytecode Sourcemap
4459:15620:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6890:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7742:161;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7167:95;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7911:313;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;18620:89;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;19627:100;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7076:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;18721:89;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;17824:149;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;19459:160;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;17498:314;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;19839:124;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;19261:190;;;;;;;;;;;;;:::i;:::-;;7270:138;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3538:148;;;;;;;;;;;;;:::i;:::-;;3324:79;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6981:87;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7416:167;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;19735:96;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;18191:135;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;18338:270;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;18822:109;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;19058:191;;;;;;;;;;;;;:::i;:::-;;16641:849;;;;;;;;;;;;;:::i;:::-;;18943:103;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;17985:148;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;19975:101;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7591:143;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6890:83;6927:13;6960:5;;;;;;;;;;;;;;;;;6953:12;;6890:83;:::o;7742:161::-;7817:4;7834:39;7843:12;:10;:12::i;:::-;7857:7;7866:6;7834:8;:39::i;:::-;7891:4;7884:11;;7742:161;;;;:::o;7167:95::-;7220:7;4961:12;7240:14;;7167:95;:::o;7911:313::-;8009:4;8026:36;8036:6;8044:9;8055:6;8026:9;:36::i;:::-;8073:121;8082:6;8090:12;:10;:12::i;:::-;8104:89;8142:6;8104:89;;;;;;;;;;;;;;;;;:11;:19;8116:6;8104:19;;;;;;;;;;;;;;;:33;8124:12;:10;:12::i;:::-;8104:33;;;;;;;;;;;;;;;;:37;;:89;;;;;:::i;:::-;8073:8;:121::i;:::-;8212:4;8205:11;;7911:313;;;;;:::o;18620:89::-;3461:12;:10;:12::i;:::-;3451:22;;:6;;;;;;;;;;:22;;;3443:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;18696:5:::1;18680;:13;18686:6;18680:13;;;;;;;;;;;;;;;;:21;;;;;;;;;;;;;;;;;;18620:89:::0;:::o;19627:100::-;19671:4;19695:24;19713:4;19695:9;:24::i;:::-;19688:31;;19627:100;:::o;7076:83::-;7117:5;5216:1;7135:16;;7076:83;:::o;18721:89::-;18769:4;18793:5;:9;18799:2;18793:9;;;;;;;;;;;;;;;;;;;;;;;;;18786:16;;18721:89;;;:::o;17824:149::-;17913:11;;;;;;;;;;;17897:27;;:12;:10;:12::i;:::-;:27;;;17889:36;;;;;;17961:4;17936:18;:22;17955:2;17936:22;;;;;;;;;;;;;;;;:29;;;;;;;;;;;;;;;;;;17824:149;:::o;19459:160::-;3461:12;:10;:12::i;:::-;3451:22;;:6;;;;;;;;;;:22;;;3443:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;19550:5:::1;19531:16;;:24;;;;;;;;;;;;;;;;;;19571:40;19594:16;;;;;;;;;;;19571:40;;;;;;:::i;:::-;;;;;;;;19459:160:::0;:::o;17498:314::-;17611:11;;;;;;;;;;;17595:27;;:12;:10;:12::i;:::-;:27;;;17587:36;;;;;;17680:5;17634:18;:43;17653:23;;;;;;;;;;;17634:43;;;;;;;;;;;;;;;;:51;;;;;;;;;;;;;;;;;;17722:22;17696:23;;:48;;;;;;;;;;;;;;;;;;17800:4;17755:18;:42;17774:22;17755:42;;;;;;;;;;;;;;;;:49;;;;;;;;;;;;;;;;;;17498:314;:::o;19839:124::-;19894:4;19936:6;:13;19943:5;19936:13;;;;;;;;;;;;;;;:19;;;19918:15;:37;;;;:::i;:::-;19911:44;;19839:124;;;:::o;19261:190::-;19327:11;;;;;;;;;;;19311:27;;:12;:10;:12::i;:::-;:27;;;19303:36;;;;;;19350:26;19379:21;19350:50;;19411:32;19424:18;19411:12;:32::i;:::-;19261:190;:::o;7270:138::-;7336:7;7363:37;7383:7;:16;7391:7;7383:16;;;;;;;;;;;;;;;;7363:19;:37::i;:::-;7356:44;;7270:138;;;:::o;3538:148::-;3461:12;:10;:12::i;:::-;3451:22;;:6;;;;;;;;;;:22;;;3443:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;3645:1:::1;3608:40;;3629:6;::::0;::::1;;;;;;;;3608:40;;;;;;;;;;;;3676:1;3659:6:::0;::::1;:19;;;;;;;;;;;;;;;;;;3538:148::o:0;3324:79::-;3362:7;3389:6;;;;;;;;;;;3382:13;;3324:79;:::o;6981:87::-;7020:13;7053:7;;;;;;;;;;;;;;;;;7046:14;;6981:87;:::o;7416:167::-;7494:4;7511:42;7521:12;:10;:12::i;:::-;7535:9;7546:6;7511:9;:42::i;:::-;7571:4;7564:11;;7416:167;;;;:::o;19735:96::-;19783:4;19807:16;;;;;;;;;;;19800:23;;19735:96;:::o;18191:135::-;18273:11;;;;;;;;;;;18257:27;;:12;:10;:12::i;:::-;:27;;;18249:36;;;;;;18313:5;18296:14;;:22;;;;;;;;;;;;;;;;;;18191:135;:::o;18338:270::-;3461:12;:10;:12::i;:::-;3451:22;;:6;;;;;;;;;;:22;;;3443:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;18412:6:::1;18407:194;18428:5;:12;18424:1;:16;18407:194;;;18478:13;;;;;;;;;;;18466:25;;:5;18472:1;18466:8;;;;;;;;;;;;;;;;;;;;;;:25;;;;:65;;;;;18515:15;;;;;;;;;;;18495:36;;:5;18501:1;18495:8;;;;;;;;;;;;;;;;;;;;;;:36;;;;18466:65;18462:128;;;18570:4;18552:5;:15;18558:5;18564:1;18558:8;;;;;;;;;;;;;;;;;;;;;;18552:15;;;;;;;;;;;;;;;;:22;;;;;;;;;;;;;;;;;;18462:128;18442:3;;;;;:::i;:::-;;;;18407:194;;;;18338:270:::0;:::o;18822:109::-;18870:4;18907:15;18895:9;;:27;18887:36;;18822:109;:::o;19058:191::-;19124:11;;;;;;;;;;;19108:27;;:12;:10;:12::i;:::-;:27;;;19100:36;;;;;;19147:23;19173:24;19191:4;19173:9;:24::i;:::-;19147:50;;19208:33;19225:15;19208:16;:33::i;:::-;19058:191;:::o;16641:849::-;3461:12;:10;:12::i;:::-;3451:22;;:6;;;;;;;;;;:22;;;3443:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;16705:11:::1;;;;;;;;;;;16704:12;16696:47;;;;;;;;;;;;:::i;:::-;;;;;;;;;16754:35;16811:42;16754:100;;16883:16;16865:15;;:34;;;;;;;;;;;;;;;;;;16910:58;16927:4;16942:15;;;;;;;;;;;4961:12;16910:8;:58::i;:::-;17013:16;:24;;;:26;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;16995:56;;;17060:4;17067:16;:21;;;:23;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;16995:96;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;16979:13;;:112;;;;;;;;;;;;;;;;;;17102:15;;;;;;;;;;;:31;;;17141:21;17172:4;17178:24;17196:4;17178:9;:24::i;:::-;17203:1;17205::::0;17207:7:::1;:5;:7::i;:::-;17215:15;17102:129;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;17258:18;17242:13;:34;;;;17294:13;;;;;;;;;;;17287:29;;;17325:15;;;;;;;;;;;17343:14;17287:71;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;17383:4;17369:11;;:18;;;;;;;;;;;;;;;;;;17431:10;17412:15;:30;;;;:::i;:::-;17398:11;:44;;;;17467:15;17453:11;:29;;;;3521:1;16641:849::o:0;18943:103::-;18987:4;19022:15;19012:7;;:25;19004:34;;18943:103;:::o;17985:148::-;18072:11;;;;;;;;;;;18056:27;;:12;:10;:12::i;:::-;:27;;;18048:36;;;;;;18120:5;18095:18;:22;18114:2;18095:22;;;;;;;;;;;;;;;;:30;;;;;;;;;;;;;;;;;;17985:148;:::o;19975:101::-;20020:4;20044:24;20054:13;;;;;;;;;;;20044:9;:24::i;:::-;20037:31;;19975:101;:::o;7591:143::-;7672:7;7699:11;:18;7711:5;7699:18;;;;;;;;;;;;;;;:27;7718:7;7699:27;;;;;;;;;;;;;;;;7692:34;;7591:143;;;;:::o;733:98::-;786:7;813:10;806:17;;733:98;:::o;8839:335::-;8949:1;8932:19;;:5;:19;;;;8924:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;9030:1;9011:21;;:7;:21;;;;9003:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;9112:6;9082:11;:18;9094:5;9082:18;;;;;;;;;;;;;;;:27;9101:7;9082:27;;;;;;;;;;;;;;;:36;;;;9150:7;9134:32;;9143:5;9134:32;;;9159:6;9134:32;;;;;;:::i;:::-;;;;;;;;8839:335;;;:::o;9186:3905::-;9290:1;9274:18;;:4;:18;;;;9266:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;9367:1;9353:16;;:2;:16;;;;9345:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;9437:1;9428:6;:10;9420:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;9508:7;:5;:7::i;:::-;9500:15;;:4;:15;;;;:32;;;;;9525:7;:5;:7::i;:::-;9519:13;;:2;:13;;;;9500:32;9497:3372;;;9572:5;:11;9578:4;9572:11;;;;;;;;;;;;;;;;;;;;;;;;;9571:12;:26;;;;;9588:5;:9;9594:2;9588:9;;;;;;;;;;;;;;;;;;;;;;;;;9587:10;9571:26;9563:35;;;;;;9631:6;:18;9638:10;9631:18;;;;;;;;;;;;;;;:25;;;;;;;;;;;;9627:99;;9698:12;;;;;;;;9703:1;9698:12;;;;9705:4;9698:12;;;;;9677:6;:18;9684:10;9677:18;;;;;;;;;;;;;;;:33;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9627:99;9740:16;9759:1;9740:20;;9806:13;;;;;;;;;;;9798:21;;:4;:21;;;:55;;;;;9837:15;;;;;;;;;;;9823:30;;:2;:30;;;;9798:55;:82;;;;;9858:18;:22;9877:2;9858:22;;;;;;;;;;;;;;;;;;;;;;;;;9857:23;9798:82;9795:1558;;;9909:11;;;;;;;;;;;9901:48;;;;;;;;;;;;:::i;:::-;;;;;;;;;10022:10;10007:11;;:26;;;;:::i;:::-;9989:15;:44;9986:316;;;10072:15;10062:7;;:25;10058:163;;;10127:1;10116:12;;10058:163;;;10196:1;10185:12;;10058:163;9986:316;;;10280:2;10269:13;;9986:316;10348:25;10370:2;10349:15;10362:1;10349:8;:12;;:15;;;;:::i;:::-;10348:21;;:25;;;;:::i;:::-;10338:7;:35;;;;10403:25;10425:2;10404:15;10417:1;10404:8;:12;;:15;;;;:::i;:::-;10403:21;;:25;;;;:::i;:::-;10392:8;:36;;;;10468:16;;;;;;;;;;;10465:364;;;10526:15;10512:11;;:29;10509:301;;;10588:13;;10578:6;:23;;10570:32;;;;;;10656:15;10637:6;:10;10644:2;10637:10;;;;;;;;;;;;;;;:16;;;:34;10629:81;;;;;;;;;;;;:::i;:::-;;;;;;;;;10775:10;10756:15;:30;;;;:::i;:::-;10737:6;:10;10744:2;10737:10;;;;;;;;;;;;;;;:16;;:49;;;;10509:301;10465:364;10879:40;10915:3;10879:31;10908:1;10879:24;10889:13;;;;;;;;;;;10879:9;:24::i;:::-;:28;;:31;;;;:::i;:::-;:35;;:40;;;;:::i;:::-;10869:6;:50;10865:140;;10975:9;10956:15;:29;;;;:::i;:::-;10944:9;:41;;;;10865:140;11065:1;11045:16;;:21;11041:221;;11122:9;11103:15;:29;;;;:::i;:::-;11091:9;:41;;;;11174:1;11155:16;:20;;;;11041:221;;;11224:16;;:18;;;;;;;;;:::i;:::-;;;;;;11041:221;11318:1;11298:17;:21;;;;9795:1558;11367:28;11398:24;11416:4;11398:9;:24::i;:::-;11367:55;;11464:6;;;;;;;;;;;11463:7;:32;;;;;11482:13;;;;;;;;;;;11474:21;;:4;:21;;;;11463:32;:47;;;;;11499:11;;;;;;;;;;;11463:47;11460:1398;;;11565:15;11553:9;;:27;11549:151;;;11616:2;11605:13;;11549:151;;;11678:2;11667:13;;11549:151;11746:25;11768:2;11747:15;11760:1;11747:8;:12;;:15;;;;:::i;:::-;11746:21;;:25;;;;:::i;:::-;11736:7;:35;;;;11801:25;11823:2;11802:15;11815:1;11802:8;:12;;:15;;;;:::i;:::-;11801:21;;:25;;;;:::i;:::-;11790:8;:36;;;;11873:1;11850:20;:24;11847:314;;;11925:40;11961:3;11925:31;11954:1;11925:24;11935:13;;;;;;;;;;;11925:9;:24::i;:::-;:28;;:31;;;;:::i;:::-;:35;;:40;;;;:::i;:::-;11902:20;:63;11899:182;;;12017:40;12053:3;12017:31;12046:1;12017:24;12027:13;;;;;;;;;;;12017:9;:24::i;:::-;:28;;:31;;;;:::i;:::-;:35;;:40;;;;:::i;:::-;11994:63;;11899:182;12103:38;12120:20;12103:16;:38::i;:::-;11847:314;12179:26;12208:21;12179:50;;12272:1;12251:18;:22;12248:105;;;12298:35;12311:21;12298:12;:35::i;:::-;12248:105;12403:40;12439:3;12403:31;12432:1;12403:24;12413:13;;;;;;;;;;;12403:9;:24::i;:::-;:28;;:31;;;;:::i;:::-;:35;;:40;;;;:::i;:::-;12393:6;:50;12389:139;;12498:9;12479:15;:29;;;;:::i;:::-;12469:7;:39;;;;12389:139;12589:1;12568:17;;:22;12564:222;;12644:9;12625:15;:29;;;;:::i;:::-;12615:7;:39;;;;12697:1;12677:17;:21;;;;12564:222;;;12747:17;;:19;;;;;;;;;:::i;:::-;;;;;;12564:222;12841:1;12822:16;:20;;;;11460:1398;;9497:3372;;;12879:12;12894:4;12879:19;;12914:18;:24;12933:4;12914:24;;;;;;;;;;;;;;;;;;;;;;;;;:50;;;;12942:18;:22;12961:2;12942:22;;;;;;;;;;;;;;;;;;;;;;;;;12914:50;:68;;;;12968:14;;;;;;;;;;;12914:68;12911:114;;;13008:5;12998:15;;12911:114;13045:38;13060:4;13065:2;13068:6;13075:7;13045:14;:38::i;:::-;9186:3905;;;;:::o;1870:190::-;1956:7;1989:1;1984;:6;;1992:12;1976:29;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;2016:9;2032:1;2028;:5;;;;:::i;:::-;2016:17;;2051:1;2044:8;;;1870:190;;;;;:::o;13598:158::-;13655:11;;;;;;;;;;;:20;;:35;13676:13;13687:1;13676:6;:10;;:13;;;;:::i;:::-;13655:35;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13701:23;;;;;;;;;;;:32;;:47;13734:13;13745:1;13734:6;:10;;:13;;;;:::i;:::-;13701:47;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13598:158;:::o;8232:254::-;8299:7;8338;;8327;:18;;8319:73;;;;;;;;;;;;:::i;:::-;;;;;;;;;8403:19;8426:10;:8;:10::i;:::-;8403:33;;8454:24;8466:11;8454:7;:11;;:24;;;;:::i;:::-;8447:31;;;8232:254;;;:::o;13099:483::-;6339:4;6330:6;;:13;;;;;;;;;;;;;;;;;;13177:21:::1;13215:1;13201:16;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13177:40;;13246:4;13228;13233:1;13228:7;;;;;;;;;;;;;;;;;;;;;:23;;;;;;;;;::::0;::::1;13272:15;;;;;;;;;;;:20;;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;13262:4;13267:1;13262:7;;;;;;;;;;;;;;;;;;;;;:32;;;;;;;;;::::0;::::1;13305:62;13322:4;13337:15;;;;;;;;;;;13355:11;13305:8;:62::i;:::-;13378:15;;;;;;;;;;;:66;;;13459:11;13485:1;13501:4;13528;13548:15;13378:196;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;6354:1;6375:5:::0;6366:6;;:14;;;;;;;;;;;;;;;;;;13099:483;:::o;2068:245::-;2126:7;2154:1;2149;:6;2146:46;;;2179:1;2172:8;;;;2146:46;2202:9;2218:1;2214;:5;;;;:::i;:::-;2202:17;;2247:1;2242;2238;:5;;;;:::i;:::-;:10;2230:56;;;;;;;;;;;;:::i;:::-;;;;;;;;;2304:1;2297:8;;;2068:245;;;;;:::o;2321:132::-;2379:7;2406:39;2410:1;2413;2406:39;;;;;;;;;;;;;;;;;:3;:39::i;:::-;2399:46;;2321:132;;;;:::o;13768:263::-;13880:7;13876:40;;13902:14;:12;:14::i;:::-;13876:40;13927:44;13945:6;13953:9;13964:6;13927:17;:44::i;:::-;13986:7;13982:41;;14008:15;:13;:15::i;:::-;13982:41;13768:263;;;;:::o;15372:163::-;15413:7;15434:15;15451;15470:19;:17;:19::i;:::-;15433:56;;;;15507:20;15519:7;15507;:11;;:20;;;;:::i;:::-;15500:27;;;;15372:163;:::o;2461:189::-;2547:7;2579:1;2575;:5;2582:12;2567:28;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;2606:9;2622:1;2618;:5;;;;:::i;:::-;2606:17;;2641:1;2634:8;;;2461:189;;;;;:::o;8494:210::-;8551:1;8540:7;;:12;:29;;;;;8568:1;8556:8;;:13;8540:29;8537:41;;;8571:7;;8537:41;8606:7;;8588:15;:25;;;;8643:8;;8624:16;:27;;;;8672:1;8662:7;:11;;;;8695:1;8684:8;:12;;;;8494:210;:::o;14039:490::-;14138:15;14155:23;14180:12;14194:23;14219:12;14233:13;14250:19;14261:7;14250:10;:19::i;:::-;14137:132;;;;;;;;;;;;14298:28;14318:7;14298;:15;14306:6;14298:15;;;;;;;;;;;;;;;;:19;;:28;;;;:::i;:::-;14280:7;:15;14288:6;14280:15;;;;;;;;;;;;;;;:46;;;;14358:39;14381:15;14358:7;:18;14366:9;14358:18;;;;;;;;;;;;;;;;:22;;:39;;;;:::i;:::-;14337:7;:18;14345:9;14337:18;;;;;;;;;;;;;;;:60;;;;14411:16;14421:5;14411:9;:16::i;:::-;14438:23;14450:4;14456;14438:11;:23::i;:::-;14494:9;14477:44;;14486:6;14477:44;;;14505:15;14477:44;;;;;;:::i;:::-;;;;;;;;14039:490;;;;;;;;;:::o;8716:115::-;8770:15;;8760:7;:25;;;;8807:16;;8796:8;:27;;;;8716:115::o;15543:255::-;15593:7;15602;15622:15;15640:7;;15622:25;;15658:15;4961:12;15658:25;;15707:20;4961:12;15707:7;;:11;;:20;;;;:::i;:::-;15697:7;:30;15694:60;;;15737:7;;4961:12;15729:25;;;;;;;;15694:60;15773:7;15782;15765:25;;;;;;15543:255;;;:::o;14537:468::-;14596:7;14605;14614;14623;14632;14641;14662:23;14687:12;14701:13;14718:39;14730:7;14739;;14748:8;;14718:11;:39::i;:::-;14661:96;;;;;;14768:19;14791:10;:8;:10::i;:::-;14768:33;;14813:15;14830:23;14855:12;14871:46;14883:7;14892:4;14898:5;14905:11;14871;:46::i;:::-;14812:105;;;;;;14936:7;14945:15;14962:4;14968:15;14985:4;14991:5;14928:69;;;;;;;;;;;;;;;;;;;14537:468;;;;;;;:::o;1726:136::-;1784:7;1811:43;1815:1;1818;1811:43;;;;;;;;;;;;;;;;;:3;:43::i;:::-;1804:50;;1726:136;;;;:::o;1539:179::-;1597:7;1617:9;1633:1;1629;:5;;;;:::i;:::-;1617:17;;1658:1;1653;:6;;1645:46;;;;;;;;;;;;:::i;:::-;;;;;;;;;1709:1;1702:8;;;1539:179;;;;:::o;16223:214::-;16276:19;16299:10;:8;:10::i;:::-;16276:33;;16320:13;16336:22;16346:11;16336:5;:9;;:22;;;;:::i;:::-;16320:38;;16396:33;16423:5;16396:7;:22;16412:4;16396:22;;;;;;;;;;;;;;;;:26;;:33;;;;:::i;:::-;16371:7;:22;16387:4;16371:22;;;;;;;;;;;;;;;:58;;;;16223:214;;;:::o;16445:147::-;16523:17;16535:4;16523:7;;:11;;:17;;;;:::i;:::-;16513:7;:27;;;;16564:20;16579:4;16564:10;;:14;;:20;;;;:::i;:::-;16551:10;:33;;;;16445:147;;:::o;15013:351::-;15106:7;15115;15124;15144:12;15159:28;15183:3;15159:19;15171:6;15159:7;:11;;:19;;;;:::i;:::-;:23;;:28;;;;:::i;:::-;15144:43;;15198:13;15214:29;15239:3;15214:20;15226:7;15214;:11;;:20;;;;:::i;:::-;:24;;:29;;;;:::i;:::-;15198:45;;15254:23;15280:28;15302:5;15280:17;15292:4;15280:7;:11;;:17;;;;:::i;:::-;:21;;:28;;;;:::i;:::-;15254:54;;15327:15;15344:4;15350:5;15319:37;;;;;;;;;15013:351;;;;;;;:::o;15806:409::-;15916:7;15925;15934;15954:15;15972:24;15984:11;15972:7;:11;;:24;;;;:::i;:::-;15954:42;;16007:12;16022:21;16031:11;16022:4;:8;;:21;;;;:::i;:::-;16007:36;;16054:13;16070:22;16080:11;16070:5;:9;;:22;;;;:::i;:::-;16054:38;;16103:23;16129:28;16151:5;16129:17;16141:4;16129:7;:11;;:17;;;;:::i;:::-;:21;;:28;;;;:::i;:::-;16103:54;;16176:7;16185:15;16202:4;16168:39;;;;;;;;;;15806:409;;;;;;;;:::o;24:655:1:-;120:5;145:81;161:64;218:6;161:64;:::i;:::-;145:81;:::i;:::-;136:90;;246:5;275:6;268:5;261:21;309:4;302:5;298:16;291:23;;335:6;385:3;377:4;369:6;365:17;360:3;356:27;353:36;350:2;;;414:1;411;404:12;350:2;450:1;435:238;460:6;457:1;454:13;435:238;;;528:3;557:37;590:3;578:10;557:37;:::i;:::-;552:3;545:50;624:4;619:3;615:14;608:21;;658:4;653:3;649:14;642:21;;495:178;482:1;479;475:9;470:14;;435:238;;;439:14;126:553;;;;;;;:::o;685:139::-;731:5;769:6;756:20;747:29;;785:33;812:5;785:33;:::i;:::-;737:87;;;;:::o;830:143::-;887:5;918:6;912:13;903:22;;934:33;961:5;934:33;:::i;:::-;893:80;;;;:::o;979:155::-;1033:5;1071:6;1058:20;1049:29;;1087:41;1122:5;1087:41;:::i;:::-;1039:95;;;;:::o;1157:303::-;1228:5;1277:3;1270:4;1262:6;1258:17;1254:27;1244:2;;1295:1;1292;1285:12;1244:2;1335:6;1322:20;1360:94;1450:3;1442:6;1435:4;1427:6;1423:17;1360:94;:::i;:::-;1351:103;;1234:226;;;;;:::o;1466:133::-;1509:5;1547:6;1534:20;1525:29;;1563:30;1587:5;1563:30;:::i;:::-;1515:84;;;;:::o;1605:137::-;1659:5;1690:6;1684:13;1675:22;;1706:30;1730:5;1706:30;:::i;:::-;1665:77;;;;:::o;1748:139::-;1794:5;1832:6;1819:20;1810:29;;1848:33;1875:5;1848:33;:::i;:::-;1800:87;;;;:::o;1893:143::-;1950:5;1981:6;1975:13;1966:22;;1997:33;2024:5;1997:33;:::i;:::-;1956:80;;;;:::o;2042:262::-;2101:6;2150:2;2138:9;2129:7;2125:23;2121:32;2118:2;;;2166:1;2163;2156:12;2118:2;2209:1;2234:53;2279:7;2270:6;2259:9;2255:22;2234:53;:::i;:::-;2224:63;;2180:117;2108:196;;;;:::o;2310:284::-;2380:6;2429:2;2417:9;2408:7;2404:23;2400:32;2397:2;;;2445:1;2442;2435:12;2397:2;2488:1;2513:64;2569:7;2560:6;2549:9;2545:22;2513:64;:::i;:::-;2503:74;;2459:128;2387:207;;;;:::o;2600:278::-;2667:6;2716:2;2704:9;2695:7;2691:23;2687:32;2684:2;;;2732:1;2729;2722:12;2684:2;2775:1;2800:61;2853:7;2844:6;2833:9;2829:22;2800:61;:::i;:::-;2790:71;;2746:125;2674:204;;;;:::o;2884:407::-;2952:6;2960;3009:2;2997:9;2988:7;2984:23;2980:32;2977:2;;;3025:1;3022;3015:12;2977:2;3068:1;3093:53;3138:7;3129:6;3118:9;3114:22;3093:53;:::i;:::-;3083:63;;3039:117;3195:2;3221:53;3266:7;3257:6;3246:9;3242:22;3221:53;:::i;:::-;3211:63;;3166:118;2967:324;;;;;:::o;3297:552::-;3374:6;3382;3390;3439:2;3427:9;3418:7;3414:23;3410:32;3407:2;;;3455:1;3452;3445:12;3407:2;3498:1;3523:53;3568:7;3559:6;3548:9;3544:22;3523:53;:::i;:::-;3513:63;;3469:117;3625:2;3651:53;3696:7;3687:6;3676:9;3672:22;3651:53;:::i;:::-;3641:63;;3596:118;3753:2;3779:53;3824:7;3815:6;3804:9;3800:22;3779:53;:::i;:::-;3769:63;;3724:118;3397:452;;;;;:::o;3855:407::-;3923:6;3931;3980:2;3968:9;3959:7;3955:23;3951:32;3948:2;;;3996:1;3993;3986:12;3948:2;4039:1;4064:53;4109:7;4100:6;4089:9;4085:22;4064:53;:::i;:::-;4054:63;;4010:117;4166:2;4192:53;4237:7;4228:6;4217:9;4213:22;4192:53;:::i;:::-;4182:63;;4137:118;3938:324;;;;;:::o;4268:405::-;4352:6;4401:2;4389:9;4380:7;4376:23;4372:32;4369:2;;;4417:1;4414;4407:12;4369:2;4488:1;4477:9;4473:17;4460:31;4518:18;4510:6;4507:30;4504:2;;;4550:1;4547;4540:12;4504:2;4578:78;4648:7;4639:6;4628:9;4624:22;4578:78;:::i;:::-;4568:88;;4431:235;4359:314;;;;:::o;4679:256::-;4735:6;4784:2;4772:9;4763:7;4759:23;4755:32;4752:2;;;4800:1;4797;4790:12;4752:2;4843:1;4868:50;4910:7;4901:6;4890:9;4886:22;4868:50;:::i;:::-;4858:60;;4814:114;4742:193;;;;:::o;4941:278::-;5008:6;5057:2;5045:9;5036:7;5032:23;5028:32;5025:2;;;5073:1;5070;5063:12;5025:2;5116:1;5141:61;5194:7;5185:6;5174:9;5170:22;5141:61;:::i;:::-;5131:71;;5087:125;5015:204;;;;:::o;5225:596::-;5313:6;5321;5329;5378:2;5366:9;5357:7;5353:23;5349:32;5346:2;;;5394:1;5391;5384:12;5346:2;5437:1;5462:64;5518:7;5509:6;5498:9;5494:22;5462:64;:::i;:::-;5452:74;;5408:128;5575:2;5601:64;5657:7;5648:6;5637:9;5633:22;5601:64;:::i;:::-;5591:74;;5546:129;5714:2;5740:64;5796:7;5787:6;5776:9;5772:22;5740:64;:::i;:::-;5730:74;;5685:129;5336:485;;;;;:::o;5827:179::-;5896:10;5917:46;5959:3;5951:6;5917:46;:::i;:::-;5995:4;5990:3;5986:14;5972:28;;5907:99;;;;:::o;6012:108::-;6089:24;6107:5;6089:24;:::i;:::-;6084:3;6077:37;6067:53;;:::o;6126:118::-;6213:24;6231:5;6213:24;:::i;:::-;6208:3;6201:37;6191:53;;:::o;6280:732::-;6399:3;6428:54;6476:5;6428:54;:::i;:::-;6498:86;6577:6;6572:3;6498:86;:::i;:::-;6491:93;;6608:56;6658:5;6608:56;:::i;:::-;6687:7;6718:1;6703:284;6728:6;6725:1;6722:13;6703:284;;;6804:6;6798:13;6831:63;6890:3;6875:13;6831:63;:::i;:::-;6824:70;;6917:60;6970:6;6917:60;:::i;:::-;6907:70;;6763:224;6750:1;6747;6743:9;6738:14;;6703:284;;;6707:14;7003:3;6996:10;;6404:608;;;;;;;:::o;7018:109::-;7099:21;7114:5;7099:21;:::i;:::-;7094:3;7087:34;7077:50;;:::o;7133:147::-;7228:45;7267:5;7228:45;:::i;:::-;7223:3;7216:58;7206:74;;:::o;7286:364::-;7374:3;7402:39;7435:5;7402:39;:::i;:::-;7457:71;7521:6;7516:3;7457:71;:::i;:::-;7450:78;;7537:52;7582:6;7577:3;7570:4;7563:5;7559:16;7537:52;:::i;:::-;7614:29;7636:6;7614:29;:::i;:::-;7609:3;7605:39;7598:46;;7378:272;;;;;:::o;7656:366::-;7798:3;7819:67;7883:2;7878:3;7819:67;:::i;:::-;7812:74;;7895:93;7984:3;7895:93;:::i;:::-;8013:2;8008:3;8004:12;7997:19;;7802:220;;;:::o;8028:366::-;8170:3;8191:67;8255:2;8250:3;8191:67;:::i;:::-;8184:74;;8267:93;8356:3;8267:93;:::i;:::-;8385:2;8380:3;8376:12;8369:19;;8174:220;;;:::o;8400:366::-;8542:3;8563:67;8627:2;8622:3;8563:67;:::i;:::-;8556:74;;8639:93;8728:3;8639:93;:::i;:::-;8757:2;8752:3;8748:12;8741:19;;8546:220;;;:::o;8772:366::-;8914:3;8935:67;8999:2;8994:3;8935:67;:::i;:::-;8928:74;;9011:93;9100:3;9011:93;:::i;:::-;9129:2;9124:3;9120:12;9113:19;;8918:220;;;:::o;9144:366::-;9286:3;9307:67;9371:2;9366:3;9307:67;:::i;:::-;9300:74;;9383:93;9472:3;9383:93;:::i;:::-;9501:2;9496:3;9492:12;9485:19;;9290:220;;;:::o;9516:366::-;9658:3;9679:67;9743:2;9738:3;9679:67;:::i;:::-;9672:74;;9755:93;9844:3;9755:93;:::i;:::-;9873:2;9868:3;9864:12;9857:19;;9662:220;;;:::o;9888:366::-;10030:3;10051:67;10115:2;10110:3;10051:67;:::i;:::-;10044:74;;10127:93;10216:3;10127:93;:::i;:::-;10245:2;10240:3;10236:12;10229:19;;10034:220;;;:::o;10260:366::-;10402:3;10423:67;10487:2;10482:3;10423:67;:::i;:::-;10416:74;;10499:93;10588:3;10499:93;:::i;:::-;10617:2;10612:3;10608:12;10601:19;;10406:220;;;:::o;10632:366::-;10774:3;10795:67;10859:2;10854:3;10795:67;:::i;:::-;10788:74;;10871:93;10960:3;10871:93;:::i;:::-;10989:2;10984:3;10980:12;10973:19;;10778:220;;;:::o;11004:366::-;11146:3;11167:67;11231:2;11226:3;11167:67;:::i;:::-;11160:74;;11243:93;11332:3;11243:93;:::i;:::-;11361:2;11356:3;11352:12;11345:19;;11150:220;;;:::o;11376:366::-;11518:3;11539:67;11603:2;11598:3;11539:67;:::i;:::-;11532:74;;11615:93;11704:3;11615:93;:::i;:::-;11733:2;11728:3;11724:12;11717:19;;11522:220;;;:::o;11748:366::-;11890:3;11911:67;11975:2;11970:3;11911:67;:::i;:::-;11904:74;;11987:93;12076:3;11987:93;:::i;:::-;12105:2;12100:3;12096:12;12089:19;;11894:220;;;:::o;12120:118::-;12207:24;12225:5;12207:24;:::i;:::-;12202:3;12195:37;12185:53;;:::o;12244:112::-;12327:22;12343:5;12327:22;:::i;:::-;12322:3;12315:35;12305:51;;:::o;12362:222::-;12455:4;12493:2;12482:9;12478:18;12470:26;;12506:71;12574:1;12563:9;12559:17;12550:6;12506:71;:::i;:::-;12460:124;;;;:::o;12590:332::-;12711:4;12749:2;12738:9;12734:18;12726:26;;12762:71;12830:1;12819:9;12815:17;12806:6;12762:71;:::i;:::-;12843:72;12911:2;12900:9;12896:18;12887:6;12843:72;:::i;:::-;12716:206;;;;;:::o;12928:332::-;13049:4;13087:2;13076:9;13072:18;13064:26;;13100:71;13168:1;13157:9;13153:17;13144:6;13100:71;:::i;:::-;13181:72;13249:2;13238:9;13234:18;13225:6;13181:72;:::i;:::-;13054:206;;;;;:::o;13266:807::-;13515:4;13553:3;13542:9;13538:19;13530:27;;13567:71;13635:1;13624:9;13620:17;13611:6;13567:71;:::i;:::-;13648:72;13716:2;13705:9;13701:18;13692:6;13648:72;:::i;:::-;13730:80;13806:2;13795:9;13791:18;13782:6;13730:80;:::i;:::-;13820;13896:2;13885:9;13881:18;13872:6;13820:80;:::i;:::-;13910:73;13978:3;13967:9;13963:19;13954:6;13910:73;:::i;:::-;13993;14061:3;14050:9;14046:19;14037:6;13993:73;:::i;:::-;13520:553;;;;;;;;;:::o;14079:210::-;14166:4;14204:2;14193:9;14189:18;14181:26;;14217:65;14279:1;14268:9;14264:17;14255:6;14217:65;:::i;:::-;14171:118;;;;:::o;14295:313::-;14408:4;14446:2;14435:9;14431:18;14423:26;;14495:9;14489:4;14485:20;14481:1;14470:9;14466:17;14459:47;14523:78;14596:4;14587:6;14523:78;:::i;:::-;14515:86;;14413:195;;;;:::o;14614:419::-;14780:4;14818:2;14807:9;14803:18;14795:26;;14867:9;14861:4;14857:20;14853:1;14842:9;14838:17;14831:47;14895:131;15021:4;14895:131;:::i;:::-;14887:139;;14785:248;;;:::o;15039:419::-;15205:4;15243:2;15232:9;15228:18;15220:26;;15292:9;15286:4;15282:20;15278:1;15267:9;15263:17;15256:47;15320:131;15446:4;15320:131;:::i;:::-;15312:139;;15210:248;;;:::o;15464:419::-;15630:4;15668:2;15657:9;15653:18;15645:26;;15717:9;15711:4;15707:20;15703:1;15692:9;15688:17;15681:47;15745:131;15871:4;15745:131;:::i;:::-;15737:139;;15635:248;;;:::o;15889:419::-;16055:4;16093:2;16082:9;16078:18;16070:26;;16142:9;16136:4;16132:20;16128:1;16117:9;16113:17;16106:47;16170:131;16296:4;16170:131;:::i;:::-;16162:139;;16060:248;;;:::o;16314:419::-;16480:4;16518:2;16507:9;16503:18;16495:26;;16567:9;16561:4;16557:20;16553:1;16542:9;16538:17;16531:47;16595:131;16721:4;16595:131;:::i;:::-;16587:139;;16485:248;;;:::o;16739:419::-;16905:4;16943:2;16932:9;16928:18;16920:26;;16992:9;16986:4;16982:20;16978:1;16967:9;16963:17;16956:47;17020:131;17146:4;17020:131;:::i;:::-;17012:139;;16910:248;;;:::o;17164:419::-;17330:4;17368:2;17357:9;17353:18;17345:26;;17417:9;17411:4;17407:20;17403:1;17392:9;17388:17;17381:47;17445:131;17571:4;17445:131;:::i;:::-;17437:139;;17335:248;;;:::o;17589:419::-;17755:4;17793:2;17782:9;17778:18;17770:26;;17842:9;17836:4;17832:20;17828:1;17817:9;17813:17;17806:47;17870:131;17996:4;17870:131;:::i;:::-;17862:139;;17760:248;;;:::o;18014:419::-;18180:4;18218:2;18207:9;18203:18;18195:26;;18267:9;18261:4;18257:20;18253:1;18242:9;18238:17;18231:47;18295:131;18421:4;18295:131;:::i;:::-;18287:139;;18185:248;;;:::o;18439:419::-;18605:4;18643:2;18632:9;18628:18;18620:26;;18692:9;18686:4;18682:20;18678:1;18667:9;18663:17;18656:47;18720:131;18846:4;18720:131;:::i;:::-;18712:139;;18610:248;;;:::o;18864:419::-;19030:4;19068:2;19057:9;19053:18;19045:26;;19117:9;19111:4;19107:20;19103:1;19092:9;19088:17;19081:47;19145:131;19271:4;19145:131;:::i;:::-;19137:139;;19035:248;;;:::o;19289:419::-;19455:4;19493:2;19482:9;19478:18;19470:26;;19542:9;19536:4;19532:20;19528:1;19517:9;19513:17;19506:47;19570:131;19696:4;19570:131;:::i;:::-;19562:139;;19460:248;;;:::o;19714:222::-;19807:4;19845:2;19834:9;19830:18;19822:26;;19858:71;19926:1;19915:9;19911:17;19902:6;19858:71;:::i;:::-;19812:124;;;;:::o;19942:831::-;20205:4;20243:3;20232:9;20228:19;20220:27;;20257:71;20325:1;20314:9;20310:17;20301:6;20257:71;:::i;:::-;20338:80;20414:2;20403:9;20399:18;20390:6;20338:80;:::i;:::-;20465:9;20459:4;20455:20;20450:2;20439:9;20435:18;20428:48;20493:108;20596:4;20587:6;20493:108;:::i;:::-;20485:116;;20611:72;20679:2;20668:9;20664:18;20655:6;20611:72;:::i;:::-;20693:73;20761:3;20750:9;20746:19;20737:6;20693:73;:::i;:::-;20210:563;;;;;;;;:::o;20779:214::-;20868:4;20906:2;20895:9;20891:18;20883:26;;20919:67;20983:1;20972:9;20968:17;20959:6;20919:67;:::i;:::-;20873:120;;;;:::o;20999:129::-;21033:6;21060:20;;:::i;:::-;21050:30;;21089:33;21117:4;21109:6;21089:33;:::i;:::-;21040:88;;;:::o;21134:75::-;21167:6;21200:2;21194:9;21184:19;;21174:35;:::o;21215:311::-;21292:4;21382:18;21374:6;21371:30;21368:2;;;21404:18;;:::i;:::-;21368:2;21454:4;21446:6;21442:17;21434:25;;21514:4;21508;21504:15;21496:23;;21297:229;;;:::o;21532:132::-;21599:4;21622:3;21614:11;;21652:4;21647:3;21643:14;21635:22;;21604:60;;;:::o;21670:114::-;21737:6;21771:5;21765:12;21755:22;;21744:40;;;:::o;21790:99::-;21842:6;21876:5;21870:12;21860:22;;21849:40;;;:::o;21895:113::-;21965:4;21997;21992:3;21988:14;21980:22;;21970:38;;;:::o;22014:184::-;22113:11;22147:6;22142:3;22135:19;22187:4;22182:3;22178:14;22163:29;;22125:73;;;;:::o;22204:169::-;22288:11;22322:6;22317:3;22310:19;22362:4;22357:3;22353:14;22338:29;;22300:73;;;;:::o;22379:305::-;22419:3;22438:20;22456:1;22438:20;:::i;:::-;22433:25;;22472:20;22490:1;22472:20;:::i;:::-;22467:25;;22626:1;22558:66;22554:74;22551:1;22548:81;22545:2;;;22632:18;;:::i;:::-;22545:2;22676:1;22673;22669:9;22662:16;;22423:261;;;;:::o;22690:185::-;22730:1;22747:20;22765:1;22747:20;:::i;:::-;22742:25;;22781:20;22799:1;22781:20;:::i;:::-;22776:25;;22820:1;22810:2;;22825:18;;:::i;:::-;22810:2;22867:1;22864;22860:9;22855:14;;22732:143;;;;:::o;22881:348::-;22921:7;22944:20;22962:1;22944:20;:::i;:::-;22939:25;;22978:20;22996:1;22978:20;:::i;:::-;22973:25;;23166:1;23098:66;23094:74;23091:1;23088:81;23083:1;23076:9;23069:17;23065:105;23062:2;;;23173:18;;:::i;:::-;23062:2;23221:1;23218;23214:9;23203:20;;22929:300;;;;:::o;23235:191::-;23275:4;23295:20;23313:1;23295:20;:::i;:::-;23290:25;;23329:20;23347:1;23329:20;:::i;:::-;23324:25;;23368:1;23365;23362:8;23359:2;;;23373:18;;:::i;:::-;23359:2;23418:1;23415;23411:9;23403:17;;23280:146;;;;:::o;23432:96::-;23469:7;23498:24;23516:5;23498:24;:::i;:::-;23487:35;;23477:51;;;:::o;23534:104::-;23579:7;23608:24;23626:5;23608:24;:::i;:::-;23597:35;;23587:51;;;:::o;23644:90::-;23678:7;23721:5;23714:13;23707:21;23696:32;;23686:48;;;:::o;23740:126::-;23777:7;23817:42;23810:5;23806:54;23795:65;;23785:81;;;:::o;23872:77::-;23909:7;23938:5;23927:16;;23917:32;;;:::o;23955:86::-;23990:7;24030:4;24023:5;24019:16;24008:27;;23998:43;;;:::o;24047:121::-;24105:9;24138:24;24156:5;24138:24;:::i;:::-;24125:37;;24115:53;;;:::o;24174:307::-;24242:1;24252:113;24266:6;24263:1;24260:13;24252:113;;;24351:1;24346:3;24342:11;24336:18;24332:1;24327:3;24323:11;24316:39;24288:2;24285:1;24281:10;24276:15;;24252:113;;;24383:6;24380:1;24377:13;24374:2;;;24463:1;24454:6;24449:3;24445:16;24438:27;24374:2;24223:258;;;;:::o;24487:281::-;24570:27;24592:4;24570:27;:::i;:::-;24562:6;24558:40;24700:6;24688:10;24685:22;24664:18;24652:10;24649:34;24646:62;24643:2;;;24711:18;;:::i;:::-;24643:2;24751:10;24747:2;24740:22;24530:238;;;:::o;24774:233::-;24813:3;24836:24;24854:5;24836:24;:::i;:::-;24827:33;;24882:66;24875:5;24872:77;24869:2;;;24952:18;;:::i;:::-;24869:2;24999:1;24992:5;24988:13;24981:20;;24817:190;;;:::o;25013:180::-;25061:77;25058:1;25051:88;25158:4;25155:1;25148:15;25182:4;25179:1;25172:15;25199:180;25247:77;25244:1;25237:88;25344:4;25341:1;25334:15;25368:4;25365:1;25358:15;25385:180;25433:77;25430:1;25423:88;25530:4;25527:1;25520:15;25554:4;25551:1;25544:15;25571:102;25612:6;25663:2;25659:7;25654:2;25647:5;25643:14;25639:28;25629:38;;25619:54;;;:::o;25679:222::-;25819:34;25815:1;25807:6;25803:14;25796:58;25888:5;25883:2;25875:6;25871:15;25864:30;25785:116;:::o;25907:229::-;26047:34;26043:1;26035:6;26031:14;26024:58;26116:12;26111:2;26103:6;26099:15;26092:37;26013:123;:::o;26142:221::-;26282:34;26278:1;26270:6;26266:14;26259:58;26351:4;26346:2;26338:6;26334:15;26327:29;26248:115;:::o;26369:221::-;26509:34;26505:1;26497:6;26493:14;26486:58;26578:4;26573:2;26565:6;26561:15;26554:29;26475:115;:::o;26596:177::-;26736:29;26732:1;26724:6;26720:14;26713:53;26702:71;:::o;26779:220::-;26919:34;26915:1;26907:6;26903:14;26896:58;26988:3;26983:2;26975:6;26971:15;26964:28;26885:114;:::o;27005:182::-;27145:34;27141:1;27133:6;27129:14;27122:58;27111:76;:::o;27193:228::-;27333:34;27329:1;27321:6;27317:14;27310:58;27402:11;27397:2;27389:6;27385:15;27378:36;27299:122;:::o;27427:224::-;27567:34;27563:1;27555:6;27551:14;27544:58;27636:7;27631:2;27623:6;27619:15;27612:32;27533:118;:::o;27657:223::-;27797:34;27793:1;27785:6;27781:14;27774:58;27866:6;27861:2;27853:6;27849:15;27842:31;27763:117;:::o;27886:173::-;28026:25;28022:1;28014:6;28010:14;28003:49;27992:67;:::o;28065:174::-;28205:26;28201:1;28193:6;28189:14;28182:50;28171:68;:::o;28245:122::-;28318:24;28336:5;28318:24;:::i;:::-;28311:5;28308:35;28298:2;;28357:1;28354;28347:12;28298:2;28288:79;:::o;28373:138::-;28454:32;28480:5;28454:32;:::i;:::-;28447:5;28444:43;28434:2;;28501:1;28498;28491:12;28434:2;28424:87;:::o;28517:116::-;28587:21;28602:5;28587:21;:::i;:::-;28580:5;28577:32;28567:2;;28623:1;28620;28613:12;28567:2;28557:76;:::o;28639:122::-;28712:24;28730:5;28712:24;:::i;:::-;28705:5;28702:35;28692:2;;28751:1;28748;28741:12;28692:2;28682:79;:::o
Swarm Source
ipfs://a8de2c5edd59c4816954cb868d93ba00ee6e1a1d360febe315cf72a1557a3e15
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.