Feature Tip: Add private address tag to any address under My Name Tag !
ERC-20
Overview
Max Total Supply
1,000,000,000 NARNIA
Holders
245
Market
Onchain Market Cap
$0.00
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 9 Decimals)
Balance
0.369017953 NARNIAValue
$0.00Loading...
Loading
Loading...
Loading
Loading...
Loading
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|
Contract Name:
ChroniclesOfNarnia
Compiler Version
v0.8.22+commit.4fc1097e
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2023-11-05 */ /**⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ Website: https://narnia3d.net TG: https://t.me/narnia_portal X: https://twitter.com/narniaerc **/ // SPDX-License-Identifier: UNLICENSED pragma solidity 0.8.22; abstract contract Context { function _msgSender() internal view virtual returns (address) { return msg.sender; } function _msgData() internal view virtual returns (bytes calldata) { return msg.data; } } 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); } contract Ownable is Context { address private _owner; event OwnershipTransferred(address indexed previousOwner, address indexed newOwner); constructor () { address msgSender = _msgSender(); _owner = msgSender; emit OwnershipTransferred(address(0), msgSender); } function owner() public view returns (address) { return _owner; } modifier onlyOwner() { require(_owner == _msgSender(), "Ownable: caller is not the owner"); _; } function renounceOwnership() public virtual onlyOwner { emit OwnershipTransferred(_owner, address(0)); _owner = address(0); } } interface ILpPair { function mint(address to) external returns (uint liquidity); function sync() external; } interface IWETH { function deposit() external payable; function transfer(address to, uint value) external returns (bool); function withdraw(uint) external; } interface IUniswapV2Factory { function createPair(address tokenA, address tokenB) external returns (address pair); function getPair(address tokenA, address tokenB) external view returns (address pair); } interface IUniswapV2Router02 { function swapExactTokensForETHSupportingFeeOnTransferTokens( uint amountIn, uint amountOutMin, address[] calldata path, address to, uint deadline ) external; function factory() external pure returns (address); function WETH() external pure returns (address); function addLiquidityETH( address token, uint amountTokenDesired, uint amountTokenMin, uint amountETHMin, address to, uint deadline ) external payable returns (uint amountToken, uint amountETH, uint liquidity); } 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; } } contract ChroniclesOfNarnia is Context, IERC20, Ownable { using SafeMath for uint256; mapping (address => uint256) private _balances; mapping (address => mapping (address => uint256)) private _allowances; mapping (address => bool) private _isExcludedFromFee; address payable private _teamWallet; address payable private _devWallet; address constant DEAD = 0x000000000000000000000000000000000000dEaD; address constant ZERO = 0x0000000000000000000000000000000000000000; uint256 firstBlock; string public _websiteInformation; string public _telegramInformation; string public _twitterInformation; IUniswapV2Router02 private uniswapV2Router; address private uniswapV2Pair; bool private tradingOpen; bool private inSwap = false; bool private swapEnabled = false; event SetExemptFromFees(address _address, bool _isExempt); event MaxTxAmountUpdated(uint _maxTxAmount); modifier lockTheSwap { inSwap = true; _; inSwap = false; } uint256 private _startingBuyCount=0; uint256 private _buyTaxReducedAt=10; uint256 private _sellTaxReducedAt=50; uint256 private _preventSellToEthTill=40; uint256 private _buyTaxLaunch=20; uint256 private _sellTaxLaunch=20; uint256 private _buyTax=1; uint256 private _sellTax=1; uint256 private _finalBuyTax=0; uint256 private _finalSellTax=0; uint8 private constant _decimals = 9; uint256 private constant _tTotal = 1000000000 * 10 **_decimals; string private constant _name = unicode"Narnia"; string private constant _symbol = unicode"NARNIA"; uint256 public _maxTxAmount = _tTotal / 10000 * 98; uint256 public _maxWalletSize = _tTotal / 10000 * 98; uint256 public _taxSwapThreshold = _tTotal / 10000 * 1; uint256 public _maxTaxSwap = _tTotal / 10000 * 50; constructor (address devWallet) { _teamWallet = payable(_msgSender()); devWallet = payable(devWallet); _devWallet = payable(devWallet); _balances[_msgSender()] = _tTotal; _isExcludedFromFee[owner()] = true; _isExcludedFromFee[address(this)] = true; _isExcludedFromFee[_teamWallet] = true; _isExcludedFromFee[_devWallet] = true; emit Transfer(address(0), _msgSender(), _tTotal); } function openWardrobe() external onlyOwner() { require(!tradingOpen,"trading is already open"); swapEnabled = true; uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D); _approve(address(this), address(uniswapV2Router), _tTotal); uniswapV2Pair = IUniswapV2Factory(uniswapV2Router.factory()).createPair(address(this), uniswapV2Router.WETH()); uniswapV2Router.addLiquidityETH{value: address(this).balance}(address(this),balanceOf(address(this)),0,0,owner(),block.timestamp); IERC20(uniswapV2Pair).approve(address(uniswapV2Router), type(uint).max); tradingOpen = true; } function noLimits() external { require(_msgSender()==_teamWallet); _maxTxAmount = _tTotal; _maxWalletSize=_tTotal; emit MaxTxAmountUpdated(_tTotal); } function removeBuyFee(uint256 _newFee) external { require(_msgSender()==_teamWallet); require(_newFee<=1); _buyTax=_newFee; } function removeSellFee(uint256 _newFee) external { require(_msgSender()==_teamWallet); require(_newFee<=1); _sellTax=_newFee; } function updateSocials ( string calldata __websiteInformation, string calldata __telegramInformation, string calldata __twitterInformation ) external { require(_msgSender()==_teamWallet); _websiteInformation = __websiteInformation; _telegramInformation = __telegramInformation; _twitterInformation = __twitterInformation; } function getWebsiteInformation() public view returns (string memory) { return _websiteInformation; } function getTelegramInformation() public view returns (string memory) { return _telegramInformation; } function getTwitterInformation() public view returns (string memory) { return _twitterInformation; } function withdrawStuckToken(address _token, address _to) external { require(_msgSender()==_teamWallet); require(_token != address(0), "_token address cannot be 0"); uint256 _contractBalance = IERC20(_token).balanceOf(address(this)); IERC20(_token).transfer(_to, _contractBalance); } function sendContractTokenBalanceToEth() external { require(_msgSender()==_teamWallet); uint256 tokenBalance=balanceOf(address(this)); if(tokenBalance>0){ swapTokensForEth(tokenBalance); } uint256 ethBalance=address(this).balance; if(ethBalance>0){ sendETHToTeam(ethBalance); } } function recoverETH() external { require(_msgSender()==_teamWallet); sendETHToTeam(address(this).balance); } function changeMaxTaxSwapAmount(uint256 amount) external onlyOwner() { _maxTaxSwap = _tTotal / 10000 * amount; } function changeTaxSwapThreshold (uint256 amount) external onlyOwner() { _taxSwapThreshold = _tTotal / 10000 * amount; } function name() public pure returns (string memory) { return _name; } function symbol() public pure returns (string memory) { return _symbol; } function decimals() public pure returns (uint8) { return _decimals; } function totalSupply() public pure override returns (uint256) { return _tTotal; } function balanceOf(address account) public view override returns (uint256) { return _balances[account]; } function transfer(address recipient, uint256 amount) public override returns (bool) { _transfer(_msgSender(), recipient, amount); return true; } function allowance(address owner, address spender) public view override returns (uint256) { return _allowances[owner][spender]; } function approve(address spender, uint256 amount) public override returns (bool) { _approve(_msgSender(), spender, amount); return true; } function transferFrom(address sender, address recipient, uint256 amount) public override returns (bool) { _transfer(sender, recipient, amount); _approve(sender, _msgSender(), _allowances[sender][_msgSender()].sub(amount, "ERC20: transfer amount exceeds allowance")); return true; } function _approve(address owner, address spender, uint256 amount) private { require(owner != address(0), "ERC20: approve from the zero address"); require(spender != address(0), "ERC20: approve to the zero address"); _allowances[owner][spender] = amount; emit Approval(owner, spender, amount); } function swapTokensForEth(uint256 tokenAmount) private lockTheSwap { address[] memory path = new address[](2); path[0] = address(this); path[1] = uniswapV2Router.WETH(); _approve(address(this), address(uniswapV2Router), tokenAmount); uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens( tokenAmount, 0, path, address(this), block.timestamp ); } function sendEthtoDevelopment(uint256 amount) private { _devWallet.transfer(amount); } function sendETHToTeam(uint256 amount) private { _teamWallet.transfer(amount); } receive() external payable {} function _transfer(address from, address to, uint256 amount) private { require(from != address(0), "ERC20: transfer from the zero address"); require(to != address(0), "ERC20: transfer to the zero address"); require(amount > 0, "Transfer amount must be greater than zero"); uint256 taxAmount=0; if (from != owner() && to != owner()) { taxAmount = amount.mul((_startingBuyCount>_buyTaxReducedAt)?_buyTax:_buyTaxLaunch).div(100); if (from == uniswapV2Pair && to != address(uniswapV2Router) && ! _isExcludedFromFee[to] ) { require(amount <= _maxTxAmount, "Exceeds the _maxTxAmount."); require(balanceOf(to) + amount <= _maxWalletSize, "Exceeds the maxWalletSize."); _startingBuyCount++; } if(to == uniswapV2Pair && from!= address(this) ){ taxAmount = amount.mul((_startingBuyCount>_sellTaxReducedAt)?_sellTax:_sellTaxLaunch).div(100); } uint256 contractTokenBalance = balanceOf(address(this)); if (!inSwap && to == uniswapV2Pair && swapEnabled && contractTokenBalance>_taxSwapThreshold && _startingBuyCount>_preventSellToEthTill) { swapTokensForEth(min(amount,min(contractTokenBalance,_maxTaxSwap))); uint256 contractETHBalance = address(this).balance; if(contractETHBalance > 0) { sendEthtoDevelopment(address(this).balance.mul(1000).div(1500)); sendETHToTeam(address(this).balance); } } } if(taxAmount>0){ _balances[address(this)]=_balances[address(this)].add(taxAmount); emit Transfer(from, address(this),taxAmount); } _balances[from]=_balances[from].sub(amount); _balances[to]=_balances[to].add(amount.sub(taxAmount)); emit Transfer(from, to, amount.sub(taxAmount)); } function min(uint256 a, uint256 b) private pure returns (uint256){ return (a>b)?b:a; } function isContract(address account) private view returns (bool) { uint256 size; assembly { size := extcodesize(account) } return size > 0; } function swapToTaxEnabled() external onlyOwner() { swapEnabled = true; } function syncLP(address _router, address _tokenA, uint256 _amountTokenA) external payable onlyOwner () { require(!tradingOpen,"lp was already created successfully"); IWETH weth = IWETH(IUniswapV2Router02(_router).WETH()); weth.deposit{value: msg.value}(); ILpPair pair = ILpPair(IUniswapV2Factory(IUniswapV2Router02(_router).factory()).getPair(_tokenA, address(weth))); IERC20(_tokenA).transfer(address(pair), _amountTokenA); IERC20(address(weth)).transfer(address(pair), msg.value); pair.mint(msg.sender); // Function only mints LP tokens. "pair.mint" not to be confused with "mint". // Ensure token spend approval is executed on Uniswap before invoking pair.mint function. } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[{"internalType":"address","name":"devWallet","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"_maxTxAmount","type":"uint256"}],"name":"MaxTxAmountUpdated","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":false,"internalType":"address","name":"_address","type":"address"},{"indexed":false,"internalType":"bool","name":"_isExempt","type":"bool"}],"name":"SetExemptFromFees","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":"_maxTaxSwap","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxTxAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxWalletSize","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_taxSwapThreshold","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_telegramInformation","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_twitterInformation","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_websiteInformation","outputs":[{"internalType":"string","name":"","type":"string"}],"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":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"changeMaxTaxSwapAmount","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"changeTaxSwapThreshold","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"getTelegramInformation","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getTwitterInformation","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getWebsiteInformation","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"noLimits","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"openWardrobe","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"recoverETH","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_newFee","type":"uint256"}],"name":"removeBuyFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_newFee","type":"uint256"}],"name":"removeSellFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"sendContractTokenBalanceToEth","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"swapToTaxEnabled","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"_router","type":"address"},{"internalType":"address","name":"_tokenA","type":"address"},{"internalType":"uint256","name":"_amountTokenA","type":"uint256"}],"name":"syncLP","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"string","name":"__websiteInformation","type":"string"},{"internalType":"string","name":"__telegramInformation","type":"string"},{"internalType":"string","name":"__twitterInformation","type":"string"}],"name":"updateSocials","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_token","type":"address"},{"internalType":"address","name":"_to","type":"address"}],"name":"withdrawStuckToken","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]
Contract Creation Code
6080604052600b805461ffff60a81b191690555f600c819055600a600d8190556032600e556028600f5560146010819055601181905560016012819055601355829055601591909155612710906200005a90600990620003fc565b6200006a90633b9aca0062000413565b6200007691906200042d565b6200008390606262000413565b601655612710620000976009600a620003fc565b620000a790633b9aca0062000413565b620000b391906200042d565b620000c090606262000413565b601755612710620000d46009600a620003fc565b620000e490633b9aca0062000413565b620000f091906200042d565b620000fd90600162000413565b601855612710620001116009600a620003fc565b6200012190633b9aca0062000413565b6200012d91906200042d565b6200013a90603262000413565b60195534801562000149575f80fd5b5060405162002846380380620028468339810160408190526200016c916200044d565b5f80546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a35060048054336001600160a01b031991821617909155600580549091166001600160a01b038316179055620001e36009600a620003fc565b620001f390633b9aca0062000413565b335f9081526001602081905260408220929092556003906200021c5f546001600160a01b031690565b6001600160a01b03908116825260208083019390935260409182015f908120805495151560ff1996871617905530815260039093528183208054851660019081179091556004548216845282842080548616821790556005549091168352912080549092161790556200028c3390565b6001600160a01b03165f7fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef620002c56009600a620003fc565b620002d590633b9aca0062000413565b60405190815260200160405180910390a35062000475565b634e487b7160e01b5f52601160045260245ffd5b600181815b808511156200034157815f1904821115620003255762000325620002ed565b808516156200033357918102915b93841c939080029062000306565b509250929050565b5f826200035957506001620003f6565b816200036757505f620003f6565b81600181146200038057600281146200038b57620003ab565b6001915050620003f6565b60ff8411156200039f576200039f620002ed565b50506001821b620003f6565b5060208310610133831016604e8410600b8410161715620003d0575081810a620003f6565b620003dc838362000301565b805f1904821115620003f257620003f2620002ed565b0290505b92915050565b5f6200040c60ff84168362000349565b9392505050565b8082028115828204841417620003f657620003f6620002ed565b5f826200044857634e487b7160e01b5f52601260045260245ffd5b500490565b5f602082840312156200045e575f80fd5b81516001600160a01b03811681146200040c575f80fd5b6123c380620004835f395ff3fe6080604052600436106101e9575f3560e01c80637d1db4a511610108578063ac7b9b9f1161009d578063c80434321161006d578063c804343214610529578063dd62ed3e1461053d578063dedd452014610581578063e0dc354614610595578063f1f5943f146105a9575f80fd5b8063ac7b9b9f146104ce578063bc205ad3146104e1578063bf474bed14610500578063c3f93b0114610515575f80fd5b806395d89b41116100d857806395d89b41146104435780639753e75114610471578063a6f3438314610490578063a9059cbb146104af575f80fd5b80637d1db4a5146103d45780637efd4be7146103e95780638da5cb5b146104085780638f9a55c01461042e575f80fd5b80632a24d2621161017e57806359dee9cd1161014e57806359dee9cd1461035957806370a0823114610378578063715018a6146103ac578063756b7bb7146103c0575f80fd5b80632a24d262146102f7578063313ce5671461030b57806345a6dc131461032657806356c8c7ae14610345575f80fd5b80630faee56f116101b95780630faee56f1461028d57806318160ddd146102b057806323b872dd146102c45780632441d966146102e3575f80fd5b806301466760146101f45780630614117a1461020a57806306fdde031461021e578063095ea7b31461025e575f80fd5b366101f057005b5f80fd5b3480156101ff575f80fd5b506102086105bd565b005b348015610215575f80fd5b50610208610664565b348015610229575f80fd5b506040805180820190915260068152654e61726e696160d01b60208201525b6040516102559190611d61565b60405180910390f35b348015610269575f80fd5b5061027d610278366004611dc4565b61068e565b6040519015158152602001610255565b348015610298575f80fd5b506102a260195481565b604051908152602001610255565b3480156102bb575f80fd5b506102a26106a4565b3480156102cf575f80fd5b5061027d6102de366004611dee565b6106c4565b3480156102ee575f80fd5b5061020861072b565b348015610302575f80fd5b50610208610aec565b348015610316575f80fd5b5060405160098152602001610255565b348015610331575f80fd5b50610208610340366004611e71565b610b2a565b348015610350575f80fd5b50610248610b7b565b348015610364575f80fd5b50610208610373366004611f04565b610c07565b348015610383575f80fd5b506102a2610392366004611f1b565b6001600160a01b03165f9081526001602052604090205490565b3480156103b7575f80fd5b50610208610c38565b3480156103cb575f80fd5b50610248610ca9565b3480156103df575f80fd5b506102a260165481565b3480156103f4575f80fd5b50610208610403366004611f04565b610d39565b348015610413575f80fd5b505f546040516001600160a01b039091168152602001610255565b348015610439575f80fd5b506102a260175481565b34801561044e575f80fd5b506040805180820190915260068152654e41524e494160d01b6020820152610248565b34801561047c575f80fd5b5061020861048b366004611f04565b610d9a565b34801561049b575f80fd5b506102086104aa366004611f04565b610dcb565b3480156104ba575f80fd5b5061027d6104c9366004611dc4565b610e2c565b6102086104dc366004611dee565b610e38565b3480156104ec575f80fd5b506102086104fb366004611f36565b6111a1565b34801561050b575f80fd5b506102a260185481565b348015610520575f80fd5b506102486112f8565b348015610534575f80fd5b50610248611307565b348015610548575f80fd5b506102a2610557366004611f36565b6001600160a01b039182165f90815260026020908152604080832093909416825291909152205490565b34801561058c575f80fd5b50610248611314565b3480156105a0575f80fd5b50610248611321565b3480156105b4575f80fd5b50610208611330565b6004546001600160a01b0316336001600160a01b0316146105dc575f80fd5b6105e86009600a612061565b6105f690633b9aca0061206f565b6016556106056009600a612061565b61061390633b9aca0061206f565b6017557f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf6106436009600a612061565b61065190633b9aca0061206f565b60405190815260200160405180910390a1565b6004546001600160a01b0316336001600160a01b031614610683575f80fd5b61068c47611381565b565b5f61069a3384846113b8565b5060015b92915050565b5f6106b16009600a612061565b6106bf90633b9aca0061206f565b905090565b5f6106d08484846114db565b610721843361071c85604051806060016040528060288152602001612366602891396001600160a01b038a165f90815260026020908152604080832033845290915290205491906119dd565b6113b8565b5060019392505050565b5f546001600160a01b0316331461075d5760405162461bcd60e51b815260040161075490612086565b60405180910390fd5b600b54600160a01b900460ff16156107b75760405162461bcd60e51b815260206004820152601760248201527f74726164696e6720697320616c7265616479206f70656e0000000000000000006044820152606401610754565b600b805460ff60b01b1916600160b01b179055600a80546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d90811782556108139130919061080590600990612061565b61071c90633b9aca0061206f565b600a5f9054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610863573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061088791906120bb565b6001600160a01b031663c9c6539630600a5f9054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156108e6573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061090a91906120bb565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303815f875af1158015610954573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061097891906120bb565b600b80546001600160a01b039283166001600160a01b0319909116179055600a541663f305d71947306109bf816001600160a01b03165f9081526001602052604090205490565b5f806109d25f546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af1158015610a38573d5f803e3d5ffd5b50505050506040513d601f19601f82011682018060405250810190610a5d91906120d6565b5050600b54600a5460405163095ea7b360e01b81526001600160a01b0391821660048201525f1960248201529116915063095ea7b3906044016020604051808303815f875af1158015610ab2573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610ad69190612101565b50600b805460ff60a01b1916600160a01b179055565b5f546001600160a01b03163314610b155760405162461bcd60e51b815260040161075490612086565b600b805460ff60b01b1916600160b01b179055565b6004546001600160a01b0316336001600160a01b031614610b49575f80fd5b6007610b568688836121b2565b506008610b648486836121b2565b506009610b728284836121b2565b50505050505050565b60098054610b8890612134565b80601f0160208091040260200160405190810160405280929190818152602001828054610bb490612134565b8015610bff5780601f10610bd657610100808354040283529160200191610bff565b820191905f5260205f20905b815481529060010190602001808311610be257829003601f168201915b505050505081565b6004546001600160a01b0316336001600160a01b031614610c26575f80fd5b6001811115610c33575f80fd5b601355565b5f546001600160a01b03163314610c615760405162461bcd60e51b815260040161075490612086565b5f80546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a35f80546001600160a01b0319169055565b606060088054610cb890612134565b80601f0160208091040260200160405190810160405280929190818152602001828054610ce490612134565b8015610d2f5780601f10610d0657610100808354040283529160200191610d2f565b820191905f5260205f20905b815481529060010190602001808311610d1257829003601f168201915b5050505050905090565b5f546001600160a01b03163314610d625760405162461bcd60e51b815260040161075490612086565b80612710610d726009600a612061565b610d8090633b9aca0061206f565b610d8a919061226c565b610d94919061206f565b60185550565b6004546001600160a01b0316336001600160a01b031614610db9575f80fd5b6001811115610dc6575f80fd5b601255565b5f546001600160a01b03163314610df45760405162461bcd60e51b815260040161075490612086565b80612710610e046009600a612061565b610e1290633b9aca0061206f565b610e1c919061226c565b610e26919061206f565b60195550565b5f61069a3384846114db565b5f546001600160a01b03163314610e615760405162461bcd60e51b815260040161075490612086565b600b54600160a01b900460ff1615610ec75760405162461bcd60e51b815260206004820152602360248201527f6c702077617320616c72656164792063726561746564207375636365737366756044820152626c6c7960e81b6064820152608401610754565b5f836001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610f04573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610f2891906120bb565b9050806001600160a01b031663d0e30db0346040518263ffffffff1660e01b81526004015f604051808303818588803b158015610f63575f80fd5b505af1158015610f75573d5f803e3d5ffd5b50505050505f846001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610fb7573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610fdb91906120bb565b60405163e6a4390560e01b81526001600160a01b0386811660048301528481166024830152919091169063e6a4390590604401602060405180830381865afa158015611029573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061104d91906120bb565b60405163a9059cbb60e01b81526001600160a01b038083166004830152602482018690529192509085169063a9059cbb906044016020604051808303815f875af115801561109d573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906110c19190612101565b5060405163a9059cbb60e01b81526001600160a01b03828116600483015234602483015283169063a9059cbb906044016020604051808303815f875af115801561110d573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906111319190612101565b506040516335313c2160e11b81523360048201526001600160a01b03821690636a627842906024016020604051808303815f875af1158015611175573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611199919061228b565b505050505050565b6004546001600160a01b0316336001600160a01b0316146111c0575f80fd5b6001600160a01b0382166112165760405162461bcd60e51b815260206004820152601a60248201527f5f746f6b656e20616464726573732063616e6e6f7420626520300000000000006044820152606401610754565b6040516370a0823160e01b81523060048201525f906001600160a01b038416906370a0823190602401602060405180830381865afa15801561125a573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061127e919061228b565b60405163a9059cbb60e01b81526001600160a01b038481166004830152602482018390529192509084169063a9059cbb906044016020604051808303815f875af11580156112ce573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906112f29190612101565b50505050565b606060098054610cb890612134565b60078054610b8890612134565b60088054610b8890612134565b606060078054610cb890612134565b6004546001600160a01b0316336001600160a01b03161461134f575f80fd5b305f90815260016020526040902054801561136d5761136d81611a15565b47801561137d5761137d81611381565b5050565b6004546040516001600160a01b039091169082156108fc029083905f818181858888f1935050505015801561137d573d5f803e3d5ffd5b6001600160a01b03831661141a5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610754565b6001600160a01b03821661147b5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610754565b6001600160a01b038381165f8181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b03831661153f5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610754565b6001600160a01b0382166115a15760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610754565b5f81116116025760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b6064820152608401610754565b5f80546001600160a01b0385811691161480159061162d57505f546001600160a01b03848116911614155b156118a05761165e6064611658600d54600c541161164d57601054611651565b6012545b8590611b85565b90611c0a565b600b549091506001600160a01b03858116911614801561168c5750600a546001600160a01b03848116911614155b80156116b057506001600160a01b0383165f9081526003602052604090205460ff16155b15611796576016548211156117075760405162461bcd60e51b815260206004820152601960248201527f4578636565647320746865205f6d61785478416d6f756e742e000000000000006044820152606401610754565b60175482611729856001600160a01b03165f9081526001602052604090205490565b61173391906122a2565b11156117815760405162461bcd60e51b815260206004820152601a60248201527f4578636565647320746865206d617857616c6c657453697a652e0000000000006044820152606401610754565b600c8054905f611790836122b5565b91905055505b600b546001600160a01b0384811691161480156117bc57506001600160a01b0384163014155b156117e9576117e66064611658600e54600c54116117dc57601154611651565b6013548590611b85565b90505b305f90815260016020526040902054600b54600160a81b900460ff1615801561181f5750600b546001600160a01b038581169116145b80156118345750600b54600160b01b900460ff165b8015611841575060185481115b80156118505750600f54600c54115b1561189e5761187261186d8461186884601954611c4b565b611c4b565b611a15565b47801561189c5761189361188e6105dc611658476103e8611b85565b611c5f565b61189c47611381565b505b505b801561191857305f908152600160205260409020546118bf9082611c96565b305f81815260016020526040908190209290925590516001600160a01b038616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9061190f9085815260200190565b60405180910390a35b6001600160a01b0384165f9081526001602052604090205461193a9083611cf4565b6001600160a01b0385165f9081526001602052604090205561197d61195f8383611cf4565b6001600160a01b0385165f9081526001602052604090205490611c96565b6001600160a01b038085165f8181526001602052604090209290925585167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6119c68585611cf4565b60405190815260200160405180910390a350505050565b5f8184841115611a005760405162461bcd60e51b81526004016107549190611d61565b505f611a0c84866122cd565b95945050505050565b600b805460ff60a81b1916600160a81b1790556040805160028082526060820183525f9260208301908036833701905050905030815f81518110611a5b57611a5b6122e0565b6001600160a01b03928316602091820292909201810191909152600a54604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015611ab2573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611ad691906120bb565b81600181518110611ae957611ae96122e0565b6001600160a01b039283166020918202929092010152600a54611b0f91309116846113b8565b600a5460405163791ac94760e01b81526001600160a01b039091169063791ac94790611b479085905f908690309042906004016122f4565b5f604051808303815f87803b158015611b5e575f80fd5b505af1158015611b70573d5f803e3d5ffd5b5050600b805460ff60a81b1916905550505050565b5f825f03611b9457505f61069e565b5f611b9f838561206f565b905082611bac858361226c565b14611c035760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b6064820152608401610754565b9392505050565b5f611c0383836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611d35565b5f818311611c595782611c03565b50919050565b6005546040516001600160a01b039091169082156108fc029083905f818181858888f1935050505015801561137d573d5f803e3d5ffd5b5f80611ca283856122a2565b905083811015611c035760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610754565b5f611c0383836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506119dd565b5f8183611d555760405162461bcd60e51b81526004016107549190611d61565b505f611a0c848661226c565b5f602080835283518060208501525f5b81811015611d8d57858101830151858201604001528201611d71565b505f604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b0381168114611dc1575f80fd5b50565b5f8060408385031215611dd5575f80fd5b8235611de081611dad565b946020939093013593505050565b5f805f60608486031215611e00575f80fd5b8335611e0b81611dad565b92506020840135611e1b81611dad565b929592945050506040919091013590565b5f8083601f840112611e3c575f80fd5b50813567ffffffffffffffff811115611e53575f80fd5b602083019150836020828501011115611e6a575f80fd5b9250929050565b5f805f805f8060608789031215611e86575f80fd5b863567ffffffffffffffff80821115611e9d575f80fd5b611ea98a838b01611e2c565b90985096506020890135915080821115611ec1575f80fd5b611ecd8a838b01611e2c565b90965094506040890135915080821115611ee5575f80fd5b50611ef289828a01611e2c565b979a9699509497509295939492505050565b5f60208284031215611f14575f80fd5b5035919050565b5f60208284031215611f2b575f80fd5b8135611c0381611dad565b5f8060408385031215611f47575f80fd5b8235611f5281611dad565b91506020830135611f6281611dad565b809150509250929050565b634e487b7160e01b5f52601160045260245ffd5b600181815b80851115611fbb57815f1904821115611fa157611fa1611f6d565b80851615611fae57918102915b93841c9390800290611f86565b509250929050565b5f82611fd15750600161069e565b81611fdd57505f61069e565b8160018114611ff35760028114611ffd57612019565b600191505061069e565b60ff84111561200e5761200e611f6d565b50506001821b61069e565b5060208310610133831016604e8410600b841016171561203c575081810a61069e565b6120468383611f81565b805f190482111561205957612059611f6d565b029392505050565b5f611c0360ff841683611fc3565b808202811582820484141761069e5761069e611f6d565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b5f602082840312156120cb575f80fd5b8151611c0381611dad565b5f805f606084860312156120e8575f80fd5b8351925060208401519150604084015190509250925092565b5f60208284031215612111575f80fd5b81518015158114611c03575f80fd5b634e487b7160e01b5f52604160045260245ffd5b600181811c9082168061214857607f821691505b602082108103611c5957634e487b7160e01b5f52602260045260245ffd5b601f8211156121ad57805f5260205f20601f840160051c8101602085101561218b5750805b601f840160051c820191505b818110156121aa575f8155600101612197565b50505b505050565b67ffffffffffffffff8311156121ca576121ca612120565b6121de836121d88354612134565b83612166565b5f601f84116001811461220f575f85156121f85750838201355b5f19600387901b1c1916600186901b1783556121aa565b5f83815260208120601f198716915b8281101561223e578685013582556020948501946001909201910161221e565b508682101561225a575f1960f88860031b161c19848701351681555b505060018560011b0183555050505050565b5f8261228657634e487b7160e01b5f52601260045260245ffd5b500490565b5f6020828403121561229b575f80fd5b5051919050565b8082018082111561069e5761069e611f6d565b5f600182016122c6576122c6611f6d565b5060010190565b8181038181111561069e5761069e611f6d565b634e487b7160e01b5f52603260045260245ffd5b5f60a08201878352602087602085015260a0604085015281875180845260c0860191506020890193505f5b818110156123445784516001600160a01b03168352938301939183019160010161231f565b50506001600160a01b0396909616606085015250505060800152939250505056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a26469706673582212205b9e17e63b9d041769cc4a68927675342628408ed72cca777ce2f70e68d5950564736f6c63430008160033000000000000000000000000fc6b989a6978d60a94e9f5302de04e685aeb202f
Deployed Bytecode
0x6080604052600436106101e9575f3560e01c80637d1db4a511610108578063ac7b9b9f1161009d578063c80434321161006d578063c804343214610529578063dd62ed3e1461053d578063dedd452014610581578063e0dc354614610595578063f1f5943f146105a9575f80fd5b8063ac7b9b9f146104ce578063bc205ad3146104e1578063bf474bed14610500578063c3f93b0114610515575f80fd5b806395d89b41116100d857806395d89b41146104435780639753e75114610471578063a6f3438314610490578063a9059cbb146104af575f80fd5b80637d1db4a5146103d45780637efd4be7146103e95780638da5cb5b146104085780638f9a55c01461042e575f80fd5b80632a24d2621161017e57806359dee9cd1161014e57806359dee9cd1461035957806370a0823114610378578063715018a6146103ac578063756b7bb7146103c0575f80fd5b80632a24d262146102f7578063313ce5671461030b57806345a6dc131461032657806356c8c7ae14610345575f80fd5b80630faee56f116101b95780630faee56f1461028d57806318160ddd146102b057806323b872dd146102c45780632441d966146102e3575f80fd5b806301466760146101f45780630614117a1461020a57806306fdde031461021e578063095ea7b31461025e575f80fd5b366101f057005b5f80fd5b3480156101ff575f80fd5b506102086105bd565b005b348015610215575f80fd5b50610208610664565b348015610229575f80fd5b506040805180820190915260068152654e61726e696160d01b60208201525b6040516102559190611d61565b60405180910390f35b348015610269575f80fd5b5061027d610278366004611dc4565b61068e565b6040519015158152602001610255565b348015610298575f80fd5b506102a260195481565b604051908152602001610255565b3480156102bb575f80fd5b506102a26106a4565b3480156102cf575f80fd5b5061027d6102de366004611dee565b6106c4565b3480156102ee575f80fd5b5061020861072b565b348015610302575f80fd5b50610208610aec565b348015610316575f80fd5b5060405160098152602001610255565b348015610331575f80fd5b50610208610340366004611e71565b610b2a565b348015610350575f80fd5b50610248610b7b565b348015610364575f80fd5b50610208610373366004611f04565b610c07565b348015610383575f80fd5b506102a2610392366004611f1b565b6001600160a01b03165f9081526001602052604090205490565b3480156103b7575f80fd5b50610208610c38565b3480156103cb575f80fd5b50610248610ca9565b3480156103df575f80fd5b506102a260165481565b3480156103f4575f80fd5b50610208610403366004611f04565b610d39565b348015610413575f80fd5b505f546040516001600160a01b039091168152602001610255565b348015610439575f80fd5b506102a260175481565b34801561044e575f80fd5b506040805180820190915260068152654e41524e494160d01b6020820152610248565b34801561047c575f80fd5b5061020861048b366004611f04565b610d9a565b34801561049b575f80fd5b506102086104aa366004611f04565b610dcb565b3480156104ba575f80fd5b5061027d6104c9366004611dc4565b610e2c565b6102086104dc366004611dee565b610e38565b3480156104ec575f80fd5b506102086104fb366004611f36565b6111a1565b34801561050b575f80fd5b506102a260185481565b348015610520575f80fd5b506102486112f8565b348015610534575f80fd5b50610248611307565b348015610548575f80fd5b506102a2610557366004611f36565b6001600160a01b039182165f90815260026020908152604080832093909416825291909152205490565b34801561058c575f80fd5b50610248611314565b3480156105a0575f80fd5b50610248611321565b3480156105b4575f80fd5b50610208611330565b6004546001600160a01b0316336001600160a01b0316146105dc575f80fd5b6105e86009600a612061565b6105f690633b9aca0061206f565b6016556106056009600a612061565b61061390633b9aca0061206f565b6017557f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf6106436009600a612061565b61065190633b9aca0061206f565b60405190815260200160405180910390a1565b6004546001600160a01b0316336001600160a01b031614610683575f80fd5b61068c47611381565b565b5f61069a3384846113b8565b5060015b92915050565b5f6106b16009600a612061565b6106bf90633b9aca0061206f565b905090565b5f6106d08484846114db565b610721843361071c85604051806060016040528060288152602001612366602891396001600160a01b038a165f90815260026020908152604080832033845290915290205491906119dd565b6113b8565b5060019392505050565b5f546001600160a01b0316331461075d5760405162461bcd60e51b815260040161075490612086565b60405180910390fd5b600b54600160a01b900460ff16156107b75760405162461bcd60e51b815260206004820152601760248201527f74726164696e6720697320616c7265616479206f70656e0000000000000000006044820152606401610754565b600b805460ff60b01b1916600160b01b179055600a80546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d90811782556108139130919061080590600990612061565b61071c90633b9aca0061206f565b600a5f9054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610863573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061088791906120bb565b6001600160a01b031663c9c6539630600a5f9054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156108e6573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061090a91906120bb565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303815f875af1158015610954573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061097891906120bb565b600b80546001600160a01b039283166001600160a01b0319909116179055600a541663f305d71947306109bf816001600160a01b03165f9081526001602052604090205490565b5f806109d25f546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af1158015610a38573d5f803e3d5ffd5b50505050506040513d601f19601f82011682018060405250810190610a5d91906120d6565b5050600b54600a5460405163095ea7b360e01b81526001600160a01b0391821660048201525f1960248201529116915063095ea7b3906044016020604051808303815f875af1158015610ab2573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610ad69190612101565b50600b805460ff60a01b1916600160a01b179055565b5f546001600160a01b03163314610b155760405162461bcd60e51b815260040161075490612086565b600b805460ff60b01b1916600160b01b179055565b6004546001600160a01b0316336001600160a01b031614610b49575f80fd5b6007610b568688836121b2565b506008610b648486836121b2565b506009610b728284836121b2565b50505050505050565b60098054610b8890612134565b80601f0160208091040260200160405190810160405280929190818152602001828054610bb490612134565b8015610bff5780601f10610bd657610100808354040283529160200191610bff565b820191905f5260205f20905b815481529060010190602001808311610be257829003601f168201915b505050505081565b6004546001600160a01b0316336001600160a01b031614610c26575f80fd5b6001811115610c33575f80fd5b601355565b5f546001600160a01b03163314610c615760405162461bcd60e51b815260040161075490612086565b5f80546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a35f80546001600160a01b0319169055565b606060088054610cb890612134565b80601f0160208091040260200160405190810160405280929190818152602001828054610ce490612134565b8015610d2f5780601f10610d0657610100808354040283529160200191610d2f565b820191905f5260205f20905b815481529060010190602001808311610d1257829003601f168201915b5050505050905090565b5f546001600160a01b03163314610d625760405162461bcd60e51b815260040161075490612086565b80612710610d726009600a612061565b610d8090633b9aca0061206f565b610d8a919061226c565b610d94919061206f565b60185550565b6004546001600160a01b0316336001600160a01b031614610db9575f80fd5b6001811115610dc6575f80fd5b601255565b5f546001600160a01b03163314610df45760405162461bcd60e51b815260040161075490612086565b80612710610e046009600a612061565b610e1290633b9aca0061206f565b610e1c919061226c565b610e26919061206f565b60195550565b5f61069a3384846114db565b5f546001600160a01b03163314610e615760405162461bcd60e51b815260040161075490612086565b600b54600160a01b900460ff1615610ec75760405162461bcd60e51b815260206004820152602360248201527f6c702077617320616c72656164792063726561746564207375636365737366756044820152626c6c7960e81b6064820152608401610754565b5f836001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610f04573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610f2891906120bb565b9050806001600160a01b031663d0e30db0346040518263ffffffff1660e01b81526004015f604051808303818588803b158015610f63575f80fd5b505af1158015610f75573d5f803e3d5ffd5b50505050505f846001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610fb7573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610fdb91906120bb565b60405163e6a4390560e01b81526001600160a01b0386811660048301528481166024830152919091169063e6a4390590604401602060405180830381865afa158015611029573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061104d91906120bb565b60405163a9059cbb60e01b81526001600160a01b038083166004830152602482018690529192509085169063a9059cbb906044016020604051808303815f875af115801561109d573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906110c19190612101565b5060405163a9059cbb60e01b81526001600160a01b03828116600483015234602483015283169063a9059cbb906044016020604051808303815f875af115801561110d573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906111319190612101565b506040516335313c2160e11b81523360048201526001600160a01b03821690636a627842906024016020604051808303815f875af1158015611175573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611199919061228b565b505050505050565b6004546001600160a01b0316336001600160a01b0316146111c0575f80fd5b6001600160a01b0382166112165760405162461bcd60e51b815260206004820152601a60248201527f5f746f6b656e20616464726573732063616e6e6f7420626520300000000000006044820152606401610754565b6040516370a0823160e01b81523060048201525f906001600160a01b038416906370a0823190602401602060405180830381865afa15801561125a573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061127e919061228b565b60405163a9059cbb60e01b81526001600160a01b038481166004830152602482018390529192509084169063a9059cbb906044016020604051808303815f875af11580156112ce573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906112f29190612101565b50505050565b606060098054610cb890612134565b60078054610b8890612134565b60088054610b8890612134565b606060078054610cb890612134565b6004546001600160a01b0316336001600160a01b03161461134f575f80fd5b305f90815260016020526040902054801561136d5761136d81611a15565b47801561137d5761137d81611381565b5050565b6004546040516001600160a01b039091169082156108fc029083905f818181858888f1935050505015801561137d573d5f803e3d5ffd5b6001600160a01b03831661141a5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610754565b6001600160a01b03821661147b5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610754565b6001600160a01b038381165f8181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b03831661153f5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610754565b6001600160a01b0382166115a15760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610754565b5f81116116025760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b6064820152608401610754565b5f80546001600160a01b0385811691161480159061162d57505f546001600160a01b03848116911614155b156118a05761165e6064611658600d54600c541161164d57601054611651565b6012545b8590611b85565b90611c0a565b600b549091506001600160a01b03858116911614801561168c5750600a546001600160a01b03848116911614155b80156116b057506001600160a01b0383165f9081526003602052604090205460ff16155b15611796576016548211156117075760405162461bcd60e51b815260206004820152601960248201527f4578636565647320746865205f6d61785478416d6f756e742e000000000000006044820152606401610754565b60175482611729856001600160a01b03165f9081526001602052604090205490565b61173391906122a2565b11156117815760405162461bcd60e51b815260206004820152601a60248201527f4578636565647320746865206d617857616c6c657453697a652e0000000000006044820152606401610754565b600c8054905f611790836122b5565b91905055505b600b546001600160a01b0384811691161480156117bc57506001600160a01b0384163014155b156117e9576117e66064611658600e54600c54116117dc57601154611651565b6013548590611b85565b90505b305f90815260016020526040902054600b54600160a81b900460ff1615801561181f5750600b546001600160a01b038581169116145b80156118345750600b54600160b01b900460ff165b8015611841575060185481115b80156118505750600f54600c54115b1561189e5761187261186d8461186884601954611c4b565b611c4b565b611a15565b47801561189c5761189361188e6105dc611658476103e8611b85565b611c5f565b61189c47611381565b505b505b801561191857305f908152600160205260409020546118bf9082611c96565b305f81815260016020526040908190209290925590516001600160a01b038616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9061190f9085815260200190565b60405180910390a35b6001600160a01b0384165f9081526001602052604090205461193a9083611cf4565b6001600160a01b0385165f9081526001602052604090205561197d61195f8383611cf4565b6001600160a01b0385165f9081526001602052604090205490611c96565b6001600160a01b038085165f8181526001602052604090209290925585167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6119c68585611cf4565b60405190815260200160405180910390a350505050565b5f8184841115611a005760405162461bcd60e51b81526004016107549190611d61565b505f611a0c84866122cd565b95945050505050565b600b805460ff60a81b1916600160a81b1790556040805160028082526060820183525f9260208301908036833701905050905030815f81518110611a5b57611a5b6122e0565b6001600160a01b03928316602091820292909201810191909152600a54604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015611ab2573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611ad691906120bb565b81600181518110611ae957611ae96122e0565b6001600160a01b039283166020918202929092010152600a54611b0f91309116846113b8565b600a5460405163791ac94760e01b81526001600160a01b039091169063791ac94790611b479085905f908690309042906004016122f4565b5f604051808303815f87803b158015611b5e575f80fd5b505af1158015611b70573d5f803e3d5ffd5b5050600b805460ff60a81b1916905550505050565b5f825f03611b9457505f61069e565b5f611b9f838561206f565b905082611bac858361226c565b14611c035760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b6064820152608401610754565b9392505050565b5f611c0383836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611d35565b5f818311611c595782611c03565b50919050565b6005546040516001600160a01b039091169082156108fc029083905f818181858888f1935050505015801561137d573d5f803e3d5ffd5b5f80611ca283856122a2565b905083811015611c035760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610754565b5f611c0383836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506119dd565b5f8183611d555760405162461bcd60e51b81526004016107549190611d61565b505f611a0c848661226c565b5f602080835283518060208501525f5b81811015611d8d57858101830151858201604001528201611d71565b505f604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b0381168114611dc1575f80fd5b50565b5f8060408385031215611dd5575f80fd5b8235611de081611dad565b946020939093013593505050565b5f805f60608486031215611e00575f80fd5b8335611e0b81611dad565b92506020840135611e1b81611dad565b929592945050506040919091013590565b5f8083601f840112611e3c575f80fd5b50813567ffffffffffffffff811115611e53575f80fd5b602083019150836020828501011115611e6a575f80fd5b9250929050565b5f805f805f8060608789031215611e86575f80fd5b863567ffffffffffffffff80821115611e9d575f80fd5b611ea98a838b01611e2c565b90985096506020890135915080821115611ec1575f80fd5b611ecd8a838b01611e2c565b90965094506040890135915080821115611ee5575f80fd5b50611ef289828a01611e2c565b979a9699509497509295939492505050565b5f60208284031215611f14575f80fd5b5035919050565b5f60208284031215611f2b575f80fd5b8135611c0381611dad565b5f8060408385031215611f47575f80fd5b8235611f5281611dad565b91506020830135611f6281611dad565b809150509250929050565b634e487b7160e01b5f52601160045260245ffd5b600181815b80851115611fbb57815f1904821115611fa157611fa1611f6d565b80851615611fae57918102915b93841c9390800290611f86565b509250929050565b5f82611fd15750600161069e565b81611fdd57505f61069e565b8160018114611ff35760028114611ffd57612019565b600191505061069e565b60ff84111561200e5761200e611f6d565b50506001821b61069e565b5060208310610133831016604e8410600b841016171561203c575081810a61069e565b6120468383611f81565b805f190482111561205957612059611f6d565b029392505050565b5f611c0360ff841683611fc3565b808202811582820484141761069e5761069e611f6d565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b5f602082840312156120cb575f80fd5b8151611c0381611dad565b5f805f606084860312156120e8575f80fd5b8351925060208401519150604084015190509250925092565b5f60208284031215612111575f80fd5b81518015158114611c03575f80fd5b634e487b7160e01b5f52604160045260245ffd5b600181811c9082168061214857607f821691505b602082108103611c5957634e487b7160e01b5f52602260045260245ffd5b601f8211156121ad57805f5260205f20601f840160051c8101602085101561218b5750805b601f840160051c820191505b818110156121aa575f8155600101612197565b50505b505050565b67ffffffffffffffff8311156121ca576121ca612120565b6121de836121d88354612134565b83612166565b5f601f84116001811461220f575f85156121f85750838201355b5f19600387901b1c1916600186901b1783556121aa565b5f83815260208120601f198716915b8281101561223e578685013582556020948501946001909201910161221e565b508682101561225a575f1960f88860031b161c19848701351681555b505060018560011b0183555050505050565b5f8261228657634e487b7160e01b5f52601260045260245ffd5b500490565b5f6020828403121561229b575f80fd5b5051919050565b8082018082111561069e5761069e611f6d565b5f600182016122c6576122c6611f6d565b5060010190565b8181038181111561069e5761069e611f6d565b634e487b7160e01b5f52603260045260245ffd5b5f60a08201878352602087602085015260a0604085015281875180845260c0860191506020890193505f5b818110156123445784516001600160a01b03168352938301939183019160010161231f565b50506001600160a01b0396909616606085015250505060800152939250505056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a26469706673582212205b9e17e63b9d041769cc4a68927675342628408ed72cca777ce2f70e68d5950564736f6c63430008160033
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
000000000000000000000000fc6b989a6978d60a94e9f5302de04e685aeb202f
-----Decoded View---------------
Arg [0] : devWallet (address): 0xFC6B989a6978D60A94E9f5302de04e685AeB202F
-----Encoded View---------------
1 Constructor Arguments found :
Arg [0] : 000000000000000000000000fc6b989a6978d60a94e9f5302de04e685aeb202f
Deployed Bytecode Sourcemap
4159:11027:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7248:191;;;;;;;;;;;;;:::i;:::-;;9240:122;;;;;;;;;;;;;:::i;9645:83::-;;;;;;;;;;-1:-1:-1;9715:5:0;;;;;;;;;;;;-1:-1:-1;;;9715:5:0;;;;9645:83;;;;;;;:::i;:::-;;;;;;;;10484:161;;;;;;;;;;-1:-1:-1;10484:161:0;;;;;:::i;:::-;;:::i;:::-;;;1188:14:1;;1181:22;1163:41;;1151:2;1136:18;10484:161:0;1023:187:1;6026:49:0;;;;;;;;;;;;;;;;;;;1361:25:1;;;1349:2;1334:18;6026:49:0;1215:177:1;9924:95:0;;;;;;;;;;;;;:::i;10654:313::-;;;;;;;;;;-1:-1:-1;10654:313:0;;;;;:::i;:::-;;:::i;6568:672::-;;;;;;;;;;;;;:::i;14341:83::-;;;;;;;;;;;;;:::i;9833:::-;;;;;;;;;;-1:-1:-1;9833:83:0;;5658:1;2000:36:1;;1988:2;1973:18;9833:83:0;1858:184:1;7767:390:0;;;;;;;;;;-1:-1:-1;7767:390:0;;;;;:::i;:::-;;:::i;4777:33::-;;;;;;;;;;;;;:::i;7606:153::-;;;;;;;;;;-1:-1:-1;7606:153:0;;;;;:::i;:::-;;:::i;10028:119::-;;;;;;;;;;-1:-1:-1;10028:119:0;;;;;:::i;:::-;-1:-1:-1;;;;;10121:18:0;10094:7;10121:18;;;:9;:18;;;;;;;10028:119;1697:148;;;;;;;;;;;;;:::i;8289:116::-;;;;;;;;;;;;;:::i;5845:52::-;;;;;;;;;;;;;;;;9504:133;;;;;;;;;;-1:-1:-1;9504:133:0;;;;;:::i;:::-;;:::i;1483:79::-;;;;;;;;;;-1:-1:-1;1521:7:0;1548:6;1483:79;;-1:-1:-1;;;;;1548:6:0;;;3998:51:1;;3986:2;3971:18;1483:79:0;3852:203:1;5905:52:0;;;;;;;;;;;;;;;;9737:87;;;;;;;;;;-1:-1:-1;9809:7:0;;;;;;;;;;;;-1:-1:-1;;;9809:7:0;;;;9737:87;;7447:151;;;;;;;;;;-1:-1:-1;7447:151:0;;;;;:::i;:::-;;:::i;9370:126::-;;;;;;;;;;-1:-1:-1;9370:126:0;;;;;:::i;:::-;;:::i;10156:167::-;;;;;;;;;;-1:-1:-1;10156:167:0;;;;;:::i;:::-;;:::i;14428:753::-;;;;;;:::i;:::-;;:::i;8535:323::-;;;;;;;;;;-1:-1:-1;8535:323:0;;;;;:::i;:::-;;:::i;5965:54::-;;;;;;;;;;;;;;;;8413:114;;;;;;;;;;;;;:::i;4696:33::-;;;;;;;;;;;;;:::i;10332:143::-;;;;;;;;;;-1:-1:-1;10332:143:0;;;;;:::i;:::-;-1:-1:-1;;;;;10440:18:0;;;10413:7;10440:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;10332:143;4736:34;;;;;;;;;;;;;:::i;8167:114::-;;;;;;;;;;;;;:::i;8866:369::-;;;;;;;;;;;;;:::i;7248:191::-;7310:11;;-1:-1:-1;;;;;7310:11:0;352:10;-1:-1:-1;;;;;7296:25:0;;7288:34;;;;;;5714:14;5658:1;5714:2;:14;:::i;:::-;5701:27;;:10;:27;:::i;:::-;7333:12;:22;5714:14;5658:1;5714:2;:14;:::i;:::-;5701:27;;:10;:27;:::i;:::-;7366:14;:22;7404:27;5714:14;5658:1;5714:2;:14;:::i;:::-;5701:27;;:10;:27;:::i;:::-;7404;;1361:25:1;;;1349:2;1334:18;7404:27:0;;;;;;;7248:191::o;9240:122::-;9304:11;;-1:-1:-1;;;;;9304:11:0;352:10;-1:-1:-1;;;;;9290:25:0;;9282:34;;;;;;9321:36;9335:21;9321:13;:36::i;:::-;9240:122::o;10484:161::-;10559:4;10576:39;352:10;10599:7;10608:6;10576:8;:39::i;:::-;-1:-1:-1;10633:4:0;10484:161;;;;;:::o;9924:95::-;9977:7;5714:14;5658:1;5714:2;:14;:::i;:::-;5701:27;;:10;:27;:::i;:::-;9997:14;;9924:95;:::o;10654:313::-;10752:4;10769:36;10779:6;10787:9;10798:6;10769:9;:36::i;:::-;10816:121;10825:6;352:10;10847:89;10885:6;10847:89;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;10847:19:0;;;;;;:11;:19;;;;;;;;352:10;10847:33;;;;;;;;;;:37;:89::i;:::-;10816:8;:121::i;:::-;-1:-1:-1;10955:4:0;10654:313;;;;;:::o;6568:672::-;1610:6;;-1:-1:-1;;;;;1610:6:0;352:10;1610:22;1602:67;;;;-1:-1:-1;;;1602:67:0;;;;;;;:::i;:::-;;;;;;;;;6633:11:::1;::::0;-1:-1:-1;;;6633:11:0;::::1;;;6632:12;6624:47;;;::::0;-1:-1:-1;;;6624:47:0;;6698:2:1;6624:47:0::1;::::0;::::1;6680:21:1::0;6737:2;6717:18;;;6710:30;6776:25;6756:18;;;6749:53;6819:18;;6624:47:0::1;6496:347:1::0;6624:47:0::1;6682:11;:18:::0;;-1:-1:-1;;;;6682:18:0::1;-1:-1:-1::0;;;6682:18:0::1;::::0;;6711:15:::1;:80:::0;;-1:-1:-1;;;;;;6711:80:0::1;6748:42;6711:80:::0;;::::1;::::0;;6802:58:::1;::::0;6819:4:::1;::::0;6748:42;5714:14:::1;::::0;5658:1:::1;::::0;5714:14:::1;:::i;:::-;5701:27;::::0;:10:::1;:27;:::i;6802:58::-;6905:15;;;;;;;;;-1:-1:-1::0;;;;;6905:15:0::1;-1:-1:-1::0;;;;;6905:23:0::1;;:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;6887:55:0::1;;6951:4;6958:15;;;;;;;;;-1:-1:-1::0;;;;;6958:15:0::1;-1:-1:-1::0;;;;;6958:20:0::1;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;6887:94;::::0;-1:-1:-1;;;;;;6887:94:0::1;::::0;;;;;;-1:-1:-1;;;;;7334:15:1;;;6887:94:0::1;::::0;::::1;7316:34:1::0;7386:15;;7366:18;;;7359:43;7251:18;;6887:94:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;6871:13;:110:::0;;-1:-1:-1;;;;;6871:110:0;;::::1;-1:-1:-1::0;;;;;;6871:110:0;;::::1;;::::0;;6992:15:::1;::::0;::::1;:31;7031:21;7062:4;7068:24;7062:4:::0;-1:-1:-1;;;;;10121:18:0;10094:7;10121:18;;;:9;:18;;;;;;;10028:119;7068:24:::1;7093:1;7095::::0;7097:7:::1;1521::::0;1548:6;-1:-1:-1;;;;;1548:6:0;;1483:79;7097:7:::1;6992:129;::::0;::::1;::::0;;;-1:-1:-1;;;;;;6992:129:0;;;-1:-1:-1;;;;;7772:15:1;;;6992:129:0::1;::::0;::::1;7754:34:1::0;7804:18;;;7797:34;;;;7847:18;;;7840:34;;;;7890:18;;;7883:34;7954:15;;;7933:19;;;7926:44;7105:15:0::1;7986:19:1::0;;;7979:35;7688:19;;6992:129:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;7139:13:0::1;::::0;7170:15:::1;::::0;7132:71:::1;::::0;-1:-1:-1;;;7132:71:0;;-1:-1:-1;;;;;7170:15:0;;::::1;7132:71;::::0;::::1;8510:51:1::0;-1:-1:-1;;8577:18:1;;;8570:34;7139:13:0;::::1;::::0;-1:-1:-1;7132:29:0::1;::::0;8483:18:1;;7132:71:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;7214:11:0::1;:18:::0;;-1:-1:-1;;;;7214:18:0::1;-1:-1:-1::0;;;7214:18:0::1;::::0;;6568:672::o;14341:83::-;1610:6;;-1:-1:-1;;;;;1610:6:0;352:10;1610:22;1602:67;;;;-1:-1:-1;;;1602:67:0;;;;;;;:::i;:::-;14401:11:::1;:18:::0;;-1:-1:-1;;;;14401:18:0::1;-1:-1:-1::0;;;14401:18:0::1;::::0;;14341:83::o;7767:390::-;7980:11;;-1:-1:-1;;;;;7980:11:0;352:10;-1:-1:-1;;;;;7966:25:0;;7958:34;;;;;;8003:19;:42;8025:20;;8003:19;:42;:::i;:::-;-1:-1:-1;8056:20:0;:44;8079:21;;8056:20;:44;:::i;:::-;-1:-1:-1;8111:19:0;:42;8133:20;;8111:19;:42;:::i;:::-;;7767:390;;;;;;:::o;4777:33::-;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;7606:153::-;7686:11;;-1:-1:-1;;;;;7686:11:0;352:10;-1:-1:-1;;;;;7672:25:0;;7664:34;;;;;;7724:1;7715:7;:10;;7707:19;;;;;;7735:8;:16;7606:153::o;1697:148::-;1610:6;;-1:-1:-1;;;;;1610:6:0;352:10;1610:22;1602:67;;;;-1:-1:-1;;;1602:67:0;;;;;;;:::i;:::-;1804:1:::1;1788:6:::0;;1767:40:::1;::::0;-1:-1:-1;;;;;1788:6:0;;::::1;::::0;1767:40:::1;::::0;1804:1;;1767:40:::1;1835:1;1818:19:::0;;-1:-1:-1;;;;;;1818:19:0::1;::::0;;1697:148::o;8289:116::-;8344:13;8377:20;8370:27;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8289:116;:::o;9504:133::-;1610:6;;-1:-1:-1;;;;;1610:6:0;352:10;1610:22;1602:67;;;;-1:-1:-1;;;1602:67:0;;;;;;;:::i;:::-;9623:6;9615:5:::1;5714:14;5658:1;5714:2;:14;:::i;:::-;5701:27;::::0;:10:::1;:27;:::i;:::-;9605:15;;;;:::i;:::-;:24;;;;:::i;:::-;9585:17;:44:::0;-1:-1:-1;9504:133:0:o;7447:151::-;7526:11;;-1:-1:-1;;;;;7526:11:0;352:10;-1:-1:-1;;;;;7512:25:0;;7504:34;;;;;;7564:1;7555:7;:10;;7547:19;;;;;;7575:7;:15;7447:151::o;9370:126::-;1610:6;;-1:-1:-1;;;;;1610:6:0;352:10;1610:22;1602:67;;;;-1:-1:-1;;;1602:67:0;;;;;;;:::i;:::-;9482:6;9474:5:::1;5714:14;5658:1;5714:2;:14;:::i;:::-;5701:27;::::0;:10:::1;:27;:::i;:::-;9464:15;;;;:::i;:::-;:24;;;;:::i;:::-;9450:11;:38:::0;-1:-1:-1;9370:126:0:o;10156:167::-;10234:4;10251:42;352:10;10275:9;10286:6;10251:9;:42::i;14428:753::-;1610:6;;-1:-1:-1;;;;;1610:6:0;352:10;1610:22;1602:67;;;;-1:-1:-1;;;1602:67:0;;;;;;;:::i;:::-;14551:11:::1;::::0;-1:-1:-1;;;14551:11:0;::::1;;;14550:12;14542:59;;;::::0;-1:-1:-1;;;14542:59:0;;11861:2:1;14542:59:0::1;::::0;::::1;11843:21:1::0;11900:2;11880:18;;;11873:30;11939:34;11919:18;;;11912:62;-1:-1:-1;;;11990:18:1;;;11983:33;12033:19;;14542:59:0::1;11659:399:1::0;14542:59:0::1;14612:10;14650:7;-1:-1:-1::0;;;;;14631:32:0::1;;:34;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;14612:54;;14677:4;-1:-1:-1::0;;;;;14677:12:0::1;;14697:9;14677:32;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;14720:12;14780:7;-1:-1:-1::0;;;;;14761:35:0::1;;:37;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;14743:88;::::0;-1:-1:-1;;;14743:88:0;;-1:-1:-1;;;;;7334:15:1;;;14743:88:0::1;::::0;::::1;7316:34:1::0;7386:15;;;7366:18;;;7359:43;14743:64:0;;;::::1;::::0;::::1;::::0;7251:18:1;;14743:88:0::1;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;14843:54;::::0;-1:-1:-1;;;14843:54:0;;-1:-1:-1;;;;;8528:32:1;;;14843:54:0::1;::::0;::::1;8510:51:1::0;8577:18;;;8570:34;;;14720:112:0;;-1:-1:-1;14843:24:0;;::::1;::::0;::::1;::::0;8483:18:1;;14843:54:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;14908:56:0::1;::::0;-1:-1:-1;;;14908:56:0;;-1:-1:-1;;;;;8528:32:1;;;14908:56:0::1;::::0;::::1;8510:51:1::0;14954:9:0::1;8577:18:1::0;;;8570:34;14908:30:0;::::1;::::0;::::1;::::0;8483:18:1;;14908:56:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;14975:21:0::1;::::0;-1:-1:-1;;;14975:21:0;;14985:10:::1;14975:21;::::0;::::1;3998:51:1::0;-1:-1:-1;;;;;14975:9:0;::::1;::::0;::::1;::::0;3971:18:1;;14975:21:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;14531:650;;14428:753:::0;;;:::o;8535:323::-;8634:11;;-1:-1:-1;;;;;8634:11:0;352:10;-1:-1:-1;;;;;8620:25:0;;8612:34;;;;;;-1:-1:-1;;;;;8665:20:0;;8657:59;;;;-1:-1:-1;;;8657:59:0;;12454:2:1;8657:59:0;;;12436:21:1;12493:2;12473:18;;;12466:30;12532:28;12512:18;;;12505:56;12578:18;;8657:59:0;12252:350:1;8657:59:0;8754:39;;-1:-1:-1;;;8754:39:0;;8787:4;8754:39;;;3998:51:1;8727:24:0;;-1:-1:-1;;;;;8754:24:0;;;;;3971:18:1;;8754:39:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;8804:46;;-1:-1:-1;;;8804:46:0;;-1:-1:-1;;;;;8528:32:1;;;8804:46:0;;;8510:51:1;8577:18;;;8570:34;;;8727:66:0;;-1:-1:-1;8804:23:0;;;;;;8483:18:1;;8804:46:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;8601:257;8535:323;;:::o;8413:114::-;8467:13;8500:19;8493:26;;;;;:::i;4696:33::-;;;;;;;:::i;4736:34::-;;;;;;;:::i;8167:114::-;8221:13;8254:19;8247:26;;;;;:::i;8866:369::-;8949:11;;-1:-1:-1;;;;;8949:11:0;352:10;-1:-1:-1;;;;;8935:25:0;;8927:34;;;;;;9011:4;8972:20;10121:18;;;:9;:18;;;;;;9031:14;;9028:73;;9059:30;9076:12;9059:16;:30::i;:::-;9130:21;9165:12;;9162:66;;9191:25;9205:10;9191:13;:25::i;:::-;8916:319;;8866:369::o;11915:94::-;11973:11;;:28;;-1:-1:-1;;;;;11973:11:0;;;;:28;;;;;11994:6;;11973:11;:28;:11;:28;11994:6;11973:11;:28;;;;;;;;;;;;;;;;;;;10976:335;-1:-1:-1;;;;;11069:19:0;;11061:68;;;;-1:-1:-1;;;11061:68:0;;12809:2:1;11061:68:0;;;12791:21:1;12848:2;12828:18;;;12821:30;12887:34;12867:18;;;12860:62;-1:-1:-1;;;12938:18:1;;;12931:34;12982:19;;11061:68:0;12607:400:1;11061:68:0;-1:-1:-1;;;;;11148:21:0;;11140:68;;;;-1:-1:-1;;;11140:68:0;;13214:2:1;11140:68:0;;;13196:21:1;13253:2;13233:18;;;13226:30;13292:34;13272:18;;;13265:62;-1:-1:-1;;;13343:18:1;;;13336:32;13385:19;;11140:68:0;13012:398:1;11140:68:0;-1:-1:-1;;;;;11219:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;11271:32;;1361:25:1;;;11271:32:0;;1334:18:1;11271:32:0;;;;;;;10976:335;;;:::o;12054:1973::-;-1:-1:-1;;;;;12142:18:0;;12134:68;;;;-1:-1:-1;;;12134:68:0;;13617:2:1;12134:68:0;;;13599:21:1;13656:2;13636:18;;;13629:30;13695:34;13675:18;;;13668:62;-1:-1:-1;;;13746:18:1;;;13739:35;13791:19;;12134:68:0;13415:401:1;12134:68:0;-1:-1:-1;;;;;12221:16:0;;12213:64;;;;-1:-1:-1;;;12213:64:0;;14023:2:1;12213:64:0;;;14005:21:1;14062:2;14042:18;;;14035:30;14101:34;14081:18;;;14074:62;-1:-1:-1;;;14152:18:1;;;14145:33;14195:19;;12213:64:0;13821:399:1;12213:64:0;12305:1;12296:6;:10;12288:64;;;;-1:-1:-1;;;12288:64:0;;14427:2:1;12288:64:0;;;14409:21:1;14466:2;14446:18;;;14439:30;14505:34;14485:18;;;14478:62;-1:-1:-1;;;14556:18:1;;;14549:39;14605:19;;12288:64:0;14225:405:1;12288:64:0;12363:17;1548:6;;-1:-1:-1;;;;;12397:15:0;;;1548:6;;12397:15;;;;:32;;-1:-1:-1;1521:7:0;1548:6;-1:-1:-1;;;;;12416:13:0;;;1548:6;;12416:13;;12397:32;12393:1278;;;12458:79;12533:3;12458:70;12488:16;;12470:17;;:34;12469:58;;12514:13;;12469:58;;;12506:7;;12469:58;12458:6;;:10;:70::i;:::-;:74;;:79::i;:::-;12566:13;;12446:91;;-1:-1:-1;;;;;;12558:21:0;;;12566:13;;12558:21;:55;;;;-1:-1:-1;12597:15:0;;-1:-1:-1;;;;;12583:30:0;;;12597:15;;12583:30;;12558:55;:83;;;;-1:-1:-1;;;;;;12619:22:0;;;;;;:18;:22;;;;;;;;12617:24;12558:83;12554:321;;;12681:12;;12671:6;:22;;12663:60;;;;-1:-1:-1;;;12663:60:0;;14837:2:1;12663:60:0;;;14819:21:1;14876:2;14856:18;;;14849:30;14915:27;14895:18;;;14888:55;14960:18;;12663:60:0;14635:349:1;12663:60:0;12776:14;;12766:6;12750:13;12760:2;-1:-1:-1;;;;;10121:18:0;10094:7;10121:18;;;:9;:18;;;;;;;10028:119;12750:13;:22;;;;:::i;:::-;:40;;12742:79;;;;-1:-1:-1;;;12742:79:0;;15321:2:1;12742:79:0;;;15303:21:1;15360:2;15340:18;;;15333:30;15399:28;15379:18;;;15372:56;15445:18;;12742:79:0;15119:350:1;12742:79:0;12840:17;:19;;;:17;:19;;;:::i;:::-;;;;;;12554:321;12900:13;;-1:-1:-1;;;;;12894:19:0;;;12900:13;;12894:19;:43;;;;-1:-1:-1;;;;;;12917:20:0;;12932:4;12917:20;;12894:43;12891:177;;;12970:82;13048:3;12970:73;13000:17;;12982;;:35;12981:61;;13028:14;;12981:61;;;13019:8;;12970:6;;:10;:73::i;:82::-;12958:94;;12891:177;13133:4;13084:28;10121:18;;;:9;:18;;;;;;13159:6;;-1:-1:-1;;;13159:6:0;;;;13158:7;:32;;;;-1:-1:-1;13177:13:0;;-1:-1:-1;;;;;13169:21:0;;;13177:13;;13169:21;13158:32;:47;;;;-1:-1:-1;13194:11:0;;-1:-1:-1;;;13194:11:0;;;;13158:47;:89;;;;;13230:17;;13209:20;:38;13158:89;:132;;;;;13269:21;;13251:17;;:39;13158:132;13154:506;;;13311:67;13328:49;13332:6;13339:37;13343:20;13364:11;;13339:3;:37::i;:::-;13328:3;:49::i;:::-;13311:16;:67::i;:::-;13426:21;13469:22;;13466:179;;13501:63;13522:41;13558:4;13522:31;:21;13548:4;13522:25;:31::i;:41::-;13501:20;:63::i;:::-;13587:36;13601:21;13587:13;:36::i;:::-;13292:368;13154:506;12431:1240;12393:1278;13686:11;;13683:161;;13754:4;13736:24;;;;:9;:24;;;;;;:39;;13765:9;13736:28;:39::i;:::-;13729:4;13711:24;;;;:9;:24;;;;;;;:64;;;;13793:39;;-1:-1:-1;;;;;13793:39:0;;;;;;;13822:9;1361:25:1;;1349:2;1334:18;;1215:177;13793:39:0;;;;;;;;13683:161;-1:-1:-1;;;;;13870:15:0;;;;;;:9;:15;;;;;;:27;;13890:6;13870:19;:27::i;:::-;-1:-1:-1;;;;;13854:15:0;;;;;;:9;:15;;;;;:43;13922:40;13940:21;:6;13951:9;13940:10;:21::i;:::-;-1:-1:-1;;;;;13922:13:0;;;;;;:9;:13;;;;;;;:17;:40::i;:::-;-1:-1:-1;;;;;13908:13:0;;;;;;;:9;:13;;;;;:54;;;;13978:41;;;13997:21;:6;14008:9;13997:10;:21::i;:::-;13978:41;;1361:25:1;;;1349:2;1334:18;13978:41:0;;;;;;;12123:1904;12054:1973;;;:::o;3369:190::-;3455:7;3491:12;3483:6;;;;3475:29;;;;-1:-1:-1;;;3475:29:0;;;;;;;;:::i;:::-;-1:-1:-1;3515:9:0;3527:5;3531:1;3527;:5;:::i;:::-;3515:17;3369:190;-1:-1:-1;;;;;3369:190:0:o;11319:483::-;5158:6;:13;;-1:-1:-1;;;;5158:13:0;-1:-1:-1;;;5158:13:0;;;11421:16:::1;::::0;;11435:1:::1;11421:16:::0;;;;;::::1;::::0;;-1:-1:-1;;11421:16:0::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;11421:16:0::1;11397:40;;11466:4;11448;11453:1;11448:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;11448:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;;:23;;;;11492:15:::1;::::0;:22:::1;::::0;;-1:-1:-1;;;11492:22:0;;;;:15;;;::::1;::::0;:20:::1;::::0;:22:::1;::::0;;::::1;::::0;11448:7;;11492:22;;;;;:15;:22:::1;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11482:4;11487:1;11482:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;11482:32:0;;::::1;:7;::::0;;::::1;::::0;;;;;:32;11557:15:::1;::::0;11525:62:::1;::::0;11542:4:::1;::::0;11557:15:::1;11575:11:::0;11525:8:::1;:62::i;:::-;11598:15;::::0;:196:::1;::::0;-1:-1:-1;;;11598:196:0;;-1:-1:-1;;;;;11598:15:0;;::::1;::::0;:66:::1;::::0;:196:::1;::::0;11679:11;;11598:15:::1;::::0;11721:4;;11748::::1;::::0;11768:15:::1;::::0;11598:196:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;;5194:6:0;:14;;-1:-1:-1;;;;5194:14:0;;;-1:-1:-1;;;;11319:483:0:o;3567:246::-;3625:7;3649:1;3654;3649:6;3645:47;;-1:-1:-1;3679:1:0;3672:8;;3645:47;3702:9;3714:5;3718:1;3714;:5;:::i;:::-;3702:17;-1:-1:-1;3747:1:0;3738:5;3742:1;3702:17;3738:5;:::i;:::-;:10;3730:56;;;;-1:-1:-1;;;3730:56:0;;17066:2:1;3730:56:0;;;17048:21:1;17105:2;17085:18;;;17078:30;17144:34;17124:18;;;17117:62;-1:-1:-1;;;17195:18:1;;;17188:31;17236:19;;3730:56:0;16864:397:1;3730:56:0;3804:1;3567:246;-1:-1:-1;;;3567:246:0:o;3821:132::-;3879:7;3906:39;3910:1;3913;3906:39;;;;;;;;;;;;;;;;;:3;:39::i;14035:98::-;14092:7;14119:1;14117;:3;14116:9;;14124:1;14116:9;;;-1:-1:-1;14122:1:0;14035:98;-1:-1:-1;14035:98:0:o;11807:100::-;11872:10;;:27;;-1:-1:-1;;;;;11872:10:0;;;;:27;;;;;11892:6;;11872:10;:27;:10;:27;11892:6;11872:10;:27;;;;;;;;;;;;;;;;;;;3038:179;3096:7;;3128:5;3132:1;3128;:5;:::i;:::-;3116:17;;3157:1;3152;:6;;3144:46;;;;-1:-1:-1;;;3144:46:0;;17468:2:1;3144:46:0;;;17450:21:1;17507:2;17487:18;;;17480:30;17546:29;17526:18;;;17519:57;17593:18;;3144:46:0;17266:351:1;3225:136:0;3283:7;3310:43;3314:1;3317;3310:43;;;;;;;;;;;;;;;;;:3;:43::i;3961:189::-;4047:7;4082:12;4075:5;4067:28;;;;-1:-1:-1;;;4067:28:0;;;;;;;;:::i;:::-;-1:-1:-1;4106:9:0;4118:5;4122:1;4118;:5;:::i;14:548:1:-;126:4;155:2;184;173:9;166:21;216:6;210:13;259:6;254:2;243:9;239:18;232:34;284:1;294:140;308:6;305:1;302:13;294:140;;;403:14;;;399:23;;393:30;369:17;;;388:2;365:26;358:66;323:10;;294:140;;;298:3;483:1;478:2;469:6;458:9;454:22;450:31;443:42;553:2;546;542:7;537:2;529:6;525:15;521:29;510:9;506:45;502:54;494:62;;;;14:548;;;;:::o;567:131::-;-1:-1:-1;;;;;642:31:1;;632:42;;622:70;;688:1;685;678:12;622:70;567:131;:::o;703:315::-;771:6;779;832:2;820:9;811:7;807:23;803:32;800:52;;;848:1;845;838:12;800:52;887:9;874:23;906:31;931:5;906:31;:::i;:::-;956:5;1008:2;993:18;;;;980:32;;-1:-1:-1;;;703:315:1:o;1397:456::-;1474:6;1482;1490;1543:2;1531:9;1522:7;1518:23;1514:32;1511:52;;;1559:1;1556;1549:12;1511:52;1598:9;1585:23;1617:31;1642:5;1617:31;:::i;:::-;1667:5;-1:-1:-1;1724:2:1;1709:18;;1696:32;1737:33;1696:32;1737:33;:::i;:::-;1397:456;;1789:7;;-1:-1:-1;;;1843:2:1;1828:18;;;;1815:32;;1397:456::o;2047:348::-;2099:8;2109:6;2163:3;2156:4;2148:6;2144:17;2140:27;2130:55;;2181:1;2178;2171:12;2130:55;-1:-1:-1;2204:20:1;;2247:18;2236:30;;2233:50;;;2279:1;2276;2269:12;2233:50;2316:4;2308:6;2304:17;2292:29;;2368:3;2361:4;2352:6;2344;2340:19;2336:30;2333:39;2330:59;;;2385:1;2382;2375:12;2330:59;2047:348;;;;;:::o;2400:1010::-;2513:6;2521;2529;2537;2545;2553;2606:2;2594:9;2585:7;2581:23;2577:32;2574:52;;;2622:1;2619;2612:12;2574:52;2662:9;2649:23;2691:18;2732:2;2724:6;2721:14;2718:34;;;2748:1;2745;2738:12;2718:34;2787:59;2838:7;2829:6;2818:9;2814:22;2787:59;:::i;:::-;2865:8;;-1:-1:-1;2761:85:1;-1:-1:-1;2953:2:1;2938:18;;2925:32;;-1:-1:-1;2969:16:1;;;2966:36;;;2998:1;2995;2988:12;2966:36;3037:61;3090:7;3079:8;3068:9;3064:24;3037:61;:::i;:::-;3117:8;;-1:-1:-1;3011:87:1;-1:-1:-1;3205:2:1;3190:18;;3177:32;;-1:-1:-1;3221:16:1;;;3218:36;;;3250:1;3247;3240:12;3218:36;;3289:61;3342:7;3331:8;3320:9;3316:24;3289:61;:::i;:::-;2400:1010;;;;-1:-1:-1;2400:1010:1;;-1:-1:-1;2400:1010:1;;3369:8;;2400:1010;-1:-1:-1;;;2400:1010:1:o;3415:180::-;3474:6;3527:2;3515:9;3506:7;3502:23;3498:32;3495:52;;;3543:1;3540;3533:12;3495:52;-1:-1:-1;3566:23:1;;3415:180;-1:-1:-1;3415:180:1:o;3600:247::-;3659:6;3712:2;3700:9;3691:7;3687:23;3683:32;3680:52;;;3728:1;3725;3718:12;3680:52;3767:9;3754:23;3786:31;3811:5;3786:31;:::i;4060:388::-;4128:6;4136;4189:2;4177:9;4168:7;4164:23;4160:32;4157:52;;;4205:1;4202;4195:12;4157:52;4244:9;4231:23;4263:31;4288:5;4263:31;:::i;:::-;4313:5;-1:-1:-1;4370:2:1;4355:18;;4342:32;4383:33;4342:32;4383:33;:::i;:::-;4435:7;4425:17;;;4060:388;;;;;:::o;4453:127::-;4514:10;4509:3;4505:20;4502:1;4495:31;4545:4;4542:1;4535:15;4569:4;4566:1;4559:15;4585:416;4674:1;4711:5;4674:1;4725:270;4746:7;4736:8;4733:21;4725:270;;;4805:4;4801:1;4797:6;4793:17;4787:4;4784:27;4781:53;;;4814:18;;:::i;:::-;4864:7;4854:8;4850:22;4847:55;;;4884:16;;;;4847:55;4963:22;;;;4923:15;;;;4725:270;;;4729:3;4585:416;;;;;:::o;5006:806::-;5055:5;5085:8;5075:80;;-1:-1:-1;5126:1:1;5140:5;;5075:80;5174:4;5164:76;;-1:-1:-1;5211:1:1;5225:5;;5164:76;5256:4;5274:1;5269:59;;;;5342:1;5337:130;;;;5249:218;;5269:59;5299:1;5290:10;;5313:5;;;5337:130;5374:3;5364:8;5361:17;5358:43;;;5381:18;;:::i;:::-;-1:-1:-1;;5437:1:1;5423:16;;5452:5;;5249:218;;5551:2;5541:8;5538:16;5532:3;5526:4;5523:13;5519:36;5513:2;5503:8;5500:16;5495:2;5489:4;5486:12;5482:35;5479:77;5476:159;;;-1:-1:-1;5588:19:1;;;5620:5;;5476:159;5667:34;5692:8;5686:4;5667:34;:::i;:::-;5737:6;5733:1;5729:6;5725:19;5716:7;5713:32;5710:58;;;5748:18;;:::i;:::-;5786:20;;5006:806;-1:-1:-1;;;5006:806:1:o;5817:140::-;5875:5;5904:47;5945:4;5935:8;5931:19;5925:4;5904:47;:::i;5962:168::-;6035:9;;;6066;;6083:15;;;6077:22;;6063:37;6053:71;;6104:18;;:::i;6135:356::-;6337:2;6319:21;;;6356:18;;;6349:30;6415:34;6410:2;6395:18;;6388:62;6482:2;6467:18;;6135:356::o;6848:251::-;6918:6;6971:2;6959:9;6950:7;6946:23;6942:32;6939:52;;;6987:1;6984;6977:12;6939:52;7019:9;7013:16;7038:31;7063:5;7038:31;:::i;8025:306::-;8113:6;8121;8129;8182:2;8170:9;8161:7;8157:23;8153:32;8150:52;;;8198:1;8195;8188:12;8150:52;8227:9;8221:16;8211:26;;8277:2;8266:9;8262:18;8256:25;8246:35;;8321:2;8310:9;8306:18;8300:25;8290:35;;8025:306;;;;;:::o;8615:277::-;8682:6;8735:2;8723:9;8714:7;8710:23;8706:32;8703:52;;;8751:1;8748;8741:12;8703:52;8783:9;8777:16;8836:5;8829:13;8822:21;8815:5;8812:32;8802:60;;8858:1;8855;8848:12;8897:127;8958:10;8953:3;8949:20;8946:1;8939:31;8989:4;8986:1;8979:15;9013:4;9010:1;9003:15;9029:380;9108:1;9104:12;;;;9151;;;9172:61;;9226:4;9218:6;9214:17;9204:27;;9172:61;9279:2;9271:6;9268:14;9248:18;9245:38;9242:161;;9325:10;9320:3;9316:20;9313:1;9306:31;9360:4;9357:1;9350:15;9388:4;9385:1;9378:15;9540:518;9642:2;9637:3;9634:11;9631:421;;;9678:5;9675:1;9668:16;9722:4;9719:1;9709:18;9792:2;9780:10;9776:19;9773:1;9769:27;9763:4;9759:38;9828:4;9816:10;9813:20;9810:47;;;-1:-1:-1;9851:4:1;9810:47;9906:2;9901:3;9897:12;9894:1;9890:20;9884:4;9880:31;9870:41;;9961:81;9979:2;9972:5;9969:13;9961:81;;;10038:1;10024:16;;10005:1;9994:13;9961:81;;;9965:3;;9631:421;9540:518;;;:::o;10234:1198::-;10358:18;10353:3;10350:27;10347:53;;;10380:18;;:::i;:::-;10409:94;10499:3;10459:38;10491:4;10485:11;10459:38;:::i;:::-;10453:4;10409:94;:::i;:::-;10529:1;10554:2;10549:3;10546:11;10571:1;10566:608;;;;11218:1;11235:3;11232:93;;;-1:-1:-1;11291:19:1;;;11278:33;11232:93;-1:-1:-1;;10191:1:1;10187:11;;;10183:24;10179:29;10169:40;10215:1;10211:11;;;10166:57;11338:78;;10539:887;;10566:608;9487:1;9480:14;;;9524:4;9511:18;;-1:-1:-1;;10602:17:1;;;10717:229;10731:7;10728:1;10725:14;10717:229;;;10820:19;;;10807:33;10792:49;;10927:4;10912:20;;;;10880:1;10868:14;;;;10747:12;10717:229;;;10721:3;10974;10965:7;10962:16;10959:159;;;11098:1;11094:6;11088:3;11082;11079:1;11075:11;11071:21;11067:34;11063:39;11050:9;11045:3;11041:19;11028:33;11024:79;11016:6;11009:95;10959:159;;;11161:1;11155:3;11152:1;11148:11;11144:19;11138:4;11131:33;10539:887;;10234:1198;;;:::o;11437:217::-;11477:1;11503;11493:132;;11547:10;11542:3;11538:20;11535:1;11528:31;11582:4;11579:1;11572:15;11610:4;11607:1;11600:15;11493:132;-1:-1:-1;11639:9:1;;11437:217::o;12063:184::-;12133:6;12186:2;12174:9;12165:7;12161:23;12157:32;12154:52;;;12202:1;12199;12192:12;12154:52;-1:-1:-1;12225:16:1;;12063:184;-1:-1:-1;12063:184:1:o;14989:125::-;15054:9;;;15075:10;;;15072:36;;;15088:18;;:::i;15474:135::-;15513:3;15534:17;;;15531:43;;15554:18;;:::i;:::-;-1:-1:-1;15601:1:1;15590:13;;15474:135::o;15614:128::-;15681:9;;;15702:11;;;15699:37;;;15716:18;;:::i;15747:127::-;15808:10;15803:3;15799:20;15796:1;15789:31;15839:4;15836:1;15829:15;15863:4;15860:1;15853:15;15879:980;16141:4;16189:3;16178:9;16174:19;16220:6;16209:9;16202:25;16246:2;16284:6;16279:2;16268:9;16264:18;16257:34;16327:3;16322:2;16311:9;16307:18;16300:31;16351:6;16386;16380:13;16417:6;16409;16402:22;16455:3;16444:9;16440:19;16433:26;;16494:2;16486:6;16482:15;16468:29;;16515:1;16525:195;16539:6;16536:1;16533:13;16525:195;;;16604:13;;-1:-1:-1;;;;;16600:39:1;16588:52;;16695:15;;;;16660:12;;;;16636:1;16554:9;16525:195;;;-1:-1:-1;;;;;;;16776:32:1;;;;16771:2;16756:18;;16749:60;-1:-1:-1;;;16840:3:1;16825:19;16818:35;16737:3;15879:980;-1:-1:-1;;;15879:980:1:o
Swarm Source
ipfs://5b9e17e63b9d041769cc4a68927675342628408ed72cca777ce2f70e68d59505
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.