Contract 0xB5F5AF1087A8DA62A23b08C00C6ec9af21F397a1 8

 
Txn Hash Method
Block
From
To
Value [Txn Fee]
0xb17773084aa81250f0dc80c523321421ef423191fc04f37d024dde96c111c96aPoint_buy546844852023-01-29 22:05:146 hrs 23 mins ago0x5bc7bcba624bb090865811f32dba5b9baf7ca761 IN  Rarity: Attributes0 FTM0.003203189948
0x6748f3fa360d8ea8743c7bed72088c4339c203e9681d18f8c1ddeddacf306a39Point_buy546455142023-01-29 7:58:1120 hrs 30 mins ago0xad6e362b5e01b5fd97ab32dbe12664abd2f766a9 IN  Rarity: Attributes0 FTM0.005588336193
0xbf4a3e791e41ad80492bcde89b21fcb771b44a6f2d080edca604002b14644c42Point_buy546454242023-01-29 7:56:4920 hrs 31 mins ago0xad6e362b5e01b5fd97ab32dbe12664abd2f766a9 IN  Rarity: Attributes0 FTM0.00994172478
0x5f20e7a20f821af4883dadba790f10a66aa36ed1986623345f0ee662e320dae2Point_buy545507462023-01-27 16:17:522 days 12 hrs ago0x60b31d50355420aa2bec0124f8215a1128b025d4 IN  Rarity: Attributes0 FTM0.004255076415
0xd2f550401dd533b7ad63f62762a36859d382abc5556be36fef0b2a8fad282ca6Point_buy545507222023-01-27 16:17:062 days 12 hrs ago0x60b31d50355420aa2bec0124f8215a1128b025d4 IN  Rarity: Attributes0 FTM0.004255076415
0x67269d73c637eaa48f38d15e7f211a45ec27cd7d523a66fef9a99813845b1c66Point_buy545507002023-01-27 16:16:172 days 12 hrs ago0x60b31d50355420aa2bec0124f8215a1128b025d4 IN  Rarity: Attributes0 FTM0.004255076415
0xc919e552ff85d3850bb1291b67467825ae690ca116e316d7784c9310f2f3323dPoint_buy545506222023-01-27 16:13:252 days 12 hrs ago0x60b31d50355420aa2bec0124f8215a1128b025d4 IN  Rarity: Attributes0 FTM0.004255076415
0x2bbe06969dc2560bbb093ff0893fd822cc1c116b29c2ee84ca906d6477993422Point_buy545505932023-01-27 16:12:262 days 12 hrs ago0x60b31d50355420aa2bec0124f8215a1128b025d4 IN  Rarity: Attributes0 FTM0.004255076415
0x1827677fae80a79289914d742ddb0106c30f4467912d36603902512c09429023Point_buy545505762023-01-27 16:11:532 days 12 hrs ago0x60b31d50355420aa2bec0124f8215a1128b025d4 IN  Rarity: Attributes0 FTM0.004255076415
0xd003be5b5afb00cb17a20c0ba3a97f653ab79741b2f11702322d5e729873b80dPoint_buy545505592023-01-27 16:11:222 days 12 hrs ago0x60b31d50355420aa2bec0124f8215a1128b025d4 IN  Rarity: Attributes0 FTM0.004255076415
0x632a85201d42b3d5d6280727d06909b4e0b5ad6cb37d53b74d5a589bbca13c11Point_buy545505422023-01-27 16:10:472 days 12 hrs ago0x60b31d50355420aa2bec0124f8215a1128b025d4 IN  Rarity: Attributes0 FTM0.004255076415
0x905c01a6e7e9f7b379f0771023fb23b780e697361e6a74fb7773b9503fe74f11Point_buy545505312023-01-27 16:10:272 days 12 hrs ago0x60b31d50355420aa2bec0124f8215a1128b025d4 IN  Rarity: Attributes0 FTM0.004255076415
0xf45705140b207616a37fc3461554923a1f4bf98ce9c957e72af663fcf29338b6Point_buy544826272023-01-26 16:17:533 days 12 hrs ago0x4d9ba778b7f121e58e5d3bb6aef514e035a7c7f5 IN  Rarity: Attributes0 FTM0.042880191028
0x7294b430c3f7dc1df8012025e37217bc807d1444e8aaec0c025f0279fe8d4444Point_buy544825462023-01-26 16:16:203 days 12 hrs ago0x4d9ba778b7f121e58e5d3bb6aef514e035a7c7f5 IN  Rarity: Attributes0 FTM0.043035261266
0x689401ecbc865956915f4ad25a8ba779628064a3ad53057879c418860b12ef53Point_buy544824922023-01-26 16:15:263 days 12 hrs ago0x4d9ba778b7f121e58e5d3bb6aef514e035a7c7f5 IN  Rarity: Attributes0 FTM0.043195510471
0x1c7efa6b156f44298fdd96b19d3b495383b8269ee2263e73ccfde16867bd38e8Point_buy544824222023-01-26 16:14:193 days 12 hrs ago0x4d9ba778b7f121e58e5d3bb6aef514e035a7c7f5 IN  Rarity: Attributes0 FTM0.043351975046
0xd7386612a70d65e4a3c38ac3230ee377264e068a1172735afeefe98ba4951f82Point_buy544823802023-01-26 16:13:353 days 12 hrs ago0x4d9ba778b7f121e58e5d3bb6aef514e035a7c7f5 IN  Rarity: Attributes0 FTM0.043313232386
0x012deaed6c93020b6ad013c946fd91e866f2c54ab9b2909b02d9048b55e10c76Point_buy544822312023-01-26 16:10:533 days 12 hrs ago0x4d9ba778b7f121e58e5d3bb6aef514e035a7c7f5 IN  Rarity: Attributes0 FTM0.042005616985
0x86c56071a56993766d716487709414891c4988426637057c4b846d38261a9950Point_buy544821032023-01-26 16:08:463 days 12 hrs ago0x4d9ba778b7f121e58e5d3bb6aef514e035a7c7f5 IN  Rarity: Attributes0 FTM0.041982803527
0xdb8c23b3231ac2f7cc8a6d3abb3d2fcb1e534a8e1bd990c3a345b910718aa3afPoint_buy544820232023-01-26 16:07:293 days 12 hrs ago0x4d9ba778b7f121e58e5d3bb6aef514e035a7c7f5 IN  Rarity: Attributes0 FTM0.042131447665
0x15eb8cd3fdb8821f94ebafe9ddbb935c856179a1ebc64c353d913f05380f2874Increase_dexteri...544287872023-01-25 21:51:464 days 6 hrs ago0x856da0acbff24fd61a470023e8a5dae8fc45bde8 IN  Rarity: Attributes0 FTM0.002727654769
0x2d7a49dc7841a248c38d6d33c75abec87f3cea815006bde29f330f1c72a17c80Increase_strengt...544285832023-01-25 21:47:594 days 6 hrs ago0x856da0acbff24fd61a470023e8a5dae8fc45bde8 IN  Rarity: Attributes0 FTM0.002027712249
0xf1080dfcb3223d80d3a5cca231aa8fc533564a209eaba50e81abe0e5eeda5537Increase_strengt...544285572023-01-25 21:47:294 days 6 hrs ago0x856da0acbff24fd61a470023e8a5dae8fc45bde8 IN  Rarity: Attributes0 FTM0.002978778987
0x8a3b1b346e0de0f89183f1d04eb7764e5ddb2a9cc696d24e09cb0657ec6907ffIncrease_wisdom544276732023-01-25 21:27:174 days 7 hrs ago0x856da0acbff24fd61a470023e8a5dae8fc45bde8 IN  Rarity: Attributes0 FTM0.002724430733
0xe91f46df9cb0eb14d164be22e7aca3d7ebf4d2e41923656021ea54d15ab6852ePoint_buy534389572023-01-08 16:53:3521 days 11 hrs ago0xde0aef70a7ae324045b7722c903aaaec2ac175f5 IN  Rarity: Attributes0 FTM0.003949326918
[ Download CSV Export 
Latest 1 internal transaction
Parent Txn Hash Block From To Value
0x1784b9fe0f75c3e753be99298bf86941566d1b5f76a5c96f9dcc3f9442f84a66164954702021-09-06 7:10:01510 days 21 hrs ago Fantom: Deployer  Contract Creation0 FTM
[ Download CSV Export 
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
rarity_attributes

Compiler Version
v0.8.7+commit.e28d00a7

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, GNU LGPLv3 license
/**
 *Submitted for verification at FtmScan.com on 2021-09-06
*/

// SPDX-License-Identifier: MIT
pragma solidity ^0.8.7;

interface rarity {
    function level(uint) external view returns (uint);
    function getApproved(uint) external view returns (address);
    function ownerOf(uint) external view returns (address);
}

contract rarity_attributes {
    
    uint constant POINT_BUY = 32;
    rarity constant rm = rarity(0xce761D788DF608BD21bdd59d6f4B54b2e27F25Bb);
    
    struct ability_score {
        uint32 strength;
        uint32 dexterity;
        uint32 constitution;
        uint32 intelligence;
        uint32 wisdom;
        uint32 charisma;
    }
    
    mapping(uint => ability_score) public ability_scores;
    mapping(uint => uint) public level_points_spent;
    mapping(uint => bool) public character_created;
    
    event Created(address indexed creator, uint summoner, uint32 strength, uint32 dexterity, uint32 constitution, uint32 intelligence, uint32 wisdom, uint32 charisma);
    event Leveled(address indexed leveler, uint summoner, uint32 strength, uint32 dexterity, uint32 constitution, uint32 intelligence, uint32 wisdom, uint32 charisma);
    
    function _isApprovedOrOwner(uint _summoner) internal view returns (bool) {
        return rm.getApproved(_summoner) == msg.sender || rm.ownerOf(_summoner) == msg.sender;
    }
    
    function point_buy(uint _summoner, uint32 _str, uint32 _dex, uint32 _const, uint32 _int, uint32 _wis, uint32 _cha) external {
        require(_isApprovedOrOwner(_summoner));
        require(!character_created[_summoner]);
        require(calculate_point_buy(_str, _dex, _const, _int, _wis, _cha) == POINT_BUY);
        character_created[_summoner] = true;
        
        ability_scores[_summoner] = ability_score(_str, _dex, _const, _int, _wis, _cha);
        emit Created(msg.sender, _summoner, _str, _dex, _const, _int, _wis, _cha);
    }
    
    function calculate_point_buy(uint _str, uint _dex, uint _const, uint _int, uint _wis, uint _cha) public pure returns (uint) {
        return calc(_str)+calc(_dex)+calc(_const)+calc(_int)+calc(_wis)+calc(_cha);
    }
    
    function calc(uint score) public pure returns (uint) {
        if (score <= 14) {
            return score - 8;
        } else {
            return ((score - 8)**2)/6;
        }
    }
    
    function _increase_base(uint _summoner) internal {
        require(_isApprovedOrOwner(_summoner));
        require(character_created[_summoner]);
        uint _points_spent = level_points_spent[_summoner];
        require(abilities_by_level(rm.level(_summoner)) - _points_spent > 0);
        level_points_spent[_summoner] = _points_spent+1;
    }
    
    function increase_strength(uint _summoner) external {
        _increase_base(_summoner);
        ability_score storage _attr = ability_scores[_summoner];
        _attr.strength = _attr.strength+1;
        emit Leveled(msg.sender, _summoner, _attr.strength, _attr.dexterity, _attr.constitution, _attr.intelligence, _attr.wisdom, _attr.charisma);
    }
    
    function increase_dexterity(uint _summoner) external {
        _increase_base(_summoner);
        ability_score storage _attr = ability_scores[_summoner];
        _attr.dexterity = _attr.dexterity+1;
        emit Leveled(msg.sender, _summoner, _attr.strength, _attr.dexterity, _attr.constitution, _attr.intelligence, _attr.wisdom, _attr.charisma);
    }
    
    function increase_constitution(uint _summoner) external {
        _increase_base(_summoner);
        ability_score storage _attr = ability_scores[_summoner];
        _attr.constitution = _attr.constitution+1;
        emit Leveled(msg.sender, _summoner, _attr.strength, _attr.dexterity, _attr.constitution, _attr.intelligence, _attr.wisdom, _attr.charisma);
    }
    
    function increase_intelligence(uint _summoner) external {
        _increase_base(_summoner);
        ability_score storage _attr = ability_scores[_summoner];
        _attr.intelligence = _attr.intelligence+1;
        emit Leveled(msg.sender, _summoner, _attr.strength, _attr.dexterity, _attr.constitution, _attr.intelligence, _attr.wisdom, _attr.charisma);
    }
    
    function increase_wisdom(uint _summoner) external {
        _increase_base(_summoner);
        ability_score storage _attr = ability_scores[_summoner];
        _attr.wisdom = _attr.wisdom+1;
        emit Leveled(msg.sender, _summoner, _attr.strength, _attr.dexterity, _attr.constitution, _attr.intelligence, _attr.wisdom, _attr.charisma);
    }
    
    function increase_charisma(uint _summoner) external {
        _increase_base(_summoner);
        ability_score storage _attr = ability_scores[_summoner];
        _attr.charisma = _attr.charisma+1;
        emit Leveled(msg.sender, _summoner, _attr.strength, _attr.dexterity, _attr.constitution, _attr.intelligence, _attr.wisdom, _attr.charisma);
    }
    
    
    function abilities_by_level(uint current_level) public pure returns (uint) {
        return current_level / 4;
    }
    
    
    function tokenURI(uint256 _summoner) public view returns (string memory) {
        string memory output;
        {
        string[7] memory parts;
        ability_score memory _attr = ability_scores[_summoner];
        parts[0] = '<svg xmlns="http://www.w3.org/2000/svg" preserveAspectRatio="xMinYMin meet" viewBox="0 0 350 350"><style>.base { fill: white; font-family: serif; font-size: 14px; }</style><rect width="100%" height="100%" fill="black" /><text x="10" y="20" class="base">';

        parts[1] = string(abi.encodePacked("strength", " ", toString(_attr.strength), '</text><text x="10" y="40" class="base">'));

        parts[2] = string(abi.encodePacked("dexterity", " ", toString(_attr.dexterity), '</text><text x="10" y="60" class="base">'));

        parts[3] = string(abi.encodePacked("constitution", " ", toString(_attr.constitution), '</text><text x="10" y="60" class="base">'));

        parts[4] = string(abi.encodePacked("intelligence", " ", toString(_attr.intelligence),  '</text><text x="10" y="60" class="base">'));

        parts[5] = string(abi.encodePacked("wisdom", " ", toString(_attr.wisdom), '</text><text x="10" y="60" class="base">'));

        parts[6] = string(abi.encodePacked("charisma", " ", toString(_attr.charisma), '</text></svg>'));
        
        output = string(abi.encodePacked(parts[0], parts[1], parts[2], parts[3], parts[4], parts[5], parts[6]));
        }
        string memory json = Base64.encode(bytes(string(abi.encodePacked('{"name": "summoner #', toString(_summoner), '", "description": "Rarity is achieved via an active economy, summoners must level, gain feats, learn spells, to be able to craft gear. This allows for market driven rarity while allowing an ever growing economy. Feats, spells, and summoner gear is ommitted as part of further expansions.", "image": "data:image/svg+xml;base64,', Base64.encode(bytes(output)), '"}'))));
        output = string(abi.encodePacked('data:application/json;base64,', json));

        return output;
    }
    
    function toString(uint256 value) internal pure returns (string memory) {
    // Inspired by OraclizeAPI's implementation - MIT license
    // https://github.com/oraclize/ethereum-api/blob/b42146b063c7d6ee1358846c198246239e9360e8/oraclizeAPI_0.4.25.sol

        if (value == 0) {
            return "0";
        }
        uint256 temp = value;
        uint256 digits;
        while (temp != 0) {
            digits++;
            temp /= 10;
        }
        bytes memory buffer = new bytes(digits);
        while (value != 0) {
            digits -= 1;
            buffer[digits] = bytes1(uint8(48 + uint256(value % 10)));
            value /= 10;
        }
        return string(buffer);
    }
}

/// [MIT License]
/// @title Base64
/// @notice Provides a function for encoding some bytes in base64
/// @author Brecht Devos <[email protected]>
library Base64 {
    bytes internal constant TABLE = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";

    /// @notice Encodes some bytes to the base64 representation
    function encode(bytes memory data) internal pure returns (string memory) {
        uint256 len = data.length;
        if (len == 0) return "";

        // multiply by 4/3 rounded up
        uint256 encodedLen = 4 * ((len + 2) / 3);

        // Add some extra buffer at the end
        bytes memory result = new bytes(encodedLen + 32);

        bytes memory table = TABLE;

        assembly {
            let tablePtr := add(table, 1)
            let resultPtr := add(result, 32)

            for {
                let i := 0
            } lt(i, len) {

            } {
                i := add(i, 3)
                let input := and(mload(add(data, i)), 0xffffff)

                let out := mload(add(tablePtr, and(shr(18, input), 0x3F)))
                out := shl(8, out)
                out := add(out, and(mload(add(tablePtr, and(shr(12, input), 0x3F))), 0xFF))
                out := shl(8, out)
                out := add(out, and(mload(add(tablePtr, and(shr(6, input), 0x3F))), 0xFF))
                out := shl(8, out)
                out := add(out, and(mload(add(tablePtr, and(input, 0x3F))), 0xFF))
                out := shl(224, out)

                mstore(resultPtr, out)

                resultPtr := add(resultPtr, 4)
            }

            switch mod(len, 3)
            case 1 {
                mstore(sub(resultPtr, 2), shl(240, 0x3d3d))
            }
            case 2 {
                mstore(sub(resultPtr, 1), shl(248, 0x3d))
            }

            mstore(result, encodedLen)
        }

        return string(result);
    }
}

Contract Security Audit

Contract ABI

[{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"creator","type":"address"},{"indexed":false,"internalType":"uint256","name":"summoner","type":"uint256"},{"indexed":false,"internalType":"uint32","name":"strength","type":"uint32"},{"indexed":false,"internalType":"uint32","name":"dexterity","type":"uint32"},{"indexed":false,"internalType":"uint32","name":"constitution","type":"uint32"},{"indexed":false,"internalType":"uint32","name":"intelligence","type":"uint32"},{"indexed":false,"internalType":"uint32","name":"wisdom","type":"uint32"},{"indexed":false,"internalType":"uint32","name":"charisma","type":"uint32"}],"name":"Created","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"leveler","type":"address"},{"indexed":false,"internalType":"uint256","name":"summoner","type":"uint256"},{"indexed":false,"internalType":"uint32","name":"strength","type":"uint32"},{"indexed":false,"internalType":"uint32","name":"dexterity","type":"uint32"},{"indexed":false,"internalType":"uint32","name":"constitution","type":"uint32"},{"indexed":false,"internalType":"uint32","name":"intelligence","type":"uint32"},{"indexed":false,"internalType":"uint32","name":"wisdom","type":"uint32"},{"indexed":false,"internalType":"uint32","name":"charisma","type":"uint32"}],"name":"Leveled","type":"event"},{"inputs":[{"internalType":"uint256","name":"current_level","type":"uint256"}],"name":"abilities_by_level","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"ability_scores","outputs":[{"internalType":"uint32","name":"strength","type":"uint32"},{"internalType":"uint32","name":"dexterity","type":"uint32"},{"internalType":"uint32","name":"constitution","type":"uint32"},{"internalType":"uint32","name":"intelligence","type":"uint32"},{"internalType":"uint32","name":"wisdom","type":"uint32"},{"internalType":"uint32","name":"charisma","type":"uint32"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"score","type":"uint256"}],"name":"calc","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"uint256","name":"_str","type":"uint256"},{"internalType":"uint256","name":"_dex","type":"uint256"},{"internalType":"uint256","name":"_const","type":"uint256"},{"internalType":"uint256","name":"_int","type":"uint256"},{"internalType":"uint256","name":"_wis","type":"uint256"},{"internalType":"uint256","name":"_cha","type":"uint256"}],"name":"calculate_point_buy","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"character_created","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_summoner","type":"uint256"}],"name":"increase_charisma","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_summoner","type":"uint256"}],"name":"increase_constitution","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_summoner","type":"uint256"}],"name":"increase_dexterity","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_summoner","type":"uint256"}],"name":"increase_intelligence","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_summoner","type":"uint256"}],"name":"increase_strength","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_summoner","type":"uint256"}],"name":"increase_wisdom","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"level_points_spent","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_summoner","type":"uint256"},{"internalType":"uint32","name":"_str","type":"uint32"},{"internalType":"uint32","name":"_dex","type":"uint32"},{"internalType":"uint32","name":"_const","type":"uint32"},{"internalType":"uint32","name":"_int","type":"uint32"},{"internalType":"uint32","name":"_wis","type":"uint32"},{"internalType":"uint32","name":"_cha","type":"uint32"}],"name":"point_buy","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_summoner","type":"uint256"}],"name":"tokenURI","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"}]

