ETH Price: $3,242.25 (+1.47%)
 

Overview

Max Total Supply

0 �y� Insufficient wallet balance

Holders

0

Total Transfers

-

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 0 Decimals)

Loading...
Loading
Loading...
Loading
Loading...
Loading

Click here to update the token information / general information
# Exchange Pair Price  24H Volume % Volume

Similar Match Source Code
This contract matches the deployed Bytecode of the Source Code for Contract 0xfDc100B4...42c85449C
The constructor portion of the code might be different and could alter the actual behaviour of the contract

Contract Name:
AWMain

Compiler Version
v0.4.25+commit.59dbf8f1

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2020-03-28
*/

pragma solidity 0.4.25;


library SafeMath {

    function add(uint256 a, uint256 b) internal pure returns (uint256) {
        uint256 c = a + b;
        require(c >= a, "SafeMath: addition overflow");

        return c;
    }


    function sub(uint256 a, uint256 b) internal pure returns (uint256) {
        return sub(a, b, "SafeMath: subtraction overflow");
    }


    function sub(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
        require(b <= a, errorMessage);
        uint256 c = a - b;

        return c;
    }


    function mul(uint256 a, uint256 b) internal pure returns (uint256) {
        if (a == 0) {
            return 0;
        }

        uint256 c = a * b;
        require(c / a == b, "SafeMath: multiplication overflow");

        return c;
    }

    function div(uint256 a, uint256 b) internal pure returns (uint256) {
        return div(a, b, "SafeMath: division by zero");
    }

    function div(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
        require(b > 0, errorMessage);
        uint256 c = a / b;

        return c;
    }

    function mod(uint256 a, uint256 b) internal pure returns (uint256) {
        return mod(a, b, "SafeMath: modulo by zero");
    }

    function mod(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
        require(b != 0, errorMessage);
        return a % b;
    }
}

pragma solidity 0.4.25;

    library DappDatasets {

        struct Player {

            uint withdrawalAmount;

            uint wallet;

            uint fomoTotalRevenue;

            uint lotteryTotalRevenue;

            uint dynamicIncome;

            uint rechargeAmount;

            uint staticIncome;

            uint shareholderLevel;

            uint underUmbrellaLevel;

            uint subbordinateTotalPerformance;

            bool isExist;

            bool superior;

            address superiorAddr;

            address[] subordinates;
        }


        struct Fomo {

            bool whetherToEnd;

            uint endTime;

            uint fomoPrizePool;

            address[] participant;
        }

        struct Lottery {

            bool whetherToEnd;

            uint lotteryPool;

            uint unopenedBonus;

            uint number;

            uint todayAmountTotal;

            uint totayLotteryAmountTotal;

            uint[] grandPrizeNum;

            uint[] firstPrizeNum;

            uint[] secondPrizeNum;

            uint[] thirdPrizeNum;

            mapping(address => uint[]) lotteryMap;

            mapping(uint => address) numToAddr;

            mapping(address => uint) personalAmount;

            mapping(uint => uint) awardAmount;
        }


        function getNowTime() internal view returns(uint) {
            return now;
        }


        function rand(uint256 _length, uint num) internal view returns(uint256) {
            uint256 random = uint256(keccak256(abi.encodePacked(block.difficulty, now - num)));
            return random%_length;
        }

        function returnArray(uint len, uint range, uint number) internal view returns(uint[]) {
            uint[] memory numberArray = new uint[](len);
            uint i = 0;
            while(true) {
                number = number + 9;
                uint temp = rand(range, number);
                if(temp == 0) {
                    continue;
                }
                numberArray[i] = temp;
                i++;
                if(i == len) {
                    break;
                }
            }
            return numberArray;
        }
    }

