Feature Tip: Add private address tag to any address under My Name Tag !
ERC-20
Overview
Max Total Supply
1,000,000,000 DARK
Holders
10
Market
Onchain Market Cap
$0.00
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 18 Decimals)
Balance
8,361,288.484617994468915832 DARKValue
$0.00Loading...
Loading
Loading...
Loading
Loading...
Loading
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|
Contract Name:
DARK
Compiler Version
v0.8.10+commit.fc410830
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2022-07-22 */ //// //SPDX-License-Identifier: MIT pragma solidity ^0.8.5; library SafeMath { function add(uint256 a, uint256 b) internal pure returns (uint256) { uint256 c = a + b; require(c >= a, "SafeMath: addition overflow"); return c; } function sub(uint256 a, uint256 b) internal pure returns (uint256) { return sub(a, b, "SafeMath: subtraction overflow"); } function sub(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) { require(b <= a, errorMessage); uint256 c = a - b; return c; } function mul(uint256 a, uint256 b) internal pure returns (uint256) { if (a == 0) { return 0; } uint256 c = a * b; require(c / a == b, "SafeMath: multiplication overflow"); return c; } function div(uint256 a, uint256 b) internal pure returns (uint256) { return div(a, b, "SafeMath: division by zero"); } function div(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) { require(b > 0, errorMessage); uint256 c = a / b; return c; } } interface ERC20 { function totalSupply() external view returns (uint256); function decimals() external view returns (uint8); function symbol() external view returns (string memory); function name() external view returns (string memory); function getOwner() external view returns (address); function balanceOf(address account) external view returns (uint256); function transfer(address recipient, uint256 amount) external returns (bool); function allowance(address _owner, address spender) external view returns (uint256); function approve(address spender, uint256 amount) external returns (bool); function transferFrom(address sender, address recipient, uint256 amount) external returns (bool); event Transfer(address indexed from, address indexed to, uint256 value); event Approval(address indexed owner, address indexed spender, uint256 value); } abstract contract Context { function _msgSender() internal view virtual returns (address) { return msg.sender; } function _msgData() internal view virtual returns (bytes calldata) { return msg.data; } } abstract contract Ownable is Context { address private _owner; event OwnershipTransferred(address indexed previousOwner, address indexed newOwner); constructor() { _transferOwnership(_msgSender()); } modifier onlyOwner() { _checkOwner(); _; } function owner() public view virtual returns (address) { return _owner; } function _checkOwner() internal view virtual { require(owner() == _msgSender(), "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 IUniswapV2Factory { event PairCreated( address indexed token0, address indexed token1, address pair, uint256 ); function feeTo() external view returns (address); function feeToSetter() external view returns (address); function getPair(address tokenA, address tokenB) external view returns (address pair); function allPairs(uint256) external view returns (address pair); function allPairsLength() external view returns (uint256); function createPair(address tokenA, address tokenB) external returns (address pair); function setFeeTo(address) external; function setFeeToSetter(address) external; } interface IUniswapV2Pair { event Approval( address indexed owner, address indexed spender, uint256 value ); event Transfer(address indexed from, address indexed to, uint256 value); function name() external pure returns (string memory); function symbol() external pure returns (string memory); function decimals() external pure returns (uint8); function totalSupply() external view returns (uint256); function balanceOf(address owner) external view returns (uint256); function allowance(address owner, address spender) external view returns (uint256); function approve(address spender, uint256 value) external returns (bool); function transfer(address to, uint256 value) external returns (bool); function transferFrom( address from, address to, uint256 value ) external returns (bool); function DOMAIN_SEPARATOR() external view returns (bytes32); function PERMIT_TYPEHASH() external pure returns (bytes32); function nonces(address owner) external view returns (uint256); function permit( address owner, address spender, uint256 value, uint256 deadline, uint8 v, bytes32 r, bytes32 s ) external; event Burn( address indexed sender, uint256 amount0, uint256 amount1, address indexed to ); event Swap( address indexed sender, uint256 amount0In, uint256 amount1In, uint256 amount0Out, uint256 amount1Out, address indexed to ); event Sync(uint112 reserve0, uint112 reserve1); function MINIMUM_LIQUIDITY() external pure returns (uint256); function factory() external view returns (address); function token0() external view returns (address); function token1() external view returns (address); function getReserves() external view returns ( uint112 reserve0, uint112 reserve1, uint32 blockTimestampLast ); function price0CumulativeLast() external view returns (uint256); function price1CumulativeLast() external view returns (uint256); function kLast() external view returns (uint256); function burn(address to) external returns (uint256 amount0, uint256 amount1); function swap( uint256 amount0Out, uint256 amount1Out, address to, bytes calldata data ) external; function skim(address to) external; function sync() external; function initialize(address, address) external; } interface IUniswapV2Router01 { function factory() external pure returns (address); function WETH() external pure returns (address); function addLiquidity( address tokenA, address tokenB, uint256 amountADesired, uint256 amountBDesired, uint256 amountAMin, uint256 amountBMin, address to, uint256 deadline ) external returns ( uint256 amountA, uint256 amountB, uint256 liquidity ); function addLiquidityETH( address token, uint256 amountTokenDesired, uint256 amountTokenMin, uint256 amountETHMin, address to, uint256 deadline ) external payable returns ( uint256 amountToken, uint256 amountETH, uint256 liquidity ); function removeLiquidity( address tokenA, address tokenB, uint256 liquidity, uint256 amountAMin, uint256 amountBMin, address to, uint256 deadline ) external returns (uint256 amountA, uint256 amountB); function removeLiquidityETH( address token, uint256 liquidity, uint256 amountTokenMin, uint256 amountETHMin, address to, uint256 deadline ) external returns (uint256 amountToken, uint256 amountETH); function removeLiquidityWithPermit( address tokenA, address tokenB, uint256 liquidity, uint256 amountAMin, uint256 amountBMin, address to, uint256 deadline, bool approveMax, uint8 v, bytes32 r, bytes32 s ) external returns (uint256 amountA, uint256 amountB); function removeLiquidityETHWithPermit( address token, uint256 liquidity, uint256 amountTokenMin, uint256 amountETHMin, address to, uint256 deadline, bool approveMax, uint8 v, bytes32 r, bytes32 s ) external returns (uint256 amountToken, uint256 amountETH); function swapExactTokensForTokens( uint256 amountIn, uint256 amountOutMin, address[] calldata path, address to, uint256 deadline ) external returns (uint256[] memory amounts); function swapTokensForExactTokens( uint256 amountOut, uint256 amountInMax, address[] calldata path, address to, uint256 deadline ) external returns (uint256[] memory amounts); function swapExactETHForTokens( uint256 amountOutMin, address[] calldata path, address to, uint256 deadline ) external payable returns (uint256[] memory amounts); function swapTokensForExactETH( uint256 amountOut, uint256 amountInMax, address[] calldata path, address to, uint256 deadline ) external returns (uint256[] memory amounts); function swapExactTokensForETH( uint256 amountIn, uint256 amountOutMin, address[] calldata path, address to, uint256 deadline ) external returns (uint256[] memory amounts); function swapETHForExactTokens( uint256 amountOut, address[] calldata path, address to, uint256 deadline ) external payable returns (uint256[] memory amounts); function quote( uint256 amountA, uint256 reserveA, uint256 reserveB ) external pure returns (uint256 amountB); function getAmountOut( uint256 amountIn, uint256 reserveIn, uint256 reserveOut ) external pure returns (uint256 amountOut); function getAmountIn( uint256 amountOut, uint256 reserveIn, uint256 reserveOut ) external pure returns (uint256 amountIn); function getAmountsOut(uint256 amountIn, address[] calldata path) external view returns (uint256[] memory amounts); function getAmountsIn(uint256 amountOut, address[] calldata path) external view returns (uint256[] memory amounts); } interface IUniswapV2Router02 is IUniswapV2Router01 { function removeLiquidityETHSupportingFeeOnTransferTokens( address token, uint256 liquidity, uint256 amountTokenMin, uint256 amountETHMin, address to, uint256 deadline ) external returns (uint256 amountETH); function removeLiquidityETHWithPermitSupportingFeeOnTransferTokens( address token, uint256 liquidity, uint256 amountTokenMin, uint256 amountETHMin, address to, uint256 deadline, bool approveMax, uint8 v, bytes32 r, bytes32 s ) external returns (uint256 amountETH); function swapExactTokensForTokensSupportingFeeOnTransferTokens( uint256 amountIn, uint256 amountOutMin, address[] calldata path, address to, uint256 deadline ) external; function swapExactETHForTokensSupportingFeeOnTransferTokens( uint256 amountOutMin, address[] calldata path, address to, uint256 deadline ) external payable; function swapExactTokensForETHSupportingFeeOnTransferTokens( uint256 amountIn, uint256 amountOutMin, address[] calldata path, address to, uint256 deadline ) external; } contract DARK is ERC20, Ownable { using SafeMath for uint256; address WETH = 0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2; address DEAD = 0x000000000000000000000000000000000000dEaD; address ZERO = 0x0000000000000000000000000000000000000000; string constant _name = "The Darkest Odyssey"; string constant _symbol = "DARK"; uint8 constant _decimals = 18; uint256 _totalSupply = 1000000000 * (10 ** _decimals); uint256 public _maxTxAmount = (_totalSupply * 5) / 100; // 5% max tx uint256 public _maxWalletSize = (_totalSupply * 5) / 100; // 5% max wallet mapping (address => uint256) _balances; mapping (address => mapping (address => uint256)) _allowances; mapping (address => bool) public isFeeExempt; mapping (address => bool) public isTxLimitExempt; uint256 liquidityFee = 0; uint256 teamFee = 0; uint256 marketingFee = 0; uint256 devFee = 5; uint256 totalFee = 5; uint256 feeDenominator = 100; address private marketingFeeReceiver = 0xB946c2b4dC4b8E931B968070291AA1F8231AB9d5; address private devFeeReceiver = 0xB946c2b4dC4b8E931B968070291AA1F8231AB9d5; address private teamFeeReceiver = 0xB946c2b4dC4b8E931B968070291AA1F8231AB9d5; IUniswapV2Router02 public router; address public pair; uint256 public launchedAt; bool public swapEnabled = true; bool public tradingActive = false; uint256 public swapThreshold = _totalSupply / 1000 * 1; // .1% bool inSwap; modifier swapping() { inSwap = true; _; inSwap = false; } constructor () { router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D); pair = IUniswapV2Factory(router.factory()).createPair(WETH, address(this)); _allowances[address(this)][address(router)] = type(uint256).max; address _owner = owner(); isFeeExempt[_owner] = true; isTxLimitExempt[_owner] = true; isTxLimitExempt[address(router)] = true; isTxLimitExempt[address(pair)] = true; _balances[_owner] = _totalSupply; emit Transfer(address(0), _owner, _totalSupply); } receive() external payable { } function totalSupply() external view override returns (uint256) { return _totalSupply; } function decimals() external pure override returns (uint8) { return _decimals; } function symbol() external pure override returns (string memory) { return _symbol; } function name() external pure override returns (string memory) { return _name; } function getOwner() external view returns (address) { return owner(); } function balanceOf(address account) public view override returns (uint256) { return _balances[account]; } function allowance(address holder, address spender) external view override returns (uint256) { return _allowances[holder][spender]; } function approve(address spender, uint256 amount) public override returns (bool) { _allowances[msg.sender][spender] = amount; emit Approval(msg.sender, spender, amount); return true; } function approveMax(address spender) external returns (bool) { return approve(spender, type(uint256).max); } function transfer(address recipient, uint256 amount) external override returns (bool) { return _transferFrom(msg.sender, recipient, amount); } function transferFrom(address sender, address recipient, uint256 amount) external override returns (bool) { if(_allowances[sender][msg.sender] != type(uint256).max){ _allowances[sender][msg.sender] = _allowances[sender][msg.sender].sub(amount, "Insufficient Allowance"); } return _transferFrom(sender, recipient, amount); } function _transferFrom(address sender, address recipient, uint256 amount) internal returns (bool) { if(inSwap){ return _basicTransfer(sender, recipient, amount); } if(!tradingActive){ require(isFeeExempt[sender] || isFeeExempt[recipient], "Trading is not active yet."); } checkTxLimit(sender, amount); if (recipient != pair && recipient != DEAD) { require(isTxLimitExempt[recipient] || _balances[recipient] + amount <= _maxWalletSize, "Transfer amount exceeds the bag size."); } if(shouldSwapBack()){ swapBack(); } if(!launched() && recipient == pair){ require(_balances[sender] > 0); launch(); } _balances[sender] = _balances[sender].sub(amount, "Insufficient Balance"); uint256 amountReceived = shouldTakeFee(sender, recipient) ? takeFee(sender, recipient, amount) : amount; _balances[recipient] = _balances[recipient].add(amountReceived); emit Transfer(sender, recipient, amountReceived); return true; } function _basicTransfer(address sender, address recipient, uint256 amount) internal returns (bool) { _balances[sender] = _balances[sender].sub(amount, "Insufficient Balance"); _balances[recipient] = _balances[recipient].add(amount); emit Transfer(sender, recipient, amount); return true; } function checkTxLimit(address sender, uint256 amount) internal view { require(amount <= _maxTxAmount || isTxLimitExempt[sender], "TX Limit Exceeded"); } function shouldTakeFee(address sender, address recipient) internal view returns (bool) { return !(isFeeExempt[sender] || isFeeExempt[recipient]); } function getTotalFee(bool selling) public view returns (uint256) { if(launchedAt + 1 >= block.number){ return feeDenominator.sub(1); } if(selling) { return totalFee.add(1); } return totalFee; } function enableTrading() external onlyOwner() { tradingActive = true; } function takeFee(address sender, address receiver, uint256 amount) internal returns (uint256) { uint256 feeAmount = amount.mul(getTotalFee(receiver == pair)).div(feeDenominator); _balances[address(this)] = _balances[address(this)].add(feeAmount); emit Transfer(sender, address(this), feeAmount); return amount.sub(feeAmount); } function shouldSwapBack() internal view returns (bool) { return msg.sender != pair && !inSwap && swapEnabled && _balances[address(this)] >= swapThreshold; } function swapBack() internal swapping { uint256 contractTokenBalance = balanceOf(address(this)); uint256 amountToLiquify = contractTokenBalance.mul(liquidityFee).div(totalFee).div(2); uint256 amountToSwap = contractTokenBalance.sub(amountToLiquify); address[] memory path = new address[](2); path[0] = address(this); path[1] = WETH; uint256 balanceBefore = address(this).balance; router.swapExactTokensForETHSupportingFeeOnTransferTokens( amountToSwap, 0, path, address(this), block.timestamp ); uint256 amountBNB = address(this).balance.sub(balanceBefore); uint256 totalBNBFee = totalFee.sub(liquidityFee.div(2)); //uint256 amountBNBLiquidity = amountBNB.mul(liquidityFee).div(totalBNBFee).div(2); uint256 amountBNBdevelopment = amountBNB.mul(teamFee).div(totalBNBFee); uint256 amountBNBmarketing = amountBNB.mul(marketingFee).div(totalBNBFee); uint256 amountBNBDev = amountBNB.mul(devFee).div(totalBNBFee); (bool marketingSuccess, /* bytes memory data */) = payable(marketingFeeReceiver).call{value: amountBNBmarketing, gas: 30000}(""); require(marketingSuccess, "receiver rejected ETH transfer"); (bool DevSuccess, /* bytes memory data */) = payable(devFeeReceiver).call{value: amountBNBDev, gas: 30000}(""); require(DevSuccess, "receiver rejected ETH transfer"); (bool developmentSuccess, /* bytes memory data */) = payable(teamFeeReceiver).call{value: amountBNBdevelopment, gas: 30000}(""); require(developmentSuccess, "receiver rejected ETH transfer"); } function buyTokens(uint256 amount, address to) internal swapping { address[] memory path = new address[](2); path[0] = WETH; path[1] = address(this); router.swapExactETHForTokensSupportingFeeOnTransferTokens{value: amount}( 0, path, to, block.timestamp ); } function launched() internal view returns (bool) { return launchedAt != 0; } function launch() internal { launchedAt = block.number; } function setTxLimit(uint256 amount) external onlyOwner() { require(amount >= _totalSupply / 1000); _maxTxAmount = amount; } function setMaxWallet(uint256 amount) external onlyOwner() { require(amount >= _totalSupply / 1000 ); _maxWalletSize = amount; } function setIsFeeExempt(address holder, bool exempt) external onlyOwner() { isFeeExempt[holder] = exempt; } function setIsTxLimitExempt(address holder, bool exempt) external onlyOwner() { isTxLimitExempt[holder] = exempt; } function setFees( uint256 _teamFee, uint256 _marketingFee, uint256 _devFee , uint256 _feeDenominator) external onlyOwner() { teamFee = _teamFee; marketingFee = _marketingFee; devFee = _devFee ; totalFee = _devFee.add(_teamFee).add(_marketingFee); feeDenominator = _feeDenominator; } function setFeeReceiver(address _marketingFeeReceiver, address _teamFeeReceiver) external onlyOwner() { marketingFeeReceiver = _marketingFeeReceiver; teamFeeReceiver = _teamFeeReceiver; } function setSwapBackSettings(bool _enabled, uint256 _amount) external onlyOwner() { swapEnabled = _enabled; swapThreshold = _amount; } function manualSend() external onlyOwner() { uint256 contractETHBalance = address(this).balance; payable(marketingFeeReceiver).transfer(contractETHBalance); } function transferForeignToken(address _token) public onlyOwner() { require(_token != address(this), "Can't let you take all native token"); uint256 _contractBalance = ERC20(_token).balanceOf(address(this)); payable(marketingFeeReceiver).transfer(_contractBalance); } function getCirculatingSupply() public view returns (uint256) { return _totalSupply.sub(balanceOf(DEAD)).sub(balanceOf(ZERO)); } function getLiquidityBacking(uint256 accuracy) public view returns (uint256) { return accuracy.mul(balanceOf(pair).mul(2)).div(getCirculatingSupply()); } function isOverLiquified(uint256 target, uint256 accuracy) public view returns (bool) { return getLiquidityBacking(accuracy) > target; } event AutoLiquify(uint256 amountBNB, uint256 amountBOG); }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"amountBNB","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"amountBOG","type":"uint256"}],"name":"AutoLiquify","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":"_maxTxAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxWalletSize","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"holder","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":"spender","type":"address"}],"name":"approveMax","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"enableTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"getCirculatingSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"accuracy","type":"uint256"}],"name":"getLiquidityBacking","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getOwner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bool","name":"selling","type":"bool"}],"name":"getTotalFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"isFeeExempt","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"target","type":"uint256"},{"internalType":"uint256","name":"accuracy","type":"uint256"}],"name":"isOverLiquified","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"isTxLimitExempt","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"launchedAt","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"manualSend","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"router","outputs":[{"internalType":"contract IUniswapV2Router02","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_marketingFeeReceiver","type":"address"},{"internalType":"address","name":"_teamFeeReceiver","type":"address"}],"name":"setFeeReceiver","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_teamFee","type":"uint256"},{"internalType":"uint256","name":"_marketingFee","type":"uint256"},{"internalType":"uint256","name":"_devFee","type":"uint256"},{"internalType":"uint256","name":"_feeDenominator","type":"uint256"}],"name":"setFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"holder","type":"address"},{"internalType":"bool","name":"exempt","type":"bool"}],"name":"setIsFeeExempt","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"holder","type":"address"},{"internalType":"bool","name":"exempt","type":"bool"}],"name":"setIsTxLimitExempt","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"setMaxWallet","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"_enabled","type":"bool"},{"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"setSwapBackSettings","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"setTxLimit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"swapEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"swapThreshold","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"tradingActive","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_token","type":"address"}],"name":"transferForeignToken","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]
Contract Creation Code
608060405273c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555061dead600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000600360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506012600a620000ee919062000a78565b633b9aca00620000ff919062000ac9565b6004556064600560045462000115919062000ac9565b62000121919062000b59565b6005556064600560045462000137919062000ac9565b62000143919062000b59565b6006556000600b556000600c556000600d556005600e556005600f55606460105573b946c2b4dc4b8e931b968070291aa1f8231ab9d5601160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555073b946c2b4dc4b8e931b968070291aa1f8231ab9d5601260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555073b946c2b4dc4b8e931b968070291aa1f8231ab9d5601360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506001601760006101000a81548160ff0219169083151502179055506000601760016101000a81548160ff02191690831515021790555060016103e8600454620002ad919062000b59565b620002b9919062000ac9565b601855348015620002c957600080fd5b50620002ea620002de620007e960201b60201c565b620007f160201b60201c565b737a250d5630b4cf539739df2c5dacb4c659f2488d601460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015620003ad573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620003d3919062000bfb565b73ffffffffffffffffffffffffffffffffffffffff1663c9c65396600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16306040518363ffffffff1660e01b81526004016200043192919062000c3e565b6020604051808303816000875af115801562000451573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000477919062000bfb565b601560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600860003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555060006200058c620008b560201b60201c565b90506001600960008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600a60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600a6000601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600a6000601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600454600760008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600454604051620007da919062000c7c565b60405180910390a35062000c99565b600033905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008160011c9050919050565b6000808291508390505b60018511156200096c57808604811115620009445762000943620008de565b5b6001851615620009545780820291505b808102905062000964856200090d565b945062000924565b94509492505050565b60008262000987576001905062000a5a565b8162000997576000905062000a5a565b8160018114620009b05760028114620009bb57620009f1565b600191505062000a5a565b60ff841115620009d057620009cf620008de565b5b8360020a915084821115620009ea57620009e9620008de565b5b5062000a5a565b5060208310610133831016604e8410600b841016171562000a2b5782820a90508381111562000a255762000a24620008de565b5b62000a5a565b62000a3a84848460016200091a565b9250905081840481111562000a545762000a53620008de565b5b81810290505b9392505050565b6000819050919050565b600060ff82169050919050565b600062000a858262000a61565b915062000a928362000a6b565b925062000ac17fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff848462000975565b905092915050565b600062000ad68262000a61565b915062000ae38362000a61565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff048311821515161562000b1f5762000b1e620008de565b5b828202905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600062000b668262000a61565b915062000b738362000a61565b92508262000b865762000b8562000b2a565b5b828204905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600062000bc38262000b96565b9050919050565b62000bd58162000bb6565b811462000be157600080fd5b50565b60008151905062000bf58162000bca565b92915050565b60006020828403121562000c145762000c1362000b91565b5b600062000c248482850162000be4565b91505092915050565b62000c388162000bb6565b82525050565b600060408201905062000c55600083018562000c2d565b62000c64602083018462000c2d565b9392505050565b62000c768162000a61565b82525050565b600060208201905062000c93600083018462000c6b565b92915050565b6136988062000ca96000396000f3fe6080604052600436106102295760003560e01c80638a8c523c11610123578063d51ed1c8116100ab578063f1f3bca31161006f578063f1f3bca31461083e578063f2fde38b1461087b578063f4293890146108a4578063f84ba65d146108bb578063f887ea40146108e457610230565b8063d51ed1c814610749578063dc93cf7014610786578063dd62ed3e146107af578063df20fd49146107ec578063e66db25e1461081557610230565b806395d89b41116100f257806395d89b4114610660578063a8aa1b311461068b578063a9059cbb146106b6578063bbc0c742146106f3578063bf56b3711461071e57610230565b80638a8c523c146105b65780638b42507f146105cd5780638da5cb5b1461060a5780638f9a55c01461063557610230565b8063571ac8b0116101b15780636fcba377116101755780636fcba377146104e357806370a082311461050c578063715018a6146105495780637d1db4a514610560578063893d20e81461058b57610230565b8063571ac8b0146104005780635c85974f1461043d5780635d0044ca14610466578063658d4b7f1461048f5780636ddd1713146104b857610230565b806318160ddd116101f857806318160ddd1461030557806323b872dd146103305780632b112e491461036d578063313ce567146103985780633f4218e0146103c357610230565b80630445b6671461023557806306fdde0314610260578063095ea7b31461028b5780631161ae39146102c857610230565b3661023057005b600080fd5b34801561024157600080fd5b5061024a61090f565b604051610257919061292f565b60405180910390f35b34801561026c57600080fd5b50610275610915565b60405161028291906129e3565b60405180910390f35b34801561029757600080fd5b506102b260048036038101906102ad9190612a94565b610952565b6040516102bf9190612aef565b60405180910390f35b3480156102d457600080fd5b506102ef60048036038101906102ea9190612b0a565b610a44565b6040516102fc9190612aef565b60405180910390f35b34801561031157600080fd5b5061031a610a59565b604051610327919061292f565b60405180910390f35b34801561033c57600080fd5b5061035760048036038101906103529190612b4a565b610a63565b6040516103649190612aef565b60405180910390f35b34801561037957600080fd5b50610382610c63565b60405161038f919061292f565b60405180910390f35b3480156103a457600080fd5b506103ad610ce5565b6040516103ba9190612bb9565b60405180910390f35b3480156103cf57600080fd5b506103ea60048036038101906103e59190612bd4565b610cee565b6040516103f79190612aef565b60405180910390f35b34801561040c57600080fd5b5061042760048036038101906104229190612bd4565b610d0e565b6040516104349190612aef565b60405180910390f35b34801561044957600080fd5b50610464600480360381019061045f9190612c01565b610d41565b005b34801561047257600080fd5b5061048d60048036038101906104889190612c01565b610d6f565b005b34801561049b57600080fd5b506104b660048036038101906104b19190612c5a565b610d9d565b005b3480156104c457600080fd5b506104cd610e00565b6040516104da9190612aef565b60405180910390f35b3480156104ef57600080fd5b5061050a60048036038101906105059190612c9a565b610e13565b005b34801561051857600080fd5b50610533600480360381019061052e9190612bd4565b610e68565b604051610540919061292f565b60405180910390f35b34801561055557600080fd5b5061055e610eb1565b005b34801561056c57600080fd5b50610575610ec5565b604051610582919061292f565b60405180910390f35b34801561059757600080fd5b506105a0610ecb565b6040516105ad9190612d10565b60405180910390f35b3480156105c257600080fd5b506105cb610eda565b005b3480156105d957600080fd5b506105f460048036038101906105ef9190612bd4565b610eff565b6040516106019190612aef565b60405180910390f35b34801561061657600080fd5b5061061f610f1f565b60405161062c9190612d10565b60405180910390f35b34801561064157600080fd5b5061064a610f48565b604051610657919061292f565b60405180910390f35b34801561066c57600080fd5b50610675610f4e565b60405161068291906129e3565b60405180910390f35b34801561069757600080fd5b506106a0610f8b565b6040516106ad9190612d10565b60405180910390f35b3480156106c257600080fd5b506106dd60048036038101906106d89190612a94565b610fb1565b6040516106ea9190612aef565b60405180910390f35b3480156106ff57600080fd5b50610708610fc6565b6040516107159190612aef565b60405180910390f35b34801561072a57600080fd5b50610733610fd9565b604051610740919061292f565b60405180910390f35b34801561075557600080fd5b50610770600480360381019061076b9190612c01565b610fdf565b60405161077d919061292f565b60405180910390f35b34801561079257600080fd5b506107ad60048036038101906107a89190612bd4565b611051565b005b3480156107bb57600080fd5b506107d660048036038101906107d19190612d2b565b6111b3565b6040516107e3919061292f565b60405180910390f35b3480156107f857600080fd5b50610813600480360381019061080e9190612d6b565b61123a565b005b34801561082157600080fd5b5061083c60048036038101906108379190612d2b565b611267565b005b34801561084a57600080fd5b5061086560048036038101906108609190612dab565b6112f5565b604051610872919061292f565b60405180910390f35b34801561088757600080fd5b506108a2600480360381019061089d9190612bd4565b611357565b005b3480156108b057600080fd5b506108b96113db565b005b3480156108c757600080fd5b506108e260048036038101906108dd9190612c5a565b611454565b005b3480156108f057600080fd5b506108f96114b7565b6040516109069190612e37565b60405180910390f35b60185481565b60606040518060400160405280601381526020017f546865204461726b657374204f64797373657900000000000000000000000000815250905090565b600081600860003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92584604051610a32919061292f565b60405180910390a36001905092915050565b600082610a5083610fdf565b11905092915050565b6000600454905090565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600860008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205414610c4f57610bce826040518060400160405280601681526020017f496e73756666696369656e7420416c6c6f77616e636500000000000000000000815250600860008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546114dd9092919063ffffffff16565b600860008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b610c5a848484611541565b90509392505050565b6000610ce0610c93600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16610e68565b610cd2610cc1600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16610e68565b600454611ac790919063ffffffff16565b611ac790919063ffffffff16565b905090565b60006012905090565b60096020528060005260406000206000915054906101000a900460ff1681565b6000610d3a827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff610952565b9050919050565b610d49611b11565b6103e8600454610d599190612eb0565b811015610d6557600080fd5b8060058190555050565b610d77611b11565b6103e8600454610d879190612eb0565b811015610d9357600080fd5b8060068190555050565b610da5611b11565b80600960008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b601760009054906101000a900460ff1681565b610e1b611b11565b83600c8190555082600d8190555081600e81905550610e5583610e478685611b8f90919063ffffffff16565b611b8f90919063ffffffff16565b600f819055508060108190555050505050565b6000600760008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b610eb9611b11565b610ec36000611bed565b565b60055481565b6000610ed5610f1f565b905090565b610ee2611b11565b6001601760016101000a81548160ff021916908315150217905550565b600a6020528060005260406000206000915054906101000a900460ff1681565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60065481565b60606040518060400160405280600481526020017f4441524b00000000000000000000000000000000000000000000000000000000815250905090565b601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000610fbe338484611541565b905092915050565b601760019054906101000a900460ff1681565b60165481565b600061104a610fec610c63565b61103c61102d600261101f601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16610e68565b611cb190919063ffffffff16565b85611cb190919063ffffffff16565b611d2c90919063ffffffff16565b9050919050565b611059611b11565b3073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614156110c8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110bf90612f53565b60405180910390fd5b60008173ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b81526004016111039190612d10565b602060405180830381865afa158015611120573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111449190612f88565b9050601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f193505050501580156111ae573d6000803e3d6000fd5b505050565b6000600860008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b611242611b11565b81601760006101000a81548160ff021916908315150217905550806018819055505050565b61126f611b11565b81601160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080601360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505050565b60004360016016546113079190612fb5565b10611329576113226001601054611ac790919063ffffffff16565b9050611352565b811561134c576113456001600f54611b8f90919063ffffffff16565b9050611352565b600f5490505b919050565b61135f611b11565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614156113cf576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113c69061307d565b60405180910390fd5b6113d881611bed565b50565b6113e3611b11565b6000479050601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015611450573d6000803e3d6000fd5b5050565b61145c611b11565b80600a60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000838311158290611525576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161151c91906129e3565b60405180910390fd5b5060008385611534919061309d565b9050809150509392505050565b6000601960009054906101000a900460ff161561156a57611563848484611d76565b9050611ac0565b601760019054906101000a900460ff1661165f57600960008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff168061161f5750600960008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b61165e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116559061311d565b60405180910390fd5b5b6116698483611f49565b601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141580156117155750600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b156117fe57600a60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16806117be575060065482600760008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546117bb9190612fb5565b11155b6117fd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117f4906131af565b60405180910390fd5b5b611806611fe6565b15611814576118136120bd565b5b61181c61264e565b1580156118765750601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16145b156118d0576000600760008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054116118c757600080fd5b6118cf61265b565b5b611959826040518060400160405280601481526020017f496e73756666696369656e742042616c616e6365000000000000000000000000815250600760008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546114dd9092919063ffffffff16565b600760008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555060006119a88585612664565b6119b257826119be565b6119bd858585612710565b5b9050611a1281600760008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611b8f90919063ffffffff16565b600760008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051611ab2919061292f565b60405180910390a360019150505b9392505050565b6000611b0983836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506114dd565b905092915050565b611b196128ab565b73ffffffffffffffffffffffffffffffffffffffff16611b37610f1f565b73ffffffffffffffffffffffffffffffffffffffff1614611b8d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b849061321b565b60405180910390fd5b565b6000808284611b9e9190612fb5565b905083811015611be3576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611bda90613287565b60405180910390fd5b8091505092915050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b600080831415611cc45760009050611d26565b60008284611cd291906132a7565b9050828482611ce19190612eb0565b14611d21576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d1890613373565b60405180910390fd5b809150505b92915050565b6000611d6e83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506128b3565b905092915050565b6000611e01826040518060400160405280601481526020017f496e73756666696369656e742042616c616e6365000000000000000000000000815250600760008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546114dd9092919063ffffffff16565b600760008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611e9682600760008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611b8f90919063ffffffff16565b600760008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051611f36919061292f565b60405180910390a3600190509392505050565b60055481111580611fa35750600a60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b611fe2576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611fd9906133df565b60405180910390fd5b5050565b6000601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141580156120535750601960009054906101000a900460ff16155b801561206b5750601760009054906101000a900460ff165b80156120b85750601854600760003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410155b905090565b6001601960006101000a81548160ff02191690831515021790555060006120e330610e68565b905060006121236002612115600f54612107600b5487611cb190919063ffffffff16565b611d2c90919063ffffffff16565b611d2c90919063ffffffff16565b9050600061213a8284611ac790919063ffffffff16565b90506000600267ffffffffffffffff811115612159576121586133ff565b5b6040519080825280602002602001820160405280156121875781602001602082028036833780820191505090505b509050308160008151811061219f5761219e61342e565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16816001815181106122105761220f61342e565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250506000479050601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478460008530426040518663ffffffff1660e01b81526004016122b3959493929190613556565b600060405180830381600087803b1580156122cd57600080fd5b505af11580156122e1573d6000803e3d6000fd5b5050505060006122fa8247611ac790919063ffffffff16565b905060006123286123176002600b54611d2c90919063ffffffff16565b600f54611ac790919063ffffffff16565b9050600061235382612345600c5486611cb190919063ffffffff16565b611d2c90919063ffffffff16565b9050600061237e83612370600d5487611cb190919063ffffffff16565b611d2c90919063ffffffff16565b905060006123a98461239b600e5488611cb190919063ffffffff16565b611d2c90919063ffffffff16565b90506000601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1683617530906040516123f7906135e1565b600060405180830381858888f193505050503d8060008114612435576040519150601f19603f3d011682016040523d82523d6000602084013e61243a565b606091505b505090508061247e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161247590613642565b60405180910390fd5b6000601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1683617530906040516124ca906135e1565b600060405180830381858888f193505050503d8060008114612508576040519150601f19603f3d011682016040523d82523d6000602084013e61250d565b606091505b5050905080612551576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161254890613642565b60405180910390fd5b6000601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16866175309060405161259d906135e1565b600060405180830381858888f193505050503d80600081146125db576040519150601f19603f3d011682016040523d82523d6000602084013e6125e0565b606091505b5050905080612624576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161261b90613642565b60405180910390fd5b505050505050505050505050506000601960006101000a81548160ff021916908315150217905550565b6000806016541415905090565b43601681905550565b6000600960008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16806127075750600960008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b15905092915050565b600080612792601054612784612775601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168873ffffffffffffffffffffffffffffffffffffffff16146112f5565b86611cb190919063ffffffff16565b611d2c90919063ffffffff16565b90506127e681600760003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611b8f90919063ffffffff16565b600760003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055503073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051612886919061292f565b60405180910390a36128a18184611ac790919063ffffffff16565b9150509392505050565b600033905090565b600080831182906128fa576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016128f191906129e3565b60405180910390fd5b50600083856129099190612eb0565b9050809150509392505050565b6000819050919050565b61292981612916565b82525050565b60006020820190506129446000830184612920565b92915050565b600081519050919050565b600082825260208201905092915050565b60005b83811015612984578082015181840152602081019050612969565b83811115612993576000848401525b50505050565b6000601f19601f8301169050919050565b60006129b58261294a565b6129bf8185612955565b93506129cf818560208601612966565b6129d881612999565b840191505092915050565b600060208201905081810360008301526129fd81846129aa565b905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000612a3582612a0a565b9050919050565b612a4581612a2a565b8114612a5057600080fd5b50565b600081359050612a6281612a3c565b92915050565b612a7181612916565b8114612a7c57600080fd5b50565b600081359050612a8e81612a68565b92915050565b60008060408385031215612aab57612aaa612a05565b5b6000612ab985828601612a53565b9250506020612aca85828601612a7f565b9150509250929050565b60008115159050919050565b612ae981612ad4565b82525050565b6000602082019050612b046000830184612ae0565b92915050565b60008060408385031215612b2157612b20612a05565b5b6000612b2f85828601612a7f565b9250506020612b4085828601612a7f565b9150509250929050565b600080600060608486031215612b6357612b62612a05565b5b6000612b7186828701612a53565b9350506020612b8286828701612a53565b9250506040612b9386828701612a7f565b9150509250925092565b600060ff82169050919050565b612bb381612b9d565b82525050565b6000602082019050612bce6000830184612baa565b92915050565b600060208284031215612bea57612be9612a05565b5b6000612bf884828501612a53565b91505092915050565b600060208284031215612c1757612c16612a05565b5b6000612c2584828501612a7f565b91505092915050565b612c3781612ad4565b8114612c4257600080fd5b50565b600081359050612c5481612c2e565b92915050565b60008060408385031215612c7157612c70612a05565b5b6000612c7f85828601612a53565b9250506020612c9085828601612c45565b9150509250929050565b60008060008060808587031215612cb457612cb3612a05565b5b6000612cc287828801612a7f565b9450506020612cd387828801612a7f565b9350506040612ce487828801612a7f565b9250506060612cf587828801612a7f565b91505092959194509250565b612d0a81612a2a565b82525050565b6000602082019050612d256000830184612d01565b92915050565b60008060408385031215612d4257612d41612a05565b5b6000612d5085828601612a53565b9250506020612d6185828601612a53565b9150509250929050565b60008060408385031215612d8257612d81612a05565b5b6000612d9085828601612c45565b9250506020612da185828601612a7f565b9150509250929050565b600060208284031215612dc157612dc0612a05565b5b6000612dcf84828501612c45565b91505092915050565b6000819050919050565b6000612dfd612df8612df384612a0a565b612dd8565b612a0a565b9050919050565b6000612e0f82612de2565b9050919050565b6000612e2182612e04565b9050919050565b612e3181612e16565b82525050565b6000602082019050612e4c6000830184612e28565b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000612ebb82612916565b9150612ec683612916565b925082612ed657612ed5612e52565b5b828204905092915050565b7f43616e2774206c657420796f752074616b6520616c6c206e617469766520746f60008201527f6b656e0000000000000000000000000000000000000000000000000000000000602082015250565b6000612f3d602383612955565b9150612f4882612ee1565b604082019050919050565b60006020820190508181036000830152612f6c81612f30565b9050919050565b600081519050612f8281612a68565b92915050565b600060208284031215612f9e57612f9d612a05565b5b6000612fac84828501612f73565b91505092915050565b6000612fc082612916565b9150612fcb83612916565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0382111561300057612fff612e81565b5b828201905092915050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b6000613067602683612955565b91506130728261300b565b604082019050919050565b600060208201905081810360008301526130968161305a565b9050919050565b60006130a882612916565b91506130b383612916565b9250828210156130c6576130c5612e81565b5b828203905092915050565b7f54726164696e67206973206e6f7420616374697665207965742e000000000000600082015250565b6000613107601a83612955565b9150613112826130d1565b602082019050919050565b60006020820190508181036000830152613136816130fa565b9050919050565b7f5472616e7366657220616d6f756e74206578636565647320746865206261672060008201527f73697a652e000000000000000000000000000000000000000000000000000000602082015250565b6000613199602583612955565b91506131a48261313d565b604082019050919050565b600060208201905081810360008301526131c88161318c565b9050919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b6000613205602083612955565b9150613210826131cf565b602082019050919050565b60006020820190508181036000830152613234816131f8565b9050919050565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b6000613271601b83612955565b915061327c8261323b565b602082019050919050565b600060208201905081810360008301526132a081613264565b9050919050565b60006132b282612916565b91506132bd83612916565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff04831182151516156132f6576132f5612e81565b5b828202905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b600061335d602183612955565b915061336882613301565b604082019050919050565b6000602082019050818103600083015261338c81613350565b9050919050565b7f5458204c696d6974204578636565646564000000000000000000000000000000600082015250565b60006133c9601183612955565b91506133d482613393565b602082019050919050565b600060208201905081810360008301526133f8816133bc565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b6000819050919050565b600061348261347d6134788461345d565b612dd8565b612916565b9050919050565b61349281613467565b82525050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b6134cd81612a2a565b82525050565b60006134df83836134c4565b60208301905092915050565b6000602082019050919050565b600061350382613498565b61350d81856134a3565b9350613518836134b4565b8060005b8381101561354957815161353088826134d3565b975061353b836134eb565b92505060018101905061351c565b5085935050505092915050565b600060a08201905061356b6000830188612920565b6135786020830187613489565b818103604083015261358a81866134f8565b90506135996060830185612d01565b6135a66080830184612920565b9695505050505050565b600081905092915050565b50565b60006135cb6000836135b0565b91506135d6826135bb565b600082019050919050565b60006135ec826135be565b9150819050919050565b7f72656365697665722072656a656374656420455448207472616e736665720000600082015250565b600061362c601e83612955565b9150613637826135f6565b602082019050919050565b6000602082019050818103600083015261365b8161361f565b905091905056fea264697066735822122089a04b7a4ac27e136ef62307a8b50a2a857c92f72da886fc2de4965e8e1321ec64736f6c634300080a0033
Deployed Bytecode
0x6080604052600436106102295760003560e01c80638a8c523c11610123578063d51ed1c8116100ab578063f1f3bca31161006f578063f1f3bca31461083e578063f2fde38b1461087b578063f4293890146108a4578063f84ba65d146108bb578063f887ea40146108e457610230565b8063d51ed1c814610749578063dc93cf7014610786578063dd62ed3e146107af578063df20fd49146107ec578063e66db25e1461081557610230565b806395d89b41116100f257806395d89b4114610660578063a8aa1b311461068b578063a9059cbb146106b6578063bbc0c742146106f3578063bf56b3711461071e57610230565b80638a8c523c146105b65780638b42507f146105cd5780638da5cb5b1461060a5780638f9a55c01461063557610230565b8063571ac8b0116101b15780636fcba377116101755780636fcba377146104e357806370a082311461050c578063715018a6146105495780637d1db4a514610560578063893d20e81461058b57610230565b8063571ac8b0146104005780635c85974f1461043d5780635d0044ca14610466578063658d4b7f1461048f5780636ddd1713146104b857610230565b806318160ddd116101f857806318160ddd1461030557806323b872dd146103305780632b112e491461036d578063313ce567146103985780633f4218e0146103c357610230565b80630445b6671461023557806306fdde0314610260578063095ea7b31461028b5780631161ae39146102c857610230565b3661023057005b600080fd5b34801561024157600080fd5b5061024a61090f565b604051610257919061292f565b60405180910390f35b34801561026c57600080fd5b50610275610915565b60405161028291906129e3565b60405180910390f35b34801561029757600080fd5b506102b260048036038101906102ad9190612a94565b610952565b6040516102bf9190612aef565b60405180910390f35b3480156102d457600080fd5b506102ef60048036038101906102ea9190612b0a565b610a44565b6040516102fc9190612aef565b60405180910390f35b34801561031157600080fd5b5061031a610a59565b604051610327919061292f565b60405180910390f35b34801561033c57600080fd5b5061035760048036038101906103529190612b4a565b610a63565b6040516103649190612aef565b60405180910390f35b34801561037957600080fd5b50610382610c63565b60405161038f919061292f565b60405180910390f35b3480156103a457600080fd5b506103ad610ce5565b6040516103ba9190612bb9565b60405180910390f35b3480156103cf57600080fd5b506103ea60048036038101906103e59190612bd4565b610cee565b6040516103f79190612aef565b60405180910390f35b34801561040c57600080fd5b5061042760048036038101906104229190612bd4565b610d0e565b6040516104349190612aef565b60405180910390f35b34801561044957600080fd5b50610464600480360381019061045f9190612c01565b610d41565b005b34801561047257600080fd5b5061048d60048036038101906104889190612c01565b610d6f565b005b34801561049b57600080fd5b506104b660048036038101906104b19190612c5a565b610d9d565b005b3480156104c457600080fd5b506104cd610e00565b6040516104da9190612aef565b60405180910390f35b3480156104ef57600080fd5b5061050a60048036038101906105059190612c9a565b610e13565b005b34801561051857600080fd5b50610533600480360381019061052e9190612bd4565b610e68565b604051610540919061292f565b60405180910390f35b34801561055557600080fd5b5061055e610eb1565b005b34801561056c57600080fd5b50610575610ec5565b604051610582919061292f565b60405180910390f35b34801561059757600080fd5b506105a0610ecb565b6040516105ad9190612d10565b60405180910390f35b3480156105c257600080fd5b506105cb610eda565b005b3480156105d957600080fd5b506105f460048036038101906105ef9190612bd4565b610eff565b6040516106019190612aef565b60405180910390f35b34801561061657600080fd5b5061061f610f1f565b60405161062c9190612d10565b60405180910390f35b34801561064157600080fd5b5061064a610f48565b604051610657919061292f565b60405180910390f35b34801561066c57600080fd5b50610675610f4e565b60405161068291906129e3565b60405180910390f35b34801561069757600080fd5b506106a0610f8b565b6040516106ad9190612d10565b60405180910390f35b3480156106c257600080fd5b506106dd60048036038101906106d89190612a94565b610fb1565b6040516106ea9190612aef565b60405180910390f35b3480156106ff57600080fd5b50610708610fc6565b6040516107159190612aef565b60405180910390f35b34801561072a57600080fd5b50610733610fd9565b604051610740919061292f565b60405180910390f35b34801561075557600080fd5b50610770600480360381019061076b9190612c01565b610fdf565b60405161077d919061292f565b60405180910390f35b34801561079257600080fd5b506107ad60048036038101906107a89190612bd4565b611051565b005b3480156107bb57600080fd5b506107d660048036038101906107d19190612d2b565b6111b3565b6040516107e3919061292f565b60405180910390f35b3480156107f857600080fd5b50610813600480360381019061080e9190612d6b565b61123a565b005b34801561082157600080fd5b5061083c60048036038101906108379190612d2b565b611267565b005b34801561084a57600080fd5b5061086560048036038101906108609190612dab565b6112f5565b604051610872919061292f565b60405180910390f35b34801561088757600080fd5b506108a2600480360381019061089d9190612bd4565b611357565b005b3480156108b057600080fd5b506108b96113db565b005b3480156108c757600080fd5b506108e260048036038101906108dd9190612c5a565b611454565b005b3480156108f057600080fd5b506108f96114b7565b6040516109069190612e37565b60405180910390f35b60185481565b60606040518060400160405280601381526020017f546865204461726b657374204f64797373657900000000000000000000000000815250905090565b600081600860003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92584604051610a32919061292f565b60405180910390a36001905092915050565b600082610a5083610fdf565b11905092915050565b6000600454905090565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600860008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205414610c4f57610bce826040518060400160405280601681526020017f496e73756666696369656e7420416c6c6f77616e636500000000000000000000815250600860008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546114dd9092919063ffffffff16565b600860008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b610c5a848484611541565b90509392505050565b6000610ce0610c93600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16610e68565b610cd2610cc1600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16610e68565b600454611ac790919063ffffffff16565b611ac790919063ffffffff16565b905090565b60006012905090565b60096020528060005260406000206000915054906101000a900460ff1681565b6000610d3a827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff610952565b9050919050565b610d49611b11565b6103e8600454610d599190612eb0565b811015610d6557600080fd5b8060058190555050565b610d77611b11565b6103e8600454610d879190612eb0565b811015610d9357600080fd5b8060068190555050565b610da5611b11565b80600960008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b601760009054906101000a900460ff1681565b610e1b611b11565b83600c8190555082600d8190555081600e81905550610e5583610e478685611b8f90919063ffffffff16565b611b8f90919063ffffffff16565b600f819055508060108190555050505050565b6000600760008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b610eb9611b11565b610ec36000611bed565b565b60055481565b6000610ed5610f1f565b905090565b610ee2611b11565b6001601760016101000a81548160ff021916908315150217905550565b600a6020528060005260406000206000915054906101000a900460ff1681565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60065481565b60606040518060400160405280600481526020017f4441524b00000000000000000000000000000000000000000000000000000000815250905090565b601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000610fbe338484611541565b905092915050565b601760019054906101000a900460ff1681565b60165481565b600061104a610fec610c63565b61103c61102d600261101f601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16610e68565b611cb190919063ffffffff16565b85611cb190919063ffffffff16565b611d2c90919063ffffffff16565b9050919050565b611059611b11565b3073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614156110c8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110bf90612f53565b60405180910390fd5b60008173ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b81526004016111039190612d10565b602060405180830381865afa158015611120573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111449190612f88565b9050601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f193505050501580156111ae573d6000803e3d6000fd5b505050565b6000600860008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b611242611b11565b81601760006101000a81548160ff021916908315150217905550806018819055505050565b61126f611b11565b81601160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080601360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505050565b60004360016016546113079190612fb5565b10611329576113226001601054611ac790919063ffffffff16565b9050611352565b811561134c576113456001600f54611b8f90919063ffffffff16565b9050611352565b600f5490505b919050565b61135f611b11565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614156113cf576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113c69061307d565b60405180910390fd5b6113d881611bed565b50565b6113e3611b11565b6000479050601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015611450573d6000803e3d6000fd5b5050565b61145c611b11565b80600a60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000838311158290611525576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161151c91906129e3565b60405180910390fd5b5060008385611534919061309d565b9050809150509392505050565b6000601960009054906101000a900460ff161561156a57611563848484611d76565b9050611ac0565b601760019054906101000a900460ff1661165f57600960008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff168061161f5750600960008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b61165e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116559061311d565b60405180910390fd5b5b6116698483611f49565b601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141580156117155750600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b156117fe57600a60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16806117be575060065482600760008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546117bb9190612fb5565b11155b6117fd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117f4906131af565b60405180910390fd5b5b611806611fe6565b15611814576118136120bd565b5b61181c61264e565b1580156118765750601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16145b156118d0576000600760008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054116118c757600080fd5b6118cf61265b565b5b611959826040518060400160405280601481526020017f496e73756666696369656e742042616c616e6365000000000000000000000000815250600760008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546114dd9092919063ffffffff16565b600760008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555060006119a88585612664565b6119b257826119be565b6119bd858585612710565b5b9050611a1281600760008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611b8f90919063ffffffff16565b600760008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051611ab2919061292f565b60405180910390a360019150505b9392505050565b6000611b0983836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506114dd565b905092915050565b611b196128ab565b73ffffffffffffffffffffffffffffffffffffffff16611b37610f1f565b73ffffffffffffffffffffffffffffffffffffffff1614611b8d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b849061321b565b60405180910390fd5b565b6000808284611b9e9190612fb5565b905083811015611be3576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611bda90613287565b60405180910390fd5b8091505092915050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b600080831415611cc45760009050611d26565b60008284611cd291906132a7565b9050828482611ce19190612eb0565b14611d21576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d1890613373565b60405180910390fd5b809150505b92915050565b6000611d6e83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506128b3565b905092915050565b6000611e01826040518060400160405280601481526020017f496e73756666696369656e742042616c616e6365000000000000000000000000815250600760008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546114dd9092919063ffffffff16565b600760008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611e9682600760008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611b8f90919063ffffffff16565b600760008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051611f36919061292f565b60405180910390a3600190509392505050565b60055481111580611fa35750600a60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b611fe2576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611fd9906133df565b60405180910390fd5b5050565b6000601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141580156120535750601960009054906101000a900460ff16155b801561206b5750601760009054906101000a900460ff165b80156120b85750601854600760003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410155b905090565b6001601960006101000a81548160ff02191690831515021790555060006120e330610e68565b905060006121236002612115600f54612107600b5487611cb190919063ffffffff16565b611d2c90919063ffffffff16565b611d2c90919063ffffffff16565b9050600061213a8284611ac790919063ffffffff16565b90506000600267ffffffffffffffff811115612159576121586133ff565b5b6040519080825280602002602001820160405280156121875781602001602082028036833780820191505090505b509050308160008151811061219f5761219e61342e565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16816001815181106122105761220f61342e565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250506000479050601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478460008530426040518663ffffffff1660e01b81526004016122b3959493929190613556565b600060405180830381600087803b1580156122cd57600080fd5b505af11580156122e1573d6000803e3d6000fd5b5050505060006122fa8247611ac790919063ffffffff16565b905060006123286123176002600b54611d2c90919063ffffffff16565b600f54611ac790919063ffffffff16565b9050600061235382612345600c5486611cb190919063ffffffff16565b611d2c90919063ffffffff16565b9050600061237e83612370600d5487611cb190919063ffffffff16565b611d2c90919063ffffffff16565b905060006123a98461239b600e5488611cb190919063ffffffff16565b611d2c90919063ffffffff16565b90506000601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1683617530906040516123f7906135e1565b600060405180830381858888f193505050503d8060008114612435576040519150601f19603f3d011682016040523d82523d6000602084013e61243a565b606091505b505090508061247e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161247590613642565b60405180910390fd5b6000601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1683617530906040516124ca906135e1565b600060405180830381858888f193505050503d8060008114612508576040519150601f19603f3d011682016040523d82523d6000602084013e61250d565b606091505b5050905080612551576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161254890613642565b60405180910390fd5b6000601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16866175309060405161259d906135e1565b600060405180830381858888f193505050503d80600081146125db576040519150601f19603f3d011682016040523d82523d6000602084013e6125e0565b606091505b5050905080612624576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161261b90613642565b60405180910390fd5b505050505050505050505050506000601960006101000a81548160ff021916908315150217905550565b6000806016541415905090565b43601681905550565b6000600960008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16806127075750600960008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b15905092915050565b600080612792601054612784612775601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168873ffffffffffffffffffffffffffffffffffffffff16146112f5565b86611cb190919063ffffffff16565b611d2c90919063ffffffff16565b90506127e681600760003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611b8f90919063ffffffff16565b600760003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055503073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051612886919061292f565b60405180910390a36128a18184611ac790919063ffffffff16565b9150509392505050565b600033905090565b600080831182906128fa576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016128f191906129e3565b60405180910390fd5b50600083856129099190612eb0565b9050809150509392505050565b6000819050919050565b61292981612916565b82525050565b60006020820190506129446000830184612920565b92915050565b600081519050919050565b600082825260208201905092915050565b60005b83811015612984578082015181840152602081019050612969565b83811115612993576000848401525b50505050565b6000601f19601f8301169050919050565b60006129b58261294a565b6129bf8185612955565b93506129cf818560208601612966565b6129d881612999565b840191505092915050565b600060208201905081810360008301526129fd81846129aa565b905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000612a3582612a0a565b9050919050565b612a4581612a2a565b8114612a5057600080fd5b50565b600081359050612a6281612a3c565b92915050565b612a7181612916565b8114612a7c57600080fd5b50565b600081359050612a8e81612a68565b92915050565b60008060408385031215612aab57612aaa612a05565b5b6000612ab985828601612a53565b9250506020612aca85828601612a7f565b9150509250929050565b60008115159050919050565b612ae981612ad4565b82525050565b6000602082019050612b046000830184612ae0565b92915050565b60008060408385031215612b2157612b20612a05565b5b6000612b2f85828601612a7f565b9250506020612b4085828601612a7f565b9150509250929050565b600080600060608486031215612b6357612b62612a05565b5b6000612b7186828701612a53565b9350506020612b8286828701612a53565b9250506040612b9386828701612a7f565b9150509250925092565b600060ff82169050919050565b612bb381612b9d565b82525050565b6000602082019050612bce6000830184612baa565b92915050565b600060208284031215612bea57612be9612a05565b5b6000612bf884828501612a53565b91505092915050565b600060208284031215612c1757612c16612a05565b5b6000612c2584828501612a7f565b91505092915050565b612c3781612ad4565b8114612c4257600080fd5b50565b600081359050612c5481612c2e565b92915050565b60008060408385031215612c7157612c70612a05565b5b6000612c7f85828601612a53565b9250506020612c9085828601612c45565b9150509250929050565b60008060008060808587031215612cb457612cb3612a05565b5b6000612cc287828801612a7f565b9450506020612cd387828801612a7f565b9350506040612ce487828801612a7f565b9250506060612cf587828801612a7f565b91505092959194509250565b612d0a81612a2a565b82525050565b6000602082019050612d256000830184612d01565b92915050565b60008060408385031215612d4257612d41612a05565b5b6000612d5085828601612a53565b9250506020612d6185828601612a53565b9150509250929050565b60008060408385031215612d8257612d81612a05565b5b6000612d9085828601612c45565b9250506020612da185828601612a7f565b9150509250929050565b600060208284031215612dc157612dc0612a05565b5b6000612dcf84828501612c45565b91505092915050565b6000819050919050565b6000612dfd612df8612df384612a0a565b612dd8565b612a0a565b9050919050565b6000612e0f82612de2565b9050919050565b6000612e2182612e04565b9050919050565b612e3181612e16565b82525050565b6000602082019050612e4c6000830184612e28565b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000612ebb82612916565b9150612ec683612916565b925082612ed657612ed5612e52565b5b828204905092915050565b7f43616e2774206c657420796f752074616b6520616c6c206e617469766520746f60008201527f6b656e0000000000000000000000000000000000000000000000000000000000602082015250565b6000612f3d602383612955565b9150612f4882612ee1565b604082019050919050565b60006020820190508181036000830152612f6c81612f30565b9050919050565b600081519050612f8281612a68565b92915050565b600060208284031215612f9e57612f9d612a05565b5b6000612fac84828501612f73565b91505092915050565b6000612fc082612916565b9150612fcb83612916565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0382111561300057612fff612e81565b5b828201905092915050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b6000613067602683612955565b91506130728261300b565b604082019050919050565b600060208201905081810360008301526130968161305a565b9050919050565b60006130a882612916565b91506130b383612916565b9250828210156130c6576130c5612e81565b5b828203905092915050565b7f54726164696e67206973206e6f7420616374697665207965742e000000000000600082015250565b6000613107601a83612955565b9150613112826130d1565b602082019050919050565b60006020820190508181036000830152613136816130fa565b9050919050565b7f5472616e7366657220616d6f756e74206578636565647320746865206261672060008201527f73697a652e000000000000000000000000000000000000000000000000000000602082015250565b6000613199602583612955565b91506131a48261313d565b604082019050919050565b600060208201905081810360008301526131c88161318c565b9050919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b6000613205602083612955565b9150613210826131cf565b602082019050919050565b60006020820190508181036000830152613234816131f8565b9050919050565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b6000613271601b83612955565b915061327c8261323b565b602082019050919050565b600060208201905081810360008301526132a081613264565b9050919050565b60006132b282612916565b91506132bd83612916565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff04831182151516156132f6576132f5612e81565b5b828202905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b600061335d602183612955565b915061336882613301565b604082019050919050565b6000602082019050818103600083015261338c81613350565b9050919050565b7f5458204c696d6974204578636565646564000000000000000000000000000000600082015250565b60006133c9601183612955565b91506133d482613393565b602082019050919050565b600060208201905081810360008301526133f8816133bc565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b6000819050919050565b600061348261347d6134788461345d565b612dd8565b612916565b9050919050565b61349281613467565b82525050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b6134cd81612a2a565b82525050565b60006134df83836134c4565b60208301905092915050565b6000602082019050919050565b600061350382613498565b61350d81856134a3565b9350613518836134b4565b8060005b8381101561354957815161353088826134d3565b975061353b836134eb565b92505060018101905061351c565b5085935050505092915050565b600060a08201905061356b6000830188612920565b6135786020830187613489565b818103604083015261358a81866134f8565b90506135996060830185612d01565b6135a66080830184612920565b9695505050505050565b600081905092915050565b50565b60006135cb6000836135b0565b91506135d6826135bb565b600082019050919050565b60006135ec826135be565b9150819050919050565b7f72656365697665722072656a656374656420455448207472616e736665720000600082015250565b600061362c601e83612955565b9150613637826135f6565b602082019050919050565b6000602082019050818103600083015261365b8161361f565b905091905056fea264697066735822122089a04b7a4ac27e136ef62307a8b50a2a857c92f72da886fc2de4965e8e1321ec64736f6c634300080a0033
Deployed Bytecode Sourcemap
12665:11172:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14121:54;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;15169:80;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;15592:216;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;23616:150;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;14899:88;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;16110:370;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;23291:142;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;14993:80;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13397:44;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;15816:122;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;21483:146;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;21636:151;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;21799:121;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;14042:30;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;22065:332;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;15340:105;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2940:103;;;;;;;;;;;;;:::i;:::-;;13122:54;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;15263:71;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;18512:85;;;;;;;;;;;;;:::i;:::-;;13448:48;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2699:87;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13197:56;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;15079:84;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13980:19;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;15946:156;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;14079:33;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;14008:25;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;23441:167;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;22977:298;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;15451:133;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;22623:157;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;22405:210;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;18279:225;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3055:201;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;22788:181;;;;;;;;;;;;;:::i;:::-;;21928:129;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;13941:32;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;14121:54;;;;:::o;15169:80::-;15217:13;15241:5;;;;;;;;;;;;;;;;;15234:12;;15169:80;:::o;15592:216::-;15667:4;15719:6;15684:11;:23;15696:10;15684:23;;;;;;;;;;;;;;;:32;15708:7;15684:32;;;;;;;;;;;;;;;:41;;;;15762:7;15741:37;;15750:10;15741:37;;;15771:6;15741:37;;;;;;:::i;:::-;;;;;;;;15796:4;15789:11;;15592:216;;;;:::o;23616:150::-;23696:4;23752:6;23720:29;23740:8;23720:19;:29::i;:::-;:38;23713:45;;23616:150;;;;:::o;14899:88::-;14954:7;14972:12;;14965:19;;14899:88;:::o;16110:370::-;16210:4;16265:17;16230:11;:19;16242:6;16230:19;;;;;;;;;;;;;;;:31;16250:10;16230:31;;;;;;;;;;;;;;;;:52;16227:186;;16332:69;16368:6;16332:69;;;;;;;;;;;;;;;;;:11;:19;16344:6;16332:19;;;;;;;;;;;;;;;:31;16352:10;16332:31;;;;;;;;;;;;;;;;:35;;:69;;;;;:::i;:::-;16298:11;:19;16310:6;16298:19;;;;;;;;;;;;;;;:31;16318:10;16298:31;;;;;;;;;;;;;;;:103;;;;16227:186;16432:40;16446:6;16454:9;16465:6;16432:13;:40::i;:::-;16425:47;;16110:370;;;;;:::o;23291:142::-;23344:7;23371:54;23409:15;23419:4;;;;;;;;;;;23409:9;:15::i;:::-;23371:33;23388:15;23398:4;;;;;;;;;;;23388:9;:15::i;:::-;23371:12;;:16;;:33;;;;:::i;:::-;:37;;:54;;;;:::i;:::-;23364:61;;23291:142;:::o;14993:80::-;15045:5;13051:2;15054:16;;14993:80;:::o;13397:44::-;;;;;;;;;;;;;;;;;;;;;;:::o;15816:122::-;15871:4;15895:35;15903:7;15912:17;15895:7;:35::i;:::-;15888:42;;15816:122;;;:::o;21483:146::-;2656:13;:11;:13::i;:::-;21584:4:::1;21569:12;;:19;;;;:::i;:::-;21559:6;:29;;21551:38;;;::::0;::::1;;21615:6;21600:12;:21;;;;21483:146:::0;:::o;21636:151::-;2656:13;:11;:13::i;:::-;21739:4:::1;21724:12;;:19;;;;:::i;:::-;21714:6;:29;;21706:39;;;::::0;::::1;;21773:6;21756:14;:23;;;;21636:151:::0;:::o;21799:121::-;2656:13;:11;:13::i;:::-;21906:6:::1;21884:11;:19;21896:6;21884:19;;;;;;;;;;;;;;;;:28;;;;;;;;;;;;;;;;;;21799:121:::0;;:::o;14042:30::-;;;;;;;;;;;;;:::o;22065:332::-;2656:13;:11;:13::i;:::-;22209:8:::1;22199:7;:18;;;;22243:13;22228:12;:28;;;;22276:7;22267:6;:16;;;;22306:40;22332:13;22306:21;22318:8;22306:7;:11;;:21;;;;:::i;:::-;:25;;:40;;;;:::i;:::-;22295:8;:51;;;;22374:15;22357:14;:32;;;;22065:332:::0;;;;:::o;15340:105::-;15406:7;15424:9;:18;15434:7;15424:18;;;;;;;;;;;;;;;;15417:25;;15340:105;;;:::o;2940:103::-;2656:13;:11;:13::i;:::-;3005:30:::1;3032:1;3005:18;:30::i;:::-;2940:103::o:0;13122:54::-;;;;:::o;15263:71::-;15306:7;15324;:5;:7::i;:::-;15317:14;;15263:71;:::o;18512:85::-;2656:13;:11;:13::i;:::-;18585:4:::1;18569:13;;:20;;;;;;;;;;;;;;;;;;18512:85::o:0;13448:48::-;;;;;;;;;;;;;;;;;;;;;;:::o;2699:87::-;2745:7;2772:6;;;;;;;;;;;2765:13;;2699:87;:::o;13197:56::-;;;;:::o;15079:84::-;15129:13;15153:7;;;;;;;;;;;;;;;;;15146:14;;15079:84;:::o;13980:19::-;;;;;;;;;;;;;:::o;15946:156::-;16026:4;16050:44;16064:10;16076:9;16087:6;16050:13;:44::i;:::-;16043:51;;15946:156;;;;:::o;14079:33::-;;;;;;;;;;;;;:::o;14008:25::-;;;;:::o;23441:167::-;23509:7;23536:64;23577:22;:20;:22::i;:::-;23536:36;23549:22;23569:1;23549:15;23559:4;;;;;;;;;;;23549:9;:15::i;:::-;:19;;:22;;;;:::i;:::-;23536:8;:12;;:36;;;;:::i;:::-;:40;;:64;;;;:::i;:::-;23529:71;;23441:167;;;:::o;22977:298::-;2656:13;:11;:13::i;:::-;23079:4:::1;23061:23;;:6;:23;;;;23053:71;;;;;;;;;;;;:::i;:::-;;;;;;;;;23135:24;23168:6;23162:23;;;23194:4;23162:38;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;23135:65;;23219:20;;;;;;;;;;;23211:38;;:56;23250:16;23211:56;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;23042:233;22977:298:::0;:::o;15451:133::-;15535:7;15553:11;:19;15565:6;15553:19;;;;;;;;;;;;;;;:28;15573:7;15553:28;;;;;;;;;;;;;;;;15546:35;;15451:133;;;;:::o;22623:157::-;2656:13;:11;:13::i;:::-;22730:8:::1;22716:11;;:22;;;;;;;;;;;;;;;;;;22765:7;22749:13;:23;;;;22623:157:::0;;:::o;22405:210::-;2656:13;:11;:13::i;:::-;22541:21:::1;22518:20;;:44;;;;;;;;;;;;;;;;;;22591:16;22573:15;;:34;;;;;;;;;;;;;;;;;;22405:210:::0;;:::o;18279:225::-;18335:7;18376:12;18371:1;18358:10;;:14;;;;:::i;:::-;:30;18355:67;;18398:21;18417:1;18398:14;;:18;;:21;;;;:::i;:::-;18391:28;;;;18355:67;18435:7;18432:39;;;18453:15;18466:1;18453:8;;:12;;:15;;;;:::i;:::-;18446:22;;;;18432:39;18488:8;;18481:15;;18279:225;;;;:::o;3055:201::-;2656:13;:11;:13::i;:::-;3164:1:::1;3144:22;;:8;:22;;;;3136:73;;;;;;;;;;;;:::i;:::-;;;;;;;;;3220:28;3239:8;3220:18;:28::i;:::-;3055:201:::0;:::o;22788:181::-;2656:13;:11;:13::i;:::-;22842:26:::1;22871:21;22842:50;;22911:20;;;;;;;;;;;22903:38;;:58;22942:18;22903:58;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;22831:138;22788:181::o:0;21928:129::-;2656:13;:11;:13::i;:::-;22043:6:::1;22017:15;:23;22033:6;22017:23;;;;;;;;;;;;;;;;:32;;;;;;;;;;;;;;;;;;21928:129:::0;;:::o;13941:32::-;;;;;;;;;;;;;:::o;422:192::-;508:7;541:1;536;:6;;544:12;528:29;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;568:9;584:1;580;:5;;;;:::i;:::-;568:17;;605:1;598:8;;;422:192;;;;;:::o;16488:1094::-;16580:4;16600:6;;;;;;;;;;;16597:63;;;16616:41;16631:6;16639:9;16650:6;16616:14;:41::i;:::-;16609:48;;;;16597:63;16676:13;;;;;;;;;;;16672:129;;16713:11;:19;16725:6;16713:19;;;;;;;;;;;;;;;;;;;;;;;;;:45;;;;16736:11;:22;16748:9;16736:22;;;;;;;;;;;;;;;;;;;;;;;;;16713:45;16705:84;;;;;;;;;;;;:::i;:::-;;;;;;;;;16672:129;16821:28;16834:6;16842;16821:12;:28::i;:::-;16887:4;;;;;;;;;;;16874:17;;:9;:17;;;;:38;;;;;16908:4;;;;;;;;;;;16895:17;;:9;:17;;;;16874:38;16870:198;;;16937:15;:26;16953:9;16937:26;;;;;;;;;;;;;;;;;;;;;;;;;:77;;;;17000:14;;16990:6;16967:9;:20;16977:9;16967:20;;;;;;;;;;;;;;;;:29;;;;:::i;:::-;:47;;16937:77;16929:127;;;;;;;;;;;;:::i;:::-;;;;;;;;;16870:198;17091:16;:14;:16::i;:::-;17088:35;;;17110:10;:8;:10::i;:::-;17088:35;17139:10;:8;:10::i;:::-;17138:11;:32;;;;;17166:4;;;;;;;;;;;17153:17;;:9;:17;;;17138:32;17135:81;;;17201:1;17181:9;:17;17191:6;17181:17;;;;;;;;;;;;;;;;:21;17173:30;;;;;;17205:8;:6;:8::i;:::-;17135:81;17248:53;17270:6;17248:53;;;;;;;;;;;;;;;;;:9;:17;17258:6;17248:17;;;;;;;;;;;;;;;;:21;;:53;;;;;:::i;:::-;17228:9;:17;17238:6;17228:17;;;;;;;;;;;;;;;:73;;;;17314:22;17339:32;17353:6;17361:9;17339:13;:32::i;:::-;:78;;17411:6;17339:78;;;17374:34;17382:6;17390:9;17401:6;17374:7;:34::i;:::-;17339:78;17314:103;;17451:40;17476:14;17451:9;:20;17461:9;17451:20;;;;;;;;;;;;;;;;:24;;:40;;;;:::i;:::-;17428:9;:20;17438:9;17428:20;;;;;;;;;;;;;;;:63;;;;17526:9;17509:43;;17518:6;17509:43;;;17537:14;17509:43;;;;;;:::i;:::-;;;;;;;;17570:4;17563:11;;;16488:1094;;;;;;:::o;280:136::-;338:7;365:43;369:1;372;365:43;;;;;;;;;;;;;;;;;:3;:43::i;:::-;358:50;;280:136;;;;:::o;2798:132::-;2873:12;:10;:12::i;:::-;2862:23;;:7;:5;:7::i;:::-;:23;;;2854:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;2798:132::o;93:181::-;151:7;171:9;187:1;183;:5;;;;:::i;:::-;171:17;;212:1;207;:6;;199:46;;;;;;;;;;;;:::i;:::-;;;;;;;;;265:1;258:8;;;93:181;;;;:::o;3266:191::-;3340:16;3359:6;;;;;;;;;;;3340:25;;3385:8;3376:6;;:17;;;;;;;;;;;;;;;;;;3440:8;3409:40;;3430:8;3409:40;;;;;;;;;;;;3329:128;3266:191;:::o;620:250::-;678:7;707:1;702;:6;698:47;;;732:1;725:8;;;;698:47;757:9;773:1;769;:5;;;;:::i;:::-;757:17;;802:1;797;793;:5;;;;:::i;:::-;:10;785:56;;;;;;;;;;;;:::i;:::-;;;;;;;;;861:1;854:8;;;620:250;;;;;:::o;876:132::-;934:7;961:39;965:1;968;961:39;;;;;;;;;;;;;;;;;:3;:39::i;:::-;954:46;;876:132;;;;:::o;17594:330::-;17687:4;17724:53;17746:6;17724:53;;;;;;;;;;;;;;;;;:9;:17;17734:6;17724:17;;;;;;;;;;;;;;;;:21;;:53;;;;;:::i;:::-;17704:9;:17;17714:6;17704:17;;;;;;;;;;;;;;;:73;;;;17811:32;17836:6;17811:9;:20;17821:9;17811:20;;;;;;;;;;;;;;;;:24;;:32;;;;:::i;:::-;17788:9;:20;17798:9;17788:20;;;;;;;;;;;;;;;:55;;;;17876:9;17859:35;;17868:6;17859:35;;;17887:6;17859:35;;;;;;:::i;:::-;;;;;;;;17912:4;17905:11;;17594:330;;;;;:::o;17932:166::-;18029:12;;18019:6;:22;;:49;;;;18045:15;:23;18061:6;18045:23;;;;;;;;;;;;;;;;;;;;;;;;;18019:49;18011:79;;;;;;;;;;;;:::i;:::-;;;;;;;;;17932:166;;:::o;18985:197::-;19034:4;19072;;;;;;;;;;;19058:18;;:10;:18;;;;:38;;;;;19090:6;;;;;;;;;;;19089:7;19058:38;:62;;;;;19109:11;;;;;;;;;;;19058:62;:116;;;;;19161:13;;19133:9;:24;19151:4;19133:24;;;;;;;;;;;;;;;;:41;;19058:116;19051:123;;18985:197;:::o;19190:1739::-;14238:4;14229:6;;:13;;;;;;;;;;;;;;;;;;19239:28:::1;19270:24;19288:4;19270:9;:24::i;:::-;19239:55;;19305:23;19331:59;19388:1;19331:52;19374:8;;19331:38;19356:12;;19331:20;:24;;:38;;;;:::i;:::-;:42;;:52;;;;:::i;:::-;:56;;:59;;;;:::i;:::-;19305:85;;19401:20;19424:41;19449:15;19424:20;:24;;:41;;;;:::i;:::-;19401:64;;19478:21;19516:1;19502:16;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;19478:40;;19547:4;19529;19534:1;19529:7;;;;;;;;:::i;:::-;;;;;;;:23;;;;;;;;;::::0;::::1;19573:4;;;;;;;;;;;19563;19568:1;19563:7;;;;;;;;:::i;:::-;;;;;;;:14;;;;;;;;;::::0;::::1;19590:21;19614;19590:45;;19648:6;;;;;;;;;;;:57;;;19720:12;19747:1;19763:4;19790;19810:15;19648:188;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;19847:17;19867:40;19893:13;19867:21;:25;;:40;;;;:::i;:::-;19847:60;;19918:19;19940:33;19953:19;19970:1;19953:12;;:16;;:19;;;;:::i;:::-;19940:8;;:12;;:33;;;;:::i;:::-;19918:55;;20077:28;20108:39;20135:11;20108:22;20122:7;;20108:9;:13;;:22;;;;:::i;:::-;:26;;:39;;;;:::i;:::-;20077:70;;20158:26;20187:44;20219:11;20187:27;20201:12;;20187:9;:13;;:27;;;;:::i;:::-;:31;;:44;;;;:::i;:::-;20158:73;;20242:20;20265:38;20291:11;20265:21;20279:6;;20265:9;:13;;:21;;;;:::i;:::-;:25;;:38;;;;:::i;:::-;20242:61;;20321:21;20379:20;;;;;;;;;;;20371:34;;20413:18;20438:5;20371:77;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;20320:128;;;20467:16;20459:59;;;;;;;;;;;;:::i;:::-;;;;;;;;;20532:15;20584:14;;;;;;;;;;;20576:28;;20612:12;20631:5;20576:65;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;20531:110;;;20660:10;20652:53;;;;;;;;;;;;:::i;:::-;;;;;;;;;20719:23;20779:15;;;;;;;;;;;20771:29;;20808:20;20835:5;20771:74;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;20718:127;;;20864:18;20856:61;;;;;;;;;;;;:::i;:::-;;;;;;;;;19228:1701;;;;;;;;;;;;;14256:5:::0;14247:6;;:14;;;;;;;;;;;;;;;;;;19190:1739::o;21306:90::-;21349:4;21387:1;21373:10;;:15;;21366:22;;21306:90;:::o;21404:71::-;21455:12;21442:10;:25;;;;21404:71::o;18110:161::-;18191:4;18217:11;:19;18229:6;18217:19;;;;;;;;;;;;;;;;;;;;;;;;;:45;;;;18240:11;:22;18252:9;18240:22;;;;;;;;;;;;;;;;;;;;;;;;;18217:45;18215:48;18208:55;;18110:161;;;;:::o;18605:372::-;18690:7;18710:17;18730:61;18776:14;;18730:41;18741:29;18765:4;;;;;;;;;;;18753:16;;:8;:16;;;18741:11;:29::i;:::-;18730:6;:10;;:41;;;;:::i;:::-;:45;;:61;;;;:::i;:::-;18710:81;;18831:39;18860:9;18831;:24;18849:4;18831:24;;;;;;;;;;;;;;;;:28;;:39;;;;:::i;:::-;18804:9;:24;18822:4;18804:24;;;;;;;;;;;;;;;:66;;;;18911:4;18886:42;;18895:6;18886:42;;;18918:9;18886:42;;;;;;:::i;:::-;;;;;;;;18948:21;18959:9;18948:6;:10;;:21;;;;:::i;:::-;18941:28;;;18605:372;;;;;:::o;2160:98::-;2213:7;2240:10;2233:17;;2160:98;:::o;1014:191::-;1100:7;1132:1;1128;:5;1135:12;1120:28;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;1159:9;1175:1;1171;:5;;;;:::i;:::-;1159:17;;1196:1;1189:8;;;1014:191;;;;;:::o;7:77:1:-;44:7;73:5;62:16;;7:77;;;:::o;90:118::-;177:24;195:5;177:24;:::i;:::-;172:3;165:37;90:118;;:::o;214:222::-;307:4;345:2;334:9;330:18;322:26;;358:71;426:1;415:9;411:17;402:6;358:71;:::i;:::-;214:222;;;;:::o;442:99::-;494:6;528:5;522:12;512:22;;442:99;;;:::o;547:169::-;631:11;665:6;660:3;653:19;705:4;700:3;696:14;681:29;;547:169;;;;:::o;722:307::-;790:1;800:113;814:6;811:1;808:13;800:113;;;899:1;894:3;890:11;884:18;880:1;875:3;871:11;864:39;836:2;833:1;829:10;824:15;;800:113;;;931:6;928:1;925:13;922:101;;;1011:1;1002:6;997:3;993:16;986:27;922:101;771:258;722:307;;;:::o;1035:102::-;1076:6;1127:2;1123:7;1118:2;1111:5;1107:14;1103:28;1093:38;;1035:102;;;:::o;1143:364::-;1231:3;1259:39;1292:5;1259:39;:::i;:::-;1314:71;1378:6;1373:3;1314:71;:::i;:::-;1307:78;;1394:52;1439:6;1434:3;1427:4;1420:5;1416:16;1394:52;:::i;:::-;1471:29;1493:6;1471:29;:::i;:::-;1466:3;1462:39;1455:46;;1235:272;1143:364;;;;:::o;1513:313::-;1626:4;1664:2;1653:9;1649:18;1641:26;;1713:9;1707:4;1703:20;1699:1;1688:9;1684:17;1677:47;1741:78;1814:4;1805:6;1741:78;:::i;:::-;1733:86;;1513:313;;;;:::o;1913:117::-;2022:1;2019;2012:12;2159:126;2196:7;2236:42;2229:5;2225:54;2214:65;;2159:126;;;:::o;2291:96::-;2328:7;2357:24;2375:5;2357:24;:::i;:::-;2346:35;;2291:96;;;:::o;2393:122::-;2466:24;2484:5;2466:24;:::i;:::-;2459:5;2456:35;2446:63;;2505:1;2502;2495:12;2446:63;2393:122;:::o;2521:139::-;2567:5;2605:6;2592:20;2583:29;;2621:33;2648:5;2621:33;:::i;:::-;2521:139;;;;:::o;2666:122::-;2739:24;2757:5;2739:24;:::i;:::-;2732:5;2729:35;2719:63;;2778:1;2775;2768:12;2719:63;2666:122;:::o;2794:139::-;2840:5;2878:6;2865:20;2856:29;;2894:33;2921:5;2894:33;:::i;:::-;2794:139;;;;:::o;2939:474::-;3007:6;3015;3064:2;3052:9;3043:7;3039:23;3035:32;3032:119;;;3070:79;;:::i;:::-;3032:119;3190:1;3215:53;3260:7;3251:6;3240:9;3236:22;3215:53;:::i;:::-;3205:63;;3161:117;3317:2;3343:53;3388:7;3379:6;3368:9;3364:22;3343:53;:::i;:::-;3333:63;;3288:118;2939:474;;;;;:::o;3419:90::-;3453:7;3496:5;3489:13;3482:21;3471:32;;3419:90;;;:::o;3515:109::-;3596:21;3611:5;3596:21;:::i;:::-;3591:3;3584:34;3515:109;;:::o;3630:210::-;3717:4;3755:2;3744:9;3740:18;3732:26;;3768:65;3830:1;3819:9;3815:17;3806:6;3768:65;:::i;:::-;3630:210;;;;:::o;3846:474::-;3914:6;3922;3971:2;3959:9;3950:7;3946:23;3942:32;3939:119;;;3977:79;;:::i;:::-;3939:119;4097:1;4122:53;4167:7;4158:6;4147:9;4143:22;4122:53;:::i;:::-;4112:63;;4068:117;4224:2;4250:53;4295:7;4286:6;4275:9;4271:22;4250:53;:::i;:::-;4240:63;;4195:118;3846:474;;;;;:::o;4326:619::-;4403:6;4411;4419;4468:2;4456:9;4447:7;4443:23;4439:32;4436:119;;;4474:79;;:::i;:::-;4436:119;4594:1;4619:53;4664:7;4655:6;4644:9;4640:22;4619:53;:::i;:::-;4609:63;;4565:117;4721:2;4747:53;4792:7;4783:6;4772:9;4768:22;4747:53;:::i;:::-;4737:63;;4692:118;4849:2;4875:53;4920:7;4911:6;4900:9;4896:22;4875:53;:::i;:::-;4865:63;;4820:118;4326:619;;;;;:::o;4951:86::-;4986:7;5026:4;5019:5;5015:16;5004:27;;4951:86;;;:::o;5043:112::-;5126:22;5142:5;5126:22;:::i;:::-;5121:3;5114:35;5043:112;;:::o;5161:214::-;5250:4;5288:2;5277:9;5273:18;5265:26;;5301:67;5365:1;5354:9;5350:17;5341:6;5301:67;:::i;:::-;5161:214;;;;:::o;5381:329::-;5440:6;5489:2;5477:9;5468:7;5464:23;5460:32;5457:119;;;5495:79;;:::i;:::-;5457:119;5615:1;5640:53;5685:7;5676:6;5665:9;5661:22;5640:53;:::i;:::-;5630:63;;5586:117;5381:329;;;;:::o;5716:::-;5775:6;5824:2;5812:9;5803:7;5799:23;5795:32;5792:119;;;5830:79;;:::i;:::-;5792:119;5950:1;5975:53;6020:7;6011:6;6000:9;5996:22;5975:53;:::i;:::-;5965:63;;5921:117;5716:329;;;;:::o;6051:116::-;6121:21;6136:5;6121:21;:::i;:::-;6114:5;6111:32;6101:60;;6157:1;6154;6147:12;6101:60;6051:116;:::o;6173:133::-;6216:5;6254:6;6241:20;6232:29;;6270:30;6294:5;6270:30;:::i;:::-;6173:133;;;;:::o;6312:468::-;6377:6;6385;6434:2;6422:9;6413:7;6409:23;6405:32;6402:119;;;6440:79;;:::i;:::-;6402:119;6560:1;6585:53;6630:7;6621:6;6610:9;6606:22;6585:53;:::i;:::-;6575:63;;6531:117;6687:2;6713:50;6755:7;6746:6;6735:9;6731:22;6713:50;:::i;:::-;6703:60;;6658:115;6312:468;;;;;:::o;6786:765::-;6872:6;6880;6888;6896;6945:3;6933:9;6924:7;6920:23;6916:33;6913:120;;;6952:79;;:::i;:::-;6913:120;7072:1;7097:53;7142:7;7133:6;7122:9;7118:22;7097:53;:::i;:::-;7087:63;;7043:117;7199:2;7225:53;7270:7;7261:6;7250:9;7246:22;7225:53;:::i;:::-;7215:63;;7170:118;7327:2;7353:53;7398:7;7389:6;7378:9;7374:22;7353:53;:::i;:::-;7343:63;;7298:118;7455:2;7481:53;7526:7;7517:6;7506:9;7502:22;7481:53;:::i;:::-;7471:63;;7426:118;6786:765;;;;;;;:::o;7557:118::-;7644:24;7662:5;7644:24;:::i;:::-;7639:3;7632:37;7557:118;;:::o;7681:222::-;7774:4;7812:2;7801:9;7797:18;7789:26;;7825:71;7893:1;7882:9;7878:17;7869:6;7825:71;:::i;:::-;7681:222;;;;:::o;7909:474::-;7977:6;7985;8034:2;8022:9;8013:7;8009:23;8005:32;8002:119;;;8040:79;;:::i;:::-;8002:119;8160:1;8185:53;8230:7;8221:6;8210:9;8206:22;8185:53;:::i;:::-;8175:63;;8131:117;8287:2;8313:53;8358:7;8349:6;8338:9;8334:22;8313:53;:::i;:::-;8303:63;;8258:118;7909:474;;;;;:::o;8389:468::-;8454:6;8462;8511:2;8499:9;8490:7;8486:23;8482:32;8479:119;;;8517:79;;:::i;:::-;8479:119;8637:1;8662:50;8704:7;8695:6;8684:9;8680:22;8662:50;:::i;:::-;8652:60;;8608:114;8761:2;8787:53;8832:7;8823:6;8812:9;8808:22;8787:53;:::i;:::-;8777:63;;8732:118;8389:468;;;;;:::o;8863:323::-;8919:6;8968:2;8956:9;8947:7;8943:23;8939:32;8936:119;;;8974:79;;:::i;:::-;8936:119;9094:1;9119:50;9161:7;9152:6;9141:9;9137:22;9119:50;:::i;:::-;9109:60;;9065:114;8863:323;;;;:::o;9192:60::-;9220:3;9241:5;9234:12;;9192:60;;;:::o;9258:142::-;9308:9;9341:53;9359:34;9368:24;9386:5;9368:24;:::i;:::-;9359:34;:::i;:::-;9341:53;:::i;:::-;9328:66;;9258:142;;;:::o;9406:126::-;9456:9;9489:37;9520:5;9489:37;:::i;:::-;9476:50;;9406:126;;;:::o;9538:153::-;9615:9;9648:37;9679:5;9648:37;:::i;:::-;9635:50;;9538:153;;;:::o;9697:185::-;9811:64;9869:5;9811:64;:::i;:::-;9806:3;9799:77;9697:185;;:::o;9888:276::-;10008:4;10046:2;10035:9;10031:18;10023:26;;10059:98;10154:1;10143:9;10139:17;10130:6;10059:98;:::i;:::-;9888:276;;;;:::o;10170:180::-;10218:77;10215:1;10208:88;10315:4;10312:1;10305:15;10339:4;10336:1;10329:15;10356:180;10404:77;10401:1;10394:88;10501:4;10498:1;10491:15;10525:4;10522:1;10515:15;10542:185;10582:1;10599:20;10617:1;10599:20;:::i;:::-;10594:25;;10633:20;10651:1;10633:20;:::i;:::-;10628:25;;10672:1;10662:35;;10677:18;;:::i;:::-;10662:35;10719:1;10716;10712:9;10707:14;;10542:185;;;;:::o;10733:222::-;10873:34;10869:1;10861:6;10857:14;10850:58;10942:5;10937:2;10929:6;10925:15;10918:30;10733:222;:::o;10961:366::-;11103:3;11124:67;11188:2;11183:3;11124:67;:::i;:::-;11117:74;;11200:93;11289:3;11200:93;:::i;:::-;11318:2;11313:3;11309:12;11302:19;;10961:366;;;:::o;11333:419::-;11499:4;11537:2;11526:9;11522:18;11514:26;;11586:9;11580:4;11576:20;11572:1;11561:9;11557:17;11550:47;11614:131;11740:4;11614:131;:::i;:::-;11606:139;;11333:419;;;:::o;11758:143::-;11815:5;11846:6;11840:13;11831:22;;11862:33;11889:5;11862:33;:::i;:::-;11758:143;;;;:::o;11907:351::-;11977:6;12026:2;12014:9;12005:7;12001:23;11997:32;11994:119;;;12032:79;;:::i;:::-;11994:119;12152:1;12177:64;12233:7;12224:6;12213:9;12209:22;12177:64;:::i;:::-;12167:74;;12123:128;11907:351;;;;:::o;12264:305::-;12304:3;12323:20;12341:1;12323:20;:::i;:::-;12318:25;;12357:20;12375:1;12357:20;:::i;:::-;12352:25;;12511:1;12443:66;12439:74;12436:1;12433:81;12430:107;;;12517:18;;:::i;:::-;12430:107;12561:1;12558;12554:9;12547:16;;12264:305;;;;:::o;12575:225::-;12715:34;12711:1;12703:6;12699:14;12692:58;12784:8;12779:2;12771:6;12767:15;12760:33;12575:225;:::o;12806:366::-;12948:3;12969:67;13033:2;13028:3;12969:67;:::i;:::-;12962:74;;13045:93;13134:3;13045:93;:::i;:::-;13163:2;13158:3;13154:12;13147:19;;12806:366;;;:::o;13178:419::-;13344:4;13382:2;13371:9;13367:18;13359:26;;13431:9;13425:4;13421:20;13417:1;13406:9;13402:17;13395:47;13459:131;13585:4;13459:131;:::i;:::-;13451:139;;13178:419;;;:::o;13603:191::-;13643:4;13663:20;13681:1;13663:20;:::i;:::-;13658:25;;13697:20;13715:1;13697:20;:::i;:::-;13692:25;;13736:1;13733;13730:8;13727:34;;;13741:18;;:::i;:::-;13727:34;13786:1;13783;13779:9;13771:17;;13603:191;;;;:::o;13800:176::-;13940:28;13936:1;13928:6;13924:14;13917:52;13800:176;:::o;13982:366::-;14124:3;14145:67;14209:2;14204:3;14145:67;:::i;:::-;14138:74;;14221:93;14310:3;14221:93;:::i;:::-;14339:2;14334:3;14330:12;14323:19;;13982:366;;;:::o;14354:419::-;14520:4;14558:2;14547:9;14543:18;14535:26;;14607:9;14601:4;14597:20;14593:1;14582:9;14578:17;14571:47;14635:131;14761:4;14635:131;:::i;:::-;14627:139;;14354:419;;;:::o;14779:224::-;14919:34;14915:1;14907:6;14903:14;14896:58;14988:7;14983:2;14975:6;14971:15;14964:32;14779:224;:::o;15009:366::-;15151:3;15172:67;15236:2;15231:3;15172:67;:::i;:::-;15165:74;;15248:93;15337:3;15248:93;:::i;:::-;15366:2;15361:3;15357:12;15350:19;;15009:366;;;:::o;15381:419::-;15547:4;15585:2;15574:9;15570:18;15562:26;;15634:9;15628:4;15624:20;15620:1;15609:9;15605:17;15598:47;15662:131;15788:4;15662:131;:::i;:::-;15654:139;;15381:419;;;:::o;15806:182::-;15946:34;15942:1;15934:6;15930:14;15923:58;15806:182;:::o;15994:366::-;16136:3;16157:67;16221:2;16216:3;16157:67;:::i;:::-;16150:74;;16233:93;16322:3;16233:93;:::i;:::-;16351:2;16346:3;16342:12;16335:19;;15994:366;;;:::o;16366:419::-;16532:4;16570:2;16559:9;16555:18;16547:26;;16619:9;16613:4;16609:20;16605:1;16594:9;16590:17;16583:47;16647:131;16773:4;16647:131;:::i;:::-;16639:139;;16366:419;;;:::o;16791:177::-;16931:29;16927:1;16919:6;16915:14;16908:53;16791:177;:::o;16974:366::-;17116:3;17137:67;17201:2;17196:3;17137:67;:::i;:::-;17130:74;;17213:93;17302:3;17213:93;:::i;:::-;17331:2;17326:3;17322:12;17315:19;;16974:366;;;:::o;17346:419::-;17512:4;17550:2;17539:9;17535:18;17527:26;;17599:9;17593:4;17589:20;17585:1;17574:9;17570:17;17563:47;17627:131;17753:4;17627:131;:::i;:::-;17619:139;;17346:419;;;:::o;17771:348::-;17811:7;17834:20;17852:1;17834:20;:::i;:::-;17829:25;;17868:20;17886:1;17868:20;:::i;:::-;17863:25;;18056:1;17988:66;17984:74;17981:1;17978:81;17973:1;17966:9;17959:17;17955:105;17952:131;;;18063:18;;:::i;:::-;17952:131;18111:1;18108;18104:9;18093:20;;17771:348;;;;:::o;18125:220::-;18265:34;18261:1;18253:6;18249:14;18242:58;18334:3;18329:2;18321:6;18317:15;18310:28;18125:220;:::o;18351:366::-;18493:3;18514:67;18578:2;18573:3;18514:67;:::i;:::-;18507:74;;18590:93;18679:3;18590:93;:::i;:::-;18708:2;18703:3;18699:12;18692:19;;18351:366;;;:::o;18723:419::-;18889:4;18927:2;18916:9;18912:18;18904:26;;18976:9;18970:4;18966:20;18962:1;18951:9;18947:17;18940:47;19004:131;19130:4;19004:131;:::i;:::-;18996:139;;18723:419;;;:::o;19148:167::-;19288:19;19284:1;19276:6;19272:14;19265:43;19148:167;:::o;19321:366::-;19463:3;19484:67;19548:2;19543:3;19484:67;:::i;:::-;19477:74;;19560:93;19649:3;19560:93;:::i;:::-;19678:2;19673:3;19669:12;19662:19;;19321:366;;;:::o;19693:419::-;19859:4;19897:2;19886:9;19882:18;19874:26;;19946:9;19940:4;19936:20;19932:1;19921:9;19917:17;19910:47;19974:131;20100:4;19974:131;:::i;:::-;19966:139;;19693:419;;;:::o;20118:180::-;20166:77;20163:1;20156:88;20263:4;20260:1;20253:15;20287:4;20284:1;20277:15;20304:180;20352:77;20349:1;20342:88;20449:4;20446:1;20439:15;20473:4;20470:1;20463:15;20490:85;20535:7;20564:5;20553:16;;20490:85;;;:::o;20581:158::-;20639:9;20672:61;20690:42;20699:32;20725:5;20699:32;:::i;:::-;20690:42;:::i;:::-;20672:61;:::i;:::-;20659:74;;20581:158;;;:::o;20745:147::-;20840:45;20879:5;20840:45;:::i;:::-;20835:3;20828:58;20745:147;;:::o;20898:114::-;20965:6;20999:5;20993:12;20983:22;;20898:114;;;:::o;21018:184::-;21117:11;21151:6;21146:3;21139:19;21191:4;21186:3;21182:14;21167:29;;21018:184;;;;:::o;21208:132::-;21275:4;21298:3;21290:11;;21328:4;21323:3;21319:14;21311:22;;21208:132;;;:::o;21346:108::-;21423:24;21441:5;21423:24;:::i;:::-;21418:3;21411:37;21346:108;;:::o;21460:179::-;21529:10;21550:46;21592:3;21584:6;21550:46;:::i;:::-;21628:4;21623:3;21619:14;21605:28;;21460:179;;;;:::o;21645:113::-;21715:4;21747;21742:3;21738:14;21730:22;;21645:113;;;:::o;21794:732::-;21913:3;21942:54;21990:5;21942:54;:::i;:::-;22012:86;22091:6;22086:3;22012:86;:::i;:::-;22005:93;;22122:56;22172:5;22122:56;:::i;:::-;22201:7;22232:1;22217:284;22242:6;22239:1;22236:13;22217:284;;;22318:6;22312:13;22345:63;22404:3;22389:13;22345:63;:::i;:::-;22338:70;;22431:60;22484:6;22431:60;:::i;:::-;22421:70;;22277:224;22264:1;22261;22257:9;22252:14;;22217:284;;;22221:14;22517:3;22510:10;;21918:608;;;21794:732;;;;:::o;22532:831::-;22795:4;22833:3;22822:9;22818:19;22810:27;;22847:71;22915:1;22904:9;22900:17;22891:6;22847:71;:::i;:::-;22928:80;23004:2;22993:9;22989:18;22980:6;22928:80;:::i;:::-;23055:9;23049:4;23045:20;23040:2;23029:9;23025:18;23018:48;23083:108;23186:4;23177:6;23083:108;:::i;:::-;23075:116;;23201:72;23269:2;23258:9;23254:18;23245:6;23201:72;:::i;:::-;23283:73;23351:3;23340:9;23336:19;23327:6;23283:73;:::i;:::-;22532:831;;;;;;;;:::o;23369:147::-;23470:11;23507:3;23492:18;;23369:147;;;;:::o;23522:114::-;;:::o;23642:398::-;23801:3;23822:83;23903:1;23898:3;23822:83;:::i;:::-;23815:90;;23914:93;24003:3;23914:93;:::i;:::-;24032:1;24027:3;24023:11;24016:18;;23642:398;;;:::o;24046:379::-;24230:3;24252:147;24395:3;24252:147;:::i;:::-;24245:154;;24416:3;24409:10;;24046:379;;;:::o;24431:180::-;24571:32;24567:1;24559:6;24555:14;24548:56;24431:180;:::o;24617:366::-;24759:3;24780:67;24844:2;24839:3;24780:67;:::i;:::-;24773:74;;24856:93;24945:3;24856:93;:::i;:::-;24974:2;24969:3;24965:12;24958:19;;24617:366;;;:::o;24989:419::-;25155:4;25193:2;25182:9;25178:18;25170:26;;25242:9;25236:4;25232:20;25228:1;25217:9;25213:17;25206:47;25270:131;25396:4;25270:131;:::i;:::-;25262:139;;24989:419;;;:::o
Swarm Source
ipfs://89a04b7a4ac27e136ef62307a8b50a2a857c92f72da886fc2de4965e8e1321ec
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.