CompetitionETHAsPrize
Deploy on AlchemyContract Information
Explore the source code, ABI, and bytecode for the CompetitionETHAsPrize smart contract.
More Info
[{"inputs":[{"internalType":"address","name":"_blacklistManager","type":"address"},{"internalType":"address","name":"_vrfCoordinator","type":"address"},{"internalType":"address","name":"_linkToken","type":"address"},{"internalType":"bytes32","name":"_keyHash","type":"bytes32"},{"internalType":"bool","name":"_mainetFee","type":"bool"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"raffleId","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"amountRaised","type":"uint256"}],"name":"EarlyCashoutTriggered","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"raffleId","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"amountOfEntriesCanceled","type":"uint256"},{"indexed":false,"internalType":"address","name":"player","type":"address"}],"name":"EntryCancelled","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"raffleId","type":"uint256"},{"indexed":true,"internalType":"address","name":"buyer","type":"address"},{"indexed":false,"internalType":"uint256","name":"currentSize","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"priceStructureId","type":"uint256"}],"name":"EntrySold","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"raffleId","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"amountTransferred","type":"uint256"}],"name":"FeeTransferredToPlatform","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"raffleId","type":"uint256"},{"indexed":false,"internalType":"address[]","name":"buyer","type":"address[]"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"currentSize","type":"uint256"}],"name":"FreeEntry","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"raffleId","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"amountRaised","type":"uint256"}],"name":"RaffleCancelled","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"raffleId","type":"uint256"},{"indexed":true,"internalType":"uint256","name":"prizeAmount","type":"uint256"}],"name":"RaffleCreated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"raffleId","type":"uint256"},{"indexed":true,"internalType":"address","name":"winner","type":"address"},{"indexed":false,"internalType":"uint256","name":"amountRaised","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"randomNumber","type":"uint256"}],"name":"RaffleEnded","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"raffleId","type":"uint256"},{"indexed":true,"internalType":"address","name":"seller","type":"address"}],"name":"RaffleStarted","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"idFromMetawin","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"randomNumber","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"normalizedRandomNumber","type":"uint256"}],"name":"RandomNumberCreated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"raffleId","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"amountInWeis","type":"uint256"},{"indexed":true,"internalType":"address","name":"player","type":"address"}],"name":"Refund","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"raffleId","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"amountInWeis","type":"uint256"}],"name":"RemainingFundsTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"bytes32","name":"role","type":"bytes32"},{"indexed":true,"internalType":"bytes32","name":"previousAdminRole","type":"bytes32"},{"indexed":true,"internalType":"bytes32","name":"newAdminRole","type":"bytes32"}],"name":"RoleAdminChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"bytes32","name":"role","type":"bytes32"},{"indexed":true,"internalType":"address","name":"account","type":"address"},{"indexed":true,"internalType":"address","name":"sender","type":"address"}],"name":"RoleGranted","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"bytes32","name":"role","type":"bytes32"},{"indexed":true,"internalType":"address","name":"account","type":"address"},{"indexed":true,"internalType":"address","name":"sender","type":"address"}],"name":"RoleRevoked","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"raffleId","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"amountRaised","type":"uint256"}],"name":"SetWinnerTriggered","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"raffleId","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"newStatus","type":"uint256"}],"name":"StatusChangedInEmergency","type":"event"},{"inputs":[],"name":"DEFAULT_ADMIN_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"MINTERCONTRACT_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"OPERATOR_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_raffleId","type":"uint256"},{"internalType":"uint256","name":"_id","type":"uint256"},{"internalType":"address","name":"_collection","type":"address"},{"internalType":"uint256","name":"_tokenIdUsed","type":"uint256"}],"name":"buyEntry","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_raffleId","type":"uint256"},{"internalType":"uint256[]","name":"entriesToCancel","type":"uint256[]"},{"internalType":"address","name":"_player","type":"address"}],"name":"cancelEntry","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_raffleId","type":"uint256"}],"name":"cancelRaffle","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"name":"chainlinkRaffleInfo","outputs":[{"internalType":"uint256","name":"id","type":"uint256"},{"internalType":"uint256","name":"size","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_raffleId","type":"uint256"}],"name":"claimRefund","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"name":"claimsData","outputs":[{"internalType":"uint256","name":"numEntriesPerUser","type":"uint256"},{"internalType":"uint256","name":"amountSpentInWeis","type":"uint256"},{"internalType":"bool","name":"claimed","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_raffleId","type":"uint256"},{"internalType":"uint256","name":"_amountOfEntries","type":"uint256"},{"internalType":"address","name":"_player","type":"address"}],"name":"createFreeEntriesFromExternalContract","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_desiredFundsInWeis","type":"uint256"},{"internalType":"uint256","name":"_maxEntriesPerUser","type":"uint256"},{"internalType":"uint256","name":"_amountOfETH","type":"uint256"},{"internalType":"uint256","name":"_minimumFundsInWeis","type":"uint256"},{"components":[{"internalType":"uint256","name":"id","type":"uint256"},{"internalType":"uint256","name":"numEntries","type":"uint256"},{"internalType":"uint256","name":"price","type":"uint256"}],"internalType":"struct CompetitionETHAsPrize.PriceStructure[]","name":"_prices","type":"tuple[]"},{"internalType":"uint256","name":"_commissionInBasicPoints","type":"uint256"},{"internalType":"address[]","name":"_collectionWhitelist","type":"address[]"},{"internalType":"enum CompetitionETHAsPrize.ENTRY_TYPE","name":"_entryType","type":"uint8"}],"name":"createRaffle","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"destinationWallet","outputs":[{"internalType":"address payable","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_raffleId","type":"uint256"}],"name":"earlyCashOut","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"uint256","name":"","type":"uint256"}],"name":"entriesList","outputs":[{"internalType":"uint256","name":"currentEntriesLength","type":"uint256"},{"internalType":"address","name":"player","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"fundingList","outputs":[{"internalType":"uint256","name":"minimumFundsInWeis","type":"uint256"},{"internalType":"uint256","name":"desiredFundsInWeis","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_raffleId","type":"uint256"},{"internalType":"address","name":"_player","type":"address"}],"name":"getClaimData","outputs":[{"components":[{"internalType":"uint256","name":"numEntriesPerUser","type":"uint256"},{"internalType":"uint256","name":"amountSpentInWeis","type":"uint256"},{"internalType":"bool","name":"claimed","type":"bool"}],"internalType":"struct CompetitionETHAsPrize.ClaimStruct","name":"","type":"tuple"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_raffleId","type":"uint256"}],"name":"getEntriesBought","outputs":[{"components":[{"internalType":"uint256","name":"currentEntriesLength","type":"uint256"},{"internalType":"address","name":"player","type":"address"}],"internalType":"struct CompetitionETHAsPrize.EntriesBought[]","name":"","type":"tuple[]"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"}],"name":"getRoleAdmin","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_raffleId","type":"uint256"},{"internalType":"uint256","name":"_normalizedRandomNumber","type":"uint256"}],"name":"getWinnerAddressFromRandom","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_raffleId","type":"uint256"},{"internalType":"address[]","name":"_freePlayers","type":"address[]"}],"name":"giveBatchEntriesForFree","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"account","type":"address"}],"name":"grantRole","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"account","type":"address"}],"name":"hasRole","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_player","type":"address"},{"internalType":"uint256","name":"_raffleId","type":"uint256"},{"internalType":"address","name":"_collection","type":"address"},{"internalType":"uint256","name":"_tokenIdUsed","type":"uint256"}],"name":"playerHasRequiredNFTs","outputs":[{"internalType":"bool","name":"canBuy","type":"bool"},{"internalType":"string","name":"cause","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_player","type":"address"}],"name":"playerIsBlacklisted","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_player","type":"address"},{"internalType":"uint256","name":"_raffleId","type":"uint256"}],"name":"playerIsSeller","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_player","type":"address"},{"internalType":"uint256","name":"_raffleId","type":"uint256"},{"internalType":"uint256","name":"_amountOfEntries","type":"uint256"}],"name":"playerReachedMaxEntries","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"uint256","name":"","type":"uint256"}],"name":"prices","outputs":[{"internalType":"uint256","name":"id","type":"uint256"},{"internalType":"uint256","name":"numEntries","type":"uint256"},{"internalType":"uint256","name":"price","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_raffleId","type":"uint256"}],"name":"raffleNotInAcceptedState","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"raffles","outputs":[{"internalType":"enum CompetitionETHAsPrize.STATUS","name":"status","type":"uint8"},{"internalType":"uint256","name":"maxEntries","type":"uint256"},{"internalType":"uint256","name":"amountOfETH","type":"uint256"},{"internalType":"address","name":"winner","type":"address"},{"internalType":"uint256","name":"randomNumber","type":"uint256"},{"internalType":"uint256","name":"amountRaised","type":"uint256"},{"internalType":"address","name":"seller","type":"address"},{"internalType":"uint256","name":"platformPercentage","type":"uint256"},{"internalType":"uint256","name":"entriesLength","type":"uint256"},{"internalType":"uint256","name":"cancellingDate","type":"uint256"},{"internalType":"enum CompetitionETHAsPrize.ENTRY_TYPE","name":"entryType","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"requestId","type":"bytes32"},{"internalType":"uint256","name":"randomness","type":"uint256"}],"name":"rawFulfillRandomness","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"account","type":"address"}],"name":"renounceRole","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"requests","outputs":[{"internalType":"uint256","name":"randomNumber","type":"uint256"},{"internalType":"uint256","name":"nomalizedRandomNumber","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"name":"requiredNFTWallets","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"account","type":"address"}],"name":"revokeRole","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address payable","name":"_newAddress","type":"address"}],"name":"setDestinationAddress","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_raffleId","type":"uint256"}],"name":"setWinner","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_raffleId","type":"uint256"}],"name":"stakeETH","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[{"internalType":"bytes4","name":"interfaceId","type":"bytes4"}],"name":"supportsInterface","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_raffleId","type":"uint256"}],"name":"transferRemainingFunds","outputs":[],"stateMutability":"nonpayable","type":"function"}]
[{"inputs":[{"internalType":"address","name":"_blacklistManager","type":"address"},{"internalType":"address","name":"_vrfCoordinator","type":"address"},{"internalType":"address","name":"_linkToken","type":"address"},{"internalType":"bytes32","name":"_keyHash","type":"bytes32"},{"internalType":"bool","name":"_mainetFee","type":"bool"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"raffleId","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"amountRaised","type":"uint256"}],"name":"EarlyCashoutTriggered","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"raffleId","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"amountOfEntriesCanceled","type":"uint256"},{"indexed":false,"internalType":"address","name":"player","type":"address"}],"name":"EntryCancelled","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"raffleId","type":"uint256"},{"indexed":true,"internalType":"address","name":"buyer","type":"address"},{"indexed":false,"internalType":"uint256","name":"currentSize","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"priceStructureId","type":"uint256"}],"name":"EntrySold","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"raffleId","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"amountTransferred","type":"uint256"}],"name":"FeeTransferredToPlatform","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"raffleId","type":"uint256"},{"indexed":false,"internalType":"address[]","name":"buyer","type":"address[]"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"currentSize","type":"uint256"}],"name":"FreeEntry","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"raffleId","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"amountRaised","type":"uint256"}],"name":"RaffleCancelled","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"raffleId","type":"uint256"},{"indexed":true,"internalType":"uint256","name":"prizeAmount","type":"uint256"}],"name":"RaffleCreated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"raffleId","type":"uint256"},{"indexed":true,"internalType":"address","name":"winner","type":"address"},{"indexed":false,"internalType":"uint256","name":"amountRaised","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"randomNumber","type":"uint256"}],"name":"RaffleEnded","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"raffleId","type":"uint256"},{"indexed":true,"internalType":"address","name":"seller","type":"address"}],"name":"RaffleStarted","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"idFromMetawin","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"randomNumber","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"normalizedRandomNumber","type":"uint256"}],"name":"RandomNumberCreated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"raffleId","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"amountInWeis","type":"uint256"},{"indexed":true,"internalType":"address","name":"player","type":"address"}],"name":"Refund","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"raffleId","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"amountInWeis","type":"uint256"}],"name":"RemainingFundsTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"bytes32","name":"role","type":"bytes32"},{"indexed":true,"internalType":"bytes32","name":"previousAdminRole","type":"bytes32"},{"indexed":true,"internalType":"bytes32","name":"newAdminRole","type":"bytes32"}],"name":"RoleAdminChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"bytes32","name":"role","type":"bytes32"},{"indexed":true,"internalType":"address","name":"account","type":"address"},{"indexed":true,"internalType":"address","name":"sender","type":"address"}],"name":"RoleGranted","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"bytes32","name":"role","type":"bytes32"},{"indexed":true,"internalType":"address","name":"account","type":"address"},{"indexed":true,"internalType":"address","name":"sender","type":"address"}],"name":"RoleRevoked","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"raffleId","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"amountRaised","type":"uint256"}],"name":"SetWinnerTriggered","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"raffleId","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"newStatus","type":"uint256"}],"name":"StatusChangedInEmergency","type":"event"},{"inputs":[],"name":"DEFAULT_ADMIN_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"MINTERCONTRACT_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"OPERATOR_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_raffleId","type":"uint256"},{"internalType":"uint256","name":"_id","type":"uint256"},{"internalType":"address","name":"_collection","type":"address"},{"internalType":"uint256","name":"_tokenIdUsed","type":"uint256"}],"name":"buyEntry","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_raffleId","type":"uint256"},{"internalType":"uint256[]","name":"entriesToCancel","type":"uint256[]"},{"internalType":"address","name":"_player","type":"address"}],"name":"cancelEntry","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_raffleId","type":"uint256"}],"name":"cancelRaffle","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"name":"chainlinkRaffleInfo","outputs":[{"internalType":"uint256","name":"id","type":"uint256"},{"internalType":"uint256","name":"size","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_raffleId","type":"uint256"}],"name":"claimRefund","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"name":"claimsData","outputs":[{"internalType":"uint256","name":"numEntriesPerUser","type":"uint256"},{"internalType":"uint256","name":"amountSpentInWeis","type":"uint256"},{"internalType":"bool","name":"claimed","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_raffleId","type":"uint256"},{"internalType":"uint256","name":"_amountOfEntries","type":"uint256"},{"internalType":"address","name":"_player","type":"address"}],"name":"createFreeEntriesFromExternalContract","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_desiredFundsInWeis","type":"uint256"},{"internalType":"uint256","name":"_maxEntriesPerUser","type":"uint256"},{"internalType":"uint256","name":"_amountOfETH","type":"uint256"},{"internalType":"uint256","name":"_minimumFundsInWeis","type":"uint256"},{"components":[{"internalType":"uint256","name":"id","type":"uint256"},{"internalType":"uint256","name":"numEntries","type":"uint256"},{"internalType":"uint256","name":"price","type":"uint256"}],"internalType":"struct CompetitionETHAsPrize.PriceStructure[]","name":"_prices","type":"tuple[]"},{"internalType":"uint256","name":"_commissionInBasicPoints","type":"uint256"},{"internalType":"address[]","name":"_collectionWhitelist","type":"address[]"},{"internalType":"enum CompetitionETHAsPrize.ENTRY_TYPE","name":"_entryType","type":"uint8"}],"name":"createRaffle","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"destinationWallet","outputs":[{"internalType":"address payable","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_raffleId","type":"uint256"}],"name":"earlyCashOut","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"uint256","name":"","type":"uint256"}],"name":"entriesList","outputs":[{"internalType":"uint256","name":"currentEntriesLength","type":"uint256"},{"internalType":"address","name":"player","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"fundingList","outputs":[{"internalType":"uint256","name":"minimumFundsInWeis","type":"uint256"},{"internalType":"uint256","name":"desiredFundsInWeis","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_raffleId","type":"uint256"},{"internalType":"address","name":"_player","type":"address"}],"name":"getClaimData","outputs":[{"components":[{"internalType":"uint256","name":"numEntriesPerUser","type":"uint256"},{"internalType":"uint256","name":"amountSpentInWeis","type":"uint256"},{"internalType":"bool","name":"claimed","type":"bool"}],"internalType":"struct CompetitionETHAsPrize.ClaimStruct","name":"","type":"tuple"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_raffleId","type":"uint256"}],"name":"getEntriesBought","outputs":[{"components":[{"internalType":"uint256","name":"currentEntriesLength","type":"uint256"},{"internalType":"address","name":"player","type":"address"}],"internalType":"struct CompetitionETHAsPrize.EntriesBought[]","name":"","type":"tuple[]"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"}],"name":"getRoleAdmin","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_raffleId","type":"uint256"},{"internalType":"uint256","name":"_normalizedRandomNumber","type":"uint256"}],"name":"getWinnerAddressFromRandom","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_raffleId","type":"uint256"},{"internalType":"address[]","name":"_freePlayers","type":"address[]"}],"name":"giveBatchEntriesForFree","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"account","type":"address"}],"name":"grantRole","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"account","type":"address"}],"name":"hasRole","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_player","type":"address"},{"internalType":"uint256","name":"_raffleId","type":"uint256"},{"internalType":"address","name":"_collection","type":"address"},{"internalType":"uint256","name":"_tokenIdUsed","type":"uint256"}],"name":"playerHasRequiredNFTs","outputs":[{"internalType":"bool","name":"canBuy","type":"bool"},{"internalType":"string","name":"cause","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_player","type":"address"}],"name":"playerIsBlacklisted","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_player","type":"address"},{"internalType":"uint256","name":"_raffleId","type":"uint256"}],"name":"playerIsSeller","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_player","type":"address"},{"internalType":"uint256","name":"_raffleId","type":"uint256"},{"internalType":"uint256","name":"_amountOfEntries","type":"uint256"}],"name":"playerReachedMaxEntries","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"uint256","name":"","type":"uint256"}],"name":"prices","outputs":[{"internalType":"uint256","name":"id","type":"uint256"},{"internalType":"uint256","name":"numEntries","type":"uint256"},{"internalType":"uint256","name":"price","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_raffleId","type":"uint256"}],"name":"raffleNotInAcceptedState","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"raffles","outputs":[{"internalType":"enum CompetitionETHAsPrize.STATUS","name":"status","type":"uint8"},{"internalType":"uint256","name":"maxEntries","type":"uint256"},{"internalType":"uint256","name":"amountOfETH","type":"uint256"},{"internalType":"address","name":"winner","type":"address"},{"internalType":"uint256","name":"randomNumber","type":"uint256"},{"internalType":"uint256","name":"amountRaised","type":"uint256"},{"internalType":"address","name":"seller","type":"address"},{"internalType":"uint256","name":"platformPercentage","type":"uint256"},{"internalType":"uint256","name":"entriesLength","type":"uint256"},{"internalType":"uint256","name":"cancellingDate","type":"uint256"},{"internalType":"enum CompetitionETHAsPrize.ENTRY_TYPE","name":"entryType","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"requestId","type":"bytes32"},{"internalType":"uint256","name":"randomness","type":"uint256"}],"name":"rawFulfillRandomness","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"account","type":"address"}],"name":"renounceRole","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"requests","outputs":[{"internalType":"uint256","name":"randomNumber","type":"uint256"},{"internalType":"uint256","name":"nomalizedRandomNumber","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"name":"requiredNFTWallets","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"account","type":"address"}],"name":"revokeRole","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address payable","name":"_newAddress","type":"address"}],"name":"setDestinationAddress","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_raffleId","type":"uint256"}],"name":"setWinner","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_raffleId","type":"uint256"}],"name":"stakeETH","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[{"internalType":"bytes4","name":"interfaceId","type":"bytes4"}],"name":"supportsInterface","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_raffleId","type":"uint256"}],"name":"transferRemainingFunds","outputs":[],"stateMutability":"nonpayable","type":"function"}]
60c0604052600d80546001600160a01b03191673eda703919a528481f4f11423a728300dcabf441f1790553480156200003757600080fd5b50604051620052d3380380620052d38339810160408190526200005a91620001ee565b600180556001600160601b0319606085811b821660a05284901b16608052620000b87f523a704056dcd17bcf83bed8b68c59416dac1119be77755efe3bde0a64e46e0c7313503b622abc0bd30a7e9687057df6e8c42fb92862000121565b620000c560003362000121565b600382905560018115151415620000e857671bc16d674ec80000600455620000f5565b67016345785d8a00006004555b5050600e80546001600160a01b0319166001600160a01b039490941693909317909255506200025b9050565b6200012d828262000131565b5050565b6000828152602081815260408083206001600160a01b038516845290915290205460ff166200012d576000828152602081815260408083206001600160a01b03851684529091529020805460ff191660011790556200018d3390565b6001600160a01b0316816001600160a01b0316837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b80516001600160a01b0381168114620001e957600080fd5b919050565b600080600080600060a0868803121562000206578081fd5b6200021186620001d1565b94506200022160208701620001d1565b93506200023160408701620001d1565b925060608601519150608086015180151581146200024d578182fd5b809150509295509295909350565b60805160601c60a05160601c61503e6200029560003960008181612d480152614038015260008181613ae10152614009015261503e6000f3fe6080604052600436106102305760003560e01c80635b7baf641161012e578063a217fddf116100ab578063d649214c1161006f578063d649214c146107c7578063e2a6f547146107e7578063eb99038c14610822578063f369145514610842578063f5b541a61461086257600080fd5b8063a217fddf146106e8578063babdf60b146106fd578063baf029051461072b578063bce8340614610787578063d547741f146107a757600080fd5b80637fa4cacb116100f25780637fa4cacb1461063457806381d12c58146106545780638752bd9d1461068857806391d14854146106a857806394985ddd146106c857600080fd5b80635b7baf64146105765780635d4bc0ce146105965780635fba3171146105cd5780636ecc20da146105ed5780637c903fc01461060057600080fd5b80632a596800116101bc57806336734e341161018057806336734e34146104bf5780633ddf078f146104df5780634239a50c146104f257806352c8c6d71461051257806353b7a59b1461055657600080fd5b80632a596800146103fe5780632f2ff15d14610432578063317f30591461045257806336568abe14610472578063365e36581461049257600080fd5b80630df71602116102035780630df71602146103105780631a0187f5146103325780631e6cd395146103805780631fe96857146103a0578063248a9ca3146103c057600080fd5b8063013805c51461023557806301ffc9a714610277578063039be558146102a7578063043a1c9a146102f0575b600080fd5b34801561024157600080fd5b5061025561025036600461493b565b610884565b604080519283526001600160a01b039091166020830152015b60405180910390f35b34801561028357600080fd5b5061029761029236600461495c565b6108c9565b604051901515815260200161026e565b3480156102b357600080fd5b506102db6102c23660046148f4565b6008602052600090815260409020805460019091015482565b6040805192835260208301919091520161026e565b3480156102fc57600080fd5b5061029761030b36600461482e565b610900565b34801561031c57600080fd5b5061033061032b3660046148f4565b610ac3565b005b34801561033e57600080fd5b5061036861034d3660046148f4565b600c602052600090815260409020546001600160a01b031681565b6040516001600160a01b03909116815260200161026e565b34801561038c57600080fd5b5061029761039b3660046148f4565b610cc7565b3480156103ac57600080fd5b506102976103bb3660046147f6565b610e9d565b3480156103cc57600080fd5b506103f06103db3660046148f4565b60009081526020819052604090206001015490565b60405190815260200161026e565b34801561040a57600080fd5b506102db6104193660046148f4565b6006602052600090815260409020805460019091015482565b34801561043e57600080fd5b5061033061044d36600461490c565b610f1b565b34801561045e57600080fd5b5061033061046d3660046148f4565b610f45565b34801561047e57600080fd5b5061033061048d36600461490c565b611164565b34801561049e57600080fd5b506104b26104ad3660046148f4565b6111e2565b60405161026e9190614d35565b3480156104cb57600080fd5b506103306104da36600461499c565b61126a565b6103306104ed366004614b04565b61161b565b3480156104fe57600080fd5b5061033061050d3660046148f4565b611e2b565b34801561051e57600080fd5b5061053261052d36600461490c565b611ff4565b6040805182518152602080840151908201529181015115159082015260600161026e565b34801561056257600080fd5b50600d54610368906001600160a01b031681565b34801561058257600080fd5b506103306105913660046148f4565b612089565b3480156105a257600080fd5b506105b66105b13660046148f4565b61232a565b60405161026e9b9a99989796959493929190614da8565b3480156105d957600080fd5b506103306105e83660046148f4565b6123a8565b6103306105fb3660046148f4565b61263b565b34801561060c57600080fd5b506103f07fde5ee446972f4e39ab62c03aa34b2096680a875c3fdb3eb2f947cbb93341c05881565b34801561064057600080fd5b5061033061064f3660046147f6565b61279c565b34801561066057600080fd5b506102db61066f3660046148f4565b6005602052600090815260409020805460019091015482565b34801561069457600080fd5b506103f06106a3366004614b32565b6127ca565b3480156106b457600080fd5b506102976106c336600461490c565b612d14565b3480156106d457600080fd5b506103306106e336600461493b565b612d3d565b3480156106f457600080fd5b506103f0600081565b34801561070957600080fd5b5061071d610718366004614859565b612dbf565b60405161026e929190614d8d565b34801561073757600080fd5b5061076a6107463660046148f4565b600b6020526000908152604090208054600182015460029092015490919060ff1683565b60408051938452602084019290925215159082015260600161026e565b34801561079357600080fd5b506103306107a2366004614acc565b6131b8565b3480156107b357600080fd5b506103306107c236600461490c565b61347c565b3480156107d357600080fd5b506103306107e2366004614a6f565b6134a1565b3480156107f357600080fd5b5061080761080236600461493b565b6136c3565b6040805193845260208401929092529082015260600161026e565b34801561082e57600080fd5b5061029761083d3660046148a0565b6136f9565b34801561084e57600080fd5b5061036861085d36600461493b565b61390d565b34801561086e57600080fd5b506103f0600080516020614fe983398151915281565b600960205281600052604060002081815481106108a057600080fd5b6000918252602090912060029091020180546001909101549092506001600160a01b0316905082565b60006001600160e01b03198216637965db0b60e01b14806108fa57506301ffc9a760e01b6001600160e01b03198316145b92915050565b600080600a838154811061092457634e487b7160e01b600052603260045260246000fd5b60009182526020909120604080516101808101909152600c909202018054829060ff16600681111561096657634e487b7160e01b600052602160045260246000fd5b600681111561098557634e487b7160e01b600052602160045260246000fd5b81526001820154602080830191909152600283015460408084019190915260038401546001600160a01b03908116606085015260048501546080850152600585015460a085015260068501541660c0840152600784015460e084015260088401546101008401526009840154610120840152600a84018054825181850281018501909352808352610140909401939192909190830182828015610a5157602002820191906000526020600020905b81546001600160a01b03168152600190910190602001808311610a33575b5050509183525050600b82015460209091019060ff166002811115610a8657634e487b7160e01b600052602160045260246000fd5b6002811115610aa557634e487b7160e01b600052602160045260246000fd5b90525060c001516001600160a01b0385811691161491505092915050565b60026001541415610aef5760405162461bcd60e51b8152600401610ae690614e6c565b60405180910390fd5b6002600155600080516020614fe9833981519152610b0c81613ab6565b6000600a8381548110610b2f57634e487b7160e01b600052603260045260246000fd5b6000918252602080832086845260089091526040909220600c90910290910191506001825460ff166006811115610b7657634e487b7160e01b600052602160045260246000fd5b14610bbc5760405162461bcd60e51b8152602060048201526016602482015275526166666c6520696e2077726f6e672073746174757360501b6044820152606401610ae6565b805460058301541015610c0b5760405162461bcd60e51b8152602060048201526017602482015276139bdd08195b9bdd59da08199d5b991cc81c985a5cd959604a1b6044820152606401610ae6565b816005015481600101541115610c635760405162461bcd60e51b815260206004820152601860248201527f446573697265642066756e6473206e6f742072616973656400000000000000006044820152606401610ae6565b815460ff191660041782556008820154610c7e908590613ac3565b50837ff2be214756d2fbc1e781d10809ddef33000009d805be55356bb348134ce21c688360050154604051610cb591815260200190565b60405180910390a25050600180555050565b600080600a8381548110610ceb57634e487b7160e01b600052603260045260246000fd5b60009182526020909120604080516101808101909152600c909202018054829060ff166006811115610d2d57634e487b7160e01b600052602160045260246000fd5b6006811115610d4c57634e487b7160e01b600052602160045260246000fd5b81526001820154602080830191909152600283015460408084019190915260038401546001600160a01b03908116606085015260048501546080850152600585015460a085015260068501541660c0840152600784015460e084015260088401546101008401526009840154610120840152600a84018054825181850281018501909352808352610140909401939192909190830182828015610e1857602002820191906000526020600020905b81546001600160a01b03168152600190910190602001808311610dfa575b5050509183525050600b82015460209091019060ff166002811115610e4d57634e487b7160e01b600052602160045260246000fd5b6002811115610e6c57634e487b7160e01b600052602160045260246000fd5b9052509050600181516006811115610e9457634e487b7160e01b600052602160045260246000fd5b14159392505050565b600e54604051630723eb0360e51b81526001600160a01b038381166004830152600092169063e47d60609060240160206040518083038186803b158015610ee357600080fd5b505afa158015610ef7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108fa91906148d4565b600082815260208190526040902060010154610f3681613ab6565b610f408383613c09565b505050565b60026001541415610f685760405162461bcd60e51b8152600401610ae690614e6c565b6002600155600080516020614fe9833981519152610f8581613ab6565b6000600a8381548110610fa857634e487b7160e01b600052603260045260246000fd5b60009182526020909120600c9091020190506006815460ff166006811115610fe057634e487b7160e01b600052602160045260246000fd5b1461101c5760405162461bcd60e51b815260206004820152600c60248201526b57726f6e672073746174757360a01b6044820152606401610ae6565b600981015461102e9062278d00614ea3565b421161106d5760405162461bcd60e51b815260206004820152600e60248201526d31b630b4b6903a37b79039b7b7b760911b6044820152606401610ae6565b805460ff19166003178155600d5460058201546040516000926001600160a01b031691908381818185875af1925050503d80600081146110c9576040519150601f19603f3d011682016040523d82523d6000602084013e6110ce565b606091505b50509050806111155760405162461bcd60e51b81526020600482015260136024820152724661696c2073656e642045746820746f204d5760681b6044820152606401610ae6565b837fcdef6558dae40f2699846eedf449462daab85b1224ad7f077569ba91aaa94925836005015460405161114b91815260200190565b60405180910390a2506000600590910155505060018055565b6001600160a01b03811633146111d45760405162461bcd60e51b815260206004820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201526e103937b632b9903337b91039b2b63360891b6064820152608401610ae6565b6111de8282613c8d565b5050565b606060096000838152602001908152602001600020805480602002602001604051908101604052809291908181526020016000905b8282101561125f5760008481526020908190206040805180820190915260028502909101805482526001908101546001600160a01b0316828401529083529092019101611217565b505050509050919050565b6002600154141561128d5760405162461bcd60e51b8152600401610ae690614e6c565b6002600155600080516020614fe98339815191526112aa81613ab6565b6001600a84815481106112cd57634e487b7160e01b600052603260045260246000fd5b60009182526020909120600c909102015460ff16600681111561130057634e487b7160e01b600052602160045260246000fd5b146113495760405162461bcd60e51b8152602060048201526019602482015278149859999b19481a5cc81b9bdd081a5b881858d8d95c1d1959603a1b6044820152606401610ae6565b81516000805b8281101561152d57600085828151811061137957634e487b7160e01b600052603260045260246000fd5b60200260200101519050600a87815481106113a457634e487b7160e01b600052603260045260246000fd5b90600052602060002090600c020160010154600b6000838a6040516020016113e19291906001600160a01b03929092168252602082015260400190565b6040516020818303038152906040528051906020012081526020019081526020016000206000015460016114159190614ea3565b1161151a576000604051806040016040528084600a8b8154811061144957634e487b7160e01b600052603260045260246000fd5b90600052602060002090600c0201600801546114659190614ea3565b611470906001614ea3565b81526001600160a01b03848116602092830181905260008c8152600984526040808220805460018082018355918452868420885160029092020190815587870151910180546001600160a01b03191691909516179093558251808501929092528183018d9052825180830384018152606090920183528151918401919091208152600b909252812080549293509061150783614f4c565b91905055508361151690614f4c565b9350505b508061152581614f4c565b91505061134f565b5080600a868154811061155057634e487b7160e01b600052603260045260246000fd5b90600052602060002090600c02016008015461156c9190614ea3565b600a868154811061158d57634e487b7160e01b600052603260045260246000fd5b90600052602060002090600c020160080181905550847f4da4f5fab0816c65315b6f5d15f879f96b98661133d7b3787788f291367604fb8584600a89815481106115e757634e487b7160e01b600052603260045260246000fd5b90600052602060002090600c02016008015460405161160893929190614cdf565b60405180910390a2505060018055505050565b6002600154141561163e5760405162461bcd60e51b8152600401610ae690614e6c565b60026001819055506000600a858154811061166957634e487b7160e01b600052603260045260246000fd5b600091825260209091206006600c90920201908101549091506001600160a01b03163314156116ce5760405162461bcd60e51b815260206004820152601160248201527053656c6c65722063616e6e6f742062757960781b6044820152606401610ae6565b6002600b82015460ff1660028111156116f757634e487b7160e01b600052602160045260246000fd5b148061172957506000600b82015460ff16600281111561172757634e487b7160e01b600052602160045260246000fd5b145b61176e5760405162461bcd60e51b8152602060048201526016602482015275115b9d1c9e481d1e5c19481b9bdd08185b1b1bddd95960521b6044820152606401610ae6565b600e54604051630723eb0360e51b81523360048201526001600160a01b039091169063e47d60609060240160206040518083038186803b1580156117b157600080fd5b505afa1580156117c5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117e991906148d4565b156118255760405162461bcd60e51b815260206004820152600c60248201526b426c61636b6c69737465642160a01b6044820152606401610ae6565b600a81015415611a99576000805b600a8301548110156118a257846001600160a01b031683600a01828154811061186c57634e487b7160e01b600052603260045260246000fd5b6000918252602090912001546001600160a01b0316141561189057600191506118a2565b8061189a81614f4c565b915050611833565b506001811515146118f55760405162461bcd60e51b815260206004820152601a60248201527f4e6f7420696e20726571756972656420636f6c6c656374696f6e0000000000006044820152606401610ae6565b6040516331a9108f60e11b815260048101849052849033906001600160a01b03831690636352211e9060240160206040518083038186803b15801561193957600080fd5b505afa15801561194d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906119719190614812565b6001600160a01b0316146119c25760405162461bcd60e51b8152602060048201526018602482015277139bdd081d1a19481bdddb995c881bd9881d1bdad95b925960421b6044820152606401610ae6565b604080516001600160a01b03871660208201529081018890526060810185905260009060800160408051601f1981840301815291815281516020928301206000818152600c9093529120549091506001600160a01b0316611a40576000818152600c6020526040902080546001600160a01b03191633179055611a95565b6000818152600c60205260409020546001600160a01b03163314611a955760405162461bcd60e51b815260206004820152600c60248201526b1d1bdad95b9259081d5cd95960a21b6044820152606401610ae6565b5050505b33611adb5760405162461bcd60e51b81526020600482015260126024820152711b5cd9cb9cd95b99195c881a5cc81b9d5b1b60721b6044820152606401610ae6565b60008411611b1a5760405162461bcd60e51b815260206004820152600c60248201526b0686f774d616e7920697320360a41b6044820152606401610ae6565b6001815460ff166006811115611b4057634e487b7160e01b600052602160045260246000fd5b14611b895760405162461bcd60e51b8152602060048201526019602482015278149859999b19481a5cc81b9bdd081a5b881858d8d95c1d1959603a1b6044820152606401610ae6565b6000611b958686613cf2565b90506000816020015111611bde5760405162461bcd60e51b815260206004820152601060248201526f1a59081b9bdd081cdd5c1c1bdc9d195960821b6044820152606401610ae6565b80604001513414611c3d5760405162461bcd60e51b8152602060048201526024808201527f6d73672e76616c7565206d75737420626520657175616c20746f2074686520706044820152637269636560e01b6064820152608401610ae6565b6040805133602082015290810187905260009060600160408051601f1981840301815291815281516020928301206001860154858401516000838152600b9095529290932054909350611c909190614ea3565b1115611cde5760405162461bcd60e51b815260206004820152601760248201527f426f7567687420746f6f206d616e7920656e74726965730000000000000000006044820152606401610ae6565b6000604051806040016040528084602001518660080154611cff9190614ea3565b81523360209182015260008a81526009825260408120805460018082018355918352838320855160029092020190815592840151920180546001600160a01b0319166001600160a01b03909316929092179091556005860180549293503492909190611d6c908490614ea3565b909155505060208301516008850154611d859190614ea3565b60088501556020808401516000848152600b90925260408220805491929091611daf908490614ea3565b90915550506000828152600b602052604081206001018054349290611dd5908490614ea3565b90915550506008840154604080519182526020820189905233918a917fd746af8dc82f9bed98cea0fe0264eb1c3d2e5f7bcc77fc5efb429c79df40788791015b60405180910390a3505060018055505050505050565b6000600a8281548110611e4e57634e487b7160e01b600052603260045260246000fd5b600091825260208083208584526008825260409384902084518086019095528054855260010154918401919091526006600c90920201908101549092506001600160a01b03163314611ed35760405162461bcd60e51b815260206004820152600e60248201526d2737ba103a34329039b2b63632b960911b6044820152606401610ae6565b6001825460ff166006811115611ef957634e487b7160e01b600052602160045260246000fd5b14611f465760405162461bcd60e51b815260206004820152601d60248201527f526166666c65206e6f7420696e206163636570746564207374617475730000006044820152606401610ae6565b805160058301541015611f955760405162461bcd60e51b8152602060048201526017602482015276139bdd08195b9bdd59da08199d5b991cc81c985a5cd959604a1b6044820152606401610ae6565b815460ff191660021782556008820154611fb0908490613ac3565b50827f66859952a354270d9bd258f064bfb08464306538d8a01f12e1b9c6be7def11058360050154604051611fe791815260200190565b60405180910390a2505050565b61201a604051806060016040528060008152602001600081526020016000151581525090565b50604080516001600160a01b039290921660208084019190915282820193909352805180830382018152606083018083528151918501919091206000908152600b9094529281902060c0830190915280548352600181015460808301526002015460ff16151560a09091015290565b600260015414156120ac5760405162461bcd60e51b8152600401610ae690614e6c565b60026001819055506000600a82815481106120d757634e487b7160e01b600052603260045260246000fd5b60009182526020909120600c9091020190506006815460ff16600681111561210f57634e487b7160e01b600052602160045260246000fd5b1461214b5760405162461bcd60e51b815260206004820152600c60248201526b77726f6e672073746174757360a01b6044820152606401610ae6565b600981015461215d9062278d00614ea3565b4211156121a15760405162461bcd60e51b815260206004820152601260248201527118db185a5b481d1a5b5948195e1c1a5c995960721b6044820152606401610ae6565b6040805133602080830191909152818301859052825180830384018152606090920183528151918101919091206000908152600b90915220600281015460ff16156122215760405162461bcd60e51b815260206004820152601060248201526f185b1c9958591e481c99599d5b99195960821b6044820152606401610ae6565b806001015482600501546122359190614eee565b600583015560028101805460ff1916600190811790915581015460405160009133918381818185875af1925050503d806000811461228f576040519150601f19603f3d011682016040523d82523d6000602084013e612294565b606091505b50509050806122d85760405162461bcd60e51b815260206004820152601060248201526f11985a5b081cd95b99081c99599d5b9960821b6044820152606401610ae6565b336001600160a01b0316847ffe438001a6dd8298a7672e341088143b150c2227f220b57280a002f5357612b7846001015460405161231891815260200190565b60405180910390a35050600180555050565b600a818154811061233a57600080fd5b60009182526020909120600c9091020180546001820154600283015460038401546004850154600586015460068701546007880154600889015460098a0154600b909a015460ff998a169b50979996986001600160a01b03968716989597949690931694919390929091168b565b600260015414156123cb5760405162461bcd60e51b8152600401610ae690614e6c565b6002600155600080516020614fe98339815191526123e881613ab6565b6000600a838154811061240b57634e487b7160e01b600052603260045260246000fd5b60009182526020909120600c9091020190506005815460ff16600681111561244357634e487b7160e01b600052602160045260246000fd5b1415801561247557506003815460ff16600681111561247257634e487b7160e01b600052602160045260246000fd5b14155b80156124a557506002815460ff1660068111156124a257634e487b7160e01b600052602160045260246000fd5b14155b80156124d557506004815460ff1660068111156124d257634e487b7160e01b600052602160045260246000fd5b14155b801561250557506006815460ff16600681111561250257634e487b7160e01b600052602160045260246000fd5b14155b6125405760405162461bcd60e51b815260206004820152600c60248201526b57726f6e672073746174757360a01b6044820152606401610ae6565b6001815460ff16600681111561256657634e487b7160e01b600052602160045260246000fd5b14156125e757600681015460028201546040516000926001600160a01b031691908381818185875af1925050503d80600081146125bf576040519150601f19603f3d011682016040523d82523d6000602084013e6125c4565b606091505b50509050806125e55760405162461bcd60e51b8152600401610ae690614e3e565b505b805460ff19166006178155426009820155600581015460405190815283907fd512a34b0f0618078770fcd85d974df1ab46a7882e8b3d45aa91764f4961aed29060200160405180910390a250506001805550565b6002600154141561265e5760405162461bcd60e51b8152600401610ae690614e6c565b60026001819055506000600a828154811061268957634e487b7160e01b600052603260045260246000fd5b600091825260208220600c909102019150815460ff1660068111156126be57634e487b7160e01b600052602160045260246000fd5b146127005760405162461bcd60e51b8152602060048201526012602482015271149859999b19481b9bdd0810d4915055115160721b6044820152606401610ae6565b348160020154146127465760405162461bcd60e51b815260206004820152601060248201526f141c9a5e99481b9bdd081cdd185ad95960821b6044820152606401610ae6565b805460ff19166001178155600681018054336001600160a01b0319909116811790915560405183907f8bb509eedfd1c4847b0a8a2b4493cf2ebb9970dc367e477cd2a8523e212dc1db90600090a3505060018055565b60006127a781613ab6565b50600d80546001600160a01b0319166001600160a01b0392909216919091179055565b6000600080516020614fe98339815191526127e481613ab6565b60008b116128265760405162461bcd60e51b815260206004820152600f60248201526e06d6178456e7472696573206973203608c1b6044820152606401610ae6565b60008a116128635760405162461bcd60e51b815260206004820152600a60248201526905072697a6520697320360b41b6044820152606401610ae6565b6113888611156128ab5760405162461bcd60e51b81526020600482015260136024820152720c6dedadad2e6e6d2dedc40e8dede40d0d2ced606b1b6044820152606401610ae6565b604080516101808101909152600090808281526020018d81526020018c815260200160006001600160a01b031681526020016000815260200160008152602001336001600160a01b03168152602001888152602001600081526020016000815260200187878080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525050509082525060200185600281111561296757634e487b7160e01b600052602160045260246000fd5b9052600a8054600181810183556000929092528251600c9091027fc65a7bb8d6351c1cf70c95a316cc6a92839c986682d98bc35f958f4883f9d2a801805493945084939092839160ff1916908360068111156129d357634e487b7160e01b600052602160045260246000fd5b021790555060208281015160018301556040830151600283015560608301516003830180546001600160a01b039283166001600160a01b0319918216179091556080850151600485015560a0850151600585015560c085015160068501805491909316911617905560e08301516007830155610100830151600883015561012083015160098301556101408301518051612a7392600a8501920190614713565b50610160820151600b8201805460ff19166001836002811115612aa657634e487b7160e01b600052602160045260246000fd5b0217905550505087612ae65760405162461bcd60e51b81526020600482015260096024820152684e6f2070726963657360b81b6044820152606401610ae6565b60005b88811015612c735760008a8a83818110612b1357634e487b7160e01b600052603260045260246000fd5b9050606002016020013511612b5c5760405162461bcd60e51b815260206004820152600f60248201526e06e756d456e7472696573206973203608c1b6044820152606401610ae6565b600060405180606001604052808c8c85818110612b8957634e487b7160e01b600052603260045260246000fd5b9050606002016000013581526020018c8c85818110612bb857634e487b7160e01b600052603260045260246000fd5b9050606002016020013581526020018c8c85818110612be757634e487b7160e01b600052603260045260246000fd5b90506060020160400135815250905080600760006001600a80549050612c0d9190614eee565b81526020019081526020016000208360058110612c3a57634e487b7160e01b600052603260045260246000fd5b60030201600082015181600001556020820151816001015560408201518160020155905050508080612c6b90614f4c565b915050612ae9565b5060405180604001604052808b81526020018e815250600860006001600a80549050612c9f9190614eee565b815260208082019290925260400160002082518155910151600191820155600a548c91612ccb91614eee565b6040517ff6f5afeb49bc62176d1efaa06a1753999cc29bf378f1004ea916f37f41d7638a90600090a3600a54612d0390600190614eee565b9d9c50505050505050505050505050565b6000918252602082815260408084206001600160a01b0393909316845291905290205460ff1690565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614612db55760405162461bcd60e51b815260206004820152601f60248201527f4f6e6c7920565246436f6f7264696e61746f722063616e2066756c66696c6c006044820152606401610ae6565b6111de8282613df7565b600060606000600a8681548110612de657634e487b7160e01b600052603260045260246000fd5b60009182526020909120604080516101808101909152600c909202018054829060ff166006811115612e2857634e487b7160e01b600052602160045260246000fd5b6006811115612e4757634e487b7160e01b600052602160045260246000fd5b81526001820154602080830191909152600283015460408084019190915260038401546001600160a01b03908116606085015260048501546080850152600585015460a085015260068501541660c0840152600784015460e084015260088401546101008401526009840154610120840152600a84018054825181850281018501909352808352610140909401939192909190830182828015612f1357602002820191906000526020600020905b81546001600160a01b03168152600190910190602001808311612ef5575b5050509183525050600b82015460209091019060ff166002811115612f4857634e487b7160e01b600052602160045260246000fd5b6002811115612f6757634e487b7160e01b600052602160045260246000fd5b9052506101408101515190915015613199576000805b82610140015151811015612fec57866001600160a01b03168361014001518281518110612fba57634e487b7160e01b600052603260045260246000fd5b60200260200101516001600160a01b03161415612fda5760019150612fec565b80612fe481614f4c565b915050612f7d565b50806130355760006040518060400160405280601a81526020017f4e6f7420696e20726571756972656420636f6c6c656374696f6e0000000000008152509350935050506131af565b6040516331a9108f60e11b81526004810186905286906001600160a01b038a81169190831690636352211e9060240160206040518083038186803b15801561307c57600080fd5b505afa158015613090573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906130b49190614812565b6001600160a01b03161461310157600060405180604001604052806018815260200177139bdd081d1a19481bdddb995c881bd9881d1bdad95b925960421b815250945094505050506131af565b604080516001600160a01b03891660208201529081018990526060810187905260009060800160408051808303601f1901815291815281516020928301206000818152600c9093529120549091506001600160a01b038b81169116146131955760006040518060400160405280600c81526020016b1d1bdad95b9259081d5cd95960a21b81525095509550505050506131af565b5050505b5050604080516020810190915260008152600191505b94509492505050565b7fde5ee446972f4e39ab62c03aa34b2096680a875c3fdb3eb2f947cbb93341c0586131e281613ab6565b600260015414156132055760405162461bcd60e51b8152600401610ae690614e6c565b6002600155604080516001600160a01b03841660208201529081018590526000906060016040516020818303038152906040528051906020012090506000600a868154811061326457634e487b7160e01b600052603260045260246000fd5b60009182526020909120600c9091020190506001600b82015460ff16600281111561329f57634e487b7160e01b600052602160045260246000fd5b14806132d157506002600b82015460ff1660028111156132cf57634e487b7160e01b600052602160045260246000fd5b145b6133165760405162461bcd60e51b8152602060048201526016602482015275115b9d1c9e481d1e5c19481b9bdd08185b1b1bddd95960521b6044820152606401610ae6565b600060405180604001604052808784600801546133339190614ea3565b81526001600160a01b0387811660209283015260008a81526009835260408120805460018082018355918352848320865160029092020190815593850151930180546001600160a01b0319169390921692909217905560088401805492935088929091906133a2908490614ea3565b90915550506000838152600b6020526040812080548892906133c5908490614ea3565b909155505060408051600180825281830190925260009160208083019080368337019050509050858160008151811061340e57634e487b7160e01b600052603260045260246000fd5b60200260200101906001600160a01b031690816001600160a01b031681525050877f4da4f5fab0816c65315b6f5d15f879f96b98661133d7b3787788f291367604fb8289866008015460405161346693929190614cdf565b60405180910390a2505060018055505050505050565b60008281526020819052604090206001015461349781613ab6565b610f408383613c8d565b600080516020614fe98339815191526134b981613ab6565b6000805b848110156136775760008781526009602052604081208787848181106134f357634e487b7160e01b600052603260045260246000fd5b905060200201358154811061351857634e487b7160e01b600052603260045260246000fd5b6000918252602090912060029091020160018101549091506001600160a01b0386811691161461358a5760405162461bcd60e51b815260206004820152601e60248201527f456e74727920646964206e6f742062656c6f6e6720746f20706c6179657200006044820152606401610ae6565b6001810180546001600160a01b031916905560008787848181106135be57634e487b7160e01b600052603260045260246000fd5b90506020020135600014156135d557506000613649565b6000898152600960205260409020600189898681811061360557634e487b7160e01b600052603260045260246000fd5b905060200201356136169190614eee565b8154811061363457634e487b7160e01b600052603260045260246000fd5b90600052602060002090600202016000015490505b8154613656908290614eee565b6136609085614ea3565b93505050808061366f90614f4c565b9150506134bd565b50604080518281526001600160a01b038516602082015287917f2cca80c1af5abb202a642a502875436822768d733462843a7c3a902b0fad99d0910160405180910390a2505050505050565b600760205281600052604060002081600581106136df57600080fd5b600302018054600182015460029092015490935090915083565b600080600a848154811061371d57634e487b7160e01b600052603260045260246000fd5b60009182526020909120604080516101808101909152600c909202018054829060ff16600681111561375f57634e487b7160e01b600052602160045260246000fd5b600681111561377e57634e487b7160e01b600052602160045260246000fd5b81526001820154602080830191909152600283015460408084019190915260038401546001600160a01b03908116606085015260048501546080850152600585015460a085015260068501541660c0840152600784015460e084015260088401546101008401526009840154610120840152600a8401805482518185028101850190935280835261014090940193919290919083018282801561384a57602002820191906000526020600020905b81546001600160a01b0316815260019091019060200180831161382c575b5050509183525050600b82015460209091019060ff16600281111561387f57634e487b7160e01b600052602160045260246000fd5b600281111561389e57634e487b7160e01b600052602160045260246000fd5b905250604080516001600160a01b0388166020820152908101869052909150600090606001604051602081830303815290604052805190602001209050816020015184600b6000848152602001908152602001600020600001546139029190614ea3565b119695505050505050565b600082815260096020526040812081906139279084613eb4565b6000858152600960205260408120805492935090918390811061395a57634e487b7160e01b600052603260045260246000fd5b60009182526020909120600160029092020101546001600160a01b0316905080156139885791506108fa9050565b6000825b811580156139e2575060008781526009602052604081208054839081106139c357634e487b7160e01b600052603260045260246000fd5b60009182526020909120600160029092020101546001600160a01b0316145b15613a195780613a0e57600087815260096020526040902054613a0790600190614eee565b905061398c565b613a07600182614eee565b8115613a5f5760405162461bcd60e51b8152602060048201526015602482015274105b1b081d5cd95c9cc8189b1858dadb1a5cdd1959605a1b6044820152606401610ae6565b6000878152600960205260409020805482908110613a8d57634e487b7160e01b600052603260045260246000fd5b60009182526020909120600160029092020101546001600160a01b031694506108fa9350505050565b613ac08133613fa1565b50565b600480546040516370a0823160e01b815230928101929092526000917f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906370a082319060240160206040518083038186803b158015613b2b57600080fd5b505afa158015613b3f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613b639190614984565b1015613bc55760405162461bcd60e51b815260206004820152602b60248201527f4e6f7420656e6f756768204c494e4b202d2066696c6c20636f6e74726163742060448201526a1dda5d1a0819985d58d95d60aa1b6064820152608401610ae6565b6000613bd5600354600454614005565b6040805180820182529586526020808701958652600083815260069091522094518555925160019094019390935550919050565b613c138282612d14565b6111de576000828152602081815260408083206001600160a01b03851684529091529020805460ff19166001179055613c493390565b6001600160a01b0316816001600160a01b0316837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b613c978282612d14565b156111de576000828152602081815260408083206001600160a01b0385168085529252808320805460ff1916905551339285917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a45050565b613d1660405180606001604052806000815260200160008152602001600081525090565b60005b6005811015613dd057600084815260076020526040902083908260058110613d5157634e487b7160e01b600052603260045260246000fd5b60030201541415613dbe5760008481526007602052604090208160058110613d8957634e487b7160e01b600052603260045260246000fd5b6003020160405180606001604052908160008201548152602001600182015481526020016002820154815250509150506108fa565b80613dc881614f4c565b915050613d19565b50604051806060016040528060008152602001600081526020016000815250905092915050565b6000828152600660209081526040808320815180830190925280548252600101549181018290529190613e2a9084614f67565b613e35906001614ea3565b60408051808201825285815260208082018481528651600090815260058352849020835181559051600190910155855183518881529182018590529394509092917f7c40e661b8212d0c4f60ac6e6ebed99c28680c7b3ede5b82f3b0254543f62fca910160405180910390a28251613ead9083614198565b5050505050565b8154600090613ec5575060006108fa565b82546000905b80821015613f36576000613edf838361450f565b905084868281548110613f0257634e487b7160e01b600052603260045260246000fd5b9060005260206000209060020201600001541115613f2257809150613f30565b613f2d816001614ea3565b92505b50613ecb565b600082118015613f8057508385613f4e600185614eee565b81548110613f6c57634e487b7160e01b600052603260045260246000fd5b906000526020600020906002020160000154145b15613f9957613f90600183614eee565b925050506108fa565b5090506108fa565b613fab8282612d14565b6111de57613fc3816001600160a01b03166014614531565b613fce836020614531565b604051602001613fdf929190614c3a565b60408051601f198184030181529082905262461bcd60e51b8252610ae691600401614e2b565b60007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316634000aea07f000000000000000000000000000000000000000000000000000000000000000084866000604051602001614075929190918252602082015260400190565b6040516020818303038152906040526040518463ffffffff1660e01b81526004016140a293929190614caf565b602060405180830381600087803b1580156140bc57600080fd5b505af11580156140d0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906140f491906148d4565b50600083815260026020818152604080842054815180840189905280830186905230606082015260808082018390528351808303909101815260a090910190925281519183019190912093879052919052614150906001614ea3565b6000858152600260205260409020556141908482604080516020808201949094528082019290925280518083038201815260609092019052805191012090565b949350505050565b600260015414156141bb5760405162461bcd60e51b8152600401610ae690614e6c565b60026001819055506000600a83815481106141e657634e487b7160e01b600052603260045260246000fd5b60009182526020909120600c9091020190506002815460ff16600681111561421e57634e487b7160e01b600052602160045260246000fd5b148061424d57506004815460ff16600681111561424b57634e487b7160e01b600052602160045260246000fd5b145b6142925760405162461bcd60e51b8152602060048201526016602482015275526166666c6520696e2077726f6e672073746174757360501b6044820152606401610ae6565b600481018290556142a3838361390d565b6003820180546001600160a01b03929092166001600160a01b031990921682179055815460ff19166005178255600282015460405160009291908381818185875af1925050503d8060008114614315576040519150601f19603f3d011682016040523d82523d6000602084013e61431a565b606091505b505090508061433b5760405162461bcd60e51b8152600401610ae690614e3e565b6000612710836007015484600501546143549190614ecf565b61435e9190614ebb565b905060008184600501546143729190614eee565b60068501546040519192506000916001600160a01b039091169083908381818185875af1925050503d80600081146143c6576040519150601f19603f3d011682016040523d82523d6000602084013e6143cb565b606091505b50509050806143ec5760405162461bcd60e51b8152600401610ae690614e3e565b600d546040516000916001600160a01b03169085908381818185875af1925050503d8060008114614439576040519150601f19603f3d011682016040523d82523d6000602084013e61443e565b606091505b50509050806144875760405162461bcd60e51b81526020600482015260156024820152744661696c65642073656e642045746820746f204d5760581b6044820152606401610ae6565b877f7378e11c2b0ec7514bbf7ba369980eedcba0bca03e116dc9e7138f7748e211d6856040516144b991815260200190565b60405180910390a26003860154600587015460408051918252602082018a90526001600160a01b03909216918a917fe0b2a72a0644b093aac275024c05c7c28851a0b572557a32241d13634a0f3e089101611e15565b600061451e6002848418614ebb565b61452a90848416614ea3565b9392505050565b60606000614540836002614ecf565b61454b906002614ea3565b67ffffffffffffffff81111561457157634e487b7160e01b600052604160045260246000fd5b6040519080825280601f01601f19166020018201604052801561459b576020820181803683370190505b509050600360fc1b816000815181106145c457634e487b7160e01b600052603260045260246000fd5b60200101906001600160f81b031916908160001a905350600f60fb1b8160018151811061460157634e487b7160e01b600052603260045260246000fd5b60200101906001600160f81b031916908160001a9053506000614625846002614ecf565b614630906001614ea3565b90505b60018111156146c4576f181899199a1a9b1b9c1cb0b131b232b360811b85600f166010811061467257634e487b7160e01b600052603260045260246000fd5b1a60f81b82828151811061469657634e487b7160e01b600052603260045260246000fd5b60200101906001600160f81b031916908160001a90535060049490941c936146bd81614f35565b9050614633565b50831561452a5760405162461bcd60e51b815260206004820181905260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e746044820152606401610ae6565b828054828255906000526020600020908101928215614768579160200282015b8281111561476857825182546001600160a01b0319166001600160a01b03909116178255602090920191600190910190614733565b50614774929150614778565b5090565b5b808211156147745760008155600101614779565b803561479881614fd3565b919050565b60008083601f8401126147ae578182fd5b50813567ffffffffffffffff8111156147c5578182fd5b6020830191508360208260051b85010111156147e057600080fd5b9250929050565b80356003811061479857600080fd5b600060208284031215614807578081fd5b813561452a81614fd3565b600060208284031215614823578081fd5b815161452a81614fd3565b60008060408385031215614840578081fd5b823561484b81614fd3565b946020939093013593505050565b6000806000806080858703121561486e578182fd5b843561487981614fd3565b935060208501359250604085013561489081614fd3565b9396929550929360600135925050565b6000806000606084860312156148b4578283fd5b83356148bf81614fd3565b95602085013595506040909401359392505050565b6000602082840312156148e5578081fd5b8151801515811461452a578182fd5b600060208284031215614905578081fd5b5035919050565b6000806040838503121561491e578182fd5b82359150602083013561493081614fd3565b809150509250929050565b6000806040838503121561494d578182fd5b50508035926020909101359150565b60006020828403121561496d578081fd5b81356001600160e01b03198116811461452a578182fd5b600060208284031215614995578081fd5b5051919050565b600080604083850312156149ae578182fd5b8235915060208084013567ffffffffffffffff808211156149cd578384fd5b818601915086601f8301126149e0578384fd5b8135818111156149f2576149f2614fbd565b8060051b604051601f19603f83011681018181108582111715614a1757614a17614fbd565b604052828152858101935084860182860187018b1015614a35578788fd5b8795505b83861015614a5e57614a4a8161478d565b855260019590950194938601938601614a39565b508096505050505050509250929050565b60008060008060608587031215614a84578182fd5b84359350602085013567ffffffffffffffff811115614aa1578283fd5b614aad8782880161479d565b9094509250506040850135614ac181614fd3565b939692955090935050565b600080600060608486031215614ae0578081fd5b83359250602084013591506040840135614af981614fd3565b809150509250925092565b60008060008060808587031215614b19578182fd5b8435935060208501359250604085013561489081614fd3565b6000806000806000806000806000806101008b8d031215614b51578788fd5b8a35995060208b0135985060408b0135975060608b0135965060808b013567ffffffffffffffff80821115614b84578788fd5b818d0191508d601f830112614b97578788fd5b813581811115614ba5578889fd5b8e6020606083028501011115614bb9578889fd5b6020830198508097505060a08d0135955060c08d0135915080821115614bdd578485fd5b50614bea8d828e0161479d565b9094509250614bfd905060e08c016147e7565b90509295989b9194979a5092959850565b60008151808452614c26816020860160208601614f05565b601f01601f19169290920160200192915050565b7f416363657373436f6e74726f6c3a206163636f756e7420000000000000000000815260008351614c72816017850160208801614f05565b7001034b99036b4b9b9b4b733903937b6329607d1b6017918401918201528351614ca3816028840160208801614f05565b01602801949350505050565b60018060a01b0384168152826020820152606060408201526000614cd66060830184614c0e565b95945050505050565b606080825284519082018190526000906020906080840190828801845b82811015614d215781516001600160a01b031684529284019290840190600101614cfc565b505050908301949094525060400152919050565b602080825282518282018190526000919060409081850190868401855b82811015614d80578151805185528601516001600160a01b0316868501529284019290850190600101614d52565b5091979650505050505050565b82151581526040602082015260006141906040830184614c0e565b610160810160078d10614dbd57614dbd614fa7565b8c82528b60208301528a604083015260018060a01b03808b1660608401528960808401528860a084015280881660c0840152508560e0830152846101008301528361012083015260038310614e1457614e14614fa7565b826101408301529c9b505050505050505050505050565b60208152600061452a6020830184614c0e565b6020808252601490820152732330b4b632b2103a379039b2b7321022ba3432b960611b604082015260600190565b6020808252601f908201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00604082015260600190565b60008219821115614eb657614eb6614f7b565b500190565b600082614eca57614eca614f91565b500490565b6000816000190483118215151615614ee957614ee9614f7b565b500290565b600082821015614f0057614f00614f7b565b500390565b60005b83811015614f20578181015183820152602001614f08565b83811115614f2f576000848401525b50505050565b600081614f4457614f44614f7b565b506000190190565b6000600019821415614f6057614f60614f7b565b5060010190565b600082614f7657614f76614f91565b500690565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052601260045260246000fd5b634e487b7160e01b600052602160045260246000fd5b634e487b7160e01b600052604160045260246000fd5b6001600160a01b0381168114613ac057600080fdfe523a704056dcd17bcf83bed8b68c59416dac1119be77755efe3bde0a64e46e0ca26469706673582212209e8d2fbf52ca937a29e8344115855b614692a912217b2a69bae5b96d55b7520f64736f6c634300080400330000000000000000000000003be4bef162cd158887cfdca89a34fae107ab2c74000000000000000000000000f0d54349addcf704f77ae15b96510dea15cb7952000000000000000000000000514910771af9ca656af840dff83e8264ecf986caaa77729d3466ca35ae8d28b3bbac7cc36a5031efdc430821c02bc31a238af4450000000000000000000000000000000000000000000000000000000000000001
60c0604052600d80546001600160a01b03191673eda703919a528481f4f11423a728300dcabf441f1790553480156200003757600080fd5b50604051620052d3380380620052d38339810160408190526200005a91620001ee565b600180556001600160601b0319606085811b821660a05284901b16608052620000b87f523a704056dcd17bcf83bed8b68c59416dac1119be77755efe3bde0a64e46e0c7313503b622abc0bd30a7e9687057df6e8c42fb92862000121565b620000c560003362000121565b600382905560018115151415620000e857671bc16d674ec80000600455620000f5565b67016345785d8a00006004555b5050600e80546001600160a01b0319166001600160a01b039490941693909317909255506200025b9050565b6200012d828262000131565b5050565b6000828152602081815260408083206001600160a01b038516845290915290205460ff166200012d576000828152602081815260408083206001600160a01b03851684529091529020805460ff191660011790556200018d3390565b6001600160a01b0316816001600160a01b0316837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b80516001600160a01b0381168114620001e957600080fd5b919050565b600080600080600060a0868803121562000206578081fd5b6200021186620001d1565b94506200022160208701620001d1565b93506200023160408701620001d1565b925060608601519150608086015180151581146200024d578182fd5b809150509295509295909350565b60805160601c60a05160601c61503e6200029560003960008181612d480152614038015260008181613ae10152614009015261503e6000f3fe6080604052600436106102305760003560e01c80635b7baf641161012e578063a217fddf116100ab578063d649214c1161006f578063d649214c146107c7578063e2a6f547146107e7578063eb99038c14610822578063f369145514610842578063f5b541a61461086257600080fd5b8063a217fddf146106e8578063babdf60b146106fd578063baf029051461072b578063bce8340614610787578063d547741f146107a757600080fd5b80637fa4cacb116100f25780637fa4cacb1461063457806381d12c58146106545780638752bd9d1461068857806391d14854146106a857806394985ddd146106c857600080fd5b80635b7baf64146105765780635d4bc0ce146105965780635fba3171146105cd5780636ecc20da146105ed5780637c903fc01461060057600080fd5b80632a596800116101bc57806336734e341161018057806336734e34146104bf5780633ddf078f146104df5780634239a50c146104f257806352c8c6d71461051257806353b7a59b1461055657600080fd5b80632a596800146103fe5780632f2ff15d14610432578063317f30591461045257806336568abe14610472578063365e36581461049257600080fd5b80630df71602116102035780630df71602146103105780631a0187f5146103325780631e6cd395146103805780631fe96857146103a0578063248a9ca3146103c057600080fd5b8063013805c51461023557806301ffc9a714610277578063039be558146102a7578063043a1c9a146102f0575b600080fd5b34801561024157600080fd5b5061025561025036600461493b565b610884565b604080519283526001600160a01b039091166020830152015b60405180910390f35b34801561028357600080fd5b5061029761029236600461495c565b6108c9565b604051901515815260200161026e565b3480156102b357600080fd5b506102db6102c23660046148f4565b6008602052600090815260409020805460019091015482565b6040805192835260208301919091520161026e565b3480156102fc57600080fd5b5061029761030b36600461482e565b610900565b34801561031c57600080fd5b5061033061032b3660046148f4565b610ac3565b005b34801561033e57600080fd5b5061036861034d3660046148f4565b600c602052600090815260409020546001600160a01b031681565b6040516001600160a01b03909116815260200161026e565b34801561038c57600080fd5b5061029761039b3660046148f4565b610cc7565b3480156103ac57600080fd5b506102976103bb3660046147f6565b610e9d565b3480156103cc57600080fd5b506103f06103db3660046148f4565b60009081526020819052604090206001015490565b60405190815260200161026e565b34801561040a57600080fd5b506102db6104193660046148f4565b6006602052600090815260409020805460019091015482565b34801561043e57600080fd5b5061033061044d36600461490c565b610f1b565b34801561045e57600080fd5b5061033061046d3660046148f4565b610f45565b34801561047e57600080fd5b5061033061048d36600461490c565b611164565b34801561049e57600080fd5b506104b26104ad3660046148f4565b6111e2565b60405161026e9190614d35565b3480156104cb57600080fd5b506103306104da36600461499c565b61126a565b6103306104ed366004614b04565b61161b565b3480156104fe57600080fd5b5061033061050d3660046148f4565b611e2b565b34801561051e57600080fd5b5061053261052d36600461490c565b611ff4565b6040805182518152602080840151908201529181015115159082015260600161026e565b34801561056257600080fd5b50600d54610368906001600160a01b031681565b34801561058257600080fd5b506103306105913660046148f4565b612089565b3480156105a257600080fd5b506105b66105b13660046148f4565b61232a565b60405161026e9b9a99989796959493929190614da8565b3480156105d957600080fd5b506103306105e83660046148f4565b6123a8565b6103306105fb3660046148f4565b61263b565b34801561060c57600080fd5b506103f07fde5ee446972f4e39ab62c03aa34b2096680a875c3fdb3eb2f947cbb93341c05881565b34801561064057600080fd5b5061033061064f3660046147f6565b61279c565b34801561066057600080fd5b506102db61066f3660046148f4565b6005602052600090815260409020805460019091015482565b34801561069457600080fd5b506103f06106a3366004614b32565b6127ca565b3480156106b457600080fd5b506102976106c336600461490c565b612d14565b3480156106d457600080fd5b506103306106e336600461493b565b612d3d565b3480156106f457600080fd5b506103f0600081565b34801561070957600080fd5b5061071d610718366004614859565b612dbf565b60405161026e929190614d8d565b34801561073757600080fd5b5061076a6107463660046148f4565b600b6020526000908152604090208054600182015460029092015490919060ff1683565b60408051938452602084019290925215159082015260600161026e565b34801561079357600080fd5b506103306107a2366004614acc565b6131b8565b3480156107b357600080fd5b506103306107c236600461490c565b61347c565b3480156107d357600080fd5b506103306107e2366004614a6f565b6134a1565b3480156107f357600080fd5b5061080761080236600461493b565b6136c3565b6040805193845260208401929092529082015260600161026e565b34801561082e57600080fd5b5061029761083d3660046148a0565b6136f9565b34801561084e57600080fd5b5061036861085d36600461493b565b61390d565b34801561086e57600080fd5b506103f0600080516020614fe983398151915281565b600960205281600052604060002081815481106108a057600080fd5b6000918252602090912060029091020180546001909101549092506001600160a01b0316905082565b60006001600160e01b03198216637965db0b60e01b14806108fa57506301ffc9a760e01b6001600160e01b03198316145b92915050565b600080600a838154811061092457634e487b7160e01b600052603260045260246000fd5b60009182526020909120604080516101808101909152600c909202018054829060ff16600681111561096657634e487b7160e01b600052602160045260246000fd5b600681111561098557634e487b7160e01b600052602160045260246000fd5b81526001820154602080830191909152600283015460408084019190915260038401546001600160a01b03908116606085015260048501546080850152600585015460a085015260068501541660c0840152600784015460e084015260088401546101008401526009840154610120840152600a84018054825181850281018501909352808352610140909401939192909190830182828015610a5157602002820191906000526020600020905b81546001600160a01b03168152600190910190602001808311610a33575b5050509183525050600b82015460209091019060ff166002811115610a8657634e487b7160e01b600052602160045260246000fd5b6002811115610aa557634e487b7160e01b600052602160045260246000fd5b90525060c001516001600160a01b0385811691161491505092915050565b60026001541415610aef5760405162461bcd60e51b8152600401610ae690614e6c565b60405180910390fd5b6002600155600080516020614fe9833981519152610b0c81613ab6565b6000600a8381548110610b2f57634e487b7160e01b600052603260045260246000fd5b6000918252602080832086845260089091526040909220600c90910290910191506001825460ff166006811115610b7657634e487b7160e01b600052602160045260246000fd5b14610bbc5760405162461bcd60e51b8152602060048201526016602482015275526166666c6520696e2077726f6e672073746174757360501b6044820152606401610ae6565b805460058301541015610c0b5760405162461bcd60e51b8152602060048201526017602482015276139bdd08195b9bdd59da08199d5b991cc81c985a5cd959604a1b6044820152606401610ae6565b816005015481600101541115610c635760405162461bcd60e51b815260206004820152601860248201527f446573697265642066756e6473206e6f742072616973656400000000000000006044820152606401610ae6565b815460ff191660041782556008820154610c7e908590613ac3565b50837ff2be214756d2fbc1e781d10809ddef33000009d805be55356bb348134ce21c688360050154604051610cb591815260200190565b60405180910390a25050600180555050565b600080600a8381548110610ceb57634e487b7160e01b600052603260045260246000fd5b60009182526020909120604080516101808101909152600c909202018054829060ff166006811115610d2d57634e487b7160e01b600052602160045260246000fd5b6006811115610d4c57634e487b7160e01b600052602160045260246000fd5b81526001820154602080830191909152600283015460408084019190915260038401546001600160a01b03908116606085015260048501546080850152600585015460a085015260068501541660c0840152600784015460e084015260088401546101008401526009840154610120840152600a84018054825181850281018501909352808352610140909401939192909190830182828015610e1857602002820191906000526020600020905b81546001600160a01b03168152600190910190602001808311610dfa575b5050509183525050600b82015460209091019060ff166002811115610e4d57634e487b7160e01b600052602160045260246000fd5b6002811115610e6c57634e487b7160e01b600052602160045260246000fd5b9052509050600181516006811115610e9457634e487b7160e01b600052602160045260246000fd5b14159392505050565b600e54604051630723eb0360e51b81526001600160a01b038381166004830152600092169063e47d60609060240160206040518083038186803b158015610ee357600080fd5b505afa158015610ef7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108fa91906148d4565b600082815260208190526040902060010154610f3681613ab6565b610f408383613c09565b505050565b60026001541415610f685760405162461bcd60e51b8152600401610ae690614e6c565b6002600155600080516020614fe9833981519152610f8581613ab6565b6000600a8381548110610fa857634e487b7160e01b600052603260045260246000fd5b60009182526020909120600c9091020190506006815460ff166006811115610fe057634e487b7160e01b600052602160045260246000fd5b1461101c5760405162461bcd60e51b815260206004820152600c60248201526b57726f6e672073746174757360a01b6044820152606401610ae6565b600981015461102e9062278d00614ea3565b421161106d5760405162461bcd60e51b815260206004820152600e60248201526d31b630b4b6903a37b79039b7b7b760911b6044820152606401610ae6565b805460ff19166003178155600d5460058201546040516000926001600160a01b031691908381818185875af1925050503d80600081146110c9576040519150601f19603f3d011682016040523d82523d6000602084013e6110ce565b606091505b50509050806111155760405162461bcd60e51b81526020600482015260136024820152724661696c2073656e642045746820746f204d5760681b6044820152606401610ae6565b837fcdef6558dae40f2699846eedf449462daab85b1224ad7f077569ba91aaa94925836005015460405161114b91815260200190565b60405180910390a2506000600590910155505060018055565b6001600160a01b03811633146111d45760405162461bcd60e51b815260206004820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201526e103937b632b9903337b91039b2b63360891b6064820152608401610ae6565b6111de8282613c8d565b5050565b606060096000838152602001908152602001600020805480602002602001604051908101604052809291908181526020016000905b8282101561125f5760008481526020908190206040805180820190915260028502909101805482526001908101546001600160a01b0316828401529083529092019101611217565b505050509050919050565b6002600154141561128d5760405162461bcd60e51b8152600401610ae690614e6c565b6002600155600080516020614fe98339815191526112aa81613ab6565b6001600a84815481106112cd57634e487b7160e01b600052603260045260246000fd5b60009182526020909120600c909102015460ff16600681111561130057634e487b7160e01b600052602160045260246000fd5b146113495760405162461bcd60e51b8152602060048201526019602482015278149859999b19481a5cc81b9bdd081a5b881858d8d95c1d1959603a1b6044820152606401610ae6565b81516000805b8281101561152d57600085828151811061137957634e487b7160e01b600052603260045260246000fd5b60200260200101519050600a87815481106113a457634e487b7160e01b600052603260045260246000fd5b90600052602060002090600c020160010154600b6000838a6040516020016113e19291906001600160a01b03929092168252602082015260400190565b6040516020818303038152906040528051906020012081526020019081526020016000206000015460016114159190614ea3565b1161151a576000604051806040016040528084600a8b8154811061144957634e487b7160e01b600052603260045260246000fd5b90600052602060002090600c0201600801546114659190614ea3565b611470906001614ea3565b81526001600160a01b03848116602092830181905260008c8152600984526040808220805460018082018355918452868420885160029092020190815587870151910180546001600160a01b03191691909516179093558251808501929092528183018d9052825180830384018152606090920183528151918401919091208152600b909252812080549293509061150783614f4c565b91905055508361151690614f4c565b9350505b508061152581614f4c565b91505061134f565b5080600a868154811061155057634e487b7160e01b600052603260045260246000fd5b90600052602060002090600c02016008015461156c9190614ea3565b600a868154811061158d57634e487b7160e01b600052603260045260246000fd5b90600052602060002090600c020160080181905550847f4da4f5fab0816c65315b6f5d15f879f96b98661133d7b3787788f291367604fb8584600a89815481106115e757634e487b7160e01b600052603260045260246000fd5b90600052602060002090600c02016008015460405161160893929190614cdf565b60405180910390a2505060018055505050565b6002600154141561163e5760405162461bcd60e51b8152600401610ae690614e6c565b60026001819055506000600a858154811061166957634e487b7160e01b600052603260045260246000fd5b600091825260209091206006600c90920201908101549091506001600160a01b03163314156116ce5760405162461bcd60e51b815260206004820152601160248201527053656c6c65722063616e6e6f742062757960781b6044820152606401610ae6565b6002600b82015460ff1660028111156116f757634e487b7160e01b600052602160045260246000fd5b148061172957506000600b82015460ff16600281111561172757634e487b7160e01b600052602160045260246000fd5b145b61176e5760405162461bcd60e51b8152602060048201526016602482015275115b9d1c9e481d1e5c19481b9bdd08185b1b1bddd95960521b6044820152606401610ae6565b600e54604051630723eb0360e51b81523360048201526001600160a01b039091169063e47d60609060240160206040518083038186803b1580156117b157600080fd5b505afa1580156117c5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117e991906148d4565b156118255760405162461bcd60e51b815260206004820152600c60248201526b426c61636b6c69737465642160a01b6044820152606401610ae6565b600a81015415611a99576000805b600a8301548110156118a257846001600160a01b031683600a01828154811061186c57634e487b7160e01b600052603260045260246000fd5b6000918252602090912001546001600160a01b0316141561189057600191506118a2565b8061189a81614f4c565b915050611833565b506001811515146118f55760405162461bcd60e51b815260206004820152601a60248201527f4e6f7420696e20726571756972656420636f6c6c656374696f6e0000000000006044820152606401610ae6565b6040516331a9108f60e11b815260048101849052849033906001600160a01b03831690636352211e9060240160206040518083038186803b15801561193957600080fd5b505afa15801561194d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906119719190614812565b6001600160a01b0316146119c25760405162461bcd60e51b8152602060048201526018602482015277139bdd081d1a19481bdddb995c881bd9881d1bdad95b925960421b6044820152606401610ae6565b604080516001600160a01b03871660208201529081018890526060810185905260009060800160408051601f1981840301815291815281516020928301206000818152600c9093529120549091506001600160a01b0316611a40576000818152600c6020526040902080546001600160a01b03191633179055611a95565b6000818152600c60205260409020546001600160a01b03163314611a955760405162461bcd60e51b815260206004820152600c60248201526b1d1bdad95b9259081d5cd95960a21b6044820152606401610ae6565b5050505b33611adb5760405162461bcd60e51b81526020600482015260126024820152711b5cd9cb9cd95b99195c881a5cc81b9d5b1b60721b6044820152606401610ae6565b60008411611b1a5760405162461bcd60e51b815260206004820152600c60248201526b0686f774d616e7920697320360a41b6044820152606401610ae6565b6001815460ff166006811115611b4057634e487b7160e01b600052602160045260246000fd5b14611b895760405162461bcd60e51b8152602060048201526019602482015278149859999b19481a5cc81b9bdd081a5b881858d8d95c1d1959603a1b6044820152606401610ae6565b6000611b958686613cf2565b90506000816020015111611bde5760405162461bcd60e51b815260206004820152601060248201526f1a59081b9bdd081cdd5c1c1bdc9d195960821b6044820152606401610ae6565b80604001513414611c3d5760405162461bcd60e51b8152602060048201526024808201527f6d73672e76616c7565206d75737420626520657175616c20746f2074686520706044820152637269636560e01b6064820152608401610ae6565b6040805133602082015290810187905260009060600160408051601f1981840301815291815281516020928301206001860154858401516000838152600b9095529290932054909350611c909190614ea3565b1115611cde5760405162461bcd60e51b815260206004820152601760248201527f426f7567687420746f6f206d616e7920656e74726965730000000000000000006044820152606401610ae6565b6000604051806040016040528084602001518660080154611cff9190614ea3565b81523360209182015260008a81526009825260408120805460018082018355918352838320855160029092020190815592840151920180546001600160a01b0319166001600160a01b03909316929092179091556005860180549293503492909190611d6c908490614ea3565b909155505060208301516008850154611d859190614ea3565b60088501556020808401516000848152600b90925260408220805491929091611daf908490614ea3565b90915550506000828152600b602052604081206001018054349290611dd5908490614ea3565b90915550506008840154604080519182526020820189905233918a917fd746af8dc82f9bed98cea0fe0264eb1c3d2e5f7bcc77fc5efb429c79df40788791015b60405180910390a3505060018055505050505050565b6000600a8281548110611e4e57634e487b7160e01b600052603260045260246000fd5b600091825260208083208584526008825260409384902084518086019095528054855260010154918401919091526006600c90920201908101549092506001600160a01b03163314611ed35760405162461bcd60e51b815260206004820152600e60248201526d2737ba103a34329039b2b63632b960911b6044820152606401610ae6565b6001825460ff166006811115611ef957634e487b7160e01b600052602160045260246000fd5b14611f465760405162461bcd60e51b815260206004820152601d60248201527f526166666c65206e6f7420696e206163636570746564207374617475730000006044820152606401610ae6565b805160058301541015611f955760405162461bcd60e51b8152602060048201526017602482015276139bdd08195b9bdd59da08199d5b991cc81c985a5cd959604a1b6044820152606401610ae6565b815460ff191660021782556008820154611fb0908490613ac3565b50827f66859952a354270d9bd258f064bfb08464306538d8a01f12e1b9c6be7def11058360050154604051611fe791815260200190565b60405180910390a2505050565b61201a604051806060016040528060008152602001600081526020016000151581525090565b50604080516001600160a01b039290921660208084019190915282820193909352805180830382018152606083018083528151918501919091206000908152600b9094529281902060c0830190915280548352600181015460808301526002015460ff16151560a09091015290565b600260015414156120ac5760405162461bcd60e51b8152600401610ae690614e6c565b60026001819055506000600a82815481106120d757634e487b7160e01b600052603260045260246000fd5b60009182526020909120600c9091020190506006815460ff16600681111561210f57634e487b7160e01b600052602160045260246000fd5b1461214b5760405162461bcd60e51b815260206004820152600c60248201526b77726f6e672073746174757360a01b6044820152606401610ae6565b600981015461215d9062278d00614ea3565b4211156121a15760405162461bcd60e51b815260206004820152601260248201527118db185a5b481d1a5b5948195e1c1a5c995960721b6044820152606401610ae6565b6040805133602080830191909152818301859052825180830384018152606090920183528151918101919091206000908152600b90915220600281015460ff16156122215760405162461bcd60e51b815260206004820152601060248201526f185b1c9958591e481c99599d5b99195960821b6044820152606401610ae6565b806001015482600501546122359190614eee565b600583015560028101805460ff1916600190811790915581015460405160009133918381818185875af1925050503d806000811461228f576040519150601f19603f3d011682016040523d82523d6000602084013e612294565b606091505b50509050806122d85760405162461bcd60e51b815260206004820152601060248201526f11985a5b081cd95b99081c99599d5b9960821b6044820152606401610ae6565b336001600160a01b0316847ffe438001a6dd8298a7672e341088143b150c2227f220b57280a002f5357612b7846001015460405161231891815260200190565b60405180910390a35050600180555050565b600a818154811061233a57600080fd5b60009182526020909120600c9091020180546001820154600283015460038401546004850154600586015460068701546007880154600889015460098a0154600b909a015460ff998a169b50979996986001600160a01b03968716989597949690931694919390929091168b565b600260015414156123cb5760405162461bcd60e51b8152600401610ae690614e6c565b6002600155600080516020614fe98339815191526123e881613ab6565b6000600a838154811061240b57634e487b7160e01b600052603260045260246000fd5b60009182526020909120600c9091020190506005815460ff16600681111561244357634e487b7160e01b600052602160045260246000fd5b1415801561247557506003815460ff16600681111561247257634e487b7160e01b600052602160045260246000fd5b14155b80156124a557506002815460ff1660068111156124a257634e487b7160e01b600052602160045260246000fd5b14155b80156124d557506004815460ff1660068111156124d257634e487b7160e01b600052602160045260246000fd5b14155b801561250557506006815460ff16600681111561250257634e487b7160e01b600052602160045260246000fd5b14155b6125405760405162461bcd60e51b815260206004820152600c60248201526b57726f6e672073746174757360a01b6044820152606401610ae6565b6001815460ff16600681111561256657634e487b7160e01b600052602160045260246000fd5b14156125e757600681015460028201546040516000926001600160a01b031691908381818185875af1925050503d80600081146125bf576040519150601f19603f3d011682016040523d82523d6000602084013e6125c4565b606091505b50509050806125e55760405162461bcd60e51b8152600401610ae690614e3e565b505b805460ff19166006178155426009820155600581015460405190815283907fd512a34b0f0618078770fcd85d974df1ab46a7882e8b3d45aa91764f4961aed29060200160405180910390a250506001805550565b6002600154141561265e5760405162461bcd60e51b8152600401610ae690614e6c565b60026001819055506000600a828154811061268957634e487b7160e01b600052603260045260246000fd5b600091825260208220600c909102019150815460ff1660068111156126be57634e487b7160e01b600052602160045260246000fd5b146127005760405162461bcd60e51b8152602060048201526012602482015271149859999b19481b9bdd0810d4915055115160721b6044820152606401610ae6565b348160020154146127465760405162461bcd60e51b815260206004820152601060248201526f141c9a5e99481b9bdd081cdd185ad95960821b6044820152606401610ae6565b805460ff19166001178155600681018054336001600160a01b0319909116811790915560405183907f8bb509eedfd1c4847b0a8a2b4493cf2ebb9970dc367e477cd2a8523e212dc1db90600090a3505060018055565b60006127a781613ab6565b50600d80546001600160a01b0319166001600160a01b0392909216919091179055565b6000600080516020614fe98339815191526127e481613ab6565b60008b116128265760405162461bcd60e51b815260206004820152600f60248201526e06d6178456e7472696573206973203608c1b6044820152606401610ae6565b60008a116128635760405162461bcd60e51b815260206004820152600a60248201526905072697a6520697320360b41b6044820152606401610ae6565b6113888611156128ab5760405162461bcd60e51b81526020600482015260136024820152720c6dedadad2e6e6d2dedc40e8dede40d0d2ced606b1b6044820152606401610ae6565b604080516101808101909152600090808281526020018d81526020018c815260200160006001600160a01b031681526020016000815260200160008152602001336001600160a01b03168152602001888152602001600081526020016000815260200187878080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525050509082525060200185600281111561296757634e487b7160e01b600052602160045260246000fd5b9052600a8054600181810183556000929092528251600c9091027fc65a7bb8d6351c1cf70c95a316cc6a92839c986682d98bc35f958f4883f9d2a801805493945084939092839160ff1916908360068111156129d357634e487b7160e01b600052602160045260246000fd5b021790555060208281015160018301556040830151600283015560608301516003830180546001600160a01b039283166001600160a01b0319918216179091556080850151600485015560a0850151600585015560c085015160068501805491909316911617905560e08301516007830155610100830151600883015561012083015160098301556101408301518051612a7392600a8501920190614713565b50610160820151600b8201805460ff19166001836002811115612aa657634e487b7160e01b600052602160045260246000fd5b0217905550505087612ae65760405162461bcd60e51b81526020600482015260096024820152684e6f2070726963657360b81b6044820152606401610ae6565b60005b88811015612c735760008a8a83818110612b1357634e487b7160e01b600052603260045260246000fd5b9050606002016020013511612b5c5760405162461bcd60e51b815260206004820152600f60248201526e06e756d456e7472696573206973203608c1b6044820152606401610ae6565b600060405180606001604052808c8c85818110612b8957634e487b7160e01b600052603260045260246000fd5b9050606002016000013581526020018c8c85818110612bb857634e487b7160e01b600052603260045260246000fd5b9050606002016020013581526020018c8c85818110612be757634e487b7160e01b600052603260045260246000fd5b90506060020160400135815250905080600760006001600a80549050612c0d9190614eee565b81526020019081526020016000208360058110612c3a57634e487b7160e01b600052603260045260246000fd5b60030201600082015181600001556020820151816001015560408201518160020155905050508080612c6b90614f4c565b915050612ae9565b5060405180604001604052808b81526020018e815250600860006001600a80549050612c9f9190614eee565b815260208082019290925260400160002082518155910151600191820155600a548c91612ccb91614eee565b6040517ff6f5afeb49bc62176d1efaa06a1753999cc29bf378f1004ea916f37f41d7638a90600090a3600a54612d0390600190614eee565b9d9c50505050505050505050505050565b6000918252602082815260408084206001600160a01b0393909316845291905290205460ff1690565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614612db55760405162461bcd60e51b815260206004820152601f60248201527f4f6e6c7920565246436f6f7264696e61746f722063616e2066756c66696c6c006044820152606401610ae6565b6111de8282613df7565b600060606000600a8681548110612de657634e487b7160e01b600052603260045260246000fd5b60009182526020909120604080516101808101909152600c909202018054829060ff166006811115612e2857634e487b7160e01b600052602160045260246000fd5b6006811115612e4757634e487b7160e01b600052602160045260246000fd5b81526001820154602080830191909152600283015460408084019190915260038401546001600160a01b03908116606085015260048501546080850152600585015460a085015260068501541660c0840152600784015460e084015260088401546101008401526009840154610120840152600a84018054825181850281018501909352808352610140909401939192909190830182828015612f1357602002820191906000526020600020905b81546001600160a01b03168152600190910190602001808311612ef5575b5050509183525050600b82015460209091019060ff166002811115612f4857634e487b7160e01b600052602160045260246000fd5b6002811115612f6757634e487b7160e01b600052602160045260246000fd5b9052506101408101515190915015613199576000805b82610140015151811015612fec57866001600160a01b03168361014001518281518110612fba57634e487b7160e01b600052603260045260246000fd5b60200260200101516001600160a01b03161415612fda5760019150612fec565b80612fe481614f4c565b915050612f7d565b50806130355760006040518060400160405280601a81526020017f4e6f7420696e20726571756972656420636f6c6c656374696f6e0000000000008152509350935050506131af565b6040516331a9108f60e11b81526004810186905286906001600160a01b038a81169190831690636352211e9060240160206040518083038186803b15801561307c57600080fd5b505afa158015613090573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906130b49190614812565b6001600160a01b03161461310157600060405180604001604052806018815260200177139bdd081d1a19481bdddb995c881bd9881d1bdad95b925960421b815250945094505050506131af565b604080516001600160a01b03891660208201529081018990526060810187905260009060800160408051808303601f1901815291815281516020928301206000818152600c9093529120549091506001600160a01b038b81169116146131955760006040518060400160405280600c81526020016b1d1bdad95b9259081d5cd95960a21b81525095509550505050506131af565b5050505b5050604080516020810190915260008152600191505b94509492505050565b7fde5ee446972f4e39ab62c03aa34b2096680a875c3fdb3eb2f947cbb93341c0586131e281613ab6565b600260015414156132055760405162461bcd60e51b8152600401610ae690614e6c565b6002600155604080516001600160a01b03841660208201529081018590526000906060016040516020818303038152906040528051906020012090506000600a868154811061326457634e487b7160e01b600052603260045260246000fd5b60009182526020909120600c9091020190506001600b82015460ff16600281111561329f57634e487b7160e01b600052602160045260246000fd5b14806132d157506002600b82015460ff1660028111156132cf57634e487b7160e01b600052602160045260246000fd5b145b6133165760405162461bcd60e51b8152602060048201526016602482015275115b9d1c9e481d1e5c19481b9bdd08185b1b1bddd95960521b6044820152606401610ae6565b600060405180604001604052808784600801546133339190614ea3565b81526001600160a01b0387811660209283015260008a81526009835260408120805460018082018355918352848320865160029092020190815593850151930180546001600160a01b0319169390921692909217905560088401805492935088929091906133a2908490614ea3565b90915550506000838152600b6020526040812080548892906133c5908490614ea3565b909155505060408051600180825281830190925260009160208083019080368337019050509050858160008151811061340e57634e487b7160e01b600052603260045260246000fd5b60200260200101906001600160a01b031690816001600160a01b031681525050877f4da4f5fab0816c65315b6f5d15f879f96b98661133d7b3787788f291367604fb8289866008015460405161346693929190614cdf565b60405180910390a2505060018055505050505050565b60008281526020819052604090206001015461349781613ab6565b610f408383613c8d565b600080516020614fe98339815191526134b981613ab6565b6000805b848110156136775760008781526009602052604081208787848181106134f357634e487b7160e01b600052603260045260246000fd5b905060200201358154811061351857634e487b7160e01b600052603260045260246000fd5b6000918252602090912060029091020160018101549091506001600160a01b0386811691161461358a5760405162461bcd60e51b815260206004820152601e60248201527f456e74727920646964206e6f742062656c6f6e6720746f20706c6179657200006044820152606401610ae6565b6001810180546001600160a01b031916905560008787848181106135be57634e487b7160e01b600052603260045260246000fd5b90506020020135600014156135d557506000613649565b6000898152600960205260409020600189898681811061360557634e487b7160e01b600052603260045260246000fd5b905060200201356136169190614eee565b8154811061363457634e487b7160e01b600052603260045260246000fd5b90600052602060002090600202016000015490505b8154613656908290614eee565b6136609085614ea3565b93505050808061366f90614f4c565b9150506134bd565b50604080518281526001600160a01b038516602082015287917f2cca80c1af5abb202a642a502875436822768d733462843a7c3a902b0fad99d0910160405180910390a2505050505050565b600760205281600052604060002081600581106136df57600080fd5b600302018054600182015460029092015490935090915083565b600080600a848154811061371d57634e487b7160e01b600052603260045260246000fd5b60009182526020909120604080516101808101909152600c909202018054829060ff16600681111561375f57634e487b7160e01b600052602160045260246000fd5b600681111561377e57634e487b7160e01b600052602160045260246000fd5b81526001820154602080830191909152600283015460408084019190915260038401546001600160a01b03908116606085015260048501546080850152600585015460a085015260068501541660c0840152600784015460e084015260088401546101008401526009840154610120840152600a8401805482518185028101850190935280835261014090940193919290919083018282801561384a57602002820191906000526020600020905b81546001600160a01b0316815260019091019060200180831161382c575b5050509183525050600b82015460209091019060ff16600281111561387f57634e487b7160e01b600052602160045260246000fd5b600281111561389e57634e487b7160e01b600052602160045260246000fd5b905250604080516001600160a01b0388166020820152908101869052909150600090606001604051602081830303815290604052805190602001209050816020015184600b6000848152602001908152602001600020600001546139029190614ea3565b119695505050505050565b600082815260096020526040812081906139279084613eb4565b6000858152600960205260408120805492935090918390811061395a57634e487b7160e01b600052603260045260246000fd5b60009182526020909120600160029092020101546001600160a01b0316905080156139885791506108fa9050565b6000825b811580156139e2575060008781526009602052604081208054839081106139c357634e487b7160e01b600052603260045260246000fd5b60009182526020909120600160029092020101546001600160a01b0316145b15613a195780613a0e57600087815260096020526040902054613a0790600190614eee565b905061398c565b613a07600182614eee565b8115613a5f5760405162461bcd60e51b8152602060048201526015602482015274105b1b081d5cd95c9cc8189b1858dadb1a5cdd1959605a1b6044820152606401610ae6565b6000878152600960205260409020805482908110613a8d57634e487b7160e01b600052603260045260246000fd5b60009182526020909120600160029092020101546001600160a01b031694506108fa9350505050565b613ac08133613fa1565b50565b600480546040516370a0823160e01b815230928101929092526000917f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906370a082319060240160206040518083038186803b158015613b2b57600080fd5b505afa158015613b3f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613b639190614984565b1015613bc55760405162461bcd60e51b815260206004820152602b60248201527f4e6f7420656e6f756768204c494e4b202d2066696c6c20636f6e74726163742060448201526a1dda5d1a0819985d58d95d60aa1b6064820152608401610ae6565b6000613bd5600354600454614005565b6040805180820182529586526020808701958652600083815260069091522094518555925160019094019390935550919050565b613c138282612d14565b6111de576000828152602081815260408083206001600160a01b03851684529091529020805460ff19166001179055613c493390565b6001600160a01b0316816001600160a01b0316837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b613c978282612d14565b156111de576000828152602081815260408083206001600160a01b0385168085529252808320805460ff1916905551339285917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a45050565b613d1660405180606001604052806000815260200160008152602001600081525090565b60005b6005811015613dd057600084815260076020526040902083908260058110613d5157634e487b7160e01b600052603260045260246000fd5b60030201541415613dbe5760008481526007602052604090208160058110613d8957634e487b7160e01b600052603260045260246000fd5b6003020160405180606001604052908160008201548152602001600182015481526020016002820154815250509150506108fa565b80613dc881614f4c565b915050613d19565b50604051806060016040528060008152602001600081526020016000815250905092915050565b6000828152600660209081526040808320815180830190925280548252600101549181018290529190613e2a9084614f67565b613e35906001614ea3565b60408051808201825285815260208082018481528651600090815260058352849020835181559051600190910155855183518881529182018590529394509092917f7c40e661b8212d0c4f60ac6e6ebed99c28680c7b3ede5b82f3b0254543f62fca910160405180910390a28251613ead9083614198565b5050505050565b8154600090613ec5575060006108fa565b82546000905b80821015613f36576000613edf838361450f565b905084868281548110613f0257634e487b7160e01b600052603260045260246000fd5b9060005260206000209060020201600001541115613f2257809150613f30565b613f2d816001614ea3565b92505b50613ecb565b600082118015613f8057508385613f4e600185614eee565b81548110613f6c57634e487b7160e01b600052603260045260246000fd5b906000526020600020906002020160000154145b15613f9957613f90600183614eee565b925050506108fa565b5090506108fa565b613fab8282612d14565b6111de57613fc3816001600160a01b03166014614531565b613fce836020614531565b604051602001613fdf929190614c3a565b60408051601f198184030181529082905262461bcd60e51b8252610ae691600401614e2b565b60007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316634000aea07f000000000000000000000000000000000000000000000000000000000000000084866000604051602001614075929190918252602082015260400190565b6040516020818303038152906040526040518463ffffffff1660e01b81526004016140a293929190614caf565b602060405180830381600087803b1580156140bc57600080fd5b505af11580156140d0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906140f491906148d4565b50600083815260026020818152604080842054815180840189905280830186905230606082015260808082018390528351808303909101815260a090910190925281519183019190912093879052919052614150906001614ea3565b6000858152600260205260409020556141908482604080516020808201949094528082019290925280518083038201815260609092019052805191012090565b949350505050565b600260015414156141bb5760405162461bcd60e51b8152600401610ae690614e6c565b60026001819055506000600a83815481106141e657634e487b7160e01b600052603260045260246000fd5b60009182526020909120600c9091020190506002815460ff16600681111561421e57634e487b7160e01b600052602160045260246000fd5b148061424d57506004815460ff16600681111561424b57634e487b7160e01b600052602160045260246000fd5b145b6142925760405162461bcd60e51b8152602060048201526016602482015275526166666c6520696e2077726f6e672073746174757360501b6044820152606401610ae6565b600481018290556142a3838361390d565b6003820180546001600160a01b03929092166001600160a01b031990921682179055815460ff19166005178255600282015460405160009291908381818185875af1925050503d8060008114614315576040519150601f19603f3d011682016040523d82523d6000602084013e61431a565b606091505b505090508061433b5760405162461bcd60e51b8152600401610ae690614e3e565b6000612710836007015484600501546143549190614ecf565b61435e9190614ebb565b905060008184600501546143729190614eee565b60068501546040519192506000916001600160a01b039091169083908381818185875af1925050503d80600081146143c6576040519150601f19603f3d011682016040523d82523d6000602084013e6143cb565b606091505b50509050806143ec5760405162461bcd60e51b8152600401610ae690614e3e565b600d546040516000916001600160a01b03169085908381818185875af1925050503d8060008114614439576040519150601f19603f3d011682016040523d82523d6000602084013e61443e565b606091505b50509050806144875760405162461bcd60e51b81526020600482015260156024820152744661696c65642073656e642045746820746f204d5760581b6044820152606401610ae6565b877f7378e11c2b0ec7514bbf7ba369980eedcba0bca03e116dc9e7138f7748e211d6856040516144b991815260200190565b60405180910390a26003860154600587015460408051918252602082018a90526001600160a01b03909216918a917fe0b2a72a0644b093aac275024c05c7c28851a0b572557a32241d13634a0f3e089101611e15565b600061451e6002848418614ebb565b61452a90848416614ea3565b9392505050565b60606000614540836002614ecf565b61454b906002614ea3565b67ffffffffffffffff81111561457157634e487b7160e01b600052604160045260246000fd5b6040519080825280601f01601f19166020018201604052801561459b576020820181803683370190505b509050600360fc1b816000815181106145c457634e487b7160e01b600052603260045260246000fd5b60200101906001600160f81b031916908160001a905350600f60fb1b8160018151811061460157634e487b7160e01b600052603260045260246000fd5b60200101906001600160f81b031916908160001a9053506000614625846002614ecf565b614630906001614ea3565b90505b60018111156146c4576f181899199a1a9b1b9c1cb0b131b232b360811b85600f166010811061467257634e487b7160e01b600052603260045260246000fd5b1a60f81b82828151811061469657634e487b7160e01b600052603260045260246000fd5b60200101906001600160f81b031916908160001a90535060049490941c936146bd81614f35565b9050614633565b50831561452a5760405162461bcd60e51b815260206004820181905260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e746044820152606401610ae6565b828054828255906000526020600020908101928215614768579160200282015b8281111561476857825182546001600160a01b0319166001600160a01b03909116178255602090920191600190910190614733565b50614774929150614778565b5090565b5b808211156147745760008155600101614779565b803561479881614fd3565b919050565b60008083601f8401126147ae578182fd5b50813567ffffffffffffffff8111156147c5578182fd5b6020830191508360208260051b85010111156147e057600080fd5b9250929050565b80356003811061479857600080fd5b600060208284031215614807578081fd5b813561452a81614fd3565b600060208284031215614823578081fd5b815161452a81614fd3565b60008060408385031215614840578081fd5b823561484b81614fd3565b946020939093013593505050565b6000806000806080858703121561486e578182fd5b843561487981614fd3565b935060208501359250604085013561489081614fd3565b9396929550929360600135925050565b6000806000606084860312156148b4578283fd5b83356148bf81614fd3565b95602085013595506040909401359392505050565b6000602082840312156148e5578081fd5b8151801515811461452a578182fd5b600060208284031215614905578081fd5b5035919050565b6000806040838503121561491e578182fd5b82359150602083013561493081614fd3565b809150509250929050565b6000806040838503121561494d578182fd5b50508035926020909101359150565b60006020828403121561496d578081fd5b81356001600160e01b03198116811461452a578182fd5b600060208284031215614995578081fd5b5051919050565b600080604083850312156149ae578182fd5b8235915060208084013567ffffffffffffffff808211156149cd578384fd5b818601915086601f8301126149e0578384fd5b8135818111156149f2576149f2614fbd565b8060051b604051601f19603f83011681018181108582111715614a1757614a17614fbd565b604052828152858101935084860182860187018b1015614a35578788fd5b8795505b83861015614a5e57614a4a8161478d565b855260019590950194938601938601614a39565b508096505050505050509250929050565b60008060008060608587031215614a84578182fd5b84359350602085013567ffffffffffffffff811115614aa1578283fd5b614aad8782880161479d565b9094509250506040850135614ac181614fd3565b939692955090935050565b600080600060608486031215614ae0578081fd5b83359250602084013591506040840135614af981614fd3565b809150509250925092565b60008060008060808587031215614b19578182fd5b8435935060208501359250604085013561489081614fd3565b6000806000806000806000806000806101008b8d031215614b51578788fd5b8a35995060208b0135985060408b0135975060608b0135965060808b013567ffffffffffffffff80821115614b84578788fd5b818d0191508d601f830112614b97578788fd5b813581811115614ba5578889fd5b8e6020606083028501011115614bb9578889fd5b6020830198508097505060a08d0135955060c08d0135915080821115614bdd578485fd5b50614bea8d828e0161479d565b9094509250614bfd905060e08c016147e7565b90509295989b9194979a5092959850565b60008151808452614c26816020860160208601614f05565b601f01601f19169290920160200192915050565b7f416363657373436f6e74726f6c3a206163636f756e7420000000000000000000815260008351614c72816017850160208801614f05565b7001034b99036b4b9b9b4b733903937b6329607d1b6017918401918201528351614ca3816028840160208801614f05565b01602801949350505050565b60018060a01b0384168152826020820152606060408201526000614cd66060830184614c0e565b95945050505050565b606080825284519082018190526000906020906080840190828801845b82811015614d215781516001600160a01b031684529284019290840190600101614cfc565b505050908301949094525060400152919050565b602080825282518282018190526000919060409081850190868401855b82811015614d80578151805185528601516001600160a01b0316868501529284019290850190600101614d52565b5091979650505050505050565b82151581526040602082015260006141906040830184614c0e565b610160810160078d10614dbd57614dbd614fa7565b8c82528b60208301528a604083015260018060a01b03808b1660608401528960808401528860a084015280881660c0840152508560e0830152846101008301528361012083015260038310614e1457614e14614fa7565b826101408301529c9b505050505050505050505050565b60208152600061452a6020830184614c0e565b6020808252601490820152732330b4b632b2103a379039b2b7321022ba3432b960611b604082015260600190565b6020808252601f908201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00604082015260600190565b60008219821115614eb657614eb6614f7b565b500190565b600082614eca57614eca614f91565b500490565b6000816000190483118215151615614ee957614ee9614f7b565b500290565b600082821015614f0057614f00614f7b565b500390565b60005b83811015614f20578181015183820152602001614f08565b83811115614f2f576000848401525b50505050565b600081614f4457614f44614f7b565b506000190190565b6000600019821415614f6057614f60614f7b565b5060010190565b600082614f7657614f76614f91565b500690565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052601260045260246000fd5b634e487b7160e01b600052602160045260246000fd5b634e487b7160e01b600052604160045260246000fd5b6001600160a01b0381168114613ac057600080fdfe523a704056dcd17bcf83bed8b68c59416dac1119be77755efe3bde0a64e46e0ca26469706673582212209e8d2fbf52ca937a29e8344115855b614692a912217b2a69bae5b96d55b7520f64736f6c634300080400330000000000000000000000003be4bef162cd158887cfdca89a34fae107ab2c74000000000000000000000000f0d54349addcf704f77ae15b96510dea15cb7952000000000000000000000000514910771af9ca656af840dff83e8264ecf986caaa77729d3466ca35ae8d28b3bbac7cc36a5031efdc430821c02bc31a238af4450000000000000000000000000000000000000000000000000000000000000001