ERC-20
Overview
Max Total Supply
10,000,000 JOHNNY
Holders
59
Market
Onchain Market Cap
$0.00
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 9 Decimals)
Balance
35,063.221536889 JOHNNYValue
$0.00Loading...
Loading
Loading...
Loading
Loading...
Loading
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|
Contract Name:
johnnybravotoken
Compiler Version
v0.8.4+commit.c7e474f2
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2022-03-08 */ /* Website v1: www.johnnybravocoin.com Telegram: https://t.me/johnnybravogroup Twitter: https://twitter.com/Jonnybravotoken */ // SPDX-License-Identifier: UNLICENSED pragma solidity ^0.8.4; abstract contract Context { function _msgSender() internal view virtual returns (address) { return msg.sender; } } interface IERC20 { function totalSupply() external view returns (uint256); function balanceOf(address account) external view returns (uint256); function transfer(address recipient, uint256 amount) external returns (bool); function allowance(address owner, address spender) external view returns (uint256); function approve(address spender, uint256 amount) external returns (bool); function transferFrom(address sender, address recipient, uint256 amount) external returns (bool); event Transfer(address indexed from, address indexed to, uint256 value); event Approval(address indexed owner, address indexed spender, uint256 value); } library SafeMath { function add(uint256 a, uint256 b) internal pure returns (uint256) { uint256 c = a + b; require(c >= a, "SafeMath: addition overflow"); return c; } function sub(uint256 a, uint256 b) internal pure returns (uint256) { return sub(a, b, "SafeMath: subtraction overflow"); } function sub(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) { require(b <= a, errorMessage); uint256 c = a - b; return c; } function mul(uint256 a, uint256 b) internal pure returns (uint256) { if (a == 0) { return 0; } uint256 c = a * b; require(c / a == b, "SafeMath: multiplication overflow"); return c; } function div(uint256 a, uint256 b) internal pure returns (uint256) { return div(a, b, "SafeMath: division by zero"); } function div(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) { require(b > 0, errorMessage); uint256 c = a / b; return c; } } contract Ownable is Context { address private _owner; address private _previousOwner; event OwnershipTransferred(address indexed previousOwner, address indexed newOwner); constructor () { address msgSender = _msgSender(); _owner = msgSender; emit OwnershipTransferred(address(0), msgSender); } function owner() public view returns (address) { return _owner; } modifier onlyOwner() { require(_owner == _msgSender(), "Ownable: caller is not the owner"); _; } function renounceOwnership() public virtual onlyOwner { emit OwnershipTransferred(_owner, address(0)); _owner = address(0); } } interface IUniswapV2Factory { function createPair(address tokenA, address tokenB) external returns (address pair); } interface IUniswapV2Router02 { function swapExactTokensForETHSupportingFeeOnTransferTokens( uint amountIn, uint amountOutMin, address[] calldata path, address to, uint deadline ) external; function factory() external pure returns (address); function WETH() external pure returns (address); function addLiquidityETH( address token, uint amountTokenDesired, uint amountTokenMin, uint amountETHMin, address to, uint deadline ) external payable returns (uint amountToken, uint amountETH, uint liquidity); } contract johnnybravotoken is Context, IERC20, Ownable { using SafeMath for uint256; mapping (address => uint256) private _rOwned; mapping (address => uint256) private _tOwned; mapping (address => mapping (address => uint256)) private _allowances; mapping (address => bool) private _isExcludedFromFee; mapping (address => bool) private bots; uint256 private constant MAX = ~uint256(0); uint256 private constant _tTotal = 10_000_000 * 10**9; uint256 private _rTotal = (MAX - (MAX % _tTotal)); uint256 private _tFeeTotal; uint256 private _feeAddr1; uint256 private _feeAddr2; uint256 private _sellTax; uint256 private _buyTax; address payable private _feeAddress; string private constant _name = "Johnny Bravo"; string private constant _symbol = "JOHNNY"; uint8 private constant _decimals = 9; IUniswapV2Router02 private uniswapV2Router; address private uniswapV2Pair; bool private tradingOpen; bool private inSwap = false; bool private swapEnabled = false; bool private removeMaxTx = false; uint256 private _maxTxAmount = _tTotal; event MaxTxAmountUpdated(uint _maxTxAmount); modifier lockTheSwap { inSwap = true; _; inSwap = false; } constructor () { _feeAddress = payable(0x9762a8F2191865f7e66e181F4eE6cf3dcDD8F935); _buyTax = 12; _sellTax = 12; _rOwned[_msgSender()] = _rTotal; _isExcludedFromFee[owner()] = true; _isExcludedFromFee[address(this)] = true; _isExcludedFromFee[_feeAddress] = true; emit Transfer(address(0), _msgSender(), _tTotal); } function name() public pure returns (string memory) { return _name; } function symbol() public pure returns (string memory) { return _symbol; } function decimals() public pure returns (uint8) { return _decimals; } function totalSupply() public pure override returns (uint256) { return _tTotal; } function balanceOf(address account) public view override returns (uint256) { return tokenFromReflection(_rOwned[account]); } function transfer(address recipient, uint256 amount) public override returns (bool) { _transfer(_msgSender(), recipient, amount); return true; } function allowance(address owner, address spender) public view override returns (uint256) { return _allowances[owner][spender]; } function approve(address spender, uint256 amount) public override returns (bool) { _approve(_msgSender(), spender, amount); return true; } function transferFrom(address sender, address recipient, uint256 amount) public override returns (bool) { _transfer(sender, recipient, amount); _approve(sender, _msgSender(), _allowances[sender][_msgSender()].sub(amount, "ERC20: transfer amount exceeds allowance")); return true; } function setremoveMaxTx(bool onoff) external onlyOwner() { removeMaxTx = onoff; } function tokenFromReflection(uint256 rAmount) private view returns(uint256) { require(rAmount <= _rTotal, "Amount must be less than total reflections"); uint256 currentRate = _getRate(); return rAmount.div(currentRate); } function _approve(address owner, address spender, uint256 amount) private { require(owner != address(0), "ERC20: approve from the zero address"); require(spender != address(0), "ERC20: approve to the zero address"); _allowances[owner][spender] = amount; emit Approval(owner, spender, amount); } function _transfer(address from, address to, uint256 amount) private { require(from != address(0), "ERC20: transfer from the zero address"); require(to != address(0), "ERC20: transfer to the zero address"); require(amount > 0, "Transfer amount must be greater than zero"); require(!bots[from]); if (!_isExcludedFromFee[from] && !_isExcludedFromFee[to] ) { _feeAddr1 = 0; _feeAddr2 = _buyTax; if (from == uniswapV2Pair && to != address(uniswapV2Router) && ! _isExcludedFromFee[to] && removeMaxTx) { require(amount <= _maxTxAmount); } if (to == uniswapV2Pair && from != address(uniswapV2Router) && ! _isExcludedFromFee[from]) { _feeAddr1 = 0; _feeAddr2 = _sellTax; } uint256 contractTokenBalance = balanceOf(address(this)); if (!inSwap && from != uniswapV2Pair && swapEnabled) { swapTokensForEth(contractTokenBalance); uint256 contractETHBalance = address(this).balance; if(contractETHBalance > 0) { sendETHToFee(address(this).balance); } } } _tokenTransfer(from,to,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 sendETHToFee(uint256 amount) private { _feeAddress.transfer(amount); } function createPair() external onlyOwner(){ require(!tradingOpen,"trading is already open"); IUniswapV2Router02 _uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D); uniswapV2Router = _uniswapV2Router; uniswapV2Pair = IUniswapV2Factory(_uniswapV2Router.factory()).createPair(address(this), _uniswapV2Router.WETH()); } function openTrading() external onlyOwner() { _approve(address(this), address(uniswapV2Router), _tTotal); uniswapV2Router.addLiquidityETH{value: address(this).balance}(address(this),balanceOf(address(this)),0,0,owner(),block.timestamp); swapEnabled = true; removeMaxTx = true; _maxTxAmount = 100_000 * 10**9; tradingOpen = true; IERC20(uniswapV2Pair).approve(address(uniswapV2Router), type(uint).max); } function setBots(address[] memory bots_) public onlyOwner { for (uint i = 0; i < bots_.length; i++) { bots[bots_[i]] = true; } } function delBot(address notbot) public onlyOwner { bots[notbot] = false; } function _tokenTransfer(address sender, address recipient, uint256 amount) private { _transferStandard(sender, recipient, amount); } function _transferStandard(address sender, address recipient, uint256 tAmount) private { (uint256 rAmount, uint256 rTransferAmount, uint256 rFee, uint256 tTransferAmount, uint256 tFee, uint256 tTeam) = _getValues(tAmount); _rOwned[sender] = _rOwned[sender].sub(rAmount); _rOwned[recipient] = _rOwned[recipient].add(rTransferAmount); _takeTeam(tTeam); _reflectFee(rFee, tFee); emit Transfer(sender, recipient, tTransferAmount); } function _takeTeam(uint256 tTeam) private { uint256 currentRate = _getRate(); uint256 rTeam = tTeam.mul(currentRate); _rOwned[address(this)] = _rOwned[address(this)].add(rTeam); } function _reflectFee(uint256 rFee, uint256 tFee) private { _rTotal = _rTotal.sub(rFee); _tFeeTotal = _tFeeTotal.add(tFee); } receive() external payable {} function manualswap() public onlyOwner() { uint256 contractBalance = balanceOf(address(this)); swapTokensForEth(contractBalance); } function manualsend() public onlyOwner() { uint256 contractETHBalance = address(this).balance; sendETHToFee(contractETHBalance); } function _getValues(uint256 tAmount) private view returns (uint256, uint256, uint256, uint256, uint256, uint256) { (uint256 tTransferAmount, uint256 tFee, uint256 tTeam) = _getTValues(tAmount, _feeAddr1, _feeAddr2); uint256 currentRate = _getRate(); (uint256 rAmount, uint256 rTransferAmount, uint256 rFee) = _getRValues(tAmount, tFee, tTeam, currentRate); return (rAmount, rTransferAmount, rFee, tTransferAmount, tFee, tTeam); } function _getTValues(uint256 tAmount, uint256 taxFee, uint256 TeamFee) private pure returns (uint256, uint256, uint256) { uint256 tFee = tAmount.mul(taxFee).div(100); uint256 tTeam = tAmount.mul(TeamFee).div(100); uint256 tTransferAmount = tAmount.sub(tFee).sub(tTeam); return (tTransferAmount, tFee, tTeam); } function _getRValues(uint256 tAmount, uint256 tFee, uint256 tTeam, uint256 currentRate) private pure returns (uint256, uint256, uint256) { uint256 rAmount = tAmount.mul(currentRate); uint256 rFee = tFee.mul(currentRate); uint256 rTeam = tTeam.mul(currentRate); uint256 rTransferAmount = rAmount.sub(rFee).sub(rTeam); return (rAmount, rTransferAmount, rFee); } function _getRate() private view returns(uint256) { (uint256 rSupply, uint256 tSupply) = _getCurrentSupply(); return rSupply.div(tSupply); } function _setMaxTxAmount(uint256 maxTxAmount) external onlyOwner() { if (maxTxAmount > 100_000 * 10**9) { _maxTxAmount = maxTxAmount; } } function _setSellTax(uint256 sellTax) external onlyOwner() { if (sellTax < 30) { _sellTax = sellTax; } } function setBuyTax(uint256 buyTax) external onlyOwner() { if (buyTax < 30) { _buyTax = buyTax; } } function _getCurrentSupply() private view returns(uint256, uint256) { uint256 rSupply = _rTotal; uint256 tSupply = _tTotal; if (rSupply < _rTotal.div(_tTotal)) return (_rTotal, _tTotal); return (rSupply, tSupply); } }
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":"_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":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[{"internalType":"uint256","name":"maxTxAmount","type":"uint256"}],"name":"_setMaxTxAmount","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"sellTax","type":"uint256"}],"name":"_setSellTax","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"createPair","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"notbot","type":"address"}],"name":"delBot","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"manualsend","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"manualswap","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"openTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address[]","name":"bots_","type":"address[]"}],"name":"setBots","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"buyTax","type":"uint256"}],"name":"setBuyTax","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"onoff","type":"bool"}],"name":"setremoveMaxTx","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]
Contract Creation Code
608060405262000019662386f26fc10000600019620001f7565b6200002790600019620001d3565b600755600f805462ffffff60a81b19169055662386f26fc100006010553480156200005157600080fd5b50600080546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a350600d80546001600160a01b031916739762a8f2191865f7e66e181f4ee6cf3dcdd8f935179055600c808055600b5560075460026000620000d03390565b6001600160a01b03166001600160a01b03168152602001908152602001600020819055506001600560006200010a620001c460201b60201c565b6001600160a01b03908116825260208083019390935260409182016000908120805495151560ff199687161790553081526005909352818320805485166001908117909155600d54909116835291208054909216179055620001693390565b6001600160a01b031660006001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef662386f26fc10000604051620001b691815260200190565b60405180910390a362000218565b6000546001600160a01b031690565b600082821015620001f257634e487b7160e01b81526011600452602481fd5b500390565b6000826200021357634e487b7160e01b81526012600452602481fd5b500690565b611b1c80620002286000396000f3fe60806040526004361061012e5760003560e01c8063715018a6116100ab578063b515566a1161006f578063b515566a14610349578063c3c8cd8014610369578063c9567bf91461037e578063dbe8272c14610393578063dc1052e2146103b3578063dd62ed3e146103d357600080fd5b8063715018a6146102a85780638da5cb5b146102bd57806395d89b41146102e55780639e78fb4f14610314578063a9059cbb1461032957600080fd5b806323b872dd116100f257806323b872dd14610217578063273123b714610237578063313ce567146102575780636fc3eaec1461027357806370a082311461028857600080fd5b8063013206211461013a57806306fdde031461015c578063095ea7b3146101a357806318160ddd146101d35780631bbae6e0146101f757600080fd5b3661013557005b600080fd5b34801561014657600080fd5b5061015a610155366004611871565b610419565b005b34801561016857600080fd5b5060408051808201909152600c81526b4a6f686e6e7920427261766f60a01b60208201525b60405161019a91906118ee565b60405180910390f35b3480156101af57600080fd5b506101c36101be36600461177f565b61046a565b604051901515815260200161019a565b3480156101df57600080fd5b50662386f26fc100005b60405190815260200161019a565b34801561020357600080fd5b5061015a6102123660046118a9565b610481565b34801561022357600080fd5b506101c361023236600461173f565b6104c2565b34801561024357600080fd5b5061015a6102523660046116cf565b61052b565b34801561026357600080fd5b506040516009815260200161019a565b34801561027f57600080fd5b5061015a610576565b34801561029457600080fd5b506101e96102a33660046116cf565b6105aa565b3480156102b457600080fd5b5061015a6105cc565b3480156102c957600080fd5b506000546040516001600160a01b03909116815260200161019a565b3480156102f157600080fd5b506040805180820190915260068152654a4f484e4e5960d01b602082015261018d565b34801561032057600080fd5b5061015a610640565b34801561033557600080fd5b506101c361034436600461177f565b61087f565b34801561035557600080fd5b5061015a6103643660046117aa565b61088c565b34801561037557600080fd5b5061015a610930565b34801561038a57600080fd5b5061015a610970565b34801561039f57600080fd5b5061015a6103ae3660046118a9565b610b34565b3480156103bf57600080fd5b5061015a6103ce3660046118a9565b610b6c565b3480156103df57600080fd5b506101e96103ee366004611707565b6001600160a01b03918216600090815260046020908152604080832093909416825291909152205490565b6000546001600160a01b0316331461044c5760405162461bcd60e51b815260040161044390611941565b60405180910390fd5b600f8054911515600160b81b0260ff60b81b19909216919091179055565b6000610477338484610ba4565b5060015b92915050565b6000546001600160a01b031633146104ab5760405162461bcd60e51b815260040161044390611941565b655af3107a40008111156104bf5760108190555b50565b60006104cf848484610cc8565b610521843361051c85604051806060016040528060288152602001611abf602891396001600160a01b038a1660009081526004602090815260408083203384529091529020549190610fbf565b610ba4565b5060019392505050565b6000546001600160a01b031633146105555760405162461bcd60e51b815260040161044390611941565b6001600160a01b03166000908152600660205260409020805460ff19169055565b6000546001600160a01b031633146105a05760405162461bcd60e51b815260040161044390611941565b476104bf81610ff9565b6001600160a01b03811660009081526002602052604081205461047b90611033565b6000546001600160a01b031633146105f65760405162461bcd60e51b815260040161044390611941565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b0316331461066a5760405162461bcd60e51b815260040161044390611941565b600f54600160a01b900460ff16156106c45760405162461bcd60e51b815260206004820152601760248201527f74726164696e6720697320616c7265616479206f70656e0000000000000000006044820152606401610443565b600e80546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d9081179091556040805163c45a015560e01b81529051829163c45a0155916004808301926020929190829003018186803b15801561072457600080fd5b505afa158015610738573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061075c91906116eb565b6001600160a01b031663c9c6539630836001600160a01b031663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b1580156107a457600080fd5b505afa1580156107b8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107dc91906116eb565b6040516001600160e01b031960e085901b1681526001600160a01b03928316600482015291166024820152604401602060405180830381600087803b15801561082457600080fd5b505af1158015610838573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061085c91906116eb565b600f80546001600160a01b0319166001600160a01b039290921691909117905550565b6000610477338484610cc8565b6000546001600160a01b031633146108b65760405162461bcd60e51b815260040161044390611941565b60005b815181101561092c576001600660008484815181106108e857634e487b7160e01b600052603260045260246000fd5b6020908102919091018101516001600160a01b03168252810191909152604001600020805460ff19169115159190911790558061092481611a54565b9150506108b9565b5050565b6000546001600160a01b0316331461095a5760405162461bcd60e51b815260040161044390611941565b6000610965306105aa565b90506104bf816110b7565b6000546001600160a01b0316331461099a5760405162461bcd60e51b815260040161044390611941565b600e546109b99030906001600160a01b0316662386f26fc10000610ba4565b600e546001600160a01b031663f305d71947306109d5816105aa565b6000806109ea6000546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c4016060604051808303818588803b158015610a4d57600080fd5b505af1158015610a61573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610a8691906118c1565b5050600f8054655af3107a400060105563ffff00ff60a01b198116630101000160a01b17909155600e5460405163095ea7b360e01b81526001600160a01b03918216600482015260001960248201529116915063095ea7b390604401602060405180830381600087803b158015610afc57600080fd5b505af1158015610b10573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104bf919061188d565b6000546001600160a01b03163314610b5e5760405162461bcd60e51b815260040161044390611941565b601e8110156104bf57600b55565b6000546001600160a01b03163314610b965760405162461bcd60e51b815260040161044390611941565b601e8110156104bf57600c55565b6001600160a01b038316610c065760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610443565b6001600160a01b038216610c675760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610443565b6001600160a01b0383811660008181526004602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610d2c5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610443565b6001600160a01b038216610d8e5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610443565b60008111610df05760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b6064820152608401610443565b6001600160a01b03831660009081526006602052604090205460ff1615610e1657600080fd5b6001600160a01b03831660009081526005602052604090205460ff16158015610e5857506001600160a01b03821660009081526005602052604090205460ff16155b15610faf576000600955600c54600a55600f546001600160a01b038481169116148015610e935750600e546001600160a01b03838116911614155b8015610eb857506001600160a01b03821660009081526005602052604090205460ff16155b8015610ecd5750600f54600160b81b900460ff165b15610ee157601054811115610ee157600080fd5b600f546001600160a01b038381169116148015610f0c5750600e546001600160a01b03848116911614155b8015610f3157506001600160a01b03831660009081526005602052604090205460ff16155b15610f42576000600955600b54600a555b6000610f4d306105aa565b600f54909150600160a81b900460ff16158015610f785750600f546001600160a01b03858116911614155b8015610f8d5750600f54600160b01b900460ff165b15610fad57610f9b816110b7565b478015610fab57610fab47610ff9565b505b505b610fba83838361125c565b505050565b60008184841115610fe35760405162461bcd60e51b815260040161044391906118ee565b506000610ff08486611a3d565b95945050505050565b600d546040516001600160a01b039091169082156108fc029083906000818181858888f1935050505015801561092c573d6000803e3d6000fd5b600060075482111561109a5760405162461bcd60e51b815260206004820152602a60248201527f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260448201526965666c656374696f6e7360b01b6064820152608401610443565b60006110a4611267565b90506110b0838261128a565b9392505050565b600f805460ff60a81b1916600160a81b179055604080516002808252606082018352600092602083019080368337019050509050308160008151811061110d57634e487b7160e01b600052603260045260246000fd5b6001600160a01b03928316602091820292909201810191909152600e54604080516315ab88c960e31b81529051919093169263ad5c4648926004808301939192829003018186803b15801561116157600080fd5b505afa158015611175573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061119991906116eb565b816001815181106111ba57634e487b7160e01b600052603260045260246000fd5b6001600160a01b039283166020918202929092010152600e546111e09130911684610ba4565b600e5460405163791ac94760e01b81526001600160a01b039091169063791ac94790611219908590600090869030904290600401611976565b600060405180830381600087803b15801561123357600080fd5b505af1158015611247573d6000803e3d6000fd5b5050600f805460ff60a81b1916905550505050565b610fba8383836112cc565b60008060006112746113c3565b9092509050611283828261128a565b9250505090565b60006110b083836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611401565b6000806000806000806112de8761142f565b6001600160a01b038f16600090815260026020526040902054959b50939950919750955093509150611310908761148c565b6001600160a01b03808b1660009081526002602052604080822093909355908a168152205461133f90866114ce565b6001600160a01b0389166000908152600260205260409020556113618161152d565b61136b8483611577565b876001600160a01b0316896001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040516113b091815260200190565b60405180910390a3505050505050505050565b6007546000908190662386f26fc100006113dd828261128a565b8210156113f857505060075492662386f26fc1000092509050565b90939092509050565b600081836114225760405162461bcd60e51b815260040161044391906118ee565b506000610ff084866119fe565b600080600080600080600080600061144c8a600954600a5461159b565b925092509250600061145c611267565b9050600080600061146f8e8787876115f0565b919e509c509a509598509396509194505050505091939550919395565b60006110b083836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610fbf565b6000806114db83856119e6565b9050838110156110b05760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610443565b6000611537611267565b905060006115458383611640565b3060009081526002602052604090205490915061156290826114ce565b30600090815260026020526040902055505050565b600754611584908361148c565b60075560085461159490826114ce565b6008555050565b60008080806115b560646115af8989611640565b9061128a565b905060006115c860646115af8a89611640565b905060006115e0826115da8b8661148c565b9061148c565b9992985090965090945050505050565b60008080806115ff8886611640565b9050600061160d8887611640565b9050600061161b8888611640565b9050600061162d826115da868661148c565b939b939a50919850919650505050505050565b60008261164f5750600061047b565b600061165b8385611a1e565b90508261166885836119fe565b146110b05760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b6064820152608401610443565b80356116ca81611a9b565b919050565b6000602082840312156116e0578081fd5b81356110b081611a9b565b6000602082840312156116fc578081fd5b81516110b081611a9b565b60008060408385031215611719578081fd5b823561172481611a9b565b9150602083013561173481611a9b565b809150509250929050565b600080600060608486031215611753578081fd5b833561175e81611a9b565b9250602084013561176e81611a9b565b929592945050506040919091013590565b60008060408385031215611791578182fd5b823561179c81611a9b565b946020939093013593505050565b600060208083850312156117bc578182fd5b823567ffffffffffffffff808211156117d3578384fd5b818501915085601f8301126117e6578384fd5b8135818111156117f8576117f8611a85565b8060051b604051601f19603f8301168101818110858211171561181d5761181d611a85565b604052828152858101935084860182860187018a101561183b578788fd5b8795505b8386101561186457611850816116bf565b85526001959095019493860193860161183f565b5098975050505050505050565b600060208284031215611882578081fd5b81356110b081611ab0565b60006020828403121561189e578081fd5b81516110b081611ab0565b6000602082840312156118ba578081fd5b5035919050565b6000806000606084860312156118d5578283fd5b8351925060208401519150604084015190509250925092565b6000602080835283518082850152825b8181101561191a578581018301518582016040015282016118fe565b8181111561192b5783604083870101525b50601f01601f1916929092016040019392505050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b600060a082018783526020878185015260a0604085015281875180845260c0860191508289019350845b818110156119c55784516001600160a01b0316835293830193918301916001016119a0565b50506001600160a01b03969096166060850152505050608001529392505050565b600082198211156119f9576119f9611a6f565b500190565b600082611a1957634e487b7160e01b81526012600452602481fd5b500490565b6000816000190483118215151615611a3857611a38611a6f565b500290565b600082821015611a4f57611a4f611a6f565b500390565b6000600019821415611a6857611a68611a6f565b5060010190565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052604160045260246000fd5b6001600160a01b03811681146104bf57600080fd5b80151581146104bf57600080fdfe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220c573f57d2b475c551f654758eef94f50b1c58f69811850b9b663a5bab134fc6564736f6c63430008040033
Deployed Bytecode
0x60806040526004361061012e5760003560e01c8063715018a6116100ab578063b515566a1161006f578063b515566a14610349578063c3c8cd8014610369578063c9567bf91461037e578063dbe8272c14610393578063dc1052e2146103b3578063dd62ed3e146103d357600080fd5b8063715018a6146102a85780638da5cb5b146102bd57806395d89b41146102e55780639e78fb4f14610314578063a9059cbb1461032957600080fd5b806323b872dd116100f257806323b872dd14610217578063273123b714610237578063313ce567146102575780636fc3eaec1461027357806370a082311461028857600080fd5b8063013206211461013a57806306fdde031461015c578063095ea7b3146101a357806318160ddd146101d35780631bbae6e0146101f757600080fd5b3661013557005b600080fd5b34801561014657600080fd5b5061015a610155366004611871565b610419565b005b34801561016857600080fd5b5060408051808201909152600c81526b4a6f686e6e7920427261766f60a01b60208201525b60405161019a91906118ee565b60405180910390f35b3480156101af57600080fd5b506101c36101be36600461177f565b61046a565b604051901515815260200161019a565b3480156101df57600080fd5b50662386f26fc100005b60405190815260200161019a565b34801561020357600080fd5b5061015a6102123660046118a9565b610481565b34801561022357600080fd5b506101c361023236600461173f565b6104c2565b34801561024357600080fd5b5061015a6102523660046116cf565b61052b565b34801561026357600080fd5b506040516009815260200161019a565b34801561027f57600080fd5b5061015a610576565b34801561029457600080fd5b506101e96102a33660046116cf565b6105aa565b3480156102b457600080fd5b5061015a6105cc565b3480156102c957600080fd5b506000546040516001600160a01b03909116815260200161019a565b3480156102f157600080fd5b506040805180820190915260068152654a4f484e4e5960d01b602082015261018d565b34801561032057600080fd5b5061015a610640565b34801561033557600080fd5b506101c361034436600461177f565b61087f565b34801561035557600080fd5b5061015a6103643660046117aa565b61088c565b34801561037557600080fd5b5061015a610930565b34801561038a57600080fd5b5061015a610970565b34801561039f57600080fd5b5061015a6103ae3660046118a9565b610b34565b3480156103bf57600080fd5b5061015a6103ce3660046118a9565b610b6c565b3480156103df57600080fd5b506101e96103ee366004611707565b6001600160a01b03918216600090815260046020908152604080832093909416825291909152205490565b6000546001600160a01b0316331461044c5760405162461bcd60e51b815260040161044390611941565b60405180910390fd5b600f8054911515600160b81b0260ff60b81b19909216919091179055565b6000610477338484610ba4565b5060015b92915050565b6000546001600160a01b031633146104ab5760405162461bcd60e51b815260040161044390611941565b655af3107a40008111156104bf5760108190555b50565b60006104cf848484610cc8565b610521843361051c85604051806060016040528060288152602001611abf602891396001600160a01b038a1660009081526004602090815260408083203384529091529020549190610fbf565b610ba4565b5060019392505050565b6000546001600160a01b031633146105555760405162461bcd60e51b815260040161044390611941565b6001600160a01b03166000908152600660205260409020805460ff19169055565b6000546001600160a01b031633146105a05760405162461bcd60e51b815260040161044390611941565b476104bf81610ff9565b6001600160a01b03811660009081526002602052604081205461047b90611033565b6000546001600160a01b031633146105f65760405162461bcd60e51b815260040161044390611941565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b0316331461066a5760405162461bcd60e51b815260040161044390611941565b600f54600160a01b900460ff16156106c45760405162461bcd60e51b815260206004820152601760248201527f74726164696e6720697320616c7265616479206f70656e0000000000000000006044820152606401610443565b600e80546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d9081179091556040805163c45a015560e01b81529051829163c45a0155916004808301926020929190829003018186803b15801561072457600080fd5b505afa158015610738573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061075c91906116eb565b6001600160a01b031663c9c6539630836001600160a01b031663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b1580156107a457600080fd5b505afa1580156107b8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107dc91906116eb565b6040516001600160e01b031960e085901b1681526001600160a01b03928316600482015291166024820152604401602060405180830381600087803b15801561082457600080fd5b505af1158015610838573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061085c91906116eb565b600f80546001600160a01b0319166001600160a01b039290921691909117905550565b6000610477338484610cc8565b6000546001600160a01b031633146108b65760405162461bcd60e51b815260040161044390611941565b60005b815181101561092c576001600660008484815181106108e857634e487b7160e01b600052603260045260246000fd5b6020908102919091018101516001600160a01b03168252810191909152604001600020805460ff19169115159190911790558061092481611a54565b9150506108b9565b5050565b6000546001600160a01b0316331461095a5760405162461bcd60e51b815260040161044390611941565b6000610965306105aa565b90506104bf816110b7565b6000546001600160a01b0316331461099a5760405162461bcd60e51b815260040161044390611941565b600e546109b99030906001600160a01b0316662386f26fc10000610ba4565b600e546001600160a01b031663f305d71947306109d5816105aa565b6000806109ea6000546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c4016060604051808303818588803b158015610a4d57600080fd5b505af1158015610a61573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610a8691906118c1565b5050600f8054655af3107a400060105563ffff00ff60a01b198116630101000160a01b17909155600e5460405163095ea7b360e01b81526001600160a01b03918216600482015260001960248201529116915063095ea7b390604401602060405180830381600087803b158015610afc57600080fd5b505af1158015610b10573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104bf919061188d565b6000546001600160a01b03163314610b5e5760405162461bcd60e51b815260040161044390611941565b601e8110156104bf57600b55565b6000546001600160a01b03163314610b965760405162461bcd60e51b815260040161044390611941565b601e8110156104bf57600c55565b6001600160a01b038316610c065760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610443565b6001600160a01b038216610c675760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610443565b6001600160a01b0383811660008181526004602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610d2c5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610443565b6001600160a01b038216610d8e5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610443565b60008111610df05760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b6064820152608401610443565b6001600160a01b03831660009081526006602052604090205460ff1615610e1657600080fd5b6001600160a01b03831660009081526005602052604090205460ff16158015610e5857506001600160a01b03821660009081526005602052604090205460ff16155b15610faf576000600955600c54600a55600f546001600160a01b038481169116148015610e935750600e546001600160a01b03838116911614155b8015610eb857506001600160a01b03821660009081526005602052604090205460ff16155b8015610ecd5750600f54600160b81b900460ff165b15610ee157601054811115610ee157600080fd5b600f546001600160a01b038381169116148015610f0c5750600e546001600160a01b03848116911614155b8015610f3157506001600160a01b03831660009081526005602052604090205460ff16155b15610f42576000600955600b54600a555b6000610f4d306105aa565b600f54909150600160a81b900460ff16158015610f785750600f546001600160a01b03858116911614155b8015610f8d5750600f54600160b01b900460ff165b15610fad57610f9b816110b7565b478015610fab57610fab47610ff9565b505b505b610fba83838361125c565b505050565b60008184841115610fe35760405162461bcd60e51b815260040161044391906118ee565b506000610ff08486611a3d565b95945050505050565b600d546040516001600160a01b039091169082156108fc029083906000818181858888f1935050505015801561092c573d6000803e3d6000fd5b600060075482111561109a5760405162461bcd60e51b815260206004820152602a60248201527f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260448201526965666c656374696f6e7360b01b6064820152608401610443565b60006110a4611267565b90506110b0838261128a565b9392505050565b600f805460ff60a81b1916600160a81b179055604080516002808252606082018352600092602083019080368337019050509050308160008151811061110d57634e487b7160e01b600052603260045260246000fd5b6001600160a01b03928316602091820292909201810191909152600e54604080516315ab88c960e31b81529051919093169263ad5c4648926004808301939192829003018186803b15801561116157600080fd5b505afa158015611175573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061119991906116eb565b816001815181106111ba57634e487b7160e01b600052603260045260246000fd5b6001600160a01b039283166020918202929092010152600e546111e09130911684610ba4565b600e5460405163791ac94760e01b81526001600160a01b039091169063791ac94790611219908590600090869030904290600401611976565b600060405180830381600087803b15801561123357600080fd5b505af1158015611247573d6000803e3d6000fd5b5050600f805460ff60a81b1916905550505050565b610fba8383836112cc565b60008060006112746113c3565b9092509050611283828261128a565b9250505090565b60006110b083836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611401565b6000806000806000806112de8761142f565b6001600160a01b038f16600090815260026020526040902054959b50939950919750955093509150611310908761148c565b6001600160a01b03808b1660009081526002602052604080822093909355908a168152205461133f90866114ce565b6001600160a01b0389166000908152600260205260409020556113618161152d565b61136b8483611577565b876001600160a01b0316896001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040516113b091815260200190565b60405180910390a3505050505050505050565b6007546000908190662386f26fc100006113dd828261128a565b8210156113f857505060075492662386f26fc1000092509050565b90939092509050565b600081836114225760405162461bcd60e51b815260040161044391906118ee565b506000610ff084866119fe565b600080600080600080600080600061144c8a600954600a5461159b565b925092509250600061145c611267565b9050600080600061146f8e8787876115f0565b919e509c509a509598509396509194505050505091939550919395565b60006110b083836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610fbf565b6000806114db83856119e6565b9050838110156110b05760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610443565b6000611537611267565b905060006115458383611640565b3060009081526002602052604090205490915061156290826114ce565b30600090815260026020526040902055505050565b600754611584908361148c565b60075560085461159490826114ce565b6008555050565b60008080806115b560646115af8989611640565b9061128a565b905060006115c860646115af8a89611640565b905060006115e0826115da8b8661148c565b9061148c565b9992985090965090945050505050565b60008080806115ff8886611640565b9050600061160d8887611640565b9050600061161b8888611640565b9050600061162d826115da868661148c565b939b939a50919850919650505050505050565b60008261164f5750600061047b565b600061165b8385611a1e565b90508261166885836119fe565b146110b05760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b6064820152608401610443565b80356116ca81611a9b565b919050565b6000602082840312156116e0578081fd5b81356110b081611a9b565b6000602082840312156116fc578081fd5b81516110b081611a9b565b60008060408385031215611719578081fd5b823561172481611a9b565b9150602083013561173481611a9b565b809150509250929050565b600080600060608486031215611753578081fd5b833561175e81611a9b565b9250602084013561176e81611a9b565b929592945050506040919091013590565b60008060408385031215611791578182fd5b823561179c81611a9b565b946020939093013593505050565b600060208083850312156117bc578182fd5b823567ffffffffffffffff808211156117d3578384fd5b818501915085601f8301126117e6578384fd5b8135818111156117f8576117f8611a85565b8060051b604051601f19603f8301168101818110858211171561181d5761181d611a85565b604052828152858101935084860182860187018a101561183b578788fd5b8795505b8386101561186457611850816116bf565b85526001959095019493860193860161183f565b5098975050505050505050565b600060208284031215611882578081fd5b81356110b081611ab0565b60006020828403121561189e578081fd5b81516110b081611ab0565b6000602082840312156118ba578081fd5b5035919050565b6000806000606084860312156118d5578283fd5b8351925060208401519150604084015190509250925092565b6000602080835283518082850152825b8181101561191a578581018301518582016040015282016118fe565b8181111561192b5783604083870101525b50601f01601f1916929092016040019392505050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b600060a082018783526020878185015260a0604085015281875180845260c0860191508289019350845b818110156119c55784516001600160a01b0316835293830193918301916001016119a0565b50506001600160a01b03969096166060850152505050608001529392505050565b600082198211156119f9576119f9611a6f565b500190565b600082611a1957634e487b7160e01b81526012600452602481fd5b500490565b6000816000190483118215151615611a3857611a38611a6f565b500290565b600082821015611a4f57611a4f611a6f565b500390565b6000600019821415611a6857611a68611a6f565b5060010190565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052604160045260246000fd5b6001600160a01b03811681146104bf57600080fd5b80151581146104bf57600080fdfe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220c573f57d2b475c551f654758eef94f50b1c58f69811850b9b663a5bab134fc6564736f6c63430008040033
Deployed Bytecode Sourcemap
3667:10461:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6732:95;;;;;;;;;;-1:-1:-1;6732:95:0;;;;;:::i;:::-;;:::i;:::-;;5390:83;;;;;;;;;;-1:-1:-1;5460:5:0;;;;;;;;;;;;-1:-1:-1;;;5460:5:0;;;;5390:83;;;;;;;:::i;:::-;;;;;;;;6242:161;;;;;;;;;;-1:-1:-1;6242:161:0;;;;;:::i;:::-;;:::i;:::-;;;5672:14:1;;5665:22;5647:41;;5635:2;5620:18;6242:161:0;5602:92:1;5667:95:0;;;;;;;;;;-1:-1:-1;4127:18:0;5667:95;;;10363:25:1;;;10351:2;10336:18;5667:95:0;10318:76:1;13388:173:0;;;;;;;;;;-1:-1:-1;13388:173:0;;;;;:::i;:::-;;:::i;6411:313::-;;;;;;;;;;-1:-1:-1;6411:313:0;;;;;:::i;:::-;;:::i;10457:88::-;;;;;;;;;;-1:-1:-1;10457:88:0;;;;;:::i;:::-;;:::i;5576:83::-;;;;;;;;;;-1:-1:-1;5576:83:0;;4557:1;11529:36:1;;11517:2;11502:18;5576:83:0;11484:87:1;11793:153:0;;;;;;;;;;;;;:::i;5770:138::-;;;;;;;;;;-1:-1:-1;5770:138:0;;;;;:::i;:::-;;:::i;2746:148::-;;;;;;;;;;;;;:::i;2532:79::-;;;;;;;;;;-1:-1:-1;2570:7:0;2597:6;2532:79;;-1:-1:-1;;;;;2597:6:0;;;4245:51:1;;4233:2;4218:18;2532:79:0;4200:102:1;5481:87:0;;;;;;;;;;-1:-1:-1;5553:7:0;;;;;;;;;;;;-1:-1:-1;;;5553:7:0;;;;5481:87;;9395:389;;;;;;;;;;;;;:::i;5916:167::-;;;;;;;;;;-1:-1:-1;5916:167:0;;;;;:::i;:::-;;:::i;10281:164::-;;;;;;;;;;-1:-1:-1;10281:164:0;;;;;:::i;:::-;;:::i;11627:154::-;;;;;;;;;;;;;:::i;9796:471::-;;;;;;;;;;;;;:::i;13573:140::-;;;;;;;;;;-1:-1:-1;13573:140:0;;;;;:::i;:::-;;:::i;13721:134::-;;;;;;;;;;-1:-1:-1;13721:134:0;;;;;:::i;:::-;;:::i;6091:143::-;;;;;;;;;;-1:-1:-1;6091:143:0;;;;;:::i;:::-;-1:-1:-1;;;;;6199:18:0;;;6172:7;6199:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;6091:143;6732:95;2659:6;;-1:-1:-1;;;;;2659:6:0;330:10;2659:22;2651:67;;;;-1:-1:-1;;;2651:67:0;;;;;;;:::i;:::-;;;;;;;;;6800:11:::1;:19:::0;;;::::1;;-1:-1:-1::0;;;6800:19:0::1;-1:-1:-1::0;;;;6800:19:0;;::::1;::::0;;;::::1;::::0;;6732:95::o;6242:161::-;6317:4;6334:39;330:10;6357:7;6366:6;6334:8;:39::i;:::-;-1:-1:-1;6391:4:0;6242:161;;;;;:::o;13388:173::-;2659:6;;-1:-1:-1;;;;;2659:6:0;330:10;2659:22;2651:67;;;;-1:-1:-1;;;2651:67:0;;;;;;;:::i;:::-;13484:15:::1;13470:11;:29;13466:88;;;13516:12;:26:::0;;;13466:88:::1;13388:173:::0;:::o;6411:313::-;6509:4;6526:36;6536:6;6544:9;6555:6;6526:9;:36::i;:::-;6573:121;6582:6;330:10;6604:89;6642:6;6604:89;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;6604:19:0;;;;;;:11;:19;;;;;;;;330:10;6604:33;;;;;;;;;;:37;:89::i;:::-;6573:8;:121::i;:::-;-1:-1:-1;6712:4:0;6411:313;;;;;:::o;10457:88::-;2659:6;;-1:-1:-1;;;;;2659:6:0;330:10;2659:22;2651:67;;;;-1:-1:-1;;;2651:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;10517:12:0::1;10532:5;10517:12:::0;;;:4:::1;:12;::::0;;;;:20;;-1:-1:-1;;10517:20:0::1;::::0;;10457:88::o;11793:153::-;2659:6;;-1:-1:-1;;;;;2659:6:0;330:10;2659:22;2651:67;;;;-1:-1:-1;;;2651:67:0;;;;;;;:::i;:::-;11874:21:::1;11906:32;11874:21:::0;11906:12:::1;:32::i;5770:138::-:0;-1:-1:-1;;;;;5883:16:0;;5836:7;5883:16;;;:7;:16;;;;;;5863:37;;:19;:37::i;2746:148::-;2659:6;;-1:-1:-1;;;;;2659:6:0;330:10;2659:22;2651:67;;;;-1:-1:-1;;;2651:67:0;;;;;;;:::i;:::-;2853:1:::1;2837:6:::0;;2816:40:::1;::::0;-1:-1:-1;;;;;2837:6:0;;::::1;::::0;2816:40:::1;::::0;2853:1;;2816:40:::1;2884:1;2867:19:::0;;-1:-1:-1;;;;;;2867:19:0::1;::::0;;2746:148::o;9395:389::-;2659:6;;-1:-1:-1;;;;;2659:6:0;330:10;2659:22;2651:67;;;;-1:-1:-1;;;2651:67:0;;;;;;;:::i;:::-;9457:11:::1;::::0;-1:-1:-1;;;9457:11:0;::::1;;;9456:12;9448:47;;;::::0;-1:-1:-1;;;9448:47:0;;10067:2:1;9448:47:0::1;::::0;::::1;10049:21:1::0;10106:2;10086:18;;;10079:30;10145:25;10125:18;;;10118:53;10188:18;;9448:47:0::1;10039:173:1::0;9448:47:0::1;9617:15;:34:::0;;-1:-1:-1;;;;;;9617:34:0::1;9563:42;9617:34:::0;;::::1;::::0;;;9696:26:::1;::::0;;-1:-1:-1;;;9696:26:0;;;;9563:42;;9696:24:::1;::::0;:26:::1;::::0;;::::1;::::0;::::1;::::0;;;;;;;;9563:42;9696:26;::::1;;::::0;::::1;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;9678:56:0::1;;9743:4;9750:16;-1:-1:-1::0;;;;;9750:21:0::1;;:23;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;9678:96;::::0;-1:-1:-1;;;;;;9678:96:0::1;::::0;;;;;;-1:-1:-1;;;;;4537:15:1;;;9678:96:0::1;::::0;::::1;4519:34:1::0;4589:15;;4569:18;;;4562:43;4454:18;;9678:96:0::1;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;9662:13;:112:::0;;-1:-1:-1;;;;;;9662:112:0::1;-1:-1:-1::0;;;;;9662:112:0;;;::::1;::::0;;;::::1;::::0;;-1:-1:-1;9395:389:0:o;5916:167::-;5994:4;6011:42;330:10;6035:9;6046:6;6011:9;:42::i;10281:164::-;2659:6;;-1:-1:-1;;;;;2659:6:0;330:10;2659:22;2651:67;;;;-1:-1:-1;;;2651:67:0;;;;;;;:::i;:::-;10355:6:::1;10350:88;10371:5;:12;10367:1;:16;10350:88;;;10422:4;10405;:14;10410:5;10416:1;10410:8;;;;;;-1:-1:-1::0;;;10410:8:0::1;;;;;;;;;;::::0;;::::1;::::0;;;;;;;-1:-1:-1;;;;;10405:14:0::1;::::0;;;::::1;::::0;;;;;;-1:-1:-1;10405:14:0;:21;;-1:-1:-1;;10405:21:0::1;::::0;::::1;;::::0;;;::::1;::::0;;10385:3;::::1;::::0;::::1;:::i;:::-;;;;10350:88;;;;10281:164:::0;:::o;11627:154::-;2659:6;;-1:-1:-1;;;;;2659:6:0;330:10;2659:22;2651:67;;;;-1:-1:-1;;;2651:67:0;;;;;;;:::i;:::-;11679:23:::1;11705:24;11723:4;11705:9;:24::i;:::-;11679:50;;11740:33;11757:15;11740:16;:33::i;9796:471::-:0;2659:6;;-1:-1:-1;;;;;2659:6:0;330:10;2659:22;2651:67;;;;-1:-1:-1;;;2651:67:0;;;;;;;:::i;:::-;9883:15:::1;::::0;9851:58:::1;::::0;9868:4:::1;::::0;-1:-1:-1;;;;;9883:15:0::1;4127:18;9851:8;:58::i;:::-;9920:15;::::0;-1:-1:-1;;;;;9920:15:0::1;:31;9959:21;9990:4;9996:24;9990:4:::0;9996:9:::1;:24::i;:::-;10021:1;10023::::0;10025:7:::1;2570::::0;2597:6;-1:-1:-1;;;;;2597:6:0;;2532:79;10025:7:::1;9920:129;::::0;::::1;::::0;;;-1:-1:-1;;;;;;9920:129:0;;;-1:-1:-1;;;;;5254:15:1;;;9920:129:0::1;::::0;::::1;5236:34:1::0;5286:18;;;5279:34;;;;5329:18;;;5322:34;;;;5372:18;;;5365:34;5436:15;;;5415:19;;;5408:44;10033:15:0::1;5468:19:1::0;;;5461:35;5170:19;;9920:129:0::1;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;10060:11:0::1;:18:::0;;10133:15:::1;10118:12;:30:::0;-1:-1:-1;;;;10159:18:0;;-1:-1:-1;;;10159:18:0;;;;10226:15:::1;::::0;10188:71:::1;::::0;-1:-1:-1;;;10188:71:0;;-1:-1:-1;;;;;10226:15:0;;::::1;10188:71;::::0;::::1;4790:51:1::0;-1:-1:-1;;4857:18:1;;;4850:34;10195:13:0;;;-1:-1:-1;10188:29:0::1;::::0;4763:18:1;;10188:71:0::1;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;13573:140::-:0;2659:6;;-1:-1:-1;;;;;2659:6:0;330:10;2659:22;2651:67;;;;-1:-1:-1;;;2651:67:0;;;;;;;:::i;:::-;13657:2:::1;13647:7;:12;13643:63;;;13676:8;:18:::0;13573:140::o;13721:134::-;2659:6;;-1:-1:-1;;;;;2659:6:0;330:10;2659:22;2651:67;;;;-1:-1:-1;;;2651:67:0;;;;;;;:::i;:::-;13801:2:::1;13792:6;:11;13788:60;;;13820:7;:16:::0;13721:134::o;7097:335::-;-1:-1:-1;;;;;7190:19:0;;7182:68;;;;-1:-1:-1;;;7182:68:0;;9662:2:1;7182:68:0;;;9644:21:1;9701:2;9681:18;;;9674:30;9740:34;9720:18;;;9713:62;-1:-1:-1;;;9791:18:1;;;9784:34;9835:19;;7182:68:0;9634:226:1;7182:68:0;-1:-1:-1;;;;;7269:21:0;;7261:68;;;;-1:-1:-1;;;7261:68:0;;7324:2:1;7261:68:0;;;7306:21:1;7363:2;7343:18;;;7336:30;7402:34;7382:18;;;7375:62;-1:-1:-1;;;7453:18:1;;;7446:32;7495:19;;7261:68:0;7296:224:1;7261:68:0;-1:-1:-1;;;;;7340:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;7392:32;;10363:25:1;;;7392:32:0;;10336:18:1;7392:32:0;;;;;;;7097:335;;;:::o;7440:1347::-;-1:-1:-1;;;;;7528:18:0;;7520:68;;;;-1:-1:-1;;;7520:68:0;;9256:2:1;7520:68:0;;;9238:21:1;9295:2;9275:18;;;9268:30;9334:34;9314:18;;;9307:62;-1:-1:-1;;;9385:18:1;;;9378:35;9430:19;;7520:68:0;9228:227:1;7520:68:0;-1:-1:-1;;;;;7607:16:0;;7599:64;;;;-1:-1:-1;;;7599:64:0;;6509:2:1;7599:64:0;;;6491:21:1;6548:2;6528:18;;;6521:30;6587:34;6567:18;;;6560:62;-1:-1:-1;;;6638:18:1;;;6631:33;6681:19;;7599:64:0;6481:225:1;7599:64:0;7691:1;7682:6;:10;7674:64;;;;-1:-1:-1;;;7674:64:0;;8846:2:1;7674:64:0;;;8828:21:1;8885:2;8865:18;;;8858:30;8924:34;8904:18;;;8897:62;-1:-1:-1;;;8975:18:1;;;8968:39;9024:19;;7674:64:0;8818:231:1;7674:64:0;-1:-1:-1;;;;;7758:10:0;;;;;;:4;:10;;;;;;;;7757:11;7749:20;;;;;;-1:-1:-1;;;;;7787:24:0;;;;;;:18;:24;;;;;;;;7786:25;:66;;;;-1:-1:-1;;;;;;7830:22:0;;;;;;:18;:22;;;;;;;;7829:23;7786:66;7782:953;;;7882:1;7870:9;:13;7910:7;;7898:9;:19;7944:13;;-1:-1:-1;;;;;7936:21:0;;;7944:13;;7936:21;:55;;;;-1:-1:-1;7975:15:0;;-1:-1:-1;;;;;7961:30:0;;;7975:15;;7961:30;;7936:55;:83;;;;-1:-1:-1;;;;;;7997:22:0;;;;;;:18;:22;;;;;;;;7995:24;7936:83;:98;;;;-1:-1:-1;8023:11:0;;-1:-1:-1;;;8023:11:0;;;;7936:98;7932:170;;;8073:12;;8063:6;:22;;8055:31;;;;;;8154:13;;-1:-1:-1;;;;;8148:19:0;;;8154:13;;8148:19;:55;;;;-1:-1:-1;8187:15:0;;-1:-1:-1;;;;;8171:32:0;;;8187:15;;8171:32;;8148:55;:85;;;;-1:-1:-1;;;;;;8209:24:0;;;;;;:18;:24;;;;;;;;8207:26;8148:85;8144:178;;;8266:1;8254:9;:13;8298:8;;8286:9;:20;8144:178;8336:28;8367:24;8385:4;8367:9;:24::i;:::-;8411:6;;8336:55;;-1:-1:-1;;;;8411:6:0;;;;8410:7;:32;;;;-1:-1:-1;8429:13:0;;-1:-1:-1;;;;;8421:21:0;;;8429:13;;8421:21;;8410:32;:47;;;;-1:-1:-1;8446:11:0;;-1:-1:-1;;;8446:11:0;;;;8410:47;8406:318;;;8478:38;8495:20;8478:16;:38::i;:::-;8564:21;8607:22;;8604:105;;8654:35;8667:21;8654:12;:35::i;:::-;8406:318;;7782:953;;8749:30;8764:4;8769:2;8772:6;8749:14;:30::i;:::-;7440:1347;;;:::o;1387:190::-;1473:7;1509:12;1501:6;;;;1493:29;;;;-1:-1:-1;;;1493:29:0;;;;;;;;:::i;:::-;-1:-1:-1;1533:9:0;1545:5;1549:1;1545;:5;:::i;:::-;1533:17;1387:190;-1:-1:-1;;;;;1387:190:0:o;9294:93::-;9351:11;;:28;;-1:-1:-1;;;;;9351:11:0;;;;:28;;;;;9372:6;;9351:11;:28;:11;:28;9372:6;9351:11;:28;;;;;;;;;;;;;;;;;;;6835:254;6902:7;6941;;6930;:18;;6922:73;;;;-1:-1:-1;;;6922:73:0;;6913:2:1;6922:73:0;;;6895:21:1;6952:2;6932:18;;;6925:30;6991:34;6971:18;;;6964:62;-1:-1:-1;;;7042:18:1;;;7035:40;7092:19;;6922:73:0;6885:232:1;6922:73:0;7006:19;7029:10;:8;:10::i;:::-;7006:33;-1:-1:-1;7057:24:0;:7;7006:33;7057:11;:24::i;:::-;7050:31;6835:254;-1:-1:-1;;;6835:254:0:o;8795:483::-;4926:6;:13;;-1:-1:-1;;;;4926:13:0;-1:-1:-1;;;4926:13:0;;;8897:16:::1;::::0;;8911:1:::1;8897:16:::0;;;;;::::1;::::0;;-1:-1:-1;;8897:16:0::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;8897:16:0::1;8873:40;;8942:4;8924;8929:1;8924:7;;;;;;-1:-1:-1::0;;;8924:7:0::1;;;;;;;;;-1:-1:-1::0;;;;;8924:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;;:23;;;;8968:15:::1;::::0;:22:::1;::::0;;-1:-1:-1;;;8968:22:0;;;;:15;;;::::1;::::0;:20:::1;::::0;:22:::1;::::0;;::::1;::::0;8924:7;;8968:22;;;;;:15;:22;::::1;;::::0;::::1;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;8958:4;8963:1;8958:7;;;;;;-1:-1:-1::0;;;8958:7:0::1;;;;;;;;;-1:-1:-1::0;;;;;8958:32:0;;::::1;:7;::::0;;::::1;::::0;;;;;:32;9033:15:::1;::::0;9001:62:::1;::::0;9018:4:::1;::::0;9033:15:::1;9051:11:::0;9001:8:::1;:62::i;:::-;9074:15;::::0;:196:::1;::::0;-1:-1:-1;;;9074:196:0;;-1:-1:-1;;;;;9074:15:0;;::::1;::::0;:66:::1;::::0;:196:::1;::::0;9155:11;;9074:15:::1;::::0;9197:4;;9224::::1;::::0;9244:15:::1;::::0;9074:196:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;;4962:6:0;:14;;-1:-1:-1;;;;4962:14:0;;;-1:-1:-1;;;;8795:483:0:o;10561:146::-;10655:44;10673:6;10681:9;10692:6;10655:17;:44::i;13212:163::-;13253:7;13274:15;13291;13310:19;:17;:19::i;:::-;13273:56;;-1:-1:-1;13273:56:0;-1:-1:-1;13347:20:0;13273:56;;13347:11;:20::i;:::-;13340:27;;;;13212:163;:::o;1839:132::-;1897:7;1924:39;1928:1;1931;1924:39;;;;;;;;;;;;;;;;;:3;:39::i;10715:488::-;10814:15;10831:23;10856:12;10870:23;10895:12;10909:13;10926:19;10937:7;10926:10;:19::i;:::-;-1:-1:-1;;;;;10974:15:0;;;;;;:7;:15;;;;;;10813:132;;-1:-1:-1;10813:132:0;;-1:-1:-1;10813:132:0;;-1:-1:-1;10813:132:0;-1:-1:-1;10813:132:0;-1:-1:-1;10813:132:0;-1:-1:-1;10974:28:0;;10813:132;10974:19;:28::i;:::-;-1:-1:-1;;;;;10956:15:0;;;;;;;:7;:15;;;;;;:46;;;;11034:18;;;;;;;:39;;11057:15;11034:22;:39::i;:::-;-1:-1:-1;;;;;11013:18:0;;;;;;:7;:18;;;;;:60;11085:16;11095:5;11085:9;:16::i;:::-;11112:23;11124:4;11130;11112:11;:23::i;:::-;11168:9;-1:-1:-1;;;;;11151:44:0;11160:6;-1:-1:-1;;;;;11151:44:0;;11179:15;11151:44;;;;10363:25:1;;10351:2;10336:18;;10318:76;11151:44:0;;;;;;;;10715:488;;;;;;;;;:::o;13863:262::-;13960:7;;13913;;;;4127:18;14034:20;13960:7;4127:18;14034:11;:20::i;:::-;14024:7;:30;14020:61;;;-1:-1:-1;;14064:7:0;;;4127:18;;-1:-1:-1;13863:262:0;-1:-1:-1;13863:262:0:o;14020:61::-;14100:7;;14109;;-1:-1:-1;13863:262:0;-1:-1:-1;13863:262:0:o;1979:189::-;2065:7;2100:12;2093:5;2085:28;;;;-1:-1:-1;;;2085:28:0;;;;;;;;:::i;:::-;-1:-1:-1;2124:9:0;2136:5;2140:1;2136;:5;:::i;11960:471::-;12019:7;12028;12037;12046;12055;12064;12085:23;12110:12;12124:13;12141:42;12153:7;12162:9;;12173;;12141:11;:42::i;:::-;12084:99;;;;;;12194:19;12217:10;:8;:10::i;:::-;12194:33;;12239:15;12256:23;12281:12;12297:46;12309:7;12318:4;12324:5;12331:11;12297;:46::i;:::-;12238:105;;-1:-1:-1;12238:105:0;-1:-1:-1;12238:105:0;-1:-1:-1;12394:15:0;;-1:-1:-1;12411:4:0;;-1:-1:-1;12417:5:0;;-1:-1:-1;;;;;11960:471:0;;;;;;;:::o;1243:136::-;1301:7;1328:43;1332:1;1335;1328:43;;;;;;;;;;;;;;;;;:3;:43::i;1056:179::-;1114:7;;1146:5;1150:1;1146;:5;:::i;:::-;1134:17;;1175:1;1170;:6;;1162:46;;;;-1:-1:-1;;;1162:46:0;;7727:2:1;1162:46:0;;;7709:21:1;7766:2;7746:18;;;7739:30;7805:29;7785:18;;;7778:57;7852:18;;1162:46:0;7699:177:1;11211:212:0;11264:19;11287:10;:8;:10::i;:::-;11264:33;-1:-1:-1;11308:13:0;11324:22;:5;11264:33;11324:9;:22::i;:::-;11398:4;11382:22;;;;:7;:22;;;;;;11308:38;;-1:-1:-1;11382:33:0;;11308:38;11382:26;:33::i;:::-;11373:4;11357:22;;;;:7;:22;;;;;:58;-1:-1:-1;;;11211:212:0:o;11431:147::-;11509:7;;:17;;11521:4;11509:11;:17::i;:::-;11499:7;:27;11550:10;;:20;;11565:4;11550:14;:20::i;:::-;11537:10;:33;-1:-1:-1;;11431:147:0:o;12439:351::-;12532:7;;;;12585:28;12609:3;12585:19;:7;12597:6;12585:11;:19::i;:::-;:23;;:28::i;:::-;12570:43;-1:-1:-1;12624:13:0;12640:29;12665:3;12640:20;:7;12652;12640:11;:20::i;:29::-;12624:45;-1:-1:-1;12680:23:0;12706:28;12624:45;12706:17;:7;12718:4;12706:11;:17::i;:::-;:21;;:28::i;:::-;12680:54;12770:4;;-1:-1:-1;12776:5:0;;-1:-1:-1;12439:351:0;;-1:-1:-1;;;;;12439:351:0:o;12798:409::-;12908:7;;;;12964:24;:7;12976:11;12964;:24::i;:::-;12946:42;-1:-1:-1;12999:12:0;13014:21;:4;13023:11;13014:8;:21::i;:::-;12999:36;-1:-1:-1;13046:13:0;13062:22;:5;13072:11;13062:9;:22::i;:::-;13046:38;-1:-1:-1;13095:23:0;13121:28;13046:38;13121:17;:7;13133:4;13121:11;:17::i;:28::-;13168:7;;;;-1:-1:-1;13194:4:0;;-1:-1:-1;12798:409:0;;-1:-1:-1;;;;;;;12798:409:0:o;1585:246::-;1643:7;1667:6;1663:47;;-1:-1:-1;1697:1:0;1690:8;;1663:47;1720:9;1732:5;1736:1;1732;:5;:::i;:::-;1720:17;-1:-1:-1;1765:1:0;1756:5;1760:1;1720:17;1756:5;:::i;:::-;:10;1748:56;;;;-1:-1:-1;;;1748:56:0;;8083:2:1;1748:56:0;;;8065:21:1;8122:2;8102:18;;;8095:30;8161:34;8141:18;;;8134:62;-1:-1:-1;;;8212:18:1;;;8205:31;8253:19;;1748:56:0;8055:223:1;14:134;82:20;;111:31;82:20;111:31;:::i;:::-;63:85;;;:::o;153:257::-;212:6;265:2;253:9;244:7;240:23;236:32;233:2;;;286:6;278;271:22;233:2;330:9;317:23;349:31;374:5;349:31;:::i;415:261::-;485:6;538:2;526:9;517:7;513:23;509:32;506:2;;;559:6;551;544:22;506:2;596:9;590:16;615:31;640:5;615:31;:::i;681:398::-;749:6;757;810:2;798:9;789:7;785:23;781:32;778:2;;;831:6;823;816:22;778:2;875:9;862:23;894:31;919:5;894:31;:::i;:::-;944:5;-1:-1:-1;1001:2:1;986:18;;973:32;1014:33;973:32;1014:33;:::i;:::-;1066:7;1056:17;;;768:311;;;;;:::o;1084:466::-;1161:6;1169;1177;1230:2;1218:9;1209:7;1205:23;1201:32;1198:2;;;1251:6;1243;1236:22;1198:2;1295:9;1282:23;1314:31;1339:5;1314:31;:::i;:::-;1364:5;-1:-1:-1;1421:2:1;1406:18;;1393:32;1434:33;1393:32;1434:33;:::i;:::-;1188:362;;1486:7;;-1:-1:-1;;;1540:2:1;1525:18;;;;1512:32;;1188:362::o;1555:325::-;1623:6;1631;1684:2;1672:9;1663:7;1659:23;1655:32;1652:2;;;1705:6;1697;1690:22;1652:2;1749:9;1736:23;1768:31;1793:5;1768:31;:::i;:::-;1818:5;1870:2;1855:18;;;;1842:32;;-1:-1:-1;;;1642:238:1:o;1885:1177::-;1969:6;2000:2;2043;2031:9;2022:7;2018:23;2014:32;2011:2;;;2064:6;2056;2049:22;2011:2;2109:9;2096:23;2138:18;2179:2;2171:6;2168:14;2165:2;;;2200:6;2192;2185:22;2165:2;2243:6;2232:9;2228:22;2218:32;;2288:7;2281:4;2277:2;2273:13;2269:27;2259:2;;2315:6;2307;2300:22;2259:2;2356;2343:16;2378:2;2374;2371:10;2368:2;;;2384:18;;:::i;:::-;2430:2;2427:1;2423:10;2462:2;2456:9;2525:2;2521:7;2516:2;2512;2508:11;2504:25;2496:6;2492:38;2580:6;2568:10;2565:22;2560:2;2548:10;2545:18;2542:46;2539:2;;;2591:18;;:::i;:::-;2627:2;2620:22;2677:18;;;2711:15;;;;-1:-1:-1;2746:11:1;;;2776;;;2772:20;;2769:33;-1:-1:-1;2766:2:1;;;2820:6;2812;2805:22;2766:2;2847:6;2838:15;;2862:169;2876:2;2873:1;2870:9;2862:169;;;2933:23;2952:3;2933:23;:::i;:::-;2921:36;;2894:1;2887:9;;;;;2977:12;;;;3009;;2862:169;;;-1:-1:-1;3050:6:1;1980:1082;-1:-1:-1;;;;;;;;1980:1082:1:o;3067:251::-;3123:6;3176:2;3164:9;3155:7;3151:23;3147:32;3144:2;;;3197:6;3189;3182:22;3144:2;3241:9;3228:23;3260:28;3282:5;3260:28;:::i;3323:255::-;3390:6;3443:2;3431:9;3422:7;3418:23;3414:32;3411:2;;;3464:6;3456;3449:22;3411:2;3501:9;3495:16;3520:28;3542:5;3520:28;:::i;3583:190::-;3642:6;3695:2;3683:9;3674:7;3670:23;3666:32;3663:2;;;3716:6;3708;3701:22;3663:2;-1:-1:-1;3744:23:1;;3653:120;-1:-1:-1;3653:120:1:o;3778:316::-;3866:6;3874;3882;3935:2;3923:9;3914:7;3910:23;3906:32;3903:2;;;3956:6;3948;3941:22;3903:2;3990:9;3984:16;3974:26;;4040:2;4029:9;4025:18;4019:25;4009:35;;4084:2;4073:9;4069:18;4063:25;4053:35;;3893:201;;;;;:::o;5699:603::-;5811:4;5840:2;5869;5858:9;5851:21;5901:6;5895:13;5944:6;5939:2;5928:9;5924:18;5917:34;5969:4;5982:140;5996:6;5993:1;5990:13;5982:140;;;6091:14;;;6087:23;;6081:30;6057:17;;;6076:2;6053:26;6046:66;6011:10;;5982:140;;;6140:6;6137:1;6134:13;6131:2;;;6210:4;6205:2;6196:6;6185:9;6181:22;6177:31;6170:45;6131:2;-1:-1:-1;6286:2:1;6265:15;-1:-1:-1;;6261:29:1;6246:45;;;;6293:2;6242:54;;5820:482;-1:-1:-1;;;5820:482:1:o;8283:356::-;8485:2;8467:21;;;8504:18;;;8497:30;8563:34;8558:2;8543:18;;8536:62;8630:2;8615:18;;8457:182::o;10399:983::-;10661:4;10709:3;10698:9;10694:19;10740:6;10729:9;10722:25;10766:2;10804:6;10799:2;10788:9;10784:18;10777:34;10847:3;10842:2;10831:9;10827:18;10820:31;10871:6;10906;10900:13;10937:6;10929;10922:22;10975:3;10964:9;10960:19;10953:26;;11014:2;11006:6;11002:15;10988:29;;11035:4;11048:195;11062:6;11059:1;11056:13;11048:195;;;11127:13;;-1:-1:-1;;;;;11123:39:1;11111:52;;11218:15;;;;11183:12;;;;11159:1;11077:9;11048:195;;;-1:-1:-1;;;;;;;11299:32:1;;;;11294:2;11279:18;;11272:60;-1:-1:-1;;;11363:3:1;11348:19;11341:35;11260:3;10670:712;-1:-1:-1;;;10670:712:1:o;11576:128::-;11616:3;11647:1;11643:6;11640:1;11637:13;11634:2;;;11653:18;;:::i;:::-;-1:-1:-1;11689:9:1;;11624:80::o;11709:217::-;11749:1;11775;11765:2;;-1:-1:-1;;;11800:31:1;;11854:4;11851:1;11844:15;11882:4;11807:1;11872:15;11765:2;-1:-1:-1;11911:9:1;;11755:171::o;11931:168::-;11971:7;12037:1;12033;12029:6;12025:14;12022:1;12019:21;12014:1;12007:9;12000:17;11996:45;11993:2;;;12044:18;;:::i;:::-;-1:-1:-1;12084:9:1;;11983:116::o;12104:125::-;12144:4;12172:1;12169;12166:8;12163:2;;;12177:18;;:::i;:::-;-1:-1:-1;12214:9:1;;12153:76::o;12234:135::-;12273:3;-1:-1:-1;;12294:17:1;;12291:2;;;12314:18;;:::i;:::-;-1:-1:-1;12361:1:1;12350:13;;12281:88::o;12374:127::-;12435:10;12430:3;12426:20;12423:1;12416:31;12466:4;12463:1;12456:15;12490:4;12487:1;12480:15;12506:127;12567:10;12562:3;12558:20;12555:1;12548:31;12598:4;12595:1;12588:15;12622:4;12619:1;12612:15;12638:131;-1:-1:-1;;;;;12713:31:1;;12703:42;;12693:2;;12759:1;12756;12749:12;12774:118;12860:5;12853:13;12846:21;12839:5;12836:32;12826:2;;12882:1;12879;12872:12
Swarm Source
ipfs://c573f57d2b475c551f654758eef94f50b1c58f69811850b9b663a5bab134fc65
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.