MATIC Price: $1.00 (-0.36%)
Gas: 92 GWei
 

Overview

MATIC Balance

Polygon PoS Chain LogoPolygon PoS Chain LogoPolygon PoS Chain Logo0 MATIC

MATIC Value

$0.00

Sponsored

Transaction Hash
Method
Block
From
To
Value
0x60038054386919882023-01-30 4:59:35423 days ago1675054775IN
 Create: TestStorage
0 MATIC0.5170911265.8682587

Parent Txn Hash Block From To Value
View All Internal Transactions
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
TestStorage

Compiler Version
v0.8.17+commit.8df45f5f

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, MIT license
/**
 *Submitted for verification at polygonscan.com on 2023-01-30
*/

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

struct SubOneSlot {
    address account; // 20 bytes
    bool flag; // 1 byte
    int8 count; // 1 byte
}

struct OneSlot {
    address account; // 20 bytes
    uint88 sum; // 11 bytes
    uint8 count; // 1 bytes
}

struct SubTwoSlots {
    address account1;
    address account2;
    bool flag1;
    bool flag2;
}

struct ContractLevelStruct0 {
    uint256 param1;
    bool param2;
}

struct ContractLevelStruct1 {
    uint256 param1;
    address param2;
    uint8 param3;
    bytes1 param4;
}

struct ContractLevelStruct2 {
    ContractLevelStruct0 param1;
    ContractLevelStruct1 param2;
}

struct ContractLevelStruct11 {
    ContractLevelStruct1 param1;
}

enum Severity {
    Low,
    Medium,
    High
}

uint256 constant FileConstant = 5;

interface IERC20 {
    function totalSupply() external view returns (uint256);

    function balanceOf(address account) external view returns (uint256);

    function transfer(address recipient, uint256 amount) external returns (bool);

    function allowance(address owner, address spender) external view returns (uint256);

    function approve(address spender, uint256 amount) external returns (bool);

    function transferFrom(
        address sender,
        address recipient,
        uint256 amount
    ) external returns (bool);
}

contract GrandParent {
    bool initGP;
    address grandParent;

    constructor() {
        initGP = true;
        grandParent = 0xfF1b44f1FCCebc4890B5E00a1EA9259d00a40fEb;
    }
}

contract Parent is GrandParent {
    bool initP;
    address parent;

    constructor() {
        initP = true;
        parent = 0xeC20607aa654D823DD01BEB8780a44863c57Ed07;
    }
}

contract Parent2 is GrandParent {
    bool initP2;
    address parent2;

    constructor() {
        initP2 = true;
        parent2 = 0xb985439AFa9314dCB002E191e230A5936493479B;
    }
}

contract TestStorage is Parent, Parent2 {
    struct TwoSlots {
        bytes32 hash1;
        bytes32 hash2;
    }

    struct FixedArray {
        uint16 num1;
        bytes30[2] data;
        uint16 num2;
    }

    struct FlagsStruct {
        bool flag1;
        bool[2] flags;
        bool flag2;
    }

    enum Status {
        Open,
        Resolved
    }

    uint256 public constant N_COINS = 2;
    uint256 public constant MAX_COINS = 3;
    address public immutable superUser;

    address owner = 0x2f2Db75C5276481E2B018Ac03e968af7763Ed118;
    IERC20 token = IERC20(0x34f08F2A3f4a86531e9C4139Fde571a62689AFEC);
    address[] tokensDyn = [
        0xfF000000000000000000000000000000000000A1,
        0xff000000000000000000000000000000000000b2,
        0xFf000000000000000000000000000000000000c3,
        0xFF000000000000000000000000000000000000d4
    ];
    IERC20[2] tokenPair = [
        IERC20(0xe2f2a5C287993345a840Db3B0845fbC70f5935a5),
        IERC20(0x945Facb997494CC2570096c74b5F66A3507330a1)
    ];
    address[12] dozenTokens = [
        0xa57Bd00134B2850B2a1c55860c9e9ea100fDd6CF,
        0x2000000000000000000000000000000000000001,
        0x2000000000000000000000000000000000000002,
        0x2000000000000000000000000000000000000003,
        0x2000000000000000000000000000000000000004,
        0x2000000000000000000000000000000000000005,
        0x2000000000000000000000000000000000000006,
        0x2000000000000000000000000000000000000007,
        0x2000000000000000000000000000000000000008,
        0x2000000000000000000000000000000000000009,
        0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48
    ];
    address[N_COINS] coins = [
        0x3000000000000000000000000000000000000001,
        0x3000000000000000000000000000000000000002
    ];
    address[N_COINS][3][N_COINS] multiDimension;
    uint256[MAX_COINS] maxCoins = [1234, 567, 8910];
    IERC20[N_COINS] tokens = [
        IERC20(0x4000000000000000000000000000000000000001),
        IERC20(0x4000000000000000000000000000000000000002)
    ];
    // address[2 * N_COINS] doubleTokens;

    uint256 totalSupply = 123123123123456789012345678;
    uint128 rate1 = 123 * 1e18;
    uint128 rate2 = 456 * 1e18;
    // fixed float1 = 1.0234;
    // ufixed float2 = 99.9999;
    // ufixed128x18 float3 = 0.001;
    // fixed128x18 float4 = 12345.0123;
    bytes32 hash = 0xe9b69cd5563a8bfbffb0fa4f422862013492d43fe7fb62d771a0147b6e891d13;
    bool public flag1 = true;
    bool private flag2 = true;
    bool internal flag3 = true;
    bool public flag4 = false;
    bool[2] public flags = [true, true];
    bool public flag5 = true;
    bool[2][2] public flags2x2 = [[true, false], [true, true]];
    bool public flag6 = true;
    bool[2][3] public flags2x3 = [[true, false], [false, true], [true, true]];
    bool public flag7 = true;
    bool[3][2] public flags3x2 = [[true, false, true], [false, true, false]];

    bool[33][2] public flags33x2 = [[true, true, false, true], [true, false, true, true]];
    bool[2][33] public flags2x33 = [[true, true], [true, false], [false, true], [false, false]];
    bool public flag8 = true;
    bool[] public flagsDyn = [true, true, true, false, true, false, true];
    bool[][] public flagsDynDyn;
    bool[][][] public flagsDynDynDyn;
    bool[2][] public flags2xDyn = [
        [true, true],
        [true, true],
        [false, true],
        [true, false],
        [false, false],
        [true, true]
    ];
    bool public flag9 = true;
    bool[][2] public flagsDynx2;
    bool[][16] public flagsDynx16;
    bool[][32] public flagsDynx32;
    bool[32][] public flags32xDyn;
    bool[][4][3] public flagsDynx4x3 = [
        [[true, false, true], [false, true, false], [false, false, true], [true, true, true]],
        [[false, false, false], [true, true, true], [false, true, false], [true, false, true]]
    ];
    bool[33][2][2] public bool_33x2x2;
    bool public flag10 = true;
    bytes30[2][6] public bytes30_2x6;
    bytes30[6][2] public bytes30_6x2;
    bytes32[] public bytes32Dyn = [
        bytes32(0xFF00128251ec233d387a0af31db13f8318b61e40975c27476e1c1a02b79700FF),
        0xEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD
    ];
    bool public flag11 = true;
    uint32[FileConstant] public timestamps = [1060001, 1160111, 1260223, 1360333, 1660445];
    TwoSlots[2] public twoSlots2x;
    TwoSlots[3][4] public twoSlots3x4;
    TwoSlots[4][3] public twoSlots4x3;
    TwoSlots[][3] public twoSlotsDynx3;
    TwoSlots[3][] public twoSlots3xDyn;
    TwoSlots[][] public twoSlotsDynxDyn;
    TwoSlots[][4][3] public twoSlotsDynx4x3;
    TwoSlots[3][4][] public twoSlotsDynx3x4xDyn;
    Status public status = Status.Open;
    Severity public severity = Severity.High;
    SubOneSlot public subSlot = SubOneSlot(0xe2f2a5C287993345a840Db3B0845fbC70f5935a5, true, -121);
    uint8 public oneByteNumber = 253;
    OneSlot public oneSlot = OneSlot(0xe2f2a5C287993345a840Db3B0845fbC70f5935a5, 1234567890, 253);
    SubTwoSlots public subTwoSlot =
        SubTwoSlots(
            0xF4dDc5FF5AbA6E8739E5E056340827c573d191Ec,
            0xe63dfF84aa562dE11B28894f0391702b814f812D,
            true,
            true
        );
    TwoSlots public twoSlots =
        TwoSlots(
            0xAFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9,
            0xEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD
        );
    FixedArray public fixedArray;
    FlagsStruct public flagStruct = FlagsStruct(true, [true, true], true);
    int16 public arrayCount = -2000;
    uint64[] public dynamicInt64Array = [2000, 1, 254, 1e19, 254, 2, 256];
    uint128[] public dynamicInt128Array = [1e38, 2e38, 3e38];
    uint136[] public dynamicInt136Array = [1e40, 2e39];
    uint256[] public dynamicInt256Array = [1e77, 2e76, 3e76, 4e76];
    uint256[3] public fixedIntArray = [1000, 2000, 3000];
    uint256[][] public dynamicDynIntArray;
    uint256[][][] public dynamicDynDynIntArray;
    mapping(address => bool) public blacklist;
    mapping(address => uint256) public balance;
    mapping(address => ContractLevelStruct2) public mapStruct;
    mapping(address => mapping(address => ContractLevelStruct2)) public mapOfMapStruct;
    mapping(address => IERC20) public mapInterface;
    IERC20[2] public interfaceFixedArray = [
        IERC20(0xe2f2a5C287993345a840Db3B0845fbC70f5935a5),
        IERC20(0x30647a72Dc82d7Fbb1123EA74716aB8A317Eac19)];
    IERC20[] public interfaceDynArray = [
        IERC20(0xe2f2a5C287993345a840Db3B0845fbC70f5935a5),
        IERC20(0x30647a72Dc82d7Fbb1123EA74716aB8A317Eac19),
        IERC20(0x78BefCa7de27d07DC6e71da295Cc2946681A6c7B)];
    string public uninitialisedString;
    string public emptyString = "";
    string public name = "TestStorage contract";
    string public short = "Less than 31 bytes";
    string public exactly30 = "exactly 30 char so uses 1 slot";
    string public exactly31 = "exactly 31 chars so uses 1 slot";
    string public exactly32 = "exactly 32 chars so uses 2 slots";
    string public long2 = "more than 31 bytes so data is stored dynamically in 2 slots";
    string public long3 =
        "more than sixty four (64) bytes so data is stored dynamically in three slots";

    // The following can be publicly changed for testing purposes
    string public testString = "This can be publicly changed by anyone";
    bytes public testBytes = bytes("0xEB1000001FD");
    bytes public exactly31Bytes = bytes("0xec0b854938343f85eb39a6648b9e449c2e4aee4dc9b4e96ab592f9f497d051");
    bytes public exactly32Bytes = bytes("0x2619ec68b255542e3da68c054bfe0d7d0f27b7fdbefc8bbccdd23188fc71fe7f");
    bytes public long3Bytes = bytes("0x34d3c319f536deb74ed8f1f3205d9aefef7487c819e77d3351630820dbff1118cc7ee599e5d59fee88c83157bd897847c5911dc7d317b3175e0b085198349973fff");
    uint256 public testUint256 = 0xFEDCBA9876543210;
    int256 public testInt256 = -1023;
    address public testAddress;

    constructor(address _superUser) {
        superUser = _superUser;

        multiDimension[0][0][0] = 0xFfffFfFFFfFFFFfFFfFFFfFFFfFFfFFFfFfFfFf1;
        multiDimension[0][0][1] = 0xfffFFFFFFFfFFFFfFFfFfFFffFfFfFffFFFFfFf2;

        flags33x2[0][32] = true;

        flagsDynx2[0] = [true, false, false, true, true, false, true, true, false, false, true, true, false, true, false, false, true, false, true, false, true, false, false, true, true, false, true, true, false, false, true, true, true, false, true];
        flagsDynx2[1] = [true, false, true, false, true, true, true, true, false, true];

        flagsDynDyn.push([true, true, false, true, true]);
        flagsDynDyn.push([true, false, true]);
        flagsDynDyn.push();
        flagsDynDyn.push([true, true]);

        flagsDynDynDyn.push();
        flagsDynDynDyn[0].push([true, true, false, true]);
        flagsDynDynDyn.push();
        flagsDynDynDyn[1].push([true, false, false, true, true]);
        flagsDynDynDyn.push();
        flagsDynDynDyn[2].push();
        flagsDynDynDyn[2][0].push(true);
        flagsDynDynDyn[2][0].push(false);
        flagsDynDynDyn[2][0].push(true);

        flagsDynx16[0].push(true);
        flagsDynx16[0].push(true);
        flagsDynx16[0].push(false);
        flagsDynx16[0].push(true);
        flagsDynx16[1].push(true);
        flagsDynx16[1].push(false);
        flagsDynx16[1].push(true);
        flagsDynx16[2].push(true);
        flagsDynx16[2].push(true);
        flagsDynx16[15].push(true);

        flagsDynx32[0].push(true);
        flagsDynx32[0].push(true);
        flagsDynx32[1].push(true);

        flags32xDyn.push([true, false, true]);
        flags32xDyn.push([true, false, true, false, true]);

        bool_33x2x2[0][0][0] = true;
        bool_33x2x2[1][1][1] = true;

        bytes30_2x6[0][0] = 0xBBB000000000000000000000000000000000000000000000000000000BBB;
        bytes30_6x2[0][0] = 0xCCC000000000000000000000000000000000000000000000000000000CCC;

        fixedArray.num1 = 65535;
        fixedArray.num2 = 65001;
        fixedArray.data = [
            bytes30(0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF),
            0xFFF000000F00000000000000000000000000000000000000000000000FFF
        ];

        dynamicDynIntArray.push([11111, 11122]);
        dynamicDynIntArray.push([222111, 222222, 222333]);

        dynamicDynDynIntArray.push();
        dynamicDynDynIntArray[0].push([111111, 111122]);
        dynamicDynDynIntArray[0].push([112211, 112222, 112233]);
        dynamicDynDynIntArray.push();
        dynamicDynDynIntArray[1].push([221111, 221122, 221133, 221144]);
        dynamicDynDynIntArray[1].push([222211, 222222, 222233, 222244, 222255]);
        dynamicDynDynIntArray.push();
        dynamicDynDynIntArray[2].push([331111]);

        blacklist[0x2f2Db75C5276481E2B018Ac03e968af7763Ed118] = true;
        blacklist[0xdb2C46Ed8E850668b942d9Bd6D2ae8803c6789DF] = false;
        balance[0x2f2Db75C5276481E2B018Ac03e968af7763Ed118] = 0x1234566789ABCDEF;

        twoSlots2x[0] = TwoSlots(
            0xFFFF00000F000000000000000000000000000000000000000000000000FFFFFF,
            0xFFFFF0000FF0000000000000000000000000000000000000000000000FFFFFFF
        );
        twoSlots2x[1] = TwoSlots(
            0xFF0000000F0000000000000000000000000000000000000000000000000000FF,
            0xFFF000000FF00000000000000000000000000000000000000000000000000FFF
        );

        twoSlots3x4[0][0] = TwoSlots(
            0xFF000000000000000000000000000000000000000000000000000000000000FF,
            0xFFF000000F000000000000000000000000000000000000000000000000000FFF
        );
        twoSlots3x4[0][1] = TwoSlots(
            0xAF0000000000000000000000000000000000000000000000000000000000000F,
            0xAF0000000F0000000000000000000000000000000000000000000000000000FF
        );
        twoSlots3x4[0][2] = TwoSlots(
            0xABC0000000000000000000000000000000000000000000000000000000000321,
            0xABC000000F000000000000000000000000000000000000000000000000000456
        );
        twoSlots3x4[1][0] = TwoSlots(
            0xDEF0000000000000000000000000F000000000000000000000000000000000F1,
            0xDEF000000F000000000000000000F00000000000000000000000000000000FF1
        );
        twoSlots3x4[1][1] = TwoSlots(
            0x1000000000000000000000000000F00000000000000000000000000000000001,
            0x300000000F000000000000000000F00000000000000000000000000000000003
        );
        twoSlots3x4[3][2] = TwoSlots(
            0xB00000000000000000000000000000000000000000000000000000F00000000D,
            0xF00000000F00000000000000000000000000000000000000000000F00000000F
        );

        twoSlots3xDyn.push();
        twoSlots3xDyn[0][0] = TwoSlots(
            0xF00000000000000000000000000000000000000000000000000000000000000F,
            0xF0000000F00000000000000000000000000000000000000000000000000000FF
        );
        twoSlots3xDyn[0][1] = TwoSlots(
            0xFF00000000000000000F0000000000000000000000000000000000000000000F,
            0xFF000000F0000000000F000000000000000000000000000000000000000000FF
        );

        testAddress = address(this);
    }

    function setTestString(string memory _testStr) public {
        testString = _testStr;
    }

    function setTestBytes(bytes memory _testBytes) public {
        testBytes = _testBytes;
    }

    function setTestUint256(uint256 _testUint256) public {
        testUint256 = _testUint256;
    }

    function setTestInt256(int256 _testInt256) public {
        testInt256 = _testInt256;
    }

    function setTestAddress(address _testAddress) public {
        testAddress = _testAddress;
    }
}

