Overview
Max Total Supply
10,000,000 ANOA
Holders
1,214 (0.00%)
Transfers
-
6 ( -62.50%)
Market
Price
$287.57 @ 0.090653 ETH (+10.21%)
Onchain Market Cap
$2,875,700,000.00
Circulating Supply Market Cap
$0.00
Other Info
Token Contract (WITH 18 Decimals)
Loading...
Loading
Loading...
Loading
Loading...
Loading
| # | Exchange | Pair | Price | 24H Volume | % Volume |
|---|
Contract Source Code Verified (Exact Match)
Contract Name:
ANOA
Compiler Version
v0.8.26+commit.8a97fa7a
Contract Source Code (Solidity)
/**
*Submitted for verification at Etherscan.io on 2025-03-28
*/
// SPDX-License-Identifier: GPL-3.0
pragma solidity = 0.8.26;
abstract contract Context {
function _msgSender() internal view virtual returns (address) {
return msg.sender;
}
}
library SafeMath {
function tryAdd(uint256 a, uint256 b) internal pure returns (bool, uint256) {
unchecked {
uint256 c = a + b;
if (c < a) return (false, 0);
return (true, c);
}
}
function trySub(uint256 a, uint256 b) internal pure returns (bool, uint256) {
unchecked {
if (b > a) return (false, 0);
return (true, a - b);
}
}
function tryMul(uint256 a, uint256 b) internal pure returns (bool, uint256) {
unchecked {
if (a == 0) return (true, 0);
uint256 c = a * b;
if (c / a != b) return (false, 0);
return (true, c);
}
}
function tryDiv(uint256 a, uint256 b) internal pure returns (bool, uint256) {
unchecked {
if (b == 0) return (false, 0);
return (true, a / b);
}
}
function tryMod(uint256 a, uint256 b) internal pure returns (bool, uint256) {
unchecked {
if (b == 0) return (false, 0);
return (true, a % b);
}
}
function add(uint256 a, uint256 b) internal pure returns (uint256) {
return a + b;
}
function sub(uint256 a, uint256 b) internal pure returns (uint256) {
return a - b;
}
function mul(uint256 a, uint256 b) internal pure returns (uint256) {
return a * b;
}
function div(uint256 a, uint256 b) internal pure returns (uint256) {
return a / b;
}
function mod(uint256 a, uint256 b) internal pure returns (uint256) {
return a % b;
}
function sub(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
unchecked {
require(b <= a, errorMessage);
return a - b;
}
}
function div(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
unchecked {
require(b > 0, errorMessage);
return a / b;
}
}
function mod(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
unchecked {
require(b > 0, errorMessage);
return a % b;
}
}
}
interface IERC20 {
event Transfer(address indexed from, address indexed to, uint256 value);
event Approval(address indexed owner, address indexed spender, uint256 value);
function totalSupply() external view returns (uint256);
function balanceOf(address account) external view returns (uint256);
function transfer(address to, uint256 amount) external returns (bool);
function allowance(address owner, address spender) external view returns (uint256);
function approve(address spender, uint256 amount) external returns (bool);
function transferFrom(address from, address to, uint256 amount ) external returns (bool);
}
interface IERC20Metadata is IERC20 {
function name() external view returns (string memory);
function symbol() external view returns (string memory);
function decimals() external view returns (uint8);
}
abstract contract Ownable is Context {
address private _owner;
event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);
constructor() {
_transferOwnership(_msgSender());
}
modifier onlyOwner() {
_checkOwner();
_;
}
function owner() public view virtual returns (address) {
return _owner;
}
function _checkOwner() internal view virtual {
require(owner() == _msgSender(), "Ownable: Caller is not the owner");
}
function transferOwnership(address newOwner) public virtual onlyOwner {
require(newOwner != address(0), "Ownable: New owner is an invalid address");
_transferOwnership(newOwner);
}
function _transferOwnership(address newOwner) internal virtual {
address oldOwner = _owner;
_owner = newOwner;
emit OwnershipTransferred(oldOwner, newOwner);
}
}
contract ERC20 is Context, IERC20, IERC20Metadata {
mapping(address => uint256) private _balances;
mapping(address => mapping(address => uint256)) private _allowances;
uint256 private _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 to, uint256 amount) public virtual override returns (bool) {
address owner = _msgSender();
_transfer(owner, to, 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) {
address owner = _msgSender();
_approve(owner, spender, amount);
return true;
}
function transferFrom(address from, address to, uint256 amount) public virtual override returns (bool) {
address spender = _msgSender();
_updateAllowance(from, spender, amount);
_transfer(from, to, amount);
return true;
}
function increaseAllowance(address spender, uint256 addedValue) public virtual returns (bool) {
address owner = _msgSender();
_approve(owner, spender, allowance(owner, spender) + addedValue);
return true;
}
function decreaseAllowance(address spender, uint256 subtractedValue) public virtual returns (bool) {
address owner = _msgSender();
uint256 currentAllowance = allowance(owner, spender);
require(currentAllowance >= subtractedValue, "ERC20: Decreased allowance below zero");
unchecked {
_approve(owner, spender, currentAllowance - subtractedValue);
}
return true;
}
function _transfer( address from, address to, uint256 amount) internal virtual {
uint256 fromBalance = _balances[from];
require(fromBalance >= amount, "ERC20: Insufficient balance for transfer");
unchecked {
_balances[from] = fromBalance - amount;
_balances[to] += amount;
}
emit Transfer(from, to, amount);
}
function _mint(address account, uint256 amount) internal virtual {
_totalSupply += amount;
unchecked {
_balances[account] += amount;
}
emit Transfer(address(0), account, amount);
}
function _burn(address account, uint256 amount) internal virtual {
uint256 accountBalance = _balances[account];
require(accountBalance >= amount, "ERC20: Burn amount exceeds balance");
unchecked {
_balances[account] = accountBalance - amount;
_totalSupply -= amount;
}
emit Transfer(account, address(0), amount);
}
function _approve(address owner, address spender, uint256 amount) internal virtual {
require(owner != address(0), "ERC20: Approve from an invalid address");
require(spender != address(0), "ERC20: Approve to an invalid address");
_allowances[owner][spender] = amount;
emit Approval(owner, spender, amount);
}
function _updateAllowance(address owner, address spender, uint256 amount) internal virtual {
uint256 currentAllowance = allowance(owner, spender);
if (currentAllowance != type(uint256).max) {
require(currentAllowance >= amount, "ERC20: Insufficient allowance");
unchecked {
_approve(owner, spender, currentAllowance - amount);
}
}
}
}
contract ANOA is ERC20, Ownable {
using SafeMath for uint256;
address private initialIssuerWallet;
uint256 public feePerMillion = 0;
address public feeRecipient;
event FeeUpdated(uint256 newFee);
event FeeRecipientUpdated(address newRecipient);
string private constant _name = "ANOA";
string private constant _symbol = "ANOA";
uint256 public initialTotalSupply = 10000000 * 1e18;
constructor() ERC20(_name, _symbol) {
feeRecipient = 0x8F425610cA76A4A570C49C82fD9FCDb33f39a164;
initialIssuerWallet = 0x0c9FF21CB44F760B178301E5083cE98AaCBf148b;
_mint(initialIssuerWallet, initialTotalSupply);
}
receive() external payable {}
function setFeePerMillion(uint256 _newFee) external onlyOwner {
require(_newFee <= 999999, "ANOA: Fee exceeds maximum limit");
require(_newFee >= 0, "ANOA: Fee must be greater than zero");
feePerMillion = _newFee;
emit FeeUpdated(_newFee);
}
function setFeeRecipient(address _newRecipient) external onlyOwner {
require(_newRecipient != address(0), "ANOA: Invalid fee recipient address");
feeRecipient = _newRecipient;
emit FeeRecipientUpdated(_newRecipient);
}
function mint(address to, uint256 amount) public onlyOwner {
require(to != address(0), "ANOA: Mint to an invalid address");
require(amount > 0, "ANOA: Mint amount must be greater than zero");
_mint(to, amount);
}
function burn(uint256 amount) public onlyOwner {
require(amount > 0, "ANOA: Burn amount must be greater than zero");
_burn(msg.sender, amount);
}
function transfer(address to, uint256 amount) public override returns (bool) {
require(to != address(0), "ANOA: Transfer to an invalid address");
require(amount > 0, "ANOA: Transfer amount must be greater than zero");
address owner = _msgSender();
require(balanceOf(owner) >= amount, "ANOA: Insufficient balance for transfer");
uint256 fee = (amount * feePerMillion) / 1000000;
uint256 amountAfterFee = amount - fee;
if (fee != 0) super._transfer(owner, feeRecipient, fee);
super._transfer(owner, to, amountAfterFee);
return true;
}
function _updateAllowance(address owner, address spender, uint256 amount) internal override virtual {
uint256 currentAllowance = allowance(owner, spender);
if (currentAllowance != type(uint256).max) {
require(currentAllowance >= amount, "ANOA: Insufficient allowance");
unchecked {
_approve(owner, spender, currentAllowance - amount);
}
}
}
function transferFrom(address from, address to, uint256 amount) public virtual override returns (bool) {
require(from != address(0), "ANOA: Transfer from an invalid address");
require(to != address(0), "ANOA: Transfer to an invalid address");
require(amount > 0, "ANOA: Transfer amount must be greater than zero");
require(balanceOf(from) >= amount, "ANOA: Insufficient balance for transferFrom");
address spender = _msgSender();
require(allowance(from, spender) >= amount, "ANOA: Insufficient allowance for transferFrom");
uint256 fee = (amount * feePerMillion) / 1000000;
uint256 amountAfterFee = amount - fee;
if (fee != 0) super._transfer(from, feeRecipient, fee);
_updateAllowance(from, spender, amount);
super._transfer(from, to, amountAfterFee);
return true;
}
}Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
Contract ABI
API[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"newRecipient","type":"address"}],"name":"FeeRecipientUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"newFee","type":"uint256"}],"name":"FeeUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[{"internalType":"address","name":"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":"uint256","name":"amount","type":"uint256"}],"name":"burn","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","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":"feePerMillion","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"feeRecipient","outputs":[{"internalType":"address","name":"","type":"address"}],"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":"initialTotalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"mint","outputs":[],"stateMutability":"nonpayable","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":"uint256","name":"_newFee","type":"uint256"}],"name":"setFeePerMillion","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_newRecipient","type":"address"}],"name":"setFeeRecipient","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]Contract Creation Code
60806040525f6007556a084595161401484a000000600955348015610022575f80fd5b506040518060400160405280600481526020017f414e4f41000000000000000000000000000000000000000000000000000000008152506040518060400160405280600481526020017f414e4f4100000000000000000000000000000000000000000000000000000000815250816003908161009e919061057b565b5080600490816100ae919061057b565b5050506100cd6100c26101ad60201b60201c565b6101b460201b60201c565b738f425610ca76a4a570c49c82fd9fcdb33f39a16460085f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550730c9ff21cb44f760b178301e5083ce98aacbf148b60065f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506101a860065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1660095461027760201b60201c565b6106d2565b5f33905090565b5f60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690508160055f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b8060025f8282546102889190610677565b92505081905550805f808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f82825401925050819055508173ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161033591906106b9565b60405180910390a35050565b5f81519050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f60028204905060018216806103bc57607f821691505b6020821081036103cf576103ce610378565b5b50919050565b5f819050815f5260205f209050919050565b5f6020601f8301049050919050565b5f82821b905092915050565b5f600883026104317fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff826103f6565b61043b86836103f6565b95508019841693508086168417925050509392505050565b5f819050919050565b5f819050919050565b5f61047f61047a61047584610453565b61045c565b610453565b9050919050565b5f819050919050565b61049883610465565b6104ac6104a482610486565b848454610402565b825550505050565b5f90565b6104c06104b4565b6104cb81848461048f565b505050565b5b818110156104ee576104e35f826104b8565b6001810190506104d1565b5050565b601f82111561053357610504816103d5565b61050d846103e7565b8101602085101561051c578190505b610530610528856103e7565b8301826104d0565b50505b505050565b5f82821c905092915050565b5f6105535f1984600802610538565b1980831691505092915050565b5f61056b8383610544565b9150826002028217905092915050565b61058482610341565b67ffffffffffffffff81111561059d5761059c61034b565b5b6105a782546103a5565b6105b28282856104f2565b5f60209050601f8311600181146105e3575f84156105d1578287015190505b6105db8582610560565b865550610642565b601f1984166105f1866103d5565b5f5b82811015610618578489015182556001820191506020850194506020810190506105f3565b868310156106355784890151610631601f891682610544565b8355505b6001600288020188555050505b505050505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f61068182610453565b915061068c83610453565b92508282019050808211156106a4576106a361064a565b5b92915050565b6106b381610453565b82525050565b5f6020820190506106cc5f8301846106aa565b92915050565b612587806106df5f395ff3fe608060405260043610610122575f3560e01c8063469048401161009f578063a457c2d711610063578063a457c2d7146103e5578063a9059cbb14610421578063dd62ed3e1461045d578063e74b981b14610499578063f2fde38b146104c157610129565b8063469048401461030357806358d415f41461032d57806370a08231146103555780638da5cb5b1461039157806395d89b41146103bb57610129565b8063311028af116100e6578063311028af14610223578063313ce5671461024d578063395093511461027757806340c10f19146102b357806342966c68146102db57610129565b806306fdde031461012d578063095ea7b31461015757806309d52ae31461019357806318160ddd146101bd57806323b872dd146101e757610129565b3661012957005b5f80fd5b348015610138575f80fd5b506101416104e9565b60405161014e91906116b9565b60405180910390f35b348015610162575f80fd5b5061017d6004803603810190610178919061176a565b610579565b60405161018a91906117c2565b60405180910390f35b34801561019e575f80fd5b506101a761059b565b6040516101b491906117ea565b60405180910390f35b3480156101c8575f80fd5b506101d16105a1565b6040516101de91906117ea565b60405180910390f35b3480156101f2575f80fd5b5061020d60048036038101906102089190611803565b6105aa565b60405161021a91906117c2565b60405180910390f35b34801561022e575f80fd5b506102376107f1565b60405161024491906117ea565b60405180910390f35b348015610258575f80fd5b506102616107f7565b60405161026e919061186e565b60405180910390f35b348015610282575f80fd5b5061029d6004803603810190610298919061176a565b6107ff565b6040516102aa91906117c2565b60405180910390f35b3480156102be575f80fd5b506102d960048036038101906102d4919061176a565b610835565b005b3480156102e6575f80fd5b5061030160048036038101906102fc9190611887565b6108fb565b005b34801561030e575f80fd5b50610317610952565b60405161032491906118c1565b60405180910390f35b348015610338575f80fd5b50610353600480360381019061034e9190611887565b610977565b005b348015610360575f80fd5b5061037b600480360381019061037691906118da565b610a49565b60405161038891906117ea565b60405180910390f35b34801561039c575f80fd5b506103a5610a8e565b6040516103b291906118c1565b60405180910390f35b3480156103c6575f80fd5b506103cf610ab6565b6040516103dc91906116b9565b60405180910390f35b3480156103f0575f80fd5b5061040b6004803603810190610406919061176a565b610b46565b60405161041891906117c2565b60405180910390f35b34801561042c575f80fd5b506104476004803603810190610442919061176a565b610bbb565b60405161045491906117c2565b60405180910390f35b348015610468575f80fd5b50610483600480360381019061047e9190611905565b610d3c565b60405161049091906117ea565b60405180910390f35b3480156104a4575f80fd5b506104bf60048036038101906104ba91906118da565b610dbe565b005b3480156104cc575f80fd5b506104e760048036038101906104e291906118da565b610eae565b005b6060600380546104f890611970565b80601f016020809104026020016040519081016040528092919081815260200182805461052490611970565b801561056f5780601f106105465761010080835404028352916020019161056f565b820191905f5260205f20905b81548152906001019060200180831161055257829003601f168201915b5050505050905090565b5f80610583610f30565b9050610590818585610f37565b600191505092915050565b60075481565b5f600254905090565b5f8073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1603610619576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161061090611a10565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610687576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161067e90611a9e565b60405180910390fd5b5f82116106c9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106c090611b2c565b60405180910390fd5b816106d385610a49565b1015610714576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161070b90611bba565b60405180910390fd5b5f61071d610f30565b90508261072a8683610d3c565b101561076b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161076290611c48565b60405180910390fd5b5f620f42406007548561077e9190611c93565b6107889190611d01565b90505f81856107979190611d31565b90505f82146107cd576107cc8760085f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16846110fa565b5b6107d8878487611274565b6107e38787836110fa565b600193505050509392505050565b60095481565b5f6012905090565b5f80610809610f30565b905061082a81858561081b8589610d3c565b6108259190611d64565b610f37565b600191505092915050565b61083d6112ff565b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036108ab576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108a290611de1565b60405180910390fd5b5f81116108ed576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108e490611e6f565b60405180910390fd5b6108f7828261137d565b5050565b6109036112ff565b5f8111610945576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161093c90611efd565b60405180910390fd5b61094f3382611447565b50565b60085f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b61097f6112ff565b620f423f8111156109c5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109bc90611f65565b60405180910390fd5b5f811015610a08576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109ff90611ff3565b60405180910390fd5b806007819055507f8c4d35e54a3f2ef1134138fd8ea3daee6a3c89e10d2665996babdf70261e2c7681604051610a3e91906117ea565b60405180910390a150565b5f805f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b5f60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b606060048054610ac590611970565b80601f0160208091040260200160405190810160405280929190818152602001828054610af190611970565b8015610b3c5780601f10610b1357610100808354040283529160200191610b3c565b820191905f5260205f20905b815481529060010190602001808311610b1f57829003601f168201915b5050505050905090565b5f80610b50610f30565b90505f610b5d8286610d3c565b905083811015610ba2576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b9990612081565b60405180910390fd5b610baf8286868403610f37565b60019250505092915050565b5f8073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610c2a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c2190611a9e565b60405180910390fd5b5f8211610c6c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c6390611b2c565b60405180910390fd5b5f610c75610f30565b905082610c8182610a49565b1015610cc2576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610cb99061210f565b60405180910390fd5b5f620f424060075485610cd59190611c93565b610cdf9190611d01565b90505f8185610cee9190611d31565b90505f8214610d2457610d238360085f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16846110fa565b5b610d2f8387836110fa565b6001935050505092915050565b5f60015f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b610dc66112ff565b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610e34576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e2b9061219d565b60405180910390fd5b8060085f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507f7a7b5a0a132f9e0581eb8527f66eae9ee89c2a3e79d4ac7e41a1f1f4d48a7fc281604051610ea391906118c1565b60405180910390a150565b610eb66112ff565b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610f24576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f1b9061222b565b60405180910390fd5b610f2d81611586565b50565b5f33905090565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610fa5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f9c906122b9565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611013576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161100a90612347565b60405180910390fd5b8060015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516110ed91906117ea565b60405180910390a3505050565b5f805f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205490508181101561117d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611174906123d5565b60405180910390fd5b8181035f808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550815f808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f82825401925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405161126691906117ea565b60405180910390a350505050565b5f61127f8484610d3c565b90507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81146112f957818110156112eb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112e29061243d565b60405180910390fd5b6112f88484848403610f37565b5b50505050565b611307610f30565b73ffffffffffffffffffffffffffffffffffffffff16611325610a8e565b73ffffffffffffffffffffffffffffffffffffffff161461137b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611372906124a5565b60405180910390fd5b565b8060025f82825461138e9190611d64565b92505081905550805f808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f82825401925050819055508173ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161143b91906117ea565b60405180910390a35050565b5f805f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050818110156114ca576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114c190612533565b60405180910390fd5b8181035f808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508160025f82825403925050819055505f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405161157991906117ea565b60405180910390a3505050565b5f60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690508160055f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b5f81519050919050565b5f82825260208201905092915050565b8281835e5f83830152505050565b5f601f19601f8301169050919050565b5f61168b82611649565b6116958185611653565b93506116a5818560208601611663565b6116ae81611671565b840191505092915050565b5f6020820190508181035f8301526116d18184611681565b905092915050565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f611706826116dd565b9050919050565b611716816116fc565b8114611720575f80fd5b50565b5f813590506117318161170d565b92915050565b5f819050919050565b61174981611737565b8114611753575f80fd5b50565b5f8135905061176481611740565b92915050565b5f80604083850312156117805761177f6116d9565b5b5f61178d85828601611723565b925050602061179e85828601611756565b9150509250929050565b5f8115159050919050565b6117bc816117a8565b82525050565b5f6020820190506117d55f8301846117b3565b92915050565b6117e481611737565b82525050565b5f6020820190506117fd5f8301846117db565b92915050565b5f805f6060848603121561181a576118196116d9565b5b5f61182786828701611723565b935050602061183886828701611723565b925050604061184986828701611756565b9150509250925092565b5f60ff82169050919050565b61186881611853565b82525050565b5f6020820190506118815f83018461185f565b92915050565b5f6020828403121561189c5761189b6116d9565b5b5f6118a984828501611756565b91505092915050565b6118bb816116fc565b82525050565b5f6020820190506118d45f8301846118b2565b92915050565b5f602082840312156118ef576118ee6116d9565b5b5f6118fc84828501611723565b91505092915050565b5f806040838503121561191b5761191a6116d9565b5b5f61192885828601611723565b925050602061193985828601611723565b9150509250929050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f600282049050600182168061198757607f821691505b60208210810361199a57611999611943565b5b50919050565b7f414e4f413a205472616e736665722066726f6d20616e20696e76616c696420615f8201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b5f6119fa602683611653565b9150611a05826119a0565b604082019050919050565b5f6020820190508181035f830152611a27816119ee565b9050919050565b7f414e4f413a205472616e7366657220746f20616e20696e76616c6964206164645f8201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b5f611a88602483611653565b9150611a9382611a2e565b604082019050919050565b5f6020820190508181035f830152611ab581611a7c565b9050919050565b7f414e4f413a205472616e7366657220616d6f756e74206d7573742062652067725f8201527f6561746572207468616e207a65726f0000000000000000000000000000000000602082015250565b5f611b16602f83611653565b9150611b2182611abc565b604082019050919050565b5f6020820190508181035f830152611b4381611b0a565b9050919050565b7f414e4f413a20496e73756666696369656e742062616c616e636520666f7220745f8201527f72616e7366657246726f6d000000000000000000000000000000000000000000602082015250565b5f611ba4602b83611653565b9150611baf82611b4a565b604082019050919050565b5f6020820190508181035f830152611bd181611b98565b9050919050565b7f414e4f413a20496e73756666696369656e7420616c6c6f77616e636520666f725f8201527f207472616e7366657246726f6d00000000000000000000000000000000000000602082015250565b5f611c32602d83611653565b9150611c3d82611bd8565b604082019050919050565b5f6020820190508181035f830152611c5f81611c26565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f611c9d82611737565b9150611ca883611737565b9250828202611cb681611737565b91508282048414831517611ccd57611ccc611c66565b5b5092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f611d0b82611737565b9150611d1683611737565b925082611d2657611d25611cd4565b5b828204905092915050565b5f611d3b82611737565b9150611d4683611737565b9250828203905081811115611d5e57611d5d611c66565b5b92915050565b5f611d6e82611737565b9150611d7983611737565b9250828201905080821115611d9157611d90611c66565b5b92915050565b7f414e4f413a204d696e7420746f20616e20696e76616c696420616464726573735f82015250565b5f611dcb602083611653565b9150611dd682611d97565b602082019050919050565b5f6020820190508181035f830152611df881611dbf565b9050919050565b7f414e4f413a204d696e7420616d6f756e74206d757374206265206772656174655f8201527f72207468616e207a65726f000000000000000000000000000000000000000000602082015250565b5f611e59602b83611653565b9150611e6482611dff565b604082019050919050565b5f6020820190508181035f830152611e8681611e4d565b9050919050565b7f414e4f413a204275726e20616d6f756e74206d757374206265206772656174655f8201527f72207468616e207a65726f000000000000000000000000000000000000000000602082015250565b5f611ee7602b83611653565b9150611ef282611e8d565b604082019050919050565b5f6020820190508181035f830152611f1481611edb565b9050919050565b7f414e4f413a204665652065786365656473206d6178696d756d206c696d6974005f82015250565b5f611f4f601f83611653565b9150611f5a82611f1b565b602082019050919050565b5f6020820190508181035f830152611f7c81611f43565b9050919050565b7f414e4f413a20466565206d7573742062652067726561746572207468616e207a5f8201527f65726f0000000000000000000000000000000000000000000000000000000000602082015250565b5f611fdd602383611653565b9150611fe882611f83565b604082019050919050565b5f6020820190508181035f83015261200a81611fd1565b9050919050565b7f45524332303a2044656372656173656420616c6c6f77616e63652062656c6f775f8201527f207a65726f000000000000000000000000000000000000000000000000000000602082015250565b5f61206b602583611653565b915061207682612011565b604082019050919050565b5f6020820190508181035f8301526120988161205f565b9050919050565b7f414e4f413a20496e73756666696369656e742062616c616e636520666f7220745f8201527f72616e7366657200000000000000000000000000000000000000000000000000602082015250565b5f6120f9602783611653565b91506121048261209f565b604082019050919050565b5f6020820190508181035f830152612126816120ed565b9050919050565b7f414e4f413a20496e76616c69642066656520726563697069656e7420616464725f8201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b5f612187602383611653565b91506121928261212d565b604082019050919050565b5f6020820190508181035f8301526121b48161217b565b9050919050565b7f4f776e61626c653a204e6577206f776e657220697320616e20696e76616c69645f8201527f2061646472657373000000000000000000000000000000000000000000000000602082015250565b5f612215602883611653565b9150612220826121bb565b604082019050919050565b5f6020820190508181035f83015261224281612209565b9050919050565b7f45524332303a20417070726f76652066726f6d20616e20696e76616c696420615f8201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b5f6122a3602683611653565b91506122ae82612249565b604082019050919050565b5f6020820190508181035f8301526122d081612297565b9050919050565b7f45524332303a20417070726f766520746f20616e20696e76616c6964206164645f8201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b5f612331602483611653565b915061233c826122d7565b604082019050919050565b5f6020820190508181035f83015261235e81612325565b9050919050565b7f45524332303a20496e73756666696369656e742062616c616e636520666f72205f8201527f7472616e73666572000000000000000000000000000000000000000000000000602082015250565b5f6123bf602883611653565b91506123ca82612365565b604082019050919050565b5f6020820190508181035f8301526123ec816123b3565b9050919050565b7f414e4f413a20496e73756666696369656e7420616c6c6f77616e6365000000005f82015250565b5f612427601c83611653565b9150612432826123f3565b602082019050919050565b5f6020820190508181035f8301526124548161241b565b9050919050565b7f4f776e61626c653a2043616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f61248f602083611653565b915061249a8261245b565b602082019050919050565b5f6020820190508181035f8301526124bc81612483565b9050919050565b7f45524332303a204275726e20616d6f756e7420657863656564732062616c616e5f8201527f6365000000000000000000000000000000000000000000000000000000000000602082015250565b5f61251d602283611653565b9150612528826124c3565b604082019050919050565b5f6020820190508181035f83015261254a81612511565b905091905056fea2646970667358221220009f43d4da23246360c36d1198420fb1c6156b52a2d38a757c1f81e6d814b09764736f6c634300081a0033
Deployed Bytecode
0x608060405260043610610122575f3560e01c8063469048401161009f578063a457c2d711610063578063a457c2d7146103e5578063a9059cbb14610421578063dd62ed3e1461045d578063e74b981b14610499578063f2fde38b146104c157610129565b8063469048401461030357806358d415f41461032d57806370a08231146103555780638da5cb5b1461039157806395d89b41146103bb57610129565b8063311028af116100e6578063311028af14610223578063313ce5671461024d578063395093511461027757806340c10f19146102b357806342966c68146102db57610129565b806306fdde031461012d578063095ea7b31461015757806309d52ae31461019357806318160ddd146101bd57806323b872dd146101e757610129565b3661012957005b5f80fd5b348015610138575f80fd5b506101416104e9565b60405161014e91906116b9565b60405180910390f35b348015610162575f80fd5b5061017d6004803603810190610178919061176a565b610579565b60405161018a91906117c2565b60405180910390f35b34801561019e575f80fd5b506101a761059b565b6040516101b491906117ea565b60405180910390f35b3480156101c8575f80fd5b506101d16105a1565b6040516101de91906117ea565b60405180910390f35b3480156101f2575f80fd5b5061020d60048036038101906102089190611803565b6105aa565b60405161021a91906117c2565b60405180910390f35b34801561022e575f80fd5b506102376107f1565b60405161024491906117ea565b60405180910390f35b348015610258575f80fd5b506102616107f7565b60405161026e919061186e565b60405180910390f35b348015610282575f80fd5b5061029d6004803603810190610298919061176a565b6107ff565b6040516102aa91906117c2565b60405180910390f35b3480156102be575f80fd5b506102d960048036038101906102d4919061176a565b610835565b005b3480156102e6575f80fd5b5061030160048036038101906102fc9190611887565b6108fb565b005b34801561030e575f80fd5b50610317610952565b60405161032491906118c1565b60405180910390f35b348015610338575f80fd5b50610353600480360381019061034e9190611887565b610977565b005b348015610360575f80fd5b5061037b600480360381019061037691906118da565b610a49565b60405161038891906117ea565b60405180910390f35b34801561039c575f80fd5b506103a5610a8e565b6040516103b291906118c1565b60405180910390f35b3480156103c6575f80fd5b506103cf610ab6565b6040516103dc91906116b9565b60405180910390f35b3480156103f0575f80fd5b5061040b6004803603810190610406919061176a565b610b46565b60405161041891906117c2565b60405180910390f35b34801561042c575f80fd5b506104476004803603810190610442919061176a565b610bbb565b60405161045491906117c2565b60405180910390f35b348015610468575f80fd5b50610483600480360381019061047e9190611905565b610d3c565b60405161049091906117ea565b60405180910390f35b3480156104a4575f80fd5b506104bf60048036038101906104ba91906118da565b610dbe565b005b3480156104cc575f80fd5b506104e760048036038101906104e291906118da565b610eae565b005b6060600380546104f890611970565b80601f016020809104026020016040519081016040528092919081815260200182805461052490611970565b801561056f5780601f106105465761010080835404028352916020019161056f565b820191905f5260205f20905b81548152906001019060200180831161055257829003601f168201915b5050505050905090565b5f80610583610f30565b9050610590818585610f37565b600191505092915050565b60075481565b5f600254905090565b5f8073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1603610619576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161061090611a10565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610687576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161067e90611a9e565b60405180910390fd5b5f82116106c9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106c090611b2c565b60405180910390fd5b816106d385610a49565b1015610714576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161070b90611bba565b60405180910390fd5b5f61071d610f30565b90508261072a8683610d3c565b101561076b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161076290611c48565b60405180910390fd5b5f620f42406007548561077e9190611c93565b6107889190611d01565b90505f81856107979190611d31565b90505f82146107cd576107cc8760085f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16846110fa565b5b6107d8878487611274565b6107e38787836110fa565b600193505050509392505050565b60095481565b5f6012905090565b5f80610809610f30565b905061082a81858561081b8589610d3c565b6108259190611d64565b610f37565b600191505092915050565b61083d6112ff565b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036108ab576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108a290611de1565b60405180910390fd5b5f81116108ed576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108e490611e6f565b60405180910390fd5b6108f7828261137d565b5050565b6109036112ff565b5f8111610945576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161093c90611efd565b60405180910390fd5b61094f3382611447565b50565b60085f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b61097f6112ff565b620f423f8111156109c5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109bc90611f65565b60405180910390fd5b5f811015610a08576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109ff90611ff3565b60405180910390fd5b806007819055507f8c4d35e54a3f2ef1134138fd8ea3daee6a3c89e10d2665996babdf70261e2c7681604051610a3e91906117ea565b60405180910390a150565b5f805f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b5f60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b606060048054610ac590611970565b80601f0160208091040260200160405190810160405280929190818152602001828054610af190611970565b8015610b3c5780601f10610b1357610100808354040283529160200191610b3c565b820191905f5260205f20905b815481529060010190602001808311610b1f57829003601f168201915b5050505050905090565b5f80610b50610f30565b90505f610b5d8286610d3c565b905083811015610ba2576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b9990612081565b60405180910390fd5b610baf8286868403610f37565b60019250505092915050565b5f8073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610c2a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c2190611a9e565b60405180910390fd5b5f8211610c6c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c6390611b2c565b60405180910390fd5b5f610c75610f30565b905082610c8182610a49565b1015610cc2576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610cb99061210f565b60405180910390fd5b5f620f424060075485610cd59190611c93565b610cdf9190611d01565b90505f8185610cee9190611d31565b90505f8214610d2457610d238360085f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16846110fa565b5b610d2f8387836110fa565b6001935050505092915050565b5f60015f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b610dc66112ff565b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610e34576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e2b9061219d565b60405180910390fd5b8060085f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507f7a7b5a0a132f9e0581eb8527f66eae9ee89c2a3e79d4ac7e41a1f1f4d48a7fc281604051610ea391906118c1565b60405180910390a150565b610eb66112ff565b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610f24576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f1b9061222b565b60405180910390fd5b610f2d81611586565b50565b5f33905090565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610fa5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f9c906122b9565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611013576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161100a90612347565b60405180910390fd5b8060015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516110ed91906117ea565b60405180910390a3505050565b5f805f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205490508181101561117d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611174906123d5565b60405180910390fd5b8181035f808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550815f808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f82825401925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405161126691906117ea565b60405180910390a350505050565b5f61127f8484610d3c565b90507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81146112f957818110156112eb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112e29061243d565b60405180910390fd5b6112f88484848403610f37565b5b50505050565b611307610f30565b73ffffffffffffffffffffffffffffffffffffffff16611325610a8e565b73ffffffffffffffffffffffffffffffffffffffff161461137b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611372906124a5565b60405180910390fd5b565b8060025f82825461138e9190611d64565b92505081905550805f808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f82825401925050819055508173ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161143b91906117ea565b60405180910390a35050565b5f805f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050818110156114ca576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114c190612533565b60405180910390fd5b8181035f808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508160025f82825403925050819055505f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405161157991906117ea565b60405180910390a3505050565b5f60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690508160055f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b5f81519050919050565b5f82825260208201905092915050565b8281835e5f83830152505050565b5f601f19601f8301169050919050565b5f61168b82611649565b6116958185611653565b93506116a5818560208601611663565b6116ae81611671565b840191505092915050565b5f6020820190508181035f8301526116d18184611681565b905092915050565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f611706826116dd565b9050919050565b611716816116fc565b8114611720575f80fd5b50565b5f813590506117318161170d565b92915050565b5f819050919050565b61174981611737565b8114611753575f80fd5b50565b5f8135905061176481611740565b92915050565b5f80604083850312156117805761177f6116d9565b5b5f61178d85828601611723565b925050602061179e85828601611756565b9150509250929050565b5f8115159050919050565b6117bc816117a8565b82525050565b5f6020820190506117d55f8301846117b3565b92915050565b6117e481611737565b82525050565b5f6020820190506117fd5f8301846117db565b92915050565b5f805f6060848603121561181a576118196116d9565b5b5f61182786828701611723565b935050602061183886828701611723565b925050604061184986828701611756565b9150509250925092565b5f60ff82169050919050565b61186881611853565b82525050565b5f6020820190506118815f83018461185f565b92915050565b5f6020828403121561189c5761189b6116d9565b5b5f6118a984828501611756565b91505092915050565b6118bb816116fc565b82525050565b5f6020820190506118d45f8301846118b2565b92915050565b5f602082840312156118ef576118ee6116d9565b5b5f6118fc84828501611723565b91505092915050565b5f806040838503121561191b5761191a6116d9565b5b5f61192885828601611723565b925050602061193985828601611723565b9150509250929050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f600282049050600182168061198757607f821691505b60208210810361199a57611999611943565b5b50919050565b7f414e4f413a205472616e736665722066726f6d20616e20696e76616c696420615f8201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b5f6119fa602683611653565b9150611a05826119a0565b604082019050919050565b5f6020820190508181035f830152611a27816119ee565b9050919050565b7f414e4f413a205472616e7366657220746f20616e20696e76616c6964206164645f8201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b5f611a88602483611653565b9150611a9382611a2e565b604082019050919050565b5f6020820190508181035f830152611ab581611a7c565b9050919050565b7f414e4f413a205472616e7366657220616d6f756e74206d7573742062652067725f8201527f6561746572207468616e207a65726f0000000000000000000000000000000000602082015250565b5f611b16602f83611653565b9150611b2182611abc565b604082019050919050565b5f6020820190508181035f830152611b4381611b0a565b9050919050565b7f414e4f413a20496e73756666696369656e742062616c616e636520666f7220745f8201527f72616e7366657246726f6d000000000000000000000000000000000000000000602082015250565b5f611ba4602b83611653565b9150611baf82611b4a565b604082019050919050565b5f6020820190508181035f830152611bd181611b98565b9050919050565b7f414e4f413a20496e73756666696369656e7420616c6c6f77616e636520666f725f8201527f207472616e7366657246726f6d00000000000000000000000000000000000000602082015250565b5f611c32602d83611653565b9150611c3d82611bd8565b604082019050919050565b5f6020820190508181035f830152611c5f81611c26565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f611c9d82611737565b9150611ca883611737565b9250828202611cb681611737565b91508282048414831517611ccd57611ccc611c66565b5b5092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f611d0b82611737565b9150611d1683611737565b925082611d2657611d25611cd4565b5b828204905092915050565b5f611d3b82611737565b9150611d4683611737565b9250828203905081811115611d5e57611d5d611c66565b5b92915050565b5f611d6e82611737565b9150611d7983611737565b9250828201905080821115611d9157611d90611c66565b5b92915050565b7f414e4f413a204d696e7420746f20616e20696e76616c696420616464726573735f82015250565b5f611dcb602083611653565b9150611dd682611d97565b602082019050919050565b5f6020820190508181035f830152611df881611dbf565b9050919050565b7f414e4f413a204d696e7420616d6f756e74206d757374206265206772656174655f8201527f72207468616e207a65726f000000000000000000000000000000000000000000602082015250565b5f611e59602b83611653565b9150611e6482611dff565b604082019050919050565b5f6020820190508181035f830152611e8681611e4d565b9050919050565b7f414e4f413a204275726e20616d6f756e74206d757374206265206772656174655f8201527f72207468616e207a65726f000000000000000000000000000000000000000000602082015250565b5f611ee7602b83611653565b9150611ef282611e8d565b604082019050919050565b5f6020820190508181035f830152611f1481611edb565b9050919050565b7f414e4f413a204665652065786365656473206d6178696d756d206c696d6974005f82015250565b5f611f4f601f83611653565b9150611f5a82611f1b565b602082019050919050565b5f6020820190508181035f830152611f7c81611f43565b9050919050565b7f414e4f413a20466565206d7573742062652067726561746572207468616e207a5f8201527f65726f0000000000000000000000000000000000000000000000000000000000602082015250565b5f611fdd602383611653565b9150611fe882611f83565b604082019050919050565b5f6020820190508181035f83015261200a81611fd1565b9050919050565b7f45524332303a2044656372656173656420616c6c6f77616e63652062656c6f775f8201527f207a65726f000000000000000000000000000000000000000000000000000000602082015250565b5f61206b602583611653565b915061207682612011565b604082019050919050565b5f6020820190508181035f8301526120988161205f565b9050919050565b7f414e4f413a20496e73756666696369656e742062616c616e636520666f7220745f8201527f72616e7366657200000000000000000000000000000000000000000000000000602082015250565b5f6120f9602783611653565b91506121048261209f565b604082019050919050565b5f6020820190508181035f830152612126816120ed565b9050919050565b7f414e4f413a20496e76616c69642066656520726563697069656e7420616464725f8201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b5f612187602383611653565b91506121928261212d565b604082019050919050565b5f6020820190508181035f8301526121b48161217b565b9050919050565b7f4f776e61626c653a204e6577206f776e657220697320616e20696e76616c69645f8201527f2061646472657373000000000000000000000000000000000000000000000000602082015250565b5f612215602883611653565b9150612220826121bb565b604082019050919050565b5f6020820190508181035f83015261224281612209565b9050919050565b7f45524332303a20417070726f76652066726f6d20616e20696e76616c696420615f8201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b5f6122a3602683611653565b91506122ae82612249565b604082019050919050565b5f6020820190508181035f8301526122d081612297565b9050919050565b7f45524332303a20417070726f766520746f20616e20696e76616c6964206164645f8201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b5f612331602483611653565b915061233c826122d7565b604082019050919050565b5f6020820190508181035f83015261235e81612325565b9050919050565b7f45524332303a20496e73756666696369656e742062616c616e636520666f72205f8201527f7472616e73666572000000000000000000000000000000000000000000000000602082015250565b5f6123bf602883611653565b91506123ca82612365565b604082019050919050565b5f6020820190508181035f8301526123ec816123b3565b9050919050565b7f414e4f413a20496e73756666696369656e7420616c6c6f77616e6365000000005f82015250565b5f612427601c83611653565b9150612432826123f3565b602082019050919050565b5f6020820190508181035f8301526124548161241b565b9050919050565b7f4f776e61626c653a2043616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f61248f602083611653565b915061249a8261245b565b602082019050919050565b5f6020820190508181035f8301526124bc81612483565b9050919050565b7f45524332303a204275726e20616d6f756e7420657863656564732062616c616e5f8201527f6365000000000000000000000000000000000000000000000000000000000000602082015250565b5f61251d602283611653565b9150612528826124c3565b604082019050919050565b5f6020820190508181035f83015261254a81612511565b905091905056fea2646970667358221220009f43d4da23246360c36d1198420fb1c6156b52a2d38a757c1f81e6d814b09764736f6c634300081a0033
Deployed Bytecode Sourcemap
8724:3716:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4799:100;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5731:201;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8848:32;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5120:108;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11537:898;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9116:51;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5019:93;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6210:238;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10023:250;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;10281:168;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;8887:27;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9475:282;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;5236:127;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3745:87;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4907:104;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6456:434;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10461:632;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5572:151;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9765:250;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;3980:203;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;4799:100;4853:13;4886:5;4879:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4799:100;:::o;5731:201::-;5814:4;5831:13;5847:12;:10;:12::i;:::-;5831:28;;5870:32;5879:5;5886:7;5895:6;5870:8;:32::i;:::-;5920:4;5913:11;;;5731:201;;;;:::o;8848:32::-;;;;:::o;5120:108::-;5181:7;5208:12;;5201:19;;5120:108;:::o;11537:898::-;11634:4;11675:1;11659:18;;:4;:18;;;11651:69;;;;;;;;;;;;:::i;:::-;;;;;;;;;11753:1;11739:16;;:2;:16;;;11731:65;;;;;;;;;;;;:::i;:::-;;;;;;;;;11824:1;11815:6;:10;11807:70;;;;;;;;;;;;:::i;:::-;;;;;;;;;11917:6;11898:15;11908:4;11898:9;:15::i;:::-;:25;;11890:81;;;;;;;;;;;;:::i;:::-;;;;;;;;;11984:15;12002:12;:10;:12::i;:::-;11984:30;;12061:6;12033:24;12043:4;12049:7;12033:9;:24::i;:::-;:34;;12025:92;;;;;;;;;;;;:::i;:::-;;;;;;;;;12138:11;12179:7;12162:13;;12153:6;:22;;;;:::i;:::-;12152:34;;;;:::i;:::-;12138:48;;12197:22;12231:3;12222:6;:12;;;;:::i;:::-;12197:37;;12258:1;12251:3;:8;12247:54;;12261:40;12277:4;12283:12;;;;;;;;;;;12297:3;12261:15;:40::i;:::-;12247:54;12312:39;12329:4;12335:7;12344:6;12312:16;:39::i;:::-;12362:41;12378:4;12384:2;12388:14;12362:15;:41::i;:::-;12423:4;12416:11;;;;;11537:898;;;;;:::o;9116:51::-;;;;:::o;5019:93::-;5077:5;5102:2;5095:9;;5019:93;:::o;6210:238::-;6298:4;6315:13;6331:12;:10;:12::i;:::-;6315:28;;6354:64;6363:5;6370:7;6407:10;6379:25;6389:5;6396:7;6379:9;:25::i;:::-;:38;;;;:::i;:::-;6354:8;:64::i;:::-;6436:4;6429:11;;;6210:238;;;;:::o;10023:250::-;3704:13;:11;:13::i;:::-;10115:1:::1;10101:16;;:2;:16;;::::0;10093:61:::1;;;;;;;;;;;;:::i;:::-;;;;;;;;;10188:1;10179:6;:10;10171:66;;;;;;;;;;;;:::i;:::-;;;;;;;;;10248:17;10254:2;10258:6;10248:5;:17::i;:::-;10023:250:::0;;:::o;10281:168::-;3704:13;:11;:13::i;:::-;10356:1:::1;10347:6;:10;10339:66;;;;;;;;;;;;:::i;:::-;;;;;;;;;10416:25;10422:10;10434:6;10416:5;:25::i;:::-;10281:168:::0;:::o;8887:27::-;;;;;;;;;;;;;:::o;9475:282::-;3704:13;:11;:13::i;:::-;9567:6:::1;9556:7;:17;;9548:61;;;;;;;;;;;;:::i;:::-;;;;;;;;;9639:1;9628:7;:12;;9620:60;;;;;;;;;;;;:::i;:::-;;;;;;;;;9707:7;9691:13;:23;;;;9730:19;9741:7;9730:19;;;;;;:::i;:::-;;;;;;;;9475:282:::0;:::o;5236:127::-;5310:7;5337:9;:18;5347:7;5337:18;;;;;;;;;;;;;;;;5330:25;;5236:127;;;:::o;3745:87::-;3791:7;3818:6;;;;;;;;;;;3811:13;;3745:87;:::o;4907:104::-;4963:13;4996:7;4989:14;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4907:104;:::o;6456:434::-;6549:4;6566:13;6582:12;:10;:12::i;:::-;6566:28;;6605:24;6632:25;6642:5;6649:7;6632:9;:25::i;:::-;6605:52;;6696:15;6676:16;:35;;6668:85;;;;;;;;;;;;:::i;:::-;;;;;;;;;6789:60;6798:5;6805:7;6833:15;6814:16;:34;6789:8;:60::i;:::-;6878:4;6871:11;;;;6456:434;;;;:::o;10461:632::-;10532:4;10571:1;10557:16;;:2;:16;;;10549:65;;;;;;;;;;;;:::i;:::-;;;;;;;;;10642:1;10633:6;:10;10625:70;;;;;;;;;;;;:::i;:::-;;;;;;;;;10706:13;10722:12;:10;:12::i;:::-;10706:28;;10773:6;10753:16;10763:5;10753:9;:16::i;:::-;:26;;10745:78;;;;;;;;;;;;:::i;:::-;;;;;;;;;10836:11;10877:7;10860:13;;10851:6;:22;;;;:::i;:::-;10850:34;;;;:::i;:::-;10836:48;;10895:22;10929:3;10920:6;:12;;;;:::i;:::-;10895:37;;10956:1;10949:3;:8;10945:55;;10959:41;10975:5;10982:12;;;;;;;;;;;10996:3;10959:15;:41::i;:::-;10945:55;11011:42;11027:5;11034:2;11038:14;11011:15;:42::i;:::-;11081:4;11074:11;;;;;10461:632;;;;:::o;5572:151::-;5661:7;5688:11;:18;5700:5;5688:18;;;;;;;;;;;;;;;:27;5707:7;5688:27;;;;;;;;;;;;;;;;5681:34;;5572:151;;;;:::o;9765:250::-;3704:13;:11;:13::i;:::-;9876:1:::1;9851:27;;:13;:27;;::::0;9843:75:::1;;;;;;;;;;;;:::i;:::-;;;;;;;;;9944:13;9929:12;;:28;;;;;;;;;;;;;;;;;;9973:34;9993:13;9973:34;;;;;;:::i;:::-;;;;;;;;9765:250:::0;:::o;3980:203::-;3704:13;:11;:13::i;:::-;4089:1:::1;4069:22;;:8;:22;;::::0;4061:75:::1;;;;;;;;;;;;:::i;:::-;;;;;;;;;4147:28;4166:8;4147:18;:28::i;:::-;3980:203:::0;:::o;101:98::-;154:7;181:10;174:17;;101:98;:::o;7933:350::-;8052:1;8035:19;;:5;:19;;;8027:70;;;;;;;;;;;;:::i;:::-;;;;;;;;;8135:1;8116:21;;:7;:21;;;8108:70;;;;;;;;;;;;:::i;:::-;;;;;;;;;8221:6;8191:11;:18;8203:5;8191:18;;;;;;;;;;;;;;;:27;8210:7;8191:27;;;;;;;;;;;;;;;:36;;;;8259:7;8243:32;;8252:5;8243:32;;;8268:6;8243:32;;;;;;:::i;:::-;;;;;;;;7933:350;;;:::o;6898:385::-;6988:19;7010:9;:15;7020:4;7010:15;;;;;;;;;;;;;;;;6988:37;;7059:6;7044:11;:21;;7036:74;;;;;;;;;;;;:::i;:::-;;;;;;;;;7178:6;7164:11;:20;7146:9;:15;7156:4;7146:15;;;;;;;;;;;;;;;:38;;;;7216:6;7199:9;:13;7209:2;7199:13;;;;;;;;;;;;;;;;:23;;;;;;;;;;;7264:2;7249:26;;7258:4;7249:26;;;7268:6;7249:26;;;;;;:::i;:::-;;;;;;;;6977:306;6898:385;;;:::o;11101:428::-;11212:24;11239:25;11249:5;11256:7;11239:9;:25::i;:::-;11212:52;;11299:17;11279:16;:37;11275:247;;11361:6;11341:16;:26;;11333:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;11444:51;11453:5;11460:7;11488:6;11469:16;:25;11444:8;:51::i;:::-;11275:247;11201:328;11101:428;;;:::o;3840:132::-;3915:12;:10;:12::i;:::-;3904:23;;:7;:5;:7::i;:::-;:23;;;3896:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;3840:132::o;7291:236::-;7385:6;7369:12;;:22;;;;;;;:::i;:::-;;;;;;;;7449:6;7427:9;:18;7437:7;7427:18;;;;;;;;;;;;;;;;:28;;;;;;;;;;;7503:7;7482:37;;7499:1;7482:37;;;7512:6;7482:37;;;;;;:::i;:::-;;;;;;;;7291:236;;:::o;7535:390::-;7611:22;7636:9;:18;7646:7;7636:18;;;;;;;;;;;;;;;;7611:43;;7691:6;7673:14;:24;;7665:71;;;;;;;;;;;;:::i;:::-;;;;;;;;;7810:6;7793:14;:23;7772:9;:18;7782:7;7772:18;;;;;;;;;;;;;;;:44;;;;7847:6;7831:12;;:22;;;;;;;;;;;7906:1;7880:37;;7889:7;7880:37;;;7910:6;7880:37;;;;;;:::i;:::-;;;;;;;;7600:325;7535:390;;:::o;4191:191::-;4265:16;4284:6;;;;;;;;;;;4265:25;;4310:8;4301:6;;:17;;;;;;;;;;;;;;;;;;4365:8;4334:40;;4355:8;4334:40;;;;;;;;;;;;4254:128;4191:191;:::o;7:99:1:-;59:6;93:5;87:12;77:22;;7:99;;;:::o;112:169::-;196:11;230:6;225:3;218:19;270:4;265:3;261:14;246:29;;112:169;;;;:::o;287:139::-;376:6;371:3;366;360:23;417:1;408:6;403:3;399:16;392:27;287:139;;;:::o;432:102::-;473:6;524:2;520:7;515:2;508:5;504:14;500:28;490:38;;432:102;;;:::o;540:377::-;628:3;656:39;689:5;656:39;:::i;:::-;711:71;775:6;770:3;711:71;:::i;:::-;704:78;;791:65;849:6;844:3;837:4;830:5;826:16;791:65;:::i;:::-;881:29;903:6;881:29;:::i;:::-;876:3;872:39;865:46;;632:285;540:377;;;;:::o;923:313::-;1036:4;1074:2;1063:9;1059:18;1051:26;;1123:9;1117:4;1113:20;1109:1;1098:9;1094:17;1087:47;1151:78;1224:4;1215:6;1151:78;:::i;:::-;1143:86;;923:313;;;;:::o;1323:117::-;1432:1;1429;1422:12;1569:126;1606:7;1646:42;1639:5;1635:54;1624:65;;1569:126;;;:::o;1701:96::-;1738:7;1767:24;1785:5;1767:24;:::i;:::-;1756:35;;1701:96;;;:::o;1803:122::-;1876:24;1894:5;1876:24;:::i;:::-;1869:5;1866:35;1856:63;;1915:1;1912;1905:12;1856:63;1803:122;:::o;1931:139::-;1977:5;2015:6;2002:20;1993:29;;2031:33;2058:5;2031:33;:::i;:::-;1931:139;;;;:::o;2076:77::-;2113:7;2142:5;2131:16;;2076:77;;;:::o;2159:122::-;2232:24;2250:5;2232:24;:::i;:::-;2225:5;2222:35;2212:63;;2271:1;2268;2261:12;2212:63;2159:122;:::o;2287:139::-;2333:5;2371:6;2358:20;2349:29;;2387:33;2414:5;2387:33;:::i;:::-;2287:139;;;;:::o;2432:474::-;2500:6;2508;2557:2;2545:9;2536:7;2532:23;2528:32;2525:119;;;2563:79;;:::i;:::-;2525:119;2683:1;2708:53;2753:7;2744:6;2733:9;2729:22;2708:53;:::i;:::-;2698:63;;2654:117;2810:2;2836:53;2881:7;2872:6;2861:9;2857:22;2836:53;:::i;:::-;2826:63;;2781:118;2432:474;;;;;:::o;2912:90::-;2946:7;2989:5;2982:13;2975:21;2964:32;;2912:90;;;:::o;3008:109::-;3089:21;3104:5;3089:21;:::i;:::-;3084:3;3077:34;3008:109;;:::o;3123:210::-;3210:4;3248:2;3237:9;3233:18;3225:26;;3261:65;3323:1;3312:9;3308:17;3299:6;3261:65;:::i;:::-;3123:210;;;;:::o;3339:118::-;3426:24;3444:5;3426:24;:::i;:::-;3421:3;3414:37;3339:118;;:::o;3463:222::-;3556:4;3594:2;3583:9;3579:18;3571:26;;3607:71;3675:1;3664:9;3660:17;3651:6;3607:71;:::i;:::-;3463:222;;;;:::o;3691:619::-;3768:6;3776;3784;3833:2;3821:9;3812:7;3808:23;3804:32;3801:119;;;3839:79;;:::i;:::-;3801:119;3959:1;3984:53;4029:7;4020:6;4009:9;4005:22;3984:53;:::i;:::-;3974:63;;3930:117;4086:2;4112:53;4157:7;4148:6;4137:9;4133:22;4112:53;:::i;:::-;4102:63;;4057:118;4214:2;4240:53;4285:7;4276:6;4265:9;4261:22;4240:53;:::i;:::-;4230:63;;4185:118;3691:619;;;;;:::o;4316:86::-;4351:7;4391:4;4384:5;4380:16;4369:27;;4316:86;;;:::o;4408:112::-;4491:22;4507:5;4491:22;:::i;:::-;4486:3;4479:35;4408:112;;:::o;4526:214::-;4615:4;4653:2;4642:9;4638:18;4630:26;;4666:67;4730:1;4719:9;4715:17;4706:6;4666:67;:::i;:::-;4526:214;;;;:::o;4746:329::-;4805:6;4854:2;4842:9;4833:7;4829:23;4825:32;4822:119;;;4860:79;;:::i;:::-;4822:119;4980:1;5005:53;5050:7;5041:6;5030:9;5026:22;5005:53;:::i;:::-;4995:63;;4951:117;4746:329;;;;:::o;5081:118::-;5168:24;5186:5;5168:24;:::i;:::-;5163:3;5156:37;5081:118;;:::o;5205:222::-;5298:4;5336:2;5325:9;5321:18;5313:26;;5349:71;5417:1;5406:9;5402:17;5393:6;5349:71;:::i;:::-;5205:222;;;;:::o;5433:329::-;5492:6;5541:2;5529:9;5520:7;5516:23;5512:32;5509:119;;;5547:79;;:::i;:::-;5509:119;5667:1;5692:53;5737:7;5728:6;5717:9;5713:22;5692:53;:::i;:::-;5682:63;;5638:117;5433:329;;;;:::o;5768:474::-;5836:6;5844;5893:2;5881:9;5872:7;5868:23;5864:32;5861:119;;;5899:79;;:::i;:::-;5861:119;6019:1;6044:53;6089:7;6080:6;6069:9;6065:22;6044:53;:::i;:::-;6034:63;;5990:117;6146:2;6172:53;6217:7;6208:6;6197:9;6193:22;6172:53;:::i;:::-;6162:63;;6117:118;5768:474;;;;;:::o;6248:180::-;6296:77;6293:1;6286:88;6393:4;6390:1;6383:15;6417:4;6414:1;6407:15;6434:320;6478:6;6515:1;6509:4;6505:12;6495:22;;6562:1;6556:4;6552:12;6583:18;6573:81;;6639:4;6631:6;6627:17;6617:27;;6573:81;6701:2;6693:6;6690:14;6670:18;6667:38;6664:84;;6720:18;;:::i;:::-;6664:84;6485:269;6434:320;;;:::o;6760:225::-;6900:34;6896:1;6888:6;6884:14;6877:58;6969:8;6964:2;6956:6;6952:15;6945:33;6760:225;:::o;6991:366::-;7133:3;7154:67;7218:2;7213:3;7154:67;:::i;:::-;7147:74;;7230:93;7319:3;7230:93;:::i;:::-;7348:2;7343:3;7339:12;7332:19;;6991:366;;;:::o;7363:419::-;7529:4;7567:2;7556:9;7552:18;7544:26;;7616:9;7610:4;7606:20;7602:1;7591:9;7587:17;7580:47;7644:131;7770:4;7644:131;:::i;:::-;7636:139;;7363:419;;;:::o;7788:223::-;7928:34;7924:1;7916:6;7912:14;7905:58;7997:6;7992:2;7984:6;7980:15;7973:31;7788:223;:::o;8017:366::-;8159:3;8180:67;8244:2;8239:3;8180:67;:::i;:::-;8173:74;;8256:93;8345:3;8256:93;:::i;:::-;8374:2;8369:3;8365:12;8358:19;;8017:366;;;:::o;8389:419::-;8555:4;8593:2;8582:9;8578:18;8570:26;;8642:9;8636:4;8632:20;8628:1;8617:9;8613:17;8606:47;8670:131;8796:4;8670:131;:::i;:::-;8662:139;;8389:419;;;:::o;8814:234::-;8954:34;8950:1;8942:6;8938:14;8931:58;9023:17;9018:2;9010:6;9006:15;8999:42;8814:234;:::o;9054:366::-;9196:3;9217:67;9281:2;9276:3;9217:67;:::i;:::-;9210:74;;9293:93;9382:3;9293:93;:::i;:::-;9411:2;9406:3;9402:12;9395:19;;9054:366;;;:::o;9426:419::-;9592:4;9630:2;9619:9;9615:18;9607:26;;9679:9;9673:4;9669:20;9665:1;9654:9;9650:17;9643:47;9707:131;9833:4;9707:131;:::i;:::-;9699:139;;9426:419;;;:::o;9851:230::-;9991:34;9987:1;9979:6;9975:14;9968:58;10060:13;10055:2;10047:6;10043:15;10036:38;9851:230;:::o;10087:366::-;10229:3;10250:67;10314:2;10309:3;10250:67;:::i;:::-;10243:74;;10326:93;10415:3;10326:93;:::i;:::-;10444:2;10439:3;10435:12;10428:19;;10087:366;;;:::o;10459:419::-;10625:4;10663:2;10652:9;10648:18;10640:26;;10712:9;10706:4;10702:20;10698:1;10687:9;10683:17;10676:47;10740:131;10866:4;10740:131;:::i;:::-;10732:139;;10459:419;;;:::o;10884:232::-;11024:34;11020:1;11012:6;11008:14;11001:58;11093:15;11088:2;11080:6;11076:15;11069:40;10884:232;:::o;11122:366::-;11264:3;11285:67;11349:2;11344:3;11285:67;:::i;:::-;11278:74;;11361:93;11450:3;11361:93;:::i;:::-;11479:2;11474:3;11470:12;11463:19;;11122:366;;;:::o;11494:419::-;11660:4;11698:2;11687:9;11683:18;11675:26;;11747:9;11741:4;11737:20;11733:1;11722:9;11718:17;11711:47;11775:131;11901:4;11775:131;:::i;:::-;11767:139;;11494:419;;;:::o;11919:180::-;11967:77;11964:1;11957:88;12064:4;12061:1;12054:15;12088:4;12085:1;12078:15;12105:410;12145:7;12168:20;12186:1;12168:20;:::i;:::-;12163:25;;12202:20;12220:1;12202:20;:::i;:::-;12197:25;;12257:1;12254;12250:9;12279:30;12297:11;12279:30;:::i;:::-;12268:41;;12458:1;12449:7;12445:15;12442:1;12439:22;12419:1;12412:9;12392:83;12369:139;;12488:18;;:::i;:::-;12369:139;12153:362;12105:410;;;;:::o;12521:180::-;12569:77;12566:1;12559:88;12666:4;12663:1;12656:15;12690:4;12687:1;12680:15;12707:185;12747:1;12764:20;12782:1;12764:20;:::i;:::-;12759:25;;12798:20;12816:1;12798:20;:::i;:::-;12793:25;;12837:1;12827:35;;12842:18;;:::i;:::-;12827:35;12884:1;12881;12877:9;12872:14;;12707:185;;;;:::o;12898:194::-;12938:4;12958:20;12976:1;12958:20;:::i;:::-;12953:25;;12992:20;13010:1;12992:20;:::i;:::-;12987:25;;13036:1;13033;13029:9;13021:17;;13060:1;13054:4;13051:11;13048:37;;;13065:18;;:::i;:::-;13048:37;12898:194;;;;:::o;13098:191::-;13138:3;13157:20;13175:1;13157:20;:::i;:::-;13152:25;;13191:20;13209:1;13191:20;:::i;:::-;13186:25;;13234:1;13231;13227:9;13220:16;;13255:3;13252:1;13249:10;13246:36;;;13262:18;;:::i;:::-;13246:36;13098:191;;;;:::o;13295:182::-;13435:34;13431:1;13423:6;13419:14;13412:58;13295:182;:::o;13483:366::-;13625:3;13646:67;13710:2;13705:3;13646:67;:::i;:::-;13639:74;;13722:93;13811:3;13722:93;:::i;:::-;13840:2;13835:3;13831:12;13824:19;;13483:366;;;:::o;13855:419::-;14021:4;14059:2;14048:9;14044:18;14036:26;;14108:9;14102:4;14098:20;14094:1;14083:9;14079:17;14072:47;14136:131;14262:4;14136:131;:::i;:::-;14128:139;;13855:419;;;:::o;14280:230::-;14420:34;14416:1;14408:6;14404:14;14397:58;14489:13;14484:2;14476:6;14472:15;14465:38;14280:230;:::o;14516:366::-;14658:3;14679:67;14743:2;14738:3;14679:67;:::i;:::-;14672:74;;14755:93;14844:3;14755:93;:::i;:::-;14873:2;14868:3;14864:12;14857:19;;14516:366;;;:::o;14888:419::-;15054:4;15092:2;15081:9;15077:18;15069:26;;15141:9;15135:4;15131:20;15127:1;15116:9;15112:17;15105:47;15169:131;15295:4;15169:131;:::i;:::-;15161:139;;14888:419;;;:::o;15313:230::-;15453:34;15449:1;15441:6;15437:14;15430:58;15522:13;15517:2;15509:6;15505:15;15498:38;15313:230;:::o;15549:366::-;15691:3;15712:67;15776:2;15771:3;15712:67;:::i;:::-;15705:74;;15788:93;15877:3;15788:93;:::i;:::-;15906:2;15901:3;15897:12;15890:19;;15549:366;;;:::o;15921:419::-;16087:4;16125:2;16114:9;16110:18;16102:26;;16174:9;16168:4;16164:20;16160:1;16149:9;16145:17;16138:47;16202:131;16328:4;16202:131;:::i;:::-;16194:139;;15921:419;;;:::o;16346:181::-;16486:33;16482:1;16474:6;16470:14;16463:57;16346:181;:::o;16533:366::-;16675:3;16696:67;16760:2;16755:3;16696:67;:::i;:::-;16689:74;;16772:93;16861:3;16772:93;:::i;:::-;16890:2;16885:3;16881:12;16874:19;;16533:366;;;:::o;16905:419::-;17071:4;17109:2;17098:9;17094:18;17086:26;;17158:9;17152:4;17148:20;17144:1;17133:9;17129:17;17122:47;17186:131;17312:4;17186:131;:::i;:::-;17178:139;;16905:419;;;:::o;17330:222::-;17470:34;17466:1;17458:6;17454:14;17447:58;17539:5;17534:2;17526:6;17522:15;17515:30;17330:222;:::o;17558:366::-;17700:3;17721:67;17785:2;17780:3;17721:67;:::i;:::-;17714:74;;17797:93;17886:3;17797:93;:::i;:::-;17915:2;17910:3;17906:12;17899:19;;17558:366;;;:::o;17930:419::-;18096:4;18134:2;18123:9;18119:18;18111:26;;18183:9;18177:4;18173:20;18169:1;18158:9;18154:17;18147:47;18211:131;18337:4;18211:131;:::i;:::-;18203:139;;17930:419;;;:::o;18355:224::-;18495:34;18491:1;18483:6;18479:14;18472:58;18564:7;18559:2;18551:6;18547:15;18540:32;18355:224;:::o;18585:366::-;18727:3;18748:67;18812:2;18807:3;18748:67;:::i;:::-;18741:74;;18824:93;18913:3;18824:93;:::i;:::-;18942:2;18937:3;18933:12;18926:19;;18585:366;;;:::o;18957:419::-;19123:4;19161:2;19150:9;19146:18;19138:26;;19210:9;19204:4;19200:20;19196:1;19185:9;19181:17;19174:47;19238:131;19364:4;19238:131;:::i;:::-;19230:139;;18957:419;;;:::o;19382:226::-;19522:34;19518:1;19510:6;19506:14;19499:58;19591:9;19586:2;19578:6;19574:15;19567:34;19382:226;:::o;19614:366::-;19756:3;19777:67;19841:2;19836:3;19777:67;:::i;:::-;19770:74;;19853:93;19942:3;19853:93;:::i;:::-;19971:2;19966:3;19962:12;19955:19;;19614:366;;;:::o;19986:419::-;20152:4;20190:2;20179:9;20175:18;20167:26;;20239:9;20233:4;20229:20;20225:1;20214:9;20210:17;20203:47;20267:131;20393:4;20267:131;:::i;:::-;20259:139;;19986:419;;;:::o;20411:222::-;20551:34;20547:1;20539:6;20535:14;20528:58;20620:5;20615:2;20607:6;20603:15;20596:30;20411:222;:::o;20639:366::-;20781:3;20802:67;20866:2;20861:3;20802:67;:::i;:::-;20795:74;;20878:93;20967:3;20878:93;:::i;:::-;20996:2;20991:3;20987:12;20980:19;;20639:366;;;:::o;21011:419::-;21177:4;21215:2;21204:9;21200:18;21192:26;;21264:9;21258:4;21254:20;21250:1;21239:9;21235:17;21228:47;21292:131;21418:4;21292:131;:::i;:::-;21284:139;;21011:419;;;:::o;21436:227::-;21576:34;21572:1;21564:6;21560:14;21553:58;21645:10;21640:2;21632:6;21628:15;21621:35;21436:227;:::o;21669:366::-;21811:3;21832:67;21896:2;21891:3;21832:67;:::i;:::-;21825:74;;21908:93;21997:3;21908:93;:::i;:::-;22026:2;22021:3;22017:12;22010:19;;21669:366;;;:::o;22041:419::-;22207:4;22245:2;22234:9;22230:18;22222:26;;22294:9;22288:4;22284:20;22280:1;22269:9;22265:17;22258:47;22322:131;22448:4;22322:131;:::i;:::-;22314:139;;22041:419;;;:::o;22466:225::-;22606:34;22602:1;22594:6;22590:14;22583:58;22675:8;22670:2;22662:6;22658:15;22651:33;22466:225;:::o;22697:366::-;22839:3;22860:67;22924:2;22919:3;22860:67;:::i;:::-;22853:74;;22936:93;23025:3;22936:93;:::i;:::-;23054:2;23049:3;23045:12;23038:19;;22697:366;;;:::o;23069:419::-;23235:4;23273:2;23262:9;23258:18;23250:26;;23322:9;23316:4;23312:20;23308:1;23297:9;23293:17;23286:47;23350:131;23476:4;23350:131;:::i;:::-;23342:139;;23069:419;;;:::o;23494:223::-;23634:34;23630:1;23622:6;23618:14;23611:58;23703:6;23698:2;23690:6;23686:15;23679:31;23494:223;:::o;23723:366::-;23865:3;23886:67;23950:2;23945:3;23886:67;:::i;:::-;23879:74;;23962:93;24051:3;23962:93;:::i;:::-;24080:2;24075:3;24071:12;24064:19;;23723:366;;;:::o;24095:419::-;24261:4;24299:2;24288:9;24284:18;24276:26;;24348:9;24342:4;24338:20;24334:1;24323:9;24319:17;24312:47;24376:131;24502:4;24376:131;:::i;:::-;24368:139;;24095:419;;;:::o;24520:227::-;24660:34;24656:1;24648:6;24644:14;24637:58;24729:10;24724:2;24716:6;24712:15;24705:35;24520:227;:::o;24753:366::-;24895:3;24916:67;24980:2;24975:3;24916:67;:::i;:::-;24909:74;;24992:93;25081:3;24992:93;:::i;:::-;25110:2;25105:3;25101:12;25094:19;;24753:366;;;:::o;25125:419::-;25291:4;25329:2;25318:9;25314:18;25306:26;;25378:9;25372:4;25368:20;25364:1;25353:9;25349:17;25342:47;25406:131;25532:4;25406:131;:::i;:::-;25398:139;;25125:419;;;:::o;25550:178::-;25690:30;25686:1;25678:6;25674:14;25667:54;25550:178;:::o;25734:366::-;25876:3;25897:67;25961:2;25956:3;25897:67;:::i;:::-;25890:74;;25973:93;26062:3;25973:93;:::i;:::-;26091:2;26086:3;26082:12;26075:19;;25734:366;;;:::o;26106:419::-;26272:4;26310:2;26299:9;26295:18;26287:26;;26359:9;26353:4;26349:20;26345:1;26334:9;26330:17;26323:47;26387:131;26513:4;26387:131;:::i;:::-;26379:139;;26106:419;;;:::o;26531:182::-;26671:34;26667:1;26659:6;26655:14;26648:58;26531:182;:::o;26719:366::-;26861:3;26882:67;26946:2;26941:3;26882:67;:::i;:::-;26875:74;;26958:93;27047:3;26958:93;:::i;:::-;27076:2;27071:3;27067:12;27060:19;;26719:366;;;:::o;27091:419::-;27257:4;27295:2;27284:9;27280:18;27272:26;;27344:9;27338:4;27334:20;27330:1;27319:9;27315:17;27308:47;27372:131;27498:4;27372:131;:::i;:::-;27364:139;;27091:419;;;:::o;27516:221::-;27656:34;27652:1;27644:6;27640:14;27633:58;27725:4;27720:2;27712:6;27708:15;27701:29;27516:221;:::o;27743:366::-;27885:3;27906:67;27970:2;27965:3;27906:67;:::i;:::-;27899:74;;27982:93;28071:3;27982:93;:::i;:::-;28100:2;28095:3;28091:12;28084:19;;27743:366;;;:::o;28115:419::-;28281:4;28319:2;28308:9;28304:18;28296:26;;28368:9;28362:4;28358:20;28354:1;28343:9;28339:17;28332:47;28396:131;28522:4;28396:131;:::i;:::-;28388:139;;28115:419;;;:::o
Swarm Source
ipfs://009f43d4da23246360c36d1198420fb1c6156b52a2d38a757c1f81e6d814b097
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.
Add Token to MetaMask (Web3)