The price of Rewards Token (REWARDS) is $0.000000000021 today with a 24-hour trading volume of -. uint public totalRewards; // The current size of the global pool of PAY rewards. Get top exchanges, markets, and more. In Ethereum blockchain does smart contract can have token balance, I have multiple token holders for a smart contract but it is still considering the first one, Why we can't send ether to ethereum address 0x1 via smart contracts, Getting a list of ERC20 token holders in solidity. Since your question contains a screenshot from MetaMask, Is there any way to automatic send tokens when I set the rewards? As a user who stakes tokens to earn rewards, it is easy to earn multiple rewards with Trevi. * @param _totalRewards Total PAY rewards deposited so far. Presearch is a decentralized search engine that provides search choice, quality results, privacy and rewards to those who want to end the search monopoly and take back the web. Staked tokens are stored inside the contract and rewards are calculated for the amount of time these tokens were staked. Launching the CI/CD and R Collectives and community editing features for What is an appropriate type for smart contracts? If you are interested in more about Trevi, visit the repository on our GitHub to find out more details. After inputting your staking address in ( address account) , a card for choosing a frequency of execution should appear below it. . How to increase the number of CPUs in my computer? BC.GAME-The Best BNB Casino with 1,000,000 BNB Daily Bonus. Once the transaction goes through, the Angels will start to calculate the rewards based on the staking balances on the Fountain. The current CoinMarketCap ranking is #7341, with a live market cap of not available. 2022 Summary PancakeSwap listing NestSwap listing Liquidity locked for 3 years - check Marketing campaign Staking partnership with NestSwap - completed 5000+ Slots, Live casino games, 50+ cryptos, 100% bet insurance. This is the function we're going to use to supply our staking contract with funds for it to distribute as rewards. The parameter reward is the token address of the reward you provide. Dear Rewarders, Base Reward Token is aiming at creating a truly decentralized finance ecosystem, where users get rewarded for their loyalty and the equal distribution of wealth. At what point of what we watch as the MCU movies the branching started? The Contract Address 0x8b21e9b7daf2c4325bf3d18c1beb79a347fe902a page allows users to view the source code, transactions, balances, and analytics for the contract . Users need to select which available rewards they want to have. Now the next step is just to add the text is owned to your contract: 1. A tag already exists with the provided branch name. * @notice Links a RewardsNotifier contract to update this contract on token movements. Rewards token for Rise of Cats game. // The current size of the global pool of PAY rewards. * @return Total PAY balance of this contract. We want to share with everyone in the ecosystem so every other project team can save time and money on developing their staking and reward contract. 2. contract MyToken is owned {. Furucombo is a tool built for end users to optimize their defi strategy simply by drag and drop. COMMUNITY REWARDS 500,000 (5%) . To find a token contract address, simply head to the block explorer and search for your desired token. Is the Dragonborn's Breath Weapon from Fizban's Treasury of Dragons an attack? setGracePerSecond(uint256 _gracePerSecond, uint256 _endTime). Current price is $0.001175. Was Galileo expecting to see so many stars? You can call the function create (address reward) of the Angel Factory to create the Angel. Contract admin should set the Staking and Reward token addresses during deployment. . The Angel contract will calculate the distribution rate based on the provided amount and end time. By clicking Post Your Answer, you agree to our terms of service, privacy policy and cookie policy. Site design / logo 2023 Stack Exchange Inc; user contributions licensed under CC BY-SA. rewardsToken = wallet where you have the tokens, Note: You need approve() the smart contract address and amount after created this. As a matter of fact, a token contract is a smart contract mapping account addresses and balances. Marketing fee: % This tax is coming to your marketing wallet (minus our 0.5% fee it will be 2.5%). Making statements based on opinion; back them up with references or personal experience. Whether you are a Rewarder, user, or developer, we welcome everyone to use our Trevi reward distribution contract to build your project. Browse other questions tagged, Where developers & technologists share private knowledge with coworkers, Reach developers & technologists worldwide. 3-B. USDC, USDT, WBTC), which might lead to error according to the contract design policy. * @notice Withdraw your balance of PAY rewards. * @notice Updates a damping factor to account for token transfers in the dynamic rewards calculation. "Unclaimed reward must be non-zero to withdraw. Angel Factory Contract. Solution: Send at least the reward amount of tokens to the Rewards contract address, so that the contract can transfer them to the user. Here's how it work! Then use our Dapp dashboard and connect your wallet to view all your stats. Reward Hunters Token is a project that aims to bring interactive gameplay and community involvement to Crypto Gaming. Find centralized, trusted content and collaborate around the technologies you use most. Alternatively, they can call the function harvest(address angel) of the Fountain to claim the reward from the specific Angel contract. Launching the CI/CD and R Collectives and community editing features for How to Transfer Token via Contact Address, Brownie compile ValueError: Invalid NPM block with OpenZeppelin, What are the rules (syntax) for importing from Github repo to Solidity Contract, I'm writing some Solidity and this error keeps poppping up, Is email scraping still a thing for spammers, Am I being scammed after paying almost $10,000 to a tree company not being able to withdraw my profit without paying a fee, The number of distinct words in a sentence. How can I recognize one? * @return total claimed + unclaimed rewards for user. Make sure to use the "Vote Down" button for any spammy posts, and the "Vote Up" for interesting conversations. * @notice Calculates a user's total allocated (claimed + unclaimed) rewards. ). Before you continue reading, there are some basic terminology for your reference: Trevi is an ERC20-based staking and reward distribution system. Creating a Staking Web Application Thats it! 3-A. rev2023.3.1.43269. For example, you are creating a BuybackBabyDogeXXX token on the Binance Smart Chain and you want to reward your users with DOGE, enter DOGE token address in this field (Binance-Peg Dogecoin contract address). The contract address will be clearly indicated on its page. Build your own DeFi legos into one transaction without knowing how to code. With the Angel Factory contract, anyone can create an Angel to run their rewarding program with tokens. A private note (up to 500 characters) can be attached to this address. What is BODA V2?. Once you create the Angel(s), you are now the Rewarder, and you can manage the reward schedule and assign which Fountain can get your reward. Note: You may need to create a Fountain beforehand if the token you want to incentivize or to stake does not exist in the Trevi system yet. | Built by the same team behind Etherscan | Donate. Why does Jesus turn to the Father to forgive in Luke 23:34? You can call the function create(address reward) of the Angel Factory to create the Angel. Sponsored slots available. On the other hand, your users can stake their tokens to the Fountain you assign to earn the reward from your Angel(s). Do EMC test houses typically accept copper foil in EUT? If a law is new but its interpretation is vague, can the courts directly ask the drafters the intent and official interpretation of their law? Use the public function - transferEther. Private Name Tags (up to 35 characters) can be used for easy identification of addresses. This creates a very basic ERC20 smart contract that doesn't do anything except define some generic functions about a contract that can be "owned". The contract named Archangel manages the whole Trevi system (you can check its functions on GitHub). Node operators and builders are asked to send priority fees and MEV rewards to this Lido address. The reward amount is determined by this colour, how many monsters are fought and what level they were, and how many puzzle events were completed. Can smart contracts deploy other smart contracts? The $GDRT contract is a rewards contract. Book your slot here! This website uses cookies to improve your experience. More. * @param _totalRewards The current size of the global pool of PAY rewards. It means how can send reward to token holders? Underlying tokens are under the Mintable Reserves and Rewards section For assets on testnets, we use different versions of the token (e.g. Hi @M.Alaghemand - it would be much appreciated if you could upvote my answer if you find it useful. How can I send tokens to a token holders from inside a smart contract with solidity? How to do it exactly? * dampingChange = total PAY rewards * percentage change in a user's TENX shares, * @param _totalShares Total TENX cap (constant ~200M.). How do Ethereum ERC-20 Contracts for Tokens Interact, Mint new ERC20 token from other smart contract. 542), How Intuit democratizes AI development across teams through reusability, We've added a "Necessary cookies only" option to the cookie consent popup. Monotonically increasing. How to send ERC20 token to smart contract balance? ethereum solidity smartcontracts tron Share Improve this question Follow Holders reward fee: % This tax is used to reward token holders for HODLing - it is redistributed to holders. Now the Rewarder is ready to kick-off the reward distribution. You may view your pending balance and reward history in our dashboard by entering your address or connecting your wallet. Why did the Soviets not shoot down US spy satellites during the Cold War? Current price is $0.00000000003186. BSC AI Token (BSCAI) Token, Contract: 0x7BF1988dc86eF21244AD075686D00d3e9d596c8F on binance network. Cannot retrieve contributors at this time. . After 3 months you will get the reward of 32% of the staked token. * @dev The rewards each user is allocated to receive is calculated dynamically. * This contract makes use of pull payments over push payments to avoid DoS vulnerabilities. Buyback fee: % This tax is used for automatic buyback of the tokens. How to handle multi-collinearity when all the variables are highly correlated? MRT Price Live Data. HPW tokens have stopped trading 8 days ago on all exchanges listed on CoinGecko. Is there a more recent similar source? Anonymous play on awesome games - sign up now for 25 free jackpot spins - worth $100s! Solution: Send at least the reward amount of tokens to the Rewards contract address, so that the contract can transfer them to the user. * @notice Returns this contract's current reward token supply. Register with BSC and get 240% first deposit bonus. Be sure to add the contract addresses for both CateCoin and CatPay. To subscribe to this RSS feed, copy and paste this URL into your RSS reader. Have a list of addresses and loop through them while calling native erc transfer method. The live Meta Rewards Token price today is $4.80e-11 USD with a 24-hour trading volume of $10.35 USD. Example: If you put 100 tokens on the stake then after 3 months you will get 132 tokens. bool public isRunning = true; uint public maxShares; // Total TENX cap. In general, we called the unit of this balance a . Book your slot here! Thanks for contributing an answer to Stack Overflow! Reward more than 2 kinds of tokens for your users no limitation! It means how can send reward to token holders? Umbrella Reward tokens (rUMB#) Umbrella Network's reward tokens - rUMB# are also ERC-20 compatible. By continuing to use this website, you agree to its Terms and Privacy Policy. This is to ensure enough liquidity for our reserves and to easily mint more tokens when needed. The parameter reward is the token address of the reward you provide. As Rewarders who plan to have a reward system, they dont need to build any contract to start the program. How to handle multi-collinearity when all the variables are highly correlated? Create an Angel contract to store your reward, Assign which token staking you want to incentivize, Set reward distribution rate and schedule, You can reward many staking pools at the same time, thus you can assign different distribution weights among Fountains with the, Sign up for the available rewards from Angels, Accumulate and claim the rewards over blocks. * @dev The denominator is = INITIAL TOKEN CAP - TOTAL REWARDABLE TOKENS REDEEMED. Lido Proposer Fee Recipient. The Angel contract will calculate how many reward tokens will be allocated based on the provided distribution rate and end time. You signed in with another tab or window. This represents a - price increase in the last 24 hours and a - price increase in the past 7 days. Where can you buy HappyLand Reward? Share Improve this answer Follow answered Jan 23, 2022 at 11:19 Petr Hejda 60806040526207a120601d55600b602a556001602b55602e805464ffffff000019166401010100001790553480156200003757600080fd5b5060405162005216380380620052168339810160408190526200005a91620005b7565b600080546001600160a01b0319166001600160a01b0383161790556004620000838682620006da565b506005620000928582620006da565b506006829055620000a582600a620008bb565b620000b19084620008d0565b600755600654620000c490600a620008bb565b620000d09084620008d0565b600855600754600c819055600d819055600380546001600160a01b03199081166001600160a01b038581169182179093556001805483168217815560028054909316909117909155601c55600080549091168152602080805260409182902092909255805163c45a015560e01b815290517310ed43c718714eb63d5aa57b78b54704e256024e92839263c45a015592600482810193928290030181865afa15801562000180573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001a69190620008ea565b6001600160a01b031663c9c6539630836001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015620001f4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200021a9190620008ea565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af115801562000268573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200028e9190620008ea565b601f80546001600160a01b03199081166001600160a01b0393841617909155601e8054909116918316919091179055604051620002cb90620004cb565b604051809103906000f080158015620002e8573d6000803e3d6000fd5b50602980546001600160a01b0319166001600160a01b03928316179055601f805482166000908152602460209081526040808320805460ff199081166001908117909255308086526023855283862080548316841790557fcfb917c9f12a67b756fd43c7510cd55b6708bb9e7558ef1abd90c51590e0aada8054831684179055865488168652838620805483168417905585548816865283862080548316841790558554881686526026855283862080548316841790558086526022855283862080548316841790557fb3dad1d3e53c1132e958712e36d3ff32b0d9b9088698eb172c6b4faa7ff6d22e80548316841790558554881686528386208054831684179055955487168552602884528285208054821683179055858552828520805482168317905584549096168452818420805487168217905561dead84527fbbe88529b5ffa7b624cff06f0ef07c7e870a9b23b5b38a8a3fc35e04dc498bd18054909616179094556007549351938452919290917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a3600080546040516001600160a01b0390911691907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a35050505050506200090a565b610e06806200441083390190565b634e487b7160e01b600052604160045260246000fd5b600082601f8301126200050157600080fd5b81516001600160401b03808211156200051e576200051e620004d9565b604051601f8301601f19908116603f01168101908282118183101715620005495762000549620004d9565b816040528381526020925086838588010111156200056657600080fd5b600091505b838210156200058a57858201830151818301840152908201906200056b565b600093810190920192909252949350505050565b6001600160a01b0381168114620005b457600080fd5b50565b600080600080600060a08688031215620005d057600080fd5b85516001600160401b0380821115620005e857600080fd5b620005f689838a01620004ef565b965060208801519150808211156200060d57600080fd5b506200061c88828901620004ef565b945050604086015192506060860151915060808601516200063d816200059e565b809150509295509295909350565b600181811c908216806200066057607f821691505b6020821081036200068157634e487b7160e01b600052602260045260246000fd5b50919050565b601f821115620006d557600081815260208120601f850160051c81016020861015620006b05750805b601f850160051c820191505b81811015620006d157828155600101620006bc565b5050505b505050565b81516001600160401b03811115620006f657620006f6620004d9565b6200070e816200070784546200064b565b8462000687565b602080601f8311600181146200074657600084156200072d5750858301515b600019600386901b1c1916600185901b178555620006d1565b600085815260208120601f198616915b82811015620007775788860151825594840194600190910190840162000756565b5085821015620007965787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b634e487b7160e01b600052601160045260246000fd5b600181815b80851115620007fd578160001904821115620007e157620007e1620007a6565b80851615620007ef57918102915b93841c9390800290620007c1565b509250929050565b6000826200081657506001620008b5565b816200082557506000620008b5565b81600181146200083e5760028114620008495762000869565b6001915050620008b5565b60ff8411156200085d576200085d620007a6565b50506001821b620008b5565b5060208310610133831016604e8410600b84101617156200088e575081810a620008b5565b6200089a8383620007bc565b8060001904821115620008b157620008b1620007a6565b0290505b92915050565b6000620008c9838362000805565b9392505050565b8082028115828204841417620008b557620008b5620007a6565b600060208284031215620008fd57600080fd5b8151620008c9816200059e565b613af6806200091a6000396000f3fe6080604052600436106103d25760003560e01c806379ff124e116101fd578063a9059cbb11610118578063db9d16e2116100ab578063ec3e20951161007a578063ec3e209514610b80578063ecaaebb414610b88578063f3c87c3214610ba8578063f415051814610bbd578063fcf84b4114610bed57600080fd5b8063db9d16e214610aee578063dd62ed3e14610b0e578063e20075a514610b54578063ec36451214610b6a57600080fd5b8063bfe10928116100e7578063bfe1092814610a68578063c14a423914610a88578063cdfeab0b14610ab8578063d874158214610ace57600080fd5b8063a9059cbb146109f2578063ad604f2a14610a12578063b341528714610a32578063ba006fe714610a5257600080fd5b806395d89b4111610190578063a08368ad1161015f578063a08368ad1461097d578063a457c2d714610992578063a5c5eb01146109b2578063a7ce7cd2146109d257600080fd5b806395d89b41146108f85780639c3e76cb1461090d5780639cee21421461092d5780639eea4be31461095d57600080fd5b80638a41665a116101cc5780638a41665a146108985780638b5282c5146108ae5780638da5cb5b146108c457806394e62aad146108e257600080fd5b806379ff124e1461082c5780637b43db6d1461084c5780638793bf741461086c57806388cfa7ac1461088257600080fd5b80632eb7200e116102ed5780635db5ff36116102805780636d9ec6aa1161024f5780636d9ec6aa1461079257806370a08231146107b25780637495e6d5146107e7578063768dc710146107fc57600080fd5b80635db5ff3614610711578063606373fb1461073c57806365f22ea51461075c57806367c2750d1461077c57600080fd5b806340b86482116102bc57806340b8648214610692578063485d79eb146106b257806349bd5a5e146106d25780634a74bb02146106f257600080fd5b80632eb7200e1461061d578063313ce5671461063d57806339509351146106525780633bc3b54d1461067257600080fd5b806318160ddd1161036557806323b872dd1161033457806323b872dd146105b2578063283cd3e7146105d2578063292b6f9c146105f25780632b112e491461060857600080fd5b806318160ddd146105335780631b75f010146105485780631cdd3be314610568578063220f66961461059857600080fd5b8063103287b2116103a1578063103287b2146104895780631694505e146104ab578063171cb223146104e3578063175bf3ce1461050357600080fd5b806305bbb43f146103de57806306fdde0314610407578063095ea7b3146104295780630e8322731461045957600080fd5b366103d957005b600080fd5b3480156103ea57600080fd5b506103f460125481565b6040519081526020015b60405180910390f35b34801561041357600080fd5b5061041c610c0d565b6040516103fe919061331a565b34801561043557600080fd5b50610449610444366004613345565b610c9f565b60405190151581526020016103fe565b34801561046557600080fd5b50610449610474366004613371565b60286020526000908152604090205460ff1681565b34801561049557600080fd5b506104a96104a436600461339c565b610cb6565b005b3480156104b757600080fd5b50601e546104cb906001600160a01b031681565b6040516001600160a01b0390911681526020016103fe565b3480156104ef57600080fd5b506104a96104fe3660046133d5565b610d97565b34801561050f57600080fd5b5061044961051e366004613371565b60236020526000908152604090205460ff1681565b34801561053f57600080fd5b506007546103f4565b34801561055457600080fd5b506104a961056336600461339c565b610de1565b34801561057457600080fd5b50610449610583366004613371565b60276020526000908152604090205460ff1681565b3480156105a457600080fd5b50602c546104499060ff1681565b3480156105be57600080fd5b506104496105cd3660046133f2565b610e36565b3480156105de57600080fd5b506104a96105ed36600461339c565b610ed5565b3480156105fe57600080fd5b506103f460165481565b34801561061457600080fd5b506103f4610f2a565b34801561062957600080fd5b506104a9610638366004613433565b610f6a565b34801561064957600080fd5b506006546103f4565b34801561065e57600080fd5b5061044961066d366004613345565b61109c565b34801561067e57600080fd5b506104a961068d3660046133d5565b6110d2565b34801561069e57600080fd5b506104a96106ad366004613345565b611150565b3480156106be57600080fd5b506104a96106cd3660046133d5565b61122e565b3480156106de57600080fd5b50601f546104cb906001600160a01b031681565b3480156106fe57600080fd5b50602c5461044990610100900460ff1681565b34801561071d57600080fd5b50610726611276565b6040516103fe9a9998979695949392919061347e565b34801561074857600080fd5b506001546104cb906001600160a01b031681565b34801561076857600080fd5b506003546104cb906001600160a01b031681565b34801561078857600080fd5b506103f460135481565b34801561079e57600080fd5b506104a96107ad36600461339c565b611592565b3480156107be57600080fd5b506103f46107cd366004613371565b6001600160a01b0316600090815260208052604090205490565b3480156107f357600080fd5b506104a96116cc565b34801561080857600080fd5b50610449610817366004613371565b60226020526000908152604090205460ff1681565b34801561083857600080fd5b506104a961084736600461350f565b611795565b34801561085857600080fd5b506104a961086736600461339c565b6117d0565b34801561087857600080fd5b506103f460155481565b34801561088e57600080fd5b506103f4600e5481565b3480156108a457600080fd5b506103f4600f5481565b3480156108ba57600080fd5b506103f460145481565b3480156108d057600080fd5b506000546001600160a01b03166104cb565b3480156108ee57600080fd5b506103f460105481565b34801561090457600080fd5b5061041c611869565b34801561091957600080fd5b506104a961092836600461350f565b611878565b34801561093957600080fd5b50610449610948366004613371565b60266020526000908152604090205460ff1681565b34801561096957600080fd5b506104a9610978366004613528565b61190c565b34801561098957600080fd5b506104a9611a24565b34801561099e57600080fd5b506104496109ad366004613345565b611a98565b3480156109be57600080fd5b506104a96109cd36600461339c565b611b15565b3480156109de57600080fd5b506104a96109ed3660046135ed565b611b6a565b3480156109fe57600080fd5b50610449610a0d366004613345565b611bc0565b348015610a1e57600080fd5b506104a9610a2d366004613371565b611bcd565b348015610a3e57600080fd5b506104a9610a4d36600461350f565b611c8e565b348015610a5e57600080fd5b506103f460115481565b348015610a7457600080fd5b506029546104cb906001600160a01b031681565b348015610a9457600080fd5b50610449610aa3366004613371565b60246020526000908152604090205460ff1681565b348015610ac457600080fd5b506103f460195481565b348015610ada57600080fd5b506104a9610ae9366004613528565b611ccc565b348015610afa57600080fd5b506104a9610b09366004613675565b611f08565b348015610b1a57600080fd5b506103f4610b293660046136b0565b6001600160a01b03918216600090815260216020908152604080832093909416825291909152205490565b348015610b6057600080fd5b506103f460175481565b348015610b7657600080fd5b506103f460185481565b6104a9612050565b348015610b9457600080fd5b506104a9610ba3366004613675565b612118565b348015610bb457600080fd5b506104a9612253565b348015610bc957600080fd5b50610449610bd8366004613371565b60256020526000908152604090205460ff1681565b348015610bf957600080fd5b506002546104cb906001600160a01b031681565b606060048054610c1c906136de565b80601f0160208091040260200160405190810160405280929190818152602001828054610c48906136de565b8015610c955780601f10610c6a57610100808354040283529160200191610c95565b820191906000526020600020905b815481529060010190602001808311610c7857829003601f168201915b5050505050905090565b6000610cac3384846122e1565b5060015b92915050565b6000546001600160a01b0316610d195773d05895edf847e1712721cc9e0427aa26289a6bc53314610d145760405162461bcd60e51b815260206004820152600360248201526245303160e81b60448201526064015b60405180910390fd5b610d59565b6000546001600160a01b03163314610d595760405162461bcd60e51b815260206004820152600360248201526222981960e91b6044820152606401610d0b565b6001600160a01b039091166000908152602460209081526040808320805494151560ff19958616811790915560239092529091208054909216179055565b6000546001600160a01b03163314610dc15760405162461bcd60e51b8152600401610d0b90613718565b602e80549115156401000000000264ff0000000019909216919091179055565b6000546001600160a01b03163314610e0b5760405162461bcd60e51b8152600401610d0b90613718565b6001600160a01b03919091166000908152602360205260409020805460ff1916911515919091179055565b6000610e43848484612405565b610ecb8433610ec68560405180604001604052806012815260200171105b1b1bddd85b98d948195e18d95959195960721b815250602160008b6001600160a01b03166001600160a01b031681526020019081526020016000206000610ea53390565b6001600160a01b031681526020810191909152604001600020549190612b17565b6122e1565b5060019392505050565b6000546001600160a01b03163314610eff5760405162461bcd60e51b8152600401610d0b90613718565b6001600160a01b03919091166000908152602660205260409020805460ff1916911515919091179055565b61dead6000908152602080527fcbaad361c71be11fa6bdbe0e740c6259be964b32182da2da47b54472477c6a1754600754610f659190613763565b905090565b6000546001600160a01b03163314610f945760405162461bcd60e51b8152600401610d0b90613718565b6001600160a01b038316610fd05760405162461bcd60e51b815260206004820152600360248201526222989960e91b6044820152606401610d0b565b600180546001600160a01b0319166001600160a01b038581169190911790915581166110245760405162461bcd60e51b815260206004820152600360248201526245313360e81b6044820152606401610d0b565b600280546001600160a01b0319166001600160a01b038481169190911790915581166110785760405162461bcd60e51b8152602060048201526003602482015262114c4d60ea1b6044820152606401610d0b565b600380546001600160a01b0319166001600160a01b03929092169190911790555050565b3360008181526021602090815260408083206001600160a01b03871684529091528120549091610cac918590610ec69086612b43565b6000546001600160a01b031633146110fc5760405162461bcd60e51b8152600401610d0b90613718565b602c80548215156101000261ff00199091161790556040517f23a579f47956e637483932f4e2637a61668467d7758e542cbcf63b017fc150b99061114590831515815260200190565b60405180910390a150565b6000546001600160a01b0316331461117a5760405162461bcd60e51b8152600401610d0b90613718565b306001600160a01b038316036111b85760405162461bcd60e51b815260206004820152600360248201526208a62760eb1b6044820152606401610d0b565b60405163a9059cbb60e01b8152336004820152602481018290526001600160a01b0383169063a9059cbb906044016020604051808303816000875af1158015611205573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112299190613776565b505050565b6000546001600160a01b031633146112585760405162461bcd60e51b8152600401610d0b90613718565b602e805491151563010000000263ff00000019909216919091179055565b60008060008060008060608060608060006040518060400160405280601781526020017f68747470733a2f2f746f6b656e73627967656e2e636f6d00000000000000000081525090506000601254601354601154601054600f54600e546112dd9190613793565b6112e79190613793565b6112f19190613793565b6112fb9190613793565b6113059190613793565b905060006018546019546017546016546015546014546113259190613793565b61132f9190613793565b6113399190613793565b6113439190613793565b61134d9190613793565b90506000600654600a611360919061388a565b600c5461136d9190613896565b90506000600654600a611380919061388a565b600d5461138d9190613896565b90508181111561139a5750805b60008054906101000a90046001600160a01b031681838686602e60029054906101000a900460ff166009600a600b8d8380546113d5906136de565b80601f0160208091040260200160405190810160405280929190818152602001828054611401906136de565b801561144e5780601f106114235761010080835404028352916020019161144e565b820191906000526020600020905b81548152906001019060200180831161143157829003601f168201915b50505050509350828054611461906136de565b80601f016020809104026020016040519081016040528092919081815260200182805461148d906136de565b80156114da5780601f106114af576101008083540402835291602001916114da565b820191906000526020600020905b8154815290600101906020018083116114bd57829003601f168201915b505050505092508180546114ed906136de565b80601f0160208091040260200160405190810160405280929190818152602001828054611519906136de565b80156115665780601f1061153b57610100808354040283529160200191611566565b820191906000526020600020905b81548152906001019060200180831161154957829003601f168201915b505050505091509e509e509e509e509e509e509e509e509e509e50505050505090919293949596979899565b6000546001600160a01b031633146115bc5760405162461bcd60e51b8152600401610d0b90613718565b6001600160a01b03821630148015906115e35750601f546001600160a01b03838116911614155b6115ec57600080fd5b6001600160a01b0382166000908152602860205260409020805460ff1916821580159190911790915561168457602954604051630a5b654b60e11b81526001600160a01b03848116600483015260006024830152909116906314b6ca96906044015b600060405180830381600087803b15801561166857600080fd5b505af115801561167c573d6000803e3d6000fd5b505050505050565b6029546001600160a01b03838116600081815260208052604090819020549051630a5b654b60e11b8152600481019290925260248201529116906314b6ca969060440161164e565b6000546001600160a01b031633146116f65760405162461bcd60e51b8152600401610d0b90613718565b602e54610100900460ff161561170b57600080fd5b602c805461ff00191661010017905542602d55602e805461010161ffff19909116179055601c54600f819055601581905560135460115460105461174f9190613793565b6117599190613793565b6117639190613793565b601a5560155460195460175460165461177c9190613793565b6117869190613793565b6117909190613793565b601b55565b6000546001600160a01b031633146117bf5760405162461bcd60e51b8152600401610d0b90613718565b6117ca816001613793565b602a5550565b6000546001600160a01b031633146117fa5760405162461bcd60e51b8152600401610d0b90613718565b801561183e57602e5462010000900460ff1661183e5760405162461bcd60e51b815260206004820152600360248201526245303960e81b6044820152606401610d0b565b6001600160a01b03919091166000908152602760205260409020805460ff1916911515919091179055565b606060058054610c1c906136de565b6000546001600160a01b031633146118a25760405162461bcd60e51b8152600401610d0b90613718565b602c5460ff16156118db5760405162461bcd60e51b815260206004820152600360248201526245313760e81b6044820152606401610d0b565b3060009081526020805260408120549060646118f784846138b8565b6119019190613896565b905061122981612b56565b6000546001600160a01b031633146119365760405162461bcd60e51b8152600401610d0b90613718565b610b4082111561196e5760405162461bcd60e51b815260206004820152600360248201526204531360ec1b6044820152606401610d0b565b671bc16d674ec800008111156119ac5760405162461bcd60e51b815260206004820152600360248201526245313160e81b6044820152606401610d0b565b60006119b983603c6138b8565b6029546040516316a4744b60e11b815260048101839052602481018590529192506001600160a01b031690632d48e89690604401600060405180830381600087803b158015611a0757600080fd5b505af1158015611a1b573d6000803e3d6000fd5b50505050505050565b6000546001600160a01b03163314611a4e5760405162461bcd60e51b8152600401610d0b90613718565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000610cac3384610ec6856040518060400160405280601e81526020017f44656372656173656420616c6c6f77616e63652062656c6f77207a65726f000081525060216000611ae43390565b6001600160a01b03908116825260208083019390935260409182016000908120918d16815292529020549190612b17565b6000546001600160a01b03163314611b3f5760405162461bcd60e51b8152600401610d0b90613718565b6001600160a01b03919091166000908152602260205260409020805460ff1916911515919091179055565b6000546001600160a01b03163314611b945760405162461bcd60e51b8152600401610d0b90613718565b6009611ba08482613915565b50600a611bad8382613915565b50600b611bba8282613915565b50505050565b6000610cac338484612405565b6000546001600160a01b03163314611bf75760405162461bcd60e51b8152600401610d0b90613718565b6001600160a01b038116611c335760405162461bcd60e51b815260206004820152600360248201526222989b60e91b6044820152606401610d0b565b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b6000546001600160a01b03163314611cb85760405162461bcd60e51b8152600401610d0b90613718565b620b71b08110611cc757600080fd5b601d55565b6000546001600160a01b03163314611cf65760405162461bcd60e51b8152600401610d0b90613718565b602e5460ff1680611d0f5750602e54610100900460ff16155b15611dd357600654611d2290600a61388a565b6103e8600854611d329190613896565b611d3c9190613896565b821015611d715760405162461bcd60e51b815260206004820152600360248201526245303560e81b6044820152606401610d0b565b600654611d7f90600a61388a565b6103e8600854611d8f9190613896565b611d999190613896565b811015611dce5760405162461bcd60e51b815260206004820152600360248201526222981b60e91b6044820152606401610d0b565b611e8b565b600654611de190600a61388a565b60c8600854611df09190613896565b611dfa9190613896565b821015611e2f5760405162461bcd60e51b815260206004820152600360248201526245303760e81b6044820152606401610d0b565b600654611e3d90600a61388a565b60c8600854611e4c9190613896565b611e569190613896565b811015611e8b5760405162461bcd60e51b815260206004820152600360248201526208a60760eb1b6044820152606401610d0b565b600654611e9990600a61388a565b611ea390836138b8565b600d55600654611eb490600a61388a565b611ebe90826138b8565b600c819055600d546040517f365e3bb1cf8642a5436f3c8d9f98cf0c183b3dd7c8dc08ec1964ad61f13596fd92611efc928252602082015260400190565b60405180910390a15050565b6000546001600160a01b03163314611f325760405162461bcd60e51b8152600401610d0b90613718565b601c546015819055600f90828486611f4a898b613793565b611f549190613793565b611f5e9190613793565b611f689190613793565b611f729190613793565b1115611fa65760405162461bcd60e51b8152602060048201526003602482015262114c0d60ea1b6044820152606401610d0b565b6017859055601684905560148390556018829055601981905560155481611fcd8688613793565b611fd79190613793565b611fe19190613793565b601b55601754601654601454601854601954601554604080519687526020870195909552938501929092526060840152608083015260a08201527f44b87fbaffcb9380b19391bba04be938212d9cf198f6a7106a3bf6bf871276b89060c0015b60405180910390a15050505050565b6000546001600160a01b0316331461207a5760405162461bcd60e51b8152600401610d0b90613718565b34671bc16d674ec80000146120b75760405162461bcd60e51b815260206004820152600360248201526245313560e81b6044820152606401610d0b565b6120d573de491c65e507d281b6a3688d11e8fc222eee097534612daa565b506000601c819055600f8190556015556011546013546010546120f89190613793565b6121029190613793565b601a556017546019546016546117869190613793565b6000546001600160a01b031633146121425760405162461bcd60e51b8152600401610d0b90613718565b601c54600f81815590828486612158898b613793565b6121629190613793565b61216c9190613793565b6121769190613793565b6121809190613793565b11156121b45760405162461bcd60e51b815260206004820152600360248201526245303360e81b6044820152606401610d0b565b60118590556010849055600e83905560128290556013819055600f54816121db8688613793565b6121e59190613793565b6121ef9190613793565b601a55601154601054600e54601254601354600f54604080519687526020870195909552938501929092526060840152608083015260a08201527f0b8c85a6ec55eff46391335b05b46d697dfb3b8c6d65291352c6087975a289679060c001612041565b6000546001600160a01b0316331461227d5760405162461bcd60e51b8152600401610d0b90613718565b602e805462ff00ff191690556008546122989060c890613896565b600d5410156122b45760c86008546122b09190613896565b600d555b60c86008546122c39190613896565b600c5410156122df5760c86008546122db9190613896565b600c555b565b6001600160a01b0383166123435760405162461bcd60e51b8152602060048201526024808201527f42455032303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610d0b565b6001600160a01b0382166123a45760405162461bcd60e51b815260206004820152602260248201527f42455032303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610d0b565b6001600160a01b0383811660008181526021602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b602e54610100900460ff16612485576001600160a01b03831660009081526026602052604090205460ff168061245357506001600160a01b03821660009081526026602052604090205460ff165b6124855760405162461bcd60e51b815260206004820152600360248201526245313960e81b6044820152606401610d0b565b602e5460ff16156125fe57602d5461249f90610e10613793565b42111561250d57602e805462ff00ff191690556008546124c19060c890613896565b600d5410156124dd5760c86008546124d99190613896565b600d555b60c86008546124ec9190613896565b600c5410156125085760c86008546125049190613896565b600c555b6125fe565b6001600160a01b03821660009081526025602052604090205460ff161561255c5760405162461bcd60e51b815260206004820152600360248201526204532360ec1b6044820152606401610d0b565b6001600160a01b03831660009081526024602052604090205460ff1680156125915750602d5461258d906003613793565b4211155b156125fe57600a600c546125a59190613896565b8111156125da5760405162461bcd60e51b815260206004820152600360248201526245323160e81b6044820152606401610d0b565b6001600160a01b0382166000908152602560205260409020805460ff191660011790555b6000546001600160a01b03838116911614612687576001600160a01b03821660009081526027602052604090205460ff1615801561265557506001600160a01b03831660009081526027602052604090205460ff16155b6126875760405162461bcd60e51b8152602060048201526003602482015262114c8d60ea1b6044820152606401610d0b565b6001600160a01b03821660009081526023602052604090205460ff16612701576001600160a01b0382166000908152602080526040902054600c546126cc8383613793565b11156126ff5760405162461bcd60e51b8152602060048201526002602482015261323560f01b6044820152606401610d0b565b505b6001600160a01b03821660009081526023602052604090205460ff16158061274257506001600160a01b03831660009081526023602052604090205460ff16155b1561277e57600d5481111561277e5760405162461bcd60e51b8152602060048201526002602482015261191b60f11b6044820152606401610d0b565b6001600160a01b0383166127b95760405162461bcd60e51b8152602060048201526002602482015261323760f01b6044820152606401610d0b565b6001600160a01b0382166127f45760405162461bcd60e51b8152602060048201526002602482015261064760f31b6044820152606401610d0b565b600081116128295760405162461bcd60e51b8152602060048201526002602482015261323960f01b6044820152606401610d0b565b6001600160a01b03831660009081526028602052604090205460ff166128b9576029546001600160a01b03848116600081815260208052604090819020549051630a5b654b60e11b8152600481019290925260248201529116906314b6ca9690604401600060405180830381600087803b1580156128a657600080fd5b505af19250505080156128b7575060015b505b6001600160a01b03821660009081526028602052604090205460ff16612949576029546001600160a01b03838116600081815260208052604090819020549051630a5b654b60e11b8152600481019290925260248201529116906314b6ca9690604401600060405180830381600087803b15801561293657600080fd5b505af1925050508015612947575060015b505b602954601d546040516001624d3b8760e01b031981526001600160a01b039092169163ffb2c479916129819160040190815260200190565b600060405180830381600087803b15801561299b57600080fd5b505af19250505080156129ac575060015b506001600160a01b03821660009081526024602052604090205460ff1680156129d85750602c5460ff16155b80156129eb5750602c54610100900460ff165b15612a3457602a54602b5410612a34573060009081526020805260409020548015612a3257600d548111612a2757612a2281612b56565b612a32565b612a32600d54612b56565b505b602e805465ff00000000001916650100000000001790556001600160a01b03831660009081526022602052604090205460ff1680612a8a57506001600160a01b03821660009081526022602052604090205460ff165b80612ae75750602e546301000000900460ff168015612ac257506001600160a01b03821660009081526024602052604090205460ff16155b8015612ae757506001600160a01b03831660009081526024602052604090205460ff16155b15612afc57602e805465ff0000000000191690555b611229838383602e60059054906101000a900460ff16612e06565b60008184841115612b3b5760405162461bcd60e51b8152600401610d0b919061331a565b505050900390565b6000612b4f8284613793565b9392505050565b602c805460ff19166001179055601b54601a54600091612b7591613793565b90506000600282601654601054612b8c9190613793565b612b9690866138b8565b612ba09190613896565b612baa9190613896565b90506000612bb88285613763565b905047612bc4826130fc565b6000612bd08247613763565b90506000601654601054612be49190613793565b612bef8760026138b8565b612bf99190613763565b9050600081601654601054612c0e9190613793565b612c1890856138b8565b612c229190613896565b9050600082601554600f54612c379190613793565b612c4190866138b8565b612c4c9060026138b8565b612c569190613896565b9050600083601954601354612c6b9190613793565b612c7590876138b8565b612c809060026138b8565b612c8a9190613896565b90508715612cde57612c9c8884613220565b60408051898152602081018590529081018990527f17bbfb9a6069321b6ded73bd96327c9e6b7212a5cd51ff219cd61370acafb5619060600160405180910390a15b8115612d0457612d0273de491c65e507d281b6a3688d11e8fc222eee097583612daa565b505b8015612d6e57602960009054906101000a90046001600160a01b03166001600160a01b031663d0e30db0826040518263ffffffff1660e01b81526004016000604051808303818588803b158015612d5a57600080fd5b505af193505050508015612d6c575060015b505b4795508515612d8f57600354612d8d906001600160a01b031687612daa565b505b50506001602b555050602c805460ff19169055505050505050565b6000826001600160a01b03168260405160006040518083038185875af1925050503d8060008114612df7576040519150601f19603f3d011682016040523d82523d6000602084013e612dfc565b606091505b5090949350505050565b8015612ed3576001600160a01b03831660009081526024602052604090205460ff1615612e8957606460145483612e3d91906138b8565b612e479190613896565b602f55601854606490612e5a90846138b8565b612e649190613896565b603055601b54606490612e7790846138b8565b612e819190613896565b603155612ee3565b6064600e5483612e9991906138b8565b612ea39190613896565b602f55601254606490612eb690846138b8565b612ec09190613896565b603055601a54606490612e7790846138b8565b6000602f81905560308190556031555b603154603054602f54612ef69190613793565b612f009190613793565b612f0a9083613763565b6032556001600160a01b038416600090815260208052604081208054849290612f34908490613763565b9091555050602e54640100000000900460ff168015612f5d57506001600160a01b03831661dead145b15612f815760325460076000828254612f769190613763565b90915550612fb19050565b6032546001600160a01b038416600090815260208052604081208054909190612fab908490613793565b90915550505b826001600160a01b0316846001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef603254604051612ff891815260200190565b60405180910390a36030541561303a576030546001546001600160a01b0316600090815260208052604081208054909190613034908490613793565b90915550505b6031541561307e5760315430600090815260208052604081208054909190613063908490613793565b9091555050602b8054906000613078836139d5565b91905055505b602f5415611bba57602e54640100000000900460ff16156130b157602f546007546130a99190613763565b600755611bba565b602f5461dead6000908152602080527fcbaad361c71be11fa6bdbe0e740c6259be964b32182da2da47b54472477c6a1780549091906130f1908490613793565b909155505050505050565b6040805160028082526060820183526000926020830190803683370190505090503081600081518110613131576131316139ee565b6001600160a01b03928316602091820292909201810191909152601e54604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa15801561318a573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906131ae9190613a04565b816001815181106131c1576131c16139ee565b6001600160a01b039283166020918202929092010152601e546131e791309116846122e1565b601e5460405163791ac94760e01b81526001600160a01b039091169063791ac9479061164e908590600090869030904290600401613a21565b601e546132389030906001600160a01b0316846122e1565b601e5460025460405163f305d71960e01b81523060048201526024810185905260006044820181905260648201526001600160a01b0391821660848201524260a482015291169063f305d71990839060c40160606040518083038185885af11580156132a8573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906132cd9190613a92565b5050505050565b6000815180845260005b818110156132fa576020818501810151868301820152016132de565b506000602082860101526020601f19601f83011685010191505092915050565b602081526000612b4f60208301846132d4565b6001600160a01b038116811461334257600080fd5b50565b6000806040838503121561335857600080fd5b82356133638161332d565b946020939093013593505050565b60006020828403121561338357600080fd5b8135612b4f8161332d565b801515811461334257600080fd5b600080604083850312156133af57600080fd5b82356133ba8161332d565b915060208301356133ca8161338e565b809150509250929050565b6000602082840312156133e757600080fd5b8135612b4f8161338e565b60008060006060848603121561340757600080fd5b83356134128161332d565b925060208401356134228161332d565b929592945050506040919091013590565b60008060006060848603121561344857600080fd5b83356134538161332d565b925060208401356134638161332d565b915060408401356134738161332d565b809150509250925092565b600061014060018060a01b038d1683528b60208401528a604084015289606084015288608084015287151560a08401528060c08401526134c0818401886132d4565b905082810360e08401526134d481876132d4565b90508281036101008401526134e981866132d4565b90508281036101208401526134fe81856132d4565b9d9c50505050505050505050505050565b60006020828403121561352157600080fd5b5035919050565b6000806040838503121561353b57600080fd5b50508035926020909101359150565b634e487b7160e01b600052604160045260246000fd5b600082601f83011261357157600080fd5b813567ffffffffffffffff8082111561358c5761358c61354a565b604051601f8301601f19908116603f011681019082821181831017156135b4576135b461354a565b816040528381528660208588010111156135cd57600080fd5b836020870160208301376000602085830101528094505050505092915050565b60008060006060848603121561360257600080fd5b833567ffffffffffffffff8082111561361a57600080fd5b61362687838801613560565b9450602086013591508082111561363c57600080fd5b61364887838801613560565b9350604086013591508082111561365e57600080fd5b5061366b86828701613560565b9150509250925092565b600080600080600060a0868803121561368d57600080fd5b505083359560208501359550604085013594606081013594506080013592509050565b600080604083850312156136c357600080fd5b82356136ce8161332d565b915060208301356133ca8161332d565b600181811c908216806136f257607f821691505b60208210810361371257634e487b7160e01b600052602260045260246000fd5b50919050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b600052601160045260246000fd5b81810381811115610cb057610cb061374d565b60006020828403121561378857600080fd5b8151612b4f8161338e565b80820180821115610cb057610cb061374d565b600181815b808511156137e15781600019048211156137c7576137c761374d565b808516156137d457918102915b93841c93908002906137ab565b509250929050565b6000826137f857506001610cb0565b8161380557506000610cb0565b816001811461381b576002811461382557613841565b6001915050610cb0565b60ff8411156138365761383661374d565b50506001821b610cb0565b5060208310610133831016604e8410600b8410161715613864575081810a610cb0565b61386e83836137a6565b80600019048211156138825761388261374d565b029392505050565b6000612b4f83836137e9565b6000826138b357634e487b7160e01b600052601260045260246000fd5b500490565b8082028115828204841417610cb057610cb061374d565b601f82111561122957600081815260208120601f850160051c810160208610156138f65750805b601f850160051c820191505b8181101561167c57828155600101613902565b815167ffffffffffffffff81111561392f5761392f61354a565b6139438161393d84546136de565b846138cf565b602080601f83116001811461397857600084156139605750858301515b600019600386901b1c1916600185901b17855561167c565b600085815260208120601f198616915b828110156139a757888601518255948401946001909101908401613988565b50858210156139c55787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b6000600182016139e7576139e761374d565b5060010190565b634e487b7160e01b600052603260045260246000fd5b600060208284031215613a1657600080fd5b8151612b4f8161332d565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b81811015613a715784516001600160a01b031683529383019391830191600101613a4c565b50506001600160a01b03969096166060850152505050608001529392505050565b600080600060608486031215613aa757600080fd5b835192506020840151915060408401519050925092509256fea2646970667358221220aa68473c68349598c3d3accc88c2323c341e35b2a7691890f066de6a611240f664736f6c634300081100336080604052600180546001600160a01b031990811673e9e7cea3dedca5984780bafc599bd69add087d56179091556002805490911673bb4cdb9cbd36b01bd1cbaebf2de08d9173bc095c1790556ec097ce7bc90715b34b9f1000000000600c55610a8c600d55662386f26fc10000600e5534801561007c57600080fd5b50600380546001600160a01b03199081167310ed43c718714eb63d5aa57b78b54704e256024e179091556000805490911633179055610d46806100c06000396000f3fe6080604052600436106100e85760003560e01c8063997664d71161008a578063e2d2e21911610059578063e2d2e21914610266578063efca2eed1461027c578063ffb2c47914610292578063ffd49c84146102b257600080fd5b8063997664d7146101dc578063aa63e928146101f2578063ce7c2ac214610207578063d0e30db01461025e57600080fd5b80632d48e896116100c65780632d48e896146101585780633a98ef39146101785780634f9ff7731461018e5780634fab0ae8146101c657600080fd5b806311ce023d146100ed57806314b6ca961461011657806328fd319814610138575b600080fd5b3480156100f957600080fd5b50610103600c5481565b6040519081526020015b60405180910390f35b34801561012257600080fd5b50610136610131366004610b31565b6102c8565b005b34801561014457600080fd5b50610103610153366004610b5b565b610440565b34801561016457600080fd5b50610136610173366004610b76565b6104cb565b34801561018457600080fd5b5061010360085481565b34801561019a57600080fd5b506003546101ae906001600160a01b031681565b6040516001600160a01b03909116815260200161010d565b3480156101d257600080fd5b50610103600e5481565b3480156101e857600080fd5b5061010360095481565b3480156101fe57600080fd5b506101366104ed565b34801561021357600080fd5b50610243610222366004610b5b565b60076020526000908152604090208054600182015460029092015490919083565b6040805193845260208401929092529082015260600161010d565b6101366104f8565b34801561027257600080fd5b50610103600b5481565b34801561028857600080fd5b50610103600a5481565b34801561029e57600080fd5b506101366102ad366004610b98565b61072e565b3480156102be57600080fd5b50610103600d5481565b6000546001600160a01b031633146102df57600080fd5b6001600160a01b038216600090815260076020526040902054156103065761030682610832565b60008111801561032c57506001600160a01b038216600090815260076020526040902054155b1561039257600480546001600160a01b0384166000818152600560205260408120839055600183018455929092527f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b0180546001600160a01b03191690911790556103c5565b801580156103b757506001600160a01b03821660009081526007602052604090205415155b156103c5576103c582610973565b6001600160a01b0382166000908152600760205260409020546008546103ec908390610bc7565b6103f69190610bda565b6008556001600160a01b038216600090815260076020526040902081905561041d81610a88565b6001600160a01b0390921660009081526007602052604090206001019190915550565b6001600160a01b038116600090815260076020526040812054810361046757506000919050565b6001600160a01b03821660009081526007602052604081205461048990610a88565b6001600160a01b0384166000908152600760205260409020600101549091508082116104b9575060009392505050565b6104c38183610bda565b949350505050565b6000546001600160a01b031633146104e257600080fd5b600d91909155600e55565b6104f633610832565b565b6000546001600160a01b0316331461050f57600080fd5b6001546040516370a0823160e01b81523060048201526000916001600160a01b0316906370a0823190602401602060405180830381865afa158015610558573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061057c9190610bed565b6040805160028082526060820183529293506000929091602083019080368337505060025482519293506001600160a01b0316918391506000906105c2576105c2610c06565b6001600160a01b03928316602091820292909201015260018054835192169183919081106105f2576105f2610c06565b6001600160a01b03928316602091820292909201015260035460405163b6f9de9560e01b815291169063b6f9de9590349061063890600090869030904290600401610c1c565b6000604051808303818588803b15801561065157600080fd5b505af1158015610665573d6000803e3d6000fd5b50506001546040516370a0823160e01b8152306004820152600094508693506001600160a01b0390911691506370a0823190602401602060405180830381865afa1580156106b7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106db9190610bed565b6106e59190610bda565b905080600960008282546106f99190610bc7565b9091555050600854600c5461070f908390610c86565b6107199190610c9d565b600b546107269190610bc7565b600b55505050565b6000546001600160a01b0316331461074557600080fd5b6004546000819003610755575050565b6000805a905060005b848310801561076c57508381105b1561082b5783600f5410610780576000600f555b6107b26004600f548154811061079857610798610c06565b6000918252602090912001546001600160a01b0316610ab1565b156107e9576107e96004600f54815481106107cf576107cf610c06565b6000918252602090912001546001600160a01b0316610832565b5a6107f49083610bda565b6107fe9084610bc7565b92505a600f8054919350600061081383610cbf565b9190505550808061082390610cbf565b91505061075e565b5050505050565b6001600160a01b03811660009081526007602052604081205490036108545750565b600061085f82610440565b9050801561096f5780600a60008282546108799190610bc7565b90915550506001600160a01b03821660009081526006602090815260408083204290556007909152812060020180548392906108b6908490610bc7565b90915550506001600160a01b0382166000908152600760205260409020546108dd90610a88565b6001600160a01b03838116600081815260076020526040908190206001908101949094559254925163a9059cbb60e01b815260048101919091526024810184905291169063a9059cbb906044016020604051808303816000875af1158015610949573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061096d9190610cd8565b505b5050565b6004805461098390600190610bda565b8154811061099357610993610c06565b60009182526020808320909101546001600160a01b03848116845260059092526040909220546004805492909316929181106109d1576109d1610c06565b600091825260208083209190910180546001600160a01b0319166001600160a01b03948516179055918316815260059182905260408120546004805491939291610a1d90600190610bda565b81548110610a2d57610a2d610c06565b60009182526020808320909101546001600160a01b031683528201929092526040019020556004805480610a6357610a63610cfa565b600082815260209020810160001990810180546001600160a01b031916905501905550565b6000610aab600c54610aa5600b5485610af690919063ffffffff16565b90610b09565b92915050565b600d546001600160a01b03821660009081526006602052604081205490914291610adb9190610bc7565b108015610aab5750600e54610aef83610440565b1192915050565b6000610b028284610c86565b9392505050565b6000610b028284610c9d565b80356001600160a01b0381168114610b2c57600080fd5b919050565b60008060408385031215610b4457600080fd5b610b4d83610b15565b946020939093013593505050565b600060208284031215610b6d57600080fd5b610b0282610b15565b60008060408385031215610b8957600080fd5b50508035926020909101359150565b600060208284031215610baa57600080fd5b5035919050565b634e487b7160e01b600052601160045260246000fd5b80820180821115610aab57610aab610bb1565b81810381811115610aab57610aab610bb1565b600060208284031215610bff57600080fd5b5051919050565b634e487b7160e01b600052603260045260246000fd5b600060808201868352602060808185015281875180845260a086019150828901935060005b81811015610c665784516001600160a01b031683529383019391830191600101610c41565b50506001600160a01b039690961660408501525050506060015292915050565b8082028115828204841417610aab57610aab610bb1565b600082610cba57634e487b7160e01b600052601260045260246000fd5b500490565b600060018201610cd157610cd1610bb1565b5060010190565b600060208284031215610cea57600080fd5b81518015158114610b0257600080fd5b634e487b7160e01b600052603160045260246000fdfea26469706673582212203982fb676c398aea05689cfcfd2ad9f2fc2151073c3aa12b951bd46b091514bd64736f6c6343000811003300000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000e000000000000000000000000000000000000000000000000000000000000f42400000000000000000000000000000000000000000000000000000000000000004000000000000000000000000d05895edf847e1712721cc9e0427aa26289a6bc5000000000000000000000000000000000000000000000000000000000000000444454d4f00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000444454d4f00000000000000000000000000000000000000000000000000000000. Public maxShares ; // Total TENX cap rewards with Trevi notice Calculates a user who stakes tokens to multiple. Addresses during deployment Casino with rewards token contract address BNB Daily Bonus to build any contract to start the program characters can. Angels will start to calculate the distribution rate and end time - Total REWARDABLE REDEEMED. Of service, privacy policy account addresses and balances rewards each user is to. Test houses typically accept copper foil in EUT of the staked token point of what we watch as MCU. Logo 2023 Stack Exchange Inc ; user contributions licensed under CC BY-SA with coworkers, developers! Play on awesome games - sign up now for 25 free jackpot spins - worth $ 100s to... ; s reward tokens - rUMB # are also ERC-20 compatible at 11:19 Petr Hejda 60806040526207a120601d55600b602a556001602b55602e805464ffffff000019166401010100001790553480156200003757600080fd5b5060405162005216380380620052168339810160408190526200005a91620005b7565b600080546001600160a01b0319166001600160a01b0383161790556004620000838682620006da565b506005620000928582620006da565b506006829055620000a582600a620008bb565b620000b19084620008d0565b600755600654620000c490600a620008bb565b620000d09084620008d0565b600855600754600c819055600d819055600380546001600160a01b03199081166001600160a01b038581169182179093556001805483168217815560028054909316909117909155601c55600080549091168152602080805260409182902092909255805163c45a015560e01b815290517310ed43c718714eb63d5aa57b78b54704e256024e92839263c45a015592600482810193928290030181865afa15801562000180573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001a69190620008ea565b6001600160a01b031663c9c6539630836001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015620001f4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200021a9190620008ea565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af115801562000268573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200028e9190620008ea565b601f80546001600160a01b03199081166001600160a01b0393841617909155601e8054909116918316919091179055604051620002cb90620004cb565b604051809103906000f080158015620002e8573d6000803e3d6000fd5b50602980546001600160a01b0319166001600160a01b03928316179055601f805482166000908152602460209081526040808320805460ff199081166001908117909255308086526023855283862080548316841790557fcfb917c9f12a67b756fd43c7510cd55b6708bb9e7558ef1abd90c51590e0aada8054831684179055865488168652838620805483168417905585548816865283862080548316841790558554881686526026855283862080548316841790558086526022855283862080548316841790557fb3dad1d3e53c1132e958712e36d3ff32b0d9b9088698eb172c6b4faa7ff6d22e80548316841790558554881686528386208054831684179055955487168552602884528285208054821683179055858552828520805482168317905584549096168452818420805487168217905561dead84527fbbe88529b5ffa7b624cff06f0ef07c7e870a9b23b5b38a8a3fc35e04dc498bd18054909616179094556007549351938452919290917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a3600080546040516001600160a01b0390911691907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a35050505050506200090a565b610e06806200441083390190565b634e487b7160e01b600052604160045260246000fd5b600082601f8301126200050157600080fd5b81516001600160401b03808211156200051e576200051e620004d9565b604051601f8301601f19908116603f01168101908282118183101715620005495762000549620004d9565b816040528381526020925086838588010111156200056657600080fd5b600091505b838210156200058a57858201830151818301840152908201906200056b565b600093810190920192909252949350505050565b6001600160a01b0381168114620005b457600080fd5b50565b600080600080600060a08688031215620005d057600080fd5b85516001600160401b0380821115620005e857600080fd5b620005f689838a01620004ef565b965060208801519150808211156200060d57600080fd5b506200061c88828901620004ef565b945050604086015192506060860151915060808601516200063d816200059e565b809150509295509295909350565b600181811c908216806200066057607f821691505b6020821081036200068157634e487b7160e01b600052602260045260246000fd5b50919050565b601f821115620006d557600081815260208120601f850160051c81016020861015620006b05750805b601f850160051c820191505b81811015620006d157828155600101620006bc565b5050505b505050565b81516001600160401b03811115620006f657620006f6620004d9565b6200070e816200070784546200064b565b8462000687565b602080601f8311600181146200074657600084156200072d5750858301515b600019600386901b1c1916600185901b178555620006d1565b600085815260208120601f198616915b82811015620007775788860151825594840194600190910190840162000756565b5085821015620007965787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b634e487b7160e01b600052601160045260246000fd5b600181815b80851115620007fd578160001904821115620007e157620007e1620007a6565b80851615620007ef57918102915b93841c9390800290620007c1565b509250929050565b6000826200081657506001620008b5565b816200082557506000620008b5565b81600181146200083e5760028114620008495762000869565b6001915050620008b5565b60ff8411156200085d576200085d620007a6565b50506001821b620008b5565b5060208310610133831016604e8410600b84101617156200088e575081810a620008b5565b6200089a8383620007bc565b8060001904821115620008b157620008b1620007a6565b0290505b92915050565b6000620008c9838362000805565b9392505050565b8082028115828204841417620008b557620008b5620007a6565b600060208284031215620008fd57600080fd5b8151620008c9816200059e565b613af6806200091a6000396000f3fe6080604052600436106103d25760003560e01c806379ff124e116101fd578063a9059cbb11610118578063db9d16e2116100ab578063ec3e20951161007a578063ec3e209514610b80578063ecaaebb414610b88578063f3c87c3214610ba8578063f415051814610bbd578063fcf84b4114610bed57600080fd5b8063db9d16e214610aee578063dd62ed3e14610b0e578063e20075a514610b54578063ec36451214610b6a57600080fd5b8063bfe10928116100e7578063bfe1092814610a68578063c14a423914610a88578063cdfeab0b14610ab8578063d874158214610ace57600080fd5b8063a9059cbb146109f2578063ad604f2a14610a12578063b341528714610a32578063ba006fe714610a5257600080fd5b806395d89b4111610190578063a08368ad1161015f578063a08368ad1461097d578063a457c2d714610992578063a5c5eb01146109b2578063a7ce7cd2146109d257600080fd5b806395d89b41146108f85780639c3e76cb1461090d5780639cee21421461092d5780639eea4be31461095d57600080fd5b80638a41665a116101cc5780638a41665a146108985780638b5282c5146108ae5780638da5cb5b146108c457806394e62aad146108e257600080fd5b806379ff124e1461082c5780637b43db6d1461084c5780638793bf741461086c57806388cfa7ac1461088257600080fd5b80632eb7200e116102ed5780635db5ff36116102805780636d9ec6aa1161024f5780636d9ec6aa1461079257806370a08231146107b25780637495e6d5146107e7578063768dc710146107fc57600080fd5b80635db5ff3614610711578063606373fb1461073c57806365f22ea51461075c57806367c2750d1461077c57600080fd5b806340b86482116102bc57806340b8648214610692578063485d79eb146106b257806349bd5a5e146106d25780634a74bb02146106f257600080fd5b80632eb7200e1461061d578063313ce5671461063d57806339509351146106525780633bc3b54d1461067257600080fd5b806318160ddd1161036557806323b872dd1161033457806323b872dd146105b2578063283cd3e7146105d2578063292b6f9c146105f25780632b112e491461060857600080fd5b806318160ddd146105335780631b75f010146105485780631cdd3be314610568578063220f66961461059857600080fd5b8063103287b2116103a1578063103287b2146104895780631694505e146104ab578063171cb223146104e3578063175bf3ce1461050357600080fd5b806305bbb43f146103de57806306fdde0314610407578063095ea7b3146104295780630e8322731461045957600080fd5b366103d957005b600080fd5b3480156103ea57600080fd5b506103f460125481565b6040519081526020015b60405180910390f35b34801561041357600080fd5b5061041c610c0d565b6040516103fe919061331a565b34801561043557600080fd5b50610449610444366004613345565b610c9f565b60405190151581526020016103fe565b34801561046557600080fd5b50610449610474366004613371565b60286020526000908152604090205460ff1681565b34801561049557600080fd5b506104a96104a436600461339c565b610cb6565b005b3480156104b757600080fd5b50601e546104cb906001600160a01b031681565b6040516001600160a01b0390911681526020016103fe565b3480156104ef57600080fd5b506104a96104fe3660046133d5565b610d97565b34801561050f57600080fd5b5061044961051e366004613371565b60236020526000908152604090205460ff1681565b34801561053f57600080fd5b506007546103f4565b34801561055457600080fd5b506104a961056336600461339c565b610de1565b34801561057457600080fd5b50610449610583366004613371565b60276020526000908152604090205460ff1681565b3480156105a457600080fd5b50602c546104499060ff1681565b3480156105be57600080fd5b506104496105cd3660046133f2565b610e36565b3480156105de57600080fd5b506104a96105ed36600461339c565b610ed5565b3480156105fe57600080fd5b506103f460165481565b34801561061457600080fd5b506103f4610f2a565b34801561062957600080fd5b506104a9610638366004613433565b610f6a565b34801561064957600080fd5b506006546103f4565b34801561065e57600080fd5b5061044961066d366004613345565b61109c565b34801561067e57600080fd5b506104a961068d3660046133d5565b6110d2565b34801561069e57600080fd5b506104a96106ad366004613345565b611150565b3480156106be57600080fd5b506104a96106cd3660046133d5565b61122e565b3480156106de57600080fd5b50601f546104cb906001600160a01b031681565b3480156106fe57600080fd5b50602c5461044990610100900460ff1681565b34801561071d57600080fd5b50610726611276565b6040516103fe9a9998979695949392919061347e565b34801561074857600080fd5b506001546104cb906001600160a01b031681565b34801561076857600080fd5b506003546104cb906001600160a01b031681565b34801561078857600080fd5b506103f460135481565b34801561079e57600080fd5b506104a96107ad36600461339c565b611592565b3480156107be57600080fd5b506103f46107cd366004613371565b6001600160a01b0316600090815260208052604090205490565b3480156107f357600080fd5b506104a96116cc565b34801561080857600080fd5b50610449610817366004613371565b60226020526000908152604090205460ff1681565b34801561083857600080fd5b506104a961084736600461350f565b611795565b34801561085857600080fd5b506104a961086736600461339c565b6117d0565b34801561087857600080fd5b506103f460155481565b34801561088e57600080fd5b506103f4600e5481565b3480156108a457600080fd5b506103f4600f5481565b3480156108ba57600080fd5b506103f460145481565b3480156108d057600080fd5b506000546001600160a01b03166104cb565b3480156108ee57600080fd5b506103f460105481565b34801561090457600080fd5b5061041c611869565b34801561091957600080fd5b506104a961092836600461350f565b611878565b34801561093957600080fd5b50610449610948366004613371565b60266020526000908152604090205460ff1681565b34801561096957600080fd5b506104a9610978366004613528565b61190c565b34801561098957600080fd5b506104a9611a24565b34801561099e57600080fd5b506104496109ad366004613345565b611a98565b3480156109be57600080fd5b506104a96109cd36600461339c565b611b15565b3480156109de57600080fd5b506104a96109ed3660046135ed565b611b6a565b3480156109fe57600080fd5b50610449610a0d366004613345565b611bc0565b348015610a1e57600080fd5b506104a9610a2d366004613371565b611bcd565b348015610a3e57600080fd5b506104a9610a4d36600461350f565b611c8e565b348015610a5e57600080fd5b506103f460115481565b348015610a7457600080fd5b506029546104cb906001600160a01b031681565b348015610a9457600080fd5b50610449610aa3366004613371565b60246020526000908152604090205460ff1681565b348015610ac457600080fd5b506103f460195481565b348015610ada57600080fd5b506104a9610ae9366004613528565b611ccc565b348015610afa57600080fd5b506104a9610b09366004613675565b611f08565b348015610b1a57600080fd5b506103f4610b293660046136b0565b6001600160a01b03918216600090815260216020908152604080832093909416825291909152205490565b348015610b6057600080fd5b506103f460175481565b348015610b7657600080fd5b506103f460185481565b6104a9612050565b348015610b9457600080fd5b506104a9610ba3366004613675565b612118565b348015610bb457600080fd5b506104a9612253565b348015610bc957600080fd5b50610449610bd8366004613371565b60256020526000908152604090205460ff1681565b348015610bf957600080fd5b506002546104cb906001600160a01b031681565b606060048054610c1c906136de565b80601f0160208091040260200160405190810160405280929190818152602001828054610c48906136de565b8015610c955780601f10610c6a57610100808354040283529160200191610c95565b820191906000526020600020905b815481529060010190602001808311610c7857829003601f168201915b5050505050905090565b6000610cac3384846122e1565b5060015b92915050565b6000546001600160a01b0316610d195773d05895edf847e1712721cc9e0427aa26289a6bc53314610d145760405162461bcd60e51b815260206004820152600360248201526245303160e81b60448201526064015b60405180910390fd5b610d59565b6000546001600160a01b03163314610d595760405162461bcd60e51b815260206004820152600360248201526222981960e91b6044820152606401610d0b565b6001600160a01b039091166000908152602460209081526040808320805494151560ff19958616811790915560239092529091208054909216179055565b6000546001600160a01b03163314610dc15760405162461bcd60e51b8152600401610d0b90613718565b602e80549115156401000000000264ff0000000019909216919091179055565b6000546001600160a01b03163314610e0b5760405162461bcd60e51b8152600401610d0b90613718565b6001600160a01b03919091166000908152602360205260409020805460ff1916911515919091179055565b6000610e43848484612405565b610ecb8433610ec68560405180604001604052806012815260200171105b1b1bddd85b98d948195e18d95959195960721b815250602160008b6001600160a01b03166001600160a01b031681526020019081526020016000206000610ea53390565b6001600160a01b031681526020810191909152604001600020549190612b17565b6122e1565b5060019392505050565b6000546001600160a01b03163314610eff5760405162461bcd60e51b8152600401610d0b90613718565b6001600160a01b03919091166000908152602660205260409020805460ff1916911515919091179055565b61dead6000908152602080527fcbaad361c71be11fa6bdbe0e740c6259be964b32182da2da47b54472477c6a1754600754610f659190613763565b905090565b6000546001600160a01b03163314610f945760405162461bcd60e51b8152600401610d0b90613718565b6001600160a01b038316610fd05760405162461bcd60e51b815260206004820152600360248201526222989960e91b6044820152606401610d0b565b600180546001600160a01b0319166001600160a01b038581169190911790915581166110245760405162461bcd60e51b815260206004820152600360248201526245313360e81b6044820152606401610d0b565b600280546001600160a01b0319166001600160a01b038481169190911790915581166110785760405162461bcd60e51b8152602060048201526003602482015262114c4d60ea1b6044820152606401610d0b565b600380546001600160a01b0319166001600160a01b03929092169190911790555050565b3360008181526021602090815260408083206001600160a01b03871684529091528120549091610cac918590610ec69086612b43565b6000546001600160a01b031633146110fc5760405162461bcd60e51b8152600401610d0b90613718565b602c80548215156101000261ff00199091161790556040517f23a579f47956e637483932f4e2637a61668467d7758e542cbcf63b017fc150b99061114590831515815260200190565b60405180910390a150565b6000546001600160a01b0316331461117a5760405162461bcd60e51b8152600401610d0b90613718565b306001600160a01b038316036111b85760405162461bcd60e51b815260206004820152600360248201526208a62760eb1b6044820152606401610d0b565b60405163a9059cbb60e01b8152336004820152602481018290526001600160a01b0383169063a9059cbb906044016020604051808303816000875af1158015611205573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112299190613776565b505050565b6000546001600160a01b031633146112585760405162461bcd60e51b8152600401610d0b90613718565b602e805491151563010000000263ff00000019909216919091179055565b60008060008060008060608060608060006040518060400160405280601781526020017f68747470733a2f2f746f6b656e73627967656e2e636f6d00000000000000000081525090506000601254601354601154601054600f54600e546112dd9190613793565b6112e79190613793565b6112f19190613793565b6112fb9190613793565b6113059190613793565b905060006018546019546017546016546015546014546113259190613793565b61132f9190613793565b6113399190613793565b6113439190613793565b61134d9190613793565b90506000600654600a611360919061388a565b600c5461136d9190613896565b90506000600654600a611380919061388a565b600d5461138d9190613896565b90508181111561139a5750805b60008054906101000a90046001600160a01b031681838686602e60029054906101000a900460ff166009600a600b8d8380546113d5906136de565b80601f0160208091040260200160405190810160405280929190818152602001828054611401906136de565b801561144e5780601f106114235761010080835404028352916020019161144e565b820191906000526020600020905b81548152906001019060200180831161143157829003601f168201915b50505050509350828054611461906136de565b80601f016020809104026020016040519081016040528092919081815260200182805461148d906136de565b80156114da5780601f106114af576101008083540402835291602001916114da565b820191906000526020600020905b8154815290600101906020018083116114bd57829003601f168201915b505050505092508180546114ed906136de565b80601f0160208091040260200160405190810160405280929190818152602001828054611519906136de565b80156115665780601f1061153b57610100808354040283529160200191611566565b820191906000526020600020905b81548152906001019060200180831161154957829003601f168201915b505050505091509e509e509e509e509e509e509e509e509e509e50505050505090919293949596979899565b6000546001600160a01b031633146115bc5760405162461bcd60e51b8152600401610d0b90613718565b6001600160a01b03821630148015906115e35750601f546001600160a01b03838116911614155b6115ec57600080fd5b6001600160a01b0382166000908152602860205260409020805460ff1916821580159190911790915561168457602954604051630a5b654b60e11b81526001600160a01b03848116600483015260006024830152909116906314b6ca96906044015b600060405180830381600087803b15801561166857600080fd5b505af115801561167c573d6000803e3d6000fd5b505050505050565b6029546001600160a01b03838116600081815260208052604090819020549051630a5b654b60e11b8152600481019290925260248201529116906314b6ca969060440161164e565b6000546001600160a01b031633146116f65760405162461bcd60e51b8152600401610d0b90613718565b602e54610100900460ff161561170b57600080fd5b602c805461ff00191661010017905542602d55602e805461010161ffff19909116179055601c54600f819055601581905560135460115460105461174f9190613793565b6117599190613793565b6117639190613793565b601a5560155460195460175460165461177c9190613793565b6117869190613793565b6117909190613793565b601b55565b6000546001600160a01b031633146117bf5760405162461bcd60e51b8152600401610d0b90613718565b6117ca816001613793565b602a5550565b6000546001600160a01b031633146117fa5760405162461bcd60e51b8152600401610d0b90613718565b801561183e57602e5462010000900460ff1661183e5760405162461bcd60e51b815260206004820152600360248201526245303960e81b6044820152606401610d0b565b6001600160a01b03919091166000908152602760205260409020805460ff1916911515919091179055565b606060058054610c1c906136de565b6000546001600160a01b031633146118a25760405162461bcd60e51b8152600401610d0b90613718565b602c5460ff16156118db5760405162461bcd60e51b815260206004820152600360248201526245313760e81b6044820152606401610d0b565b3060009081526020805260408120549060646118f784846138b8565b6119019190613896565b905061122981612b56565b6000546001600160a01b031633146119365760405162461bcd60e51b8152600401610d0b90613718565b610b4082111561196e5760405162461bcd60e51b815260206004820152600360248201526204531360ec1b6044820152606401610d0b565b671bc16d674ec800008111156119ac5760405162461bcd60e51b815260206004820152600360248201526245313160e81b6044820152606401610d0b565b60006119b983603c6138b8565b6029546040516316a4744b60e11b815260048101839052602481018590529192506001600160a01b031690632d48e89690604401600060405180830381600087803b158015611a0757600080fd5b505af1158015611a1b573d6000803e3d6000fd5b50505050505050565b6000546001600160a01b03163314611a4e5760405162461bcd60e51b8152600401610d0b90613718565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000610cac3384610ec6856040518060400160405280601e81526020017f44656372656173656420616c6c6f77616e63652062656c6f77207a65726f000081525060216000611ae43390565b6001600160a01b03908116825260208083019390935260409182016000908120918d16815292529020549190612b17565b6000546001600160a01b03163314611b3f5760405162461bcd60e51b8152600401610d0b90613718565b6001600160a01b03919091166000908152602260205260409020805460ff1916911515919091179055565b6000546001600160a01b03163314611b945760405162461bcd60e51b8152600401610d0b90613718565b6009611ba08482613915565b50600a611bad8382613915565b50600b611bba8282613915565b50505050565b6000610cac338484612405565b6000546001600160a01b03163314611bf75760405162461bcd60e51b8152600401610d0b90613718565b6001600160a01b038116611c335760405162461bcd60e51b815260206004820152600360248201526222989b60e91b6044820152606401610d0b565b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b6000546001600160a01b03163314611cb85760405162461bcd60e51b8152600401610d0b90613718565b620b71b08110611cc757600080fd5b601d55565b6000546001600160a01b03163314611cf65760405162461bcd60e51b8152600401610d0b90613718565b602e5460ff1680611d0f5750602e54610100900460ff16155b15611dd357600654611d2290600a61388a565b6103e8600854611d329190613896565b611d3c9190613896565b821015611d715760405162461bcd60e51b815260206004820152600360248201526245303560e81b6044820152606401610d0b565b600654611d7f90600a61388a565b6103e8600854611d8f9190613896565b611d999190613896565b811015611dce5760405162461bcd60e51b815260206004820152600360248201526222981b60e91b6044820152606401610d0b565b611e8b565b600654611de190600a61388a565b60c8600854611df09190613896565b611dfa9190613896565b821015611e2f5760405162461bcd60e51b815260206004820152600360248201526245303760e81b6044820152606401610d0b565b600654611e3d90600a61388a565b60c8600854611e4c9190613896565b611e569190613896565b811015611e8b5760405162461bcd60e51b815260206004820152600360248201526208a60760eb1b6044820152606401610d0b565b600654611e9990600a61388a565b611ea390836138b8565b600d55600654611eb490600a61388a565b611ebe90826138b8565b600c819055600d546040517f365e3bb1cf8642a5436f3c8d9f98cf0c183b3dd7c8dc08ec1964ad61f13596fd92611efc928252602082015260400190565b60405180910390a15050565b6000546001600160a01b03163314611f325760405162461bcd60e51b8152600401610d0b90613718565b601c546015819055600f90828486611f4a898b613793565b611f549190613793565b611f5e9190613793565b611f689190613793565b611f729190613793565b1115611fa65760405162461bcd60e51b8152602060048201526003602482015262114c0d60ea1b6044820152606401610d0b565b6017859055601684905560148390556018829055601981905560155481611fcd8688613793565b611fd79190613793565b611fe19190613793565b601b55601754601654601454601854601954601554604080519687526020870195909552938501929092526060840152608083015260a08201527f44b87fbaffcb9380b19391bba04be938212d9cf198f6a7106a3bf6bf871276b89060c0015b60405180910390a15050505050565b6000546001600160a01b0316331461207a5760405162461bcd60e51b8152600401610d0b90613718565b34671bc16d674ec80000146120b75760405162461bcd60e51b815260206004820152600360248201526245313560e81b6044820152606401610d0b565b6120d573de491c65e507d281b6a3688d11e8fc222eee097534612daa565b506000601c819055600f8190556015556011546013546010546120f89190613793565b6121029190613793565b601a556017546019546016546117869190613793565b6000546001600160a01b031633146121425760405162461bcd60e51b8152600401610d0b90613718565b601c54600f81815590828486612158898b613793565b6121629190613793565b61216c9190613793565b6121769190613793565b6121809190613793565b11156121b45760405162461bcd60e51b815260206004820152600360248201526245303360e81b6044820152606401610d0b565b60118590556010849055600e83905560128290556013819055600f54816121db8688613793565b6121e59190613793565b6121ef9190613793565b601a55601154601054600e54601254601354600f54604080519687526020870195909552938501929092526060840152608083015260a08201527f0b8c85a6ec55eff46391335b05b46d697dfb3b8c6d65291352c6087975a289679060c001612041565b6000546001600160a01b0316331461227d5760405162461bcd60e51b8152600401610d0b90613718565b602e805462ff00ff191690556008546122989060c890613896565b600d5410156122b45760c86008546122b09190613896565b600d555b60c86008546122c39190613896565b600c5410156122df5760c86008546122db9190613896565b600c555b565b6001600160a01b0383166123435760405162461bcd60e51b8152602060048201526024808201527f42455032303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610d0b565b6001600160a01b0382166123a45760405162461bcd60e51b815260206004820152602260248201527f42455032303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610d0b565b6001600160a01b0383811660008181526021602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b602e54610100900460ff16612485576001600160a01b03831660009081526026602052604090205460ff168061245357506001600160a01b03821660009081526026602052604090205460ff165b6124855760405162461bcd60e51b815260206004820152600360248201526245313960e81b6044820152606401610d0b565b602e5460ff16156125fe57602d5461249f90610e10613793565b42111561250d57602e805462ff00ff191690556008546124c19060c890613896565b600d5410156124dd5760c86008546124d99190613896565b600d555b60c86008546124ec9190613896565b600c5410156125085760c86008546125049190613896565b600c555b6125fe565b6001600160a01b03821660009081526025602052604090205460ff161561255c5760405162461bcd60e51b815260206004820152600360248201526204532360ec1b6044820152606401610d0b565b6001600160a01b03831660009081526024602052604090205460ff1680156125915750602d5461258d906003613793565b4211155b156125fe57600a600c546125a59190613896565b8111156125da5760405162461bcd60e51b815260206004820152600360248201526245323160e81b6044820152606401610d0b565b6001600160a01b0382166000908152602560205260409020805460ff191660011790555b6000546001600160a01b03838116911614612687576001600160a01b03821660009081526027602052604090205460ff1615801561265557506001600160a01b03831660009081526027602052604090205460ff16155b6126875760405162461bcd60e51b8152602060048201526003602482015262114c8d60ea1b6044820152606401610d0b565b6001600160a01b03821660009081526023602052604090205460ff16612701576001600160a01b0382166000908152602080526040902054600c546126cc8383613793565b11156126ff5760405162461bcd60e51b8152602060048201526002602482015261323560f01b6044820152606401610d0b565b505b6001600160a01b03821660009081526023602052604090205460ff16158061274257506001600160a01b03831660009081526023602052604090205460ff16155b1561277e57600d5481111561277e5760405162461bcd60e51b8152602060048201526002602482015261191b60f11b6044820152606401610d0b565b6001600160a01b0383166127b95760405162461bcd60e51b8152602060048201526002602482015261323760f01b6044820152606401610d0b565b6001600160a01b0382166127f45760405162461bcd60e51b8152602060048201526002602482015261064760f31b6044820152606401610d0b565b600081116128295760405162461bcd60e51b8152602060048201526002602482015261323960f01b6044820152606401610d0b565b6001600160a01b03831660009081526028602052604090205460ff166128b9576029546001600160a01b03848116600081815260208052604090819020549051630a5b654b60e11b8152600481019290925260248201529116906314b6ca9690604401600060405180830381600087803b1580156128a657600080fd5b505af19250505080156128b7575060015b505b6001600160a01b03821660009081526028602052604090205460ff16612949576029546001600160a01b03838116600081815260208052604090819020549051630a5b654b60e11b8152600481019290925260248201529116906314b6ca9690604401600060405180830381600087803b15801561293657600080fd5b505af1925050508015612947575060015b505b602954601d546040516001624d3b8760e01b031981526001600160a01b039092169163ffb2c479916129819160040190815260200190565b600060405180830381600087803b15801561299b57600080fd5b505af19250505080156129ac575060015b506001600160a01b03821660009081526024602052604090205460ff1680156129d85750602c5460ff16155b80156129eb5750602c54610100900460ff165b15612a3457602a54602b5410612a34573060009081526020805260409020548015612a3257600d548111612a2757612a2281612b56565b612a32565b612a32600d54612b56565b505b602e805465ff00000000001916650100000000001790556001600160a01b03831660009081526022602052604090205460ff1680612a8a57506001600160a01b03821660009081526022602052604090205460ff165b80612ae75750602e546301000000900460ff168015612ac257506001600160a01b03821660009081526024602052604090205460ff16155b8015612ae757506001600160a01b03831660009081526024602052604090205460ff16155b15612afc57602e805465ff0000000000191690555b611229838383602e60059054906101000a900460ff16612e06565b60008184841115612b3b5760405162461bcd60e51b8152600401610d0b919061331a565b505050900390565b6000612b4f8284613793565b9392505050565b602c805460ff19166001179055601b54601a54600091612b7591613793565b90506000600282601654601054612b8c9190613793565b612b9690866138b8565b612ba09190613896565b612baa9190613896565b90506000612bb88285613763565b905047612bc4826130fc565b6000612bd08247613763565b90506000601654601054612be49190613793565b612bef8760026138b8565b612bf99190613763565b9050600081601654601054612c0e9190613793565b612c1890856138b8565b612c229190613896565b9050600082601554600f54612c379190613793565b612c4190866138b8565b612c4c9060026138b8565b612c569190613896565b9050600083601954601354612c6b9190613793565b612c7590876138b8565b612c809060026138b8565b612c8a9190613896565b90508715612cde57612c9c8884613220565b60408051898152602081018590529081018990527f17bbfb9a6069321b6ded73bd96327c9e6b7212a5cd51ff219cd61370acafb5619060600160405180910390a15b8115612d0457612d0273de491c65e507d281b6a3688d11e8fc222eee097583612daa565b505b8015612d6e57602960009054906101000a90046001600160a01b03166001600160a01b031663d0e30db0826040518263ffffffff1660e01b81526004016000604051808303818588803b158015612d5a57600080fd5b505af193505050508015612d6c575060015b505b4795508515612d8f57600354612d8d906001600160a01b031687612daa565b505b50506001602b555050602c805460ff19169055505050505050565b6000826001600160a01b03168260405160006040518083038185875af1925050503d8060008114612df7576040519150601f19603f3d011682016040523d82523d6000602084013e612dfc565b606091505b5090949350505050565b8015612ed3576001600160a01b03831660009081526024602052604090205460ff1615612e8957606460145483612e3d91906138b8565b612e479190613896565b602f55601854606490612e5a90846138b8565b612e649190613896565b603055601b54606490612e7790846138b8565b612e819190613896565b603155612ee3565b6064600e5483612e9991906138b8565b612ea39190613896565b602f55601254606490612eb690846138b8565b612ec09190613896565b603055601a54606490612e7790846138b8565b6000602f81905560308190556031555b603154603054602f54612ef69190613793565b612f009190613793565b612f0a9083613763565b6032556001600160a01b038416600090815260208052604081208054849290612f34908490613763565b9091555050602e54640100000000900460ff168015612f5d57506001600160a01b03831661dead145b15612f815760325460076000828254612f769190613763565b90915550612fb19050565b6032546001600160a01b038416600090815260208052604081208054909190612fab908490613793565b90915550505b826001600160a01b0316846001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef603254604051612ff891815260200190565b60405180910390a36030541561303a576030546001546001600160a01b0316600090815260208052604081208054909190613034908490613793565b90915550505b6031541561307e5760315430600090815260208052604081208054909190613063908490613793565b9091555050602b8054906000613078836139d5565b91905055505b602f5415611bba57602e54640100000000900460ff16156130b157602f546007546130a99190613763565b600755611bba565b602f5461dead6000908152602080527fcbaad361c71be11fa6bdbe0e740c6259be964b32182da2da47b54472477c6a1780549091906130f1908490613793565b909155505050505050565b6040805160028082526060820183526000926020830190803683370190505090503081600081518110613131576131316139ee565b6001600160a01b03928316602091820292909201810191909152601e54604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa15801561318a573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906131ae9190613a04565b816001815181106131c1576131c16139ee565b6001600160a01b039283166020918202929092010152601e546131e791309116846122e1565b601e5460405163791ac94760e01b81526001600160a01b039091169063791ac9479061164e908590600090869030904290600401613a21565b601e546132389030906001600160a01b0316846122e1565b601e5460025460405163f305d71960e01b81523060048201526024810185905260006044820181905260648201526001600160a01b0391821660848201524260a482015291169063f305d71990839060c40160606040518083038185885af11580156132a8573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906132cd9190613a92565b5050505050565b6000815180845260005b818110156132fa576020818501810151868301820152016132de565b506000602082860101526020601f19601f83011685010191505092915050565b602081526000612b4f60208301846132d4565b6001600160a01b038116811461334257600080fd5b50565b6000806040838503121561335857600080fd5b82356133638161332d565b946020939093013593505050565b60006020828403121561338357600080fd5b8135612b4f8161332d565b801515811461334257600080fd5b600080604083850312156133af57600080fd5b82356133ba8161332d565b915060208301356133ca8161338e565b809150509250929050565b6000602082840312156133e757600080fd5b8135612b4f8161338e565b60008060006060848603121561340757600080fd5b83356134128161332d565b925060208401356134228161332d565b929592945050506040919091013590565b60008060006060848603121561344857600080fd5b83356134538161332d565b925060208401356134638161332d565b915060408401356134738161332d565b809150509250925092565b600061014060018060a01b038d1683528b60208401528a604084015289606084015288608084015287151560a08401528060c08401526134c0818401886132d4565b905082810360e08401526134d481876132d4565b90508281036101008401526134e981866132d4565b90508281036101208401526134fe81856132d4565b9d9c50505050505050505050505050565b60006020828403121561352157600080fd5b5035919050565b6000806040838503121561353b57600080fd5b50508035926020909101359150565b634e487b7160e01b600052604160045260246000fd5b600082601f83011261357157600080fd5b813567ffffffffffffffff8082111561358c5761358c61354a565b604051601f8301601f19908116603f011681019082821181831017156135b4576135b461354a565b816040528381528660208588010111156135cd57600080fd5b836020870160208301376000602085830101528094505050505092915050565b60008060006060848603121561360257600080fd5b833567ffffffffffffffff8082111561361a57600080fd5b61362687838801613560565b9450602086013591508082111561363c57600080fd5b61364887838801613560565b9350604086013591508082111561365e57600080fd5b5061366b86828701613560565b9150509250925092565b600080600080600060a0868803121561368d57600080fd5b505083359560208501359550604085013594606081013594506080013592509050565b600080604083850312156136c357600080fd5b82356136ce8161332d565b915060208301356133ca8161332d565b600181811c908216806136f257607f821691505b60208210810361371257634e487b7160e01b600052602260045260246000fd5b50919050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b600052601160045260246000fd5b81810381811115610cb057610cb061374d565b60006020828403121561378857600080fd5b8151612b4f8161338e565b80820180821115610cb057610cb061374d565b600181815b808511156137e15781600019048211156137c7576137c761374d565b808516156137d457918102915b93841c93908002906137ab565b509250929050565b6000826137f857506001610cb0565b8161380557506000610cb0565b816001811461381b576002811461382557613841565b6001915050610cb0565b60ff8411156138365761383661374d565b50506001821b610cb0565b5060208310610133831016604e8410600b8410161715613864575081810a610cb0565b61386e83836137a6565b80600019048211156138825761388261374d565b029392505050565b6000612b4f83836137e9565b6000826138b357634e487b7160e01b600052601260045260246000fd5b500490565b8082028115828204841417610cb057610cb061374d565b601f82111561122957600081815260208120601f850160051c810160208610156138f65750805b601f850160051c820191505b8181101561167c57828155600101613902565b815167ffffffffffffffff81111561392f5761392f61354a565b6139438161393d84546136de565b846138cf565b602080601f83116001811461397857600084156139605750858301515b600019600386901b1c1916600185901b17855561167c565b600085815260208120601f198616915b828110156139a757888601518255948401946001909101908401613988565b50858210156139c55787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b6000600182016139e7576139e761374d565b5060010190565b634e487b7160e01b600052603260045260246000fd5b600060208284031215613a1657600080fd5b8151612b4f8161332d565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b81811015613a715784516001600160a01b031683529383019391830191600101613a4c565b50506001600160a01b03969096166060850152505050608001529392505050565b600080600060608486031215613aa757600080fd5b835192506020840151915060408401519050925092509256fea2646970667358221220aa68473c68349598c3d3accc88c2323c341e35b2a7691890f066de6a611240f664736f6c634300081100336080604052600180546001600160a01b031990811673e9e7cea3dedca5984780bafc599bd69add087d56179091556002805490911673bb4cdb9cbd36b01bd1cbaebf2de08d9173bc095c1790556ec097ce7bc90715b34b9f1000000000600c55610a8c600d55662386f26fc10000600e5534801561007c57600080fd5b50600380546001600160a01b03199081167310ed43c718714eb63d5aa57b78b54704e256024e179091556000805490911633179055610d46806100c06000396000f3fe6080604052600436106100e85760003560e01c8063997664d71161008a578063e2d2e21911610059578063e2d2e21914610266578063efca2eed1461027c578063ffb2c47914610292578063ffd49c84146102b257600080fd5b8063997664d7146101dc578063aa63e928146101f2578063ce7c2ac214610207578063d0e30db01461025e57600080fd5b80632d48e896116100c65780632d48e896146101585780633a98ef39146101785780634f9ff7731461018e5780634fab0ae8146101c657600080fd5b806311ce023d146100ed57806314b6ca961461011657806328fd319814610138575b600080fd5b3480156100f957600080fd5b50610103600c5481565b6040519081526020015b60405180910390f35b34801561012257600080fd5b50610136610131366004610b31565b6102c8565b005b34801561014457600080fd5b50610103610153366004610b5b565b610440565b34801561016457600080fd5b50610136610173366004610b76565b6104cb565b34801561018457600080fd5b5061010360085481565b34801561019a57600080fd5b506003546101ae906001600160a01b031681565b6040516001600160a01b03909116815260200161010d565b3480156101d257600080fd5b50610103600e5481565b3480156101e857600080fd5b5061010360095481565b3480156101fe57600080fd5b506101366104ed565b34801561021357600080fd5b50610243610222366004610b5b565b60076020526000908152604090208054600182015460029092015490919083565b6040805193845260208401929092529082015260600161010d565b6101366104f8565b34801561027257600080fd5b50610103600b5481565b34801561028857600080fd5b50610103600a5481565b34801561029e57600080fd5b506101366102ad366004610b98565b61072e565b3480156102be57600080fd5b50610103600d5481565b6000546001600160a01b031633146102df57600080fd5b6001600160a01b038216600090815260076020526040902054156103065761030682610832565b60008111801561032c57506001600160a01b038216600090815260076020526040902054155b1561039257600480546001600160a01b0384166000818152600560205260408120839055600183018455929092527f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b0180546001600160a01b03191690911790556103c5565b801580156103b757506001600160a01b03821660009081526007602052604090205415155b156103c5576103c582610973565b6001600160a01b0382166000908152600760205260409020546008546103ec908390610bc7565b6103f69190610bda565b6008556001600160a01b038216600090815260076020526040902081905561041d81610a88565b6001600160a01b0390921660009081526007602052604090206001019190915550565b6001600160a01b038116600090815260076020526040812054810361046757506000919050565b6001600160a01b03821660009081526007602052604081205461048990610a88565b6001600160a01b0384166000908152600760205260409020600101549091508082116104b9575060009392505050565b6104c38183610bda565b949350505050565b6000546001600160a01b031633146104e257600080fd5b600d91909155600e55565b6104f633610832565b565b6000546001600160a01b0316331461050f57600080fd5b6001546040516370a0823160e01b81523060048201526000916001600160a01b0316906370a0823190602401602060405180830381865afa158015610558573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061057c9190610bed565b6040805160028082526060820183529293506000929091602083019080368337505060025482519293506001600160a01b0316918391506000906105c2576105c2610c06565b6001600160a01b03928316602091820292909201015260018054835192169183919081106105f2576105f2610c06565b6001600160a01b03928316602091820292909201015260035460405163b6f9de9560e01b815291169063b6f9de9590349061063890600090869030904290600401610c1c565b6000604051808303818588803b15801561065157600080fd5b505af1158015610665573d6000803e3d6000fd5b50506001546040516370a0823160e01b8152306004820152600094508693506001600160a01b0390911691506370a0823190602401602060405180830381865afa1580156106b7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106db9190610bed565b6106e59190610bda565b905080600960008282546106f99190610bc7565b9091555050600854600c5461070f908390610c86565b6107199190610c9d565b600b546107269190610bc7565b600b55505050565b6000546001600160a01b0316331461074557600080fd5b6004546000819003610755575050565b6000805a905060005b848310801561076c57508381105b1561082b5783600f5410610780576000600f555b6107b26004600f548154811061079857610798610c06565b6000918252602090912001546001600160a01b0316610ab1565b156107e9576107e96004600f54815481106107cf576107cf610c06565b6000918252602090912001546001600160a01b0316610832565b5a6107f49083610bda565b6107fe9084610bc7565b92505a600f8054919350600061081383610cbf565b9190505550808061082390610cbf565b91505061075e565b5050505050565b6001600160a01b03811660009081526007602052604081205490036108545750565b600061085f82610440565b9050801561096f5780600a60008282546108799190610bc7565b90915550506001600160a01b03821660009081526006602090815260408083204290556007909152812060020180548392906108b6908490610bc7565b90915550506001600160a01b0382166000908152600760205260409020546108dd90610a88565b6001600160a01b03838116600081815260076020526040908190206001908101949094559254925163a9059cbb60e01b815260048101919091526024810184905291169063a9059cbb906044016020604051808303816000875af1158015610949573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061096d9190610cd8565b505b5050565b6004805461098390600190610bda565b8154811061099357610993610c06565b60009182526020808320909101546001600160a01b03848116845260059092526040909220546004805492909316929181106109d1576109d1610c06565b600091825260208083209190910180546001600160a01b0319166001600160a01b03948516179055918316815260059182905260408120546004805491939291610a1d90600190610bda565b81548110610a2d57610a2d610c06565b60009182526020808320909101546001600160a01b031683528201929092526040019020556004805480610a6357610a63610cfa565b600082815260209020810160001990810180546001600160a01b031916905501905550565b6000610aab600c54610aa5600b5485610af690919063ffffffff16565b90610b09565b92915050565b600d546001600160a01b03821660009081526006602052604081205490914291610adb9190610bc7565b108015610aab5750600e54610aef83610440565b1192915050565b6000610b028284610c86565b9392505050565b6000610b028284610c9d565b80356001600160a01b0381168114610b2c57600080fd5b919050565b60008060408385031215610b4457600080fd5b610b4d83610b15565b946020939093013593505050565b600060208284031215610b6d57600080fd5b610b0282610b15565b60008060408385031215610b8957600080fd5b50508035926020909101359150565b600060208284031215610baa57600080fd5b5035919050565b634e487b7160e01b600052601160045260246000fd5b80820180821115610aab57610aab610bb1565b81810381811115610aab57610aab610bb1565b600060208284031215610bff57600080fd5b5051919050565b634e487b7160e01b600052603260045260246000fd5b600060808201868352602060808185015281875180845260a086019150828901935060005b81811015610c665784516001600160a01b031683529383019391830191600101610c41565b50506001600160a01b039690961660408501525050506060015292915050565b8082028115828204841417610aab57610aab610bb1565b600082610cba57634e487b7160e01b600052601260045260246000fd5b500490565b600060018201610cd157610cd1610bb1565b5060010190565b600060208284031215610cea57600080fd5b81518015158114610b0257600080fd5b634e487b7160e01b600052603160045260246000fdfea26469706673582212203982fb676c398aea05689cfcfd2ad9f2fc2151073c3aa12b951bd46b091514bd64736f6c6343000811003300000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000e000000000000000000000000000000000000000000000000000000000000f42400000000000000000000000000000000000000000000000000000000000000004000000000000000000000000d05895edf847e1712721cc9e0427aa26289a6bc5000000000000000000000000000000000000000000000000000000000000000444454d4f00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000444454d4f00000000000000000000000000000000000000000000000000000000 making statements on.