[ { "inputs": [ { "internalType": "address", "name": "_dexRouter", "type": "address" }, { "internalType": "address", "name": "_marketingAddress", "type": "address" }, { "internalType": "address", "name": "_wAVAX", "type": "address" } ], "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": false, "internalType": "uint256", "name": "amountAVAX", "type": "uint256" }, { "indexed": false, "internalType": "uint256", "name": "amountBOG", "type": "uint256" } ], "name": "AutoLiquify", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "uint256", "name": "duration", "type": "uint256" } ], "name": "BuybackMultiplierActive", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "address", "name": "owner", "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": "MASK", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "Sweep", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "WAVAX", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "", "type": "address" } ], "name": "_isFree", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "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": [ { "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": "adr", "type": "address" } ], "name": "authorize", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "autoBuybackEnabled", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "autoLiquidityReceiver", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "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": "holder", "type": "address" } ], "name": "checkFree", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "clearBuybackMultiplier", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "decimals", "outputs": [ { "internalType": "uint8", "name": "", "type": "uint8" } ], "stateMutability": "pure", "type": "function" }, { "inputs": [], "name": "distributorAddress", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "getCirculatingSupply", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "accuracy", "type": "uint256" } ], "name": "getLiquidityBacking", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "getMultipliedFee", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "getOwner", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "bool", "name": "selling", "type": "bool" } ], "name": "getTotalFee", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "adr", "type": "address" } ], "name": "isAuthorized", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "target", "type": "uint256" }, { "internalType": "uint256", "name": "accuracy", "type": "uint256" } ], "name": "isOverLiquified", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "account", "type": "address" } ], "name": "isOwner", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "launch", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "launchedAt", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "launchedAtTimestamp", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "marketingFeeReceiver", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "name", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "pure", "type": "function" }, { "inputs": [], "name": "pair", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "holder", "type": "address" } ], "name": "removeApexAddress", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "router", "outputs": [ { "internalType": "contract IDEXRouter", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "holder", "type": "address" } ], "name": "setApexAddress", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "bool", "name": "_enabled", "type": "bool" }, { "internalType": "uint256", "name": "_cap", "type": "uint256" }, { "internalType": "uint256", "name": "_amount", "type": "uint256" }, { "internalType": "uint256", "name": "_period", "type": "uint256" } ], "name": "setAutoBuybackSettings", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "numerator", "type": "uint256" }, { "internalType": "uint256", "name": "denominator", "type": "uint256" }, { "internalType": "uint256", "name": "length", "type": "uint256" } ], "name": "setBuybackMultiplierSettings", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "_minPeriod", "type": "uint256" }, { "internalType": "uint256", "name": "_minDistribution", "type": "uint256" } ], "name": "setDistributionCriteria", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "gas", "type": "uint256" } ], "name": "setDistributorSettings", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "_autoLiquidityReceiver", "type": "address" }, { "internalType": "address", "name": "_marketingFeeReceiver", "type": "address" } ], "name": "setFeeReceivers", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "_liquidityFee", "type": "uint256" }, { "internalType": "uint256", "name": "_buybackFee", "type": "uint256" }, { "internalType": "uint256", "name": "_reflectionFee", "type": "uint256" }, { "internalType": "uint256", "name": "_marketingFee", "type": "uint256" }, { "internalType": "uint256", "name": "_feeDenominator", "type": "uint256" } ], "name": "setFees", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "holder", "type": "address" } ], "name": "setFree", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "holder", "type": "address" }, { "internalType": "bool", "name": "exempt", "type": "bool" } ], "name": "setIsDividendExempt", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "holder", "type": "address" }, { "internalType": "bool", "name": "exempt", "type": "bool" } ], "name": "setIsFeeExempt", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "holder", "type": "address" }, { "internalType": "bool", "name": "exempt", "type": "bool" } ], "name": "setIsTxLimitExempt", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "amount", "type": "uint256" } ], "name": "setMaxWallet", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "bool", "name": "_enabled", "type": "bool" }, { "internalType": "uint256", "name": "_amount", "type": "uint256" } ], "name": "setSwapBackSettings", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "_target", "type": "uint256" }, { "internalType": "uint256", "name": "_denominator", "type": "uint256" } ], "name": "setTargetLiquidity", "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": "pure", "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 payable", "name": "adr", "type": "address" } ], "name": "transferOwnership", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "amount", "type": "uint256" }, { "internalType": "bool", "name": "triggerBuybackMultiplier", "type": "bool" } ], "name": "triggerZeusBuyback", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "holder", "type": "address" } ], "name": "unSetFree", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "adr", "type": "address" } ], "name": "unauthorize", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "stateMutability": "payable", "type": "receive" } ]
6080604052600280546001600160a01b031990811673b31f66aa3c1e785363f0875a1b74e27b85fd66c71790915560038054821661dead9081179091556004805483169055600580548316909117905560068054821673b3afdbd3011c2c775bcf58e74f87e1b105667edc1790556007805490911673a0e609c0fb8605e5c2afaaad99c332aa36f1cb991790556200009a6009600a6200083b565b620000a99062895440620008fa565b600855620000c960646008546200069d60201b6200169d1790919060201c565b620000d6906001620007b4565b600955620000f660646008546200069d60201b6200169d1790919060201c565b62000103906001620007b4565b600a908155600060118190556012556102bc6013556103206014556105dc6015556127106016556017556064601881905560c8601d55601e556107086020556021805460ff199081169091556207a120602a55602b8054909116600117905560085462000174906107d090620007cf565b602c553480156200018457600080fd5b5060405162003b4438038062003b44833981016040819052620001a7916200076a565b60008054336001600160a01b031991821681178355825260016020818152604093849020805460ff19169092179091556019805483166001600160a01b038881169182179092556002805490941691861691909117909255825163c45a015560e01b81529251919263c45a01559260048083019392829003018186803b1580156200023157600080fd5b505afa15801562000246573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200026c91906200074c565b6040516364e329cb60e11b81526001600160a01b038381166004830152306024830152919091169063c9c6539690604401602060405180830381600087803b158015620002b857600080fd5b505af1158015620002cd573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002f391906200074c565b601a80546001600160a01b0319166001600160a01b03928316179055600854306000908152600c6020908152604080832060198054871685529083529281902093909355905482516339d94ae160e11b815292519316926373b295c2926004808201939291829003018186803b1580156200036d57600080fd5b505afa15801562000382573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620003a891906200074c565b600280546001600160a01b0319166001600160a01b03929092169190911790556040518390620003d89062000721565b6001600160a01b039091168152602001604051809103906000f08015801562000405573d6000803e3d6000fd5b50602880546001600160a01b039283166001600160a01b03199182168117909255602980548216909217909155336000818152600d60209081526040808320805460ff199081166001908117909255600e84528285208054821683179055600380548916865283862080548316841790557ff5af78cff3e78355a32b4211ace9c8ffa49f78011b72af3b6d31998ea4a5df0580548316841790557feeb8397cb9b6c580c7da724cbcc32543649398a299df67a354891d42222aff6080548316841790557faf6e96e65dc29cb81c232945d4187fe89f0c5328c30b4fc2fa783257f347542680548316841790557f331aefe01d778a62406be60a901ff6f4b4ee0c793ff31d8d9a2bc7674406e80880548316841790557fd316e739e302370c4a5fa7e0d176e4dd73f2a48d5e78d0b893f6fad4a24a413b80548316841790557f7220203c5bd57bd9b4e101e2f23f474eeb5c14fc4fae78142d1c77d5ede6f19a8054831684179055601085527f151a2e590091ef5cb44e51668bc1ed99e2573af4fcc1d4a03f2d0838711fb0f7805483168417905586865283862080548316841790558054891686528386208054831684179055601a5489168652600f855283862080548316841790553086528386208054831684179055548816855282852080548216831790558585526022909352922080549091169091179055600680548316909117905560078054928516929091169190911790556008546200062c908490620006b4565b50601a5460085462000648916001600160a01b031690620006b4565b50600854336000818152600b6020908152604080832085905551938452919290917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a350505062000932565b6000620006ab8284620007cf565b90505b92915050565b336000818152600c602090815260408083206001600160a01b038716808552925280832085905551919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92590620007109086815260200190565b60405180910390a350600192915050565b610b498062002ffb83390190565b80516001600160a01b03811681146200074757600080fd5b919050565b6000602082840312156200075f57600080fd5b620006ab826200072f565b6000806000606084860312156200078057600080fd5b6200078b846200072f565b92506200079b602085016200072f565b9150620007ab604085016200072f565b90509250925092565b60008219821115620007ca57620007ca6200091c565b500190565b600082620007ed57634e487b7160e01b600052601260045260246000fd5b500490565b600181815b80851115620008335781600019048211156200081757620008176200091c565b808516156200082557918102915b93841c9390800290620007f7565b509250929050565b6000620006ab60ff8416836000826200085757506001620006ae565b816200086657506000620006ae565b81600181146200087f57600281146200088a57620008aa565b6001915050620006ae565b60ff8411156200089e576200089e6200091c565b50506001821b620006ae565b5060208310610133831016604e8410600b8410161715620008cf575081810a620006ae565b620008db8383620007f2565b8060001904821115620008f257620008f26200091c565b029392505050565b60008160001904831182151516156200091757620009176200091c565b500290565b634e487b7160e01b600052601160045260246000fd5b6126b980620009426000396000f3fe6080604052600436106103855760003560e01c806382247ec0116101d1578063ca33e64c11610102578063f0b37c04116100a0578063f708a64f1161006f578063f708a64f14610a98578063f84ba65d14610ab8578063f887ea4014610ad8578063fe9fbb8014610af857600080fd5b8063f0b37c0414610a18578063f1f3bca314610a38578063f2fde38b14610a58578063f5cfec0a14610a7857600080fd5b8063dd62ed3e116100dc578063dd62ed3e1461096e578063df20fd49146109b4578063e91f214e146109d4578063e96fada2146109f857600080fd5b8063ca33e64c14610919578063d51ed1c814610939578063d806d12f1461095957600080fd5b8063a8aa1b311161016f578063b210b06d11610149578063b210b06d146108b8578063b6a5d7de146108cd578063bf56b371146108ed578063c6d2577d1461090357600080fd5b8063a8aa1b3114610858578063a9059cbb14610878578063b0e7e78a1461089857600080fd5b806395d89b41116101ab57806395d89b41146107cc5780639d1944f5146107f8578063a4b45c0014610818578063a51af4c51461083857600080fd5b806382247ec014610778578063893d20e81461078e57806389ef69f6146107ac57600080fd5b80632b112e49116102b65780635c85974f116102545780637088fb7f116102235780637088fb7f146106df57806370a08231146106f457806373b295c21461072a5780637d1db4a51461076257600080fd5b80635c85974f146106655780635d0044ca14610685578063658d4b7f146106a55780636ddd1713146106c557600080fd5b8063313ce56711610290578063313ce567146105ef5780633425c0011461060b5780633bb8a8d41461062b578063571ac8b01461064557600080fd5b80632b112e491461058b5780632d48e896146105a05780632f54bf6e146105c057600080fd5b8063095ea7b311610323578063201e7991116102fd578063201e7991146104fb5780632375ce401461051b57806323b872dd1461053b578063296020e71461055b57600080fd5b8063095ea7b3146104a65780631161ae39146104c657806318160ddd146104e657600080fd5b8063048c7baf1161035f578063048c7baf146103f157806304a66b481461041157806306fdde031461043157806307c89fe81461047657600080fd5b806301339c21146103915780630445b667146103a8578063048b208f146103d157600080fd5b3661038c57005b600080fd5b34801561039d57600080fd5b506103a6610b18565b005b3480156103b457600080fd5b506103be602c5481565b6040519081526020015b60405180910390f35b3480156103dd57600080fd5b506103a66103ec366004612225565b610b97565b3480156103fd57600080fd5b506103a661040c366004612354565b610c04565b34801561041d57600080fd5b506103a661042c366004612445565b610c52565b34801561043d57600080fd5b5060408051808201909152601381527229bcb73234b1b0ba329024b210273ab6b132b960691b60208201525b6040516103c891906124f9565b34801561048257600080fd5b50610496610491366004612225565b610cad565b60405190151581526020016103c8565b3480156104b257600080fd5b506104966104c13660046122f1565b610cfb565b3480156104d257600080fd5b506104966104e13660046123c9565b610d67565b3480156104f257600080fd5b506008546103be565b34801561050757600080fd5b506103a66105163660046123c9565b610d7b565b34801561052757600080fd5b506103a66105363660046123eb565b610dab565b34801561054757600080fd5b5061049661055636600461227b565b610e00565b34801561056757600080fd5b50610496610576366004612225565b60106020526000908152604090205460ff1681565b34801561059757600080fd5b506103be610ec4565b3480156105ac57600080fd5b506103a66105bb3660046123c9565b610f16565b3480156105cc57600080fd5b506104966105db366004612225565b6000546001600160a01b0391821691161490565b3480156105fb57600080fd5b50604051600981526020016103c8565b34801561061757600080fd5b506103a6610626366004612225565b610fa5565b34801561063757600080fd5b506021546104969060ff1681565b34801561065157600080fd5b50610496610660366004612225565b610ff0565b34801561067157600080fd5b506103a661068036600461238d565b611004565b34801561069157600080fd5b506103a66106a036600461238d565b61104a565b3480156106b157600080fd5b506103a66106c03660046122bc565b611090565b3480156106d157600080fd5b50602b546104969060ff1681565b3480156106eb57600080fd5b506103a66110e0565b34801561070057600080fd5b506103be61070f366004612225565b6001600160a01b03166000908152600b602052604090205490565b34801561073657600080fd5b5060025461074a906001600160a01b031681565b6040516001600160a01b0390911681526020016103c8565b34801561076e57600080fd5b506103be60095481565b34801561078457600080fd5b506103be600a5481565b34801561079a57600080fd5b506000546001600160a01b031661074a565b3480156107b857600080fd5b506103a66107c7366004612225565b61113d565b3480156107d857600080fd5b5060408051808201909152600381526229a4a760e91b6020820152610469565b34801561080457600080fd5b506103a661081336600461238d565b61118b565b34801561082457600080fd5b506103a6610833366004612242565b6111c4565b34801561084457600080fd5b5060295461074a906001600160a01b031681565b34801561086457600080fd5b50601a5461074a906001600160a01b031681565b34801561088457600080fd5b506104966108933660046122f1565b611217565b3480156108a457600080fd5b506103a66108b3366004612225565b611224565b3480156108c457600080fd5b506103a6611299565b3480156108d957600080fd5b506103a66108e8366004612225565b6112c5565b3480156108f957600080fd5b506103be601b5481565b34801561090f57600080fd5b506103be601c5481565b34801561092557600080fd5b5060065461074a906001600160a01b031681565b34801561094557600080fd5b506103be61095436600461238d565b611316565b34801561096557600080fd5b506015546103be565b34801561097a57600080fd5b506103be610989366004612242565b6001600160a01b039182166000908152600c6020908152604080832093909416825291909152205490565b3480156109c057600080fd5b506103a66109cf366004612338565b61135a565b3480156109e057600080fd5b506103be6fffffffffffffffffffffffffffffffff81565b348015610a0457600080fd5b5060075461074a906001600160a01b031681565b348015610a2457600080fd5b506103a6610a33366004612225565b611396565b348015610a4457600080fd5b506103be610a5336600461231d565b6113e1565b348015610a6457600080fd5b506103a6610a73366004612225565b611416565b348015610a8457600080fd5b506103a6610a933660046123a6565b6114ac565b348015610aa457600080fd5b506103a6610ab33660046122bc565b61152b565b348015610ac457600080fd5b506103a6610ad33660046122bc565b61162f565b348015610ae457600080fd5b5060195461074a906001600160a01b031681565b348015610b0457600080fd5b50610496610b13366004612225565b61167f565b610b213361167f565b610b465760405162461bcd60e51b8152600401610b3d9061256e565b60405180910390fd5b601b5415610b8d5760405162461bcd60e51b8152602060048201526014602482015273416c7265616479206c61756e6368656420626f6960601b6044820152606401610b3d565b43601b5542601c55565b6000546001600160a01b03163314610bc15760405162461bcd60e51b8152600401610b3d9061254e565b6001600160a01b03166000908152601060209081526040808320805460ff19908116909155600e8352818420805482169055600d90925290912080549091169055565b610c0d3361167f565b610c295760405162461bcd60e51b8152600401610b3d9061256e565b6021805460ff191694151594909417909355602391909155600060245560255560265543602755565b610c5b3361167f565b610c775760405162461bcd60e51b8152600401610b3d9061256e565b6011859055601284905560138390556014829055610ca182610c9b858189896116a9565b906116a9565b60155560165550505050565b600080546001600160a01b03163314610cd85760405162461bcd60e51b8152600401610b3d9061254e565b506001600160a01b03811660009081526010602052604090205460ff165b919050565b336000818152600c602090815260408083206001600160a01b038716808552925280832085905551919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92590610d569086815260200190565b60405180910390a350600192915050565b600082610d7383611316565b119392505050565b610d843361167f565b610da05760405162461bcd60e51b8152600401610b3d9061256e565b601791909155601855565b610db43361167f565b610dd05760405162461bcd60e51b8152600401610b3d9061256e565b6002610ddc83856125e7565b11158015610de957508183115b610df257600080fd5b601d92909255601e55602055565b6008546001600160a01b0384166000908152600c60209081526040808320338452909152812054909114610eaf576040805180820182526016815275496e73756666696369656e7420416c6c6f77616e636560501b6020808301919091526001600160a01b0387166000908152600c82528381203382529091529190912054610e8a9184906116b5565b6001600160a01b0385166000908152600c602090815260408083203384529091529020555b610eba8484846116e1565b90505b9392505050565b6004546001600160a01b03166000908152600b6020526040812054610f11906003546001600160a01b03166000908152600b6020526040902054610f0b9060085490611ace565b90611ace565b905090565b610f1f3361167f565b610f3b5760405162461bcd60e51b8152600401610b3d9061256e565b6028546040516316a4744b60e11b815260048101849052602481018390526001600160a01b0390911690632d48e896906044015b600060405180830381600087803b158015610f8957600080fd5b505af1158015610f9d573d6000803e3d6000fd5b505050505050565b6000546001600160a01b03163314610fcf5760405162461bcd60e51b8152600401610b3d9061254e565b6001600160a01b03166000908152601060205260409020805460ff19169055565b6000610ffe82600854610cfb565b92915050565b61100d3361167f565b6110295760405162461bcd60e51b8152600401610b3d9061256e565b6103e860085461103991906125e7565b81101561104557600080fd5b600955565b6110533361167f565b61106f5760405162461bcd60e51b8152600401610b3d9061256e565b6103e860085461107f91906125e7565b81101561108b57600080fd5b600a55565b6110993361167f565b6110b55760405162461bcd60e51b8152600401610b3d9061256e565b6001600160a01b03919091166000908152600d60205260409020805460ff1916911515919091179055565b6000546001600160a01b0316331461110a5760405162461bcd60e51b8152600401610b3d9061254e565b6040514790339082156108fc029083906000818181858888f19350505050158015611139573d6000803e3d6000fd5b5050565b6000546001600160a01b031633146111675760405162461bcd60e51b8152600401610b3d9061254e565b6001600160a01b03166000908152601060205260409020805460ff19166001179055565b6111943361167f565b6111b05760405162461bcd60e51b8152600401610b3d9061256e565b620b71b081106111bf57600080fd5b602a55565b6111cd3361167f565b6111e95760405162461bcd60e51b8152600401610b3d9061256e565b600680546001600160a01b039384166001600160a01b03199182161790915560078054929093169116179055565b6000610ebd3384846116e1565b6000546001600160a01b0316331461124e5760405162461bcd60e51b8152600401610b3d9061254e565b6001600160a01b031660009081526010602090815260408083208054600160ff199182168117909255600e84528285208054821683179055600d909352922080549091169091179055565b6112a23361167f565b6112be5760405162461bcd60e51b8152600401610b3d9061256e565b6000601f55565b6000546001600160a01b031633146112ef5760405162461bcd60e51b8152600401610b3d9061254e565b6001600160a01b03166000908152600160208190526040909120805460ff19169091179055565b6000610ffe611323610ec4565b601a546001600160a01b03166000908152600b60205260409020546113549061134d906002611ada565b8590611ada565b9061169d565b6113633361167f565b61137f5760405162461bcd60e51b8152600401610b3d9061256e565b602b805460ff191692151592909217909155602c55565b6000546001600160a01b031633146113c05760405162461bcd60e51b8152600401610b3d9061254e565b6001600160a01b03166000908152600160205260409020805460ff19169055565b600043601b5460016113f391906125cf565b1061140057505060155490565b811561140e57505060155490565b505060155490565b6000546001600160a01b031633146114405760405162461bcd60e51b8152600401610b3d9061254e565b600080546001600160a01b0319166001600160a01b038316908117825580825260016020818152604093849020805460ff191690921790915591519081527f04dba622d284ed0014ee4b9a6a68386be1a4c08a4913ae272de89199cc686163910160405180910390a150565b6114b53361167f565b6114d15760405162461bcd60e51b8152600401610b3d9061256e565b6003546114e89083906001600160a01b0316611ae6565b80156111395742601f55602080546040519081527f39d2389ec5c1fa77b2c0d374bc61b6d7bd97ccba280fcdeb4e9c7644898d7c3a910160405180910390a15050565b6115343361167f565b6115505760405162461bcd60e51b8152600401610b3d9061256e565b6001600160a01b03821630148015906115775750601a546001600160a01b03838116911614155b61158057600080fd5b6001600160a01b0382166000908152600f60205260409020805460ff191682158015919091179091556115e657602854604051630a5b654b60e11b81526001600160a01b03848116600483015260006024830152909116906314b6ca9690604401610f6f565b6028546001600160a01b038381166000818152600b602052604090819020549051630a5b654b60e11b8152600481019290925260248201529116906314b6ca9690604401610f6f565b6116383361167f565b6116545760405162461bcd60e51b8152600401610b3d9061256e565b6001600160a01b03919091166000908152600e60205260409020805460ff1916911515919091179055565b6001600160a01b031660009081526001602052604090205460ff1690565b6000610ebd82846125e7565b6000610ebd82846125cf565b600081848411156116d95760405162461bcd60e51b8152600401610b3d91906124f9565b505050900390565b602d5460009060ff1615611701576116fa848484611bef565b9050610ebd565b601a547360ae616a2155ee3d9a68541ba4544862310933d4906000906001600160a01b03868116911614806117475750816001600160a01b0316856001600160a01b0316145b90506117538685611c92565b8015801561177a57506001600160a01b03851660009081526010602052604090205460ff16155b156117f357600a546001600160a01b0386166000908152600b60205260409020546117a69086906125cf565b106117f35760405162461bcd60e51b815260206004820152601d60248201527f4d61782077616c6c657420686173206265656e207472696767657265640000006044820152606401610b3d565b801561182357611801611cfb565b1561180e5761180e611d4a565b6118166120b8565b1561182357611823612113565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b0389166000908152600b90915291909120546118759186906116b5565b6001600160a01b0387166000908152600b6020908152604080832093909355600d90529081205460ff16156118aa57846118b5565b6118b587878761215a565b6001600160a01b0387166000908152600b60205260409020549091506118db90826116a9565b6001600160a01b038088166000908152600b6020908152604080832094909455918a168152600f909152205460ff1661197f576028546001600160a01b038881166000818152600b602052604090819020549051630a5b654b60e11b8152600481019290925260248201529116906314b6ca9690604401600060405180830381600087803b15801561196c57600080fd5b505af192505050801561197d575060015b505b6001600160a01b0386166000908152600f602052604090205460ff16611a10576028546001600160a01b038781166000818152600b602052604090819020549051630a5b654b60e11b8152600481019290925260248201529116906314b6ca9690604401600060405180830381600087803b1580156119fd57600080fd5b505af1925050508015611a0e575060015b505b602854602a546040516001624d3b8760e01b031981526001600160a01b039092169163ffb2c47991611a489160040190815260200190565b600060405180830381600087803b158015611a6257600080fd5b505af1925050508015611a73575060015b50856001600160a01b0316876001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051611ab991815260200190565b60405180910390a35060019695505050505050565b6000610ebd8284612628565b6000610ebd8284612609565b602d805460ff19166001179055604080516002808252606082018352600092602083019080368337505060025482519293506001600160a01b031691839150600090611b3457611b34612655565b60200260200101906001600160a01b031690816001600160a01b0316815250503081600181518110611b6857611b68612655565b6001600160a01b03928316602091820292909201015260195460405163c57559dd60e01b815291169063c57559dd908590611bae906000908690889042906004016124c4565b6000604051808303818588803b158015611bc757600080fd5b505af1158015611bdb573d6000803e3d6000fd5b5050602d805460ff19169055505050505050565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b0386166000908152600b90915291822054611c409184906116b5565b6001600160a01b038086166000908152600b60205260408082209390935590851681522054611c6f90836116a9565b6001600160a01b0384166000908152600b60205260409020555060019392505050565b60095481111580611cbb57506001600160a01b0382166000908152600e602052604090205460ff165b6111395760405162461bcd60e51b8152602060048201526011602482015270151608131a5b5a5d08115e18d959591959607a1b6044820152606401610b3d565b601a546000906001600160a01b03163314801590611d1c5750602d5460ff16155b8015611d2a5750602b5460ff165b8015610f11575050602c54306000908152600b6020526040902054101590565b602d805460ff19166001179055601754601854600091611d6991610d67565b611d7557601154611d78565b60005b90506000611d9c600261135460155461135486602c54611ada90919063ffffffff16565b90506000611db582602c54611ace90919063ffffffff16565b60408051600280825260608201835292935060009290916020830190803683370190505090503081600081518110611def57611def612655565b6001600160a01b039283166020918202929092010152600254825191169082906001908110611e2057611e20612655565b6001600160a01b039283166020918202929092010152601954604051633b158ab160e11b81524792919091169063762b156290611e6a908690600090879030904290600401612593565b600060405180830381600087803b158015611e8457600080fd5b505af1158015611e98573d6000803e3d6000fd5b505050506000611eb18247611ace90919063ffffffff16565b90506000611ecc611ec388600261169d565b60155490611ace565b90506000611ee160026113548481878d611ada565b90506000611efe8361135460135487611ada90919063ffffffff16565b90506000611f1b8461135460145488611ada90919063ffffffff16565b9050602860009054906101000a90046001600160a01b03166001600160a01b031663d0e30db0836040518263ffffffff1660e01b81526004016000604051808303818588803b158015611f6d57600080fd5b505af193505050508015611f7f575060015b506007546040516001600160a01b039091169082156108fc029083906000818181858888f19350505050158015611fba573d6000803e3d6000fd5b5088156120a257601954600654604051637c8d9fb960e11b8152306004820152602481018c905260006044820181905260648201526001600160a01b0391821660848201524260a482015291169063f91b3f7290859060c4016060604051808303818588803b15801561202c57600080fd5b505af1158015612040573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906120659190612417565b505060408051858152602081018c90527f424db2872186fa7e7afa7a5e902ed3b49a2ef19c2f5431e672462495dd6b450692500160405180910390a15b5050602d805460ff191690555050505050505050565b601a546000906001600160a01b031633148015906120d95750602d5460ff16155b80156120e7575060215460ff165b80156121025750436026546027546120ff91906125cf565b11155b8015610f1157505060255447101590565b60255460035461212c91906001600160a01b0316611ae6565b4360275560255460245461213f916116a9565b60248190556023541015612158576021805460ff191690555b565b601654601a54600091829161218c919061135490612185906001600160a01b038981169116146113e1565b8690611ada565b306000908152600b60205260409020549091506121a990826116a9565b306000818152600b6020526040908190209290925590516001600160a01b038716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906121fa9085815260200190565b60405180910390a361220c8382611ace565b95945050505050565b80358015158114610cf657600080fd5b60006020828403121561223757600080fd5b8135610ebd8161266b565b6000806040838503121561225557600080fd5b82356122608161266b565b915060208301356122708161266b565b809150509250929050565b60008060006060848603121561229057600080fd5b833561229b8161266b565b925060208401356122ab8161266b565b929592945050506040919091013590565b600080604083850312156122cf57600080fd5b82356122da8161266b565b91506122e860208401612215565b90509250929050565b6000806040838503121561230457600080fd5b823561230f8161266b565b946020939093013593505050565b60006020828403121561232f57600080fd5b610ebd82612215565b6000806040838503121561234b57600080fd5b61230f83612215565b6000806000806080858703121561236a57600080fd5b61237385612215565b966020860135965060408601359560600135945092505050565b60006020828403121561239f57600080fd5b5035919050565b600080604083850312156123b957600080fd5b823591506122e860208401612215565b600080604083850312156123dc57600080fd5b50508035926020909101359150565b60008060006060848603121561240057600080fd5b505081359360208301359350604090920135919050565b60008060006060848603121561242c57600080fd5b8351925060208401519150604084015190509250925092565b600080600080600060a0868803121561245d57600080fd5b505083359560208501359550604085013594606081013594506080013592509050565b600081518084526020808501945080840160005b838110156124b95781516001600160a01b031687529582019590820190600101612494565b509495945050505050565b8481526080602082015260006124dd6080830186612480565b6001600160a01b03949094166040830152506060015292915050565b600060208083528351808285015260005b818110156125265785810183015185820160400152820161250a565b81811115612538576000604083870101525b50601f01601f1916929092016040019392505050565b60208082526006908201526510a7aba722a960d11b604082015260600190565b6020808252600b908201526a085055551213d49256915160aa1b604082015260600190565b85815284602082015260a0604082015260006125b260a0830186612480565b6001600160a01b0394909416606083015250608001529392505050565b600082198211156125e2576125e261263f565b500190565b60008261260457634e487b7160e01b600052601260045260246000fd5b500490565b60008160001904831182151516156126235761262361263f565b500290565b60008282101561263a5761263a61263f565b500390565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052603260045260246000fd5b6001600160a01b038116811461268057600080fd5b5056fea26469706673582212204e2960158e49c473aff2202a791fa7f37505499168ea55c787dc941ecaa6deb564736f6c634300080700336080604052600180546001600160a01b03191673b31f66aa3c1e785363f0875a1b74e27b85fd66c71790556ec097ce7bc90715b34b9f1000000000600b55610e10600c5566b1a2bc2ec50000600d5534801561005a57600080fd5b50604051610b49380380610b49833981016040819052610079916100d3565b6001600160a01b0381166100a1577360ae616a2155ee3d9a68541ba4544862310933d46100a3565b805b600280546001600160a01b03929092166001600160a01b0319928316179055600080549091163317905550610103565b6000602082840312156100e557600080fd5b81516001600160a01b03811681146100fc57600080fd5b9392505050565b610a37806101126000396000f3fe6080604052600436106100dd5760003560e01c8063ce7c2ac21161007f578063efca2eed11610059578063efca2eed14610224578063f0fc6bca1461023a578063ffb2c4791461024f578063ffd49c841461026f57600080fd5b8063ce7c2ac2146101af578063d0e30db014610206578063e2d2e2191461020e57600080fd5b80632d48e896116100bb5780632d48e8961461014d5780633a98ef391461016d5780634fab0ae814610183578063997664d71461019957600080fd5b806311ce023d146100e257806314b6ca961461010b57806328fd31981461012d575b600080fd5b3480156100ee57600080fd5b506100f8600b5481565b6040519081526020015b60405180910390f35b34801561011757600080fd5b5061012b6101263660046108cf565b610285565b005b34801561013957600080fd5b506100f86101483660046108b4565b6103fd565b34801561015957600080fd5b5061012b610168366004610912565b610486565b34801561017957600080fd5b506100f860075481565b34801561018f57600080fd5b506100f8600d5481565b3480156101a557600080fd5b506100f860085481565b3480156101bb57600080fd5b506101eb6101ca3660046108b4565b60066020526000908152604090208054600182015460029092015490919083565b60408051938452602084019290925290820152606001610102565b61012b6104a8565b34801561021a57600080fd5b506100f8600a5481565b34801561023057600080fd5b506100f860095481565b34801561024657600080fd5b5061012b6104fe565b34801561025b57600080fd5b5061012b61026a3660046108f9565b610509565b34801561027b57600080fd5b506100f8600c5481565b6000546001600160a01b0316331461029c57600080fd5b6001600160a01b038216600090815260066020526040902054156102c3576102c382610609565b6000811180156102e957506001600160a01b038216600090815260066020526040902054155b1561034f57600380546001600160a01b0384166000818152600460205260408120839055600183018455929092527fc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b0180546001600160a01b0319169091179055610382565b8015801561037457506001600160a01b03821660009081526006602052604090205415155b1561038257610382826106e4565b6001600160a01b0382166000908152600660205260409020546007546103b39183916103ad916107f9565b9061080c565b6007556001600160a01b03821660009081526006602052604090208190556103da81610818565b6001600160a01b0390921660009081526006602052604090206001019190915550565b6001600160a01b03811660009081526006602052604081205461042257506000919050565b6001600160a01b03821660009081526006602052604081205461044490610818565b6001600160a01b038416600090815260066020526040902060010154909150808211610474575060009392505050565b61047e82826107f9565b949350505050565b6000546001600160a01b0316331461049d57600080fd5b600c91909155600d55565b6000546001600160a01b031633146104bf57600080fd5b60085434906104ce908261080c565b600855600754600b546104f8916104ef916104e9908561083b565b90610847565b600a549061080c565b600a5550565b61050733610609565b565b6000546001600160a01b0316331461052057600080fd5b6003548061052c575050565b6000805a905060005b848310801561054357508381105b156106025783600e5410610557576000600e555b6105896003600e548154811061056f5761056f6109eb565b6000918252602090912001546001600160a01b0316610853565b156105c0576105c06003600e54815481106105a6576105a66109eb565b6000918252602090912001546001600160a01b0316610609565b6105d56105ce5a84906107f9565b849061080c565b92505a600e805491935060006105ea836109a4565b919050555080806105fa906109a4565b915050610535565b5050505050565b6001600160a01b0381166000908152600660205260409020546106295750565b6000610634826103fd565b905080156106e057600954610649908261080c565b6009556040516001600160a01b0383169082156108fc029083906000818181858888f19350505050158015610682573d6000803e3d6000fd5b506001600160a01b038216600090815260056020908152604080832042905560069091529020600201546106b6908261080c565b6001600160a01b03831660009081526006602052604090206002810191909155546103da90610818565b5050565b600380546106f49060019061098d565b81548110610704576107046109eb565b60009182526020808320909101546001600160a01b0384811684526004909252604090922054600380549290931692918110610742576107426109eb565b600091825260208083209190910180546001600160a01b0319166001600160a01b0394851617905591831681526004918290526040812054600380549193929161078e9060019061098d565b8154811061079e5761079e6109eb565b60009182526020808320909101546001600160a01b0316835282019290925260400190205560038054806107d4576107d46109d5565b600082815260209020810160001990810180546001600160a01b031916905501905550565b6000610805828461098d565b9392505050565b60006108058284610934565b6000610835600b546104e9600a548561083b90919063ffffffff16565b92915050565b6000610805828461096e565b6000610805828461094c565b600c546001600160a01b0382166000908152600560205260408120549091429161087d9190610934565b1080156108355750600d54610891836103fd565b1192915050565b80356001600160a01b03811681146108af57600080fd5b919050565b6000602082840312156108c657600080fd5b61080582610898565b600080604083850312156108e257600080fd5b6108eb83610898565b946020939093013593505050565b60006020828403121561090b57600080fd5b5035919050565b6000806040838503121561092557600080fd5b50508035926020909101359150565b60008219821115610947576109476109bf565b500190565b60008261096957634e487b7160e01b600052601260045260246000fd5b500490565b6000816000190483118215151615610988576109886109bf565b500290565b60008282101561099f5761099f6109bf565b500390565b60006000198214156109b8576109b86109bf565b5060010190565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052603160045260246000fd5b634e487b7160e01b600052603260045260246000fdfea2646970667358221220b5d5035c6903d47a01ac254ad427bd6ed64d26629c3da11e8bb14d5791505a2e64736f6c6343000807003300000000000000000000000060ae616a2155ee3d9a68541ba4544862310933d4000000000000000000000000a0e609c0fb8605e5c2afaaad99c332aa36f1cb99000000000000000000000000b31f66aa3c1e785363f0875a1b74e27b85fd66c7