36.3k txs
88k calls
constructor
constructor(address _asset, address _owner)
functions
allowance
viewfunction allowance(address _owner, address _spender) view returns (uint256)
asset
viewfunction asset() view returns (address)
balanceOf
viewfunction balanceOf(address _account) view returns (uint256)
canDeposit
viewfunction canDeposit() view returns (bool)
convertToAssets
viewfunction convertToAssets(uint256 _sharesAmount) view returns (uint256)
convertToShares
viewfunction convertToShares(uint256 _assetsAmount) view returns (uint256)
decimals
viewfunction decimals() view returns (uint8)
getLocator
viewfunction getLocator() view returns (address)
getTotalAssets
viewfunction getTotalAssets() view returns (uint256, uint256)
getTotalPooledAssets
viewfunction getTotalPooledAssets() view returns (uint256)
getTotalShares
viewfunction getTotalShares() view returns (uint256)
name
purefunction name() pure returns (string)
owner
viewfunction owner() view returns (address)
paused
viewfunction paused() view returns (bool)
previewDeposit
viewfunction previewDeposit(uint256 _assetsAmount) view returns (uint256)
previewMint
viewfunction previewMint(uint256 _sharesAmount) view returns (uint256)
previewRedeem
viewfunction previewRedeem(uint256 _sharesAmount) view returns (uint256)
previewWithdraw
viewfunction previewWithdraw(uint256 _assetsAmount) view returns (uint256)
sharesOf
viewfunction sharesOf(address _account) view returns (uint256)
symbol
purefunction symbol() pure returns (string)
totalSupply
viewfunction totalSupply() view returns (uint256)
approve
nonpayablefunction approve(address _spender, uint256 _amount) returns (bool)
decreaseAllowance
nonpayablefunction decreaseAllowance(address _spender, uint256 _subtractedValue) returns (bool)
handleOracleReport
nonpayablefunction handleOracleReport(uint256 _reportTimestamp, uint256 _timeElapsed, uint256 _newInvestedAssets, uint256 _withdrawalVaultBalance, uint256 _sharesRequestedToBurn, uint256[] _withdrawalFinalizationBatches, uint256 _simulatedShareRate) returns (uint256[3] postRebaseAmounts)
increaseAllowance
nonpayablefunction increaseAllowance(address _spender, uint256 _addedValue) returns (bool)
initialize
nonpayablefunction initialize(address _locator)
invest
nonpayablefunction invest(address _to, uint256 _assetsAmount)
mint
nonpayablefunction mint(address _referral, uint256 _assetsAmount) returns (uint256 sharesAmount)
pause
nonpayablefunction pause()
renounceOwnership
nonpayablefunction renounceOwnership()
resume
nonpayablefunction resume()
transfer
nonpayablefunction transfer(address _recipient, uint256 _amount) returns (bool)
transferFrom
nonpayablefunction transferFrom(address _sender, address _recipient, uint256 _amount) returns (bool)
transferOwnership
nonpayablefunction transferOwnership(address newOwner)
transferShares
nonpayablefunction transferShares(address _recipient, uint256 _sharesAmount) returns (uint256)
transferSharesFrom
nonpayablefunction transferSharesFrom(address _sender, address _recipient, uint256 _sharesAmount) returns (uint256)
events
Approval
event Approval(address indexed owner, address indexed spender, uint256 value)
AssetsDistributed
event AssetsDistributed(uint256 indexed reportTimestamp, uint256 withdrawalsWithdrawn, uint256 postBufferedAssets, uint256 postInvestedAssets)
Initialized
event Initialized(uint64 version)
Invested
event Invested(uint256 amount, uint256 postBufferedAssets, uint256 postInvestedAssets)
LocatorSet
event LocatorSet(address locator)
OwnershipTransferred
event OwnershipTransferred(address indexed previousOwner, address indexed newOwner)
Paused
event Paused(address account)
SharesBurnt
event SharesBurnt(address indexed account, uint256 preRebaseTokenAmount, uint256 postRebaseTokenAmount, uint256 sharesAmount)
Submitted
event Submitted(address indexed sender, uint256 amount, address referral)
TokenRebased
event TokenRebased(uint256 indexed reportTimestamp, uint256 timeElapsed, uint256 preTotalShares, uint256 preTotalAssets, uint256 postTotalShares, uint256 postTotalAssets)
Transfer
event Transfer(address indexed from, address indexed to, uint256 value)
TransferShares
event TransferShares(address indexed from, address indexed to, uint256 sharesValue)
Unpaused
event Unpaused(address account)
WithdrawalsReceived
event WithdrawalsReceived(uint256 amount)
errors
AddressEmptyCode
error AddressEmptyCode(address target)
AddressInsufficientBalance
error AddressInsufficientBalance(address account)
EnforcedPause
error EnforcedPause()
ExpectedPause
error ExpectedPause()
FailedInnerCall
error FailedInnerCall()
InvalidInitialization
error InvalidInitialization()
NotInitializing
error NotInitializing()
OwnableInvalidOwner
error OwnableInvalidOwner(address owner)
OwnableUnauthorizedAccount
error OwnableUnauthorizedAccount(address account)
SafeERC20FailedOperation
error SafeERC20FailedOperation(address token)
creation bytecode
0x60806040523480156200001157600080fd5b5060405162002b1838038062002b18833981016040819052620000349162000110565b6000805460ff19169055806001600160a01b0381166200006e57604051631e4fbdf760e01b81526000600482015260240160405180910390fd5b6200007981620000a1565b5050600480546001600160a01b0319166001600160a01b039290921691909117905562000148565b600380546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b80516001600160a01b03811681146200010b57600080fd5b919050565b600080604083850312156200012457600080fd5b6200012f83620000f3565b91506200013f60208401620000f3565b90509250929050565b6129c080620001586000396000f3fe608060405234801561001057600080fd5b506004361061025c5760003560e01c80638da5cb5b11610145578063c6e6f592116100bd578063e745ad191161008c578063ef8b30f711610071578063ef8b30f714610544578063f2fde38b14610557578063f5eb42dc1461056a57600080fd5b8063e745ad191461030d578063e78a58751461053c57600080fd5b8063c6e6f592146104e0578063d5002f2e146104f3578063d8343dcb146104fb578063dd62ed3e1461050357600080fd5b8063a9059cbb11610114578063b823fba2116100f9578063b823fba21461049a578063b9b8c246146104ba578063c4d66de8146104cd57600080fd5b8063a9059cbb14610474578063b3d7f6b91461048757600080fd5b80638da5cb5b146104045780638fcb4e5b1461041557806395d89b4114610428578063a457c2d71461046157600080fd5b806339509351116101d85780636d780459116101a757806370a082311161018c57806370a08231146103e1578063715018a6146103f45780638456cb59146103fc57600080fd5b80636d780459146103b15780636e07302b146103c457600080fd5b8063395093511461036d57806340c10f19146103805780634cdad506146103935780635c975abb146103a657600080fd5b80630a28a4771161022f57806323b872dd1161021457806323b872dd14610315578063313ce5671461032857806338d52e0f1461034257600080fd5b80630a28a477146102fa57806318160ddd1461030d57600080fd5b8063046f7da21461026157806306fdde031461026b57806307a2d13a146102b6578063095ea7b3146102d7575b600080fd5b61026961057d565b005b60408051808201909152601181527f4379676e757320476c6f62616c2055534400000000000000000000000000000060208201525b6040516102ad919061255a565b60405180910390f35b6102c96102c43660046125ab565b61058f565b6040519081526020016102ad565b6102ea6102e53660046125d9565b6105b2565b60405190151581526020016102ad565b6102c96103083660046125ab565b6105c8565b6102c96105e5565b6102ea610323366004612605565b6105f4565b610330610617565b60405160ff90911681526020016102ad565b600454610355906001600160a01b031681565b6040516001600160a01b0390911681526020016102ad565b6102ea61037b3660046125d9565b610690565b6102c961038e3660046125d9565b6106cc565b6102c96103a13660046125ab565b6107b9565b60005460ff166102ea565b6102c96103bf366004612605565b6107c4565b6103cc6107fc565b604080519283526020830191909152016102ad565b6102c96103ef366004612646565b610817565b610269610839565b61026961084b565b6003546001600160a01b0316610355565b6102c96104233660046125d9565b61085b565b60408051808201909152600581527f636755534400000000000000000000000000000000000000000000000000000060208201526102a0565b6102ea61046f3660046125d9565b610881565b6102ea6104823660046125d9565b610904565b6102c96104953660046125ab565b610911565b6104ad6104a8366004612663565b610926565b6040516102ad9190612712565b6102696104c83660046125d9565b6109b0565b6102696104db366004612646565b610aaa565b6102c96104ee3660046125ab565b610d31565b6102c9610d46565b610355610d50565b6102c9610511366004612743565b6001600160a01b03918216600090815260026020908152604080832093909416825291909152205490565b6102ea610d7a565b6102c96105523660046125ab565b610df8565b610269610565366004612646565b610e03565b6102c9610578366004612646565b610e5a565b610585610e78565b61058d610ebe565b565b60006105ac61059c610f10565b6105a4610f2c565b849190610f56565b92915050565b60006105bf338484610f74565b50600192915050565b60006105ac6105d5610f2c565b6105dd610f10565b849190611081565b60006105ef610f10565b905090565b60006106018433846110a7565b61060c84848461113b565b5060015b9392505050565b6000600460009054906101000a90046001600160a01b03166001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa15801561066c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105ef919061277c565b3360008181526002602090815260408083206001600160a01b038716845290915281205490916105bf9185906106c79086906127b5565b610f74565b60006106d782610df8565b90508060000361072e5760405162461bcd60e51b815260206004820152600b60248201527f5a45524f5f53484152455300000000000000000000000000000000000000000060448201526064015b60405180910390fd5b600454610746906001600160a01b031633308561115f565b61075033826111db565b5061076c8261075d6112b6565b61076791906127b5565b6112e0565b604080518381526001600160a01b038516602082015233917f96a25c8ce0baabc1fdefd93e9ed25d8e092a3332f3aa9a41722b5697231d1d1a910160405180910390a26105ac3382611309565b60006105ac8261058f565b6000806107d08361058f565b90506107dd8533836110a7565b6107e8858585611322565b6107f4858583866114f3565b949350505050565b6000806108076112b6565b61080f611593565b915091509091565b6001600160a01b0381166000908152600160205260408120546105ac9061058f565b610841610e78565b61058d60006115bd565b610853610e78565b61058d611627565b6000610868338484611322565b60006108738361058f565b9050610610338583866114f3565b3360009081526002602090815260408083206001600160a01b0386168452909152812054828110156108f55760405162461bcd60e51b815260206004820152601460248201527f414c4c4f57414e43455f42454c4f575f5a45524f0000000000000000000000006044820152606401610725565b61060c33856106c786856127c8565b60006105bf33848461113b565b60006105ac61091e610f10565b6105dd610f2c565b61092e612518565b610936611664565b6109a36040518060e001604052808b81526020018a81526020018981526020018881526020018781526020018686808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152505050908252506020018490526116a1565b9998505050505050505050565b6109b8610e78565b6109c0610d7a565b610a0c5760405162461bcd60e51b815260206004820152600e60248201527f43414e5f4e4f545f494e564553540000000000000000000000000000000000006044820152606401610725565b600454610a23906001600160a01b03168383611b3f565b600081610a2e6112b6565b610a3891906127c8565b9050600082610a45611593565b610a4f91906127b5565b9050610a5a826112e0565b610a6381611b75565b60408051848152602081018490529081018290527f15294ad9d42e2bbd446d4ff6ca28fef807d1631ad53c688303fe468410830f329060600160405180910390a150505050565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00805468010000000000000000810460ff16159067ffffffffffffffff16600081158015610af55750825b905060008267ffffffffffffffff166001148015610b125750303b155b905081158015610b20575080155b15610b57576040517ff92ee8a900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b84547fffffffffffffffffffffffffffffffffffffffffffffffff00000000000000001660011785558315610ba257845468ff00000000000000001916680100000000000000001785555b610baa611b9e565b610bd37f1718d90604c88f478732e809519e74c5c9a3a2b5dc95162ccc63d61800e42625879055565b610ca2866001600160a01b03166351a2d6d16040518163ffffffff1660e01b8152600401602060405180830381865afa158015610c14573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c3891906127db565b876001600160a01b03166327810b6e6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610c76573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c9a91906127db565b600019610f74565b6040516001600160a01b03871681527f8cb16e06ecfafbed13687256a764058471060b490b62dc8b3e4ea2f395ec29599060200160405180910390a18315610d2957845468ff000000000000000019168555604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b505050505050565b60006105ac610d3e610f2c565b6105a4610f10565b60006105ef610f2c565b60006105ef7f1718d90604c88f478732e809519e74c5c9a3a2b5dc95162ccc63d61800e426255490565b6000610d84611c99565b6001600160a01b0316632b95b7816040518163ffffffff1660e01b8152600401602060405180830381865afa158015610dc1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610de591906127f8565b1580156105ef57505060005460ff161590565b60006105ac82610d31565b610e0b610e78565b6001600160a01b038116610e4e576040517f1e4fbdf700000000000000000000000000000000000000000000000000000000815260006004820152602401610725565b610e57816115bd565b50565b6001600160a01b0381166000908152600160205260408120546105ac565b6003546001600160a01b0316331461058d576040517f118cdaa7000000000000000000000000000000000000000000000000000000008152336004820152602401610725565b610ec6611d04565b6000805460ff191690557f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa335b6040516001600160a01b03909116815260200160405180910390a1565b6000610f1a611593565b610f226112b6565b6105ef91906127b5565b60006105ef7f83da5a14a875cd105129c6639940ca67c63bf644cb010f348eec1dbad1a679be5490565b6000826000190484118302158202610f6d57600080fd5b5091020490565b6001600160a01b038316610fca5760405162461bcd60e51b815260206004820152601660248201527f415050524f56455f46524f4d5f5a45524f5f41444452000000000000000000006044820152606401610725565b6001600160a01b0382166110205760405162461bcd60e51b815260206004820152601460248201527f415050524f56455f544f5f5a45524f5f414444520000000000000000000000006044820152606401610725565b6001600160a01b0383811660008181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b600082600019048411830215820261109857600080fd5b50910281810615159190040190565b6001600160a01b03808416600090815260026020908152604080832093861683529290522054600019811461113557818110156111265760405162461bcd60e51b815260206004820152601260248201527f414c4c4f57414e43455f455843454544454400000000000000000000000000006044820152606401610725565b61113584846106c785856127c8565b50505050565b600061114682610d31565b9050611153848483611322565b611135848484846114f3565b6040516001600160a01b0384811660248301528381166044830152606482018390526111359186918216906323b872dd906084015b604051602081830303815290604052915060e01b6020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff8381831617835250505050611d40565b60006001600160a01b0383166112335760405162461bcd60e51b815260206004820152601160248201527f4d494e545f544f5f5a45524f5f414444520000000000000000000000000000006044820152606401610725565b8161123c610f2c565b61124691906127b5565b90506112717f83da5a14a875cd105129c6639940ca67c63bf644cb010f348eec1dbad1a679be829055565b6001600160a01b0383166000908152600160205260409020546112959083906127b5565b6001600160a01b039093166000908152600160205260409020929092555090565b60006105ef7f0afc87acedeee8c4193ad63118c06a9f961d4d6f3e34515e102d41596851b1a65490565b610e577f0afc87acedeee8c4193ad63118c06a9f961d4d6f3e34515e102d41596851b1a6829055565b61131e6000836113188461058f565b846114f3565b5050565b61132a611664565b6001600160a01b0383166113805760405162461bcd60e51b815260206004820152601760248201527f5452414e534645525f46524f4d5f5a45524f5f414444520000000000000000006044820152606401610725565b6001600160a01b0382166113d65760405162461bcd60e51b815260206004820152601560248201527f5452414e534645525f544f5f5a45524f5f4144445200000000000000000000006044820152606401610725565b306001600160a01b0383160361142e5760405162461bcd60e51b815260206004820152601a60248201527f5452414e534645525f544f5f53544554485f434f4e54524143540000000000006044820152606401610725565b6001600160a01b038316600090815260016020526040902054808211156114975760405162461bcd60e51b815260206004820152601060248201527f42414c414e43455f4558434545444544000000000000000000000000000000006044820152606401610725565b6114a182826127c8565b6001600160a01b0380861660009081526001602052604080822093909355908516815220546114d19083906127b5565b6001600160a01b03909316600090815260016020526040902092909255505050565b826001600160a01b0316846001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405161153891815260200190565b60405180910390a3826001600160a01b0316846001600160a01b03167f9d9c909296d9c674451c0c24f02cb64981eb3b727f99865939192f880a755dcb8360405161158591815260200190565b60405180910390a350505050565b60006105ef7f2c852a3a34b8266c1f4cf623581e3b3686edf6412c376db5da52f02d19ef925b5490565b600380546001600160a01b038381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b61162f611664565b6000805460ff191660011790557f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a258610ef33390565b60005460ff161561058d576040517fd93c066500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6116a9612518565b60006116b3611dbc565b80519091506001600160a01b0316331461170f5760405162461bcd60e51b815260206004820152600f60248201527f4150505f415554485f4641494c454400000000000000000000000000000000006044820152606401610725565b82514210156117605760405162461bcd60e51b815260206004820152601860248201527f494e56414c49445f5245504f52545f54494d455354414d5000000000000000006044820152606401610725565b6117996040518060c001604052806000815260200160008152602001600081526020016000815260200160008152602001600081525090565b6117a1610f10565b81526117ab610f2c565b60208201526117ba8285611e7e565b60a0840151511561186e576117cf8285611f0e565b6060830181905260408301919091521561186e576040808301516060808501519084015192517f461149280000000000000000000000000000000000000000000000000000000081526001600160a01b03918216600482015260248101939093521690634611492890604401600060405180830381600087803b15801561185557600080fd5b505af1158015611869573d6000803e3d6000fd5b505050505b60208083015182519183015160608088015160808901516040808801519388015190517f3cf7df960000000000000000000000000000000000000000000000000000000081526004810197909752602487019490945260448601919091526064850152608484015260a48301526000916001600160a01b0390911690633cf7df969060c401606060405180830381865afa158015611910573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611934919061281a565b846080018560a001828152508281525082935050505061196383828760a001518860c001518660400151612050565b6119708560400151611b75565b84517f224918cef3c8dd950405e7cd332c2d23ff756244eb4ae4f3e81f6bf8f14d78ad8261199c6112b6565b6119a4611593565b6040805193845260208401929092529082015260600160405180910390a260a082015115611a485782604001516001600160a01b031663636e6b668360a001516040518263ffffffff1660e01b8152600401611a0291815260200190565b600060405180830381600087803b158015611a1c57600080fd5b505af1158015611a30573d6000803e3d6000fd5b50505050611a4683604001518360a001516121b8565b505b600080611a55878561234b565b915091508660a0015151600014611b1b5784602001516001600160a01b03166363e56b9f8284876040015188608001518960a00151611a9491906127c8565b60c08d01516040517fffffffff0000000000000000000000000000000000000000000000000000000060e088901b1681526004810195909552602485019390935260448401919091526064830152608482015260a40160006040518083038186803b158015611b0257600080fd5b505afa158015611b16573d6000803e3d6000fd5b505050505b60408051606081018252918252602082019290925290810191909152949350505050565b6040516001600160a01b03838116602483015260448201839052611b7091859182169063a9059cbb90606401611194565b505050565b610e577f2c852a3a34b8266c1f4cf623581e3b3686edf6412c376db5da52f02d19ef925b829055565b600480546040517f70a0823100000000000000000000000000000000000000000000000000000000815230928101929092526000916001600160a01b03909116906370a0823190602401602060405180830381865afa158015611c05573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611c299190612848565b905080600003611c3b57611c3b612861565b611c43610f2c565b600003610e5757611c53816112e0565b604080518281526000602082015261dead917f96a25c8ce0baabc1fdefd93e9ed25d8e092a3332f3aa9a41722b5697231d1d1a910160405180910390a2610e57816123c6565b6000611ca3610d50565b6001600160a01b03166351a2d6d16040518163ffffffff1660e01b8152600401602060405180830381865afa158015611ce0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105ef91906127db565b60005460ff1661058d576040517f8dfc202b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000611d556001600160a01b038416836123df565b90508051600014158015611d7a575080806020019051810190611d7891906127f8565b155b15611b70576040517f5274afe70000000000000000000000000000000000000000000000000000000081526001600160a01b0384166004820152602401610725565b6040805160a081018252600080825260208201819052918101829052606081018290526080810191909152611def610d50565b6001600160a01b031663b2ad11046040518163ffffffff1660e01b815260040160a060405180830381865afa158015611e2c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611e509190612877565b6001600160a01b03908116608087015290811660608601529081166040850152908116602084015216815290565b60208083015190820151606083015160808401516040517f848b2d7c0000000000000000000000000000000000000000000000000000000081526004810193909352602483019190915260448201526001600160a01b039091169063848b2d7c9060640160006040518083038186803b158015611efa57600080fd5b505afa158015610d29573d6000803e3d6000fd5b60008060008460600151905084602001516001600160a01b0316636a84f2fd8560a0015160018760a0015151611f4491906127c8565b81518110611f5457611f546128ec565b602002602001015186600001516040518363ffffffff1660e01b8152600401611f87929190918252602082015260400190565b60006040518083038186803b158015611f9f57600080fd5b505afa158015611fb3573d6000803e3d6000fd5b5050505060a084015160c08501516040517fa52e9c9f0000000000000000000000000000000000000000000000000000000081526001600160a01b0384169263a52e9c9f9261200492600401612902565b6040805180830381865afa158015612020573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612044919061294a565b90969095509350505050565b83156120d05760808501516040517f3194528a000000000000000000000000000000000000000000000000000000008152600481018690526001600160a01b0390911690633194528a90602401600060405180830381600087803b1580156120b757600080fd5b505af11580156120cb573d6000803e3d6000fd5b505050505b801561218d5760608501516004546120f2906001600160a01b03168284611b3f565b806001600160a01b0316635b206ec5856001875161211091906127c8565b81518110612120576121206128ec565b602002602001015185856040518463ffffffff1660e01b8152600401612159939291909283526020830191909152604082015260600190565b600060405180830381600087803b15801561217357600080fd5b505af1158015612187573d6000803e3d6000fd5b50505050505b600081856121996112b6565b6121a391906127b5565b6121ad91906127c8565b9050610d29816112e0565b60006001600160a01b0383166122105760405162461bcd60e51b815260206004820152601360248201527f4255524e5f46524f4d5f5a45524f5f41444452000000000000000000000000006044820152606401610725565b6001600160a01b038316600090815260016020526040902054808311156122795760405162461bcd60e51b815260206004820152601060248201527f42414c414e43455f4558434545444544000000000000000000000000000000006044820152606401610725565b60006122848461058f565b90508361228f610f2c565b61229991906127c8565b92506122c47f83da5a14a875cd105129c6639940ca67c63bf644cb010f348eec1dbad1a679be849055565b6122ce84836127c8565b6001600160a01b0386166000908152600160205260408120919091556122f38561058f565b60408051848152602081018390529081018790529091506001600160a01b038716907f8b2a1e1ad5e0578c3dd82494156e985dade827a87c573b5c1c7716a32162ad649060600160405180910390a250505092915050565b600080612356610f2c565b9150612360610f10565b84516020808701518682015187516040805193845293830191909152818301526060810186905260808101849052905192935090917f56a90fb9987084b721919e7e877c8c06757ce01d02952ca54cb1155774abfaea9181900360a00190a29250929050565b6123d261dead826111db565b50610e5761dead82611309565b60606106108383600084600080856001600160a01b03168486604051612405919061296e565b60006040518083038185875af1925050503d8060008114612442576040519150601f19603f3d011682016040523d82523d6000602084013e612447565b606091505b5091509150612457868383612461565b9695505050505050565b60608261247657612471826124d6565b610610565b815115801561248d57506001600160a01b0384163b155b156124cf576040517f9996b3150000000000000000000000000000000000000000000000000000000081526001600160a01b0385166004820152602401610725565b5080610610565b8051156124e65780518082602001fd5b6040517f1425ea4200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60405180606001604052806003906020820280368337509192915050565b60005b83811015612551578181015183820152602001612539565b50506000910152565b6020815260008251806020840152612579816040850160208701612536565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169190910160400192915050565b6000602082840312156125bd57600080fd5b5035919050565b6001600160a01b0381168114610e5757600080fd5b600080604083850312156125ec57600080fd5b82356125f7816125c4565b946020939093013593505050565b60008060006060848603121561261a57600080fd5b8335612625816125c4565b92506020840135612635816125c4565b929592945050506040919091013590565b60006020828403121561265857600080fd5b8135610610816125c4565b60008060008060008060008060e0898b03121561267f57600080fd5b883597506020890135965060408901359550606089013594506080890135935060a089013567ffffffffffffffff808211156126ba57600080fd5b818b0191508b601f8301126126ce57600080fd5b8135818111156126dd57600080fd5b8c60208260051b85010111156126f257600080fd5b60208301955080945050505060c089013590509295985092959890939650565b60608101818360005b600381101561273a57815183526020928301929091019060010161271b565b50505092915050565b6000806040838503121561275657600080fd5b8235612761816125c4565b91506020830135612771816125c4565b809150509250929050565b60006020828403121561278e57600080fd5b815160ff8116811461061057600080fd5b634e487b7160e01b600052601160045260246000fd5b808201808211156105ac576105ac61279f565b818103818111156105ac576105ac61279f565b6000602082840312156127ed57600080fd5b8151610610816125c4565b60006020828403121561280a57600080fd5b8151801515811461061057600080fd5b60008060006060848603121561282f57600080fd5b8351925060208401519150604084015190509250925092565b60006020828403121561285a57600080fd5b5051919050565b634e487b7160e01b600052600160045260246000fd5b600080600080600060a0868803121561288f57600080fd5b855161289a816125c4565b60208701519095506128ab816125c4565b60408701519094506128bc816125c4565b60608701519093506128cd816125c4565b60808701519092506128de816125c4565b809150509295509295909350565b634e487b7160e01b600052603260045260246000fd5b604080825283519082018190526000906020906060840190828701845b8281101561293b5781518452928401929084019060010161291f565b50505092019290925292915050565b6000806040838503121561295d57600080fd5b505080516020909101519092909150565b60008251612980818460208701612536565b919091019291505056fea2646970667358221220850d22b1ba11f035bf015364ee858924d9af209cfdf73e7b69f4938235c7c48264736f6c63430008140033000000000000000000000000833589fcd6edb6e08f4c7c32d4f71b54bda02913000000000000000000000000fecab866b450b97db38500898e9272c1d18918b7