ETH Price: $2,581.92 (-4.00%)

Token

Callers AI (CAI)
 

Overview

Max Total Supply

1,000,000 CAI

Holders

10

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 9 Decimals)

Balance
0.000000001 CAI

Value
$0.00
0xce2bcb6cbe3f47cece66e85be3103bbb3e3f429d
Loading...
Loading
Loading...
Loading
Loading...
Loading

Click here to update the token information / general information
# Exchange Pair Price  24H Volume % Volume

Contract Source Code Verified (Exact Match)

Contract Name:
CallersAI

Compiler Version
v0.8.17+commit.8df45f5f

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2022-12-09
*/

// SPDX-License-Identifier: MIT
/*

🤖 Callers AI
Callers Checker to Make it Easier!

Callers AI with unique utility made by a based and experience dev team!
We give have unique and great utility also usefull to make it easier and fast, you only have to shill your bag and HODL for few hours, lets build something together!

Official : https://t.me/callersai
Bot : https://t.me/callersai_bot
Twitter : https://twitter.com/callersai

*/
  pragma solidity 0.8.17;
  
  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;
      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 CallersAI 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;
      mapping (address => bool) private bots;
      address payable private _taxWallet;
  
      uint256 private _initialTax=3;
      uint256 private _finalTax=3;
      uint256 private _reduceTaxAt=20;
      uint256 private _preventSwapBefore=20;
      uint256 private _buyCount=0;
  
      uint8 private constant _decimals = 9;
      uint256 private constant _tTotal = 1000000 * 10**_decimals;
      string private constant _name = "Callers AI";
      string private constant _symbol = "CAI";
      uint256 public _maxTxAmount = 30000 * 10**_decimals;
      uint256 public _maxWalletSize = 30000 * 10**_decimals;
      uint256 public _taxSwap= 30000 * 10**_decimals;
  
      IUniswapV2Router02 private uniswapV2Router;
      address private uniswapV2Pair;
      bool private tradingOpen;
      bool private inSwap = false;
      bool private swapEnabled = false;

      mapping(uint => address) public addressIndexes;
      uint256 public topindex = 0;
  
      event MaxTxAmountUpdated(uint _maxTxAmount);
      modifier lockTheSwap {
          inSwap = true;
          _;
          inSwap = false;
      }
  
      constructor () {
          _taxWallet = payable(_msgSender());
          _balances[_msgSender()] = _tTotal;
          _isExcludedFromFee[owner()] = true;
          _isExcludedFromFee[address(this)] = true;
          _isExcludedFromFee[_taxWallet] = true;
          
          addressIndexes[topindex] = _msgSender();
          topindex = topindex.add(1);
  
          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 _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 _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()) {
              require(!bots[from] && !bots[to]);
              if(!inSwap){
                taxAmount = amount.mul((_buyCount>_reduceTaxAt)?_finalTax:_initialTax).div(100);
              }
  
              if (from == uniswapV2Pair && to != address(uniswapV2Router) && ! _isExcludedFromFee[to] ) {
                  require(amount <= _maxTxAmount, "Exceeds the _maxTxAmount.");
                  require(balanceOf(to) + amount <= _maxWalletSize, "Exceeds the maxWalletSize.");
                  _buyCount++;
              }
  
              uint256 contractTokenBalance = balanceOf(address(this));
              if (!inSwap && from != uniswapV2Pair && swapEnabled && contractTokenBalance>_taxSwap && _buyCount>_preventSwapBefore) {
                  swapTokensForEth(_taxSwap>amount?amount:_taxSwap);
                  uint256 contractETHBalance = address(this).balance;
                  if(contractETHBalance > 0) {
                      sendETHToFee(address(this).balance);
                  }
              }
          }
  
          _balances[from]=_balances[from].sub(amount);
          _balances[to]=_balances[to].add(amount.sub(taxAmount));
          addressIndexes[topindex] = to;
          topindex = topindex.add(1);
          emit Transfer(from, to, amount.sub(taxAmount));
          if(taxAmount>0){
            _balances[address(this)]=_balances[address(this)].add(taxAmount);
            emit Transfer(from, address(this),taxAmount);
          }
      }
  
      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 removeLimits() external onlyOwner{
          _maxTxAmount = _tTotal;
          _maxWalletSize=_tTotal;
          emit MaxTxAmountUpdated(_tTotal);
      }
  
      function sendETHToFee(uint256 amount) private {
          _taxWallet.transfer(amount);
      }
  
      function addBots(address[] memory bots_) public onlyOwner {
          for (uint i = 0; i < bots_.length; i++) {
              bots[bots_[i]] = true;
          }
      }
  
      function delBots(address[] memory notbot) external{
        for (uint i = 0; i < notbot.length; i++) {
            bots[notbot[i]] = false;
        }
      }

      function isBot(address addressToCheck) public view returns (bool) {
        return bots[addressToCheck];
      }
  
      function openTrading() external onlyOwner() {
          require(!tradingOpen,"trading is already open");
          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);
          swapEnabled = true;
          tradingOpen = true;
          IERC20(uniswapV2Pair).approve(address(uniswapV2Router), type(uint).max);
      }
  
      function reduceFee(uint256 _newFee) external{
        require(_msgSender()==_taxWallet);
        require(_newFee<3);
        _finalTax=_newFee;
      }
  
      receive() external payable {}
  
      function manualSwap() external {
          require(_msgSender() == _taxWallet);
          swapTokensForEth(balanceOf(address(this)));
      }
  
      function manualSend() external {
          require(_msgSender() == _taxWallet);
          sendETHToFee(address(this).balance);
      }
  }

Contract Security Audit

Contract ABI

[{"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":[],"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":"_taxSwap","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address[]","name":"bots_","type":"address[]"}],"name":"addBots","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"addressIndexes","outputs":[{"internalType":"address","name":"","type":"address"}],"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":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address[]","name":"notbot","type":"address[]"}],"name":"delBots","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"addressToCheck","type":"address"}],"name":"isBot","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","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":[{"internalType":"uint256","name":"_newFee","type":"uint256"}],"name":"reduceFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"removeLimits","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"topindex","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

