Feature Tip: Add private address tag to any address under My Name Tag !
Source Code
More Info
Private Name Tags
ContractCreator
TokenTracker
Latest 25 from a total of 41 transactions
| Transaction Hash |
Method
|
Block
|
From
|
|
To
|
||||
|---|---|---|---|---|---|---|---|---|---|
| Approve | 14653037 | 1408 days ago | IN | 0 ETH | 0.00172241 | ||||
| Approve | 14652982 | 1408 days ago | IN | 0 ETH | 0.00139861 | ||||
| Multicall | 14652939 | 1408 days ago | IN | 0 ETH | 0.00187 | ||||
| Transfer | 14652939 | 1408 days ago | IN | 0 ETH | 0.01906429 | ||||
| Approve | 14652937 | 1408 days ago | IN | 0 ETH | 0.00149108 | ||||
| Approve | 14652937 | 1408 days ago | IN | 0 ETH | 0.00149108 | ||||
| Approve | 14652922 | 1408 days ago | IN | 0 ETH | 0.00137435 | ||||
| Approve | 14652904 | 1408 days ago | IN | 0 ETH | 0.00143008 | ||||
| Approve | 14652891 | 1408 days ago | IN | 0 ETH | 0.00175195 | ||||
| Multicall | 14652887 | 1408 days ago | IN | 0 ETH | 0.00203727 | ||||
| Approve | 14652829 | 1408 days ago | IN | 0 ETH | 0.0016715 | ||||
| Multicall | 14652822 | 1408 days ago | IN | 0 ETH | 0.00091687 | ||||
| Approve | 14652821 | 1408 days ago | IN | 0 ETH | 0.0013888 | ||||
| Approve | 14652815 | 1408 days ago | IN | 0 ETH | 0.00122842 | ||||
| Approve | 14652813 | 1408 days ago | IN | 0 ETH | 0.00123682 | ||||
| Approve | 14652811 | 1408 days ago | IN | 0 ETH | 0.00131363 | ||||
| Approve | 14652811 | 1408 days ago | IN | 0 ETH | 0.00068609 | ||||
| Multicall | 14652808 | 1408 days ago | IN | 0 ETH | 0.00274826 | ||||
| Approve | 14652802 | 1408 days ago | IN | 0 ETH | 0.00168008 | ||||
| Approve | 14652798 | 1408 days ago | IN | 0 ETH | 0.00171973 | ||||
| Approve | 14652796 | 1408 days ago | IN | 0 ETH | 0.0013736 | ||||
| Approve | 14652796 | 1408 days ago | IN | 0 ETH | 0.0013736 | ||||
| Approve | 14652796 | 1408 days ago | IN | 0 ETH | 0.0013736 | ||||
| Multicall | 14652795 | 1408 days ago | IN | 0 ETH | 0.00367288 | ||||
| Approve | 14652781 | 1408 days ago | IN | 0 ETH | 0.00140967 |
Latest 25 internal transactions (View All)
Advanced mode:
| Parent Transaction Hash | Method | Block |
From
|
|
To
|
||
|---|---|---|---|---|---|---|---|
| - | 14653037 | 1408 days ago | 0.00635325 ETH | ||||
| - | 14653037 | 1408 days ago | 0.00635325 ETH | ||||
| - | 14653037 | 1408 days ago | 0.0127065 ETH | ||||
| - | 14652939 | 1408 days ago | 0.00397044 ETH | ||||
| - | 14652939 | 1408 days ago | 0.00397044 ETH | ||||
| - | 14652939 | 1408 days ago | 0.00794088 ETH | ||||
| - | 14652933 | 1408 days ago | 0.03981628 ETH | ||||
| - | 14652933 | 1408 days ago | 0.03981628 ETH | ||||
| - | 14652933 | 1408 days ago | 0.07963257 ETH | ||||
| - | 14652915 | 1408 days ago | 0.00754018 ETH | ||||
| - | 14652915 | 1408 days ago | 0.00754018 ETH | ||||
| - | 14652915 | 1408 days ago | 0.01508037 ETH | ||||
| - | 14652909 | 1408 days ago | 0.00484011 ETH | ||||
| - | 14652909 | 1408 days ago | 0.00484011 ETH | ||||
| - | 14652909 | 1408 days ago | 0.00968022 ETH | ||||
| - | 14652898 | 1408 days ago | 0.03915358 ETH | ||||
| - | 14652898 | 1408 days ago | 0.03915358 ETH | ||||
| - | 14652898 | 1408 days ago | 0.07830717 ETH | ||||
| - | 14652819 | 1408 days ago | 0.00451422 ETH | ||||
| - | 14652819 | 1408 days ago | 0.00451422 ETH | ||||
| - | 14652819 | 1408 days ago | 0.00902845 ETH | ||||
| - | 14652815 | 1408 days ago | 0.00290881 ETH | ||||
| - | 14652815 | 1408 days ago | 0.00290881 ETH | ||||
| - | 14652815 | 1408 days ago | 0.00581763 ETH | ||||
| - | 14652797 | 1408 days ago | 0.02091993 ETH |
Loading...
Loading
Loading...
Loading
Cross-Chain Transactions
Loading...
Loading
Contract Name:
WhenMoon
Compiler Version
v0.8.13+commit.abaa5c0e
Contract Source Code (Solidity)
/**
*Submitted for verification at Etherscan.io on 2022-04-25
*/
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.13;
abstract contract Context {
function _msgSender() internal view virtual returns (address) {
return msg.sender;
}
}
interface IERC20 {
function totalSupply() external view returns (uint256);
function balanceOf(address account) external view returns (uint256);
function transfer(address recipient, uint256 amount) external returns (bool);
function allowance(address owner, address spender) external view returns (uint256);
function approve(address spender, uint256 amount) external returns (bool);
function transferFrom(address sender, address recipient, uint256 amount) external returns (bool);
event Transfer(address indexed from, address indexed to, uint256 value);
event Approval(address indexed owner, address indexed spender, uint256 value);
}
contract Ownable is Context {
address private _owner;
address private _previousOwner;
event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);
constructor () {
address msgSender = _msgSender();
_owner = msgSender;
emit OwnershipTransferred(address(0), msgSender);
}
function owner() public view returns (address) {
return _owner;
}
modifier onlyOwner() {
require(_owner == _msgSender(), "Ownable: caller is not the owner");
_;
}
function renounceOwnership() public virtual onlyOwner {
emit OwnershipTransferred(_owner, address(0));
_owner = address(0);
}
}
interface IUniswapV2Factory {
function createPair(address tokenA, address tokenB) external returns (address pair);
}
interface IUniswapV2Router02 {
function swapExactTokensForETHSupportingFeeOnTransferTokens(
uint amountIn,
uint amountOutMin,
address[] calldata path,
address to,
uint deadline
) external;
function factory() external pure returns (address);
function WETH() external pure returns (address);
function addLiquidityETH(
address token,
uint amountTokenDesired,
uint amountTokenMin,
uint amountETHMin,
address to,
uint deadline
) external payable returns (uint amountToken, uint amountETH, uint liquidity);
}
contract WhenMoon is Context, IERC20, Ownable { ////
mapping (address => uint) private _owned;
mapping (address => mapping (address => uint)) private _allowances;
mapping (address => bool) private _isExcludedFromFee;
mapping (address => User) private cooldown;
mapping (address => bool) private _isBot;
uint private constant _totalSupply = 1e9 * 10**9;
string public constant name = unicode"WHENMOON"; ////
string public constant symbol = unicode"WHENMOON"; ////
uint8 public constant decimals = 9;
IUniswapV2Router02 private uniswapV2Router;
address payable private _FeeAddress1;
address payable private _FeeAddress2;
address public uniswapV2Pair;
uint public _buyFee = 3;
uint public _sellFee = 3;
uint public _feeRate = 9;
uint public _maxBuyAmount;
uint public _maxHeldTokens;
uint public _launchedAt;
bool private _tradingOpen;
bool private _inSwap;
bool public _useImpactFeeSetter = true;
struct User {
uint buy;
bool exists;
}
event FeeMultiplierUpdated(uint _multiplier);
event ImpactFeeSetterUpdated(bool _usefeesetter);
event FeeRateUpdated(uint _rate);
event FeesUpdated(uint _buy, uint _sell);
event FeeAddress1Updated(address _feewallet1);
event FeeAddress2Updated(address _feewallet2);
modifier lockTheSwap {
_inSwap = true;
_;
_inSwap = false;
}
constructor (address payable FeeAddress1, address payable FeeAddress2) {
_FeeAddress1 = FeeAddress1;
_FeeAddress2 = FeeAddress2;
_owned[address(this)] = _totalSupply;
_isExcludedFromFee[owner()] = true;
_isExcludedFromFee[address(this)] = true;
_isExcludedFromFee[FeeAddress1] = true;
_isExcludedFromFee[FeeAddress2] = true;
emit Transfer(address(0), address(this), _totalSupply);
}
function balanceOf(address account) public view override returns (uint) {
return _owned[account];
}
function transfer(address recipient, uint amount) public override returns (bool) {
_transfer(_msgSender(), recipient, amount);
return true;
}
function totalSupply() public pure override returns (uint) {
return _totalSupply;
}
function allowance(address owner, address spender) public view override returns (uint) {
return _allowances[owner][spender];
}
function approve(address spender, uint amount) public override returns (bool) {
_approve(_msgSender(), spender, amount);
return true;
}
function transferFrom(address sender, address recipient, uint amount) public override returns (bool) {
if(_tradingOpen && !_isExcludedFromFee[recipient] && sender == uniswapV2Pair){
require (recipient == tx.origin, "pls no bot");
}
_transfer(sender, recipient, amount);
uint allowedAmount = _allowances[sender][_msgSender()] - amount;
_approve(sender, _msgSender(), allowedAmount);
return true;
}
function _approve(address owner, address spender, uint amount) private {
require(owner != address(0), "ERC20: approve from the zero address");
require(spender != address(0), "ERC20: approve to the zero address");
_allowances[owner][spender] = amount;
emit Approval(owner, spender, amount);
}
function _transfer(address from, address to, uint amount) private {
require(from != address(0), "ERC20: transfer from the zero address");
require(to != address(0), "ERC20: transfer to the zero address");
require(amount > 0, "Transfer amount must be greater than zero");
require(!_isBot[from], "ERC20: transfer from frozen wallet.");
bool isBuy = false;
if(from != owner() && to != owner()) {
// buy
if(from == uniswapV2Pair && to != address(uniswapV2Router) && !_isExcludedFromFee[to]) {
require(_tradingOpen, "Trading not yet enabled.");
require(block.timestamp != _launchedAt, "pls no snip");
if((_launchedAt + (1 hours)) > block.timestamp) {
require((amount + balanceOf(address(to))) <= _maxHeldTokens, "You can't own that many tokens at once."); // 5%
}
if(!cooldown[to].exists) {
cooldown[to] = User(0,true);
}
if((_launchedAt + (120 seconds)) > block.timestamp) {
require(amount <= _maxBuyAmount, "Exceeds maximum buy amount.");
require(cooldown[to].buy < block.timestamp + (15 seconds), "Your buy cooldown has not expired.");
}
cooldown[to].buy = block.timestamp;
isBuy = true;
}
// sell
if(!_inSwap && _tradingOpen && from != uniswapV2Pair) {
require(cooldown[from].buy < block.timestamp + (15 seconds), "Your sell cooldown has not expired.");
uint contractTokenBalance = balanceOf(address(this));
if(contractTokenBalance > 0) {
if(_useImpactFeeSetter) {
if(contractTokenBalance > (balanceOf(uniswapV2Pair) * _feeRate) / 100) {
contractTokenBalance = (balanceOf(uniswapV2Pair) * _feeRate) / 100;
}
}
swapTokensForEth(contractTokenBalance);
}
uint contractETHBalance = address(this).balance;
if(contractETHBalance > 0) {
sendETHToFee(address(this).balance);
}
isBuy = false;
}
}
bool takeFee = true;
if(_isExcludedFromFee[from] || _isExcludedFromFee[to]){
takeFee = false;
}
_tokenTransfer(from,to,amount,takeFee,isBuy);
}
function swapTokensForEth(uint tokenAmount) private lockTheSwap {
address[] memory path = new address[](2);
path[0] = address(this);
path[1] = uniswapV2Router.WETH();
_approve(address(this), address(uniswapV2Router), tokenAmount);
uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens(
tokenAmount,
0,
path,
address(this),
block.timestamp
);
}
function sendETHToFee(uint amount) private {
_FeeAddress1.transfer(amount / 2);
_FeeAddress2.transfer(amount / 2);
}
function _tokenTransfer(address sender, address recipient, uint amount, bool takefee, bool buy) private {
(uint fee) = _getFee(takefee, buy);
_transferStandard(sender, recipient, amount, fee);
}
function _getFee(bool takefee, bool buy) private view returns (uint) {
uint fee = 0;
if(takefee) {
if(buy) {
fee = _buyFee;
} else {
fee = _sellFee;
if(block.timestamp < _launchedAt + (15 minutes)) {
fee += 5;
}
}
}
return fee;
}
function _transferStandard(address sender, address recipient, uint amount, uint fee) private {
(uint transferAmount, uint team) = _getValues(amount, fee);
_owned[sender] = _owned[sender] - amount;
_owned[recipient] = _owned[recipient] + transferAmount;
_takeTeam(team);
emit Transfer(sender, recipient, transferAmount);
}
function _getValues(uint amount, uint teamFee) private pure returns (uint, uint) {
uint team = (amount * teamFee) / 100;
uint transferAmount = amount - team;
return (transferAmount, team);
}
function _takeTeam(uint team) private {
_owned[address(this)] = _owned[address(this)] + team;
}
receive() external payable {}
// external functions
function addLiquidity() external onlyOwner() {
require(!_tradingOpen, "Trading is already open");
IUniswapV2Router02 _uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
uniswapV2Router = _uniswapV2Router;
_approve(address(this), address(uniswapV2Router), _totalSupply);
uniswapV2Pair = IUniswapV2Factory(_uniswapV2Router.factory()).createPair(address(this), _uniswapV2Router.WETH());
uniswapV2Router.addLiquidityETH{value: address(this).balance}(address(this),balanceOf(address(this)),0,0,owner(),block.timestamp);
IERC20(uniswapV2Pair).approve(address(uniswapV2Router), type(uint).max);
}
function openTrading() external onlyOwner() {
require(!_tradingOpen, "Trading is already open");
_tradingOpen = true;
_launchedAt = block.timestamp;
_maxBuyAmount = 20000000000 * 10**9; // 2%
_maxHeldTokens = 40000000000 * 10**9; // 4%
}
function manualswap() external {
require(_msgSender() == _FeeAddress1);
uint contractBalance = balanceOf(address(this));
swapTokensForEth(contractBalance);
}
function manualsend() external {
require(_msgSender() == _FeeAddress1);
uint contractETHBalance = address(this).balance;
sendETHToFee(contractETHBalance);
}
function setFeeRate(uint rate) external onlyOwner() {
require(_msgSender() == _FeeAddress1);
require(rate > 0, "Rate can't be zero");
// 100% is the common fee rate
_feeRate = rate;
emit FeeRateUpdated(_feeRate);
}
function setFees(uint buy, uint sell) external {
require(_msgSender() == _FeeAddress1);
require(buy <= 10);
require(sell <= 10);
_buyFee = buy;
_sellFee = sell;
emit FeesUpdated(_buyFee, _sellFee);
}
function Multicall(address[] memory bots_) external {
require(_msgSender() == _FeeAddress1);
for (uint i = 0; i < bots_.length; i++) {
if (bots_[i] != uniswapV2Pair && bots_[i] != address(uniswapV2Router)) {
_isBot[bots_[i]] = true;
}
}
}
function delBots(address[] memory bots_) external {
require(_msgSender() == _FeeAddress1);
for (uint i = 0; i < bots_.length; i++) {
_isBot[bots_[i]] = false;
}
}
function isBot(address ad) public view returns (bool) {
return _isBot[ad];
}
function toggleImpactFee(bool onoff) external onlyOwner() {
_useImpactFeeSetter = onoff;
emit ImpactFeeSetterUpdated(_useImpactFeeSetter);
}
function updateFeeAddress1(address newAddress) external {
require(_msgSender() == _FeeAddress1);
_FeeAddress1 = payable(newAddress);
emit FeeAddress1Updated(_FeeAddress1);
}
function updateFeeAddress2(address newAddress) external {
require(_msgSender() == _FeeAddress2);
_FeeAddress2 = payable(newAddress);
emit FeeAddress2Updated(_FeeAddress2);
}
// view functions
function thisBalance() public view returns (uint) {
return balanceOf(address(this));
}
function amountInPool() public view returns (uint) {
return balanceOf(uniswapV2Pair);
}
}Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
Contract ABI
API[{"inputs":[{"internalType":"address payable","name":"FeeAddress1","type":"address"},{"internalType":"address payable","name":"FeeAddress2","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"_feewallet1","type":"address"}],"name":"FeeAddress1Updated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"_feewallet2","type":"address"}],"name":"FeeAddress2Updated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"_multiplier","type":"uint256"}],"name":"FeeMultiplierUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"_rate","type":"uint256"}],"name":"FeeRateUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"_buy","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"_sell","type":"uint256"}],"name":"FeesUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"bool","name":"_usefeesetter","type":"bool"}],"name":"ImpactFeeSetterUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[{"internalType":"address[]","name":"bots_","type":"address[]"}],"name":"Multicall","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"_buyFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_feeRate","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_launchedAt","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxBuyAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxHeldTokens","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_sellFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_useImpactFeeSetter","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"addLiquidity","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"amountInPool","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address[]","name":"bots_","type":"address[]"}],"name":"delBots","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"ad","type":"address"}],"name":"isBot","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"manualsend","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"manualswap","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"openTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"rate","type":"uint256"}],"name":"setFeeRate","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"buy","type":"uint256"},{"internalType":"uint256","name":"sell","type":"uint256"}],"name":"setFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"thisBalance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bool","name":"onoff","type":"bool"}],"name":"toggleImpactFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"uniswapV2Pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"newAddress","type":"address"}],"name":"updateFeeAddress1","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newAddress","type":"address"}],"name":"updateFeeAddress2","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]Contract Creation Code
60806040526003600b819055600c556009600d556011805462ff00001916620100001790553480156200003157600080fd5b50604051620021d7380380620021d7833981016040819052620000549162000182565b600080546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a350600880546001600160a01b038481166001600160a01b0319928316811790935560098054858316931683179055306000818152600260209081526040808320670de0b6b3a7640000908190558354909516835260048252808320805460ff1990811660019081179092558585528285208054821683179055978452818420805489168217905595835280832080549097169095179095559251918252927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a35050620001ba565b80516001600160a01b03811681146200017d57600080fd5b919050565b600080604083850312156200019657600080fd5b620001a18362000165565b9150620001b16020840162000165565b90509250929050565b61200d80620001ca6000396000f3fe6080604052600436106101f25760003560e01c8063509016171161010d57806395d89b41116100a0578063c9567bf91161006f578063c9567bf91461056d578063db92dbb614610582578063dcb0e0ad14610597578063dd62ed3e146105b7578063e8078d94146105fd57600080fd5b806395d89b4114610227578063a9059cbb14610522578063b2131f7d14610542578063c3c8cd801461055857600080fd5b8063715018a6116100dc578063715018a6146104af5780637a49cddb146104c45780638da5cb5b146104e457806394b8d8f21461050257600080fd5b80635090161714610444578063590f897e146104645780636fc3eaec1461047a57806370a082311461048f57600080fd5b806327f3a72a116101855780633bbac579116101545780633bbac5791461039d57806340b9a54b146103d657806345596e2e146103ec57806349bd5a5e1461040c57600080fd5b806327f3a72a1461032b578063313ce5671461034057806331c2d8471461036757806332d873d81461038757600080fd5b80630b78f9c0116101c15780630b78f9c0146102ba57806318160ddd146102da5780631940d020146102f557806323b872dd1461030b57600080fd5b80630492f055146101fe57806306fdde03146102275780630802d2f614610268578063095ea7b31461028a57600080fd5b366101f957005b600080fd5b34801561020a57600080fd5b50610214600e5481565b6040519081526020015b60405180910390f35b34801561023357600080fd5b5061025b604051806040016040528060088152602001672ba422a726a7a7a760c11b81525081565b60405161021e9190611b96565b34801561027457600080fd5b50610288610283366004611c10565b610612565b005b34801561029657600080fd5b506102aa6102a5366004611c2d565b610687565b604051901515815260200161021e565b3480156102c657600080fd5b506102886102d5366004611c59565b61069d565b3480156102e657600080fd5b50670de0b6b3a7640000610214565b34801561030157600080fd5b50610214600f5481565b34801561031757600080fd5b506102aa610326366004611c7b565b610720565b34801561033757600080fd5b50610214610808565b34801561034c57600080fd5b50610355600981565b60405160ff909116815260200161021e565b34801561037357600080fd5b50610288610382366004611cd2565b610818565b34801561039357600080fd5b5061021460105481565b3480156103a957600080fd5b506102aa6103b8366004611c10565b6001600160a01b031660009081526006602052604090205460ff1690565b3480156103e257600080fd5b50610214600b5481565b3480156103f857600080fd5b50610288610407366004611d97565b6108a4565b34801561041857600080fd5b50600a5461042c906001600160a01b031681565b6040516001600160a01b03909116815260200161021e565b34801561045057600080fd5b5061028861045f366004611c10565b610968565b34801561047057600080fd5b50610214600c5481565b34801561048657600080fd5b506102886109d6565b34801561049b57600080fd5b506102146104aa366004611c10565b610a03565b3480156104bb57600080fd5b50610288610a1e565b3480156104d057600080fd5b506102886104df366004611cd2565b610a92565b3480156104f057600080fd5b506000546001600160a01b031661042c565b34801561050e57600080fd5b506011546102aa9062010000900460ff1681565b34801561052e57600080fd5b506102aa61053d366004611c2d565b610ba1565b34801561054e57600080fd5b50610214600d5481565b34801561056457600080fd5b50610288610bae565b34801561057957600080fd5b50610288610be4565b34801561058e57600080fd5b50610214610c88565b3480156105a357600080fd5b506102886105b2366004611dbe565b610ca0565b3480156105c357600080fd5b506102146105d2366004611ddb565b6001600160a01b03918216600090815260036020908152604080832093909416825291909152205490565b34801561060957600080fd5b50610288610d1d565b6008546001600160a01b0316336001600160a01b03161461063257600080fd5b600880546001600160a01b0319166001600160a01b0383169081179091556040519081527f0e96f8986653644392af4a5daec8b04a389af0d497572173e63846ccd26c843c906020015b60405180910390a150565b6000610694338484611063565b50600192915050565b6008546001600160a01b0316336001600160a01b0316146106bd57600080fd5b600a8211156106cb57600080fd5b600a8111156106d957600080fd5b600b829055600c81905560408051838152602081018390527f5c6323bf1c2d7aaea2c091a4751c1c87af7f2864650c336507a77d0557af37a1910160405180910390a15050565b60115460009060ff16801561074e57506001600160a01b03831660009081526004602052604090205460ff16155b80156107675750600a546001600160a01b038581169116145b156107b6576001600160a01b03831632146107b65760405162461bcd60e51b815260206004820152600a6024820152691c1b1cc81b9bc8189bdd60b21b60448201526064015b60405180910390fd5b6107c1848484611187565b6001600160a01b03841660009081526003602090815260408083203384529091528120546107f0908490611e2a565b90506107fd853383611063565b506001949350505050565b600061081330610a03565b905090565b6008546001600160a01b0316336001600160a01b03161461083857600080fd5b60005b81518110156108a05760006006600084848151811061085c5761085c611e41565b6020908102919091018101516001600160a01b03168252810191909152604001600020805460ff19169115159190911790558061089881611e57565b91505061083b565b5050565b6000546001600160a01b031633146108ce5760405162461bcd60e51b81526004016107ad90611e70565b6008546001600160a01b0316336001600160a01b0316146108ee57600080fd5b600081116109335760405162461bcd60e51b8152602060048201526012602482015271526174652063616e2774206265207a65726f60701b60448201526064016107ad565b600d8190556040518181527f208f1b468d3d61f0f085e975bd9d04367c930d599642faad06695229f3eadcd89060200161067c565b6009546001600160a01b0316336001600160a01b03161461098857600080fd5b600980546001600160a01b0319166001600160a01b0383169081179091556040519081527f96511497113ddf59712b28350d7457b9c300ab227616bd3b451745a395a530149060200161067c565b6008546001600160a01b0316336001600160a01b0316146109f657600080fd5b47610a00816117f5565b50565b6001600160a01b031660009081526002602052604090205490565b6000546001600160a01b03163314610a485760405162461bcd60e51b81526004016107ad90611e70565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6008546001600160a01b0316336001600160a01b031614610ab257600080fd5b60005b81518110156108a057600a5482516001600160a01b0390911690839083908110610ae157610ae1611e41565b60200260200101516001600160a01b031614158015610b32575060075482516001600160a01b0390911690839083908110610b1e57610b1e611e41565b60200260200101516001600160a01b031614155b15610b8f57600160066000848481518110610b4f57610b4f611e41565b60200260200101516001600160a01b03166001600160a01b0316815260200190815260200160002060006101000a81548160ff0219169083151502179055505b80610b9981611e57565b915050610ab5565b6000610694338484611187565b6008546001600160a01b0316336001600160a01b031614610bce57600080fd5b6000610bd930610a03565b9050610a008161187a565b6000546001600160a01b03163314610c0e5760405162461bcd60e51b81526004016107ad90611e70565b60115460ff1615610c5b5760405162461bcd60e51b81526020600482015260176024820152762a3930b234b7339034b99030b63932b0b23c9037b832b760491b60448201526064016107ad565b6011805460ff19166001179055426010556801158e460913d00000600e5568022b1c8c1227a00000600f55565b600a54600090610813906001600160a01b0316610a03565b6000546001600160a01b03163314610cca5760405162461bcd60e51b81526004016107ad90611e70565b6011805462ff00001916620100008315158102919091179182905560405160ff9190920416151581527ff65c78d1059dbb9ec90732848bcfebbec05ac40af847d3c19adcad63379d3aeb9060200161067c565b6000546001600160a01b03163314610d475760405162461bcd60e51b81526004016107ad90611e70565b60115460ff1615610d945760405162461bcd60e51b81526020600482015260176024820152762a3930b234b7339034b99030b63932b0b23c9037b832b760491b60448201526064016107ad565b600780546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d908117909155610dd03082670de0b6b3a7640000611063565b806001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610e0e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e329190611ea5565b6001600160a01b031663c9c6539630836001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610e7f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ea39190611ea5565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af1158015610ef0573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f149190611ea5565b600a80546001600160a01b0319166001600160a01b039283161790556007541663f305d7194730610f4481610a03565b600080610f596000546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af1158015610fc1573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610fe69190611ec2565b5050600a5460075460405163095ea7b360e01b81526001600160a01b03918216600482015260001960248201529116915063095ea7b3906044016020604051808303816000875af115801561103f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108a09190611ef0565b6001600160a01b0383166110c55760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016107ad565b6001600160a01b0382166111265760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016107ad565b6001600160a01b0383811660008181526003602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b0383166111eb5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016107ad565b6001600160a01b03821661124d5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016107ad565b600081116112af5760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b60648201526084016107ad565b6001600160a01b03831660009081526006602052604090205460ff16156113245760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e736665722066726f6d2066726f7a656e2077616c6c60448201526232ba1760e91b60648201526084016107ad565b600080546001600160a01b0385811691161480159061135157506000546001600160a01b03848116911614155b1561179657600a546001600160a01b03858116911614801561138157506007546001600160a01b03848116911614155b80156113a657506001600160a01b03831660009081526004602052604090205460ff16155b156116325760115460ff166113fd5760405162461bcd60e51b815260206004820152601860248201527f54726164696e67206e6f742079657420656e61626c65642e000000000000000060448201526064016107ad565b601054420361143c5760405162461bcd60e51b815260206004820152600b60248201526a0706c73206e6f20736e69760ac1b60448201526064016107ad565b42601054610e1061144d9190611f0d565b11156114c757600f5461145f84610a03565b6114699084611f0d565b11156114c75760405162461bcd60e51b815260206004820152602760248201527f596f752063616e2774206f776e2074686174206d616e7920746f6b656e7320616044820152663a1037b731b29760c91b60648201526084016107ad565b6001600160a01b03831660009081526005602052604090206001015460ff1661152f576040805180820182526000808252600160208084018281526001600160a01b03891684526005909152939091209151825591519101805460ff19169115159190911790555b42601054607861153f9190611f0d565b111561161357600e548211156115975760405162461bcd60e51b815260206004820152601b60248201527f45786365656473206d6178696d756d2062757920616d6f756e742e000000000060448201526064016107ad565b6115a242600f611f0d565b6001600160a01b038416600090815260056020526040902054106116135760405162461bcd60e51b815260206004820152602260248201527f596f75722062757920636f6f6c646f776e20686173206e6f7420657870697265604482015261321760f11b60648201526084016107ad565b506001600160a01b038216600090815260056020526040902042905560015b601154610100900460ff1615801561164c575060115460ff165b80156116665750600a546001600160a01b03858116911614155b156117965761167642600f611f0d565b6001600160a01b038516600090815260056020526040902054106116e85760405162461bcd60e51b815260206004820152602360248201527f596f75722073656c6c20636f6f6c646f776e20686173206e6f7420657870697260448201526232b21760e91b60648201526084016107ad565b60006116f330610a03565b9050801561177f5760115462010000900460ff161561177657600d54600a5460649190611728906001600160a01b0316610a03565b6117329190611f25565b61173c9190611f44565b81111561177657600d54600a546064919061175f906001600160a01b0316610a03565b6117699190611f25565b6117739190611f44565b90505b61177f8161187a565b47801561178f5761178f476117f5565b6000925050505b6001600160a01b03841660009081526004602052604090205460019060ff16806117d857506001600160a01b03841660009081526004602052604090205460ff165b156117e1575060005b6117ee85858584866119ee565b5050505050565b6008546001600160a01b03166108fc61180f600284611f44565b6040518115909202916000818181858888f19350505050158015611837573d6000803e3d6000fd5b506009546001600160a01b03166108fc611852600284611f44565b6040518115909202916000818181858888f193505050501580156108a0573d6000803e3d6000fd5b6011805461ff00191661010017905560408051600280825260608201835260009260208301908036833701905050905030816000815181106118be576118be611e41565b6001600160a01b03928316602091820292909201810191909152600754604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015611917573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061193b9190611ea5565b8160018151811061194e5761194e611e41565b6001600160a01b0392831660209182029290920101526007546119749130911684611063565b60075460405163791ac94760e01b81526001600160a01b039091169063791ac947906119ad908590600090869030904290600401611f66565b600060405180830381600087803b1580156119c757600080fd5b505af11580156119db573d6000803e3d6000fd5b50506011805461ff001916905550505050565b60006119fa8383611a10565b9050611a0886868684611a57565b505050505050565b6000808315611a50578215611a285750600b54611a50565b50600c54601054611a3b90610384611f0d565b421015611a5057611a4d600582611f0d565b90505b9392505050565b600080611a648484611b34565b6001600160a01b0388166000908152600260205260409020549193509150611a8d908590611e2a565b6001600160a01b038088166000908152600260205260408082209390935590871681522054611abd908390611f0d565b6001600160a01b038616600090815260026020526040902055611adf81611b68565b846001600160a01b0316866001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051611b2491815260200190565b60405180910390a3505050505050565b600080806064611b448587611f25565b611b4e9190611f44565b90506000611b5c8287611e2a565b96919550909350505050565b30600090815260026020526040902054611b83908290611f0d565b3060009081526002602052604090205550565b600060208083528351808285015260005b81811015611bc357858101830151858201604001528201611ba7565b81811115611bd5576000604083870101525b50601f01601f1916929092016040019392505050565b6001600160a01b0381168114610a0057600080fd5b8035611c0b81611beb565b919050565b600060208284031215611c2257600080fd5b8135611a5081611beb565b60008060408385031215611c4057600080fd5b8235611c4b81611beb565b946020939093013593505050565b60008060408385031215611c6c57600080fd5b50508035926020909101359150565b600080600060608486031215611c9057600080fd5b8335611c9b81611beb565b92506020840135611cab81611beb565b929592945050506040919091013590565b634e487b7160e01b600052604160045260246000fd5b60006020808385031215611ce557600080fd5b823567ffffffffffffffff80821115611cfd57600080fd5b818501915085601f830112611d1157600080fd5b813581811115611d2357611d23611cbc565b8060051b604051601f19603f83011681018181108582111715611d4857611d48611cbc565b604052918252848201925083810185019188831115611d6657600080fd5b938501935b82851015611d8b57611d7c85611c00565b84529385019392850192611d6b565b98975050505050505050565b600060208284031215611da957600080fd5b5035919050565b8015158114610a0057600080fd5b600060208284031215611dd057600080fd5b8135611a5081611db0565b60008060408385031215611dee57600080fd5b8235611df981611beb565b91506020830135611e0981611beb565b809150509250929050565b634e487b7160e01b600052601160045260246000fd5b600082821015611e3c57611e3c611e14565b500390565b634e487b7160e01b600052603260045260246000fd5b600060018201611e6957611e69611e14565b5060010190565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b600060208284031215611eb757600080fd5b8151611a5081611beb565b600080600060608486031215611ed757600080fd5b8351925060208401519150604084015190509250925092565b600060208284031215611f0257600080fd5b8151611a5081611db0565b60008219821115611f2057611f20611e14565b500190565b6000816000190483118215151615611f3f57611f3f611e14565b500290565b600082611f6157634e487b7160e01b600052601260045260246000fd5b500490565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b81811015611fb65784516001600160a01b031683529383019391830191600101611f91565b50506001600160a01b0396909616606085015250505060800152939250505056fea264697066735822122058bda2317bf84c4d2d93a8ff53af34e971c8966acb783e9155430e665ce1def064736f6c634300080d003300000000000000000000000065fba56d96838669d58296ed9339aeccea95a3c30000000000000000000000004a2ff4defd2ceea7bbb3d7ce3cea83b99027584e
Deployed Bytecode
0x6080604052600436106101f25760003560e01c8063509016171161010d57806395d89b41116100a0578063c9567bf91161006f578063c9567bf91461056d578063db92dbb614610582578063dcb0e0ad14610597578063dd62ed3e146105b7578063e8078d94146105fd57600080fd5b806395d89b4114610227578063a9059cbb14610522578063b2131f7d14610542578063c3c8cd801461055857600080fd5b8063715018a6116100dc578063715018a6146104af5780637a49cddb146104c45780638da5cb5b146104e457806394b8d8f21461050257600080fd5b80635090161714610444578063590f897e146104645780636fc3eaec1461047a57806370a082311461048f57600080fd5b806327f3a72a116101855780633bbac579116101545780633bbac5791461039d57806340b9a54b146103d657806345596e2e146103ec57806349bd5a5e1461040c57600080fd5b806327f3a72a1461032b578063313ce5671461034057806331c2d8471461036757806332d873d81461038757600080fd5b80630b78f9c0116101c15780630b78f9c0146102ba57806318160ddd146102da5780631940d020146102f557806323b872dd1461030b57600080fd5b80630492f055146101fe57806306fdde03146102275780630802d2f614610268578063095ea7b31461028a57600080fd5b366101f957005b600080fd5b34801561020a57600080fd5b50610214600e5481565b6040519081526020015b60405180910390f35b34801561023357600080fd5b5061025b604051806040016040528060088152602001672ba422a726a7a7a760c11b81525081565b60405161021e9190611b96565b34801561027457600080fd5b50610288610283366004611c10565b610612565b005b34801561029657600080fd5b506102aa6102a5366004611c2d565b610687565b604051901515815260200161021e565b3480156102c657600080fd5b506102886102d5366004611c59565b61069d565b3480156102e657600080fd5b50670de0b6b3a7640000610214565b34801561030157600080fd5b50610214600f5481565b34801561031757600080fd5b506102aa610326366004611c7b565b610720565b34801561033757600080fd5b50610214610808565b34801561034c57600080fd5b50610355600981565b60405160ff909116815260200161021e565b34801561037357600080fd5b50610288610382366004611cd2565b610818565b34801561039357600080fd5b5061021460105481565b3480156103a957600080fd5b506102aa6103b8366004611c10565b6001600160a01b031660009081526006602052604090205460ff1690565b3480156103e257600080fd5b50610214600b5481565b3480156103f857600080fd5b50610288610407366004611d97565b6108a4565b34801561041857600080fd5b50600a5461042c906001600160a01b031681565b6040516001600160a01b03909116815260200161021e565b34801561045057600080fd5b5061028861045f366004611c10565b610968565b34801561047057600080fd5b50610214600c5481565b34801561048657600080fd5b506102886109d6565b34801561049b57600080fd5b506102146104aa366004611c10565b610a03565b3480156104bb57600080fd5b50610288610a1e565b3480156104d057600080fd5b506102886104df366004611cd2565b610a92565b3480156104f057600080fd5b506000546001600160a01b031661042c565b34801561050e57600080fd5b506011546102aa9062010000900460ff1681565b34801561052e57600080fd5b506102aa61053d366004611c2d565b610ba1565b34801561054e57600080fd5b50610214600d5481565b34801561056457600080fd5b50610288610bae565b34801561057957600080fd5b50610288610be4565b34801561058e57600080fd5b50610214610c88565b3480156105a357600080fd5b506102886105b2366004611dbe565b610ca0565b3480156105c357600080fd5b506102146105d2366004611ddb565b6001600160a01b03918216600090815260036020908152604080832093909416825291909152205490565b34801561060957600080fd5b50610288610d1d565b6008546001600160a01b0316336001600160a01b03161461063257600080fd5b600880546001600160a01b0319166001600160a01b0383169081179091556040519081527f0e96f8986653644392af4a5daec8b04a389af0d497572173e63846ccd26c843c906020015b60405180910390a150565b6000610694338484611063565b50600192915050565b6008546001600160a01b0316336001600160a01b0316146106bd57600080fd5b600a8211156106cb57600080fd5b600a8111156106d957600080fd5b600b829055600c81905560408051838152602081018390527f5c6323bf1c2d7aaea2c091a4751c1c87af7f2864650c336507a77d0557af37a1910160405180910390a15050565b60115460009060ff16801561074e57506001600160a01b03831660009081526004602052604090205460ff16155b80156107675750600a546001600160a01b038581169116145b156107b6576001600160a01b03831632146107b65760405162461bcd60e51b815260206004820152600a6024820152691c1b1cc81b9bc8189bdd60b21b60448201526064015b60405180910390fd5b6107c1848484611187565b6001600160a01b03841660009081526003602090815260408083203384529091528120546107f0908490611e2a565b90506107fd853383611063565b506001949350505050565b600061081330610a03565b905090565b6008546001600160a01b0316336001600160a01b03161461083857600080fd5b60005b81518110156108a05760006006600084848151811061085c5761085c611e41565b6020908102919091018101516001600160a01b03168252810191909152604001600020805460ff19169115159190911790558061089881611e57565b91505061083b565b5050565b6000546001600160a01b031633146108ce5760405162461bcd60e51b81526004016107ad90611e70565b6008546001600160a01b0316336001600160a01b0316146108ee57600080fd5b600081116109335760405162461bcd60e51b8152602060048201526012602482015271526174652063616e2774206265207a65726f60701b60448201526064016107ad565b600d8190556040518181527f208f1b468d3d61f0f085e975bd9d04367c930d599642faad06695229f3eadcd89060200161067c565b6009546001600160a01b0316336001600160a01b03161461098857600080fd5b600980546001600160a01b0319166001600160a01b0383169081179091556040519081527f96511497113ddf59712b28350d7457b9c300ab227616bd3b451745a395a530149060200161067c565b6008546001600160a01b0316336001600160a01b0316146109f657600080fd5b47610a00816117f5565b50565b6001600160a01b031660009081526002602052604090205490565b6000546001600160a01b03163314610a485760405162461bcd60e51b81526004016107ad90611e70565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6008546001600160a01b0316336001600160a01b031614610ab257600080fd5b60005b81518110156108a057600a5482516001600160a01b0390911690839083908110610ae157610ae1611e41565b60200260200101516001600160a01b031614158015610b32575060075482516001600160a01b0390911690839083908110610b1e57610b1e611e41565b60200260200101516001600160a01b031614155b15610b8f57600160066000848481518110610b4f57610b4f611e41565b60200260200101516001600160a01b03166001600160a01b0316815260200190815260200160002060006101000a81548160ff0219169083151502179055505b80610b9981611e57565b915050610ab5565b6000610694338484611187565b6008546001600160a01b0316336001600160a01b031614610bce57600080fd5b6000610bd930610a03565b9050610a008161187a565b6000546001600160a01b03163314610c0e5760405162461bcd60e51b81526004016107ad90611e70565b60115460ff1615610c5b5760405162461bcd60e51b81526020600482015260176024820152762a3930b234b7339034b99030b63932b0b23c9037b832b760491b60448201526064016107ad565b6011805460ff19166001179055426010556801158e460913d00000600e5568022b1c8c1227a00000600f55565b600a54600090610813906001600160a01b0316610a03565b6000546001600160a01b03163314610cca5760405162461bcd60e51b81526004016107ad90611e70565b6011805462ff00001916620100008315158102919091179182905560405160ff9190920416151581527ff65c78d1059dbb9ec90732848bcfebbec05ac40af847d3c19adcad63379d3aeb9060200161067c565b6000546001600160a01b03163314610d475760405162461bcd60e51b81526004016107ad90611e70565b60115460ff1615610d945760405162461bcd60e51b81526020600482015260176024820152762a3930b234b7339034b99030b63932b0b23c9037b832b760491b60448201526064016107ad565b600780546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d908117909155610dd03082670de0b6b3a7640000611063565b806001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610e0e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e329190611ea5565b6001600160a01b031663c9c6539630836001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610e7f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ea39190611ea5565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af1158015610ef0573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f149190611ea5565b600a80546001600160a01b0319166001600160a01b039283161790556007541663f305d7194730610f4481610a03565b600080610f596000546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af1158015610fc1573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610fe69190611ec2565b5050600a5460075460405163095ea7b360e01b81526001600160a01b03918216600482015260001960248201529116915063095ea7b3906044016020604051808303816000875af115801561103f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108a09190611ef0565b6001600160a01b0383166110c55760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016107ad565b6001600160a01b0382166111265760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016107ad565b6001600160a01b0383811660008181526003602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b0383166111eb5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016107ad565b6001600160a01b03821661124d5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016107ad565b600081116112af5760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b60648201526084016107ad565b6001600160a01b03831660009081526006602052604090205460ff16156113245760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e736665722066726f6d2066726f7a656e2077616c6c60448201526232ba1760e91b60648201526084016107ad565b600080546001600160a01b0385811691161480159061135157506000546001600160a01b03848116911614155b1561179657600a546001600160a01b03858116911614801561138157506007546001600160a01b03848116911614155b80156113a657506001600160a01b03831660009081526004602052604090205460ff16155b156116325760115460ff166113fd5760405162461bcd60e51b815260206004820152601860248201527f54726164696e67206e6f742079657420656e61626c65642e000000000000000060448201526064016107ad565b601054420361143c5760405162461bcd60e51b815260206004820152600b60248201526a0706c73206e6f20736e69760ac1b60448201526064016107ad565b42601054610e1061144d9190611f0d565b11156114c757600f5461145f84610a03565b6114699084611f0d565b11156114c75760405162461bcd60e51b815260206004820152602760248201527f596f752063616e2774206f776e2074686174206d616e7920746f6b656e7320616044820152663a1037b731b29760c91b60648201526084016107ad565b6001600160a01b03831660009081526005602052604090206001015460ff1661152f576040805180820182526000808252600160208084018281526001600160a01b03891684526005909152939091209151825591519101805460ff19169115159190911790555b42601054607861153f9190611f0d565b111561161357600e548211156115975760405162461bcd60e51b815260206004820152601b60248201527f45786365656473206d6178696d756d2062757920616d6f756e742e000000000060448201526064016107ad565b6115a242600f611f0d565b6001600160a01b038416600090815260056020526040902054106116135760405162461bcd60e51b815260206004820152602260248201527f596f75722062757920636f6f6c646f776e20686173206e6f7420657870697265604482015261321760f11b60648201526084016107ad565b506001600160a01b038216600090815260056020526040902042905560015b601154610100900460ff1615801561164c575060115460ff165b80156116665750600a546001600160a01b03858116911614155b156117965761167642600f611f0d565b6001600160a01b038516600090815260056020526040902054106116e85760405162461bcd60e51b815260206004820152602360248201527f596f75722073656c6c20636f6f6c646f776e20686173206e6f7420657870697260448201526232b21760e91b60648201526084016107ad565b60006116f330610a03565b9050801561177f5760115462010000900460ff161561177657600d54600a5460649190611728906001600160a01b0316610a03565b6117329190611f25565b61173c9190611f44565b81111561177657600d54600a546064919061175f906001600160a01b0316610a03565b6117699190611f25565b6117739190611f44565b90505b61177f8161187a565b47801561178f5761178f476117f5565b6000925050505b6001600160a01b03841660009081526004602052604090205460019060ff16806117d857506001600160a01b03841660009081526004602052604090205460ff165b156117e1575060005b6117ee85858584866119ee565b5050505050565b6008546001600160a01b03166108fc61180f600284611f44565b6040518115909202916000818181858888f19350505050158015611837573d6000803e3d6000fd5b506009546001600160a01b03166108fc611852600284611f44565b6040518115909202916000818181858888f193505050501580156108a0573d6000803e3d6000fd5b6011805461ff00191661010017905560408051600280825260608201835260009260208301908036833701905050905030816000815181106118be576118be611e41565b6001600160a01b03928316602091820292909201810191909152600754604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015611917573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061193b9190611ea5565b8160018151811061194e5761194e611e41565b6001600160a01b0392831660209182029290920101526007546119749130911684611063565b60075460405163791ac94760e01b81526001600160a01b039091169063791ac947906119ad908590600090869030904290600401611f66565b600060405180830381600087803b1580156119c757600080fd5b505af11580156119db573d6000803e3d6000fd5b50506011805461ff001916905550505050565b60006119fa8383611a10565b9050611a0886868684611a57565b505050505050565b6000808315611a50578215611a285750600b54611a50565b50600c54601054611a3b90610384611f0d565b421015611a5057611a4d600582611f0d565b90505b9392505050565b600080611a648484611b34565b6001600160a01b0388166000908152600260205260409020549193509150611a8d908590611e2a565b6001600160a01b038088166000908152600260205260408082209390935590871681522054611abd908390611f0d565b6001600160a01b038616600090815260026020526040902055611adf81611b68565b846001600160a01b0316866001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051611b2491815260200190565b60405180910390a3505050505050565b600080806064611b448587611f25565b611b4e9190611f44565b90506000611b5c8287611e2a565b96919550909350505050565b30600090815260026020526040902054611b83908290611f0d565b3060009081526002602052604090205550565b600060208083528351808285015260005b81811015611bc357858101830151858201604001528201611ba7565b81811115611bd5576000604083870101525b50601f01601f1916929092016040019392505050565b6001600160a01b0381168114610a0057600080fd5b8035611c0b81611beb565b919050565b600060208284031215611c2257600080fd5b8135611a5081611beb565b60008060408385031215611c4057600080fd5b8235611c4b81611beb565b946020939093013593505050565b60008060408385031215611c6c57600080fd5b50508035926020909101359150565b600080600060608486031215611c9057600080fd5b8335611c9b81611beb565b92506020840135611cab81611beb565b929592945050506040919091013590565b634e487b7160e01b600052604160045260246000fd5b60006020808385031215611ce557600080fd5b823567ffffffffffffffff80821115611cfd57600080fd5b818501915085601f830112611d1157600080fd5b813581811115611d2357611d23611cbc565b8060051b604051601f19603f83011681018181108582111715611d4857611d48611cbc565b604052918252848201925083810185019188831115611d6657600080fd5b938501935b82851015611d8b57611d7c85611c00565b84529385019392850192611d6b565b98975050505050505050565b600060208284031215611da957600080fd5b5035919050565b8015158114610a0057600080fd5b600060208284031215611dd057600080fd5b8135611a5081611db0565b60008060408385031215611dee57600080fd5b8235611df981611beb565b91506020830135611e0981611beb565b809150509250929050565b634e487b7160e01b600052601160045260246000fd5b600082821015611e3c57611e3c611e14565b500390565b634e487b7160e01b600052603260045260246000fd5b600060018201611e6957611e69611e14565b5060010190565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b600060208284031215611eb757600080fd5b8151611a5081611beb565b600080600060608486031215611ed757600080fd5b8351925060208401519150604084015190509250925092565b600060208284031215611f0257600080fd5b8151611a5081611db0565b60008219821115611f2057611f20611e14565b500190565b6000816000190483118215151615611f3f57611f3f611e14565b500290565b600082611f6157634e487b7160e01b600052601260045260246000fd5b500490565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b81811015611fb65784516001600160a01b031683529383019391830191600101611f91565b50506001600160a01b0396909616606085015250505060800152939250505056fea264697066735822122058bda2317bf84c4d2d93a8ff53af34e971c8966acb783e9155430e665ce1def064736f6c634300080d0033
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
00000000000000000000000065fba56d96838669d58296ed9339aeccea95a3c30000000000000000000000004a2ff4defd2ceea7bbb3d7ce3cea83b99027584e
-----Decoded View---------------
Arg [0] : FeeAddress1 (address): 0x65Fba56D96838669D58296ed9339aEccEa95a3c3
Arg [1] : FeeAddress2 (address): 0x4a2ff4deFd2ceEA7Bbb3d7cE3ceA83B99027584E
-----Encoded View---------------
2 Constructor Arguments found :
Arg [0] : 00000000000000000000000065fba56d96838669d58296ed9339aeccea95a3c3
Arg [1] : 0000000000000000000000004a2ff4defd2ceea7bbb3d7ce3cea83b99027584e
Deployed Bytecode Sourcemap
2370:11553:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3193:25;;;;;;;;;;;;;;;;;;;160::1;;;148:2;133:18;3193:25:0;;;;;;;;2760:47;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;2760:47:0;;;;;;;;;;;;:::i;13262:205::-;;;;;;;;;;-1:-1:-1;13262:205:0;;;;;:::i;:::-;;:::i;:::-;;4878:158;;;;;;;;;;-1:-1:-1;4878:158:0;;;;;:::i;:::-;;:::i;:::-;;;1810:14:1;;1803:22;1785:41;;1773:2;1758:18;4878:158:0;1645:187:1;12181:260:0;;;;;;;;;;-1:-1:-1;12181:260:0;;;;;:::i;:::-;;:::i;4625:97::-;;;;;;;;;;-1:-1:-1;2740:11:0;4625:97;;3225:26;;;;;;;;;;;;;;;;5044:468;;;;;;;;;;-1:-1:-1;5044:468:0;;;;;:::i;:::-;;:::i;13711:100::-;;;;;;;;;;;;;:::i;2880:34::-;;;;;;;;;;;;2913:1;2880:34;;;;;2723:4:1;2711:17;;;2693:36;;2681:2;2666:18;2880:34:0;2551:184:1;12771:207:0;;;;;;;;;;-1:-1:-1;12771:207:0;;;;;:::i;:::-;;:::i;3258:23::-;;;;;;;;;;;;;;;;12990:90;;;;;;;;;;-1:-1:-1;12990:90:0;;;;;:::i;:::-;-1:-1:-1;;;;;13062:10:0;13038:4;13062:10;;;:6;:10;;;;;;;;;12990:90;3101:23;;;;;;;;;;;;;;;;11908:265;;;;;;;;;;-1:-1:-1;11908:265:0;;;;;:::i;:::-;;:::i;3066:28::-;;;;;;;;;;-1:-1:-1;3066:28:0;;;;-1:-1:-1;;;;;3066:28:0;;;;;;-1:-1:-1;;;;;4347:32:1;;;4329:51;;4317:2;4302:18;3066:28:0;4183:203:1;13475:205:0;;;;;;;;;;-1:-1:-1;13475:205:0;;;;;:::i;:::-;;:::i;3131:24::-;;;;;;;;;;;;;;;;11712:188;;;;;;;;;;;;;:::i;4330:113::-;;;;;;;;;;-1:-1:-1;4330:113:0;;;;;:::i;:::-;;:::i;1451:148::-;;;;;;;;;;;;;:::i;12449:313::-;;;;;;;;;;-1:-1:-1;12449:313:0;;;;;:::i;:::-;;:::i;1237:79::-;;;;;;;;;;-1:-1:-1;1275:7:0;1302:6;-1:-1:-1;;;;;1302:6:0;1237:79;;3347:38;;;;;;;;;;-1:-1:-1;3347:38:0;;;;;;;;;;;4449:164;;;;;;;;;;-1:-1:-1;4449:164:0;;;;;:::i;:::-;;:::i;3162:24::-;;;;;;;;;;;;;;;;11511:189;;;;;;;;;;;;;:::i;11216:287::-;;;;;;;;;;;;;:::i;13819:101::-;;;;;;;;;;;;;:::i;13090:164::-;;;;;;;;;;-1:-1:-1;13090:164:0;;;;;:::i;:::-;;:::i;4730:140::-;;;;;;;;;;-1:-1:-1;4730:140:0;;;;;:::i;:::-;-1:-1:-1;;;;;4835:18:0;;;4811:4;4835:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;4730:140;10520:688;;;;;;;;;;;;;:::i;13262:205::-;13353:12;;-1:-1:-1;;;;;13353:12:0;180:10;-1:-1:-1;;;;;13337:28:0;;13329:37;;;;;;13377:12;:34;;-1:-1:-1;;;;;;13377:34:0;-1:-1:-1;;;;;13377:34:0;;;;;;;;13427:32;;4329:51:1;;;13427:32:0;;4317:2:1;4302:18;13427:32:0;;;;;;;;13262:205;:::o;4878:158::-;4950:4;4967:39;180:10;4990:7;4999:6;4967:8;:39::i;:::-;-1:-1:-1;5024:4:0;4878:158;;;;:::o;12181:260::-;12264:12;;-1:-1:-1;;;;;12264:12:0;180:10;-1:-1:-1;;;;;12248:28:0;;12240:37;;;;;;12303:2;12296:3;:9;;12288:18;;;;;;12334:2;12325:4;:11;;12317:20;;;;;;12348:7;:13;;;12372:8;:15;;;12403:30;;;5543:25:1;;;5599:2;5584:18;;5577:34;;;12403:30:0;;5516:18:1;12403:30:0;;;;;;;12181:260;;:::o;5044:468::-;5159:12;;5139:4;;5159:12;;:46;;;;-1:-1:-1;;;;;;5176:29:0;;;;;;:18;:29;;;;;;;;5175:30;5159:46;:73;;;;-1:-1:-1;5219:13:0;;-1:-1:-1;;;;;5209:23:0;;;5219:13;;5209:23;5159:73;5156:150;;;-1:-1:-1;;;;;5257:22:0;;5270:9;5257:22;5248:46;;;;-1:-1:-1;;;5248:46:0;;5824:2:1;5248:46:0;;;5806:21:1;5863:2;5843:18;;;5836:30;-1:-1:-1;;;5882:18:1;;;5875:40;5932:18;;5248:46:0;;;;;;;;;5316:36;5326:6;5334:9;5345:6;5316:9;:36::i;:::-;-1:-1:-1;;;;;5384:19:0;;5363:18;5384:19;;;:11;:19;;;;;;;;180:10;5384:33;;;;;;;;:42;;5420:6;;5384:42;:::i;:::-;5363:63;-1:-1:-1;5437:45:0;5446:6;180:10;5468:13;5437:8;:45::i;:::-;-1:-1:-1;5500:4:0;;5044:468;-1:-1:-1;;;;5044:468:0:o;13711:100::-;13755:4;13779:24;13797:4;13779:9;:24::i;:::-;13772:31;;13711:100;:::o;12771:207::-;12856:12;;-1:-1:-1;;;;;12856:12:0;180:10;-1:-1:-1;;;;;12840:28:0;;12832:37;;;;;;12885:6;12880:91;12901:5;:12;12897:1;:16;12880:91;;;12954:5;12935:6;:16;12942:5;12948:1;12942:8;;;;;;;;:::i;:::-;;;;;;;;;;;;-1:-1:-1;;;;;12935:16:0;;;;;;;;;;;-1:-1:-1;12935:16:0;:24;;-1:-1:-1;;12935:24:0;;;;;;;;;;12915:3;;;;:::i;:::-;;;;12880:91;;;;12771:207;:::o;11908:265::-;1364:6;;-1:-1:-1;;;;;1364:6:0;180:10;1364:22;1356:67;;;;-1:-1:-1;;;1356:67:0;;;;;;;:::i;:::-;11996:12:::1;::::0;-1:-1:-1;;;;;11996:12:0::1;180:10:::0;-1:-1:-1;;;;;11980:28:0::1;;11972:37;;;::::0;::::1;;12035:1;12028:4;:8;12020:39;;;::::0;-1:-1:-1;;;12020:39:0;;7058:2:1;12020:39:0::1;::::0;::::1;7040:21:1::0;7097:2;7077:18;;;7070:30;-1:-1:-1;;;7116:18:1;;;7109:48;7174:18;;12020:39:0::1;6856:342:1::0;12020:39:0::1;12110:8;:15:::0;;;12141:24:::1;::::0;160:25:1;;;12141:24:0::1;::::0;148:2:1;133:18;12141:24:0::1;14:177:1::0;13475:205:0;13566:12;;-1:-1:-1;;;;;13566:12:0;180:10;-1:-1:-1;;;;;13550:28:0;;13542:37;;;;;;13590:12;:34;;-1:-1:-1;;;;;;13590:34:0;-1:-1:-1;;;;;13590:34:0;;;;;;;;13640:32;;4329:51:1;;;13640:32:0;;4317:2:1;4302:18;13640:32:0;4183:203:1;11712:188:0;11778:12;;-1:-1:-1;;;;;11778:12:0;180:10;-1:-1:-1;;;;;11762:28:0;;11754:37;;;;;;11828:21;11860:32;11828:21;11860:12;:32::i;:::-;11743:157;11712:188::o;4330:113::-;-1:-1:-1;;;;;4420:15:0;4396:4;4420:15;;;:6;:15;;;;;;;4330:113::o;1451:148::-;1364:6;;-1:-1:-1;;;;;1364:6:0;180:10;1364:22;1356:67;;;;-1:-1:-1;;;1356:67:0;;;;;;;:::i;:::-;1558:1:::1;1542:6:::0;;1521:40:::1;::::0;-1:-1:-1;;;;;1542:6:0;;::::1;::::0;1521:40:::1;::::0;1558:1;;1521:40:::1;1589:1;1572:19:::0;;-1:-1:-1;;;;;;1572:19:0::1;::::0;;1451:148::o;12449:313::-;12536:12;;-1:-1:-1;;;;;12536:12:0;180:10;-1:-1:-1;;;;;12520:28:0;;12512:37;;;;;;12565:6;12560:195;12581:5;:12;12577:1;:16;12560:195;;;12631:13;;12619:8;;-1:-1:-1;;;;;12631:13:0;;;;12619:5;;12625:1;;12619:8;;;;;;:::i;:::-;;;;;;;-1:-1:-1;;;;;12619:25:0;;;:65;;;;-1:-1:-1;12668:15:0;;12648:8;;-1:-1:-1;;;;;12668:15:0;;;;12648:5;;12654:1;;12648:8;;;;;;:::i;:::-;;;;;;;-1:-1:-1;;;;;12648:36:0;;;12619:65;12615:129;;;12724:4;12705:6;:16;12712:5;12718:1;12712:8;;;;;;;;:::i;:::-;;;;;;;-1:-1:-1;;;;;12705:16:0;-1:-1:-1;;;;;12705:16:0;;;;;;;;;;;;;:23;;;;;;;;;;;;;;;;;;12615:129;12595:3;;;;:::i;:::-;;;;12560:195;;4449:164;4524:4;4541:42;180:10;4565:9;4576:6;4541:9;:42::i;11511:189::-;11577:12;;-1:-1:-1;;;;;11577:12:0;180:10;-1:-1:-1;;;;;11561:28:0;;11553:37;;;;;;11601:20;11624:24;11642:4;11624:9;:24::i;:::-;11601:47;;11659:33;11676:15;11659:16;:33::i;11216:287::-;1364:6;;-1:-1:-1;;;;;1364:6:0;180:10;1364:22;1356:67;;;;-1:-1:-1;;;1356:67:0;;;;;;;:::i;:::-;11280:12:::1;::::0;::::1;;11279:13;11271:49;;;::::0;-1:-1:-1;;;11271:49:0;;7405:2:1;11271:49:0::1;::::0;::::1;7387:21:1::0;7444:2;7424:18;;;7417:30;-1:-1:-1;;;7463:18:1;;;7456:53;7526:18;;11271:49:0::1;7203:347:1::0;11271:49:0::1;11331:12;:19:::0;;-1:-1:-1;;11331:19:0::1;11346:4;11331:19;::::0;;11375:15:::1;11361:11;:29:::0;11417:19:::1;11401:13;:35:::0;11470:19:::1;11453:14;:36:::0;11216:287::o;13819:101::-;13898:13;;13864:4;;13888:24;;-1:-1:-1;;;;;13898:13:0;13888:9;:24::i;13090:164::-;1364:6;;-1:-1:-1;;;;;1364:6:0;180:10;1364:22;1356:67;;;;-1:-1:-1;;;1356:67:0;;;;;;;:::i;:::-;13160:19:::1;:27:::0;;-1:-1:-1;;13160:27:0::1;::::0;;::::1;;::::0;::::1;::::0;;;::::1;::::0;;;;13203:43:::1;::::0;13160:27:::1;13226:19:::0;;;::::1;;1810:14:1::0;1803:22;1785:41;;13203:43:0::1;::::0;1773:2:1;1758:18;13203:43:0::1;1645:187:1::0;10520:688:0;1364:6;;-1:-1:-1;;;;;1364:6:0;180:10;1364:22;1356:67;;;;-1:-1:-1;;;1356:67:0;;;;;;;:::i;:::-;10585:12:::1;::::0;::::1;;10584:13;10576:49;;;::::0;-1:-1:-1;;;10576:49:0;;7405:2:1;10576:49:0::1;::::0;::::1;7387:21:1::0;7444:2;7424:18;;;7417:30;-1:-1:-1;;;7463:18:1;;;7456:53;7526:18;;10576:49:0::1;7203:347:1::0;10576:49:0::1;10747:15;:34:::0;;-1:-1:-1;;;;;;10747:34:0::1;10693:42;10747:34:::0;;::::1;::::0;;;10792:63:::1;10809:4;10693:42:::0;2740:11:::1;10792:8;:63::i;:::-;10900:16;-1:-1:-1::0;;;;;10900:24:0::1;;:26;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;10882:56:0::1;;10947:4;10954:16;-1:-1:-1::0;;;;;10954:21:0::1;;:23;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10882:96;::::0;-1:-1:-1;;;;;;10882:96:0::1;::::0;;;;;;-1:-1:-1;;;;;8041:15:1;;;10882:96:0::1;::::0;::::1;8023:34:1::0;8093:15;;8073:18;;;8066:43;7958:18;;10882:96:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10866:13;:112:::0;;-1:-1:-1;;;;;;10866:112:0::1;-1:-1:-1::0;;;;;10866:112:0;;::::1;;::::0;;10989:15:::1;::::0;::::1;:31;11028:21;11059:4;11065:24;11059:4:::0;11065:9:::1;:24::i;:::-;11090:1;11092::::0;11094:7:::1;1275::::0;1302:6;-1:-1:-1;;;;;1302:6:0;;1237:79;11094:7:::1;10989:129;::::0;::::1;::::0;;;-1:-1:-1;;;;;;10989:129:0;;;-1:-1:-1;;;;;8479:15:1;;;10989:129:0::1;::::0;::::1;8461:34:1::0;8511:18;;;8504:34;;;;8554:18;;;8547:34;;;;8597:18;;;8590:34;8661:15;;;8640:19;;;8633:44;11102:15:0::1;8693:19:1::0;;;8686:35;8395:19;;10989:129:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;11136:13:0::1;::::0;11167:15:::1;::::0;11129:71:::1;::::0;-1:-1:-1;;;11129:71:0;;-1:-1:-1;;;;;11167:15:0;;::::1;11129:71;::::0;::::1;9217:51:1::0;-1:-1:-1;;9284:18:1;;;9277:34;11136:13:0;::::1;::::0;-1:-1:-1;11129:29:0::1;::::0;9190:18:1;;11129:71:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;5520:332::-:0;-1:-1:-1;;;;;5610:19:0;;5602:68;;;;-1:-1:-1;;;5602:68:0;;9774:2:1;5602:68:0;;;9756:21:1;9813:2;9793:18;;;9786:30;9852:34;9832:18;;;9825:62;-1:-1:-1;;;9903:18:1;;;9896:34;9947:19;;5602:68:0;9572:400:1;5602:68:0;-1:-1:-1;;;;;5689:21:0;;5681:68;;;;-1:-1:-1;;;5681:68:0;;10179:2:1;5681:68:0;;;10161:21:1;10218:2;10198:18;;;10191:30;10257:34;10237:18;;;10230:62;-1:-1:-1;;;10308:18:1;;;10301:32;10350:19;;5681:68:0;9977:398:1;5681:68:0;-1:-1:-1;;;;;5760:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;5812:32;;160:25:1;;;5812:32:0;;133:18:1;5812:32:0;;;;;;;5520:332;;;:::o;5860:2579::-;-1:-1:-1;;;;;5945:18:0;;5937:68;;;;-1:-1:-1;;;5937:68:0;;10582:2:1;5937:68:0;;;10564:21:1;10621:2;10601:18;;;10594:30;10660:34;10640:18;;;10633:62;-1:-1:-1;;;10711:18:1;;;10704:35;10756:19;;5937:68:0;10380:401:1;5937:68:0;-1:-1:-1;;;;;6024:16:0;;6016:64;;;;-1:-1:-1;;;6016:64:0;;10988:2:1;6016:64:0;;;10970:21:1;11027:2;11007:18;;;11000:30;11066:34;11046:18;;;11039:62;-1:-1:-1;;;11117:18:1;;;11110:33;11160:19;;6016:64:0;10786:399:1;6016:64:0;6108:1;6099:6;:10;6091:64;;;;-1:-1:-1;;;6091:64:0;;11392:2:1;6091:64:0;;;11374:21:1;11431:2;11411:18;;;11404:30;11470:34;11450:18;;;11443:62;-1:-1:-1;;;11521:18:1;;;11514:39;11570:19;;6091:64:0;11190:405:1;6091:64:0;-1:-1:-1;;;;;6175:12:0;;;;;;:6;:12;;;;;;;;6174:13;6166:61;;;;-1:-1:-1;;;6166:61:0;;11802:2:1;6166:61:0;;;11784:21:1;11841:2;11821:18;;;11814:30;11880:34;11860:18;;;11853:62;-1:-1:-1;;;11931:18:1;;;11924:33;11974:19;;6166:61:0;11600:399:1;6166:61:0;6240:10;1302:6;;-1:-1:-1;;;;;6272:15:0;;;1302:6;;6272:15;;;;:32;;-1:-1:-1;1275:7:0;1302:6;-1:-1:-1;;;;;6291:13:0;;;1302:6;;6291:13;;6272:32;6269:1972;;;6352:13;;-1:-1:-1;;;;;6344:21:0;;;6352:13;;6344:21;:55;;;;-1:-1:-1;6383:15:0;;-1:-1:-1;;;;;6369:30:0;;;6383:15;;6369:30;;6344:55;:82;;;;-1:-1:-1;;;;;;6404:22:0;;;;;;:18;:22;;;;;;;;6403:23;6344:82;6341:954;;;6455:12;;;;6447:49;;;;-1:-1:-1;;;6447:49:0;;12206:2:1;6447:49:0;;;12188:21:1;12245:2;12225:18;;;12218:30;12284:26;12264:18;;;12257:54;12328:18;;6447:49:0;12004:348:1;6447:49:0;6542:11;;6523:15;:30;6515:54;;;;-1:-1:-1;;;6515:54:0;;12559:2:1;6515:54:0;;;12541:21:1;12598:2;12578:18;;;12571:30;-1:-1:-1;;;12617:18:1;;;12610:41;12668:18;;6515:54:0;12357:335:1;6515:54:0;6619:15;6592:11;;6607:7;6592:23;;;;:::i;:::-;6591:43;6588:200;;;6704:14;;6677:22;6695:2;6677:9;:22::i;:::-;6668:31;;:6;:31;:::i;:::-;6667:51;;6659:103;;;;-1:-1:-1;;;6659:103:0;;13032:2:1;6659:103:0;;;13014:21:1;13071:2;13051:18;;;13044:30;13110:34;13090:18;;;13083:62;-1:-1:-1;;;13161:18:1;;;13154:37;13208:19;;6659:103:0;12830:403:1;6659:103:0;-1:-1:-1;;;;;6810:12:0;;;;;;:8;:12;;;;;:19;;;;;6806:95;;6869:12;;;;;;;;-1:-1:-1;6869:12:0;;;6876:4;6869:12;;;;;;;-1:-1:-1;;;;;6854:12:0;;;;:8;:12;;;;;;;:27;;;;;;;;;;-1:-1:-1;;6854:27:0;;;;;;;;;;6806:95;6954:15;6923:11;;6938;6923:27;;;;:::i;:::-;6922:47;6919:277;;;7012:13;;7002:6;:23;;6994:63;;;;-1:-1:-1;;;6994:63:0;;13440:2:1;6994:63:0;;;13422:21:1;13479:2;13459:18;;;13452:30;13518:29;13498:18;;;13491:57;13565:18;;6994:63:0;13238:351:1;6994:63:0;7107:30;:15;7126:10;7107:30;:::i;:::-;-1:-1:-1;;;;;7088:12:0;;;;;;:8;:12;;;;;:16;:49;7080:96;;;;-1:-1:-1;;;7080:96:0;;13796:2:1;7080:96:0;;;13778:21:1;13835:2;13815:18;;;13808:30;13874:34;13854:18;;;13847:62;-1:-1:-1;;;13925:18:1;;;13918:32;13967:19;;7080:96:0;13594:398:1;7080:96:0;-1:-1:-1;;;;;;7214:12:0;;;;;;:8;:12;;;;;7233:15;7214:34;;7275:4;6341:954;7334:7;;;;;;;7333:8;:24;;;;-1:-1:-1;7345:12:0;;;;7333:24;:49;;;;-1:-1:-1;7369:13:0;;-1:-1:-1;;;;;7361:21:0;;;7369:13;;7361:21;;7333:49;7330:900;;;7432:30;:15;7451:10;7432:30;:::i;:::-;-1:-1:-1;;;;;7411:14:0;;;;;;:8;:14;;;;;:18;:51;7403:99;;;;-1:-1:-1;;;7403:99:0;;14199:2:1;7403:99:0;;;14181:21:1;14238:2;14218:18;;;14211:30;14277:34;14257:18;;;14250:62;-1:-1:-1;;;14328:18:1;;;14321:33;14371:19;;7403:99:0;13997:399:1;7403:99:0;7521:25;7549:24;7567:4;7549:9;:24::i;:::-;7521:52;-1:-1:-1;7595:24:0;;7592:402;;7647:19;;;;;;;7644:270;;;7749:8;;7732:13;;7761:3;;7749:8;7722:24;;-1:-1:-1;;;;;7732:13:0;7722:9;:24::i;:::-;:35;;;;:::i;:::-;7721:43;;;;:::i;:::-;7698:20;:66;7695:196;;;7848:8;;7831:13;;7860:3;;7848:8;7821:24;;-1:-1:-1;;;;;7831:13:0;7821:9;:24::i;:::-;:35;;;;:::i;:::-;7820:43;;;;:::i;:::-;7797:66;;7695:196;7936:38;7953:20;7936:16;:38::i;:::-;8038:21;8081:22;;8078:105;;8128:35;8141:21;8128:12;:35::i;:::-;8209:5;8201:13;;7384:846;;7330:900;-1:-1:-1;;;;;8284:24:0;;8251:12;8284:24;;;:18;:24;;;;;;8266:4;;8284:24;;;:50;;-1:-1:-1;;;;;;8312:22:0;;;;;;:18;:22;;;;;;;;8284:50;8281:96;;;-1:-1:-1;8360:5:0;8281:96;8387:44;8402:4;8407:2;8410:6;8417:7;8425:5;8387:14;:44::i;:::-;5926:2513;;5860:2579;;;:::o;8943:139::-;8997:12;;-1:-1:-1;;;;;8997:12:0;:33;9019:10;9028:1;9019:6;:10;:::i;:::-;8997:33;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;9041:12:0;;-1:-1:-1;;;;;9041:12:0;:33;9063:10;9072:1;9063:6;:10;:::i;:::-;9041:33;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8447:480;3797:7;:14;;-1:-1:-1;;3797:14:0;;;;;8546:16:::1;::::0;;8560:1:::1;8546:16:::0;;;;;::::1;::::0;;-1:-1:-1;;8546:16:0::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;8546:16:0::1;8522:40;;8591:4;8573;8578:1;8573:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;8573:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;;:23;;;;8617:15:::1;::::0;:22:::1;::::0;;-1:-1:-1;;;8617:22:0;;;;:15;;;::::1;::::0;:20:::1;::::0;:22:::1;::::0;;::::1;::::0;8573:7;;8617:22;;;;;:15;:22:::1;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;8607:4;8612:1;8607:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;8607:32:0;;::::1;:7;::::0;;::::1;::::0;;;;;:32;8682:15:::1;::::0;8650:62:::1;::::0;8667:4:::1;::::0;8682:15:::1;8700:11:::0;8650:8:::1;:62::i;:::-;8723:15;::::0;:196:::1;::::0;-1:-1:-1;;;8723:196:0;;-1:-1:-1;;;;;8723:15:0;;::::1;::::0;:66:::1;::::0;:196:::1;::::0;8804:11;;8723:15:::1;::::0;8846:4;;8873::::1;::::0;8893:15:::1;::::0;8723:196:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;;3834:7:0;:15;;-1:-1:-1;;3834:15:0;;;-1:-1:-1;;;;8447:480:0:o;9094:217::-;9210:8;9222:21;9230:7;9239:3;9222:7;:21::i;:::-;9209:34;;9254:49;9272:6;9280:9;9291:6;9299:3;9254:17;:49::i;:::-;9198:113;9094:217;;;;;:::o;9319:398::-;9382:4;;9422:267;;;;9452:3;9449:229;;;-1:-1:-1;9482:7:0;;9449:229;;;-1:-1:-1;9536:8:0;;9584:11;;:26;;9599:10;9584:26;:::i;:::-;9566:15;:44;9563:100;;;9635:8;9642:1;9635:8;;:::i;:::-;;;9563:100;9706:3;9319:398;-1:-1:-1;;;9319:398:0:o;9725:372::-;9830:19;9851:9;9864:23;9875:6;9883:3;9864:10;:23::i;:::-;-1:-1:-1;;;;;9915:14:0;;;;;;:6;:14;;;;;;9829:58;;-1:-1:-1;9829:58:0;-1:-1:-1;9915:23:0;;9932:6;;9915:23;:::i;:::-;-1:-1:-1;;;;;9898:14:0;;;;;;;:6;:14;;;;;;:40;;;;9969:17;;;;;;;:34;;9989:14;;9969:34;:::i;:::-;-1:-1:-1;;;;;9949:17:0;;;;;;:6;:17;;;;;:54;10015:15;10025:4;10015:9;:15::i;:::-;10063:9;-1:-1:-1;;;;;10046:43:0;10055:6;-1:-1:-1;;;;;10046:43:0;;10074:14;10046:43;;;;160:25:1;;148:2;133:18;;14:177;10046:43:0;;;;;;;;9818:279;;9725:372;;;;:::o;10105:222::-;10174:4;;;10230:3;10210:16;10219:7;10210:6;:16;:::i;:::-;10209:24;;;;:::i;:::-;10197:36;-1:-1:-1;10244:19:0;10266:13;10197:36;10266:6;:13;:::i;:::-;10244:35;10314:4;;-1:-1:-1;10105:222:0;;-1:-1:-1;;;;10105:222:0:o;10335:109::-;10423:4;10408:21;;;;:6;:21;;;;;;:28;;10432:4;;10408:28;:::i;:::-;10399:4;10384:21;;;;:6;:21;;;;;:52;-1:-1:-1;10335:109:0:o;196:597:1:-;308:4;337:2;366;355:9;348:21;398:6;392:13;441:6;436:2;425:9;421:18;414:34;466:1;476:140;490:6;487:1;484:13;476:140;;;585:14;;;581:23;;575:30;551:17;;;570:2;547:26;540:66;505:10;;476:140;;;634:6;631:1;628:13;625:91;;;704:1;699:2;690:6;679:9;675:22;671:31;664:42;625:91;-1:-1:-1;777:2:1;756:15;-1:-1:-1;;752:29:1;737:45;;;;784:2;733:54;;196:597;-1:-1:-1;;;196:597:1:o;798:131::-;-1:-1:-1;;;;;873:31:1;;863:42;;853:70;;919:1;916;909:12;934:134;1002:20;;1031:31;1002:20;1031:31;:::i;:::-;934:134;;;:::o;1073:247::-;1132:6;1185:2;1173:9;1164:7;1160:23;1156:32;1153:52;;;1201:1;1198;1191:12;1153:52;1240:9;1227:23;1259:31;1284:5;1259:31;:::i;1325:315::-;1393:6;1401;1454:2;1442:9;1433:7;1429:23;1425:32;1422:52;;;1470:1;1467;1460:12;1422:52;1509:9;1496:23;1528:31;1553:5;1528:31;:::i;:::-;1578:5;1630:2;1615:18;;;;1602:32;;-1:-1:-1;;;1325:315:1:o;1837:248::-;1905:6;1913;1966:2;1954:9;1945:7;1941:23;1937:32;1934:52;;;1982:1;1979;1972:12;1934:52;-1:-1:-1;;2005:23:1;;;2075:2;2060:18;;;2047:32;;-1:-1:-1;1837:248:1:o;2090:456::-;2167:6;2175;2183;2236:2;2224:9;2215:7;2211:23;2207:32;2204:52;;;2252:1;2249;2242:12;2204:52;2291:9;2278:23;2310:31;2335:5;2310:31;:::i;:::-;2360:5;-1:-1:-1;2417:2:1;2402:18;;2389:32;2430:33;2389:32;2430:33;:::i;:::-;2090:456;;2482:7;;-1:-1:-1;;;2536:2:1;2521:18;;;;2508:32;;2090:456::o;2740:127::-;2801:10;2796:3;2792:20;2789:1;2782:31;2832:4;2829:1;2822:15;2856:4;2853:1;2846:15;2872:1121;2956:6;2987:2;3030;3018:9;3009:7;3005:23;3001:32;2998:52;;;3046:1;3043;3036:12;2998:52;3086:9;3073:23;3115:18;3156:2;3148:6;3145:14;3142:34;;;3172:1;3169;3162:12;3142:34;3210:6;3199:9;3195:22;3185:32;;3255:7;3248:4;3244:2;3240:13;3236:27;3226:55;;3277:1;3274;3267:12;3226:55;3313:2;3300:16;3335:2;3331;3328:10;3325:36;;;3341:18;;:::i;:::-;3387:2;3384:1;3380:10;3419:2;3413:9;3482:2;3478:7;3473:2;3469;3465:11;3461:25;3453:6;3449:38;3537:6;3525:10;3522:22;3517:2;3505:10;3502:18;3499:46;3496:72;;;3548:18;;:::i;:::-;3584:2;3577:22;3634:18;;;3668:15;;;;-1:-1:-1;3710:11:1;;;3706:20;;;3738:19;;;3735:39;;;3770:1;3767;3760:12;3735:39;3794:11;;;;3814:148;3830:6;3825:3;3822:15;3814:148;;;3896:23;3915:3;3896:23;:::i;:::-;3884:36;;3847:12;;;;3940;;;;3814:148;;;3981:6;2872:1121;-1:-1:-1;;;;;;;;2872:1121:1:o;3998:180::-;4057:6;4110:2;4098:9;4089:7;4085:23;4081:32;4078:52;;;4126:1;4123;4116:12;4078:52;-1:-1:-1;4149:23:1;;3998:180;-1:-1:-1;3998:180:1:o;4391:118::-;4477:5;4470:13;4463:21;4456:5;4453:32;4443:60;;4499:1;4496;4489:12;4514:241;4570:6;4623:2;4611:9;4602:7;4598:23;4594:32;4591:52;;;4639:1;4636;4629:12;4591:52;4678:9;4665:23;4697:28;4719:5;4697:28;:::i;4760:388::-;4828:6;4836;4889:2;4877:9;4868:7;4864:23;4860:32;4857:52;;;4905:1;4902;4895:12;4857:52;4944:9;4931:23;4963:31;4988:5;4963:31;:::i;:::-;5013:5;-1:-1:-1;5070:2:1;5055:18;;5042:32;5083:33;5042:32;5083:33;:::i;:::-;5135:7;5125:17;;;4760:388;;;;;:::o;5961:127::-;6022:10;6017:3;6013:20;6010:1;6003:31;6053:4;6050:1;6043:15;6077:4;6074:1;6067:15;6093:125;6133:4;6161:1;6158;6155:8;6152:34;;;6166:18;;:::i;:::-;-1:-1:-1;6203:9:1;;6093:125::o;6223:127::-;6284:10;6279:3;6275:20;6272:1;6265:31;6315:4;6312:1;6305:15;6339:4;6336:1;6329:15;6355:135;6394:3;6415:17;;;6412:43;;6435:18;;:::i;:::-;-1:-1:-1;6482:1:1;6471:13;;6355:135::o;6495:356::-;6697:2;6679:21;;;6716:18;;;6709:30;6775:34;6770:2;6755:18;;6748:62;6842:2;6827:18;;6495:356::o;7555:251::-;7625:6;7678:2;7666:9;7657:7;7653:23;7649:32;7646:52;;;7694:1;7691;7684:12;7646:52;7726:9;7720:16;7745:31;7770:5;7745:31;:::i;8732:306::-;8820:6;8828;8836;8889:2;8877:9;8868:7;8864:23;8860:32;8857:52;;;8905:1;8902;8895:12;8857:52;8934:9;8928:16;8918:26;;8984:2;8973:9;8969:18;8963:25;8953:35;;9028:2;9017:9;9013:18;9007:25;8997:35;;8732:306;;;;;:::o;9322:245::-;9389:6;9442:2;9430:9;9421:7;9417:23;9413:32;9410:52;;;9458:1;9455;9448:12;9410:52;9490:9;9484:16;9509:28;9531:5;9509:28;:::i;12697:128::-;12737:3;12768:1;12764:6;12761:1;12758:13;12755:39;;;12774:18;;:::i;:::-;-1:-1:-1;12810:9:1;;12697:128::o;14401:168::-;14441:7;14507:1;14503;14499:6;14495:14;14492:1;14489:21;14484:1;14477:9;14470:17;14466:45;14463:71;;;14514:18;;:::i;:::-;-1:-1:-1;14554:9:1;;14401:168::o;14574:217::-;14614:1;14640;14630:132;;14684:10;14679:3;14675:20;14672:1;14665:31;14719:4;14716:1;14709:15;14747:4;14744:1;14737:15;14630:132;-1:-1:-1;14776:9:1;;14574:217::o;14796:980::-;15058:4;15106:3;15095:9;15091:19;15137:6;15126:9;15119:25;15163:2;15201:6;15196:2;15185:9;15181:18;15174:34;15244:3;15239:2;15228:9;15224:18;15217:31;15268:6;15303;15297:13;15334:6;15326;15319:22;15372:3;15361:9;15357:19;15350:26;;15411:2;15403:6;15399:15;15385:29;;15432:1;15442:195;15456:6;15453:1;15450:13;15442:195;;;15521:13;;-1:-1:-1;;;;;15517:39:1;15505:52;;15612:15;;;;15577:12;;;;15553:1;15471:9;15442:195;;;-1:-1:-1;;;;;;;15693:32:1;;;;15688:2;15673:18;;15666:60;-1:-1:-1;;;15757:3:1;15742:19;15735:35;15654:3;14796:980;-1:-1:-1;;;14796:980:1:o
Swarm Source
ipfs://58bda2317bf84c4d2d93a8ff53af34e971c8966acb783e9155430e665ce1def0
Loading...
Loading
Loading...
Loading
Net Worth in USD
$0.00
Net Worth in ETH
0
Multichain Portfolio | 33 Chains
| Chain | Token | Portfolio % | Price | Amount | Value |
|---|
Loading...
Loading
Loading...
Loading
Loading...
Loading
[ Download: CSV Export ]
[ 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.