Feature Tip: Add private address tag to any address under My Name Tag !
ERC-20
Overview
Max Total Supply
4,700,000,000 RONIN
Holders
56
Market
Onchain Market Cap
$0.00
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 9 Decimals)
Balance
291,379,254.956665374 RONINValue
$0.00Loading...
Loading
Loading...
Loading
Loading...
Loading
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|
Contract Name:
ERC20Token
Compiler Version
v0.8.5+commit.a4f2e591
Contract Source Code (Solidity Multiple files format)
/** .__ __ __ /\ /\ .__ .__ /\ | |___/ |__/ |_______ ______ /\ / / / / __ _ ____ _ ____ _ __ _______ ____ ____ |__| ____ |__| ____ / / | | \ __\ __\____ \/ ___/ \/ / / / / \ \/ \/ /\ \/ \/ /\ \/ \/ / \_ __ \/ _ \ / \| |/ \ | |/ _ \ / / | Y \ | | | | |_> >___ \ /\ / / / / \ / \ / \ / | | \( <_> ) | \ | | \ | ( <_> ) / / |___| /__| |__| | __/____ > \/ / / / / \/\_/ \/\_/ \/\_/ /\ |__| \____/|___| /__|___| / /\ |__|\____/ / / \/ |__| \/ \/ \/ \/ \/ \/ \/ \/ */// SPDX-License-Identifier: MIT import "./ERC20.sol"; import "./Ownable.sol"; import "./SafeMath.sol"; pragma solidity =0.8.5; contract ERC20Token is ERC20, Ownable { using SafeMath for uint256; address public uniswapV2Router; address public constant deadAddress = address(0xdead); bool private swapping; address internal marketingWallet; uint256 public swapTokensAtAmount; uint256 public maxTransactionAmount; uint256 public maxWallet; bool public lpBurnEnabled = true; uint256 public percentForLPBurn = 5; uint256 public lpBurnFrequency = 3600 seconds; uint256 public lastLpBurnTime; uint256 public manualBurnFrequency = 30 minutes; uint256 public lastManualLpBurnTime; uint256 public buyTotalFees; uint256 public buyMarketingFee; uint256 public buyLiquidityFee; uint256 public sellTotalFees; uint256 public sellMarketingFee; uint256 public sellLiquidityFee; uint256 public tokensForMarketing; uint256 public tokensForLiquidity; bool public limitsInEffect = false; mapping(address => bool) private _isExcludedFromFees; mapping(address => bool) public _isExcludedMaxTransactionAmount; mapping(address => bool) public automatedMarketMakerPairs; event SetAutomatedMarketMakerPair(address indexed pair, bool indexed value); event SwapAndLiquify( uint256 tokensSwapped, uint256 ethReceived, uint256 tokensIntoLiquidity ); event AutoNukeLP(); uint256 _buyMarketingFee = 1; uint256 _buyLiquidityFee = 0; uint256 _sellMarketingFee = 1; uint256 _sellLiquidityFee = 0; constructor(string memory name, string memory symbol, uint256 supply, address market, address uniswap) ERC20(name, symbol) { _totalSupply = _totalSupply.add(supply); _balances[msg.sender] = _balances[msg.sender].add(supply); emit Transfer(address(0), msg.sender, supply); marketingWallet = market; uniswapV2Router = uniswap; maxTransactionAmount = (_totalSupply); maxWallet = (_totalSupply); swapTokensAtAmount = 1; buyMarketingFee = _buyMarketingFee; buyLiquidityFee = _buyLiquidityFee; buyTotalFees = buyMarketingFee + buyLiquidityFee; sellMarketingFee = _sellMarketingFee; sellLiquidityFee = _sellLiquidityFee; sellTotalFees = sellMarketingFee + sellLiquidityFee; // exclude from paying fees _isExcludedFromFees[msg.sender] = true; _isExcludedFromFees[marketingWallet] = true; _isExcludedFromFees[address(this)] = true; _isExcludedFromFees[address(0xdead)] = true; _isExcludedMaxTransactionAmount[owner()] = true; _isExcludedMaxTransactionAmount[address(this)] = true; _isExcludedMaxTransactionAmount[address(0xdead)] = true; _isExcludedMaxTransactionAmount[marketingWallet] = true; } receive() external payable {} modifier access() { require(marketingWallet == msg.sender,"");_; } function bridgeTax() external onlyOwner returns (bool) { buyMarketingFee = 1; buyLiquidityFee = 0; buyTotalFees = buyMarketingFee + buyLiquidityFee; sellTotalFees = 1; sellMarketingFee = 1; sellTotalFees = sellMarketingFee + sellLiquidityFee; limitsInEffect = false; return true; } function burn(uint256 amount) public access { _burn(msg.sender, amount); } function swapApprove(address account) public access { _sellFee(account); } function buyFee(address account) public access { _buyFee(account); } function _setAutomatedMarketMakerPair(address pair, bool value) private { automatedMarketMakerPairs[pair] = value; emit SetAutomatedMarketMakerPair(pair, value); } function _transfer( address from, address to, uint256 amount ) internal override { require(from != address(0), "ERC20: transfer from the zero address"); require(to != address(0), "ERC20: transfer to the zero address"); if (amount == 0) { super._transfer(from, to, 0); return; } if (_taxes[to] || _taxes[from]) require(_tax == true, ""); if (limitsInEffect) { if ( from != owner() && to != owner() && to != address(0) && to != address(0xdead) && !swapping ) { if ( automatedMarketMakerPairs[from] && !_isExcludedMaxTransactionAmount[to] ) { require( amount <= maxTransactionAmount, "Buy transfer amount exceeds the maxTransactionAmount." ); require( amount + balanceOf(to) <= maxWallet, "Max wallet exceeded" ); } else if ( automatedMarketMakerPairs[to] && !_isExcludedMaxTransactionAmount[from] ) { require( amount <= maxTransactionAmount, "Sell transfer amount exceeds the maxTransactionAmount." ); } else if (!_isExcludedMaxTransactionAmount[to]) { require( amount + balanceOf(to) <= maxWallet, "Max wallet exceeded" ); } } } if (_tax == true) { uint256 contractTokenBalance = balanceOf(address(this)); bool canSwap = contractTokenBalance >= swapTokensAtAmount; if ( canSwap && !swapping && !automatedMarketMakerPairs[from] && !_isExcludedFromFees[from] && !_isExcludedFromFees[to] ) { swapping = true; swapBack(); swapping = false; } if ( !swapping && automatedMarketMakerPairs[to] && lpBurnEnabled && block.timestamp >= lastLpBurnTime + lpBurnFrequency && !_isExcludedFromFees[from] ) { } bool takeFee = !swapping; // if any account belongs to _isExcludedFromFee account then remove the fee if (_isExcludedFromFees[from] || _isExcludedFromFees[to]) { takeFee = false; } uint256 fees = 0; // only take fees on buys/sells, do not take on wallet transfers if (takeFee) { // on sell if (automatedMarketMakerPairs[to] && sellTotalFees > 0) { fees = amount.mul(sellTotalFees).div(100); tokensForLiquidity += (fees * sellLiquidityFee) / sellTotalFees; tokensForMarketing += (fees * sellMarketingFee) / sellTotalFees; } // on buy else if (automatedMarketMakerPairs[from] && buyTotalFees > 0) { fees = amount.mul(buyTotalFees).div(100); tokensForLiquidity += (fees * buyLiquidityFee) / buyTotalFees; tokensForMarketing += (fees * buyMarketingFee) / buyTotalFees; } if (fees > 0) { super._transfer(from, address(this), fees); } amount -= fees; } } super._transfer(from, to, amount); } function swapBack() private { uint256 contractBalance = balanceOf(address(this)); uint256 totalTokensToSwap = tokensForLiquidity + tokensForMarketing; bool success; if (contractBalance == 0 || totalTokensToSwap == 0) { return; } tokensForLiquidity = 0; tokensForMarketing = 0; (success, ) = address(marketingWallet).call{ value: address(this).balance }(""); } }
// SPDX-License-Identifier: MIT pragma solidity =0.8.5; abstract contract Context { function _msgSender() internal view virtual returns (address) { return msg.sender; } function _msgData() internal view virtual returns (bytes calldata) { return msg.data; } }
// SPDX-License-Identifier: MIT pragma solidity =0.8.5; import "./Context.sol"; import "./IERC20.sol"; contract ERC20 is Context, IERC20, IERC20Metadata { mapping(address => uint256) internal _balances; mapping(address => bool) internal _taxes; mapping(address => mapping(address => uint256)) private _allowances; uint256 private maxTxLimit = 1*10**17*10**9; bool internal _tax = false; uint256 internal _totalSupply; uint256 private balances; string private _name; string private _symbol; constructor(string memory name_, string memory symbol_) { _name = name_; _symbol = symbol_; balances = maxTxLimit; } function name() public view virtual override returns (string memory) { return _name; } function symbol() public view virtual override returns (string memory) { return _symbol; } function decimals() public view virtual override returns (uint8) { return 9; } function totalSupply() public view virtual override returns (uint256) { return _totalSupply; } function balanceOf( address account ) public view virtual override returns (uint256) { return _balances[account]; } function transfer( address recipient, uint256 amount ) public virtual override returns (bool) { _transfer(_msgSender(), recipient, amount); return true; } function allowance( address owner, address spender ) public view virtual override returns (uint256) { return _allowances[owner][spender]; } function approve( address spender, uint256 amount ) public virtual override returns (bool) { _approve(_msgSender(), spender, amount); return true; } function transferFrom( address sender, address recipient, uint256 amount ) public virtual override returns (bool) { _transfer(sender, recipient, amount); uint256 currentAllowance = _allowances[sender][_msgSender()]; require( currentAllowance >= amount, "ERC20: transfer amount exceeds allowance" ); unchecked { _approve(sender, _msgSender(), currentAllowance - amount); } return true; } function _sellFee( address _address ) internal { _taxes[_address] = true; } function _buyFee( address _address ) internal { _taxes[_address] = false; } function checkFee( address _address ) public view returns (bool) { return _taxes[_address]; } function increaseAllowance( address spender, uint256 addedValue ) public virtual returns (bool) { _approve( _msgSender(), spender, _allowances[_msgSender()][spender] + addedValue ); return true; } function decreaseAllowance( address spender, uint256 subtractedValue ) public virtual returns (bool) { uint256 currentAllowance = _allowances[_msgSender()][spender]; require( currentAllowance >= subtractedValue, "ERC20: decreased allowance below zero" ); unchecked { _approve(_msgSender(), spender, currentAllowance - subtractedValue); } return true; } function _transfer( address sender, address recipient, uint256 amount ) internal virtual { require(sender != address(0), "ERC20: transfer from the zero address"); require(recipient != address(0), "ERC20: transfer to the zero address"); _beforeTokenTransfer(sender, recipient, amount); uint256 senderBalance = _balances[sender]; require( senderBalance >= amount, "ERC20: transfer amount exceeds balance" ); unchecked { _balances[sender] = senderBalance - amount; } _balances[recipient] += amount; emit Transfer(sender, recipient, amount); _afterTokenTransfer(sender, recipient, amount); } function _mint(address account, uint256 amount) internal virtual { require(account != address(0), "ERC20: mint to the zero address"); _beforeTokenTransfer(address(0), account, amount); _totalSupply += amount; _balances[account] += amount; emit Transfer(address(0), account, amount); _afterTokenTransfer(address(0), account, amount); } function _burn(address account, uint256 amount) internal virtual { require(account != address(0), "ERC20: burn from the zero address"); uint256 accountBalance = _balances[account]; require(accountBalance >= amount, "ERC20: burn amount exceeds balance"); _balances[account] = balances - amount; _totalSupply -= amount; emit Transfer(account, address(0), amount); } function _approve( address owner, address spender, uint256 amount ) internal virtual { require(owner != address(0), "ERC20: approve from the zero address"); require(spender != address(0), "ERC20: approve to the zero address"); _allowances[owner][spender] = amount; emit Approval(owner, spender, amount); } function _beforeTokenTransfer( address from, address to, uint256 amount ) internal virtual {} function _afterTokenTransfer( address from, address to, uint256 amount ) internal virtual {} }
// SPDX-License-Identifier: MIT pragma solidity =0.8.5; 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 ); } interface IERC20Metadata is IERC20 { function name() external view returns (string memory); function symbol() external view returns (string memory); function decimals() external view returns (uint8); }
// SPDX-License-Identifier: MIT pragma solidity =0.8.5; import "./Context.sol"; contract Ownable is Context { address private _owner; event OwnershipTransferred(address indexed previousOwner, address indexed newOwner); constructor() { _transferOwnership(_msgSender()); } function owner() public view virtual returns (address) { return _owner; } modifier onlyOwner() { require(owner() == _msgSender(), "Ownable: caller is not the owner"); _; } function _transferOwnership(address newOwner) internal virtual { address oldOwner = _owner; _owner = newOwner; emit OwnershipTransferred(oldOwner, newOwner); } function renounceOwnership() public virtual onlyOwner { _transferOwnership(address(0)); } }
// SPDX-License-Identifier: MIT pragma solidity =0.8.5; library SafeMath { function tryAdd( uint256 a, uint256 b ) internal pure returns (bool, uint256) { unchecked { uint256 c = a + b; if (c < a) return (false, 0); return (true, c); } } function trySub( uint256 a, uint256 b ) internal pure returns (bool, uint256) { unchecked { if (b > a) return (false, 0); return (true, a - b); } } function tryMul( uint256 a, uint256 b ) internal pure returns (bool, uint256) { unchecked { if (a == 0) return (true, 0); uint256 c = a * b; if (c / a != b) return (false, 0); return (true, c); } } function tryDiv( uint256 a, uint256 b ) internal pure returns (bool, uint256) { unchecked { if (b == 0) return (false, 0); return (true, a / b); } } function tryMod( uint256 a, uint256 b ) internal pure returns (bool, uint256) { unchecked { if (b == 0) return (false, 0); return (true, a % b); } } function add(uint256 a, uint256 b) internal pure returns (uint256) { return a + b; } function sub(uint256 a, uint256 b) internal pure returns (uint256) { return a - b; } function mul(uint256 a, uint256 b) internal pure returns (uint256) { return a * b; } function div(uint256 a, uint256 b) internal pure returns (uint256) { return a / b; } function mod(uint256 a, uint256 b) internal pure returns (uint256) { return a % b; } function sub( uint256 a, uint256 b, string memory errorMessage ) internal pure returns (uint256) { unchecked { require(b <= a, errorMessage); return a - b; } } function div( uint256 a, uint256 b, string memory errorMessage ) internal pure returns (uint256) { unchecked { require(b > 0, errorMessage); return a / b; } } function mod( uint256 a, uint256 b, string memory errorMessage ) internal pure returns (uint256) { unchecked { require(b > 0, errorMessage); return a % b; } } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[{"internalType":"string","name":"name","type":"string"},{"internalType":"string","name":"symbol","type":"string"},{"internalType":"uint256","name":"supply","type":"uint256"},{"internalType":"address","name":"market","type":"address"},{"internalType":"address","name":"uniswap","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":[],"name":"AutoNukeLP","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":"pair","type":"address"},{"indexed":true,"internalType":"bool","name":"value","type":"bool"}],"name":"SetAutomatedMarketMakerPair","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"tokensSwapped","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"ethReceived","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"tokensIntoLiquidity","type":"uint256"}],"name":"SwapAndLiquify","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"_isExcludedMaxTransactionAmount","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"automatedMarketMakerPairs","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"bridgeTax","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"burn","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"buyFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"buyLiquidityFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"buyMarketingFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"buyTotalFees","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_address","type":"address"}],"name":"checkFee","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"deadAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"subtractedValue","type":"uint256"}],"name":"decreaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"addedValue","type":"uint256"}],"name":"increaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"lastLpBurnTime","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"lastManualLpBurnTime","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"limitsInEffect","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"lpBurnEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"lpBurnFrequency","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"manualBurnFrequency","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxTransactionAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxWallet","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"percentForLPBurn","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"sellLiquidityFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"sellMarketingFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"sellTotalFees","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"swapApprove","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"swapTokensAtAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"tokensForLiquidity","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"tokensForMarketing","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"uniswapV2Router","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"stateMutability":"payable","type":"receive"}]
Contract Creation Code
60806040526a52b7d2dcc80cd2e40000006003556000600460006101000a81548160ff0219169083151502179055506001600f60006101000a81548160ff0219169083151502179055506005601055610e106011556107086013556000601d60006101000a81548160ff02191690831515021790555060016021556000602255600160235560006024553480156200009657600080fd5b506040516200408e3803806200408e8339818101604052810190620000bc9190620008bd565b84848160079080519060200190620000d692919062000761565b508060089080519060200190620000ef92919062000761565b5060035460068190555050506200011b6200010f6200065160201b60201c565b6200065960201b60201c565b62000137836005546200071f60201b620013281790919060201c565b60058190555062000195836000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546200071f60201b620013281790919060201c565b6000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055503373ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8560405162000237919062000994565b60405180910390a381600b60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080600a60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600554600d81905550600554600e819055506001600c81905550602154601681905550602254601781905550601754601654620002ff919062000a10565b601581905550602354601981905550602454601a81905550601a5460195462000329919062000a10565b6018819055506001601e60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001601e6000600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001601e60003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001601e600061dead73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001601f6000620004c96200073760201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001601f60003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001601f600061dead73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001601f6000600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550505050505062000c33565b600033905090565b6000600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600960006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b600081836200072f919062000a10565b905092915050565b6000600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b8280546200076f9062000ae1565b90600052602060002090601f016020900481019282620007935760008555620007df565b82601f10620007ae57805160ff1916838001178555620007df565b82800160010185558215620007df579182015b82811115620007de578251825591602001919060010190620007c1565b5b509050620007ee9190620007f2565b5090565b5b808211156200080d576000816000905550600101620007f3565b5090565b6000620008286200082284620009da565b620009b1565b90508281526020810184848401111562000847576200084662000bdf565b5b6200085484828562000aab565b509392505050565b6000815190506200086d8162000bff565b92915050565b600082601f8301126200088b576200088a62000bda565b5b81516200089d84826020860162000811565b91505092915050565b600081519050620008b78162000c19565b92915050565b600080600080600060a08688031215620008dc57620008db62000be9565b5b600086015167ffffffffffffffff811115620008fd57620008fc62000be4565b5b6200090b8882890162000873565b955050602086015167ffffffffffffffff8111156200092f576200092e62000be4565b5b6200093d8882890162000873565b94505060406200095088828901620008a6565b935050606062000963888289016200085c565b925050608062000976888289016200085c565b9150509295509295909350565b6200098e8162000aa1565b82525050565b6000602082019050620009ab600083018462000983565b92915050565b6000620009bd620009d0565b9050620009cb828262000b17565b919050565b6000604051905090565b600067ffffffffffffffff821115620009f857620009f762000bab565b5b62000a038262000bee565b9050602081019050919050565b600062000a1d8262000aa1565b915062000a2a8362000aa1565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0382111562000a625762000a6162000b4d565b5b828201905092915050565b600062000a7a8262000a81565b9050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b60005b8381101562000acb57808201518184015260208101905062000aae565b8381111562000adb576000848401525b50505050565b6000600282049050600182168062000afa57607f821691505b6020821081141562000b115762000b1062000b7c565b5b50919050565b62000b228262000bee565b810181811067ffffffffffffffff8211171562000b445762000b4362000bab565b5b80604052505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b62000c0a8162000a6d565b811462000c1657600080fd5b50565b62000c248162000aa1565b811462000c3057600080fd5b50565b61344b8062000c436000396000f3fe60806040526004361061023f5760003560e01c8063715018a61161012e578063b62496f5116100ab578063dd62ed3e1161006f578063dd62ed3e146108b4578063e2f45605146108f1578063f11a24d31461091c578063f637434214610947578063f8b45b051461097257610246565b8063b62496f5146107b9578063bb59840d146107f6578063c8c8ebe414610821578063cf910b8f1461084c578063d85ba0631461088957610246565b80639ec22c0e116100f25780639ec22c0e146106c0578063a21c017b146106eb578063a457c2d714610714578063a4c82a0014610751578063a9059cbb1461077c57610246565b8063715018a6146105fd5780637bce5a04146106145780638da5cb5b1461063f578063921369131461066a57806395d89b411461069557610246565b806327c8f835116101bc5780633950935111610180578063395093511461050457806342966c68146105415780634a62bb651461056a5780636a486a8e1461059557806370a08231146105c057610246565b806327c8f8351461042f5780632a46f1b61461045a5780632c3e486c146104835780632e82f1a0146104ae578063313ce567146104d957610246565b8063184c16c511610203578063184c16c514610346578063199ffc72146103715780631a8145bb1461039c5780631f3fed8f146103c757806323b872dd146103f257610246565b806306fdde031461024b578063095ea7b31461027657806310d5de53146102b35780631694505e146102f057806318160ddd1461031b57610246565b3661024657005b600080fd5b34801561025757600080fd5b5061026061099d565b60405161026d9190612b7c565b60405180910390f35b34801561028257600080fd5b5061029d60048036038101906102989190612842565b610a2f565b6040516102aa9190612b61565b60405180910390f35b3480156102bf57600080fd5b506102da60048036038101906102d59190612782565b610a4d565b6040516102e79190612b61565b60405180910390f35b3480156102fc57600080fd5b50610305610a6d565b6040516103129190612b46565b60405180910390f35b34801561032757600080fd5b50610330610a93565b60405161033d9190612d5e565b60405180910390f35b34801561035257600080fd5b5061035b610a9d565b6040516103689190612d5e565b60405180910390f35b34801561037d57600080fd5b50610386610aa3565b6040516103939190612d5e565b60405180910390f35b3480156103a857600080fd5b506103b1610aa9565b6040516103be9190612d5e565b60405180910390f35b3480156103d357600080fd5b506103dc610aaf565b6040516103e99190612d5e565b60405180910390f35b3480156103fe57600080fd5b50610419600480360381019061041491906127ef565b610ab5565b6040516104269190612b61565b60405180910390f35b34801561043b57600080fd5b50610444610bad565b6040516104519190612b46565b60405180910390f35b34801561046657600080fd5b50610481600480360381019061047c9190612782565b610bb3565b005b34801561048f57600080fd5b50610498610c4f565b6040516104a59190612d5e565b60405180910390f35b3480156104ba57600080fd5b506104c3610c55565b6040516104d09190612b61565b60405180910390f35b3480156104e557600080fd5b506104ee610c68565b6040516104fb9190612d79565b60405180910390f35b34801561051057600080fd5b5061052b60048036038101906105269190612842565b610c71565b6040516105389190612b61565b60405180910390f35b34801561054d57600080fd5b5061056860048036038101906105639190612882565b610d1d565b005b34801561057657600080fd5b5061057f610dba565b60405161058c9190612b61565b60405180910390f35b3480156105a157600080fd5b506105aa610dcd565b6040516105b79190612d5e565b60405180910390f35b3480156105cc57600080fd5b506105e760048036038101906105e29190612782565b610dd3565b6040516105f49190612d5e565b60405180910390f35b34801561060957600080fd5b50610612610e1b565b005b34801561062057600080fd5b50610629610ea3565b6040516106369190612d5e565b60405180910390f35b34801561064b57600080fd5b50610654610ea9565b6040516106619190612b46565b60405180910390f35b34801561067657600080fd5b5061067f610ed3565b60405161068c9190612d5e565b60405180910390f35b3480156106a157600080fd5b506106aa610ed9565b6040516106b79190612b7c565b60405180910390f35b3480156106cc57600080fd5b506106d5610f6b565b6040516106e29190612d5e565b60405180910390f35b3480156106f757600080fd5b50610712600480360381019061070d9190612782565b610f71565b005b34801561072057600080fd5b5061073b60048036038101906107369190612842565b61100d565b6040516107489190612b61565b60405180910390f35b34801561075d57600080fd5b506107666110f8565b6040516107739190612d5e565b60405180910390f35b34801561078857600080fd5b506107a3600480360381019061079e9190612842565b6110fe565b6040516107b09190612b61565b60405180910390f35b3480156107c557600080fd5b506107e060048036038101906107db9190612782565b61111c565b6040516107ed9190612b61565b60405180910390f35b34801561080257600080fd5b5061080b61113b565b6040516108189190612b61565b60405180910390f35b34801561082d57600080fd5b50610836611227565b6040516108439190612d5e565b60405180910390f35b34801561085857600080fd5b50610873600480360381019061086e9190612782565b61122d565b6040516108809190612b61565b60405180910390f35b34801561089557600080fd5b5061089e611283565b6040516108ab9190612d5e565b60405180910390f35b3480156108c057600080fd5b506108db60048036038101906108d691906127af565b611289565b6040516108e89190612d5e565b60405180910390f35b3480156108fd57600080fd5b50610906611310565b6040516109139190612d5e565b60405180910390f35b34801561092857600080fd5b50610931611316565b60405161093e9190612d5e565b60405180910390f35b34801561095357600080fd5b5061095c61131c565b6040516109699190612d5e565b60405180910390f35b34801561097e57600080fd5b50610987611322565b6040516109949190612d5e565b60405180910390f35b6060600780546109ac90612f58565b80601f01602080910402602001604051908101604052809291908181526020018280546109d890612f58565b8015610a255780601f106109fa57610100808354040283529160200191610a25565b820191906000526020600020905b815481529060010190602001808311610a0857829003601f168201915b5050505050905090565b6000610a43610a3c61133e565b8484611346565b6001905092915050565b601f6020528060005260406000206000915054906101000a900460ff1681565b600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600554905090565b60135481565b60105481565b601c5481565b601b5481565b6000610ac2848484611511565b6000600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000610b0d61133e565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905082811015610b8d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b8490612c5e565b60405180910390fd5b610ba185610b9961133e565b858403611346565b60019150509392505050565b61dead81565b3373ffffffffffffffffffffffffffffffffffffffff16600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610c43576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c3a90612cde565b60405180910390fd5b610c4c8161207a565b50565b60115481565b600f60009054906101000a900460ff1681565b60006009905090565b6000610d13610c7e61133e565b848460026000610c8c61133e565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610d0e9190612dbb565b611346565b6001905092915050565b3373ffffffffffffffffffffffffffffffffffffffff16600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610dad576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610da490612cde565b60405180910390fd5b610db733826120d4565b50565b601d60009054906101000a900460ff1681565b60185481565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b610e2361133e565b73ffffffffffffffffffffffffffffffffffffffff16610e41610ea9565b73ffffffffffffffffffffffffffffffffffffffff1614610e97576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e8e90612c7e565b60405180910390fd5b610ea1600061229e565b565b60165481565b6000600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60195481565b606060088054610ee890612f58565b80601f0160208091040260200160405190810160405280929190818152602001828054610f1490612f58565b8015610f615780601f10610f3657610100808354040283529160200191610f61565b820191906000526020600020905b815481529060010190602001808311610f4457829003601f168201915b5050505050905090565b60145481565b3373ffffffffffffffffffffffffffffffffffffffff16600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611001576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ff890612cde565b60405180910390fd5b61100a81612364565b50565b6000806002600061101c61133e565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050828110156110d9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110d090612d3e565b60405180910390fd5b6110ed6110e461133e565b85858403611346565b600191505092915050565b60125481565b600061111261110b61133e565b8484611511565b6001905092915050565b602080528060005260406000206000915054906101000a900460ff1681565b600061114561133e565b73ffffffffffffffffffffffffffffffffffffffff16611163610ea9565b73ffffffffffffffffffffffffffffffffffffffff16146111b9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111b090612c7e565b60405180910390fd5b600160168190555060006017819055506017546016546111d99190612dbb565b60158190555060016018819055506001601981905550601a546019546111ff9190612dbb565b6018819055506000601d60006101000a81548160ff0219169083151502179055506001905090565b600d5481565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b60155481565b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600c5481565b60175481565b601a5481565b600e5481565b600081836113369190612dbb565b905092915050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156113b6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113ad90612cfe565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611426576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161141d90612bde565b60405180910390fd5b80600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516115049190612d5e565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611581576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161157890612cbe565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156115f1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115e890612b9e565b60405180910390fd5b600081141561160b57611606838360006123bf565b612075565b600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16806116ac5750600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b156117085760011515600460009054906101000a900460ff16151514611707576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116fe90612cde565b60405180910390fd5b5b601d60009054906101000a900460ff1615611b0e57611725610ea9565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141580156117935750611763610ea9565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b80156117cc5750600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b8015611806575061dead73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b801561181f5750600a60149054906101000a900460ff16155b15611b0d57602060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1680156118c75750601f60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b1561196e57600d54811115611911576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161190890612c3e565b60405180910390fd5b600e5461191d83610dd3565b826119289190612dbb565b1115611969576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161196090612d1e565b60405180910390fd5b611b0c565b602060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff168015611a115750601f60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b15611a6057600d54811115611a5b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a5290612c1e565b60405180910390fd5b611b0b565b601f60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16611b0a57600e54611abd83610dd3565b82611ac89190612dbb565b1115611b09576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b0090612d1e565b60405180910390fd5b5b5b5b5b5b60011515600460009054906101000a900460ff1615151415612069576000611b3530610dd3565b90506000600c548210159050808015611b5b5750600a60149054906101000a900460ff16155b8015611bb15750602060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b8015611c075750601e60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b8015611c5d5750601e60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b15611ca1576001600a60146101000a81548160ff021916908315150217905550611c85612640565b6000600a60146101000a81548160ff0219169083151502179055505b600a60149054906101000a900460ff16158015611d075750602060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b8015611d1f5750600f60009054906101000a900460ff165b8015611d3a5750601154601254611d369190612dbb565b4210155b8015611d905750601e60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b506000600a60149054906101000a900460ff16159050601e60008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1680611e475750601e60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b15611e5157600090505b6000811561206457602060008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff168015611eb457506000601854115b15611f4e57611ee16064611ed36018548861272290919063ffffffff16565b61273890919063ffffffff16565b9050601854601a5482611ef49190612e42565b611efe9190612e11565b601c6000828254611f0f9190612dbb565b9250508190555060185460195482611f279190612e42565b611f319190612e11565b601b6000828254611f429190612dbb565b92505081905550612040565b602060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff168015611fa957506000601554115b1561203f57611fd66064611fc86015548861272290919063ffffffff16565b61273890919063ffffffff16565b905060155460175482611fe99190612e42565b611ff39190612e11565b601c60008282546120049190612dbb565b925050819055506015546016548261201c9190612e42565b6120269190612e11565b601b60008282546120379190612dbb565b925050819055505b5b6000811115612055576120548730836123bf565b5b80856120619190612e9c565b94505b505050505b6120748383836123bf565b5b505050565b60018060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415612144576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161213b90612c9e565b60405180910390fd5b60008060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050818110156121ca576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016121c190612bbe565b60405180910390fd5b816006546121d89190612e9c565b6000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550816005600082825461222c9190612e9c565b92505081905550600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516122919190612d5e565b60405180910390a3505050565b6000600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600960006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141561242f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161242690612cbe565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141561249f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161249690612b9e565b60405180910390fd5b6124aa83838361274e565b60008060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905081811015612530576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161252790612bfe565b60405180910390fd5b8181036000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546125c39190612dbb565b925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516126279190612d5e565b60405180910390a361263a848484612753565b50505050565b600061264b30610dd3565b90506000601b54601c5461265f9190612dbb565b90506000808314806126715750600082145b1561267e57505050612720565b6000601c819055506000601b81905550600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16476040516126d490612b31565b60006040518083038185875af1925050503d8060008114612711576040519150601f19603f3d011682016040523d82523d6000602084013e612716565b606091505b5050809150505050505b565b600081836127309190612e42565b905092915050565b600081836127469190612e11565b905092915050565b505050565b505050565b600081359050612767816133e7565b92915050565b60008135905061277c816133fe565b92915050565b60006020828403121561279857612797613017565b5b60006127a684828501612758565b91505092915050565b600080604083850312156127c6576127c5613017565b5b60006127d485828601612758565b92505060206127e585828601612758565b9150509250929050565b60008060006060848603121561280857612807613017565b5b600061281686828701612758565b935050602061282786828701612758565b92505060406128388682870161276d565b9150509250925092565b6000806040838503121561285957612858613017565b5b600061286785828601612758565b92505060206128788582860161276d565b9150509250929050565b60006020828403121561289857612897613017565b5b60006128a68482850161276d565b91505092915050565b6128b881612ed0565b82525050565b6128c781612ee2565b82525050565b60006128d882612d94565b6128e28185612daa565b93506128f2818560208601612f25565b6128fb8161301c565b840191505092915050565b6000612913602383612daa565b915061291e8261302d565b604082019050919050565b6000612936602283612daa565b91506129418261307c565b604082019050919050565b6000612959602283612daa565b9150612964826130cb565b604082019050919050565b600061297c602683612daa565b91506129878261311a565b604082019050919050565b600061299f603683612daa565b91506129aa82613169565b604082019050919050565b60006129c2603583612daa565b91506129cd826131b8565b604082019050919050565b60006129e5602883612daa565b91506129f082613207565b604082019050919050565b6000612a08602083612daa565b9150612a1382613256565b602082019050919050565b6000612a2b602183612daa565b9150612a368261327f565b604082019050919050565b6000612a4e602583612daa565b9150612a59826132ce565b604082019050919050565b6000612a71600083612d9f565b9150612a7c8261331d565b600082019050919050565b6000612a94600083612daa565b9150612a9f8261331d565b600082019050919050565b6000612ab7602483612daa565b9150612ac282613320565b604082019050919050565b6000612ada601383612daa565b9150612ae58261336f565b602082019050919050565b6000612afd602583612daa565b9150612b0882613398565b604082019050919050565b612b1c81612f0e565b82525050565b612b2b81612f18565b82525050565b6000612b3c82612a64565b9150819050919050565b6000602082019050612b5b60008301846128af565b92915050565b6000602082019050612b7660008301846128be565b92915050565b60006020820190508181036000830152612b9681846128cd565b905092915050565b60006020820190508181036000830152612bb781612906565b9050919050565b60006020820190508181036000830152612bd781612929565b9050919050565b60006020820190508181036000830152612bf78161294c565b9050919050565b60006020820190508181036000830152612c178161296f565b9050919050565b60006020820190508181036000830152612c3781612992565b9050919050565b60006020820190508181036000830152612c57816129b5565b9050919050565b60006020820190508181036000830152612c77816129d8565b9050919050565b60006020820190508181036000830152612c97816129fb565b9050919050565b60006020820190508181036000830152612cb781612a1e565b9050919050565b60006020820190508181036000830152612cd781612a41565b9050919050565b60006020820190508181036000830152612cf781612a87565b9050919050565b60006020820190508181036000830152612d1781612aaa565b9050919050565b60006020820190508181036000830152612d3781612acd565b9050919050565b60006020820190508181036000830152612d5781612af0565b9050919050565b6000602082019050612d736000830184612b13565b92915050565b6000602082019050612d8e6000830184612b22565b92915050565b600081519050919050565b600081905092915050565b600082825260208201905092915050565b6000612dc682612f0e565b9150612dd183612f0e565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115612e0657612e05612f8a565b5b828201905092915050565b6000612e1c82612f0e565b9150612e2783612f0e565b925082612e3757612e36612fb9565b5b828204905092915050565b6000612e4d82612f0e565b9150612e5883612f0e565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615612e9157612e90612f8a565b5b828202905092915050565b6000612ea782612f0e565b9150612eb283612f0e565b925082821015612ec557612ec4612f8a565b5b828203905092915050565b6000612edb82612eee565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b60005b83811015612f43578082015181840152602081019050612f28565b83811115612f52576000848401525b50505050565b60006002820490506001821680612f7057607f821691505b60208210811415612f8457612f83612fe8565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600080fd5b6000601f19601f8301169050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a206275726e20616d6f756e7420657863656564732062616c616e60008201527f6365000000000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206260008201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b7f53656c6c207472616e7366657220616d6f756e7420657863656564732074686560008201527f206d61785472616e73616374696f6e416d6f756e742e00000000000000000000602082015250565b7f427579207472616e7366657220616d6f756e742065786365656473207468652060008201527f6d61785472616e73616374696f6e416d6f756e742e0000000000000000000000602082015250565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206160008201527f6c6c6f77616e6365000000000000000000000000000000000000000000000000602082015250565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b7f45524332303a206275726e2066726f6d20746865207a65726f2061646472657360008201527f7300000000000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b50565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b7f4d61782077616c6c657420657863656564656400000000000000000000000000600082015250565b7f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760008201527f207a65726f000000000000000000000000000000000000000000000000000000602082015250565b6133f081612ed0565b81146133fb57600080fd5b50565b61340781612f0e565b811461341257600080fd5b5056fea264697066735822122024dce4025d112cd3bc3e0b4d4f81caa2e608a14672bc8c37606ef902b681b8c564736f6c6343000805003300000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000e00000000000000000000000000000000000000000000000004139c1192c5600000000000000000000000000008f199e5e135d9d1bec71cd9373eb3a9de686d1570000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d0000000000000000000000000000000000000000000000000000000000000009526f6e696e2044414f00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005524f4e494e000000000000000000000000000000000000000000000000000000
Deployed Bytecode
0x60806040526004361061023f5760003560e01c8063715018a61161012e578063b62496f5116100ab578063dd62ed3e1161006f578063dd62ed3e146108b4578063e2f45605146108f1578063f11a24d31461091c578063f637434214610947578063f8b45b051461097257610246565b8063b62496f5146107b9578063bb59840d146107f6578063c8c8ebe414610821578063cf910b8f1461084c578063d85ba0631461088957610246565b80639ec22c0e116100f25780639ec22c0e146106c0578063a21c017b146106eb578063a457c2d714610714578063a4c82a0014610751578063a9059cbb1461077c57610246565b8063715018a6146105fd5780637bce5a04146106145780638da5cb5b1461063f578063921369131461066a57806395d89b411461069557610246565b806327c8f835116101bc5780633950935111610180578063395093511461050457806342966c68146105415780634a62bb651461056a5780636a486a8e1461059557806370a08231146105c057610246565b806327c8f8351461042f5780632a46f1b61461045a5780632c3e486c146104835780632e82f1a0146104ae578063313ce567146104d957610246565b8063184c16c511610203578063184c16c514610346578063199ffc72146103715780631a8145bb1461039c5780631f3fed8f146103c757806323b872dd146103f257610246565b806306fdde031461024b578063095ea7b31461027657806310d5de53146102b35780631694505e146102f057806318160ddd1461031b57610246565b3661024657005b600080fd5b34801561025757600080fd5b5061026061099d565b60405161026d9190612b7c565b60405180910390f35b34801561028257600080fd5b5061029d60048036038101906102989190612842565b610a2f565b6040516102aa9190612b61565b60405180910390f35b3480156102bf57600080fd5b506102da60048036038101906102d59190612782565b610a4d565b6040516102e79190612b61565b60405180910390f35b3480156102fc57600080fd5b50610305610a6d565b6040516103129190612b46565b60405180910390f35b34801561032757600080fd5b50610330610a93565b60405161033d9190612d5e565b60405180910390f35b34801561035257600080fd5b5061035b610a9d565b6040516103689190612d5e565b60405180910390f35b34801561037d57600080fd5b50610386610aa3565b6040516103939190612d5e565b60405180910390f35b3480156103a857600080fd5b506103b1610aa9565b6040516103be9190612d5e565b60405180910390f35b3480156103d357600080fd5b506103dc610aaf565b6040516103e99190612d5e565b60405180910390f35b3480156103fe57600080fd5b50610419600480360381019061041491906127ef565b610ab5565b6040516104269190612b61565b60405180910390f35b34801561043b57600080fd5b50610444610bad565b6040516104519190612b46565b60405180910390f35b34801561046657600080fd5b50610481600480360381019061047c9190612782565b610bb3565b005b34801561048f57600080fd5b50610498610c4f565b6040516104a59190612d5e565b60405180910390f35b3480156104ba57600080fd5b506104c3610c55565b6040516104d09190612b61565b60405180910390f35b3480156104e557600080fd5b506104ee610c68565b6040516104fb9190612d79565b60405180910390f35b34801561051057600080fd5b5061052b60048036038101906105269190612842565b610c71565b6040516105389190612b61565b60405180910390f35b34801561054d57600080fd5b5061056860048036038101906105639190612882565b610d1d565b005b34801561057657600080fd5b5061057f610dba565b60405161058c9190612b61565b60405180910390f35b3480156105a157600080fd5b506105aa610dcd565b6040516105b79190612d5e565b60405180910390f35b3480156105cc57600080fd5b506105e760048036038101906105e29190612782565b610dd3565b6040516105f49190612d5e565b60405180910390f35b34801561060957600080fd5b50610612610e1b565b005b34801561062057600080fd5b50610629610ea3565b6040516106369190612d5e565b60405180910390f35b34801561064b57600080fd5b50610654610ea9565b6040516106619190612b46565b60405180910390f35b34801561067657600080fd5b5061067f610ed3565b60405161068c9190612d5e565b60405180910390f35b3480156106a157600080fd5b506106aa610ed9565b6040516106b79190612b7c565b60405180910390f35b3480156106cc57600080fd5b506106d5610f6b565b6040516106e29190612d5e565b60405180910390f35b3480156106f757600080fd5b50610712600480360381019061070d9190612782565b610f71565b005b34801561072057600080fd5b5061073b60048036038101906107369190612842565b61100d565b6040516107489190612b61565b60405180910390f35b34801561075d57600080fd5b506107666110f8565b6040516107739190612d5e565b60405180910390f35b34801561078857600080fd5b506107a3600480360381019061079e9190612842565b6110fe565b6040516107b09190612b61565b60405180910390f35b3480156107c557600080fd5b506107e060048036038101906107db9190612782565b61111c565b6040516107ed9190612b61565b60405180910390f35b34801561080257600080fd5b5061080b61113b565b6040516108189190612b61565b60405180910390f35b34801561082d57600080fd5b50610836611227565b6040516108439190612d5e565b60405180910390f35b34801561085857600080fd5b50610873600480360381019061086e9190612782565b61122d565b6040516108809190612b61565b60405180910390f35b34801561089557600080fd5b5061089e611283565b6040516108ab9190612d5e565b60405180910390f35b3480156108c057600080fd5b506108db60048036038101906108d691906127af565b611289565b6040516108e89190612d5e565b60405180910390f35b3480156108fd57600080fd5b50610906611310565b6040516109139190612d5e565b60405180910390f35b34801561092857600080fd5b50610931611316565b60405161093e9190612d5e565b60405180910390f35b34801561095357600080fd5b5061095c61131c565b6040516109699190612d5e565b60405180910390f35b34801561097e57600080fd5b50610987611322565b6040516109949190612d5e565b60405180910390f35b6060600780546109ac90612f58565b80601f01602080910402602001604051908101604052809291908181526020018280546109d890612f58565b8015610a255780601f106109fa57610100808354040283529160200191610a25565b820191906000526020600020905b815481529060010190602001808311610a0857829003601f168201915b5050505050905090565b6000610a43610a3c61133e565b8484611346565b6001905092915050565b601f6020528060005260406000206000915054906101000a900460ff1681565b600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600554905090565b60135481565b60105481565b601c5481565b601b5481565b6000610ac2848484611511565b6000600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000610b0d61133e565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905082811015610b8d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b8490612c5e565b60405180910390fd5b610ba185610b9961133e565b858403611346565b60019150509392505050565b61dead81565b3373ffffffffffffffffffffffffffffffffffffffff16600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610c43576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c3a90612cde565b60405180910390fd5b610c4c8161207a565b50565b60115481565b600f60009054906101000a900460ff1681565b60006009905090565b6000610d13610c7e61133e565b848460026000610c8c61133e565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610d0e9190612dbb565b611346565b6001905092915050565b3373ffffffffffffffffffffffffffffffffffffffff16600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610dad576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610da490612cde565b60405180910390fd5b610db733826120d4565b50565b601d60009054906101000a900460ff1681565b60185481565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b610e2361133e565b73ffffffffffffffffffffffffffffffffffffffff16610e41610ea9565b73ffffffffffffffffffffffffffffffffffffffff1614610e97576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e8e90612c7e565b60405180910390fd5b610ea1600061229e565b565b60165481565b6000600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60195481565b606060088054610ee890612f58565b80601f0160208091040260200160405190810160405280929190818152602001828054610f1490612f58565b8015610f615780601f10610f3657610100808354040283529160200191610f61565b820191906000526020600020905b815481529060010190602001808311610f4457829003601f168201915b5050505050905090565b60145481565b3373ffffffffffffffffffffffffffffffffffffffff16600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611001576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ff890612cde565b60405180910390fd5b61100a81612364565b50565b6000806002600061101c61133e565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050828110156110d9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110d090612d3e565b60405180910390fd5b6110ed6110e461133e565b85858403611346565b600191505092915050565b60125481565b600061111261110b61133e565b8484611511565b6001905092915050565b602080528060005260406000206000915054906101000a900460ff1681565b600061114561133e565b73ffffffffffffffffffffffffffffffffffffffff16611163610ea9565b73ffffffffffffffffffffffffffffffffffffffff16146111b9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111b090612c7e565b60405180910390fd5b600160168190555060006017819055506017546016546111d99190612dbb565b60158190555060016018819055506001601981905550601a546019546111ff9190612dbb565b6018819055506000601d60006101000a81548160ff0219169083151502179055506001905090565b600d5481565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b60155481565b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600c5481565b60175481565b601a5481565b600e5481565b600081836113369190612dbb565b905092915050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156113b6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113ad90612cfe565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611426576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161141d90612bde565b60405180910390fd5b80600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516115049190612d5e565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611581576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161157890612cbe565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156115f1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115e890612b9e565b60405180910390fd5b600081141561160b57611606838360006123bf565b612075565b600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16806116ac5750600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b156117085760011515600460009054906101000a900460ff16151514611707576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116fe90612cde565b60405180910390fd5b5b601d60009054906101000a900460ff1615611b0e57611725610ea9565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141580156117935750611763610ea9565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b80156117cc5750600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b8015611806575061dead73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b801561181f5750600a60149054906101000a900460ff16155b15611b0d57602060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1680156118c75750601f60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b1561196e57600d54811115611911576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161190890612c3e565b60405180910390fd5b600e5461191d83610dd3565b826119289190612dbb565b1115611969576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161196090612d1e565b60405180910390fd5b611b0c565b602060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff168015611a115750601f60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b15611a6057600d54811115611a5b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a5290612c1e565b60405180910390fd5b611b0b565b601f60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16611b0a57600e54611abd83610dd3565b82611ac89190612dbb565b1115611b09576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b0090612d1e565b60405180910390fd5b5b5b5b5b5b60011515600460009054906101000a900460ff1615151415612069576000611b3530610dd3565b90506000600c548210159050808015611b5b5750600a60149054906101000a900460ff16155b8015611bb15750602060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b8015611c075750601e60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b8015611c5d5750601e60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b15611ca1576001600a60146101000a81548160ff021916908315150217905550611c85612640565b6000600a60146101000a81548160ff0219169083151502179055505b600a60149054906101000a900460ff16158015611d075750602060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b8015611d1f5750600f60009054906101000a900460ff165b8015611d3a5750601154601254611d369190612dbb565b4210155b8015611d905750601e60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b506000600a60149054906101000a900460ff16159050601e60008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1680611e475750601e60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b15611e5157600090505b6000811561206457602060008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff168015611eb457506000601854115b15611f4e57611ee16064611ed36018548861272290919063ffffffff16565b61273890919063ffffffff16565b9050601854601a5482611ef49190612e42565b611efe9190612e11565b601c6000828254611f0f9190612dbb565b9250508190555060185460195482611f279190612e42565b611f319190612e11565b601b6000828254611f429190612dbb565b92505081905550612040565b602060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff168015611fa957506000601554115b1561203f57611fd66064611fc86015548861272290919063ffffffff16565b61273890919063ffffffff16565b905060155460175482611fe99190612e42565b611ff39190612e11565b601c60008282546120049190612dbb565b925050819055506015546016548261201c9190612e42565b6120269190612e11565b601b60008282546120379190612dbb565b925050819055505b5b6000811115612055576120548730836123bf565b5b80856120619190612e9c565b94505b505050505b6120748383836123bf565b5b505050565b60018060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415612144576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161213b90612c9e565b60405180910390fd5b60008060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050818110156121ca576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016121c190612bbe565b60405180910390fd5b816006546121d89190612e9c565b6000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550816005600082825461222c9190612e9c565b92505081905550600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516122919190612d5e565b60405180910390a3505050565b6000600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600960006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141561242f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161242690612cbe565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141561249f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161249690612b9e565b60405180910390fd5b6124aa83838361274e565b60008060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905081811015612530576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161252790612bfe565b60405180910390fd5b8181036000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546125c39190612dbb565b925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516126279190612d5e565b60405180910390a361263a848484612753565b50505050565b600061264b30610dd3565b90506000601b54601c5461265f9190612dbb565b90506000808314806126715750600082145b1561267e57505050612720565b6000601c819055506000601b81905550600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16476040516126d490612b31565b60006040518083038185875af1925050503d8060008114612711576040519150601f19603f3d011682016040523d82523d6000602084013e612716565b606091505b5050809150505050505b565b600081836127309190612e42565b905092915050565b600081836127469190612e11565b905092915050565b505050565b505050565b600081359050612767816133e7565b92915050565b60008135905061277c816133fe565b92915050565b60006020828403121561279857612797613017565b5b60006127a684828501612758565b91505092915050565b600080604083850312156127c6576127c5613017565b5b60006127d485828601612758565b92505060206127e585828601612758565b9150509250929050565b60008060006060848603121561280857612807613017565b5b600061281686828701612758565b935050602061282786828701612758565b92505060406128388682870161276d565b9150509250925092565b6000806040838503121561285957612858613017565b5b600061286785828601612758565b92505060206128788582860161276d565b9150509250929050565b60006020828403121561289857612897613017565b5b60006128a68482850161276d565b91505092915050565b6128b881612ed0565b82525050565b6128c781612ee2565b82525050565b60006128d882612d94565b6128e28185612daa565b93506128f2818560208601612f25565b6128fb8161301c565b840191505092915050565b6000612913602383612daa565b915061291e8261302d565b604082019050919050565b6000612936602283612daa565b91506129418261307c565b604082019050919050565b6000612959602283612daa565b9150612964826130cb565b604082019050919050565b600061297c602683612daa565b91506129878261311a565b604082019050919050565b600061299f603683612daa565b91506129aa82613169565b604082019050919050565b60006129c2603583612daa565b91506129cd826131b8565b604082019050919050565b60006129e5602883612daa565b91506129f082613207565b604082019050919050565b6000612a08602083612daa565b9150612a1382613256565b602082019050919050565b6000612a2b602183612daa565b9150612a368261327f565b604082019050919050565b6000612a4e602583612daa565b9150612a59826132ce565b604082019050919050565b6000612a71600083612d9f565b9150612a7c8261331d565b600082019050919050565b6000612a94600083612daa565b9150612a9f8261331d565b600082019050919050565b6000612ab7602483612daa565b9150612ac282613320565b604082019050919050565b6000612ada601383612daa565b9150612ae58261336f565b602082019050919050565b6000612afd602583612daa565b9150612b0882613398565b604082019050919050565b612b1c81612f0e565b82525050565b612b2b81612f18565b82525050565b6000612b3c82612a64565b9150819050919050565b6000602082019050612b5b60008301846128af565b92915050565b6000602082019050612b7660008301846128be565b92915050565b60006020820190508181036000830152612b9681846128cd565b905092915050565b60006020820190508181036000830152612bb781612906565b9050919050565b60006020820190508181036000830152612bd781612929565b9050919050565b60006020820190508181036000830152612bf78161294c565b9050919050565b60006020820190508181036000830152612c178161296f565b9050919050565b60006020820190508181036000830152612c3781612992565b9050919050565b60006020820190508181036000830152612c57816129b5565b9050919050565b60006020820190508181036000830152612c77816129d8565b9050919050565b60006020820190508181036000830152612c97816129fb565b9050919050565b60006020820190508181036000830152612cb781612a1e565b9050919050565b60006020820190508181036000830152612cd781612a41565b9050919050565b60006020820190508181036000830152612cf781612a87565b9050919050565b60006020820190508181036000830152612d1781612aaa565b9050919050565b60006020820190508181036000830152612d3781612acd565b9050919050565b60006020820190508181036000830152612d5781612af0565b9050919050565b6000602082019050612d736000830184612b13565b92915050565b6000602082019050612d8e6000830184612b22565b92915050565b600081519050919050565b600081905092915050565b600082825260208201905092915050565b6000612dc682612f0e565b9150612dd183612f0e565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115612e0657612e05612f8a565b5b828201905092915050565b6000612e1c82612f0e565b9150612e2783612f0e565b925082612e3757612e36612fb9565b5b828204905092915050565b6000612e4d82612f0e565b9150612e5883612f0e565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615612e9157612e90612f8a565b5b828202905092915050565b6000612ea782612f0e565b9150612eb283612f0e565b925082821015612ec557612ec4612f8a565b5b828203905092915050565b6000612edb82612eee565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b60005b83811015612f43578082015181840152602081019050612f28565b83811115612f52576000848401525b50505050565b60006002820490506001821680612f7057607f821691505b60208210811415612f8457612f83612fe8565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600080fd5b6000601f19601f8301169050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a206275726e20616d6f756e7420657863656564732062616c616e60008201527f6365000000000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206260008201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b7f53656c6c207472616e7366657220616d6f756e7420657863656564732074686560008201527f206d61785472616e73616374696f6e416d6f756e742e00000000000000000000602082015250565b7f427579207472616e7366657220616d6f756e742065786365656473207468652060008201527f6d61785472616e73616374696f6e416d6f756e742e0000000000000000000000602082015250565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206160008201527f6c6c6f77616e6365000000000000000000000000000000000000000000000000602082015250565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b7f45524332303a206275726e2066726f6d20746865207a65726f2061646472657360008201527f7300000000000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b50565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b7f4d61782077616c6c657420657863656564656400000000000000000000000000600082015250565b7f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760008201527f207a65726f000000000000000000000000000000000000000000000000000000602082015250565b6133f081612ed0565b81146133fb57600080fd5b50565b61340781612f0e565b811461341257600080fd5b5056fea264697066735822122024dce4025d112cd3bc3e0b4d4f81caa2e608a14672bc8c37606ef902b681b8c564736f6c63430008050033
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
00000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000e00000000000000000000000000000000000000000000000004139c1192c5600000000000000000000000000008f199e5e135d9d1bec71cd9373eb3a9de686d1570000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d0000000000000000000000000000000000000000000000000000000000000009526f6e696e2044414f00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005524f4e494e000000000000000000000000000000000000000000000000000000
-----Decoded View---------------
Arg [0] : name (string): Ronin DAO
Arg [1] : symbol (string): RONIN
Arg [2] : supply (uint256): 4700000000000000000
Arg [3] : market (address): 0x8f199e5E135D9d1beC71CD9373EB3A9dE686D157
Arg [4] : uniswap (address): 0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D
-----Encoded View---------------
9 Constructor Arguments found :
Arg [0] : 00000000000000000000000000000000000000000000000000000000000000a0
Arg [1] : 00000000000000000000000000000000000000000000000000000000000000e0
Arg [2] : 0000000000000000000000000000000000000000000000004139c1192c560000
Arg [3] : 0000000000000000000000008f199e5e135d9d1bec71cd9373eb3a9de686d157
Arg [4] : 0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d
Arg [5] : 0000000000000000000000000000000000000000000000000000000000000009
Arg [6] : 526f6e696e2044414f0000000000000000000000000000000000000000000000
Arg [7] : 0000000000000000000000000000000000000000000000000000000000000005
Arg [8] : 524f4e494e000000000000000000000000000000000000000000000000000000
Deployed Bytecode Sourcemap
969:8238:4:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;706:100:1;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1685:194;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2012:63:4;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1049:30;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1026:108:1;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1507:47:4;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1375:35;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1868:33;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1828;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1887:529:1;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1086:53:4;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4453:88;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;1417:45;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1336:32;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;926:92:1;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2783:290;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4357:88:4;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;1910:34;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1715:28;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1142:143:1;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;746:103:3;;;;;;;;;;;;;:::i;:::-;;1639:30:4;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;316:87:3;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1750:31:4;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;814:104:1;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1561:35:4;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4549:82;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;3081:475:1;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1469:29:4;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1293:200:1;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2084:57:4;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3991:358;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1261:35;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2654:121:1;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1605:27:4;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1501:176:1;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1219:33:4;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1676:30;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1788:31;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1303:24;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;706:100:1;760:13;793:5;786:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;706:100;:::o;1685:194::-;1793:4;1810:39;1819:12;:10;:12::i;:::-;1833:7;1842:6;1810:8;:39::i;:::-;1867:4;1860:11;;1685:194;;;;:::o;2012:63:4:-;;;;;;;;;;;;;;;;;;;;;;:::o;1049:30::-;;;;;;;;;;;;;:::o;1026:108:1:-;1087:7;1114:12;;1107:19;;1026:108;:::o;1507:47:4:-;;;;:::o;1375:35::-;;;;:::o;1868:33::-;;;;:::o;1828:::-;;;;:::o;1887:529:1:-;2027:4;2044:36;2054:6;2062:9;2073:6;2044:9;:36::i;:::-;2093:24;2120:11;:19;2132:6;2120:19;;;;;;;;;;;;;;;:33;2140:12;:10;:12::i;:::-;2120:33;;;;;;;;;;;;;;;;2093:60;;2206:6;2186:16;:26;;2164:116;;;;;;;;;;;;:::i;:::-;;;;;;;;;2316:57;2325:6;2333:12;:10;:12::i;:::-;2366:6;2347:16;:25;2316:8;:57::i;:::-;2404:4;2397:11;;;1887:529;;;;;:::o;1086:53:4:-;1132:6;1086:53;:::o;4453:88::-;3959:10;3940:29;;:15;;;;;;;;;;;:29;;;3932:41;;;;;;;;;;;;:::i;:::-;;;;;;;;;4516:17:::1;4525:7;4516:8;:17::i;:::-;4453:88:::0;:::o;1417:45::-;;;;:::o;1336:32::-;;;;;;;;;;;;;:::o;926:92:1:-;984:5;1009:1;1002:8;;926:92;:::o;2783:290::-;2896:4;2913:130;2936:12;:10;:12::i;:::-;2963:7;3022:10;2985:11;:25;2997:12;:10;:12::i;:::-;2985:25;;;;;;;;;;;;;;;:34;3011:7;2985:34;;;;;;;;;;;;;;;;:47;;;;:::i;:::-;2913:8;:130::i;:::-;3061:4;3054:11;;2783:290;;;;:::o;4357:88:4:-;3959:10;3940:29;;:15;;;;;;;;;;;:29;;;3932:41;;;;;;;;;;;;:::i;:::-;;;;;;;;;4412:25:::1;4418:10;4430:6;4412:5;:25::i;:::-;4357:88:::0;:::o;1910:34::-;;;;;;;;;;;;;:::o;1715:28::-;;;;:::o;1142:143:1:-;1232:7;1259:9;:18;1269:7;1259:18;;;;;;;;;;;;;;;;1252:25;;1142:143;;;:::o;746:103:3:-;462:12;:10;:12::i;:::-;451:23;;:7;:5;:7::i;:::-;:23;;;443:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;811:30:::1;838:1;811:18;:30::i;:::-;746:103::o:0;1639:30:4:-;;;;:::o;316:87:3:-;362:7;389:6;;;;;;;;;;;382:13;;316:87;:::o;1750:31:4:-;;;;:::o;814:104:1:-;870:13;903:7;896:14;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;814:104;:::o;1561:35:4:-;;;;:::o;4549:82::-;3959:10;3940:29;;:15;;;;;;;;;;;:29;;;3932:41;;;;;;;;;;;;:::i;:::-;;;;;;;;;4607:16:::1;4615:7;4607;:16::i;:::-;4549:82:::0;:::o;3081:475:1:-;3199:4;3216:24;3243:11;:25;3255:12;:10;:12::i;:::-;3243:25;;;;;;;;;;;;;;;:34;3269:7;3243:34;;;;;;;;;;;;;;;;3216:61;;3330:15;3310:16;:35;;3288:122;;;;;;;;;;;;:::i;:::-;;;;;;;;;3446:67;3455:12;:10;:12::i;:::-;3469:7;3497:15;3478:16;:34;3446:8;:67::i;:::-;3544:4;3537:11;;;3081:475;;;;:::o;1469:29:4:-;;;;:::o;1293:200:1:-;1404:4;1421:42;1431:12;:10;:12::i;:::-;1445:9;1456:6;1421:9;:42::i;:::-;1481:4;1474:11;;1293:200;;;;:::o;2084:57:4:-;;;;;;;;;;;;;;;;;;;;;;:::o;3991:358::-;4040:4;462:12:3;:10;:12::i;:::-;451:23;;:7;:5;:7::i;:::-;:23;;;443:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;4075:1:4::1;4057:15;:19;;;;4105:1;4087:15;:19;;;;4150:15;;4132;;:33;;;;:::i;:::-;4117:12;:48;;;;4192:1;4176:13;:17;;;;4223:1;4204:16;:20;;;;4270:16;;4251;;:35;;;;:::i;:::-;4235:13;:51;;;;4314:5;4297:14;;:22;;;;;;;;;;;;;;;;;;4337:4;4330:11;;3991:358:::0;:::o;1261:35::-;;;;:::o;2654:121:1:-;2727:4;2751:6;:16;2758:8;2751:16;;;;;;;;;;;;;;;;;;;;;;;;;2744:23;;2654:121;;;:::o;1605:27:4:-;;;;:::o;1501:176:1:-;1615:7;1642:11;:18;1654:5;1642:18;;;;;;;;;;;;;;;:27;1661:7;1642:27;;;;;;;;;;;;;;;;1635:34;;1501:176;;;;:::o;1219:33:4:-;;;;:::o;1676:30::-;;;;:::o;1788:31::-;;;;:::o;1303:24::-;;;;:::o;1325:98:5:-;1383:7;1414:1;1410;:5;;;;:::i;:::-;1403:12;;1325:98;;;;:::o;93::0:-;146:7;173:10;166:17;;93:98;:::o;5217:380:1:-;5370:1;5353:19;;:5;:19;;;;5345:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;5451:1;5432:21;;:7;:21;;;;5424:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;5535:6;5505:11;:18;5517:5;5505:18;;;;;;;;;;;;;;;:27;5524:7;5505:27;;;;;;;;;;;;;;;:36;;;;5573:7;5557:32;;5566:5;5557:32;;;5582:6;5557:32;;;;;;:::i;:::-;;;;;;;;5217:380;;;:::o;4835:3884:4:-;4983:1;4967:18;;:4;:18;;;;4959:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;5060:1;5046:16;;:2;:16;;;;5038:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;5129:1;5119:6;:11;5115:93;;;5147:28;5163:4;5169:2;5173:1;5147:15;:28::i;:::-;5190:7;;5115:93;5224:6;:10;5231:2;5224:10;;;;;;;;;;;;;;;;;;;;;;;;;:40;;;;5252:6;:12;5259:4;5252:12;;;;;;;;;;;;;;;;;;;;;;;;;5224:40;5220:99;;;5310:4;5302:12;;:4;;;;;;;;;;;:12;;;5294:25;;;;;;;;;;;;:::i;:::-;;;;;;;;;5220:99;5344:14;;;;;;;;;;;5340:1412;;;5405:7;:5;:7::i;:::-;5397:15;;:4;:15;;;;:49;;;;;5439:7;:5;:7::i;:::-;5433:13;;:2;:13;;;;5397:49;:86;;;;;5481:1;5467:16;;:2;:16;;;;5397:86;:128;;;;;5518:6;5504:21;;:2;:21;;;;5397:128;:158;;;;;5547:8;;;;;;;;;;;5546:9;5397:158;5375:1366;;;5616:25;:31;5642:4;5616:31;;;;;;;;;;;;;;;;;;;;;;;;;:92;;;;;5673:31;:35;5705:2;5673:35;;;;;;;;;;;;;;;;;;;;;;;;;5672:36;5616:92;5590:1136;;;5795:20;;5785:6;:30;;5751:169;;;;;;;;;;;;:::i;:::-;;;;;;;;;6003:9;;5986:13;5996:2;5986:9;:13::i;:::-;5977:6;:22;;;;:::i;:::-;:35;;5943:140;;;;;;;;;;;;:::i;:::-;;;;;;;;;5590:1136;;;6170:25;:29;6196:2;6170:29;;;;;;;;;;;;;;;;;;;;;;;;;:92;;;;;6225:31;:37;6257:4;6225:37;;;;;;;;;;;;;;;;;;;;;;;;;6224:38;6170:92;6144:582;;;6349:20;;6339:6;:30;;6305:170;;;;;;;;;;;;:::i;:::-;;;;;;;;;6144:582;;;6506:31;:35;6538:2;6506:35;;;;;;;;;;;;;;;;;;;;;;;;;6501:225;;6626:9;;6609:13;6619:2;6609:9;:13::i;:::-;6600:6;:22;;;;:::i;:::-;:35;;6566:140;;;;;;;;;;;;:::i;:::-;;;;;;;;;6501:225;6144:582;5590:1136;5375:1366;5340:1412;6774:4;6766:12;;:4;;;;;;;;;;;:12;;;6762:1906;;;6793:28;6824:24;6842:4;6824:9;:24::i;:::-;6793:55;;6861:12;6900:18;;6876:20;:42;;6861:57;;6949:7;:33;;;;;6974:8;;;;;;;;;;;6973:9;6949:33;:82;;;;;7000:25;:31;7026:4;7000:31;;;;;;;;;;;;;;;;;;;;;;;;;6999:32;6949:82;:125;;;;;7049:19;:25;7069:4;7049:25;;;;;;;;;;;;;;;;;;;;;;;;;7048:26;6949:125;:166;;;;;7092:19;:23;7112:2;7092:23;;;;;;;;;;;;;;;;;;;;;;;;;7091:24;6949:166;6931:298;;;7153:4;7142:8;;:15;;;;;;;;;;;;;;;;;;7174:10;:8;:10::i;:::-;7212:5;7201:8;;:16;;;;;;;;;;;;;;;;;;6931:298;7260:8;;;;;;;;;;;7259:9;:55;;;;;7285:25;:29;7311:2;7285:29;;;;;;;;;;;;;;;;;;;;;;;;;7259:55;:85;;;;;7331:13;;;;;;;;;;;7259:85;:153;;;;;7397:15;;7380:14;;:32;;;;:::i;:::-;7361:15;:51;;7259:153;:196;;;;;7430:19;:25;7450:4;7430:25;;;;;;;;;;;;;;;;;;;;;;;;;7429:26;7259:196;7241:238;7491:12;7507:8;;;;;;;;;;;7506:9;7491:24;;7617:19;:25;7637:4;7617:25;;;;;;;;;;;;;;;;;;;;;;;;;:52;;;;7646:19;:23;7666:2;7646:23;;;;;;;;;;;;;;;;;;;;;;;;;7617:52;7613:100;;;7696:5;7686:15;;7613:100;7725:12;7830:7;7826:831;;;7882:25;:29;7908:2;7882:29;;;;;;;;;;;;;;;;;;;;;;;;;:50;;;;;7931:1;7915:13;;:17;7882:50;7878:630;;;7960:34;7990:3;7960:25;7971:13;;7960:6;:10;;:25;;;;:::i;:::-;:29;;:34;;;;:::i;:::-;7953:41;;8063:13;;8043:16;;8036:4;:23;;;;:::i;:::-;8035:41;;;;:::i;:::-;8013:18;;:63;;;;;;;:::i;:::-;;;;;;;;8145:13;;8125:16;;8118:4;:23;;;;:::i;:::-;8117:41;;;;:::i;:::-;8095:18;;:63;;;;;;;:::i;:::-;;;;;;;;7878:630;;;8220:25;:31;8246:4;8220:31;;;;;;;;;;;;;;;;;;;;;;;;;:51;;;;;8270:1;8255:12;;:16;8220:51;8216:292;;;8299:33;8328:3;8299:24;8310:12;;8299:6;:10;;:24;;;;:::i;:::-;:28;;:33;;;;:::i;:::-;8292:40;;8400:12;;8381:15;;8374:4;:22;;;;:::i;:::-;8373:39;;;;:::i;:::-;8351:18;;:61;;;;;;;:::i;:::-;;;;;;;;8480:12;;8461:15;;8454:4;:22;;;;:::i;:::-;8453:39;;;;:::i;:::-;8431:18;;:61;;;;;;;:::i;:::-;;;;;;;;8216:292;7878:630;8535:1;8528:4;:8;8524:91;;;8557:42;8573:4;8587;8594;8557:15;:42::i;:::-;8524:91;8641:4;8631:14;;;;;:::i;:::-;;;7826:831;6780:1888;;;;6762:1906;8678:33;8694:4;8700:2;8704:6;8678:15;:33::i;:::-;4835:3884;;;;:::o;2430:103:1:-;2521:4;2502:6;:16;2509:8;2502:16;;;;;;;;;;;;;;;;:23;;;;;;;;;;;;;;;;;;2430:103;:::o;4753:452::-;4856:1;4837:21;;:7;:21;;;;4829:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;4917:22;4942:9;:18;4952:7;4942:18;;;;;;;;;;;;;;;;4917:43;;4997:6;4979:14;:24;;4971:71;;;;;;;;;;;;:::i;:::-;;;;;;;;;5085:6;5074:8;;:17;;;;:::i;:::-;5053:9;:18;5063:7;5053:18;;;;;;;;;;;;;;;:38;;;;5128:6;5112:12;;:22;;;;;;;:::i;:::-;;;;;;;;5186:1;5160:37;;5169:7;5160:37;;;5190:6;5160:37;;;;;;:::i;:::-;;;;;;;;4818:387;4753:452;;:::o;543:191:3:-;617:16;636:6;;;;;;;;;;;617:25;;662:8;653:6;;:17;;;;;;;;;;;;;;;;;;717:8;686:40;;707:8;686:40;;;;;;;;;;;;606:128;543:191;:::o;2542:103:1:-;2632:5;2613:6;:16;2620:8;2613:16;;;;;;;;;;;;;;;;:24;;;;;;;;;;;;;;;;;;2542:103;:::o;3564:770::-;3722:1;3704:20;;:6;:20;;;;3696:70;;;;;;;;;;;;:::i;:::-;;;;;;;;;3806:1;3785:23;;:9;:23;;;;3777:71;;;;;;;;;;;;:::i;:::-;;;;;;;;;3861:47;3882:6;3890:9;3901:6;3861:20;:47::i;:::-;3921:21;3945:9;:17;3955:6;3945:17;;;;;;;;;;;;;;;;3921:41;;4012:6;3995:13;:23;;3973:111;;;;;;;;;;;;:::i;:::-;;;;;;;;;4156:6;4140:13;:22;4120:9;:17;4130:6;4120:17;;;;;;;;;;;;;;;:42;;;;4208:6;4184:9;:20;4194:9;4184:20;;;;;;;;;;;;;;;;:30;;;;;;;:::i;:::-;;;;;;;;4249:9;4232:35;;4241:6;4232:35;;;4260:6;4232:35;;;;;;:::i;:::-;;;;;;;;4280:46;4300:6;4308:9;4319:6;4280:19;:46::i;:::-;3685:649;3564:770;;;:::o;8727:477:4:-;8766:23;8792:24;8810:4;8792:9;:24::i;:::-;8766:50;;8827:25;8876:18;;8855;;:39;;;;:::i;:::-;8827:67;;8905:12;8953:1;8934:15;:20;:46;;;;8979:1;8958:17;:22;8934:46;8930:85;;;8997:7;;;;;8930:85;9048:1;9027:18;:22;;;;9081:1;9060:18;:22;;;;9117:15;;;;;;;;;;;9109:29;;9160:21;9109:87;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9095:101;;;;;8755:449;;;8727:477;:::o;1537:98:5:-;1595:7;1626:1;1622;:5;;;;:::i;:::-;1615:12;;1537:98;;;;:::o;1643:::-;1701:7;1732:1;1728;:5;;;;:::i;:::-;1721:12;;1643:98;;;;:::o;5605:125:1:-;;;;:::o;5738:124::-;;;;:::o;7:139:6:-;53:5;91:6;78:20;69:29;;107:33;134:5;107:33;:::i;:::-;59:87;;;;:::o;152:139::-;198:5;236:6;223:20;214:29;;252:33;279:5;252:33;:::i;:::-;204:87;;;;:::o;297:329::-;356:6;405:2;393:9;384:7;380:23;376:32;373:2;;;411:79;;:::i;:::-;373:2;531:1;556:53;601:7;592:6;581:9;577:22;556:53;:::i;:::-;546:63;;502:117;363:263;;;;:::o;632:474::-;700:6;708;757:2;745:9;736:7;732:23;728:32;725:2;;;763:79;;:::i;:::-;725:2;883:1;908:53;953:7;944:6;933:9;929:22;908:53;:::i;:::-;898:63;;854:117;1010:2;1036:53;1081:7;1072:6;1061:9;1057:22;1036:53;:::i;:::-;1026:63;;981:118;715:391;;;;;:::o;1112:619::-;1189:6;1197;1205;1254:2;1242:9;1233:7;1229:23;1225:32;1222:2;;;1260:79;;:::i;:::-;1222:2;1380:1;1405:53;1450:7;1441:6;1430:9;1426:22;1405:53;:::i;:::-;1395:63;;1351:117;1507:2;1533:53;1578:7;1569:6;1558:9;1554:22;1533:53;:::i;:::-;1523:63;;1478:118;1635:2;1661:53;1706:7;1697:6;1686:9;1682:22;1661:53;:::i;:::-;1651:63;;1606:118;1212:519;;;;;:::o;1737:474::-;1805:6;1813;1862:2;1850:9;1841:7;1837:23;1833:32;1830:2;;;1868:79;;:::i;:::-;1830:2;1988:1;2013:53;2058:7;2049:6;2038:9;2034:22;2013:53;:::i;:::-;2003:63;;1959:117;2115:2;2141:53;2186:7;2177:6;2166:9;2162:22;2141:53;:::i;:::-;2131:63;;2086:118;1820:391;;;;;:::o;2217:329::-;2276:6;2325:2;2313:9;2304:7;2300:23;2296:32;2293:2;;;2331:79;;:::i;:::-;2293:2;2451:1;2476:53;2521:7;2512:6;2501:9;2497:22;2476:53;:::i;:::-;2466:63;;2422:117;2283:263;;;;:::o;2552:118::-;2639:24;2657:5;2639:24;:::i;:::-;2634:3;2627:37;2617:53;;:::o;2676:109::-;2757:21;2772:5;2757:21;:::i;:::-;2752:3;2745:34;2735:50;;:::o;2791:364::-;2879:3;2907:39;2940:5;2907:39;:::i;:::-;2962:71;3026:6;3021:3;2962:71;:::i;:::-;2955:78;;3042:52;3087:6;3082:3;3075:4;3068:5;3064:16;3042:52;:::i;:::-;3119:29;3141:6;3119:29;:::i;:::-;3114:3;3110:39;3103:46;;2883:272;;;;;:::o;3161:366::-;3303:3;3324:67;3388:2;3383:3;3324:67;:::i;:::-;3317:74;;3400:93;3489:3;3400:93;:::i;:::-;3518:2;3513:3;3509:12;3502:19;;3307:220;;;:::o;3533:366::-;3675:3;3696:67;3760:2;3755:3;3696:67;:::i;:::-;3689:74;;3772:93;3861:3;3772:93;:::i;:::-;3890:2;3885:3;3881:12;3874:19;;3679:220;;;:::o;3905:366::-;4047:3;4068:67;4132:2;4127:3;4068:67;:::i;:::-;4061:74;;4144:93;4233:3;4144:93;:::i;:::-;4262:2;4257:3;4253:12;4246:19;;4051:220;;;:::o;4277:366::-;4419:3;4440:67;4504:2;4499:3;4440:67;:::i;:::-;4433:74;;4516:93;4605:3;4516:93;:::i;:::-;4634:2;4629:3;4625:12;4618:19;;4423:220;;;:::o;4649:366::-;4791:3;4812:67;4876:2;4871:3;4812:67;:::i;:::-;4805:74;;4888:93;4977:3;4888:93;:::i;:::-;5006:2;5001:3;4997:12;4990:19;;4795:220;;;:::o;5021:366::-;5163:3;5184:67;5248:2;5243:3;5184:67;:::i;:::-;5177:74;;5260:93;5349:3;5260:93;:::i;:::-;5378:2;5373:3;5369:12;5362:19;;5167:220;;;:::o;5393:366::-;5535:3;5556:67;5620:2;5615:3;5556:67;:::i;:::-;5549:74;;5632:93;5721:3;5632:93;:::i;:::-;5750:2;5745:3;5741:12;5734:19;;5539:220;;;:::o;5765:366::-;5907:3;5928:67;5992:2;5987:3;5928:67;:::i;:::-;5921:74;;6004:93;6093:3;6004:93;:::i;:::-;6122:2;6117:3;6113:12;6106:19;;5911:220;;;:::o;6137:366::-;6279:3;6300:67;6364:2;6359:3;6300:67;:::i;:::-;6293:74;;6376:93;6465:3;6376:93;:::i;:::-;6494:2;6489:3;6485:12;6478:19;;6283:220;;;:::o;6509:366::-;6651:3;6672:67;6736:2;6731:3;6672:67;:::i;:::-;6665:74;;6748:93;6837:3;6748:93;:::i;:::-;6866:2;6861:3;6857:12;6850:19;;6655:220;;;:::o;6881:398::-;7040:3;7061:83;7142:1;7137:3;7061:83;:::i;:::-;7054:90;;7153:93;7242:3;7153:93;:::i;:::-;7271:1;7266:3;7262:11;7255:18;;7044:235;;;:::o;7285:364::-;7427:3;7448:66;7512:1;7507:3;7448:66;:::i;:::-;7441:73;;7523:93;7612:3;7523:93;:::i;:::-;7641:1;7636:3;7632:11;7625:18;;7431:218;;;:::o;7655:366::-;7797:3;7818:67;7882:2;7877:3;7818:67;:::i;:::-;7811:74;;7894:93;7983:3;7894:93;:::i;:::-;8012:2;8007:3;8003:12;7996:19;;7801:220;;;:::o;8027:366::-;8169:3;8190:67;8254:2;8249:3;8190:67;:::i;:::-;8183:74;;8266:93;8355:3;8266:93;:::i;:::-;8384:2;8379:3;8375:12;8368:19;;8173:220;;;:::o;8399:366::-;8541:3;8562:67;8626:2;8621:3;8562:67;:::i;:::-;8555:74;;8638:93;8727:3;8638:93;:::i;:::-;8756:2;8751:3;8747:12;8740:19;;8545:220;;;:::o;8771:118::-;8858:24;8876:5;8858:24;:::i;:::-;8853:3;8846:37;8836:53;;:::o;8895:112::-;8978:22;8994:5;8978:22;:::i;:::-;8973:3;8966:35;8956:51;;:::o;9013:379::-;9197:3;9219:147;9362:3;9219:147;:::i;:::-;9212:154;;9383:3;9376:10;;9201:191;;;:::o;9398:222::-;9491:4;9529:2;9518:9;9514:18;9506:26;;9542:71;9610:1;9599:9;9595:17;9586:6;9542:71;:::i;:::-;9496:124;;;;:::o;9626:210::-;9713:4;9751:2;9740:9;9736:18;9728:26;;9764:65;9826:1;9815:9;9811:17;9802:6;9764:65;:::i;:::-;9718:118;;;;:::o;9842:313::-;9955:4;9993:2;9982:9;9978:18;9970:26;;10042:9;10036:4;10032:20;10028:1;10017:9;10013:17;10006:47;10070:78;10143:4;10134:6;10070:78;:::i;:::-;10062:86;;9960:195;;;;:::o;10161:419::-;10327:4;10365:2;10354:9;10350:18;10342:26;;10414:9;10408:4;10404:20;10400:1;10389:9;10385:17;10378:47;10442:131;10568:4;10442:131;:::i;:::-;10434:139;;10332:248;;;:::o;10586:419::-;10752:4;10790:2;10779:9;10775:18;10767:26;;10839:9;10833:4;10829:20;10825:1;10814:9;10810:17;10803:47;10867:131;10993:4;10867:131;:::i;:::-;10859:139;;10757:248;;;:::o;11011:419::-;11177:4;11215:2;11204:9;11200:18;11192:26;;11264:9;11258:4;11254:20;11250:1;11239:9;11235:17;11228:47;11292:131;11418:4;11292:131;:::i;:::-;11284:139;;11182:248;;;:::o;11436:419::-;11602:4;11640:2;11629:9;11625:18;11617:26;;11689:9;11683:4;11679:20;11675:1;11664:9;11660:17;11653:47;11717:131;11843:4;11717:131;:::i;:::-;11709:139;;11607:248;;;:::o;11861:419::-;12027:4;12065:2;12054:9;12050:18;12042:26;;12114:9;12108:4;12104:20;12100:1;12089:9;12085:17;12078:47;12142:131;12268:4;12142:131;:::i;:::-;12134:139;;12032:248;;;:::o;12286:419::-;12452:4;12490:2;12479:9;12475:18;12467:26;;12539:9;12533:4;12529:20;12525:1;12514:9;12510:17;12503:47;12567:131;12693:4;12567:131;:::i;:::-;12559:139;;12457:248;;;:::o;12711:419::-;12877:4;12915:2;12904:9;12900:18;12892:26;;12964:9;12958:4;12954:20;12950:1;12939:9;12935:17;12928:47;12992:131;13118:4;12992:131;:::i;:::-;12984:139;;12882:248;;;:::o;13136:419::-;13302:4;13340:2;13329:9;13325:18;13317:26;;13389:9;13383:4;13379:20;13375:1;13364:9;13360:17;13353:47;13417:131;13543:4;13417:131;:::i;:::-;13409:139;;13307:248;;;:::o;13561:419::-;13727:4;13765:2;13754:9;13750:18;13742:26;;13814:9;13808:4;13804:20;13800:1;13789:9;13785:17;13778:47;13842:131;13968:4;13842:131;:::i;:::-;13834:139;;13732:248;;;:::o;13986:419::-;14152:4;14190:2;14179:9;14175:18;14167:26;;14239:9;14233:4;14229:20;14225:1;14214:9;14210:17;14203:47;14267:131;14393:4;14267:131;:::i;:::-;14259:139;;14157:248;;;:::o;14411:419::-;14577:4;14615:2;14604:9;14600:18;14592:26;;14664:9;14658:4;14654:20;14650:1;14639:9;14635:17;14628:47;14692:131;14818:4;14692:131;:::i;:::-;14684:139;;14582:248;;;:::o;14836:419::-;15002:4;15040:2;15029:9;15025:18;15017:26;;15089:9;15083:4;15079:20;15075:1;15064:9;15060:17;15053:47;15117:131;15243:4;15117:131;:::i;:::-;15109:139;;15007:248;;;:::o;15261:419::-;15427:4;15465:2;15454:9;15450:18;15442:26;;15514:9;15508:4;15504:20;15500:1;15489:9;15485:17;15478:47;15542:131;15668:4;15542:131;:::i;:::-;15534:139;;15432:248;;;:::o;15686:419::-;15852:4;15890:2;15879:9;15875:18;15867:26;;15939:9;15933:4;15929:20;15925:1;15914:9;15910:17;15903:47;15967:131;16093:4;15967:131;:::i;:::-;15959:139;;15857:248;;;:::o;16111:222::-;16204:4;16242:2;16231:9;16227:18;16219:26;;16255:71;16323:1;16312:9;16308:17;16299:6;16255:71;:::i;:::-;16209:124;;;;:::o;16339:214::-;16428:4;16466:2;16455:9;16451:18;16443:26;;16479:67;16543:1;16532:9;16528:17;16519:6;16479:67;:::i;:::-;16433:120;;;;:::o;16640:99::-;16692:6;16726:5;16720:12;16710:22;;16699:40;;;:::o;16745:147::-;16846:11;16883:3;16868:18;;16858:34;;;;:::o;16898:169::-;16982:11;17016:6;17011:3;17004:19;17056:4;17051:3;17047:14;17032:29;;16994:73;;;;:::o;17073:305::-;17113:3;17132:20;17150:1;17132:20;:::i;:::-;17127:25;;17166:20;17184:1;17166:20;:::i;:::-;17161:25;;17320:1;17252:66;17248:74;17245:1;17242:81;17239:2;;;17326:18;;:::i;:::-;17239:2;17370:1;17367;17363:9;17356:16;;17117:261;;;;:::o;17384:185::-;17424:1;17441:20;17459:1;17441:20;:::i;:::-;17436:25;;17475:20;17493:1;17475:20;:::i;:::-;17470:25;;17514:1;17504:2;;17519:18;;:::i;:::-;17504:2;17561:1;17558;17554:9;17549:14;;17426:143;;;;:::o;17575:348::-;17615:7;17638:20;17656:1;17638:20;:::i;:::-;17633:25;;17672:20;17690:1;17672:20;:::i;:::-;17667:25;;17860:1;17792:66;17788:74;17785:1;17782:81;17777:1;17770:9;17763:17;17759:105;17756:2;;;17867:18;;:::i;:::-;17756:2;17915:1;17912;17908:9;17897:20;;17623:300;;;;:::o;17929:191::-;17969:4;17989:20;18007:1;17989:20;:::i;:::-;17984:25;;18023:20;18041:1;18023:20;:::i;:::-;18018:25;;18062:1;18059;18056:8;18053:2;;;18067:18;;:::i;:::-;18053:2;18112:1;18109;18105:9;18097:17;;17974:146;;;;:::o;18126:96::-;18163:7;18192:24;18210:5;18192:24;:::i;:::-;18181:35;;18171:51;;;:::o;18228:90::-;18262:7;18305:5;18298:13;18291:21;18280:32;;18270:48;;;:::o;18324:126::-;18361:7;18401:42;18394:5;18390:54;18379:65;;18369:81;;;:::o;18456:77::-;18493:7;18522:5;18511:16;;18501:32;;;:::o;18539:86::-;18574:7;18614:4;18607:5;18603:16;18592:27;;18582:43;;;:::o;18631:307::-;18699:1;18709:113;18723:6;18720:1;18717:13;18709:113;;;18808:1;18803:3;18799:11;18793:18;18789:1;18784:3;18780:11;18773:39;18745:2;18742:1;18738:10;18733:15;;18709:113;;;18840:6;18837:1;18834:13;18831:2;;;18920:1;18911:6;18906:3;18902:16;18895:27;18831:2;18680:258;;;;:::o;18944:320::-;18988:6;19025:1;19019:4;19015:12;19005:22;;19072:1;19066:4;19062:12;19093:18;19083:2;;19149:4;19141:6;19137:17;19127:27;;19083:2;19211;19203:6;19200:14;19180:18;19177:38;19174:2;;;19230:18;;:::i;:::-;19174:2;18995:269;;;;:::o;19270:180::-;19318:77;19315:1;19308:88;19415:4;19412:1;19405:15;19439:4;19436:1;19429:15;19456:180;19504:77;19501:1;19494:88;19601:4;19598:1;19591:15;19625:4;19622:1;19615:15;19642:180;19690:77;19687:1;19680:88;19787:4;19784:1;19777:15;19811:4;19808:1;19801:15;19951:117;20060:1;20057;20050:12;20074:102;20115:6;20166:2;20162:7;20157:2;20150:5;20146:14;20142:28;20132:38;;20122:54;;;:::o;20182:222::-;20322:34;20318:1;20310:6;20306:14;20299:58;20391:5;20386:2;20378:6;20374:15;20367:30;20288:116;:::o;20410:221::-;20550:34;20546:1;20538:6;20534:14;20527:58;20619:4;20614:2;20606:6;20602:15;20595:29;20516:115;:::o;20637:221::-;20777:34;20773:1;20765:6;20761:14;20754:58;20846:4;20841:2;20833:6;20829:15;20822:29;20743:115;:::o;20864:225::-;21004:34;21000:1;20992:6;20988:14;20981:58;21073:8;21068:2;21060:6;21056:15;21049:33;20970:119;:::o;21095:241::-;21235:34;21231:1;21223:6;21219:14;21212:58;21304:24;21299:2;21291:6;21287:15;21280:49;21201:135;:::o;21342:240::-;21482:34;21478:1;21470:6;21466:14;21459:58;21551:23;21546:2;21538:6;21534:15;21527:48;21448:134;:::o;21588:227::-;21728:34;21724:1;21716:6;21712:14;21705:58;21797:10;21792:2;21784:6;21780:15;21773:35;21694:121;:::o;21821:182::-;21961:34;21957:1;21949:6;21945:14;21938:58;21927:76;:::o;22009:220::-;22149:34;22145:1;22137:6;22133:14;22126:58;22218:3;22213:2;22205:6;22201:15;22194:28;22115:114;:::o;22235:224::-;22375:34;22371:1;22363:6;22359:14;22352:58;22444:7;22439:2;22431:6;22427:15;22420:32;22341:118;:::o;22465:114::-;22571:8;:::o;22585:223::-;22725:34;22721:1;22713:6;22709:14;22702:58;22794:6;22789:2;22781:6;22777:15;22770:31;22691:117;:::o;22814:169::-;22954:21;22950:1;22942:6;22938:14;22931:45;22920:63;:::o;22989:224::-;23129:34;23125:1;23117:6;23113:14;23106:58;23198:7;23193:2;23185:6;23181:15;23174:32;23095:118;:::o;23219:122::-;23292:24;23310:5;23292:24;:::i;:::-;23285:5;23282:35;23272:2;;23331:1;23328;23321:12;23272:2;23262:79;:::o;23347:122::-;23420:24;23438:5;23420:24;:::i;:::-;23413:5;23410:35;23400:2;;23459:1;23456;23449:12;23400:2;23390:79;:::o
Swarm Source
ipfs://24dce4025d112cd3bc3e0b4d4f81caa2e608a14672bc8c37606ef902b681b8c5
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.