Feature Tip: Add private address tag to any address under My Name Tag !
ERC-20
Overview
Max Total Supply
7,777,777 $NWO
Holders
174
Market
Onchain Market Cap
$0.00
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 18 Decimals)
Balance
0.853496073684752152 $NWOValue
$0.00Loading...
Loading
Loading...
Loading
Loading...
Loading
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|
Contract Name:
NewWorldOrder
Compiler Version
v0.8.16+commit.07a7930e
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2023-10-14 */ // https://t.me/NewWorldOrderETH // SPDX-License-Identifier: MIT pragma solidity ^0.8.16; library SafeMath { function add(uint256 a, uint256 b) internal pure returns (uint256) { uint256 c = a + b; require(c >= a, "SafeMath: addition overflow"); return c; } function sub(uint256 a, uint256 b) internal pure returns (uint256) { return sub(a, b, "SafeMath: subtraction overflow"); } function sub( uint256 a, uint256 b, string memory errorMessage ) internal pure returns (uint256) { require(b <= a, errorMessage); uint256 c = a - b; return c; } function mul(uint256 a, uint256 b) internal pure returns (uint256) { if (a == 0) { return 0; } uint256 c = a * b; require(c / a == b, "SafeMath: multiplication overflow"); return c; } function div(uint256 a, uint256 b) internal pure returns (uint256) { return div(a, b, "SafeMath: division by zero"); } function div( uint256 a, uint256 b, string memory errorMessage ) internal pure returns (uint256) { require(b > 0, errorMessage); uint256 c = a / b; return c; } } interface IERC20 { function totalSupply() external view returns (uint256); function decimals() external view returns (uint8); function symbol() external view returns (string memory); function name() external view returns (string memory); function getOwner() external view returns (address); function balanceOf(address account) external view returns (uint256); function transfer(address recipient, uint256 amount) external returns (bool); function allowance(address _owner, address spender) external view returns (uint256); function approve(address spender, uint256 amount) external returns (bool); function transferFrom( address sender, address recipient, uint256 amount ) external returns (bool); event Transfer(address indexed from, address indexed to, uint256 value); event Approval( address indexed owner, address indexed spender, uint256 value ); } interface DexFactory { function createPair(address tokenA, address tokenB) external returns (address pair); } interface DexRouter { function factory() external pure returns (address); function WETH() external pure returns (address); function addLiquidityETH( address token, uint256 amountTokenDesired, uint256 amountTokenMin, uint256 amountETHMin, address to, uint256 deadline ) external payable returns ( uint256 amountToken, uint256 amountETH, uint256 liquidity ); function swapExactTokensForETHSupportingFeeOnTransferTokens( uint256 amountIn, uint256 amountOutMin, address[] calldata path, address to, uint256 deadline ) external; } abstract contract Context { function _msgSender() internal view virtual returns (address payable) { return payable(msg.sender); } function _msgData() internal view virtual returns (bytes memory) { this; return msg.data; } } contract Ownable is Context { address private _owner; event OwnershipTransferred( address indexed previousOwner, address indexed newOwner ); constructor() { address msgSender = _msgSender(); _owner = msgSender; authorizations[_owner] = true; emit OwnershipTransferred(address(0), msgSender); } mapping(address => bool) internal authorizations; function owner() public view returns (address) { return _owner; } modifier onlyOwner() { require(_owner == _msgSender(), "Ownable: caller is not the owner"); _; } function renounceOwnership() public virtual onlyOwner { emit OwnershipTransferred(_owner, address(0)); _owner = address(0); } function transferOwnership(address newOwner) public virtual onlyOwner { require( newOwner != address(0), "Ownable: new owner is the zero address" ); emit OwnershipTransferred(_owner, newOwner); _owner = newOwner; } } contract NewWorldOrder is Ownable, IERC20 { using SafeMath for uint256; string private constant _name = "New World Order"; string private constant _symbol = "$NWO"; address private constant DEAD = 0x000000000000000000000000000000000000dEaD; address private constant ZERO = 0x0000000000000000000000000000000000000000; address private routerAddress = 0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D; uint8 private constant _decimals = 18; uint256 private _totalSupply = 7777777 * (10**_decimals); uint256 public _maxTxAmount = (_totalSupply * 20) / 1000; uint256 public _walletMax = (_totalSupply * 20) / 1000; bool public restrictWhales = true; mapping(address => uint256) private _balances; mapping(address => mapping(address => uint256)) private _allowances; mapping(address => bool) public isFeeExempt; mapping(address => bool) public isTxLimitExempt; uint256 public liquidityFee = 0; uint256 public marketingFee = 0; uint256 public devFee = 0; uint256 public totalFee = 0; uint256 public totalFeeIfSelling = 0; bool public takeBuyFee = false; bool public takeSellFee = false; bool public takeTransferFee = false; address private lpWallet; address private projectAddress; address private teamAddress; DexRouter public router; address public pair; mapping(address => bool) public isPair; uint256 public launchedAt; bool public tradingOpen = false; bool private inSwapAndLiquify; bool public swapAndLiquifyEnabled = true; bool public swapAndLiquifyByLimitOnly = false; uint256 public swapThreshold = (_totalSupply * 2) / 2000; event AutoLiquify(uint256 amountETH, uint256 amountBOG); modifier lockTheSwap() { inSwapAndLiquify = true; _; inSwapAndLiquify = false; } constructor() { router = DexRouter(routerAddress); pair = DexFactory(router.factory()).createPair( router.WETH(), address(this) ); isPair[pair] = true; lpWallet = msg.sender; projectAddress = 0xAa2360Ca70Ed4Cf6B432623c022Bc1CCA51aaB3B; teamAddress = 0xAa2360Ca70Ed4Cf6B432623c022Bc1CCA51aaB3B; _allowances[address(this)][address(router)] = type(uint256).max; _allowances[address(this)][address(pair)] = type(uint256).max; isFeeExempt[msg.sender] = true; isFeeExempt[address(this)] = true; isFeeExempt[DEAD] = true; isTxLimitExempt[msg.sender] = true; isTxLimitExempt[pair] = true; isTxLimitExempt[DEAD] = true; isFeeExempt[projectAddress] = true; totalFee = liquidityFee.add(marketingFee).add(devFee); totalFeeIfSelling = totalFee; _balances[msg.sender] = _totalSupply; emit Transfer(address(0), msg.sender, _totalSupply); } receive() external payable {} function name() external pure override returns (string memory) { return _name; } function symbol() external pure override returns (string memory) { return _symbol; } function decimals() external pure override returns (uint8) { return _decimals; } function totalSupply() external view override returns (uint256) { return _totalSupply; } function getOwner() external view override returns (address) { return owner(); } function balanceOf(address account) public view override returns (uint256) { return _balances[account]; } function allowance(address holder, address spender) external view override returns (uint256) { return _allowances[holder][spender]; } function getCirculatingSupply() public view returns (uint256) { return _totalSupply.sub(balanceOf(DEAD)).sub(balanceOf(ZERO)); } function approve(address spender, uint256 amount) public override returns (bool) { _allowances[msg.sender][spender] = amount; emit Approval(msg.sender, spender, amount); return true; } function newWalletLimit(uint256 newLimit) external onlyOwner { require(newLimit >= 5, "Wallet Limit needs to be at least 0.5%"); _walletMax = (_totalSupply * newLimit) / 1000; } function newTxLimit(uint256 newLimit) external onlyOwner { require(newLimit >= 5, "Wallet Limit needs to be at least 0.5%"); _maxTxAmount = (_totalSupply * newLimit) / 1000; } function openTrading() public onlyOwner { tradingOpen = true; } function feeWhitelist(address holder, bool exempt) external onlyOwner { isFeeExempt[holder] = exempt; } function txLimitWhitelist(address holder, bool exempt) external onlyOwner { isTxLimitExempt[holder] = exempt; } function grantCompletePermissions(address target) public onlyOwner { authorizations[target] = true; isFeeExempt[target] = true; isTxLimitExempt[target] = true; } function changeFees( uint256 newLiqFee, uint256 newMarketingFee, uint256 newDevFee, uint256 extraSellFee ) external onlyOwner { liquidityFee = newLiqFee; marketingFee = newMarketingFee; devFee = newDevFee; totalFee = liquidityFee.add(marketingFee).add(devFee); totalFeeIfSelling = totalFee + extraSellFee; require(totalFeeIfSelling + totalFee < 25); } function isAuth(address _address, bool status) public onlyOwner { authorizations[_address] = status; } function changePair(address _address, bool status) public onlyOwner { isPair[_address] = status; } function changeTakeBuyfee(bool status) public onlyOwner { takeBuyFee = status; } function changeTakeSellfee(bool status) public onlyOwner { takeSellFee = status; } function changeTakeTransferfee(bool status) public onlyOwner { takeTransferFee = status; } function changeSwapbackSettings(bool status, uint256 newAmount) public onlyOwner { swapAndLiquifyEnabled = status; swapThreshold = newAmount; } function changeWallets( address newMktWallet, address newDevWallet, address newLpWallet ) public onlyOwner { lpWallet = newLpWallet; projectAddress = newMktWallet; teamAddress = newDevWallet; } function removeERC20(address tokenAddress, uint256 tokens) public onlyOwner returns (bool success) { require(tokenAddress != address(this), "Cant remove the native token"); return IERC20(tokenAddress).transfer(msg.sender, tokens); } function removeEther(uint256 amountPercentage) external onlyOwner { uint256 amountETH = address(this).balance; payable(msg.sender).transfer((amountETH * amountPercentage) / 100); } function approveMax(address spender) external returns (bool) { return approve(spender, type(uint256).max); } function launched() internal view returns (bool) { return launchedAt != 0; } function launch() internal { launchedAt = block.number; } function checkTxLimit(address sender, uint256 amount) internal view { require( amount <= _maxTxAmount || isTxLimitExempt[sender], "TX Limit Exceeded" ); } function failsCaptcha(address addr) internal view returns (bool) { uint256 size; assembly { size := extcodesize(addr) } return size > 0; } function transfer(address recipient, uint256 amount) external override returns (bool) { return _transferFrom(msg.sender, recipient, amount); } function _basicTransfer( address sender, address recipient, uint256 amount ) internal returns (bool) { _balances[sender] = _balances[sender].sub( amount, "Insufficient Balance" ); _balances[recipient] = _balances[recipient].add(amount); emit Transfer(sender, recipient, amount); return true; } function transferFrom( address sender, address recipient, uint256 amount ) external override returns (bool) { if (_allowances[sender][msg.sender] != type(uint256).max) { _allowances[sender][msg.sender] = _allowances[sender][msg.sender] .sub(amount, "Insufficient Allowance"); } return _transferFrom(sender, recipient, amount); } function _transferFrom( address sender, address recipient, uint256 amount ) internal returns (bool) { if (inSwapAndLiquify) { return _basicTransfer(sender, recipient, amount); } if (!authorizations[sender] && !authorizations[recipient]) { require(tradingOpen, ""); } require(amount <= _maxTxAmount || isTxLimitExempt[sender], "TX Limit"); if ( isPair[recipient] && !inSwapAndLiquify && swapAndLiquifyEnabled && _balances[address(this)] >= swapThreshold ) { swapBackAndPair(); } if (!launched() && isPair[recipient]) { require(_balances[sender] > 0, ""); launch(); } //Exchange tokens _balances[sender] = _balances[sender].sub(amount, ""); if (!isTxLimitExempt[recipient] && restrictWhales) { require(_balances[recipient].add(amount) <= _walletMax, ""); } uint256 finalAmount = !isFeeExempt[sender] && !isFeeExempt[recipient] ? takeFee(sender, recipient, amount) : amount; _balances[recipient] = _balances[recipient].add(finalAmount); emit Transfer(sender, recipient, finalAmount); return true; } function takeFee( address sender, address recipient, uint256 amount ) internal returns (uint256) { uint256 feeApplicable = 0; if (isPair[recipient] && takeSellFee) { feeApplicable = totalFeeIfSelling; } if (isPair[sender] && takeBuyFee) { feeApplicable = totalFee; } if (!isPair[sender] && !isPair[recipient]) { if (takeTransferFee) { feeApplicable = totalFeeIfSelling; } else { feeApplicable = 0; } } uint256 feeAmount = amount.mul(feeApplicable).div(100); _balances[address(this)] = _balances[address(this)].add(feeAmount); emit Transfer(sender, address(this), feeAmount); return amount.sub(feeAmount); } function swapBackAndPair() internal lockTheSwap { uint256 tokensToLiquify = _balances[address(this)]; uint256 amountToLiquify = tokensToLiquify .mul(liquidityFee) .div(totalFee) .div(2); uint256 amountToSwap = tokensToLiquify.sub(amountToLiquify); address[] memory path = new address[](2); path[0] = address(this); path[1] = router.WETH(); router.swapExactTokensForETHSupportingFeeOnTransferTokens( amountToSwap, 0, path, address(this), block.timestamp ); uint256 amountETH = address(this).balance; uint256 totalETHFee = totalFee.sub(liquidityFee.div(2)); uint256 amountETHLiquidity = amountETH .mul(liquidityFee) .div(totalETHFee) .div(2); uint256 amountETHMarketing = amountETH.mul(marketingFee).div( totalETHFee ); uint256 amountETHDev = amountETH.mul(devFee).div(totalETHFee); (bool tmpSuccess1, ) = payable(projectAddress).call{ value: amountETHMarketing, gas: 30000 }(""); tmpSuccess1 = false; (tmpSuccess1, ) = payable(teamAddress).call{ value: amountETHDev, gas: 30000 }(""); tmpSuccess1 = false; if (amountToLiquify > 0) { router.addLiquidityETH{value: amountETHLiquidity}( address(this), amountToLiquify, 0, 0, lpWallet, block.timestamp ); emit AutoLiquify(amountETHLiquidity, amountToLiquify); } } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"amountETH","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"amountBOG","type":"uint256"}],"name":"AutoLiquify","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[],"name":"_maxTxAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_walletMax","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"holder","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"}],"name":"approveMax","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"newLiqFee","type":"uint256"},{"internalType":"uint256","name":"newMarketingFee","type":"uint256"},{"internalType":"uint256","name":"newDevFee","type":"uint256"},{"internalType":"uint256","name":"extraSellFee","type":"uint256"}],"name":"changeFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_address","type":"address"},{"internalType":"bool","name":"status","type":"bool"}],"name":"changePair","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"status","type":"bool"},{"internalType":"uint256","name":"newAmount","type":"uint256"}],"name":"changeSwapbackSettings","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"status","type":"bool"}],"name":"changeTakeBuyfee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"status","type":"bool"}],"name":"changeTakeSellfee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"status","type":"bool"}],"name":"changeTakeTransferfee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newMktWallet","type":"address"},{"internalType":"address","name":"newDevWallet","type":"address"},{"internalType":"address","name":"newLpWallet","type":"address"}],"name":"changeWallets","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"devFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"holder","type":"address"},{"internalType":"bool","name":"exempt","type":"bool"}],"name":"feeWhitelist","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"getCirculatingSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getOwner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"target","type":"address"}],"name":"grantCompletePermissions","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_address","type":"address"},{"internalType":"bool","name":"status","type":"bool"}],"name":"isAuth","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"isFeeExempt","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"isPair","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"isTxLimitExempt","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"launchedAt","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"liquidityFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"marketingFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"uint256","name":"newLimit","type":"uint256"}],"name":"newTxLimit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newLimit","type":"uint256"}],"name":"newWalletLimit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"openTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"tokenAddress","type":"address"},{"internalType":"uint256","name":"tokens","type":"uint256"}],"name":"removeERC20","outputs":[{"internalType":"bool","name":"success","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"amountPercentage","type":"uint256"}],"name":"removeEther","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"restrictWhales","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"router","outputs":[{"internalType":"contract DexRouter","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"swapAndLiquifyByLimitOnly","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"swapAndLiquifyEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"swapThreshold","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"takeBuyFee","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"takeSellFee","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"takeTransferFee","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalFeeIfSelling","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"tradingOpen","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"holder","type":"address"},{"internalType":"bool","name":"exempt","type":"bool"}],"name":"txLimitWhitelist","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]
Contract Creation Code
6080604052600280546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d179055620000386012600a62000651565b62000047906276adf162000669565b6003556103e860035460146200005e919062000669565b6200006a91906200068b565b6004556103e8600354601462000081919062000669565b6200008d91906200068b565b6005556006805460ff191660011790556000600b819055600c819055600d819055600e819055600f556010805462ffffff191690556017805463ffff00ff1916620100001790556003546107d090620000e890600262000669565b620000f491906200068b565b6018553480156200010457600080fd5b50600080546001600160a01b031916339081178255808252600160208190526040808420805460ff191690921790915551909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a350600254601380546001600160a01b0319166001600160a01b0390921691821790556040805163c45a015560e01b8152905163c45a0155916004808201926020929091908290030181865afa158015620001bc573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001e29190620006ae565b6001600160a01b031663c9c65396601360009054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000244573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200026a9190620006ae565b6040516001600160e01b031960e084901b1681526001600160a01b0390911660048201523060248201526044016020604051808303816000875af1158015620002b7573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002dd9190620006ae565b601480546001600160a01b03199081166001600160a01b0393841690811783556000908152601560209081526040808320805460ff199081166001908117909255601080546301000000600160b81b0319163363010000008102919091179091556011805473aa2360ca70ed4cf6b432623c022bc1cca51aab3b90891681178255601280549099161790975530808752600886528487206013548b16885286528487206000199081905589548b168852858820558187526009808752858820805485168617905590875284872080548416851790557f960b1051749987b45b5679007fff577a1c2f763ec21c15a6c5eb1930750037858054841685179055908652600a8552838620805483168417905596548816855282852080548216831790557f20677881080440a9b3c87e826370bb5d9c2f74efd4dede686d52d77a6a09f8bb8054821683179055945490961683529381529290208054909116909217909155600d54600c54600b546200047693620004629290620004cf811b6200132a17901c565b620004cf60201b6200132a1790919060201c565b600e819055600f5560035433600081815260076020908152604080832085905551938452919290917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a3620006ef565b600080620004de8385620006d9565b905083811015620005355760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015260640160405180910390fd5b90505b92915050565b634e487b7160e01b600052601160045260246000fd5b600181815b80851115620005955781600019048211156200057957620005796200053e565b808516156200058757918102915b93841c939080029062000559565b509250929050565b600082620005ae5750600162000538565b81620005bd5750600062000538565b8160018114620005d65760028114620005e15762000601565b600191505062000538565b60ff841115620005f557620005f56200053e565b50506001821b62000538565b5060208310610133831016604e8410600b841016171562000626575081810a62000538565b62000632838362000554565b80600019048211156200064957620006496200053e565b029392505050565b60006200066260ff8416836200059d565b9392505050565b60008160001904831182151516156200068657620006866200053e565b500290565b600082620006a957634e487b7160e01b600052601260045260246000fd5b500490565b600060208284031215620006c157600080fd5b81516001600160a01b03811681146200053557600080fd5b808201808211156200053857620005386200053e565b6122e180620006ff6000396000f3fe6080604052600436106103035760003560e01c80637cc5d7eb11610190578063a9059cbb116100dc578063da00097d11610095578063f0ef821f1161006f578063f0ef821f1461094e578063f2fde38b14610968578063f887ea4014610988578063ffb54a99146109a857600080fd5b8063da00097d146108b7578063dd62ed3e146108d8578063e5e31b131461091e57600080fd5b8063a9059cbb14610816578063a993f32514610836578063bb54c40e14610856578063bf56b37114610876578063c9567bf91461088c578063ca987b0e146108a157600080fd5b80638b42507f1161014957806395d89b411161012357806395d89b411461079357806398118cb4146107c0578063a5355989146107d6578063a8aa1b31146107f657600080fd5b80638b42507f146107255780638da5cb5b14610755578063900d96111461077357600080fd5b80637cc5d7eb146106675780637d1db4a514610687578063807c2d9c1461069d5780638637b069146106b3578063893a9691146106d3578063893d20e8146106f357600080fd5b80633f4218e01161024f5780636827e764116102085780637070c898116101e25780637070c898146105dc57806370a08231146105fc578063715018a614610632578063787a051b1461064757600080fd5b80636827e764146105915780636b67c4df146105a757806370540933146105bd57600080fd5b80633f4218e0146104c757806344de2e4c146104f75780634a74bb0214610511578063571ac8b014610531578063650c42261461055157806366c61edd1461057157600080fd5b80631df4ccfc116102bc578063257cbb6f11610296578063257cbb6f146104565780632b112e4914610476578063313ce5671461048b578063399c7976146104a757600080fd5b80631df4ccfc146104005780631e0d55371461041657806323b872dd1461043657600080fd5b80630445b6671461030f57806306fdde0314610338578063095ea7b3146103795780630975d294146103a957806309cdd3ee146103cb57806318160ddd146103eb57600080fd5b3661030a57005b600080fd5b34801561031b57600080fd5b5061032560185481565b6040519081526020015b60405180910390f35b34801561034457600080fd5b5060408051808201909152600f81526e2732bb902bb7b936321027b93232b960891b60208201525b60405161032f9190611e8e565b34801561038557600080fd5b50610399610394366004611ef4565b6109c2565b604051901515815260200161032f565b3480156103b557600080fd5b506103c96103c4366004611f2e565b610a2f565b005b3480156103d757600080fd5b506103c96103e6366004611f4c565b610a82565b3480156103f757600080fd5b50600354610325565b34801561040c57600080fd5b50610325600e5481565b34801561042257600080fd5b506103c9610431366004611f69565b610af4565b34801561044257600080fd5b50610399610451366004611fa2565b610b49565b34801561046257600080fd5b506103c9610471366004611f69565b610c0b565b34801561048257600080fd5b50610325610c60565b34801561049757600080fd5b506040516012815260200161032f565b3480156104b357600080fd5b506103c96104c2366004611f69565b610cd1565b3480156104d357600080fd5b506103996104e2366004611f4c565b60096020526000908152604090205460ff1681565b34801561050357600080fd5b506006546103999060ff1681565b34801561051d57600080fd5b506017546103999062010000900460ff1681565b34801561053d57600080fd5b5061039961054c366004611f4c565b610d26565b34801561055d57600080fd5b506103c961056c366004611fe3565b610d34565b34801561057d57600080fd5b506103c961058c366004612015565b610db6565b34801561059d57600080fd5b50610325600d5481565b3480156105b357600080fd5b50610325600c5481565b3480156105c957600080fd5b5060105461039990610100900460ff1681565b3480156105e857600080fd5b506103c96105f736600461202e565b610e22565b34801561060857600080fd5b50610325610617366004611f4c565b6001600160a01b031660009081526007602052604090205490565b34801561063e57600080fd5b506103c9610e68565b34801561065357600080fd5b506103c9610662366004612015565b610edc565b34801561067357600080fd5b506103c9610682366004611f69565b610f4e565b34801561069357600080fd5b5061032560045481565b3480156106a957600080fd5b5061032560055481565b3480156106bf57600080fd5b506103996106ce366004611ef4565b610fa3565b3480156106df57600080fd5b506103c96106ee36600461204b565b611097565b3480156106ff57600080fd5b506000546001600160a01b03165b6040516001600160a01b03909116815260200161032f565b34801561073157600080fd5b50610399610740366004611f4c565b600a6020526000908152604090205460ff1681565b34801561076157600080fd5b506000546001600160a01b031661070d565b34801561077f57600080fd5b506103c961078e36600461202e565b61110d565b34801561079f57600080fd5b50604080518082019091526004815263244e574f60e01b602082015261036c565b3480156107cc57600080fd5b50610325600b5481565b3480156107e257600080fd5b506010546103999062010000900460ff1681565b34801561080257600080fd5b5060145461070d906001600160a01b031681565b34801561082257600080fd5b50610399610831366004611ef4565b611151565b34801561084257600080fd5b506103c9610851366004612015565b61115e565b34801561086257600080fd5b506103c961087136600461202e565b6111ca565b34801561088257600080fd5b5061032560165481565b34801561089857600080fd5b506103c9611207565b3480156108ad57600080fd5b50610325600f5481565b3480156108c357600080fd5b50601754610399906301000000900460ff1681565b3480156108e457600080fd5b506103256108f3366004612096565b6001600160a01b03918216600090815260086020908152604080832093909416825291909152205490565b34801561092a57600080fd5b50610399610939366004611f4c565b60156020526000908152604090205460ff1681565b34801561095a57600080fd5b506010546103999060ff1681565b34801561097457600080fd5b506103c9610983366004611f4c565b611240565b34801561099457600080fd5b5060135461070d906001600160a01b031681565b3480156109b457600080fd5b506017546103999060ff1681565b3360008181526008602090815260408083206001600160a01b038716808552925280832085905551919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92590610a1d9086815260200190565b60405180910390a35060015b92915050565b6000546001600160a01b03163314610a625760405162461bcd60e51b8152600401610a59906120c4565b60405180910390fd5b60178054921515620100000262ff00001990931692909217909155601855565b6000546001600160a01b03163314610aac5760405162461bcd60e51b8152600401610a59906120c4565b6001600160a01b03166000908152600160208181526040808420805460ff199081168517909155600983528185208054821685179055600a9092529092208054909216179055565b6000546001600160a01b03163314610b1e5760405162461bcd60e51b8152600401610a59906120c4565b6001600160a01b03919091166000908152600960205260409020805460ff1916911515919091179055565b6001600160a01b038316600090815260086020908152604080832033845290915281205460001914610bf6576040805180820182526016815275496e73756666696369656e7420416c6c6f77616e636560501b6020808301919091526001600160a01b0387166000908152600882528381203382529091529190912054610bd1918490611389565b6001600160a01b03851660009081526008602090815260408083203384529091529020555b610c018484846113c3565b90505b9392505050565b6000546001600160a01b03163314610c355760405162461bcd60e51b8152600401610a59906120c4565b6001600160a01b03919091166000908152600a60205260409020805460ff1916911515919091179055565b60076020527f6d5257204ebe7d88fd91ae87941cb2dd9d8062b64ae5a2bd2d28ec40b9fbf6df5461dead60009081527fb0c2646e02af70b79e3fe9277b98373379f54150e4e26b2b5650139f7a75a65d546003549192610ccc929091610cc69190611744565b90611744565b905090565b6000546001600160a01b03163314610cfb5760405162461bcd60e51b8152600401610a59906120c4565b6001600160a01b03919091166000908152601560205260409020805460ff1916911515919091179055565b6000610a29826000196109c2565b6000546001600160a01b03163314610d5e5760405162461bcd60e51b8152600401610a59906120c4565b600b849055600c839055600d829055610d8182610d7b868661132a565b9061132a565b600e819055610d9190829061210f565b600f819055600e54601991610da6919061210f565b10610db057600080fd5b50505050565b6000546001600160a01b03163314610de05760405162461bcd60e51b8152600401610a59906120c4565b6005811015610e015760405162461bcd60e51b8152600401610a5990612122565b6103e881600354610e129190612168565b610e1c9190612187565b60055550565b6000546001600160a01b03163314610e4c5760405162461bcd60e51b8152600401610a59906120c4565b60108054911515620100000262ff000019909216919091179055565b6000546001600160a01b03163314610e925760405162461bcd60e51b8152600401610a59906120c4565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b03163314610f065760405162461bcd60e51b8152600401610a59906120c4565b47336108fc6064610f178585612168565b610f219190612187565b6040518115909202916000818181858888f19350505050158015610f49573d6000803e3d6000fd5b505050565b6000546001600160a01b03163314610f785760405162461bcd60e51b8152600401610a59906120c4565b6001600160a01b03919091166000908152600160205260409020805460ff1916911515919091179055565b600080546001600160a01b03163314610fce5760405162461bcd60e51b8152600401610a59906120c4565b306001600160a01b038416036110265760405162461bcd60e51b815260206004820152601c60248201527f43616e742072656d6f766520746865206e617469766520746f6b656e000000006044820152606401610a59565b60405163a9059cbb60e01b8152336004820152602481018390526001600160a01b0384169063a9059cbb906044016020604051808303816000875af1158015611073573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c0491906121a9565b6000546001600160a01b031633146110c15760405162461bcd60e51b8152600401610a59906120c4565b601080546301000000600160b81b03191663010000006001600160a01b0393841602179055601180546001600160a01b0319908116948316949094179055601280549093169116179055565b6000546001600160a01b031633146111375760405162461bcd60e51b8152600401610a59906120c4565b601080549115156101000261ff0019909216919091179055565b6000610c043384846113c3565b6000546001600160a01b031633146111885760405162461bcd60e51b8152600401610a59906120c4565b60058110156111a95760405162461bcd60e51b8152600401610a5990612122565b6103e8816003546111ba9190612168565b6111c49190612187565b60045550565b6000546001600160a01b031633146111f45760405162461bcd60e51b8152600401610a59906120c4565b6010805460ff1916911515919091179055565b6000546001600160a01b031633146112315760405162461bcd60e51b8152600401610a59906120c4565b6017805460ff19166001179055565b6000546001600160a01b0316331461126a5760405162461bcd60e51b8152600401610a59906120c4565b6001600160a01b0381166112cf5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610a59565b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b600080611337838561210f565b905083811015610c045760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610a59565b600081848411156113ad5760405162461bcd60e51b8152600401610a599190611e8e565b5060006113ba84866121c6565b95945050505050565b601754600090610100900460ff16156113e8576113e1848484611786565b9050610c04565b6001600160a01b03841660009081526001602052604090205460ff1615801561142a57506001600160a01b03831660009081526001602052604090205460ff16155b1561145b5760175460ff1661145b5760405162461bcd60e51b81526020600482015260006024820152604401610a59565b6004548211158061148457506001600160a01b0384166000908152600a602052604090205460ff165b6114bb5760405162461bcd60e51b8152602060048201526008602482015267151608131a5b5a5d60c21b6044820152606401610a59565b6001600160a01b03831660009081526015602052604090205460ff1680156114eb5750601754610100900460ff16155b80156114ff575060175462010000900460ff165b801561151c57506018543060009081526007602052604090205410155b156115295761152961186c565b60165415801561155157506001600160a01b03831660009081526015602052604090205460ff165b1561159e576001600160a01b0384166000908152600760205260409020546115955760405162461bcd60e51b81526020600482015260006024820152604401610a59565b61159e43601655565b604080516020808201835260008083526001600160a01b0388168152600790915291909120546115cf918490611389565b6001600160a01b038086166000908152600760209081526040808320949094559186168152600a909152205460ff1615801561160d575060065460ff165b15611660576005546001600160a01b038416600090815260076020526040902054611638908461132a565b11156116605760405162461bcd60e51b81526020600482015260006024820152604401610a59565b6001600160a01b03841660009081526009602052604081205460ff161580156116a257506001600160a01b03841660009081526009602052604090205460ff16155b6116ac57826116b7565b6116b7858585611c32565b6001600160a01b0385166000908152600760205260409020549091506116dd908261132a565b6001600160a01b0380861660008181526007602052604090819020939093559151908716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906117319085815260200190565b60405180910390a3506001949350505050565b6000610c0483836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611389565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b03861660009081526007909152918220546117d7918490611389565b6001600160a01b038086166000908152600760205260408082209390935590851681522054611806908361132a565b6001600160a01b0380851660008181526007602052604090819020939093559151908616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9061185a9086815260200190565b60405180910390a35060019392505050565b6017805461ff00191661010017905530600090815260076020526040812054600e54600b549192916118af916002916118a9919082908790611da1565b90611e23565b905060006118bd8383611744565b604080516002808252606082018352929350600092909160208301908036833701905050905030816000815181106118f7576118f76121d9565b6001600160a01b03928316602091820292909201810191909152601354604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015611950573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061197491906121ef565b81600181518110611987576119876121d9565b6001600160a01b03928316602091820292909201015260135460405163791ac94760e01b815291169063791ac947906119cd90859060009086903090429060040161220c565b600060405180830381600087803b1580156119e757600080fd5b505af11580156119fb573d6000803e3d6000fd5b5050600b5447925060009150611a1f90611a16906002611e23565b600e5490611744565b90506000611a4160026118a9846118a9600b5488611da190919063ffffffff16565b90506000611a5e836118a9600c5487611da190919063ffffffff16565b90506000611a7b846118a9600d5488611da190919063ffffffff16565b6011546040519192506000916001600160a01b039091169061753090859084818181858888f193505050503d8060008114611ad2576040519150601f19603f3d011682016040523d82523d6000602084013e611ad7565b606091505b5050601254604051600093506001600160a01b03909116915061753090849084818181858888f193505050503d8060008114611b2f576040519150601f19603f3d011682016040523d82523d6000602084013e611b34565b606091505b50600092505089159050611c1b5760135460105460405163f305d71960e01b8152306004820152602481018c905260006044820181905260648201526001600160a01b036301000000909204821660848201524260a482015291169063f305d71990869060c40160606040518083038185885af1158015611bb9573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190611bde919061227d565b505060408051868152602081018c90527f424db2872186fa7e7afa7a5e902ed3b49a2ef19c2f5431e672462495dd6b450692500160405180910390a15b50506017805461ff00191690555050505050505050565b6001600160a01b038216600090815260156020526040812054819060ff168015611c635750601054610100900460ff165b15611c6d5750600f545b6001600160a01b03851660009081526015602052604090205460ff168015611c97575060105460ff165b15611ca15750600e545b6001600160a01b03851660009081526015602052604090205460ff16158015611ce357506001600160a01b03841660009081526015602052604090205460ff16155b15611d065760105462010000900460ff1615611d025750600f54611d06565b5060005b6000611d1760646118a98685611da1565b30600090815260076020526040902054909150611d34908261132a565b30600081815260076020526040908190209290925590516001600160a01b038816907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90611d859085815260200190565b60405180910390a3611d978482611744565b9695505050505050565b600082600003611db357506000610a29565b6000611dbf8385612168565b905082611dcc8583612187565b14610c045760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b6064820152608401610a59565b6000610c0483836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f00000000000081525060008183611e815760405162461bcd60e51b8152600401610a599190611e8e565b5060006113ba8486612187565b600060208083528351808285015260005b81811015611ebb57858101830151858201604001528201611e9f565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b0381168114611ef157600080fd5b50565b60008060408385031215611f0757600080fd5b8235611f1281611edc565b946020939093013593505050565b8015158114611ef157600080fd5b60008060408385031215611f4157600080fd5b8235611f1281611f20565b600060208284031215611f5e57600080fd5b8135610c0481611edc565b60008060408385031215611f7c57600080fd5b8235611f8781611edc565b91506020830135611f9781611f20565b809150509250929050565b600080600060608486031215611fb757600080fd5b8335611fc281611edc565b92506020840135611fd281611edc565b929592945050506040919091013590565b60008060008060808587031215611ff957600080fd5b5050823594602084013594506040840135936060013592509050565b60006020828403121561202757600080fd5b5035919050565b60006020828403121561204057600080fd5b8135610c0481611f20565b60008060006060848603121561206057600080fd5b833561206b81611edc565b9250602084013561207b81611edc565b9150604084013561208b81611edc565b809150509250925092565b600080604083850312156120a957600080fd5b82356120b481611edc565b91506020830135611f9781611edc565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b600052601160045260246000fd5b80820180821115610a2957610a296120f9565b60208082526026908201527f57616c6c6574204c696d6974206e6565647320746f206265206174206c6561736040820152657420302e352560d01b606082015260800190565b6000816000190483118215151615612182576121826120f9565b500290565b6000826121a457634e487b7160e01b600052601260045260246000fd5b500490565b6000602082840312156121bb57600080fd5b8151610c0481611f20565b81810381811115610a2957610a296120f9565b634e487b7160e01b600052603260045260246000fd5b60006020828403121561220157600080fd5b8151610c0481611edc565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b8181101561225c5784516001600160a01b031683529383019391830191600101612237565b50506001600160a01b03969096166060850152505050608001529392505050565b60008060006060848603121561229257600080fd5b835192506020840151915060408401519050925092509256fea2646970667358221220993860a06cb23d1b1f8ccb88f17e571407f3adb926acd735041eabe4d0c01ad964736f6c63430008100033
Deployed Bytecode
0x6080604052600436106103035760003560e01c80637cc5d7eb11610190578063a9059cbb116100dc578063da00097d11610095578063f0ef821f1161006f578063f0ef821f1461094e578063f2fde38b14610968578063f887ea4014610988578063ffb54a99146109a857600080fd5b8063da00097d146108b7578063dd62ed3e146108d8578063e5e31b131461091e57600080fd5b8063a9059cbb14610816578063a993f32514610836578063bb54c40e14610856578063bf56b37114610876578063c9567bf91461088c578063ca987b0e146108a157600080fd5b80638b42507f1161014957806395d89b411161012357806395d89b411461079357806398118cb4146107c0578063a5355989146107d6578063a8aa1b31146107f657600080fd5b80638b42507f146107255780638da5cb5b14610755578063900d96111461077357600080fd5b80637cc5d7eb146106675780637d1db4a514610687578063807c2d9c1461069d5780638637b069146106b3578063893a9691146106d3578063893d20e8146106f357600080fd5b80633f4218e01161024f5780636827e764116102085780637070c898116101e25780637070c898146105dc57806370a08231146105fc578063715018a614610632578063787a051b1461064757600080fd5b80636827e764146105915780636b67c4df146105a757806370540933146105bd57600080fd5b80633f4218e0146104c757806344de2e4c146104f75780634a74bb0214610511578063571ac8b014610531578063650c42261461055157806366c61edd1461057157600080fd5b80631df4ccfc116102bc578063257cbb6f11610296578063257cbb6f146104565780632b112e4914610476578063313ce5671461048b578063399c7976146104a757600080fd5b80631df4ccfc146104005780631e0d55371461041657806323b872dd1461043657600080fd5b80630445b6671461030f57806306fdde0314610338578063095ea7b3146103795780630975d294146103a957806309cdd3ee146103cb57806318160ddd146103eb57600080fd5b3661030a57005b600080fd5b34801561031b57600080fd5b5061032560185481565b6040519081526020015b60405180910390f35b34801561034457600080fd5b5060408051808201909152600f81526e2732bb902bb7b936321027b93232b960891b60208201525b60405161032f9190611e8e565b34801561038557600080fd5b50610399610394366004611ef4565b6109c2565b604051901515815260200161032f565b3480156103b557600080fd5b506103c96103c4366004611f2e565b610a2f565b005b3480156103d757600080fd5b506103c96103e6366004611f4c565b610a82565b3480156103f757600080fd5b50600354610325565b34801561040c57600080fd5b50610325600e5481565b34801561042257600080fd5b506103c9610431366004611f69565b610af4565b34801561044257600080fd5b50610399610451366004611fa2565b610b49565b34801561046257600080fd5b506103c9610471366004611f69565b610c0b565b34801561048257600080fd5b50610325610c60565b34801561049757600080fd5b506040516012815260200161032f565b3480156104b357600080fd5b506103c96104c2366004611f69565b610cd1565b3480156104d357600080fd5b506103996104e2366004611f4c565b60096020526000908152604090205460ff1681565b34801561050357600080fd5b506006546103999060ff1681565b34801561051d57600080fd5b506017546103999062010000900460ff1681565b34801561053d57600080fd5b5061039961054c366004611f4c565b610d26565b34801561055d57600080fd5b506103c961056c366004611fe3565b610d34565b34801561057d57600080fd5b506103c961058c366004612015565b610db6565b34801561059d57600080fd5b50610325600d5481565b3480156105b357600080fd5b50610325600c5481565b3480156105c957600080fd5b5060105461039990610100900460ff1681565b3480156105e857600080fd5b506103c96105f736600461202e565b610e22565b34801561060857600080fd5b50610325610617366004611f4c565b6001600160a01b031660009081526007602052604090205490565b34801561063e57600080fd5b506103c9610e68565b34801561065357600080fd5b506103c9610662366004612015565b610edc565b34801561067357600080fd5b506103c9610682366004611f69565b610f4e565b34801561069357600080fd5b5061032560045481565b3480156106a957600080fd5b5061032560055481565b3480156106bf57600080fd5b506103996106ce366004611ef4565b610fa3565b3480156106df57600080fd5b506103c96106ee36600461204b565b611097565b3480156106ff57600080fd5b506000546001600160a01b03165b6040516001600160a01b03909116815260200161032f565b34801561073157600080fd5b50610399610740366004611f4c565b600a6020526000908152604090205460ff1681565b34801561076157600080fd5b506000546001600160a01b031661070d565b34801561077f57600080fd5b506103c961078e36600461202e565b61110d565b34801561079f57600080fd5b50604080518082019091526004815263244e574f60e01b602082015261036c565b3480156107cc57600080fd5b50610325600b5481565b3480156107e257600080fd5b506010546103999062010000900460ff1681565b34801561080257600080fd5b5060145461070d906001600160a01b031681565b34801561082257600080fd5b50610399610831366004611ef4565b611151565b34801561084257600080fd5b506103c9610851366004612015565b61115e565b34801561086257600080fd5b506103c961087136600461202e565b6111ca565b34801561088257600080fd5b5061032560165481565b34801561089857600080fd5b506103c9611207565b3480156108ad57600080fd5b50610325600f5481565b3480156108c357600080fd5b50601754610399906301000000900460ff1681565b3480156108e457600080fd5b506103256108f3366004612096565b6001600160a01b03918216600090815260086020908152604080832093909416825291909152205490565b34801561092a57600080fd5b50610399610939366004611f4c565b60156020526000908152604090205460ff1681565b34801561095a57600080fd5b506010546103999060ff1681565b34801561097457600080fd5b506103c9610983366004611f4c565b611240565b34801561099457600080fd5b5060135461070d906001600160a01b031681565b3480156109b457600080fd5b506017546103999060ff1681565b3360008181526008602090815260408083206001600160a01b038716808552925280832085905551919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92590610a1d9086815260200190565b60405180910390a35060015b92915050565b6000546001600160a01b03163314610a625760405162461bcd60e51b8152600401610a59906120c4565b60405180910390fd5b60178054921515620100000262ff00001990931692909217909155601855565b6000546001600160a01b03163314610aac5760405162461bcd60e51b8152600401610a59906120c4565b6001600160a01b03166000908152600160208181526040808420805460ff199081168517909155600983528185208054821685179055600a9092529092208054909216179055565b6000546001600160a01b03163314610b1e5760405162461bcd60e51b8152600401610a59906120c4565b6001600160a01b03919091166000908152600960205260409020805460ff1916911515919091179055565b6001600160a01b038316600090815260086020908152604080832033845290915281205460001914610bf6576040805180820182526016815275496e73756666696369656e7420416c6c6f77616e636560501b6020808301919091526001600160a01b0387166000908152600882528381203382529091529190912054610bd1918490611389565b6001600160a01b03851660009081526008602090815260408083203384529091529020555b610c018484846113c3565b90505b9392505050565b6000546001600160a01b03163314610c355760405162461bcd60e51b8152600401610a59906120c4565b6001600160a01b03919091166000908152600a60205260409020805460ff1916911515919091179055565b60076020527f6d5257204ebe7d88fd91ae87941cb2dd9d8062b64ae5a2bd2d28ec40b9fbf6df5461dead60009081527fb0c2646e02af70b79e3fe9277b98373379f54150e4e26b2b5650139f7a75a65d546003549192610ccc929091610cc69190611744565b90611744565b905090565b6000546001600160a01b03163314610cfb5760405162461bcd60e51b8152600401610a59906120c4565b6001600160a01b03919091166000908152601560205260409020805460ff1916911515919091179055565b6000610a29826000196109c2565b6000546001600160a01b03163314610d5e5760405162461bcd60e51b8152600401610a59906120c4565b600b849055600c839055600d829055610d8182610d7b868661132a565b9061132a565b600e819055610d9190829061210f565b600f819055600e54601991610da6919061210f565b10610db057600080fd5b50505050565b6000546001600160a01b03163314610de05760405162461bcd60e51b8152600401610a59906120c4565b6005811015610e015760405162461bcd60e51b8152600401610a5990612122565b6103e881600354610e129190612168565b610e1c9190612187565b60055550565b6000546001600160a01b03163314610e4c5760405162461bcd60e51b8152600401610a59906120c4565b60108054911515620100000262ff000019909216919091179055565b6000546001600160a01b03163314610e925760405162461bcd60e51b8152600401610a59906120c4565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b03163314610f065760405162461bcd60e51b8152600401610a59906120c4565b47336108fc6064610f178585612168565b610f219190612187565b6040518115909202916000818181858888f19350505050158015610f49573d6000803e3d6000fd5b505050565b6000546001600160a01b03163314610f785760405162461bcd60e51b8152600401610a59906120c4565b6001600160a01b03919091166000908152600160205260409020805460ff1916911515919091179055565b600080546001600160a01b03163314610fce5760405162461bcd60e51b8152600401610a59906120c4565b306001600160a01b038416036110265760405162461bcd60e51b815260206004820152601c60248201527f43616e742072656d6f766520746865206e617469766520746f6b656e000000006044820152606401610a59565b60405163a9059cbb60e01b8152336004820152602481018390526001600160a01b0384169063a9059cbb906044016020604051808303816000875af1158015611073573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c0491906121a9565b6000546001600160a01b031633146110c15760405162461bcd60e51b8152600401610a59906120c4565b601080546301000000600160b81b03191663010000006001600160a01b0393841602179055601180546001600160a01b0319908116948316949094179055601280549093169116179055565b6000546001600160a01b031633146111375760405162461bcd60e51b8152600401610a59906120c4565b601080549115156101000261ff0019909216919091179055565b6000610c043384846113c3565b6000546001600160a01b031633146111885760405162461bcd60e51b8152600401610a59906120c4565b60058110156111a95760405162461bcd60e51b8152600401610a5990612122565b6103e8816003546111ba9190612168565b6111c49190612187565b60045550565b6000546001600160a01b031633146111f45760405162461bcd60e51b8152600401610a59906120c4565b6010805460ff1916911515919091179055565b6000546001600160a01b031633146112315760405162461bcd60e51b8152600401610a59906120c4565b6017805460ff19166001179055565b6000546001600160a01b0316331461126a5760405162461bcd60e51b8152600401610a59906120c4565b6001600160a01b0381166112cf5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610a59565b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b600080611337838561210f565b905083811015610c045760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610a59565b600081848411156113ad5760405162461bcd60e51b8152600401610a599190611e8e565b5060006113ba84866121c6565b95945050505050565b601754600090610100900460ff16156113e8576113e1848484611786565b9050610c04565b6001600160a01b03841660009081526001602052604090205460ff1615801561142a57506001600160a01b03831660009081526001602052604090205460ff16155b1561145b5760175460ff1661145b5760405162461bcd60e51b81526020600482015260006024820152604401610a59565b6004548211158061148457506001600160a01b0384166000908152600a602052604090205460ff165b6114bb5760405162461bcd60e51b8152602060048201526008602482015267151608131a5b5a5d60c21b6044820152606401610a59565b6001600160a01b03831660009081526015602052604090205460ff1680156114eb5750601754610100900460ff16155b80156114ff575060175462010000900460ff165b801561151c57506018543060009081526007602052604090205410155b156115295761152961186c565b60165415801561155157506001600160a01b03831660009081526015602052604090205460ff165b1561159e576001600160a01b0384166000908152600760205260409020546115955760405162461bcd60e51b81526020600482015260006024820152604401610a59565b61159e43601655565b604080516020808201835260008083526001600160a01b0388168152600790915291909120546115cf918490611389565b6001600160a01b038086166000908152600760209081526040808320949094559186168152600a909152205460ff1615801561160d575060065460ff165b15611660576005546001600160a01b038416600090815260076020526040902054611638908461132a565b11156116605760405162461bcd60e51b81526020600482015260006024820152604401610a59565b6001600160a01b03841660009081526009602052604081205460ff161580156116a257506001600160a01b03841660009081526009602052604090205460ff16155b6116ac57826116b7565b6116b7858585611c32565b6001600160a01b0385166000908152600760205260409020549091506116dd908261132a565b6001600160a01b0380861660008181526007602052604090819020939093559151908716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906117319085815260200190565b60405180910390a3506001949350505050565b6000610c0483836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611389565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b03861660009081526007909152918220546117d7918490611389565b6001600160a01b038086166000908152600760205260408082209390935590851681522054611806908361132a565b6001600160a01b0380851660008181526007602052604090819020939093559151908616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9061185a9086815260200190565b60405180910390a35060019392505050565b6017805461ff00191661010017905530600090815260076020526040812054600e54600b549192916118af916002916118a9919082908790611da1565b90611e23565b905060006118bd8383611744565b604080516002808252606082018352929350600092909160208301908036833701905050905030816000815181106118f7576118f76121d9565b6001600160a01b03928316602091820292909201810191909152601354604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015611950573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061197491906121ef565b81600181518110611987576119876121d9565b6001600160a01b03928316602091820292909201015260135460405163791ac94760e01b815291169063791ac947906119cd90859060009086903090429060040161220c565b600060405180830381600087803b1580156119e757600080fd5b505af11580156119fb573d6000803e3d6000fd5b5050600b5447925060009150611a1f90611a16906002611e23565b600e5490611744565b90506000611a4160026118a9846118a9600b5488611da190919063ffffffff16565b90506000611a5e836118a9600c5487611da190919063ffffffff16565b90506000611a7b846118a9600d5488611da190919063ffffffff16565b6011546040519192506000916001600160a01b039091169061753090859084818181858888f193505050503d8060008114611ad2576040519150601f19603f3d011682016040523d82523d6000602084013e611ad7565b606091505b5050601254604051600093506001600160a01b03909116915061753090849084818181858888f193505050503d8060008114611b2f576040519150601f19603f3d011682016040523d82523d6000602084013e611b34565b606091505b50600092505089159050611c1b5760135460105460405163f305d71960e01b8152306004820152602481018c905260006044820181905260648201526001600160a01b036301000000909204821660848201524260a482015291169063f305d71990869060c40160606040518083038185885af1158015611bb9573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190611bde919061227d565b505060408051868152602081018c90527f424db2872186fa7e7afa7a5e902ed3b49a2ef19c2f5431e672462495dd6b450692500160405180910390a15b50506017805461ff00191690555050505050505050565b6001600160a01b038216600090815260156020526040812054819060ff168015611c635750601054610100900460ff165b15611c6d5750600f545b6001600160a01b03851660009081526015602052604090205460ff168015611c97575060105460ff165b15611ca15750600e545b6001600160a01b03851660009081526015602052604090205460ff16158015611ce357506001600160a01b03841660009081526015602052604090205460ff16155b15611d065760105462010000900460ff1615611d025750600f54611d06565b5060005b6000611d1760646118a98685611da1565b30600090815260076020526040902054909150611d34908261132a565b30600081815260076020526040908190209290925590516001600160a01b038816907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90611d859085815260200190565b60405180910390a3611d978482611744565b9695505050505050565b600082600003611db357506000610a29565b6000611dbf8385612168565b905082611dcc8583612187565b14610c045760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b6064820152608401610a59565b6000610c0483836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f00000000000081525060008183611e815760405162461bcd60e51b8152600401610a599190611e8e565b5060006113ba8486612187565b600060208083528351808285015260005b81811015611ebb57858101830151858201604001528201611e9f565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b0381168114611ef157600080fd5b50565b60008060408385031215611f0757600080fd5b8235611f1281611edc565b946020939093013593505050565b8015158114611ef157600080fd5b60008060408385031215611f4157600080fd5b8235611f1281611f20565b600060208284031215611f5e57600080fd5b8135610c0481611edc565b60008060408385031215611f7c57600080fd5b8235611f8781611edc565b91506020830135611f9781611f20565b809150509250929050565b600080600060608486031215611fb757600080fd5b8335611fc281611edc565b92506020840135611fd281611edc565b929592945050506040919091013590565b60008060008060808587031215611ff957600080fd5b5050823594602084013594506040840135936060013592509050565b60006020828403121561202757600080fd5b5035919050565b60006020828403121561204057600080fd5b8135610c0481611f20565b60008060006060848603121561206057600080fd5b833561206b81611edc565b9250602084013561207b81611edc565b9150604084013561208b81611edc565b809150509250925092565b600080604083850312156120a957600080fd5b82356120b481611edc565b91506020830135611f9781611edc565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b600052601160045260246000fd5b80820180821115610a2957610a296120f9565b60208082526026908201527f57616c6c6574204c696d6974206e6565647320746f206265206174206c6561736040820152657420302e352560d01b606082015260800190565b6000816000190483118215151615612182576121826120f9565b500290565b6000826121a457634e487b7160e01b600052601260045260246000fd5b500490565b6000602082840312156121bb57600080fd5b8151610c0481611f20565b81810381811115610a2957610a296120f9565b634e487b7160e01b600052603260045260246000fd5b60006020828403121561220157600080fd5b8151610c0481611edc565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b8181101561225c5784516001600160a01b031683529383019391830191600101612237565b50506001600160a01b03969096166060850152505050608001529392505050565b60008060006060848603121561229257600080fd5b835192506020840151915060408401519050925092509256fea2646970667358221220993860a06cb23d1b1f8ccb88f17e571407f3adb926acd735041eabe4d0c01ad964736f6c63430008100033
Deployed Bytecode Sourcemap
4608:12971:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6279:56;;;;;;;;;;;;;;;;;;;160:25:1;;;148:2;133:18;6279:56:0;;;;;;;;7622:94;;;;;;;;;;-1:-1:-1;7703:5:0;;;;;;;;;;;;-1:-1:-1;;;7703:5:0;;;;7622:94;;;;;;;:::i;8617:248::-;;;;;;;;;;-1:-1:-1;8617:248:0;;;;;:::i;:::-;;:::i;:::-;;;1370:14:1;;1363:22;1345:41;;1333:2;1318:18;8617:248:0;1205:187:1;10854:189:0;;;;;;;;;;-1:-1:-1;10854:189:0;;;;;:::i;:::-;;:::i;:::-;;9630:193;;;;;;;;;;-1:-1:-1;9630:193:0;;;;;:::i;:::-;;:::i;7932:102::-;;;;;;;;;;-1:-1:-1;8014:12:0;;7932:102;;5665:27;;;;;;;;;;;;;;;;9372:117;;;;;;;;;;-1:-1:-1;9372:117:0;;;;;:::i;:::-;;:::i;13145:422::-;;;;;;;;;;-1:-1:-1;13145:422:0;;;;;:::i;:::-;;:::i;9497:125::-;;;;;;;;;;-1:-1:-1;9497:125:0;;;;;:::i;:::-;;:::i;8467:142::-;;;;;;;;;;;;;:::i;7830:94::-;;;;;;;;;;-1:-1:-1;7830:94:0;;5079:2;3076:36:1;;3064:2;3049:18;7830:94:0;2934:184:1;10416:112:0;;;;;;;;;;-1:-1:-1;10416:112:0;;;;;:::i;:::-;;:::i;5449:43::-;;;;;;;;;;-1:-1:-1;5449:43:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;5279:33;;;;;;;;;;-1:-1:-1;5279:33:0;;;;;;;;6178:40;;;;;;;;;;-1:-1:-1;6178:40:0;;;;;;;;;;;11822:122;;;;;;;;;;-1:-1:-1;11822:122:0;;;;;:::i;:::-;;:::i;9831:453::-;;;;;;;;;;-1:-1:-1;9831:453:0;;;;;:::i;:::-;;:::i;8873:200::-;;;;;;;;;;-1:-1:-1;8873:200:0;;;;;:::i;:::-;;:::i;5631:25::-;;;;;;;;;;;;;;;;5593:31;;;;;;;;;;;;;;;;5781;;;;;;;;;;-1:-1:-1;5781:31:0;;;;;;;;;;;10742:104;;;;;;;;;;-1:-1:-1;10742:104:0;;;;;:::i;:::-;;:::i;8144:119::-;;;;;;;;;;-1:-1:-1;8144:119:0;;;;;:::i;:::-;-1:-1:-1;;;;;8237:18:0;8210:7;8237:18;;;:9;:18;;;;;;;8144:119;4164:148;;;;;;;;;;;;;:::i;11611:203::-;;;;;;;;;;-1:-1:-1;11611:203:0;;;;;:::i;:::-;;:::i;10292:116::-;;;;;;;;;;-1:-1:-1;10292:116:0;;;;;:::i;:::-;;:::i;5153:56::-;;;;;;;;;;;;;;;;5216:54;;;;;;;;;;;;;;;;11316:287;;;;;;;;;;-1:-1:-1;11316:287:0;;;;;:::i;:::-;;:::i;11051:257::-;;;;;;;;;;-1:-1:-1;11051:257:0;;;;;:::i;:::-;;:::i;8042:94::-;;;;;;;;;;-1:-1:-1;8094:7:0;4015:6;-1:-1:-1;;;;;4015:6:0;8042:94;;;-1:-1:-1;;;;;4642:32:1;;;4624:51;;4612:2;4597:18;8042:94:0;4478:203:1;5499:47:0;;;;;;;;;;-1:-1:-1;5499:47:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;3950:79;;;;;;;;;;-1:-1:-1;3988:7:0;4015:6;-1:-1:-1;;;;;4015:6:0;3950:79;;10638:96;;;;;;;;;;-1:-1:-1;10638:96:0;;;;;:::i;:::-;;:::i;7724:98::-;;;;;;;;;;-1:-1:-1;7807:7:0;;;;;;;;;;;;-1:-1:-1;;;7807:7:0;;;;7724:98;;5555:31;;;;;;;;;;;;;;;;5819:35;;;;;;;;;;-1:-1:-1;5819:35:0;;;;;;;;;;;5997:19;;;;;;;;;;-1:-1:-1;5997:19:0;;;;-1:-1:-1;;;;;5997:19:0;;;12540:188;;;;;;;;;;-1:-1:-1;12540:188:0;;;;;:::i;:::-;;:::i;9081:198::-;;;;;;;;;;-1:-1:-1;9081:198:0;;;;;:::i;:::-;;:::i;10536:94::-;;;;;;;;;;-1:-1:-1;10536:94:0;;;;;:::i;:::-;;:::i;6070:25::-;;;;;;;;;;;;;;;;9287:77;;;;;;;;;;;;;:::i;5699:36::-;;;;;;;;;;;;;;;;6225:45;;;;;;;;;;-1:-1:-1;6225:45:0;;;;;;;;;;;8271:188;;;;;;;;;;-1:-1:-1;8271:188:0;;;;;:::i;:::-;-1:-1:-1;;;;;8423:19:0;;;8391:7;8423:19;;;:11;:19;;;;;;;;:28;;;;;;;;;;;;;8271:188;6023:38;;;;;;;;;;-1:-1:-1;6023:38:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;5744:30;;;;;;;;;;-1:-1:-1;5744:30:0;;;;;;;;4320:281;;;;;;;;;;-1:-1:-1;4320:281:0;;;;;:::i;:::-;;:::i;5967:23::-;;;;;;;;;;-1:-1:-1;5967:23:0;;;;-1:-1:-1;;;;;5967:23:0;;;6104:31;;;;;;;;;;-1:-1:-1;6104:31:0;;;;;;;;8617:248;8753:10;8719:4;8741:23;;;:11;:23;;;;;;;;-1:-1:-1;;;;;8741:32:0;;;;;;;;;;:41;;;8798:37;8719:4;;8741:32;;8798:37;;;;8776:6;160:25:1;;148:2;133:18;;14:177;8798:37:0;;;;;;;;-1:-1:-1;8853:4:0;8617:248;;;;;:::o;10854:189::-;4077:6;;-1:-1:-1;;;;;4077:6:0;3361:10;4077:22;4069:67;;;;-1:-1:-1;;;4069:67:0;;;;;;;:::i;:::-;;;;;;;;;10969:21:::1;:30:::0;;;::::1;;::::0;::::1;-1:-1:-1::0;;10969:30:0;;::::1;::::0;;;::::1;::::0;;;11010:13:::1;:25:::0;10854:189::o;9630:193::-;4077:6;;-1:-1:-1;;;;;4077:6:0;3361:10;4077:22;4069:67;;;;-1:-1:-1;;;4069:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;9708:22:0::1;;::::0;;;9733:4:::1;9708:22;::::0;;;;;;;:29;;-1:-1:-1;;9708:29:0;;::::1;::::0;::::1;::::0;;;9748:11:::1;:19:::0;;;;;:26;;;::::1;::::0;::::1;::::0;;9785:15:::1;:23:::0;;;;;;:30;;;;::::1;;::::0;;9630:193::o;9372:117::-;4077:6;;-1:-1:-1;;;;;4077:6:0;3361:10;4077:22;4069:67;;;;-1:-1:-1;;;4069:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;9453:19:0;;;::::1;;::::0;;;:11:::1;:19;::::0;;;;:28;;-1:-1:-1;;9453:28:0::1;::::0;::::1;;::::0;;;::::1;::::0;;9372:117::o;13145:422::-;-1:-1:-1;;;;;13300:19:0;;13279:4;13300:19;;;:11;:19;;;;;;;;13320:10;13300:31;;;;;;;;-1:-1:-1;;13300:52:0;13296:206;;13403:87;;;;;;;;;;;-1:-1:-1;;;13403:87:0;;;;;;;;-1:-1:-1;;;;;13403:19:0;;-1:-1:-1;13403:19:0;;;:11;:19;;;;;13423:10;13403:31;;;;;;;;;;:87;;13457:6;;13403:53;:87::i;:::-;-1:-1:-1;;;;;13369:19:0;;;;;;:11;:19;;;;;;;;13389:10;13369:31;;;;;;;:121;13296:206;13519:40;13533:6;13541:9;13552:6;13519:13;:40::i;:::-;13512:47;;13145:422;;;;;;:::o;9497:125::-;4077:6;;-1:-1:-1;;;;;4077:6:0;3361:10;4077:22;4069:67;;;;-1:-1:-1;;;4069:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;9582:23:0;;;::::1;;::::0;;;:15:::1;:23;::::0;;;;:32;;-1:-1:-1;;9582:32:0::1;::::0;::::1;;::::0;;;::::1;::::0;;9497:125::o;8467:142::-;8237:9;:18;;;;4831:42;8520:7;8237:18;;;;;8547:12;;8520:7;;8547:54;;8237:18;;8547:33;;:12;:16;:33::i;:::-;:37;;:54::i;:::-;8540:61;;8467:142;:::o;10416:112::-;4077:6;;-1:-1:-1;;;;;4077:6:0;3361:10;4077:22;4069:67;;;;-1:-1:-1;;;4069:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;10495:16:0;;;::::1;;::::0;;;:6:::1;:16;::::0;;;;:25;;-1:-1:-1;;10495:25:0::1;::::0;::::1;;::::0;;;::::1;::::0;;10416:112::o;11822:122::-;11877:4;11901:35;11909:7;-1:-1:-1;;11901:7:0;:35::i;9831:453::-;4077:6;;-1:-1:-1;;;;;4077:6:0;3361:10;4077:22;4069:67;;;;-1:-1:-1;;;4069:67:0;;;;;;;:::i;:::-;10009:12:::1;:24:::0;;;10044:12:::1;:30:::0;;;10085:6:::1;:18:::0;;;10127:42:::1;10094:9:::0;10127:30:::1;10024:9:::0;10059:15;10127:16:::1;:30::i;:::-;:34:::0;::::1;:42::i;:::-;10116:8;:53:::0;;;10200:23:::1;::::0;10211:12;;10200:23:::1;:::i;:::-;10180:17;:43:::0;;;10262:8:::1;::::0;10273:2:::1;::::0;10242:28:::1;::::0;10262:8;10242:28:::1;:::i;:::-;:33;10234:42;;;::::0;::::1;;9831:453:::0;;;;:::o;8873:200::-;4077:6;;-1:-1:-1;;;;;4077:6:0;3361:10;4077:22;4069:67;;;;-1:-1:-1;;;4069:67:0;;;;;;;:::i;:::-;8965:1:::1;8953:8;:13;;8945:64;;;;-1:-1:-1::0;;;8945:64:0::1;;;;;;;:::i;:::-;9061:4;9049:8;9034:12;;:23;;;;:::i;:::-;9033:32;;;;:::i;:::-;9020:10;:45:::0;-1:-1:-1;8873:200:0:o;10742:104::-;4077:6;;-1:-1:-1;;;;;4077:6:0;3361:10;4077:22;4069:67;;;;-1:-1:-1;;;4069:67:0;;;;;;;:::i;:::-;10814:15:::1;:24:::0;;;::::1;;::::0;::::1;-1:-1:-1::0;;10814:24:0;;::::1;::::0;;;::::1;::::0;;10742:104::o;4164:148::-;4077:6;;-1:-1:-1;;;;;4077:6:0;3361:10;4077:22;4069:67;;;;-1:-1:-1;;;4069:67:0;;;;;;;:::i;:::-;4271:1:::1;4255:6:::0;;4234:40:::1;::::0;-1:-1:-1;;;;;4255:6:0;;::::1;::::0;4234:40:::1;::::0;4271:1;;4234:40:::1;4302:1;4285:19:::0;;-1:-1:-1;;;;;;4285:19:0::1;::::0;;4164:148::o;11611:203::-;4077:6;;-1:-1:-1;;;;;4077:6:0;3361:10;4077:22;4069:67;;;;-1:-1:-1;;;4069:67:0;;;;;;;:::i;:::-;11708:21:::1;11748:10;11740:66;11802:3;11770:28;11782:16:::0;11708:21;11770:28:::1;:::i;:::-;11769:36;;;;:::i;:::-;11740:66;::::0;;::::1;::::0;;::::1;::::0;::::1;::::0;;;;;;::::1;;;;;;;;;;;;;::::0;::::1;;;;;;11677:137;11611:203:::0;:::o;10292:116::-;4077:6;;-1:-1:-1;;;;;4077:6:0;3361:10;4077:22;4069:67;;;;-1:-1:-1;;;4069:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;10367:24:0;;;::::1;;::::0;;;:14:::1;:24;::::0;;;;:33;;-1:-1:-1;;10367:33:0::1;::::0;::::1;;::::0;;;::::1;::::0;;10292:116::o;11316:287::-;11428:12;4077:6;;-1:-1:-1;;;;;4077:6:0;3361:10;4077:22;4069:67;;;;-1:-1:-1;;;4069:67:0;;;;;;;:::i;:::-;11490:4:::1;-1:-1:-1::0;;;;;11466:29:0;::::1;::::0;11458:70:::1;;;::::0;-1:-1:-1;;;11458:70:0;;6931:2:1;11458:70:0::1;::::0;::::1;6913:21:1::0;6970:2;6950:18;;;6943:30;7009;6989:18;;;6982:58;7057:18;;11458:70:0::1;6729:352:1::0;11458:70:0::1;11546:49;::::0;-1:-1:-1;;;11546:49:0;;11576:10:::1;11546:49;::::0;::::1;7260:51:1::0;7327:18;;;7320:34;;;-1:-1:-1;;;;;11546:29:0;::::1;::::0;::::1;::::0;7233:18:1;;11546:49:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;11051:257::-:0;4077:6;;-1:-1:-1;;;;;4077:6:0;3361:10;4077:22;4069:67;;;;-1:-1:-1;;;4069:67:0;;;;;;;:::i;:::-;11201:8:::1;:22:::0;;-1:-1:-1;;;;;;11201:22:0::1;::::0;-1:-1:-1;;;;;11201:22:0;;::::1;;;::::0;;11234:14:::1;:29:::0;;-1:-1:-1;;;;;;11234:29:0;;::::1;::::0;;::::1;::::0;;;::::1;::::0;;11274:11:::1;:26:::0;;;;::::1;::::0;::::1;;::::0;;11051:257::o;10638:96::-;4077:6;;-1:-1:-1;;;;;4077:6:0;3361:10;4077:22;4069:67;;;;-1:-1:-1;;;4069:67:0;;;;;;;:::i;:::-;10706:11:::1;:20:::0;;;::::1;;;;-1:-1:-1::0;;10706:20:0;;::::1;::::0;;;::::1;::::0;;10638:96::o;12540:188::-;12647:4;12676:44;12690:10;12702:9;12713:6;12676:13;:44::i;9081:198::-;4077:6;;-1:-1:-1;;;;;4077:6:0;3361:10;4077:22;4069:67;;;;-1:-1:-1;;;4069:67:0;;;;;;;:::i;:::-;9169:1:::1;9157:8;:13;;9149:64;;;;-1:-1:-1::0;;;9149:64:0::1;;;;;;;:::i;:::-;9267:4;9255:8;9240:12;;:23;;;;:::i;:::-;9239:32;;;;:::i;:::-;9224:12;:47:::0;-1:-1:-1;9081:198:0:o;10536:94::-;4077:6;;-1:-1:-1;;;;;4077:6:0;3361:10;4077:22;4069:67;;;;-1:-1:-1;;;4069:67:0;;;;;;;:::i;:::-;10603:10:::1;:19:::0;;-1:-1:-1;;10603:19:0::1;::::0;::::1;;::::0;;;::::1;::::0;;10536:94::o;9287:77::-;4077:6;;-1:-1:-1;;;;;4077:6:0;3361:10;4077:22;4069:67;;;;-1:-1:-1;;;4069:67:0;;;;;;;:::i;:::-;9338:11:::1;:18:::0;;-1:-1:-1;;9338:18:0::1;9352:4;9338:18;::::0;;9287:77::o;4320:281::-;4077:6;;-1:-1:-1;;;;;4077:6:0;3361:10;4077:22;4069:67;;;;-1:-1:-1;;;4069:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;4423:22:0;::::1;4401:110;;;::::0;-1:-1:-1;;;4401:110:0;;7817:2:1;4401:110:0::1;::::0;::::1;7799:21:1::0;7856:2;7836:18;;;7829:30;7895:34;7875:18;;;7868:62;-1:-1:-1;;;7946:18:1;;;7939:36;7992:19;;4401:110:0::1;7615:402:1::0;4401:110:0::1;4548:6;::::0;;4527:38:::1;::::0;-1:-1:-1;;;;;4527:38:0;;::::1;::::0;4548:6;::::1;::::0;4527:38:::1;::::0;::::1;4576:6;:17:::0;;-1:-1:-1;;;;;;4576:17:0::1;-1:-1:-1::0;;;;;4576:17:0;;;::::1;::::0;;;::::1;::::0;;4320:281::o;121:179::-;179:7;;211:5;215:1;211;:5;:::i;:::-;199:17;;240:1;235;:6;;227:46;;;;-1:-1:-1;;;227:46:0;;8224:2:1;227:46:0;;;8206:21:1;8263:2;8243:18;;;8236:30;8302:29;8282:18;;;8275:57;8349:18;;227:46:0;8022:351:1;452:224:0;572:7;608:12;600:6;;;;592:29;;;;-1:-1:-1;;;592:29:0;;;;;;;;:::i;:::-;-1:-1:-1;632:9:0;644:5;648:1;644;:5;:::i;:::-;632:17;452:224;-1:-1:-1;;;;;452:224:0:o;13575:1360::-;13722:16;;13701:4;;13722:16;;;;;13718:97;;;13762:41;13777:6;13785:9;13796:6;13762:14;:41::i;:::-;13755:48;;;;13718:97;-1:-1:-1;;;;;13830:22:0;;;;;;:14;:22;;;;;;;;13829:23;:53;;;;-1:-1:-1;;;;;;13857:25:0;;;;;;:14;:25;;;;;;;;13856:26;13829:53;13825:110;;;13907:11;;;;13899:24;;;;-1:-1:-1;;;13899:24:0;;8713:2:1;13899:24:0;;;8695:21:1;-1:-1:-1;8732:18:1;;;8725:29;8771:18;;13899:24:0;8511:284:1;13899:24:0;13965:12;;13955:6;:22;;:49;;;-1:-1:-1;;;;;;13981:23:0;;;;;;:15;:23;;;;;;;;13955:49;13947:70;;;;-1:-1:-1;;;13947:70:0;;9002:2:1;13947:70:0;;;8984:21:1;9041:1;9021:18;;;9014:29;-1:-1:-1;;;9059:18:1;;;9052:38;9107:18;;13947:70:0;8800:331:1;13947:70:0;-1:-1:-1;;;;;14046:17:0;;;;;;:6;:17;;;;;;;;:51;;;;-1:-1:-1;14081:16:0;;;;;;;14080:17;14046:51;:89;;;;-1:-1:-1;14114:21:0;;;;;;;14046:89;:147;;;;-1:-1:-1;14180:13:0;;14170:4;14152:24;;;;:9;:24;;;;;;:41;;14046:147;14028:221;;;14220:17;:15;:17::i;:::-;12019:10;;:15;;;14263:32;;-1:-1:-1;;;;;;14278:17:0;;;;;;:6;:17;;;;;;;;14263:32;14259:122;;;-1:-1:-1;;;;;14320:17:0;;14340:1;14320:17;;;:9;:17;;;;;;14312:34;;;;-1:-1:-1;;;14312:34:0;;8713:2:1;14312:34:0;;;8695:21:1;-1:-1:-1;8732:18:1;;;8725:29;8771:18;;14312:34:0;8511:284:1;14312:34:0;14361:8;12101:12;12088:10;:25;12050:71;14361:8;14440:33;;;;;;;;;-1:-1:-1;14440:33:0;;;-1:-1:-1;;;;;14440:17:0;;;;:9;:17;;;;;;;;:33;;14462:6;;14440:21;:33::i;:::-;-1:-1:-1;;;;;14420:17:0;;;;;;;:9;:17;;;;;;;;:53;;;;14491:26;;;;;:15;:26;;;;;;;14490:27;:45;;;;-1:-1:-1;14521:14:0;;;;14490:45;14486:137;;;14596:10;;-1:-1:-1;;;;;14560:20:0;;;;;;:9;:20;;;;;;:32;;14585:6;14560:24;:32::i;:::-;:46;;14552:59;;;;-1:-1:-1;;;14552:59:0;;8713:2:1;14552:59:0;;;8695:21:1;-1:-1:-1;8732:18:1;;;8725:29;8771:18;;14552:59:0;8511:284:1;14552:59:0;-1:-1:-1;;;;;14658:19:0;;14635;14658;;;:11;:19;;;;;;;;14657:20;:47;;;;-1:-1:-1;;;;;;14682:22:0;;;;;;:11;:22;;;;;;;;14681:23;14657:47;:119;;14770:6;14657:119;;;14720:34;14728:6;14736:9;14747:6;14720:7;:34::i;:::-;-1:-1:-1;;;;;14810:20:0;;;;;;:9;:20;;;;;;14635:141;;-1:-1:-1;14810:37:0;;14635:141;14810:24;:37::i;:::-;-1:-1:-1;;;;;14787:20:0;;;;;;;:9;:20;;;;;;;:60;;;;14865:40;;;;;;;;;;14893:11;160:25:1;;148:2;133:18;;14:177;14865:40:0;;;;;;;;-1:-1:-1;14923:4:0;;13575:1360;-1:-1:-1;;;;13575:1360:0:o;308:136::-;366:7;393:43;397:1;400;393:43;;;;;;;;;;;;;;;;;:3;:43::i;12736:401::-;12900:90;;;;;;;;;;;-1:-1:-1;;;12900:90:0;;;;;;;;-1:-1:-1;;;;;12900:17:0;;12863:4;12900:17;;;:9;:17;;;;;;;:90;;12936:6;;12900:21;:90::i;:::-;-1:-1:-1;;;;;12880:17:0;;;;;;;:9;:17;;;;;;:110;;;;13024:20;;;;;;;:32;;13049:6;13024:24;:32::i;:::-;-1:-1:-1;;;;;13001:20:0;;;;;;;:9;:20;;;;;;;:55;;;;13072:35;;;;;;;;;;13100:6;160:25:1;;148:2;133:18;;14:177;13072:35:0;;;;;;;;-1:-1:-1;13125:4:0;12736:401;;;;;:::o;15798:1776::-;6442:16;:23;;-1:-1:-1;;6442:23:0;;;;;15901:4:::1;6442:23:::0;15883:24;;;:9:::1;:24;::::0;;;;;16010:8:::1;::::0;15978:12:::1;::::0;15883:24;;6442:23;15944:96:::1;::::0;16038:1:::1;::::0;15944:75:::1;::::0;16010:8;15944:75;;15883:24;;15944:33:::1;:47::i;:::-;:65:::0;::::1;:75::i;:96::-;15918:122:::0;-1:-1:-1;16051:20:0::1;16074:36;:15:::0;15918:122;16074:19:::1;:36::i;:::-;16147:16;::::0;;16161:1:::1;16147:16:::0;;;;;::::1;::::0;;16051:59;;-1:-1:-1;16123:21:0::1;::::0;16147:16;;::::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;16147:16:0::1;16123:40;;16192:4;16174;16179:1;16174:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;16174:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;;:23;;;;16218:6:::1;::::0;:13:::1;::::0;;-1:-1:-1;;;16218:13:0;;;;:6;;;::::1;::::0;:11:::1;::::0;:13:::1;::::0;;::::1;::::0;16174:7;;16218:13;;;;;:6;:13:::1;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;16208:4;16213:1;16208:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;16208:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;:23;16244:6:::1;::::0;:188:::1;::::0;-1:-1:-1;;;16244:188:0;;:6;::::1;::::0;:57:::1;::::0;:188:::1;::::0;16316:12;;16244:6:::1;::::0;16359:4;;16386::::1;::::0;16406:15:::1;::::0;16244:188:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;;16534:12:0::1;::::0;16465:21:::1;::::0;-1:-1:-1;16445:17:0::1;::::0;-1:-1:-1;16521:33:0::1;::::0;16534:19:::1;::::0;16551:1:::1;16534:16;:19::i;:::-;16521:8;::::0;;:12:::1;:33::i;:::-;16499:55;;16567:26;16596:93;16687:1;16596:72;16656:11;16596:41;16624:12;;16596:9;:27;;:41;;;;:::i;:93::-;16567:122;;16700:26;16729:68;16775:11;16729:27;16743:12;;16729:9;:13;;:27;;;;:::i;:68::-;16700:97;;16808:20;16831:38;16857:11;16831:21;16845:6;;16831:9;:13;;:21;;;;:::i;:38::-;16913:14;::::0;16905:108:::1;::::0;16808:61;;-1:-1:-1;16883:16:0::1;::::0;-1:-1:-1;;;;;16913:14:0;;::::1;::::0;16993:5:::1;::::0;16955:18;;16883:16;16905:108;16883:16;16905:108;16955:18;16913:14;16993:5;16905:108:::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1::0;;17082:11:0::1;::::0;17074:99:::1;::::0;17038:5:::1;::::0;-1:-1:-1;;;;;;17082:11:0;;::::1;::::0;-1:-1:-1;17153:5:0::1;::::0;17121:12;;17038:5;17074:99;17038:5;17074:99;17121:12;17082:11;17153:5;17074:99:::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1::0;17198:5:0::1;::::0;-1:-1:-1;;17220:19:0;;;-1:-1:-1;17216:351:0::1;;17256:6;::::0;17430:8:::1;::::0;17256:231:::1;::::0;-1:-1:-1;;;17256:231:0;;17332:4:::1;17256:231;::::0;::::1;11192:34:1::0;11242:18;;;11235:34;;;-1:-1:-1;11285:18:1;;;11278:34;;;11328:18;;;11321:34;-1:-1:-1;;;;;17430:8:0;;;::::1;::::0;::::1;11371:19:1::0;;;11364:44;17457:15:0::1;11424:19:1::0;;;11417:35;17256:6:0;::::1;::::0;:22:::1;::::0;17286:18;;11126:19:1;;17256:231:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;17507:48:0::1;::::0;;11948:25:1;;;12004:2;11989:18;;11982:34;;;17507:48:0::1;::::0;-1:-1:-1;11921:18:1;17507:48:0::1;;;;;;;17216:351;-1:-1:-1::0;;6488:16:0;:24;;-1:-1:-1;;6488:24:0;;;-1:-1:-1;;;;;;;;15798:1776:0:o;14943:847::-;-1:-1:-1;;;;;15123:17:0;;15063:7;15123:17;;;:6;:17;;;;;;15063:7;;15123:17;;:32;;;;-1:-1:-1;15144:11:0;;;;;;;15123:32;15119:98;;;-1:-1:-1;15188:17:0;;15119:98;-1:-1:-1;;;;;15231:14:0;;;;;;:6;:14;;;;;;;;:28;;;;-1:-1:-1;15249:10:0;;;;15231:28;15227:85;;;-1:-1:-1;15292:8:0;;15227:85;-1:-1:-1;;;;;15327:14:0;;;;;;:6;:14;;;;;;;;15326:15;:37;;;;-1:-1:-1;;;;;;15346:17:0;;;;;;:6;:17;;;;;;;;15345:18;15326:37;15322:216;;;15384:15;;;;;;;15380:147;;;-1:-1:-1;15436:17:0;;15380:147;;;-1:-1:-1;15510:1:0;15380:147;15550:17;15570:34;15600:3;15570:25;:6;15581:13;15570:10;:25::i;:34::-;15662:4;15644:24;;;;:9;:24;;;;;;15550:54;;-1:-1:-1;15644:39:0;;15550:54;15644:28;:39::i;:::-;15635:4;15617:24;;;;:9;:24;;;;;;;:66;;;;15699:42;;-1:-1:-1;;;;;15699:42:0;;;;;;;15731:9;160:25:1;;148:2;133:18;;14:177;15699:42:0;;;;;;;;15761:21;:6;15772:9;15761:10;:21::i;:::-;15754:28;14943:847;-1:-1:-1;;;;;;14943:847:0:o;684:246::-;742:7;766:1;771;766:6;762:47;;-1:-1:-1;796:1:0;789:8;;762:47;819:9;831:5;835:1;831;:5;:::i;:::-;819:17;-1:-1:-1;864:1:0;855:5;859:1;819:17;855:5;:::i;:::-;:10;847:56;;;;-1:-1:-1;;;847:56:0;;12229:2:1;847:56:0;;;12211:21:1;12268:2;12248:18;;;12241:30;12307:34;12287:18;;;12280:62;-1:-1:-1;;;12358:18:1;;;12351:31;12399:19;;847:56:0;12027:397:1;938:132:0;996:7;1023:39;1027:1;1030;1023:39;;;;;;;;;;;;;;;;;1198:7;1233:12;1226:5;1218:28;;;;-1:-1:-1;;;1218:28:0;;;;;;;;:::i;:::-;-1:-1:-1;1257:9:0;1269:5;1273:1;1269;:5;:::i;196:548:1:-;308:4;337:2;366;355:9;348:21;398:6;392:13;441:6;436:2;425:9;421:18;414:34;466:1;476:140;490:6;487:1;484:13;476:140;;;585:14;;;581:23;;575:30;551:17;;;570:2;547:26;540:66;505:10;;476:140;;;480:3;665:1;660:2;651:6;640:9;636:22;632:31;625:42;735:2;728;724:7;719:2;711:6;707:15;703:29;692:9;688:45;684:54;676:62;;;;196:548;;;;:::o;749:131::-;-1:-1:-1;;;;;824:31:1;;814:42;;804:70;;870:1;867;860:12;804:70;749:131;:::o;885:315::-;953:6;961;1014:2;1002:9;993:7;989:23;985:32;982:52;;;1030:1;1027;1020:12;982:52;1069:9;1056:23;1088:31;1113:5;1088:31;:::i;:::-;1138:5;1190:2;1175:18;;;;1162:32;;-1:-1:-1;;;885:315:1:o;1397:118::-;1483:5;1476:13;1469:21;1462:5;1459:32;1449:60;;1505:1;1502;1495:12;1520:309;1585:6;1593;1646:2;1634:9;1625:7;1621:23;1617:32;1614:52;;;1662:1;1659;1652:12;1614:52;1701:9;1688:23;1720:28;1742:5;1720:28;:::i;1834:247::-;1893:6;1946:2;1934:9;1925:7;1921:23;1917:32;1914:52;;;1962:1;1959;1952:12;1914:52;2001:9;1988:23;2020:31;2045:5;2020:31;:::i;2086:382::-;2151:6;2159;2212:2;2200:9;2191:7;2187:23;2183:32;2180:52;;;2228:1;2225;2218:12;2180:52;2267:9;2254:23;2286:31;2311:5;2286:31;:::i;:::-;2336:5;-1:-1:-1;2393:2:1;2378:18;;2365:32;2406:30;2365:32;2406:30;:::i;:::-;2455:7;2445:17;;;2086:382;;;;;:::o;2473:456::-;2550:6;2558;2566;2619:2;2607:9;2598:7;2594:23;2590:32;2587:52;;;2635:1;2632;2625:12;2587:52;2674:9;2661:23;2693:31;2718:5;2693:31;:::i;:::-;2743:5;-1:-1:-1;2800:2:1;2785:18;;2772:32;2813:33;2772:32;2813:33;:::i;:::-;2473:456;;2865:7;;-1:-1:-1;;;2919:2:1;2904:18;;;;2891:32;;2473:456::o;3123:385::-;3209:6;3217;3225;3233;3286:3;3274:9;3265:7;3261:23;3257:33;3254:53;;;3303:1;3300;3293:12;3254:53;-1:-1:-1;;3326:23:1;;;3396:2;3381:18;;3368:32;;-1:-1:-1;3447:2:1;3432:18;;3419:32;;3498:2;3483:18;3470:32;;-1:-1:-1;3123:385:1;-1:-1:-1;3123:385:1:o;3513:180::-;3572:6;3625:2;3613:9;3604:7;3600:23;3596:32;3593:52;;;3641:1;3638;3631:12;3593:52;-1:-1:-1;3664:23:1;;3513:180;-1:-1:-1;3513:180:1:o;3698:241::-;3754:6;3807:2;3795:9;3786:7;3782:23;3778:32;3775:52;;;3823:1;3820;3813:12;3775:52;3862:9;3849:23;3881:28;3903:5;3881:28;:::i;3944:529::-;4021:6;4029;4037;4090:2;4078:9;4069:7;4065:23;4061:32;4058:52;;;4106:1;4103;4096:12;4058:52;4145:9;4132:23;4164:31;4189:5;4164:31;:::i;:::-;4214:5;-1:-1:-1;4271:2:1;4256:18;;4243:32;4284:33;4243:32;4284:33;:::i;:::-;4336:7;-1:-1:-1;4395:2:1;4380:18;;4367:32;4408:33;4367:32;4408:33;:::i;:::-;4460:7;4450:17;;;3944:529;;;;;:::o;4686:388::-;4754:6;4762;4815:2;4803:9;4794:7;4790:23;4786:32;4783:52;;;4831:1;4828;4821:12;4783:52;4870:9;4857:23;4889:31;4914:5;4889:31;:::i;:::-;4939:5;-1:-1:-1;4996:2:1;4981:18;;4968:32;5009:33;4968:32;5009:33;:::i;5304:356::-;5506:2;5488:21;;;5525:18;;;5518:30;5584:34;5579:2;5564:18;;5557:62;5651:2;5636:18;;5304:356::o;5665:127::-;5726:10;5721:3;5717:20;5714:1;5707:31;5757:4;5754:1;5747:15;5781:4;5778:1;5771:15;5797:125;5862:9;;;5883:10;;;5880:36;;;5896:18;;:::i;5927:402::-;6129:2;6111:21;;;6168:2;6148:18;;;6141:30;6207:34;6202:2;6187:18;;6180:62;-1:-1:-1;;;6273:2:1;6258:18;;6251:36;6319:3;6304:19;;5927:402::o;6334:168::-;6374:7;6440:1;6436;6432:6;6428:14;6425:1;6422:21;6417:1;6410:9;6403:17;6399:45;6396:71;;;6447:18;;:::i;:::-;-1:-1:-1;6487:9:1;;6334:168::o;6507:217::-;6547:1;6573;6563:132;;6617:10;6612:3;6608:20;6605:1;6598:31;6652:4;6649:1;6642:15;6680:4;6677:1;6670:15;6563:132;-1:-1:-1;6709:9:1;;6507:217::o;7365:245::-;7432:6;7485:2;7473:9;7464:7;7460:23;7456:32;7453:52;;;7501:1;7498;7491:12;7453:52;7533:9;7527:16;7552:28;7574:5;7552:28;:::i;8378:128::-;8445:9;;;8466:11;;;8463:37;;;8480:18;;:::i;9268:127::-;9329:10;9324:3;9320:20;9317:1;9310:31;9360:4;9357:1;9350:15;9384:4;9381:1;9374:15;9400:251;9470:6;9523:2;9511:9;9502:7;9498:23;9494:32;9491:52;;;9539:1;9536;9529:12;9491:52;9571:9;9565:16;9590:31;9615:5;9590:31;:::i;9656:980::-;9918:4;9966:3;9955:9;9951:19;9997:6;9986:9;9979:25;10023:2;10061:6;10056:2;10045:9;10041:18;10034:34;10104:3;10099:2;10088:9;10084:18;10077:31;10128:6;10163;10157:13;10194:6;10186;10179:22;10232:3;10221:9;10217:19;10210:26;;10271:2;10263:6;10259:15;10245:29;;10292:1;10302:195;10316:6;10313:1;10310:13;10302:195;;;10381:13;;-1:-1:-1;;;;;10377:39:1;10365:52;;10472:15;;;;10437:12;;;;10413:1;10331:9;10302:195;;;-1:-1:-1;;;;;;;10553:32:1;;;;10548:2;10533:18;;10526:60;-1:-1:-1;;;10617:3:1;10602:19;10595:35;10514:3;9656:980;-1:-1:-1;;;9656:980:1:o;11463:306::-;11551:6;11559;11567;11620:2;11608:9;11599:7;11595:23;11591:32;11588:52;;;11636:1;11633;11626:12;11588:52;11665:9;11659:16;11649:26;;11715:2;11704:9;11700:18;11694:25;11684:35;;11759:2;11748:9;11744:18;11738:25;11728:35;;11463:306;;;;;:::o
Swarm Source
ipfs://993860a06cb23d1b1f8ccb88f17e571407f3adb926acd735041eabe4d0c01ad9
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.