pragma solidity 0.4.25;

    contract AWMain {


        address owner;


        address specifyAddr;


        address technologyAddr;

        address gameAddr;

        address[] temp = new address[](0);

        uint staticDividendUsdt;

        uint public staticPrizePool;

        uint public staticTotalRecharge;

        address[] allPlayer;

        address[] shareholdersV1;

        address[] shareholdersV2;

        address[] shareholdersV3;

        address[] shareholdersV4;

        uint public usdtPool;

        TetherToken tether;
        AWToken awToken;

        AWGame game;

        mapping(address => DappDatasets.Player) public playerMap;

        constructor(
            address _owner,
            address _tetherAddr,
            address _awAddr,
            address _gameAddr,
            address _technologyAddr,
            address _specifyAddr
        )  public {
            owner = _owner;
            DappDatasets.Player memory player = DappDatasets.Player(
                {
                    withdrawalAmount : 0,
                    wallet : 0,
                    fomoTotalRevenue : 0,
                    lotteryTotalRevenue : 0,
                    dynamicIncome : 0,
                    rechargeAmount : 0,
                    staticIncome : 0,
                    shareholderLevel : 0,
                    underUmbrellaLevel : 0,
                    subbordinateTotalPerformance : 0,
                    isExist : true,
                    superior : false,
                    superiorAddr : address(0x0),
                    subordinates : temp
                }
            );
            specifyAddr = _specifyAddr;
            playerMap[owner] = player;
            tether = TetherToken(_tetherAddr);
            awToken = AWToken(_awAddr);
            game = AWGame(_gameAddr);
            gameAddr = _gameAddr;
            technologyAddr = _technologyAddr;
            allPlayer.push(owner);
            if(owner != technologyAddr) {
                playerMap[technologyAddr] = player;
                allPlayer.push(technologyAddr);
            }
        }

        function() public payable {
            withdrawImpl(msg.sender);
        }

        function resetNodePool() external {
            require(owner == msg.sender, "Insufficient permissions");
            usdtPool = 0;
        }

        function addWalletAndDynamicIncome(address addr, uint num) internal {
            playerMap[addr].wallet = SafeMath.add(playerMap[addr].wallet, num);
            playerMap[addr].dynamicIncome = SafeMath.add(playerMap[addr].dynamicIncome, num);
        }

        function usdtNode(uint start, uint count) external {
            require(owner == msg.sender, "Insufficient permissions");
            if(shareholdersV4.length < 1) {
                staticPrizePool = SafeMath.add(staticPrizePool, usdtPool);
                return;
            }
            uint award = SafeMath.div(usdtPool, shareholdersV4.length);
            uint index = 0;
            for(uint i = start; i < shareholdersV4.length; i++) {
                fosterInteraction(shareholdersV4[i], award);
                index++;
                if(index == count) {
                    break;
                }

            }
        }

        function getShareholder() external view returns(uint, uint, uint, uint, uint) {
            return (
                shareholdersV1.length,
                shareholdersV2.length,
                shareholdersV3.length,
                shareholdersV4.length,
                allPlayer.length
            );
        }

        function getStatistics() external view returns(
            uint level,
            uint destroyedQuantity,
            uint fomoTotalRevenue,
            uint lotteryTotalRevenue,
            uint difference
        ) {
            return (
                playerMap[msg.sender].shareholderLevel,
                awToken.balanceOf(address(0x0)),
                playerMap[msg.sender].fomoTotalRevenue,
                playerMap[msg.sender].lotteryTotalRevenue,
                SafeMath.sub(
                    SafeMath.mul(playerMap[msg.sender].rechargeAmount, 3),
                    playerMap[msg.sender].staticIncome
                )
            );
        }

        function getSubordinatesAndPerformanceByAddr(address addr) external view returns(address[], uint[], uint[]) {
            DappDatasets.Player storage player = playerMap[addr];
            uint[] memory performance = new uint[](player.subordinates.length);
            uint[] memory numberArray = new uint[](player.subordinates.length);
            for(uint i = 0; i < player.subordinates.length; i++) {
                performance[i] = SafeMath.add(
                    playerMap[player.subordinates[i]].subbordinateTotalPerformance,
                    playerMap[player.subordinates[i]].rechargeAmount
                );
                numberArray[i] = playerMap[player.subordinates[i]].subordinates.length;
            }
            return (player.subordinates, performance, numberArray);
        }

        function getPlayerInfo() external view returns(address superiorAddr, address ownerAddr, uint numberOfInvitations, bool exist) {
            return (playerMap[msg.sender].superiorAddr,  msg.sender, playerMap[msg.sender].subordinates.length, playerMap[msg.sender].isExist);
        }

        function getRevenueAndPerformance() external view returns(
            uint withdrawalAmount,
            uint subbordinateTotalPerformance,
            uint dynamicIncome,
            uint staticIncome,
            uint withdrawn,
            uint outboundDifference
        ) {
            uint number = 0;
            uint motionAndStaticAmount = SafeMath.add(playerMap[msg.sender].staticIncome, playerMap[msg.sender].dynamicIncome);
            uint withdrawableBalance = SafeMath.mul(playerMap[msg.sender].rechargeAmount, 3);
            if(motionAndStaticAmount > withdrawableBalance) {
                number = SafeMath.sub(motionAndStaticAmount, withdrawableBalance);
            }
            uint value = SafeMath.add(playerMap[msg.sender].dynamicIncome, playerMap[msg.sender].staticIncome);
            uint difference = 0;
            if(value > SafeMath.mul(playerMap[msg.sender].rechargeAmount, 3)) {
                difference = 0;
            }else {
                difference = SafeMath.sub(SafeMath.mul(playerMap[msg.sender].rechargeAmount, 3), value);
            }
            return (
                SafeMath.sub(playerMap[msg.sender].wallet, number),
                playerMap[msg.sender].subbordinateTotalPerformance,
                playerMap[msg.sender].dynamicIncome,
                playerMap[msg.sender].staticIncome,
                playerMap[msg.sender].withdrawalAmount,
                difference
            );
        }

        function withdrawImpl(address addr) internal {
            require(playerMap[addr].wallet > 0, "Insufficient wallet balance");

            uint number = 0;
            uint motionAndStaticAmount = SafeMath.add(playerMap[addr].staticIncome, playerMap[addr].dynamicIncome);
            uint withdrawableBalance = SafeMath.mul(playerMap[addr].rechargeAmount, 3);

            if(motionAndStaticAmount > withdrawableBalance) {
                number = SafeMath.sub(motionAndStaticAmount, withdrawableBalance);
            }
            uint amount = SafeMath.sub(playerMap[addr].wallet, number);
            uint value = amount;
            if(amount > 1000 * 10 ** 6) {
                value = 1000 * 10 ** 6;
            }
            playerMap[addr].wallet = SafeMath.sub(playerMap[addr].wallet, value);
            playerMap[addr].withdrawalAmount = SafeMath.add(playerMap[addr].withdrawalAmount, value);

            uint handlingFee = SafeMath.div(value, 10);
            game.buyLotto(handlingFee, addr);
            staticPrizePool = SafeMath.add(staticPrizePool, handlingFee);
            tether.transfer(addr, SafeMath.sub(value, handlingFee));
        }

        function withdrawService() external {
            withdrawImpl(msg.sender);
        }

        function afterStaticPayment() external {
            require(owner == msg.sender, "Insufficient permissions");
            staticPrizePool = SafeMath.sub(staticPrizePool, staticDividendUsdt);
            staticDividendUsdt = 0;
        }

        function staticDividend(uint index) external {
            require(owner == msg.sender, "Insufficient permissions");
            uint count = 0;
            for(uint i = index; i < allPlayer.length; i++) {
                if(
                    playerMap[allPlayer[i]].rechargeAmount == 0 ||
                    SafeMath.add(playerMap[allPlayer[i]].staticIncome, playerMap[allPlayer[i]].dynamicIncome) >=
                    SafeMath.mul(playerMap[allPlayer[i]].rechargeAmount, 3)
                ) {
                    continue;
                }

                uint proportionOfInvestment = SafeMath.div(
                    SafeMath.mul(playerMap[allPlayer[i]].rechargeAmount, 10 ** 6),
                    staticTotalRecharge
                );

                uint personalAmount = SafeMath.div(
                    SafeMath.div(SafeMath.mul(staticPrizePool, proportionOfInvestment), 120),
                    10 ** 6
                );
                playerMap[allPlayer[i]].wallet = SafeMath.add(
                    playerMap[allPlayer[i]].wallet,
                    personalAmount
                );
                playerMap[allPlayer[i]].staticIncome = SafeMath.add(
                    playerMap[allPlayer[i]].staticIncome,
                    personalAmount
                );
                staticDividendUsdt += personalAmount;
                count++;
                if(count == 100) {
                    break;
                }
            }
        }

        function participateFomo(uint usdtVal, address superiorAddr) external {
            require(usdtVal >= 10 * 10 ** 6, "Less than the minimum amount");
            register(msg.sender, superiorAddr);

            DappDatasets.Player storage player = playerMap[msg.sender];
            player.rechargeAmount = SafeMath.add(player.rechargeAmount, usdtVal);
            staticTotalRecharge = SafeMath.add(staticTotalRecharge, usdtVal);

            uint amount = SafeMath.div(SafeMath.mul(usdtVal, 3), 100);
            playerMap[technologyAddr].wallet = SafeMath.add(playerMap[technologyAddr].wallet, amount);
            usdtPool = SafeMath.add(usdtPool, amount);

            increasePerformance(usdtVal);

            uint remaining = game.deposit(usdtVal, msg.sender);
            staticPrizePool = SafeMath.add(staticPrizePool, remaining);

            tether.transferFrom(msg.sender, this, usdtVal);
        }

        function increasePerformance(uint usdtVal) internal {
            DappDatasets.Player storage player = playerMap[msg.sender];
            uint length = 0;
            while(player.superior) {
                address tempAddr = player.superiorAddr;
                player = playerMap[player.superiorAddr];
                player.subbordinateTotalPerformance = SafeMath.add(player.subbordinateTotalPerformance, usdtVal);
                promotionMechanisms(tempAddr);
                length++;
                if(length == 50) {
                    break;
                }
            }
        }

        function promotionMechanisms(address addr) internal {
            DappDatasets.Player storage player = playerMap[addr];
            if(player.subbordinateTotalPerformance >= 10 * 10 ** 10) {
                uint length = player.subordinates.length;
                if(player.subordinates.length > 30) {
                    length = 30;
                }
                for(uint i = 0; i < 4; i++) {
                    if(player.shareholderLevel == i) {
                        uint levelCount = 0;
                        for(uint j = 0; j < length; j++) {
                            if(i == 0 && player.rechargeAmount >= 1000 * 10 ** 6) {
                                uint areaTotal = SafeMath.add(
                                            playerMap[player.subordinates[j]].subbordinateTotalPerformance,
                                            playerMap[player.subordinates[j]].rechargeAmount
                                );
                                if(areaTotal >= 3 * 10 ** 10) {
                                    levelCount++;
                                }
                            }else if(i == 1 && player.rechargeAmount >= 3000 * 10 ** 6) {
                                if(playerMap[player.subordinates[j]].shareholderLevel >= 1 || playerMap[player.subordinates[j]].underUmbrellaLevel >= 1) {
                                    levelCount++;
                                }
                            }else if(i == 2 && player.rechargeAmount >= 5000 * 10 ** 6) {
                                if(playerMap[player.subordinates[j]].shareholderLevel >= 2 || playerMap[player.subordinates[j]].underUmbrellaLevel >= 2) {
                                    levelCount++;
                                }
                            }else if(i == 3 && player.rechargeAmount >= 10000 * 10 ** 6) {
                                if(playerMap[player.subordinates[j]].shareholderLevel >= 3 || playerMap[player.subordinates[j]].underUmbrellaLevel >= 3) {
                                    levelCount++;
                                }
                            }

                            if(levelCount >= 2) {
                                player.shareholderLevel = i + 1;
                                if(i == 0 ) {
                                    shareholdersV1.push(addr);
                                }else if(i == 1) {
                                    shareholdersV2.push(addr);
                                }else if(i == 2) {
                                    shareholdersV3.push(addr);
                                }else if(i == 3) {
                                    shareholdersV4.push(addr);
                                }
                                
                                DappDatasets.Player storage tempPlayer = player;
                                uint count = 0;
                                while(tempPlayer.superior) {
                                    tempPlayer = playerMap[tempPlayer.superiorAddr];
                                    if(tempPlayer.underUmbrellaLevel < i + 1) {
                                        tempPlayer.underUmbrellaLevel = i + 1;
                                    }else {
                                        break;
                                    }
                                    count++;
                                    if(count == 49) {
                                        break;
                                    }
                                }
                                break;
                            }
                        }
                    }
                }

            }
        }

        function rewardDistribution(address addr, uint amount) external returns(uint) {
            require(gameAddr == msg.sender, "Insufficient permissions");
            return fosterInteraction(addr, amount);
        }


        function fosterInteraction(address addr, uint amount) internal returns(uint) {
            DappDatasets.Player storage player = playerMap[addr];
            addWalletAndDynamicIncome(addr, amount);
            uint number = amount;
            uint reward = SafeMath.div(amount, 10);
            if(player.superior) {
                addWalletAndDynamicIncome(player.superiorAddr, reward);
                number = SafeMath.add(number, reward);
            }
            if(player.subordinates.length > 0) {
                uint length = player.subordinates.length;
                if(player.subordinates.length > 30) {
                    length = 30;
                }
                uint splitEqually = SafeMath.div(reward, length);
                for(uint i = 0; i < length; i++) {
                    addWalletAndDynamicIncome(player.subordinates[i], splitEqually);
                }
                number = SafeMath.add(number, reward);
            }
            return number;
        }

        function releaseStaticPoolAndV4(uint usdtVal) external {
            require(gameAddr == msg.sender, "Insufficient permissions");
            uint staticPool60 = SafeMath.div(SafeMath.mul(usdtVal, 6), 10);
            staticPrizePool = SafeMath.add(staticPrizePool, staticPool60);

            uint amount = SafeMath.sub(usdtVal, staticPool60);
            if(shareholdersV4.length > 0) {
                uint length = 0;
                if(shareholdersV4.length > 100) {
                    length = 100;
                }else {
                    length = shareholdersV4.length;
                }
                uint splitEqually = SafeMath.div(amount, length);
                for(uint i = 0; i < length; i++) {
                    addWalletAndDynamicIncome(shareholdersV4[i], splitEqually);
                }
            }else {
                staticPrizePool = SafeMath.add(staticPrizePool, amount);
            }

        }

        function updateRevenue(address addr, uint amount, bool flag) external {
            require(gameAddr == msg.sender, "Insufficient permissions");
            DappDatasets.Player storage player = playerMap[addr];
            if(flag) {
                player.wallet = SafeMath.add(player.wallet, amount);
                player.fomoTotalRevenue = SafeMath.add(player.fomoTotalRevenue, amount);
            }else {
                player.wallet = SafeMath.add(player.wallet, amount);
                player.lotteryTotalRevenue = SafeMath.add(player.lotteryTotalRevenue, amount);
            }
        }

        function participateLottery(uint usdtVal, address superiorAddr) external {
            require(usdtVal <= 300 * 10 ** 6 && usdtVal >= 10 ** 6, "Purchase value between 1-300");
            register(msg.sender, superiorAddr);
            game.buyLotto(usdtVal, msg.sender);
            staticPrizePool = SafeMath.add(staticPrizePool, usdtVal);
            tether.transferFrom(msg.sender, this, usdtVal);
        }

        function getPlayer(address addr) external view returns(uint, address, address[]) {
            DappDatasets.Player storage player = playerMap[addr];
            return (playerMap[player.superiorAddr].shareholderLevel, player.superiorAddr, player.subordinates);
        }

        function exchange(uint usdtVal, address superiorAddr) external {
            require(usdtVal >= 10 ** 6, "Redeem at least 1USDT");
            register(msg.sender, superiorAddr);

            uint usdtPrice = awToken.usdtPrice();

            game.redeemAW(usdtVal, usdtPrice, msg.sender);
            uint staticAmount = SafeMath.div(SafeMath.mul(usdtVal, 4), 10);
            staticPrizePool = SafeMath.add(staticPrizePool, staticAmount);

            tether.transferFrom(msg.sender, this, staticAmount);

            tether.transferFrom(msg.sender, specifyAddr, SafeMath.sub(usdtVal, staticAmount));
        }

        function register(address addr, address superiorAddr) internal{
            if(playerMap[addr].isExist == true) {
                return;
            }
            DappDatasets.Player memory player;
            if(superiorAddr == address(0x0) || playerMap[superiorAddr].isExist == false) {
                player = DappDatasets.Player(
                    {
                        withdrawalAmount : 0,
                        wallet : 0,
                        fomoTotalRevenue : 0,
                        lotteryTotalRevenue : 0,
                        dynamicIncome : 0,
                        rechargeAmount : 0,
                        staticIncome : 0,
                        shareholderLevel : 0,
                        underUmbrellaLevel : 0,
                        subbordinateTotalPerformance : 0,
                        isExist : true,
                        superior : false,
                        superiorAddr : address(0x0),
                        subordinates : temp
                    }
                );
                playerMap[addr] = player;
            }else {
                player = DappDatasets.Player(
                    {
                        withdrawalAmount : 0,
                        wallet : 0,
                        fomoTotalRevenue : 0,
                        lotteryTotalRevenue : 0,
                        dynamicIncome : 0,
                        rechargeAmount : 0,
                        staticIncome : 0,
                        shareholderLevel : 0,
                        underUmbrellaLevel : 0,
                        subbordinateTotalPerformance : 0,
                        isExist : true,
                        superior : true,
                        superiorAddr : superiorAddr,
                        subordinates : temp
                    }
                );
                DappDatasets.Player storage superiorPlayer = playerMap[superiorAddr];
                superiorPlayer.subordinates.push(addr);
                playerMap[addr] = player;
            }
            allPlayer.push(addr);
        }

    }

    contract TetherToken {
       function transfer(address to, uint value) public;
       function transferFrom(address from, address to, uint value) public;
    }

    contract AWToken {
       function burn(address addr, uint value) public;
       function balanceOf(address who) external view returns (uint);
       function calculationNeedAW(uint usdtVal) external view returns(uint);
       function usdtPrice() external view returns(uint);
    }

    contract AWGame {
        function deposit(uint usdtVal, address addr) external returns(uint);
        function updateLotteryPoolAndTodayAmountTotal(uint usdtVal, uint lotteryPool) external;
        function redeemAW(uint usdtVal, uint usdtPrice, address addr) external;
        function buyLotto(uint usdtVal, address addr) external;
    }

Contract Security Audit

Contract ABI

