Latest 25 from a total of 1,660 transactions
Transaction Hash |
Method
|
Block
|
From
|
To
|
|||||
---|---|---|---|---|---|---|---|---|---|
Transfer | 67052336 | 1 hr ago | IN | 0 POL | 0.0056355 | ||||
Transfer | 67051931 | 2 hrs ago | IN | 0 POL | 0.0035195 | ||||
Approve | 67028089 | 16 hrs ago | IN | 0 POL | 0.0014166 | ||||
Approve | 67022368 | 19 hrs ago | IN | 0 POL | 0.00191672 | ||||
Approve | 67022368 | 19 hrs ago | IN | 0 POL | 0.00191672 | ||||
Transfer | 67022292 | 19 hrs ago | IN | 0 POL | 0.00112584 | ||||
Approve | 66999879 | 33 hrs ago | IN | 0 POL | 0.00302146 | ||||
Approve | 66983365 | 43 hrs ago | IN | 0 POL | 0.00215083 | ||||
Transfer | 66980883 | 44 hrs ago | IN | 0 POL | 0.00387232 | ||||
Transfer | 66977975 | 46 hrs ago | IN | 0 POL | 0.00360503 | ||||
Approve | 66956970 | 2 days ago | IN | 0 POL | 0.00540757 | ||||
Approve | 66956970 | 2 days ago | IN | 0 POL | 0.00540757 | ||||
Approve | 66956970 | 2 days ago | IN | 0 POL | 0.00543117 | ||||
Approve | 66956970 | 2 days ago | IN | 0 POL | 0.00543117 | ||||
Transfer | 66938353 | 2 days ago | IN | 0 POL | 0.00442949 | ||||
Transfer | 66935275 | 3 days ago | IN | 0 POL | 0.00736586 | ||||
Approve | 66921393 | 3 days ago | IN | 0 POL | 0.00872958 | ||||
Approve | 66921393 | 3 days ago | IN | 0 POL | 0.00872958 | ||||
Approve | 66915324 | 3 days ago | IN | 0 POL | 0.00501809 | ||||
Approve | 66913512 | 3 days ago | IN | 0 POL | 0.00537006 | ||||
Approve | 66913512 | 3 days ago | IN | 0 POL | 0.00539367 | ||||
Transfer | 66910699 | 3 days ago | IN | 0 POL | 0.00835833 | ||||
Approve | 66902265 | 3 days ago | IN | 0 POL | 0.00489144 | ||||
Approve | 66892223 | 4 days ago | IN | 0 POL | 0.01768229 | ||||
Approve | 66892223 | 4 days ago | IN | 0 POL | 0.01794667 |
Loading...
Loading
Contract Source Code Verified (Exact Match)
Contract Name:
EADXToken
Compiler Version
v0.8.26+commit.8a97fa7a
Contract Source Code (Solidity)
/** *Submitted for verification at polygonscan.com on 2024-09-27 */ // SPDX-License-Identifier: MIT pragma solidity ^0.8.26; // File @openzeppelin/contracts/utils/Context.sol 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/access/Ownable.sol 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 renounceOwnership() public virtual onlyOwner { _transferOwnership(address(0)); } function transferOwnership(address newOwner) public virtual onlyOwner { require(newOwner != address(0), "Ownable: new owner is the zero address"); _transferOwnership(newOwner); } function _transferOwnership(address newOwner) internal virtual { address oldOwner = _owner; _owner = newOwner; emit OwnershipTransferred(oldOwner, newOwner); } } // File @openzeppelin/contracts/token/ERC20/IERC20.sol 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 value) external returns (bool); function allowance(address owner, address spender) external view returns (uint256); function approve(address spender, uint256 value) external returns (bool); function transferFrom(address from, address to, uint256 value) external returns (bool); } // File @openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.sol interface IERC20Metadata is IERC20 { function name() external view returns (string memory); function symbol() external view returns (string memory); function decimals() external view returns (uint8); } // File @openzeppelin/contracts/token/ERC20/ERC20.sol 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) { _transfer(_msgSender(), 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) { _approve(_msgSender(), spender, amount); return true; } function transferFrom(address from, address to, uint256 amount) public virtual override returns (bool) { _transfer(from, to, amount); uint256 currentAllowance = _allowances[from][_msgSender()]; require(currentAllowance >= amount, "ERC20: transfer amount exceeds allowance"); _approve(from, _msgSender(), currentAllowance - amount); return true; } function increaseAllowance(address spender, uint256 addedValue) public virtual returns (bool) { _approve(_msgSender(), spender, _allowances[_msgSender()][spender] + addedValue); return true; } function decreaseAllowance(address spender, uint256 subtractedValue) public virtual returns (bool) { uint256 currentAllowance = _allowances[_msgSender()][spender]; require(currentAllowance >= subtractedValue, "ERC20: decreased allowance below zero"); _approve(_msgSender(), spender, currentAllowance - subtractedValue); return true; } 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"); _balances[sender] = senderBalance - amount; _balances[recipient] += amount; emit Transfer(sender, recipient, amount); _afterTokenTransfer(sender, recipient, amount); } 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); } 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"); _balances[account] = accountBalance - amount; _totalSupply -= amount; emit Transfer(account, address(0), amount); _afterTokenTransfer(account, address(0), amount); } function _approve(address owner, address spender, uint256 amount) internal virtual { require(owner != address(0), "ERC20: approve from the zero address"); require(spender != address(0), "ERC20: approve to the zero address"); _allowances[owner][spender] = amount; emit Approval(owner, spender, amount); } function _beforeTokenTransfer(address from, address to, uint256 amount) internal virtual {} function _afterTokenTransfer(address from, address to, uint256 amount) internal virtual {} } contract EADXToken is Ownable, ERC20 { uint256 private constant TOTAL_SUPPLY = 21_000_000 * 1e18; mapping(address => bool) internal _initialWhitelist; bool public transfersEnabled; mapping(address => uint256) public vestingStart; mapping(address => uint256) public vestingDuration; mapping(address => uint256) public vestingCliff; mapping(address => uint256) public vestedAmounts; event AddressWhitelisted(address indexed user); event TransfersEnabled(); event VestingScheduled(address indexed beneficiary, uint256 start, uint256 cliff, uint256 duration); constructor() ERC20("EADX Token", "EDX") { transfersEnabled = true; _allowTransfersFor(msg.sender); _mint(msg.sender, TOTAL_SUPPLY); transfersEnabled = false; } function allowTransfersFor(address[] calldata users) external onlyOwner { require(!transfersEnabled, "Transfers are already enabled"); for (uint256 i = 0; i < users.length; i++) { _allowTransfersFor(users[i]); } } function enableTransfers() external onlyOwner { require(!transfersEnabled, "Transfers are already enabled"); transfersEnabled = true; emit TransfersEnabled(); } function isWhitelisted(address user) external view returns (bool) { return transfersEnabled ? false : _initialWhitelist[user]; } function decimals() public view virtual override returns (uint8) { return 18; } function _beforeTokenTransfer(address sender, address, uint256 amount) internal view override { if (!transfersEnabled) { require(_initialWhitelist[sender], "Transfers are disabled"); uint256 vested = _getVestedAmount(sender); require(vested >= amount, "Insufficient vested amount"); } } function _mint(address account, uint256 amount) internal virtual override { super._mint(account, amount); _scheduleVesting(account, block.timestamp + 30 days, 90 days, 365 days); // Example: schedule vesting for 1 year } function _allowTransfersFor(address user) internal { _initialWhitelist[user] = true; emit AddressWhitelisted(user); } function _scheduleVesting(address beneficiary, uint256 start, uint256 cliff, uint256 duration) internal { require(beneficiary != address(0), "Vesting: beneficiary is the zero address"); require(duration > 0, "Vesting: duration is 0"); require(cliff <= duration, "Vesting: cliff is longer than duration"); vestingStart[beneficiary] = start; vestingCliff[beneficiary] = start + cliff; vestingDuration[beneficiary] = duration; vestedAmounts[beneficiary] = 0; emit VestingScheduled(beneficiary, start, cliff, duration); } function _getVestedAmount(address beneficiary) internal view returns (uint256) { if (block.timestamp < vestingCliff[beneficiary]) { return 0; } else if (block.timestamp >= vestingStart[beneficiary] + vestingDuration[beneficiary]) { return balanceOf(beneficiary); } else { return balanceOf(beneficiary) * (block.timestamp - vestingStart[beneficiary]) / vestingDuration[beneficiary]; } } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"user","type":"address"}],"name":"AddressWhitelisted","type":"event"},{"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":"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"},{"anonymous":false,"inputs":[],"name":"TransfersEnabled","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"beneficiary","type":"address"},{"indexed":false,"internalType":"uint256","name":"start","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"cliff","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"duration","type":"uint256"}],"name":"VestingScheduled","type":"event"},{"inputs":[{"internalType":"address[]","name":"users","type":"address[]"}],"name":"allowTransfersFor","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"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":"enableTransfers","outputs":[],"stateMutability":"nonpayable","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":[{"internalType":"address","name":"user","type":"address"}],"name":"isWhitelisted","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":"renounceOwnership","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"},{"inputs":[],"name":"transfersEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"vestedAmounts","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"vestingCliff","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"vestingDuration","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"vestingStart","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"}]
Contract Creation Code
608060405234801561000f575f80fd5b506040518060400160405280600a81526020017f4541445820546f6b656e000000000000000000000000000000000000000000008152506040518060400160405280600381526020017f454458000000000000000000000000000000000000000000000000000000000081525061009861008d61011c60201b60201c565b61012360201b60201c565b81600490816100a79190610b9b565b5080600590816100b79190610b9b565b505050600160075f6101000a81548160ff0219169083151502179055506100e3336101e460201b60201c565b6100fe336a115eec47f6cf7e3500000061027f60201b60201c565b5f60075f6101000a81548160ff0219169083151502179055506110c4565b5f33905090565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050815f806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b600160065f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055508073ffffffffffffffffffffffffffffffffffffffff167f4f783c179409b4127238bc9c990bc99b9a651666a0d20b51d6c42849eb88466d60405160405180910390a250565b61028f82826102ba60201b60201c565b6102b68262278d00426102a29190610c97565b6276a7006301e1338061041e60201b60201c565b5050565b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610328576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161031f90610d24565b60405180910390fd5b6103395f838361067c60201b60201c565b8060035f82825461034a9190610c97565b925050819055508060015f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f82825461039d9190610c97565b925050819055508173ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516104019190610d51565b60405180910390a361041a5f838361077460201b60201c565b5050565b5f73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff160361048c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161048390610dda565b60405180910390fd5b5f81116104ce576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016104c590610e42565b60405180910390fd5b80821115610511576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161050890610ed0565b60405180910390fd5b8260085f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550818361055f9190610c97565b600a5f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508060095f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055505f600b5f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508373ffffffffffffffffffffffffffffffffffffffff167fefdc96d53dabdc78d235d1333622066a4e93e8c90c9a193b9deceb59b3cb87b384848460405161066e93929190610eee565b60405180910390a250505050565b60075f9054906101000a900460ff1661076f5760065f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16610718576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161070f90610f6d565b60405180910390fd5b5f6107288461077960201b60201c565b90508181101561076d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161076490610fd5565b60405180910390fd5b505b505050565b505050565b5f600a5f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20544210156107c7575f9050610916565b60095f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205460085f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461084d9190610c97565b4210610869576108628261091b60201b60201c565b9050610916565b60095f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205460085f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054426108f09190610ff3565b6108ff8461091b60201b60201c565b6109099190611026565b6109139190611094565b90505b919050565b5f60015f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b5f81519050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f60028204905060018216806109dc57607f821691505b6020821081036109ef576109ee610998565b5b50919050565b5f819050815f5260205f209050919050565b5f6020601f8301049050919050565b5f82821b905092915050565b5f60088302610a517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82610a16565b610a5b8683610a16565b95508019841693508086168417925050509392505050565b5f819050919050565b5f819050919050565b5f610a9f610a9a610a9584610a73565b610a7c565b610a73565b9050919050565b5f819050919050565b610ab883610a85565b610acc610ac482610aa6565b848454610a22565b825550505050565b5f90565b610ae0610ad4565b610aeb818484610aaf565b505050565b5b81811015610b0e57610b035f82610ad8565b600181019050610af1565b5050565b601f821115610b5357610b24816109f5565b610b2d84610a07565b81016020851015610b3c578190505b610b50610b4885610a07565b830182610af0565b50505b505050565b5f82821c905092915050565b5f610b735f1984600802610b58565b1980831691505092915050565b5f610b8b8383610b64565b9150826002028217905092915050565b610ba482610961565b67ffffffffffffffff811115610bbd57610bbc61096b565b5b610bc782546109c5565b610bd2828285610b12565b5f60209050601f831160018114610c03575f8415610bf1578287015190505b610bfb8582610b80565b865550610c62565b601f198416610c11866109f5565b5f5b82811015610c3857848901518255600182019150602085019450602081019050610c13565b86831015610c555784890151610c51601f891682610b64565b8355505b6001600288020188555050505b505050505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f610ca182610a73565b9150610cac83610a73565b9250828201905080821115610cc457610cc3610c6a565b5b92915050565b5f82825260208201905092915050565b7f45524332303a206d696e7420746f20746865207a65726f2061646472657373005f82015250565b5f610d0e601f83610cca565b9150610d1982610cda565b602082019050919050565b5f6020820190508181035f830152610d3b81610d02565b9050919050565b610d4b81610a73565b82525050565b5f602082019050610d645f830184610d42565b92915050565b7f56657374696e673a2062656e656669636961727920697320746865207a65726f5f8201527f2061646472657373000000000000000000000000000000000000000000000000602082015250565b5f610dc4602883610cca565b9150610dcf82610d6a565b604082019050919050565b5f6020820190508181035f830152610df181610db8565b9050919050565b7f56657374696e673a206475726174696f6e2069732030000000000000000000005f82015250565b5f610e2c601683610cca565b9150610e3782610df8565b602082019050919050565b5f6020820190508181035f830152610e5981610e20565b9050919050565b7f56657374696e673a20636c696666206973206c6f6e676572207468616e2064755f8201527f726174696f6e0000000000000000000000000000000000000000000000000000602082015250565b5f610eba602683610cca565b9150610ec582610e60565b604082019050919050565b5f6020820190508181035f830152610ee781610eae565b9050919050565b5f606082019050610f015f830186610d42565b610f0e6020830185610d42565b610f1b6040830184610d42565b949350505050565b7f5472616e7366657273206172652064697361626c6564000000000000000000005f82015250565b5f610f57601683610cca565b9150610f6282610f23565b602082019050919050565b5f6020820190508181035f830152610f8481610f4b565b9050919050565b7f496e73756666696369656e742076657374656420616d6f756e740000000000005f82015250565b5f610fbf601a83610cca565b9150610fca82610f8b565b602082019050919050565b5f6020820190508181035f830152610fec81610fb3565b9050919050565b5f610ffd82610a73565b915061100883610a73565b92508282039050818111156110205761101f610c6a565b5b92915050565b5f61103082610a73565b915061103b83610a73565b925082820261104981610a73565b915082820484148315176110605761105f610c6a565b5b5092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f61109e82610a73565b91506110a983610a73565b9250826110b9576110b8611067565b5b828204905092915050565b61204d806110d15f395ff3fe608060405234801561000f575f80fd5b5060043610610140575f3560e01c806376ca96c9116100b6578063a9059cbb1161007a578063a9059cbb146103b0578063af35c6c7146103e0578063bef97c87146103ea578063d5a2e2f614610408578063dd62ed3e14610438578063f2fde38b1461046857610140565b806376ca96c9146102f857806386b30a33146103285780638da5cb5b1461034457806395d89b4114610362578063a457c2d71461038057610140565b806323b872dd1161010857806323b872dd14610210578063313ce56714610240578063395093511461025e5780633af32abf1461028e57806370a08231146102be578063715018a6146102ee57610140565b8063032bbf4f1461014457806306fdde0314610174578063095ea7b31461019257806312a14499146101c257806318160ddd146101f2575b5f80fd5b61015e6004803603810190610159919061152f565b610484565b60405161016b9190611572565b60405180910390f35b61017c610499565b60405161018991906115fb565b60405180910390f35b6101ac60048036038101906101a79190611645565b610529565b6040516101b9919061169d565b60405180910390f35b6101dc60048036038101906101d7919061152f565b610546565b6040516101e99190611572565b60405180910390f35b6101fa61055b565b6040516102079190611572565b60405180910390f35b61022a600480360381019061022591906116b6565b610564565b604051610237919061169d565b60405180910390f35b61024861065f565b6040516102559190611721565b60405180910390f35b61027860048036038101906102739190611645565b610667565b604051610285919061169d565b60405180910390f35b6102a860048036038101906102a3919061152f565b61070e565b6040516102b5919061169d565b60405180910390f35b6102d860048036038101906102d3919061152f565b61077a565b6040516102e59190611572565b60405180910390f35b6102f66107c0565b005b610312600480360381019061030d919061152f565b6107d3565b60405161031f9190611572565b60405180910390f35b610342600480360381019061033d919061179b565b6107e8565b005b61034c61088e565b60405161035991906117f5565b60405180910390f35b61036a6108b5565b60405161037791906115fb565b60405180910390f35b61039a60048036038101906103959190611645565b610945565b6040516103a7919061169d565b60405180910390f35b6103ca60048036038101906103c59190611645565b610a34565b6040516103d7919061169d565b60405180910390f35b6103e8610a51565b005b6103f2610af0565b6040516103ff919061169d565b60405180910390f35b610422600480360381019061041d919061152f565b610b02565b60405161042f9190611572565b60405180910390f35b610452600480360381019061044d919061180e565b610b17565b60405161045f9190611572565b60405180910390f35b610482600480360381019061047d919061152f565b610b99565b005b6008602052805f5260405f205f915090505481565b6060600480546104a890611879565b80601f01602080910402602001604051908101604052809291908181526020018280546104d490611879565b801561051f5780601f106104f65761010080835404028352916020019161051f565b820191905f5260205f20905b81548152906001019060200180831161050257829003601f168201915b5050505050905090565b5f61053c610535610c1b565b8484610c22565b6001905092915050565b6009602052805f5260405f205f915090505481565b5f600354905090565b5f610570848484610de5565b5f60025f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6105b7610c1b565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905082811015610636576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161062d90611919565b60405180910390fd5b61065385610642610c1b565b858461064e9190611964565b610c22565b60019150509392505050565b5f6012905090565b5f610704610673610c1b565b848460025f610680610c1b565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546106ff9190611997565b610c22565b6001905092915050565b5f60075f9054906101000a900460ff166107715760065f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16610773565b5f5b9050919050565b5f60015f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b6107c8611066565b6107d15f6110e4565b565b600b602052805f5260405f205f915090505481565b6107f0611066565b60075f9054906101000a900460ff161561083f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161083690611a14565b60405180910390fd5b5f5b828290508110156108895761087c83838381811061086257610861611a32565b5b9050602002016020810190610877919061152f565b6111a5565b8080600101915050610841565b505050565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6060600580546108c490611879565b80601f01602080910402602001604051908101604052809291908181526020018280546108f090611879565b801561093b5780601f106109125761010080835404028352916020019161093b565b820191905f5260205f20905b81548152906001019060200180831161091e57829003601f168201915b5050505050905090565b5f8060025f610952610c1b565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905082811015610a0c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a0390611acf565b60405180910390fd5b610a29610a17610c1b565b858584610a249190611964565b610c22565b600191505092915050565b5f610a47610a40610c1b565b8484610de5565b6001905092915050565b610a59611066565b60075f9054906101000a900460ff1615610aa8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a9f90611a14565b60405180910390fd5b600160075f6101000a81548160ff0219169083151502179055507feadb24812ab3c9a55c774958184293ebdb6c7f6a2dbab11f397d80c86feb65d360405160405180910390a1565b60075f9054906101000a900460ff1681565b600a602052805f5260405f205f915090505481565b5f60025f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b610ba1611066565b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610c0f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c0690611b5d565b60405180910390fd5b610c18816110e4565b50565b5f33905090565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610c90576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c8790611beb565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610cfe576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610cf590611c79565b60405180910390fd5b8060025f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051610dd89190611572565b60405180910390a3505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610e53576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e4a90611d07565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610ec1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610eb890611d95565b60405180910390fd5b610ecc838383611240565b5f60015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905081811015610f50576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f4790611e23565b60405180910390fd5b8181610f5c9190611964565b60015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508160015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f828254610fe99190611997565b925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405161104d9190611572565b60405180910390a3611060848484611332565b50505050565b61106e610c1b565b73ffffffffffffffffffffffffffffffffffffffff1661108c61088e565b73ffffffffffffffffffffffffffffffffffffffff16146110e2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110d990611e8b565b60405180910390fd5b565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050815f806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b600160065f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055508073ffffffffffffffffffffffffffffffffffffffff167f4f783c179409b4127238bc9c990bc99b9a651666a0d20b51d6c42849eb88466d60405160405180910390a250565b60075f9054906101000a900460ff1661132d5760065f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff166112dc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112d390611ef3565b60405180910390fd5b5f6112e684611337565b90508181101561132b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161132290611f5b565b60405180910390fd5b505b505050565b505050565b5f600a5f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054421015611385575f90506114c8565b60095f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205460085f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461140b9190611997565b42106114215761141a8261077a565b90506114c8565b60095f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205460085f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054426114a89190611964565b6114b18461077a565b6114bb9190611f79565b6114c59190611fe7565b90505b919050565b5f80fd5b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f6114fe826114d5565b9050919050565b61150e816114f4565b8114611518575f80fd5b50565b5f8135905061152981611505565b92915050565b5f60208284031215611544576115436114cd565b5b5f6115518482850161151b565b91505092915050565b5f819050919050565b61156c8161155a565b82525050565b5f6020820190506115855f830184611563565b92915050565b5f81519050919050565b5f82825260208201905092915050565b8281835e5f83830152505050565b5f601f19601f8301169050919050565b5f6115cd8261158b565b6115d78185611595565b93506115e78185602086016115a5565b6115f0816115b3565b840191505092915050565b5f6020820190508181035f83015261161381846115c3565b905092915050565b6116248161155a565b811461162e575f80fd5b50565b5f8135905061163f8161161b565b92915050565b5f806040838503121561165b5761165a6114cd565b5b5f6116688582860161151b565b925050602061167985828601611631565b9150509250929050565b5f8115159050919050565b61169781611683565b82525050565b5f6020820190506116b05f83018461168e565b92915050565b5f805f606084860312156116cd576116cc6114cd565b5b5f6116da8682870161151b565b93505060206116eb8682870161151b565b92505060406116fc86828701611631565b9150509250925092565b5f60ff82169050919050565b61171b81611706565b82525050565b5f6020820190506117345f830184611712565b92915050565b5f80fd5b5f80fd5b5f80fd5b5f8083601f84011261175b5761175a61173a565b5b8235905067ffffffffffffffff8111156117785761177761173e565b5b60208301915083602082028301111561179457611793611742565b5b9250929050565b5f80602083850312156117b1576117b06114cd565b5b5f83013567ffffffffffffffff8111156117ce576117cd6114d1565b5b6117da85828601611746565b92509250509250929050565b6117ef816114f4565b82525050565b5f6020820190506118085f8301846117e6565b92915050565b5f8060408385031215611824576118236114cd565b5b5f6118318582860161151b565b92505060206118428582860161151b565b9150509250929050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f600282049050600182168061189057607f821691505b6020821081036118a3576118a261184c565b5b50919050565b7f45524332303a207472616e7366657220616d6f756e74206578636565647320615f8201527f6c6c6f77616e6365000000000000000000000000000000000000000000000000602082015250565b5f611903602883611595565b915061190e826118a9565b604082019050919050565b5f6020820190508181035f830152611930816118f7565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f61196e8261155a565b91506119798361155a565b925082820390508181111561199157611990611937565b5b92915050565b5f6119a18261155a565b91506119ac8361155a565b92508282019050808211156119c4576119c3611937565b5b92915050565b7f5472616e73666572732061726520616c726561647920656e61626c65640000005f82015250565b5f6119fe601d83611595565b9150611a09826119ca565b602082019050919050565b5f6020820190508181035f830152611a2b816119f2565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b7f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f775f8201527f207a65726f000000000000000000000000000000000000000000000000000000602082015250565b5f611ab9602583611595565b9150611ac482611a5f565b604082019050919050565b5f6020820190508181035f830152611ae681611aad565b9050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f20615f8201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b5f611b47602683611595565b9150611b5282611aed565b604082019050919050565b5f6020820190508181035f830152611b7481611b3b565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f206164645f8201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b5f611bd5602483611595565b9150611be082611b7b565b604082019050919050565b5f6020820190508181035f830152611c0281611bc9565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f2061646472655f8201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b5f611c63602283611595565b9150611c6e82611c09565b604082019050919050565b5f6020820190508181035f830152611c9081611c57565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f2061645f8201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b5f611cf1602583611595565b9150611cfc82611c97565b604082019050919050565b5f6020820190508181035f830152611d1e81611ce5565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f20616464725f8201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b5f611d7f602383611595565b9150611d8a82611d25565b604082019050919050565b5f6020820190508181035f830152611dac81611d73565b9050919050565b7f45524332303a207472616e7366657220616d6f756e74206578636565647320625f8201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b5f611e0d602683611595565b9150611e1882611db3565b604082019050919050565b5f6020820190508181035f830152611e3a81611e01565b9050919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f611e75602083611595565b9150611e8082611e41565b602082019050919050565b5f6020820190508181035f830152611ea281611e69565b9050919050565b7f5472616e7366657273206172652064697361626c6564000000000000000000005f82015250565b5f611edd601683611595565b9150611ee882611ea9565b602082019050919050565b5f6020820190508181035f830152611f0a81611ed1565b9050919050565b7f496e73756666696369656e742076657374656420616d6f756e740000000000005f82015250565b5f611f45601a83611595565b9150611f5082611f11565b602082019050919050565b5f6020820190508181035f830152611f7281611f39565b9050919050565b5f611f838261155a565b9150611f8e8361155a565b9250828202611f9c8161155a565b91508282048414831517611fb357611fb2611937565b5b5092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f611ff18261155a565b9150611ffc8361155a565b92508261200c5761200b611fba565b5b82820490509291505056fea2646970667358221220bc27510b838476ecc40c4356d7116e8cb88a46e4d0a86f4945ad0506ed02bd8664736f6c634300081a0033
Deployed Bytecode
0x608060405234801561000f575f80fd5b5060043610610140575f3560e01c806376ca96c9116100b6578063a9059cbb1161007a578063a9059cbb146103b0578063af35c6c7146103e0578063bef97c87146103ea578063d5a2e2f614610408578063dd62ed3e14610438578063f2fde38b1461046857610140565b806376ca96c9146102f857806386b30a33146103285780638da5cb5b1461034457806395d89b4114610362578063a457c2d71461038057610140565b806323b872dd1161010857806323b872dd14610210578063313ce56714610240578063395093511461025e5780633af32abf1461028e57806370a08231146102be578063715018a6146102ee57610140565b8063032bbf4f1461014457806306fdde0314610174578063095ea7b31461019257806312a14499146101c257806318160ddd146101f2575b5f80fd5b61015e6004803603810190610159919061152f565b610484565b60405161016b9190611572565b60405180910390f35b61017c610499565b60405161018991906115fb565b60405180910390f35b6101ac60048036038101906101a79190611645565b610529565b6040516101b9919061169d565b60405180910390f35b6101dc60048036038101906101d7919061152f565b610546565b6040516101e99190611572565b60405180910390f35b6101fa61055b565b6040516102079190611572565b60405180910390f35b61022a600480360381019061022591906116b6565b610564565b604051610237919061169d565b60405180910390f35b61024861065f565b6040516102559190611721565b60405180910390f35b61027860048036038101906102739190611645565b610667565b604051610285919061169d565b60405180910390f35b6102a860048036038101906102a3919061152f565b61070e565b6040516102b5919061169d565b60405180910390f35b6102d860048036038101906102d3919061152f565b61077a565b6040516102e59190611572565b60405180910390f35b6102f66107c0565b005b610312600480360381019061030d919061152f565b6107d3565b60405161031f9190611572565b60405180910390f35b610342600480360381019061033d919061179b565b6107e8565b005b61034c61088e565b60405161035991906117f5565b60405180910390f35b61036a6108b5565b60405161037791906115fb565b60405180910390f35b61039a60048036038101906103959190611645565b610945565b6040516103a7919061169d565b60405180910390f35b6103ca60048036038101906103c59190611645565b610a34565b6040516103d7919061169d565b60405180910390f35b6103e8610a51565b005b6103f2610af0565b6040516103ff919061169d565b60405180910390f35b610422600480360381019061041d919061152f565b610b02565b60405161042f9190611572565b60405180910390f35b610452600480360381019061044d919061180e565b610b17565b60405161045f9190611572565b60405180910390f35b610482600480360381019061047d919061152f565b610b99565b005b6008602052805f5260405f205f915090505481565b6060600480546104a890611879565b80601f01602080910402602001604051908101604052809291908181526020018280546104d490611879565b801561051f5780601f106104f65761010080835404028352916020019161051f565b820191905f5260205f20905b81548152906001019060200180831161050257829003601f168201915b5050505050905090565b5f61053c610535610c1b565b8484610c22565b6001905092915050565b6009602052805f5260405f205f915090505481565b5f600354905090565b5f610570848484610de5565b5f60025f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6105b7610c1b565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905082811015610636576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161062d90611919565b60405180910390fd5b61065385610642610c1b565b858461064e9190611964565b610c22565b60019150509392505050565b5f6012905090565b5f610704610673610c1b565b848460025f610680610c1b565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546106ff9190611997565b610c22565b6001905092915050565b5f60075f9054906101000a900460ff166107715760065f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16610773565b5f5b9050919050565b5f60015f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b6107c8611066565b6107d15f6110e4565b565b600b602052805f5260405f205f915090505481565b6107f0611066565b60075f9054906101000a900460ff161561083f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161083690611a14565b60405180910390fd5b5f5b828290508110156108895761087c83838381811061086257610861611a32565b5b9050602002016020810190610877919061152f565b6111a5565b8080600101915050610841565b505050565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6060600580546108c490611879565b80601f01602080910402602001604051908101604052809291908181526020018280546108f090611879565b801561093b5780601f106109125761010080835404028352916020019161093b565b820191905f5260205f20905b81548152906001019060200180831161091e57829003601f168201915b5050505050905090565b5f8060025f610952610c1b565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905082811015610a0c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a0390611acf565b60405180910390fd5b610a29610a17610c1b565b858584610a249190611964565b610c22565b600191505092915050565b5f610a47610a40610c1b565b8484610de5565b6001905092915050565b610a59611066565b60075f9054906101000a900460ff1615610aa8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a9f90611a14565b60405180910390fd5b600160075f6101000a81548160ff0219169083151502179055507feadb24812ab3c9a55c774958184293ebdb6c7f6a2dbab11f397d80c86feb65d360405160405180910390a1565b60075f9054906101000a900460ff1681565b600a602052805f5260405f205f915090505481565b5f60025f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b610ba1611066565b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610c0f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c0690611b5d565b60405180910390fd5b610c18816110e4565b50565b5f33905090565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610c90576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c8790611beb565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610cfe576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610cf590611c79565b60405180910390fd5b8060025f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051610dd89190611572565b60405180910390a3505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610e53576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e4a90611d07565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610ec1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610eb890611d95565b60405180910390fd5b610ecc838383611240565b5f60015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905081811015610f50576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f4790611e23565b60405180910390fd5b8181610f5c9190611964565b60015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508160015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f828254610fe99190611997565b925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405161104d9190611572565b60405180910390a3611060848484611332565b50505050565b61106e610c1b565b73ffffffffffffffffffffffffffffffffffffffff1661108c61088e565b73ffffffffffffffffffffffffffffffffffffffff16146110e2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110d990611e8b565b60405180910390fd5b565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050815f806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b600160065f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055508073ffffffffffffffffffffffffffffffffffffffff167f4f783c179409b4127238bc9c990bc99b9a651666a0d20b51d6c42849eb88466d60405160405180910390a250565b60075f9054906101000a900460ff1661132d5760065f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff166112dc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112d390611ef3565b60405180910390fd5b5f6112e684611337565b90508181101561132b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161132290611f5b565b60405180910390fd5b505b505050565b505050565b5f600a5f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054421015611385575f90506114c8565b60095f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205460085f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461140b9190611997565b42106114215761141a8261077a565b90506114c8565b60095f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205460085f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054426114a89190611964565b6114b18461077a565b6114bb9190611f79565b6114c59190611fe7565b90505b919050565b5f80fd5b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f6114fe826114d5565b9050919050565b61150e816114f4565b8114611518575f80fd5b50565b5f8135905061152981611505565b92915050565b5f60208284031215611544576115436114cd565b5b5f6115518482850161151b565b91505092915050565b5f819050919050565b61156c8161155a565b82525050565b5f6020820190506115855f830184611563565b92915050565b5f81519050919050565b5f82825260208201905092915050565b8281835e5f83830152505050565b5f601f19601f8301169050919050565b5f6115cd8261158b565b6115d78185611595565b93506115e78185602086016115a5565b6115f0816115b3565b840191505092915050565b5f6020820190508181035f83015261161381846115c3565b905092915050565b6116248161155a565b811461162e575f80fd5b50565b5f8135905061163f8161161b565b92915050565b5f806040838503121561165b5761165a6114cd565b5b5f6116688582860161151b565b925050602061167985828601611631565b9150509250929050565b5f8115159050919050565b61169781611683565b82525050565b5f6020820190506116b05f83018461168e565b92915050565b5f805f606084860312156116cd576116cc6114cd565b5b5f6116da8682870161151b565b93505060206116eb8682870161151b565b92505060406116fc86828701611631565b9150509250925092565b5f60ff82169050919050565b61171b81611706565b82525050565b5f6020820190506117345f830184611712565b92915050565b5f80fd5b5f80fd5b5f80fd5b5f8083601f84011261175b5761175a61173a565b5b8235905067ffffffffffffffff8111156117785761177761173e565b5b60208301915083602082028301111561179457611793611742565b5b9250929050565b5f80602083850312156117b1576117b06114cd565b5b5f83013567ffffffffffffffff8111156117ce576117cd6114d1565b5b6117da85828601611746565b92509250509250929050565b6117ef816114f4565b82525050565b5f6020820190506118085f8301846117e6565b92915050565b5f8060408385031215611824576118236114cd565b5b5f6118318582860161151b565b92505060206118428582860161151b565b9150509250929050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f600282049050600182168061189057607f821691505b6020821081036118a3576118a261184c565b5b50919050565b7f45524332303a207472616e7366657220616d6f756e74206578636565647320615f8201527f6c6c6f77616e6365000000000000000000000000000000000000000000000000602082015250565b5f611903602883611595565b915061190e826118a9565b604082019050919050565b5f6020820190508181035f830152611930816118f7565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f61196e8261155a565b91506119798361155a565b925082820390508181111561199157611990611937565b5b92915050565b5f6119a18261155a565b91506119ac8361155a565b92508282019050808211156119c4576119c3611937565b5b92915050565b7f5472616e73666572732061726520616c726561647920656e61626c65640000005f82015250565b5f6119fe601d83611595565b9150611a09826119ca565b602082019050919050565b5f6020820190508181035f830152611a2b816119f2565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b7f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f775f8201527f207a65726f000000000000000000000000000000000000000000000000000000602082015250565b5f611ab9602583611595565b9150611ac482611a5f565b604082019050919050565b5f6020820190508181035f830152611ae681611aad565b9050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f20615f8201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b5f611b47602683611595565b9150611b5282611aed565b604082019050919050565b5f6020820190508181035f830152611b7481611b3b565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f206164645f8201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b5f611bd5602483611595565b9150611be082611b7b565b604082019050919050565b5f6020820190508181035f830152611c0281611bc9565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f2061646472655f8201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b5f611c63602283611595565b9150611c6e82611c09565b604082019050919050565b5f6020820190508181035f830152611c9081611c57565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f2061645f8201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b5f611cf1602583611595565b9150611cfc82611c97565b604082019050919050565b5f6020820190508181035f830152611d1e81611ce5565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f20616464725f8201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b5f611d7f602383611595565b9150611d8a82611d25565b604082019050919050565b5f6020820190508181035f830152611dac81611d73565b9050919050565b7f45524332303a207472616e7366657220616d6f756e74206578636565647320625f8201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b5f611e0d602683611595565b9150611e1882611db3565b604082019050919050565b5f6020820190508181035f830152611e3a81611e01565b9050919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f611e75602083611595565b9150611e8082611e41565b602082019050919050565b5f6020820190508181035f830152611ea281611e69565b9050919050565b7f5472616e7366657273206172652064697361626c6564000000000000000000005f82015250565b5f611edd601683611595565b9150611ee882611ea9565b602082019050919050565b5f6020820190508181035f830152611f0a81611ed1565b9050919050565b7f496e73756666696369656e742076657374656420616d6f756e740000000000005f82015250565b5f611f45601a83611595565b9150611f5082611f11565b602082019050919050565b5f6020820190508181035f830152611f7281611f39565b9050919050565b5f611f838261155a565b9150611f8e8361155a565b9250828202611f9c8161155a565b91508282048414831517611fb357611fb2611937565b5b5092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f611ff18261155a565b9150611ffc8361155a565b92508261200c5761200b611fba565b5b82820490509291505056fea2646970667358221220bc27510b838476ecc40c4356d7116e8cb88a46e4d0a86f4945ad0506ed02bd8664736f6c634300081a0033
Deployed Bytecode Sourcemap
7229:3374:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7434:47;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2942:100;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3842:169;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7488:50;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3263:108;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4019:396;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8673:93;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4423:215;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8523:142;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3379:127;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;959:103;;;:::i;:::-;;7599:48;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8057:258;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;724:87;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3050:104;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4646:375;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3514:161;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8323:192;;;:::i;:::-;;7397:28;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7545:47;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3683:151;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1070:201;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;7434:47;;;;;;;;;;;;;;;;;:::o;2942:100::-;2996:13;3029:5;3022:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2942:100;:::o;3842:169::-;3925:4;3942:39;3951:12;:10;:12::i;:::-;3965:7;3974:6;3942:8;:39::i;:::-;3999:4;3992:11;;3842:169;;;;:::o;7488:50::-;;;;;;;;;;;;;;;;;:::o;3263:108::-;3324:7;3351:12;;3344:19;;3263:108;:::o;4019:396::-;4116:4;4133:27;4143:4;4149:2;4153:6;4133:9;:27::i;:::-;4171:24;4198:11;:17;4210:4;4198:17;;;;;;;;;;;;;;;:31;4216:12;:10;:12::i;:::-;4198:31;;;;;;;;;;;;;;;;4171:58;;4268:6;4248:16;:26;;4240:79;;;;;;;;;;;;:::i;:::-;;;;;;;;;4330:55;4339:4;4345:12;:10;:12::i;:::-;4378:6;4359:16;:25;;;;:::i;:::-;4330:8;:55::i;:::-;4403:4;4396:11;;;4019:396;;;;;:::o;8673:93::-;8731:5;8756:2;8749:9;;8673:93;:::o;4423:215::-;4511:4;4528:80;4537:12;:10;:12::i;:::-;4551:7;4597:10;4560:11;:25;4572:12;:10;:12::i;:::-;4560:25;;;;;;;;;;;;;;;:34;4586:7;4560:34;;;;;;;;;;;;;;;;:47;;;;:::i;:::-;4528:8;:80::i;:::-;4626:4;4619:11;;4423:215;;;;:::o;8523:142::-;8583:4;8607:16;;;;;;;;;;;:50;;8634:17;:23;8652:4;8634:23;;;;;;;;;;;;;;;;;;;;;;;;;8607:50;;;8626:5;8607:50;8600:57;;8523:142;;;:::o;3379:127::-;3453:7;3480:9;:18;3490:7;3480:18;;;;;;;;;;;;;;;;3473:25;;3379:127;;;:::o;959:103::-;683:13;:11;:13::i;:::-;1024:30:::1;1051:1;1024:18;:30::i;:::-;959:103::o:0;7599:48::-;;;;;;;;;;;;;;;;;:::o;8057:258::-;683:13;:11;:13::i;:::-;8149:16:::1;;;;;;;;;;;8148:17;8140:59;;;;;;;;;;;;:::i;:::-;;;;;;;;;8215:9;8210:98;8234:5;;:12;;8230:1;:16;8210:98;;;8268:28;8287:5;;8293:1;8287:8;;;;;;;:::i;:::-;;;;;;;;;;;;;;;:::i;:::-;8268:18;:28::i;:::-;8248:3;;;;;;;8210:98;;;;8057:258:::0;;:::o;724:87::-;770:7;797:6;;;;;;;;;;;790:13;;724:87;:::o;3050:104::-;3106:13;3139:7;3132:14;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3050:104;:::o;4646:375::-;4739:4;4756:24;4783:11;:25;4795:12;:10;:12::i;:::-;4783:25;;;;;;;;;;;;;;;:34;4809:7;4783:34;;;;;;;;;;;;;;;;4756:61;;4856:15;4836:16;:35;;4828:85;;;;;;;;;;;;:::i;:::-;;;;;;;;;4924:67;4933:12;:10;:12::i;:::-;4947:7;4975:15;4956:16;:34;;;;:::i;:::-;4924:8;:67::i;:::-;5009:4;5002:11;;;4646:375;;;;:::o;3514:161::-;3593:4;3610:35;3620:12;:10;:12::i;:::-;3634:2;3638:6;3610:9;:35::i;:::-;3663:4;3656:11;;3514:161;;;;:::o;8323:192::-;683:13;:11;:13::i;:::-;8389:16:::1;;;;;;;;;;;8388:17;8380:59;;;;;;;;;;;;:::i;:::-;;;;;;;;;8469:4;8450:16;;:23;;;;;;;;;;;;;;;;;;8489:18;;;;;;;;;;8323:192::o:0;7397:28::-;;;;;;;;;;;;;:::o;7545:47::-;;;;;;;;;;;;;;;;;:::o;3683:151::-;3772:7;3799:11;:18;3811:5;3799:18;;;;;;;;;;;;;;;:27;3818:7;3799:27;;;;;;;;;;;;;;;;3792:34;;3683:151;;;;:::o;1070:201::-;683:13;:11;:13::i;:::-;1179:1:::1;1159:22;;:8;:22;;::::0;1151:73:::1;;;;;;;;;;;;:::i;:::-;;;;;;;;;1235:28;1254:8;1235:18;:28::i;:::-;1070:201:::0;:::o;145:98::-;198:7;225:10;218:17;;145:98;:::o;6670:355::-;6789:1;6772:19;;:5;:19;;;6764:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;6870:1;6851:21;;:7;:21;;;6843:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;6963:6;6933:11;:18;6945:5;6933:18;;;;;;;;;;;;;;;:27;6952:7;6933:27;;;;;;;;;;;;;;;:36;;;;7001:7;6985:32;;6994:5;6985:32;;;7010:6;6985:32;;;;;;:::i;:::-;;;;;;;;6670:355;;;:::o;5029:663::-;5153:1;5135:20;;:6;:20;;;5127:70;;;;;;;;;;;;:::i;:::-;;;;;;;;;5237:1;5216:23;;:9;:23;;;5208:71;;;;;;;;;;;;:::i;:::-;;;;;;;;;5292:47;5313:6;5321:9;5332:6;5292:20;:47::i;:::-;5352:21;5376:9;:17;5386:6;5376:17;;;;;;;;;;;;;;;;5352:41;;5429:6;5412:13;:23;;5404:74;;;;;;;;;;;;:::i;:::-;;;;;;;;;5525:6;5509:13;:22;;;;:::i;:::-;5489:9;:17;5499:6;5489:17;;;;;;;;;;;;;;;:42;;;;5566:6;5542:9;:20;5552:9;5542:20;;;;;;;;;;;;;;;;:30;;;;;;;:::i;:::-;;;;;;;;5607:9;5590:35;;5599:6;5590:35;;;5618:6;5590:35;;;;;;:::i;:::-;;;;;;;;5638:46;5658:6;5666:9;5677:6;5638:19;:46::i;:::-;5116:576;5029:663;;;:::o;819:132::-;894:12;:10;:12::i;:::-;883:23;;:7;:5;:7::i;:::-;:23;;;875:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;819:132::o;1279:191::-;1353:16;1372:6;;;;;;;;;;;1353:25;;1398:8;1389:6;;:17;;;;;;;;;;;;;;;;;;1453:8;1422:40;;1443:8;1422:40;;;;;;;;;;;;1342:128;1279:191;:::o;9381:140::-;9469:4;9443:17;:23;9461:4;9443:23;;;;;;;;;;;;;;;;:30;;;;;;;;;;;;;;;;;;9508:4;9489:24;;;;;;;;;;;;9381:140;:::o;8774:348::-;8884:16;;;;;;;;;;;8879:236;;8925:17;:25;8943:6;8925:25;;;;;;;;;;;;;;;;;;;;;;;;;8917:60;;;;;;;;;;;;:::i;:::-;;;;;;;;;8992:14;9009:24;9026:6;9009:16;:24::i;:::-;8992:41;;9066:6;9056;:16;;9048:55;;;;;;;;;;;;:::i;:::-;;;;;;;;;8902:213;8879:236;8774:348;;;:::o;7132:90::-;;;;:::o;10135:465::-;10205:7;10247:12;:25;10260:11;10247:25;;;;;;;;;;;;;;;;10229:15;:43;10225:368;;;10296:1;10289:8;;;;10225:368;10366:15;:28;10382:11;10366:28;;;;;;;;;;;;;;;;10338:12;:25;10351:11;10338:25;;;;;;;;;;;;;;;;:56;;;;:::i;:::-;10319:15;:75;10315:278;;10418:22;10428:11;10418:9;:22::i;:::-;10411:29;;;;10315:278;10553:15;:28;10569:11;10553:28;;;;;;;;;;;;;;;;10524:12;:25;10537:11;10524:25;;;;;;;;;;;;;;;;10506:15;:43;;;;:::i;:::-;10480:22;10490:11;10480:9;:22::i;:::-;:70;;;;:::i;:::-;:101;;;;:::i;:::-;10473:108;;10135:465;;;;:::o;88:117:1:-;197:1;194;187:12;211:117;320:1;317;310:12;334:126;371:7;411:42;404:5;400:54;389:65;;334:126;;;:::o;466:96::-;503:7;532:24;550:5;532:24;:::i;:::-;521:35;;466:96;;;:::o;568:122::-;641:24;659:5;641:24;:::i;:::-;634:5;631:35;621:63;;680:1;677;670:12;621:63;568:122;:::o;696:139::-;742:5;780:6;767:20;758:29;;796:33;823:5;796:33;:::i;:::-;696:139;;;;:::o;841:329::-;900:6;949:2;937:9;928:7;924:23;920:32;917:119;;;955:79;;:::i;:::-;917:119;1075:1;1100:53;1145:7;1136:6;1125:9;1121:22;1100:53;:::i;:::-;1090:63;;1046:117;841:329;;;;:::o;1176:77::-;1213:7;1242:5;1231:16;;1176:77;;;:::o;1259:118::-;1346:24;1364:5;1346:24;:::i;:::-;1341:3;1334:37;1259:118;;:::o;1383:222::-;1476:4;1514:2;1503:9;1499:18;1491:26;;1527:71;1595:1;1584:9;1580:17;1571:6;1527:71;:::i;:::-;1383:222;;;;:::o;1611:99::-;1663:6;1697:5;1691:12;1681:22;;1611:99;;;:::o;1716:169::-;1800:11;1834:6;1829:3;1822:19;1874:4;1869:3;1865:14;1850:29;;1716:169;;;;:::o;1891:139::-;1980:6;1975:3;1970;1964:23;2021:1;2012:6;2007:3;2003:16;1996:27;1891:139;;;:::o;2036:102::-;2077:6;2128:2;2124:7;2119:2;2112:5;2108:14;2104:28;2094:38;;2036:102;;;:::o;2144:377::-;2232:3;2260:39;2293:5;2260:39;:::i;:::-;2315:71;2379:6;2374:3;2315:71;:::i;:::-;2308:78;;2395:65;2453:6;2448:3;2441:4;2434:5;2430:16;2395:65;:::i;:::-;2485:29;2507:6;2485:29;:::i;:::-;2480:3;2476:39;2469:46;;2236:285;2144:377;;;;:::o;2527:313::-;2640:4;2678:2;2667:9;2663:18;2655:26;;2727:9;2721:4;2717:20;2713:1;2702:9;2698:17;2691:47;2755:78;2828:4;2819:6;2755:78;:::i;:::-;2747:86;;2527:313;;;;:::o;2846:122::-;2919:24;2937:5;2919:24;:::i;:::-;2912:5;2909:35;2899:63;;2958:1;2955;2948:12;2899:63;2846:122;:::o;2974:139::-;3020:5;3058:6;3045:20;3036:29;;3074:33;3101:5;3074:33;:::i;:::-;2974:139;;;;:::o;3119:474::-;3187:6;3195;3244:2;3232:9;3223:7;3219:23;3215:32;3212:119;;;3250:79;;:::i;:::-;3212:119;3370:1;3395:53;3440:7;3431:6;3420:9;3416:22;3395:53;:::i;:::-;3385:63;;3341:117;3497:2;3523:53;3568:7;3559:6;3548:9;3544:22;3523:53;:::i;:::-;3513:63;;3468:118;3119:474;;;;;:::o;3599:90::-;3633:7;3676:5;3669:13;3662:21;3651:32;;3599:90;;;:::o;3695:109::-;3776:21;3791:5;3776:21;:::i;:::-;3771:3;3764:34;3695:109;;:::o;3810:210::-;3897:4;3935:2;3924:9;3920:18;3912:26;;3948:65;4010:1;3999:9;3995:17;3986:6;3948:65;:::i;:::-;3810:210;;;;:::o;4026:619::-;4103:6;4111;4119;4168:2;4156:9;4147:7;4143:23;4139:32;4136:119;;;4174:79;;:::i;:::-;4136:119;4294:1;4319:53;4364:7;4355:6;4344:9;4340:22;4319:53;:::i;:::-;4309:63;;4265:117;4421:2;4447:53;4492:7;4483:6;4472:9;4468:22;4447:53;:::i;:::-;4437:63;;4392:118;4549:2;4575:53;4620:7;4611:6;4600:9;4596:22;4575:53;:::i;:::-;4565:63;;4520:118;4026:619;;;;;:::o;4651:86::-;4686:7;4726:4;4719:5;4715:16;4704:27;;4651:86;;;:::o;4743:112::-;4826:22;4842:5;4826:22;:::i;:::-;4821:3;4814:35;4743:112;;:::o;4861:214::-;4950:4;4988:2;4977:9;4973:18;4965:26;;5001:67;5065:1;5054:9;5050:17;5041:6;5001:67;:::i;:::-;4861:214;;;;:::o;5081:117::-;5190:1;5187;5180:12;5204:117;5313:1;5310;5303:12;5327:117;5436:1;5433;5426:12;5467:568;5540:8;5550:6;5600:3;5593:4;5585:6;5581:17;5577:27;5567:122;;5608:79;;:::i;:::-;5567:122;5721:6;5708:20;5698:30;;5751:18;5743:6;5740:30;5737:117;;;5773:79;;:::i;:::-;5737:117;5887:4;5879:6;5875:17;5863:29;;5941:3;5933:4;5925:6;5921:17;5911:8;5907:32;5904:41;5901:128;;;5948:79;;:::i;:::-;5901:128;5467:568;;;;;:::o;6041:559::-;6127:6;6135;6184:2;6172:9;6163:7;6159:23;6155:32;6152:119;;;6190:79;;:::i;:::-;6152:119;6338:1;6327:9;6323:17;6310:31;6368:18;6360:6;6357:30;6354:117;;;6390:79;;:::i;:::-;6354:117;6503:80;6575:7;6566:6;6555:9;6551:22;6503:80;:::i;:::-;6485:98;;;;6281:312;6041:559;;;;;:::o;6606:118::-;6693:24;6711:5;6693:24;:::i;:::-;6688:3;6681:37;6606:118;;:::o;6730:222::-;6823:4;6861:2;6850:9;6846:18;6838:26;;6874:71;6942:1;6931:9;6927:17;6918:6;6874:71;:::i;:::-;6730:222;;;;:::o;6958:474::-;7026:6;7034;7083:2;7071:9;7062:7;7058:23;7054:32;7051:119;;;7089:79;;:::i;:::-;7051:119;7209:1;7234:53;7279:7;7270:6;7259:9;7255:22;7234:53;:::i;:::-;7224:63;;7180:117;7336:2;7362:53;7407:7;7398:6;7387:9;7383:22;7362:53;:::i;:::-;7352:63;;7307:118;6958:474;;;;;:::o;7438:180::-;7486:77;7483:1;7476:88;7583:4;7580:1;7573:15;7607:4;7604:1;7597:15;7624:320;7668:6;7705:1;7699:4;7695:12;7685:22;;7752:1;7746:4;7742:12;7773:18;7763:81;;7829:4;7821:6;7817:17;7807:27;;7763:81;7891:2;7883:6;7880:14;7860:18;7857:38;7854:84;;7910:18;;:::i;:::-;7854:84;7675:269;7624:320;;;:::o;7950:227::-;8090:34;8086:1;8078:6;8074:14;8067:58;8159:10;8154:2;8146:6;8142:15;8135:35;7950:227;:::o;8183:366::-;8325:3;8346:67;8410:2;8405:3;8346:67;:::i;:::-;8339:74;;8422:93;8511:3;8422:93;:::i;:::-;8540:2;8535:3;8531:12;8524:19;;8183:366;;;:::o;8555:419::-;8721:4;8759:2;8748:9;8744:18;8736:26;;8808:9;8802:4;8798:20;8794:1;8783:9;8779:17;8772:47;8836:131;8962:4;8836:131;:::i;:::-;8828:139;;8555:419;;;:::o;8980:180::-;9028:77;9025:1;9018:88;9125:4;9122:1;9115:15;9149:4;9146:1;9139:15;9166:194;9206:4;9226:20;9244:1;9226:20;:::i;:::-;9221:25;;9260:20;9278:1;9260:20;:::i;:::-;9255:25;;9304:1;9301;9297:9;9289:17;;9328:1;9322:4;9319:11;9316:37;;;9333:18;;:::i;:::-;9316:37;9166:194;;;;:::o;9366:191::-;9406:3;9425:20;9443:1;9425:20;:::i;:::-;9420:25;;9459:20;9477:1;9459:20;:::i;:::-;9454:25;;9502:1;9499;9495:9;9488:16;;9523:3;9520:1;9517:10;9514:36;;;9530:18;;:::i;:::-;9514:36;9366:191;;;;:::o;9563:179::-;9703:31;9699:1;9691:6;9687:14;9680:55;9563:179;:::o;9748:366::-;9890:3;9911:67;9975:2;9970:3;9911:67;:::i;:::-;9904:74;;9987:93;10076:3;9987:93;:::i;:::-;10105:2;10100:3;10096:12;10089:19;;9748:366;;;:::o;10120:419::-;10286:4;10324:2;10313:9;10309:18;10301:26;;10373:9;10367:4;10363:20;10359:1;10348:9;10344:17;10337:47;10401:131;10527:4;10401:131;:::i;:::-;10393:139;;10120:419;;;:::o;10545:180::-;10593:77;10590:1;10583:88;10690:4;10687:1;10680:15;10714:4;10711:1;10704:15;10731:224;10871:34;10867:1;10859:6;10855:14;10848:58;10940:7;10935:2;10927:6;10923:15;10916:32;10731:224;:::o;10961:366::-;11103:3;11124:67;11188:2;11183:3;11124:67;:::i;:::-;11117:74;;11200:93;11289:3;11200:93;:::i;:::-;11318:2;11313:3;11309:12;11302:19;;10961:366;;;:::o;11333:419::-;11499:4;11537:2;11526:9;11522:18;11514:26;;11586:9;11580:4;11576:20;11572:1;11561:9;11557:17;11550:47;11614:131;11740:4;11614:131;:::i;:::-;11606:139;;11333:419;;;:::o;11758:225::-;11898:34;11894:1;11886:6;11882:14;11875:58;11967:8;11962:2;11954:6;11950:15;11943:33;11758:225;:::o;11989:366::-;12131:3;12152:67;12216:2;12211:3;12152:67;:::i;:::-;12145:74;;12228:93;12317:3;12228:93;:::i;:::-;12346:2;12341:3;12337:12;12330:19;;11989:366;;;:::o;12361:419::-;12527:4;12565:2;12554:9;12550:18;12542:26;;12614:9;12608:4;12604:20;12600:1;12589:9;12585:17;12578:47;12642:131;12768:4;12642:131;:::i;:::-;12634:139;;12361:419;;;:::o;12786:223::-;12926:34;12922:1;12914:6;12910:14;12903:58;12995:6;12990:2;12982:6;12978:15;12971:31;12786:223;:::o;13015:366::-;13157:3;13178:67;13242:2;13237:3;13178:67;:::i;:::-;13171:74;;13254:93;13343:3;13254:93;:::i;:::-;13372:2;13367:3;13363:12;13356:19;;13015:366;;;:::o;13387:419::-;13553:4;13591:2;13580:9;13576:18;13568:26;;13640:9;13634:4;13630:20;13626:1;13615:9;13611:17;13604:47;13668:131;13794:4;13668:131;:::i;:::-;13660:139;;13387:419;;;:::o;13812:221::-;13952:34;13948:1;13940:6;13936:14;13929:58;14021:4;14016:2;14008:6;14004:15;13997:29;13812:221;:::o;14039:366::-;14181:3;14202:67;14266:2;14261:3;14202:67;:::i;:::-;14195:74;;14278:93;14367:3;14278:93;:::i;:::-;14396:2;14391:3;14387:12;14380:19;;14039:366;;;:::o;14411:419::-;14577:4;14615:2;14604:9;14600:18;14592:26;;14664:9;14658:4;14654:20;14650:1;14639:9;14635:17;14628:47;14692:131;14818:4;14692:131;:::i;:::-;14684:139;;14411:419;;;:::o;14836:224::-;14976:34;14972:1;14964:6;14960:14;14953:58;15045:7;15040:2;15032:6;15028:15;15021:32;14836:224;:::o;15066:366::-;15208:3;15229:67;15293:2;15288:3;15229:67;:::i;:::-;15222:74;;15305:93;15394:3;15305:93;:::i;:::-;15423:2;15418:3;15414:12;15407:19;;15066:366;;;:::o;15438:419::-;15604:4;15642:2;15631:9;15627:18;15619:26;;15691:9;15685:4;15681:20;15677:1;15666:9;15662:17;15655:47;15719:131;15845:4;15719:131;:::i;:::-;15711:139;;15438:419;;;:::o;15863:222::-;16003:34;15999:1;15991:6;15987:14;15980:58;16072:5;16067:2;16059:6;16055:15;16048:30;15863:222;:::o;16091:366::-;16233:3;16254:67;16318:2;16313:3;16254:67;:::i;:::-;16247:74;;16330:93;16419:3;16330:93;:::i;:::-;16448:2;16443:3;16439:12;16432:19;;16091:366;;;:::o;16463:419::-;16629:4;16667:2;16656:9;16652:18;16644:26;;16716:9;16710:4;16706:20;16702:1;16691:9;16687:17;16680:47;16744:131;16870:4;16744:131;:::i;:::-;16736:139;;16463:419;;;:::o;16888:225::-;17028:34;17024:1;17016:6;17012:14;17005:58;17097:8;17092:2;17084:6;17080:15;17073:33;16888:225;:::o;17119:366::-;17261:3;17282:67;17346:2;17341:3;17282:67;:::i;:::-;17275:74;;17358:93;17447:3;17358:93;:::i;:::-;17476:2;17471:3;17467:12;17460:19;;17119:366;;;:::o;17491:419::-;17657:4;17695:2;17684:9;17680:18;17672:26;;17744:9;17738:4;17734:20;17730:1;17719:9;17715:17;17708:47;17772:131;17898:4;17772:131;:::i;:::-;17764:139;;17491:419;;;:::o;17916:182::-;18056:34;18052:1;18044:6;18040:14;18033:58;17916:182;:::o;18104:366::-;18246:3;18267:67;18331:2;18326:3;18267:67;:::i;:::-;18260:74;;18343:93;18432:3;18343:93;:::i;:::-;18461:2;18456:3;18452:12;18445:19;;18104:366;;;:::o;18476:419::-;18642:4;18680:2;18669:9;18665:18;18657:26;;18729:9;18723:4;18719:20;18715:1;18704:9;18700:17;18693:47;18757:131;18883:4;18757:131;:::i;:::-;18749:139;;18476:419;;;:::o;18901:172::-;19041:24;19037:1;19029:6;19025:14;19018:48;18901:172;:::o;19079:366::-;19221:3;19242:67;19306:2;19301:3;19242:67;:::i;:::-;19235:74;;19318:93;19407:3;19318:93;:::i;:::-;19436:2;19431:3;19427:12;19420:19;;19079:366;;;:::o;19451:419::-;19617:4;19655:2;19644:9;19640:18;19632:26;;19704:9;19698:4;19694:20;19690:1;19679:9;19675:17;19668:47;19732:131;19858:4;19732:131;:::i;:::-;19724:139;;19451:419;;;:::o;19876:176::-;20016:28;20012:1;20004:6;20000:14;19993:52;19876:176;:::o;20058:366::-;20200:3;20221:67;20285:2;20280:3;20221:67;:::i;:::-;20214:74;;20297:93;20386:3;20297:93;:::i;:::-;20415:2;20410:3;20406:12;20399:19;;20058:366;;;:::o;20430:419::-;20596:4;20634:2;20623:9;20619:18;20611:26;;20683:9;20677:4;20673:20;20669:1;20658:9;20654:17;20647:47;20711:131;20837:4;20711:131;:::i;:::-;20703:139;;20430:419;;;:::o;20855:410::-;20895:7;20918:20;20936:1;20918:20;:::i;:::-;20913:25;;20952:20;20970:1;20952:20;:::i;:::-;20947:25;;21007:1;21004;21000:9;21029:30;21047:11;21029:30;:::i;:::-;21018:41;;21208:1;21199:7;21195:15;21192:1;21189:22;21169:1;21162:9;21142:83;21119:139;;21238:18;;:::i;:::-;21119:139;20903:362;20855:410;;;;:::o;21271:180::-;21319:77;21316:1;21309:88;21416:4;21413:1;21406:15;21440:4;21437:1;21430:15;21457:185;21497:1;21514:20;21532:1;21514:20;:::i;:::-;21509:25;;21548:20;21566:1;21548:20;:::i;:::-;21543:25;;21587:1;21577:35;;21592:18;;:::i;:::-;21577:35;21634:1;21631;21627:9;21622:14;;21457:185;;;;:::o
Swarm Source
ipfs://bc27510b838476ecc40c4356d7116e8cb88a46e4d0a86f4945ad0506ed02bd86
Loading...
Loading
OVERVIEW
The EDX token is the native asset of the EADX Exchange, designed to facilitate trading and offer various utilities within the platform.Loading...
Loading
[ Download: CSV Export ]
A contract address hosts a smart contract, which is a set of code stored on the blockchain that runs when predetermined conditions are met. Learn more about addresses in our Knowledge Base.