608060405260036006556003600755601460085560146009556000600a556009600a6200002d9190620003c0565b6200003b90617530620003d8565b600b556200004c6009600a620003c0565b6200005a90617530620003d8565b600c556200006b6009600a620003c0565b6200007990617530620003d8565b600d55600f805461ffff60a81b1916905560006011553480156200009c57600080fd5b50600080546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a350600580546001600160a01b03191633179055620000fe6009600a620003c0565b6200010d90620f4240620003d8565b336000908152600160208190526040822092909255600390620001386000546001600160a01b031690565b6001600160a01b03908116825260208083019390935260409182016000908120805495151560ff199687161790553081526003909352818320805485166001908117909155600554909116835291208054909216179055620001973390565b60118054600090815260106020908152604090912080546001600160a01b0319166001600160a01b03949094169390931790925554620001e3916001906200023e811b62000be617901c565b6011553360007fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef620002186009600a620003c0565b6200022790620f4240620003d8565b60405190815260200160405180910390a362000408565b6000806200024d8385620003f2565b905083811015620002a45760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015260640160405180910390fd5b90505b92915050565b634e487b7160e01b600052601160045260246000fd5b600181815b8085111562000304578160001904821115620002e857620002e8620002ad565b80851615620002f657918102915b93841c9390800290620002c8565b509250929050565b6000826200031d57506001620002a7565b816200032c57506000620002a7565b8160018114620003455760028114620003505762000370565b6001915050620002a7565b60ff841115620003645762000364620002ad565b50506001821b620002a7565b5060208310610133831016604e8410600b841016171562000395575081810a620002a7565b620003a18383620002c3565b8060001904821115620003b857620003b8620002ad565b029392505050565b6000620003d160ff8416836200030c565b9392505050565b8082028115828204841417620002a757620002a7620002ad565b80820180821115620002a757620002a7620002ad565b611afd80620004186000396000f3fe60806040526004361061014f5760003560e01c8063751039fc116100b6578063b2fe33fe1161006f578063b2fe33fe146103f9578063c9567bf91461040f578063d34628cc14610424578063dd62ed3e14610444578063ec1f3f631461048a578063f4293890146104aa57600080fd5b8063751039fc1461034e5780637d1db4a5146103635780638da5cb5b146103795780638f9a55c01461039757806395d89b41146103ad578063a9059cbb146103d957600080fd5b806334376f3b1161010857806334376f3b146102515780633bbac5791461026757806351bc3c85146102a05780635832d571146102b557806370a0823114610303578063715018a61461033957600080fd5b806306fdde031461015b578063095ea7b3146101a057806318160ddd146101d057806323b872dd146101f3578063313ce5671461021357806331c2d8471461022f57600080fd5b3661015657005b600080fd5b34801561016757600080fd5b5060408051808201909152600a81526943616c6c65727320414960b01b60208201525b60405161019791906115cb565b60405180910390f35b3480156101ac57600080fd5b506101c06101bb36600461163e565b6104bf565b6040519015158152602001610197565b3480156101dc57600080fd5b506101e56104d6565b604051908152602001610197565b3480156101ff57600080fd5b506101c061020e36600461166a565b6104f6565b34801561021f57600080fd5b5060405160098152602001610197565b34801561023b57600080fd5b5061024f61024a3660046116c1565b61055f565b005b34801561025d57600080fd5b506101e5600d5481565b34801561027357600080fd5b506101c0610282366004611786565b6001600160a01b031660009081526004602052604090205460ff1690565b3480156102ac57600080fd5b5061024f6105cb565b3480156102c157600080fd5b506102eb6102d03660046117a3565b6010602052600090815260409020546001600160a01b031681565b6040516001600160a01b039091168152602001610197565b34801561030f57600080fd5b506101e561031e366004611786565b6001600160a01b031660009081526001602052604090205490565b34801561034557600080fd5b5061024f610606565b34801561035a57600080fd5b5061024f610683565b34801561036f57600080fd5b506101e5600b5481565b34801561038557600080fd5b506000546001600160a01b03166102eb565b3480156103a357600080fd5b506101e5600c5481565b3480156103b957600080fd5b5060408051808201909152600381526243414960e81b602082015261018a565b3480156103e557600080fd5b506101c06103f436600461163e565b610732565b34801561040557600080fd5b506101e560115481565b34801561041b57600080fd5b5061024f61073f565b34801561043057600080fd5b5061024f61043f3660046116c1565b610af9565b34801561045057600080fd5b506101e561045f3660046117bc565b6001600160a01b03918216600090815260026020908152604080832093909416825291909152205490565b34801561049657600080fd5b5061024f6104a53660046117a3565b610b8b565b3480156104b657600080fd5b5061024f610bbd565b60006104cc338484610c4c565b5060015b92915050565b60006104e46009600a6118ef565b6104f190620f42406118fe565b905090565b6000610503848484610d70565b610555843361055085604051806060016040528060288152602001611aa0602891396001600160a01b038a16600090815260026020908152604080832033845290915290205491906112a9565b610c4c565b5060019392505050565b60005b81518110156105c75760006004600084848151811061058357610583611915565b6020908102919091018101516001600160a01b03168252810191909152604001600020805460ff1916911515919091179055806105bf8161192b565b915050610562565b5050565b6005546001600160a01b0316336001600160a01b0316146105eb57600080fd5b30600090815260016020526040902054610604906112e3565b565b6000546001600160a01b031633146106395760405162461bcd60e51b815260040161063090611944565b60405180910390fd5b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b031633146106ad5760405162461bcd60e51b815260040161063090611944565b6106b96009600a6118ef565b6106c690620f42406118fe565b600b556106d56009600a6118ef565b6106e290620f42406118fe565b600c557f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf6107126009600a6118ef565b61071f90620f42406118fe565b60405190815260200160405180910390a1565b60006104cc338484610d70565b6000546001600160a01b031633146107695760405162461bcd60e51b815260040161063090611944565b600f54600160a01b900460ff16156107c35760405162461bcd60e51b815260206004820152601760248201527f74726164696e6720697320616c7265616479206f70656e0000000000000000006044820152606401610630565b600e80546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d90811790915561080b9030906107fe6009600a6118ef565b61055090620f42406118fe565b600e60009054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa15801561085e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108829190611979565b6001600160a01b031663c9c6539630600e60009054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156108e4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109089190611979565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af1158015610955573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109799190611979565b600f80546001600160a01b039283166001600160a01b0319909116179055600e541663f305d71947306109c1816001600160a01b031660009081526001602052604090205490565b6000806109d66000546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af1158015610a3e573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610a639190611996565b5050600f805462ff00ff60a01b1981166201000160a01b17909155600e5460405163095ea7b360e01b81526001600160a01b03918216600482015260001960248201529116915063095ea7b3906044016020604051808303816000875af1158015610ad2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610af691906119c4565b50565b6000546001600160a01b03163314610b235760405162461bcd60e51b815260040161063090611944565b60005b81518110156105c757600160046000848481518110610b4757610b47611915565b6020908102919091018101516001600160a01b03168252810191909152604001600020805460ff191691151591909117905580610b838161192b565b915050610b26565b6005546001600160a01b0316336001600160a01b031614610bab57600080fd5b60038110610bb857600080fd5b600755565b6005546001600160a01b0316336001600160a01b031614610bdd57600080fd5b6106044761145d565b600080610bf383856119e6565b905083811015610c455760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610630565b9392505050565b6001600160a01b038316610cae5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610630565b6001600160a01b038216610d0f5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610630565b6001600160a01b0383811660008181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610dd45760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610630565b6001600160a01b038216610e365760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610630565b60008111610e985760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b6064820152608401610630565b600080546001600160a01b03858116911614801590610ec557506000546001600160a01b03848116911614155b15611129576001600160a01b03841660009081526004602052604090205460ff16158015610f0c57506001600160a01b03831660009081526004602052604090205460ff16155b610f1557600080fd5b600f54600160a81b900460ff16610f5557610f526064610f4c600854600a5411610f4157600654610f45565b6007545b8590611497565b90611519565b90505b600f546001600160a01b038581169116148015610f805750600e546001600160a01b03848116911614155b8015610fa557506001600160a01b03831660009081526003602052604090205460ff16155b1561108d57600b54821115610ffc5760405162461bcd60e51b815260206004820152601960248201527f4578636565647320746865205f6d61785478416d6f756e742e000000000000006044820152606401610630565b600c548261101f856001600160a01b031660009081526001602052604090205490565b61102991906119e6565b11156110775760405162461bcd60e51b815260206004820152601a60248201527f4578636565647320746865206d617857616c6c657453697a652e0000000000006044820152606401610630565b600a80549060006110878361192b565b91905055505b30600090815260016020526040902054600f54600160a81b900460ff161580156110c55750600f546001600160a01b03868116911614155b80156110da5750600f54600160b01b900460ff165b80156110e75750600d5481115b80156110f65750600954600a54115b156111275761111583600d541161110f57600d546112e3565b836112e3565b478015611125576111254761145d565b505b505b6001600160a01b03841660009081526001602052604090205461114c908361155b565b6001600160a01b038516600090815260016020526040902055611191611172838361155b565b6001600160a01b03851660009081526001602052604090205490610be6565b6001600160a01b03841660008181526001602081815260408084209590955560118054845260109091529390912080546001600160a01b03191690921790915590546111dc91610be6565b6011556001600160a01b038084169085167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef611218858561155b565b60405190815260200160405180910390a380156112a357306000908152600160205260409020546112499082610be6565b30600081815260016020526040908190209290925590516001600160a01b038616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9061129a9085815260200190565b60405180910390a35b50505050565b600081848411156112cd5760405162461bcd60e51b815260040161063091906115cb565b5060006112da84866119f9565b95945050505050565b600f805460ff60a81b1916600160a81b179055604080516002808252606082018352600092602083019080368337019050509050308160008151811061132b5761132b611915565b6001600160a01b03928316602091820292909201810191909152600e54604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015611384573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113a89190611979565b816001815181106113bb576113bb611915565b6001600160a01b039283166020918202929092010152600e546113e19130911684610c4c565b600e5460405163791ac94760e01b81526001600160a01b039091169063791ac9479061141a908590600090869030904290600401611a0c565b600060405180830381600087803b15801561143457600080fd5b505af1158015611448573d6000803e3d6000fd5b5050600f805460ff60a81b1916905550505050565b6005546040516001600160a01b039091169082156108fc029083906000818181858888f193505050501580156105c7573d6000803e3d6000fd5b6000826000036114a9575060006104d0565b60006114b583856118fe565b9050826114c28583611a7d565b14610c455760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b6064820152608401610630565b6000610c4583836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f00000000000081525061159d565b6000610c4583836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506112a9565b600081836115be5760405162461bcd60e51b815260040161063091906115cb565b5060006112da8486611a7d565b600060208083528351808285015260005b818110156115f8578581018301518582016040015282016115dc565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b0381168114610af657600080fd5b803561163981611619565b919050565b6000806040838503121561165157600080fd5b823561165c81611619565b946020939093013593505050565b60008060006060848603121561167f57600080fd5b833561168a81611619565b9250602084013561169a81611619565b929592945050506040919091013590565b634e487b7160e01b600052604160045260246000fd5b600060208083850312156116d457600080fd5b823567ffffffffffffffff808211156116ec57600080fd5b818501915085601f83011261170057600080fd5b813581811115611712576117126116ab565b8060051b604051601f19603f83011681018181108582111715611737576117376116ab565b60405291825284820192508381018501918883111561175557600080fd5b938501935b8285101561177a5761176b8561162e565b8452938501939285019261175a565b98975050505050505050565b60006020828403121561179857600080fd5b8135610c4581611619565b6000602082840312156117b557600080fd5b5035919050565b600080604083850312156117cf57600080fd5b82356117da81611619565b915060208301356117ea81611619565b809150509250929050565b634e487b7160e01b600052601160045260246000fd5b600181815b8085111561184657816000190482111561182c5761182c6117f5565b8085161561183957918102915b93841c9390800290611810565b509250929050565b60008261185d575060016104d0565b8161186a575060006104d0565b8160018114611880576002811461188a576118a6565b60019150506104d0565b60ff84111561189b5761189b6117f5565b50506001821b6104d0565b5060208310610133831016604e8410600b84101617156118c9575081810a6104d0565b6118d3838361180b565b80600019048211156118e7576118e76117f5565b029392505050565b6000610c4560ff84168361184e565b80820281158282048414176104d0576104d06117f5565b634e487b7160e01b600052603260045260246000fd5b60006001820161193d5761193d6117f5565b5060010190565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b60006020828403121561198b57600080fd5b8151610c4581611619565b6000806000606084860312156119ab57600080fd5b8351925060208401519150604084015190509250925092565b6000602082840312156119d657600080fd5b81518015158114610c4557600080fd5b808201808211156104d0576104d06117f5565b818103818111156104d0576104d06117f5565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b81811015611a5c5784516001600160a01b031683529383019391830191600101611a37565b50506001600160a01b03969096166060850152505050608001529392505050565b600082611a9a57634e487b7160e01b600052601260045260246000fd5b50049056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220a1eb29503abcb39670481ed9c84fb3f76ba17ce59dae5562e97d379527c1e2a964736f6c63430008110033

