BNB Price: $696.02 (-1.96%)
Gas: 1 GWei
 

Overview

Max Total Supply

405,990.645853PUSD

Holders

1,539

Market

Price

$0.00 @ 0.000000 BNB

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 18 Decimals)

Balance
0.000938 PUSD

Value
$0.00
0xccc4ceb82f972630b4ee30b8113c648f3f5ad2f7
Loading...
Loading
Loading...
Loading
Loading...
Loading

Click here to update the token information / general information

Contract Source Code Verified (Exact Match)

Contract Name:
PAsset

Compiler Version
v0.8.17+commit.8df45f5f

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, GNU AGPLv3 license
/**
 *Submitted for verification at BscScan.com on 2023-04-06
*/

// Sources flattened with hardhat v2.12.6 https://hardhat.org

// File contracts/pAsset.sol

// SPDX-License-Identifier: AGPL-3.0-or-later

// Copyright (C) 2017, 2018, 2019 dbrock, rain, mrchico

// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU Affero General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.
//
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
// GNU Affero General Public License for more details.
//
// You should have received a copy of the GNU Affero General Public License
// along with this program.  If not, see <https://www.gnu.org/licenses/>.

pragma solidity ^0.8.10;


contract PAsset {
    // --- Auth ---
    mapping (address => uint) public wards;
    function rely(address guy) external auth { wards[guy] = 1; }
    function deny(address guy) external auth { wards[guy] = 0; }
    modifier auth {
        require(wards[msg.sender] == 1, "Dai/not-authorized");
        _;
    }

    // --- ERC20 Data ---
    string  public constant name     = "ParalUni pToken";
    string  public          symbol;
    string  public constant version  = "1";
    uint8   public constant decimals = 18;
    uint256 public totalSupply;
    bool    public initialized;

    mapping (address => uint)                      public balanceOf;
    mapping (address => mapping (address => uint)) public allowance;
    mapping (address => uint)                      public nonces;

    event Approval(address indexed src, address indexed guy, uint wad);
    event Transfer(address indexed src, address indexed dst, uint wad);

    // --- Math ---
    function add(uint x, uint y) internal pure returns (uint z) {
        require((z = x + y) >= x);
    }
    function sub(uint x, uint y) internal pure returns (uint z) {
        require((z = x - y) <= x);
    }

    // --- EIP712 niceties ---
    bytes32 public DOMAIN_SEPARATOR;
    // bytes32 public constant PERMIT_TYPEHASH = keccak256("Permit(address holder,address spender,uint256 nonce,uint256 expiry,bool allowed)");
    bytes32 public constant PERMIT_TYPEHASH = 0xea2aa0a1be11a07ed86d755c93467f4f82362b452371d1ba94d1715123511acb;

    function initialize(address ward_, uint256 chainId_, string memory symbol_) public {
        require(!initialized, "can only be initialized once");
        initialized = true;
        wards[ward_] = 1;
        symbol = symbol_;
        DOMAIN_SEPARATOR = keccak256(abi.encode(
            keccak256("EIP712Domain(string name,string version,uint256 chainId,address verifyingContract)"),
            keccak256(bytes(name)),
            keccak256(bytes(version)),
            chainId_,
            address(this)
        ));
    }

    // --- Token ---
    function transfer(address dst, uint wad) external returns (bool) {
        return transferFrom(msg.sender, dst, wad);
    }
    function transferFrom(address src, address dst, uint wad)
        public returns (bool)
    {
        require(balanceOf[src] >= wad, "Dai/insufficient-balance");
        if (src != msg.sender && allowance[src][msg.sender] != type(uint256).max) {
            require(allowance[src][msg.sender] >= wad, "Dai/insufficient-allowance");
            allowance[src][msg.sender] = sub(allowance[src][msg.sender], wad);
        }
        balanceOf[src] = sub(balanceOf[src], wad);
        balanceOf[dst] = add(balanceOf[dst], wad);
        emit Transfer(src, dst, wad);
        return true;
    }
    function mint(address usr, uint wad) external auth {
        balanceOf[usr] = add(balanceOf[usr], wad);
        totalSupply    = add(totalSupply, wad);
        emit Transfer(address(0), usr, wad);
    }
    function burn(address usr, uint wad) external {
        require(balanceOf[usr] >= wad, "Dai/insufficient-balance");
        if (usr != msg.sender && allowance[usr][msg.sender] != type(uint256).max) {
            require(allowance[usr][msg.sender] >= wad, "Dai/insufficient-allowance");
            allowance[usr][msg.sender] = sub(allowance[usr][msg.sender], wad);
        }
        balanceOf[usr] = sub(balanceOf[usr], wad);
        totalSupply    = sub(totalSupply, wad);
        emit Transfer(usr, address(0), wad);
    }
    function approve(address usr, uint wad) external returns (bool) {
        allowance[msg.sender][usr] = wad;
        emit Approval(msg.sender, usr, wad);
        return true;
    }

    // --- Alias ---
    function push(address usr, uint wad) external {
        transferFrom(msg.sender, usr, wad);
    }
    function pull(address usr, uint wad) external {
        transferFrom(usr, msg.sender, wad);
    }
    function move(address src, address dst, uint wad) external {
        transferFrom(src, dst, wad);
    }

    // --- Approve by signature ---
    function permit(address holder, address spender, uint256 nonce, uint256 expiry,
                    bool allowed, uint8 v, bytes32 r, bytes32 s) external
    {
        bytes32 digest =
            keccak256(abi.encodePacked(
                "\x19\x01",
                DOMAIN_SEPARATOR,
                keccak256(abi.encode(PERMIT_TYPEHASH,
                                     holder,
                                     spender,
                                     nonce,
                                     expiry,
                                     allowed))
        ));

        require(holder != address(0), "Dai/invalid-address-0");
        require(holder == ecrecover(digest, v, r, s), "Dai/invalid-permit");
        require(expiry == 0 || block.timestamp <= expiry, "Dai/permit-expired");
        require(nonce == nonces[holder]++, "Dai/invalid-nonce");
        uint wad = allowed ? type(uint256).max : 0;
        allowance[holder][spender] = wad;
        emit Approval(holder, spender, wad);
    }
}

Contract Security Audit

Contract ABI

