CRC-20
Overview
Max Total Supply
271,271,271,271,271 KREES
Holders
2,172
Total Transfers
-
Market
Price
$0.00 @ 0.000000 CRO
Onchain Market Cap
$0.00
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 18 Decimals)
Loading...
Loading
Loading...
Loading
Loading...
Loading
Contract Name:
KreesCoin
Compiler Version
v0.8.12+commit.f00d7308
Contract Source Code (Solidity)
/** *Submitted for verification at cronoscan.com on 2024-03-21 */ // File: @openzeppelin/contracts/token/ERC20/IERC20.sol // OpenZeppelin Contracts v4.4.1 (token/ERC20/IERC20.sol) pragma solidity ^0.8.0; /** * @dev Interface of the ERC20 standard as defined in the EIP. */ 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. */ 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); } // File: @openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.sol // OpenZeppelin Contracts v4.4.1 (token/ERC20/extensions/IERC20Metadata.sol) pragma solidity ^0.8.0; /** * @dev Interface for the optional metadata functions from the ERC20 standard. * * _Available since v4.1._ */ 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); } // File: @openzeppelin/contracts/utils/Context.sol // OpenZeppelin Contracts v4.4.1 (utils/Context.sol) pragma solidity ^0.8.0; /** * @dev Provides information about the current execution context, including the * sender of the transaction and its data. While these are generally available * via msg.sender and msg.data, they should not be accessed in such a direct * manner, since when dealing with meta-transactions the account sending and * paying for execution may not be the actual sender (as far as an application * is concerned). * * This contract is only required for intermediate, library-like contracts. */ abstract contract Context { function _msgSender() internal view virtual returns (address) { return msg.sender; } function _msgData() internal view virtual returns (bytes calldata) { return msg.data; } } // File: @openzeppelin/contracts/token/ERC20/ERC20.sol // OpenZeppelin Contracts v4.4.1 (token/ERC20/ERC20.sol) pragma solidity ^0.8.0; /** * @dev Implementation of the {IERC20} interface. * * This implementation is agnostic to the way tokens are created. This means * that a supply mechanism has to be added in a derived contract using {_mint}. * For a generic mechanism see {ERC20PresetMinterPauser}. * * TIP: For a detailed writeup see our guide * https://forum.zeppelin.solutions/t/how-to-implement-erc20-supply-mechanisms/226[How * to implement supply mechanisms]. * * We have followed general OpenZeppelin Contracts guidelines: functions revert * instead returning `false` on failure. This behavior is nonetheless * conventional and does not conflict with the expectations of ERC20 * applications. * * Additionally, an {Approval} event is emitted on calls to {transferFrom}. * This allows applications to reconstruct the allowance for all accounts just * by listening to said events. Other implementations of the EIP may not emit * these events, as it isn't required by the specification. * * Finally, the non-standard {decreaseAllowance} and {increaseAllowance} * functions have been added to mitigate the well-known issues around setting * allowances. See {IERC20-approve}. */ 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; /** * @dev Sets the values for {name} and {symbol}. * * The default value of {decimals} is 18. To select a different value for * {decimals} you should overload it. * * All two of these values are immutable: they can only be set once during * construction. */ constructor(string memory name_, string memory symbol_) { _name = name_; _symbol = symbol_; } /** * @dev Returns the name of the token. */ function name() public view virtual override returns (string memory) { return _name; } /** * @dev Returns the symbol of the token, usually a shorter version of the * name. */ function symbol() public view virtual override returns (string memory) { return _symbol; } /** * @dev Returns the number of decimals used to get its user representation. * For example, if `decimals` equals `2`, a balance of `505` tokens should * be displayed to a user as `5.05` (`505 / 10 ** 2`). * * Tokens usually opt for a value of 18, imitating the relationship between * Ether and Wei. This is the value {ERC20} uses, unless this function is * overridden; * * NOTE: This information is only used for _display_ purposes: it in * no way affects any of the arithmetic of the contract, including * {IERC20-balanceOf} and {IERC20-transfer}. */ function decimals() public view virtual override returns (uint8) { return 18; } /** * @dev See {IERC20-totalSupply}. */ function totalSupply() public view virtual override returns (uint256) { return _totalSupply; } /** * @dev See {IERC20-balanceOf}. */ function balanceOf(address account) public view virtual override returns (uint256) { return _balances[account]; } /** * @dev See {IERC20-transfer}. * * Requirements: * * - `recipient` cannot be the zero address. * - the caller must have a balance of at least `amount`. */ function transfer(address recipient, uint256 amount) public virtual override returns (bool) { _transfer(_msgSender(), recipient, amount); return true; } /** * @dev See {IERC20-allowance}. */ function allowance(address owner, address spender) public view virtual override returns (uint256) { return _allowances[owner][spender]; } /** * @dev See {IERC20-approve}. * * Requirements: * * - `spender` cannot be the zero address. */ function approve(address spender, uint256 amount) public virtual override returns (bool) { _approve(_msgSender(), spender, amount); return true; } /** * @dev See {IERC20-transferFrom}. * * Emits an {Approval} event indicating the updated allowance. This is not * required by the EIP. See the note at the beginning of {ERC20}. * * Requirements: * * - `sender` and `recipient` cannot be the zero address. * - `sender` must have a balance of at least `amount`. * - the caller must have allowance for ``sender``'s tokens of at least * `amount`. */ function transferFrom( address sender, address recipient, uint256 amount ) public virtual override returns (bool) { _transfer(sender, recipient, amount); uint256 currentAllowance = _allowances[sender][_msgSender()]; require(currentAllowance >= amount, "ERC20: transfer amount exceeds allowance"); unchecked { _approve(sender, _msgSender(), currentAllowance - amount); } return true; } /** * @dev Atomically increases the allowance granted to `spender` by the caller. * * This is an alternative to {approve} that can be used as a mitigation for * problems described in {IERC20-approve}. * * Emits an {Approval} event indicating the updated allowance. * * Requirements: * * - `spender` cannot be the zero address. */ function increaseAllowance(address spender, uint256 addedValue) public virtual returns (bool) { _approve(_msgSender(), spender, _allowances[_msgSender()][spender] + addedValue); return true; } /** * @dev Atomically decreases the allowance granted to `spender` by the caller. * * This is an alternative to {approve} that can be used as a mitigation for * problems described in {IERC20-approve}. * * Emits an {Approval} event indicating the updated allowance. * * Requirements: * * - `spender` cannot be the zero address. * - `spender` must have allowance for the caller of at least * `subtractedValue`. */ 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; } /** * @dev Moves `amount` of tokens from `sender` to `recipient`. * * This internal function is equivalent to {transfer}, and can be used to * e.g. implement automatic token fees, slashing mechanisms, etc. * * Emits a {Transfer} event. * * Requirements: * * - `sender` cannot be the zero address. * - `recipient` cannot be the zero address. * - `sender` must have a balance of at least `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"); _beforeTokenTransfer(sender, recipient, amount); 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); _afterTokenTransfer(sender, recipient, amount); } /** @dev Creates `amount` tokens and assigns them to `account`, increasing * the total supply. * * Emits a {Transfer} event with `from` set to the zero address. * * Requirements: * * - `account` cannot be the zero address. */ function _mint(address account, uint256 amount) internal virtual { require(account != address(0), "ERC20: mint to the zero address"); _beforeTokenTransfer(address(0), account, amount); _totalSupply += amount; _balances[account] += amount; emit Transfer(address(0), account, amount); _afterTokenTransfer(address(0), account, amount); } /** * @dev Destroys `amount` tokens from `account`, reducing the * total supply. * * Emits a {Transfer} event with `to` set to the zero address. * * Requirements: * * - `account` cannot be the zero address. * - `account` must have at least `amount` tokens. */ function _burn(address account, uint256 amount) internal virtual { require(account != address(0), "ERC20: burn from the zero address"); _beforeTokenTransfer(account, address(0), amount); 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); _afterTokenTransfer(account, address(0), amount); } /** * @dev Sets `amount` as the allowance of `spender` over the `owner` s tokens. * * This internal function is equivalent to `approve`, and can be used to * e.g. set automatic allowances for certain subsystems, etc. * * Emits an {Approval} event. * * Requirements: * * - `owner` cannot be the zero address. * - `spender` cannot be the zero address. */ 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); } /** * @dev Hook that is called before any transfer of tokens. This includes * minting and burning. * * Calling conditions: * * - when `from` and `to` are both non-zero, `amount` of ``from``'s tokens * will be transferred to `to`. * - when `from` is zero, `amount` tokens will be minted for `to`. * - when `to` is zero, `amount` of ``from``'s tokens will be burned. * - `from` and `to` are never both zero. * * To learn more about hooks, head to xref:ROOT:extending-contracts.adoc#using-hooks[Using Hooks]. */ function _beforeTokenTransfer( address from, address to, uint256 amount ) internal virtual {} /** * @dev Hook that is called after any transfer of tokens. This includes * minting and burning. * * Calling conditions: * * - when `from` and `to` are both non-zero, `amount` of ``from``'s tokens * has been transferred to `to`. * - when `from` is zero, `amount` tokens have been minted for `to`. * - when `to` is zero, `amount` of ``from``'s tokens have been burned. * - `from` and `to` are never both zero. * * To learn more about hooks, head to xref:ROOT:extending-contracts.adoc#using-hooks[Using Hooks]. */ function _afterTokenTransfer( address from, address to, uint256 amount ) internal virtual {} } // File: @openzeppelin/contracts/access/Ownable.sol // OpenZeppelin Contracts v4.4.1 (access/Ownable.sol) pragma solidity ^0.8.0; /** * @dev Contract module which provides a basic access control mechanism, where * there is an account (an owner) that can be granted exclusive access to * specific functions. * * By default, the owner account will be the one that deploys the contract. This * can later be changed with {transferOwnership}. * * This module is used through inheritance. It will make available the modifier * `onlyOwner`, which can be applied to your functions to restrict their use to * the owner. */ abstract contract Ownable is Context { address private _owner; event OwnershipTransferred(address indexed previousOwner, address indexed newOwner); /** * @dev Initializes the contract setting the deployer as the initial owner. */ constructor() { _transferOwnership(_msgSender()); } /** * @dev Returns the address of the current owner. */ function owner() public view virtual returns (address) { return _owner; } /** * @dev Throws if called by any account other than the owner. */ modifier onlyOwner() { require(owner() == _msgSender(), "Ownable: caller is not the owner"); _; } /** * @dev Leaves the contract without owner. It will not be possible to call * `onlyOwner` functions anymore. Can only be called by the current owner. * * NOTE: Renouncing ownership will leave the contract without an owner, * thereby removing any functionality that is only available to the owner. */ function renounceOwnership() public virtual onlyOwner { _transferOwnership(address(0)); } /** * @dev Transfers ownership of the contract to a new account (`newOwner`). * Can only be called by the current owner. */ function transferOwnership(address newOwner) public virtual onlyOwner { require(newOwner != address(0), "Ownable: new owner is the zero address"); _transferOwnership(newOwner); } /** * @dev Transfers ownership of the contract to a new account (`newOwner`). * Internal function without access restriction. */ function _transferOwnership(address newOwner) internal virtual { address oldOwner = _owner; _owner = newOwner; emit OwnershipTransferred(oldOwner, newOwner); } } // File: Kreescoin.sol pragma solidity ^0.8.2; /** /\__\ /\ \ /\ \ /\ \ /\ \ /:/ / /::\ \ /::\ \ /::\ \ /::\ \ /:/__/ /:/\:\ \ /:/\:\ \ /:/\:\ \ /:/\ \ \ /::\__\____ /::\~\:\ \ /::\~\:\ \ /::\~\:\ \ _\:\~\ \ \ /:/\:::::\__\ /:/\:\ \:\__\ /:/\:\ \:\__\ /:/\:\ \:\__\ /\ \:\ \ \__\ \/_|:|~~|~ \/_|::\/:/ / \:\~\:\ \/__/ \:\~\:\ \/__/ \:\ \:\ \/__/ |:| | |:|::/ / \:\ \:\__\ \:\ \:\__\ \:\ \:\__\ |:| | |:|\/__/ \:\ \/__/ \:\ \/__/ \:\/:/ / |:| | |:| | \:\__\ \:\__\ \::/ / \|__| \|__| \/__/ \/__/ \/__/ */ contract KreesCoin is ERC20, Ownable { bool internal locked; uint256 public constant TOTAL_SUPPLY = 271_271_271_271_271 * (10 ** 18); uint256 public constant SALE_SUPPLY = TOTAL_SUPPLY / 2; uint256 public totalCROContributed = 0; uint256 public participants = 0; mapping(address => uint256) public croContributions; uint256 public startTimestamp = 1711094400; uint256 public endTimestamp = 1711123200; error SaleNotStarted(); error SaleAlreadyEnded(); error ClaimNotStarted(); error NoContribution(); error InvalidTimestamps(); error ReceiversAmountsMismatch(); error NonReentrant(); event ContributionUpdated(address indexed contributor, uint256 amountContributed, uint256 newTotalCROContributed); modifier nonReentrant{ if( locked ) revert NonReentrant(); locked = true; _; locked = false; } constructor() ERC20("KREES", "KREES") Ownable() { _mint(address(this), TOTAL_SUPPLY); } function isClaimable() public view returns(bool) { return block.timestamp > endTimestamp; } function unlock() public onlyOwner { if( locked ) locked = ! locked; } function depositCRO() public payable nonReentrant { if (block.timestamp < startTimestamp || block.timestamp > endTimestamp ) revert SaleNotStarted(); if( croContributions[_msgSender()] == 0 ) ++participants; croContributions[_msgSender()] += msg.value; totalCROContributed += msg.value; emit ContributionUpdated(_msgSender(), msg.value, totalCROContributed); } function getDistribution() public view returns(uint) { uint256 contribution = croContributions[_msgSender()]; if( contribution > 0 ) return contribution * SALE_SUPPLY / totalCROContributed; return 0; } function withdrawKrees() public nonReentrant { if (block.timestamp < endTimestamp) revert ClaimNotStarted(); uint256 contribution = croContributions[_msgSender()]; if (contribution == 0) revert NoContribution(); uint256 claimableAmount = contribution * SALE_SUPPLY / totalCROContributed; croContributions[_msgSender()] = 0; _transfer(address(this), _msgSender(), claimableAmount); } function withdrawCro(uint256 amount, address receiver) public onlyOwner { (bool ok, ) = payable(receiver).call{value: amount}(""); if (!ok) revert NoContribution(); } function distributeKrees(address[] memory receivers, uint256[] memory amounts) public onlyOwner { if (receivers.length != amounts.length) revert ReceiversAmountsMismatch(); for (uint256 i = 0; i < receivers.length; i++) { _transfer(address(this), receivers[i], amounts[i]); } } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[],"name":"ClaimNotStarted","type":"error"},{"inputs":[],"name":"InvalidTimestamps","type":"error"},{"inputs":[],"name":"NoContribution","type":"error"},{"inputs":[],"name":"NonReentrant","type":"error"},{"inputs":[],"name":"ReceiversAmountsMismatch","type":"error"},{"inputs":[],"name":"SaleAlreadyEnded","type":"error"},{"inputs":[],"name":"SaleNotStarted","type":"error"},{"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":"contributor","type":"address"},{"indexed":false,"internalType":"uint256","name":"amountContributed","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"newTotalCROContributed","type":"uint256"}],"name":"ContributionUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[],"name":"SALE_SUPPLY","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"TOTAL_SUPPLY","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"croContributions","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"subtractedValue","type":"uint256"}],"name":"decreaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"depositCRO","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[{"internalType":"address[]","name":"receivers","type":"address[]"},{"internalType":"uint256[]","name":"amounts","type":"uint256[]"}],"name":"distributeKrees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"endTimestamp","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getDistribution","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":"isClaimable","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"participants","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"startTimestamp","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":"totalCROContributed","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"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":"unlock","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"address","name":"receiver","type":"address"}],"name":"withdrawCro","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"withdrawKrees","outputs":[],"stateMutability":"nonpayable","type":"function"}]
Contract Creation Code
6080604052600060065560006007556365fd3a806009556365fdab00600a553480156200002b57600080fd5b506040518060400160405280600581526020017f4b524545530000000000000000000000000000000000000000000000000000008152506040518060400160405280600581526020017f4b524545530000000000000000000000000000000000000000000000000000008152508160039080519060200190620000b092919062000363565b508060049080519060200190620000c992919062000363565b505050620000ec620000e06200011260201b60201c565b6200011a60201b60201c565b6200010c306d0d5fecc05694d4cae7a5a53c0000620001e060201b60201c565b620005bf565b600033905090565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141562000253576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016200024a9062000474565b60405180910390fd5b62000267600083836200035960201b60201c565b80600260008282546200027b9190620004cf565b92505081905550806000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254620002d29190620004cf565b925050819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516200033991906200053d565b60405180910390a362000355600083836200035e60201b60201c565b5050565b505050565b505050565b828054620003719062000589565b90600052602060002090601f016020900481019282620003955760008555620003e1565b82601f10620003b057805160ff1916838001178555620003e1565b82800160010185558215620003e1579182015b82811115620003e0578251825591602001919060010190620003c3565b5b509050620003f09190620003f4565b5090565b5b808211156200040f576000816000905550600101620003f5565b5090565b600082825260208201905092915050565b7f45524332303a206d696e7420746f20746865207a65726f206164647265737300600082015250565b60006200045c601f8362000413565b9150620004698262000424565b602082019050919050565b600060208201905081810360008301526200048f816200044d565b9050919050565b6000819050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000620004dc8262000496565b9150620004e98362000496565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115620005215762000520620004a0565b5b828201905092915050565b620005378162000496565b82525050565b60006020820190506200055460008301846200052c565b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60006002820490506001821680620005a257607f821691505b60208210811415620005b957620005b86200055a565b5b50919050565b6127b180620005cf6000396000f3fe6080604052600436106101b75760003560e01c806374478bb3116100ec578063a9059cbb1161008a578063cbf6fff911610064578063cbf6fff9146105e1578063dd62ed3e1461060c578063e6fd48bc14610649578063f2fde38b14610674576101b7565b8063a9059cbb14610562578063aed28a1d1461059f578063b9d8f2de146105b6576101b7565b806395d89b41116100c657806395d89b41146104b8578063a457c2d7146104e3578063a69df4b514610520578063a85adeab14610537576101b7565b806374478bb3146104375780638da5cb5b14610462578063902d55a51461048d576101b7565b80633950935111610159578063594da0a311610133578063594da0a3146103ae5780636c4470fb146103b857806370a08231146103e3578063715018a614610420576101b7565b8063395093511461030b5780634ca003971461034857806354a4e08a14610371576101b7565b806318160ddd1161019557806318160ddd1461024d5780631cced51b1461027857806323b872dd146102a3578063313ce567146102e0576101b7565b806306fdde03146101bc57806309299101146101e7578063095ea7b314610210575b600080fd5b3480156101c857600080fd5b506101d161069d565b6040516101de9190611aaa565b60405180910390f35b3480156101f357600080fd5b5061020e60048036038101906102099190611b74565b61072f565b005b34801561021c57600080fd5b5061023760048036038101906102329190611bb4565b610853565b6040516102449190611c0f565b60405180910390f35b34801561025957600080fd5b50610262610871565b60405161026f9190611c39565b60405180910390f35b34801561028457600080fd5b5061028d61087b565b60405161029a9190611c39565b60405180910390f35b3480156102af57600080fd5b506102ca60048036038101906102c59190611c54565b610914565b6040516102d79190611c0f565b60405180910390f35b3480156102ec57600080fd5b506102f5610a0c565b6040516103029190611cc3565b60405180910390f35b34801561031757600080fd5b50610332600480360381019061032d9190611bb4565b610a15565b60405161033f9190611c0f565b60405180910390f35b34801561035457600080fd5b5061036f600480360381019061036a9190611ee9565b610ac1565b005b34801561037d57600080fd5b5061039860048036038101906103939190611f61565b610bdb565b6040516103a59190611c39565b60405180910390f35b6103b6610bf3565b005b3480156103c457600080fd5b506103cd610def565b6040516103da9190611c39565b60405180910390f35b3480156103ef57600080fd5b5061040a60048036038101906104059190611f61565b610df5565b6040516104179190611c39565b60405180910390f35b34801561042c57600080fd5b50610435610e3d565b005b34801561044357600080fd5b5061044c610ec5565b6040516104599190611c0f565b60405180910390f35b34801561046e57600080fd5b50610477610ed1565b6040516104849190611f9d565b60405180910390f35b34801561049957600080fd5b506104a2610efb565b6040516104af9190611c39565b60405180910390f35b3480156104c457600080fd5b506104cd610f0d565b6040516104da9190611aaa565b60405180910390f35b3480156104ef57600080fd5b5061050a60048036038101906105059190611bb4565b610f9f565b6040516105179190611c0f565b60405180910390f35b34801561052c57600080fd5b5061053561108a565b005b34801561054357600080fd5b5061054c611148565b6040516105599190611c39565b60405180910390f35b34801561056e57600080fd5b5061058960048036038101906105849190611bb4565b61114e565b6040516105969190611c0f565b60405180910390f35b3480156105ab57600080fd5b506105b461116c565b005b3480156105c257600080fd5b506105cb611344565b6040516105d89190611c39565b60405180910390f35b3480156105ed57600080fd5b506105f661134a565b6040516106039190611c39565b60405180910390f35b34801561061857600080fd5b50610633600480360381019061062e9190611fb8565b611368565b6040516106409190611c39565b60405180910390f35b34801561065557600080fd5b5061065e6113ef565b60405161066b9190611c39565b60405180910390f35b34801561068057600080fd5b5061069b60048036038101906106969190611f61565b6113f5565b005b6060600380546106ac90612027565b80601f01602080910402602001604051908101604052809291908181526020018280546106d890612027565b80156107255780601f106106fa57610100808354040283529160200191610725565b820191906000526020600020905b81548152906001019060200180831161070857829003601f168201915b5050505050905090565b6107376114ed565b73ffffffffffffffffffffffffffffffffffffffff16610755610ed1565b73ffffffffffffffffffffffffffffffffffffffff16146107ab576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107a2906120a5565b60405180910390fd5b60008173ffffffffffffffffffffffffffffffffffffffff16836040516107d1906120f6565b60006040518083038185875af1925050503d806000811461080e576040519150601f19603f3d011682016040523d82523d6000602084013e610813565b606091505b505090508061084e576040517f65c7efcc00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b505050565b60006108676108606114ed565b84846114f5565b6001905092915050565b6000600254905090565b6000806008600061088a6114ed565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050600081111561090b5760065460026d0d5fecc05694d4cae7a5a53c00006108ee9190612169565b826108f9919061219a565b6109039190612169565b915050610911565b60009150505b90565b60006109218484846116c0565b6000600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600061096c6114ed565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050828110156109ec576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109e390612266565b60405180910390fd5b610a00856109f86114ed565b8584036114f5565b60019150509392505050565b60006012905090565b6000610ab7610a226114ed565b848460016000610a306114ed565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610ab29190612286565b6114f5565b6001905092915050565b610ac96114ed565b73ffffffffffffffffffffffffffffffffffffffff16610ae7610ed1565b73ffffffffffffffffffffffffffffffffffffffff1614610b3d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b34906120a5565b60405180910390fd5b8051825114610b78576040517f4039866f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60005b8251811015610bd657610bc330848381518110610b9b57610b9a6122dc565b5b6020026020010151848481518110610bb657610bb56122dc565b5b60200260200101516116c0565b8080610bce9061230b565b915050610b7b565b505050565b60086020528060005260406000206000915090505481565b600560149054906101000a900460ff1615610c3a576040517f9396d15600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600560146101000a81548160ff021916908315150217905550600954421080610c665750600a5442115b15610c9d576040517f2d0a346e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600060086000610cab6114ed565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541415610d0357600760008154610cfb9061230b565b919050819055505b3460086000610d106114ed565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254610d599190612286565b925050819055503460066000828254610d729190612286565b92505081905550610d816114ed565b73ffffffffffffffffffffffffffffffffffffffff167f36c7c98dfe7e045d8de3e3a8ef7280d623eeb82e7ac5f92d4854297dd078130534600654604051610dca929190612354565b60405180910390a26000600560146101000a81548160ff021916908315150217905550565b60075481565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b610e456114ed565b73ffffffffffffffffffffffffffffffffffffffff16610e63610ed1565b73ffffffffffffffffffffffffffffffffffffffff1614610eb9576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610eb0906120a5565b60405180910390fd5b610ec36000611941565b565b6000600a544211905090565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6d0d5fecc05694d4cae7a5a53c000081565b606060048054610f1c90612027565b80601f0160208091040260200160405190810160405280929190818152602001828054610f4890612027565b8015610f955780601f10610f6a57610100808354040283529160200191610f95565b820191906000526020600020905b815481529060010190602001808311610f7857829003601f168201915b5050505050905090565b60008060016000610fae6114ed565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490508281101561106b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611062906123ef565b60405180910390fd5b61107f6110766114ed565b858584036114f5565b600191505092915050565b6110926114ed565b73ffffffffffffffffffffffffffffffffffffffff166110b0610ed1565b73ffffffffffffffffffffffffffffffffffffffff1614611106576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110fd906120a5565b60405180910390fd5b600560149054906101000a900460ff161561114657600560149054906101000a900460ff1615600560146101000a81548160ff0219169083151502179055505b565b600a5481565b600061116261115b6114ed565b84846116c0565b6001905092915050565b600560149054906101000a900460ff16156111b3576040517f9396d15600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600560146101000a81548160ff021916908315150217905550600a5442101561120a576040517fb0e9ce1e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000600860006112186114ed565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490506000811415611290576040517f65c7efcc00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600060065460026d0d5fecc05694d4cae7a5a53c00006112b09190612169565b836112bb919061219a565b6112c59190612169565b90506000600860006112d56114ed565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506113253061131f6114ed565b836116c0565b50506000600560146101000a81548160ff021916908315150217905550565b60065481565b60026d0d5fecc05694d4cae7a5a53c00006113659190612169565b81565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b60095481565b6113fd6114ed565b73ffffffffffffffffffffffffffffffffffffffff1661141b610ed1565b73ffffffffffffffffffffffffffffffffffffffff1614611471576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611468906120a5565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614156114e1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114d890612481565b60405180910390fd5b6114ea81611941565b50565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611565576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161155c90612513565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156115d5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115cc906125a5565b60405180910390fd5b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516116b39190611c39565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611730576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161172790612637565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156117a0576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611797906126c9565b60405180910390fd5b6117ab838383611a07565b60008060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905081811015611831576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118289061275b565b60405180910390fd5b8181036000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546118c49190612286565b925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516119289190611c39565b60405180910390a361193b848484611a0c565b50505050565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b505050565b505050565b600081519050919050565b600082825260208201905092915050565b60005b83811015611a4b578082015181840152602081019050611a30565b83811115611a5a576000848401525b50505050565b6000601f19601f8301169050919050565b6000611a7c82611a11565b611a868185611a1c565b9350611a96818560208601611a2d565b611a9f81611a60565b840191505092915050565b60006020820190508181036000830152611ac48184611a71565b905092915050565b6000604051905090565b600080fd5b600080fd5b6000819050919050565b611af381611ae0565b8114611afe57600080fd5b50565b600081359050611b1081611aea565b92915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000611b4182611b16565b9050919050565b611b5181611b36565b8114611b5c57600080fd5b50565b600081359050611b6e81611b48565b92915050565b60008060408385031215611b8b57611b8a611ad6565b5b6000611b9985828601611b01565b9250506020611baa85828601611b5f565b9150509250929050565b60008060408385031215611bcb57611bca611ad6565b5b6000611bd985828601611b5f565b9250506020611bea85828601611b01565b9150509250929050565b60008115159050919050565b611c0981611bf4565b82525050565b6000602082019050611c246000830184611c00565b92915050565b611c3381611ae0565b82525050565b6000602082019050611c4e6000830184611c2a565b92915050565b600080600060608486031215611c6d57611c6c611ad6565b5b6000611c7b86828701611b5f565b9350506020611c8c86828701611b5f565b9250506040611c9d86828701611b01565b9150509250925092565b600060ff82169050919050565b611cbd81611ca7565b82525050565b6000602082019050611cd86000830184611cb4565b92915050565b600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b611d1b82611a60565b810181811067ffffffffffffffff82111715611d3a57611d39611ce3565b5b80604052505050565b6000611d4d611acc565b9050611d598282611d12565b919050565b600067ffffffffffffffff821115611d7957611d78611ce3565b5b602082029050602081019050919050565b600080fd5b6000611da2611d9d84611d5e565b611d43565b90508083825260208201905060208402830185811115611dc557611dc4611d8a565b5b835b81811015611dee5780611dda8882611b5f565b845260208401935050602081019050611dc7565b5050509392505050565b600082601f830112611e0d57611e0c611cde565b5b8135611e1d848260208601611d8f565b91505092915050565b600067ffffffffffffffff821115611e4157611e40611ce3565b5b602082029050602081019050919050565b6000611e65611e6084611e26565b611d43565b90508083825260208201905060208402830185811115611e8857611e87611d8a565b5b835b81811015611eb15780611e9d8882611b01565b845260208401935050602081019050611e8a565b5050509392505050565b600082601f830112611ed057611ecf611cde565b5b8135611ee0848260208601611e52565b91505092915050565b60008060408385031215611f0057611eff611ad6565b5b600083013567ffffffffffffffff811115611f1e57611f1d611adb565b5b611f2a85828601611df8565b925050602083013567ffffffffffffffff811115611f4b57611f4a611adb565b5b611f5785828601611ebb565b9150509250929050565b600060208284031215611f7757611f76611ad6565b5b6000611f8584828501611b5f565b91505092915050565b611f9781611b36565b82525050565b6000602082019050611fb26000830184611f8e565b92915050565b60008060408385031215611fcf57611fce611ad6565b5b6000611fdd85828601611b5f565b9250506020611fee85828601611b5f565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000600282049050600182168061203f57607f821691505b6020821081141561205357612052611ff8565b5b50919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b600061208f602083611a1c565b915061209a82612059565b602082019050919050565b600060208201905081810360008301526120be81612082565b9050919050565b600081905092915050565b50565b60006120e06000836120c5565b91506120eb826120d0565b600082019050919050565b6000612101826120d3565b9150819050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600061217482611ae0565b915061217f83611ae0565b92508261218f5761218e61210b565b5b828204905092915050565b60006121a582611ae0565b91506121b083611ae0565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff04831182151516156121e9576121e861213a565b5b828202905092915050565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206160008201527f6c6c6f77616e6365000000000000000000000000000000000000000000000000602082015250565b6000612250602883611a1c565b915061225b826121f4565b604082019050919050565b6000602082019050818103600083015261227f81612243565b9050919050565b600061229182611ae0565b915061229c83611ae0565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff038211156122d1576122d061213a565b5b828201905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600061231682611ae0565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8214156123495761234861213a565b5b600182019050919050565b60006040820190506123696000830185611c2a565b6123766020830184611c2a565b9392505050565b7f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760008201527f207a65726f000000000000000000000000000000000000000000000000000000602082015250565b60006123d9602583611a1c565b91506123e48261237d565b604082019050919050565b60006020820190508181036000830152612408816123cc565b9050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b600061246b602683611a1c565b91506124768261240f565b604082019050919050565b6000602082019050818103600083015261249a8161245e565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b60006124fd602483611a1c565b9150612508826124a1565b604082019050919050565b6000602082019050818103600083015261252c816124f0565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b600061258f602283611a1c565b915061259a82612533565b604082019050919050565b600060208201905081810360008301526125be81612582565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b6000612621602583611a1c565b915061262c826125c5565b604082019050919050565b6000602082019050818103600083015261265081612614565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b60006126b3602383611a1c565b91506126be82612657565b604082019050919050565b600060208201905081810360008301526126e2816126a6565b9050919050565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206260008201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b6000612745602683611a1c565b9150612750826126e9565b604082019050919050565b6000602082019050818103600083015261277481612738565b905091905056fea26469706673582212208538de923a979f53e00812f2dff68fb6137cf86c08569d4b9d9363c8024e9ad464736f6c634300080c0033
Deployed Bytecode
0x6080604052600436106101b75760003560e01c806374478bb3116100ec578063a9059cbb1161008a578063cbf6fff911610064578063cbf6fff9146105e1578063dd62ed3e1461060c578063e6fd48bc14610649578063f2fde38b14610674576101b7565b8063a9059cbb14610562578063aed28a1d1461059f578063b9d8f2de146105b6576101b7565b806395d89b41116100c657806395d89b41146104b8578063a457c2d7146104e3578063a69df4b514610520578063a85adeab14610537576101b7565b806374478bb3146104375780638da5cb5b14610462578063902d55a51461048d576101b7565b80633950935111610159578063594da0a311610133578063594da0a3146103ae5780636c4470fb146103b857806370a08231146103e3578063715018a614610420576101b7565b8063395093511461030b5780634ca003971461034857806354a4e08a14610371576101b7565b806318160ddd1161019557806318160ddd1461024d5780631cced51b1461027857806323b872dd146102a3578063313ce567146102e0576101b7565b806306fdde03146101bc57806309299101146101e7578063095ea7b314610210575b600080fd5b3480156101c857600080fd5b506101d161069d565b6040516101de9190611aaa565b60405180910390f35b3480156101f357600080fd5b5061020e60048036038101906102099190611b74565b61072f565b005b34801561021c57600080fd5b5061023760048036038101906102329190611bb4565b610853565b6040516102449190611c0f565b60405180910390f35b34801561025957600080fd5b50610262610871565b60405161026f9190611c39565b60405180910390f35b34801561028457600080fd5b5061028d61087b565b60405161029a9190611c39565b60405180910390f35b3480156102af57600080fd5b506102ca60048036038101906102c59190611c54565b610914565b6040516102d79190611c0f565b60405180910390f35b3480156102ec57600080fd5b506102f5610a0c565b6040516103029190611cc3565b60405180910390f35b34801561031757600080fd5b50610332600480360381019061032d9190611bb4565b610a15565b60405161033f9190611c0f565b60405180910390f35b34801561035457600080fd5b5061036f600480360381019061036a9190611ee9565b610ac1565b005b34801561037d57600080fd5b5061039860048036038101906103939190611f61565b610bdb565b6040516103a59190611c39565b60405180910390f35b6103b6610bf3565b005b3480156103c457600080fd5b506103cd610def565b6040516103da9190611c39565b60405180910390f35b3480156103ef57600080fd5b5061040a60048036038101906104059190611f61565b610df5565b6040516104179190611c39565b60405180910390f35b34801561042c57600080fd5b50610435610e3d565b005b34801561044357600080fd5b5061044c610ec5565b6040516104599190611c0f565b60405180910390f35b34801561046e57600080fd5b50610477610ed1565b6040516104849190611f9d565b60405180910390f35b34801561049957600080fd5b506104a2610efb565b6040516104af9190611c39565b60405180910390f35b3480156104c457600080fd5b506104cd610f0d565b6040516104da9190611aaa565b60405180910390f35b3480156104ef57600080fd5b5061050a60048036038101906105059190611bb4565b610f9f565b6040516105179190611c0f565b60405180910390f35b34801561052c57600080fd5b5061053561108a565b005b34801561054357600080fd5b5061054c611148565b6040516105599190611c39565b60405180910390f35b34801561056e57600080fd5b5061058960048036038101906105849190611bb4565b61114e565b6040516105969190611c0f565b60405180910390f35b3480156105ab57600080fd5b506105b461116c565b005b3480156105c257600080fd5b506105cb611344565b6040516105d89190611c39565b60405180910390f35b3480156105ed57600080fd5b506105f661134a565b6040516106039190611c39565b60405180910390f35b34801561061857600080fd5b50610633600480360381019061062e9190611fb8565b611368565b6040516106409190611c39565b60405180910390f35b34801561065557600080fd5b5061065e6113ef565b60405161066b9190611c39565b60405180910390f35b34801561068057600080fd5b5061069b60048036038101906106969190611f61565b6113f5565b005b6060600380546106ac90612027565b80601f01602080910402602001604051908101604052809291908181526020018280546106d890612027565b80156107255780601f106106fa57610100808354040283529160200191610725565b820191906000526020600020905b81548152906001019060200180831161070857829003601f168201915b5050505050905090565b6107376114ed565b73ffffffffffffffffffffffffffffffffffffffff16610755610ed1565b73ffffffffffffffffffffffffffffffffffffffff16146107ab576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107a2906120a5565b60405180910390fd5b60008173ffffffffffffffffffffffffffffffffffffffff16836040516107d1906120f6565b60006040518083038185875af1925050503d806000811461080e576040519150601f19603f3d011682016040523d82523d6000602084013e610813565b606091505b505090508061084e576040517f65c7efcc00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b505050565b60006108676108606114ed565b84846114f5565b6001905092915050565b6000600254905090565b6000806008600061088a6114ed565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050600081111561090b5760065460026d0d5fecc05694d4cae7a5a53c00006108ee9190612169565b826108f9919061219a565b6109039190612169565b915050610911565b60009150505b90565b60006109218484846116c0565b6000600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600061096c6114ed565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050828110156109ec576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109e390612266565b60405180910390fd5b610a00856109f86114ed565b8584036114f5565b60019150509392505050565b60006012905090565b6000610ab7610a226114ed565b848460016000610a306114ed565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610ab29190612286565b6114f5565b6001905092915050565b610ac96114ed565b73ffffffffffffffffffffffffffffffffffffffff16610ae7610ed1565b73ffffffffffffffffffffffffffffffffffffffff1614610b3d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b34906120a5565b60405180910390fd5b8051825114610b78576040517f4039866f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60005b8251811015610bd657610bc330848381518110610b9b57610b9a6122dc565b5b6020026020010151848481518110610bb657610bb56122dc565b5b60200260200101516116c0565b8080610bce9061230b565b915050610b7b565b505050565b60086020528060005260406000206000915090505481565b600560149054906101000a900460ff1615610c3a576040517f9396d15600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600560146101000a81548160ff021916908315150217905550600954421080610c665750600a5442115b15610c9d576040517f2d0a346e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600060086000610cab6114ed565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541415610d0357600760008154610cfb9061230b565b919050819055505b3460086000610d106114ed565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254610d599190612286565b925050819055503460066000828254610d729190612286565b92505081905550610d816114ed565b73ffffffffffffffffffffffffffffffffffffffff167f36c7c98dfe7e045d8de3e3a8ef7280d623eeb82e7ac5f92d4854297dd078130534600654604051610dca929190612354565b60405180910390a26000600560146101000a81548160ff021916908315150217905550565b60075481565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b610e456114ed565b73ffffffffffffffffffffffffffffffffffffffff16610e63610ed1565b73ffffffffffffffffffffffffffffffffffffffff1614610eb9576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610eb0906120a5565b60405180910390fd5b610ec36000611941565b565b6000600a544211905090565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6d0d5fecc05694d4cae7a5a53c000081565b606060048054610f1c90612027565b80601f0160208091040260200160405190810160405280929190818152602001828054610f4890612027565b8015610f955780601f10610f6a57610100808354040283529160200191610f95565b820191906000526020600020905b815481529060010190602001808311610f7857829003601f168201915b5050505050905090565b60008060016000610fae6114ed565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490508281101561106b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611062906123ef565b60405180910390fd5b61107f6110766114ed565b858584036114f5565b600191505092915050565b6110926114ed565b73ffffffffffffffffffffffffffffffffffffffff166110b0610ed1565b73ffffffffffffffffffffffffffffffffffffffff1614611106576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110fd906120a5565b60405180910390fd5b600560149054906101000a900460ff161561114657600560149054906101000a900460ff1615600560146101000a81548160ff0219169083151502179055505b565b600a5481565b600061116261115b6114ed565b84846116c0565b6001905092915050565b600560149054906101000a900460ff16156111b3576040517f9396d15600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600560146101000a81548160ff021916908315150217905550600a5442101561120a576040517fb0e9ce1e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000600860006112186114ed565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490506000811415611290576040517f65c7efcc00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600060065460026d0d5fecc05694d4cae7a5a53c00006112b09190612169565b836112bb919061219a565b6112c59190612169565b90506000600860006112d56114ed565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506113253061131f6114ed565b836116c0565b50506000600560146101000a81548160ff021916908315150217905550565b60065481565b60026d0d5fecc05694d4cae7a5a53c00006113659190612169565b81565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b60095481565b6113fd6114ed565b73ffffffffffffffffffffffffffffffffffffffff1661141b610ed1565b73ffffffffffffffffffffffffffffffffffffffff1614611471576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611468906120a5565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614156114e1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114d890612481565b60405180910390fd5b6114ea81611941565b50565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611565576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161155c90612513565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156115d5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115cc906125a5565b60405180910390fd5b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516116b39190611c39565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611730576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161172790612637565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156117a0576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611797906126c9565b60405180910390fd5b6117ab838383611a07565b60008060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905081811015611831576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118289061275b565b60405180910390fd5b8181036000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546118c49190612286565b925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516119289190611c39565b60405180910390a361193b848484611a0c565b50505050565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b505050565b505050565b600081519050919050565b600082825260208201905092915050565b60005b83811015611a4b578082015181840152602081019050611a30565b83811115611a5a576000848401525b50505050565b6000601f19601f8301169050919050565b6000611a7c82611a11565b611a868185611a1c565b9350611a96818560208601611a2d565b611a9f81611a60565b840191505092915050565b60006020820190508181036000830152611ac48184611a71565b905092915050565b6000604051905090565b600080fd5b600080fd5b6000819050919050565b611af381611ae0565b8114611afe57600080fd5b50565b600081359050611b1081611aea565b92915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000611b4182611b16565b9050919050565b611b5181611b36565b8114611b5c57600080fd5b50565b600081359050611b6e81611b48565b92915050565b60008060408385031215611b8b57611b8a611ad6565b5b6000611b9985828601611b01565b9250506020611baa85828601611b5f565b9150509250929050565b60008060408385031215611bcb57611bca611ad6565b5b6000611bd985828601611b5f565b9250506020611bea85828601611b01565b9150509250929050565b60008115159050919050565b611c0981611bf4565b82525050565b6000602082019050611c246000830184611c00565b92915050565b611c3381611ae0565b82525050565b6000602082019050611c4e6000830184611c2a565b92915050565b600080600060608486031215611c6d57611c6c611ad6565b5b6000611c7b86828701611b5f565b9350506020611c8c86828701611b5f565b9250506040611c9d86828701611b01565b9150509250925092565b600060ff82169050919050565b611cbd81611ca7565b82525050565b6000602082019050611cd86000830184611cb4565b92915050565b600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b611d1b82611a60565b810181811067ffffffffffffffff82111715611d3a57611d39611ce3565b5b80604052505050565b6000611d4d611acc565b9050611d598282611d12565b919050565b600067ffffffffffffffff821115611d7957611d78611ce3565b5b602082029050602081019050919050565b600080fd5b6000611da2611d9d84611d5e565b611d43565b90508083825260208201905060208402830185811115611dc557611dc4611d8a565b5b835b81811015611dee5780611dda8882611b5f565b845260208401935050602081019050611dc7565b5050509392505050565b600082601f830112611e0d57611e0c611cde565b5b8135611e1d848260208601611d8f565b91505092915050565b600067ffffffffffffffff821115611e4157611e40611ce3565b5b602082029050602081019050919050565b6000611e65611e6084611e26565b611d43565b90508083825260208201905060208402830185811115611e8857611e87611d8a565b5b835b81811015611eb15780611e9d8882611b01565b845260208401935050602081019050611e8a565b5050509392505050565b600082601f830112611ed057611ecf611cde565b5b8135611ee0848260208601611e52565b91505092915050565b60008060408385031215611f0057611eff611ad6565b5b600083013567ffffffffffffffff811115611f1e57611f1d611adb565b5b611f2a85828601611df8565b925050602083013567ffffffffffffffff811115611f4b57611f4a611adb565b5b611f5785828601611ebb565b9150509250929050565b600060208284031215611f7757611f76611ad6565b5b6000611f8584828501611b5f565b91505092915050565b611f9781611b36565b82525050565b6000602082019050611fb26000830184611f8e565b92915050565b60008060408385031215611fcf57611fce611ad6565b5b6000611fdd85828601611b5f565b9250506020611fee85828601611b5f565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000600282049050600182168061203f57607f821691505b6020821081141561205357612052611ff8565b5b50919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b600061208f602083611a1c565b915061209a82612059565b602082019050919050565b600060208201905081810360008301526120be81612082565b9050919050565b600081905092915050565b50565b60006120e06000836120c5565b91506120eb826120d0565b600082019050919050565b6000612101826120d3565b9150819050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600061217482611ae0565b915061217f83611ae0565b92508261218f5761218e61210b565b5b828204905092915050565b60006121a582611ae0565b91506121b083611ae0565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff04831182151516156121e9576121e861213a565b5b828202905092915050565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206160008201527f6c6c6f77616e6365000000000000000000000000000000000000000000000000602082015250565b6000612250602883611a1c565b915061225b826121f4565b604082019050919050565b6000602082019050818103600083015261227f81612243565b9050919050565b600061229182611ae0565b915061229c83611ae0565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff038211156122d1576122d061213a565b5b828201905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600061231682611ae0565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8214156123495761234861213a565b5b600182019050919050565b60006040820190506123696000830185611c2a565b6123766020830184611c2a565b9392505050565b7f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760008201527f207a65726f000000000000000000000000000000000000000000000000000000602082015250565b60006123d9602583611a1c565b91506123e48261237d565b604082019050919050565b60006020820190508181036000830152612408816123cc565b9050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b600061246b602683611a1c565b91506124768261240f565b604082019050919050565b6000602082019050818103600083015261249a8161245e565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b60006124fd602483611a1c565b9150612508826124a1565b604082019050919050565b6000602082019050818103600083015261252c816124f0565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b600061258f602283611a1c565b915061259a82612533565b604082019050919050565b600060208201905081810360008301526125be81612582565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b6000612621602583611a1c565b915061262c826125c5565b604082019050919050565b6000602082019050818103600083015261265081612614565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b60006126b3602383611a1c565b91506126be82612657565b604082019050919050565b600060208201905081810360008301526126e2816126a6565b9050919050565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206260008201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b6000612745602683611a1c565b9150612750826126e9565b604082019050919050565b6000602082019050818103600083015261277481612738565b905091905056fea26469706673582212208538de923a979f53e00812f2dff68fb6137cf86c08569d4b9d9363c8024e9ad464736f6c634300080c0033
Deployed Bytecode Sourcemap
20043:2938:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6655:100;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;22459:189;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;8822:169;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7775:108;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;21756:246;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9473:492;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7617:93;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10374:215;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;22656:322;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;20341:51;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;21310:438;;;:::i;:::-;;20303:31;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7946:127;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;18329:103;;;;;;;;;;;;;:::i;:::-;;21092:105;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;17678:87;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;20116:71;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6874:104;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11092:413;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;21205:97;;;;;;;;;;;;;:::i;:::-;;20450:40;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8286:175;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;22010:441;;;;;;;;;;;;;:::i;:::-;;20258:38;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;20194:54;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8524:151;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;20401:42;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;18587:201;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;6655:100;6709:13;6742:5;6735:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6655:100;:::o;22459:189::-;17909:12;:10;:12::i;:::-;17898:23;;:7;:5;:7::i;:::-;:23;;;17890:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;22543:7:::1;22564:8;22556:22;;22586:6;22556:41;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;22542:55;;;22613:2;22608:32;;22624:16;;;;;;;;;;;;;;22608:32;22531:117;22459:189:::0;;:::o;8822:169::-;8905:4;8922:39;8931:12;:10;:12::i;:::-;8945:7;8954:6;8922:8;:39::i;:::-;8979:4;8972:11;;8822:169;;;;:::o;7775:108::-;7836:7;7863:12;;7856:19;;7775:108;:::o;21756:246::-;21803:4;21820:20;21843:16;:30;21860:12;:10;:12::i;:::-;21843:30;;;;;;;;;;;;;;;;21820:53;;21903:1;21888:12;:16;21884:91;;;21956:19;;20247:1;20155:32;20232:16;;;;:::i;:::-;21927:12;:26;;;;:::i;:::-;:48;;;;:::i;:::-;21920:55;;;;;21884:91;21993:1;21986:8;;;21756:246;;:::o;9473:492::-;9613:4;9630:36;9640:6;9648:9;9659:6;9630:9;:36::i;:::-;9679:24;9706:11;:19;9718:6;9706:19;;;;;;;;;;;;;;;:33;9726:12;:10;:12::i;:::-;9706:33;;;;;;;;;;;;;;;;9679:60;;9778:6;9758:16;:26;;9750:79;;;;;;;;;;;;:::i;:::-;;;;;;;;;9865:57;9874:6;9882:12;:10;:12::i;:::-;9915:6;9896:16;:25;9865:8;:57::i;:::-;9953:4;9946:11;;;9473:492;;;;;:::o;7617:93::-;7675:5;7700:2;7693:9;;7617:93;:::o;10374:215::-;10462:4;10479:80;10488:12;:10;:12::i;:::-;10502:7;10548:10;10511:11;:25;10523:12;:10;:12::i;:::-;10511:25;;;;;;;;;;;;;;;:34;10537:7;10511:34;;;;;;;;;;;;;;;;:47;;;;:::i;:::-;10479:8;:80::i;:::-;10577:4;10570:11;;10374:215;;;;:::o;22656:322::-;17909:12;:10;:12::i;:::-;17898:23;;:7;:5;:7::i;:::-;:23;;;17890:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;22787:7:::1;:14;22767:9;:16;:34;22763:73;;22810:26;;;;;;;;;;;;;;22763:73;22852:9;22847:124;22871:9;:16;22867:1;:20;22847:124;;;22909:50;22927:4;22934:9;22944:1;22934:12;;;;;;;;:::i;:::-;;;;;;;;22948:7;22956:1;22948:10;;;;;;;;:::i;:::-;;;;;;;;22909:9;:50::i;:::-;22889:3;;;;;:::i;:::-;;;;22847:124;;;;22656:322:::0;;:::o;20341:51::-;;;;;;;;;;;;;;;;;:::o;21310:438::-;20876:6;;;;;;;;;;;20872:34;;;20892:14;;;;;;;;;;;;;;20872:34;20926:4;20917:6;;:13;;;;;;;;;;;;;;;;;;21393:14:::1;;21375:15;:32;:66;;;;21429:12;;21411:15;:30;21375:66;21371:109;;;21464:16;;;;;;;;;;;;;;21371:109;21529:1;21495:16;:30;21512:12;:10;:12::i;:::-;21495:30;;;;;;;;;;;;;;;;:35;21491:69;;;21548:12;;21546:14;;;;;:::i;:::-;;;;;;;;21491:69;21605:9;21571:16;:30;21588:12;:10;:12::i;:::-;21571:30;;;;;;;;;;;;;;;;:43;;;;;;;:::i;:::-;;;;;;;;21648:9;21625:19;;:32;;;;;;;:::i;:::-;;;;;;;;21695:12;:10;:12::i;:::-;21675:65;;;21709:9;21720:19;;21675:65;;;;;;;:::i;:::-;;;;;;;;20962:5:::0;20953:6;;:14;;;;;;;;;;;;;;;;;;21310:438::o;20303:31::-;;;;:::o;7946:127::-;8020:7;8047:9;:18;8057:7;8047:18;;;;;;;;;;;;;;;;8040:25;;7946:127;;;:::o;18329:103::-;17909:12;:10;:12::i;:::-;17898:23;;:7;:5;:7::i;:::-;:23;;;17890:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;18394:30:::1;18421:1;18394:18;:30::i;:::-;18329:103::o:0;21092:105::-;21135:4;21177:12;;21159:15;:30;21152:37;;21092:105;:::o;17678:87::-;17724:7;17751:6;;;;;;;;;;;17744:13;;17678:87;:::o;20116:71::-;20155:32;20116:71;:::o;6874:104::-;6930:13;6963:7;6956:14;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6874:104;:::o;11092:413::-;11185:4;11202:24;11229:11;:25;11241:12;:10;:12::i;:::-;11229:25;;;;;;;;;;;;;;;:34;11255:7;11229:34;;;;;;;;;;;;;;;;11202:61;;11302:15;11282:16;:35;;11274:85;;;;;;;;;;;;:::i;:::-;;;;;;;;;11395:67;11404:12;:10;:12::i;:::-;11418:7;11446:15;11427:16;:34;11395:8;:67::i;:::-;11493:4;11486:11;;;11092:413;;;;:::o;21205:97::-;17909:12;:10;:12::i;:::-;17898:23;;:7;:5;:7::i;:::-;:23;;;17890:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;21255:6:::1;;;;;;;;;;;21251:43;;;21288:6;;;;;;;;;;;21286:8;21277:6;;:17;;;;;;;;;;;;;;;;;;21251:43;21205:97::o:0;20450:40::-;;;;:::o;8286:175::-;8372:4;8389:42;8399:12;:10;:12::i;:::-;8413:9;8424:6;8389:9;:42::i;:::-;8449:4;8442:11;;8286:175;;;;:::o;22010:441::-;20876:6;;;;;;;;;;;20872:34;;;20892:14;;;;;;;;;;;;;;20872:34;20926:4;20917:6;;:13;;;;;;;;;;;;;;;;;;22088:12:::1;;22070:15;:30;22066:60;;;22109:17;;;;;;;;;;;;;;22066:60;22137:20;22160:16;:30;22177:12;:10;:12::i;:::-;22160:30;;;;;;;;;;;;;;;;22137:53;;22221:1;22205:12;:17;22201:46;;;22231:16;;;;;;;;;;;;;;22201:46;22258:23;22313:19;;20247:1;20155:32;20232:16;;;;:::i;:::-;22284:12;:26;;;;:::i;:::-;:48;;;;:::i;:::-;22258:74;;22376:1;22343:16;:30;22360:12;:10;:12::i;:::-;22343:30;;;;;;;;;;;;;;;:34;;;;22388:55;22406:4;22413:12;:10;:12::i;:::-;22427:15;22388:9;:55::i;:::-;22055:396;;20962:5:::0;20953:6;;:14;;;;;;;;;;;;;;;;;;22010:441::o;20258:38::-;;;;:::o;20194:54::-;20247:1;20155:32;20232:16;;;;:::i;:::-;20194:54;:::o;8524:151::-;8613:7;8640:11;:18;8652:5;8640:18;;;;;;;;;;;;;;;:27;8659:7;8640:27;;;;;;;;;;;;;;;;8633:34;;8524:151;;;;:::o;20401:42::-;;;;:::o;18587:201::-;17909:12;:10;:12::i;:::-;17898:23;;:7;:5;:7::i;:::-;:23;;;17890:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;18696:1:::1;18676:22;;:8;:22;;;;18668:73;;;;;;;;;;;;:::i;:::-;;;;;;;;;18752:28;18771:8;18752:18;:28::i;:::-;18587:201:::0;:::o;4310:98::-;4363:7;4390:10;4383:17;;4310:98;:::o;14776:380::-;14929:1;14912:19;;:5;:19;;;;14904:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;15010:1;14991:21;;:7;:21;;;;14983:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;15094:6;15064:11;:18;15076:5;15064:18;;;;;;;;;;;;;;;:27;15083:7;15064:27;;;;;;;;;;;;;;;:36;;;;15132:7;15116:32;;15125:5;15116:32;;;15141:6;15116:32;;;;;;:::i;:::-;;;;;;;;14776:380;;;:::o;11995:733::-;12153:1;12135:20;;:6;:20;;;;12127:70;;;;;;;;;;;;:::i;:::-;;;;;;;;;12237:1;12216:23;;:9;:23;;;;12208:71;;;;;;;;;;;;:::i;:::-;;;;;;;;;12292:47;12313:6;12321:9;12332:6;12292:20;:47::i;:::-;12352:21;12376:9;:17;12386:6;12376:17;;;;;;;;;;;;;;;;12352:41;;12429:6;12412:13;:23;;12404:74;;;;;;;;;;;;:::i;:::-;;;;;;;;;12550:6;12534:13;:22;12514:9;:17;12524:6;12514:17;;;;;;;;;;;;;;;:42;;;;12602:6;12578:9;:20;12588:9;12578:20;;;;;;;;;;;;;;;;:30;;;;;;;:::i;:::-;;;;;;;;12643:9;12626:35;;12635:6;12626:35;;;12654:6;12626:35;;;;;;:::i;:::-;;;;;;;;12674:46;12694:6;12702:9;12713:6;12674:19;:46::i;:::-;12116:612;11995:733;;;:::o;18948:191::-;19022:16;19041:6;;;;;;;;;;;19022:25;;19067:8;19058:6;;:17;;;;;;;;;;;;;;;;;;19122:8;19091:40;;19112:8;19091:40;;;;;;;;;;;;19011:128;18948:191;:::o;15756:125::-;;;;:::o;16485:124::-;;;;:::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:307::-;355:1;365:113;379:6;376:1;373:13;365:113;;;464:1;459:3;455:11;449:18;445:1;440:3;436:11;429:39;401:2;398:1;394:10;389:15;;365:113;;;496:6;493:1;490:13;487:101;;;576:1;567:6;562:3;558:16;551:27;487:101;336:258;287:307;;;:::o;600:102::-;641:6;692:2;688:7;683:2;676:5;672:14;668:28;658:38;;600:102;;;:::o;708:364::-;796:3;824:39;857:5;824:39;:::i;:::-;879:71;943:6;938:3;879:71;:::i;:::-;872:78;;959:52;1004:6;999:3;992:4;985:5;981:16;959:52;:::i;:::-;1036:29;1058:6;1036:29;:::i;:::-;1031:3;1027:39;1020:46;;800:272;708:364;;;;:::o;1078:313::-;1191:4;1229:2;1218:9;1214:18;1206:26;;1278:9;1272:4;1268:20;1264:1;1253:9;1249:17;1242:47;1306:78;1379:4;1370:6;1306:78;:::i;:::-;1298:86;;1078:313;;;;:::o;1397:75::-;1430:6;1463:2;1457:9;1447:19;;1397:75;:::o;1478:117::-;1587:1;1584;1577:12;1601:117;1710:1;1707;1700:12;1724:77;1761:7;1790:5;1779:16;;1724:77;;;:::o;1807:122::-;1880:24;1898:5;1880:24;:::i;:::-;1873:5;1870:35;1860:63;;1919:1;1916;1909:12;1860:63;1807:122;:::o;1935:139::-;1981:5;2019:6;2006:20;1997:29;;2035:33;2062:5;2035:33;:::i;:::-;1935:139;;;;:::o;2080:126::-;2117:7;2157:42;2150:5;2146:54;2135:65;;2080:126;;;:::o;2212:96::-;2249:7;2278:24;2296:5;2278:24;:::i;:::-;2267:35;;2212:96;;;:::o;2314:122::-;2387:24;2405:5;2387:24;:::i;:::-;2380:5;2377:35;2367:63;;2426:1;2423;2416:12;2367:63;2314:122;:::o;2442:139::-;2488:5;2526:6;2513:20;2504:29;;2542:33;2569:5;2542:33;:::i;:::-;2442:139;;;;:::o;2587:474::-;2655:6;2663;2712:2;2700:9;2691:7;2687:23;2683:32;2680:119;;;2718:79;;:::i;:::-;2680:119;2838:1;2863:53;2908:7;2899:6;2888:9;2884:22;2863:53;:::i;:::-;2853:63;;2809:117;2965:2;2991:53;3036:7;3027:6;3016:9;3012:22;2991:53;:::i;:::-;2981:63;;2936:118;2587:474;;;;;:::o;3067:::-;3135:6;3143;3192:2;3180:9;3171:7;3167:23;3163:32;3160:119;;;3198:79;;:::i;:::-;3160:119;3318:1;3343:53;3388:7;3379:6;3368:9;3364:22;3343:53;:::i;:::-;3333:63;;3289:117;3445:2;3471:53;3516:7;3507:6;3496:9;3492:22;3471:53;:::i;:::-;3461:63;;3416:118;3067:474;;;;;:::o;3547:90::-;3581:7;3624:5;3617:13;3610:21;3599:32;;3547:90;;;:::o;3643:109::-;3724:21;3739:5;3724:21;:::i;:::-;3719:3;3712:34;3643:109;;:::o;3758:210::-;3845:4;3883:2;3872:9;3868:18;3860:26;;3896:65;3958:1;3947:9;3943:17;3934:6;3896:65;:::i;:::-;3758:210;;;;:::o;3974:118::-;4061:24;4079:5;4061:24;:::i;:::-;4056:3;4049:37;3974:118;;:::o;4098:222::-;4191:4;4229:2;4218:9;4214:18;4206:26;;4242:71;4310:1;4299:9;4295:17;4286:6;4242:71;:::i;:::-;4098:222;;;;:::o;4326:619::-;4403:6;4411;4419;4468:2;4456:9;4447:7;4443:23;4439:32;4436:119;;;4474:79;;:::i;:::-;4436:119;4594:1;4619:53;4664:7;4655:6;4644:9;4640:22;4619:53;:::i;:::-;4609:63;;4565:117;4721:2;4747:53;4792:7;4783:6;4772:9;4768:22;4747:53;:::i;:::-;4737:63;;4692:118;4849:2;4875:53;4920:7;4911:6;4900:9;4896:22;4875:53;:::i;:::-;4865:63;;4820:118;4326:619;;;;;:::o;4951:86::-;4986:7;5026:4;5019:5;5015:16;5004:27;;4951:86;;;:::o;5043:112::-;5126:22;5142:5;5126:22;:::i;:::-;5121:3;5114:35;5043:112;;:::o;5161:214::-;5250:4;5288:2;5277:9;5273:18;5265:26;;5301:67;5365:1;5354:9;5350:17;5341:6;5301:67;:::i;:::-;5161:214;;;;:::o;5381:117::-;5490:1;5487;5480:12;5504:180;5552:77;5549:1;5542:88;5649:4;5646:1;5639:15;5673:4;5670:1;5663:15;5690:281;5773:27;5795:4;5773:27;:::i;:::-;5765:6;5761:40;5903:6;5891:10;5888:22;5867:18;5855:10;5852:34;5849:62;5846:88;;;5914:18;;:::i;:::-;5846:88;5954:10;5950:2;5943:22;5733:238;5690:281;;:::o;5977:129::-;6011:6;6038:20;;:::i;:::-;6028:30;;6067:33;6095:4;6087:6;6067:33;:::i;:::-;5977:129;;;:::o;6112:311::-;6189:4;6279:18;6271:6;6268:30;6265:56;;;6301:18;;:::i;:::-;6265:56;6351:4;6343:6;6339:17;6331:25;;6411:4;6405;6401:15;6393:23;;6112:311;;;:::o;6429:117::-;6538:1;6535;6528:12;6569:710;6665:5;6690:81;6706:64;6763:6;6706:64;:::i;:::-;6690:81;:::i;:::-;6681:90;;6791:5;6820:6;6813:5;6806:21;6854:4;6847:5;6843:16;6836:23;;6907:4;6899:6;6895:17;6887:6;6883:30;6936:3;6928:6;6925:15;6922:122;;;6955:79;;:::i;:::-;6922:122;7070:6;7053:220;7087:6;7082:3;7079:15;7053:220;;;7162:3;7191:37;7224:3;7212:10;7191:37;:::i;:::-;7186:3;7179:50;7258:4;7253:3;7249:14;7242:21;;7129:144;7113:4;7108:3;7104:14;7097:21;;7053:220;;;7057:21;6671:608;;6569:710;;;;;:::o;7302:370::-;7373:5;7422:3;7415:4;7407:6;7403:17;7399:27;7389:122;;7430:79;;:::i;:::-;7389:122;7547:6;7534:20;7572:94;7662:3;7654:6;7647:4;7639:6;7635:17;7572:94;:::i;:::-;7563:103;;7379:293;7302:370;;;;:::o;7678:311::-;7755:4;7845:18;7837:6;7834:30;7831:56;;;7867:18;;:::i;:::-;7831:56;7917:4;7909:6;7905:17;7897:25;;7977:4;7971;7967:15;7959:23;;7678:311;;;:::o;8012:710::-;8108:5;8133:81;8149:64;8206:6;8149:64;:::i;:::-;8133:81;:::i;:::-;8124:90;;8234:5;8263:6;8256:5;8249:21;8297:4;8290:5;8286:16;8279:23;;8350:4;8342:6;8338:17;8330:6;8326:30;8379:3;8371:6;8368:15;8365:122;;;8398:79;;:::i;:::-;8365:122;8513:6;8496:220;8530:6;8525:3;8522:15;8496:220;;;8605:3;8634:37;8667:3;8655:10;8634:37;:::i;:::-;8629:3;8622:50;8701:4;8696:3;8692:14;8685:21;;8572:144;8556:4;8551:3;8547:14;8540:21;;8496:220;;;8500:21;8114:608;;8012:710;;;;;:::o;8745:370::-;8816:5;8865:3;8858:4;8850:6;8846:17;8842:27;8832:122;;8873:79;;:::i;:::-;8832:122;8990:6;8977:20;9015:94;9105:3;9097:6;9090:4;9082:6;9078:17;9015:94;:::i;:::-;9006:103;;8822:293;8745:370;;;;:::o;9121:894::-;9239:6;9247;9296:2;9284:9;9275:7;9271:23;9267:32;9264:119;;;9302:79;;:::i;:::-;9264:119;9450:1;9439:9;9435:17;9422:31;9480:18;9472:6;9469:30;9466:117;;;9502:79;;:::i;:::-;9466:117;9607:78;9677:7;9668:6;9657:9;9653:22;9607:78;:::i;:::-;9597:88;;9393:302;9762:2;9751:9;9747:18;9734:32;9793:18;9785:6;9782:30;9779:117;;;9815:79;;:::i;:::-;9779:117;9920:78;9990:7;9981:6;9970:9;9966:22;9920:78;:::i;:::-;9910:88;;9705:303;9121:894;;;;;:::o;10021:329::-;10080:6;10129:2;10117:9;10108:7;10104:23;10100:32;10097:119;;;10135:79;;:::i;:::-;10097:119;10255:1;10280:53;10325:7;10316:6;10305:9;10301:22;10280:53;:::i;:::-;10270:63;;10226:117;10021:329;;;;:::o;10356:118::-;10443:24;10461:5;10443:24;:::i;:::-;10438:3;10431:37;10356:118;;:::o;10480:222::-;10573:4;10611:2;10600:9;10596:18;10588:26;;10624:71;10692:1;10681:9;10677:17;10668:6;10624:71;:::i;:::-;10480:222;;;;:::o;10708:474::-;10776:6;10784;10833:2;10821:9;10812:7;10808:23;10804:32;10801:119;;;10839:79;;:::i;:::-;10801:119;10959:1;10984:53;11029:7;11020:6;11009:9;11005:22;10984:53;:::i;:::-;10974:63;;10930:117;11086:2;11112:53;11157:7;11148:6;11137:9;11133:22;11112:53;:::i;:::-;11102:63;;11057:118;10708:474;;;;;:::o;11188:180::-;11236:77;11233:1;11226:88;11333:4;11330:1;11323:15;11357:4;11354:1;11347:15;11374:320;11418:6;11455:1;11449:4;11445:12;11435:22;;11502:1;11496:4;11492:12;11523:18;11513:81;;11579:4;11571:6;11567:17;11557:27;;11513:81;11641:2;11633:6;11630:14;11610:18;11607:38;11604:84;;;11660:18;;:::i;:::-;11604:84;11425:269;11374:320;;;:::o;11700:182::-;11840:34;11836:1;11828:6;11824:14;11817:58;11700:182;:::o;11888:366::-;12030:3;12051:67;12115:2;12110:3;12051:67;:::i;:::-;12044:74;;12127:93;12216:3;12127:93;:::i;:::-;12245:2;12240:3;12236:12;12229:19;;11888:366;;;:::o;12260:419::-;12426:4;12464:2;12453:9;12449:18;12441:26;;12513:9;12507:4;12503:20;12499:1;12488:9;12484:17;12477:47;12541:131;12667:4;12541:131;:::i;:::-;12533:139;;12260:419;;;:::o;12685:147::-;12786:11;12823:3;12808:18;;12685:147;;;;:::o;12838:114::-;;:::o;12958:398::-;13117:3;13138:83;13219:1;13214:3;13138:83;:::i;:::-;13131:90;;13230:93;13319:3;13230:93;:::i;:::-;13348:1;13343:3;13339:11;13332:18;;12958:398;;;:::o;13362:379::-;13546:3;13568:147;13711:3;13568:147;:::i;:::-;13561:154;;13732:3;13725:10;;13362:379;;;:::o;13747:180::-;13795:77;13792:1;13785:88;13892:4;13889:1;13882:15;13916:4;13913:1;13906:15;13933:180;13981:77;13978:1;13971:88;14078:4;14075:1;14068:15;14102:4;14099:1;14092:15;14119:185;14159:1;14176:20;14194:1;14176:20;:::i;:::-;14171:25;;14210:20;14228:1;14210:20;:::i;:::-;14205:25;;14249:1;14239:35;;14254:18;;:::i;:::-;14239:35;14296:1;14293;14289:9;14284:14;;14119:185;;;;:::o;14310:348::-;14350:7;14373:20;14391:1;14373:20;:::i;:::-;14368:25;;14407:20;14425:1;14407:20;:::i;:::-;14402:25;;14595:1;14527:66;14523:74;14520:1;14517:81;14512:1;14505:9;14498:17;14494:105;14491:131;;;14602:18;;:::i;:::-;14491:131;14650:1;14647;14643:9;14632:20;;14310:348;;;;:::o;14664:227::-;14804:34;14800:1;14792:6;14788:14;14781:58;14873:10;14868:2;14860:6;14856:15;14849:35;14664:227;:::o;14897:366::-;15039:3;15060:67;15124:2;15119:3;15060:67;:::i;:::-;15053:74;;15136:93;15225:3;15136:93;:::i;:::-;15254:2;15249:3;15245:12;15238:19;;14897:366;;;:::o;15269:419::-;15435:4;15473:2;15462:9;15458:18;15450:26;;15522:9;15516:4;15512:20;15508:1;15497:9;15493:17;15486:47;15550:131;15676:4;15550:131;:::i;:::-;15542:139;;15269:419;;;:::o;15694:305::-;15734:3;15753:20;15771:1;15753:20;:::i;:::-;15748:25;;15787:20;15805:1;15787:20;:::i;:::-;15782:25;;15941:1;15873:66;15869:74;15866:1;15863:81;15860:107;;;15947:18;;:::i;:::-;15860:107;15991:1;15988;15984:9;15977:16;;15694:305;;;;:::o;16005:180::-;16053:77;16050:1;16043:88;16150:4;16147:1;16140:15;16174:4;16171:1;16164:15;16191:233;16230:3;16253:24;16271:5;16253:24;:::i;:::-;16244:33;;16299:66;16292:5;16289:77;16286:103;;;16369:18;;:::i;:::-;16286:103;16416:1;16409:5;16405:13;16398:20;;16191:233;;;:::o;16430:332::-;16551:4;16589:2;16578:9;16574:18;16566:26;;16602:71;16670:1;16659:9;16655:17;16646:6;16602:71;:::i;:::-;16683:72;16751:2;16740:9;16736:18;16727:6;16683:72;:::i;:::-;16430:332;;;;;:::o;16768:224::-;16908:34;16904:1;16896:6;16892:14;16885:58;16977:7;16972:2;16964:6;16960:15;16953:32;16768:224;:::o;16998:366::-;17140:3;17161:67;17225:2;17220:3;17161:67;:::i;:::-;17154:74;;17237:93;17326:3;17237:93;:::i;:::-;17355:2;17350:3;17346:12;17339:19;;16998:366;;;:::o;17370:419::-;17536:4;17574:2;17563:9;17559:18;17551:26;;17623:9;17617:4;17613:20;17609:1;17598:9;17594:17;17587:47;17651:131;17777:4;17651:131;:::i;:::-;17643:139;;17370:419;;;:::o;17795:225::-;17935:34;17931:1;17923:6;17919:14;17912:58;18004:8;17999:2;17991:6;17987:15;17980:33;17795:225;:::o;18026:366::-;18168:3;18189:67;18253:2;18248:3;18189:67;:::i;:::-;18182:74;;18265:93;18354:3;18265:93;:::i;:::-;18383:2;18378:3;18374:12;18367:19;;18026:366;;;:::o;18398:419::-;18564:4;18602:2;18591:9;18587:18;18579:26;;18651:9;18645:4;18641:20;18637:1;18626:9;18622:17;18615:47;18679:131;18805:4;18679:131;:::i;:::-;18671:139;;18398:419;;;:::o;18823:223::-;18963:34;18959:1;18951:6;18947:14;18940:58;19032:6;19027:2;19019:6;19015:15;19008:31;18823:223;:::o;19052:366::-;19194:3;19215:67;19279:2;19274:3;19215:67;:::i;:::-;19208:74;;19291:93;19380:3;19291:93;:::i;:::-;19409:2;19404:3;19400:12;19393:19;;19052:366;;;:::o;19424:419::-;19590:4;19628:2;19617:9;19613:18;19605:26;;19677:9;19671:4;19667:20;19663:1;19652:9;19648:17;19641:47;19705:131;19831:4;19705:131;:::i;:::-;19697:139;;19424:419;;;:::o;19849:221::-;19989:34;19985:1;19977:6;19973:14;19966:58;20058:4;20053:2;20045:6;20041:15;20034:29;19849:221;:::o;20076:366::-;20218:3;20239:67;20303:2;20298:3;20239:67;:::i;:::-;20232:74;;20315:93;20404:3;20315:93;:::i;:::-;20433:2;20428:3;20424:12;20417:19;;20076:366;;;:::o;20448:419::-;20614:4;20652:2;20641:9;20637:18;20629:26;;20701:9;20695:4;20691:20;20687:1;20676:9;20672:17;20665:47;20729:131;20855:4;20729:131;:::i;:::-;20721:139;;20448:419;;;:::o;20873:224::-;21013:34;21009:1;21001:6;20997:14;20990:58;21082:7;21077:2;21069:6;21065:15;21058:32;20873:224;:::o;21103:366::-;21245:3;21266:67;21330:2;21325:3;21266:67;:::i;:::-;21259:74;;21342:93;21431:3;21342:93;:::i;:::-;21460:2;21455:3;21451:12;21444:19;;21103:366;;;:::o;21475:419::-;21641:4;21679:2;21668:9;21664:18;21656:26;;21728:9;21722:4;21718:20;21714:1;21703:9;21699:17;21692:47;21756:131;21882:4;21756:131;:::i;:::-;21748:139;;21475:419;;;:::o;21900:222::-;22040:34;22036:1;22028:6;22024:14;22017:58;22109:5;22104:2;22096:6;22092:15;22085:30;21900:222;:::o;22128:366::-;22270:3;22291:67;22355:2;22350:3;22291:67;:::i;:::-;22284:74;;22367:93;22456:3;22367:93;:::i;:::-;22485:2;22480:3;22476:12;22469:19;;22128:366;;;:::o;22500:419::-;22666:4;22704:2;22693:9;22689:18;22681:26;;22753:9;22747:4;22743:20;22739:1;22728:9;22724:17;22717:47;22781:131;22907:4;22781:131;:::i;:::-;22773:139;;22500:419;;;:::o;22925:225::-;23065:34;23061:1;23053:6;23049:14;23042:58;23134:8;23129:2;23121:6;23117:15;23110:33;22925:225;:::o;23156:366::-;23298:3;23319:67;23383:2;23378:3;23319:67;:::i;:::-;23312:74;;23395:93;23484:3;23395:93;:::i;:::-;23513:2;23508:3;23504:12;23497:19;;23156:366;;;:::o;23528:419::-;23694:4;23732:2;23721:9;23717:18;23709:26;;23781:9;23775:4;23771:20;23767:1;23756:9;23752:17;23745:47;23809:131;23935:4;23809:131;:::i;:::-;23801:139;;23528:419;;;:::o
Swarm Source
ipfs://8538de923a979f53e00812f2dff68fb6137cf86c08569d4b9d9363c8024e9ad4
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.