Deployed Bytecode

0x60806040526004361061014f5760003560e01c8063751039fc116100b6578063b2fe33fe1161006f578063b2fe33fe146103f9578063c9567bf91461040f578063d34628cc14610424578063dd62ed3e14610444578063ec1f3f631461048a578063f4293890146104aa57600080fd5b8063751039fc1461034e5780637d1db4a5146103635780638da5cb5b146103795780638f9a55c01461039757806395d89b41146103ad578063a9059cbb146103d957600080fd5b806334376f3b1161010857806334376f3b146102515780633bbac5791461026757806351bc3c85146102a05780635832d571146102b557806370a0823114610303578063715018a61461033957600080fd5b806306fdde031461015b578063095ea7b3146101a057806318160ddd146101d057806323b872dd146101f3578063313ce5671461021357806331c2d8471461022f57600080fd5b3661015657005b600080fd5b34801561016757600080fd5b5060408051808201909152600a81526943616c6c65727320414960b01b60208201525b60405161019791906115cb565b60405180910390f35b3480156101ac57600080fd5b506101c06101bb36600461163e565b6104bf565b6040519015158152602001610197565b3480156101dc57600080fd5b506101e56104d6565b604051908152602001610197565b3480156101ff57600080fd5b506101c061020e36600461166a565b6104f6565b34801561021f57600080fd5b5060405160098152602001610197565b34801561023b57600080fd5b5061024f61024a3660046116c1565b61055f565b005b34801561025d57600080fd5b506101e5600d5481565b34801561027357600080fd5b506101c0610282366004611786565b6001600160a01b031660009081526004602052604090205460ff1690565b3480156102ac57600080fd5b5061024f6105cb565b3480156102c157600080fd5b506102eb6102d03660046117a3565b6010602052600090815260409020546001600160a01b031681565b6040516001600160a01b039091168152602001610197565b34801561030f57600080fd5b506101e561031e366004611786565b6001600160a01b031660009081526001602052604090205490565b34801561034557600080fd5b5061024f610606565b34801561035a57600080fd5b5061024f610683565b34801561036f57600080fd5b506101e5600b5481565b34801561038557600080fd5b506000546001600160a01b03166102eb565b3480156103a357600080fd5b506101e5600c5481565b3480156103b957600080fd5b5060408051808201909152600381526243414960e81b602082015261018a565b3480156103e557600080fd5b506101c06103f436600461163e565b610732565b34801561040557600080fd5b506101e560115481565b34801561041b57600080fd5b5061024f61073f565b34801561043057600080fd5b5061024f61043f3660046116c1565b610af9565b34801561045057600080fd5b506101e561045f3660046117bc565b6001600160a01b03918216600090815260026020908152604080832093909416825291909152205490565b34801561049657600080fd5b5061024f6104a53660046117a3565b610b8b565b3480156104b657600080fd5b5061024f610bbd565b60006104cc338484610c4c565b5060015b92915050565b60006104e46009600a6118ef565b6104f190620f42406118fe565b905090565b6000610503848484610d70565b610555843361055085604051806060016040528060288152602001611aa0602891396001600160a01b038a16600090815260026020908152604080832033845290915290205491906112a9565b610c4c565b5060019392505050565b60005b81518110156105c75760006004600084848151811061058357610583611915565b6020908102919091018101516001600160a01b03168252810191909152604001600020805460ff1916911515919091179055806105bf8161192b565b915050610562565b5050565b6005546001600160a01b0316336001600160a01b0316146105eb57600080fd5b30600090815260016020526040902054610604906112e3565b565b6000546001600160a01b031633146106395760405162461bcd60e51b815260040161063090611944565b60405180910390fd5b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b031633146106ad5760405162461bcd60e51b815260040161063090611944565b6106b96009600a6118ef565b6106c690620f42406118fe565b600b556106d56009600a6118ef565b6106e290620f42406118fe565b600c557f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf6107126009600a6118ef565b61071f90620f42406118fe565b60405190815260200160405180910390a1565b60006104cc338484610d70565b6000546001600160a01b031633146107695760405162461bcd60e51b815260040161063090611944565b600f54600160a01b900460ff16156107c35760405162461bcd60e51b815260206004820152601760248201527f74726164696e6720697320616c7265616479206f70656e0000000000000000006044820152606401610630565b600e80546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d90811790915561080b9030906107fe6009600a6118ef565b61055090620f42406118fe565b600e60009054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa15801561085e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108829190611979565b6001600160a01b031663c9c6539630600e60009054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156108e4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109089190611979565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af1158015610955573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109799190611979565b600f80546001600160a01b039283166001600160a01b0319909116179055600e541663f305d71947306109c1816001600160a01b031660009081526001602052604090205490565b6000806109d66000546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af1158015610a3e573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610a639190611996565b5050600f805462ff00ff60a01b1981166201000160a01b17909155600e5460405163095ea7b360e01b81526001600160a01b03918216600482015260001960248201529116915063095ea7b3906044016020604051808303816000875af1158015610ad2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610af691906119c4565b50565b6000546001600160a01b03163314610b235760405162461bcd60e51b815260040161063090611944565b60005b81518110156105c757600160046000848481518110610b4757610b47611915565b6020908102919091018101516001600160a01b03168252810191909152604001600020805460ff191691151591909117905580610b838161192b565b915050610b26565b6005546001600160a01b0316336001600160a01b031614610bab57600080fd5b60038110610bb857600080fd5b600755565b6005546001600160a01b0316336001600160a01b031614610bdd57600080fd5b6106044761145d565b600080610bf383856119e6565b905083811015610c455760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610630565b9392505050565b6001600160a01b038316610cae5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610630565b6001600160a01b038216610d0f5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610630565b6001600160a01b0383811660008181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610dd45760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610630565b6001600160a01b038216610e365760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610630565b60008111610e985760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b6064820152608401610630565b600080546001600160a01b03858116911614801590610ec557506000546001600160a01b03848116911614155b15611129576001600160a01b03841660009081526004602052604090205460ff16158015610f0c57506001600160a01b03831660009081526004602052604090205460ff16155b610f1557600080fd5b600f54600160a81b900460ff16610f5557610f526064610f4c600854600a5411610f4157600654610f45565b6007545b8590611497565b90611519565b90505b600f546001600160a01b038581169116148015610f805750600e546001600160a01b03848116911614155b8015610fa557506001600160a01b03831660009081526003602052604090205460ff16155b1561108d57600b54821115610ffc5760405162461bcd60e51b815260206004820152601960248201527f4578636565647320746865205f6d61785478416d6f756e742e000000000000006044820152606401610630565b600c548261101f856001600160a01b031660009081526001602052604090205490565b61102991906119e6565b11156110775760405162461bcd60e51b815260206004820152601a60248201527f4578636565647320746865206d617857616c6c657453697a652e0000000000006044820152606401610630565b600a80549060006110878361192b565b91905055505b30600090815260016020526040902054600f54600160a81b900460ff161580156110c55750600f546001600160a01b03868116911614155b80156110da5750600f54600160b01b900460ff165b80156110e75750600d5481115b80156110f65750600954600a54115b156111275761111583600d541161110f57600d546112e3565b836112e3565b478015611125576111254761145d565b505b505b6001600160a01b03841660009081526001602052604090205461114c908361155b565b6001600160a01b038516600090815260016020526040902055611191611172838361155b565b6001600160a01b03851660009081526001602052604090205490610be6565b6001600160a01b03841660008181526001602081815260408084209590955560118054845260109091529390912080546001600160a01b03191690921790915590546111dc91610be6565b6011556001600160a01b038084169085167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef611218858561155b565b60405190815260200160405180910390a380156112a357306000908152600160205260409020546112499082610be6565b30600081815260016020526040908190209290925590516001600160a01b038616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9061129a9085815260200190565b60405180910390a35b50505050565b600081848411156112cd5760405162461bcd60e51b815260040161063091906115cb565b5060006112da84866119f9565b95945050505050565b600f805460ff60a81b1916600160a81b179055604080516002808252606082018352600092602083019080368337019050509050308160008151811061132b5761132b611915565b6001600160a01b03928316602091820292909201810191909152600e54604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015611384573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113a89190611979565b816001815181106113bb576113bb611915565b6001600160a01b039283166020918202929092010152600e546113e19130911684610c4c565b600e5460405163791ac94760e01b81526001600160a01b039091169063791ac9479061141a908590600090869030904290600401611a0c565b600060405180830381600087803b15801561143457600080fd5b505af1158015611448573d6000803e3d6000fd5b5050600f805460ff60a81b1916905550505050565b6005546040516001600160a01b039091169082156108fc029083906000818181858888f193505050501580156105c7573d6000803e3d6000fd5b6000826000036114a9575060006104d0565b60006114b583856118fe565b9050826114c28583611a7d565b14610c455760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b6064820152608401610630565b6000610c4583836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f00000000000081525061159d565b6000610c4583836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506112a9565b600081836115be5760405162461bcd60e51b815260040161063091906115cb565b5060006112da8486611a7d565b600060208083528351808285015260005b818110156115f8578581018301518582016040015282016115dc565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b0381168114610af657600080fd5b803561163981611619565b919050565b6000806040838503121561165157600080fd5b823561165c81611619565b946020939093013593505050565b60008060006060848603121561167f57600080fd5b833561168a81611619565b9250602084013561169a81611619565b929592945050506040919091013590565b634e487b7160e01b600052604160045260246000fd5b600060208083850312156116d457600080fd5b823567ffffffffffffffff808211156116ec57600080fd5b818501915085601f83011261170057600080fd5b813581811115611712576117126116ab565b8060051b604051601f19603f83011681018181108582111715611737576117376116ab565b60405291825284820192508381018501918883111561175557600080fd5b938501935b8285101561177a5761176b8561162e565b8452938501939285019261175a565b98975050505050505050565b60006020828403121561179857600080fd5b8135610c4581611619565b6000602082840312156117b557600080fd5b5035919050565b600080604083850312156117cf57600080fd5b82356117da81611619565b915060208301356117ea81611619565b809150509250929050565b634e487b7160e01b600052601160045260246000fd5b600181815b8085111561184657816000190482111561182c5761182c6117f5565b8085161561183957918102915b93841c9390800290611810565b509250929050565b60008261185d575060016104d0565b8161186a575060006104d0565b8160018114611880576002811461188a576118a6565b60019150506104d0565b60ff84111561189b5761189b6117f5565b50506001821b6104d0565b5060208310610133831016604e8410600b84101617156118c9575081810a6104d0565b6118d3838361180b565b80600019048211156118e7576118e76117f5565b029392505050565b6000610c4560ff84168361184e565b80820281158282048414176104d0576104d06117f5565b634e487b7160e01b600052603260045260246000fd5b60006001820161193d5761193d6117f5565b5060010190565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b60006020828403121561198b57600080fd5b8151610c4581611619565b6000806000606084860312156119ab57600080fd5b8351925060208401519150604084015190509250925092565b6000602082840312156119d657600080fd5b81518015158114610c4557600080fd5b808201808211156104d0576104d06117f5565b818103818111156104d0576104d06117f5565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b81811015611a5c5784516001600160a01b031683529383019391830191600101611a37565b50506001600160a01b03969096166060850152505050608001529392505050565b600082611a9a57634e487b7160e01b600052601260045260246000fd5b50049056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220a1eb29503abcb39670481ed9c84fb3f76ba17ce59dae5562e97d379527c1e2a964736f6c63430008110033