[{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"src","type":"address"},{"indexed":true,"internalType":"address","name":"guy","type":"address"},{"indexed":false,"internalType":"uint256","name":"wad","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"src","type":"address"},{"indexed":true,"internalType":"address","name":"dst","type":"address"},{"indexed":false,"internalType":"uint256","name":"wad","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[],"name":"DOMAIN_SEPARATOR","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"PERMIT_TYPEHASH","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"address","name":"","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"usr","type":"address"},{"internalType":"uint256","name":"wad","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"usr","type":"address"},{"internalType":"uint256","name":"wad","type":"uint256"}],"name":"burn","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"guy","type":"address"}],"name":"deny","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"ward_","type":"address"},{"internalType":"uint256","name":"chainId_","type":"uint256"},{"internalType":"string","name":"symbol_","type":"string"}],"name":"initialize","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"initialized","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"usr","type":"address"},{"internalType":"uint256","name":"wad","type":"uint256"}],"name":"mint","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"src","type":"address"},{"internalType":"address","name":"dst","type":"address"},{"internalType":"uint256","name":"wad","type":"uint256"}],"name":"move","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"nonces","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"holder","type":"address"},{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"nonce","type":"uint256"},{"internalType":"uint256","name":"expiry","type":"uint256"},{"internalType":"bool","name":"allowed","type":"bool"},{"internalType":"uint8","name":"v","type":"uint8"},{"internalType":"bytes32","name":"r","type":"bytes32"},{"internalType":"bytes32","name":"s","type":"bytes32"}],"name":"permit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"usr","type":"address"},{"internalType":"uint256","name":"wad","type":"uint256"}],"name":"pull","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"usr","type":"address"},{"internalType":"uint256","name":"wad","type":"uint256"}],"name":"push","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"guy","type":"address"}],"name":"rely","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":"dst","type":"address"},{"internalType":"uint256","name":"wad","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"src","type":"address"},{"internalType":"address","name":"dst","type":"address"},{"internalType":"uint256","name":"wad","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"version","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"wards","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"}]

608060405234801561001057600080fd5b5061137f806100206000396000f3fe608060405234801561001057600080fd5b50600436106101585760003560e01c80637ecebe00116100c3578063a9059cbb1161007c578063a9059cbb14610321578063b753a98c14610334578063bb35783b14610347578063bf353dbb1461035a578063dd62ed3e1461037a578063f2d5d56b146103a557600080fd5b80637ecebe00146102ad57806381d60956146102cd5780638fcbaf0c146102e057806395d89b41146102f35780639c52a7f1146102fb5780639dc29fac1461030e57600080fd5b8063313ce56711610115578063313ce567146102225780633644e5151461023c57806340c10f191461024557806354fd4d501461025a57806365fae35e1461027a57806370a082311461028d57600080fd5b806306fdde031461015d578063095ea7b3146101a1578063158ef93e146101c457806318160ddd146101d157806323b872dd146101e857806330adf81f146101fb575b600080fd5b61018b6040518060400160405280600f81526020016e2830b930b62ab73490382a37b5b2b760891b81525081565b6040516101989190610ef7565b60405180910390f35b6101b46101af366004610f61565b6103b8565b6040519015158152602001610198565b6003546101b49060ff1681565b6101da60025481565b604051908152602001610198565b6101b46101f6366004610f8b565b610425565b6101da7fea2aa0a1be11a07ed86d755c93467f4f82362b452371d1ba94d1715123511acb81565b61022a601281565b60405160ff9091168152602001610198565b6101da60075481565b610258610253366004610f61565b61064e565b005b61018b604051806040016040528060018152602001603160f81b81525081565b610258610288366004610fc7565b61070f565b6101da61029b366004610fc7565b60046020526000908152604090205481565b6101da6102bb366004610fc7565b60066020526000908152604090205481565b6102586102db366004610ff8565b61075b565b6102586102ee3660046110c3565b6108c0565b61018b610bb4565b610258610309366004610fc7565b610c42565b61025861031c366004610f61565b610c8b565b6101b461032f366004610f61565b610e81565b610258610342366004610f61565b610e95565b610258610355366004610f8b565b610ea5565b6101da610368366004610fc7565b60006020819052908152604090205481565b6101da61038836600461114d565b600560209081526000928352604080842090915290825290205481565b6102586103b3366004610f61565b610eb6565b3360008181526005602090815260408083206001600160a01b038716808552925280832085905551919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925906104139086815260200190565b60405180910390a35060015b92915050565b6001600160a01b03831660009081526004602052604081205482111561048d5760405162461bcd60e51b81526020600482015260186024820152774461692f696e73756666696369656e742d62616c616e636560401b60448201526064015b60405180910390fd5b6001600160a01b03841633148015906104cb57506001600160a01b038416600090815260056020908152604080832033845290915290205460001914155b15610596576001600160a01b03841660009081526005602090815260408083203384529091529020548211156105435760405162461bcd60e51b815260206004820152601a60248201527f4461692f696e73756666696369656e742d616c6c6f77616e63650000000000006044820152606401610484565b6001600160a01b03841660009081526005602090815260408083203384529091529020546105719083610ec1565b6001600160a01b03851660009081526005602090815260408083203384529091529020555b6001600160a01b0384166000908152600460205260409020546105b99083610ec1565b6001600160a01b0380861660009081526004602052604080822093909355908516815220546105e89083610edc565b6001600160a01b0380851660008181526004602052604090819020939093559151908616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9061063c9086815260200190565b60405180910390a35060019392505050565b3360009081526020819052604090205460011461067d5760405162461bcd60e51b815260040161048490611180565b6001600160a01b0382166000908152600460205260409020546106a09082610edc565b6001600160a01b0383166000908152600460205260409020556002546106c69082610edc565b6002556040518181526001600160a01b038316906000907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906020015b60405180910390a35050565b3360009081526020819052604090205460011461073e5760405162461bcd60e51b815260040161048490611180565b6001600160a01b0316600090815260208190526040902060019055565b60035460ff16156107ae5760405162461bcd60e51b815260206004820152601c60248201527f63616e206f6e6c7920626520696e697469616c697a6564206f6e6365000000006044820152606401610484565b6003805460ff191660019081179091556001600160a01b03841660009081526020819052604090208190556107e38282611234565b5050604080518082018252600f81526e2830b930b62ab73490382a37b5b2b760891b6020918201528151808301835260018152603160f81b9082015281517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f818301527f05cf33ef39bd422ec210a1134ac2ae7cc68dd8ba1b14ffa29961cb7f0f946bc6818401527fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc6606082015260808101939093523060a0808501919091528251808503909101815260c0909301909152815191012060075550565b600754604080517fea2aa0a1be11a07ed86d755c93467f4f82362b452371d1ba94d1715123511acb60208201526001600160a01b03808c169282019290925290891660608201526080810188905260a0810187905285151560c08201526000919060e0016040516020818303038152906040528051906020012060405160200161096192919061190160f01b81526002810192909252602282015260420190565b60408051601f19818403018152919052805160209091012090506001600160a01b0389166109c95760405162461bcd60e51b815260206004820152601560248201527404461692f696e76616c69642d616464726573732d3605c1b6044820152606401610484565b60408051600081526020810180835283905260ff861691810191909152606081018490526080810183905260019060a0016020604051602081039080840390855afa158015610a1c573d6000803e3d6000fd5b505050602060405103516001600160a01b0316896001600160a01b031614610a7b5760405162461bcd60e51b815260206004820152601260248201527111185a4bda5b9d985b1a590b5c195c9b5a5d60721b6044820152606401610484565b851580610a885750854211155b610ac95760405162461bcd60e51b815260206004820152601260248201527111185a4bdc195c9b5a5d0b595e1c1a5c995960721b6044820152606401610484565b6001600160a01b0389166000908152600660205260408120805491610aed8361130a565b919050558714610b335760405162461bcd60e51b81526020600482015260116024820152704461692f696e76616c69642d6e6f6e636560781b6044820152606401610484565b600085610b41576000610b45565b6000195b6001600160a01b038b81166000818152600560209081526040808320948f16808452948252918290208590559051848152939450919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a350505050505050505050565b60018054610bc1906111ac565b80601f0160208091040260200160405190810160405280929190818152602001828054610bed906111ac565b8015610c3a5780601f10610c0f57610100808354040283529160200191610c3a565b820191906000526020600020905b815481529060010190602001808311610c1d57829003601f168201915b505050505081565b33600090815260208190526040902054600114610c715760405162461bcd60e51b815260040161048490611180565b6001600160a01b0316600090815260208190526040812055565b6001600160a01b038216600090815260046020526040902054811115610cee5760405162461bcd60e51b81526020600482015260186024820152774461692f696e73756666696369656e742d62616c616e636560401b6044820152606401610484565b6001600160a01b0382163314801590610d2c57506001600160a01b038216600090815260056020908152604080832033845290915290205460001914155b15610df7576001600160a01b0382166000908152600560209081526040808320338452909152902054811115610da45760405162461bcd60e51b815260206004820152601a60248201527f4461692f696e73756666696369656e742d616c6c6f77616e63650000000000006044820152606401610484565b6001600160a01b0382166000908152600560209081526040808320338452909152902054610dd29082610ec1565b6001600160a01b03831660009081526005602090815260408083203384529091529020555b6001600160a01b038216600090815260046020526040902054610e1a9082610ec1565b6001600160a01b038316600090815260046020526040902055600254610e409082610ec1565b6002556040518181526000906001600160a01b038416907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90602001610703565b6000610e8e338484610425565b9392505050565b610ea0338383610425565b505050565b610eb0838383610425565b50505050565b610ea0823383610425565b600082610ece8382611323565b915081111561041f57600080fd5b600082610ee98382611336565b915081101561041f57600080fd5b600060208083528351808285015260005b81811015610f2457858101830151858201604001528201610f08565b506000604082860101526040601f19601f8301168501019250505092915050565b80356001600160a01b0381168114610f5c57600080fd5b919050565b60008060408385031215610f7457600080fd5b610f7d83610f45565b946020939093013593505050565b600080600060608486031215610fa057600080fd5b610fa984610f45565b9250610fb760208501610f45565b9150604084013590509250925092565b600060208284031215610fd957600080fd5b610e8e82610f45565b634e487b7160e01b600052604160045260246000fd5b60008060006060848603121561100d57600080fd5b61101684610f45565b925060208401359150604084013567ffffffffffffffff8082111561103a57600080fd5b818601915086601f83011261104e57600080fd5b81358181111561106057611060610fe2565b604051601f8201601f19908116603f0116810190838211818310171561108857611088610fe2565b816040528281528960208487010111156110a157600080fd5b8260208601602083013760006020848301015280955050505050509250925092565b600080600080600080600080610100898b0312156110e057600080fd5b6110e989610f45565b97506110f760208a01610f45565b965060408901359550606089013594506080890135801515811461111a57600080fd5b935060a089013560ff8116811461113057600080fd5b979a969950949793969295929450505060c08201359160e0013590565b6000806040838503121561116057600080fd5b61116983610f45565b915061117760208401610f45565b90509250929050565b60208082526012908201527111185a4bdb9bdd0b585d5d1a1bdc9a5e995960721b604082015260600190565b600181811c908216806111c057607f821691505b6020821081036111e057634e487b7160e01b600052602260045260246000fd5b50919050565b601f821115610ea057600081815260208120601f850160051c8101602086101561120d5750805b601f850160051c820191505b8181101561122c57828155600101611219565b505050505050565b815167ffffffffffffffff81111561124e5761124e610fe2565b6112628161125c84546111ac565b846111e6565b602080601f831160018114611297576000841561127f5750858301515b600019600386901b1c1916600185901b17855561122c565b600085815260208120601f198616915b828110156112c6578886015182559484019460019091019084016112a7565b50858210156112e45787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b634e487b7160e01b600052601160045260246000fd5b60006001820161131c5761131c6112f4565b5060010190565b8181038181111561041f5761041f6112f4565b8082018082111561041f5761041f6112f456fea264697066735822122095ce820913d36f6fbfeb0a6dd9c47ff56bb1c7b3d084b8f1a3f7dfd3ea15e14464736f6c63430008110033

Deployed Bytecode

0x608060405234801561001057600080fd5b50600436106101585760003560e01c80637ecebe00116100c3578063a9059cbb1161007c578063a9059cbb14610321578063b753a98c14610334578063bb35783b14610347578063bf353dbb1461035a578063dd62ed3e1461037a578063f2d5d56b146103a557600080fd5b80637ecebe00146102ad57806381d60956146102cd5780638fcbaf0c146102e057806395d89b41146102f35780639c52a7f1146102fb5780639dc29fac1461030e57600080fd5b8063313ce56711610115578063313ce567146102225780633644e5151461023c57806340c10f191461024557806354fd4d501461025a57806365fae35e1461027a57806370a082311461028d57600080fd5b806306fdde031461015d578063095ea7b3146101a1578063158ef93e146101c457806318160ddd146101d157806323b872dd146101e857806330adf81f146101fb575b600080fd5b61018b6040518060400160405280600f81526020016e2830b930b62ab73490382a37b5b2b760891b81525081565b6040516101989190610ef7565b60405180910390f35b6101b46101af366004610f61565b6103b8565b6040519015158152602001610198565b6003546101b49060ff1681565b6101da60025481565b604051908152602001610198565b6101b46101f6366004610f8b565b610425565b6101da7fea2aa0a1be11a07ed86d755c93467f4f82362b452371d1ba94d1715123511acb81565b61022a601281565b60405160ff9091168152602001610198565b6101da60075481565b610258610253366004610f61565b61064e565b005b61018b604051806040016040528060018152602001603160f81b81525081565b610258610288366004610fc7565b61070f565b6101da61029b366004610fc7565b60046020526000908152604090205481565b6101da6102bb366004610fc7565b60066020526000908152604090205481565b6102586102db366004610ff8565b61075b565b6102586102ee3660046110c3565b6108c0565b61018b610bb4565b610258610309366004610fc7565b610c42565b61025861031c366004610f61565b610c8b565b6101b461032f366004610f61565b610e81565b610258610342366004610f61565b610e95565b610258610355366004610f8b565b610ea5565b6101da610368366004610fc7565b60006020819052908152604090205481565b6101da61038836600461114d565b600560209081526000928352604080842090915290825290205481565b6102586103b3366004610f61565b610eb6565b3360008181526005602090815260408083206001600160a01b038716808552925280832085905551919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925906104139086815260200190565b60405180910390a35060015b92915050565b6001600160a01b03831660009081526004602052604081205482111561048d5760405162461bcd60e51b81526020600482015260186024820152774461692f696e73756666696369656e742d62616c616e636560401b60448201526064015b60405180910390fd5b6001600160a01b03841633148015906104cb57506001600160a01b038416600090815260056020908152604080832033845290915290205460001914155b15610596576001600160a01b03841660009081526005602090815260408083203384529091529020548211156105435760405162461bcd60e51b815260206004820152601a60248201527f4461692f696e73756666696369656e742d616c6c6f77616e63650000000000006044820152606401610484565b6001600160a01b03841660009081526005602090815260408083203384529091529020546105719083610ec1565b6001600160a01b03851660009081526005602090815260408083203384529091529020555b6001600160a01b0384166000908152600460205260409020546105b99083610ec1565b6001600160a01b0380861660009081526004602052604080822093909355908516815220546105e89083610edc565b6001600160a01b0380851660008181526004602052604090819020939093559151908616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9061063c9086815260200190565b60405180910390a35060019392505050565b3360009081526020819052604090205460011461067d5760405162461bcd60e51b815260040161048490611180565b6001600160a01b0382166000908152600460205260409020546106a09082610edc565b6001600160a01b0383166000908152600460205260409020556002546106c69082610edc565b6002556040518181526001600160a01b038316906000907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906020015b60405180910390a35050565b3360009081526020819052604090205460011461073e5760405162461bcd60e51b815260040161048490611180565b6001600160a01b0316600090815260208190526040902060019055565b60035460ff16156107ae5760405162461bcd60e51b815260206004820152601c60248201527f63616e206f6e6c7920626520696e697469616c697a6564206f6e6365000000006044820152606401610484565b6003805460ff191660019081179091556001600160a01b03841660009081526020819052604090208190556107e38282611234565b5050604080518082018252600f81526e2830b930b62ab73490382a37b5b2b760891b6020918201528151808301835260018152603160f81b9082015281517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f818301527f05cf33ef39bd422ec210a1134ac2ae7cc68dd8ba1b14ffa29961cb7f0f946bc6818401527fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc6606082015260808101939093523060a0808501919091528251808503909101815260c0909301909152815191012060075550565b600754604080517fea2aa0a1be11a07ed86d755c93467f4f82362b452371d1ba94d1715123511acb60208201526001600160a01b03808c169282019290925290891660608201526080810188905260a0810187905285151560c08201526000919060e0016040516020818303038152906040528051906020012060405160200161096192919061190160f01b81526002810192909252602282015260420190565b60408051601f19818403018152919052805160209091012090506001600160a01b0389166109c95760405162461bcd60e51b815260206004820152601560248201527404461692f696e76616c69642d616464726573732d3605c1b6044820152606401610484565b60408051600081526020810180835283905260ff861691810191909152606081018490526080810183905260019060a0016020604051602081039080840390855afa158015610a1c573d6000803e3d6000fd5b505050602060405103516001600160a01b0316896001600160a01b031614610a7b5760405162461bcd60e51b815260206004820152601260248201527111185a4bda5b9d985b1a590b5c195c9b5a5d60721b6044820152606401610484565b851580610a885750854211155b610ac95760405162461bcd60e51b815260206004820152601260248201527111185a4bdc195c9b5a5d0b595e1c1a5c995960721b6044820152606401610484565b6001600160a01b0389166000908152600660205260408120805491610aed8361130a565b919050558714610b335760405162461bcd60e51b81526020600482015260116024820152704461692f696e76616c69642d6e6f6e636560781b6044820152606401610484565b600085610b41576000610b45565b6000195b6001600160a01b038b81166000818152600560209081526040808320948f16808452948252918290208590559051848152939450919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a350505050505050505050565b60018054610bc1906111ac565b80601f0160208091040260200160405190810160405280929190818152602001828054610bed906111ac565b8015610c3a5780601f10610c0f57610100808354040283529160200191610c3a565b820191906000526020600020905b815481529060010190602001808311610c1d57829003601f168201915b505050505081565b33600090815260208190526040902054600114610c715760405162461bcd60e51b815260040161048490611180565b6001600160a01b0316600090815260208190526040812055565b6001600160a01b038216600090815260046020526040902054811115610cee5760405162461bcd60e51b81526020600482015260186024820152774461692f696e73756666696369656e742d62616c616e636560401b6044820152606401610484565b6001600160a01b0382163314801590610d2c57506001600160a01b038216600090815260056020908152604080832033845290915290205460001914155b15610df7576001600160a01b0382166000908152600560209081526040808320338452909152902054811115610da45760405162461bcd60e51b815260206004820152601a60248201527f4461692f696e73756666696369656e742d616c6c6f77616e63650000000000006044820152606401610484565b6001600160a01b0382166000908152600560209081526040808320338452909152902054610dd29082610ec1565b6001600160a01b03831660009081526005602090815260408083203384529091529020555b6001600160a01b038216600090815260046020526040902054610e1a9082610ec1565b6001600160a01b038316600090815260046020526040902055600254610e409082610ec1565b6002556040518181526000906001600160a01b038416907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90602001610703565b6000610e8e338484610425565b9392505050565b610ea0338383610425565b505050565b610eb0838383610425565b50505050565b610ea0823383610425565b600082610ece8382611323565b915081111561041f57600080fd5b600082610ee98382611336565b915081101561041f57600080fd5b600060208083528351808285015260005b81811015610f2457858101830151858201604001528201610f08565b506000604082860101526040601f19601f8301168501019250505092915050565b80356001600160a01b0381168114610f5c57600080fd5b919050565b60008060408385031215610f7457600080fd5b610f7d83610f45565b946020939093013593505050565b600080600060608486031215610fa057600080fd5b610fa984610f45565b9250610fb760208501610f45565b9150604084013590509250925092565b600060208284031215610fd957600080fd5b610e8e82610f45565b634e487b7160e01b600052604160045260246000fd5b60008060006060848603121561100d57600080fd5b61101684610f45565b925060208401359150604084013567ffffffffffffffff8082111561103a57600080fd5b818601915086601f83011261104e57600080fd5b81358181111561106057611060610fe2565b604051601f8201601f19908116603f0116810190838211818310171561108857611088610fe2565b816040528281528960208487010111156110a157600080fd5b8260208601602083013760006020848301015280955050505050509250925092565b600080600080600080600080610100898b0312156110e057600080fd5b6110e989610f45565b97506110f760208a01610f45565b965060408901359550606089013594506080890135801515811461111a57600080fd5b935060a089013560ff8116811461113057600080fd5b979a969950949793969295929450505060c08201359160e0013590565b6000806040838503121561116057600080fd5b61116983610f45565b915061117760208401610f45565b90509250929050565b60208082526012908201527111185a4bdb9bdd0b585d5d1a1bdc9a5e995960721b604082015260600190565b600181811c908216806111c057607f821691505b6020821081036111e057634e487b7160e01b600052602260045260246000fd5b50919050565b601f821115610ea057600081815260208120601f850160051c8101602086101561120d5750805b601f850160051c820191505b8181101561122c57828155600101611219565b505050505050565b815167ffffffffffffffff81111561124e5761124e610fe2565b6112628161125c84546111ac565b846111e6565b602080601f831160018114611297576000841561127f5750858301515b600019600386901b1c1916600185901b17855561122c565b600085815260208120601f198616915b828110156112c6578886015182559484019460019091019084016112a7565b50858210156112e45787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b634e487b7160e01b600052601160045260246000fd5b60006001820161131c5761131c6112f4565b5060010190565b8181038181111561041f5761041f6112f4565b8082018082111561041f5761041f6112f456fea264697066735822122095ce820913d36f6fbfeb0a6dd9c47ff56bb1c7b3d084b8f1a3f7dfd3ea15e14464736f6c63430008110033

Deployed Bytecode Sourcemap

917:5204:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1271:52;;;;;;;;;;;;;;;-1:-1:-1;;;1271:52:0;;;;;;;;;;;;:::i;:::-;;;;;;;;4511:183;;;;;;:::i;:::-;;:::i;:::-;;;1169:14:1;;1162:22;1144:41;;1132:2;1117:18;4511:183:0;1004:187:1;1489:26:0;;;;;;;;;1456;;;;;;;;;1342:25:1;;;1330:2;1315:18;1456:26:0;1196:177:1;3155:599:0;;;;;;:::i;:::-;;:::i;2339:108::-;;2381:66;2339:108;;1412:37;;1447:2;1412:37;;;;;2065:4:1;2053:17;;;2035:36;;2023:2;2008:18;1412:37:0;1893:184:1;2156:31:0;;;;;;3760:206;;;;;;:::i;:::-;;:::i;:::-;;1367:38;;;;;;;;;;;;;;;-1:-1:-1;;;1367:38:0;;;;;1006:60;;;;;;:::i;:::-;;:::i;1524:63::-;;;;;;:::i;:::-;;;;;;;;;;;;;;1664:60;;;;;;:::i;:::-;;;;;;;;;;;;;;2456:538;;;;;;:::i;:::-;;:::i;5084:1034::-;;;;;;:::i;:::-;;:::i;1330:30::-;;;:::i;1072:60::-;;;;;;:::i;:::-;;:::i;3972:533::-;;;;;;:::i;:::-;;:::i;3024:125::-;;;;;;:::i;:::-;;:::i;4724:99::-;;;;;;:::i;:::-;;:::i;4934:105::-;;;;;;:::i;:::-;;:::i;961:38::-;;;;;;:::i;:::-;;;;;;;;;;;;;;;1594:63;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;4829:99;;;;;;:::i;:::-;;:::i;4511:183::-;4596:10;4569:4;4586:21;;;:9;:21;;;;;;;;-1:-1:-1;;;;;4586:26:0;;;;;;;;;;:32;;;4634:30;4569:4;;4586:26;;4634:30;;;;4615:3;1342:25:1;;1330:2;1315:18;;1196:177;4634:30:0;;;;;;;;-1:-1:-1;4682:4:0;4511:183;;;;;:::o;3155:599::-;-1:-1:-1;;;;;3268:14:0;;3238:4;3268:14;;;:9;:14;;;;;;:21;-1:-1:-1;3268:21:0;3260:58;;;;-1:-1:-1;;;3260:58:0;;4809:2:1;3260:58:0;;;4791:21:1;4848:2;4828:18;;;4821:30;-1:-1:-1;;;4867:18:1;;;4860:54;4931:18;;3260:58:0;;;;;;;;;-1:-1:-1;;;;;3333:17:0;;3340:10;3333:17;;;;:68;;-1:-1:-1;;;;;;3354:14:0;;;;;;:9;:14;;;;;;;;3369:10;3354:26;;;;;;;;-1:-1:-1;;3354:47:0;;3333:68;3329:253;;;-1:-1:-1;;;;;3426:14:0;;;;;;:9;:14;;;;;;;;3441:10;3426:26;;;;;;;;:33;-1:-1:-1;3426:33:0;3418:72;;;;-1:-1:-1;;;3418:72:0;;5162:2:1;3418:72:0;;;5144:21:1;5201:2;5181:18;;;5174:30;5240:28;5220:18;;;5213:56;5286:18;;3418:72:0;4960:350:1;3418:72:0;-1:-1:-1;;;;;3538:14:0;;;;;;:9;:14;;;;;;;;3553:10;3538:26;;;;;;;;3534:36;;3566:3;3534;:36::i;:::-;-1:-1:-1;;;;;3505:14:0;;;;;;:9;:14;;;;;;;;3520:10;3505:26;;;;;;;:65;3329:253;-1:-1:-1;;;;;3613:14:0;;;;;;:9;:14;;;;;;3609:24;;3629:3;3609;:24::i;:::-;-1:-1:-1;;;;;3592:14:0;;;;;;;:9;:14;;;;;;:41;;;;3665:14;;;;;;;3661:24;;3681:3;3661;:24::i;:::-;-1:-1:-1;;;;;3644:14:0;;;;;;;:9;:14;;;;;;;:41;;;;3701:23;;;;;;;;;;3720:3;1342:25:1;;1330:2;1315:18;;1196:177;3701:23:0;;;;;;;;-1:-1:-1;3742:4:0;3155:599;;;;;:::o;3760:206::-;1177:10;1171:5;:17;;;;;;;;;;;1192:1;1171:22;1163:53;;;;-1:-1:-1;;;1163:53:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;3843:14:0;::::1;;::::0;;;:9:::1;:14;::::0;;;;;3839:24:::1;::::0;3859:3;3839::::1;:24::i;:::-;-1:-1:-1::0;;;;;3822:14:0;::::1;;::::0;;;:9:::1;:14;::::0;;;;:41;3895:11:::1;::::0;3891:21:::1;::::0;3908:3;3891::::1;:21::i;:::-;3874:11;:38:::0;3928:30:::1;::::0;1342:25:1;;;-1:-1:-1;;;;;3928:30:0;::::1;::::0;3945:1:::1;::::0;3928:30:::1;::::0;1330:2:1;1315:18;3928:30:0::1;;;;;;;;3760:206:::0;;:::o;1006:60::-;1177:10;1171:5;:17;;;;;;;;;;;1192:1;1171:22;1163:53;;;;-1:-1:-1;;;1163:53:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;1049:10:0::1;:5;:10:::0;;;::::1;::::0;;;;;;1062:1:::1;1049:14:::0;;1006:60::o;2456:538::-;2559:11;;;;2558:12;2550:53;;;;-1:-1:-1;;;2550:53:0;;5864:2:1;2550:53:0;;;5846:21:1;5903:2;5883:18;;;5876:30;5942;5922:18;;;5915:58;5990:18;;2550:53:0;5662:352:1;2550:53:0;2614:11;:18;;-1:-1:-1;;2614:18:0;2628:4;2614:18;;;;;;-1:-1:-1;;;;;2643:12:0;;2614:11;2643:12;;;;;;;;;;:16;;;2670;2679:7;2628:4;2670:16;:::i;:::-;-1:-1:-1;;2877:4:0;;;;;;;;;;;-1:-1:-1;;;2877:4:0;;;;;2914:7;;;;;;;;;;-1:-1:-1;;;2914:7:0;;;;2726:259;;2751:95;2726:259;;;8867:25:1;2861:22:0;8908:18:1;;;8901:34;2898:25:0;8951:18:1;;;8944:34;8994:18;;;8987:34;;;;2969:4:0;9037:19:1;;;;9030:61;;;;2726:259:0;;;;;;;;;;8839:19:1;;;;2726:259:0;;;2716:270;;;;;2697:16;:289;-1:-1:-1;2456:538:0:o;5084:1034::-;5359:16;;5404:258;;;2381:66;5404:258;;;9383:25:1;-1:-1:-1;;;;;9482:15:1;;;9462:18;;;9455:43;;;;9534:15;;;9514:18;;;9507:43;9566:18;;;9559:34;;;9609:19;;;9602:35;;;9681:14;;9674:22;9653:19;;;9646:51;5255:14:0;;5359:16;9355:19:1;;5404:258:0;;;;;;;;;;;;5394:269;;;;;;5295:379;;;;;;;;-1:-1:-1;;;9966:27:1;;10018:1;10009:11;;10002:27;;;;10054:2;10045:12;;10038:28;10091:2;10082:12;;9708:392;5295:379:0;;;;-1:-1:-1;;5295:379:0;;;;;;;;;5285:390;;5295:379;5285:390;;;;;-1:-1:-1;;;;;;5696:20:0;;5688:54;;;;-1:-1:-1;;;5688:54:0;;10307:2:1;5688:54:0;;;10289:21:1;10346:2;10326:18;;;10319:30;-1:-1:-1;;;10365:18:1;;;10358:51;10426:18;;5688:54:0;10105:345:1;5688:54:0;5771:26;;;;;;;;;;;;10682:25:1;;;10755:4;10743:17;;10723:18;;;10716:45;;;;10777:18;;;10770:34;;;10820:18;;;10813:34;;;5771:26:0;;10654:19:1;;5771:26:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;5761:36:0;:6;-1:-1:-1;;;;;5761:36:0;;5753:67;;;;-1:-1:-1;;;5753:67:0;;11060:2:1;5753:67:0;;;11042:21:1;11099:2;11079:18;;;11072:30;-1:-1:-1;;;11118:18:1;;;11111:48;11176:18;;5753:67:0;10858:342:1;5753:67:0;5839:11;;;:40;;;5873:6;5854:15;:25;;5839:40;5831:71;;;;-1:-1:-1;;;5831:71:0;;11407:2:1;5831:71:0;;;11389:21:1;11446:2;11426:18;;;11419:30;-1:-1:-1;;;11465:18:1;;;11458:48;11523:18;;5831:71:0;11205:342:1;5831:71:0;-1:-1:-1;;;;;5930:14:0;;;;;;:6;:14;;;;;:16;;;;;;:::i;:::-;;;;;5921:5;:25;5913:55;;;;-1:-1:-1;;;5913:55:0;;12026:2:1;5913:55:0;;;12008:21:1;12065:2;12045:18;;;12038:30;-1:-1:-1;;;12084:18:1;;;12077:47;12141:18;;5913:55:0;11824:341:1;5913:55:0;5979:8;5990:7;:31;;6020:1;5990:31;;;-1:-1:-1;;5990:31:0;-1:-1:-1;;;;;6032:17:0;;;;;;;:9;:17;;;;;;;;:26;;;;;;;;;;;;;:32;;;6080:30;;1342:25:1;;;6032:32:0;;-1:-1:-1;6032:26:0;;:17;;6080:30;;1315:18:1;6080:30:0;;;;;;;5244:874;;5084:1034;;;;;;;;:::o;1330:30::-;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;1072:60::-;1177:10;1171:5;:17;;;;;;;;;;;1192:1;1171:22;1163:53;;;;-1:-1:-1;;;1163:53:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;1115:10:0::1;1128:1;1115:10:::0;;;::::1;::::0;;;;;;:14;1072:60::o;3972:533::-;-1:-1:-1;;;;;4037:14:0;;;;;;:9;:14;;;;;;:21;-1:-1:-1;4037:21:0;4029:58;;;;-1:-1:-1;;;4029:58:0;;4809:2:1;4029:58:0;;;4791:21:1;4848:2;4828:18;;;4821:30;-1:-1:-1;;;4867:18:1;;;4860:54;4931:18;;4029:58:0;4607:348:1;4029:58:0;-1:-1:-1;;;;;4102:17:0;;4109:10;4102:17;;;;:68;;-1:-1:-1;;;;;;4123:14:0;;;;;;:9;:14;;;;;;;;4138:10;4123:26;;;;;;;;-1:-1:-1;;4123:47:0;;4102:68;4098:253;;;-1:-1:-1;;;;;4195:14:0;;;;;;:9;:14;;;;;;;;4210:10;4195:26;;;;;;;;:33;-1:-1:-1;4195:33:0;4187:72;;;;-1:-1:-1;;;4187:72:0;;5162:2:1;4187:72:0;;;5144:21:1;5201:2;5181:18;;;5174:30;5240:28;5220:18;;;5213:56;5286:18;;4187:72:0;4960:350:1;4187:72:0;-1:-1:-1;;;;;4307:14:0;;;;;;:9;:14;;;;;;;;4322:10;4307:26;;;;;;;;4303:36;;4335:3;4303;:36::i;:::-;-1:-1:-1;;;;;4274:14:0;;;;;;:9;:14;;;;;;;;4289:10;4274:26;;;;;;;:65;4098:253;-1:-1:-1;;;;;4382:14:0;;;;;;:9;:14;;;;;;4378:24;;4398:3;4378;:24::i;:::-;-1:-1:-1;;;;;4361:14:0;;;;;;:9;:14;;;;;:41;4434:11;;4430:21;;4447:3;4430;:21::i;:::-;4413:11;:38;4467:30;;1342:25:1;;;4489:1:0;;-1:-1:-1;;;;;4467:30:0;;;;;1330:2:1;1315:18;4467:30:0;1196:177:1;3024:125:0;3083:4;3107:34;3120:10;3132:3;3137;3107:12;:34::i;:::-;3100:41;3024:125;-1:-1:-1;;;3024:125:0:o;4724:99::-;4781:34;4794:10;4806:3;4811;4781:12;:34::i;:::-;;4724:99;;:::o;4934:105::-;5004:27;5017:3;5022;5027;5004:12;:27::i;:::-;;4934:105;;;:::o;4829:99::-;4886:34;4899:3;4904:10;4916:3;4886:12;:34::i;2012:104::-;2064:6;2106:1;2096:5;2100:1;2106;2096:5;:::i;:::-;2092:9;;;2091:16;;2083:25;;;;;1902:104;1954:6;1996:1;1986:5;1990:1;1996;1986:5;:::i;:::-;1982:9;;;1981:16;;1973:25;;;;;14:548:1;126:4;155:2;184;173:9;166:21;216:6;210:13;259:6;254:2;243:9;239:18;232:34;284:1;294:140;308:6;305:1;302:13;294:140;;;403:14;;;399:23;;393:30;369:17;;;388:2;365:26;358:66;323:10;;294:140;;;298:3;483:1;478:2;469:6;458:9;454:22;450:31;443:42;553:2;546;542:7;537:2;529:6;525:15;521:29;510:9;506:45;502:54;494:62;;;;14:548;;;;:::o;567:173::-;635:20;;-1:-1:-1;;;;;684:31:1;;674:42;;664:70;;730:1;727;720:12;664:70;567:173;;;:::o;745:254::-;813:6;821;874:2;862:9;853:7;849:23;845:32;842:52;;;890:1;887;880:12;842:52;913:29;932:9;913:29;:::i;:::-;903:39;989:2;974:18;;;;961:32;;-1:-1:-1;;;745:254:1:o;1378:328::-;1455:6;1463;1471;1524:2;1512:9;1503:7;1499:23;1495:32;1492:52;;;1540:1;1537;1530:12;1492:52;1563:29;1582:9;1563:29;:::i;:::-;1553:39;;1611:38;1645:2;1634:9;1630:18;1611:38;:::i;:::-;1601:48;;1696:2;1685:9;1681:18;1668:32;1658:42;;1378:328;;;;;:::o;2082:186::-;2141:6;2194:2;2182:9;2173:7;2169:23;2165:32;2162:52;;;2210:1;2207;2200:12;2162:52;2233:29;2252:9;2233:29;:::i;2273:127::-;2334:10;2329:3;2325:20;2322:1;2315:31;2365:4;2362:1;2355:15;2389:4;2386:1;2379:15;2405:1064;2492:6;2500;2508;2561:2;2549:9;2540:7;2536:23;2532:32;2529:52;;;2577:1;2574;2567:12;2529:52;2600:29;2619:9;2600:29;:::i;:::-;2590:39;;2676:2;2665:9;2661:18;2648:32;2638:42;;2731:2;2720:9;2716:18;2703:32;2754:18;2795:2;2787:6;2784:14;2781:34;;;2811:1;2808;2801:12;2781:34;2849:6;2838:9;2834:22;2824:32;;2894:7;2887:4;2883:2;2879:13;2875:27;2865:55;;2916:1;2913;2906:12;2865:55;2952:2;2939:16;2974:2;2970;2967:10;2964:36;;;2980:18;;:::i;:::-;3055:2;3049:9;3023:2;3109:13;;-1:-1:-1;;3105:22:1;;;3129:2;3101:31;3097:40;3085:53;;;3153:18;;;3173:22;;;3150:46;3147:72;;;3199:18;;:::i;:::-;3239:10;3235:2;3228:22;3274:2;3266:6;3259:18;3314:7;3309:2;3304;3300;3296:11;3292:20;3289:33;3286:53;;;3335:1;3332;3325:12;3286:53;3391:2;3386;3382;3378:11;3373:2;3365:6;3361:15;3348:46;3436:1;3431:2;3426;3418:6;3414:15;3410:24;3403:35;3457:6;3447:16;;;;;;;2405:1064;;;;;:::o;3474:863::-;3591:6;3599;3607;3615;3623;3631;3639;3647;3700:3;3688:9;3679:7;3675:23;3671:33;3668:53;;;3717:1;3714;3707:12;3668:53;3740:29;3759:9;3740:29;:::i;:::-;3730:39;;3788:38;3822:2;3811:9;3807:18;3788:38;:::i;:::-;3778:48;;3873:2;3862:9;3858:18;3845:32;3835:42;;3924:2;3913:9;3909:18;3896:32;3886:42;;3978:3;3967:9;3963:19;3950:33;4026:5;4019:13;4012:21;4005:5;4002:32;3992:60;;4048:1;4045;4038:12;3992:60;4071:5;-1:-1:-1;4128:3:1;4113:19;;4100:33;4177:4;4164:18;;4152:31;;4142:59;;4197:1;4194;4187:12;4142:59;3474:863;;;;-1:-1:-1;3474:863:1;;;;;;4220:7;;-1:-1:-1;;;4274:3:1;4259:19;;4246:33;;4326:3;4311:19;4298:33;;3474:863::o;4342:260::-;4410:6;4418;4471:2;4459:9;4450:7;4446:23;4442:32;4439:52;;;4487:1;4484;4477:12;4439:52;4510:29;4529:9;4510:29;:::i;:::-;4500:39;;4558:38;4592:2;4581:9;4577:18;4558:38;:::i;:::-;4548:48;;4342:260;;;;;:::o;5315:342::-;5517:2;5499:21;;;5556:2;5536:18;;;5529:30;-1:-1:-1;;;5590:2:1;5575:18;;5568:48;5648:2;5633:18;;5315:342::o;6019:380::-;6098:1;6094:12;;;;6141;;;6162:61;;6216:4;6208:6;6204:17;6194:27;;6162:61;6269:2;6261:6;6258:14;6238:18;6235:38;6232:161;;6315:10;6310:3;6306:20;6303:1;6296:31;6350:4;6347:1;6340:15;6378:4;6375:1;6368:15;6232:161;;6019:380;;;:::o;6530:545::-;6632:2;6627:3;6624:11;6621:448;;;6668:1;6693:5;6689:2;6682:17;6738:4;6734:2;6724:19;6808:2;6796:10;6792:19;6789:1;6785:27;6779:4;6775:38;6844:4;6832:10;6829:20;6826:47;;;-1:-1:-1;6867:4:1;6826:47;6922:2;6917:3;6913:12;6910:1;6906:20;6900:4;6896:31;6886:41;;6977:82;6995:2;6988:5;6985:13;6977:82;;;7040:17;;;7021:1;7010:13;6977:82;;;6981:3;;;6530:545;;;:::o;7251:1352::-;7377:3;7371:10;7404:18;7396:6;7393:30;7390:56;;;7426:18;;:::i;:::-;7455:97;7545:6;7505:38;7537:4;7531:11;7505:38;:::i;:::-;7499:4;7455:97;:::i;:::-;7607:4;;7671:2;7660:14;;7688:1;7683:663;;;;8390:1;8407:6;8404:89;;;-1:-1:-1;8459:19:1;;;8453:26;8404:89;-1:-1:-1;;7208:1:1;7204:11;;;7200:24;7196:29;7186:40;7232:1;7228:11;;;7183:57;8506:81;;7653:944;;7683:663;6477:1;6470:14;;;6514:4;6501:18;;-1:-1:-1;;7719:20:1;;;7837:236;7851:7;7848:1;7845:14;7837:236;;;7940:19;;;7934:26;7919:42;;8032:27;;;;8000:1;7988:14;;;;7867:19;;7837:236;;;7841:3;8101:6;8092:7;8089:19;8086:201;;;8162:19;;;8156:26;-1:-1:-1;;8245:1:1;8241:14;;;8257:3;8237:24;8233:37;8229:42;8214:58;8199:74;;8086:201;-1:-1:-1;;;;;8333:1:1;8317:14;;;8313:22;8300:36;;-1:-1:-1;7251:1352:1:o;11552:127::-;11613:10;11608:3;11604:20;11601:1;11594:31;11644:4;11641:1;11634:15;11668:4;11665:1;11658:15;11684:135;11723:3;11744:17;;;11741:43;;11764:18;;:::i;:::-;-1:-1:-1;11811:1:1;11800:13;;11684:135::o;12170:128::-;12237:9;;;12258:11;;;12255:37;;;12272:18;;:::i;12303:125::-;12368:9;;;12389:10;;;12386:36;;;12402:18;;:::i

Swarm Source

ipfs://95ce820913d36f6fbfeb0a6dd9c47ff56bb1c7b3d084b8f1a3f7dfd3ea15e144
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.