[{"constant":true,"inputs":[],"name":"usdtPool","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"usdtVal","type":"uint256"},{"name":"superiorAddr","type":"address"}],"name":"exchange","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"afterStaticPayment","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"withdrawService","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"staticPrizePool","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"addr","type":"address"},{"name":"amount","type":"uint256"},{"name":"flag","type":"bool"}],"name":"updateRevenue","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"getStatistics","outputs":[{"name":"level","type":"uint256"},{"name":"destroyedQuantity","type":"uint256"},{"name":"fomoTotalRevenue","type":"uint256"},{"name":"lotteryTotalRevenue","type":"uint256"},{"name":"difference","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"start","type":"uint256"},{"name":"count","type":"uint256"}],"name":"usdtNode","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"index","type":"uint256"}],"name":"staticDividend","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"usdtVal","type":"uint256"},{"name":"superiorAddr","type":"address"}],"name":"participateFomo","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"addr","type":"address"}],"name":"getSubordinatesAndPerformanceByAddr","outputs":[{"name":"","type":"address[]"},{"name":"","type":"uint256[]"},{"name":"","type":"uint256[]"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"addr","type":"address"}],"name":"getPlayer","outputs":[{"name":"","type":"uint256"},{"name":"","type":"address"},{"name":"","type":"address[]"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"usdtVal","type":"uint256"}],"name":"releaseStaticPoolAndV4","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"usdtVal","type":"uint256"},{"name":"superiorAddr","type":"address"}],"name":"participateLottery","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"getRevenueAndPerformance","outputs":[{"name":"withdrawalAmount","type":"uint256"},{"name":"subbordinateTotalPerformance","type":"uint256"},{"name":"dynamicIncome","type":"uint256"},{"name":"staticIncome","type":"uint256"},{"name":"withdrawn","type":"uint256"},{"name":"outboundDifference","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"staticTotalRecharge","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"resetNodePool","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"getShareholder","outputs":[{"name":"","type":"uint256"},{"name":"","type":"uint256"},{"name":"","type":"uint256"},{"name":"","type":"uint256"},{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"getPlayerInfo","outputs":[{"name":"superiorAddr","type":"address"},{"name":"ownerAddr","type":"address"},{"name":"numberOfInvitations","type":"uint256"},{"name":"exist","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"playerMap","outputs":[{"name":"withdrawalAmount","type":"uint256"},{"name":"wallet","type":"uint256"},{"name":"fomoTotalRevenue","type":"uint256"},{"name":"lotteryTotalRevenue","type":"uint256"},{"name":"dynamicIncome","type":"uint256"},{"name":"rechargeAmount","type":"uint256"},{"name":"staticIncome","type":"uint256"},{"name":"shareholderLevel","type":"uint256"},{"name":"underUmbrellaLevel","type":"uint256"},{"name":"subbordinateTotalPerformance","type":"uint256"},{"name":"isExist","type":"bool"},{"name":"superior","type":"bool"},{"name":"superiorAddr","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"addr","type":"address"},{"name":"amount","type":"uint256"}],"name":"rewardDistribution","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"inputs":[{"name":"_owner","type":"address"},{"name":"_tetherAddr","type":"address"},{"name":"_awAddr","type":"address"},{"name":"_gameAddr","type":"address"},{"name":"_technologyAddr","type":"address"},{"name":"_specifyAddr","type":"address"}],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"payable":true,"stateMutability":"payable","type":"fallback"}]

60806040526000604051908082528060200260200182016040528015620000355781602001602082028038833980820191505090505b50600490805190602001906200004d92919062000810565b503480156200005b57600080fd5b5060405160c08062005531833981018060405281019080805190602001909291908051906020019092919080519060200190929190805190602001909291908051906020019092919080519060200190929190505050620000bb6200089f565b866000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506101c06040519081016040528060008152602001600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081526020016000815260200160008152602001600115158152602001600015158152602001600073ffffffffffffffffffffffffffffffffffffffff16815260200160048054806020026020016040519081016040528092919081815260200182805480156200020157602002820191906000526020600020905b8160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019060010190808311620001b6575b5050505050815250905081600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080601160008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082015181600001556020820151816001015560408201518160020155606082015181600301556080820151816004015560a0820151816005015560c0820151816006015560e082015181600701556101008201518160080155610120820151816009015561014082015181600a0160006101000a81548160ff02191690831515021790555061016082015181600a0160016101000a81548160ff02191690831515021790555061018082015181600a0160026101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506101a082015181600b019080519060200190620003bc92919062000929565b5090505085600e60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555084600f60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555083601060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555083600360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555082600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060086000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690806001815401808255809150509060018203906000526020600020016000909192909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614151562000803578060116000600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082015181600001556020820151816001015560408201518160020155606082015181600301556080820151816004015560a0820151816005015560c0820151816006015560e082015181600701556101008201518160080155610120820151816009015561014082015181600a0160006101000a81548160ff02191690831515021790555061016082015181600a0160016101000a81548160ff02191690831515021790555061018082015181600a0160026101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506101a082015181600b0190805190602001906200077692919062000929565b509050506008600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690806001815401808255809150509060018203906000526020600020016000909192909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550505b50505050505050620009fe565b8280548282559060005260206000209081019282156200088c579160200282015b828111156200088b5782518260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055509160200191906001019062000831565b5b5090506200089b9190620009b8565b5090565b6101c06040519081016040528060008152602001600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081526020016000815260200160008152602001600015158152602001600015158152602001600073ffffffffffffffffffffffffffffffffffffffff168152602001606081525090565b828054828255906000526020600020908101928215620009a5579160200282015b82811115620009a45782518260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550916020019190600101906200094a565b5b509050620009b49190620009b8565b5090565b620009fb91905b80821115620009f757600081816101000a81549073ffffffffffffffffffffffffffffffffffffffff021916905550600101620009bf565b5090565b90565b614b238062000a0e6000396000f30060806040526004361061011d576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff1680630337fb40146101285780630fe2abcf146101535780631114309e146101a057806313614792146101b75780632cf88060146101ce578063363d526c146101f9578063372d6b2714610252578063388fd46c1461029957806341775f0e146102d0578063558fdf0f146102fd5780635973f2401461034a5780635c12cd4b14610472578063607fa0ec1461054457806360c5b18714610571578063a424741a146105be578063b9c249e21461060c578063c6950e2214610637578063c91586671461064e578063d1df81df14610695578063d214c6ca14610731578063e09737da14610810575b61012633610871565b005b34801561013457600080fd5b5061013d610da0565b6040518082815260200191505060405180910390f35b34801561015f57600080fd5b5061019e60048036038101908080359060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610da6565b005b3480156101ac57600080fd5b506101b5611252565b005b3480156101c357600080fd5b506101cc611334565b005b3480156101da57600080fd5b506101e361133f565b6040518082815260200191505060405180910390f35b34801561020557600080fd5b50610250600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190803515159060200190929190505050611345565b005b34801561025e57600080fd5b506102676114b7565b604051808681526020018581526020018481526020018381526020018281526020019550505050505060405180910390f35b3480156102a557600080fd5b506102ce600480360381019080803590602001909291908035906020019092919050505061172a565b005b3480156102dc57600080fd5b506102fb600480360381019080803590602001909291905050506118b0565b005b34801561030957600080fd5b5061034860048036038101908080359060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611ea3565b005b34801561035657600080fd5b5061038b600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506122ca565b60405180806020018060200180602001848103845287818151815260200191508051906020019060200280838360005b838110156103d65780820151818401526020810190506103bb565b50505050905001848103835286818151815260200191508051906020019060200280838360005b838110156104185780820151818401526020810190506103fd565b50505050905001848103825285818151815260200191508051906020019060200280838360005b8381101561045a57808201518184015260208101905061043f565b50505050905001965050505050505060405180910390f35b34801561047e57600080fd5b506104b3600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050612606565b604051808481526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200180602001828103825283818151815260200191508051906020019060200280838360005b8381101561052e578082015181840152602081019050610513565b5050505090500194505050505060405180910390f35b34801561055057600080fd5b5061056f60048036038101908080359060200190929190505050612774565b005b34801561057d57600080fd5b506105bc60048036038101908080359060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050612931565b005b3480156105ca57600080fd5b506105d3612bca565b60405180878152602001868152602001858152602001848152602001838152602001828152602001965050505050505060405180910390f35b34801561061857600080fd5b50610621612f8e565b6040518082815260200191505060405180910390f35b34801561064357600080fd5b5061064c612f94565b005b34801561065a57600080fd5b50610663613062565b604051808681526020018581526020018481526020018381526020018281526020019550505050505060405180910390f35b3480156106a157600080fd5b506106aa613099565b604051808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018381526020018215151515815260200194505050505060405180910390f35b34801561073d57600080fd5b50610772600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506131a7565b604051808e81526020018d81526020018c81526020018b81526020018a815260200189815260200188815260200187815260200186815260200185815260200184151515158152602001831515151581526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019d505050505050505050505050505060405180910390f35b34801561081c57600080fd5b5061085b600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050613247565b6040518082815260200191505060405180910390f35b6000806000806000806000601160008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060010154111515610934576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f496e73756666696369656e742077616c6c65742062616c616e6365000000000081525060200191505060405180910390fd5b600095506109c6601160008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060060154601160008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060040154613320565b9450610a15601160008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206005015460036133aa565b935083851115610a2c57610a298585613477565b95505b610a78601160008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206001015487613477565b9250829150633b9aca00831115610a9157633b9aca0091505b610add601160008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206001015483613477565b601160008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060010181905550610b6f601160008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000015483613320565b601160008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000181905550610bc082600a6134c1565b9050601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16635707414482896040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808381526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200192505050600060405180830381600087803b158015610c8757600080fd5b505af1158015610c9b573d6000803e3d6000fd5b50505050610cab60065482613320565b600681905550600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a9059cbb88610cfa8585613477565b6040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050600060405180830381600087803b158015610d7f57600080fd5b505af1158015610d93573d6000803e3d6000fd5b5050505050505050505050565b600d5481565b600080620f42408410151515610e24576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260158152602001807f52656465656d206174206c65617374203155534454000000000000000000000081525060200191505060405180910390fd5b610e2e338461350b565b600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663e136f65f6040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b158015610eb457600080fd5b505af1158015610ec8573d6000803e3d6000fd5b505050506040513d6020811015610ede57600080fd5b81019080805190602001909291905050509150601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663dd33cfb68584336040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808481526020018381526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019350505050600060405180830381600087803b158015610fbe57600080fd5b505af1158015610fd2573d6000803e3d6000fd5b50505050610feb610fe48560046133aa565b600a6134c1565b9050610ff960065482613320565b600681905550600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166323b872dd3330846040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050600060405180830381600087803b1580156110f857600080fd5b505af115801561110c573d6000803e3d6000fd5b50505050600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166323b872dd33600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1661117c8886613477565b6040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050600060405180830381600087803b15801561123457600080fd5b505af1158015611248573d6000803e3d6000fd5b5050505050505050565b3373ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16141515611316576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260188152602001807f496e73756666696369656e74207065726d697373696f6e73000000000000000081525060200191505060405180910390fd5b611324600654600554613477565b6006819055506000600581905550565b61133d33610871565b565b60065481565b60003373ffffffffffffffffffffffffffffffffffffffff16600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614151561140c576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260188152602001807f496e73756666696369656e74207065726d697373696f6e73000000000000000081525060200191505060405180910390fd5b601160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000209050811561148457611461816001015484613320565b8160010181905550611477816002015484613320565b81600201819055506114b1565b611492816001015484613320565b81600101819055506114a8816003015484613320565b81600301819055505b50505050565b6000806000806000601160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060070154600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a0823160006040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b1580156115c057600080fd5b505af11580156115d4573d6000803e3d6000fd5b505050506040513d60208110156115ea57600080fd5b8101908080519060200190929190505050601160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060020154601160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600301546117196116d1601160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206005015460036133aa565b601160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060060154613477565b945094509450945094509091929394565b60008060003373ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161415156117f3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260188152602001807f496e73756666696369656e74207065726d697373696f6e73000000000000000081525060200191505060405180910390fd5b6001600c80549050101561181a5761180f600654600d54613320565b6006819055506118a9565b61182b600d54600c805490506134c1565b9250600091508490505b600c805490508110156118a857611885600c8281548110151561185457fe5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684613be2565b5081806001019250508382141561189b576118a8565b8080600101915050611835565b5b5050505050565b6000806000803373ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614151561197a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260188152602001807f496e73756666696369656e74207065726d697373696f6e73000000000000000081525060200191505060405180910390fd5b600093508492505b600880549050831015611e9c576000601160006008868154811015156119a457fe5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600501541480611b9d5750611a9a60116000600886815481101515611a2a57fe5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206005015460036133aa565b611b9a60116000600887815481101515611ab057fe5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206006015460116000600888815481101515611b2c57fe5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060040154613320565b10155b15611ba757611e8f565b611c3a611c3260116000600887815481101515611bc057fe5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060050154620f42406133aa565b6007546134c1565b9150611c5e611c55611c4e600654856133aa565b60786134c1565b620f42406134c1565b9050611ce560116000600886815481101515611c7657fe5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206001015482613320565b60116000600886815481101515611cf857fe5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060010181905550611de960116000600886815481101515611d7a57fe5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206006015482613320565b60116000600886815481101515611dfc57fe5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600601819055508060056000828254019250508190555083806001019450506064841415611e8e57611e9c565b5b8280600101935050611982565b5050505050565b6000806000629896808510151515611f23576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601c8152602001807f4c657373207468616e20746865206d696e696d756d20616d6f756e740000000081525060200191505060405180910390fd5b611f2d338561350b565b601160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000209250611f7c836005015486613320565b8360050181905550611f9060075486613320565b600781905550611fab611fa48660036133aa565b60646134c1565b915061201b60116000600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206001015483613320565b60116000600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206001018190555061208f600d5483613320565b600d8190555061209e85613d50565b601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16636e553f6586336040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808381526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200192505050602060405180830381600087803b15801561216357600080fd5b505af1158015612177573d6000803e3d6000fd5b505050506040513d602081101561218d57600080fd5b810190808051906020019092919050505090506121ac60065482613320565b600681905550600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166323b872dd3330886040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050600060405180830381600087803b1580156122ab57600080fd5b505af11580156122bf573d6000803e3d6000fd5b505050505050505050565b606080606060006060806000601160008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020935083600b018054905060405190808252806020026020018201604052801561234d5781602001602082028038833980820191505090505b50925083600b01805490506040519080825280602002602001820160405280156123865781602001602082028038833980820191505090505b509150600090505b83600b0180549050811015612567576124a16011600086600b01848154811015156123b557fe5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600901546011600087600b018581548110151561243357fe5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060050154613320565b83828151811015156124af57fe5b90602001906020020181815250506011600085600b01838154811015156124d257fe5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600b0180549050828281518110151561254c57fe5b9060200190602002018181525050808060010191505061238e565b83600b018383828054806020026020016040519081016040528092919081815260200182805480156125ee57602002820191906000526020600020905b8160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190600101908083116125a4575b50505050509250965096509650505050509193909250565b60008060606000601160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002090506011600082600a0160029054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206007015481600a0160029054906101000a900473ffffffffffffffffffffffffffffffffffffffff1682600b018080548060200260200160405190810160405280929190818152602001828054801561275f57602002820191906000526020600020905b8160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019060010190808311612715575b50505050509050935093509350509193909250565b60008060008060003373ffffffffffffffffffffffffffffffffffffffff16600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16141515612841576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260188152602001807f496e73756666696369656e74207065726d697373696f6e73000000000000000081525060200191505060405180910390fd5b61285661284f8760066133aa565b600a6134c1565b945061286460065486613320565b6006819055506128748686613477565b93506000600c80549050111561291657600092506064600c80549050111561289f57606492506128a8565b600c8054905092505b6128b284846134c1565b9150600090505b8281101561291157612904600c828154811015156128d357fe5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1683613e7e565b80806001019150506128b9565b612929565b61292260065485613320565b6006819055505b505050505050565b6311e1a30082111580156129485750620f42408210155b15156129bc576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601c8152602001807f50757263686173652076616c7565206265747765656e20312d3330300000000081525060200191505060405180910390fd5b6129c6338261350b565b601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16635707414483336040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808381526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200192505050600060405180830381600087803b158015612a8b57600080fd5b505af1158015612a9f573d6000803e3d6000fd5b50505050612aaf60065483613320565b600681905550600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166323b872dd3330856040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050600060405180830381600087803b158015612bae57600080fd5b505af1158015612bc2573d6000803e3d6000fd5b505050505050565b6000806000806000806000806000806000809450612c6c601160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060060154601160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060040154613320565b9350612cbb601160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206005015460036133aa565b925082841115612cd257612ccf8484613477565b94505b612d60601160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060040154601160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060060154613320565b915060009050612db3601160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206005015460036133aa565b821115612dc35760009050612e1c565b612e19612e13601160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206005015460036133aa565b83613477565b90505b612e68601160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206001015486613477565b601160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060090154601160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060040154601160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060060154601160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000154859a509a509a509a509a509a505050505050909192939495565b60075481565b3373ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16141515613058576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260188152602001807f496e73756666696369656e74207065726d697373696f6e73000000000000000081525060200191505060405180910390fd5b6000600d81905550565b6000806000806000600980549050600a80549050600b80549050600c80549050600880549050945094509450945094509091929394565b600080600080601160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600a0160029054906101000a900473ffffffffffffffffffffffffffffffffffffffff1633601160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600b0180549050601160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600a0160009054906101000a900460ff16935093509350935090919293565b601160205280600052604060002060009150905080600001549080600101549080600201549080600301549080600401549080600501549080600601549080600701549080600801549080600901549080600a0160009054906101000a900460ff169080600a0160019054906101000a900460ff169080600a0160029054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690508d565b60003373ffffffffffffffffffffffffffffffffffffffff16600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614151561330e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260188152602001807f496e73756666696369656e74207065726d697373696f6e73000000000000000081525060200191505060405180910390fd5b6133188383613be2565b905092915050565b60008082840190508381101515156133a0576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f536166654d6174683a206164646974696f6e206f766572666c6f77000000000081525060200191505060405180910390fd5b8091505092915050565b60008060008414156133bf5760009150613470565b82840290508284828115156133d057fe5b0414151561346c576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260218152602001807f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f81526020017f770000000000000000000000000000000000000000000000000000000000000081525060400191505060405180910390fd5b8091505b5092915050565b60006134b983836040805190810160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250613fa6565b905092915050565b600061350383836040805190810160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250614067565b905092915050565b6135136149a0565b600060011515601160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600a0160009054906101000a900460ff161515141561357657613bdc565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161480613604575060001515601160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600a0160009054906101000a900460ff161515145b1561386d576101c06040519081016040528060008152602001600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081526020016000815260200160008152602001600115158152602001600015158152602001600073ffffffffffffffffffffffffffffffffffffffff168152602001600480548060200260200160405190810160405280929190818152602001828054801561370d57602002820191906000526020600020905b8160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190600101908083116136c3575b5050505050815250915081601160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082015181600001556020820151816001015560408201518160020155606082015181600301556080820151816004015560a0820151816005015560c0820151816006015560e082015181600701556101008201518160080155610120820151816009015561014082015181600a0160006101000a81548160ff02191690831515021790555061016082015181600a0160016101000a81548160ff02191690831515021790555061018082015181600a0160026101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506101a082015181600b019080519060200190613864929190614a2a565b50905050613b75565b6101c060405190810160405280600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081526020016001151581526020016001151581526020018473ffffffffffffffffffffffffffffffffffffffff168152602001600480548060200260200160405190810160405280929190818152602001828054801561397057602002820191906000526020600020905b8160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019060010190808311613926575b50505050508152509150601160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020905080600b018490806001815401808255809150509060018203906000526020600020016000909192909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505081601160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082015181600001556020820151816001015560408201518160020155606082015181600301556080820151816004015560a0820151816005015560c0820151816006015560e082015181600701556101008201518160080155610120820151816009015561014082015181600a0160006101000a81548160ff02191690831515021790555061016082015181600a0160016101000a81548160ff02191690831515021790555061018082015181600a0160026101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506101a082015181600b019080519060200190613b70929190614a2a565b509050505b60088490806001815401808255809150509060018203906000526020600020016000909192909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550505b50505050565b6000806000806000806000601160008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000209550613c388989613e7e565b879450613c4688600a6134c1565b935085600a0160019054906101000a900460ff1615613c9a57613c8d86600a0160029054906101000a900473ffffffffffffffffffffffffffffffffffffffff1685613e7e565b613c978585613320565b94505b600086600b01805490501115613d415785600b01805490509250601e86600b01805490501115613cc957601e92505b613cd384846134c1565b9150600090505b82811015613d3457613d2786600b0182815481101515613cf657fe5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1683613e7e565b8080600101915050613cda565b613d3e8585613320565b94505b84965050505050505092915050565b6000806000601160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000209250600091505b82600a0160019054906101000a900460ff1615613e785782600a0160029054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690506011600084600a0160029054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000209250613e4c836009015485613320565b8360090181905550613e5d81614131565b81806001019250506032821415613e7357613e78565b613d9b565b50505050565b613eca601160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206001015482613320565b601160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060010181905550613f5c601160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206004015482613320565b601160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600401819055505050565b6000808484111583901515614056576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b8381101561401b578082015181840152602081019050614000565b50505050905090810190601f1680156140485780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b508385039050809150509392505050565b6000806000841183901515614117576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b838110156140dc5780820151818401526020810190506140c1565b50505050905090810190601f1680156141095780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b50838581151561412357fe5b049050809150509392505050565b600080600080600080600080601160008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020975064174876e80088600901541015156149955787600b01805490509650601e88600b018054905011156141af57601e96505b600095505b60048610156149945785886007015414156149875760009450600093505b86841015614986576000861480156141f25750633b9aca00886005015410155b15614319576142fb601160008a600b018781548110151561420f57fe5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060090154601160008b600b018881548110151561428d57fe5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060050154613320565b92506406fc23ac00831015156143145784806001019550505b6146cb565b600186148015614331575063b2d05e00886005015410155b15614454576001601160008a600b018781548110151561434d57fe5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206007015410158061444157506001601160008a600b01878154811015156143d557fe5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206008015410155b1561444f5784806001019550505b6146ca565b60028614801561446d575064012a05f200886005015410155b15614590576002601160008a600b018781548110151561448957fe5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206007015410158061457d57506002601160008a600b018781548110151561451157fe5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206008015410155b1561458b5784806001019550505b6146c9565b6003861480156145a957506402540be400886005015410155b156146c8576003601160008a600b01878154811015156145c557fe5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600701541015806146b957506003601160008a600b018781548110151561464d57fe5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206008015410155b156146c75784806001019550505b5b5b5b5b6002851015156149795760018601886007018190555060008614156147555760098990806001815401808255809150509060018203906000526020600020016000909192909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550506148b0565b60018614156147c957600a8990806001815401808255809150509060018203906000526020600020016000909192909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550506148af565b600286141561483d57600b8990806001815401808255809150509060018203906000526020600020016000909192909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550506148ae565b60038614156148ad57600c8990806001815401808255809150509060018203906000526020600020016000909192909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550505b5b5b5b879150600090505b81600a0160019054906101000a900460ff1615614974576011600083600a0160029054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000209150600186018260080154101561495457600186018260080181905550614959565b614974565b8080600101915050603181141561496f57614974565b6148b8565b614986565b83806001019450506141d2565b5b85806001019650506141b4565b5b505050505050505050565b6101c06040519081016040528060008152602001600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081526020016000815260200160008152602001600015158152602001600015158152602001600073ffffffffffffffffffffffffffffffffffffffff168152602001606081525090565b828054828255906000526020600020908101928215614aa3579160200282015b82811115614aa25782518260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555091602001919060010190614a4a565b5b509050614ab09190614ab4565b5090565b614af491905b80821115614af057600081816101000a81549073ffffffffffffffffffffffffffffffffffffffff021916905550600101614aba565b5090565b905600a165627a7a723058204c7302fa4dc640952d26ea25e03ab0b03fc859692f0d24afc52d42c6505b31f30029000000000000000000000000e712a2f678426edf433df1d3ad8555daf8abe68900000000000000000000000068dfa5327696c92bbb847953deea4b68e491f4b40000000000000000000000004fff42650a1f0001214eb2f9a01a53d85bc18f600000000000000000000000002e2652277239990dd91939b8ca924e706aeae574000000000000000000000000eee3e6692b20ec6c83d5ce96191d7f2d8c647b5f000000000000000000000000fa79bd751b1acee27954aff8f16b2a5d4ab2ee61

Deployed Bytecode

0x60806040526004361061011d576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff1680630337fb40146101285780630fe2abcf146101535780631114309e146101a057806313614792146101b75780632cf88060146101ce578063363d526c146101f9578063372d6b2714610252578063388fd46c1461029957806341775f0e146102d0578063558fdf0f146102fd5780635973f2401461034a5780635c12cd4b14610472578063607fa0ec1461054457806360c5b18714610571578063a424741a146105be578063b9c249e21461060c578063c6950e2214610637578063c91586671461064e578063d1df81df14610695578063d214c6ca14610731578063e09737da14610810575b61012633610871565b005b34801561013457600080fd5b5061013d610da0565b6040518082815260200191505060405180910390f35b34801561015f57600080fd5b5061019e60048036038101908080359060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610da6565b005b3480156101ac57600080fd5b506101b5611252565b005b3480156101c357600080fd5b506101cc611334565b005b3480156101da57600080fd5b506101e361133f565b6040518082815260200191505060405180910390f35b34801561020557600080fd5b50610250600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190803515159060200190929190505050611345565b005b34801561025e57600080fd5b506102676114b7565b604051808681526020018581526020018481526020018381526020018281526020019550505050505060405180910390f35b3480156102a557600080fd5b506102ce600480360381019080803590602001909291908035906020019092919050505061172a565b005b3480156102dc57600080fd5b506102fb600480360381019080803590602001909291905050506118b0565b005b34801561030957600080fd5b5061034860048036038101908080359060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611ea3565b005b34801561035657600080fd5b5061038b600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506122ca565b60405180806020018060200180602001848103845287818151815260200191508051906020019060200280838360005b838110156103d65780820151818401526020810190506103bb565b50505050905001848103835286818151815260200191508051906020019060200280838360005b838110156104185780820151818401526020810190506103fd565b50505050905001848103825285818151815260200191508051906020019060200280838360005b8381101561045a57808201518184015260208101905061043f565b50505050905001965050505050505060405180910390f35b34801561047e57600080fd5b506104b3600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050612606565b604051808481526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200180602001828103825283818151815260200191508051906020019060200280838360005b8381101561052e578082015181840152602081019050610513565b5050505090500194505050505060405180910390f35b34801561055057600080fd5b5061056f60048036038101908080359060200190929190505050612774565b005b34801561057d57600080fd5b506105bc60048036038101908080359060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050612931565b005b3480156105ca57600080fd5b506105d3612bca565b60405180878152602001868152602001858152602001848152602001838152602001828152602001965050505050505060405180910390f35b34801561061857600080fd5b50610621612f8e565b6040518082815260200191505060405180910390f35b34801561064357600080fd5b5061064c612f94565b005b34801561065a57600080fd5b50610663613062565b604051808681526020018581526020018481526020018381526020018281526020019550505050505060405180910390f35b3480156106a157600080fd5b506106aa613099565b604051808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018381526020018215151515815260200194505050505060405180910390f35b34801561073d57600080fd5b50610772600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506131a7565b604051808e81526020018d81526020018c81526020018b81526020018a815260200189815260200188815260200187815260200186815260200185815260200184151515158152602001831515151581526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019d505050505050505050505050505060405180910390f35b34801561081c57600080fd5b5061085b600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050613247565b6040518082815260200191505060405180910390f35b6000806000806000806000601160008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060010154111515610934576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f496e73756666696369656e742077616c6c65742062616c616e6365000000000081525060200191505060405180910390fd5b600095506109c6601160008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060060154601160008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060040154613320565b9450610a15601160008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206005015460036133aa565b935083851115610a2c57610a298585613477565b95505b610a78601160008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206001015487613477565b9250829150633b9aca00831115610a9157633b9aca0091505b610add601160008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206001015483613477565b601160008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060010181905550610b6f601160008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000015483613320565b601160008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000181905550610bc082600a6134c1565b9050601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16635707414482896040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808381526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200192505050600060405180830381600087803b158015610c8757600080fd5b505af1158015610c9b573d6000803e3d6000fd5b50505050610cab60065482613320565b600681905550600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a9059cbb88610cfa8585613477565b6040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050600060405180830381600087803b158015610d7f57600080fd5b505af1158015610d93573d6000803e3d6000fd5b5050505050505050505050565b600d5481565b600080620f42408410151515610e24576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260158152602001807f52656465656d206174206c65617374203155534454000000000000000000000081525060200191505060405180910390fd5b610e2e338461350b565b600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663e136f65f6040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b158015610eb457600080fd5b505af1158015610ec8573d6000803e3d6000fd5b505050506040513d6020811015610ede57600080fd5b81019080805190602001909291905050509150601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663dd33cfb68584336040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808481526020018381526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019350505050600060405180830381600087803b158015610fbe57600080fd5b505af1158015610fd2573d6000803e3d6000fd5b50505050610feb610fe48560046133aa565b600a6134c1565b9050610ff960065482613320565b600681905550600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166323b872dd3330846040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050600060405180830381600087803b1580156110f857600080fd5b505af115801561110c573d6000803e3d6000fd5b50505050600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166323b872dd33600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1661117c8886613477565b6040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050600060405180830381600087803b15801561123457600080fd5b505af1158015611248573d6000803e3d6000fd5b5050505050505050565b3373ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16141515611316576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260188152602001807f496e73756666696369656e74207065726d697373696f6e73000000000000000081525060200191505060405180910390fd5b611324600654600554613477565b6006819055506000600581905550565b61133d33610871565b565b60065481565b60003373ffffffffffffffffffffffffffffffffffffffff16600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614151561140c576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260188152602001807f496e73756666696369656e74207065726d697373696f6e73000000000000000081525060200191505060405180910390fd5b601160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000209050811561148457611461816001015484613320565b8160010181905550611477816002015484613320565b81600201819055506114b1565b611492816001015484613320565b81600101819055506114a8816003015484613320565b81600301819055505b50505050565b6000806000806000601160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060070154600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a0823160006040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b1580156115c057600080fd5b505af11580156115d4573d6000803e3d6000fd5b505050506040513d60208110156115ea57600080fd5b8101908080519060200190929190505050601160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060020154601160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600301546117196116d1601160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206005015460036133aa565b601160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060060154613477565b945094509450945094509091929394565b60008060003373ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161415156117f3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260188152602001807f496e73756666696369656e74207065726d697373696f6e73000000000000000081525060200191505060405180910390fd5b6001600c80549050101561181a5761180f600654600d54613320565b6006819055506118a9565b61182b600d54600c805490506134c1565b9250600091508490505b600c805490508110156118a857611885600c8281548110151561185457fe5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684613be2565b5081806001019250508382141561189b576118a8565b8080600101915050611835565b5b5050505050565b6000806000803373ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614151561197a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260188152602001807f496e73756666696369656e74207065726d697373696f6e73000000000000000081525060200191505060405180910390fd5b600093508492505b600880549050831015611e9c576000601160006008868154811015156119a457fe5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600501541480611b9d5750611a9a60116000600886815481101515611a2a57fe5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206005015460036133aa565b611b9a60116000600887815481101515611ab057fe5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206006015460116000600888815481101515611b2c57fe5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060040154613320565b10155b15611ba757611e8f565b611c3a611c3260116000600887815481101515611bc057fe5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060050154620f42406133aa565b6007546134c1565b9150611c5e611c55611c4e600654856133aa565b60786134c1565b620f42406134c1565b9050611ce560116000600886815481101515611c7657fe5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206001015482613320565b60116000600886815481101515611cf857fe5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060010181905550611de960116000600886815481101515611d7a57fe5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206006015482613320565b60116000600886815481101515611dfc57fe5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600601819055508060056000828254019250508190555083806001019450506064841415611e8e57611e9c565b5b8280600101935050611982565b5050505050565b6000806000629896808510151515611f23576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601c8152602001807f4c657373207468616e20746865206d696e696d756d20616d6f756e740000000081525060200191505060405180910390fd5b611f2d338561350b565b601160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000209250611f7c836005015486613320565b8360050181905550611f9060075486613320565b600781905550611fab611fa48660036133aa565b60646134c1565b915061201b60116000600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206001015483613320565b60116000600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206001018190555061208f600d5483613320565b600d8190555061209e85613d50565b601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16636e553f6586336040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808381526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200192505050602060405180830381600087803b15801561216357600080fd5b505af1158015612177573d6000803e3d6000fd5b505050506040513d602081101561218d57600080fd5b810190808051906020019092919050505090506121ac60065482613320565b600681905550600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166323b872dd3330886040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050600060405180830381600087803b1580156122ab57600080fd5b505af11580156122bf573d6000803e3d6000fd5b505050505050505050565b606080606060006060806000601160008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020935083600b018054905060405190808252806020026020018201604052801561234d5781602001602082028038833980820191505090505b50925083600b01805490506040519080825280602002602001820160405280156123865781602001602082028038833980820191505090505b509150600090505b83600b0180549050811015612567576124a16011600086600b01848154811015156123b557fe5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600901546011600087600b018581548110151561243357fe5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060050154613320565b83828151811015156124af57fe5b90602001906020020181815250506011600085600b01838154811015156124d257fe5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600b0180549050828281518110151561254c57fe5b9060200190602002018181525050808060010191505061238e565b83600b018383828054806020026020016040519081016040528092919081815260200182805480156125ee57602002820191906000526020600020905b8160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190600101908083116125a4575b50505050509250965096509650505050509193909250565b60008060606000601160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002090506011600082600a0160029054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206007015481600a0160029054906101000a900473ffffffffffffffffffffffffffffffffffffffff1682600b018080548060200260200160405190810160405280929190818152602001828054801561275f57602002820191906000526020600020905b8160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019060010190808311612715575b50505050509050935093509350509193909250565b60008060008060003373ffffffffffffffffffffffffffffffffffffffff16600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16141515612841576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260188152602001807f496e73756666696369656e74207065726d697373696f6e73000000000000000081525060200191505060405180910390fd5b61285661284f8760066133aa565b600a6134c1565b945061286460065486613320565b6006819055506128748686613477565b93506000600c80549050111561291657600092506064600c80549050111561289f57606492506128a8565b600c8054905092505b6128b284846134c1565b9150600090505b8281101561291157612904600c828154811015156128d357fe5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1683613e7e565b80806001019150506128b9565b612929565b61292260065485613320565b6006819055505b505050505050565b6311e1a30082111580156129485750620f42408210155b15156129bc576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601c8152602001807f50757263686173652076616c7565206265747765656e20312d3330300000000081525060200191505060405180910390fd5b6129c6338261350b565b601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16635707414483336040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808381526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200192505050600060405180830381600087803b158015612a8b57600080fd5b505af1158015612a9f573d6000803e3d6000fd5b50505050612aaf60065483613320565b600681905550600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166323b872dd3330856040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050600060405180830381600087803b158015612bae57600080fd5b505af1158015612bc2573d6000803e3d6000fd5b505050505050565b6000806000806000806000806000806000809450612c6c601160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060060154601160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060040154613320565b9350612cbb601160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206005015460036133aa565b925082841115612cd257612ccf8484613477565b94505b612d60601160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060040154601160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060060154613320565b915060009050612db3601160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206005015460036133aa565b821115612dc35760009050612e1c565b612e19612e13601160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206005015460036133aa565b83613477565b90505b612e68601160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206001015486613477565b601160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060090154601160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060040154601160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060060154601160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000154859a509a509a509a509a509a505050505050909192939495565b60075481565b3373ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16141515613058576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260188152602001807f496e73756666696369656e74207065726d697373696f6e73000000000000000081525060200191505060405180910390fd5b6000600d81905550565b6000806000806000600980549050600a80549050600b80549050600c80549050600880549050945094509450945094509091929394565b600080600080601160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600a0160029054906101000a900473ffffffffffffffffffffffffffffffffffffffff1633601160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600b0180549050601160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600a0160009054906101000a900460ff16935093509350935090919293565b601160205280600052604060002060009150905080600001549080600101549080600201549080600301549080600401549080600501549080600601549080600701549080600801549080600901549080600a0160009054906101000a900460ff169080600a0160019054906101000a900460ff169080600a0160029054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690508d565b60003373ffffffffffffffffffffffffffffffffffffffff16600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614151561330e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260188152602001807f496e73756666696369656e74207065726d697373696f6e73000000000000000081525060200191505060405180910390fd5b6133188383613be2565b905092915050565b60008082840190508381101515156133a0576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f536166654d6174683a206164646974696f6e206f766572666c6f77000000000081525060200191505060405180910390fd5b8091505092915050565b60008060008414156133bf5760009150613470565b82840290508284828115156133d057fe5b0414151561346c576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260218152602001807f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f81526020017f770000000000000000000000000000000000000000000000000000000000000081525060400191505060405180910390fd5b8091505b5092915050565b60006134b983836040805190810160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250613fa6565b905092915050565b600061350383836040805190810160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250614067565b905092915050565b6135136149a0565b600060011515601160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600a0160009054906101000a900460ff161515141561357657613bdc565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161480613604575060001515601160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600a0160009054906101000a900460ff161515145b1561386d576101c06040519081016040528060008152602001600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081526020016000815260200160008152602001600115158152602001600015158152602001600073ffffffffffffffffffffffffffffffffffffffff168152602001600480548060200260200160405190810160405280929190818152602001828054801561370d57602002820191906000526020600020905b8160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190600101908083116136c3575b5050505050815250915081601160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082015181600001556020820151816001015560408201518160020155606082015181600301556080820151816004015560a0820151816005015560c0820151816006015560e082015181600701556101008201518160080155610120820151816009015561014082015181600a0160006101000a81548160ff02191690831515021790555061016082015181600a0160016101000a81548160ff02191690831515021790555061018082015181600a0160026101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506101a082015181600b019080519060200190613864929190614a2a565b50905050613b75565b6101c060405190810160405280600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081526020016001151581526020016001151581526020018473ffffffffffffffffffffffffffffffffffffffff168152602001600480548060200260200160405190810160405280929190818152602001828054801561397057602002820191906000526020600020905b8160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019060010190808311613926575b50505050508152509150601160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020905080600b018490806001815401808255809150509060018203906000526020600020016000909192909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505081601160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082015181600001556020820151816001015560408201518160020155606082015181600301556080820151816004015560a0820151816005015560c0820151816006015560e082015181600701556101008201518160080155610120820151816009015561014082015181600a0160006101000a81548160ff02191690831515021790555061016082015181600a0160016101000a81548160ff02191690831515021790555061018082015181600a0160026101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506101a082015181600b019080519060200190613b70929190614a2a565b509050505b60088490806001815401808255809150509060018203906000526020600020016000909192909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550505b50505050565b6000806000806000806000601160008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000209550613c388989613e7e565b879450613c4688600a6134c1565b935085600a0160019054906101000a900460ff1615613c9a57613c8d86600a0160029054906101000a900473ffffffffffffffffffffffffffffffffffffffff1685613e7e565b613c978585613320565b94505b600086600b01805490501115613d415785600b01805490509250601e86600b01805490501115613cc957601e92505b613cd384846134c1565b9150600090505b82811015613d3457613d2786600b0182815481101515613cf657fe5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1683613e7e565b8080600101915050613cda565b613d3e8585613320565b94505b84965050505050505092915050565b6000806000601160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000209250600091505b82600a0160019054906101000a900460ff1615613e785782600a0160029054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690506011600084600a0160029054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000209250613e4c836009015485613320565b8360090181905550613e5d81614131565b81806001019250506032821415613e7357613e78565b613d9b565b50505050565b613eca601160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206001015482613320565b601160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060010181905550613f5c601160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206004015482613320565b601160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600401819055505050565b6000808484111583901515614056576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b8381101561401b578082015181840152602081019050614000565b50505050905090810190601f1680156140485780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b508385039050809150509392505050565b6000806000841183901515614117576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b838110156140dc5780820151818401526020810190506140c1565b50505050905090810190601f1680156141095780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b50838581151561412357fe5b049050809150509392505050565b600080600080600080600080601160008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020975064174876e80088600901541015156149955787600b01805490509650601e88600b018054905011156141af57601e96505b600095505b60048610156149945785886007015414156149875760009450600093505b86841015614986576000861480156141f25750633b9aca00886005015410155b15614319576142fb601160008a600b018781548110151561420f57fe5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060090154601160008b600b018881548110151561428d57fe5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060050154613320565b92506406fc23ac00831015156143145784806001019550505b6146cb565b600186148015614331575063b2d05e00886005015410155b15614454576001601160008a600b018781548110151561434d57fe5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206007015410158061444157506001601160008a600b01878154811015156143d557fe5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206008015410155b1561444f5784806001019550505b6146ca565b60028614801561446d575064012a05f200886005015410155b15614590576002601160008a600b018781548110151561448957fe5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206007015410158061457d57506002601160008a600b018781548110151561451157fe5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206008015410155b1561458b5784806001019550505b6146c9565b6003861480156145a957506402540be400886005015410155b156146c8576003601160008a600b01878154811015156145c557fe5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600701541015806146b957506003601160008a600b018781548110151561464d57fe5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206008015410155b156146c75784806001019550505b5b5b5b5b6002851015156149795760018601886007018190555060008614156147555760098990806001815401808255809150509060018203906000526020600020016000909192909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550506148b0565b60018614156147c957600a8990806001815401808255809150509060018203906000526020600020016000909192909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550506148af565b600286141561483d57600b8990806001815401808255809150509060018203906000526020600020016000909192909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550506148ae565b60038614156148ad57600c8990806001815401808255809150509060018203906000526020600020016000909192909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550505b5b5b5b879150600090505b81600a0160019054906101000a900460ff1615614974576011600083600a0160029054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000209150600186018260080154101561495457600186018260080181905550614959565b614974565b8080600101915050603181141561496f57614974565b6148b8565b614986565b83806001019450506141d2565b5b85806001019650506141b4565b5b505050505050505050565b6101c06040519081016040528060008152602001600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081526020016000815260200160008152602001600015158152602001600015158152602001600073ffffffffffffffffffffffffffffffffffffffff168152602001606081525090565b828054828255906000526020600020908101928215614aa3579160200282015b82811115614aa25782518260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555091602001919060010190614a4a565b5b509050614ab09190614ab4565b5090565b614af491905b80821115614af057600081816101000a81549073ffffffffffffffffffffffffffffffffffffffff021916905550600101614aba565b5090565b905600a165627a7a723058204c7302fa4dc640952d26ea25e03ab0b03fc859692f0d24afc52d42c6505b31f30029

Deployed Bytecode Sourcemap

3846:21729:0:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6061:24;6074:10;6061:12;:24::i;:::-;3846:21729;4349:20;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4349:20:0;;;;;;;;;;;;;;;;;;;;;;;22796:625;;8:9:-1;5:2;;;30:1;27;20:12;5:2;22796:625:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12136:241;;8:9:-1;5:2;;;30:1;27;20:12;5:2;12136:241:0;;;;;;12037:87;;8:9:-1;5:2;;;30:1;27;20:12;5:2;12037:87:0;;;;;;4085:27;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4085:27:0;;;;;;;;;;;;;;;;;;;;;;;21461:609;;8:9:-1;5:2;;;30:1;27;20:12;5:2;21461:609:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7533:681;;8:9:-1;5:2;;;30:1;27;20:12;5:2;7533:681:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6533:654;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6533:654:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12389:1514;;8:9:-1;5:2;;;30:1;27;20:12;5:2;12389:1514:0;;;;;;;;;;;;;;;;;;;;;;;;;;13915:929;;8:9:-1;5:2;;;30:1;27;20:12;5:2;13915:929:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8226:813;;8:9:-1;5:2;;;30:1;27;20:12;5:2;8226:813:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;8226:813:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;8226:813:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;8226:813:0;;;;;;;;;;;;;;;;;;;;;22511:273;;8:9:-1;5:2;;;30:1;27;20:12;5:2;22511:273:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;22511:273:0;;;;;;;;;;;;;;;;;;;20496:953;;8:9:-1;5:2;;;30:1;27;20:12;5:2;20496:953:0;;;;;;;;;;;;;;;;;;;;;;;;;;22082:417;;8:9:-1;5:2;;;30:1;27;20:12;5:2;22082:417:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9346:1484;;8:9:-1;5:2;;;30:1;27;20:12;5:2;9346:1484:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4125:31;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4125:31:0;;;;;;;;;;;;;;;;;;;;;;;6109:144;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6109:144:0;;;;;;7199:322;;8:9:-1;5:2;;;30:1;27;20:12;5:2;7199:322:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9051:283;;8:9:-1;5:2;;;30:1;27;20:12;5:2;9051:283:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4463:56;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4463:56:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;19236:217;;8:9:-1;5:2;;;30:1;27;20:12;5:2;19236:217:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10842:1183;10985:11;11015:26;11132:24;11385:11;11458:10;11779:16;10935:1;10910:9;:15;10920:4;10910:15;;;;;;;;;;;;;;;:22;;;:26;10902:66;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10999:1;10985:15;;11044:73;11057:9;:15;11067:4;11057:15;;;;;;;;;;;;;;;:28;;;11087:9;:15;11097:4;11087:15;;;;;;;;;;;;;;;:29;;;11044:12;:73::i;:::-;11015:102;;11159:47;11172:9;:15;11182:4;11172:15;;;;;;;;;;;;;;;:30;;;11204:1;11159:12;:47::i;:::-;11132:74;;11250:19;11226:21;:43;11223:148;;;11299:56;11312:21;11335:19;11299:12;:56::i;:::-;11290:65;;11223:148;11399:44;11412:9;:15;11422:4;11412:15;;;;;;;;;;;;;;;:22;;;11436:6;11399:12;:44::i;:::-;11385:58;;11471:6;11458:19;;11504:14;11495:6;:23;11492:85;;;11547:14;11539:22;;11492:85;11616:43;11629:9;:15;11639:4;11629:15;;;;;;;;;;;;;;;:22;;;11653:5;11616:12;:43::i;:::-;11591:9;:15;11601:4;11591:15;;;;;;;;;;;;;;;:22;;:68;;;;11709:53;11722:9;:15;11732:4;11722:15;;;;;;;;;;;;;;;:32;;;11756:5;11709:12;:53::i;:::-;11674:9;:15;11684:4;11674:15;;;;;;;;;;;;;;;:32;;:88;;;;11798:23;11811:5;11818:2;11798:12;:23::i;:::-;11779:42;;11836:4;;;;;;;;;;;:13;;;11850:11;11863:4;11836:32;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;11836:32:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;11836:32:0;;;;11901:42;11914:15;;11931:11;11901:12;:42::i;:::-;11883:15;:60;;;;11958:6;;;;;;;;;;;:15;;;11974:4;11980:32;11993:5;12000:11;11980:12;:32::i;:::-;11958:55;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;11958:55:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;11958:55:0;;;;10842:1183;;;;;;;:::o;4349:20::-;;;;:::o;22796:625::-;22992:14;23105:17;22893:7;22882;:18;;22874:52;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;22941:34;22950:10;22962:12;22941:8;:34::i;:::-;23009:7;;;;;;;;;;;:17;;;:19;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;23009:19:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;23009:19:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;23009:19:0;;;;;;;;;;;;;;;;22992:36;;23045:4;;;;;;;;;;;:13;;;23059:7;23068:9;23079:10;23045:45;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;23045:45:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;23045:45:0;;;;23125:42;23138:24;23151:7;23160:1;23138:12;:24::i;:::-;23164:2;23125:12;:42::i;:::-;23105:62;;23200:43;23213:15;;23230:12;23200;:43::i;:::-;23182:15;:61;;;;23260:6;;;;;;;;;;;:19;;;23280:10;23292:4;23298:12;23260:51;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;23260:51:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;23260:51:0;;;;23328:6;;;;;;;;;;;:19;;;23348:10;23360:11;;;;;;;;;;;23373:35;23386:7;23395:12;23373;:35::i;:::-;23328:81;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;23328:81:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;23328:81:0;;;;22796:625;;;;:::o;12136:241::-;12207:10;12198:19;;:5;;;;;;;;;;;:19;;;12190:56;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12279:49;12292:15;;12309:18;;12279:12;:49::i;:::-;12261:15;:67;;;;12364:1;12343:18;:22;;;;12136:241::o;12037:87::-;12088:24;12101:10;12088:12;:24::i;:::-;12037:87::o;4085:27::-;;;;:::o;21461:609::-;21620:34;21566:10;21554:22;;:8;;;;;;;;;;;:22;;;21546:59;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;21657:9;:15;21667:4;21657:15;;;;;;;;;;;;;;;21620:52;;21690:4;21687:372;;;21731:35;21744:6;:13;;;21759:6;21731:12;:35::i;:::-;21715:6;:13;;:51;;;;21811:45;21824:6;:23;;;21849:6;21811:12;:45::i;:::-;21785:6;:23;;:71;;;;21687:372;;;21912:35;21925:6;:13;;;21940:6;21912:12;:35::i;:::-;21896:6;:13;;:51;;;;21995:48;22008:6;:26;;;22036:6;21995:12;:48::i;:::-;21966:6;:26;;:77;;;;21687:372;21461:609;;;;:::o;7533:681::-;7594:10;7619:22;7656:21;7692:24;7731:15;7799:9;:21;7809:10;7799:21;;;;;;;;;;;;;;;:38;;;7856:7;;;;;;;;;;;:17;;;7882:3;7856:31;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;7856:31:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;7856:31:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;7856:31:0;;;;;;;;;;;;;;;;7906:9;:21;7916:10;7906:21;;;;;;;;;;;;;;;:38;;;7963:9;:21;7973:10;7963:21;;;;;;;;;;;;;;;:41;;;8023:164;8058:53;8071:9;:21;8081:10;8071:21;;;;;;;;;;;;;;;:36;;;8109:1;8058:12;:53::i;:::-;8134:9;:21;8144:10;8134:21;;;;;;;;;;;;;;;:34;;;8023:12;:164::i;:::-;7773:429;;;;;;;;;;7533:681;;;;;:::o;6533:654::-;6831:10;6904;6937:6;6616:10;6607:19;;:5;;;;;;;;;;;:19;;;6599:56;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6697:1;6673:14;:21;;;;:25;6670:147;;;6737:39;6750:15;;6767:8;;6737:12;:39::i;:::-;6719:15;:57;;;;6795:7;;6670:147;6844:45;6857:8;;6867:14;:21;;;;6844:12;:45::i;:::-;6831:58;;6917:1;6904:14;;6946:5;6937:14;;6933:243;6957:14;:21;;;;6953:1;:25;6933:243;;;7004:43;7022:14;7037:1;7022:17;;;;;;;;;;;;;;;;;;;;;;;;;;;7041:5;7004:17;:43::i;:::-;;7066:7;;;;;;;7104:5;7095;:14;7092:67;;;7134:5;;7092:67;6980:3;;;;;;;6933:243;;;6533:654;;;;;;:::o;12389:1514::-;12520:10;12553:6;12968:27;13176:19;12466:10;12457:19;;:5;;;;;;;;;;;:19;;;12449:56;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12533:1;12520:14;;12562:5;12553:14;;12549:1343;12573:9;:16;;;;12569:1;:20;12549:1343;;;12682:1;12640:9;:23;12650:9;12660:1;12650:12;;;;;;;;;;;;;;;;;;;;;;;;;;;12640:23;;;;;;;;;;;;;;;:38;;;:43;:237;;;;12822:55;12835:9;:23;12845:9;12855:1;12845:12;;;;;;;;;;;;;;;;;;;;;;;;;;;12835:23;;;;;;;;;;;;;;;:38;;;12875:1;12822:12;:55::i;:::-;12708:89;12721:9;:23;12731:9;12741:1;12731:12;;;;;;;;;;;;;;;;;;;;;;;;;;;12721:23;;;;;;;;;;;;;;;:36;;;12759:9;:23;12769:9;12779:1;12769:12;;;;;;;;;;;;;;;;;;;;;;;;;;;12759:23;;;;;;;;;;;;;;;:37;;;12708:12;:89::i;:::-;:169;;12640:237;12615:333;;;12920:8;;12615:333;12998:157;13033:61;13046:9;:23;13056:9;13066:1;13056:12;;;;;;;;;;;;;;;;;;;;;;;;;;;13046:23;;;;;;;;;;;;;;;:38;;;13086:7;13033:12;:61::i;:::-;13117:19;;12998:12;:157::i;:::-;12968:187;;13198:156;13233:72;13246:53;13259:15;;13276:22;13246:12;:53::i;:::-;13301:3;13233:12;:72::i;:::-;13328:7;13198:12;:156::i;:::-;13176:178;;13406:121;13441:9;:23;13451:9;13461:1;13451:12;;;;;;;;;;;;;;;;;;;;;;;;;;;13441:23;;;;;;;;;;;;;;;:30;;;13494:14;13406:12;:121::i;:::-;13373:9;:23;13383:9;13393:1;13383:12;;;;;;;;;;;;;;;;;;;;;;;;;;;13373:23;;;;;;;;;;;;;;;:30;;:154;;;;13585:127;13620:9;:23;13630:9;13640:1;13630:12;;;;;;;;;;;;;;;;;;;;;;;;;;;13620:23;;;;;;;;;;;;;;;:36;;;13679:14;13585:12;:127::i;:::-;13546:9;:23;13556:9;13566:1;13556:12;;;;;;;;;;;;;;;;;;;;;;;;;;;13546:23;;;;;;;;;;;;;;;:36;;:166;;;;13753:14;13731:18;;:36;;;;;;;;;;;13786:7;;;;;;;13824:3;13815:5;:12;13812:65;;;13852:5;;13812:65;12549:1343;12591:3;;;;;;;12549:1343;;;12389:1514;;;;;:::o;13915:929::-;14130:34;14367:11;14646:14;14019:12;14008:7;:23;;14000:64;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14079:34;14088:10;14100:12;14079:8;:34::i;:::-;14167:9;:21;14177:10;14167:21;;;;;;;;;;;;;;;14130:58;;14227:44;14240:6;:21;;;14263:7;14227:12;:44::i;:::-;14203:6;:21;;:68;;;;14308:42;14321:19;;14342:7;14308:12;:42::i;:::-;14286:19;:64;;;;14381:43;14394:24;14407:7;14416:1;14394:12;:24::i;:::-;14420:3;14381:12;:43::i;:::-;14367:57;;14474:54;14487:9;:25;14497:14;;;;;;;;;;;14487:25;;;;;;;;;;;;;;;:32;;;14521:6;14474:12;:54::i;:::-;14439:9;:25;14449:14;;;;;;;;;;;14439:25;;;;;;;;;;;;;;;:32;;:89;;;;14554:30;14567:8;;14577:6;14554:12;:30::i;:::-;14543:8;:41;;;;14601:28;14621:7;14601:19;:28::i;:::-;14663:4;;;;;;;;;;;:12;;;14676:7;14685:10;14663:33;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;14663:33:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;14663:33:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;14663:33:0;;;;;;;;;;;;;;;;14646:50;;14729:40;14742:15;;14759:9;14729:12;:40::i;:::-;14711:15;:58;;;;14786:6;;;;;;;;;;;:19;;;14806:10;14818:4;14824:7;14786:46;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;14786:46:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;14786:46:0;;;;13915:929;;;;;:::o;8226:813::-;8307:9;8318:6;8326;8349:34;8416:25;8497;8582:6;8386:9;:15;8396:4;8386:15;;;;;;;;;;;;;;;8349:52;;8455:6;:19;;:26;;;;8444:38;;;;;;;;;;;;;;;;;;;;;;29:2:-1;21:6;17:15;117:4;105:10;97:6;88:34;148:4;140:6;136:17;126:27;;0:157;8444:38:0;;;;8416:66;;8536:6;:19;;:26;;;;8525:38;;;;;;;;;;;;;;;;;;;;;;29:2:-1;21:6;17:15;117:4;105:10;97:6;88:34;148:4;140:6;136:17;126:27;;0:157;8525:38:0;;;;8497:66;;8591:1;8582:10;;8578:381;8598:6;:19;;:26;;;;8594:1;:30;8578:381;;;8667:187;8702:9;:33;8712:6;:19;;8732:1;8712:22;;;;;;;;;;;;;;;;;;;;;;;;;;;8702:33;;;;;;;;;;;;;;;:62;;;8787:9;:33;8797:6;:19;;8817:1;8797:22;;;;;;;;;;;;;;;;;;;;;;;;;;;8787:33;;;;;;;;;;;;;;;:48;;;8667:12;:187::i;:::-;8650:11;8662:1;8650:14;;;;;;;;;;;;;;;;;:204;;;;;8890:9;:33;8900:6;:19;;8920:1;8900:22;;;;;;;;;;;;;;;;;;;;;;;;;;;8890:33;;;;;;;;;;;;;;;:46;;:53;;;;8873:11;8885:1;8873:14;;;;;;;;;;;;;;;;;:70;;;;;8626:3;;;;;;;8578:381;;;8981:6;:19;;9002:11;9015;8973:54;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8226:813;;;;;;;;;:::o;22511:273::-;22566:4;22572:7;22581:9;22607:34;22644:9;:15;22654:4;22644:15;;;;;;;;;;;;;;;22607:52;;22682:9;:30;22692:6;:19;;;;;;;;;;;;22682:30;;;;;;;;;;;;;;;:47;;;22731:6;:19;;;;;;;;;;;;22752:6;:19;;22674:98;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;22511:273;;;;;;:::o;20496:953::-;20640:17;20795:11;20908;21125:17;21196:6;20586:10;20574:22;;:8;;;;;;;;;;;:22;;;20566:59;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;20660:42;20673:24;20686:7;20695:1;20673:12;:24::i;:::-;20699:2;20660:12;:42::i;:::-;20640:62;;20735:43;20748:15;;20765:12;20735;:43::i;:::-;20717:15;:61;;;;20809:35;20822:7;20831:12;20809;:35::i;:::-;20795:49;;20886:1;20862:14;:21;;;;:25;20859:577;;;20922:1;20908:15;;20969:3;20945:14;:21;;;;:27;20942:165;;;21006:3;20997:12;;20942:165;;;21066:14;:21;;;;21057:30;;20942:165;21145:28;21158:6;21166;21145:12;:28::i;:::-;21125:48;;21205:1;21196:10;;21192:134;21212:6;21208:1;:10;21192:134;;;21248:58;21274:14;21289:1;21274:17;;;;;;;;;;;;;;;;;;;;;;;;;;;21293:12;21248:25;:58::i;:::-;21220:3;;;;;;;21192:134;;;20859:577;;;21383:37;21396:15;;21413:6;21383:12;:37::i;:::-;21365:15;:55;;;;20859:577;20496:953;;;;;;:::o;22082:417::-;22189:13;22178:7;:24;;:46;;;;;22217:7;22206;:18;;22178:46;22170:87;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;22272:34;22281:10;22293:12;22272:8;:34::i;:::-;22321:4;;;;;;;;;;;:13;;;22335:7;22344:10;22321:34;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;22321:34:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;22321:34:0;;;;22388:38;22401:15;;22418:7;22388:12;:38::i;:::-;22370:15;:56;;;;22441:6;;;;;;;;;;;:19;;;22461:10;22473:4;22479:7;22441:46;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;22441:46:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;22441:46:0;;;;22082:417;;:::o;9346:1484::-;9418:21;9454:33;9502:18;9535:17;9567:14;9596:23;9646:11;9676:26;9805:24;10062:10;10175:15;9660:1;9646:15;;9705:85;9718:9;:21;9728:10;9718:21;;;;;;;;;;;;;;;:34;;;9754:9;:21;9764:10;9754:21;;;;;;;;;;;;;;;:35;;;9705:12;:85::i;:::-;9676:114;;9832:53;9845:9;:21;9855:10;9845:21;;;;;;;;;;;;;;;:36;;;9883:1;9832:12;:53::i;:::-;9805:80;;9927:19;9903:21;:43;9900:148;;;9976:56;9989:21;10012:19;9976:12;:56::i;:::-;9967:65;;9900:148;10075:85;10088:9;:21;10098:10;10088:21;;;;;;;;;;;;;;;:35;;;10125:9;:21;10135:10;10125:21;;;;;;;;;;;;;;;:34;;;10075:12;:85::i;:::-;10062:98;;10193:1;10175:19;;10220:53;10233:9;:21;10243:10;10233:21;;;;;;;;;;;;;;;:36;;;10271:1;10220:12;:53::i;:::-;10212:5;:61;10209:242;;;10307:1;10294:14;;10209:242;;;10361:74;10374:53;10387:9;:21;10397:10;10387:21;;;;;;;;;;;;;;;:36;;;10425:1;10374:12;:53::i;:::-;10429:5;10361:12;:74::i;:::-;10348:87;;10209:242;10491:50;10504:9;:21;10514:10;10504:21;;;;;;;;;;;;;;;:28;;;10534:6;10491:12;:50::i;:::-;10560:9;:21;10570:10;10560:21;;;;;;;;;;;;;;;:50;;;10629:9;:21;10639:10;10629:21;;;;;;;;;;;;;;;:35;;;10683:9;:21;10693:10;10683:21;;;;;;;;;;;;;;;:34;;;10736:9;:21;10746:10;10736:21;;;;;;;;;;;;;;;:38;;;10793:10;10465:353;;;;;;;;;;;;9346:1484;;;;;;;;;;;:::o;4125:31::-;;;;:::o;6109:144::-;6175:10;6166:19;;:5;;;;;;;;;;;:19;;;6158:56;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6240:1;6229:8;:12;;;;6109:144::o;7199:322::-;7247:4;7253;7259;7265;7271;7318:14;:21;;;;7358:14;:21;;;;7398:14;:21;;;;7438:14;:21;;;;7478:9;:16;;;;7292:217;;;;;;;;;;7199:322;;;;;:::o;9051:283::-;9098:20;9120:17;9139:24;9165:10;9200:9;:21;9210:10;9200:21;;;;;;;;;;;;;;;:34;;;;;;;;;;;;9237:10;9249:9;:21;9259:10;9249:21;;;;;;;;;;;;;;;:34;;:41;;;;9292:9;:21;9302:10;9292:21;;;;;;;;;;;;;;;:29;;;;;;;;;;;;9192:130;;;;;;;;9051:283;;;;:::o;4463:56::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;19236:217::-;19308:4;19349:10;19337:22;;:8;;;;;;;;;;;:22;;;19329:59;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;19410:31;19428:4;19434:6;19410:17;:31::i;:::-;19403:38;;19236:217;;;;:::o;55:181::-;113:7;133:9;149:1;145;:5;133:17;;174:1;169;:6;;161:46;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;227:1;220:8;;55:181;;;;;:::o;594:250::-;652:7;731:9;681:1;676;:6;672:47;;;706:1;699:8;;;;672:47;747:1;743;:5;731:17;;776:1;771;767;:5;;;;;;;;:10;759:56;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;835:1;828:8;;594:250;;;;;;:::o;246:136::-;304:7;331:43;335:1;338;331:43;;;;;;;;;;;;;;;;;;:3;:43::i;:::-;324:50;;246:136;;;;:::o;852:132::-;910:7;937:39;941:1;944;937:39;;;;;;;;;;;;;;;;;;:3;:39::i;:::-;930:46;;852:132;;;;:::o;23433:2133::-;23601:33;;:::i;:::-;25336:42;23540:4;23513:31;;:9;:15;23523:4;23513:15;;;;;;;;;;;;;;;:23;;;;;;;;;;;;:31;;;23510:77;;;23565:7;;23510:77;23676:3;23652:28;;:12;:28;;;:72;;;;23719:5;23684:40;;:9;:23;23694:12;23684:23;;;;;;;;;;;;;;;:31;;;;;;;;;;;;:40;;;23652:72;23649:1871;;;23754:736;;;;;;;;;23842:1;23754:736;;;;23879:1;23754:736;;;;23926:1;23754:736;;;;23976:1;23754:736;;;;24020:1;23754:736;;;;24065:1;23754:736;;;;24108:1;23754:736;;;;24155:1;23754:736;;;;24204:1;23754:736;;;;24263:1;23754:736;;;;24301:4;23754:736;;;;;;24343:5;23754:736;;;;;;24398:3;23754:736;;;;;;24444:4;23754:736;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23745:745;;24527:6;24509:9;:15;24519:4;24509:15;;;;;;;;;;;;;;;:24;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;23649:1871;;;24582:735;;;;;;;;;24670:1;24582:735;;;;24707:1;24582:735;;;;24754:1;24582:735;;;;24804:1;24582:735;;;;24848:1;24582:735;;;;24893:1;24582:735;;;;24936:1;24582:735;;;;24983:1;24582:735;;;;25032:1;24582:735;;;;25091:1;24582:735;;;;25129:4;24582:735;;;;;;25171:4;24582:735;;;;;;25217:12;24582:735;;;;;;25271:4;24582:735;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;24573:744;;25381:9;:23;25391:12;25381:23;;;;;;;;;;;;;;;25336:68;;25423:14;:27;;25456:4;25423:38;;39:1:-1;33:3;27:10;23:18;57:10;52:3;45:23;79:10;72:17;;0:93;25423:38:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;25498:6;25480:9;:15;25490:4;25480:15;;;;;;;;;;;;;;;:24;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;23649:1871;25534:9;25549:4;25534:20;;39:1:-1;33:3;27:10;23:18;57:10;52:3;45:23;79:10;72:17;;0:93;25534:20:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23433:2133;;;;;:::o;19467:1017::-;19538:4;19559:34;19680:11;19715;20001;20168:17;20239:6;19596:9;:15;19606:4;19596:15;;;;;;;;;;;;;;;19559:52;;19626:39;19652:4;19658:6;19626:25;:39::i;:::-;19694:6;19680:20;;19729:24;19742:6;19750:2;19729:12;:24::i;:::-;19715:38;;19771:6;:15;;;;;;;;;;;;19768:165;;;19807:54;19833:6;:19;;;;;;;;;;;;19854:6;19807:25;:54::i;:::-;19889:28;19902:6;19910;19889:12;:28::i;:::-;19880:37;;19768:165;19979:1;19950:6;:19;;:26;;;;:30;19947:498;;;20015:6;:19;;:26;;;;20001:40;;20092:2;20063:6;:19;;:26;;;;:31;20060:90;;;20128:2;20119:11;;20060:90;20188:28;20201:6;20209;20188:12;:28::i;:::-;20168:48;;20248:1;20239:10;;20235:139;20255:6;20251:1;:10;20235:139;;;20291:63;20317:6;:19;;20337:1;20317:22;;;;;;;;;;;;;;;;;;;;;;;;;;;20341:12;20291:25;:63::i;:::-;20263:3;;;;;;;20235:139;;;20401:28;20414:6;20422;20401:12;:28::i;:::-;20392:37;;19947:498;20466:6;20459:13;;19467:1017;;;;;;;;;;:::o;14856:608::-;14923:34;14996:11;15068:16;14960:9;:21;14970:10;14960:21;;;;;;;;;;;;;;;14923:58;;15010:1;14996:15;;15026:427;15032:6;:15;;;;;;;;;;;;15026:427;;;15087:6;:19;;;;;;;;;;;;15068:38;;15134:9;:30;15144:6;:19;;;;;;;;;;;;15134:30;;;;;;;;;;;;;;;15125:39;;15221:58;15234:6;:35;;;15271:7;15221:12;:58::i;:::-;15183:6;:35;;:96;;;;15298:29;15318:8;15298:19;:29::i;:::-;15346:8;;;;;;;15386:2;15376:6;:12;15373:65;;;15413:5;;15373:65;15026:427;;;14856:608;;;;:::o;6265:256::-;6373:41;6386:9;:15;6396:4;6386:15;;;;;;;;;;;;;;;:22;;;6410:3;6373:12;:41::i;:::-;6348:9;:15;6358:4;6348:15;;;;;;;;;;;;;;;:22;;:66;;;;6461:48;6474:9;:15;6484:4;6474:15;;;;;;;;;;;;;;;:29;;;6505:3;6461:12;:48::i;:::-;6429:9;:15;6439:4;6429:15;;;;;;;;;;;;;;;:29;;:80;;;;6265:256;;:::o;392:192::-;478:7;538:9;511:1;506;:6;;514:12;498:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;498:29:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;554:1;550;:5;538:17;;575:1;568:8;;392:192;;;;;;:::o;992:191::-;1078:7;1137:9;1110:1;1106;:5;1113:12;1098:28;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;1098:28:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1153:1;1149;:5;;;;;;;;1137:17;;1174:1;1167:8;;992:191;;;;;;:::o;15476:3748::-;15543:34;15686:11;15857:6;15964:15;16014:6;16163:14;18295:38;18377:10;15580:9;:15;15590:4;15580:15;;;;;;;;;;;;;;;15543:52;;15652:13;15613:6;:35;;;:52;;15610:3603;;;15700:6;:19;;:26;;;;15686:40;;15777:2;15748:6;:19;;:26;;;;:31;15745:90;;;15813:2;15804:11;;15745:90;15866:1;15857:10;;15853:3343;15873:1;15869;:5;15853:3343;;;15934:1;15907:6;:23;;;:28;15904:3273;;;15982:1;15964:19;;16023:1;16014:10;;16010:3144;16030:6;16026:1;:10;16010:3144;;;16082:1;16077;:6;:49;;;;;16112:14;16087:6;:21;;;:39;;16077:49;16074:1540;;;16180:251;16239:9;:33;16249:6;:19;;16269:1;16249:22;;;;;;;;;;;;;;;;;;;;;;;;;;;16239:33;;;;;;;;;;;;;;;:62;;;16348:9;:33;16358:6;:19;;16378:1;16358:22;;;;;;;;;;;;;;;;;;;;;;;;;;;16348:33;;;;;;;;;;;;;;;:48;;;16180:12;:251::i;:::-;16163:268;;16482:12;16469:9;:25;;16466:117;;;16535:12;;;;;;;16466:117;16074:1540;;;16627:1;16622;:6;:49;;;;;16657:14;16632:6;:21;;;:39;;16622:49;16619:995;;;16765:1;16711:9;:33;16721:6;:19;;16741:1;16721:22;;;;;;;;;;;;;;;;;;;;;;;;;;;16711:33;;;;;;;;;;;;;;;:50;;;:55;;:116;;;;16826:1;16770:9;:33;16780:6;:19;;16800:1;16780:22;;;;;;;;;;;;;;;;;;;;;;;;;;;16770:33;;;;;;;;;;;;;;;:52;;;:57;;16711:116;16708:208;;;16868:12;;;;;;;16708:208;16619:995;;;16960:1;16955;:6;:49;;;;;16990:14;16965:6;:21;;;:39;;16955:49;16952:662;;;17098:1;17044:9;:33;17054:6;:19;;17074:1;17054:22;;;;;;;;;;;;;;;;;;;;;;;;;;;17044:33;;;;;;;;;;;;;;;:50;;;:55;;:116;;;;17159:1;17103:9;:33;17113:6;:19;;17133:1;17113:22;;;;;;;;;;;;;;;;;;;;;;;;;;;17103:33;;;;;;;;;;;;;;;:52;;;:57;;17044:116;17041:208;;;17201:12;;;;;;;17041:208;16952:662;;;17293:1;17288;:6;:50;;;;;17323:15;17298:6;:21;;;:40;;17288:50;17285:329;;;17432:1;17378:9;:33;17388:6;:19;;17408:1;17388:22;;;;;;;;;;;;;;;;;;;;;;;;;;;17378:33;;;;;;;;;;;;;;;:50;;;:55;;:116;;;;17493:1;17437:9;:33;17447:6;:19;;17467:1;17447:22;;;;;;;;;;;;;;;;;;;;;;;;;;;17437:33;;;;;;;;;;;;;;;:52;;;:57;;17378:116;17375:208;;;17535:12;;;;;;;17375:208;17285:329;16952:662;16619:995;16074:1540;17663:1;17649:10;:15;;17646:1481;;;17731:1;17727;:5;17701:6;:23;;:31;;;;17775:1;17770;:6;17767:460;;;17818:14;17838:4;17818:25;;39:1:-1;33:3;27:10;23:18;57:10;52:3;45:23;79:10;72:17;;0:93;17818:25:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17767:460;;;17892:1;17887;:6;17884:343;;;17934:14;17954:4;17934:25;;39:1:-1;33:3;27:10;23:18;57:10;52:3;45:23;79:10;72:17;;0:93;17934:25:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17884:343;;;18008:1;18003;:6;18000:227;;;18050:14;18070:4;18050:25;;39:1:-1;33:3;27:10;23:18;57:10;52:3;45:23;79:10;72:17;;0:93;18050:25:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18000:227;;;18124:1;18119;:6;18116:111;;;18166:14;18186:4;18166:25;;39:1:-1;33:3;27:10;23:18;57:10;52:3;45:23;79:10;72:17;;0:93;18166:25:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18116:111;18000:227;17884:343;17767:460;18336:6;18295:47;;18390:1;18377:14;;18426:630;18432:10;:19;;;;;;;;;;;;18426:630;;;18505:9;:34;18515:10;:23;;;;;;;;;;;;18505:34;;;;;;;;;;;;;;;18492:47;;18617:1;18613;:5;18581:10;:29;;;:37;18578:255;;;18699:1;18695;:5;18663:10;:29;;:37;;;;18578:255;;;18788:5;;18578:255;18871:7;;;;;;;18929:2;18920:5;:11;18917:104;;;18976:5;;18917:104;18426:630;;;19090:5;;17646:1481;16038:3;;;;;;;16010:3144;;;15904:3273;15876:3;;;;;;;15853:3343;;;15610:3603;15476:3748;;;;;;;;;:::o;3846:21729::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o

Swarm Source

bzzr://4c7302fa4dc640952d26ea25e03ab0b03fc859692f0d24afc52d42c6505b31f3
Loading...
Loading
Loading...
Loading
[ Download: CSV Export  ]

A token is a representation of an on-chain or off-chain asset. The token page shows information such as price, total supply, holders, transfers and social links. Learn more about this page in our Knowledge Base.