608060405234801561001057600080fd5b50611b42806100206000396000f3fe608060405234801561001057600080fd5b50600436106100ea5760003560e01c8063bf2bf8951161008c578063de99903911610066578063de99903914610261578063e0d92c4a14610274578063f895543214610287578063fe6676b3146102ba57600080fd5b8063bf2bf8951461021b578063c3c2407c1461022e578063c87b56dd1461024157600080fd5b806377d9e11c116100c857806377d9e11c1461013d578063849ada74146101d557806396cf4c4b146101f55780639ed24c8e1461020857600080fd5b806305934d9c146100ef57806338c9027a1461010457806351c232261461012a575b600080fd5b6101026100fd366004611160565b6102cd565b005b610117610112366004611160565b610385565b6040519081526020015b60405180910390f35b610117610138366004611160565b6103c8565b61019661014b366004611160565b60006020819052908152604090205463ffffffff80821691600160201b8104821691600160401b8204811691600160601b8104821691600160801b8204811691600160a01b90041686565b6040805163ffffffff978816815295871660208701529386169385019390935290841660608401528316608083015290911660a082015260c001610121565b6101176101e3366004611160565b60016020526000908152604090205481565b610102610203366004611160565b6103d5565b610117610216366004611192565b61047d565b610102610229366004611160565b6104f2565b61010261023c3660046111d5565b610598565b61025461024f366004611160565b6107d6565b6040516101219190611713565b61010261026f366004611160565b610a74565b610102610282366004611160565b610b09565b6102aa610295366004611160565b60026020526000908152604090205460ff1681565b6040519015158152602001610121565b6101026102c8366004611160565b610bb8565b6102d681610c5f565b600081815260208190526040902080546102fe90600160201b900463ffffffff166001611798565b815467ffffffff00000000198116600160201b63ffffffff93841681029182178086556040513395600080516020611aed83398151915295610379958a959183169083161793908104821692600160401b8204831692600160601b8304811692600160801b8104821692600160a01b90910490911690611746565b60405180910390a25050565b6000600e82116103a05761039a6008836118e1565b92915050565b600660026103af6008856118e1565b6103b99190611817565b61039a91906117c0565b919050565b600061039a6004836117c0565b6103de81610c5f565b6000818152602081905260409020805461040690600160601b900463ffffffff166001611798565b815463ffffffff60601b198116600160601b63ffffffff93841681029182178086556040513395600080516020611aed83398151915295610379958a959183169083161793600160201b8104831693600160401b8204841693928204831692600160801b8304811692600160a01b90041690611746565b600061048882610385565b61049184610385565b61049a86610385565b6104a388610385565b6104ac8a610385565b6104b58c610385565b6104bf9190611780565b6104c99190611780565b6104d39190611780565b6104dd9190611780565b6104e79190611780565b979650505050505050565b6104fb81610c5f565b6000818152602081905260409020805461052390600160a01b900463ffffffff166001611798565b815463ffffffff60a01b198116600160a01b63ffffffff93841681029182178086556040513395600080516020611aed83398151915295610379958a959183169083161793600160201b8104831693600160401b8204841693600160601b8304811693600160801b8404821693041690611746565b6105a187610d5c565b6105aa57600080fd5b60008781526002602052604090205460ff16156105c657600080fd5b60206105fa8763ffffffff168763ffffffff168763ffffffff168763ffffffff168763ffffffff168763ffffffff1661047d565b1461060457600080fd5b60016002600089815260200190815260200160002060006101000a81548160ff0219169083151502179055506040518060c001604052808763ffffffff1681526020018663ffffffff1681526020018563ffffffff1681526020018463ffffffff1681526020018363ffffffff1681526020018263ffffffff1681525060008089815260200190815260200160002060008201518160000160006101000a81548163ffffffff021916908363ffffffff16021790555060208201518160000160046101000a81548163ffffffff021916908363ffffffff16021790555060408201518160000160086101000a81548163ffffffff021916908363ffffffff160217905550606082015181600001600c6101000a81548163ffffffff021916908363ffffffff16021790555060808201518160000160106101000a81548163ffffffff021916908363ffffffff16021790555060a08201518160000160146101000a81548163ffffffff021916908363ffffffff160217905550905050336001600160a01b03167f471b798bfd4e4756e197917dd3ba2cbf782f09c2deef48cd5fa694cdba976328888888888888886040516107c59796959493929190611746565b60405180910390a250505050505050565b6060806107e16110f5565b60008481526020818152604091829020825160c081018452905463ffffffff8082168352600160201b8204811683850152600160401b8204811683860152600160601b820481166060840152600160801b820481166080840152600160a01b9091041660a08201528251610120810190935260fd8084529092916119b090830139825280516108759063ffffffff16610e89565b6040516020016108859190611441565b60408051808303601f190181529190526020808401919091528101516108b09063ffffffff16610e89565b6040516020016108c09190611405565b60408051601f19818403018152919052826002602002015260408101516108ec9063ffffffff16610e89565b6040516020016108fc919061138d565b60408051601f19818403018152919052826003602002015260608101516109289063ffffffff16610e89565b60405160200161093891906114b3565b60408051601f19818403018152919052826004602002015260808101516109649063ffffffff16610e89565b60405160200161097491906113cc565b60408051601f19818403018152919052826005602002015260a08101516109a09063ffffffff16610e89565b6040516020016109b0919061133c565b60408051808303601f1901815291815260c084018290528351602080860151868401516060880151608089015160a08a015196516109fa98969794969395929491939192016112aa565b604051602081830303815290604052925050506000610a49610a1b85610e89565b610a2484610f8f565b604051602001610a35929190611529565b604051602081830303815290604052610f8f565b905080604051602001610a5c91906114e4565b60408051601f19818403018152919052949350505050565b610a7d81610c5f565b60008181526020819052604090208054610a9e9063ffffffff166001611798565b815463ffffffff191663ffffffff9182169081178084556040513393600080516020611aed833981519152936103799388939192600160201b8204811692600160401b8304821692600160601b8104831692600160801b8204811692600160a01b9092041690611746565b610b1281610c5f565b60008181526020819052604090208054610b3a90600160401b900463ffffffff166001611798565b81546bffffffff0000000000000000198116600160401b63ffffffff93841681029182178086556040513395600080516020611aed83398151915295610379958a959183169083161793600160201b8104831693918104831692600160601b8204811692600160801b8304821692600160a01b900490911690611746565b610bc181610c5f565b60008181526020819052604090208054610be990600160801b900463ffffffff166001611798565b815463ffffffff60801b198116600160801b63ffffffff93841681029182178086556040513395600080516020611aed83398151915295610379958a959183169083161793600160201b8104831693600160401b8204841693600160601b83048116938304811692600160a01b90041690611746565b610c6881610d5c565b610c7157600080fd5b60008181526002602052604090205460ff16610c8c57600080fd5b6000818152600160205260408082205490516302e2c6f960e11b8152600481018490529091908290610d279073ce761d788df608bd21bdd59d6f4b54b2e27f25bb906305c58df29060240160206040518083038186803b158015610cef57600080fd5b505afa158015610d03573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101389190611179565b610d3191906118e1565b11610d3b57600080fd5b610d46816001611780565b6000928352600160205260409092209190915550565b60405163020604bf60e21b815260048101829052600090339073ce761d788df608bd21bdd59d6f4b54b2e27f25bb9063081812fc9060240160206040518083038186803b158015610dac57600080fd5b505afa158015610dc0573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610de49190611130565b6001600160a01b0316148061039a57506040516331a9108f60e11b815260048101839052339073ce761d788df608bd21bdd59d6f4b54b2e27f25bb90636352211e9060240160206040518083038186803b158015610e4157600080fd5b505afa158015610e55573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e799190611130565b6001600160a01b03161492915050565b606081610ead5750506040805180820190915260018152600360fc1b602082015290565b8160005b8115610ed75780610ec181611928565b9150610ed09050600a836117c0565b9150610eb1565b60008167ffffffffffffffff811115610ef257610ef2611999565b6040519080825280601f01601f191660200182016040528015610f1c576020820181803683370190505b5090505b8415610f8757610f316001836118e1565b9150610f3e600a86611943565b610f49906030611780565b60f81b818381518110610f5e57610f5e611983565b60200101906001600160f81b031916908160001a905350610f80600a866117c0565b9450610f20565b949350505050565b805160609080610faf575050604080516020810190915260008152919050565b60006003610fbe836002611780565b610fc891906117c0565b610fd39060046118c2565b90506000610fe2826020611780565b67ffffffffffffffff811115610ffa57610ffa611999565b6040519080825280601f01601f191660200182016040528015611024576020820181803683370190505b5090506000604051806060016040528060408152602001611aad604091399050600181016020830160005b868110156110b0576003818a01810151603f601282901c8116860151600c83901c8216870151600684901c831688015192909316870151600891821b60ff94851601821b92841692909201901b91160160e01b83526004909201910161104f565b5060038606600181146110ca57600281146110db576110e7565b613d3d60f01b6001198301526110e7565b603d60f81b6000198301525b505050918152949350505050565b6040518060e001604052806007905b60608152602001906001900390816111045790505090565b803563ffffffff811681146103c357600080fd5b60006020828403121561114257600080fd5b81516001600160a01b038116811461115957600080fd5b9392505050565b60006020828403121561117257600080fd5b5035919050565b60006020828403121561118b57600080fd5b5051919050565b60008060008060008060c087890312156111ab57600080fd5b505084359660208601359650604086013595606081013595506080810135945060a0013592509050565b600080600080600080600060e0888a0312156111f057600080fd5b873596506112006020890161111c565b955061120e6040890161111c565b945061121c6060890161111c565b935061122a6080890161111c565b925061123860a0890161111c565b915061124660c0890161111c565b905092959891949750929550565b600081516112668185602086016118f8565b9290920192915050565b7f3c2f746578743e3c7465787420783d2231302220793d2236302220636c6173738152671e913130b9b2911f60c11b602082015260280190565b6000885160206112bd8285838e016118f8565b8951918401916112d08184848e016118f8565b89519201916112e28184848d016118f8565b88519201916112f48184848c016118f8565b87519201916113068184848b016118f8565b86519201916113188184848a016118f8565b855192019161132a81848489016118f8565b919091019a9950505050505050505050565b676368617269736d6160c01b8152600160fd1b6008820152600082516113698160098501602087016118f8565b6c1e17ba32bc3a1f1e17b9bb339f60991b6009939091019283015250601601919050565b6b31b7b739ba34ba3aba34b7b760a11b8152600160fd1b600c820152600082516113be81600d8501602087016118f8565b610f87600d82850101611270565b65776973646f6d60d01b8152600160fd1b6006820152600082516113f78160078501602087016118f8565b610f87600782850101611270565b6864657874657269747960b81b8152600160fd1b60098201526000825161143381600a8501602087016118f8565b610f87600a82850101611270565b670e6e8e4cadccee8d60c31b8152600160fd1b60088201526000825161146e8160098501602087016118f8565b7f3c2f746578743e3c7465787420783d2231302220793d2234302220636c6173736009939091019283015250671e913130b9b2911f60c11b6029820152603101919050565b6b696e74656c6c6967656e636560a01b8152600160fd1b600c820152600082516113be81600d8501602087016118f8565b7f646174613a6170706c69636174696f6e2f6a736f6e3b6261736536342c00000081526000825161151c81601d8501602087016118f8565b91909101601d0192915050565b737b226e616d65223a202273756d6d6f6e6572202360601b815282516000906115598160148501602088016118f8565b7f222c20226465736372697074696f6e223a2022526172697479206973206163686014918401918201527f69657665642076696120616e206163746976652065636f6e6f6d792c2073756d60348201527f6d6f6e657273206d757374206c6576656c2c206761696e2066656174732c206c60548201527f6561726e207370656c6c732c20746f2062652061626c6520746f20637261667460748201527f20676561722e205468697320616c6c6f777320666f72206d61726b657420647260948201527f6976656e20726172697479207768696c6520616c6c6f77696e6720616e20657660b48201527f65722067726f77696e672065636f6e6f6d792e2046656174732c207370656c6c60d48201527f732c20616e642073756d6d6f6e65722067656172206973206f6d6d697474656460f48201527f2061732070617274206f66206675727468657220657870616e73696f6e732e226101148201527f2c2022696d616765223a2022646174613a696d6167652f7376672b786d6c3b6261013482015265185cd94d8d0b60d21b61015482015261170a6116fc61015a830186611254565b61227d60f01b815260020190565b95945050505050565b60208152600082518060208401526117328160408501602087016118f8565b601f01601f19169190910160400192915050565b96875263ffffffff95861660208801529385166040870152918416606086015283166080850152821660a08401521660c082015260e00190565b6000821982111561179357611793611957565b500190565b600063ffffffff8083168185168083038211156117b7576117b7611957565b01949350505050565b6000826117cf576117cf61196d565b500490565b600181815b8085111561180f5781600019048211156117f5576117f5611957565b8085161561180257918102915b93841c93908002906117d9565b509250929050565b600061115960ff8416836000826118305750600161039a565b8161183d5750600061039a565b8160018114611853576002811461185d57611879565b600191505061039a565b60ff84111561186e5761186e611957565b50506001821b61039a565b5060208310610133831016604e8410600b841016171561189c575081810a61039a565b6118a683836117d4565b80600019048211156118ba576118ba611957565b029392505050565b60008160001904831182151516156118dc576118dc611957565b500290565b6000828210156118f3576118f3611957565b500390565b60005b838110156119135781810151838201526020016118fb565b83811115611922576000848401525b50505050565b600060001982141561193c5761193c611957565b5060010190565b6000826119525761195261196d565b500690565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052601260045260246000fd5b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052604160045260246000fdfe3c73766720786d6c6e733d22687474703a2f2f7777772e77332e6f72672f323030302f73766722207072657365727665417370656374526174696f3d22784d696e594d696e206d656574222076696577426f783d223020302033353020333530223e3c7374796c653e2e62617365207b2066696c6c3a2077686974653b20666f6e742d66616d696c793a2073657269663b20666f6e742d73697a653a20313470783b207d3c2f7374796c653e3c726563742077696474683d223130302522206865696768743d2231303025222066696c6c3d22626c61636b22202f3e3c7465787420783d2231302220793d2232302220636c6173733d2262617365223e4142434445464748494a4b4c4d4e4f505152535455565758595a6162636465666768696a6b6c6d6e6f707172737475767778797a303132333435363738392b2f207b63f0a8632134b76c8dd10b38a52179fc29b3fa01eb51e4662e4c720ec8d4a26469706673582212203528791a508493f9ea8325516c2add82400b3f6069ac9a9a8437cf65ea9e76d464736f6c63430008070033

