[ { "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": "previousOwner", "type": "address" }, { "indexed": true, "internalType": "address", "name": "newOwner", "type": "address" } ], "name": "OwnershipTransferred", "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": [], "name": "_maxTxAmount", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "_maxWallet", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "_totalSupply", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "holder", "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": "spender", "type": "address" } ], "name": "approveMax", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "account", "type": "address" } ], "name": "balanceOf", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "buyFees", "outputs": [ { "internalType": "uint256", "name": "reflectionFee", "type": "uint256" }, { "internalType": "uint256", "name": "treasuryFee", "type": "uint256" }, { "internalType": "uint256", "name": "liquidityFee", "type": "uint256" }, { "internalType": "uint256", "name": "totalFee", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "claim", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "decimals", "outputs": [ { "internalType": "uint8", "name": "", "type": "uint8" } ], "stateMutability": "pure", "type": "function" }, { "inputs": [], "name": "dividendTracker", "outputs": [ { "internalType": "contract InuvaxDividendTracker", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "account", "type": "address" } ], "name": "getAccountDividendsInfo", "outputs": [ { "internalType": "address", "name": "", "type": "address" }, { "internalType": "uint256", "name": "", "type": "uint256" }, { "internalType": "uint256", "name": "", "type": "uint256" }, { "internalType": "uint256", "name": "", "type": "uint256" }, { "internalType": "uint256", "name": "", "type": "uint256" }, { "internalType": "uint256", "name": "", "type": "uint256" }, { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "amount", "type": "uint256" }, { "internalType": "address", "name": "holder", "type": "address" } ], "name": "manualSendDividend", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "name", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "openTrade", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "owner", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "renounceOwnership", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "_amount", "type": "uint256" } ], "name": "rescueAVAX", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "_token", "type": "address" }, { "internalType": "uint256", "name": "_amount", "type": "uint256" } ], "name": "rescueToken", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "router", "outputs": [ { "internalType": "contract ITraderJoeRouter", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "sellFees", "outputs": [ { "internalType": "uint256", "name": "reflectionFee", "type": "uint256" }, { "internalType": "uint256", "name": "treasuryFee", "type": "uint256" }, { "internalType": "uint256", "name": "liquidityFee", "type": "uint256" }, { "internalType": "uint256", "name": "totalFee", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "_reflectionFee", "type": "uint256" }, { "internalType": "uint256", "name": "_treasuryFee", "type": "uint256" }, { "internalType": "uint256", "name": "_liquidityFee", "type": "uint256" } ], "name": "setBuyFees", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "_minPeriod", "type": "uint256" }, { "internalType": "uint256", "name": "_minDistribution", "type": "uint256" }, { "internalType": "uint256", "name": "_minimumTokenBalanceForDividends", "type": "uint256" } ], "name": "setDistributionCriteria", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "holder", "type": "address" }, { "internalType": "bool", "name": "exempt", "type": "bool" } ], "name": "setExcludeDividend", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address[]", "name": "_users", "type": "address[]" }, { "internalType": "bool", "name": "exempt", "type": "bool" } ], "name": "setExcludeFeeMultiple", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address[]", "name": "_users", "type": "address[]" }, { "internalType": "bool", "name": "exempt", "type": "bool" } ], "name": "setExcludeTxMultiple", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "string", "name": "newName", "type": "string" }, { "internalType": "string", "name": "newSymbol", "type": "string" } ], "name": "setName", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "_treasuryWallet", "type": "address" }, { "internalType": "address", "name": "_liquidityWallet", "type": "address" } ], "name": "setReceiver", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "_reflectionFee", "type": "uint256" }, { "internalType": "uint256", "name": "_treasuryFee", "type": "uint256" }, { "internalType": "uint256", "name": "_liquidityFee", "type": "uint256" } ], "name": "setSellFees", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "bool", "name": "_enabled", "type": "bool" }, { "internalType": "uint256", "name": "_amount", "type": "uint256" }, { "internalType": "bool", "name": "_ignoreLimit", "type": "bool" }, { "internalType": "uint256", "name": "_interval", "type": "uint256" } ], "name": "setSwapBackSettings", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "amount", "type": "uint256" } ], "name": "setTxLimit", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "swapEnabled", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "swapThreshold", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "symbol", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "totalSupply", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "recipient", "type": "address" }, { "internalType": "uint256", "name": "amount", "type": "uint256" } ], "name": "transfer", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "sender", "type": "address" }, { "internalType": "address", "name": "recipient", "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" }, { "stateMutability": "payable", "type": "receive" } ]
600180546001600160a01b0319908116331790915560038054821661dead17905560048054909116905560c0604052600b60808190526a0a6d0d2c4c2d2dceaecc2f60ab1b60a0908152620000589160079190620006e0565b5060408051808201909152600780825266048929caaac82b60cb1b60209092019182526200008991600891620006e0565b50620000986009600a6200084d565b620000a99064174876e8006200090c565b600955620000e36064620000cf6003600954620004dd60201b620014251790919060201c565b620004f460201b620014311790919060201c565b600a55620001096064620000cf6001600954620004dd60201b620014251790919060201c565b600b556064601755601880546001600160a01b031916739975e6da98d9d3aee58aa308854c34289b0229ca17905561012c601e55601f805462ffffff19166101011790556009546200015f9061138890620007e1565b6020553480156200016f57600080fd5b506200017b3362000502565b601a80546001600160a01b0319167360ae616a2155ee3d9a68541ba4544862310933d4908117909155604080516339d94ae160e11b815290516373b295c291600480820192602092909190829003018186803b158015620001db57600080fd5b505afa158015620001f0573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000216919062000794565b600280546001600160a01b0319166001600160a01b03928316179055601a546040805163c45a015560e01b81529051919092169163c45a0155916004808301926020929190829003018186803b1580156200027057600080fd5b505afa15801562000285573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002ab919062000794565b6002546040516364e329cb60e11b81526001600160a01b03918216600482015230602482015291169063c9c6539690604401602060405180830381600087803b158015620002f857600080fd5b505af11580156200030d573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000333919062000794565b601b80546001600160a01b0319166001600160a01b03928316179055306000908152600660209081526040808320601a54909416835292905281902060001990555162000380906200076f565b604051809103906000f0801580156200039d573d6000803e3d6000fd5b50601c80546001600160a01b03199081166001600160a01b039384161790915560198054339216821781556000828152600c60209081526040808320805460ff199081166001908117909255308086528386208054831684179055955488168552600d8452828520805482168317905586855282852080548216831790558585528285208054821683179055601b5488168552600e909352818420805484168217905593835280832080548316851790556003549095168252938120805490941690911790925590620004739060048062000552565b6200048260006004806200061b565b6009546001600160a01b038216600081815260056020908152604080832085905551938452919290917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a35062000981565b6000620004eb82846200090c565b90505b92915050565b6000620004eb8284620007e1565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6000546001600160a01b03163314806200057f57506001546001600160a01b0316336001600160a01b0316145b620005c05760405162461bcd60e51b81526020600482018190526024820152600080516020620039a483398151915260448201526064015b60405180910390fd5b6040518060800160405280848152602001838152602001828152602001828486620005ec9190620007c6565b620005f89190620007c6565b90528051600f556020810151601055604081015160115560600151601255505050565b6000546001600160a01b03163314806200064857506001546001600160a01b0316336001600160a01b0316145b620006855760405162461bcd60e51b81526020600482018190526024820152600080516020620039a48339815191526044820152606401620005b7565b6040518060800160405280848152602001838152602001828152602001828486620006b19190620007c6565b620006bd9190620007c6565b905280516013556020810151601455604081015160155560600151601655505050565b828054620006ee906200092e565b90600052602060002090601f0160209004810192826200071257600085556200075d565b82601f106200072d57805160ff19168380011785556200075d565b828001600101855582156200075d579182015b828111156200075d57825182559160200191906001019062000740565b506200076b9291506200077d565b5090565b610aca8062002eda83390190565b5b808211156200076b57600081556001016200077e565b600060208284031215620007a757600080fd5b81516001600160a01b0381168114620007bf57600080fd5b9392505050565b60008219821115620007dc57620007dc6200096b565b500190565b600082620007ff57634e487b7160e01b600052601260045260246000fd5b500490565b600181815b80851115620008455781600019048211156200082957620008296200096b565b808516156200083757918102915b93841c939080029062000809565b509250929050565b6000620004eb60ff8416836000826200086957506001620004ee565b816200087857506000620004ee565b81600181146200089157600281146200089c57620008bc565b6001915050620004ee565b60ff841115620008b057620008b06200096b565b50506001821b620004ee565b5060208310610133831016604e8410600b8410161715620008e1575081810a620004ee565b620008ed838362000804565b80600019048211156200090457620009046200096b565b029392505050565b60008160001904831182151516156200092957620009296200096b565b500290565b600181811c908216806200094357607f821691505b602082108114156200096557634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052601160045260246000fd5b61254980620009916000396000f3fe6080604052600436106102295760003560e01c806370a08231116101235780639c318202116100ab578063e4748b9e1161006f578063e4748b9e146106d2578063f15cd8bd146106f5578063f2fde38b14610715578063f887ea4014610735578063fb201b1d1461075557600080fd5b80639c318202146105aa578063a9059cbb146105ca578063ad56c13c146105ea578063dd62ed3e14610649578063e0f3ccf51461068f57600080fd5b806382247ec0116100f257806382247ec01461052157806386dcb95e146105375780638da5cb5b146105575780638e1269441461057557806395d89b411461059557600080fd5b806370a08231146104a0578063715018a6146104d6578063778089e6146104eb5780637d1db4a51461050b57600080fd5b80632c1f5216116101b15780634e71d92d116101755780634e71d92d14610411578063571ac8b0146104265780635c707f07146104465780635c85974f146104665780636ddd17131461048657600080fd5b80632c1f521614610367578063313ce5671461039f57806333f3d628146103bb57806336790a84146103db5780633eaaf86b146103fb57600080fd5b80630d075d9c116101f85780630d075d9c146102d25780630df4adc6146102f25780630f683e901461031257806318160ddd1461033257806323b872dd1461034757600080fd5b80630445b6671461023557806306fdde031461025e578063095ea7b3146102805780630ca61cb1146102b057600080fd5b3661023057005b600080fd5b34801561024157600080fd5b5061024b60205481565b6040519081526020015b60405180910390f35b34801561026a57600080fd5b5061027361076a565b60405161025591906122e8565b34801561028c57600080fd5b506102a061029b366004612078565b6107fc565b6040519015158152602001610255565b3480156102bc57600080fd5b506102d06102cb36600461228e565b610868565b005b3480156102de57600080fd5b506102d06102ed36600461228e565b61092a565b3480156102fe57600080fd5b506102d061030d366004612250565b6109c9565b34801561031e57600080fd5b506102d061032d36600461228e565b610a42565b34801561033e57600080fd5b5060095461024b565b34801561035357600080fd5b506102a0610362366004612009565b610ae1565b34801561037357600080fd5b50601c54610387906001600160a01b031681565b6040516001600160a01b039091168152602001610255565b3480156103ab57600080fd5b5060405160098152602001610255565b3480156103c757600080fd5b506102d06103d6366004612078565b610ba3565b3480156103e757600080fd5b506102d06103f6366004612101565b610c70565b34801561040757600080fd5b5061024b60095481565b34801561041d57600080fd5b506102d0610d35565b34801561043257600080fd5b506102a0610441366004611fb3565b610d8e565b34801561045257600080fd5b506102d06104613660046121ec565b610da2565b34801561047257600080fd5b506102d0610481366004612250565b610e11565b34801561049257600080fd5b50601f546102a09060ff1681565b3480156104ac57600080fd5b5061024b6104bb366004611fb3565b6001600160a01b031660009081526005602052604090205490565b3480156104e257600080fd5b506102d0610e7a565b3480156104f757600080fd5b506102d061050636600461204a565b610ece565b34801561051757600080fd5b5061024b600b5481565b34801561052d57600080fd5b5061024b600a5481565b34801561054357600080fd5b506102d0610552366004611fd0565b611027565b34801561056357600080fd5b506000546001600160a01b0316610387565b34801561058157600080fd5b506102d0610590366004612269565b61109d565b3480156105a157600080fd5b5061027361111e565b3480156105b657600080fd5b506102d06105c5366004612101565b61112d565b3480156105d657600080fd5b506102a06105e5366004612078565b6111ec565b3480156105f657600080fd5b5061060a610605366004611fb3565b6111f9565b604080516001600160a01b0390981688526020880196909652948601939093526060850191909152608084015260a083015260c082015260e001610255565b34801561065557600080fd5b5061024b610664366004611fd0565b6001600160a01b03918216600090815260066020908152604080832093909416825291909152205490565b34801561069b57600080fd5b506013546014546015546016546106b29392919084565b604080519485526020850193909352918301526060820152608001610255565b3480156106de57600080fd5b50600f546010546011546012546106b29392919084565b34801561070157600080fd5b506102d06107103660046121a4565b61129a565b34801561072157600080fd5b506102d0610730366004611fb3565b611311565b34801561074157600080fd5b50601a54610387906001600160a01b031681565b34801561076157600080fd5b506102d06113ca565b60606007805461077990612453565b80601f01602080910402602001604051908101604052809291908181526020018280546107a590612453565b80156107f25780601f106107c7576101008083540402835291602001916107f2565b820191906000526020600020905b8154815290600101906020018083116107d557829003601f168201915b5050505050905090565b3360008181526006602090815260408083206001600160a01b038716808552925280832085905551919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925906108579086815260200190565b60405180910390a350600192915050565b6000546001600160a01b031633148061089457506001546001600160a01b0316336001600160a01b0316145b6108b95760405162461bcd60e51b81526004016108b09061233d565b60405180910390fd5b601c54604051630ca61cb160e01b81526004810185905260248101849052604481018390526001600160a01b0390911690630ca61cb190606401600060405180830381600087803b15801561090d57600080fd5b505af1158015610921573d6000803e3d6000fd5b50505050505050565b6000546001600160a01b031633148061095657506001546001600160a01b0316336001600160a01b0316145b6109725760405162461bcd60e51b81526004016108b09061233d565b604051806080016040528084815260200183815260200182815260200182848661099c91906123e3565b6109a691906123e3565b90528051600f556020810151601055604081015160115560600151601255505050565b6000546001600160a01b03163314806109f557506001546001600160a01b0316336001600160a01b0316145b610a115760405162461bcd60e51b81526004016108b09061233d565b604051339082156108fc029083906000818181858888f19350505050158015610a3e573d6000803e3d6000fd5b5050565b6000546001600160a01b0316331480610a6e57506001546001600160a01b0316336001600160a01b0316145b610a8a5760405162461bcd60e51b81526004016108b09061233d565b6040518060800160405280848152602001838152602001828152602001828486610ab491906123e3565b610abe91906123e3565b905280516013556020810151601455604081015160155560600151601655505050565b6001600160a01b038316600090815260066020908152604080832033845290915281205460001914610b8e576040805180820182526016815275496e73756666696369656e7420416c6c6f77616e636560501b6020808301919091526001600160a01b0387166000908152600682528381203382529091529190912054610b6991849061143d565b6001600160a01b03851660009081526006602090815260408083203384529091529020555b610b99848484611469565b90505b9392505050565b6000546001600160a01b0316331480610bcf57506001546001600160a01b0316336001600160a01b0316145b610beb5760405162461bcd60e51b81526004016108b09061233d565b60405163a9059cbb60e01b8152336004820152602481018290526001600160a01b0383169063a9059cbb90604401602060405180830381600087803b158015610c3357600080fd5b505af1158015610c47573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c6b9190612187565b505050565b6000546001600160a01b0316331480610c9c57506001546001600160a01b0316336001600160a01b0316145b610cb85760405162461bcd60e51b81526004016108b09061233d565b60005b60ff8116831115610d2f5781600d600086868560ff16818110610ce057610ce06124c4565b9050602002016020810190610cf59190611fb3565b6001600160a01b031681526020810191909152604001600020805460ff191691151591909117905580610d278161248e565b915050610cbb565b50505050565b601c54604051630afbf02f60e11b81523360048201526001600160a01b03909116906315f7e05e90602401600060405180830381600087803b158015610d7a57600080fd5b505af1158015610d2f573d6000803e3d6000fd5b6000610d9c826000196107fc565b92915050565b6000546001600160a01b0316331480610dce57506001546001600160a01b0316336001600160a01b0316145b610dea5760405162461bcd60e51b81526004016108b09061233d565b8151610dfd906007906020850190611e8d565b508051610c6b906008906020840190611e8d565b6000546001600160a01b0316331480610e3d57506001546001600160a01b0316336001600160a01b0316145b610e595760405162461bcd60e51b81526004016108b09061233d565b6107d0600954610e6991906123fb565b811015610e7557600080fd5b600b55565b6000546001600160a01b0316331480610ea657506001546001600160a01b0316336001600160a01b0316145b610ec25760405162461bcd60e51b81526004016108b09061233d565b610ecc6000611767565b565b6000546001600160a01b0316331480610efa57506001546001600160a01b0316336001600160a01b0316145b610f165760405162461bcd60e51b81526004016108b09061233d565b6001600160a01b0382163014801590610f3d5750601b546001600160a01b03838116911614155b610f4657600080fd5b6001600160a01b0382166000908152600e60205260409020805460ff19168215801591909117909155610fde57601c54604051630a5b654b60e11b81526001600160a01b03848116600483015260006024830152909116906314b6ca96906044015b600060405180830381600087803b158015610fc257600080fd5b505af1158015610fd6573d6000803e3d6000fd5b505050505050565b601c546001600160a01b0383811660008181526005602052604090819020549051630a5b654b60e11b8152600481019290925260248201529116906314b6ca9690604401610fa8565b6000546001600160a01b031633148061105357506001546001600160a01b0316336001600160a01b0316145b61106f5760405162461bcd60e51b81526004016108b09061233d565b601880546001600160a01b039384166001600160a01b03199182161790915560198054929093169116179055565b6000546001600160a01b03163314806110c957506001546001600160a01b0316336001600160a01b0316145b6110e55760405162461bcd60e51b81526004016108b09061233d565b601c546040516323849a5160e21b8152600481018490526001600160a01b03838116602483015290911690638e12694490604401610fa8565b60606008805461077990612453565b6000546001600160a01b031633148061115957506001546001600160a01b0316336001600160a01b0316145b6111755760405162461bcd60e51b81526004016108b09061233d565b60005b60ff8116831115610d2f5781600c600086868560ff1681811061119d5761119d6124c4565b90506020020160208101906111b29190611fb3565b6001600160a01b031681526020810191909152604001600020805460ff1916911515919091179055806111e48161248e565b915050611178565b6000610b9c338484611469565b601c5460405163fbcbc0f160e01b81526001600160a01b038381166004830152600092839283928392839283928392169063fbcbc0f19060240160e06040518083038186803b15801561124b57600080fd5b505afa15801561125f573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061128391906120a4565b959e949d50929b5090995097509550909350915050565b6000546001600160a01b03163314806112c657506001546001600160a01b0316336001600160a01b0316145b6112e25760405162461bcd60e51b81526004016108b09061233d565b601f805460209490945561ffff1990931693151561ff0019169390931761010091151591909102179055601e55565b6000546001600160a01b031633148061133d57506001546001600160a01b0316336001600160a01b0316145b6113595760405162461bcd60e51b81526004016108b09061233d565b6001600160a01b0381166113be5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016108b0565b6113c781611767565b50565b6000546001600160a01b03163314806113f657506001546001600160a01b0316336001600160a01b0316145b6114125760405162461bcd60e51b81526004016108b09061233d565b601f805462ff0000191662010000179055565b6000610b9c828461241d565b6000610b9c82846123fb565b600081848411156114615760405162461bcd60e51b81526004016108b091906122e8565b505050900390565b60008383601f60029054906101000a900460ff168061149557506000546001600160a01b038381169116145b806114ad57506000546001600160a01b038281169116145b6114e45760405162461bcd60e51b81526020600482015260086024820152672737ba1027b832b760c11b60448201526064016108b0565b60215460ff1615611501576114fa8686866117b7565b925061175e565b61150c86868661189d565b42601e54601d5461151d91906123e3565b116115375761152a6119e1565b1561153757611537611a34565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b03891660009081526005909152919091205461158991869061143d565b6001600160a01b0387166000908152600560205260408120919091556115b0878787611d65565b6001600160a01b0387166000908152600560205260409020549091506115d69082611e75565b6001600160a01b03808816600090815260056020908152604080832094909455918a168152600e909152205460ff1661167a57601c546001600160a01b0388811660008181526005602052604090819020549051630a5b654b60e11b8152600481019290925260248201529116906314b6ca9690604401600060405180830381600087803b15801561166757600080fd5b505af1925050508015611678575060015b505b6001600160a01b0386166000908152600e602052604090205460ff1661170b57601c546001600160a01b0387811660008181526005602052604090819020549051630a5b654b60e11b8152600481019290925260248201529116906314b6ca9690604401600060405180830381600087803b1580156116f857600080fd5b505af1925050508015611709575060015b505b856001600160a01b0316876001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161175091815260200190565b60405180910390a360019350505b50509392505050565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b038616600090815260059091529182205461180891849061143d565b6001600160a01b0380861660009081526005602052604080822093909355908516815220546118379083611e75565b6001600160a01b0380851660008181526005602052604090819020939093559151908616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9061188b9086815260200190565b60405180910390a35060019392505050565b600b54811115806118c657506001600160a01b0383166000908152600d602052604090205460ff165b6119065760405162461bcd60e51b8152602060048201526011602482015270151608131a5b5a5d08115e18d959591959607a1b60448201526064016108b0565b6000546001600160a01b0384811691161480159061192d57506001600160a01b0382163014155b801561194757506003546001600160a01b03838116911614155b80156119615750601b546001600160a01b03838116911614155b801561197b57506018546001600160a01b03838116911614155b801561199557506019546001600160a01b03838116911614155b15610c6b576001600160a01b038216600090815260056020908152604080832054600d9092529091205460ff16806119d85750600a546119d583836123e3565b11155b610d2f57600080fd5b601b546000906001600160a01b03163314801590611a02575060215460ff16155b8015611a105750601f5460ff165b8015611a2f575060208054306000908152600590925260409091205410155b905090565b6021805460ff1916600117905530600090815260056020526040902054601f54610100900460ff16611a6557506020545b42601d556040805160808101825260135480825260145460208301819052601554938301849052601654606084018190529293916000611ab26002611aac87818b89611425565b90611431565b90506000611ac08883611e81565b60408051600280825260608201835292935060009290916020830190803683370190505090503081600081518110611afa57611afa6124c4565b6001600160a01b039283166020918202929092010152600254825191169082906001908110611b2b57611b2b6124c4565b6001600160a01b039283166020918202929092010152601a54604051633b158ab160e11b81524792919091169063762b156290611b75908690600090879030904290600401612372565b600060405180830381600087803b158015611b8f57600080fd5b505af1158015611ba3573d6000803e3d6000fd5b505050506000611bbc8247611e8190919063ffffffff16565b90506000611bd5611bce8a6002611431565b8b90611e81565b90506000611bea6002611aac8481878f611425565b90508615611c9a57601a54601954604051637c8d9fb960e11b8152306004820152602481018a905260006044820181905260648201526001600160a01b0391821660848201524260a482015291169063f91b3f7290839060c4016060604051808303818588803b158015611c5d57600080fd5b505af1158015611c71573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190611c9691906122ba565b5050505b6000611caa83611aac868c611425565b9050601c60009054906101000a90046001600160a01b03166001600160a01b031663d0e30db0826040518263ffffffff1660e01b81526004016000604051808303818588803b158015611cfc57600080fd5b505af193505050508015611d0e575060015b5060185460405147916001600160a01b03169082156108fc029083906000818181858888f19350505050158015611d49573d6000803e3d6000fd5b50506021805460ff191690555050505050505050505050505050565b6001600160a01b0383166000908152600c602052604081205460ff1680611da457506001600160a01b0383166000908152600c602052604090205460ff165b15611db0575080610b9c565b601b546000906001600160a01b0386811691161415611dd25750601254611dd7565b506016545b601754600090611deb90611aac8685611425565b30600090815260056020526040902054909150611e089082611e75565b30600081815260056020526040908190209290925590516001600160a01b038816907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90611e599085815260200190565b60405180910390a3611e6b8482611e81565b9695505050505050565b6000610b9c82846123e3565b6000610b9c828461243c565b828054611e9990612453565b90600052602060002090601f016020900481019282611ebb5760008555611f01565b82601f10611ed457805160ff1916838001178555611f01565b82800160010185558215611f01579182015b82811115611f01578251825591602001919060010190611ee6565b50611f0d929150611f11565b5090565b5b80821115611f0d5760008155600101611f12565b600082601f830112611f3757600080fd5b813567ffffffffffffffff80821115611f5257611f526124da565b604051601f8301601f19908116603f01168101908282118183101715611f7a57611f7a6124da565b81604052838152866020858801011115611f9357600080fd5b836020870160208301376000602085830101528094505050505092915050565b600060208284031215611fc557600080fd5b8135610b9c816124f0565b60008060408385031215611fe357600080fd5b8235611fee816124f0565b91506020830135611ffe816124f0565b809150509250929050565b60008060006060848603121561201e57600080fd5b8335612029816124f0565b92506020840135612039816124f0565b929592945050506040919091013590565b6000806040838503121561205d57600080fd5b8235612068816124f0565b91506020830135611ffe81612505565b6000806040838503121561208b57600080fd5b8235612096816124f0565b946020939093013593505050565b600080600080600080600060e0888a0312156120bf57600080fd5b87516120ca816124f0565b602089015160408a015160608b015160808c015160a08d015160c0909d0151949e939d50919b909a50909850965090945092505050565b60008060006040848603121561211657600080fd5b833567ffffffffffffffff8082111561212e57600080fd5b818601915086601f83011261214257600080fd5b81358181111561215157600080fd5b8760208260051b850101111561216657600080fd5b6020928301955093505084013561217c81612505565b809150509250925092565b60006020828403121561219957600080fd5b8151610b9c81612505565b600080600080608085870312156121ba57600080fd5b84356121c581612505565b93506020850135925060408501356121dc81612505565b9396929550929360600135925050565b600080604083850312156121ff57600080fd5b823567ffffffffffffffff8082111561221757600080fd5b61222386838701611f26565b9350602085013591508082111561223957600080fd5b5061224685828601611f26565b9150509250929050565b60006020828403121561226257600080fd5b5035919050565b6000806040838503121561227c57600080fd5b823591506020830135611ffe816124f0565b6000806000606084860312156122a357600080fd5b505081359360208301359350604090920135919050565b6000806000606084860312156122cf57600080fd5b8351925060208401519150604084015190509250925092565b600060208083528351808285015260005b81811015612315578581018301518582016040015282016122f9565b81811115612327576000604083870101525b50601f01601f1916929092016040019392505050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156123c25784516001600160a01b03168352938301939183019160010161239d565b50506001600160a01b03969096166060850152505050608001529392505050565b600082198211156123f6576123f66124ae565b500190565b60008261241857634e487b7160e01b600052601260045260246000fd5b500490565b6000816000190483118215151615612437576124376124ae565b500290565b60008282101561244e5761244e6124ae565b500390565b600181811c9082168061246757607f821691505b6020821081141561248857634e487b7160e01b600052602260045260246000fd5b50919050565b600060ff821660ff8114156124a5576124a56124ae565b60010192915050565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052604160045260246000fd5b6001600160a01b03811681146113c757600080fd5b80151581146113c757600080fdfea2646970667358221220d9517a9eed857f3996baf7c74b34572300875367a0e69eeeb2103aab25b6fc7864736f6c6343000807003360806040526ec097ce7bc90715b34b9f1000000000600955610e10600a5565b5e620f48000600b5566038d7ea4c68000600c5534801561003e57600080fd5b50600080546001600160a01b03191633179055610a6a806100606000396000f3fe6080604052600436106100f35760003560e01c8063997664d71161008a578063e2d2e21911610059578063e2d2e2191461027a578063efca2eed14610290578063fbcbc0f1146102a6578063ffd49c841461030557600080fd5b8063997664d7146101ef578063be10b61414610205578063ce7c2ac21461021b578063d0e30db01461027257600080fd5b806328fd3198116100c657806328fd3198146101835780633a98ef39146101a35780634fab0ae8146101b95780638e126944146101cf57600080fd5b80630ca61cb1146100f857806311ce023d1461011a57806314b6ca961461014357806315f7e05e14610163575b600080fd5b34801561010457600080fd5b50610118610113366004610956565b61031b565b005b34801561012657600080fd5b5061013060095481565b6040519081526020015b60405180910390f35b34801561014f57600080fd5b5061011861015e366004610900565b610340565b34801561016f57600080fd5b5061011861017e3660046108e5565b6104bc565b34801561018f57600080fd5b5061013061019e3660046108e5565b6104c8565b3480156101af57600080fd5b5061013060055481565b3480156101c557600080fd5b50610130600b5481565b3480156101db57600080fd5b506101186101ea36600461092a565b610551565b3480156101fb57600080fd5b5061013060065481565b34801561021157600080fd5b50610130600c5481565b34801561022757600080fd5b506102576102363660046108e5565b60046020526000908152604090208054600182015460029092015490919083565b6040805193845260208401929092529082015260600161013a565b6101186105b1565b34801561028657600080fd5b5061013060085481565b34801561029c57600080fd5b5061013060075481565b3480156102b257600080fd5b506102c66102c13660046108e5565b610607565b604080516001600160a01b0390981688526020880196909652948601939093526060850191909152608084015260a083015260c082015260e00161013a565b34801561031157600080fd5b50610130600a5481565b6000546001600160a01b0316331461033257600080fd5b600a92909255600b55600c55565b6000546001600160a01b0316331461035757600080fd5b6001600160a01b0382166000908152600460205260409020541561037e5761037e82610681565b600c54811180156103a557506001600160a01b038216600090815260046020526040902054155b1561040a57600180546001600160a01b03841660008181526002602052604081208390558284018455929092527fb10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf60180546001600160a01b0319169091179055610441565b600c54811115801561043357506001600160a01b03821660009081526004602052604090205415155b15610441576104418261075c565b6001600160a01b03821660009081526004602052604090205460055461047291839161046c9161086f565b90610882565b6005556001600160a01b03821660009081526004602052604090208190556104998161088e565b6001600160a01b0390921660009081526004602052604090206001019190915550565b6104c581610681565b50565b6001600160a01b0381166000908152600460205260408120546104ed57506000919050565b6001600160a01b03821660009081526004602052604081205461050f9061088e565b6001600160a01b03841660009081526004602052604090206001015490915080821161053f575060009392505050565b610549828261086f565b949350505050565b6000546001600160a01b0316331461056857600080fd5b476001600160a01b0382166108fc846105815782610583565b845b6040518115909202916000818181858888f193505050501580156105ab573d6000803e3d6000fd5b50505050565b6000546001600160a01b031633146105c857600080fd5b60065434906105d79082610882565b600655600554600954610601916105f8916105f290856108b1565b906108bd565b60085490610882565b60085550565b8060008080808080610618876104c8565b6001600160a01b038916600090815260046020908152604080832060020154600390925290912054600a5492985090965094506106559085610982565b925042831161066557600061066f565b61066f834261086f565b91506007549050919395979092949650565b6001600160a01b0381166000908152600460205260409020546106a15750565b60006106ac826104c8565b90508015610758576007546106c19082610882565b6007556040516001600160a01b0383169082156108fc029083906000818181858888f193505050501580156106fa573d6000803e3d6000fd5b506001600160a01b0382166000908152600360209081526040808320429055600490915290206002015461072e9082610882565b6001600160a01b03831660009081526004602052604090206002810191909155546104999061088e565b5050565b6001805461076b9082906109db565b8154811061077b5761077b610a1e565b60009182526020808320909101546001600160a01b03848116845260029092526040909220546001805492909316929181106107b9576107b9610a1e565b600091825260208083209190910180546001600160a01b0319166001600160a01b039485161790559183168152600291829052604081205460018054919392916108049082906109db565b8154811061081457610814610a1e565b60009182526020808320909101546001600160a01b03168352820192909252604001902055600180548061084a5761084a610a08565b600082815260209020810160001990810180546001600160a01b031916905501905550565b600061087b82846109db565b9392505050565b600061087b8284610982565b60006108ab6009546105f2600854856108b190919063ffffffff16565b92915050565b600061087b82846109bc565b600061087b828461099a565b80356001600160a01b03811681146108e057600080fd5b919050565b6000602082840312156108f757600080fd5b61087b826108c9565b6000806040838503121561091357600080fd5b61091c836108c9565b946020939093013593505050565b6000806040838503121561093d57600080fd5b8235915061094d602084016108c9565b90509250929050565b60008060006060848603121561096b57600080fd5b505081359360208301359350604090920135919050565b60008219821115610995576109956109f2565b500190565b6000826109b757634e487b7160e01b600052601260045260246000fd5b500490565b60008160001904831182151516156109d6576109d66109f2565b500290565b6000828210156109ed576109ed6109f2565b500390565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052603160045260246000fd5b634e487b7160e01b600052603260045260246000fdfea264697066735822122015ab400ffa5f58d2face76b53b187cf57e2c72623346a15335a128f637fedb4564736f6c634300080700334f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572