[ { "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": false, "internalType": "uint8", "name": "version", "type": "uint8" } ], "name": "Initialized", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "uint256", "name": "minTokensBeforeSwap", "type": "uint256" } ], "name": "MinTokensBeforeSwapUpdated", "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": "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": false, "internalType": "uint256", "name": "amount", "type": "uint256" } ], "name": "SwapAndLiquifyAmountUpdated", "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": "MAX_FEE", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "VERSION", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "_liquidityFee", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "_marketingAddress", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "_marketingFee", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "_marketingToken", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "_taxFee", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "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": "account", "type": "address" } ], "name": "balanceOf", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "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": [ { "internalType": "uint256", "name": "tAmount", "type": "uint256" } ], "name": "deliver", "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": "string", "name": "name_", "type": "string" }, { "internalType": "string", "name": "symbol_", "type": "string" }, { "internalType": "uint256", "name": "totalSupply_", "type": "uint256" }, { "internalType": "address[3]", "name": "addrs_", "type": "address[3]" }, { "internalType": "uint16[3]", "name": "feeSettings_", "type": "uint16[3]" } ], "name": "initialize", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "account", "type": "address" } ], "name": "isExcludedFromReward", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "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": "tAmount", "type": "uint256" }, { "internalType": "bool", "name": "deductTransferFee", "type": "bool" } ], "name": "reflectionFromToken", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "renounceOwnership", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "_amount", "type": "uint256" } ], "name": "setSwapBackSettings", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "swapAndLiquifyEnabled", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "symbol", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "rAmount", "type": "uint256" } ], "name": "tokenFromReflection", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "totalFees", "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": "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" }, { "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" }, { "stateMutability": "payable", "type": "receive" } ]
60806040523480156200001157600080fd5b506200001c62000022565b620000e3565b600054610100900460ff16156200008f5760405162461bcd60e51b815260206004820152602760248201527f496e697469616c697a61626c653a20636f6e747261637420697320696e697469604482015266616c697a696e6760c81b606482015260840160405180910390fd5b60005460ff90811614620000e1576000805460ff191660ff9081179091556040519081527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b565b612fa680620000f36000396000f3fe6080604052600436106101dc5760003560e01c80634a74bb021161010257806395d89b4111610095578063caac793411610064578063caac79341461054d578063dd62ed3e1461056d578063f2fde38b146105b3578063ffa1ad74146105d357600080fd5b806395d89b41146104e2578063a457c2d7146104f7578063a9059cbb14610517578063bc063e1a1461053757600080fd5b8063796431d0116100d1578063796431d01461044b57806388f820201461046b5780638da5cb5b146104a457806390aef6c0146104c257600080fd5b80634a74bb02146103df5780636bc87c3a1461040057806370a0823114610416578063715018a61461043657600080fd5b80632d8381191161017a5780633b124fe7116101495780633b124fe7146103675780633bd5d1731461037d5780634549b0391461039f57806349bd5a5e146103bf57600080fd5b80632d838119146102e5578063313ce5671461030557806339509351146103275780633afe68931461034757600080fd5b80631694505e116101b65780631694505e1461026257806318160ddd1461029a57806322976e0d146102af57806323b872dd146102c557600080fd5b806306fdde03146101e8578063095ea7b31461021357806313114a9d1461024357600080fd5b366101e357005b600080fd5b3480156101f457600080fd5b506101fd6105e8565b60405161020a9190612889565b60405180910390f35b34801561021f57600080fd5b5061023361022e3660046128d1565b61067a565b604051901515815260200161020a565b34801561024f57600080fd5b50606c545b60405190815260200161020a565b34801561026e57600080fd5b50607754610282906001600160a01b031681565b6040516001600160a01b03909116815260200161020a565b3480156102a657600080fd5b50606a54610254565b3480156102bb57600080fd5b5061025460755481565b3480156102d157600080fd5b506102336102e03660046128fd565b610691565b3480156102f157600080fd5b5061025461030036600461293e565b6106e3565b34801561031157600080fd5b50606f5460405160ff909116815260200161020a565b34801561033357600080fd5b506102336103423660046128d1565b61076c565b34801561035357600080fd5b50607454610282906001600160a01b031681565b34801561037357600080fd5b5061025460705481565b34801561038957600080fd5b5061039d61039836600461293e565b6107a3565b005b3480156103ab57600080fd5b506102546103ba366004612965565b610891565b3480156103cb57600080fd5b50607854610282906001600160a01b031681565b3480156103eb57600080fd5b5060795461023390600160a81b900460ff1681565b34801561040c57600080fd5b5061025460725481565b34801561042257600080fd5b50610254610431366004612995565b610920565b34801561044257600080fd5b5061039d61097f565b34801561045757600080fd5b5061039d61046636600461293e565b610993565b34801561047757600080fd5b50610233610486366004612995565b6001600160a01b031660009081526068602052604090205460ff1690565b3480156104b057600080fd5b506033546001600160a01b0316610282565b3480156104ce57600080fd5b5061039d6104dd366004612adf565b610b00565b3480156104ee57600080fd5b506101fd610fd2565b34801561050357600080fd5b506102336105123660046128d1565b610fe1565b34801561052357600080fd5b506102336105323660046128d1565b611018565b34801561054357600080fd5b506102546107d081565b34801561055957600080fd5b50607954610282906001600160a01b031681565b34801561057957600080fd5b50610254610588366004612bc7565b6001600160a01b03918216600090815260676020908152604080832093909416825291909152205490565b3480156105bf57600080fd5b5061039d6105ce366004612995565b611025565b3480156105df57600080fd5b50610254600181565b6060606d80546105f790612bf5565b80601f016020809104026020016040519081016040528092919081815260200182805461062390612bf5565b80156106705780601f1061064557610100808354040283529160200191610670565b820191906000526020600020905b81548152906001019060200180831161065357829003601f168201915b5050505050905090565b600061068733848461109e565b5060015b92915050565b600061069e8484846111c2565b6001600160a01b0384166000908152606760209081526040808320338085529252909120546106d99186916106d4908690612c45565b61109e565b5060019392505050565b6000606b5482111561074f5760405162461bcd60e51b815260206004820152602a60248201527f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260448201526965666c656374696f6e7360b01b60648201526084015b60405180910390fd5b600061075961151a565b90506107658184612c6e565b9392505050565b3360008181526067602090815260408083206001600160a01b038716845290915281205490916106879185906106d4908690612c82565b3360008181526068602052604090205460ff16156108185760405162461bcd60e51b815260206004820152602c60248201527f4578636c75646564206164647265737365732063616e6e6f742063616c6c207460448201526b3434b990333ab731ba34b7b760a11b6064820152608401610746565b60006108238361153d565b505050506001600160a01b038516600090815260656020526040902054929350610851928492509050612c45565b6001600160a01b038316600090815260656020526040902055606b54610878908290612c45565b606b55606c54610889908490612c82565b606c55505050565b6000606a548311156108e55760405162461bcd60e51b815260206004820152601f60248201527f416d6f756e74206d757374206265206c657373207468616e20737570706c79006044820152606401610746565b816109055760006108f58461153d565b5094965061068b95505050505050565b60006109108461153d565b5093965061068b95505050505050565b6001600160a01b03811660009081526068602052604081205460ff161561095d57506001600160a01b031660009081526066602052604090205490565b6001600160a01b03821660009081526065602052604090205461068b906106e3565b610987611598565b61099160006115f2565b565b61099b611598565b6127106109a7606a5490565b6109b2906005612c95565b6109bc9190612c6e565b811015610a315760405162461bcd60e51b815260206004820152603860248201527f537761706261636b20616d6f756e742073686f756c64206265206174206c656160448201527f737420302e303525206f6620746f74616c20737570706c7900000000000000006064820152608401610746565b6064610a3c606a5490565b610a47906005612c95565b610a519190612c6e565b8110610ac55760405162461bcd60e51b815260206004820152603a60248201527f537761706261636b20616d6f756e742073686f756c64206265206c657373207460448201527f68616e203525206f662074686520746f74616c20737570706c790000000000006064820152608401610746565b607a8190556040518181527ff7edd1a72d399eb95c56c07c5a26f00a9096735269c96c75caa8fc4e15bcd5d29060200160405180910390a150565b600054610100900460ff1615808015610b205750600054600160ff909116105b80610b3a5750303b158015610b3a575060005460ff166001145b610b9d5760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b6064820152608401610746565b6000805460ff191660011790558015610bc0576000805461ff0019166101001790555b60208301516001600160a01b0316610c335760405162461bcd60e51b815260206004820152603060248201527f546865206d61726b6574696e672077616c6c65742063616e6e6f74206265207460448201526f68652076616c7565206f66207a65726f60801b6064820152608401610746565b6040820151602083015183516107d09291610c4d91612cc2565b610c579190612cc2565b61ffff161115610ca15760405162461bcd60e51b8152602060048201526015602482015274546f74616c20666565206973206f7665722032302560581b6044820152606401610746565b606d610cad8782612d2a565b50606e610cba8682612d2a565b50606f805460ff19166009179055606a849055610cd984600019612dea565b610ce590600019612c45565b606b55815161ffff908116607081905560715560208084015182166072819055607355840151607980546001600160a01b03199081166001600160a01b0393841617909155604080870151607480549093169316929092179055830151166075819055607655610d576103e885612c6e565b607a556079805460ff60a81b1916600160a81b179055610d75611644565b610d7e87611025565b606b5460656000610d976033546001600160a01b031690565b6001600160a01b031681526020810191909152604001600090812091909155838160200201519050806001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610dfd573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e219190612dfe565b6001600160a01b031663c9c6539630836001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610e6e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e929190612dfe565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af1158015610edf573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f039190612dfe565b607880546001600160a01b03199081166001600160a01b039384161790915560778054909116838316179055603354166001600160a01b031660006001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef606a54604051610f7a91815260200190565b60405180910390a3508015610fc9576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b50505050505050565b6060606e80546105f790612bf5565b3360008181526067602090815260408083206001600160a01b038716845290915281205490916106879185906106d4908690612c45565b60006106873384846111c2565b61102d611598565b6001600160a01b0381166110925760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610746565b61109b816115f2565b50565b6001600160a01b0383166111005760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610746565b6001600160a01b0382166111615760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610746565b6001600160a01b0383811660008181526067602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b0383166112265760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610746565b6001600160a01b0382166112885760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610746565b600081116112ea5760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b6064820152608401610746565b60006112f530610920565b607a54909150811080159081906113165750607954600160a01b900460ff16155b801561133057506077546001600160a01b03868116911614155b801561134a57506078546001600160a01b03868116911614155b801561135f5750607954600160a81b900460ff165b15611410576079805460ff60a01b1916600160a01b179055607a546075546072549193506000916113909190612c82565b607554909150156113d157600081607554856113ac9190612c95565b6113b69190612c6e565b6074549091506113cf906001600160a01b031682611673565b505b6072541561140157600081607254856113ea9190612c95565b6113f49190612c6e565b90506113ff8161188f565b505b506079805460ff60a01b191690555b607954607854600160a01b90910460ff1615906001600160a01b0390811690871614801561144b57506077546001600160a01b038681169116145b15611454575060005b856001600160a01b03166114706033546001600160a01b031690565b6001600160a01b031614806114a75750846001600160a01b031661149c6033546001600160a01b031690565b6001600160a01b0316145b806114bf57506079546001600160a01b038781169116145b806114d757506079546001600160a01b038681169116145b806114ea5750306001600160a01b038716145b806114fd5750306001600160a01b038616145b15611506575060005b61151286868684611916565b505050505050565b6000806000611527611ab0565b90925090506115368183612c6e565b9250505090565b60008060008060008060008060008060006115578c611c33565b935093509350935060008060006115788f87878761157361151a565b611c92565b919f509d509b509599509397509195509350505050919395979092949650565b6033546001600160a01b031633146109915760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610746565b603380546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b600054610100900460ff1661166b5760405162461bcd60e51b815260040161074690612e1b565b610991611d04565b607760009054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156116c6573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116ea9190612dfe565b6001600160a01b0316826001600160a01b031603611757574761170c82611d34565b6117168147612c45565b6079546040519193506001600160a01b03169083156108fc029084906000818181858888f19350505050158015611751573d6000803e3d6000fd5b50505050565b6001600160a01b03821615611873576040516370a0823160e01b81523060048201526000906001600160a01b038416906370a0823190602401602060405180830381865afa1580156117ad573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117d19190612e66565b90506117dd8383611e86565b6040516370a0823160e01b815230600482015281906001600160a01b038516906370a0823190602401602060405180830381865afa158015611823573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118479190612e66565b6118519190612c45565b60795490925061186e906001600160a01b0385811691168461200e565b505050565b60795461188b9030906001600160a01b0316836111c2565b5050565b600061189c600283612c6e565b905060006118aa8284612c45565b9050476118b683611d34565b60006118c28247612c45565b90506118ce8382612060565b60408051858152602081018390529081018490527f17bbfb9a6069321b6ded73bd96327c9e6b7212a5cd51ff219cd61370acafb5619060600160405180910390a15050505050565b80611940576119406070805460715560728054607355607580546076556000928390559082905555565b6001600160a01b03841660009081526068602052604090205460ff16801561198157506001600160a01b03831660009081526068602052604090205460ff16155b1561199657611991848484612112565b611a94565b6001600160a01b03841660009081526068602052604090205460ff161580156119d757506001600160a01b03831660009081526068602052604090205460ff165b156119e757611991848484612253565b6001600160a01b03841660009081526068602052604090205460ff16158015611a2957506001600160a01b03831660009081526068602052604090205460ff16155b15611a395761199184848461230d565b6001600160a01b03841660009081526068602052604090205460ff168015611a7957506001600160a01b03831660009081526068602052604090205460ff165b15611a8957611991848484612360565b611a9484848461230d565b8061175157611751607154607055607354607255607654607555565b606b54606a546000918291825b606954811015611c0257826065600060698481548110611adf57611adf612cac565b60009182526020808320909101546001600160a01b031683528201929092526040019020541180611b4a5750816066600060698481548110611b2357611b23612cac565b60009182526020808320909101546001600160a01b03168352820192909252604001902054115b15611b6057606b54606a54945094505050509091565b6065600060698381548110611b7757611b77612cac565b60009182526020808320909101546001600160a01b03168352820192909252604001902054611ba69084612c45565b92506066600060698381548110611bbf57611bbf612cac565b60009182526020808320909101546001600160a01b03168352820192909252604001902054611bee9083612c45565b915080611bfa81612e7f565b915050611abd565b50606a54606b54611c139190612c6e565b821015611c2a57606b54606a549350935050509091565b90939092509050565b6000806000806000611c44866123e3565b90506000611c5187612400565b90506000611c5e88612413565b905060008183611c6e868c612c45565b611c789190612c45565b611c829190612c45565b9993985091965094509092505050565b6000808080611ca1858a612c95565b90506000611caf868a612c95565b90506000611cbd878a612c95565b90506000611ccb888a612c95565b905060008183611cdb8688612c45565b611ce59190612c45565b611cef9190612c45565b949d949c50929a509298505050505050505050565b600054610100900460ff16611d2b5760405162461bcd60e51b815260040161074690612e1b565b610991336115f2565b6040805160028082526060820183526000926020830190803683370190505090503081600081518110611d6957611d69612cac565b6001600160a01b03928316602091820292909201810191909152607754604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015611dc2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611de69190612dfe565b81600181518110611df957611df9612cac565b6001600160a01b039283166020918202929092010152607754611e1f913091168461109e565b60775460405163791ac94760e01b81526001600160a01b039091169063791ac94790611e58908590600090869030904290600401612e98565b600060405180830381600087803b158015611e7257600080fd5b505af1158015611512573d6000803e3d6000fd5b60408051600380825260808201909252600091602082016060803683370190505090503081600081518110611ebd57611ebd612cac565b6001600160a01b03928316602091820292909201810191909152607754604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015611f16573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611f3a9190612dfe565b81600181518110611f4d57611f4d612cac565b60200260200101906001600160a01b031690816001600160a01b0316815250508281600281518110611f8157611f81612cac565b6001600160a01b039283166020918202929092010152607754611fa7913091168461109e565b607754604051635c11d79560e01b81526001600160a01b0390911690635c11d79590611fe0908590600090869030904290600401612e98565b600060405180830381600087803b158015611ffa57600080fd5b505af1158015610fc9573d6000803e3d6000fd5b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b17905261186e90849061243f565b6077546120789030906001600160a01b03168461109e565b60775460405163f305d71960e01b815230600482015260248101849052600060448201819052606482015261dead60848201524260a48201526001600160a01b039091169063f305d71990839060c40160606040518083038185885af11580156120e6573d6000803e3d6000fd5b50505050506040513d601f19601f8201168201806040525081019061210b9190612f09565b5050505050565b60008060008060008060006121268861153d565b965096509650965096509650965087606660008c6001600160a01b03166001600160a01b03168152602001908152602001600020546121659190612c45565b6001600160a01b038b16600090815260666020908152604080832093909355606590522054612195908890612c45565b6001600160a01b03808c1660009081526065602052604080822093909355908b16815220546121c5908790612c82565b6001600160a01b038a166000908152606560205260409020556121e782612514565b6121f08161259e565b6121fa85846126af565b886001600160a01b03168a6001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8660405161223f91815260200190565b60405180910390a350505050505050505050565b60008060008060008060006122678861153d565b965096509650965096509650965086606560008c6001600160a01b03166001600160a01b03168152602001908152602001600020546122a69190612c45565b6001600160a01b03808c16600090815260656020908152604080832094909455918c168152606690915220546122dd908590612c82565b6001600160a01b038a166000908152606660209081526040808320939093556065905220546121c5908790612c82565b60008060008060008060006123218861153d565b965096509650965096509650965086606560008c6001600160a01b03166001600160a01b03168152602001908152602001600020546121959190612c45565b60008060008060008060006123748861153d565b965096509650965096509650965087606660008c6001600160a01b03166001600160a01b03168152602001908152602001600020546123b39190612c45565b6001600160a01b038b166000908152606660209081526040808320939093556065905220546122a6908890612c45565b6000612710607054836123f69190612c95565b61068b9190612c6e565b6000612710607254836123f69190612c95565b6079546000906001600160a01b031661242e57506000919050565b612710607554836123f69190612c95565b6000612494826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b03166126d59092919063ffffffff16565b90508051600014806124b55750808060200190518101906124b59190612f37565b61186e5760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b6064820152608401610746565b600061251e61151a565b9050600061252c8284612c95565b3060009081526065602052604090205490915061254a908290612c82565b3060009081526065602090815260408083209390935560689052205460ff161561186e5730600090815260666020526040902054612589908490612c82565b30600090815260666020526040902055505050565b6079546074546001600160a01b039182169116156125b95750305b811561188b5760006125c961151a565b905060006125d78285612c95565b6001600160a01b0384166000908152606560205260409020549091506125fe908290612c82565b6001600160a01b03841660009081526065602090815260408083209390935560689052205460ff1615612669576001600160a01b03831660009081526066602052604090205461264f908590612c82565b6001600160a01b0384166000908152606660205260409020555b6040518481526001600160a01b0384169033907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a350505050565b81606b546126bd9190612c45565b606b55606c546126ce908290612c82565b606c555050565b60606126e484846000856126ec565b949350505050565b60608247101561274d5760405162461bcd60e51b815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f6044820152651c8818d85b1b60d21b6064820152608401610746565b600080866001600160a01b031685876040516127699190612f54565b60006040518083038185875af1925050503d80600081146127a6576040519150601f19603f3d011682016040523d82523d6000602084013e6127ab565b606091505b50915091506127bc878383876127c7565b979650505050505050565b6060831561283657825160000361282f576001600160a01b0385163b61282f5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610746565b50816126e4565b6126e4838381511561284b5781518083602001fd5b8060405162461bcd60e51b81526004016107469190612889565b60005b83811015612880578181015183820152602001612868565b50506000910152565b60208152600082518060208401526128a8816040850160208701612865565b601f01601f19169190910160400192915050565b6001600160a01b038116811461109b57600080fd5b600080604083850312156128e457600080fd5b82356128ef816128bc565b946020939093013593505050565b60008060006060848603121561291257600080fd5b833561291d816128bc565b9250602084013561292d816128bc565b929592945050506040919091013590565b60006020828403121561295057600080fd5b5035919050565b801515811461109b57600080fd5b6000806040838503121561297857600080fd5b82359150602083013561298a81612957565b809150509250929050565b6000602082840312156129a757600080fd5b8135610765816128bc565b634e487b7160e01b600052604160045260246000fd5b6040516060810167ffffffffffffffff811182821017156129eb576129eb6129b2565b60405290565b600082601f830112612a0257600080fd5b813567ffffffffffffffff80821115612a1d57612a1d6129b2565b604051601f8301601f19908116603f01168101908282118183101715612a4557612a456129b2565b81604052838152866020858801011115612a5e57600080fd5b836020870160208301376000602085830101528094505050505092915050565b600082601f830112612a8f57600080fd5b612a976129c8565b806060840185811115612aa957600080fd5b845b81811015612ad457803561ffff81168114612ac65760008081fd5b845260209384019301612aab565b509095945050505050565b6000806000806000806101408789031215612af957600080fd5b8635612b04816128bc565b955060208781013567ffffffffffffffff80821115612b2257600080fd5b612b2e8b838c016129f1565b975060408a0135915080821115612b4457600080fd5b50612b518a828b016129f1565b9550506060880135935088609f890112612b6a57600080fd5b612b726129c8565b8060e08a018b811115612b8457600080fd5b60808b015b81811015612ba9578035612b9c816128bc565b8452928401928401612b89565b50819550612bb78c82612a7e565b9450505050509295509295509295565b60008060408385031215612bda57600080fd5b8235612be5816128bc565b9150602083013561298a816128bc565b600181811c90821680612c0957607f821691505b602082108103612c2957634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052601160045260246000fd5b8181038181111561068b5761068b612c2f565b634e487b7160e01b600052601260045260246000fd5b600082612c7d57612c7d612c58565b500490565b8082018082111561068b5761068b612c2f565b808202811582820484141761068b5761068b612c2f565b634e487b7160e01b600052603260045260246000fd5b61ffff818116838216019080821115612cdd57612cdd612c2f565b5092915050565b601f82111561186e57600081815260208120601f850160051c81016020861015612d0b5750805b601f850160051c820191505b8181101561151257828155600101612d17565b815167ffffffffffffffff811115612d4457612d446129b2565b612d5881612d528454612bf5565b84612ce4565b602080601f831160018114612d8d5760008415612d755750858301515b600019600386901b1c1916600185901b178555611512565b600085815260208120601f198616915b82811015612dbc57888601518255948401946001909101908401612d9d565b5085821015612dda5787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b600082612df957612df9612c58565b500690565b600060208284031215612e1057600080fd5b8151610765816128bc565b6020808252602b908201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960408201526a6e697469616c697a696e6760a81b606082015260800190565b600060208284031215612e7857600080fd5b5051919050565b600060018201612e9157612e91612c2f565b5060010190565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b81811015612ee85784516001600160a01b031683529383019391830191600101612ec3565b50506001600160a01b03969096166060850152505050608001529392505050565b600080600060608486031215612f1e57600080fd5b8351925060208401519150604084015190509250925092565b600060208284031215612f4957600080fd5b815161076581612957565b60008251612f66818460208701612865565b919091019291505056fea2646970667358221220764f5890654870b4f9aa4662773c4698901dd7f6d1358b5872994065fe09f5dc64736f6c63430008130033