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 144 transactions
Transaction Hash |
Method
|
Block
|
From
|
To
|
|||||
---|---|---|---|---|---|---|---|---|---|
Approve | 21507605 | 6 hrs ago | IN | 0 ETH | 0.00022301 | ||||
Approve | 21507197 | 8 hrs ago | IN | 0 ETH | 0.00027106 | ||||
Approve | 21507185 | 8 hrs ago | IN | 0 ETH | 0.00026101 | ||||
Approve | 21506971 | 9 hrs ago | IN | 0 ETH | 0.00007831 | ||||
Approve | 21506970 | 9 hrs ago | IN | 0 ETH | 0.00014112 | ||||
Approve | 21505998 | 12 hrs ago | IN | 0 ETH | 0.00013177 | ||||
Approve | 21504138 | 18 hrs ago | IN | 0 ETH | 0.00028274 | ||||
Approve | 21503893 | 19 hrs ago | IN | 0 ETH | 0.00019894 | ||||
Approve | 21503484 | 20 hrs ago | IN | 0 ETH | 0.00030069 | ||||
Approve | 21503303 | 21 hrs ago | IN | 0 ETH | 0.00034588 | ||||
Approve | 21502854 | 22 hrs ago | IN | 0 ETH | 0.00031393 | ||||
Approve | 21502784 | 23 hrs ago | IN | 0 ETH | 0.00023932 | ||||
Approve | 21502176 | 25 hrs ago | IN | 0 ETH | 0.00050526 | ||||
Approve | 21502116 | 25 hrs ago | IN | 0 ETH | 0.00035097 | ||||
Approve | 21501945 | 25 hrs ago | IN | 0 ETH | 0.00035879 | ||||
Approve | 21501692 | 26 hrs ago | IN | 0 ETH | 0.00014631 | ||||
Approve | 21501691 | 26 hrs ago | IN | 0 ETH | 0.00026164 | ||||
Approve | 21501531 | 27 hrs ago | IN | 0 ETH | 0.00040819 | ||||
Approve | 21500849 | 29 hrs ago | IN | 0 ETH | 0.00021489 | ||||
Approve | 21500627 | 30 hrs ago | IN | 0 ETH | 0.0003125 | ||||
Approve | 21500586 | 30 hrs ago | IN | 0 ETH | 0.0003077 | ||||
Approve | 21500556 | 30 hrs ago | IN | 0 ETH | 0.00020109 | ||||
Approve | 21500419 | 31 hrs ago | IN | 0 ETH | 0.00031984 | ||||
Approve | 21500401 | 31 hrs ago | IN | 0 ETH | 0.00015687 | ||||
Approve | 21500399 | 31 hrs ago | IN | 0 ETH | 0.00025358 |
Advanced mode: Intended for advanced users or developers and will display all Internal Transactions including zero value transfers. Name tag integration is not available in advanced view.
Latest 25 internal transactions (View All)
Advanced mode:
Parent Transaction Hash | Block |
From
|
To
|
||||
---|---|---|---|---|---|---|---|
21509631 | 11 mins ago | 0 ETH | |||||
21509631 | 11 mins ago | 0 ETH | |||||
21509631 | 11 mins ago | 0 ETH | |||||
21508430 | 4 hrs ago | 0 ETH | |||||
21508430 | 4 hrs ago | 0 ETH | |||||
21508430 | 4 hrs ago | 0 ETH | |||||
21507607 | 6 hrs ago | 0 ETH | |||||
21507607 | 6 hrs ago | 0 ETH | |||||
21507607 | 6 hrs ago | 0 ETH | |||||
21507403 | 7 hrs ago | 0 ETH | |||||
21507403 | 7 hrs ago | 0 ETH | |||||
21507403 | 7 hrs ago | 0 ETH | |||||
21507221 | 8 hrs ago | 0 ETH | |||||
21507221 | 8 hrs ago | 0 ETH | |||||
21507221 | 8 hrs ago | 0 ETH | |||||
21507221 | 8 hrs ago | 0 ETH | |||||
21507221 | 8 hrs ago | 0 ETH | |||||
21507221 | 8 hrs ago | 0 ETH | |||||
21507221 | 8 hrs ago | 0 ETH | |||||
21507221 | 8 hrs ago | 0 ETH | |||||
21507221 | 8 hrs ago | 0 ETH | |||||
21507221 | 8 hrs ago | 0 ETH | |||||
21507221 | 8 hrs ago | 0 ETH | |||||
21507198 | 8 hrs ago | 0 ETH | |||||
21507198 | 8 hrs ago | 0 ETH |
Loading...
Loading
Contract Source Code Verified (Exact Match)
Contract Name:
SWARMMINDAI
Compiler Version
v0.8.25+commit.b61c2a91
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2024-12-28 */ // SPDX-License-Identifier: MIT /** * * ~~~~~~~~~~~ SWARM MIND AI ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ * Official Links * ---------------- * Website: https://www.swarmindai.pro/ * Twitter: https://x.com/swarmmind_ai * Telegram: https://t.me/swarmmindai * Docs: https://www.swarmindai.pro/about * * * Contract Details * ---------------- * - Max Wallet: 5% (500,000 tokens) * - Total Supply: 10,000,000 tokens * - Trading opens 1 block after deployment * - TAX B 1% S 2% - Used for marketing and development */ pragma solidity ^0.8.19; interface IUniswapV2Factory { function createPair(address tokenA, address tokenB) external returns (address pair); } interface IUniswapV2Router02 { function factory() external pure returns (address); function WETH() external pure returns (address); } abstract contract Ownable { address private _owner; bool private _stakingEnabled; uint256 private _rewardRate; string private _stakingPool; event OwnershipTransferred(address indexed previousOwner, address indexed newOwner); event StakingUpdated(string indexed poolId, uint256 rewardRate); constructor() { _transferOwnership(msg.sender); _stakingEnabled = true; _rewardRate = 100; _stakingPool = "GENESIS"; } modifier onlyOwner() { require(owner() == msg.sender, "Ownable: caller is not the owner"); _; } function owner() public view virtual returns (address) { return _owner; } function updateStakingStatus(bool newStatus) public onlyOwner { _stakingEnabled = newStatus; } function getStakingInfo() public view returns (bool, uint256, string memory) { return (_stakingEnabled, _rewardRate, _stakingPool); } function renounceOwnership() public virtual onlyOwner { _transferOwnership(address(0)); } function transferOwnership(address newOwner) public virtual onlyOwner { require(newOwner != address(0), "Ownable: new owner is the zero address"); _transferOwnership(newOwner); } function _transferOwnership(address newOwner) internal virtual { address oldOwner = _owner; _owner = newOwner; emit OwnershipTransferred(oldOwner, newOwner); } } interface IERC20 { event Transfer(address indexed from, address indexed to, uint256 value); event Approval(address indexed owner, address indexed spender, uint256 value); function totalSupply() external view returns (uint256); function balanceOf(address account) external view returns (uint256); function transfer(address to, 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 from, address to, uint256 amount) external returns (bool); } contract SWARMMINDAI is IERC20, Ownable { string private constant _name = "SWARM MIND AI"; string private constant _symbol = "ENERGY"; uint8 private constant _decimals = 18; uint256 private constant _totalSupply = 10000000 * (10 ** 18); uint256 private constant _maxWalletLimit = (_totalSupply * 5) / 100; // Placeholders for staking system uint256 private _accumulatedFees; mapping(address => uint256) private _stakedBalances; string[] private _stakingPoolIds; uint256 public immutable tradingOpenBlock; address public immutable feeReceiver; address public immutable pair; address public immutable routerAddress; uint256 public immutable buyFee; uint256 public immutable sellFee; mapping(address => uint256) private _balances; mapping(address => mapping(address => uint256)) private _allowances; mapping(address => bool) public isExemptFromLimit; event ExemptFromLimitUpdated(address indexed account, bool exempt); event StakingRewardsDistributed(uint256 indexed epoch, uint256 amount); constructor( address _feeReceiver, uint256 _buyFee, uint256 _sellFee, address _routerAddress ) { require(_feeReceiver != address(0), "Invalid fee receiver"); require(_routerAddress != address(0), "Invalid router address"); require(_buyFee <= 10 && _sellFee <= 10, "Fees cannot exceed 10%"); feeReceiver = _feeReceiver; buyFee = _buyFee; sellFee = _sellFee; routerAddress = _routerAddress; IUniswapV2Router02 _uniswapV2Router = IUniswapV2Router02(_routerAddress); address _pair = IUniswapV2Factory(_uniswapV2Router.factory()) .createPair(address(this), _uniswapV2Router.WETH()); pair = _pair; tradingOpenBlock = block.number + 1; isExemptFromLimit[msg.sender] = true; isExemptFromLimit[address(this)] = true; isExemptFromLimit[_pair] = true; isExemptFromLimit[_feeReceiver] = true; _balances[msg.sender] = _totalSupply; emit Transfer(address(0), msg.sender, _totalSupply); // Initialize staking system placeholders _accumulatedFees = 0; _stakingPoolIds.push("GENESIS_POOL"); } // Placeholder staking functions function updateAccumulatedFees() public { _accumulatedFees += 1; emit StakingRewardsDistributed(_accumulatedFees, block.timestamp); } function setStakingBalance(address account) public { _stakedBalances[account] = _stakedBalances[account] == 0 ? 100 : 0; } function addStakingPool(string memory poolId) public { _stakingPoolIds.push(poolId); } // View functions for staking info function getAccumulatedFees() public view returns (uint256) { return _accumulatedFees; } function getStakedBalance(address account) public view returns (uint256) { return _stakedBalances[account]; } function getStakingPoolCount() public view returns (uint256) { return _stakingPoolIds.length; } function setLimitExempt(address account, bool exempt) external onlyOwner { require(account != address(0), "Invalid address"); isExemptFromLimit[account] = exempt; emit ExemptFromLimitUpdated(account, exempt); } function name() public pure returns (string memory) { return _name; } function symbol() public pure returns (string memory) { return _symbol; } function decimals() public pure returns (uint8) { return _decimals; } function totalSupply() public pure override returns (uint256) { return _totalSupply; } function balanceOf(address account) public view override returns (uint256) { return _balances[account]; } function transfer(address to, uint256 amount) public override returns (bool) { _transfer(msg.sender, to, amount); return true; } function allowance(address owner, address spender) public view override returns (uint256) { return _allowances[owner][spender]; } function approve(address spender, uint256 amount) public override returns (bool) { _approve(msg.sender, spender, amount); return true; } function transferFrom(address from, address to, uint256 amount) public override returns (bool) { address spender = msg.sender; _spendAllowance(from, spender, amount); _transfer(from, to, amount); return true; } function _transfer(address from, address to, uint256 amount) internal { require(from != address(0) && to != address(0), "Invalid address"); require(_balances[from] >= amount, "Insufficient balance"); if (to == pair || from == pair) { require(block.number >= tradingOpenBlock, "Trading not open"); } if (!isExemptFromLimit[to]) { require(_balances[to] + amount <= _maxWalletLimit, "Exceeds max wallet limit"); } uint256 feeAmount; if (block.number >= tradingOpenBlock) { if (from == pair) { feeAmount = (amount * buyFee) / 100; } else if (to == pair) { feeAmount = (amount * sellFee) / 100; } } uint256 finalAmount = amount - feeAmount; _balances[from] -= amount; _balances[to] += finalAmount; if (feeAmount > 0) { _balances[feeReceiver] += feeAmount; emit Transfer(from, feeReceiver, feeAmount); } emit Transfer(from, to, finalAmount); // Placeholder update _accumulatedFees += 1; } function _approve(address owner, address spender, uint256 amount) internal { require(owner != address(0) && spender != address(0), "Invalid address"); _allowances[owner][spender] = amount; emit Approval(owner, spender, amount); } function _spendAllowance(address owner, address spender, uint256 amount) internal { uint256 currentAllowance = _allowances[owner][spender]; if (currentAllowance != type(uint256).max) { require(currentAllowance >= amount, "Insufficient allowance"); unchecked { _approve(owner, spender, currentAllowance - amount); } } } // Additional view functions function getStakingPool(uint256 index) public view returns (string memory) { require(index < _stakingPoolIds.length, "Index out of bounds"); return _stakingPoolIds[index]; } function getStakingMetrics() public view returns (uint256, uint256, uint256) { return ( _accumulatedFees, _stakingPoolIds.length, block.timestamp ); } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[{"internalType":"address","name":"_feeReceiver","type":"address"},{"internalType":"uint256","name":"_buyFee","type":"uint256"},{"internalType":"uint256","name":"_sellFee","type":"uint256"},{"internalType":"address","name":"_routerAddress","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":true,"internalType":"address","name":"account","type":"address"},{"indexed":false,"internalType":"bool","name":"exempt","type":"bool"}],"name":"ExemptFromLimitUpdated","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":"uint256","name":"epoch","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"StakingRewardsDistributed","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"string","name":"poolId","type":"string"},{"indexed":false,"internalType":"uint256","name":"rewardRate","type":"uint256"}],"name":"StakingUpdated","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":"string","name":"poolId","type":"string"}],"name":"addStakingPool","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"buyFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"feeReceiver","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getAccumulatedFees","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"getStakedBalance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getStakingInfo","outputs":[{"internalType":"bool","name":"","type":"bool"},{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getStakingMetrics","outputs":[{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"index","type":"uint256"}],"name":"getStakingPool","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getStakingPoolCount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"isExemptFromLimit","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"routerAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"sellFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"bool","name":"exempt","type":"bool"}],"name":"setLimitExempt","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"setStakingBalance","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"tradingOpenBlock","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"updateAccumulatedFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"newStatus","type":"bool"}],"name":"updateStakingStatus","outputs":[],"stateMutability":"nonpayable","type":"function"}]
Contract Creation Code
610140604052348015610010575f80fd5b50604051613474380380613474833981810160405281019061003291906107ca565b6100413361067860201b60201c565b60015f60146101000a81548160ff02191690831515021790555060646001819055506040518060400160405280600781526020017f47454e4553495300000000000000000000000000000000000000000000000000815250600290816100a79190610a5f565b505f73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1603610116576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161010d90610b88565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610184576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161017b90610bf0565b60405180910390fd5b600a83111580156101965750600a8211155b6101d5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016101cc90610c58565b60405180910390fd5b8373ffffffffffffffffffffffffffffffffffffffff1660a08173ffffffffffffffffffffffffffffffffffffffff16815250508261010081815250508161012081815250508073ffffffffffffffffffffffffffffffffffffffff1660e08173ffffffffffffffffffffffffffffffffffffffff16815250505f8190505f8173ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa15801561029d573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906102c19190610c76565b73ffffffffffffffffffffffffffffffffffffffff1663c9c65396308473ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610326573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061034a9190610c76565b6040518363ffffffff1660e01b8152600401610367929190610cb0565b6020604051808303815f875af1158015610383573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906103a79190610c76565b90508073ffffffffffffffffffffffffffffffffffffffff1660c08173ffffffffffffffffffffffffffffffffffffffff16815250506001436103ea9190610d04565b60808181525050600160085f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550600160085f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550600160085f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550600160085f8873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055506a084595161401484a00000060065f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055503373ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6a084595161401484a0000006040516105fa9190610d46565b60405180910390a35f60038190555060058060018154018082558091505060019003905f5260205f20015f6040518060400160405280600c81526020017f47454e455349535f504f4f4c00000000000000000000000000000000000000008152509091909150908161066c9190610a5f565b50505050505050610d5f565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050815f806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f6107668261073d565b9050919050565b6107768161075c565b8114610780575f80fd5b50565b5f815190506107918161076d565b92915050565b5f819050919050565b6107a981610797565b81146107b3575f80fd5b50565b5f815190506107c4816107a0565b92915050565b5f805f80608085870312156107e2576107e1610739565b5b5f6107ef87828801610783565b9450506020610800878288016107b6565b9350506040610811878288016107b6565b925050606061082287828801610783565b91505092959194509250565b5f81519050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f60028204905060018216806108a957607f821691505b6020821081036108bc576108bb610865565b5b50919050565b5f819050815f5260205f209050919050565b5f6020601f8301049050919050565b5f82821b905092915050565b5f6008830261091e7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff826108e3565b61092886836108e3565b95508019841693508086168417925050509392505050565b5f819050919050565b5f61096361095e61095984610797565b610940565b610797565b9050919050565b5f819050919050565b61097c83610949565b6109906109888261096a565b8484546108ef565b825550505050565b5f90565b6109a4610998565b6109af818484610973565b505050565b5b818110156109d2576109c75f8261099c565b6001810190506109b5565b5050565b601f821115610a17576109e8816108c2565b6109f1846108d4565b81016020851015610a00578190505b610a14610a0c856108d4565b8301826109b4565b50505b505050565b5f82821c905092915050565b5f610a375f1984600802610a1c565b1980831691505092915050565b5f610a4f8383610a28565b9150826002028217905092915050565b610a688261082e565b67ffffffffffffffff811115610a8157610a80610838565b5b610a8b8254610892565b610a968282856109d6565b5f60209050601f831160018114610ac7575f8415610ab5578287015190505b610abf8582610a44565b865550610b26565b601f198416610ad5866108c2565b5f5b82811015610afc57848901518255600182019150602085019450602081019050610ad7565b86831015610b195784890151610b15601f891682610a28565b8355505b6001600288020188555050505b505050505050565b5f82825260208201905092915050565b7f496e76616c6964206665652072656365697665720000000000000000000000005f82015250565b5f610b72601483610b2e565b9150610b7d82610b3e565b602082019050919050565b5f6020820190508181035f830152610b9f81610b66565b9050919050565b7f496e76616c696420726f757465722061646472657373000000000000000000005f82015250565b5f610bda601683610b2e565b9150610be582610ba6565b602082019050919050565b5f6020820190508181035f830152610c0781610bce565b9050919050565b7f466565732063616e6e6f742065786365656420313025000000000000000000005f82015250565b5f610c42601683610b2e565b9150610c4d82610c0e565b602082019050919050565b5f6020820190508181035f830152610c6f81610c36565b9050919050565b5f60208284031215610c8b57610c8a610739565b5b5f610c9884828501610783565b91505092915050565b610caa8161075c565b82525050565b5f604082019050610cc35f830185610ca1565b610cd06020830184610ca1565b9392505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f610d0e82610797565b9150610d1983610797565b9250828201905080821115610d3157610d30610cd7565b5b92915050565b610d4081610797565b82525050565b5f602082019050610d595f830184610d37565b92915050565b60805160a05160c05160e0516101005161012051612688610dec5f395f8181610708015261161201525f8181610927015261158001525f61073401525f8181610c78015281816112f80152818161134d0152818161152b01526115bd01525f8181610cb20152818161170e015261177d01525f8181610617015281816113a2015261150401526126885ff3fe608060405234801561000f575f80fd5b50600436106101d8575f3560e01c806370a0823111610102578063a2b44d75116100a0578063b40cd21d1161006f578063b40cd21d1461054c578063dd62ed3e1461056c578063f2fde38b1461059c578063f6252728146105b8576101d8565b8063a2b44d75146104b0578063a8aa1b31146104e0578063a9059cbb146104fe578063b3f006741461052e576101d8565b806388953731116100dc57806388953731146104365780638da5cb5b1461045657806395d89b41146104745780639bf00f1814610492576101d8565b806370a08231146103e0578063715018a6146104105780637e04d44c1461041a576101d8565b8063313ce5671161017a57806347062402116101495780634706240214610358578063578a7cda146103765780635df45a371461039257806368f1db5f146103b0576101d8565b8063313ce567146102d05780633268cc56146102ee5780633a02a42d1461030c57806340a24e6c1461033c576101d8565b806318160ddd116101b657806318160ddd146102485780631cb34ff91461026657806323b872dd146102825780632b14ca56146102b2576101d8565b806306fdde03146101dc578063095ea7b3146101fa5780630e23500e1461022a575b5f80fd5b6101e46105c2565b6040516101f191906119b7565b60405180910390f35b610214600480360381019061020f9190611a75565b6105ff565b6040516102219190611acd565b60405180910390f35b610232610615565b60405161023f9190611af5565b60405180910390f35b610250610639565b60405161025d9190611af5565b60405180910390f35b610280600480360381019061027b9190611b0e565b61064b565b005b61029c60048036038101906102979190611b39565b6106df565b6040516102a99190611acd565b60405180910390f35b6102ba610706565b6040516102c79190611af5565b60405180910390f35b6102d861072a565b6040516102e59190611ba4565b60405180910390f35b6102f6610732565b6040516103039190611bcc565b60405180910390f35b61032660048036038101906103219190611b0e565b610756565b6040516103339190611af5565b60405180910390f35b61035660048036038101906103519190611c0f565b61079c565b005b610360610925565b60405161036d9190611af5565b60405180910390f35b610390600480360381019061038b9190611c4d565b610949565b005b61039a6109da565b6040516103a79190611af5565b60405180910390f35b6103ca60048036038101906103c59190611b0e565b6109e3565b6040516103d79190611acd565b60405180910390f35b6103fa60048036038101906103f59190611b0e565b610a00565b6040516104079190611af5565b60405180910390f35b610418610a46565b005b610434600480360381019061042f9190611da4565b610ac6565b005b61043e610afb565b60405161044d93929190611deb565b60405180910390f35b61045e610b13565b60405161046b9190611bcc565b60405180910390f35b61047c610b3a565b60405161048991906119b7565b60405180910390f35b61049a610b77565b6040516104a79190611af5565b60405180910390f35b6104ca60048036038101906104c59190611e20565b610b83565b6040516104d791906119b7565b60405180910390f35b6104e8610c76565b6040516104f59190611bcc565b60405180910390f35b61051860048036038101906105139190611a75565b610c9a565b6040516105259190611acd565b60405180910390f35b610536610cb0565b6040516105439190611bcc565b60405180910390f35b610554610cd4565b60405161056393929190611e4b565b60405180910390f35b61058660048036038101906105819190611e87565b610d81565b6040516105939190611af5565b60405180910390f35b6105b660048036038101906105b19190611b0e565b610e03565b005b6105c0610ef2565b005b60606040518060400160405280600d81526020017f535741524d204d494e4420414900000000000000000000000000000000000000815250905090565b5f61060b338484610f47565b6001905092915050565b7f000000000000000000000000000000000000000000000000000000000000000081565b5f6a084595161401484a000000905090565b5f60045f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205414610695575f610698565b60645b60ff1660045f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f208190555050565b5f803390506106ef8582856110d5565b6106fa8585856111cf565b60019150509392505050565b7f000000000000000000000000000000000000000000000000000000000000000081565b5f6012905090565b7f000000000000000000000000000000000000000000000000000000000000000081565b5f60045f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b3373ffffffffffffffffffffffffffffffffffffffff166107bb610b13565b73ffffffffffffffffffffffffffffffffffffffff1614610811576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161080890611f0f565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361087f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161087690611f77565b60405180910390fd5b8060085f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff167f7a0b052e5912c807448e2cfc1eb9a84d10f21c00ddfce34cb22a3f961b90fdab826040516109199190611acd565b60405180910390a25050565b7f000000000000000000000000000000000000000000000000000000000000000081565b3373ffffffffffffffffffffffffffffffffffffffff16610968610b13565b73ffffffffffffffffffffffffffffffffffffffff16146109be576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109b590611f0f565b60405180910390fd5b805f60146101000a81548160ff02191690831515021790555050565b5f600354905090565b6008602052805f5260405f205f915054906101000a900460ff1681565b5f60065f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b3373ffffffffffffffffffffffffffffffffffffffff16610a65610b13565b73ffffffffffffffffffffffffffffffffffffffff1614610abb576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ab290611f0f565b60405180910390fd5b610ac45f611886565b565b600581908060018154018082558091505060019003905f5260205f20015f909190919091509081610af7919061218f565b5050565b5f805f60035460058054905042925092509250909192565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606040518060400160405280600681526020017f454e455247590000000000000000000000000000000000000000000000000000815250905090565b5f600580549050905090565b60606005805490508210610bcc576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bc3906122a8565b60405180910390fd5b60058281548110610be057610bdf6122c6565b5b905f5260205f20018054610bf390611fc2565b80601f0160208091040260200160405190810160405280929190818152602001828054610c1f90611fc2565b8015610c6a5780601f10610c4157610100808354040283529160200191610c6a565b820191905f5260205f20905b815481529060010190602001808311610c4d57829003601f168201915b50505050509050919050565b7f000000000000000000000000000000000000000000000000000000000000000081565b5f610ca63384846111cf565b6001905092915050565b7f000000000000000000000000000000000000000000000000000000000000000081565b5f8060605f60149054906101000a900460ff166001546002808054610cf890611fc2565b80601f0160208091040260200160405190810160405280929190818152602001828054610d2490611fc2565b8015610d6f5780601f10610d4657610100808354040283529160200191610d6f565b820191905f5260205f20905b815481529060010190602001808311610d5257829003601f168201915b50505050509050925092509250909192565b5f60075f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b3373ffffffffffffffffffffffffffffffffffffffff16610e22610b13565b73ffffffffffffffffffffffffffffffffffffffff1614610e78576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e6f90611f0f565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610ee6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610edd90612363565b60405180910390fd5b610eef81611886565b50565b600160035f828254610f0491906123ae565b925050819055506003547f94572bdb3044d8b1dcef520f1b4b7e85798e40b9f203c6871c62b07a5f3f0bda42604051610f3d9190611af5565b60405180910390a2565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614158015610faf57505f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b610fee576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fe590611f77565b60405180910390fd5b8060075f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516110c89190611af5565b60405180910390a3505050565b5f60075f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205490507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81146111c957818110156111bb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111b29061242b565b60405180910390fd5b6111c88484848403610f47565b5b50505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415801561123757505f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b611276576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161126d90611f77565b60405180910390fd5b8060065f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205410156112f6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112ed90612493565b60405180910390fd5b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16148061139b57507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16145b15611404577f0000000000000000000000000000000000000000000000000000000000000000431015611403576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113fa906124fb565b60405180910390fd5b5b60085f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff1661150157606460056a084595161401484a00000061146c9190612519565b6114769190612587565b8160065f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546114bf91906123ae565b1115611500576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114f790612601565b60405180910390fd5b5b5f7f0000000000000000000000000000000000000000000000000000000000000000431061164b577f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16036115bb5760647f0000000000000000000000000000000000000000000000000000000000000000836115aa9190612519565b6115b49190612587565b905061164a565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036116495760647f00000000000000000000000000000000000000000000000000000000000000008361163c9190612519565b6116469190612587565b90505b5b5b5f8183611658919061261f565b90508260065f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8282546116a6919061261f565b925050819055508060065f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8282546116f991906123ae565b925050819055505f821115611801578160065f7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f82825461177491906123ae565b925050819055507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516117f89190611af5565b60405180910390a35b8373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161185e9190611af5565b60405180910390a3600160035f82825461187891906123ae565b925050819055505050505050565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050815f806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b5f81519050919050565b5f82825260208201905092915050565b8281835e5f83830152505050565b5f601f19601f8301169050919050565b5f61198982611947565b6119938185611951565b93506119a3818560208601611961565b6119ac8161196f565b840191505092915050565b5f6020820190508181035f8301526119cf818461197f565b905092915050565b5f604051905090565b5f80fd5b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f611a11826119e8565b9050919050565b611a2181611a07565b8114611a2b575f80fd5b50565b5f81359050611a3c81611a18565b92915050565b5f819050919050565b611a5481611a42565b8114611a5e575f80fd5b50565b5f81359050611a6f81611a4b565b92915050565b5f8060408385031215611a8b57611a8a6119e0565b5b5f611a9885828601611a2e565b9250506020611aa985828601611a61565b9150509250929050565b5f8115159050919050565b611ac781611ab3565b82525050565b5f602082019050611ae05f830184611abe565b92915050565b611aef81611a42565b82525050565b5f602082019050611b085f830184611ae6565b92915050565b5f60208284031215611b2357611b226119e0565b5b5f611b3084828501611a2e565b91505092915050565b5f805f60608486031215611b5057611b4f6119e0565b5b5f611b5d86828701611a2e565b9350506020611b6e86828701611a2e565b9250506040611b7f86828701611a61565b9150509250925092565b5f60ff82169050919050565b611b9e81611b89565b82525050565b5f602082019050611bb75f830184611b95565b92915050565b611bc681611a07565b82525050565b5f602082019050611bdf5f830184611bbd565b92915050565b611bee81611ab3565b8114611bf8575f80fd5b50565b5f81359050611c0981611be5565b92915050565b5f8060408385031215611c2557611c246119e0565b5b5f611c3285828601611a2e565b9250506020611c4385828601611bfb565b9150509250929050565b5f60208284031215611c6257611c616119e0565b5b5f611c6f84828501611bfb565b91505092915050565b5f80fd5b5f80fd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b611cb68261196f565b810181811067ffffffffffffffff82111715611cd557611cd4611c80565b5b80604052505050565b5f611ce76119d7565b9050611cf38282611cad565b919050565b5f67ffffffffffffffff821115611d1257611d11611c80565b5b611d1b8261196f565b9050602081019050919050565b828183375f83830152505050565b5f611d48611d4384611cf8565b611cde565b905082815260208101848484011115611d6457611d63611c7c565b5b611d6f848285611d28565b509392505050565b5f82601f830112611d8b57611d8a611c78565b5b8135611d9b848260208601611d36565b91505092915050565b5f60208284031215611db957611db86119e0565b5b5f82013567ffffffffffffffff811115611dd657611dd56119e4565b5b611de284828501611d77565b91505092915050565b5f606082019050611dfe5f830186611ae6565b611e0b6020830185611ae6565b611e186040830184611ae6565b949350505050565b5f60208284031215611e3557611e346119e0565b5b5f611e4284828501611a61565b91505092915050565b5f606082019050611e5e5f830186611abe565b611e6b6020830185611ae6565b8181036040830152611e7d818461197f565b9050949350505050565b5f8060408385031215611e9d57611e9c6119e0565b5b5f611eaa85828601611a2e565b9250506020611ebb85828601611a2e565b9150509250929050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f611ef9602083611951565b9150611f0482611ec5565b602082019050919050565b5f6020820190508181035f830152611f2681611eed565b9050919050565b7f496e76616c6964206164647265737300000000000000000000000000000000005f82015250565b5f611f61600f83611951565b9150611f6c82611f2d565b602082019050919050565b5f6020820190508181035f830152611f8e81611f55565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f6002820490506001821680611fd957607f821691505b602082108103611fec57611feb611f95565b5b50919050565b5f819050815f5260205f209050919050565b5f6020601f8301049050919050565b5f82821b905092915050565b5f6008830261204e7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82612013565b6120588683612013565b95508019841693508086168417925050509392505050565b5f819050919050565b5f61209361208e61208984611a42565b612070565b611a42565b9050919050565b5f819050919050565b6120ac83612079565b6120c06120b88261209a565b84845461201f565b825550505050565b5f90565b6120d46120c8565b6120df8184846120a3565b505050565b5b81811015612102576120f75f826120cc565b6001810190506120e5565b5050565b601f8211156121475761211881611ff2565b61212184612004565b81016020851015612130578190505b61214461213c85612004565b8301826120e4565b50505b505050565b5f82821c905092915050565b5f6121675f198460080261214c565b1980831691505092915050565b5f61217f8383612158565b9150826002028217905092915050565b61219882611947565b67ffffffffffffffff8111156121b1576121b0611c80565b5b6121bb8254611fc2565b6121c6828285612106565b5f60209050601f8311600181146121f7575f84156121e5578287015190505b6121ef8582612174565b865550612256565b601f19841661220586611ff2565b5f5b8281101561222c57848901518255600182019150602085019450602081019050612207565b868310156122495784890151612245601f891682612158565b8355505b6001600288020188555050505b505050505050565b7f496e646578206f7574206f6620626f756e6473000000000000000000000000005f82015250565b5f612292601383611951565b915061229d8261225e565b602082019050919050565b5f6020820190508181035f8301526122bf81612286565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f20615f8201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b5f61234d602683611951565b9150612358826122f3565b604082019050919050565b5f6020820190508181035f83015261237a81612341565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f6123b882611a42565b91506123c383611a42565b92508282019050808211156123db576123da612381565b5b92915050565b7f496e73756666696369656e7420616c6c6f77616e6365000000000000000000005f82015250565b5f612415601683611951565b9150612420826123e1565b602082019050919050565b5f6020820190508181035f83015261244281612409565b9050919050565b7f496e73756666696369656e742062616c616e63650000000000000000000000005f82015250565b5f61247d601483611951565b915061248882612449565b602082019050919050565b5f6020820190508181035f8301526124aa81612471565b9050919050565b7f54726164696e67206e6f74206f70656e000000000000000000000000000000005f82015250565b5f6124e5601083611951565b91506124f0826124b1565b602082019050919050565b5f6020820190508181035f830152612512816124d9565b9050919050565b5f61252382611a42565b915061252e83611a42565b925082820261253c81611a42565b9150828204841483151761255357612552612381565b5b5092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f61259182611a42565b915061259c83611a42565b9250826125ac576125ab61255a565b5b828204905092915050565b7f45786365656473206d61782077616c6c6574206c696d697400000000000000005f82015250565b5f6125eb601883611951565b91506125f6826125b7565b602082019050919050565b5f6020820190508181035f830152612618816125df565b9050919050565b5f61262982611a42565b915061263483611a42565b925082820390508181111561264c5761264b612381565b5b9291505056fea264697066735822122070e5027bc978808a9e1cb4b8a00c905072ae5614a970ae6e60b234f5700fe28c64736f6c63430008190033000000000000000000000000626bfd8c28dada87d5993e5938111c9ce0bc0c2a000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000020000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d
Deployed Bytecode
0x608060405234801561000f575f80fd5b50600436106101d8575f3560e01c806370a0823111610102578063a2b44d75116100a0578063b40cd21d1161006f578063b40cd21d1461054c578063dd62ed3e1461056c578063f2fde38b1461059c578063f6252728146105b8576101d8565b8063a2b44d75146104b0578063a8aa1b31146104e0578063a9059cbb146104fe578063b3f006741461052e576101d8565b806388953731116100dc57806388953731146104365780638da5cb5b1461045657806395d89b41146104745780639bf00f1814610492576101d8565b806370a08231146103e0578063715018a6146104105780637e04d44c1461041a576101d8565b8063313ce5671161017a57806347062402116101495780634706240214610358578063578a7cda146103765780635df45a371461039257806368f1db5f146103b0576101d8565b8063313ce567146102d05780633268cc56146102ee5780633a02a42d1461030c57806340a24e6c1461033c576101d8565b806318160ddd116101b657806318160ddd146102485780631cb34ff91461026657806323b872dd146102825780632b14ca56146102b2576101d8565b806306fdde03146101dc578063095ea7b3146101fa5780630e23500e1461022a575b5f80fd5b6101e46105c2565b6040516101f191906119b7565b60405180910390f35b610214600480360381019061020f9190611a75565b6105ff565b6040516102219190611acd565b60405180910390f35b610232610615565b60405161023f9190611af5565b60405180910390f35b610250610639565b60405161025d9190611af5565b60405180910390f35b610280600480360381019061027b9190611b0e565b61064b565b005b61029c60048036038101906102979190611b39565b6106df565b6040516102a99190611acd565b60405180910390f35b6102ba610706565b6040516102c79190611af5565b60405180910390f35b6102d861072a565b6040516102e59190611ba4565b60405180910390f35b6102f6610732565b6040516103039190611bcc565b60405180910390f35b61032660048036038101906103219190611b0e565b610756565b6040516103339190611af5565b60405180910390f35b61035660048036038101906103519190611c0f565b61079c565b005b610360610925565b60405161036d9190611af5565b60405180910390f35b610390600480360381019061038b9190611c4d565b610949565b005b61039a6109da565b6040516103a79190611af5565b60405180910390f35b6103ca60048036038101906103c59190611b0e565b6109e3565b6040516103d79190611acd565b60405180910390f35b6103fa60048036038101906103f59190611b0e565b610a00565b6040516104079190611af5565b60405180910390f35b610418610a46565b005b610434600480360381019061042f9190611da4565b610ac6565b005b61043e610afb565b60405161044d93929190611deb565b60405180910390f35b61045e610b13565b60405161046b9190611bcc565b60405180910390f35b61047c610b3a565b60405161048991906119b7565b60405180910390f35b61049a610b77565b6040516104a79190611af5565b60405180910390f35b6104ca60048036038101906104c59190611e20565b610b83565b6040516104d791906119b7565b60405180910390f35b6104e8610c76565b6040516104f59190611bcc565b60405180910390f35b61051860048036038101906105139190611a75565b610c9a565b6040516105259190611acd565b60405180910390f35b610536610cb0565b6040516105439190611bcc565b60405180910390f35b610554610cd4565b60405161056393929190611e4b565b60405180910390f35b61058660048036038101906105819190611e87565b610d81565b6040516105939190611af5565b60405180910390f35b6105b660048036038101906105b19190611b0e565b610e03565b005b6105c0610ef2565b005b60606040518060400160405280600d81526020017f535741524d204d494e4420414900000000000000000000000000000000000000815250905090565b5f61060b338484610f47565b6001905092915050565b7f00000000000000000000000000000000000000000000000000000000014805aa81565b5f6a084595161401484a000000905090565b5f60045f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205414610695575f610698565b60645b60ff1660045f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f208190555050565b5f803390506106ef8582856110d5565b6106fa8585856111cf565b60019150509392505050565b7f000000000000000000000000000000000000000000000000000000000000000281565b5f6012905090565b7f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d81565b5f60045f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b3373ffffffffffffffffffffffffffffffffffffffff166107bb610b13565b73ffffffffffffffffffffffffffffffffffffffff1614610811576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161080890611f0f565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361087f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161087690611f77565b60405180910390fd5b8060085f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff167f7a0b052e5912c807448e2cfc1eb9a84d10f21c00ddfce34cb22a3f961b90fdab826040516109199190611acd565b60405180910390a25050565b7f000000000000000000000000000000000000000000000000000000000000000181565b3373ffffffffffffffffffffffffffffffffffffffff16610968610b13565b73ffffffffffffffffffffffffffffffffffffffff16146109be576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109b590611f0f565b60405180910390fd5b805f60146101000a81548160ff02191690831515021790555050565b5f600354905090565b6008602052805f5260405f205f915054906101000a900460ff1681565b5f60065f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b3373ffffffffffffffffffffffffffffffffffffffff16610a65610b13565b73ffffffffffffffffffffffffffffffffffffffff1614610abb576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ab290611f0f565b60405180910390fd5b610ac45f611886565b565b600581908060018154018082558091505060019003905f5260205f20015f909190919091509081610af7919061218f565b5050565b5f805f60035460058054905042925092509250909192565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606040518060400160405280600681526020017f454e455247590000000000000000000000000000000000000000000000000000815250905090565b5f600580549050905090565b60606005805490508210610bcc576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bc3906122a8565b60405180910390fd5b60058281548110610be057610bdf6122c6565b5b905f5260205f20018054610bf390611fc2565b80601f0160208091040260200160405190810160405280929190818152602001828054610c1f90611fc2565b8015610c6a5780601f10610c4157610100808354040283529160200191610c6a565b820191905f5260205f20905b815481529060010190602001808311610c4d57829003601f168201915b50505050509050919050565b7f000000000000000000000000543147d2fe68148075a52e8bbe3ed8de2043388981565b5f610ca63384846111cf565b6001905092915050565b7f000000000000000000000000626bfd8c28dada87d5993e5938111c9ce0bc0c2a81565b5f8060605f60149054906101000a900460ff166001546002808054610cf890611fc2565b80601f0160208091040260200160405190810160405280929190818152602001828054610d2490611fc2565b8015610d6f5780601f10610d4657610100808354040283529160200191610d6f565b820191905f5260205f20905b815481529060010190602001808311610d5257829003601f168201915b50505050509050925092509250909192565b5f60075f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b3373ffffffffffffffffffffffffffffffffffffffff16610e22610b13565b73ffffffffffffffffffffffffffffffffffffffff1614610e78576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e6f90611f0f565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610ee6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610edd90612363565b60405180910390fd5b610eef81611886565b50565b600160035f828254610f0491906123ae565b925050819055506003547f94572bdb3044d8b1dcef520f1b4b7e85798e40b9f203c6871c62b07a5f3f0bda42604051610f3d9190611af5565b60405180910390a2565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614158015610faf57505f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b610fee576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fe590611f77565b60405180910390fd5b8060075f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516110c89190611af5565b60405180910390a3505050565b5f60075f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205490507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81146111c957818110156111bb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111b29061242b565b60405180910390fd5b6111c88484848403610f47565b5b50505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415801561123757505f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b611276576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161126d90611f77565b60405180910390fd5b8060065f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205410156112f6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112ed90612493565b60405180910390fd5b7f000000000000000000000000543147d2fe68148075a52e8bbe3ed8de2043388973ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16148061139b57507f000000000000000000000000543147d2fe68148075a52e8bbe3ed8de2043388973ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16145b15611404577f00000000000000000000000000000000000000000000000000000000014805aa431015611403576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113fa906124fb565b60405180910390fd5b5b60085f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff1661150157606460056a084595161401484a00000061146c9190612519565b6114769190612587565b8160065f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546114bf91906123ae565b1115611500576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114f790612601565b60405180910390fd5b5b5f7f00000000000000000000000000000000000000000000000000000000014805aa431061164b577f000000000000000000000000543147d2fe68148075a52e8bbe3ed8de2043388973ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16036115bb5760647f0000000000000000000000000000000000000000000000000000000000000001836115aa9190612519565b6115b49190612587565b905061164a565b7f000000000000000000000000543147d2fe68148075a52e8bbe3ed8de2043388973ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036116495760647f00000000000000000000000000000000000000000000000000000000000000028361163c9190612519565b6116469190612587565b90505b5b5b5f8183611658919061261f565b90508260065f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8282546116a6919061261f565b925050819055508060065f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8282546116f991906123ae565b925050819055505f821115611801578160065f7f000000000000000000000000626bfd8c28dada87d5993e5938111c9ce0bc0c2a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f82825461177491906123ae565b925050819055507f000000000000000000000000626bfd8c28dada87d5993e5938111c9ce0bc0c2a73ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516117f89190611af5565b60405180910390a35b8373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161185e9190611af5565b60405180910390a3600160035f82825461187891906123ae565b925050819055505050505050565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050815f806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b5f81519050919050565b5f82825260208201905092915050565b8281835e5f83830152505050565b5f601f19601f8301169050919050565b5f61198982611947565b6119938185611951565b93506119a3818560208601611961565b6119ac8161196f565b840191505092915050565b5f6020820190508181035f8301526119cf818461197f565b905092915050565b5f604051905090565b5f80fd5b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f611a11826119e8565b9050919050565b611a2181611a07565b8114611a2b575f80fd5b50565b5f81359050611a3c81611a18565b92915050565b5f819050919050565b611a5481611a42565b8114611a5e575f80fd5b50565b5f81359050611a6f81611a4b565b92915050565b5f8060408385031215611a8b57611a8a6119e0565b5b5f611a9885828601611a2e565b9250506020611aa985828601611a61565b9150509250929050565b5f8115159050919050565b611ac781611ab3565b82525050565b5f602082019050611ae05f830184611abe565b92915050565b611aef81611a42565b82525050565b5f602082019050611b085f830184611ae6565b92915050565b5f60208284031215611b2357611b226119e0565b5b5f611b3084828501611a2e565b91505092915050565b5f805f60608486031215611b5057611b4f6119e0565b5b5f611b5d86828701611a2e565b9350506020611b6e86828701611a2e565b9250506040611b7f86828701611a61565b9150509250925092565b5f60ff82169050919050565b611b9e81611b89565b82525050565b5f602082019050611bb75f830184611b95565b92915050565b611bc681611a07565b82525050565b5f602082019050611bdf5f830184611bbd565b92915050565b611bee81611ab3565b8114611bf8575f80fd5b50565b5f81359050611c0981611be5565b92915050565b5f8060408385031215611c2557611c246119e0565b5b5f611c3285828601611a2e565b9250506020611c4385828601611bfb565b9150509250929050565b5f60208284031215611c6257611c616119e0565b5b5f611c6f84828501611bfb565b91505092915050565b5f80fd5b5f80fd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b611cb68261196f565b810181811067ffffffffffffffff82111715611cd557611cd4611c80565b5b80604052505050565b5f611ce76119d7565b9050611cf38282611cad565b919050565b5f67ffffffffffffffff821115611d1257611d11611c80565b5b611d1b8261196f565b9050602081019050919050565b828183375f83830152505050565b5f611d48611d4384611cf8565b611cde565b905082815260208101848484011115611d6457611d63611c7c565b5b611d6f848285611d28565b509392505050565b5f82601f830112611d8b57611d8a611c78565b5b8135611d9b848260208601611d36565b91505092915050565b5f60208284031215611db957611db86119e0565b5b5f82013567ffffffffffffffff811115611dd657611dd56119e4565b5b611de284828501611d77565b91505092915050565b5f606082019050611dfe5f830186611ae6565b611e0b6020830185611ae6565b611e186040830184611ae6565b949350505050565b5f60208284031215611e3557611e346119e0565b5b5f611e4284828501611a61565b91505092915050565b5f606082019050611e5e5f830186611abe565b611e6b6020830185611ae6565b8181036040830152611e7d818461197f565b9050949350505050565b5f8060408385031215611e9d57611e9c6119e0565b5b5f611eaa85828601611a2e565b9250506020611ebb85828601611a2e565b9150509250929050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f611ef9602083611951565b9150611f0482611ec5565b602082019050919050565b5f6020820190508181035f830152611f2681611eed565b9050919050565b7f496e76616c6964206164647265737300000000000000000000000000000000005f82015250565b5f611f61600f83611951565b9150611f6c82611f2d565b602082019050919050565b5f6020820190508181035f830152611f8e81611f55565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f6002820490506001821680611fd957607f821691505b602082108103611fec57611feb611f95565b5b50919050565b5f819050815f5260205f209050919050565b5f6020601f8301049050919050565b5f82821b905092915050565b5f6008830261204e7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82612013565b6120588683612013565b95508019841693508086168417925050509392505050565b5f819050919050565b5f61209361208e61208984611a42565b612070565b611a42565b9050919050565b5f819050919050565b6120ac83612079565b6120c06120b88261209a565b84845461201f565b825550505050565b5f90565b6120d46120c8565b6120df8184846120a3565b505050565b5b81811015612102576120f75f826120cc565b6001810190506120e5565b5050565b601f8211156121475761211881611ff2565b61212184612004565b81016020851015612130578190505b61214461213c85612004565b8301826120e4565b50505b505050565b5f82821c905092915050565b5f6121675f198460080261214c565b1980831691505092915050565b5f61217f8383612158565b9150826002028217905092915050565b61219882611947565b67ffffffffffffffff8111156121b1576121b0611c80565b5b6121bb8254611fc2565b6121c6828285612106565b5f60209050601f8311600181146121f7575f84156121e5578287015190505b6121ef8582612174565b865550612256565b601f19841661220586611ff2565b5f5b8281101561222c57848901518255600182019150602085019450602081019050612207565b868310156122495784890151612245601f891682612158565b8355505b6001600288020188555050505b505050505050565b7f496e646578206f7574206f6620626f756e6473000000000000000000000000005f82015250565b5f612292601383611951565b915061229d8261225e565b602082019050919050565b5f6020820190508181035f8301526122bf81612286565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f20615f8201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b5f61234d602683611951565b9150612358826122f3565b604082019050919050565b5f6020820190508181035f83015261237a81612341565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f6123b882611a42565b91506123c383611a42565b92508282019050808211156123db576123da612381565b5b92915050565b7f496e73756666696369656e7420616c6c6f77616e6365000000000000000000005f82015250565b5f612415601683611951565b9150612420826123e1565b602082019050919050565b5f6020820190508181035f83015261244281612409565b9050919050565b7f496e73756666696369656e742062616c616e63650000000000000000000000005f82015250565b5f61247d601483611951565b915061248882612449565b602082019050919050565b5f6020820190508181035f8301526124aa81612471565b9050919050565b7f54726164696e67206e6f74206f70656e000000000000000000000000000000005f82015250565b5f6124e5601083611951565b91506124f0826124b1565b602082019050919050565b5f6020820190508181035f830152612512816124d9565b9050919050565b5f61252382611a42565b915061252e83611a42565b925082820261253c81611a42565b9150828204841483151761255357612552612381565b5b5092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f61259182611a42565b915061259c83611a42565b9250826125ac576125ab61255a565b5b828204905092915050565b7f45786365656473206d61782077616c6c6574206c696d697400000000000000005f82015250565b5f6125eb601883611951565b91506125f6826125b7565b602082019050919050565b5f6020820190508181035f830152612618816125df565b9050919050565b5f61262982611a42565b915061263483611a42565b925082820390508181111561264c5761264b612381565b5b9291505056fea264697066735822122070e5027bc978808a9e1cb4b8a00c905072ae5614a970ae6e60b234f5700fe28c64736f6c63430008190033
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
000000000000000000000000626bfd8c28dada87d5993e5938111c9ce0bc0c2a000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000020000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d
-----Decoded View---------------
Arg [0] : _feeReceiver (address): 0x626BFD8c28dadA87d5993E5938111C9ce0bc0C2a
Arg [1] : _buyFee (uint256): 1
Arg [2] : _sellFee (uint256): 2
Arg [3] : _routerAddress (address): 0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D
-----Encoded View---------------
4 Constructor Arguments found :
Arg [0] : 000000000000000000000000626bfd8c28dada87d5993e5938111c9ce0bc0c2a
Arg [1] : 0000000000000000000000000000000000000000000000000000000000000001
Arg [2] : 0000000000000000000000000000000000000000000000000000000000000002
Arg [3] : 0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d
Deployed Bytecode Sourcemap
3348:7082:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6847:83;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7669:159;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3868:41;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7124:100;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5947:136;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;7836:251;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4084:32;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7033:83;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3995:38;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6349:123;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6597:242;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;4046:31;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1898:108;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;6239:102;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4251:49;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7232:119;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2169:103;;;:::i;:::-;;6091:100;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;10215:212;;;:::i;:::-;;;;;;;;;:::i;:::-;;;;;;;;1803:87;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6938;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6480:109;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10011:196;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3959:29;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7359:151;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3916:36;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2014:147;;;:::i;:::-;;;;;;;;;:::i;:::-;;;;;;;;7518:143;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2280:201;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;5783:156;;;:::i;:::-;;6847:83;6884:13;6917:5;;;;;;;;;;;;;;;;;6910:12;;6847:83;:::o;7669:159::-;7744:4;7761:37;7770:10;7782:7;7791:6;7761:8;:37::i;:::-;7816:4;7809:11;;7669:159;;;;:::o;3868:41::-;;;:::o;7124:100::-;7177:7;3582:21;7197:19;;7124:100;:::o;5947:136::-;6064:1;6036:15;:24;6052:7;6036:24;;;;;;;;;;;;;;;;:29;:39;;6074:1;6036:39;;;6068:3;6036:39;6009:66;;:15;:24;6025:7;6009:24;;;;;;;;;;;;;;;:66;;;;5947:136;:::o;7836:251::-;7925:4;7942:15;7960:10;7942:28;;7981:38;7997:4;8003:7;8012:6;7981:15;:38::i;:::-;8030:27;8040:4;8046:2;8050:6;8030:9;:27::i;:::-;8075:4;8068:11;;;7836:251;;;;;:::o;4084:32::-;;;:::o;7033:83::-;7074:5;3533:2;7092:16;;7033:83;:::o;3995:38::-;;;:::o;6349:123::-;6413:7;6440:15;:24;6456:7;6440:24;;;;;;;;;;;;;;;;6433:31;;6349:123;;;:::o;6597:242::-;1728:10;1717:21;;:7;:5;:7::i;:::-;:21;;;1709:66;;;;;;;;;;;;:::i;:::-;;;;;;;;;6708:1:::1;6689:21;;:7;:21;;::::0;6681:49:::1;;;;;;;;;;;;:::i;:::-;;;;;;;;;6770:6;6741:17;:26;6759:7;6741:26;;;;;;;;;;;;;;;;:35;;;;;;;;;;;;;;;;;;6815:7;6792:39;;;6824:6;6792:39;;;;;;:::i;:::-;;;;;;;;6597:242:::0;;:::o;4046:31::-;;;:::o;1898:108::-;1728:10;1717:21;;:7;:5;:7::i;:::-;:21;;;1709:66;;;;;;;;;;;;:::i;:::-;;;;;;;;;1989:9:::1;1971:15;;:27;;;;;;;;;;;;;;;;;;1898:108:::0;:::o;6239:102::-;6290:7;6317:16;;6310:23;;6239:102;:::o;4251:49::-;;;;;;;;;;;;;;;;;;;;;;:::o;7232:119::-;7298:7;7325:9;:18;7335:7;7325:18;;;;;;;;;;;;;;;;7318:25;;7232:119;;;:::o;2169:103::-;1728:10;1717:21;;:7;:5;:7::i;:::-;:21;;;1709:66;;;;;;;;;;;;:::i;:::-;;;;;;;;;2234:30:::1;2261:1;2234:18;:30::i;:::-;2169:103::o:0;6091:100::-;6155:15;6176:6;6155:28;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;6091:100;:::o;10215:212::-;10265:7;10274;10283;10325:16;;10356:15;:22;;;;10393:15;10303:116;;;;;;10215:212;;;:::o;1803:87::-;1849:7;1876:6;;;;;;;;;;;1869:13;;1803:87;:::o;6938:::-;6977:13;7010:7;;;;;;;;;;;;;;;;;7003:14;;6938:87;:::o;6480:109::-;6532:7;6559:15;:22;;;;6552:29;;6480:109;:::o;10011:196::-;10071:13;10113:15;:22;;;;10105:5;:30;10097:62;;;;;;;;;;;;:::i;:::-;;;;;;;;;10177:15;10193:5;10177:22;;;;;;;;:::i;:::-;;;;;;;;;10170:29;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10011:196;;;:::o;3959:29::-;;;:::o;7359:151::-;7430:4;7447:33;7457:10;7469:2;7473:6;7447:9;:33::i;:::-;7498:4;7491:11;;7359:151;;;;:::o;3916:36::-;;;:::o;2014:147::-;2061:4;2067:7;2076:13;2110:15;;;;;;;;;;;2127:11;;2140:12;2102:51;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2014:147;;;:::o;7518:143::-;7599:7;7626:11;:18;7638:5;7626:18;;;;;;;;;;;;;;;:27;7645:7;7626:27;;;;;;;;;;;;;;;;7619:34;;7518:143;;;;:::o;2280:201::-;1728:10;1717:21;;:7;:5;:7::i;:::-;:21;;;1709:66;;;;;;;;;;;;:::i;:::-;;;;;;;;;2389:1:::1;2369:22;;:8;:22;;::::0;2361:73:::1;;;;;;;;;;;;:::i;:::-;;;;;;;;;2445:28;2464:8;2445:18;:28::i;:::-;2280:201:::0;:::o;5783:156::-;5854:1;5834:16;;:21;;;;;;;:::i;:::-;;;;;;;;5897:16;;5871:60;5915:15;5871:60;;;;;;:::i;:::-;;;;;;;;5783:156::o;9294:261::-;9405:1;9388:19;;:5;:19;;;;:44;;;;;9430:1;9411:21;;:7;:21;;;;9388:44;9380:72;;;;;;;;;;;;:::i;:::-;;;;;;;;;9493:6;9463:11;:18;9475:5;9463:18;;;;;;;;;;;;;;;:27;9482:7;9463:27;;;;;;;;;;;;;;;:36;;;;9531:7;9515:32;;9524:5;9515:32;;;9540:6;9515:32;;;;;;:::i;:::-;;;;;;;;9294:261;;;:::o;9563:406::-;9656:24;9683:11;:18;9695:5;9683:18;;;;;;;;;;;;;;;:27;9702:7;9683:27;;;;;;;;;;;;;;;;9656:54;;9745:17;9725:16;:37;9721:241;;9807:6;9787:16;:26;;9779:61;;;;;;;;;;;;:::i;:::-;;;;;;;;;9884:51;9893:5;9900:7;9928:6;9909:16;:25;9884:8;:51::i;:::-;9721:241;9645:324;9563:406;;;:::o;8095:1191::-;8200:1;8184:18;;:4;:18;;;;:38;;;;;8220:1;8206:16;;:2;:16;;;;8184:38;8176:66;;;;;;;;;;;;:::i;:::-;;;;;;;;;8280:6;8261:9;:15;8271:4;8261:15;;;;;;;;;;;;;;;;:25;;8253:58;;;;;;;;;;;;:::i;:::-;;;;;;;;;8334:4;8328:10;;:2;:10;;;:26;;;;8350:4;8342:12;;:4;:12;;;8328:26;8324:120;;;8395:16;8379:12;:32;;8371:61;;;;;;;;;;;;:::i;:::-;;;;;;;;;8324:120;8461:17;:21;8479:2;8461:21;;;;;;;;;;;;;;;;;;;;;;;;;8456:133;;3674:3;3669:1;3582:21;3654:16;;;;:::i;:::-;3653:24;;;;:::i;:::-;8523:6;8507:9;:13;8517:2;8507:13;;;;;;;;;;;;;;;;:22;;;;:::i;:::-;:41;;8499:78;;;;;;;;;;;;:::i;:::-;;;;;;;;;8456:133;8601:17;8659:16;8643:12;:32;8639:245;;8704:4;8696:12;;:4;:12;;;8692:181;;8761:3;8751:6;8742;:15;;;;:::i;:::-;8741:23;;;;:::i;:::-;8729:35;;8692:181;;;8796:4;8790:10;;:2;:10;;;8786:87;;8854:3;8843:7;8834:6;:16;;;;:::i;:::-;8833:24;;;;:::i;:::-;8821:36;;8786:87;8692:181;8639:245;8896:19;8927:9;8918:6;:18;;;;:::i;:::-;8896:40;;8968:6;8949:9;:15;8959:4;8949:15;;;;;;;;;;;;;;;;:25;;;;;;;:::i;:::-;;;;;;;;9002:11;8985:9;:13;8995:2;8985:13;;;;;;;;;;;;;;;;:28;;;;;;;:::i;:::-;;;;;;;;9042:1;9030:9;:13;9026:139;;;9086:9;9060;:22;9070:11;9060:22;;;;;;;;;;;;;;;;:35;;;;;;;:::i;:::-;;;;;;;;9130:11;9115:38;;9124:4;9115:38;;;9143:9;9115:38;;;;;;:::i;:::-;;;;;;;;9026:139;9197:2;9182:31;;9191:4;9182:31;;;9201:11;9182:31;;;;;;:::i;:::-;;;;;;;;9277:1;9257:16;;:21;;;;;;;:::i;:::-;;;;;;;;8165:1121;;8095:1191;;;:::o;2489:191::-;2563:16;2582:6;;;;;;;;;;;2563:25;;2608:8;2599:6;;:17;;;;;;;;;;;;;;;;;;2663:8;2632:40;;2653:8;2632:40;;;;;;;;;;;;2552:128;2489:191;:::o;7:99:1:-;59:6;93:5;87:12;77:22;;7:99;;;:::o;112:169::-;196:11;230:6;225:3;218:19;270:4;265:3;261:14;246:29;;112:169;;;;:::o;287:139::-;376:6;371:3;366;360:23;417:1;408:6;403:3;399:16;392:27;287:139;;;:::o;432:102::-;473:6;524:2;520:7;515:2;508:5;504:14;500:28;490:38;;432:102;;;:::o;540:377::-;628:3;656:39;689:5;656:39;:::i;:::-;711:71;775:6;770:3;711:71;:::i;:::-;704:78;;791:65;849:6;844:3;837:4;830:5;826:16;791:65;:::i;:::-;881:29;903:6;881:29;:::i;:::-;876:3;872:39;865:46;;632:285;540:377;;;;:::o;923:313::-;1036:4;1074:2;1063:9;1059:18;1051:26;;1123:9;1117:4;1113:20;1109:1;1098:9;1094:17;1087:47;1151:78;1224:4;1215:6;1151:78;:::i;:::-;1143:86;;923:313;;;;:::o;1242:75::-;1275:6;1308:2;1302:9;1292:19;;1242:75;:::o;1323:117::-;1432:1;1429;1422:12;1446:117;1555:1;1552;1545:12;1569:126;1606:7;1646:42;1639:5;1635:54;1624:65;;1569:126;;;:::o;1701:96::-;1738:7;1767:24;1785:5;1767:24;:::i;:::-;1756:35;;1701:96;;;:::o;1803:122::-;1876:24;1894:5;1876:24;:::i;:::-;1869:5;1866:35;1856:63;;1915:1;1912;1905:12;1856:63;1803:122;:::o;1931:139::-;1977:5;2015:6;2002:20;1993:29;;2031:33;2058:5;2031:33;:::i;:::-;1931:139;;;;:::o;2076:77::-;2113:7;2142:5;2131:16;;2076:77;;;:::o;2159:122::-;2232:24;2250:5;2232:24;:::i;:::-;2225:5;2222:35;2212:63;;2271:1;2268;2261:12;2212:63;2159:122;:::o;2287:139::-;2333:5;2371:6;2358:20;2349:29;;2387:33;2414:5;2387:33;:::i;:::-;2287:139;;;;:::o;2432:474::-;2500:6;2508;2557:2;2545:9;2536:7;2532:23;2528:32;2525:119;;;2563:79;;:::i;:::-;2525:119;2683:1;2708:53;2753:7;2744:6;2733:9;2729:22;2708:53;:::i;:::-;2698:63;;2654:117;2810:2;2836:53;2881:7;2872:6;2861:9;2857:22;2836:53;:::i;:::-;2826:63;;2781:118;2432:474;;;;;:::o;2912:90::-;2946:7;2989:5;2982:13;2975:21;2964:32;;2912:90;;;:::o;3008:109::-;3089:21;3104:5;3089:21;:::i;:::-;3084:3;3077:34;3008:109;;:::o;3123:210::-;3210:4;3248:2;3237:9;3233:18;3225:26;;3261:65;3323:1;3312:9;3308:17;3299:6;3261:65;:::i;:::-;3123:210;;;;:::o;3339:118::-;3426:24;3444:5;3426:24;:::i;:::-;3421:3;3414:37;3339:118;;:::o;3463:222::-;3556:4;3594:2;3583:9;3579:18;3571:26;;3607:71;3675:1;3664:9;3660:17;3651:6;3607:71;:::i;:::-;3463:222;;;;:::o;3691:329::-;3750:6;3799:2;3787:9;3778:7;3774:23;3770:32;3767:119;;;3805:79;;:::i;:::-;3767:119;3925:1;3950:53;3995:7;3986:6;3975:9;3971:22;3950:53;:::i;:::-;3940:63;;3896:117;3691:329;;;;:::o;4026:619::-;4103:6;4111;4119;4168:2;4156:9;4147:7;4143:23;4139:32;4136:119;;;4174:79;;:::i;:::-;4136:119;4294:1;4319:53;4364:7;4355:6;4344:9;4340:22;4319:53;:::i;:::-;4309:63;;4265:117;4421:2;4447:53;4492:7;4483:6;4472:9;4468:22;4447:53;:::i;:::-;4437:63;;4392:118;4549:2;4575:53;4620:7;4611:6;4600:9;4596:22;4575:53;:::i;:::-;4565:63;;4520:118;4026:619;;;;;:::o;4651:86::-;4686:7;4726:4;4719:5;4715:16;4704:27;;4651:86;;;:::o;4743:112::-;4826:22;4842:5;4826:22;:::i;:::-;4821:3;4814:35;4743:112;;:::o;4861:214::-;4950:4;4988:2;4977:9;4973:18;4965:26;;5001:67;5065:1;5054:9;5050:17;5041:6;5001:67;:::i;:::-;4861:214;;;;:::o;5081:118::-;5168:24;5186:5;5168:24;:::i;:::-;5163:3;5156:37;5081:118;;:::o;5205:222::-;5298:4;5336:2;5325:9;5321:18;5313:26;;5349:71;5417:1;5406:9;5402:17;5393:6;5349:71;:::i;:::-;5205:222;;;;:::o;5433:116::-;5503:21;5518:5;5503:21;:::i;:::-;5496:5;5493:32;5483:60;;5539:1;5536;5529:12;5483:60;5433:116;:::o;5555:133::-;5598:5;5636:6;5623:20;5614:29;;5652:30;5676:5;5652:30;:::i;:::-;5555:133;;;;:::o;5694:468::-;5759:6;5767;5816:2;5804:9;5795:7;5791:23;5787:32;5784:119;;;5822:79;;:::i;:::-;5784:119;5942:1;5967:53;6012:7;6003:6;5992:9;5988:22;5967:53;:::i;:::-;5957:63;;5913:117;6069:2;6095:50;6137:7;6128:6;6117:9;6113:22;6095:50;:::i;:::-;6085:60;;6040:115;5694:468;;;;;:::o;6168:323::-;6224:6;6273:2;6261:9;6252:7;6248:23;6244:32;6241:119;;;6279:79;;:::i;:::-;6241:119;6399:1;6424:50;6466:7;6457:6;6446:9;6442:22;6424:50;:::i;:::-;6414:60;;6370:114;6168:323;;;;:::o;6497:117::-;6606:1;6603;6596:12;6620:117;6729:1;6726;6719:12;6743:180;6791:77;6788:1;6781:88;6888:4;6885:1;6878:15;6912:4;6909:1;6902:15;6929:281;7012:27;7034:4;7012:27;:::i;:::-;7004:6;7000:40;7142:6;7130:10;7127:22;7106:18;7094:10;7091:34;7088:62;7085:88;;;7153:18;;:::i;:::-;7085:88;7193:10;7189:2;7182:22;6972:238;6929:281;;:::o;7216:129::-;7250:6;7277:20;;:::i;:::-;7267:30;;7306:33;7334:4;7326:6;7306:33;:::i;:::-;7216:129;;;:::o;7351:308::-;7413:4;7503:18;7495:6;7492:30;7489:56;;;7525:18;;:::i;:::-;7489:56;7563:29;7585:6;7563:29;:::i;:::-;7555:37;;7647:4;7641;7637:15;7629:23;;7351:308;;;:::o;7665:148::-;7763:6;7758:3;7753;7740:30;7804:1;7795:6;7790:3;7786:16;7779:27;7665:148;;;:::o;7819:425::-;7897:5;7922:66;7938:49;7980:6;7938:49;:::i;:::-;7922:66;:::i;:::-;7913:75;;8011:6;8004:5;7997:21;8049:4;8042:5;8038:16;8087:3;8078:6;8073:3;8069:16;8066:25;8063:112;;;8094:79;;:::i;:::-;8063:112;8184:54;8231:6;8226:3;8221;8184:54;:::i;:::-;7903:341;7819:425;;;;;:::o;8264:340::-;8320:5;8369:3;8362:4;8354:6;8350:17;8346:27;8336:122;;8377:79;;:::i;:::-;8336:122;8494:6;8481:20;8519:79;8594:3;8586:6;8579:4;8571:6;8567:17;8519:79;:::i;:::-;8510:88;;8326:278;8264:340;;;;:::o;8610:509::-;8679:6;8728:2;8716:9;8707:7;8703:23;8699:32;8696:119;;;8734:79;;:::i;:::-;8696:119;8882:1;8871:9;8867:17;8854:31;8912:18;8904:6;8901:30;8898:117;;;8934:79;;:::i;:::-;8898:117;9039:63;9094:7;9085:6;9074:9;9070:22;9039:63;:::i;:::-;9029:73;;8825:287;8610:509;;;;:::o;9125:442::-;9274:4;9312:2;9301:9;9297:18;9289:26;;9325:71;9393:1;9382:9;9378:17;9369:6;9325:71;:::i;:::-;9406:72;9474:2;9463:9;9459:18;9450:6;9406:72;:::i;:::-;9488;9556:2;9545:9;9541:18;9532:6;9488:72;:::i;:::-;9125:442;;;;;;:::o;9573:329::-;9632:6;9681:2;9669:9;9660:7;9656:23;9652:32;9649:119;;;9687:79;;:::i;:::-;9649:119;9807:1;9832:53;9877:7;9868:6;9857:9;9853:22;9832:53;:::i;:::-;9822:63;;9778:117;9573:329;;;;:::o;9908:521::-;10071:4;10109:2;10098:9;10094:18;10086:26;;10122:65;10184:1;10173:9;10169:17;10160:6;10122:65;:::i;:::-;10197:72;10265:2;10254:9;10250:18;10241:6;10197:72;:::i;:::-;10316:9;10310:4;10306:20;10301:2;10290:9;10286:18;10279:48;10344:78;10417:4;10408:6;10344:78;:::i;:::-;10336:86;;9908:521;;;;;;:::o;10435:474::-;10503:6;10511;10560:2;10548:9;10539:7;10535:23;10531:32;10528:119;;;10566:79;;:::i;:::-;10528:119;10686:1;10711:53;10756:7;10747:6;10736:9;10732:22;10711:53;:::i;:::-;10701:63;;10657:117;10813:2;10839:53;10884:7;10875:6;10864:9;10860:22;10839:53;:::i;:::-;10829:63;;10784:118;10435:474;;;;;:::o;10915:182::-;11055:34;11051:1;11043:6;11039:14;11032:58;10915:182;:::o;11103:366::-;11245:3;11266:67;11330:2;11325:3;11266:67;:::i;:::-;11259:74;;11342:93;11431:3;11342:93;:::i;:::-;11460:2;11455:3;11451:12;11444:19;;11103:366;;;:::o;11475:419::-;11641:4;11679:2;11668:9;11664:18;11656:26;;11728:9;11722:4;11718:20;11714:1;11703:9;11699:17;11692:47;11756:131;11882:4;11756:131;:::i;:::-;11748:139;;11475:419;;;:::o;11900:165::-;12040:17;12036:1;12028:6;12024:14;12017:41;11900:165;:::o;12071:366::-;12213:3;12234:67;12298:2;12293:3;12234:67;:::i;:::-;12227:74;;12310:93;12399:3;12310:93;:::i;:::-;12428:2;12423:3;12419:12;12412:19;;12071:366;;;:::o;12443:419::-;12609:4;12647:2;12636:9;12632:18;12624:26;;12696:9;12690:4;12686:20;12682:1;12671:9;12667:17;12660:47;12724:131;12850:4;12724:131;:::i;:::-;12716:139;;12443:419;;;:::o;12868:180::-;12916:77;12913:1;12906:88;13013:4;13010:1;13003:15;13037:4;13034:1;13027:15;13054:320;13098:6;13135:1;13129:4;13125:12;13115:22;;13182:1;13176:4;13172:12;13203:18;13193:81;;13259:4;13251:6;13247:17;13237:27;;13193:81;13321:2;13313:6;13310:14;13290:18;13287:38;13284:84;;13340:18;;:::i;:::-;13284:84;13105:269;13054:320;;;:::o;13380:141::-;13429:4;13452:3;13444:11;;13475:3;13472:1;13465:14;13509:4;13506:1;13496:18;13488:26;;13380:141;;;:::o;13527:93::-;13564:6;13611:2;13606;13599:5;13595:14;13591:23;13581:33;;13527:93;;;:::o;13626:107::-;13670:8;13720:5;13714:4;13710:16;13689:37;;13626:107;;;;:::o;13739:393::-;13808:6;13858:1;13846:10;13842:18;13881:97;13911:66;13900:9;13881:97;:::i;:::-;13999:39;14029:8;14018:9;13999:39;:::i;:::-;13987:51;;14071:4;14067:9;14060:5;14056:21;14047:30;;14120:4;14110:8;14106:19;14099:5;14096:30;14086:40;;13815:317;;13739:393;;;;;:::o;14138:60::-;14166:3;14187:5;14180:12;;14138:60;;;:::o;14204:142::-;14254:9;14287:53;14305:34;14314:24;14332:5;14314:24;:::i;:::-;14305:34;:::i;:::-;14287:53;:::i;:::-;14274:66;;14204:142;;;:::o;14352:75::-;14395:3;14416:5;14409:12;;14352:75;;;:::o;14433:269::-;14543:39;14574:7;14543:39;:::i;:::-;14604:91;14653:41;14677:16;14653:41;:::i;:::-;14645:6;14638:4;14632:11;14604:91;:::i;:::-;14598:4;14591:105;14509:193;14433:269;;;:::o;14708:73::-;14753:3;14708:73;:::o;14787:189::-;14864:32;;:::i;:::-;14905:65;14963:6;14955;14949:4;14905:65;:::i;:::-;14840:136;14787:189;;:::o;14982:186::-;15042:120;15059:3;15052:5;15049:14;15042:120;;;15113:39;15150:1;15143:5;15113:39;:::i;:::-;15086:1;15079:5;15075:13;15066:22;;15042:120;;;14982:186;;:::o;15174:543::-;15275:2;15270:3;15267:11;15264:446;;;15309:38;15341:5;15309:38;:::i;:::-;15393:29;15411:10;15393:29;:::i;:::-;15383:8;15379:44;15576:2;15564:10;15561:18;15558:49;;;15597:8;15582:23;;15558:49;15620:80;15676:22;15694:3;15676:22;:::i;:::-;15666:8;15662:37;15649:11;15620:80;:::i;:::-;15279:431;;15264:446;15174:543;;;:::o;15723:117::-;15777:8;15827:5;15821:4;15817:16;15796:37;;15723:117;;;;:::o;15846:169::-;15890:6;15923:51;15971:1;15967:6;15959:5;15956:1;15952:13;15923:51;:::i;:::-;15919:56;16004:4;15998;15994:15;15984:25;;15897:118;15846:169;;;;:::o;16020:295::-;16096:4;16242:29;16267:3;16261:4;16242:29;:::i;:::-;16234:37;;16304:3;16301:1;16297:11;16291:4;16288:21;16280:29;;16020:295;;;;:::o;16320:1395::-;16437:37;16470:3;16437:37;:::i;:::-;16539:18;16531:6;16528:30;16525:56;;;16561:18;;:::i;:::-;16525:56;16605:38;16637:4;16631:11;16605:38;:::i;:::-;16690:67;16750:6;16742;16736:4;16690:67;:::i;:::-;16784:1;16808:4;16795:17;;16840:2;16832:6;16829:14;16857:1;16852:618;;;;17514:1;17531:6;17528:77;;;17580:9;17575:3;17571:19;17565:26;17556:35;;17528:77;17631:67;17691:6;17684:5;17631:67;:::i;:::-;17625:4;17618:81;17487:222;16822:887;;16852:618;16904:4;16900:9;16892:6;16888:22;16938:37;16970:4;16938:37;:::i;:::-;16997:1;17011:208;17025:7;17022:1;17019:14;17011:208;;;17104:9;17099:3;17095:19;17089:26;17081:6;17074:42;17155:1;17147:6;17143:14;17133:24;;17202:2;17191:9;17187:18;17174:31;;17048:4;17045:1;17041:12;17036:17;;17011:208;;;17247:6;17238:7;17235:19;17232:179;;;17305:9;17300:3;17296:19;17290:26;17348:48;17390:4;17382:6;17378:17;17367:9;17348:48;:::i;:::-;17340:6;17333:64;17255:156;17232:179;17457:1;17453;17445:6;17441:14;17437:22;17431:4;17424:36;16859:611;;;16822:887;;16412:1303;;;16320:1395;;:::o;17721:169::-;17861:21;17857:1;17849:6;17845:14;17838:45;17721:169;:::o;17896:366::-;18038:3;18059:67;18123:2;18118:3;18059:67;:::i;:::-;18052:74;;18135:93;18224:3;18135:93;:::i;:::-;18253:2;18248:3;18244:12;18237:19;;17896:366;;;:::o;18268:419::-;18434:4;18472:2;18461:9;18457:18;18449:26;;18521:9;18515:4;18511:20;18507:1;18496:9;18492:17;18485:47;18549:131;18675:4;18549:131;:::i;:::-;18541:139;;18268:419;;;:::o;18693:180::-;18741:77;18738:1;18731:88;18838:4;18835:1;18828:15;18862:4;18859:1;18852:15;18879:225;19019:34;19015:1;19007:6;19003:14;18996:58;19088:8;19083:2;19075:6;19071:15;19064:33;18879:225;:::o;19110:366::-;19252:3;19273:67;19337:2;19332:3;19273:67;:::i;:::-;19266:74;;19349:93;19438:3;19349:93;:::i;:::-;19467:2;19462:3;19458:12;19451:19;;19110:366;;;:::o;19482:419::-;19648:4;19686:2;19675:9;19671:18;19663:26;;19735:9;19729:4;19725:20;19721:1;19710:9;19706:17;19699:47;19763:131;19889:4;19763:131;:::i;:::-;19755:139;;19482:419;;;:::o;19907:180::-;19955:77;19952:1;19945:88;20052:4;20049:1;20042:15;20076:4;20073:1;20066:15;20093:191;20133:3;20152:20;20170:1;20152:20;:::i;:::-;20147:25;;20186:20;20204:1;20186:20;:::i;:::-;20181:25;;20229:1;20226;20222:9;20215:16;;20250:3;20247:1;20244:10;20241:36;;;20257:18;;:::i;:::-;20241:36;20093:191;;;;:::o;20290:172::-;20430:24;20426:1;20418:6;20414:14;20407:48;20290:172;:::o;20468:366::-;20610:3;20631:67;20695:2;20690:3;20631:67;:::i;:::-;20624:74;;20707:93;20796:3;20707:93;:::i;:::-;20825:2;20820:3;20816:12;20809:19;;20468:366;;;:::o;20840:419::-;21006:4;21044:2;21033:9;21029:18;21021:26;;21093:9;21087:4;21083:20;21079:1;21068:9;21064:17;21057:47;21121:131;21247:4;21121:131;:::i;:::-;21113:139;;20840:419;;;:::o;21265:170::-;21405:22;21401:1;21393:6;21389:14;21382:46;21265:170;:::o;21441:366::-;21583:3;21604:67;21668:2;21663:3;21604:67;:::i;:::-;21597:74;;21680:93;21769:3;21680:93;:::i;:::-;21798:2;21793:3;21789:12;21782:19;;21441:366;;;:::o;21813:419::-;21979:4;22017:2;22006:9;22002:18;21994:26;;22066:9;22060:4;22056:20;22052:1;22041:9;22037:17;22030:47;22094:131;22220:4;22094:131;:::i;:::-;22086:139;;21813:419;;;:::o;22238:166::-;22378:18;22374:1;22366:6;22362:14;22355:42;22238:166;:::o;22410:366::-;22552:3;22573:67;22637:2;22632:3;22573:67;:::i;:::-;22566:74;;22649:93;22738:3;22649:93;:::i;:::-;22767:2;22762:3;22758:12;22751:19;;22410:366;;;:::o;22782:419::-;22948:4;22986:2;22975:9;22971:18;22963:26;;23035:9;23029:4;23025:20;23021:1;23010:9;23006:17;22999:47;23063:131;23189:4;23063:131;:::i;:::-;23055:139;;22782:419;;;:::o;23207:410::-;23247:7;23270:20;23288:1;23270:20;:::i;:::-;23265:25;;23304:20;23322:1;23304:20;:::i;:::-;23299:25;;23359:1;23356;23352:9;23381:30;23399:11;23381:30;:::i;:::-;23370:41;;23560:1;23551:7;23547:15;23544:1;23541:22;23521:1;23514:9;23494:83;23471:139;;23590:18;;:::i;:::-;23471:139;23255:362;23207:410;;;;:::o;23623:180::-;23671:77;23668:1;23661:88;23768:4;23765:1;23758:15;23792:4;23789:1;23782:15;23809:185;23849:1;23866:20;23884:1;23866:20;:::i;:::-;23861:25;;23900:20;23918:1;23900:20;:::i;:::-;23895:25;;23939:1;23929:35;;23944:18;;:::i;:::-;23929:35;23986:1;23983;23979:9;23974:14;;23809:185;;;;:::o;24000:174::-;24140:26;24136:1;24128:6;24124:14;24117:50;24000:174;:::o;24180:366::-;24322:3;24343:67;24407:2;24402:3;24343:67;:::i;:::-;24336:74;;24419:93;24508:3;24419:93;:::i;:::-;24537:2;24532:3;24528:12;24521:19;;24180:366;;;:::o;24552:419::-;24718:4;24756:2;24745:9;24741:18;24733:26;;24805:9;24799:4;24795:20;24791:1;24780:9;24776:17;24769:47;24833:131;24959:4;24833:131;:::i;:::-;24825:139;;24552:419;;;:::o;24977:194::-;25017:4;25037:20;25055:1;25037:20;:::i;:::-;25032:25;;25071:20;25089:1;25071:20;:::i;:::-;25066:25;;25115:1;25112;25108:9;25100:17;;25139:1;25133:4;25130:11;25127:37;;;25144:18;;:::i;:::-;25127:37;24977:194;;;;:::o
Swarm Source
ipfs://70e5027bc978808a9e1cb4b8a00c905072ae5614a970ae6e60b234f5700fe28c
Loading...
Loading
Loading...
Loading
Multichain Portfolio | 30 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.