Deployed ByteCode Sourcemap

267:7548:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3058:358;;;;;;:::i;:::-;;:::i;:::-;;2126:189;;;;;;:::i;:::-;;:::i;:::-;;;11150:25:1;;;11138:2;11123:18;2126:189:0;;;;;;;;4920:118;;;;;;:::i;:::-;;:::i;630:52::-;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;-1:-1:-1;;;630:52:0;;;;;-1:-1:-1;;;630:52:0;;;;;-1:-1:-1;;;630:52:0;;;;;-1:-1:-1;;;630:52:0;;;;;-1:-1:-1;;;630:52:0;;;;;;;;;12154:10:1;12191:15;;;12173:34;;12243:15;;;12238:2;12223:18;;12216:43;12295:15;;;12275:18;;;12268:43;;;;12347:15;;;12342:2;12327:18;;12320:43;12400:15;;12394:3;12379:19;;12372:44;12453:15;;;12447:3;12432:19;;12425:44;12131:3;12116:19;630:52:0;11869:606:1;689:47:0;;;;;;:::i;:::-;;;;;;;;;;;;;;3807:367;;;;;;:::i;:::-;;:::i;1897:217::-;;;;;;:::i;:::-;;:::i;4547:355::-;;;;;;:::i;:::-;;:::i;1335:550::-;;;;;;:::i;:::-;;:::i;5056:2029::-;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;2691:355::-;;;;;;:::i;:::-;;:::i;3428:367::-;;;;;;:::i;:::-;;:::i;743:46::-;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;10589:14:1;;10582:22;10564:41;;10552:2;10537:18;743:46:0;10424:187:1;4186:349:0;;;;;;:::i;:::-;;:::i;3058:358::-;3122:25;3137:9;3122:14;:25::i;:::-;3158:27;3188:25;;;;;;;;;;3242:15;;:17;;-1:-1:-1;;;3242:15:0;;;;3258:1;3242:17;:::i;:::-;3224:35;;-1:-1:-1;;3224:35:0;;-1:-1:-1;;;3224:35:0;;;;;;;;;;;;3275:133;;3283:10;;-1:-1:-1;;;;;;;;;;;3275:133:0;;;3295:9;;3306:14;;;;;;;;3322:15;;;;;;-1:-1:-1;;;3339:18:0;;;;;-1:-1:-1;;;3359:18:0;;;;;-1:-1:-1;;;3379:12:0;;;;;-1:-1:-1;;;3393:14:0;;;;;;;3275:133;:::i;:::-;;;;;;;;3111:305;3058:358;:::o;2126:189::-;2173:4;2203:2;2194:5;:11;2190:118;;2229:9;2237:1;2229:5;:9;:::i;:::-;2222:16;2126:189;-1:-1:-1;;2126:189:0:o;2190:118::-;2295:1;2292;2280:9;2288:1;2280:5;:9;:::i;:::-;2279:14;;;;:::i;:::-;2278:18;;;;:::i;2190:118::-;2126:189;;;:::o;4920:118::-;4989:4;5013:17;5029:1;5013:13;:17;:::i;3807:367::-;3874:25;3889:9;3874:14;:25::i;:::-;3910:27;3940:25;;;;;;;;;;3997:18;;:20;;-1:-1:-1;;;3997:18:0;;;;4016:1;3997:20;:::i;:::-;3976:41;;-1:-1:-1;;;;3976:41:0;;-1:-1:-1;;;3976:41:0;;;;;;;;;;;;4033:133;;4041:10;;-1:-1:-1;;;;;;;;;;;4033:133:0;;;4053:9;;4064:14;;;;;;;;-1:-1:-1;;;4080:15:0;;;;;-1:-1:-1;;;4097:18:0;;;;;4117;;;;;;-1:-1:-1;;;4137:12:0;;;;;-1:-1:-1;;;4151:14:0;;;;4033:133;:::i;1897:217::-;2015:4;2096:10;2101:4;2096;:10::i;:::-;2085;2090:4;2085;:10::i;:::-;2074;2079:4;2074;:10::i;:::-;2061:12;2066:6;2061:4;:12::i;:::-;2050:10;2055:4;2050;:10::i;:::-;2039;2044:4;2039;:10::i;:::-;:21;;;;:::i;:::-;:34;;;;:::i;:::-;:45;;;;:::i;:::-;:56;;;;:::i;:::-;:67;;;;:::i;:::-;2032:74;1897:217;-1:-1:-1;;;;;;;1897:217:0:o;4547:355::-;4610:25;4625:9;4610:14;:25::i;:::-;4646:27;4676:25;;;;;;;;;;4729:14;;:16;;-1:-1:-1;;;4729:14:0;;;;4744:1;4729:16;:::i;:::-;4712:33;;-1:-1:-1;;;;4712:33:0;;-1:-1:-1;;;4712:33:0;;;;;;;;;;;;4761:133;;4769:10;;-1:-1:-1;;;;;;;;;;;4761:133:0;;;4781:9;;4792:14;;;;;;;;-1:-1:-1;;;4808:15:0;;;;;-1:-1:-1;;;4825:18:0;;;;;-1:-1:-1;;;4845:18:0;;;;;-1:-1:-1;;;4865:12:0;;;;;4879:14;;;4761:133;:::i;1335:550::-;1478:29;1497:9;1478:18;:29::i;:::-;1470:38;;;;;;1528:28;;;;:17;:28;;;;;;;;1527:29;1519:38;;;;;;333:2;1576:57;1596:4;1576:57;;1602:4;1576:57;;1608:6;1576:57;;1616:4;1576:57;;1622:4;1576:57;;1628:4;1576:57;;:19;:57::i;:::-;:70;1568:79;;;;;;1689:4;1658:17;:28;1676:9;1658:28;;;;;;;;;;;;:35;;;;;;;;;;;;;;;;;;1742:51;;;;;;;;1756:4;1742:51;;;;;;1762:4;1742:51;;;;;;1768:6;1742:51;;;;;;1776:4;1742:51;;;;;;1782:4;1742:51;;;;;;1788:4;1742:51;;;;;1714:14;:25;1729:9;1714:25;;;;;;;;;;;:79;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1817:10;-1:-1:-1;;;;;1809:68:0;;1829:9;1840:4;1846;1852:6;1860:4;1866;1872;1809:68;;;;;;;;;;;;:::i;:::-;;;;;;;;1335:550;;;;;;;:::o;5056:2029::-;5114:13;5140:20;5182:22;;:::i;:::-;5215:26;5244:25;;;;;;;;;;;;5215:54;;;;;;;;;;;;;;;-1:-1:-1;;;5215:54:0;;;;;;;;-1:-1:-1;;;5215:54:0;;;;;;;;-1:-1:-1;;;5215:54:0;;;;;;;;-1:-1:-1;;;5215:54:0;;;;;;;;-1:-1:-1;;;5215:54:0;;;;;;;;5280:266;;;;;;;;;;;;5215:54;;5280:266;;;;;;;;5620:14;;5611:24;;;;:8;:24::i;:::-;5577:103;;;;;;;;:::i;:::-;;;;;;;-1:-1:-1;;5577:103:0;;;;;;5559:8;;;;:122;;;;5756:15;;;5747:25;;;;:8;:25::i;:::-;5712:105;;;;;;;;:::i;:::-;;;;-1:-1:-1;;5712:105:0;;;;;;;;;5694:5;5700:1;5694:8;;;:124;5896:18;;;;5887:28;;;;:8;:28::i;:::-;5849:111;;;;;;;;:::i;:::-;;;;-1:-1:-1;;5849:111:0;;;;;;;;;5831:5;5837:1;5831:8;;;:130;6039:18;;;;6030:28;;;;:8;:28::i;:::-;5992:112;;;;;;;;:::i;:::-;;;;-1:-1:-1;;5992:112:0;;;;;;;;;5974:5;5980:1;5974:8;;;:131;6177:12;;;;6168:22;;;;:8;:22::i;:::-;6136:99;;;;;;;;:::i;:::-;;;;-1:-1:-1;;6136:99:0;;;;;;;;;6118:5;6124:1;6118:8;;;:118;6310:14;;;;6301:24;;;;:8;:24::i;:::-;6267:76;;;;;;;;:::i;:::-;;;;;;;-1:-1:-1;;6267:76:0;;;;;;6249:8;;;:95;;;6398:8;;6249;6408;;;;6418;;;;6428;;;;6438;;;;6448;;;;6381:86;;;;6398:8;;6408;;6418;;6428;;6438;;6448;;6381:86;;:::i;:::-;;;;;;;;;;;;;6365:103;;5171:1309;;6490:18;6511:457;6579:19;6588:9;6579:8;:19::i;:::-;6930:28;6950:6;6930:13;:28::i;:::-;6538:427;;;;;;;;;:::i;:::-;;;;;;;;;;;;;6511:13;:457::i;:::-;6490:478;;7045:4;6995:55;;;;;;;;:::i;:::-;;;;-1:-1:-1;;6995:55:0;;;;;;;;;;5056:2029;-1:-1:-1;;;;5056:2029:0:o;2691:355::-;2754:25;2769:9;2754:14;:25::i;:::-;2790:27;2820:25;;;;;;;;;;2873:14;;:16;;:14;;;:16;:::i;:::-;2856:33;;-1:-1:-1;;2856:33:0;;;;;;;;;;;2905:133;;2913:10;;-1:-1:-1;;;;;;;;;;;2905:133:0;;;2925:9;;2856:33;;-1:-1:-1;;;2952:15:0;;;;;-1:-1:-1;;;2969:18:0;;;;;-1:-1:-1;;;2989:18:0;;;;;-1:-1:-1;;;3009:12:0;;;;;-1:-1:-1;;;3023:14:0;;;;;2905:133;:::i;3428:367::-;3495:25;3510:9;3495:14;:25::i;:::-;3531:27;3561:25;;;;;;;;;;3618:18;;:20;;-1:-1:-1;;;3618:18:0;;;;3637:1;3618:20;:::i;:::-;3597:41;;-1:-1:-1;;3597:41:0;;-1:-1:-1;;;3597:41:0;;;;;;;;;;;;3654:133;;3662:10;;-1:-1:-1;;;;;;;;;;;3654:133:0;;;3674:9;;3685:14;;;;;;;;-1:-1:-1;;;3701:15:0;;;;;3718:18;;;;;;-1:-1:-1;;;3738:18:0;;;;;-1:-1:-1;;;3758:12:0;;;;;-1:-1:-1;;;3772:14:0;;;;;;3654:133;:::i;4186:349::-;4247:25;4262:9;4247:14;:25::i;:::-;4283:27;4313:25;;;;;;;;;;4364:12;;:14;;-1:-1:-1;;;4364:12:0;;;;4377:1;4364:14;:::i;:::-;4349:29;;-1:-1:-1;;;;4349:29:0;;-1:-1:-1;;;4349:29:0;;;;;;;;;;;;4394:133;;4402:10;;-1:-1:-1;;;;;;;;;;;4394:133:0;;;4414:9;;4425:14;;;;;;;;-1:-1:-1;;;4441:15:0;;;;;-1:-1:-1;;;4458:18:0;;;;;-1:-1:-1;;;4478:18:0;;;;;4498:12;;;;;-1:-1:-1;;;4512:14:0;;;;4394:133;:::i;2327:352::-;2395:29;2414:9;2395:18;:29::i;:::-;2387:38;;;;;;2444:28;;;;:17;:28;;;;;;;;2436:37;;;;;;2484:18;2505:29;;;:18;:29;;;;;;;2572:19;;-1:-1:-1;;;2572:19:0;;;;;11150:25:1;;;2505:29:0;;2484:18;2505:29;;2553:39;;370:42;;2572:8;;11123:18:1;;2572:19:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;2553:39::-;:55;;;;:::i;:::-;:59;2545:68;;;;;;2656:15;:13;2670:1;2656:15;:::i;:::-;2624:29;;;;:18;:29;;;;;;:47;;;;-1:-1:-1;2327:352:0:o;1146:177::-;1237:25;;-1:-1:-1;;;1237:25:0;;;;;11150::1;;;1213:4:0;;1266:10;;370:42;;1237:14;;11123:18:1;;1237:25:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;1237:39:0;;:78;;;-1:-1:-1;1280:21:0;;-1:-1:-1;;;1280:21:0;;;;;11150:25:1;;;1305:10:0;;370:42;;1280:10;;11123:18:1;;1280:21:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;1280:35:0;;1230:85;1146:177;-1:-1:-1;;1146:177:0:o;7097:715::-;7153:13;7366:10;7362:53;;-1:-1:-1;;7393:10:0;;;;;;;;;;;;-1:-1:-1;;;7393:10:0;;;;;7097:715::o;7362:53::-;7440:5;7425:12;7481:78;7488:9;;7481:78;;7514:8;;;;:::i;:::-;;-1:-1:-1;7537:10:0;;-1:-1:-1;7545:2:0;7537:10;;:::i;:::-;;;7481:78;;;7569:19;7601:6;7591:17;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;7591:17:0;;7569:39;;7619:154;7626:10;;7619:154;;7653:11;7663:1;7653:11;;:::i;:::-;;-1:-1:-1;7722:10:0;7730:2;7722:5;:10;:::i;:::-;7709:24;;:2;:24;:::i;:::-;7696:39;;7679:6;7686;7679:14;;;;;;;;:::i;:::-;;;;:56;-1:-1:-1;;;;;7679:56:0;;;;;;;;-1:-1:-1;7750:11:0;7759:2;7750:11;;:::i;:::-;;;7619:154;;;7797:6;7097:715;-1:-1:-1;;;;7097:715:0:o;8166:1607::-;8264:11;;8224:13;;8290:8;8286:23;;-1:-1:-1;;8300:9:0;;;;;;;;;-1:-1:-1;8300:9:0;;;8166:1607;-1:-1:-1;8166:1607:0:o;8286:23::-;8361:18;8399:1;8388:7;:3;8394:1;8388:7;:::i;:::-;8387:13;;;;:::i;:::-;8382:19;;:1;:19;:::i;:::-;8361:40;-1:-1:-1;8459:19:0;8491:15;8361:40;8504:2;8491:15;:::i;:::-;8481:26;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;8481:26:0;;8459:48;;8520:18;8541:5;;;;;;;;;;;;;;;;;8520:26;;8610:1;8603:5;8599:13;8655:2;8647:6;8643:15;8706:1;8674:777;8729:3;8726:1;8723:10;8674:777;;;8784:1;8827:12;;;;;8821:19;8922:4;8910:2;8906:14;;;;;8888:40;;8882:47;9031:2;9027:14;;;9023:25;;9009:40;;9003:47;9160:1;9156:13;;;9152:24;;9138:39;;9132:46;9280:16;;;;9266:31;;9260:38;8958:1;8954:11;;;9052:4;8999:58;;;8990:68;9083:11;;9128:57;;;9119:67;;;;9211:11;;9256:49;;9247:59;9335:3;9331:13;9364:22;;9434:1;9419:17;;;;8777:9;8674:777;;;8678:44;9483:1;9478:3;9474:11;9504:1;9499:84;;;;9602:1;9597:82;;;;9467:212;;9499:84;-1:-1:-1;;;;;9532:17:0;;9525:43;9499:84;;9597:82;-1:-1:-1;;;;;9630:17:0;;9623:41;9467:212;-1:-1:-1;;;9695:26:0;;;9702:6;8166:1607;-1:-1:-1;;;;8166:1607:0:o;-1:-1:-1:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;14:163:1:-;81:20;;141:10;130:22;;120:33;;110:61;;167:1;164;157:12;182:290;252:6;305:2;293:9;284:7;280:23;276:32;273:52;;;321:1;318;311:12;273:52;347:16;;-1:-1:-1;;;;;392:31:1;;382:42;;372:70;;438:1;435;428:12;372:70;461:5;182:290;-1:-1:-1;;;182:290:1:o;477:180::-;536:6;589:2;577:9;568:7;564:23;560:32;557:52;;;605:1;602;595:12;557:52;-1:-1:-1;628:23:1;;477:180;-1:-1:-1;477:180:1:o;662:184::-;732:6;785:2;773:9;764:7;760:23;756:32;753:52;;;801:1;798;791:12;753:52;-1:-1:-1;824:16:1;;662:184;-1:-1:-1;662:184:1:o;851:523::-;955:6;963;971;979;987;995;1048:3;1036:9;1027:7;1023:23;1019:33;1016:53;;;1065:1;1062;1055:12;1016:53;-1:-1:-1;;1088:23:1;;;1158:2;1143:18;;1130:32;;-1:-1:-1;1209:2:1;1194:18;;1181:32;;1260:2;1245:18;;1232:32;;-1:-1:-1;1311:3:1;1296:19;;1283:33;;-1:-1:-1;1363:3:1;1348:19;1335:33;;-1:-1:-1;851:523:1;-1:-1:-1;851:523:1:o;1379:616::-;1486:6;1494;1502;1510;1518;1526;1534;1587:3;1575:9;1566:7;1562:23;1558:33;1555:53;;;1604:1;1601;1594:12;1555:53;1640:9;1627:23;1617:33;;1669:37;1702:2;1691:9;1687:18;1669:37;:::i;:::-;1659:47;;1725:37;1758:2;1747:9;1743:18;1725:37;:::i;:::-;1715:47;;1781:37;1814:2;1803:9;1799:18;1781:37;:::i;:::-;1771:47;;1837:38;1870:3;1859:9;1855:19;1837:38;:::i;:::-;1827:48;;1894:38;1927:3;1916:9;1912:19;1894:38;:::i;:::-;1884:48;;1951:38;1984:3;1973:9;1969:19;1951:38;:::i;:::-;1941:48;;1379:616;;;;;;;;;;:::o;2000:185::-;2042:3;2080:5;2074:12;2095:52;2140:6;2135:3;2128:4;2121:5;2117:16;2095:52;:::i;:::-;2163:16;;;;;2000:185;-1:-1:-1;;2000:185:1:o;2190:237::-;2267:66;2255:79;;-1:-1:-1;;;2359:2:1;2350:12;;2343:50;2418:2;2409:12;;2190:237::o;2562:1449::-;2981:3;3019:6;3013:13;3045:4;3058:51;3102:6;3097:3;3092:2;3084:6;3080:15;3058:51;:::i;:::-;3172:13;;3131:16;;;;3194:55;3172:13;3131:16;3216:15;;;3194:55;:::i;:::-;3316:13;;3271:20;;;3338:55;3316:13;3271:20;3360:15;;;3338:55;:::i;:::-;3460:13;;3415:20;;;3482:55;3460:13;3415:20;3504:15;;;3482:55;:::i;:::-;3604:13;;3559:20;;;3626:55;3604:13;3559:20;3648:15;;;3626:55;:::i;:::-;3748:13;;3703:20;;;3770:55;3748:13;3703:20;3792:15;;;3770:55;:::i;:::-;3892:13;;3847:20;;;3914:55;3892:13;3847:20;3936:15;;;3914:55;:::i;:::-;3985:20;;;;;2562:1449;-1:-1:-1;;;;;;;;;;2562:1449:1:o;4016:726::-;-1:-1:-1;;;4475:3:1;4468:23;-1:-1:-1;;;4516:1:1;4511:3;4507:11;4500:24;4450:3;4553:6;4547:13;4569:61;4623:6;4619:1;4614:3;4610:11;4603:4;4595:6;4591:17;4569:61;:::i;:::-;-1:-1:-1;;;4689:1:1;4649:16;;;;4681:10;;;4674:35;-1:-1:-1;4733:2:1;4725:11;;4016:726;-1:-1:-1;4016:726:1:o;4747:698::-;-1:-1:-1;;;5206:3:1;5199:27;-1:-1:-1;;;5251:2:1;5246:3;5242:12;5235:25;5181:3;5289:6;5283:13;5305:62;5360:6;5355:2;5350:3;5346:12;5339:4;5331:6;5327:17;5305:62;:::i;:::-;5383:56;5435:2;5426:6;5421:3;5417:16;5413:25;5383:56;:::i;5450:689::-;-1:-1:-1;;;5909:3:1;5902:21;-1:-1:-1;;;5948:1:1;5943:3;5939:11;5932:24;5884:3;5985:6;5979:13;6001:61;6055:6;6051:1;6046:3;6042:11;6035:4;6027:6;6023:17;6001:61;:::i;:::-;6078:55;6130:1;6121:6;6116:3;6112:16;6108:24;6078:55;:::i;6144:694::-;-1:-1:-1;;;6603:3:1;6596:24;-1:-1:-1;;;6645:1:1;6640:3;6636:11;6629:24;6578:3;6682:6;6676:13;6698:62;6753:6;6748:2;6743:3;6739:12;6732:4;6724:6;6720:17;6698:62;:::i;:::-;6776:56;6828:2;6819:6;6814:3;6810:16;6806:25;6776:56;:::i;6843:835::-;-1:-1:-1;;;7302:3:1;7295:23;-1:-1:-1;;;7343:1:1;7338:3;7334:11;7327:24;7277:3;7380:6;7374:13;7396:61;7450:6;7446:1;7441:3;7437:11;7430:4;7422:6;7418:17;7396:61;:::i;:::-;7520:66;7516:1;7476:16;;;;7508:10;;;7501:86;-1:-1:-1;;;;7611:2:1;7603:11;;7596:49;7669:2;7661:11;;6843:835;-1:-1:-1;6843:835:1:o;7683:698::-;-1:-1:-1;;;8142:3:1;8135:27;-1:-1:-1;;;8187:2:1;8182:3;8178:12;8171:25;8117:3;8225:6;8219:13;8241:62;8296:6;8291:2;8286:3;8282:12;8275:4;8267:6;8263:17;8241:62;:::i;8386:448::-;8648:31;8643:3;8636:44;8618:3;8709:6;8703:13;8725:62;8780:6;8775:2;8770:3;8766:12;8759:4;8751:6;8747:17;8725:62;:::i;:::-;8807:16;;;;8825:2;8803:25;;8386:448;-1:-1:-1;;8386:448:1:o;8839:1580::-;-1:-1:-1;;;9339:64:1;;9426:13;;9321:3;;9448:62;9426:13;9498:2;9489:12;;9482:4;9470:17;;9448:62;:::i;:::-;9574:66;9569:2;9529:16;;;9561:11;;;9554:87;9670:34;9665:2;9657:11;;9650:55;9734:34;9729:2;9721:11;;9714:55;9799:34;9793:3;9785:12;;9778:56;9864:34;9858:3;9850:12;;9843:56;9929:34;9923:3;9915:12;;9908:56;9994:34;9988:3;9980:12;;9973:56;10059:34;10053:3;10045:12;;10038:56;10124:66;10118:3;10110:12;;10103:88;10221:66;10215:3;10207:12;;10200:88;-1:-1:-1;;;10312:3:1;10304:12;;10297:30;10343:70;10373:39;10407:3;10399:12;;10391:6;10373:39;:::i;:::-;-1:-1:-1;;;2497:27:1;;2549:1;2540:11;;2432:125;10343:70;10336:77;8839:1580;-1:-1:-1;;;;;8839:1580:1:o;10616:383::-;10765:2;10754:9;10747:21;10728:4;10797:6;10791:13;10840:6;10835:2;10824:9;10820:18;10813:34;10856:66;10915:6;10910:2;10899:9;10895:18;10890:2;10882:6;10878:15;10856:66;:::i;:::-;10983:2;10962:15;-1:-1:-1;;10958:29:1;10943:45;;;;10990:2;10939:54;;10616:383;-1:-1:-1;;10616:383:1:o;11186:678::-;11489:25;;;11533:10;11579:15;;;11574:2;11559:18;;11552:43;11631:15;;;11626:2;11611:18;;11604:43;11683:15;;;11678:2;11663:18;;11656:43;11736:15;;11730:3;11715:19;;11708:44;11789:15;;11783:3;11768:19;;11761:44;11842:15;11836:3;11821:19;;11814:44;11476:3;11461:19;;11186:678::o;12480:128::-;12520:3;12551:1;12547:6;12544:1;12541:13;12538:39;;;12557:18;;:::i;:::-;-1:-1:-1;12593:9:1;;12480:128::o;12613:228::-;12652:3;12680:10;12717:2;12714:1;12710:10;12747:2;12744:1;12740:10;12778:3;12774:2;12770:12;12765:3;12762:21;12759:47;;;12786:18;;:::i;:::-;12822:13;;12613:228;-1:-1:-1;;;;12613:228:1:o;12846:120::-;12886:1;12912;12902:35;;12917:18;;:::i;:::-;-1:-1:-1;12951:9:1;;12846:120::o;12971:422::-;13060:1;13103:5;13060:1;13117:270;13138:7;13128:8;13125:21;13117:270;;;13197:4;13193:1;13189:6;13185:17;13179:4;13176:27;13173:53;;;13206:18;;:::i;:::-;13256:7;13246:8;13242:22;13239:55;;;13276:16;;;;13239:55;13355:22;;;;13315:15;;;;13117:270;;;13121:3;12971:422;;;;;:::o;13398:140::-;13456:5;13485:47;13526:4;13516:8;13512:19;13506:4;13592:5;13622:8;13612:80;;-1:-1:-1;13663:1:1;13677:5;;13612:80;13711:4;13701:76;;-1:-1:-1;13748:1:1;13762:5;;13701:76;13793:4;13811:1;13806:59;;;;13879:1;13874:130;;;;13786:218;;13806:59;13836:1;13827:10;;13850:5;;;13874:130;13911:3;13901:8;13898:17;13895:43;;;13918:18;;:::i;:::-;-1:-1:-1;;13974:1:1;13960:16;;13989:5;;13786:218;;14088:2;14078:8;14075:16;14069:3;14063:4;14060:13;14056:36;14050:2;14040:8;14037:16;14032:2;14026:4;14023:12;14019:35;14016:77;14013:159;;;-1:-1:-1;14125:19:1;;;14157:5;;14013:159;14204:34;14229:8;14223:4;14204:34;:::i;:::-;14274:6;14270:1;14266:6;14262:19;14253:7;14250:32;14247:58;;;14285:18;;:::i;:::-;14323:20;;13543:806;-1:-1:-1;;;13543:806:1:o;14354:168::-;14394:7;14460:1;14456;14452:6;14448:14;14445:1;14442:21;14437:1;14430:9;14423:17;14419:45;14416:71;;;14467:18;;:::i;:::-;-1:-1:-1;14507:9:1;;14354:168::o;14527:125::-;14567:4;14595:1;14592;14589:8;14586:34;;;14600:18;;:::i;:::-;-1:-1:-1;14637:9:1;;14527:125::o;14657:258::-;14729:1;14739:113;14753:6;14750:1;14747:13;14739:113;;;14829:11;;;14823:18;14810:11;;;14803:39;14775:2;14768:10;14739:113;;;14870:6;14867:1;14864:13;14861:48;;;14905:1;14896:6;14891:3;14887:16;14880:27;14861:48;;14657:258;;;:::o;14920:135::-;14959:3;-1:-1:-1;;14980:17:1;;14977:43;;;15000:18;;:::i;:::-;-1:-1:-1;15047:1:1;15036:13;;14920:135::o;15060:112::-;15092:1;15118;15108:35;;15123:18;;:::i;:::-;-1:-1:-1;15157:9:1;;15060:112::o;15177:127::-;15238:10;15233:3;15229:20;15226:1;15219:31;15269:4;15266:1;15259:15;15293:4;15290:1;15283:15;15309:127;15370:10;15365:3;15361:20;15358:1;15351:31;15401:4;15398:1;15391:15;15425:4;15422:1;15415:15;15441:127;15502:10;15497:3;15493:20;15490:1;15483:31;15533:4;15530:1;15523:15;15557:4;15554:1;15547:15;15573:127;15634:10;15629:3;15625:20;15622:1;15615:31;15665:4;15662:1;15655:15;15689:4;15686:1;15679:15

Swarm Source

ipfs://3528791a508493f9ea8325516c2add82400b3f6069ac9a9a8437cf65ea9e76d4
Block Transaction Gas Used Reward
Age Block Fee Address BC Fee Address Voting Power Jailed Incoming
Validator ID :
0 FTM

Amount Staked
0

Amount Delegated
0

Staking Total
0

Staking Start Epoch
0

Staking Start Time
0

Proof of Importance
0

Origination Score
0

Validation Score
0

Active
0

Online
0

Downtime
0 s
Address Amount claimed Rewards Created On Epoch Created On
Block Uncle Number Difficulty Gas Used Reward
Loading
Loading
Make sure to use the "Vote Down" button for any spammy posts, and the "Vote Up" for interesting conversations.