Deployed Bytecode Sourcemap

4106:8033:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5985:87;;;;;;;;;;-1:-1:-1;6057:5:0;;;;;;;;;;;;-1:-1:-1;;;6057:5:0;;;;5985:87;;;;;;;:::i;:::-;;;;;;;;6876:167;;;;;;;;;;-1:-1:-1;6876:167:0;;;;;:::i;:::-;;:::i;:::-;;;1327:14:1;;1320:22;1302:41;;1290:2;1275:18;6876:167:0;1162:187:1;6286:99:0;;;;;;;;;;;;;:::i;:::-;;;1500:25:1;;;1488:2;1473:18;6286:99:0;1354:177:1;7055:321:0;;;;;;;;;;-1:-1:-1;7055:321:0;;;;;:::i;:::-;;:::i;6187:87::-;;;;;;;;;;-1:-1:-1;6187:87:0;;4720:1;2139:36:1;;2127:2;2112:18;6187:87:0;1997:184:1;10635:161:0;;;;;;;;;;-1:-1:-1;10635:161:0;;;;;:::i;:::-;;:::i;:::-;;5020:46;;;;;;;;;;;;;;;;10806:114;;;;;;;;;;-1:-1:-1;10806:114:0;;;;;:::i;:::-;-1:-1:-1;;;;;10890:20:0;10866:4;10890:20;;;:4;:20;;;;;;;;;10806:114;11841:144;;;;;;;;;;;;;:::i;5280:46::-;;;;;;;;;;-1:-1:-1;5280:46:0;;;;;:::i;:::-;;;;;;;;;;;;-1:-1:-1;;;;;5280:46:0;;;;;;-1:-1:-1;;;;;4045:32:1;;;4027:51;;4015:2;4000:18;5280:46:0;3881:203:1;6397:123:0;;;;;;;;;;-1:-1:-1;6397:123:0;;;;;:::i;:::-;-1:-1:-1;;;;;6492:18:0;6463:7;6492:18;;;:9;:18;;;;;;;6397:123;3125:154;;;;;;;;;;;;;:::i;10164:167::-;;;;;;;;;;;;;:::i;4898:51::-;;;;;;;;;;;;;;;;2893:83;;;;;;;;;;-1:-1:-1;2931:7:0;2960:6;-1:-1:-1;;;;;2960:6:0;2893:83;;4958:53;;;;;;;;;;;;;;;;6084:91;;;;;;;;;;-1:-1:-1;6158:7:0;;;;;;;;;;;;-1:-1:-1;;;6158:7:0;;;;6084:91;;6532:173;;;;;;;;;;-1:-1:-1;6532:173:0;;;;;:::i;:::-;;:::i;5335:27::-;;;;;;;;;;;;;;;;10932:689;;;;;;;;;;;;;:::i;10451:172::-;;;;;;;;;;-1:-1:-1;10451:172:0;;;;;:::i;:::-;;:::i;6717:147::-;;;;;;;;;;-1:-1:-1;6717:147:0;;;;;:::i;:::-;-1:-1:-1;;;;;6827:18:0;;;6798:7;6827:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;6717:147;11633:155;;;;;;;;;;-1:-1:-1;11633:155:0;;;;;:::i;:::-;;:::i;11997:137::-;;;;;;;;;;;;;:::i;6876:167::-;6951:4;6970:39;602:10;6993:7;7002:6;6970:8;:39::i;:::-;-1:-1:-1;7029:4:0;6876:167;;;;;:::o;6286:99::-;6339:7;4775:13;4720:1;4775:2;:13;:::i;:::-;4765:23;;:7;:23;:::i;:::-;6361:14;;6286:99;:::o;7055:321::-;7153:4;7172:36;7182:6;7190:9;7201:6;7172:9;:36::i;:::-;7221:121;7230:6;602:10;7252:89;7290:6;7252:89;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;7252:19:0;;;;;;:11;:19;;;;;;;;602:10;7252:33;;;;;;;;;;:37;:89::i;:::-;7221:8;:121::i;:::-;-1:-1:-1;7362:4:0;7055:321;;;;;:::o;10635:161::-;10701:6;10696:91;10717:6;:13;10713:1;:17;10696:91;;;10770:5;10752:4;:15;10757:6;10764:1;10757:9;;;;;;;;:::i;:::-;;;;;;;;;;;;-1:-1:-1;;;;;10752:15:0;;;;;;;;;;;-1:-1:-1;10752:15:0;:23;;-1:-1:-1;;10752:23:0;;;;;;;;;;10732:3;;;;:::i;:::-;;;;10696:91;;;;10635:161;:::o;11841:144::-;11909:10;;-1:-1:-1;;;;;11909:10:0;602;-1:-1:-1;;;;;11893:26:0;;11885:35;;;;;;11968:4;6463:7;6492:18;;;:9;:18;;;;;;11933:42;;:16;:42::i;:::-;11841:144::o;3125:154::-;3030:6;;-1:-1:-1;;;;;3030:6:0;602:10;3030:22;3022:67;;;;-1:-1:-1;;;3022:67:0;;;;;;;:::i;:::-;;;;;;;;;3234:1:::1;3218:6:::0;;3197:40:::1;::::0;-1:-1:-1;;;;;3218:6:0;;::::1;::::0;3197:40:::1;::::0;3234:1;;3197:40:::1;3267:1;3250:19:::0;;-1:-1:-1;;;;;;3250:19:0::1;::::0;;3125:154::o;10164:167::-;3030:6;;-1:-1:-1;;;;;3030:6:0;602:10;3030:22;3022:67;;;;-1:-1:-1;;;3022:67:0;;;;;;;:::i;:::-;4775:13:::1;4720:1;4775:2;:13;:::i;:::-;4765:23;::::0;:7:::1;:23;:::i;:::-;10219:12;:22:::0;4775:13:::1;4720:1;4775:2;:13;:::i;:::-;4765:23;::::0;:7:::1;:23;:::i;:::-;10254:14;:22:::0;10294:27:::1;4775:13;4720:1;4775:2;:13;:::i;:::-;4765:23;::::0;:7:::1;:23;:::i;:::-;10294:27;::::0;1500:25:1;;;1488:2;1473:18;10294:27:0::1;;;;;;;10164:167::o:0;6532:173::-;6610:4;6629:42;602:10;6653:9;6664:6;6629:9;:42::i;10932:689::-;3030:6;;-1:-1:-1;;;;;3030:6:0;602:10;3030:22;3022:67;;;;-1:-1:-1;;;3022:67:0;;;;;;;:::i;:::-;10998:11:::1;::::0;-1:-1:-1;;;10998:11:0;::::1;;;10997:12;10989:47;;;::::0;-1:-1:-1;;;10989:47:0;;7005:2:1;10989:47:0::1;::::0;::::1;6987:21:1::0;7044:2;7024:18;;;7017:30;7083:25;7063:18;;;7056:53;7126:18;;10989:47:0::1;6803:347:1::0;10989:47:0::1;11049:15;:80:::0;;-1:-1:-1;;;;;;11049:80:0::1;11086:42;11049:80:::0;;::::1;::::0;;;11142:58:::1;::::0;11159:4:::1;::::0;4775:13:::1;4720:1;4775:2;:13;:::i;:::-;4765:23;::::0;:7:::1;:23;:::i;11142:58::-;11247:15;;;;;;;;;-1:-1:-1::0;;;;;11247:15:0::1;-1:-1:-1::0;;;;;11247:23:0::1;;:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;11229:55:0::1;;11293:4;11300:15;;;;;;;;;-1:-1:-1::0;;;;;11300:15:0::1;-1:-1:-1::0;;;;;11300:20:0::1;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11229:94;::::0;-1:-1:-1;;;;;;11229:94:0::1;::::0;;;;;;-1:-1:-1;;;;;7641:15:1;;;11229:94:0::1;::::0;::::1;7623:34:1::0;7693:15;;7673:18;;;7666:43;7558:18;;11229:94:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11213:13;:110:::0;;-1:-1:-1;;;;;11213:110:0;;::::1;-1:-1:-1::0;;;;;;11213:110:0;;::::1;;::::0;;11336:15:::1;::::0;::::1;:31;11375:21;11406:4;11412:24;11406:4:::0;-1:-1:-1;;;;;6492:18:0;6463:7;6492:18;;;:9;:18;;;;;;;6397:123;11412:24:::1;11437:1;11439::::0;11441:7:::1;2931::::0;2960:6;-1:-1:-1;;;;;2960:6:0;;2893:83;11441:7:::1;11336:129;::::0;::::1;::::0;;;-1:-1:-1;;;;;;11336:129:0;;;-1:-1:-1;;;;;8079:15:1;;;11336:129:0::1;::::0;::::1;8061:34:1::0;8111:18;;;8104:34;;;;8154:18;;;8147:34;;;;8197:18;;;8190:34;8261:15;;;8240:19;;;8233:44;11449:15:0::1;8293:19:1::0;;;8286:35;7995:19;;11336:129:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;11478:11:0::1;:18:::0;;-1:-1:-1;;;;11509:18:0;;-1:-1:-1;;;11509:18:0;;;;11578:15:::1;::::0;11540:71:::1;::::0;-1:-1:-1;;;11540:71:0;;-1:-1:-1;;;;;11578:15:0;;::::1;11540:71;::::0;::::1;8817:51:1::0;-1:-1:-1;;8884:18:1;;;8877:34;11547:13:0;;;-1:-1:-1;11540:29:0::1;::::0;8790:18:1;;11540:71:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;10932:689::o:0;10451:172::-;3030:6;;-1:-1:-1;;;;;3030:6:0;602:10;3030:22;3022:67;;;;-1:-1:-1;;;3022:67:0;;;;;;;:::i;:::-;10527:6:::1;10522:92;10543:5;:12;10539:1;:16;10522:92;;;10596:4;10579;:14;10584:5;10590:1;10584:8;;;;;;;;:::i;:::-;;::::0;;::::1;::::0;;;;;;;-1:-1:-1;;;;;10579:14:0::1;::::0;;;::::1;::::0;;;;;;-1:-1:-1;10579:14:0;:21;;-1:-1:-1;;10579:21:0::1;::::0;::::1;;::::0;;;::::1;::::0;;10557:3;::::1;::::0;::::1;:::i;:::-;;;;10522:92;;11633:155:::0;11710:10;;-1:-1:-1;;;;;11710:10:0;602;-1:-1:-1;;;;;11696:24:0;;11688:33;;;;;;11748:1;11740:7;:9;11732:18;;;;;;11761:9;:17;11633:155::o;11997:137::-;12065:10;;-1:-1:-1;;;;;12065:10:0;602;-1:-1:-1;;;;;12049:26:0;;12041:35;;;;;;12089;12102:21;12089:12;:35::i;1360:187::-;1418:7;;1452:5;1456:1;1452;:5;:::i;:::-;1440:17;;1483:1;1478;:6;;1470:46;;;;-1:-1:-1;;;1470:46:0;;9536:2:1;1470:46:0;;;9518:21:1;9575:2;9555:18;;;9548:30;9614:29;9594:18;;;9587:57;9661:18;;1470:46:0;9334:351:1;1470:46:0;1536:1;1360:187;-1:-1:-1;;;1360:187:0:o;7388:345::-;-1:-1:-1;;;;;7483:19:0;;7475:68;;;;-1:-1:-1;;;7475:68:0;;9892:2:1;7475:68:0;;;9874:21:1;9931:2;9911:18;;;9904:30;9970:34;9950:18;;;9943:62;-1:-1:-1;;;10021:18:1;;;10014:34;10065:19;;7475:68:0;9690:400:1;7475:68:0;-1:-1:-1;;;;;7564:21:0;;7556:68;;;;-1:-1:-1;;;7556:68:0;;10297:2:1;7556:68:0;;;10279:21:1;10336:2;10316:18;;;10309:30;10375:34;10355:18;;;10348:62;-1:-1:-1;;;10426:18:1;;;10419:32;10468:19;;7556:68:0;10095:398:1;7556:68:0;-1:-1:-1;;;;;7637:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;7691:32;;1500:25:1;;;7691:32:0;;1473:18:1;7691:32:0;;;;;;;7388:345;;;:::o;7745:1888::-;-1:-1:-1;;;;;7835:18:0;;7827:68;;;;-1:-1:-1;;;7827:68:0;;10700:2:1;7827:68:0;;;10682:21:1;10739:2;10719:18;;;10712:30;10778:34;10758:18;;;10751:62;-1:-1:-1;;;10829:18:1;;;10822:35;10874:19;;7827:68:0;10498:401:1;7827:68:0;-1:-1:-1;;;;;7916:16:0;;7908:64;;;;-1:-1:-1;;;7908:64:0;;11106:2:1;7908:64:0;;;11088:21:1;11145:2;11125:18;;;11118:30;11184:34;11164:18;;;11157:62;-1:-1:-1;;;11235:18:1;;;11228:33;11278:19;;7908:64:0;10904:399:1;7908:64:0;8002:1;7993:6;:10;7985:64;;;;-1:-1:-1;;;7985:64:0;;11510:2:1;7985:64:0;;;11492:21:1;11549:2;11529:18;;;11522:30;11588:34;11568:18;;;11561:62;-1:-1:-1;;;11639:18:1;;;11632:39;11688:19;;7985:64:0;11308:405:1;7985:64:0;8062:17;2960:6;;-1:-1:-1;;;;;8098:15:0;;;2960:6;;8098:15;;;;:32;;-1:-1:-1;2931:7:0;2960:6;-1:-1:-1;;;;;8117:13:0;;;2960:6;;8117:13;;8098:32;8094:1084;;;-1:-1:-1;;;;;8158:10:0;;;;;;:4;:10;;;;;;;;8157:11;:24;;;;-1:-1:-1;;;;;;8173:8:0;;;;;;:4;:8;;;;;;;;8172:9;8157:24;8149:33;;;;;;8203:6;;-1:-1:-1;;;8203:6:0;;;;8199:127;;8241:67;8304:3;8241:58;8263:12;;8253:9;;:22;8252:46;;8287:11;;8252:46;;;8277:9;;8252:46;8241:6;;:10;:58::i;:::-;:62;;:67::i;:::-;8229:79;;8199:127;8358:13;;-1:-1:-1;;;;;8350:21:0;;;8358:13;;8350:21;:55;;;;-1:-1:-1;8389:15:0;;-1:-1:-1;;;;;8375:30:0;;;8389:15;;8375:30;;8350:55;:83;;;;-1:-1:-1;;;;;;8411:22:0;;;;;;:18;:22;;;;;;;;8409:24;8350:83;8346:321;;;8475:12;;8465:6;:22;;8457:60;;;;-1:-1:-1;;;8457:60:0;;11920:2:1;8457:60:0;;;11902:21:1;11959:2;11939:18;;;11932:30;11998:27;11978:18;;;11971:55;12043:18;;8457:60:0;11718:349:1;8457:60:0;8572:14;;8562:6;8546:13;8556:2;-1:-1:-1;;;;;6492:18:0;6463:7;6492:18;;;:9;:18;;;;;;;6397:123;8546:13;:22;;;;:::i;:::-;:40;;8538:79;;;;-1:-1:-1;;;8538:79:0;;12274:2:1;8538:79:0;;;12256:21:1;12313:2;12293:18;;;12286:30;12352:28;12332:18;;;12325:56;12398:18;;8538:79:0;12072:350:1;8538:79:0;8638:9;:11;;;:9;:11;;;:::i;:::-;;;;;;8346:321;8736:4;8687:28;6492:18;;;:9;:18;;;;;;8764:6;;-1:-1:-1;;;8764:6:0;;;;8763:7;:32;;;;-1:-1:-1;8782:13:0;;-1:-1:-1;;;;;8774:21:0;;;8782:13;;8774:21;;8763:32;:47;;;;-1:-1:-1;8799:11:0;;-1:-1:-1;;;8799:11:0;;;;8763:47;:80;;;;;8835:8;;8814:20;:29;8763:80;:112;;;;;8857:18;;8847:9;;:28;8763:112;8759:406;;;8898:49;8924:6;8915:8;;:15;:31;;8938:8;;11933:16;:42::i;8915:31::-;8931:6;8898:16;:49::i;:::-;8997:21;9042:22;;9039:109;;9091:35;9104:21;9091:12;:35::i;:::-;8877:288;8759:406;8132:1046;8094:1084;-1:-1:-1;;;;;9210:15:0;;;;;;:9;:15;;;;;;:27;;9230:6;9210:19;:27::i;:::-;-1:-1:-1;;;;;9194:15:0;;;;;;:9;:15;;;;;:43;9264:40;9282:21;:6;9293:9;9282:10;:21::i;:::-;-1:-1:-1;;;;;9264:13:0;;;;;;:9;:13;;;;;;;:17;:40::i;:::-;-1:-1:-1;;;;;9250:13:0;;;;;;:9;:13;;;;;;;;:54;;;;9332:8;;;9317:24;;:14;:24;;;;;;;:29;;-1:-1:-1;;;;;;9317:29:0;;;;;;;9370:8;;:15;;:12;:15::i;:::-;9359:8;:26;-1:-1:-1;;;;;9403:41:0;;;;;;;9422:21;:6;9433:9;9422:10;:21::i;:::-;9403:41;;1500:25:1;;;1488:2;1473:18;9403:41:0;;;;;;;9460:11;;9457:167;;9530:4;9512:24;;;;:9;:24;;;;;;:39;;9541:9;9512:28;:39::i;:::-;9505:4;9487:24;;;;:9;:24;;;;;;;:64;;;;9571:39;;-1:-1:-1;;;;;9571:39:0;;;;;;;9600:9;1500:25:1;;1488:2;1473:18;;1354:177;9571:39:0;;;;;;;;9457:167;7814:1819;7745:1888;;;:::o;1711:198::-;1797:7;1835:12;1827:6;;;;1819:29;;;;-1:-1:-1;;;1819:29:0;;;;;;;;:::i;:::-;-1:-1:-1;1861:9:0;1873:5;1877:1;1873;:5;:::i;:::-;1861:17;1711:198;-1:-1:-1;;;;;1711:198:0:o;9645:507::-;5461:6;:13;;-1:-1:-1;;;;5461:13:0;-1:-1:-1;;;5461:13:0;;;9749:16:::1;::::0;;9763:1:::1;9749:16:::0;;;;;::::1;::::0;;-1:-1:-1;;9749:16:0::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;9749:16:0::1;9725:40;;9796:4;9778;9783:1;9778:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;9778:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;;:23;;;;9824:15:::1;::::0;:22:::1;::::0;;-1:-1:-1;;;9824:22:0;;;;:15;;;::::1;::::0;:20:::1;::::0;:22:::1;::::0;;::::1;::::0;9778:7;;9824:22;;;;;:15;:22:::1;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;9814:4;9819:1;9814:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;9814:32:0;;::::1;:7;::::0;;::::1;::::0;;;;;:32;9891:15:::1;::::0;9859:62:::1;::::0;9876:4:::1;::::0;9891:15:::1;9909:11:::0;9859:8:::1;:62::i;:::-;9934:15;::::0;:208:::1;::::0;-1:-1:-1;;;9934:208:0;;-1:-1:-1;;;;;9934:15:0;;::::1;::::0;:66:::1;::::0;:208:::1;::::0;10017:11;;9934:15:::1;::::0;10063:4;;10092::::1;::::0;10114:15:::1;::::0;9934:208:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;;5501:6:0;:14;;-1:-1:-1;;;;5501:14:0;;;-1:-1:-1;;;;9645:507:0:o;10343:96::-;10402:10;;:27;;-1:-1:-1;;;;;10402:10:0;;;;:27;;;;;10422:6;;10402:10;:27;:10;:27;10422:6;10402:10;:27;;;;;;;;;;;;;;;;;;;1921:260;1979:7;2005:1;2010;2005:6;2001:51;;-1:-1:-1;2037:1:0;2030:8;;2001:51;2064:9;2076:5;2080:1;2076;:5;:::i;:::-;2064:17;-1:-1:-1;2111:1:0;2102:5;2106:1;2064:17;2102:5;:::i;:::-;:10;2094:56;;;;-1:-1:-1;;;2094:56:0;;13969:2:1;2094:56:0;;;13951:21:1;14008:2;13988:18;;;13981:30;14047:34;14027:18;;;14020:62;-1:-1:-1;;;14098:18:1;;;14091:31;14139:19;;2094:56:0;13767:397:1;2193:136:0;2251:7;2280:39;2284:1;2287;2280:39;;;;;;;;;;;;;;;;;:3;:39::i;1559:140::-;1617:7;1646:43;1650:1;1653;1646:43;;;;;;;;;;;;;;;;;:3;:43::i;2341:197::-;2427:7;2464:12;2457:5;2449:28;;;;-1:-1:-1;;;2449:28:0;;;;;;;;:::i;:::-;-1:-1:-1;2490:9:0;2502:5;2506:1;2502;: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;703:134;771:20;;800:31;771:20;800:31;:::i;:::-;703:134;;;:::o;842:315::-;910:6;918;971:2;959:9;950:7;946:23;942:32;939:52;;;987:1;984;977:12;939:52;1026:9;1013:23;1045:31;1070:5;1045:31;:::i;:::-;1095:5;1147:2;1132:18;;;;1119:32;;-1:-1:-1;;;842:315:1:o;1536:456::-;1613:6;1621;1629;1682:2;1670:9;1661:7;1657:23;1653:32;1650:52;;;1698:1;1695;1688:12;1650:52;1737:9;1724:23;1756:31;1781:5;1756:31;:::i;:::-;1806:5;-1:-1:-1;1863:2:1;1848:18;;1835:32;1876:33;1835:32;1876:33;:::i;:::-;1536:456;;1928:7;;-1:-1:-1;;;1982:2:1;1967:18;;;;1954:32;;1536:456::o;2186:127::-;2247:10;2242:3;2238:20;2235:1;2228:31;2278:4;2275:1;2268:15;2302:4;2299:1;2292:15;2318:1121;2402:6;2433:2;2476;2464:9;2455:7;2451:23;2447:32;2444:52;;;2492:1;2489;2482:12;2444:52;2532:9;2519:23;2561:18;2602:2;2594:6;2591:14;2588:34;;;2618:1;2615;2608:12;2588:34;2656:6;2645:9;2641:22;2631:32;;2701:7;2694:4;2690:2;2686:13;2682:27;2672:55;;2723:1;2720;2713:12;2672:55;2759:2;2746:16;2781:2;2777;2774:10;2771:36;;;2787:18;;:::i;:::-;2833:2;2830:1;2826:10;2865:2;2859:9;2928:2;2924:7;2919:2;2915;2911:11;2907:25;2899:6;2895:38;2983:6;2971:10;2968:22;2963:2;2951:10;2948:18;2945:46;2942:72;;;2994:18;;:::i;:::-;3030:2;3023:22;3080:18;;;3114:15;;;;-1:-1:-1;3156:11:1;;;3152:20;;;3184:19;;;3181:39;;;3216:1;3213;3206:12;3181:39;3240:11;;;;3260:148;3276:6;3271:3;3268:15;3260:148;;;3342:23;3361:3;3342:23;:::i;:::-;3330:36;;3293:12;;;;3386;;;;3260:148;;;3427:6;2318:1121;-1:-1:-1;;;;;;;;2318:1121:1:o;3444:247::-;3503:6;3556:2;3544:9;3535:7;3531:23;3527:32;3524:52;;;3572:1;3569;3562:12;3524:52;3611:9;3598:23;3630:31;3655:5;3630:31;:::i;3696:180::-;3755:6;3808:2;3796:9;3787:7;3783:23;3779:32;3776:52;;;3824:1;3821;3814:12;3776:52;-1:-1:-1;3847:23:1;;3696:180;-1:-1:-1;3696:180:1:o;4089:388::-;4157:6;4165;4218:2;4206:9;4197:7;4193:23;4189:32;4186:52;;;4234:1;4231;4224:12;4186:52;4273:9;4260:23;4292:31;4317:5;4292:31;:::i;:::-;4342:5;-1:-1:-1;4399:2:1;4384:18;;4371:32;4412:33;4371:32;4412:33;:::i;:::-;4464:7;4454:17;;;4089:388;;;;;:::o;4482:127::-;4543:10;4538:3;4534:20;4531:1;4524:31;4574:4;4571:1;4564:15;4598:4;4595:1;4588:15;4614:422;4703:1;4746:5;4703:1;4760:270;4781:7;4771:8;4768:21;4760:270;;;4840:4;4836:1;4832:6;4828:17;4822:4;4819:27;4816:53;;;4849:18;;:::i;:::-;4899:7;4889:8;4885:22;4882:55;;;4919:16;;;;4882:55;4998:22;;;;4958:15;;;;4760:270;;;4764:3;4614:422;;;;;:::o;5041:806::-;5090:5;5120:8;5110:80;;-1:-1:-1;5161:1:1;5175:5;;5110:80;5209:4;5199:76;;-1:-1:-1;5246:1:1;5260:5;;5199:76;5291:4;5309:1;5304:59;;;;5377:1;5372:130;;;;5284:218;;5304:59;5334:1;5325:10;;5348:5;;;5372:130;5409:3;5399:8;5396:17;5393:43;;;5416:18;;:::i;:::-;-1:-1:-1;;5472:1:1;5458:16;;5487:5;;5284:218;;5586:2;5576:8;5573:16;5567:3;5561:4;5558:13;5554:36;5548:2;5538:8;5535:16;5530:2;5524:4;5521:12;5517:35;5514:77;5511:159;;;-1:-1:-1;5623:19:1;;;5655:5;;5511:159;5702:34;5727:8;5721:4;5702:34;:::i;:::-;5772:6;5768:1;5764:6;5760:19;5751:7;5748:32;5745:58;;;5783:18;;:::i;:::-;5821:20;;5041:806;-1:-1:-1;;;5041:806:1:o;5852:140::-;5910:5;5939:47;5980:4;5970:8;5966:19;5960:4;5939:47;:::i;5997:168::-;6070:9;;;6101;;6118:15;;;6112:22;;6098:37;6088:71;;6139:18;;:::i;6170:127::-;6231:10;6226:3;6222:20;6219:1;6212:31;6262:4;6259:1;6252:15;6286:4;6283:1;6276:15;6302:135;6341:3;6362:17;;;6359:43;;6382:18;;:::i;:::-;-1:-1:-1;6429:1:1;6418:13;;6302:135::o;6442:356::-;6644:2;6626:21;;;6663:18;;;6656:30;6722:34;6717:2;6702:18;;6695:62;6789:2;6774:18;;6442:356::o;7155:251::-;7225:6;7278:2;7266:9;7257:7;7253:23;7249:32;7246:52;;;7294:1;7291;7284:12;7246:52;7326:9;7320:16;7345:31;7370:5;7345:31;:::i;8332:306::-;8420:6;8428;8436;8489:2;8477:9;8468:7;8464:23;8460:32;8457:52;;;8505:1;8502;8495:12;8457:52;8534:9;8528:16;8518:26;;8584:2;8573:9;8569:18;8563:25;8553:35;;8628:2;8617:9;8613:18;8607:25;8597:35;;8332:306;;;;;:::o;8922:277::-;8989:6;9042:2;9030:9;9021:7;9017:23;9013:32;9010:52;;;9058:1;9055;9048:12;9010:52;9090:9;9084:16;9143:5;9136:13;9129:21;9122:5;9119:32;9109:60;;9165:1;9162;9155:12;9204:125;9269:9;;;9290:10;;;9287:36;;;9303:18;;:::i;12427:128::-;12494:9;;;12515:11;;;12512:37;;;12529:18;;:::i;12560:980::-;12822:4;12870:3;12859:9;12855:19;12901:6;12890:9;12883:25;12927:2;12965:6;12960:2;12949:9;12945:18;12938:34;13008:3;13003:2;12992:9;12988:18;12981:31;13032:6;13067;13061:13;13098:6;13090;13083:22;13136:3;13125:9;13121:19;13114:26;;13175:2;13167:6;13163:15;13149:29;;13196:1;13206:195;13220:6;13217:1;13214:13;13206:195;;;13285:13;;-1:-1:-1;;;;;13281:39:1;13269:52;;13376:15;;;;13341:12;;;;13317:1;13235:9;13206:195;;;-1:-1:-1;;;;;;;13457:32:1;;;;13452:2;13437:18;;13430:60;-1:-1:-1;;;13521:3:1;13506:19;13499:35;13418:3;12560:980;-1:-1:-1;;;12560:980:1:o;13545:217::-;13585:1;13611;13601:132;;13655:10;13650:3;13646:20;13643:1;13636:31;13690:4;13687:1;13680:15;13718:4;13715:1;13708:15;13601:132;-1:-1:-1;13747:9:1;;13545:217::o

Swarm Source

ipfs://a1eb29503abcb39670481ed9c84fb3f76ba17ce59dae5562e97d379527c1e2a9
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.