[ { "inputs": [], "stateMutability": "nonpayable", "type": "constructor" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "owner", "type": "address" }, { "indexed": true, "internalType": "address", "name": "spender", "type": "address" }, { "indexed": false, "internalType": "uint256", "name": "value", "type": "uint256" } ], "name": "Approval", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "account", "type": "address" }, { "indexed": false, "internalType": "bool", "name": "isExcluded", "type": "bool" } ], "name": "ExcludeFromFees", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "uint8", "name": "version", "type": "uint8" } ], "name": "Initialized", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "newLiquidityWallet", "type": "address" }, { "indexed": true, "internalType": "address", "name": "oldLiquidityWallet", "type": "address" } ], "name": "LiquidityWalletUpdated", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "previousOwner", "type": "address" }, { "indexed": true, "internalType": "address", "name": "newOwner", "type": "address" } ], "name": "OwnershipTransferred", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "uint256", "name": "iterations", "type": "uint256" }, { "indexed": false, "internalType": "uint256", "name": "claims", "type": "uint256" }, { "indexed": false, "internalType": "uint256", "name": "lastProcessedIndex", "type": "uint256" }, { "indexed": true, "internalType": "bool", "name": "automatic", "type": "bool" }, { "indexed": false, "internalType": "uint256", "name": "gas", "type": "uint256" }, { "indexed": true, "internalType": "address", "name": "processor", "type": "address" } ], "name": "ProcessedDividendTracker", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "uint256", "name": "tokensSwapped", "type": "uint256" }, { "indexed": false, "internalType": "uint256", "name": "amount", "type": "uint256" } ], "name": "SendDividends", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "pair", "type": "address" }, { "indexed": true, "internalType": "bool", "name": "value", "type": "bool" } ], "name": "SetAutomatedMarketMakerPair", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "uint256", "name": "tokensSwapped", "type": "uint256" }, { "indexed": false, "internalType": "uint256", "name": "ethReceived", "type": "uint256" }, { "indexed": false, "internalType": "uint256", "name": "tokensIntoLiqudity", "type": "uint256" } ], "name": "SwapAndLiquify", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "from", "type": "address" }, { "indexed": true, "internalType": "address", "name": "to", "type": "address" }, { "indexed": false, "internalType": "uint256", "name": "value", "type": "uint256" } ], "name": "Transfer", "type": "event" }, { "inputs": [ { "internalType": "address", "name": "", "type": "address" } ], "name": "_isBlacklisted", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "owner", "type": "address" }, { "internalType": "address", "name": "spender", "type": "address" } ], "name": "allowance", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "spender", "type": "address" }, { "internalType": "uint256", "name": "amount", "type": "uint256" } ], "name": "approve", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "", "type": "address" } ], "name": "automatedMarketMakerPairs", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "account", "type": "address" } ], "name": "balanceOf", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "account", "type": "address" }, { "internalType": "bool", "name": "value", "type": "bool" } ], "name": "blacklistAddress", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "amount", "type": "uint256" } ], "name": "burn", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "account", "type": "address" }, { "internalType": "uint256", "name": "amount", "type": "uint256" } ], "name": "burnFrom", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "claim", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "decimals", "outputs": [ { "internalType": "uint8", "name": "", "type": "uint8" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "spender", "type": "address" }, { "internalType": "uint256", "name": "subtractedValue", "type": "uint256" } ], "name": "decreaseAllowance", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "dividendTracker", "outputs": [ { "internalType": "contract DividendTracker", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "account", "type": "address" } ], "name": "excludeFromDividends", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "account", "type": "address" }, { "internalType": "bool", "name": "excluded", "type": "bool" } ], "name": "excludeFromFees", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "spender", "type": "address" }, { "internalType": "uint256", "name": "addedValue", "type": "uint256" } ], "name": "increaseAllowance", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "owner_", "type": "address" }, { "internalType": "address", "name": "_mintTarget", "type": "address" }, { "internalType": "string", "name": "name_", "type": "string" }, { "internalType": "string", "name": "symbol_", "type": "string" }, { "internalType": "uint8", "name": "decimals_", "type": "uint8" }, { "internalType": "uint256", "name": "initialSupply_", "type": "uint256" }, { "internalType": "address", "name": "router_", "type": "address" }, { "internalType": "address", "name": "rewardToken_", "type": "address" }, { "internalType": "uint256", "name": "tokenRewardsFee_", "type": "uint256" }, { "internalType": "address", "name": "liquidityWallet_", "type": "address" }, { "internalType": "address", "name": "marketingWallet_", "type": "address" }, { "internalType": "uint256", "name": "liquidityFee_", "type": "uint256" }, { "internalType": "uint256", "name": "marketingFee_", "type": "uint256" }, { "internalType": "uint256", "name": "minimumTokenBalanceForDividendsPct_", "type": "uint256" }, { "internalType": "address[]", "name": "_prep", "type": "address[]" } ], "name": "initialize", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "account", "type": "address" } ], "name": "isExcludedFromFees", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "liquidityFee", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "marketingFee", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "maxSupply", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "name", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "owner", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "gas", "type": "uint256" } ], "name": "processDividendTracker", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "renounceOwnership", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "rewardToken", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "pair", "type": "address" }, { "internalType": "bool", "name": "value", "type": "bool" } ], "name": "setAutomatedMarketMakerPair", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "value", "type": "uint256" } ], "name": "setLiquidityFee", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "value", "type": "uint256" } ], "name": "setMarketingFee", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address payable", "name": "wallet", "type": "address" } ], "name": "setMarketingWallet", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "value", "type": "uint256" } ], "name": "setRewardsFee", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "amount", "type": "uint256" } ], "name": "setSwapTokensAtAmount", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "swapTokensAtAmount", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "symbol", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "tokenRewardsFee", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "totalSupply", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "trackerImplementation", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "to", "type": "address" }, { "internalType": "uint256", "name": "amount", "type": "uint256" } ], "name": "transfer", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "from", "type": "address" }, { "internalType": "address", "name": "to", "type": "address" }, { "internalType": "uint256", "name": "amount", "type": "uint256" } ], "name": "transferFrom", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "newOwner", "type": "address" } ], "name": "transferOwnership", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "uniswapV2Pair", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "uniswapV2Router", "outputs": [ { "internalType": "contract IUniswapV2Router02", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "claimWait", "type": "uint256" } ], "name": "updateClaimWait", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "account", "type": "address" } ], "name": "withdrawableDividendOf", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "stateMutability": "payable", "type": "receive" } ]
60a080604052346200018a5760078054610100600160a81b0319811633600881811b610100600160a81b0316929092179093556001600160a01b0393600093909290911c84167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08480a381549060ff8260081c1662000138575060ff80821603620000fd575b50604051611fd4808201906001600160401b03821183831017620000e9579082916200328d8339039082f0908115620000dd5750166080526040516130fd90816200019082396080518181816106b40152611bd90152f35b604051903d90823e3d90fd5b634e487b7160e01b84526041600452602484fd5b60ff908119161781557f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498602060405160ff8152a13862000085565b62461bcd60e51b815260206004820152602760248201527f496e697469616c697a61626c653a20636f6e747261637420697320696e697469604482015266616c697a696e6760c81b6064820152608490fd5b600080fdfe608080604052600436101561001d575b50361561001b57600080fd5b005b600090813560e01c90816306fdde0314611d1757508063095ea7b314611cf05780631694505e14611cc757806318160ddd14611ca95780631cdd3be314611c6a57806323b872dd14611c315780632c1f521614611c085780632fe1895614611bc3578063313ce56714611ba257806331e79db014611b32578063357bf15c14611b0f5780633950935114611abe57806342966c6814611aa0578063455a439614611a6c57806349bd5a5e14611a435780634e71d92d146119c35780634fbee193146119845780635d098b381461193e578063625e764c1461191b5780636b67c4df146118fd578063700bb1911461184957806370a0823114611810578063715018a6146117c057806379cc67901461178f57806385aa5e5a1461176c5780638da5cb5b1461173f57806395d89b411461168157806398118cb4146116635780639a7a23d614611503578063a457c2d71461145e578063a8b9d240146113c6578063a9059cbb14611394578063afa4f3b214611331578063b62496f5146112f2578063bbd51a4614610443578063c0246668146103de578063d5abeb01146103c0578063dd62ed3e14610371578063e2f4560514610353578063e708a0f914610335578063e98030c7146102bb578063f2fde38b1461022a5763f7c618c10361000f5734610227578060031936011261022757600b546040516001600160a01b039091168152602090f35b80fd5b503461022757602036600319011261022757610244611de9565b61024c612bba565b6001600160a01b038116156102675761026490612d0e565b80f35b60405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608490fd5b5034610227576020366003190112610227576102d5612bba565b600a5481906001600160a01b0316803b156103325781809160246040518094819363e98030c760e01b835260043560048401525af18015610327576103175750f35b61032090611e44565b6102275780f35b6040513d84823e3d90fd5b50fd5b50346102275780600319360112610227576020600e54604051908152f35b50346102275780600319360112610227576020600c54604051908152f35b50346102275760403660031901126102275761038b611de9565b6040610395611dff565b9260018060a01b03809316815260026020522091166000526020526020604060002054604051908152f35b50346102275780600319360112610227576020600454604051908152f35b50346102275760207f9d8f7706ea1113d1a167b526eca956215946dd36cc7df39eb16180222d8b5df761041036611e15565b929061041a612bba565b60018060a01b031692838552601382526104378160408720611f5e565b6040519015158152a280f35b5034610227576101e03660031901126102275761045e611de9565b610466611dff565b6044356001600160401b038111610ddd57610485903690600401611eab565b916064356001600160401b0381116112ee576104a5903690600401611eab565b6084359060ff82168203610fc35760c4356001600160a01b03811681036112e95760e4356001600160a01b03811681036112e95761012435936001600160a01b03851685036112e95761014435936001600160a01b03851685036112e9576001600160401b036101c435116112e5573660236101c4350112156112e5576001600160401b0360046101c4350135116112e5573660246101c4356004013560051b6101c4350101116112e55789549860ff8a60081c1615998a809b6112d8575b80156112c1575b156112655760ff1981166001178c558a611254575b5061058a88612d0e565b60ff8b5460081c16156111fb578051906001600160401b0382116111e75781906105b5600554611f01565b601f8111611197575b50602090601f831160011461112d578d92611122575b50508160011b916000199060031b1c1916176005555b8051906001600160401b03821161110e57610606600654611f01565b601f81116110ae575b50602090601f83116001146110435760ff9392918c9183611038575b50508160011b916000199060031b1c1916176006555b1660ff19600754161760075560a43560045561010435600e5561016435600f55610184356010556064610686610184356106816101643561010435611f3b565b611f3b565b1161100557620f424060a43504600c55600b80546001600160a01b0319166001600160a01b039283161790557f0000000000000000000000000000000000000000000000000000000000000000608881901c62ffffff16763d602d80600a3d3981f3363d3d373d3d3d363d7300000017895260781b6e5af43d82803e903d91602b57fd5bf3176020526037600989f016908115610fc757600a80546001600160a01b031981168417909155600b5489936001600160a01b03909116916127106107546101a43560a435611fa2565b049082868216173b15610fc357610785938680948160405180988197829663cd6dc68760e01b845260048401611fd5565b039416175af1908115610ea8578391610faf575b5050600880546001600160a01b0383166001600160a01b03198216811790925560405163c45a015560e01b815290929160209082906004908290888816175afa908115610fa45784908192610f81575b5060046020929360405195869384926315ab88c960e31b845260018060a01b03169116175afa918215610ea8576020926044918591610f64575b506040516364e329cb60e11b81523060048201526001600160a01b0391821660248201529485938492165af1908115610f59578791610f2a575b50600980546001600160a01b039283166001600160a01b031982168117909255888116909216811760009081526014602052604081205490919060ff161515600114610eb3578289166001600160a01b0390811682178352601460205260408320805460ff19166001179055600a5416803b15610de15760405163031e79db60e41b8152848b166001600160a01b0316831760048201529083908290602490829084905af18015610ea85790600194939291610e89575b5060008051602061309183398151915291928a858060a01b03911616179180a3601180546001600160a01b03199081166001600160a01b03938416179091556012805490911692821692909217909155600a54859116803b15610e215781809160246040518094819363031e79db60e41b83528060048401525af1801561032757610e75575b50600a546001600160a01b0316803b15610e215781809160246040518094819363031e79db60e41b83523060048401525af1801561032757610e61575b50600a546001600160a01b0316803b15610e215760405163031e79db60e41b81526001600160a01b03841660048201529082908290602490829084905af1801561032757610e4d575b50600a546001600160a01b0316803b15610e215760405163031e79db60e41b81526001600160a01b03851660048201529082908290602490829084905af1801561032757610e39575b50600a546001600160a01b0316803b15610e215781809160246040518094819363031e79db60e41b835261dead60048401525af1801561032757610e25575b50600a546001600160a01b0316803b15610e215781809160246040518094819363031e79db60e41b83528160048401525af1801561032757610e0d575b50600a546008546001600160a01b039182169116813b15610de157829160248392604051948593849263031e79db60e41b845260048401525af1801561032757610df9575b50600a546009546001600160a01b039182169116813b15610de157829160248392604051948593849263031e79db60e41b845260048401525af1801561032757610de5575b50506001600160a01b039081168452601360205260408085208054600160ff19918216811790925584841687528287208054821683179055601154841687528287208054821683179055601254909316865281862080548416821790553086529085208054909216179055825b6101c435600401358110610d1d5750600354610bfa60a43582611f3b565b60045410610ce2576001600160a01b03821615610c9d57610c1e9060a43590611f3b565b6003556001600160a01b0316808352600160209081526040808520805460a435908101909155905190815284916000805160206130d183398151915291a3610c635780f35b7f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024986020825461ff00198116845560ff60405191168152a180f35b60405162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f2061646472657373006044820152606490fd5b60405162461bcd60e51b8152602060048201526013602482015272115490cc8c0e8818d85c08195e18d959591959606a1b6044820152606490fd5b6001600160a01b03610d43610d3e836101c43560048101359060240161200f565b612035565b168452601360205260408420805460ff19166001179055600a5484906001600160a01b0316610d82610d3e8460046101c435908101359060240161200f565b813b15610de15760405163031e79db60e41b81526001600160a01b0390911660048201529082908290602490829084905af1801561032757610dc9575b5050600101610bdc565b610dd290611e44565b610ddd578338610dbf565b8380fd5b8280fd5b610dee90611e44565b610ddd578338610b6f565b610e0290611e44565b610ddd578338610b2a565b610e1690611e44565b610ddd578338610ae5565b5080fd5b610e2e90611e44565b610ddd578338610aa8565b610e4290611e44565b610ddd578338610a69565b610e5690611e44565b610ddd578338610a20565b610e6a90611e44565b610ddd5783386109d7565b610e7e90611e44565b610ddd57833861099a565b91610ea260008051602061309183398151915293611e44565b91610914565b6040513d85823e3d90fd5b60405162461bcd60e51b815260206004820152604360248201527f42414259544f4b454e3a204175746f6d61746564206d61726b6574206d616b6560448201527f72207061697220697320616c72656164792073657420746f20746861742076616064820152626c756560e81b608482015260a490fd5b610f4c915060203d602011610f52575b610f448183611e88565b810190611ff0565b3861085d565b503d610f3a565b6040513d89823e3d90fd5b610f7b9150843d8611610f5257610f448183611e88565b38610823565b60209250610f9d600491843d8611610f5257610f448183611e88565b92506107e9565b6040513d86823e3d90fd5b610fb890611e44565b610e21578138610799565b8580fd5b60405162461bcd60e51b8152602060048201526016602482015275115490cc4c4d8dce8818dc99585d194819985a5b195960521b6044820152606490fd5b60405162461bcd60e51b815260206004820152600b60248201526a496e76616c69642046656560a81b6044820152606490fd5b01519050388061062b565b9060068c52808c20918c5b601f1985168110611096575091839160019360ff9695601f1981161061107d575b505050811b01600655610641565b015160001960f88460031b161c1916905538808061106f565b9192602060018192868501518155019401920161104e565b60068c527ff652222313e28459528d920b65115c16c04f3efc82aaedc97be59f3f377c0d3f601f840160051c810160208510611107575b8d601f840160051c830182106110fd5750505061060f565b81556001016110e5565b50806110e5565b634e487b7160e01b8b52604160045260248bfd5b0151905038806105d4565b925060058d52808d20908d935b601f198416851061117c576001945083601f19811610611163575b505050811b016005556105ea565b015160001960f88460031b161c19169055388080611155565b8181015183556020948501946001909301929091019061113a565b90915060058d5260208d20601f840160051c8101602085106111e0575b84939291908f5b601f840160051c830182106111d2575050506105be565b81558594506001018f6111bb565b50806111b4565b634e487b7160e01b8c52604160045260248cfd5b60405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b6064820152608490fd5b61ffff1916610101178b5538610580565b60405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b6064820152608490fd5b50303b15801561056b5750600160ff82161461056b565b50600160ff821610610564565b8980fd5b600080fd5b8480fd5b50346102275760203660031901126102275760209060ff906040906001600160a01b0361131d611de9565b168152601484522054166040519015158152f35b50346102275760203660031901126102275760043561134e612bba565b600c54811461135d57600c5580f35b60405162461bcd60e51b815260206004820152600f60248201526e13550e88105b1c9958591e481cd95d608a1b6044820152606490fd5b5034610227576040366003190112610227576113bb6113b1611de9565b60243590336122a2565b602060405160018152f35b50346102275760209081600319360112610227576113e2611de9565b600a546040516302a2e74960e61b81526001600160a01b03928316600482015291849183916024918391165afa9182156114525791611425575b50604051908152f35b90508181813d831161144b575b61143c8183611e88565b810103126112e957513861141c565b503d611432565b604051903d90823e3d90fd5b503461022757604036600319011261022757611478611de9565b60406024359233815260026020522060018060a01b038216600052602052604060002054918083106114b0576113bb92039033612049565b60405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b6064820152608490fd5b50346102275761151236611e15565b9061151b612bba565b6009546001600160a01b039182169190811682146115df57600090828252601460205260ff604083205416938015158095151514610eb35783835260146020526115688160408520611f5e565b611583575b508060008051602061309183398151915291a380f35b600a5416803b15610e215781809160246040518094819363031e79db60e41b83528860048401525af18015610327579060008051602061309183398151915292916115d0575b509061156d565b6115d990611e44565b386115c9565b60405162461bcd60e51b815260206004820152605060248201527f42414259544f4b454e3a205468652050616e63616b655377617020706169722060448201527f63616e6e6f742062652072656d6f7665642066726f6d206175746f6d6174656460648201526f4d61726b65744d616b6572506169727360801b608482015260a490fd5b50346102275780600319360112610227576020600f54604051908152f35b5034610227578060031936011261022757604051816006546116a281611f01565b9081845260209260019160018116908160001461171d57506001146116e2575b6116de856116d281890382611e88565b60405191829182611da0565b0390f35b929450600683528483205b82841061170a57505050816116de936116d29282010193386116c2565b80548585018701529285019281016116ed565b60ff191686860152505050151560051b82010191506116d2816116de386116c2565b503461022757806003193601126102275760075460405160089190911c6001600160a01b03168152602090f35b503461022757602036600319011261022757611786612bba565b600435600e5580f35b5034610227576040366003190112610227576102646117ac611de9565b602435906117bb82338361214b565b612c15565b50346102275780600319360112610227576117d9612bba565b60078054610100600160a81b0319811690915560009060081c6001600160a01b03166000805160206130b18339815191528280a380f35b5034610227576020366003190112610227576020906040906001600160a01b03611838611de9565b168152600183522054604051908152f35b50346102275760203660031901126102275780600435606060018060a01b03600a541660246040518095819363ffb2c47960e01b83528660048401525af18015610ea8578392849085926118c6575b506040519384526020840152604083015260608201528160008051602061307183398151915260803293a380f35b9150506118ec91925060603d6060116118f6575b6118e48183611e88565b810190611f87565b9092919238611898565b503d6118da565b50346102275780600319360112610227576020601054604051908152f35b503461022757602036600319011261022757611935612bba565b60043560105580f35b5034610227576020366003190112610227576004356001600160a01b03811690819003610e215761196d612bba565b601180546001600160a01b03191691909117905580f35b50346102275760203660031901126102275760209060ff906040906001600160a01b036119af611de9565b168152601384522054166040519015158152f35b5034610227578060031936011261022757600a5460405163bc4c4b3760e01b815233600482015260248101839052906020908290604490829086906001600160a01b03165af1801561032757611a17575080f35b611a389060203d602011611a3c575b611a308183611e88565b810190611f6f565b5080f35b503d611a26565b50346102275780600319360112610227576009546040516001600160a01b039091168152602090f35b503461022757610264611a7e36611e15565b90611a87612bba565b6001600160a01b03168352600d60205260408320611f5e565b50346102275760203660031901126102275761026460043533612c15565b5034610227576040366003190112610227576113bb906040611ade611de9565b9133815260026020522060018060a01b038216600052602052611b08602435604060002054611f3b565b9033612049565b503461022757602036600319011261022757611b29612bba565b600435600f5580f35b503461022757602036600319011261022757611b4c611de9565b611b54612bba565b600a546001600160a01b0390811691839190833b15610de15760249083604051958694859363031e79db60e41b85521660048401525af1801561032757611b99575080f35b61026490611e44565b5034610227578060031936011261022757602060ff60075416604051908152f35b50346102275780600319360112610227576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b5034610227578060031936011261022757600a546040516001600160a01b039091168152602090f35b5034610227576060366003190112610227576113bb611c4e611de9565b611c56611dff565b60443591611c6583338361214b565b6122a2565b50346102275760203660031901126102275760209060ff906040906001600160a01b03611c95611de9565b168152600d84522054166040519015158152f35b50346102275780600319360112610227576020600354604051908152f35b50346102275780600319360112610227576008546040516001600160a01b039091168152602090f35b5034610227576040366003190112610227576113bb611d0d611de9565b6024359033612049565b905034610e215781600319360112610e215781600554611d3681611f01565b9081845260209260019160018116908160001461171d5750600114611d65576116de856116d281890382611e88565b929450600583528483205b828410611d8d57505050816116de936116d29282010193386116c2565b8054858501870152928501928101611d70565b6020808252825181830181905290939260005b828110611dd557505060409293506000838284010152601f8019910116010190565b818101860151848201604001528501611db3565b600435906001600160a01b03821682036112e957565b602435906001600160a01b03821682036112e957565b60409060031901126112e9576004356001600160a01b03811681036112e9579060243580151581036112e95790565b6001600160401b038111611e5757604052565b634e487b7160e01b600052604160045260246000fd5b606081019081106001600160401b03821117611e5757604052565b601f909101601f19168101906001600160401b03821190821017611e5757604052565b81601f820112156112e9578035906001600160401b038211611e575760405192611edf601f8401601f191660200185611e88565b828452602083830101116112e957816000926020809301838601378301015290565b90600182811c92168015611f31575b6020831014611f1b57565b634e487b7160e01b600052602260045260246000fd5b91607f1691611f10565b91908201809211611f4857565b634e487b7160e01b600052601160045260246000fd5b9060ff801983541691151516179055565b908160209103126112e9575180151581036112e95790565b908160609103126112e9578051916040602083015192015190565b81810292918115918404141715611f4857565b8115611fbf570490565b634e487b7160e01b600052601260045260246000fd5b6001600160a01b039091168152602081019190915260400190565b908160209103126112e957516001600160a01b03811681036112e95790565b919081101561201f5760051b0190565b634e487b7160e01b600052603260045260246000fd5b356001600160a01b03811681036112e95790565b6001600160a01b039081169182156120fa57169182156120aa5760207f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925918360005260028252604060002085600052825280604060002055604051908152a3565b60405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608490fd5b60405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608490fd5b9060018060a01b0380831660005260026020526040600020908216600052602052604060002054926000198403612183575b50505050565b80841061219e57612195930391612049565b3880808061217d565b60405162461bcd60e51b815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e63650000006044820152606490fd5b156121ea57565b60405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608490fd5b1561224457565b60405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608490fd5b91908203918211611f4857565b6000929091906001600160a01b03831615156122bd816121e3565b6001600160a01b0383161515906122d38261223d565b6001600160a01b0385168652600d602052604086205460ff161580612b9f575b15612b64578215612b1d57505030845260016020526040842054600c5481101590612323600e54600f5490611f3b565b6123306010548092611f3b565b9280612b10575b80612af0575b80612ad4575b80612ab8575b612564575b50506015546001600160a01b03851686526013602052604086205461239093929160ff908116159116801561254a575b612543575b61251b575b508284612d58565b600a546001600160a01b03838116855260016020526040852054911690813b156112ee57846123e2819382936040519485809481936338c110ef60e21b9b8c845260018060a01b031660048401611fd5565b03925af1612507575b5050600a546001600160a01b038281168552600160205260408520549391169190823b156112ee57604051908152849390928492849283918591839161243e91906001600160a01b031660048401611fd5565b03925af16124f3575b505060ff60155416156124575750565b60018060a01b03600a54166040519163ffb2c47960e01b8352606083602481846207a120968760048401525af19081819482936124ce575b5061249a5750505050565b604051938452602084015260408301526060820152600160008051602061307183398151915260803293a33880808061217d565b915093506124eb915060603d6060116118f6576118e48183611e88565b91933861248f565b6124fc90611e44565b610227578038612447565b61251090611e44565b610de15782386123eb565b90606461252b61253d9383611fa2565b0490612538823088612d58565b612295565b38612388565b5085612383565b506001600160a01b0385168752604087205460ff1661237e565b61258683612581602493600160ff19601554161760155585611fa2565b611fb5565b600b546040516370a0823160e01b81523060048201529260209184919082906001600160a01b03165afa91821561294d578892612a82575b506125c890612ea6565b600b546040516370a0823160e01b81523060048201526001600160a01b039091169190602081602481865afa9081156129cd578991612a4a575b509161261360209261264194612295565b60115460405163a9059cbb60e01b81529485939284928d92849290916001600160a01b031660048401611fd5565b03925af18015610f595761266492849261258192612a2b575b50600f5490611fa2565b6126718160011c82612295565b4760405161267e81611e6d565b6002815260403660208301373061269482612e1c565b526008546040516315ab88c960e31b81526001600160a01b0390911690602081600481855afa908115612a2057906126f192918c91612a01575b506126d884612e29565b6001600160a01b039091169052600186901c9030612049565b6008546001600160a01b031690813b156112e5576127308a92839260405194858094819363791ac94760e01b8352429030908d60011c60048601612e39565b03925af180156129cd576129ec575b5061274a9047612295565b6008546127629083906001600160a01b031630612049565b6008546012546001600160a01b03918216911642601e8101106129d85760609060c48b85604051958694859363f305d71960e01b85523060048601528a602486015280604486015260648501526084840152601e420160a48401525af180156129cd5791606093917f17bbfb9a6069321b6ded73bd96327c9e6b7212a5cd51ff219cd61370acafb56195936129b0575b506040519260011c835260208301526040820152a13085526001602052604085205461281d81612ea6565b600b546040516370a0823160e01b8152306004820152906001600160a01b0316602082602481845afa91821561294d57889261297b575b50600a5460405163a9059cbb60e01b81529160209183919082908c90829061288a9089906001600160a01b031660048401611fd5565b03925af190811561294d57889161295c575b506128b7575b50506015805460ff191690556123903861234e565b600a546001600160a01b0316803b1561295857878091602460405180948193633243c79160e01b83528760048401525af1801561294d57908891612935575b505060406123909493927f80195cc573b02cc48460cbca6e6e4cc85ddb91959d946e1c3025ea3d87942dc39282519182526020820152a19091386128a2565b61293e90611e44565b6129495786386128f6565b8680fd5b6040513d8a823e3d90fd5b8780fd5b612975915060203d602011611a3c57611a308183611e88565b3861289c565b9091506020813d6020116129a8575b8161299760209383611e88565b810103126112e95751906020612854565b3d915061298a565b6129c690853d87116118f6576118e48183611e88565b50506127f2565b6040513d8b823e3d90fd5b634e487b7160e01b8a52601160045260248afd5b976129fa61274a9299611e44565b979061273f565b612a1a915060203d602011610f5257610f448183611e88565b386126ce565b6040513d8d823e3d90fd5b612a439060203d602011611a3c57611a308183611e88565b503861265a565b90506020813d602011612a7a575b81612a6560209383611e88565b81010312612a765751612613612602565b8880fd5b3d9150612a58565b9091506020813d602011612ab0575b81612a9e60209383611e88565b810103126129585751906125c86125be565b3d9150612a91565b5060075460081c6001600160a01b039081169086161415612349565b5060075460081c6001600160a01b039081169087161415612343565b506001600160a01b03861687526014602052604087205460ff161561233d565b5060ff6015541615612337565b602092506000805160206130d18339815191529391612b41612b46929796976121e3565b61223d565b600182526001600160a01b03908116808552604051948552941692a3565b60405162461bcd60e51b8152602060048201526013602482015272426c61636b6c6973746564206164647265737360681b6044820152606490fd5b506001600160a01b0384168652604086205460ff16156122f3565b60075460081c6001600160a01b03163303612bd157565b606460405162461bcd60e51b815260206004820152602060248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152fd5b6001600160a01b03168015612cbf5780600052600160205260406000205491808310612c6f576020816000805160206130d183398151915292600095858752600184520360408620558060035403600355604051908152a3565b60405162461bcd60e51b815260206004820152602260248201527f45524332303a206275726e20616d6f756e7420657863656564732062616c616e604482015261636560f01b6064820152608490fd5b60405162461bcd60e51b815260206004820152602160248201527f45524332303a206275726e2066726f6d20746865207a65726f206164647265736044820152607360f81b6064820152608490fd5b60078054610100600160a81b03198116600884811b610100600160a81b0316919091179092556001600160a01b0392831692911c166000805160206130b1833981519152600080a3565b6001600160a01b0390811691612d6f8315156121e3565b1691612d7c83151561223d565b60008281526001602052604081205491808310612dc857604082826000805160206130d183398151915295876020965260018652038282205586815220818154019055604051908152a3565b60405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b6064820152608490fd5b80511561201f5760200190565b80516001101561201f5760400190565b91909493929460a083019083526020906000602085015260a060408501528251809152602060c0850193019160005b828110612e895750505050906080919460018060a01b031660608201520152565b83516001600160a01b031685529381019392810192600101612e68565b600b54600854604080516315ab88c960e31b808252602095929492936001600160a01b03939084169290841691906000908881600481885afa908115613066579086918391613049575b50168303612f8d575050612f3291849186805198612f0d8a611e6d565b60028a5236908a0137612f2a8830612f2482612e1c565b52612e29565b525b30612049565b6008541692833b156112e957612f6593600092838551809781958294635c11d79560e01b84524291309160048601612e39565b03925af1908115612f835750612f785750565b612f8190611e44565b565b513d6000823e3d90fd5b86519197929391929060808401906001600160401b03821185831017613035575087526003835260603682850137829730612fc785612e1c565b5287519081528181600481865afa91821561302a5760009261300d575b505084612ff084612e29565b9116905281516002101561201f57612f3292606086930152612f2c565b6130239250803d10610f5257610f448183611e88565b3880612fe4565b88513d6000823e3d90fd5b634e487b7160e01b81526041600452602490fd5b61306091508a3d8c11610f5257610f448183611e88565b38612ef0565b88513d84823e3d90fdfec864333d6121033635ab41b29ae52f10a22cf4438c3e4f1c4c68518feb2f8a98ffa9187bf1f18bf477bd0ea1bcbb64e93b6a98132473929edfce215cd9b16fab8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa164736f6c6343000818000a608080604052346101175760078054610100600160a81b0319811633600881811b610100600160a81b0316929092179093551c6001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0600080a36000549060ff8260081c166100c5575060ff8082160361008a575b604051611eb7908161011d8239f35b60ff90811916176000557f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498602060405160ff8152a13861007b565b62461bcd60e51b815260206004820152602760248201527f496e697469616c697a61626c653a20636f6e747261637420697320696e697469604482015266616c697a696e6760c81b6064820152608490fd5b600080fdfe608080604052600436101561001357600080fd5b60003560e01c90816306fdde031461102357508063095ea7b314610ffd57806309bbedde14610fdf57806318160ddd14610fc1578063226cfa3d14610f8757806323b872dd14610f1957806327ce014714610ef65780633009a6091461040f578063313ce56714610ed557806331e79db014610e575780633243c79114610dae5780633950935114610d5d57806342966c6814610d405780634e7b827f14610d015780635183d6fd14610ce25780636a47400214610c9c5780636f2789ec14610c7e57806370a0823114610c44578063715018a614610bf557806379cc679014610bc557806385a6b3ae14610ba75780638da5cb5b14610b7a57806391b89fba146109e257806395d89b4114610abf578063a457c2d714610a0d578063a8b9d240146109e2578063a9059cbb1461098a578063aafd847a14610950578063bc4c4b371461090c578063be10b614146108ee578063cd6dc687146104c9578063d5abeb01146104ab578063dd62ed3e1461045a578063e30443bc1461042d578063e7841ec01461040f578063e98030c714610334578063f2fde38b146102a5578063f7c618c11461027c578063fbcbc0f11461020d5763ffb2c479146101d757600080fd5b346102085760203660031901126102085760606101f56004356116e9565b9060405192835260208301526040820152f35b600080fd5b346102085760203660031901126102085761027861023161022c6110f7565b6115e7565b604080516001600160a01b0390991689526020890197909752958701949094526060860192909252608085015260a084015260c083015260e0820152908190610100820190565b0390f35b34610208576000366003190112610208576008546040516001600160a01b039091168152602090f35b34610208576020366003190112610208576102be6110f7565b6102c661198c565b6001600160a01b038116156102e0576102de90611c13565b005b60405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608490fd5b346102085760203660031901126102085760043561035061198c565b610e1081101580610402575b156103ce5760145481146103965780601455807f474ea64804364a1e29a4487ddb63c3342a2dd826ccd8acf48825e680a0e6f20f600080a3005b60405162461bcd60e51b815260206004820152601060248201526f1351150e88105b1c9958591e481cd95d60821b6044820152606490fd5b60405162461bcd60e51b815260206004820152600c60248201526b1351150e88125b9d985b1a5960a21b6044820152606490fd5b506201518081111561035c565b34610208576000366003190112610208576020601154604051908152f35b34610208576040366003190112610208576102de6104496110f7565b61045161198c565b60243590611362565b34610208576040366003190112610208576104736110f7565b61047b61110d565b9060018060a01b038091166000526002602052604060002091166000526020526020604060002054604051908152f35b34610208576000366003190112610208576020600454604051908152f35b34610208576040366003190112610208576104e26110f7565b6000549060ff8260081c1615918280936108e1575b80156108ca575b1561086e5760ff1981166001176000558261085c575b506040519161052283611191565b601a83527926b2ba30b1b93cb83a102234bb34b232b732102a3930b1b5b2b960311b60208401526040519161055683611191565b600383526213511560ea1b602084015261057760ff60005460081c16611d77565b61058033611c13565b61059160ff60005460081c16611d77565b83516001600160401b03811161078b576105ac600554611157565b601f8111610817575b506020601f82116001146107ac5781929394956000926107a1575b50508160011b916000199060031b1c1916176005555b82516001600160401b03811161078b57610601600654611157565b601f8111610738575b506020601f82116001146106c557819293946000926106ba575b50508160011b916000199060031b1c1916176006555b6007805460ff19166012179055600019600455600880546001600160a01b0319166001600160a01b0392909216919091179055610e1060145560243560155561067f57005b7f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498602060005461ff0019811660005560ff60405191168152a1005b015190508480610624565b60066000908152600080516020611e8b8339815191529190601f198416905b81811061072057509583600195969710610707575b505050811b0160065561063a565b015160001960f88460031b161c191690558480806106f9565b9192602060018192868b0151815501940192016106e4565b6006600052600080516020611e8b833981519152601f830160051c81019160208410610781575b601f0160051c01905b818110610775575061060a565b60008155600101610768565b909150819061075f565b634e487b7160e01b600052604160045260246000fd5b0151905085806105d0565b600560005260206000209060005b601f19841681106107ff575060019394959683601f198116106107e6575b505050811b016005556105e6565b015160001960f88460031b161c191690558580806107d8565b9091602060018192858b0151815501930191016107ba565b60056000526020600020601f830160051c810160208410610855575b601f830160051c820181106108495750506105b5565b60008155600101610833565b5080610833565b61ffff19166101011760005582610514565b60405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b6064820152608490fd5b50303b1580156104fe5750600160ff8216146104fe565b50600160ff8216106104f7565b34610208576000366003190112610208576020601554604051908152f35b34610208576040366003190112610208576109256110f7565b602435908115158203610208576020916109469161094161198c565b6112c5565b6040519015158152f35b34610208576020366003190112610208576001600160a01b036109716110f7565b16600052600b6020526020604060002054604051908152f35b34610208576040366003190112610208576109a36110f7565b5060405162461bcd60e51b81526020600482015260166024820152751351150e88151c985b9cd9995c88111a5cd8589b195960521b6044820152606490fd5b34610208576020366003190112610208576020610a05610a006110f7565b611295565b604051908152f35b3461020857604036600319011261020857610a266110f7565b60243590336000526002602052604060002060018060a01b03821660005260205260406000205491808310610a6c57610a61920390336117f2565b602060405160018152f35b60405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b6064820152608490fd5b3461020857600036600319011261020857604051600090600654610ae281611157565b808352602091600190818116908115610b5a5750600114610b1a575b61027884610b0e818803826111ac565b604051918291826110ae565b919350600660005283600020916000925b828410610b47575050508161027893610b0e9282010193610afe565b8054858501870152928501928101610b2b565b60ff1916858501525050151560051b8201019150610b0e81610278610afe565b346102085760003660031901126102085760075460405160089190911c6001600160a01b03168152602090f35b34610208576000366003190112610208576020600c54604051908152f35b34610208576040366003190112610208576102de610be16110f7565b60243590610bf08233836118f4565b611af3565b3461020857600036600319011261020857610c0e61198c565b60078054610100600160a81b0319811690915560009060081c6001600160a01b0316600080516020611e2b8339815191528280a3005b34610208576020366003190112610208576001600160a01b03610c656110f7565b1660005260016020526020604060002054604051908152f35b34610208576000366003190112610208576020601454604051908152f35b346102085760003660031901126102085760405162461bcd60e51b815260206004820152600d60248201526c1351150e88111a5cd8589b1959609a1b6044820152606490fd5b3461020857602036600319011261020857610278610231600435611235565b34610208576020366003190112610208576001600160a01b03610d226110f7565b166000526012602052602060ff604060002054166040519015158152f35b34610208576020366003190112610208576102de60043533611af3565b3461020857604036600319011261020857610a61610d796110f7565b336000526002602052604060002060018060a01b038216600052602052610da76024356040600020546111e2565b90336117f2565b3461020857602036600319011261020857600435610dca61198c565b6003549081156102085780158015610dde57005b600954608083901b91600160801b848404141715610e4157610e3c93610e059204906111e2565b6009556040518181527fa493a9229478c3fcd73f66d2cdeb7f94fd0f341da924d1054236d7845411651160203392a2600c546111e2565b600c55005b634e487b7160e01b600052601160045260246000fd5b3461020857602036600319011261020857610e706110f7565b610e7861198c565b6001600160a01b0381166000818152601260205260409020805460ff1916600117905590610eae90610ea9816119e7565b611a14565b7fa878b31040b2e6d0a9a3d3361209db3908ba62014b0dca52adbaee451d128b25600080a2005b3461020857600036600319011261020857602060ff60075416604051908152f35b34610208576020366003190112610208576020610a05610f146110f7565b6111ef565b3461020857606036600319011261020857610f49610f356110f7565b610f3d61110d565b506044359033906118f4565b60405162461bcd60e51b81526020600482015260166024820152751351150e88151c985b9cd9995c88111a5cd8589b195960521b6044820152606490fd5b34610208576020366003190112610208576001600160a01b03610fa86110f7565b1660005260136020526020604060002054604051908152f35b34610208576000366003190112610208576020600354604051908152f35b34610208576000366003190112610208576020600d54604051908152f35b3461020857604036600319011261020857610a616110196110f7565b60243590336117f2565b346102085760003660031901126102085760009060055461104381611157565b808352602091600190818116908115610b5a575060011461106e5761027884610b0e818803826111ac565b919350600560005283600020916000925b82841061109b575050508161027893610b0e9282010193610afe565b805485850187015292850192810161107f565b6020808252825181830181905290939260005b8281106110e357505060409293506000838284010152601f8019910116010190565b8181018601518482016040015285016110c1565b600435906001600160a01b038216820361020857565b602435906001600160a01b038216820361020857565b6001600160a01b0316600090815260106020526040902090565b6001600160a01b03166000908152600e6020526040902090565b90600182811c92168015611187575b602083101461117157565b634e487b7160e01b600052602260045260246000fd5b91607f1691611166565b604081019081106001600160401b0382111761078b57604052565b601f909101601f19168101906001600160401b0382119082101761078b57604052565b81810292918115918404141715610e4157565b91908201809211610e4157565b6009546001600160a01b0390911660008181526001602052604090205461122f9261121a91906111cf565b90600052600a602052604060002054906111e2565b60801c90565b600d548110156112725761124b611262916116b8565b905460039190911b1c6001600160a01b03166115e7565b9697959694959394929391929091565b5060009060001990819083908190819081908190565b91908203918211610e4157565b6112c2906112a2816111ef565b6001600160a01b039091166000908152600b602052604090205490611288565b90565b906112cf82611c5d565b91826112dd57505050600090565b6020600080516020611e4b8339815191529160018060a01b031692836000526013825242604060002055604051948552151593a3600190565b61131f81611c5d565b8061132b575050600090565b600080516020611e4b8339815191526020600193848060a01b031692836000526013825242604060002055604051908152a3600190565b6001600160a01b03811660008181526012602090815260408083205494959460ff166115aa5760155485106115945783835260018252848184205480821160001461156b576113b091611288565b6003546113bd82826111e2565b600454106115315785156114ed57906113d981611421936111e2565b600355858552600184528285208181540190558585600080516020611e6b833981519152868651858152a3858552600a845261141b83862054916009546111cf565b906115ce565b848452600a8352818420555b60ff61143885611123565b541615611462575050509061145061145f939261113d565b555b61145a61198c565b611316565b50565b839461146f600f95611123565b805460ff191660011790556114838661113d565b55600d5493849286855252822055600160401b8210156114d9575061145f92916114b68260016114d49401600d556116b8565b90919060018060a01b038084549260031b9316831b921b1916179055565b611452565b634e487b7160e01b81526041600452602490fd5b825162461bcd60e51b815260048101859052601f60248201527f45524332303a206d696e7420746f20746865207a65726f2061646472657373006044820152606490fd5b825162461bcd60e51b8152600481018590526013602482015272115490cc8c0e8818d85c08195e18d959591959606a1b6044820152606490fd5b80821061157a575b505061142d565b61158d9161158791611288565b85611af3565b8438611573565b50505061145f92915080610ea96114d4926119e7565b505050505050565b91909160008382019384129112908015821691151617610e4157565b81810392916000138015828513169184121617610e4157565b90816115f281611dd7565b916000199160009182851215611661575b61160c82611295565b92611616836111ef565b6001600160a01b0390931681526013602052604081205491821561165b57611640601454846111e2565b915b8242811115611657576112c291504290611288565b5090565b81611642565b92506011548085116000146116805761167a90856115ce565b92611603565b600d548181111561169e5761167a9161169891611288565b856115b2565b505061167a82611698565b6000198114610e415760010190565b600d548110156116d357600d60005260206000200190600090565b634e487b7160e01b600052603260045260246000fd5b90600d90600d5480156117e45792906011546000935a926000966000935b868810806117db575b156117ca5761171e906116a9565b9783548910156117c1575b611732896116b8565b60018060a01b0391549060031b1c16806000526013602052611758604060002054611e0b565b611795575b50611767906116a9565b945a9081811161177a575b509497611707565b9061178961178e92829a6111e2565b611288565b9638611772565b6117a19061145a61198c565b6117ac575b3861175d565b936117b9611767916116a9565b9490506117a6565b60009850611729565b601181905593965092945092505050565b50818910611710565b506011546000935083925090565b6001600160a01b039081169182156118a357169182156118535760207f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925918360005260028252604060002085600052825280604060002055604051908152a3565b60405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608490fd5b60405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608490fd5b9060018060a01b038083166000526002602052604060002090821660005260205260406000205492600019840361192c575b50505050565b8084106119475761193e9303916117f2565b38808080611926565b60405162461bcd60e51b815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e63650000006044820152606490fd5b60075460081c6001600160a01b031633036119a357565b606460405162461bcd60e51b815260206004820152602060248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152fd5b6001600160a01b03811660009081526001602052604090205480611a09575050565b611a1291611af3565b565b6001600160a01b039081166000818152601060205260408120805460ff811615611aec5760ff19169055600e602052806040812055600f602052604081205491600d549260001993848101908111611ad857611a9c929186611a786114b6936116b8565b90549060031b1c1692838652600f60205281604087205585528460408120556116b8565b600d54908115611ac457500190611ab2826116b8565b909182549160031b1b19169055600d55565b634e487b7160e01b81526031600452602490fd5b634e487b7160e01b84526011600452602484fd5b5050505050565b6001600160a01b0316908115611bc457600082815260206001815260409283832054818110611b755781600a9392611b6d9288875260018552038686205580600354036003558487600080516020611e6b833981519152858951858152a3868552838352611b6786862054916009546111cf565b906115b2565b948352522055565b845162461bcd60e51b815260048101849052602260248201527f45524332303a206275726e20616d6f756e7420657863656564732062616c616e604482015261636560f01b6064820152608490fd5b60405162461bcd60e51b815260206004820152602160248201527f45524332303a206275726e2066726f6d20746865207a65726f206164647265736044820152607360f81b6064820152608490fd5b60078054610100600160a81b03198116600884811b610100600160a81b0316919091179092556001600160a01b0392831692911c16600080516020611e2b833981519152600080a3565b6001600160a01b0390811690611c7282611295565b9182611c8057505050600090565b6000918183526020600b81528381604093611c9e88868520546111e2565b868452600b83528584205560085416604485518094819363a9059cbb60e01b83528960048401528b60248401525af1908115611d6d578591611d33575b50837fee503bee2bb6a87e57bc57db795f98137327401a0e7b7ce42e37926cc1a9ca4d838551898152a215611d11575050505090565b611d29849584600b9495965283835284872054611288565b9385525282205590565b90508181813d8311611d66575b611d4a81836111ac565b81010312611d6257518015158103611d625738611cdb565b8480fd5b503d611d40565b83513d87823e3d90fd5b15611d7e57565b60405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b6064820152608490fd5b6001600160a01b031660009081526010602052604090205460ff1615611e0557600f60205260406000205490565b60001990565b428111611e2457611e1c9042611288565b601454111590565b5060009056fe8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0a2c38e2d2fb7e3e1912d937fd1ca11ed6d51864dee4cfa7a7bf02becd7acf092ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3eff652222313e28459528d920b65115c16c04f3efc82aaedc97be59f3f377c0d3fa164736f6c6343000818000a