ERC-20
Overview
Max Total Supply
1,000,000,000,000 Dinu
Holders
64
Market
Onchain Market Cap
$0.00
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 9 Decimals)
Balance
3,399,485,178.598447532 DinuValue
$0.00Loading...
Loading
Loading...
Loading
Loading...
Loading
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|
Contract Name:
Dinu
Compiler Version
v0.8.4+commit.c7e474f2
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2021-07-06 */ /** * * ██████╗░░█████╗░██╗░░░░░░█████╗░██╗██╗░░░░░░█████╗░███╗░░░███╗░█████╗░██╗███╗░░██╗██╗░░░██╗ * ██╔══██╗██╔══██╗██║░░░░░██╔══██╗██║██║░░░░░██╔══██╗████╗░████║██╔══██╗██║████╗░██║██║░░░██║ * ██║░░██║███████║██║░░░░░███████║██║██║░░░░░███████║██╔████╔██║███████║██║██╔██╗██║██║░░░██║ * ██║░░██║██╔══██║██║░░░░░██╔══██║██║██║░░░░░██╔══██║██║╚██╔╝██║██╔══██║██║██║╚████║██║░░░██║ * ██████╔╝██║░░██║███████╗██║░░██║██║███████╗██║░░██║██║░╚═╝░██║██║░░██║██║██║░╚███║╚██████╔╝ * ╚═════╝░╚═╝░░╚═╝╚══════╝╚═╝░░╚═╝╚═╝╚══════╝╚═╝░░╚═╝╚═╝░░░░░╚═╝╚═╝░░╚═╝╚═╝╚═╝░░╚══╝░╚═════╝░ * DALI * https://t.me/DalaiLamaInu * https://dalailamainu.com/ * https://twitter.com/DalaiLamaInu * * DALI is a meme token with a twist! * DALI has no sale limitations, which benefits whales and minnows alike, and an innovative dynamic reflection tax rate which increases proportionate to the size of the sell. * * TOKENOMICS: * 1,000,000,000,000 token supply * FIRST TWO MINUTES: 3,000,000,000 max buy / 45-second buy cooldown (these limitations are lifted automatically two minutes post-launch) * 15-second cooldown to sell after a buy, in order to limit bot behavior. NO OTHER COOLDOWNS, NO COOLDOWNS BETWEEN SELLS * No buy or sell token limits. Whales are welcome! * 10% total tax on buy * Fee on sells is dynamic, relative to price impact, minimum of 10% fee and maximum of 40% fee, with NO SELL LIMIT. * No team tokens, no presale * A unique approach to resolving the huge dumps after long pumps that have plagued every NotInu fork * * SPDX-License-Identifier: UNLICENSED */ pragma solidity ^0.8.4; abstract contract Context { function _msgSender() internal view virtual returns (address) { return msg.sender; } } interface IERC20 { function totalSupply() external view returns (uint256); function balanceOf(address account) external view returns (uint256); function transfer(address recipient, uint256 amount) external returns (bool); function allowance(address owner, address spender) external view returns (uint256); function approve(address spender, uint256 amount) external returns (bool); function transferFrom(address sender, address recipient, uint256 amount) external returns (bool); event Transfer(address indexed from, address indexed to, uint256 value); event Approval(address indexed owner, address indexed spender, uint256 value); } library SafeMath { function add(uint256 a, uint256 b) internal pure returns (uint256) { uint256 c = a + b; require(c >= a, "SafeMath: addition overflow"); return c; } function sub(uint256 a, uint256 b) internal pure returns (uint256) { return sub(a, b, "SafeMath: subtraction overflow"); } function sub(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) { require(b <= a, errorMessage); uint256 c = a - b; return c; } function mul(uint256 a, uint256 b) internal pure returns (uint256) { if(a == 0) { return 0; } uint256 c = a * b; require(c / a == b, "SafeMath: multiplication overflow"); return c; } function div(uint256 a, uint256 b) internal pure returns (uint256) { return div(a, b, "SafeMath: division by zero"); } function div(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) { require(b > 0, errorMessage); uint256 c = a / b; return c; } function mod(uint256 a, uint256 b) internal pure returns (uint256) { return mod(a, b, "SafeMath: modulo by zero"); } function mod(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) { require(b != 0, errorMessage); return a % b; } } contract Ownable is Context { address private _owner; address private _previousOwner; event OwnershipTransferred(address indexed previousOwner, address indexed newOwner); constructor () { address msgSender = _msgSender(); _owner = msgSender; emit OwnershipTransferred(address(0), msgSender); } function owner() public view returns (address) { return _owner; } modifier onlyOwner() { require(_owner == _msgSender(), "Ownable: caller is not the owner"); _; } function renounceOwnership() public virtual onlyOwner { emit OwnershipTransferred(_owner, address(0)); _owner = address(0); } } interface IUniswapV2Factory { function createPair(address tokenA, address tokenB) external returns (address pair); } interface IUniswapV2Router02 { function swapExactTokensForETHSupportingFeeOnTransferTokens( uint amountIn, uint amountOutMin, address[] calldata path, address to, uint deadline ) external; function factory() external pure returns (address); function WETH() external pure returns (address); function addLiquidityETH( address token, uint amountTokenDesired, uint amountTokenMin, uint amountETHMin, address to, uint deadline ) external payable returns (uint amountToken, uint amountETH, uint liquidity); } contract Dinu is Context, IERC20, Ownable { using SafeMath for uint256; mapping (address => uint256) private _rOwned; mapping (address => uint256) private _tOwned; mapping (address => mapping (address => uint256)) private _allowances; mapping (address => bool) private _isExcludedFromFee; mapping (address => User) private cooldown; uint256 private constant MAX = ~uint256(0); uint256 private constant _tTotal = 1e12 * 10**9; uint256 private _rTotal = (MAX - (MAX % _tTotal)); uint256 private _tFeeTotal; string private constant _name = unicode"DalaiLamaInu | t.me/DalaiLamaInu"; string private constant _symbol = unicode"Dinu"; uint8 private constant _decimals = 9; uint256 private _taxFee = 6; uint256 private _teamFee = 4; uint256 private _feeRate = 5; uint256 private _feeMultiplier = 1000; uint256 private _launchTime; uint256 private _previousTaxFee = _taxFee; uint256 private _previousteamFee = _teamFee; uint256 private _maxBuyAmount; address payable private _FeeAddress; address payable private _marketingWalletAddress; IUniswapV2Router02 private uniswapV2Router; address private uniswapV2Pair; bool private tradingOpen; bool private _cooldownEnabled = true; bool private inSwap = false; bool private _useImpactFeeSetter = true; uint256 private buyLimitEnd; struct User { uint256 buy; uint256 sell; bool exists; } event MaxBuyAmountUpdated(uint _maxBuyAmount); event CooldownEnabledUpdated(bool _cooldown); event FeeMultiplierUpdated(uint _multiplier); event FeeRateUpdated(uint _rate); modifier lockTheSwap { inSwap = true; _; inSwap = false; } constructor (address payable FeeAddress, address payable marketingWalletAddress) { _FeeAddress = FeeAddress; _marketingWalletAddress = marketingWalletAddress; _rOwned[_msgSender()] = _rTotal; _isExcludedFromFee[owner()] = true; _isExcludedFromFee[address(this)] = true; _isExcludedFromFee[FeeAddress] = true; _isExcludedFromFee[marketingWalletAddress] = true; emit Transfer(address(0), _msgSender(), _tTotal); } function name() public pure returns (string memory) { return _name; } function symbol() public pure returns (string memory) { return _symbol; } function decimals() public pure returns (uint8) { return _decimals; } function totalSupply() public pure override returns (uint256) { return _tTotal; } function balanceOf(address account) public view override returns (uint256) { return tokenFromReflection(_rOwned[account]); } function transfer(address recipient, uint256 amount) public override returns (bool) { _transfer(_msgSender(), recipient, amount); return true; } function allowance(address owner, address spender) public view override returns (uint256) { return _allowances[owner][spender]; } function approve(address spender, uint256 amount) public override returns (bool) { _approve(_msgSender(), spender, amount); return true; } function transferFrom(address sender, address recipient, uint256 amount) public override returns (bool) { _transfer(sender, recipient, amount); _approve(sender, _msgSender(), _allowances[sender][_msgSender()].sub(amount, "ERC20: transfer amount exceeds allowance")); return true; } function tokenFromReflection(uint256 rAmount) private view returns(uint256) { require(rAmount <= _rTotal, "Amount must be less than total reflections"); uint256 currentRate = _getRate(); return rAmount.div(currentRate); } function removeAllFee() private { if(_taxFee == 0 && _teamFee == 0) return; _previousTaxFee = _taxFee; _previousteamFee = _teamFee; _taxFee = 0; _teamFee = 0; } function restoreAllFee() private { _taxFee = _previousTaxFee; _teamFee = _previousteamFee; } function setFee(uint256 impactFee) private { uint256 _impactFee = 10; if(impactFee < 10) { _impactFee = 10; } else if(impactFee > 40) { _impactFee = 40; } else { _impactFee = impactFee; } if(_impactFee.mod(2) != 0) { _impactFee++; } _taxFee = (_impactFee.mul(6)).div(10); _teamFee = (_impactFee.mul(4)).div(10); } function _approve(address owner, address spender, uint256 amount) private { require(owner != address(0), "ERC20: approve from the zero address"); require(spender != address(0), "ERC20: approve to the zero address"); _allowances[owner][spender] = amount; emit Approval(owner, spender, amount); } function _transfer(address from, address to, uint256 amount) private { require(from != address(0), "ERC20: transfer from the zero address"); require(to != address(0), "ERC20: transfer to the zero address"); require(amount > 0, "Transfer amount must be greater than zero"); if(from != owner() && to != owner()) { if(_cooldownEnabled) { if(!cooldown[msg.sender].exists) { cooldown[msg.sender] = User(0,0,true); } } // buy if(from == uniswapV2Pair && to != address(uniswapV2Router) && !_isExcludedFromFee[to]) { require(tradingOpen, "Trading not yet enabled."); _taxFee = 6; _teamFee = 4; if(_cooldownEnabled) { if(buyLimitEnd > block.timestamp) { require(amount <= _maxBuyAmount); require(cooldown[to].buy < block.timestamp, "Your buy cooldown has not expired."); cooldown[to].buy = block.timestamp + (45 seconds); } } if(_cooldownEnabled) { cooldown[to].sell = block.timestamp + (15 seconds); } } uint256 contractTokenBalance = balanceOf(address(this)); // sell if(!inSwap && from != uniswapV2Pair && tradingOpen) { if(_cooldownEnabled) { require(cooldown[from].sell < block.timestamp, "Your sell cooldown has not expired."); } if(_useImpactFeeSetter) { uint256 feeBasis = amount.mul(_feeMultiplier); feeBasis = feeBasis.div(balanceOf(uniswapV2Pair).add(amount)); setFee(feeBasis); } if(contractTokenBalance > 0) { if(contractTokenBalance > balanceOf(uniswapV2Pair).mul(_feeRate).div(100)) { contractTokenBalance = balanceOf(uniswapV2Pair).mul(_feeRate).div(100); } swapTokensForEth(contractTokenBalance); } uint256 contractETHBalance = address(this).balance; if(contractETHBalance > 0) { sendETHToFee(address(this).balance); } } } bool takeFee = true; if(_isExcludedFromFee[from] || _isExcludedFromFee[to]){ takeFee = false; } _tokenTransfer(from,to,amount,takeFee); } function swapTokensForEth(uint256 tokenAmount) private lockTheSwap { address[] memory path = new address[](2); path[0] = address(this); path[1] = uniswapV2Router.WETH(); _approve(address(this), address(uniswapV2Router), tokenAmount); uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens( tokenAmount, 0, path, address(this), block.timestamp ); } function sendETHToFee(uint256 amount) private { _FeeAddress.transfer(amount.div(2)); _marketingWalletAddress.transfer(amount.div(2)); } function _tokenTransfer(address sender, address recipient, uint256 amount, bool takeFee) private { if(!takeFee) removeAllFee(); _transferStandard(sender, recipient, amount); if(!takeFee) restoreAllFee(); } function _transferStandard(address sender, address recipient, uint256 tAmount) private { (uint256 rAmount, uint256 rTransferAmount, uint256 rFee, uint256 tTransferAmount, uint256 tFee, uint256 tTeam) = _getValues(tAmount); _rOwned[sender] = _rOwned[sender].sub(rAmount); _rOwned[recipient] = _rOwned[recipient].add(rTransferAmount); _takeTeam(tTeam); _reflectFee(rFee, tFee); emit Transfer(sender, recipient, tTransferAmount); } function _getValues(uint256 tAmount) private view returns (uint256, uint256, uint256, uint256, uint256, uint256) { (uint256 tTransferAmount, uint256 tFee, uint256 tTeam) = _getTValues(tAmount, _taxFee, _teamFee); uint256 currentRate = _getRate(); (uint256 rAmount, uint256 rTransferAmount, uint256 rFee) = _getRValues(tAmount, tFee, tTeam, currentRate); return (rAmount, rTransferAmount, rFee, tTransferAmount, tFee, tTeam); } function _getTValues(uint256 tAmount, uint256 taxFee, uint256 TeamFee) private pure returns (uint256, uint256, uint256) { uint256 tFee = tAmount.mul(taxFee).div(100); uint256 tTeam = tAmount.mul(TeamFee).div(100); uint256 tTransferAmount = tAmount.sub(tFee).sub(tTeam); return (tTransferAmount, tFee, tTeam); } function _getRate() private view returns(uint256) { (uint256 rSupply, uint256 tSupply) = _getCurrentSupply(); return rSupply.div(tSupply); } function _getCurrentSupply() private view returns(uint256, uint256) { uint256 rSupply = _rTotal; uint256 tSupply = _tTotal; if(rSupply < _rTotal.div(_tTotal)) return (_rTotal, _tTotal); return (rSupply, tSupply); } function _getRValues(uint256 tAmount, uint256 tFee, uint256 tTeam, uint256 currentRate) private pure returns (uint256, uint256, uint256) { uint256 rAmount = tAmount.mul(currentRate); uint256 rFee = tFee.mul(currentRate); uint256 rTeam = tTeam.mul(currentRate); uint256 rTransferAmount = rAmount.sub(rFee).sub(rTeam); return (rAmount, rTransferAmount, rFee); } function _takeTeam(uint256 tTeam) private { uint256 currentRate = _getRate(); uint256 rTeam = tTeam.mul(currentRate); _rOwned[address(this)] = _rOwned[address(this)].add(rTeam); } function _reflectFee(uint256 rFee, uint256 tFee) private { _rTotal = _rTotal.sub(rFee); _tFeeTotal = _tFeeTotal.add(tFee); } receive() external payable {} function addLiquidity() external onlyOwner() { require(!tradingOpen,"trading is already open"); IUniswapV2Router02 _uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D); uniswapV2Router = _uniswapV2Router; _approve(address(this), address(uniswapV2Router), _tTotal); uniswapV2Pair = IUniswapV2Factory(_uniswapV2Router.factory()).createPair(address(this), _uniswapV2Router.WETH()); uniswapV2Router.addLiquidityETH{value: address(this).balance}(address(this),balanceOf(address(this)),0,0,owner(),block.timestamp); _maxBuyAmount = 3000000000 * 10**9; _launchTime = block.timestamp; IERC20(uniswapV2Pair).approve(address(uniswapV2Router), type(uint).max); } function openTrading() public onlyOwner { tradingOpen = true; buyLimitEnd = block.timestamp + (120 seconds); } function manualswap() external { require(_msgSender() == _FeeAddress); uint256 contractBalance = balanceOf(address(this)); swapTokensForEth(contractBalance); } function manualsend() external { require(_msgSender() == _FeeAddress); uint256 contractETHBalance = address(this).balance; sendETHToFee(contractETHBalance); } // fallback in case contract is not releasing tokens fast enough function setFeeRate(uint256 rate) external { require(_msgSender() == _FeeAddress); require(rate < 51, "Rate can't exceed 50%"); _feeRate = rate; emit FeeRateUpdated(_feeRate); } function setCooldownEnabled(bool onoff) external onlyOwner() { _cooldownEnabled = onoff; emit CooldownEnabledUpdated(_cooldownEnabled); } function thisBalance() public view returns (uint) { return balanceOf(address(this)); } function cooldownEnabled() public view returns (bool) { return _cooldownEnabled; } function timeToBuy(address buyer) public view returns (uint) { return block.timestamp - cooldown[buyer].buy; } function timeToSell(address buyer) public view returns (uint) { return block.timestamp - cooldown[buyer].sell; } function amountInPool() public view returns (uint) { return balanceOf(uniswapV2Pair); } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[{"internalType":"address payable","name":"FeeAddress","type":"address"},{"internalType":"address payable","name":"marketingWalletAddress","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"bool","name":"_cooldown","type":"bool"}],"name":"CooldownEnabledUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"_multiplier","type":"uint256"}],"name":"FeeMultiplierUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"_rate","type":"uint256"}],"name":"FeeRateUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"_maxBuyAmount","type":"uint256"}],"name":"MaxBuyAmountUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[],"name":"addLiquidity","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"amountInPool","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"cooldownEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"manualsend","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"manualswap","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"openTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"onoff","type":"bool"}],"name":"setCooldownEnabled","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"rate","type":"uint256"}],"name":"setFeeRate","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"thisBalance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"buyer","type":"address"}],"name":"timeToBuy","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"buyer","type":"address"}],"name":"timeToSell","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]
Contract Creation Code
6080604052683635c9adc5dea000006000196200001d919062000582565b6000196200002c919062000509565b60075560066009556004600a556005600b556103e8600c55600954600e55600a54600f556001601460156101000a81548160ff0219169083151502179055506000601460166101000a81548160ff0219169083151502179055506001601460176101000a81548160ff021916908315150217905550348015620000ae57600080fd5b50604051620040b2380380620040b28339818101604052810190620000d491906200049a565b6000620000e66200045260201b60201c565b9050806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35081601160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080601260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600754600260006200021d6200045260201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600160056000620002716200045a60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600560003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550620003da6200045260201b60201c565b73ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef683635c9adc5dea00000604051620004429190620004ec565b60405180910390a3505062000632565b600033905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b600081519050620004948162000618565b92915050565b60008060408385031215620004ae57600080fd5b6000620004be8582860162000483565b9250506020620004d18582860162000483565b9150509250929050565b620004e68162000578565b82525050565b6000602082019050620005036000830184620004db565b92915050565b6000620005168262000578565b9150620005238362000578565b925082821015620005395762000538620005ba565b5b828203905092915050565b6000620005518262000558565b9050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b60006200058f8262000578565b91506200059c8362000578565b925082620005af57620005ae620005e9565b5b828206905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b620006238162000544565b81146200062f57600080fd5b50565b613a7080620006426000396000f3fe6080604052600436106101395760003560e01c8063715018a6116100ab578063a9fc35a91161006f578063a9fc35a914610423578063c3c8cd8014610460578063c9567bf914610477578063db92dbb61461048e578063dd62ed3e146104b9578063e8078d94146104f657610140565b8063715018a61461034e5780638da5cb5b1461036557806395d89b4114610390578063a9059cbb146103bb578063a985ceef146103f857610140565b8063313ce567116100fd578063313ce5671461024057806345596e2e1461026b5780635932ead11461029457806368a3a6a5146102bd5780636fc3eaec146102fa57806370a082311461031157610140565b806306fdde0314610145578063095ea7b31461017057806318160ddd146101ad57806323b872dd146101d857806327f3a72a1461021557610140565b3661014057005b600080fd5b34801561015157600080fd5b5061015a61050d565b60405161016791906130da565b60405180910390f35b34801561017c57600080fd5b5061019760048036038101906101929190612bf8565b61054a565b6040516101a491906130bf565b60405180910390f35b3480156101b957600080fd5b506101c2610568565b6040516101cf91906132bc565b60405180910390f35b3480156101e457600080fd5b506101ff60048036038101906101fa9190612ba9565b610579565b60405161020c91906130bf565b60405180910390f35b34801561022157600080fd5b5061022a610652565b60405161023791906132bc565b60405180910390f35b34801561024c57600080fd5b50610255610662565b6040516102629190613331565b60405180910390f35b34801561027757600080fd5b50610292600480360381019061028d9190612c86565b61066b565b005b3480156102a057600080fd5b506102bb60048036038101906102b69190612c34565b610752565b005b3480156102c957600080fd5b506102e460048036038101906102df9190612b1b565b61084a565b6040516102f191906132bc565b60405180910390f35b34801561030657600080fd5b5061030f6108a1565b005b34801561031d57600080fd5b5061033860048036038101906103339190612b1b565b610913565b60405161034591906132bc565b60405180910390f35b34801561035a57600080fd5b50610363610964565b005b34801561037157600080fd5b5061037a610ab7565b6040516103879190612ff1565b60405180910390f35b34801561039c57600080fd5b506103a5610ae0565b6040516103b291906130da565b60405180910390f35b3480156103c757600080fd5b506103e260048036038101906103dd9190612bf8565b610b1d565b6040516103ef91906130bf565b60405180910390f35b34801561040457600080fd5b5061040d610b3b565b60405161041a91906130bf565b60405180910390f35b34801561042f57600080fd5b5061044a60048036038101906104459190612b1b565b610b52565b60405161045791906132bc565b60405180910390f35b34801561046c57600080fd5b50610475610ba9565b005b34801561048357600080fd5b5061048c610c23565b005b34801561049a57600080fd5b506104a3610ce7565b6040516104b091906132bc565b60405180910390f35b3480156104c557600080fd5b506104e060048036038101906104db9190612b6d565b610d19565b6040516104ed91906132bc565b60405180910390f35b34801561050257600080fd5b5061050b610da0565b005b60606040518060400160405280602081526020017f44616c61694c616d61496e75207c20742e6d652f44616c61694c616d61496e75815250905090565b600061055e6105576112b0565b84846112b8565b6001905092915050565b6000683635c9adc5dea00000905090565b6000610586848484611483565b610647846105926112b0565b61064285604051806060016040528060288152602001613a1360289139600460008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006105f86112b0565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611d4d9092919063ffffffff16565b6112b8565b600190509392505050565b600061065d30610913565b905090565b60006009905090565b601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166106ac6112b0565b73ffffffffffffffffffffffffffffffffffffffff16146106cc57600080fd5b6033811061070f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107069061319c565b60405180910390fd5b80600b819055507f208f1b468d3d61f0f085e975bd9d04367c930d599642faad06695229f3eadcd8600b5460405161074791906132bc565b60405180910390a150565b61075a6112b0565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146107e7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107de906131fc565b60405180910390fd5b80601460156101000a81548160ff0219169083151502179055507f0d63187a8abb5b4d1bb562e1163897386b0a88ee72e0799dd105bd0fd6f28706601460159054906101000a900460ff1660405161083f91906130bf565b60405180910390a150565b6000600660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600001544261089a9190613482565b9050919050565b601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108e26112b0565b73ffffffffffffffffffffffffffffffffffffffff161461090257600080fd5b600047905061091081611db1565b50565b600061095d600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611eac565b9050919050565b61096c6112b0565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146109f9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109f0906131fc565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606040518060400160405280600481526020017f44696e7500000000000000000000000000000000000000000000000000000000815250905090565b6000610b31610b2a6112b0565b8484611483565b6001905092915050565b6000601460159054906101000a900460ff16905090565b6000600660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206001015442610ba29190613482565b9050919050565b601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610bea6112b0565b73ffffffffffffffffffffffffffffffffffffffff1614610c0a57600080fd5b6000610c1530610913565b9050610c2081611f1a565b50565b610c2b6112b0565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610cb8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610caf906131fc565b60405180910390fd5b60016014806101000a81548160ff021916908315150217905550607842610cdf91906133a1565b601581905550565b6000610d14601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16610913565b905090565b6000600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b610da86112b0565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610e35576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e2c906131fc565b60405180910390fd5b60148054906101000a900460ff1615610e83576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e7a9061327c565b60405180910390fd5b6000737a250d5630b4cf539739df2c5dacb4c659f2488d905080601360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550610f1330601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16683635c9adc5dea000006112b8565b8073ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b158015610f5957600080fd5b505afa158015610f6d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f919190612b44565b73ffffffffffffffffffffffffffffffffffffffff1663c9c65396308373ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b158015610ff357600080fd5b505afa158015611007573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061102b9190612b44565b6040518363ffffffff1660e01b815260040161104892919061300c565b602060405180830381600087803b15801561106257600080fd5b505af1158015611076573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061109a9190612b44565b601460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d719473061112330610913565b60008061112e610ab7565b426040518863ffffffff1660e01b81526004016111509695949392919061305e565b6060604051808303818588803b15801561116957600080fd5b505af115801561117d573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906111a29190612caf565b5050506729a2241af62c000060108190555042600d81905550601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b3601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b815260040161125a929190613035565b602060405180830381600087803b15801561127457600080fd5b505af1158015611288573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112ac9190612c5d565b5050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611328576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161131f9061325c565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611398576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161138f9061313c565b60405180910390fd5b80600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258360405161147691906132bc565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156114f3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114ea9061323c565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611563576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161155a906130fc565b60405180910390fd5b600081116115a6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161159d9061321c565b60405180910390fd5b6115ae610ab7565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415801561161c57506115ec610ab7565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b15611c8a57601460159054906101000a900460ff161561172257600660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060020160009054906101000a900460ff16611721576040518060600160405280600081526020016000815260200160011515815250600660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082015181600001556020820151816001015560408201518160020160006101000a81548160ff0219169083151502179055509050505b5b601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161480156117cd5750601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b80156118235750600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b156119f65760148054906101000a900460ff16611875576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161186c9061329c565b60405180910390fd5b60066009819055506004600a81905550601460159054906101000a900460ff161561198c5742601554111561198b576010548111156118b357600080fd5b42600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000015410611937576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161192e9061315c565b60405180910390fd5b602d4261194491906133a1565b600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600001819055505b5b601460159054906101000a900460ff16156119f557600f426119ae91906133a1565b600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600101819055505b5b6000611a0130610913565b9050601460169054906101000a900460ff16158015611a6e5750601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b8015611a84575060148054906101000a900460ff165b15611c8857601460159054906101000a900460ff1615611b235742600660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206001015410611b22576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b19906131bc565b60405180910390fd5b5b601460179054906101000a900460ff1615611bad576000611b4f600c548461221490919063ffffffff16565b9050611ba0611b9184611b83601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16610913565b61228f90919063ffffffff16565b826122ed90919063ffffffff16565b9050611bab81612337565b505b6000811115611c6e57611c086064611bfa600b54611bec601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16610913565b61221490919063ffffffff16565b6122ed90919063ffffffff16565b811115611c6457611c616064611c53600b54611c45601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16610913565b61221490919063ffffffff16565b6122ed90919063ffffffff16565b90505b611c6d81611f1a565b5b60004790506000811115611c8657611c8547611db1565b5b505b505b600060019050600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1680611d315750600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b15611d3b57600090505b611d47848484846123ee565b50505050565b6000838311158290611d95576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d8c91906130da565b60405180910390fd5b5060008385611da49190613482565b9050809150509392505050565b601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc611e016002846122ed90919063ffffffff16565b9081150290604051600060405180830381858888f19350505050158015611e2c573d6000803e3d6000fd5b50601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc611e7d6002846122ed90919063ffffffff16565b9081150290604051600060405180830381858888f19350505050158015611ea8573d6000803e3d6000fd5b5050565b6000600754821115611ef3576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611eea9061311c565b60405180910390fd5b6000611efd61241b565b9050611f1281846122ed90919063ffffffff16565b915050919050565b6001601460166101000a81548160ff0219169083151502179055506000600267ffffffffffffffff811115611f78577f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b604051908082528060200260200182016040528015611fa65781602001602082028036833780820191505090505b5090503081600081518110611fe4577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b15801561208657600080fd5b505afa15801561209a573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906120be9190612b44565b816001815181106120f8577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505061215f30601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16846112b8565b601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b81526004016121c39594939291906132d7565b600060405180830381600087803b1580156121dd57600080fd5b505af11580156121f1573d6000803e3d6000fd5b50505050506000601460166101000a81548160ff02191690831515021790555050565b6000808314156122275760009050612289565b600082846122359190613428565b905082848261224491906133f7565b14612284576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161227b906131dc565b60405180910390fd5b809150505b92915050565b600080828461229e91906133a1565b9050838110156122e3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016122da9061317c565b60405180910390fd5b8091505092915050565b600061232f83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250612446565b905092915050565b6000600a9050600a82101561234f57600a9050612366565b60288211156123615760289050612365565b8190505b5b600061237c6002836124a990919063ffffffff16565b1461239057808061238c90613550565b9150505b6123b7600a6123a960068461221490919063ffffffff16565b6122ed90919063ffffffff16565b6009819055506123e4600a6123d660048461221490919063ffffffff16565b6122ed90919063ffffffff16565b600a819055505050565b806123fc576123fb6124f3565b5b612407848484612536565b8061241557612414612701565b5b50505050565b6000806000612428612715565b9150915061243f81836122ed90919063ffffffff16565b9250505090565b6000808311829061248d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161248491906130da565b60405180910390fd5b506000838561249c91906133f7565b9050809150509392505050565b60006124eb83836040518060400160405280601881526020017f536166654d6174683a206d6f64756c6f206279207a65726f0000000000000000815250612777565b905092915050565b600060095414801561250757506000600a54145b1561251157612534565b600954600e81905550600a54600f8190555060006009819055506000600a819055505b565b600080600080600080612548876127d5565b9550955095509550955095506125a686600260008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461283d90919063ffffffff16565b600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061263b85600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461228f90919063ffffffff16565b600260008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061268781612887565b6126918483612944565b8773ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040516126ee91906132bc565b60405180910390a3505050505050505050565b600e54600981905550600f54600a81905550565b600080600060075490506000683635c9adc5dea00000905061274b683635c9adc5dea000006007546122ed90919063ffffffff16565b82101561276a57600754683635c9adc5dea00000935093505050612773565b81819350935050505b9091565b60008083141582906127bf576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016127b691906130da565b60405180910390fd5b5082846127cc9190613599565b90509392505050565b60008060008060008060008060006127f28a600954600a5461297e565b925092509250600061280261241b565b905060008060006128158e878787612a14565b9250925092508282828989899c509c509c509c509c509c505050505050505091939550919395565b600061287f83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611d4d565b905092915050565b600061289161241b565b905060006128a8828461221490919063ffffffff16565b90506128fc81600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461228f90919063ffffffff16565b600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550505050565b6129598260075461283d90919063ffffffff16565b6007819055506129748160085461228f90919063ffffffff16565b6008819055505050565b6000806000806129aa606461299c888a61221490919063ffffffff16565b6122ed90919063ffffffff16565b905060006129d460646129c6888b61221490919063ffffffff16565b6122ed90919063ffffffff16565b905060006129fd826129ef858c61283d90919063ffffffff16565b61283d90919063ffffffff16565b905080838395509550955050505093509350939050565b600080600080612a2d858961221490919063ffffffff16565b90506000612a44868961221490919063ffffffff16565b90506000612a5b878961221490919063ffffffff16565b90506000612a8482612a76858761283d90919063ffffffff16565b61283d90919063ffffffff16565b9050838184965096509650505050509450945094915050565b600081359050612aac816139cd565b92915050565b600081519050612ac1816139cd565b92915050565b600081359050612ad6816139e4565b92915050565b600081519050612aeb816139e4565b92915050565b600081359050612b00816139fb565b92915050565b600081519050612b15816139fb565b92915050565b600060208284031215612b2d57600080fd5b6000612b3b84828501612a9d565b91505092915050565b600060208284031215612b5657600080fd5b6000612b6484828501612ab2565b91505092915050565b60008060408385031215612b8057600080fd5b6000612b8e85828601612a9d565b9250506020612b9f85828601612a9d565b9150509250929050565b600080600060608486031215612bbe57600080fd5b6000612bcc86828701612a9d565b9350506020612bdd86828701612a9d565b9250506040612bee86828701612af1565b9150509250925092565b60008060408385031215612c0b57600080fd5b6000612c1985828601612a9d565b9250506020612c2a85828601612af1565b9150509250929050565b600060208284031215612c4657600080fd5b6000612c5484828501612ac7565b91505092915050565b600060208284031215612c6f57600080fd5b6000612c7d84828501612adc565b91505092915050565b600060208284031215612c9857600080fd5b6000612ca684828501612af1565b91505092915050565b600080600060608486031215612cc457600080fd5b6000612cd286828701612b06565b9350506020612ce386828701612b06565b9250506040612cf486828701612b06565b9150509250925092565b6000612d0a8383612d16565b60208301905092915050565b612d1f816134b6565b82525050565b612d2e816134b6565b82525050565b6000612d3f8261335c565b612d49818561337f565b9350612d548361334c565b8060005b83811015612d85578151612d6c8882612cfe565b9750612d7783613372565b925050600181019050612d58565b5085935050505092915050565b612d9b816134c8565b82525050565b612daa8161350b565b82525050565b6000612dbb82613367565b612dc58185613390565b9350612dd581856020860161351d565b612dde81613628565b840191505092915050565b6000612df6602383613390565b9150612e0182613639565b604082019050919050565b6000612e19602a83613390565b9150612e2482613688565b604082019050919050565b6000612e3c602283613390565b9150612e47826136d7565b604082019050919050565b6000612e5f602283613390565b9150612e6a82613726565b604082019050919050565b6000612e82601b83613390565b9150612e8d82613775565b602082019050919050565b6000612ea5601583613390565b9150612eb08261379e565b602082019050919050565b6000612ec8602383613390565b9150612ed3826137c7565b604082019050919050565b6000612eeb602183613390565b9150612ef682613816565b604082019050919050565b6000612f0e602083613390565b9150612f1982613865565b602082019050919050565b6000612f31602983613390565b9150612f3c8261388e565b604082019050919050565b6000612f54602583613390565b9150612f5f826138dd565b604082019050919050565b6000612f77602483613390565b9150612f828261392c565b604082019050919050565b6000612f9a601783613390565b9150612fa58261397b565b602082019050919050565b6000612fbd601883613390565b9150612fc8826139a4565b602082019050919050565b612fdc816134f4565b82525050565b612feb816134fe565b82525050565b60006020820190506130066000830184612d25565b92915050565b60006040820190506130216000830185612d25565b61302e6020830184612d25565b9392505050565b600060408201905061304a6000830185612d25565b6130576020830184612fd3565b9392505050565b600060c0820190506130736000830189612d25565b6130806020830188612fd3565b61308d6040830187612da1565b61309a6060830186612da1565b6130a76080830185612d25565b6130b460a0830184612fd3565b979650505050505050565b60006020820190506130d46000830184612d92565b92915050565b600060208201905081810360008301526130f48184612db0565b905092915050565b6000602082019050818103600083015261311581612de9565b9050919050565b6000602082019050818103600083015261313581612e0c565b9050919050565b6000602082019050818103600083015261315581612e2f565b9050919050565b6000602082019050818103600083015261317581612e52565b9050919050565b6000602082019050818103600083015261319581612e75565b9050919050565b600060208201905081810360008301526131b581612e98565b9050919050565b600060208201905081810360008301526131d581612ebb565b9050919050565b600060208201905081810360008301526131f581612ede565b9050919050565b6000602082019050818103600083015261321581612f01565b9050919050565b6000602082019050818103600083015261323581612f24565b9050919050565b6000602082019050818103600083015261325581612f47565b9050919050565b6000602082019050818103600083015261327581612f6a565b9050919050565b6000602082019050818103600083015261329581612f8d565b9050919050565b600060208201905081810360008301526132b581612fb0565b9050919050565b60006020820190506132d16000830184612fd3565b92915050565b600060a0820190506132ec6000830188612fd3565b6132f96020830187612da1565b818103604083015261330b8186612d34565b905061331a6060830185612d25565b6133276080830184612fd3565b9695505050505050565b60006020820190506133466000830184612fe2565b92915050565b6000819050602082019050919050565b600081519050919050565b600081519050919050565b6000602082019050919050565b600082825260208201905092915050565b600082825260208201905092915050565b60006133ac826134f4565b91506133b7836134f4565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff038211156133ec576133eb6135ca565b5b828201905092915050565b6000613402826134f4565b915061340d836134f4565b92508261341d5761341c6135f9565b5b828204905092915050565b6000613433826134f4565b915061343e836134f4565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615613477576134766135ca565b5b828202905092915050565b600061348d826134f4565b9150613498836134f4565b9250828210156134ab576134aa6135ca565b5b828203905092915050565b60006134c1826134d4565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b6000613516826134f4565b9050919050565b60005b8381101561353b578082015181840152602081019050613520565b8381111561354a576000848401525b50505050565b600061355b826134f4565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82141561358e5761358d6135ca565b5b600182019050919050565b60006135a4826134f4565b91506135af836134f4565b9250826135bf576135be6135f9565b5b828206905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000601f19601f8301169050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b7f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260008201527f65666c656374696f6e7300000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b7f596f75722062757920636f6f6c646f776e20686173206e6f742065787069726560008201527f642e000000000000000000000000000000000000000000000000000000000000602082015250565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b7f526174652063616e277420657863656564203530250000000000000000000000600082015250565b7f596f75722073656c6c20636f6f6c646f776e20686173206e6f7420657870697260008201527f65642e0000000000000000000000000000000000000000000000000000000000602082015250565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b7f5472616e7366657220616d6f756e74206d75737420626520677265617465722060008201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b7f74726164696e6720697320616c7265616479206f70656e000000000000000000600082015250565b7f54726164696e67206e6f742079657420656e61626c65642e0000000000000000600082015250565b6139d6816134b6565b81146139e157600080fd5b50565b6139ed816134c8565b81146139f857600080fd5b50565b613a04816134f4565b8114613a0f57600080fd5b5056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a264697066735822122040ec32bfd6b8b24e72c3901bb4a1b457cf7694cde6fbfee8d58767784dada21564736f6c63430008040033000000000000000000000000b6156ec85e99f9e0d0616040b43d9c0003723f0f000000000000000000000000c2fa0795732a5bbcc1b4bf86787b221576549800
Deployed Bytecode
0x6080604052600436106101395760003560e01c8063715018a6116100ab578063a9fc35a91161006f578063a9fc35a914610423578063c3c8cd8014610460578063c9567bf914610477578063db92dbb61461048e578063dd62ed3e146104b9578063e8078d94146104f657610140565b8063715018a61461034e5780638da5cb5b1461036557806395d89b4114610390578063a9059cbb146103bb578063a985ceef146103f857610140565b8063313ce567116100fd578063313ce5671461024057806345596e2e1461026b5780635932ead11461029457806368a3a6a5146102bd5780636fc3eaec146102fa57806370a082311461031157610140565b806306fdde0314610145578063095ea7b31461017057806318160ddd146101ad57806323b872dd146101d857806327f3a72a1461021557610140565b3661014057005b600080fd5b34801561015157600080fd5b5061015a61050d565b60405161016791906130da565b60405180910390f35b34801561017c57600080fd5b5061019760048036038101906101929190612bf8565b61054a565b6040516101a491906130bf565b60405180910390f35b3480156101b957600080fd5b506101c2610568565b6040516101cf91906132bc565b60405180910390f35b3480156101e457600080fd5b506101ff60048036038101906101fa9190612ba9565b610579565b60405161020c91906130bf565b60405180910390f35b34801561022157600080fd5b5061022a610652565b60405161023791906132bc565b60405180910390f35b34801561024c57600080fd5b50610255610662565b6040516102629190613331565b60405180910390f35b34801561027757600080fd5b50610292600480360381019061028d9190612c86565b61066b565b005b3480156102a057600080fd5b506102bb60048036038101906102b69190612c34565b610752565b005b3480156102c957600080fd5b506102e460048036038101906102df9190612b1b565b61084a565b6040516102f191906132bc565b60405180910390f35b34801561030657600080fd5b5061030f6108a1565b005b34801561031d57600080fd5b5061033860048036038101906103339190612b1b565b610913565b60405161034591906132bc565b60405180910390f35b34801561035a57600080fd5b50610363610964565b005b34801561037157600080fd5b5061037a610ab7565b6040516103879190612ff1565b60405180910390f35b34801561039c57600080fd5b506103a5610ae0565b6040516103b291906130da565b60405180910390f35b3480156103c757600080fd5b506103e260048036038101906103dd9190612bf8565b610b1d565b6040516103ef91906130bf565b60405180910390f35b34801561040457600080fd5b5061040d610b3b565b60405161041a91906130bf565b60405180910390f35b34801561042f57600080fd5b5061044a60048036038101906104459190612b1b565b610b52565b60405161045791906132bc565b60405180910390f35b34801561046c57600080fd5b50610475610ba9565b005b34801561048357600080fd5b5061048c610c23565b005b34801561049a57600080fd5b506104a3610ce7565b6040516104b091906132bc565b60405180910390f35b3480156104c557600080fd5b506104e060048036038101906104db9190612b6d565b610d19565b6040516104ed91906132bc565b60405180910390f35b34801561050257600080fd5b5061050b610da0565b005b60606040518060400160405280602081526020017f44616c61694c616d61496e75207c20742e6d652f44616c61694c616d61496e75815250905090565b600061055e6105576112b0565b84846112b8565b6001905092915050565b6000683635c9adc5dea00000905090565b6000610586848484611483565b610647846105926112b0565b61064285604051806060016040528060288152602001613a1360289139600460008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006105f86112b0565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611d4d9092919063ffffffff16565b6112b8565b600190509392505050565b600061065d30610913565b905090565b60006009905090565b601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166106ac6112b0565b73ffffffffffffffffffffffffffffffffffffffff16146106cc57600080fd5b6033811061070f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107069061319c565b60405180910390fd5b80600b819055507f208f1b468d3d61f0f085e975bd9d04367c930d599642faad06695229f3eadcd8600b5460405161074791906132bc565b60405180910390a150565b61075a6112b0565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146107e7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107de906131fc565b60405180910390fd5b80601460156101000a81548160ff0219169083151502179055507f0d63187a8abb5b4d1bb562e1163897386b0a88ee72e0799dd105bd0fd6f28706601460159054906101000a900460ff1660405161083f91906130bf565b60405180910390a150565b6000600660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600001544261089a9190613482565b9050919050565b601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108e26112b0565b73ffffffffffffffffffffffffffffffffffffffff161461090257600080fd5b600047905061091081611db1565b50565b600061095d600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611eac565b9050919050565b61096c6112b0565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146109f9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109f0906131fc565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606040518060400160405280600481526020017f44696e7500000000000000000000000000000000000000000000000000000000815250905090565b6000610b31610b2a6112b0565b8484611483565b6001905092915050565b6000601460159054906101000a900460ff16905090565b6000600660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206001015442610ba29190613482565b9050919050565b601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610bea6112b0565b73ffffffffffffffffffffffffffffffffffffffff1614610c0a57600080fd5b6000610c1530610913565b9050610c2081611f1a565b50565b610c2b6112b0565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610cb8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610caf906131fc565b60405180910390fd5b60016014806101000a81548160ff021916908315150217905550607842610cdf91906133a1565b601581905550565b6000610d14601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16610913565b905090565b6000600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b610da86112b0565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610e35576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e2c906131fc565b60405180910390fd5b60148054906101000a900460ff1615610e83576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e7a9061327c565b60405180910390fd5b6000737a250d5630b4cf539739df2c5dacb4c659f2488d905080601360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550610f1330601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16683635c9adc5dea000006112b8565b8073ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b158015610f5957600080fd5b505afa158015610f6d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f919190612b44565b73ffffffffffffffffffffffffffffffffffffffff1663c9c65396308373ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b158015610ff357600080fd5b505afa158015611007573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061102b9190612b44565b6040518363ffffffff1660e01b815260040161104892919061300c565b602060405180830381600087803b15801561106257600080fd5b505af1158015611076573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061109a9190612b44565b601460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d719473061112330610913565b60008061112e610ab7565b426040518863ffffffff1660e01b81526004016111509695949392919061305e565b6060604051808303818588803b15801561116957600080fd5b505af115801561117d573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906111a29190612caf565b5050506729a2241af62c000060108190555042600d81905550601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b3601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b815260040161125a929190613035565b602060405180830381600087803b15801561127457600080fd5b505af1158015611288573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112ac9190612c5d565b5050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611328576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161131f9061325c565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611398576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161138f9061313c565b60405180910390fd5b80600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258360405161147691906132bc565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156114f3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114ea9061323c565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611563576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161155a906130fc565b60405180910390fd5b600081116115a6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161159d9061321c565b60405180910390fd5b6115ae610ab7565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415801561161c57506115ec610ab7565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b15611c8a57601460159054906101000a900460ff161561172257600660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060020160009054906101000a900460ff16611721576040518060600160405280600081526020016000815260200160011515815250600660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082015181600001556020820151816001015560408201518160020160006101000a81548160ff0219169083151502179055509050505b5b601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161480156117cd5750601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b80156118235750600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b156119f65760148054906101000a900460ff16611875576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161186c9061329c565b60405180910390fd5b60066009819055506004600a81905550601460159054906101000a900460ff161561198c5742601554111561198b576010548111156118b357600080fd5b42600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000015410611937576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161192e9061315c565b60405180910390fd5b602d4261194491906133a1565b600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600001819055505b5b601460159054906101000a900460ff16156119f557600f426119ae91906133a1565b600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600101819055505b5b6000611a0130610913565b9050601460169054906101000a900460ff16158015611a6e5750601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b8015611a84575060148054906101000a900460ff165b15611c8857601460159054906101000a900460ff1615611b235742600660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206001015410611b22576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b19906131bc565b60405180910390fd5b5b601460179054906101000a900460ff1615611bad576000611b4f600c548461221490919063ffffffff16565b9050611ba0611b9184611b83601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16610913565b61228f90919063ffffffff16565b826122ed90919063ffffffff16565b9050611bab81612337565b505b6000811115611c6e57611c086064611bfa600b54611bec601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16610913565b61221490919063ffffffff16565b6122ed90919063ffffffff16565b811115611c6457611c616064611c53600b54611c45601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16610913565b61221490919063ffffffff16565b6122ed90919063ffffffff16565b90505b611c6d81611f1a565b5b60004790506000811115611c8657611c8547611db1565b5b505b505b600060019050600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1680611d315750600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b15611d3b57600090505b611d47848484846123ee565b50505050565b6000838311158290611d95576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d8c91906130da565b60405180910390fd5b5060008385611da49190613482565b9050809150509392505050565b601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc611e016002846122ed90919063ffffffff16565b9081150290604051600060405180830381858888f19350505050158015611e2c573d6000803e3d6000fd5b50601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc611e7d6002846122ed90919063ffffffff16565b9081150290604051600060405180830381858888f19350505050158015611ea8573d6000803e3d6000fd5b5050565b6000600754821115611ef3576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611eea9061311c565b60405180910390fd5b6000611efd61241b565b9050611f1281846122ed90919063ffffffff16565b915050919050565b6001601460166101000a81548160ff0219169083151502179055506000600267ffffffffffffffff811115611f78577f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b604051908082528060200260200182016040528015611fa65781602001602082028036833780820191505090505b5090503081600081518110611fe4577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b15801561208657600080fd5b505afa15801561209a573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906120be9190612b44565b816001815181106120f8577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505061215f30601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16846112b8565b601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b81526004016121c39594939291906132d7565b600060405180830381600087803b1580156121dd57600080fd5b505af11580156121f1573d6000803e3d6000fd5b50505050506000601460166101000a81548160ff02191690831515021790555050565b6000808314156122275760009050612289565b600082846122359190613428565b905082848261224491906133f7565b14612284576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161227b906131dc565b60405180910390fd5b809150505b92915050565b600080828461229e91906133a1565b9050838110156122e3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016122da9061317c565b60405180910390fd5b8091505092915050565b600061232f83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250612446565b905092915050565b6000600a9050600a82101561234f57600a9050612366565b60288211156123615760289050612365565b8190505b5b600061237c6002836124a990919063ffffffff16565b1461239057808061238c90613550565b9150505b6123b7600a6123a960068461221490919063ffffffff16565b6122ed90919063ffffffff16565b6009819055506123e4600a6123d660048461221490919063ffffffff16565b6122ed90919063ffffffff16565b600a819055505050565b806123fc576123fb6124f3565b5b612407848484612536565b8061241557612414612701565b5b50505050565b6000806000612428612715565b9150915061243f81836122ed90919063ffffffff16565b9250505090565b6000808311829061248d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161248491906130da565b60405180910390fd5b506000838561249c91906133f7565b9050809150509392505050565b60006124eb83836040518060400160405280601881526020017f536166654d6174683a206d6f64756c6f206279207a65726f0000000000000000815250612777565b905092915050565b600060095414801561250757506000600a54145b1561251157612534565b600954600e81905550600a54600f8190555060006009819055506000600a819055505b565b600080600080600080612548876127d5565b9550955095509550955095506125a686600260008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461283d90919063ffffffff16565b600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061263b85600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461228f90919063ffffffff16565b600260008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061268781612887565b6126918483612944565b8773ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040516126ee91906132bc565b60405180910390a3505050505050505050565b600e54600981905550600f54600a81905550565b600080600060075490506000683635c9adc5dea00000905061274b683635c9adc5dea000006007546122ed90919063ffffffff16565b82101561276a57600754683635c9adc5dea00000935093505050612773565b81819350935050505b9091565b60008083141582906127bf576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016127b691906130da565b60405180910390fd5b5082846127cc9190613599565b90509392505050565b60008060008060008060008060006127f28a600954600a5461297e565b925092509250600061280261241b565b905060008060006128158e878787612a14565b9250925092508282828989899c509c509c509c509c509c505050505050505091939550919395565b600061287f83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611d4d565b905092915050565b600061289161241b565b905060006128a8828461221490919063ffffffff16565b90506128fc81600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461228f90919063ffffffff16565b600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550505050565b6129598260075461283d90919063ffffffff16565b6007819055506129748160085461228f90919063ffffffff16565b6008819055505050565b6000806000806129aa606461299c888a61221490919063ffffffff16565b6122ed90919063ffffffff16565b905060006129d460646129c6888b61221490919063ffffffff16565b6122ed90919063ffffffff16565b905060006129fd826129ef858c61283d90919063ffffffff16565b61283d90919063ffffffff16565b905080838395509550955050505093509350939050565b600080600080612a2d858961221490919063ffffffff16565b90506000612a44868961221490919063ffffffff16565b90506000612a5b878961221490919063ffffffff16565b90506000612a8482612a76858761283d90919063ffffffff16565b61283d90919063ffffffff16565b9050838184965096509650505050509450945094915050565b600081359050612aac816139cd565b92915050565b600081519050612ac1816139cd565b92915050565b600081359050612ad6816139e4565b92915050565b600081519050612aeb816139e4565b92915050565b600081359050612b00816139fb565b92915050565b600081519050612b15816139fb565b92915050565b600060208284031215612b2d57600080fd5b6000612b3b84828501612a9d565b91505092915050565b600060208284031215612b5657600080fd5b6000612b6484828501612ab2565b91505092915050565b60008060408385031215612b8057600080fd5b6000612b8e85828601612a9d565b9250506020612b9f85828601612a9d565b9150509250929050565b600080600060608486031215612bbe57600080fd5b6000612bcc86828701612a9d565b9350506020612bdd86828701612a9d565b9250506040612bee86828701612af1565b9150509250925092565b60008060408385031215612c0b57600080fd5b6000612c1985828601612a9d565b9250506020612c2a85828601612af1565b9150509250929050565b600060208284031215612c4657600080fd5b6000612c5484828501612ac7565b91505092915050565b600060208284031215612c6f57600080fd5b6000612c7d84828501612adc565b91505092915050565b600060208284031215612c9857600080fd5b6000612ca684828501612af1565b91505092915050565b600080600060608486031215612cc457600080fd5b6000612cd286828701612b06565b9350506020612ce386828701612b06565b9250506040612cf486828701612b06565b9150509250925092565b6000612d0a8383612d16565b60208301905092915050565b612d1f816134b6565b82525050565b612d2e816134b6565b82525050565b6000612d3f8261335c565b612d49818561337f565b9350612d548361334c565b8060005b83811015612d85578151612d6c8882612cfe565b9750612d7783613372565b925050600181019050612d58565b5085935050505092915050565b612d9b816134c8565b82525050565b612daa8161350b565b82525050565b6000612dbb82613367565b612dc58185613390565b9350612dd581856020860161351d565b612dde81613628565b840191505092915050565b6000612df6602383613390565b9150612e0182613639565b604082019050919050565b6000612e19602a83613390565b9150612e2482613688565b604082019050919050565b6000612e3c602283613390565b9150612e47826136d7565b604082019050919050565b6000612e5f602283613390565b9150612e6a82613726565b604082019050919050565b6000612e82601b83613390565b9150612e8d82613775565b602082019050919050565b6000612ea5601583613390565b9150612eb08261379e565b602082019050919050565b6000612ec8602383613390565b9150612ed3826137c7565b604082019050919050565b6000612eeb602183613390565b9150612ef682613816565b604082019050919050565b6000612f0e602083613390565b9150612f1982613865565b602082019050919050565b6000612f31602983613390565b9150612f3c8261388e565b604082019050919050565b6000612f54602583613390565b9150612f5f826138dd565b604082019050919050565b6000612f77602483613390565b9150612f828261392c565b604082019050919050565b6000612f9a601783613390565b9150612fa58261397b565b602082019050919050565b6000612fbd601883613390565b9150612fc8826139a4565b602082019050919050565b612fdc816134f4565b82525050565b612feb816134fe565b82525050565b60006020820190506130066000830184612d25565b92915050565b60006040820190506130216000830185612d25565b61302e6020830184612d25565b9392505050565b600060408201905061304a6000830185612d25565b6130576020830184612fd3565b9392505050565b600060c0820190506130736000830189612d25565b6130806020830188612fd3565b61308d6040830187612da1565b61309a6060830186612da1565b6130a76080830185612d25565b6130b460a0830184612fd3565b979650505050505050565b60006020820190506130d46000830184612d92565b92915050565b600060208201905081810360008301526130f48184612db0565b905092915050565b6000602082019050818103600083015261311581612de9565b9050919050565b6000602082019050818103600083015261313581612e0c565b9050919050565b6000602082019050818103600083015261315581612e2f565b9050919050565b6000602082019050818103600083015261317581612e52565b9050919050565b6000602082019050818103600083015261319581612e75565b9050919050565b600060208201905081810360008301526131b581612e98565b9050919050565b600060208201905081810360008301526131d581612ebb565b9050919050565b600060208201905081810360008301526131f581612ede565b9050919050565b6000602082019050818103600083015261321581612f01565b9050919050565b6000602082019050818103600083015261323581612f24565b9050919050565b6000602082019050818103600083015261325581612f47565b9050919050565b6000602082019050818103600083015261327581612f6a565b9050919050565b6000602082019050818103600083015261329581612f8d565b9050919050565b600060208201905081810360008301526132b581612fb0565b9050919050565b60006020820190506132d16000830184612fd3565b92915050565b600060a0820190506132ec6000830188612fd3565b6132f96020830187612da1565b818103604083015261330b8186612d34565b905061331a6060830185612d25565b6133276080830184612fd3565b9695505050505050565b60006020820190506133466000830184612fe2565b92915050565b6000819050602082019050919050565b600081519050919050565b600081519050919050565b6000602082019050919050565b600082825260208201905092915050565b600082825260208201905092915050565b60006133ac826134f4565b91506133b7836134f4565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff038211156133ec576133eb6135ca565b5b828201905092915050565b6000613402826134f4565b915061340d836134f4565b92508261341d5761341c6135f9565b5b828204905092915050565b6000613433826134f4565b915061343e836134f4565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615613477576134766135ca565b5b828202905092915050565b600061348d826134f4565b9150613498836134f4565b9250828210156134ab576134aa6135ca565b5b828203905092915050565b60006134c1826134d4565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b6000613516826134f4565b9050919050565b60005b8381101561353b578082015181840152602081019050613520565b8381111561354a576000848401525b50505050565b600061355b826134f4565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82141561358e5761358d6135ca565b5b600182019050919050565b60006135a4826134f4565b91506135af836134f4565b9250826135bf576135be6135f9565b5b828206905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000601f19601f8301169050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b7f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260008201527f65666c656374696f6e7300000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b7f596f75722062757920636f6f6c646f776e20686173206e6f742065787069726560008201527f642e000000000000000000000000000000000000000000000000000000000000602082015250565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b7f526174652063616e277420657863656564203530250000000000000000000000600082015250565b7f596f75722073656c6c20636f6f6c646f776e20686173206e6f7420657870697260008201527f65642e0000000000000000000000000000000000000000000000000000000000602082015250565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b7f5472616e7366657220616d6f756e74206d75737420626520677265617465722060008201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b7f74726164696e6720697320616c7265616479206f70656e000000000000000000600082015250565b7f54726164696e67206e6f742079657420656e61626c65642e0000000000000000600082015250565b6139d6816134b6565b81146139e157600080fd5b50565b6139ed816134c8565b81146139f857600080fd5b50565b613a04816134f4565b8114613a0f57600080fd5b5056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a264697066735822122040ec32bfd6b8b24e72c3901bb4a1b457cf7694cde6fbfee8d58767784dada21564736f6c63430008040033
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
000000000000000000000000b6156ec85e99f9e0d0616040b43d9c0003723f0f000000000000000000000000c2fa0795732a5bbcc1b4bf86787b221576549800
-----Decoded View---------------
Arg [0] : FeeAddress (address): 0xb6156EC85E99f9e0d0616040B43d9C0003723f0F
Arg [1] : marketingWalletAddress (address): 0xc2Fa0795732A5BbCc1b4BF86787b221576549800
-----Encoded View---------------
2 Constructor Arguments found :
Arg [0] : 000000000000000000000000b6156ec85e99f9e0d0616040b43d9c0003723f0f
Arg [1] : 000000000000000000000000c2fa0795732a5bbcc1b4bf86787b221576549800
Deployed Bytecode Sourcemap
6504:13633:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8808:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9660:161;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9085:95;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9829:313;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;19555:100;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8994:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;19161:218;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;19387:160;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;19767:124;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;18893:190;;;;;;;;;;;;;:::i;:::-;;9188:138;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5583:148;;;;;;;;;;;;;:::i;:::-;;5369:79;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8899:87;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9334:167;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;19663:96;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;19899:126;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;18690:191;;;;;;;;;;;;;:::i;:::-;;18549:133;;;;;;;;;;;;;:::i;:::-;;20033:101;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9509:143;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;17775:766;;;;;;;;;;;;;:::i;:::-;;8808:83;8845:13;8878:5;;;;;;;;;;;;;;;;;8871:12;;8808:83;:::o;9660:161::-;9735:4;9752:39;9761:12;:10;:12::i;:::-;9775:7;9784:6;9752:8;:39::i;:::-;9809:4;9802:11;;9660:161;;;;:::o;9085:95::-;9138:7;6956:12;9158:14;;9085:95;:::o;9829:313::-;9927:4;9944:36;9954:6;9962:9;9973:6;9944:9;:36::i;:::-;9991:121;10000:6;10008:12;:10;:12::i;:::-;10022:89;10060:6;10022:89;;;;;;;;;;;;;;;;;:11;:19;10034:6;10022:19;;;;;;;;;;;;;;;:33;10042:12;:10;:12::i;:::-;10022:33;;;;;;;;;;;;;;;;:37;;:89;;;;;:::i;:::-;9991:8;:121::i;:::-;10130:4;10123:11;;9829:313;;;;;:::o;19555:100::-;19599:4;19623:24;19641:4;19623:9;:24::i;:::-;19616:31;;19555:100;:::o;8994:83::-;9035:5;7233:1;9053:16;;8994:83;:::o;19161:218::-;19239:11;;;;;;;;;;;19223:27;;:12;:10;:12::i;:::-;:27;;;19215:36;;;;;;19277:2;19270:4;:9;19262:43;;;;;;;;;;;;:::i;:::-;;;;;;;;;19327:4;19316:8;:15;;;;19347:24;19362:8;;19347:24;;;;;;:::i;:::-;;;;;;;;19161:218;:::o;19387:160::-;5506:12;:10;:12::i;:::-;5496:22;;:6;;;;;;;;;;:22;;;5488:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;19478:5:::1;19459:16;;:24;;;;;;;;;;;;;;;;;;19499:40;19522:16;;;;;;;;;;;19499:40;;;;;;:::i;:::-;;;;;;;;19387:160:::0;:::o;19767:124::-;19822:4;19864:8;:15;19873:5;19864:15;;;;;;;;;;;;;;;:19;;;19846:15;:37;;;;:::i;:::-;19839:44;;19767:124;;;:::o;18893:190::-;18959:11;;;;;;;;;;;18943:27;;:12;:10;:12::i;:::-;:27;;;18935:36;;;;;;18982:26;19011:21;18982:50;;19043:32;19056:18;19043:12;:32::i;:::-;18893:190;:::o;9188:138::-;9254:7;9281:37;9301:7;:16;9309:7;9301:16;;;;;;;;;;;;;;;;9281:19;:37::i;:::-;9274:44;;9188:138;;;:::o;5583:148::-;5506:12;:10;:12::i;:::-;5496:22;;:6;;;;;;;;;;:22;;;5488:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;5690:1:::1;5653:40;;5674:6;::::0;::::1;;;;;;;;5653:40;;;;;;;;;;;;5721:1;5704:6:::0;::::1;:19;;;;;;;;;;;;;;;;;;5583:148::o:0;5369:79::-;5407:7;5434:6;;;;;;;;;;;5427:13;;5369:79;:::o;8899:87::-;8938:13;8971:7;;;;;;;;;;;;;;;;;8964:14;;8899:87;:::o;9334:167::-;9412:4;9429:42;9439:12;:10;:12::i;:::-;9453:9;9464:6;9429:9;:42::i;:::-;9489:4;9482:11;;9334:167;;;;:::o;19663:96::-;19711:4;19735:16;;;;;;;;;;;19728:23;;19663:96;:::o;19899:126::-;19955:4;19997:8;:15;20006:5;19997:15;;;;;;;;;;;;;;;:20;;;19979:15;:38;;;;:::i;:::-;19972:45;;19899:126;;;:::o;18690:191::-;18756:11;;;;;;;;;;;18740:27;;:12;:10;:12::i;:::-;:27;;;18732:36;;;;;;18779:23;18805:24;18823:4;18805:9;:24::i;:::-;18779:50;;18840:33;18857:15;18840:16;:33::i;:::-;18690:191;:::o;18549:133::-;5506:12;:10;:12::i;:::-;5496:22;;:6;;;;;;;;;;:22;;;5488:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;18614:4:::1;18600:11;::::0;:18:::1;;;;;;;;;;;;;;;;;;18662:11;18643:15;:31;;;;:::i;:::-;18629:11;:45;;;;18549:133::o:0;20033:101::-;20078:4;20102:24;20112:13;;;;;;;;;;;20102:9;:24::i;:::-;20095:31;;20033:101;:::o;9509:143::-;9590:7;9617:11;:18;9629:5;9617:18;;;;;;;;;;;;;;;:27;9636:7;9617:27;;;;;;;;;;;;;;;;9610:34;;9509:143;;;;:::o;17775:766::-;5506:12;:10;:12::i;:::-;5496:22;;:6;;;;;;;;;;:22;;;5488:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;17840:11:::1;::::0;::::1;;;;;;;;17839:12;17831:47;;;;;;;;;;;;:::i;:::-;;;;;;;;;17889:35;17946:42;17889:100;;18018:16;18000:15;;:34;;;;;;;;;;;;;;;;;;18045:58;18062:4;18077:15;;;;;;;;;;;6956:12;18045:8;:58::i;:::-;18148:16;:24;;;:26;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;18130:56;;;18195:4;18202:16;:21;;;:23;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;18130:96;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;18114:13;;:112;;;;;;;;;;;;;;;;;;18237:15;;;;;;;;;;;:31;;;18276:21;18307:4;18313:24;18331:4;18313:9;:24::i;:::-;18338:1;18340::::0;18342:7:::1;:5;:7::i;:::-;18350:15;18237:129;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;18393:18;18377:13;:34;;;;18436:15;18422:11;:29;;;;18469:13;;;;;;;;;;;18462:29;;;18500:15;;;;;;;;;;;18518:14;18462:71;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;5566:1;17775:766::o:0;2778:98::-;2831:7;2858:10;2851:17;;2778:98;:::o;11216:335::-;11326:1;11309:19;;:5;:19;;;;11301:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;11407:1;11388:21;;:7;:21;;;;11380:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;11489:6;11459:11;:18;11471:5;11459:18;;;;;;;;;;;;;;;:27;11478:7;11459:27;;;;;;;;;;;;;;;:36;;;;11527:7;11511:32;;11520:5;11511:32;;;11536:6;11511:32;;;;;;:::i;:::-;;;;;;;;11216:335;;;:::o;11559:2666::-;11663:1;11647:18;;:4;:18;;;;11639:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;11740:1;11726:16;;:2;:16;;;;11718:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;11810:1;11801:6;:10;11793:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;11881:7;:5;:7::i;:::-;11873:15;;:4;:15;;;;:32;;;;;11898:7;:5;:7::i;:::-;11892:13;;:2;:13;;;;11873:32;11870:2151;;;11925:16;;;;;;;;;;;11922:168;;;11966:8;:20;11975:10;11966:20;;;;;;;;;;;;;;;:27;;;;;;;;;;;;11962:113;;12041:14;;;;;;;;12046:1;12041:14;;;;12048:1;12041:14;;;;12050:4;12041:14;;;;;12018:8;:20;12027:10;12018:20;;;;;;;;;;;;;;;:37;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11962:113;11922:168;12137:13;;;;;;;;;;;12129:21;;:4;:21;;;:55;;;;;12168:15;;;;;;;;;;;12154:30;;:2;:30;;;;12129:55;:82;;;;;12189:18;:22;12208:2;12189:22;;;;;;;;;;;;;;;;;;;;;;;;;12188:23;12129:82;12126:745;;;12240:11;;;;;;;;;;12232:48;;;;;;;;;;;;:::i;:::-;;;;;;;;;12309:1;12299:7;:11;;;;12340:1;12329:8;:12;;;;12363:16;;;;;;;;;;;12360:364;;;12421:15;12407:11;;:29;12404:301;;;12483:13;;12473:6;:23;;12465:32;;;;;;12551:15;12532:8;:12;12541:2;12532:12;;;;;;;;;;;;;;;:16;;;:34;12524:81;;;;;;;;;;;;:::i;:::-;;;;;;;;;12670:10;12651:15;:30;;;;:::i;:::-;12632:8;:12;12641:2;12632:12;;;;;;;;;;;;;;;:16;;:49;;;;12404:301;12360:364;12745:16;;;;;;;;;;;12742:114;;;12825:10;12806:15;:30;;;;:::i;:::-;12786:8;:12;12795:2;12786:12;;;;;;;;;;;;;;;:17;;:50;;;;12742:114;12126:745;12885:28;12916:24;12934:4;12916:9;:24::i;:::-;12885:55;;12982:6;;;;;;;;;;;12981:7;:32;;;;;13000:13;;;;;;;;;;;12992:21;;:4;:21;;;;12981:32;:47;;;;;13017:11;;;;;;;;;;12981:47;12978:1032;;;13054:16;;;;;;;;;;;13051:149;;;13125:15;13103:8;:14;13112:4;13103:14;;;;;;;;;;;;;;;:19;;;:37;13095:85;;;;;;;;;;;;:::i;:::-;;;;;;;;;13051:149;13223:19;;;;;;;;;;;13220:235;;;13267:16;13286:26;13297:14;;13286:6;:10;;:26;;;;:::i;:::-;13267:45;;13346:50;13359:36;13388:6;13359:24;13369:13;;;;;;;;;;;13359:9;:24::i;:::-;:28;;:36;;;;:::i;:::-;13346:8;:12;;:50;;;;:::i;:::-;13335:61;;13419:16;13426:8;13419:6;:16::i;:::-;13220:235;;13501:1;13478:20;:24;13475:328;;;13553:47;13596:3;13553:38;13582:8;;13553:24;13563:13;;;;;;;;;;;13553:9;:24::i;:::-;:28;;:38;;;;:::i;:::-;:42;;:47;;;;:::i;:::-;13530:20;:70;13527:196;;;13652:47;13695:3;13652:38;13681:8;;13652:24;13662:13;;;;;;;;;;;13652:9;:24::i;:::-;:28;;:38;;;;:::i;:::-;:42;;:47;;;;:::i;:::-;13629:70;;13527:196;13745:38;13762:20;13745:16;:38::i;:::-;13475:328;13821:26;13850:21;13821:50;;13914:1;13893:18;:22;13890:105;;;13940:35;13953:21;13940:12;:35::i;:::-;13890:105;12978:1032;;11870:2151;;14031:12;14046:4;14031:19;;14066:18;:24;14085:4;14066:24;;;;;;;;;;;;;;;;;;;;;;;;;:50;;;;14094:18;:22;14113:2;14094:22;;;;;;;;;;;;;;;;;;;;;;;;;14066:50;14063:96;;;14142:5;14132:15;;14063:96;14179:38;14194:4;14199:2;14202:6;14209:7;14179:14;:38::i;:::-;11559:2666;;;;:::o;3915:190::-;4001:7;4034:1;4029;:6;;4037:12;4021:29;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;4061:9;4077:1;4073;:5;;;;:::i;:::-;4061:17;;4096:1;4089:8;;;3915:190;;;;;:::o;14732:158::-;14789:11;;;;;;;;;;;:20;;:35;14810:13;14821:1;14810:6;:10;;:13;;;;:::i;:::-;14789:35;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14835:23;;;;;;;;;;;:32;;:47;14868:13;14879:1;14868:6;:10;;:13;;;;:::i;:::-;14835:47;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14732:158;:::o;10150:254::-;10217:7;10256;;10245;:18;;10237:73;;;;;;;;;;;;:::i;:::-;;;;;;;;;10321:19;10344:10;:8;:10::i;:::-;10321:33;;10372:24;10384:11;10372:7;:11;;:24;;;;:::i;:::-;10365:31;;;10150:254;;;:::o;14233:483::-;8257:4;8248:6;;:13;;;;;;;;;;;;;;;;;;14311:21:::1;14349:1;14335:16;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14311:40;;14380:4;14362;14367:1;14362:7;;;;;;;;;;;;;;;;;;;;;:23;;;;;;;;;::::0;::::1;14406:15;;;;;;;;;;;:20;;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;14396:4;14401:1;14396:7;;;;;;;;;;;;;;;;;;;;;:32;;;;;;;;;::::0;::::1;14439:62;14456:4;14471:15;;;;;;;;;;;14489:11;14439:8;:62::i;:::-;14512:15;;;;;;;;;;;:66;;;14593:11;14619:1;14635:4;14662;14682:15;14512:196;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;8272:1;8293:5:::0;8284:6;;:14;;;;;;;;;;;;;;;;;;14233:483;:::o;4113:245::-;4171:7;4199:1;4194;:6;4191:46;;;4224:1;4217:8;;;;4191:46;4247:9;4263:1;4259;:5;;;;:::i;:::-;4247:17;;4292:1;4287;4283;:5;;;;:::i;:::-;:10;4275:56;;;;;;;;;;;;:::i;:::-;;;;;;;;;4349:1;4342:8;;;4113:245;;;;;:::o;3584:179::-;3642:7;3662:9;3678:1;3674;:5;;;;:::i;:::-;3662:17;;3703:1;3698;:6;;3690:46;;;;;;;;;;;;:::i;:::-;;;;;;;;;3754:1;3747:8;;;3584:179;;;;:::o;4366:132::-;4424:7;4451:39;4455:1;4458;4451:39;;;;;;;;;;;;;;;;;:3;:39::i;:::-;4444:46;;4366:132;;;;:::o;10757:451::-;10811:18;10832:2;10811:23;;10860:2;10848:9;:14;10845:183;;;10892:2;10879:15;;10845:183;;;10927:2;10915:9;:14;10912:116;;;10959:2;10946:15;;10912:116;;;11007:9;10994:22;;10912:116;10845:183;11062:1;11041:17;11056:1;11041:10;:14;;:17;;;;:::i;:::-;:22;11038:66;;11080:12;;;;;:::i;:::-;;;;11038:66;11124:27;11148:2;11125:17;11140:1;11125:10;:14;;:17;;;;:::i;:::-;11124:23;;:27;;;;:::i;:::-;11114:7;:37;;;;11173:27;11197:2;11174:17;11189:1;11174:10;:14;;:17;;;;:::i;:::-;11173:23;;:27;;;;:::i;:::-;11162:8;:38;;;;10757:451;;:::o;14902:263::-;15014:7;15010:40;;15036:14;:12;:14::i;:::-;15010:40;15061:44;15079:6;15087:9;15098:6;15061:17;:44::i;:::-;15120:7;15116:41;;15142:15;:13;:15::i;:::-;15116:41;14902:263;;;;:::o;16506:163::-;16547:7;16568:15;16585;16604:19;:17;:19::i;:::-;16567:56;;;;16641:20;16653:7;16641;:11;;:20;;;;:::i;:::-;16634:27;;;;16506:163;:::o;4506:189::-;4592:7;4624:1;4620;:5;4627:12;4612:28;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;4651:9;4667:1;4663;:5;;;;:::i;:::-;4651:17;;4686:1;4679:8;;;4506:189;;;;;:::o;4703:130::-;4761:7;4788:37;4792:1;4795;4788:37;;;;;;;;;;;;;;;;;:3;:37::i;:::-;4781:44;;4703:130;;;;:::o;10412:210::-;10469:1;10458:7;;:12;:29;;;;;10486:1;10474:8;;:13;10458:29;10455:41;;;10489:7;;10455:41;10524:7;;10506:15;:25;;;;10561:8;;10542:16;:27;;;;10590:1;10580:7;:11;;;;10613:1;10602:8;:12;;;;10412:210;:::o;15173:490::-;15272:15;15289:23;15314:12;15328:23;15353:12;15367:13;15384:19;15395:7;15384:10;:19::i;:::-;15271:132;;;;;;;;;;;;15432:28;15452:7;15432;:15;15440:6;15432:15;;;;;;;;;;;;;;;;:19;;:28;;;;:::i;:::-;15414:7;:15;15422:6;15414:15;;;;;;;;;;;;;;;:46;;;;15492:39;15515:15;15492:7;:18;15500:9;15492:18;;;;;;;;;;;;;;;;:22;;:39;;;;:::i;:::-;15471:7;:18;15479:9;15471:18;;;;;;;;;;;;;;;:60;;;;15545:16;15555:5;15545:9;:16::i;:::-;15572:23;15584:4;15590;15572:11;:23::i;:::-;15628:9;15611:44;;15620:6;15611:44;;;15639:15;15611:44;;;;;;:::i;:::-;;;;;;;;15173:490;;;;;;;;;:::o;10634:115::-;10688:15;;10678:7;:25;;;;10725:16;;10714:8;:27;;;;10634:115::o;16677:255::-;16727:7;16736;16756:15;16774:7;;16756:25;;16792:15;6956:12;16792:25;;16841:20;6956:12;16841:7;;:11;;:20;;;;:::i;:::-;16831:7;:30;16828:60;;;16871:7;;6956:12;16863:25;;;;;;;;16828:60;16907:7;16916;16899:25;;;;;;16677:255;;;:::o;4841:166::-;4927:7;4960:1;4955;:6;;4963:12;4947:29;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;4998:1;4994;:5;;;;:::i;:::-;4987:12;;4841:166;;;;;:::o;15671:468::-;15730:7;15739;15748;15757;15766;15775;15796:23;15821:12;15835:13;15852:39;15864:7;15873;;15882:8;;15852:11;:39::i;:::-;15795:96;;;;;;15902:19;15925:10;:8;:10::i;:::-;15902:33;;15947:15;15964:23;15989:12;16005:46;16017:7;16026:4;16032:5;16039:11;16005;:46::i;:::-;15946:105;;;;;;16070:7;16079:15;16096:4;16102:15;16119:4;16125:5;16062:69;;;;;;;;;;;;;;;;;;;15671:468;;;;;;;:::o;3771:136::-;3829:7;3856:43;3860:1;3863;3856:43;;;;;;;;;;;;;;;;;:3;:43::i;:::-;3849:50;;3771:136;;;;:::o;17357:214::-;17410:19;17433:10;:8;:10::i;:::-;17410:33;;17454:13;17470:22;17480:11;17470:5;:9;;:22;;;;:::i;:::-;17454:38;;17530:33;17557:5;17530:7;:22;17546:4;17530:22;;;;;;;;;;;;;;;;:26;;:33;;;;:::i;:::-;17505:7;:22;17521:4;17505:22;;;;;;;;;;;;;;;:58;;;;17357:214;;;:::o;17579:147::-;17657:17;17669:4;17657:7;;:11;;:17;;;;:::i;:::-;17647:7;:27;;;;17698:20;17713:4;17698:10;;:14;;:20;;;;:::i;:::-;17685:10;:33;;;;17579:147;;:::o;16147:351::-;16240:7;16249;16258;16278:12;16293:28;16317:3;16293:19;16305:6;16293:7;:11;;:19;;;;:::i;:::-;:23;;:28;;;;:::i;:::-;16278:43;;16332:13;16348:29;16373:3;16348:20;16360:7;16348;:11;;:20;;;;:::i;:::-;:24;;:29;;;;:::i;:::-;16332:45;;16388:23;16414:28;16436:5;16414:17;16426:4;16414:7;:11;;:17;;;;:::i;:::-;:21;;:28;;;;:::i;:::-;16388:54;;16461:15;16478:4;16484:5;16453:37;;;;;;;;;16147:351;;;;;;;:::o;16940:409::-;17050:7;17059;17068;17088:15;17106:24;17118:11;17106:7;:11;;:24;;;;:::i;:::-;17088:42;;17141:12;17156:21;17165:11;17156:4;:8;;:21;;;;:::i;:::-;17141:36;;17188:13;17204:22;17214:11;17204:5;:9;;:22;;;;:::i;:::-;17188:38;;17237:23;17263:28;17285:5;17263:17;17275:4;17263:7;:11;;:17;;;;:::i;:::-;:21;;:28;;;;:::i;:::-;17237:54;;17310:7;17319:15;17336:4;17302:39;;;;;;;;;;16940:409;;;;;;;;:::o;7:139:1:-;53:5;91:6;78:20;69:29;;107:33;134:5;107:33;:::i;:::-;59:87;;;;:::o;152:143::-;209:5;240:6;234:13;225:22;;256:33;283:5;256:33;:::i;:::-;215:80;;;;:::o;301:133::-;344:5;382:6;369:20;360:29;;398:30;422:5;398:30;:::i;:::-;350:84;;;;:::o;440:137::-;494:5;525:6;519:13;510:22;;541:30;565:5;541:30;:::i;:::-;500:77;;;;:::o;583:139::-;629:5;667:6;654:20;645:29;;683:33;710:5;683:33;:::i;:::-;635:87;;;;:::o;728:143::-;785:5;816:6;810:13;801:22;;832:33;859:5;832:33;:::i;:::-;791:80;;;;:::o;877:262::-;936:6;985:2;973:9;964:7;960:23;956:32;953:2;;;1001:1;998;991:12;953:2;1044:1;1069:53;1114:7;1105:6;1094:9;1090:22;1069:53;:::i;:::-;1059:63;;1015:117;943:196;;;;:::o;1145:284::-;1215:6;1264:2;1252:9;1243:7;1239:23;1235:32;1232:2;;;1280:1;1277;1270:12;1232:2;1323:1;1348:64;1404:7;1395:6;1384:9;1380:22;1348:64;:::i;:::-;1338:74;;1294:128;1222:207;;;;:::o;1435:407::-;1503:6;1511;1560:2;1548:9;1539:7;1535:23;1531:32;1528:2;;;1576:1;1573;1566:12;1528:2;1619:1;1644:53;1689:7;1680:6;1669:9;1665:22;1644:53;:::i;:::-;1634:63;;1590:117;1746:2;1772:53;1817:7;1808:6;1797:9;1793:22;1772:53;:::i;:::-;1762:63;;1717:118;1518:324;;;;;:::o;1848:552::-;1925:6;1933;1941;1990:2;1978:9;1969:7;1965:23;1961:32;1958:2;;;2006:1;2003;1996:12;1958:2;2049:1;2074:53;2119:7;2110:6;2099:9;2095:22;2074:53;:::i;:::-;2064:63;;2020:117;2176:2;2202:53;2247:7;2238:6;2227:9;2223:22;2202:53;:::i;:::-;2192:63;;2147:118;2304:2;2330:53;2375:7;2366:6;2355:9;2351:22;2330:53;:::i;:::-;2320:63;;2275:118;1948:452;;;;;:::o;2406:407::-;2474:6;2482;2531:2;2519:9;2510:7;2506:23;2502:32;2499:2;;;2547:1;2544;2537:12;2499:2;2590:1;2615:53;2660:7;2651:6;2640:9;2636:22;2615:53;:::i;:::-;2605:63;;2561:117;2717:2;2743:53;2788:7;2779:6;2768:9;2764:22;2743:53;:::i;:::-;2733:63;;2688:118;2489:324;;;;;:::o;2819:256::-;2875:6;2924:2;2912:9;2903:7;2899:23;2895:32;2892:2;;;2940:1;2937;2930:12;2892:2;2983:1;3008:50;3050:7;3041:6;3030:9;3026:22;3008:50;:::i;:::-;2998:60;;2954:114;2882:193;;;;:::o;3081:278::-;3148:6;3197:2;3185:9;3176:7;3172:23;3168:32;3165:2;;;3213:1;3210;3203:12;3165:2;3256:1;3281:61;3334:7;3325:6;3314:9;3310:22;3281:61;:::i;:::-;3271:71;;3227:125;3155:204;;;;:::o;3365:262::-;3424:6;3473:2;3461:9;3452:7;3448:23;3444:32;3441:2;;;3489:1;3486;3479:12;3441:2;3532:1;3557:53;3602:7;3593:6;3582:9;3578:22;3557:53;:::i;:::-;3547:63;;3503:117;3431:196;;;;:::o;3633:596::-;3721:6;3729;3737;3786:2;3774:9;3765:7;3761:23;3757:32;3754:2;;;3802:1;3799;3792:12;3754:2;3845:1;3870:64;3926:7;3917:6;3906:9;3902:22;3870:64;:::i;:::-;3860:74;;3816:128;3983:2;4009:64;4065:7;4056:6;4045:9;4041:22;4009:64;:::i;:::-;3999:74;;3954:129;4122:2;4148:64;4204:7;4195:6;4184:9;4180:22;4148:64;:::i;:::-;4138:74;;4093:129;3744:485;;;;;:::o;4235:179::-;4304:10;4325:46;4367:3;4359:6;4325:46;:::i;:::-;4403:4;4398:3;4394:14;4380:28;;4315:99;;;;:::o;4420:108::-;4497:24;4515:5;4497:24;:::i;:::-;4492:3;4485:37;4475:53;;:::o;4534:118::-;4621:24;4639:5;4621:24;:::i;:::-;4616:3;4609:37;4599:53;;:::o;4688:732::-;4807:3;4836:54;4884:5;4836:54;:::i;:::-;4906:86;4985:6;4980:3;4906:86;:::i;:::-;4899:93;;5016:56;5066:5;5016:56;:::i;:::-;5095:7;5126:1;5111:284;5136:6;5133:1;5130:13;5111:284;;;5212:6;5206:13;5239:63;5298:3;5283:13;5239:63;:::i;:::-;5232:70;;5325:60;5378:6;5325:60;:::i;:::-;5315:70;;5171:224;5158:1;5155;5151:9;5146:14;;5111:284;;;5115:14;5411:3;5404:10;;4812:608;;;;;;;:::o;5426:109::-;5507:21;5522:5;5507:21;:::i;:::-;5502:3;5495:34;5485:50;;:::o;5541:147::-;5636:45;5675:5;5636:45;:::i;:::-;5631:3;5624:58;5614:74;;:::o;5694:364::-;5782:3;5810:39;5843:5;5810:39;:::i;:::-;5865:71;5929:6;5924:3;5865:71;:::i;:::-;5858:78;;5945:52;5990:6;5985:3;5978:4;5971:5;5967:16;5945:52;:::i;:::-;6022:29;6044:6;6022:29;:::i;:::-;6017:3;6013:39;6006:46;;5786:272;;;;;:::o;6064:366::-;6206:3;6227:67;6291:2;6286:3;6227:67;:::i;:::-;6220:74;;6303:93;6392:3;6303:93;:::i;:::-;6421:2;6416:3;6412:12;6405:19;;6210:220;;;:::o;6436:366::-;6578:3;6599:67;6663:2;6658:3;6599:67;:::i;:::-;6592:74;;6675:93;6764:3;6675:93;:::i;:::-;6793:2;6788:3;6784:12;6777:19;;6582:220;;;:::o;6808:366::-;6950:3;6971:67;7035:2;7030:3;6971:67;:::i;:::-;6964:74;;7047:93;7136:3;7047:93;:::i;:::-;7165:2;7160:3;7156:12;7149:19;;6954:220;;;:::o;7180:366::-;7322:3;7343:67;7407:2;7402:3;7343:67;:::i;:::-;7336:74;;7419:93;7508:3;7419:93;:::i;:::-;7537:2;7532:3;7528:12;7521:19;;7326:220;;;:::o;7552:366::-;7694:3;7715:67;7779:2;7774:3;7715:67;:::i;:::-;7708:74;;7791:93;7880:3;7791:93;:::i;:::-;7909:2;7904:3;7900:12;7893:19;;7698:220;;;:::o;7924:366::-;8066:3;8087:67;8151:2;8146:3;8087:67;:::i;:::-;8080:74;;8163:93;8252:3;8163:93;:::i;:::-;8281:2;8276:3;8272:12;8265:19;;8070:220;;;:::o;8296:366::-;8438:3;8459:67;8523:2;8518:3;8459:67;:::i;:::-;8452:74;;8535:93;8624:3;8535:93;:::i;:::-;8653:2;8648:3;8644:12;8637:19;;8442:220;;;:::o;8668:366::-;8810:3;8831:67;8895:2;8890:3;8831:67;:::i;:::-;8824:74;;8907:93;8996:3;8907:93;:::i;:::-;9025:2;9020:3;9016:12;9009:19;;8814:220;;;:::o;9040:366::-;9182:3;9203:67;9267:2;9262:3;9203:67;:::i;:::-;9196:74;;9279:93;9368:3;9279:93;:::i;:::-;9397:2;9392:3;9388:12;9381:19;;9186:220;;;:::o;9412:366::-;9554:3;9575:67;9639:2;9634:3;9575:67;:::i;:::-;9568:74;;9651:93;9740:3;9651:93;:::i;:::-;9769:2;9764:3;9760:12;9753:19;;9558:220;;;:::o;9784:366::-;9926:3;9947:67;10011:2;10006:3;9947:67;:::i;:::-;9940:74;;10023:93;10112:3;10023:93;:::i;:::-;10141:2;10136:3;10132:12;10125:19;;9930:220;;;:::o;10156:366::-;10298:3;10319:67;10383:2;10378:3;10319:67;:::i;:::-;10312:74;;10395:93;10484:3;10395:93;:::i;:::-;10513:2;10508:3;10504:12;10497:19;;10302:220;;;:::o;10528:366::-;10670:3;10691:67;10755:2;10750:3;10691:67;:::i;:::-;10684:74;;10767:93;10856:3;10767:93;:::i;:::-;10885:2;10880:3;10876:12;10869:19;;10674:220;;;:::o;10900:366::-;11042:3;11063:67;11127:2;11122:3;11063:67;:::i;:::-;11056:74;;11139:93;11228:3;11139:93;:::i;:::-;11257:2;11252:3;11248:12;11241:19;;11046:220;;;:::o;11272:118::-;11359:24;11377:5;11359:24;:::i;:::-;11354:3;11347:37;11337:53;;:::o;11396:112::-;11479:22;11495:5;11479:22;:::i;:::-;11474:3;11467:35;11457:51;;:::o;11514:222::-;11607:4;11645:2;11634:9;11630:18;11622:26;;11658:71;11726:1;11715:9;11711:17;11702:6;11658:71;:::i;:::-;11612:124;;;;:::o;11742:332::-;11863:4;11901:2;11890:9;11886:18;11878:26;;11914:71;11982:1;11971:9;11967:17;11958:6;11914:71;:::i;:::-;11995:72;12063:2;12052:9;12048:18;12039:6;11995:72;:::i;:::-;11868:206;;;;;:::o;12080:332::-;12201:4;12239:2;12228:9;12224:18;12216:26;;12252:71;12320:1;12309:9;12305:17;12296:6;12252:71;:::i;:::-;12333:72;12401:2;12390:9;12386:18;12377:6;12333:72;:::i;:::-;12206:206;;;;;:::o;12418:807::-;12667:4;12705:3;12694:9;12690:19;12682:27;;12719:71;12787:1;12776:9;12772:17;12763:6;12719:71;:::i;:::-;12800:72;12868:2;12857:9;12853:18;12844:6;12800:72;:::i;:::-;12882:80;12958:2;12947:9;12943:18;12934:6;12882:80;:::i;:::-;12972;13048:2;13037:9;13033:18;13024:6;12972:80;:::i;:::-;13062:73;13130:3;13119:9;13115:19;13106:6;13062:73;:::i;:::-;13145;13213:3;13202:9;13198:19;13189:6;13145:73;:::i;:::-;12672:553;;;;;;;;;:::o;13231:210::-;13318:4;13356:2;13345:9;13341:18;13333:26;;13369:65;13431:1;13420:9;13416:17;13407:6;13369:65;:::i;:::-;13323:118;;;;:::o;13447:313::-;13560:4;13598:2;13587:9;13583:18;13575:26;;13647:9;13641:4;13637:20;13633:1;13622:9;13618:17;13611:47;13675:78;13748:4;13739:6;13675:78;:::i;:::-;13667:86;;13565:195;;;;:::o;13766:419::-;13932:4;13970:2;13959:9;13955:18;13947:26;;14019:9;14013:4;14009:20;14005:1;13994:9;13990:17;13983:47;14047:131;14173:4;14047:131;:::i;:::-;14039:139;;13937:248;;;:::o;14191:419::-;14357:4;14395:2;14384:9;14380:18;14372:26;;14444:9;14438:4;14434:20;14430:1;14419:9;14415:17;14408:47;14472:131;14598:4;14472:131;:::i;:::-;14464:139;;14362:248;;;:::o;14616:419::-;14782:4;14820:2;14809:9;14805:18;14797:26;;14869:9;14863:4;14859:20;14855:1;14844:9;14840:17;14833:47;14897:131;15023:4;14897:131;:::i;:::-;14889:139;;14787:248;;;:::o;15041:419::-;15207:4;15245:2;15234:9;15230:18;15222:26;;15294:9;15288:4;15284:20;15280:1;15269:9;15265:17;15258:47;15322:131;15448:4;15322:131;:::i;:::-;15314:139;;15212:248;;;:::o;15466:419::-;15632:4;15670:2;15659:9;15655:18;15647:26;;15719:9;15713:4;15709:20;15705:1;15694:9;15690:17;15683:47;15747:131;15873:4;15747:131;:::i;:::-;15739:139;;15637:248;;;:::o;15891:419::-;16057:4;16095:2;16084:9;16080:18;16072:26;;16144:9;16138:4;16134:20;16130:1;16119:9;16115:17;16108:47;16172:131;16298:4;16172:131;:::i;:::-;16164:139;;16062:248;;;:::o;16316:419::-;16482:4;16520:2;16509:9;16505:18;16497:26;;16569:9;16563:4;16559:20;16555:1;16544:9;16540:17;16533:47;16597:131;16723:4;16597:131;:::i;:::-;16589:139;;16487:248;;;:::o;16741:419::-;16907:4;16945:2;16934:9;16930:18;16922:26;;16994:9;16988:4;16984:20;16980:1;16969:9;16965:17;16958:47;17022:131;17148:4;17022:131;:::i;:::-;17014:139;;16912:248;;;:::o;17166:419::-;17332:4;17370:2;17359:9;17355:18;17347:26;;17419:9;17413:4;17409:20;17405:1;17394:9;17390:17;17383:47;17447:131;17573:4;17447:131;:::i;:::-;17439:139;;17337:248;;;:::o;17591:419::-;17757:4;17795:2;17784:9;17780:18;17772:26;;17844:9;17838:4;17834:20;17830:1;17819:9;17815:17;17808:47;17872:131;17998:4;17872:131;:::i;:::-;17864:139;;17762:248;;;:::o;18016:419::-;18182:4;18220:2;18209:9;18205:18;18197:26;;18269:9;18263:4;18259:20;18255:1;18244:9;18240:17;18233:47;18297:131;18423:4;18297:131;:::i;:::-;18289:139;;18187:248;;;:::o;18441:419::-;18607:4;18645:2;18634:9;18630:18;18622:26;;18694:9;18688:4;18684:20;18680:1;18669:9;18665:17;18658:47;18722:131;18848:4;18722:131;:::i;:::-;18714:139;;18612:248;;;:::o;18866:419::-;19032:4;19070:2;19059:9;19055:18;19047:26;;19119:9;19113:4;19109:20;19105:1;19094:9;19090:17;19083:47;19147:131;19273:4;19147:131;:::i;:::-;19139:139;;19037:248;;;:::o;19291:419::-;19457:4;19495:2;19484:9;19480:18;19472:26;;19544:9;19538:4;19534:20;19530:1;19519:9;19515:17;19508:47;19572:131;19698:4;19572:131;:::i;:::-;19564:139;;19462:248;;;:::o;19716:222::-;19809:4;19847:2;19836:9;19832:18;19824:26;;19860:71;19928:1;19917:9;19913:17;19904:6;19860:71;:::i;:::-;19814:124;;;;:::o;19944:831::-;20207:4;20245:3;20234:9;20230:19;20222:27;;20259:71;20327:1;20316:9;20312:17;20303:6;20259:71;:::i;:::-;20340:80;20416:2;20405:9;20401:18;20392:6;20340:80;:::i;:::-;20467:9;20461:4;20457:20;20452:2;20441:9;20437:18;20430:48;20495:108;20598:4;20589:6;20495:108;:::i;:::-;20487:116;;20613:72;20681:2;20670:9;20666:18;20657:6;20613:72;:::i;:::-;20695:73;20763:3;20752:9;20748:19;20739:6;20695:73;:::i;:::-;20212:563;;;;;;;;:::o;20781:214::-;20870:4;20908:2;20897:9;20893:18;20885:26;;20921:67;20985:1;20974:9;20970:17;20961:6;20921:67;:::i;:::-;20875:120;;;;:::o;21001:132::-;21068:4;21091:3;21083:11;;21121:4;21116:3;21112:14;21104:22;;21073:60;;;:::o;21139:114::-;21206:6;21240:5;21234:12;21224:22;;21213:40;;;:::o;21259:99::-;21311:6;21345:5;21339:12;21329:22;;21318:40;;;:::o;21364:113::-;21434:4;21466;21461:3;21457:14;21449:22;;21439:38;;;:::o;21483:184::-;21582:11;21616:6;21611:3;21604:19;21656:4;21651:3;21647:14;21632:29;;21594:73;;;;:::o;21673:169::-;21757:11;21791:6;21786:3;21779:19;21831:4;21826:3;21822:14;21807:29;;21769:73;;;;:::o;21848:305::-;21888:3;21907:20;21925:1;21907:20;:::i;:::-;21902:25;;21941:20;21959:1;21941:20;:::i;:::-;21936:25;;22095:1;22027:66;22023:74;22020:1;22017:81;22014:2;;;22101:18;;:::i;:::-;22014:2;22145:1;22142;22138:9;22131:16;;21892:261;;;;:::o;22159:185::-;22199:1;22216:20;22234:1;22216:20;:::i;:::-;22211:25;;22250:20;22268:1;22250:20;:::i;:::-;22245:25;;22289:1;22279:2;;22294:18;;:::i;:::-;22279:2;22336:1;22333;22329:9;22324:14;;22201:143;;;;:::o;22350:348::-;22390:7;22413:20;22431:1;22413:20;:::i;:::-;22408:25;;22447:20;22465:1;22447:20;:::i;:::-;22442:25;;22635:1;22567:66;22563:74;22560:1;22557:81;22552:1;22545:9;22538:17;22534:105;22531:2;;;22642:18;;:::i;:::-;22531:2;22690:1;22687;22683:9;22672:20;;22398:300;;;;:::o;22704:191::-;22744:4;22764:20;22782:1;22764:20;:::i;:::-;22759:25;;22798:20;22816:1;22798:20;:::i;:::-;22793:25;;22837:1;22834;22831:8;22828:2;;;22842:18;;:::i;:::-;22828:2;22887:1;22884;22880:9;22872:17;;22749:146;;;;:::o;22901:96::-;22938:7;22967:24;22985:5;22967:24;:::i;:::-;22956:35;;22946:51;;;:::o;23003:90::-;23037:7;23080:5;23073:13;23066:21;23055:32;;23045:48;;;:::o;23099:126::-;23136:7;23176:42;23169:5;23165:54;23154:65;;23144:81;;;:::o;23231:77::-;23268:7;23297:5;23286:16;;23276:32;;;:::o;23314:86::-;23349:7;23389:4;23382:5;23378:16;23367:27;;23357:43;;;:::o;23406:121::-;23464:9;23497:24;23515:5;23497:24;:::i;:::-;23484:37;;23474:53;;;:::o;23533:307::-;23601:1;23611:113;23625:6;23622:1;23619:13;23611:113;;;23710:1;23705:3;23701:11;23695:18;23691:1;23686:3;23682:11;23675:39;23647:2;23644:1;23640:10;23635:15;;23611:113;;;23742:6;23739:1;23736:13;23733:2;;;23822:1;23813:6;23808:3;23804:16;23797:27;23733:2;23582:258;;;;:::o;23846:233::-;23885:3;23908:24;23926:5;23908:24;:::i;:::-;23899:33;;23954:66;23947:5;23944:77;23941:2;;;24024:18;;:::i;:::-;23941:2;24071:1;24064:5;24060:13;24053:20;;23889:190;;;:::o;24085:176::-;24117:1;24134:20;24152:1;24134:20;:::i;:::-;24129:25;;24168:20;24186:1;24168:20;:::i;:::-;24163:25;;24207:1;24197:2;;24212:18;;:::i;:::-;24197:2;24253:1;24250;24246:9;24241:14;;24119:142;;;;:::o;24267:180::-;24315:77;24312:1;24305:88;24412:4;24409:1;24402:15;24436:4;24433:1;24426:15;24453:180;24501:77;24498:1;24491:88;24598:4;24595:1;24588:15;24622:4;24619:1;24612:15;24639:102;24680:6;24731:2;24727:7;24722:2;24715:5;24711:14;24707:28;24697:38;;24687:54;;;:::o;24747:222::-;24887:34;24883:1;24875:6;24871:14;24864:58;24956:5;24951:2;24943:6;24939:15;24932:30;24853:116;:::o;24975:229::-;25115:34;25111:1;25103:6;25099:14;25092:58;25184:12;25179:2;25171:6;25167:15;25160:37;25081:123;:::o;25210:221::-;25350:34;25346:1;25338:6;25334:14;25327:58;25419:4;25414:2;25406:6;25402:15;25395:29;25316:115;:::o;25437:221::-;25577:34;25573:1;25565:6;25561:14;25554:58;25646:4;25641:2;25633:6;25629:15;25622:29;25543:115;:::o;25664:177::-;25804:29;25800:1;25792:6;25788:14;25781:53;25770:71;:::o;25847:171::-;25987:23;25983:1;25975:6;25971:14;25964:47;25953:65;:::o;26024:222::-;26164:34;26160:1;26152:6;26148:14;26141:58;26233:5;26228:2;26220:6;26216:15;26209:30;26130:116;:::o;26252:220::-;26392:34;26388:1;26380:6;26376:14;26369:58;26461:3;26456:2;26448:6;26444:15;26437:28;26358:114;:::o;26478:182::-;26618:34;26614:1;26606:6;26602:14;26595:58;26584:76;:::o;26666:228::-;26806:34;26802:1;26794:6;26790:14;26783:58;26875:11;26870:2;26862:6;26858:15;26851:36;26772:122;:::o;26900:224::-;27040:34;27036:1;27028:6;27024:14;27017:58;27109:7;27104:2;27096:6;27092:15;27085:32;27006:118;:::o;27130:223::-;27270:34;27266:1;27258:6;27254:14;27247:58;27339:6;27334:2;27326:6;27322:15;27315:31;27236:117;:::o;27359:173::-;27499:25;27495:1;27487:6;27483:14;27476:49;27465:67;:::o;27538:174::-;27678:26;27674:1;27666:6;27662:14;27655:50;27644:68;:::o;27718:122::-;27791:24;27809:5;27791:24;:::i;:::-;27784:5;27781:35;27771:2;;27830:1;27827;27820:12;27771:2;27761:79;:::o;27846:116::-;27916:21;27931:5;27916:21;:::i;:::-;27909:5;27906:32;27896:2;;27952:1;27949;27942:12;27896:2;27886:76;:::o;27968:122::-;28041:24;28059:5;28041:24;:::i;:::-;28034:5;28031:35;28021:2;;28080:1;28077;28070:12;28021:2;28011:79;:::o
Swarm Source
ipfs://40ec32bfd6b8b24e72c3901bb4a1b457cf7694cde6fbfee8d58767784dada215
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.