Contract Security Audit

Contract ABI

[{"inputs":[{"internalType":"address","name":"_superUser","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[],"name":"MAX_COINS","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"N_COINS","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"arrayCount","outputs":[{"internalType":"int16","name":"","type":"int16"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"balance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"blacklist","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"uint256","name":"","type":"uint256"}],"name":"bool_33x2x2","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"uint256","name":"","type":"uint256"}],"name":"bytes30_2x6","outputs":[{"internalType":"bytes30","name":"","type":"bytes30"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"uint256","name":"","type":"uint256"}],"name":"bytes30_6x2","outputs":[{"internalType":"bytes30","name":"","type":"bytes30"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"bytes32Dyn","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"uint256","name":"","type":"uint256"}],"name":"dynamicDynDynIntArray","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"uint256","name":"","type":"uint256"}],"name":"dynamicDynIntArray","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"dynamicInt128Array","outputs":[{"internalType":"uint128","name":"","type":"uint128"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"dynamicInt136Array","outputs":[{"internalType":"uint136","name":"","type":"uint136"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"dynamicInt256Array","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"dynamicInt64Array","outputs":[{"internalType":"uint64","name":"","type":"uint64"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"emptyString","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"exactly30","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"exactly31","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"exactly31Bytes","outputs":[{"internalType":"bytes","name":"","type":"bytes"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"exactly32","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"exactly32Bytes","outputs":[{"internalType":"bytes","name":"","type":"bytes"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"fixedArray","outputs":[{"internalType":"uint16","name":"num1","type":"uint16"},{"internalType":"uint16","name":"num2","type":"uint16"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"fixedIntArray","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"flag1","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"flag10","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"flag11","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"flag4","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"flag5","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"flag6","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"flag7","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"flag8","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"flag9","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"flagStruct","outputs":[{"internalType":"bool","name":"flag1","type":"bool"},{"internalType":"bool","name":"flag2","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"flags","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"uint256","name":"","type":"uint256"}],"name":"flags2x2","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"uint256","name":"","type":"uint256"}],"name":"flags2x3","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"uint256","name":"","type":"uint256"}],"name":"flags2x33","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"uint256","name":"","type":"uint256"}],"name":"flags2xDyn","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"uint256","name":"","type":"uint256"}],"name":"flags32xDyn","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"uint256","name":"","type":"uint256"}],"name":"flags33x2","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"uint256","name":"","type":"uint256"}],"name":"flags3x2","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"flagsDyn","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"uint256","name":"","type":"uint256"}],"name":"flagsDynDyn","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"uint256","name":"","type":"uint256"}],"name":"flagsDynDynDyn","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"uint256","name":"","type":"uint256"}],"name":"flagsDynx16","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"uint256","name":"","type":"uint256"}],"name":"flagsDynx2","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"uint256","name":"","type":"uint256"}],"name":"flagsDynx32","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"uint256","name":"","type":"uint256"}],"name":"flagsDynx4x3","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"interfaceDynArray","outputs":[{"internalType":"contract IERC20","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"interfaceFixedArray","outputs":[{"internalType":"contract IERC20","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"long2","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"long3","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"long3Bytes","outputs":[{"internalType":"bytes","name":"","type":"bytes"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"mapInterface","outputs":[{"internalType":"contract IERC20","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"address","name":"","type":"address"}],"name":"mapOfMapStruct","outputs":[{"components":[{"internalType":"uint256","name":"param1","type":"uint256"},{"internalType":"bool","name":"param2","type":"bool"}],"internalType":"struct ContractLevelStruct0","name":"param1","type":"tuple"},{"components":[{"internalType":"uint256","name":"param1","type":"uint256"},{"internalType":"address","name":"param2","type":"address"},{"internalType":"uint8","name":"param3","type":"uint8"},{"internalType":"bytes1","name":"param4","type":"bytes1"}],"internalType":"struct ContractLevelStruct1","name":"param2","type":"tuple"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"mapStruct","outputs":[{"components":[{"internalType":"uint256","name":"param1","type":"uint256"},{"internalType":"bool","name":"param2","type":"bool"}],"internalType":"struct ContractLevelStruct0","name":"param1","type":"tuple"},{"components":[{"internalType":"uint256","name":"param1","type":"uint256"},{"internalType":"address","name":"param2","type":"address"},{"internalType":"uint8","name":"param3","type":"uint8"},{"internalType":"bytes1","name":"param4","type":"bytes1"}],"internalType":"struct ContractLevelStruct1","name":"param2","type":"tuple"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"oneByteNumber","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"oneSlot","outputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"uint88","name":"sum","type":"uint88"},{"internalType":"uint8","name":"count","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_testAddress","type":"address"}],"name":"setTestAddress","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes","name":"_testBytes","type":"bytes"}],"name":"setTestBytes","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"int256","name":"_testInt256","type":"int256"}],"name":"setTestInt256","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"string","name":"_testStr","type":"string"}],"name":"setTestString","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_testUint256","type":"uint256"}],"name":"setTestUint256","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"severity","outputs":[{"internalType":"enum Severity","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"short","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"status","outputs":[{"internalType":"enum TestStorage.Status","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"subSlot","outputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"bool","name":"flag","type":"bool"},{"internalType":"int8","name":"count","type":"int8"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"subTwoSlot","outputs":[{"internalType":"address","name":"account1","type":"address"},{"internalType":"address","name":"account2","type":"address"},{"internalType":"bool","name":"flag1","type":"bool"},{"internalType":"bool","name":"flag2","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"superUser","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"testAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"testBytes","outputs":[{"internalType":"bytes","name":"","type":"bytes"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"testInt256","outputs":[{"internalType":"int256","name":"","type":"int256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"testString","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"testUint256","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"timestamps","outputs":[{"internalType":"uint32","name":"","type":"uint32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"twoSlots","outputs":[{"internalType":"bytes32","name":"hash1","type":"bytes32"},{"internalType":"bytes32","name":"hash2","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"twoSlots2x","outputs":[{"internalType":"bytes32","name":"hash1","type":"bytes32"},{"internalType":"bytes32","name":"hash2","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"uint256","name":"","type":"uint256"}],"name":"twoSlots3x4","outputs":[{"internalType":"bytes32","name":"hash1","type":"bytes32"},{"internalType":"bytes32","name":"hash2","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"uint256","name":"","type":"uint256"}],"name":"twoSlots3xDyn","outputs":[{"internalType":"bytes32","name":"hash1","type":"bytes32"},{"internalType":"bytes32","name":"hash2","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"uint256","name":"","type":"uint256"}],"name":"twoSlots4x3","outputs":[{"internalType":"bytes32","name":"hash1","type":"bytes32"},{"internalType":"bytes32","name":"hash2","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"uint256","name":"","type":"uint256"}],"name":"twoSlotsDynx3","outputs":[{"internalType":"bytes32","name":"hash1","type":"bytes32"},{"internalType":"bytes32","name":"hash2","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"uint256","name":"","type":"uint256"}],"name":"twoSlotsDynx3x4xDyn","outputs":[{"internalType":"bytes32","name":"hash1","type":"bytes32"},{"internalType":"bytes32","name":"hash2","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"uint256","name":"","type":"uint256"}],"name":"twoSlotsDynx4x3","outputs":[{"internalType":"bytes32","name":"hash1","type":"bytes32"},{"internalType":"bytes32","name":"hash2","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"uint256","name":"","type":"uint256"}],"name":"twoSlotsDynxDyn","outputs":[{"internalType":"bytes32","name":"hash1","type":"bytes32"},{"internalType":"bytes32","name":"hash2","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"uninitialisedString","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"}]

600380546001600160a01b0319908116732f2db75c5276481e2b018ac03e968af7763ed11817909155600480549091167334f08f2a3f4a86531e9c4139fde571a62689afec17815561012060405273ff000000000000000000000000000000000000a160a090815273ff000000000000000000000000000000000000b260c05273ff000000000000000000000000000000000000c360e05273ff000000000000000000000000000000000000d461010052620000bf916005919062001fff565b506040805180820190915273e2f2a5c287993345a840db3b0845fbc70f5935a5815273945facb997494cc2570096c74b5f66a3507330a160208201526200010b90600690600262002069565b50604080516101608101825273a57bd00134b2850b2a1c55860c9e9ea100fdd6cf81527320000000000000000000000000000000000000016020820152732000000000000000000000000000000000000002918101919091527320000000000000000000000000000000000000036060820152732000000000000000000000000000000000000004608082015273200000000000000000000000000000000000000560a082015273200000000000000000000000000000000000000660c082015273200000000000000000000000000000000000000760e082015273200000000000000000000000000000000000000861010082015273200000000000000000000000000000000000000961012082015273a0b86991c6218b36c1d19d4a2e9eb0ce3606eb486101408201526200024790600890600b620020b3565b5060408051808201909152733000000000000000000000000000000000000001815273300000000000000000000000000000000000000260208201526200029390601490600262002069565b50604080516060810182526104d2815261023760208201526122ce91810191909152620002c5906022906003620020fd565b5060408051808201909152734000000000000000000000000000000000000001815273400000000000000000000000000000000000000260208201526200031190602590600262002069565b506a65d855e0f157db651cf34e6027557818b84570022a2000000000000000000006aaf7c8516d0c00006028557fe9b69cd5563a8bfbffb0fa4f422862013492d43fe7fb62d771a0147b6e891d13602955602a805463ffffffff19166201010117905560408051808201909152600180825260208201526200039890602b90600262002134565b50602c805460ff1916600190811790915560408051608081018252808201838152600060608301528152815180830190925282825260208281019390935291820152620003ea90602d906002620021c8565b50602f805460ff191660019081179091556040805160a08101825260608101838152600060808301819052908252825180840184529081526020818101859052808301919091528251808401845284815290810193909352908101919091526200045990603090600362002215565b506033805460ff191660019081179091556040805160a0810182528082018381526000606080840182905260808401869052918352835191820184528082526020828101959095529281019290925291820152620004bc90603490600262002254565b506040805160c081018252600181830181815260608084018390526000608080860182905260a0860185905292855285519283018652838352602083810191909152948201839052810191909152918101919091526200052190603690600262002293565b506040805160c08101825260016080820181815260a083018290528252825180840184528181526000602082810182905280850192909252845180860186528181528083019390935283850192909252835180850190945281845283015260608101919091526200059790603a906004620022e1565b50605b805460ff191660019081179091556040805160e081018252828152602081018390529081018290526000606082018190526080820183905260a082015260c0810191909152620005ef90605c90600762002320565b506040805161010081018252600160c0820181815260e083018290528252825180840184528181526020818101839052808401919091528351808501855260008082528183018490528486019190915284518086018652838152808301829052606085015284518086018652818152808301919091526080840152835180850190945281845283015260a08101919091526200069090605f90600662002388565b506060805460ff191660019081178255604080516101208101825260c0808201848152600060e08085018290526101008501879052848601928352855180890187528281526020818101899052818801849052868a01919091528651808a0188528381528082018490528088018990526080808801919091528751808b0189528981528083018a90528089018a905260a080890191909152948752875192830188528201838152938201839052938101829052918252845180880186528681528084018790528086018790528284015284518088018652818152808401879052808601829052828601528451808801865286815280840191909152938401949094529383019190915291820152620007ad906094906002620023d4565b5060a8805460ff19166001179055604080518082019091527fff00128251ec233d387a0af31db13f8318b61e40975c27476e1c1a02b79700ff81526003600f60fc1b036020820152620008059060c190600262002422565b5060c2805460ff191660011790556040805160a08101825262102ca181526211b3af602082015262133abf918101919091526214c1cd60608201526219561d6080820152620008599060c390600562002460565b5061010a805461ffff1916610200179055604080516060808201835273e2f2a5c287993345a840db3b0845fbc70f5935a5808352600160208085018290526078199486019490945261010b80546001600160b01b0319908116758701e2f2a5c287993345a840db3b0845fbc70f5935a51790915561010c805460fd60ff1991821681179092558751808701895294855263499602d285880152938701527ffd00000000000000499602d2e2f2a5c287993345a840db3b0845fbc70f5935a561010d55855160808101875273f4ddc5ff5aba6e8739e5e056340827c573d191ec80825273e63dff84aa562de11b28894f0391702b814f812d8288015281880184905290850183905261010e80546001600160a01b031916909117905561010f8054909116750101e63dff84aa562de11b28894f0391702b814f812d179055845180860186526007600b60fc1b038082526003600f60fc1b03918601829052610110556101115584519283018552808352845180860186528181528085018290529383018490529382019390935280516101168054909416901515178355919062000a089061011790600262002134565b506040918201516002918201805460ff1916911515919091179055610119805461ffff191661f830179055815160e0810183526107d081526001602082015260fe928101839052678ac7230489e800006060820152608081019290925260a082015261010060c082015262000a839061011a906007620024ee565b50604080516060810182526f4b3b4ca85a86c47a098a22400000000081526f96769950b50d88f4131444800000000060208201526fe1b1e5f90f944d6e1c9e66c0000000009181019190915262000ae09061011b90600362002599565b5060408051808201909152701d6329f1c35ca4bfabb9f561000000000081527005e0a1fd2712875988becaad0000000000602082015262000b279061011c90600262002644565b5060405180608001604052807fdd15fe86affad91249ef0eb713f39ebeaa987b6e6fd2a000000000000000000081526020017f2c37994e23322b6a0ec96957d0ca52f2eeeb4be2e32a2000000000000000000081526020017f425365f534cb411f162e1e03b92f7c6c6660f1d454bf3000000000000000000081526020017f586f329c466456d41d92d2afa194a5e5ddd697c5c6544000000000000000000081525061011d90600462000bdc92919062002422565b50604080516060810182526103e881526107d06020820152610bb89181019190915262000c0f9061011e906003620020fd565b506040805180820190915273e2f2a5c287993345a840db3b0845fbc70f5935a581527330647a72dc82d7fbb1123ea74716ab8a317eac19602082015262000c5c9061012890600262002069565b506040805160608101825273e2f2a5c287993345a840db3b0845fbc70f5935a581527330647a72dc82d7fbb1123ea74716ab8a317eac1960208201527378befca7de27d07dc6e71da295cc2946681a6c7b9181019190915262000cc59061012a90600362001fff565b5060408051602081019091526000815261012c9062000ce5908262002996565b5060408051808201909152601481527f5465737453746f7261676520636f6e7472616374000000000000000000000000602082015261012d9062000d2a908262002996565b506040805180820190915260128152714c657373207468616e20333120627974657360701b602082015261012e9062000d64908262002996565b5060408051808201909152601e81527f65786163746c79203330206368617220736f2075736573203120736c6f740000602082015261012f9062000da9908262002996565b5060408051808201909152601f81527f65786163746c7920333120636861727320736f2075736573203120736c6f740060208201526101309062000dee908262002996565b506040518060400160405280602081526020017f65786163746c7920333220636861727320736f2075736573203220736c6f7473815250610131908162000e36919062002996565b506040518060600160405280603b815260200162004549603b91396101329062000e61908262002996565b506040518060800160405280604c8152602001620044dd604c91396101339062000e8c908262002996565b506040518060600160405280602681526020016200466b602691396101349062000eb7908262002996565b5060408051808201909152600d81526c0c1e11508c4c0c0c0c0c0c5191609a1b60208201526101359062000eec908262002996565b50604051806060016040528060408152602001620046b1604091396101369062000f17908262002996565b5060405180608001604052806042815260200162004584604291396101379062000f42908262002996565b506040518060c0016040528060858152602001620045c6608591396101389062000f6d908262002996565b5067fedcba9876543210610139556103fe1961013a5534801562000f9057600080fd5b50604051620046f1380380620046f183398101604081905262000fb39162002a62565b600080546001600160b01b0319167501ff1b44f1fccebc4890b5e00a1ea9259d00a40feb01178155600180546001600160a81b0319167401ec20607aa654d823dd01beb8780a44863c57ed071781556002805473b985439afa9314dcb002e191e230a5936493479b6001600160a01b0319918216179091556001600160a01b038416608090815260168054600f600160a01b0390841617905560178054600e600160a01b039316929092179091556037805460ff1916831790556040805161046081018252838152602081018590529081018490526060810183905290810182905260a0810183905260c0810182905260e08101829052610100810183905261012081018390526101408101829052610160810182905261018081018390526101a081018290526101c081018390526101e08101839052610200810182905261022081018390526102408101829052610260810183905261028081018290526102a081018390526102c081018390526102e08101829052610300810182905261032081018390526103408101829052610360810182905261038081018390526103a081018390526103c081018290526103e0810182905261040081018290526104208101929092526104408201526200119190606190602362002320565b5060408051610140810182526001808252600060208301819052928201819052606082018390526080820181905260a0820181905260c0820181905260e08201819052610100820192909252610120810191909152620011f690606290600a62002320565b506040805160a08101825260018082526020820181905260009282018390526060820181905260808201819052605d805491820181559092526200124e91600080516020620046918339815191520190600562002320565b50604080516060810182526001808252600060208301819052928201819052605d805491820181559092526200129891600080516020620046918339815191520190600362002320565b50605d8054604080518082019091526001808252602082015260028083018455600093909352620012ee927f2619ec68b255542e3da68c054bfe0d7d0f27b7fdbefc8bbccdd23188fc71fe809092019162002320565b50605e80546001018082556000828152906200130e576200130e62002a94565b600091825260208083206040805160808101825260018082528185018190529181018690526060810182905293909101805491820181558452922062001358920190600462002320565b50605e80546001908101808355600083905281106200137b576200137b62002a94565b600091825260208083206040805160a08101825260018082528185018790529181018690526060810182905260808101829052939091018054918201815584529220620013cc920190600562002320565b50605e805460010180825560008290526002908110620013f057620013f062002a94565b60009182526020822001805460010181559052605e805460029081106200141b576200141b62002a94565b906000526020600020016000815481106200143a576200143a62002a94565b6000918252602080832090910180546001810182559083529181902090820401805460ff601f9093166101000a92830219169091179055605e8054600290811062001489576200148962002a94565b90600052602060002001600081548110620014a857620014a862002a94565b6000918252602080832091909101805460018101825590835291819020908204018054601f9092166101000a60ff02199091169055605e80546002908110620014f557620014f562002a94565b9060005260206000200160008154811062001514576200151462002a94565b600091825260208083209190910180546001808201835591845282842083820401805460ff601f93841661010090810a828102199093169092179092556063805480860182557fd86d8a3f7c82c89ed8e04140017aa108a0a1469249f92c8f022b9dbafa87b88387820481018054928716850a808702199093169092179091558154808701835587810482018054918716850a8087021990921690911790558154808701835587810482018054918716850a86021990911690558154808701909255868204018054918516830a8085021990921690911790556064805480860182557f26700e13983fefbd9cf16da2ed70fa5c6798ac55062a4803121a869731e308d287820481018054928716850a808702199093169092179091558154808701835587810482018054918716850a86021990911690558154808701909255868204018054918516830a8085021990921690911790556065805480860182557f8ff97419363ffd7000167f130ef7168fbea05faf9251824ca5043f113cc6a7c787820481018054928716850a808702199093169092179091558154808701909255868204018054918516830a808502199092169091179055607280548086019091557fdffbd64cc7c1a7eb27984335d9416d51137a03d3fabec7141025c62663253fe1868204018054918516830a8085021990921690911790556073805480860182557ff79bde9ddd17963ebce6f7d021d60de7c2bd0db944d23c900c0c0e775f53005287820481018054928716850a808702199093169092179091558154808701909255868204018054918516830a808502199092169091179055607480548086019091557f19a0b39aa25ac793b5f6e9a0534364cc0b3fd1ea9b651e79c7f50a59d48ef8138682040180549190941690910a9182021916179055604080516060810182528281529283018490528201819052609380549182018155909252620017f3916000805160206200464b8339815191520190600362002134565b506040805160a081018252600180825260006020830181905292820181905260608201839052608082018190526093805491820181559092526200184b916000805160206200464b8339815191520190600562002134565b5060a0805460ff1916600117905560a6805461010061ff001990911617905560a980546001600160f01b0319908116610bbb610bbb60e41b011790915560b58054909116610ccc61033360e61b01179055610112805461ffff61ffff1991821617909155610115805461fde9908316179055604080518082019091529081527ffff000000f00000000000000000000000000000000000000000000000fff0000602082015262001901906101139060026200269c565b5060408051808201909152612b678152612b72602082015261012180546001810182556000919091526200194b9160008051602062004529833981519152909101906002620026e2565b50604080516060810182526203639f81526203640e60208201526203647d918101919091526101218054600181018255600091909152620019a2916000805160206200452983398151915290910190600362002725565b506101228054600101808255600082815290620019c357620019c362002a94565b60009182526020808320604080518082019091526201b20781526201b2128184015292018054600181018255908452922062001a03920190600262002725565b5061012260008154811062001a1c5762001a1c62002a94565b60009182526020808320604080516060810182526201b65381526201b65e818501526201b6699181019190915292018054600181018255908452922062001a67920190600362002725565b50610122805460019081018083556000839052811062001a8b5762001a8b62002a94565b600091825260208083206040805160808101825262035fb7815262035fc28185015262035fcd9181019190915262035fd8606082015292018054600181018255908452922062001adf920190600462002725565b5061012260018154811062001af85762001af862002a94565b600091825260208083206040805160a0810182526203640381526203640e8185015262036419918101919091526203642460608201526203642f608082015292018054600181018255908452922062001b55920190600562002725565b5061012280546001018082556000829052600290811062001b7a5762001b7a62002a94565b600091825260208083206040805180840190915262050d67815292018054600181810183559185529190932062001bb5939101919062002725565b507fb53bef11145e7d5591eba429cf948b4cd94c11db0c7c3fafa635d816be37da058054600160ff1991821681179092557f052df7da6967458ff0370570d34c11b69f3d480864bb5c0c45a285210d7d4a18805490911690556101246020908152671234566789abcdef7f97e9d3eb7a173a7386a002d79cc37c171c252744c34005899426a4e8abe669fd556040805180820182527fffff00000f000000000000000000000000000000000000000000000000ffffff808252631000000062ffff0160d41b031991840182905260c45560c555805180820182527fff0000000f0000000000000000000000000000000000000000000000000000ff8082527ffff000000ff00000000000000000000000000000000000000000000000000fff91840182905260c65560c755805180820182527fff000000000000000000000000000000000000000000000000000000000000ff8082527ffff000000f000000000000000000000000000000000000000000000000000fff91840182905260c85560c95580518082018252600f60af60f81b018082527faf0000000f0000000000000000000000000000000000000000000000000000ff91840182905260ca5560cb55805180820182526103216102af60f61b018082527fabc000000f00000000000000000000000000000000000000000000000000045691840182905260cc5560cd55805180820182527fdef0000000000000000000000000f000000000000000000000000000000000f18082527fdef000000f000000000000000000f00000000000000000000000000000000ff191840182905260ce5560cf55805180820182527f1000000000000000000000000000f000000000000000000000000000000000018082527f300000000f000000000000000000f0000000000000000000000000000000000391840182905260d05560d155805180820182527fb00000000000000000000000000000000000000000000000000000f00000000d8082527ff00000000f00000000000000000000000000000000000000000000f00000000f91840182905260de5560df5560fb805490930180845560008481528251808401909352600f600f60fc1b0183527ff0000000f00000000000000000000000000000000000000000000000000000ff938301939093529092919062001f1c5762001f1c62002a94565b6000918252602080832084516006939093020191825592830151600190910155604080518082019091527fff00000000000000000f0000000000000000000000000000000000000000000f81527fff000000f0000000000f000000000000000000000000000000000000000000ff9281019290925260fb805490919062001fa75762001fa762002a94565b906000526020600020906006020160016003811062001fca5762001fca62002a94565b8251600291909102919091019081556020909101516001909101555061013b80546001600160a01b0319163017905562002aaa565b82805482825590600052602060002090810192821562002057579160200282015b828111156200205757825182546001600160a01b0319166001600160a01b0390911617825560209092019160019091019062002020565b50620020659291506200276a565b5090565b82600281019282156200205757916020028201828111156200205757825182546001600160a01b0319166001600160a01b0390911617825560209092019160019091019062002020565b82600c81019282156200205757916020028201828111156200205757825182546001600160a01b0319166001600160a01b0390911617825560209092019160019091019062002020565b826003810192821562002057579160200282015b8281111562002057578251829061ffff1690559160200191906001019062002111565b600183019183908215620020575791602002820160005b838211156200218a57835183826101000a81548160ff02191690831515021790555092602001926001016020816000010492830192600103026200214b565b8015620021b95782816101000a81549060ff02191690556001016020816000010492830192600103026200218a565b5050620020659291506200276a565b826002810192821562002207579160200282015b8281111562002207578251620021f6908390600262002134565b5091602001919060010190620021dc565b50620020659291506200276b565b826003810192821562002207579160200282015b828111156200220757825162002243908390600262002134565b509160200191906001019062002229565b826002810192821562002207579160200282015b828111156200220757825162002282908390600362002134565b509160200191906001019062002268565b600483019183908215620022d3579160200282015b82811115620022d3578251620022c2908390600462002781565b5091602001919060020190620022a8565b5062002065929150620027d6565b826021810192821562002207579160200282015b82811115620022075782516200230f908390600262002134565b5091602001919060010190620022f5565b82805482825590600052602060002090601f0160209004810192821562002057579160200282016000838211156200218a57835183826101000a81548160ff02191690831515021790555092602001926001016020816000010492830192600103026200214b565b82805482825590600052602060002090810192821562002207579160200282015b8281111562002207578251620023c3908390600262002134565b5091602001919060010190620023a9565b600c8301918390821562002414579160200282015b8281111562002414578251620024039083906004620027f2565b5091602001919060040190620023e9565b50620020659291506200283f565b82805482825590600052602060002090810192821562002057579160200282015b828111156200205757825182559160200191906001019062002443565b600183019183908215620020575791602002820160005b83821115620024bc57835183826101000a81548163ffffffff021916908362ffffff160217905550926020019260040160208160030104928301926001030262002477565b8015620021b95782816101000a81549063ffffffff0219169055600401602081600301049283019260010302620024bc565b82805482825590600052602060002090600301600490048101928215620020575791602002820160005b838211156200256457835183826101000a8154816001600160401b0302191690836001600160401b03160217905550926020019260080160208160070104928301926001030262002518565b8015620021b95782816101000a8154906001600160401b03021916905560080160208160070104928301926001030262002564565b82805482825590600052602060002090600101600290048101928215620020575791602002820160005b838211156200260f57835183826101000a8154816001600160801b0302191690836001600160801b031602179055509260200192601001602081600f01049283019260010302620025c3565b8015620021b95782816101000a8154906001600160801b030219169055601001602081600f010492830192600103026200260f565b82805482825590600052602060002090810192821562002057579160200282015b828111156200205757825182546001600160881b0319166001600160881b0390911617825560209092019160019091019062002665565b826002810192821562002057579160200282015b828111156200205757825182546001600160f01b03191660109190911c178255602090920191600190910190620026b0565b82805482825590600052602060002090810192821562002057579160200282018281111562002057578251829061ffff1690559160200191906001019062002111565b82805482825590600052602060002090810192821562002057579160200282015b8281111562002057578251829062ffffff1690559160200191906001019062002746565b5b808211156200206557600081556001016200276b565b60028301918390821562002057579160200282016000838211156200218a57835183826101000a81548160ff02191690831515021790555092602001926001016020816000010492830192600103026200214b565b80821115620020655760008082556001820155600201620027d6565b826004810192821562002831579160200282015b828111156200283157825162002820908390600362002320565b509160200191906001019062002806565b506200206592915062002860565b808211156200206557600062002856828262002881565b506004016200283f565b8082111562002065576000620028778282620028c7565b5060010162002860565b506000620028908282620028c7565b506001016000620028a28282620028c7565b506001016000620028b48282620028c7565b50620028c5906001016000620028c7565b565b50805460008255601f016020900490600052602060002090810190620028ee91906200276a565b50565b634e487b7160e01b600052604160045260246000fd5b600181811c908216806200291c57607f821691505b6020821081036200293d57634e487b7160e01b600052602260045260246000fd5b50919050565b601f8211156200299157600081815260208120601f850160051c810160208610156200296c5750805b601f850160051c820191505b818110156200298d5782815560010162002978565b5050505b505050565b81516001600160401b03811115620029b257620029b2620028f1565b620029ca81620029c3845462002907565b8462002943565b602080601f83116001811462002a025760008415620029e95750858301515b600019600386901b1c1916600185901b1785556200298d565b600085815260208120601f198616915b8281101562002a335788860151825594840194600190910190840162002a12565b508582101562002a525787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b60006020828403121562002a7557600080fd5b81516001600160a01b038116811462002a8d57600080fd5b9392505050565b634e487b7160e01b600052603260045260246000fd5b608051611a1762002ac66000396000610c260152611a176000f3fe608060405234801561001057600080fd5b50600436106104c25760003560e01c806366797a5011610278578063b28baa1d1161015c578063e121f481116100ce578063eea2376811610092578063eea2376814610d9f578063f109f33414610db2578063f73db76714610dc5578063f9f92be414610dd8578063fa8e6c8e14610dfc578063fb8f0f5914610e0f57600080fd5b8063e121f48114610cb4578063e300fb7a14610cc7578063e3d670d714610cda578063e5e073e614610cfb578063e68b0ca914610d9257600080fd5b8063bceb583511610120578063bceb583514610c5d578063c35db4eb14610c65578063cbac16c414610c85578063d2aeef3b14610c98578063d5aedd3314610ca2578063de3154a414610caa57600080fd5b8063b28baa1d14610bf3578063b33516d814610c14578063b65c630b14610c21578063bb11548614610c48578063bb2b6b1414610c5057600080fd5b80638bc33af3116101f557806394b96778116101b957806394b9677814610b915780639637104514610ba45780639c2ed82e14610bb1578063a22b9d5014610bc5578063a67919cc14610bd8578063a6e933ae14610be057600080fd5b80638bc33af314610ad55780638cefc60714610afd5780638d43b15114610b63578063946fa82c14610b765780639493683914610b8957600080fd5b80637548ef941161023c5780637548ef94146109ab57806381274d3a14610a8e57806385962f9214610aa1578063862a6a3b14610ab55780638908abaf14610ac257600080fd5b806366797a501461094b578063669e221814610953578063695c2d5b146109665780636a8bde721461096e5780636db560691461099857600080fd5b8063315e2f1b116103aa57806344c8478e1161031c5780635049975a116102e05780635049975a1461085d578063584e36b414610865578063584f0228146108915780635b86a280146108c25780635d681831146108cf578063639bde021461093857600080fd5b806344c8478e146107f6578063453e061b1461080957806349ed7394146108295780634c678dbc14610836578063501c78551461084957600080fd5b806338bea4cb1161036e57806338bea4cb1461075c578063391e2457146107645780633c3eee96146107965780633dc180b1146107a95780633e61d144146107bc5780634237bfd2146107cf57600080fd5b8063315e2f1b1461070c57806331f4401814610721578063323e50fa14610734578063370e90a314610741578063384302a91461075457600080fd5b806319e6166c11610443578063200d2ed211610407578063200d2ed21461068f57806325ac629f146106aa5780632611121f146106b2578063262330b4146106dd57806329357750146106f15780632a824c2e146106f957600080fd5b806319e6166c146106095780631c01392d146106115780631c80de6b1461063e5780631d1c22f8146106515780631e19f82d1461067c57600080fd5b80630c9fcab51161048a5780630c9fcab5146105a35780630ea73d7c146105c85780630f7adaf4146105db57806313d29309146105e357806315b214a2146105f657600080fd5b806302fbe0de146104c757806304755821146104ed57806306fdde031461051057806307b3e90814610525578063096fc26214610550575b600080fd5b6104da6104d5366004611646565b610e17565b6040519081526020015b60405180910390f35b6105006104fb366004611646565b610e55565b60405190151581526020016104e4565b610518610e9b565b6040516104e491906116ae565b6105386105333660046116c8565b610f2a565b6040516001600160801b0390911681526020016104e4565b61010b5461057b906001600160a01b0381169060ff600160a01b82041690600160a81b900460000b83565b604080516001600160a01b039094168452911515602084015260000b908201526060016104e4565b61011054610111546105b3919082565b604080519283526020830191909152016104e4565b6105006105d6366004611646565b610f68565b610518610f90565b6105006105f13660046116e1565b610f9e565b610500610604366004611646565b610ff0565b610518611035565b61011654610118546106279160ff908116911682565b6040805192151583529015156020830152016104e4565b61050061064c366004611646565b611043565b61066461065f3660046116c8565b611062565b6040516001600160881b0390911681526020016104e4565b6105b361068a366004611646565b61108d565b61010a5461069d9060ff1681565b6040516104e49190611723565b6105186110c3565b6106c56106c03660046116c8565b6110d1565b6040516001600160a01b0390911681526020016104e4565b61013b546106c5906001600160a01b031681565b6104da600281565b6105b3610707366004611646565b6110f2565b61071f61071a3660046117c9565b61113a565b005b6105b361072f3660046116c8565b61114b565b60a8546105009060ff1681565b6105b361074f3660046116e1565b61116d565b6104da600381565b6105186111c0565b610112546101155461077b9161ffff908116911682565b6040805161ffff9384168152929091166020830152016104e4565b6105006107a43660046116e1565b6111ce565b6104da6107b73660046116c8565b611227565b6105b36107ca3660046116e1565b61123f565b6107e26107dd366004611646565b611294565b60405161ffff1990911681526020016104e4565b6104da6108043660046116e1565b6112c2565b61010c546108179060ff1681565b60405160ff90911681526020016104e4565b602a546105009060ff1681565b6105006108443660046116e1565b611319565b602a54610500906301000000900460ff1681565b610518611359565b6108786108733660046116c8565b611367565b60405167ffffffffffffffff90911681526020016104e4565b61071f61089f366004611836565b61013b80546001600160a01b0319166001600160a01b0392909216919091179055565b605b546105009060ff1681565b61010d54610904906001600160a01b03811690600160a01b81046affffffffffffffffffffff1690600160f81b900460ff1683565b604080516001600160a01b0390941684526affffffffffffffffffffff909216602084015260ff16908201526060016104e4565b6105b3610946366004611646565b6113a6565b6105186113c5565b6106c56109613660046116c8565b6113d3565b6105186113fe565b6106c561097c366004611836565b610127602052600090815260409020546001600160a01b031681565b6105006109a6366004611646565b61140c565b610a396109b9366004611836565b610125602090815260009182526040918290208251808401845281548152600182015460ff9081161515828501528451608081018652600284015481526003909301546001600160a01b03811694840194909452600160a01b84041693820193909352600160a81b90910460f81b6001600160f81b031916606082015282565b6040805183518152602093840151151584820152825181830152928201516001600160a01b03166060808501919091529082015160ff16608084015201516001600160f81b03191660a082015260c0016104e4565b610500610a9c3660046116c8565b61142e565b61071f610aaf3660046116c8565b61013955565b6060546105009060ff1681565b6105b3610ad0366004611646565b611458565b610ae8610ae33660046116c8565b61147a565b60405163ffffffff90911681526020016104e4565b61010e5461010f54610b30916001600160a01b03908116919081169060ff600160a01b8204811691600160a81b90041684565b604080516001600160a01b03958616815294909316602085015290151591830191909152151560608201526080016104e4565b6107e2610b71366004611646565b6114aa565b610500610b84366004611646565b6114cc565b6105186114eb565b610500610b9f3660046116c8565b6114f9565b6033546105009060ff1681565b61071f610bbf3660046116c8565b61013a55565b6104da610bd33660046116c8565b61152d565b61051861154f565b610500610bee366004611646565b61155d565b61011954610c019060010b81565b60405160019190910b81526020016104e4565b602f546105009060ff1681565b6106c57f000000000000000000000000000000000000000000000000000000000000000081565b61051861156d565b60c2546105009060ff1681565b61051861157b565b61010a54610c7890610100900460ff1681565b6040516104e49190611851565b610500610c93366004611646565b611589565b6104da6101395481565b610518611599565b6104da61013a5481565b610500610cc2366004611646565b6115a7565b610500610cd5366004611646565b6115b7565b6104da610ce8366004611836565b6101246020526000908152604090205481565b610a39610d09366004611865565b6101266020908152600092835260408084208252918352918190208151808301835281548152600182015460ff9081161515828601528351608081018552600284015481526003909301546001600160a01b03811695840195909552600160a01b85041692820192909252600160a81b90920460f81b6001600160f81b03191660608301529082565b602c546105009060ff1681565b61071f610dad3660046117c9565b6115df565b610500610dc0366004611646565b6115ec565b6105b3610dd3366004611646565b6115fc565b610500610de6366004611836565b6101236020526000908152604090205460ff1681565b6104da610e0a3660046116c8565b611628565b610518611638565b6101218281548110610e2857600080fd5b906000526020600020018181548110610e4057600080fd5b90600052602060002001600091509150505481565b60738260208110610e6557600080fd5b018181548110610e7457600080fd5b9060005260206000209060209182820401919006915091509054906101000a900460ff1681565b61012d8054610ea990611898565b80601f0160208091040260200160405190810160405280929190818152602001828054610ed590611898565b8015610f225780601f10610ef757610100808354040283529160200191610f22565b820191906000526020600020905b815481529060010190602001808311610f0557829003601f168201915b505050505081565b61011b8181548110610f3b57600080fd5b9060005260206000209060029182820401919006601002915054906101000a90046001600160801b031681565b605d8281548110610f7857600080fd5b906000526020600020018181548110610e7457600080fd5b61012b8054610ea990611898565b60a08360028110610fae57600080fd5b600402018260028110610fc057600080fd5b600202018160218110610fd257600080fd5b602081049091015460ff601f9092166101000a900416925083915050565b6093828154811061100057600080fd5b90600052602060002001816020811061101857600080fd5b602081049091015460ff601f9092166101000a9004169150829050565b6101338054610ea990611898565b6034826002811061105357600080fd5b01816003811061101857600080fd5b61011c818154811061107357600080fd5b6000918252602090912001546001600160881b0316905081565b60e0826003811061109d57600080fd5b6008020181600481106110af57600080fd5b600202018054600190910154909250905082565b6101378054610ea990611898565b61012881600281106110e257600080fd5b01546001600160a01b0316905081565b60fc828154811061110257600080fd5b90600052602060002001818154811061111a57600080fd5b600091825260209091206002909102018054600190910154909250905082565b6101346111478282611921565b5050565b60c4816002811061115b57600080fd5b60020201805460019091015490915082565b60fd836003811061117d57600080fd5b60040201826004811061118f57600080fd5b01818154811061119e57600080fd5b6000918252602090912060029091020180546001909101549093509150839050565b61012e8054610ea990611898565b609483600381106111de57600080fd5b6004020182600481106111f057600080fd5b0181815481106111ff57600080fd5b906000526020600020906020918282040191900692509250509054906101000a900460ff1681565b61011e816003811061123857600080fd5b0154905081565b610109838154811061125057600080fd5b9060005260206000209060180201826004811061126c57600080fd5b60060201816003811061127e57600080fd5b6002020180546001909101549093509150839050565b60b582600281106112a457600080fd5b6006020181600681106112b657600080fd5b015460101b9150829050565b61012283815481106112d357600080fd5b9060005260206000200182815481106112eb57600080fd5b90600052602060002001818154811061130357600080fd5b9060005260206000200160009250925050505481565b605e838154811061132957600080fd5b90600052602060002001828154811061134157600080fd5b9060005260206000200181815481106111ff57600080fd5b61012c8054610ea990611898565b61011a818154811061137857600080fd5b9060005260206000209060049182820401919006600802915054906101000a900467ffffffffffffffff1681565b60f882600381106113b657600080fd5b01818154811061111a57600080fd5b6101388054610ea990611898565b61012a81815481106113e457600080fd5b6000918252602090912001546001600160a01b0316905081565b6101318054610ea990611898565b6036826002811061141c57600080fd5b60020201816021811061101857600080fd5b602b816002811061143e57600080fd5b60209182820401919006915054906101000a900460ff1681565b60c8826004811061146857600080fd5b6006020181600381106110af57600080fd5b60c3816005811061148a57600080fd5b60089182820401919006600402915054906101000a900463ffffffff1681565b60a982600681106114ba57600080fd5b6002020181600281106112b657600080fd5b602d82600281106114dc57600080fd5b01816002811061101857600080fd5b6101328054610ea990611898565b605c818154811061150957600080fd5b9060005260206000209060209182820401919006915054906101000a900460ff1681565b61011d818154811061153e57600080fd5b600091825260209091200154905081565b61012f8054610ea990611898565b60618260028110610e6557600080fd5b6101368054610ea990611898565b6101308054610ea990611898565b603a82602181106114dc57600080fd5b6101358054610ea990611898565b60638260108110610e6557600080fd5b605f82815481106115c757600080fd5b90600052602060002001816002811061101857600080fd5b6101356111478282611921565b603082600381106114dc57600080fd5b60fb828154811061160c57600080fd5b906000526020600020906006020181600381106110af57600080fd5b60c1818154811061153e57600080fd5b6101348054610ea990611898565b6000806040838503121561165957600080fd5b50508035926020909101359150565b6000815180845260005b8181101561168e57602081850181015186830182015201611672565b506000602082860101526020601f19601f83011685010191505092915050565b6020815260006116c16020830184611668565b9392505050565b6000602082840312156116da57600080fd5b5035919050565b6000806000606084860312156116f657600080fd5b505081359360208301359350604090920135919050565b634e487b7160e01b600052602160045260246000fd5b60208101600283106117375761173761170d565b91905290565b634e487b7160e01b600052604160045260246000fd5b600067ffffffffffffffff8084111561176e5761176e61173d565b604051601f8501601f19908116603f011681019082821181831017156117965761179661173d565b816040528093508581528686860111156117af57600080fd5b858560208301376000602087830101525050509392505050565b6000602082840312156117db57600080fd5b813567ffffffffffffffff8111156117f257600080fd5b8201601f8101841361180357600080fd5b61181284823560208401611753565b949350505050565b80356001600160a01b038116811461183157600080fd5b919050565b60006020828403121561184857600080fd5b6116c18261181a565b60208101600383106117375761173761170d565b6000806040838503121561187857600080fd5b6118818361181a565b915061188f6020840161181a565b90509250929050565b600181811c908216806118ac57607f821691505b6020821081036118cc57634e487b7160e01b600052602260045260246000fd5b50919050565b601f82111561191c57600081815260208120601f850160051c810160208610156118f95750805b601f850160051c820191505b8181101561191857828155600101611905565b5050505b505050565b815167ffffffffffffffff81111561193b5761193b61173d565b61194f816119498454611898565b846118d2565b602080601f831160018114611984576000841561196c5750858301515b600019600386901b1c1916600185901b178555611918565b600085815260208120601f198616915b828110156119b357888601518255948401946001909101908401611994565b50858210156119d15787850151600019600388901b60f8161c191681555b5050505050600190811b0190555056fea26469706673582212206d58e3821c71e0a1731b59005a2cac826a33826b4d82339acdf34ed5d1a72de864736f6c634300081100336d6f7265207468616e20736978747920666f7572202836342920627974657320736f20646174612069732073746f7265642064796e616d6963616c6c7920696e20746872656520736c6f74736307dbd8d436359afedcbb14148627517dc035f98878d4a83d3e722a4815a5076d6f7265207468616e20333120627974657320736f20646174612069732073746f7265642064796e616d6963616c6c7920696e203220736c6f74733078323631396563363862323535353432653364613638633035346266653064376430663237623766646265666338626263636464323331383866633731666537663078333464336333313966353336646562373465643866316633323035643961656665663734383763383139653737643333353136333038323064626666313131386363376565353939653564353966656538386338333135376264383937383437633539313164633764333137623331373565306230383531393833343939373366666628da5ca8143bfa5e9f642e58e5e87bef0a2eb0c00bcd4efdd01050293f5fac91546869732063616e206265207075626c69636c79206368616e67656420627920616e796f6e652619ec68b255542e3da68c054bfe0d7d0f27b7fdbefc8bbccdd23188fc71fe7f307865633062383534393338333433663835656233396136363438623965343439633265346165653464633962346539366162353932663966343937643035310000000000000000000000002f2db75c5276481e2b018ac03e968af7763ed118

Deployed Bytecode

0x608060405234801561001057600080fd5b50600436106104c25760003560e01c806366797a5011610278578063b28baa1d1161015c578063e121f481116100ce578063eea2376811610092578063eea2376814610d9f578063f109f33414610db2578063f73db76714610dc5578063f9f92be414610dd8578063fa8e6c8e14610dfc578063fb8f0f5914610e0f57600080fd5b8063e121f48114610cb4578063e300fb7a14610cc7578063e3d670d714610cda578063e5e073e614610cfb578063e68b0ca914610d9257600080fd5b8063bceb583511610120578063bceb583514610c5d578063c35db4eb14610c65578063cbac16c414610c85578063d2aeef3b14610c98578063d5aedd3314610ca2578063de3154a414610caa57600080fd5b8063b28baa1d14610bf3578063b33516d814610c14578063b65c630b14610c21578063bb11548614610c48578063bb2b6b1414610c5057600080fd5b80638bc33af3116101f557806394b96778116101b957806394b9677814610b915780639637104514610ba45780639c2ed82e14610bb1578063a22b9d5014610bc5578063a67919cc14610bd8578063a6e933ae14610be057600080fd5b80638bc33af314610ad55780638cefc60714610afd5780638d43b15114610b63578063946fa82c14610b765780639493683914610b8957600080fd5b80637548ef941161023c5780637548ef94146109ab57806381274d3a14610a8e57806385962f9214610aa1578063862a6a3b14610ab55780638908abaf14610ac257600080fd5b806366797a501461094b578063669e221814610953578063695c2d5b146109665780636a8bde721461096e5780636db560691461099857600080fd5b8063315e2f1b116103aa57806344c8478e1161031c5780635049975a116102e05780635049975a1461085d578063584e36b414610865578063584f0228146108915780635b86a280146108c25780635d681831146108cf578063639bde021461093857600080fd5b806344c8478e146107f6578063453e061b1461080957806349ed7394146108295780634c678dbc14610836578063501c78551461084957600080fd5b806338bea4cb1161036e57806338bea4cb1461075c578063391e2457146107645780633c3eee96146107965780633dc180b1146107a95780633e61d144146107bc5780634237bfd2146107cf57600080fd5b8063315e2f1b1461070c57806331f4401814610721578063323e50fa14610734578063370e90a314610741578063384302a91461075457600080fd5b806319e6166c11610443578063200d2ed211610407578063200d2ed21461068f57806325ac629f146106aa5780632611121f146106b2578063262330b4146106dd57806329357750146106f15780632a824c2e146106f957600080fd5b806319e6166c146106095780631c01392d146106115780631c80de6b1461063e5780631d1c22f8146106515780631e19f82d1461067c57600080fd5b80630c9fcab51161048a5780630c9fcab5146105a35780630ea73d7c146105c85780630f7adaf4146105db57806313d29309146105e357806315b214a2146105f657600080fd5b806302fbe0de146104c757806304755821146104ed57806306fdde031461051057806307b3e90814610525578063096fc26214610550575b600080fd5b6104da6104d5366004611646565b610e17565b6040519081526020015b60405180910390f35b6105006104fb366004611646565b610e55565b60405190151581526020016104e4565b610518610e9b565b6040516104e491906116ae565b6105386105333660046116c8565b610f2a565b6040516001600160801b0390911681526020016104e4565b61010b5461057b906001600160a01b0381169060ff600160a01b82041690600160a81b900460000b83565b604080516001600160a01b039094168452911515602084015260000b908201526060016104e4565b61011054610111546105b3919082565b604080519283526020830191909152016104e4565b6105006105d6366004611646565b610f68565b610518610f90565b6105006105f13660046116e1565b610f9e565b610500610604366004611646565b610ff0565b610518611035565b61011654610118546106279160ff908116911682565b6040805192151583529015156020830152016104e4565b61050061064c366004611646565b611043565b61066461065f3660046116c8565b611062565b6040516001600160881b0390911681526020016104e4565b6105b361068a366004611646565b61108d565b61010a5461069d9060ff1681565b6040516104e49190611723565b6105186110c3565b6106c56106c03660046116c8565b6110d1565b6040516001600160a01b0390911681526020016104e4565b61013b546106c5906001600160a01b031681565b6104da600281565b6105b3610707366004611646565b6110f2565b61071f61071a3660046117c9565b61113a565b005b6105b361072f3660046116c8565b61114b565b60a8546105009060ff1681565b6105b361074f3660046116e1565b61116d565b6104da600381565b6105186111c0565b610112546101155461077b9161ffff908116911682565b6040805161ffff9384168152929091166020830152016104e4565b6105006107a43660046116e1565b6111ce565b6104da6107b73660046116c8565b611227565b6105b36107ca3660046116e1565b61123f565b6107e26107dd366004611646565b611294565b60405161ffff1990911681526020016104e4565b6104da6108043660046116e1565b6112c2565b61010c546108179060ff1681565b60405160ff90911681526020016104e4565b602a546105009060ff1681565b6105006108443660046116e1565b611319565b602a54610500906301000000900460ff1681565b610518611359565b6108786108733660046116c8565b611367565b60405167ffffffffffffffff90911681526020016104e4565b61071f61089f366004611836565b61013b80546001600160a01b0319166001600160a01b0392909216919091179055565b605b546105009060ff1681565b61010d54610904906001600160a01b03811690600160a01b81046affffffffffffffffffffff1690600160f81b900460ff1683565b604080516001600160a01b0390941684526affffffffffffffffffffff909216602084015260ff16908201526060016104e4565b6105b3610946366004611646565b6113a6565b6105186113c5565b6106c56109613660046116c8565b6113d3565b6105186113fe565b6106c561097c366004611836565b610127602052600090815260409020546001600160a01b031681565b6105006109a6366004611646565b61140c565b610a396109b9366004611836565b610125602090815260009182526040918290208251808401845281548152600182015460ff9081161515828501528451608081018652600284015481526003909301546001600160a01b03811694840194909452600160a01b84041693820193909352600160a81b90910460f81b6001600160f81b031916606082015282565b6040805183518152602093840151151584820152825181830152928201516001600160a01b03166060808501919091529082015160ff16608084015201516001600160f81b03191660a082015260c0016104e4565b610500610a9c3660046116c8565b61142e565b61071f610aaf3660046116c8565b61013955565b6060546105009060ff1681565b6105b3610ad0366004611646565b611458565b610ae8610ae33660046116c8565b61147a565b60405163ffffffff90911681526020016104e4565b61010e5461010f54610b30916001600160a01b03908116919081169060ff600160a01b8204811691600160a81b90041684565b604080516001600160a01b03958616815294909316602085015290151591830191909152151560608201526080016104e4565b6107e2610b71366004611646565b6114aa565b610500610b84366004611646565b6114cc565b6105186114eb565b610500610b9f3660046116c8565b6114f9565b6033546105009060ff1681565b61071f610bbf3660046116c8565b61013a55565b6104da610bd33660046116c8565b61152d565b61051861154f565b610500610bee366004611646565b61155d565b61011954610c019060010b81565b60405160019190910b81526020016104e4565b602f546105009060ff1681565b6106c57f0000000000000000000000002f2db75c5276481e2b018ac03e968af7763ed11881565b61051861156d565b60c2546105009060ff1681565b61051861157b565b61010a54610c7890610100900460ff1681565b6040516104e49190611851565b610500610c93366004611646565b611589565b6104da6101395481565b610518611599565b6104da61013a5481565b610500610cc2366004611646565b6115a7565b610500610cd5366004611646565b6115b7565b6104da610ce8366004611836565b6101246020526000908152604090205481565b610a39610d09366004611865565b6101266020908152600092835260408084208252918352918190208151808301835281548152600182015460ff9081161515828601528351608081018552600284015481526003909301546001600160a01b03811695840195909552600160a01b85041692820192909252600160a81b90920460f81b6001600160f81b03191660608301529082565b602c546105009060ff1681565b61071f610dad3660046117c9565b6115df565b610500610dc0366004611646565b6115ec565b6105b3610dd3366004611646565b6115fc565b610500610de6366004611836565b6101236020526000908152604090205460ff1681565b6104da610e0a3660046116c8565b611628565b610518611638565b6101218281548110610e2857600080fd5b906000526020600020018181548110610e4057600080fd5b90600052602060002001600091509150505481565b60738260208110610e6557600080fd5b018181548110610e7457600080fd5b9060005260206000209060209182820401919006915091509054906101000a900460ff1681565b61012d8054610ea990611898565b80601f0160208091040260200160405190810160405280929190818152602001828054610ed590611898565b8015610f225780601f10610ef757610100808354040283529160200191610f22565b820191906000526020600020905b815481529060010190602001808311610f0557829003601f168201915b505050505081565b61011b8181548110610f3b57600080fd5b9060005260206000209060029182820401919006601002915054906101000a90046001600160801b031681565b605d8281548110610f7857600080fd5b906000526020600020018181548110610e7457600080fd5b61012b8054610ea990611898565b60a08360028110610fae57600080fd5b600402018260028110610fc057600080fd5b600202018160218110610fd257600080fd5b602081049091015460ff601f9092166101000a900416925083915050565b6093828154811061100057600080fd5b90600052602060002001816020811061101857600080fd5b602081049091015460ff601f9092166101000a9004169150829050565b6101338054610ea990611898565b6034826002811061105357600080fd5b01816003811061101857600080fd5b61011c818154811061107357600080fd5b6000918252602090912001546001600160881b0316905081565b60e0826003811061109d57600080fd5b6008020181600481106110af57600080fd5b600202018054600190910154909250905082565b6101378054610ea990611898565b61012881600281106110e257600080fd5b01546001600160a01b0316905081565b60fc828154811061110257600080fd5b90600052602060002001818154811061111a57600080fd5b600091825260209091206002909102018054600190910154909250905082565b6101346111478282611921565b5050565b60c4816002811061115b57600080fd5b60020201805460019091015490915082565b60fd836003811061117d57600080fd5b60040201826004811061118f57600080fd5b01818154811061119e57600080fd5b6000918252602090912060029091020180546001909101549093509150839050565b61012e8054610ea990611898565b609483600381106111de57600080fd5b6004020182600481106111f057600080fd5b0181815481106111ff57600080fd5b906000526020600020906020918282040191900692509250509054906101000a900460ff1681565b61011e816003811061123857600080fd5b0154905081565b610109838154811061125057600080fd5b9060005260206000209060180201826004811061126c57600080fd5b60060201816003811061127e57600080fd5b6002020180546001909101549093509150839050565b60b582600281106112a457600080fd5b6006020181600681106112b657600080fd5b015460101b9150829050565b61012283815481106112d357600080fd5b9060005260206000200182815481106112eb57600080fd5b90600052602060002001818154811061130357600080fd5b9060005260206000200160009250925050505481565b605e838154811061132957600080fd5b90600052602060002001828154811061134157600080fd5b9060005260206000200181815481106111ff57600080fd5b61012c8054610ea990611898565b61011a818154811061137857600080fd5b9060005260206000209060049182820401919006600802915054906101000a900467ffffffffffffffff1681565b60f882600381106113b657600080fd5b01818154811061111a57600080fd5b6101388054610ea990611898565b61012a81815481106113e457600080fd5b6000918252602090912001546001600160a01b0316905081565b6101318054610ea990611898565b6036826002811061141c57600080fd5b60020201816021811061101857600080fd5b602b816002811061143e57600080fd5b60209182820401919006915054906101000a900460ff1681565b60c8826004811061146857600080fd5b6006020181600381106110af57600080fd5b60c3816005811061148a57600080fd5b60089182820401919006600402915054906101000a900463ffffffff1681565b60a982600681106114ba57600080fd5b6002020181600281106112b657600080fd5b602d82600281106114dc57600080fd5b01816002811061101857600080fd5b6101328054610ea990611898565b605c818154811061150957600080fd5b9060005260206000209060209182820401919006915054906101000a900460ff1681565b61011d818154811061153e57600080fd5b600091825260209091200154905081565b61012f8054610ea990611898565b60618260028110610e6557600080fd5b6101368054610ea990611898565b6101308054610ea990611898565b603a82602181106114dc57600080fd5b6101358054610ea990611898565b60638260108110610e6557600080fd5b605f82815481106115c757600080fd5b90600052602060002001816002811061101857600080fd5b6101356111478282611921565b603082600381106114dc57600080fd5b60fb828154811061160c57600080fd5b906000526020600020906006020181600381106110af57600080fd5b60c1818154811061153e57600080fd5b6101348054610ea990611898565b6000806040838503121561165957600080fd5b50508035926020909101359150565b6000815180845260005b8181101561168e57602081850181015186830182015201611672565b506000602082860101526020601f19601f83011685010191505092915050565b6020815260006116c16020830184611668565b9392505050565b6000602082840312156116da57600080fd5b5035919050565b6000806000606084860312156116f657600080fd5b505081359360208301359350604090920135919050565b634e487b7160e01b600052602160045260246000fd5b60208101600283106117375761173761170d565b91905290565b634e487b7160e01b600052604160045260246000fd5b600067ffffffffffffffff8084111561176e5761176e61173d565b604051601f8501601f19908116603f011681019082821181831017156117965761179661173d565b816040528093508581528686860111156117af57600080fd5b858560208301376000602087830101525050509392505050565b6000602082840312156117db57600080fd5b813567ffffffffffffffff8111156117f257600080fd5b8201601f8101841361180357600080fd5b61181284823560208401611753565b949350505050565b80356001600160a01b038116811461183157600080fd5b919050565b60006020828403121561184857600080fd5b6116c18261181a565b60208101600383106117375761173761170d565b6000806040838503121561187857600080fd5b6118818361181a565b915061188f6020840161181a565b90509250929050565b600181811c908216806118ac57607f821691505b6020821081036118cc57634e487b7160e01b600052602260045260246000fd5b50919050565b601f82111561191c57600081815260208120601f850160051c810160208610156118f95750805b601f850160051c820191505b8181101561191857828155600101611905565b5050505b505050565b815167ffffffffffffffff81111561193b5761193b61173d565b61194f816119498454611898565b846118d2565b602080601f831160018114611984576000841561196c5750858301515b600019600386901b1c1916600185901b178555611918565b600085815260208120601f198616915b828110156119b357888601518255948401946001909101908401611994565b50858210156119d15787850151600019600388901b60f8161c191681555b5050505050600190811b0190555056fea26469706673582212206d58e3821c71e0a1731b59005a2cac826a33826b4d82339acdf34ed5d1a72de864736f6c63430008110033

Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)

0000000000000000000000002f2db75c5276481e2b018ac03e968af7763ed118

-----Decoded View---------------
Arg [0] : _superUser (address): 0x2f2Db75C5276481E2B018Ac03e968af7763Ed118

-----Encoded View---------------
1 Constructor Arguments found :
Arg [0] : 0000000000000000000000002f2db75c5276481e2b018ac03e968af7763ed118


Deployed Bytecode Sourcemap

1998:13923:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8018:37;;;;;;:::i;:::-;;:::i;:::-;;;413:25:1;;;401:2;386:18;8018:37:0;;;;;;;;5639:29;;;;;;:::i;:::-;;:::i;:::-;;;614:14:1;;607:22;589:41;;577:2;562:18;5639:29:0;449:187:1;8887:43:0;;;:::i;:::-;;;;;;;:::i;7770:56::-;;;;;;:::i;:::-;;:::i;:::-;;;-1:-1:-1;;;;;1643:47:1;;;1625:66;;1613:2;1598:18;7770:56:0;1479:218:1;6859:94:0;;;;;-1:-1:-1;;;;;6859:94:0;;;;-1:-1:-1;;;6859:94:0;;;;-1:-1:-1;;;6859:94:0;;;;;;;;;;-1:-1:-1;;;;;1910:32:1;;;1892:51;;1986:14;;1979:22;1974:2;1959:18;;1952:50;-1:-1:-1;2038:21:1;2018:18;;;2011:49;1880:2;1865:18;6859:94:0;1702:364:1;7321:217:0;;;;;;;;;;;;;;2245:25:1;;;2301:2;2286:18;;2279:34;;;;2218:18;7321:217:0;2071:248:1;5279:27:0;;;;;;:::i;:::-;;:::i;8810:33::-;;;:::i;5953:::-;;;;;;:::i;:::-;;:::i;5675:29::-;;;;;;:::i;:::-;;:::i;9274:109::-;;;:::i;7580:69::-;;;;;;;;;;;;;;;;;;;2832:14:1;;2825:22;2807:41;;2891:14;;2884:22;2879:2;2864:18;;2857:50;2780:18;7580:69:0;2645:268:1;4901:72:0;;;;;;:::i;:::-;;:::i;7833:50::-;;;;;;:::i;:::-;;:::i;:::-;;;-1:-1:-1;;;;;3082:49:1;;;3064:68;;3052:2;3037:18;7833:50:0;2918:220:1;6511:33:0;;;;;;:::i;:::-;;:::i;6771:34::-;;;;;;;;;;;;;;;;:::i;9697:105::-;;;:::i;8414:162::-;;;;;;:::i;:::-;;:::i;:::-;;;-1:-1:-1;;;;;3922:32:1;;;3904:51;;3892:2;3877:18;8414:162:0;3744:217:1;10077:26:0;;;;;-1:-1:-1;;;;;10077:26:0;;;2391:35;;2425:1;2391:35;;6633;;;;;;:::i;:::-;;:::i;15408:94::-;;;;;;:::i;:::-;;:::i;:::-;;6435:29;;;;;;:::i;:::-;;:::i;5993:25::-;;;;;;;;;6675:39;;;;;;:::i;:::-;;:::i;2433:37::-;;2469:1;2433:37;;8937:42;;;:::i;7545:28::-;;;;;;;;;;;;;;;;;;;5579:6:1;5612:15;;;5594:34;;5664:15;;;;5659:2;5644:18;;5637:43;5542:18;7545:28:0;5399:287:1;5711:235:0;;;;;;:::i;:::-;;:::i;7959:52::-;;;;;;:::i;:::-;;:::i;6721:43::-;;;;;;:::i;:::-;;:::i;6064:32::-;;;;;;:::i;:::-;;:::i;:::-;;;-1:-1:-1;;5855:23:1;;;5837:42;;5825:2;5810:18;6064:32:0;5691:194:1;8062:42:0;;;;;;:::i;:::-;;:::i;6960:32::-;;;;;;;;;;;;6062:4:1;6050:17;;;6032:36;;6020:2;6005:18;6960:32:0;5890:184:1;4493:24:0;;;;;;;;;5313:32;;;;;;:::i;:::-;;:::i;4589:25::-;;;;;;;;;;;;8850:30;;;:::i;7694:69::-;;;;;;:::i;:::-;;:::i;:::-;;;6253:18:1;6241:31;;;6223:50;;6211:2;6196:18;7694:69:0;6079:200:1;15820:98:0;;;;;;:::i;:::-;15884:11;:26;;-1:-1:-1;;;;;;15884:26:0;-1:-1:-1;;;;;15884:26:0;;;;;;;;;;15820:98;5172:24;;;;;;;;;6999:93;;;;;-1:-1:-1;;;;;6999:93:0;;;-1:-1:-1;;;6999:93:0;;;;;-1:-1:-1;;;6999:93:0;;;;;;;;;;-1:-1:-1;;;;;6867:32:1;;;6849:51;;6948:24;6936:37;;;6931:2;6916:18;;6909:65;7022:4;7010:17;6990:18;;;6983:45;6837:2;6822:18;6999:93:0;6653:381:1;6551:34:0;;;;;;:::i;:::-;;:::i;9809:168::-;;;:::i;8583:220::-;;;;;;:::i;:::-;;:::i;9117:60::-;;;:::i;8361:46::-;;;;;;:::i;:::-;;;;;;;;;;;;-1:-1:-1;;;;;8361:46:0;;;4982:85;;;;;;:::i;:::-;;:::i;8208:57::-;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;8208:57:0;;;;;;;;;-1:-1:-1;;;8208:57:0;;;;;;;;;;-1:-1:-1;;;8208:57:0;;;;;-1:-1:-1;;;;;;8208:57:0;;;;;;;;;;;7376:13:1;;7358:32;;7460:4;7448:17;;;7442:24;7435:32;7428:40;7406:20;;;7399:70;7505:13;;7485:18;;;7478:41;7565:17;;;7559:24;-1:-1:-1;;;;;7555:50:1;7550:2;7535:18;;;7528:78;;;;7653:15;;;7647:22;7671:4;7643:33;7637:3;7622:19;;7615:62;7724:15;7718:22;-1:-1:-1;;;;;;7714:42:1;7593:3;7693:19;;7686:71;7345:3;7330:19;8208:57:0;7039:724:1;4621:35:0;;;;;;:::i;:::-;;:::i;15613:98::-;;;;;;:::i;:::-;15677:11;:26;15613:98;5538:24;;;;;;;;;6471:33;;;;;;:::i;:::-;;:::i;6342:86::-;;;;;;:::i;:::-;;:::i;:::-;;;7942:10:1;7930:23;;;7912:42;;7900:2;7885:18;6342:86:0;7768:192:1;7099:215:0;;;;;;;-1:-1:-1;;;;;7099:215:0;;;;;;;;;-1:-1:-1;;;7099:215:0;;;;;-1:-1:-1;;;7099:215:0;;;;;;;;;-1:-1:-1;;;;;8240:15:1;;;8222:34;;8292:15;;;;8287:2;8272:18;;8265:43;8351:14;;8344:22;8324:18;;;8317:50;;;;8410:14;8403:22;8398:2;8383:18;;8376:50;8171:3;8156:19;7099:215:0;7965:467:1;6025:32:0;;;;;;:::i;:::-;;:::i;4694:58::-;;;;;;:::i;:::-;;:::i;9184:83::-;;;:::i;5203:69::-;;;;;;:::i;:::-;;:::i;4870:24::-;;;;;;;;;15719:93;;;;;;:::i;:::-;15780:10;:24;15719:93;7890:62;;;;;;:::i;:::-;;:::i;8986:58::-;;;:::i;5569:27::-;;;;;;:::i;:::-;;:::i;7656:31::-;;;;;;;;;;;;8792:1:1;8781:21;;;;8763:40;;8751:2;8736:18;7656:31:0;8621:188:1;4759:24:0;;;;;;;;;2477:34;;;;;9587:103;;;:::i;6310:25::-;;;;;;;;;9051:59;;;:::i;6812:40::-;;;;;;;;;;;;;;;;;;;:::i;5074:91::-;;;;;;:::i;:::-;;:::i;9984:47::-;;;;;;9533;;;:::i;10038:32::-;;;;;;5603:29;;;;;;:::i;:::-;;:::i;5352:179::-;;;;;;:::i;:::-;;:::i;8159:42::-;;;;;;:::i;:::-;;;;;;;;;;;;;;8272:82;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;8272:82:0;;;;;;;;;-1:-1:-1;;;8272:82:0;;;;;;;;;;-1:-1:-1;;;8272:82:0;;;;;-1:-1:-1;;;;;;8272:82:0;;;;;;;;4663:24;;;;;;;;;15510:95;;;;;;:::i;:::-;;:::i;4790:73::-;;;;;;:::i;:::-;;:::i;6592:34::-;;;;;;:::i;:::-;;:::i;8111:41::-;;;;;;:::i;:::-;;;;;;;;;;;;;;;;6103:200;;;;;;:::i;:::-;;:::i;9459:67::-;;;:::i;8018:37::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;5639:29::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;8887:43::-;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;7770:56::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;7770:56:0;;:::o;5279:27::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8810:33;;;;;;;:::i;5953:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;5953:33:0;;-1:-1:-1;;5953:33:0:o;5675:29::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;5675:29:0;;-1:-1:-1;5675:29:0:o;9274:109::-;;;;;;;:::i;4901:72::-;;;;;;;;;;;;;;;;;;;;;;7833:50;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;7833:50:0;;-1:-1:-1;7833:50:0;:::o;6511:33::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;6511:33:0;-1:-1:-1;6511:33:0;:::o;9697:105::-;;;;;;;:::i;8414:162::-;;;;;;;;;;;;;;-1:-1:-1;;;;;8414:162:0;;-1:-1:-1;8414:162:0;:::o;6633:35::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;6633:35:0;-1:-1:-1;6633:35:0;:::o;15408:94::-;15473:10;:21;15486:8;15473:10;:21;:::i;:::-;;15408:94;:::o;6435:29::-;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;6435:29:0;:::o;6675:39::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;6675:39:0;-1:-1:-1;6675:39:0;;-1:-1:-1;6675:39:0:o;8937:42::-;;;;;;;:::i;5711:235::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;7959:52::-;;;;;;;;;;;;;;;-1:-1:-1;7959:52:0;:::o;6721:43::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;6721:43:0;-1:-1:-1;6721:43:0;;-1:-1:-1;6721:43:0:o;6064:32::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;6064:32:0;;-1:-1:-1;6064:32:0:o;8062:42::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;5313:32::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8850:30;;;;;;;:::i;7694:69::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;6551:34::-;;;;;;;;;;;;;;;;;;;;;;;9809:168;;;;;;;:::i;8583:220::-;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;8583:220:0;;-1:-1:-1;8583:220:0;:::o;9117:60::-;;;;;;;:::i;4982:85::-;;;;;;;;;;;;;;;;;;;;;;;;4621:35;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;6471:33::-;;;;;;;;;;;;;;;;;;;;;;;;6342:86;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;6025:32::-;;;;;;;;;;;;;;;;;;;;;;;;4694:58;;;;;;;;;;;;;;;;;;;;;;9184:83;;;;;;;:::i;5203:69::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;7890:62::-;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;7890:62:0;:::o;8986:58::-;;;;;;;:::i;5569:27::-;;;;;;;;;;;9587:103;;;;;;;:::i;9051:59::-;;;;;;;:::i;5074:91::-;;;;;;;;;;;9533:47;;;;;;;:::i;5603:29::-;;;;;;;;;;;5352:179;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15510:95;15575:9;:22;15587:10;15575:9;:22;:::i;4790:73::-;;;;;;;;;;;6592:34;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6103:200;;;;;;;;;;;;9459:67;;;;;;;:::i;14:248:1:-;82:6;90;143:2;131:9;122:7;118:23;114:32;111:52;;;159:1;156;149:12;111:52;-1:-1:-1;;182:23:1;;;252:2;237:18;;;224:32;;-1:-1:-1;14:248:1:o;641:423::-;683:3;721:5;715:12;748:6;743:3;736:19;773:1;783:162;797:6;794:1;791:13;783:162;;;859:4;915:13;;;911:22;;905:29;887:11;;;883:20;;876:59;812:12;783:162;;;787:3;990:1;983:4;974:6;969:3;965:16;961:27;954:38;1053:4;1046:2;1042:7;1037:2;1029:6;1025:15;1021:29;1016:3;1012:39;1008:50;1001:57;;;641:423;;;;:::o;1069:220::-;1218:2;1207:9;1200:21;1181:4;1238:45;1279:2;1268:9;1264:18;1256:6;1238:45;:::i;:::-;1230:53;1069:220;-1:-1:-1;;;1069:220:1:o;1294:180::-;1353:6;1406:2;1394:9;1385:7;1381:23;1377:32;1374:52;;;1422:1;1419;1412:12;1374:52;-1:-1:-1;1445:23:1;;1294:180;-1:-1:-1;1294:180:1:o;2324:316::-;2401:6;2409;2417;2470:2;2458:9;2449:7;2445:23;2441:32;2438:52;;;2486:1;2483;2476:12;2438:52;-1:-1:-1;;2509:23:1;;;2579:2;2564:18;;2551:32;;-1:-1:-1;2630:2:1;2615:18;;;2602:32;;2324:316;-1:-1:-1;2324:316:1:o;3143:127::-;3204:10;3199:3;3195:20;3192:1;3185:31;3235:4;3232:1;3225:15;3259:4;3256:1;3249:15;3275:241;3417:2;3402:18;;3450:1;3439:13;;3429:47;;3456:18;;:::i;:::-;3485:25;;;3275:241;:::o;4174:127::-;4235:10;4230:3;4226:20;4223:1;4216:31;4266:4;4263:1;4256:15;4290:4;4287:1;4280:15;4306:632;4371:5;4401:18;4442:2;4434:6;4431:14;4428:40;;;4448:18;;:::i;:::-;4523:2;4517:9;4491:2;4577:15;;-1:-1:-1;;4573:24:1;;;4599:2;4569:33;4565:42;4553:55;;;4623:18;;;4643:22;;;4620:46;4617:72;;;4669:18;;:::i;:::-;4709:10;4705:2;4698:22;4738:6;4729:15;;4768:6;4760;4753:22;4808:3;4799:6;4794:3;4790:16;4787:25;4784:45;;;4825:1;4822;4815:12;4784:45;4875:6;4870:3;4863:4;4855:6;4851:17;4838:44;4930:1;4923:4;4914:6;4906;4902:19;4898:30;4891:41;;;;4306:632;;;;;:::o;4943:451::-;5012:6;5065:2;5053:9;5044:7;5040:23;5036:32;5033:52;;;5081:1;5078;5071:12;5033:52;5121:9;5108:23;5154:18;5146:6;5143:30;5140:50;;;5186:1;5183;5176:12;5140:50;5209:22;;5262:4;5254:13;;5250:27;-1:-1:-1;5240:55:1;;5291:1;5288;5281:12;5240:55;5314:74;5380:7;5375:2;5362:16;5357:2;5353;5349:11;5314:74;:::i;:::-;5304:84;4943:451;-1:-1:-1;;;;4943:451:1:o;6284:173::-;6352:20;;-1:-1:-1;;;;;6401:31:1;;6391:42;;6381:70;;6447:1;6444;6437:12;6381:70;6284:173;;;:::o;6462:186::-;6521:6;6574:2;6562:9;6553:7;6549:23;6545:32;6542:52;;;6590:1;6587;6580:12;6542:52;6613:29;6632:9;6613:29;:::i;8814:242::-;8957:2;8942:18;;8990:1;8979:13;;8969:47;;8996:18;;:::i;9241:260::-;9309:6;9317;9370:2;9358:9;9349:7;9345:23;9341:32;9338:52;;;9386:1;9383;9376:12;9338:52;9409:29;9428:9;9409:29;:::i;:::-;9399:39;;9457:38;9491:2;9480:9;9476:18;9457:38;:::i;:::-;9447:48;;9241:260;;;;;:::o;10143:380::-;10222:1;10218:12;;;;10265;;;10286:61;;10340:4;10332:6;10328:17;10318:27;;10286:61;10393:2;10385:6;10382:14;10362:18;10359:38;10356:161;;10439:10;10434:3;10430:20;10427:1;10420:31;10474:4;10471:1;10464:15;10502:4;10499:1;10492:15;10356:161;;10143:380;;;:::o;10654:545::-;10756:2;10751:3;10748:11;10745:448;;;10792:1;10817:5;10813:2;10806:17;10862:4;10858:2;10848:19;10932:2;10920:10;10916:19;10913:1;10909:27;10903:4;10899:38;10968:4;10956:10;10953:20;10950:47;;;-1:-1:-1;10991:4:1;10950:47;11046:2;11041:3;11037:12;11034:1;11030:20;11024:4;11020:31;11010:41;;11101:82;11119:2;11112:5;11109:13;11101:82;;;11164:17;;;11145:1;11134:13;11101:82;;;11105:3;;;10745:448;10654:545;;;:::o;11375:1352::-;11501:3;11495:10;11528:18;11520:6;11517:30;11514:56;;;11550:18;;:::i;:::-;11579:97;11669:6;11629:38;11661:4;11655:11;11629:38;:::i;:::-;11623:4;11579:97;:::i;:::-;11731:4;;11795:2;11784:14;;11812:1;11807:663;;;;12514:1;12531:6;12528:89;;;-1:-1:-1;12583:19:1;;;12577:26;12528:89;-1:-1:-1;;11332:1:1;11328:11;;;11324:24;11320:29;11310:40;11356:1;11352:11;;;11307:57;12630:81;;11777:944;;11807:663;10601:1;10594:14;;;10638:4;10625:18;;-1:-1:-1;;11843:20:1;;;11961:236;11975:7;11972:1;11969:14;11961:236;;;12064:19;;;12058:26;12043:42;;12156:27;;;;12124:1;12112:14;;;;11991:19;;11961:236;;;11965:3;12225:6;12216:7;12213:19;12210:201;;;12286:19;;;12280:26;-1:-1:-1;;12369:1:1;12365:14;;;12381:3;12361:24;12357:37;12353:42;12338:58;12323:74;;12210:201;-1:-1:-1;;;;;12457:1:1;12441:14;;;12437:22;12424:36;;-1:-1:-1;11375:1352:1:o

Swarm Source

ipfs://6d58e3821c71e0a1731b59005a2cac826a33826b4d82339acdf34ed5d1a72de8

Block Transaction Difficulty Gas Used Reward
View All Blocks Produced

Block Uncle Number Difficulty Gas Used Reward
View All Uncles
Loading...
Loading
Loading...
Loading

Validator Index Block Amount
View All Withdrawals

Txn Hash Block Value Eth2 PubKey Valid
View All Deposits
[ Download: CSV Export  ]

A contract address hosts a smart contract, which is a set of code stored on the blockchain that runs when predetermined conditions are met. Learn more about addresses in our Knowledge Base.