584 txs
592 calls
constructor
constructor(address _usdx, address _vault, address[] _assets, address _initialOwner)
functions
cooldownDuration
viewfunction cooldownDuration() view returns (uint24)
feeRate
viewfunction feeRate() view returns (uint256)
isSupportedAsset
viewfunction isSupportedAsset(address _asset) view returns (bool)
listSupportedAssets
viewfunction listSupportedAssets() view returns (address[])
maxPerRedeem
viewfunction maxPerRedeem() view returns (uint256)
owner
viewfunction owner() view returns (address)
paused
viewfunction paused() view returns (bool)
pendingOwner
viewfunction pendingOwner() view returns (address)
redemptionHistory
viewfunction redemptionHistory(address, uint256) view returns (uint256)
redemptions
viewfunction redemptions(address, address) view returns (uint256 cooldownEnd, uint256 underlingAmount, uint256 usdxAmount)
USDX
viewfunction USDX() view returns (address)
vault
viewfunction vault() view returns (address)
acceptOwnership
nonpayablefunction acceptOwnership()
addSupportedAsset
nonpayablefunction addSupportedAsset(address _asset)
claim
nonpayablefunction claim(address _assetToken)
pause
nonpayablefunction pause()
redeem
nonpayablefunction redeem(address _assetToken, uint256 _usdxAmount)
redeemWithPermit
nonpayablefunction redeemWithPermit(address _assetToken, uint256 _usdxAmount, uint256 _deadline, uint8 _permitV, bytes32 _permitR, bytes32 _permitS)
removeSupportedAsset
nonpayablefunction removeSupportedAsset(address _asset)
renounceOwnership
nonpayablefunction renounceOwnership()
rescueTokens
nonpayablefunction rescueTokens(address _token, address _to, uint256 _amount)
setCooldownDuration
nonpayablefunction setCooldownDuration(uint24 _cooldownDuration)
transferOwnership
nonpayablefunction transferOwnership(address newOwner)
unpause
nonpayablefunction unpause()
updateFeeRate
nonpayablefunction updateFeeRate(uint256 _feeRate)
updateMaxPerRedeem
nonpayablefunction updateMaxPerRedeem(uint256 _maxRedeem)
updateVault
nonpayablefunction updateVault(address _vault)
events
AssetAdded
event AssetAdded(address indexed asset)
AssetRemoved
event AssetRemoved(address indexed asset)
Claim
event Claim(address indexed account, address indexed claimAsset, uint256 claimAmount)
CooldownSet
event CooldownSet(uint256 oldCooldown, uint256 newCooldown)
OwnershipTransferred
event OwnershipTransferred(address indexed previousOwner, address indexed newOwner)
OwnershipTransferStarted
event OwnershipTransferStarted(address indexed previousOwner, address indexed newOwner)
Paused
event Paused(address account)
Redeem
event Redeem(address indexed account, address indexed redeemAsset, uint256 redeemAssetAmount, uint256 usdxAmount, uint256 fee)
Unpaused
event Unpaused(address account)
UpdatedVault
event UpdatedVault(address oldVault, address newVault)
UpdateFeeRate
event UpdateFeeRate(uint256 oldFeeRate, uint256 newFeeRate)
UpdateMaxPerRedeem
event UpdateMaxPerRedeem(uint256 oldMaxRedeem, uint256 newMaxRedeem)
errors
No errors.
creation bytecode
0x60a06040523480156200001157600080fd5b5060405162002b5738038062002b578339810160408190526200003491620003e1565b6200003f33620001c7565b6001805460ff60a01b19168155600281905560408051808201909152908152603160f81b60208201526001600160a01b0385166200009b5760405162461bcd60e51b8152600401620000929190620004f4565b60405180910390fd5b5081516040805180820190915260018152600d60fa1b602082015290620000d75760405162461bcd60e51b8152600401620000929190620004f4565b506040805180820190915260018152603160f81b60208201526001600160a01b0382166200011a5760405162461bcd60e51b8152600401620000929190620004f4565b506001600160a01b03808516608052831662000137573062000139565b825b600580546001600160a01b03929092166001600160b81b0319909216919091176102a360a81b17905560005b8251811015620001b1576200019c83828151811062000188576200018862000544565b6020026020010151620001e560201b60201c565b80620001a8816200055a565b91505062000165565b50620001bd81620001c7565b5050505062000582565b600180546001600160a01b0319169055620001e28162000283565b50565b620001ef620002d3565b6001600160a01b038116158015906200021057506200021060038262000331565b604051806040016040528060018152602001601b60f91b815250906200024b5760405162461bcd60e51b8152600401620000929190620004f4565b506040516001600160a01b038216907f0e3c58ebfb2e7465fbb1c32e6b4f40c3c4f5ca77e8218a386aff8617831260d790600090a250565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6000546001600160a01b031633146200032f5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640162000092565b565b600062000348836001600160a01b03841662000351565b90505b92915050565b60008181526001830160205260408120546200039a575081546001818101845560008481526020808220909301849055845484825282860190935260409020919091556200034b565b5060006200034b565b6001600160a01b0381168114620001e257600080fd5b8051620003c681620003a3565b919050565b634e487b7160e01b600052604160045260246000fd5b60008060008060808587031215620003f857600080fd5b84516200040581620003a3565b809450506020808601516200041a81620003a3565b60408701519094506001600160401b03808211156200043857600080fd5b818801915088601f8301126200044d57600080fd5b815181811115620004625762000462620003cb565b8060051b604051601f19603f830116810181811085821117156200048a576200048a620003cb565b60405291825284820192508381018501918b831115620004a957600080fd5b938501935b82851015620004d257620004c285620003b9565b84529385019392850192620004ae565b809750505050505050620004e960608601620003b9565b905092959194509250565b600060208083528351808285015260005b81811015620005235785810183015185820160400152820162000505565b506000604082860101526040601f19601f8301168501019250505092915050565b634e487b7160e01b600052603260045260246000fd5b6000600182016200057b57634e487b7160e01b600052601160045260246000fd5b5060010190565b60805161259d620005ba60003960008181610285015281816106da01528181610c6801528181610df101526115b7015261259d6000f3fe608060405234801561001057600080fd5b50600436106101b95760003560e01c80638456cb59116100f9578063ce23eb3c11610097578063e7563f3f11610071578063e7563f3f14610437578063f2fde38b1461044a578063fac09e871461045d578063fbfa77cf1461047057600080fd5b8063ce23eb3c146103f3578063cea9d26f14610406578063e30c39781461041957600080fd5b8063978bbdb9116100d3578063978bbdb9146103575780639be918e614610360578063ad5c40f014610373578063b7140733146103c857600080fd5b80638456cb591461031e5780638da5cb5b1461032657806393e00c861461034457600080fd5b80634ba5c663116101665780635c975abb116101405780635c975abb146102cc578063715018a6146102fb57806379ba5097146103035780637b84fda51461030b57600080fd5b80634ba5c663146102585780635436ae9a1461026b57806359cb9fec1461028057600080fd5b8063352693151161019757806335269315146101f95780633f4ba83a146102395780634682f7131461024157600080fd5b80631c46bc6f146101be5780631e83409a146101d35780631e9a6950146101e6575b600080fd5b6101d16101cc366004612095565b610490565b005b6101d16101e1366004612095565b610545565b6101d16101f43660046120b0565b6107df565b6005546102209074010000000000000000000000000000000000000000900462ffffff1681565b60405162ffffff90911681526020015b60405180910390f35b6101d1610920565b61024a60075481565b604051908152602001610230565b6101d16102663660046120da565b610932565b6102736109ce565b60405161023091906120f3565b6102a77f000000000000000000000000000000000000000000000000000000000000000081565b60405173ffffffffffffffffffffffffffffffffffffffff9091168152602001610230565b60015474010000000000000000000000000000000000000000900460ff165b6040519015158152602001610230565b6101d16109df565b6101d16109f1565b6101d16103193660046120da565b610a89565b6101d1610b2a565b60005473ffffffffffffffffffffffffffffffffffffffff166102a7565b6101d161035236600461215c565b610b3a565b61024a60065481565b6102eb61036e366004612095565b610cc5565b6103ad6103813660046121b6565b600860209081526000928352604080842090915290825290208054600182015460029092015490919083565b60408051938452602084019290925290820152606001610230565b61024a6103d63660046120b0565b600960209081526000928352604080842090915290825290205481565b6101d16104013660046121e9565b610cd8565b6101d161041436600461220e565b610de7565b60015473ffffffffffffffffffffffffffffffffffffffff166102a7565b6101d1610445366004612095565b610f76565b6101d1610458366004612095565b611082565b6101d161046b366004612095565b611132565b6005546102a79073ffffffffffffffffffffffffffffffffffffffff1681565b6104986111fe565b6104a3600382611265565b6040518060400160405280600181526020017f3600000000000000000000000000000000000000000000000000000000000000815250906105005760405162461bcd60e51b81526004016104f7919061226e565b60405180910390fd5b5060405173ffffffffffffffffffffffffffffffffffffffff8216907f37803e2125c48ee96c38ddf04e826daf335b0e1603579040fd275aba6d06b6fc90600090a250565b61054d61128e565b6105556112e5565b610560600382611350565b6040518060400160405280600181526020017f3600000000000000000000000000000000000000000000000000000000000000815250906105b45760405162461bcd60e51b81526004016104f7919061226e565b5073ffffffffffffffffffffffffffffffffffffffff8116600090815260086020908152604080832033845290915290206002810154600182015481158015906105fe5750600081115b6040518060400160405280600281526020017f3234000000000000000000000000000000000000000000000000000000000000815250906106525760405162461bcd60e51b81526004016104f7919061226e565b50825460408051808201909152600281527f32360000000000000000000000000000000000000000000000000000000000006020820152904210156106aa5760405162461bcd60e51b81526004016104f7919061226e565b506040517f42966c68000000000000000000000000000000000000000000000000000000008152600481018390527f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16906342966c6890602401600060405180830381600087803b15801561073357600080fd5b505af1158015610747573d6000803e3d6000fd5b50506000808655600186018190556002860155505060055461078290859073ffffffffffffffffffffffffffffffffffffffff16338461137f565b60405181815273ffffffffffffffffffffffffffffffffffffffff85169033907f70eb43c4a8ae8c40502dcf22436c509c28d6ff421cf07c491be56984bd9870689060200160405180910390a35050506107dc6001600255565b50565b6107e761128e565b6107ef6112e5565b6107fa600383611350565b6040518060400160405280600181526020017f34000000000000000000000000000000000000000000000000000000000000008152509061084e5760405162461bcd60e51b81526004016104f7919061226e565b5060408051808201909152600281527f33300000000000000000000000000000000000000000000000000000000000006020820152670de0b6b3a76400008210156108ac5760405162461bcd60e51b81526004016104f7919061226e565b506007548111156040518060400160405280600281526020017f3230000000000000000000000000000000000000000000000000000000000000815250906109075760405162461bcd60e51b81526004016104f7919061226e565b5061091282826113ea565b61091c6001600255565b5050565b6109286111fe565b610930611655565b565b61093a6111fe565b60408051808201909152600281527f323400000000000000000000000000000000000000000000000000000000000060208201528161098c5760405162461bcd60e51b81526004016104f7919061226e565b5060075460408051918252602082018390527f85f74920e1f6204d55f604086d42c74410e5b8f5d3b5c166d2d019dcfa87b8b9910160405180910390a1600755565b60606109da60036116d2565b905090565b6109e76111fe565b61093060006116df565b600154339073ffffffffffffffffffffffffffffffffffffffff168114610a805760405162461bcd60e51b815260206004820152602960248201527f4f776e61626c6532537465703a2063616c6c6572206973206e6f74207468652060448201527f6e6577206f776e6572000000000000000000000000000000000000000000000060648201526084016104f7565b6107dc816116df565b610a916111fe565b60408051808201909152600181527f37000000000000000000000000000000000000000000000000000000000000006020820152620186a08210610ae85760405162461bcd60e51b81526004016104f7919061226e565b5060065460408051918252602082018390527f8d10d6dd6545b059182e4bf9534308bf75d7de65cdd8a68c12b7b74f139e58ae910160405180910390a1600655565b610b326111fe565b610930611710565b610b4261128e565b610b4a6112e5565b610b55600387611350565b6040518060400160405280600181526020017f340000000000000000000000000000000000000000000000000000000000000081525090610ba95760405162461bcd60e51b81526004016104f7919061226e565b5060408051808201909152600281527f33300000000000000000000000000000000000000000000000000000000000006020820152670de0b6b3a7640000861015610c075760405162461bcd60e51b81526004016104f7919061226e565b506007548511156040518060400160405280600281526020017f323000000000000000000000000000000000000000000000000000000000000081525090610c625760405162461bcd60e51b81526004016104f7919061226e565b50610ca97f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff163330888888888861177f565b610cb386866113ea565b610cbd6001600255565b505050505050565b6000610cd2600383611350565b92915050565b610ce06111fe565b60408051808201909152600281527f313800000000000000000000000000000000000000000000000000000000000060208201526201518062ffffff83161015610d3d5760405162461bcd60e51b81526004016104f7919061226e565b506005546040805162ffffff740100000000000000000000000000000000000000009093048316815291831660208301527f6f05c070768300be3a8ec47b18efd326d94912ec5cf3f8bd7488e1c66d61e8bf910160405180910390a16005805462ffffff90921674010000000000000000000000000000000000000000027fffffffffffffffffff000000ffffffffffffffffffffffffffffffffffffffff909216919091179055565b610def6111fe565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156040518060400160405280600281526020017f313400000000000000000000000000000000000000000000000000000000000081525090610e935760405162461bcd60e51b81526004016104f7919061226e565b5060408051808201909152600181527f3100000000000000000000000000000000000000000000000000000000000000602082015273ffffffffffffffffffffffffffffffffffffffff8316610efc5760405162461bcd60e51b81526004016104f7919061226e565b5060408051808201909152600181527f3800000000000000000000000000000000000000000000000000000000000000602082015281610f4f5760405162461bcd60e51b81526004016104f7919061226e565b50610f7173ffffffffffffffffffffffffffffffffffffffff841683836119e5565b505050565b610f7e6111fe565b60408051808201909152600181527f3100000000000000000000000000000000000000000000000000000000000000602082015273ffffffffffffffffffffffffffffffffffffffff8216610fe65760405162461bcd60e51b81526004016104f7919061226e565b506005546040805173ffffffffffffffffffffffffffffffffffffffff928316815291831660208301527f10fec2a14e14feb1d848cdd80d3c7779dbec9893e995469fd2984323d6d71dc8910160405180910390a1600580547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b61108a6111fe565b6001805473ffffffffffffffffffffffffffffffffffffffff83167fffffffffffffffffffffffff000000000000000000000000000000000000000090911681179091556110ed60005473ffffffffffffffffffffffffffffffffffffffff1690565b73ffffffffffffffffffffffffffffffffffffffff167f38d16b8cac22d99fc7c124b9cd0de2d3fa1faef420bfe791d8c362d765e2270060405160405180910390a350565b61113a6111fe565b73ffffffffffffffffffffffffffffffffffffffff8116158015906111655750611165600382611ab9565b6040518060400160405280600181526020017f3600000000000000000000000000000000000000000000000000000000000000815250906111b95760405162461bcd60e51b81526004016104f7919061226e565b5060405173ffffffffffffffffffffffffffffffffffffffff8216907f0e3c58ebfb2e7465fbb1c32e6b4f40c3c4f5ca77e8218a386aff8617831260d790600090a250565b60005473ffffffffffffffffffffffffffffffffffffffff1633146109305760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016104f7565b60006112878373ffffffffffffffffffffffffffffffffffffffff8416611adb565b9392505050565b60028054036112df5760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c0060448201526064016104f7565b60028055565b60015474010000000000000000000000000000000000000000900460ff16156109305760405162461bcd60e51b815260206004820152601060248201527f5061757361626c653a207061757365640000000000000000000000000000000060448201526064016104f7565b73ffffffffffffffffffffffffffffffffffffffff811660009081526001830160205260408120541515611287565b3073ffffffffffffffffffffffffffffffffffffffff8416036113c2576113bd73ffffffffffffffffffffffffffffffffffffffff851683836119e5565b6113e4565b6113e473ffffffffffffffffffffffffffffffffffffffff8516848484611bce565b50505050565b60008273ffffffffffffffffffffffffffffffffffffffff1663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa158015611437573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061145b91906122bf565b61146690600a61242b565b61147890670de0b6b3a764000061243a565b611482908361243a565b905060008060065411156114af57620f4240600654836114a29190612475565b6114ac919061243a565b90505b6114b9818361248c565b73ffffffffffffffffffffffffffffffffffffffff851660009081526008602090815260408083203384529091528120600281018054939550909286929061150290849061249f565b925050819055508281600101600082825461151d919061249f565b909155505060055461154c9074010000000000000000000000000000000000000000900462ffffff164261249f565b815573ffffffffffffffffffffffffffffffffffffffff851660009081526009602052604081208491611582620151804261243a565b61158f9062015180612475565b815260200190815260200160002060008282546115ac919061249f565b909155506115f490507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16333087611bce565b6040805184815260208101869052808201849052905173ffffffffffffffffffffffffffffffffffffffff87169133917f215abfcd108b85fbee47f26fda2de66f90f14fa5fcaf0201698ad8ac9323545f9181900360600190a35050505050565b61165d611c2c565b600180547fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff1690557f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa335b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200160405180910390a1565b6060600061128783611c96565b600180547fffffffffffffffffffffffff00000000000000000000000000000000000000001690556107dc81611cf2565b6117186112e5565b600180547fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff16740100000000000000000000000000000000000000001790557f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a2586116a83390565b6040517f7ecebe0000000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8881166004830152600091908a1690637ecebe0090602401602060405180830381865afa1580156117ef573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061181391906124b2565b6040517fd505accf00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8a811660048301528981166024830152604482018990526064820188905260ff8716608483015260a4820186905260c48201859052919250908a169063d505accf9060e401600060405180830381600087803b1580156118ad57600080fd5b505af11580156118c1573d6000803e3d6000fd5b50506040517f7ecebe0000000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8b81166004830152600093508c169150637ecebe0090602401602060405180830381865afa158015611934573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061195891906124b2565b905061196582600161249f565b81146119d95760405162461bcd60e51b815260206004820152602160248201527f5361666545524332303a207065726d697420646964206e6f742073756363656560448201527f640000000000000000000000000000000000000000000000000000000000000060648201526084016104f7565b50505050505050505050565b60405173ffffffffffffffffffffffffffffffffffffffff8316602482015260448101829052610f719084907fa9059cbb00000000000000000000000000000000000000000000000000000000906064015b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff0000000000000000000000000000000000000000000000000000000090931692909217909152611d67565b60006112878373ffffffffffffffffffffffffffffffffffffffff8416611e5c565b60008181526001830160205260408120548015611bc4576000611aff60018361248c565b8554909150600090611b139060019061248c565b9050818114611b78576000866000018281548110611b3357611b336124cb565b9060005260206000200154905080876000018481548110611b5657611b566124cb565b6000918252602080832090910192909255918252600188019052604090208390555b8554869080611b8957611b896124fa565b600190038181906000526020600020016000905590558560010160008681526020019081526020016000206000905560019350505050610cd2565b6000915050610cd2565b60405173ffffffffffffffffffffffffffffffffffffffff808516602483015283166044820152606481018290526113e49085907f23b872dd0000000000000000000000000000000000000000000000000000000090608401611a37565b60015474010000000000000000000000000000000000000000900460ff166109305760405162461bcd60e51b815260206004820152601460248201527f5061757361626c653a206e6f742070617573656400000000000000000000000060448201526064016104f7565b606081600001805480602002602001604051908101604052809291908181526020018280548015611ce657602002820191906000526020600020905b815481526020019060010190808311611cd2575b50505050509050919050565b6000805473ffffffffffffffffffffffffffffffffffffffff8381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6000611dc9826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c65648152508573ffffffffffffffffffffffffffffffffffffffff16611eab9092919063ffffffff16565b9050805160001480611dea575080806020019051810190611dea9190612529565b610f715760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e60448201527f6f7420737563636565640000000000000000000000000000000000000000000060648201526084016104f7565b6000818152600183016020526040812054611ea357508154600181810184556000848152602080822090930184905584548482528286019093526040902091909155610cd2565b506000610cd2565b6060611eba8484600085611ec2565b949350505050565b606082471015611f3a5760405162461bcd60e51b815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f60448201527f722063616c6c000000000000000000000000000000000000000000000000000060648201526084016104f7565b6000808673ffffffffffffffffffffffffffffffffffffffff168587604051611f63919061254b565b60006040518083038185875af1925050503d8060008114611fa0576040519150601f19603f3d011682016040523d82523d6000602084013e611fa5565b606091505b5091509150611fb687838387611fc1565b979650505050505050565b6060831561203d5782516000036120365773ffffffffffffffffffffffffffffffffffffffff85163b6120365760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064016104f7565b5081611eba565b611eba83838151156120525781518083602001fd5b8060405162461bcd60e51b81526004016104f7919061226e565b803573ffffffffffffffffffffffffffffffffffffffff8116811461209057600080fd5b919050565b6000602082840312156120a757600080fd5b6112878261206c565b600080604083850312156120c357600080fd5b6120cc8361206c565b946020939093013593505050565b6000602082840312156120ec57600080fd5b5035919050565b6020808252825182820181905260009190848201906040850190845b8181101561214157835173ffffffffffffffffffffffffffffffffffffffff168352928401929184019160010161210f565b50909695505050505050565b60ff811681146107dc57600080fd5b60008060008060008060c0878903121561217557600080fd5b61217e8761206c565b95506020870135945060408701359350606087013561219c8161214d565b9598949750929560808101359460a0909101359350915050565b600080604083850312156121c957600080fd5b6121d28361206c565b91506121e06020840161206c565b90509250929050565b6000602082840312156121fb57600080fd5b813562ffffff8116811461128757600080fd5b60008060006060848603121561222357600080fd5b61222c8461206c565b925061223a6020850161206c565b9150604084013590509250925092565b60005b8381101561226557818101518382015260200161224d565b50506000910152565b602081526000825180602084015261228d81604085016020870161224a565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169190910160400192915050565b6000602082840312156122d157600080fd5b81516112878161214d565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600181815b8085111561236457817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0482111561234a5761234a6122dc565b8085161561235757918102915b93841c9390800290612310565b509250929050565b60008261237b57506001610cd2565b8161238857506000610cd2565b816001811461239e57600281146123a8576123c4565b6001915050610cd2565b60ff8411156123b9576123b96122dc565b50506001821b610cd2565b5060208310610133831016604e8410600b84101617156123e7575081810a610cd2565b6123f1838361230b565b807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff04821115612423576124236122dc565b029392505050565b600061128760ff84168361236c565b600082612470577f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b500490565b8082028115828204841417610cd257610cd26122dc565b81810381811115610cd257610cd26122dc565b80820180821115610cd257610cd26122dc565b6000602082840312156124c457600080fd5b5051919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603160045260246000fd5b60006020828403121561253b57600080fd5b8151801515811461128757600080fd5b6000825161255d81846020870161224a565b919091019291505056fea26469706673582212204c4927aab85e75d0deca3c1d09dd60e1d72206c6c103df35660753c5ccfc368264736f6c63430008140033000000000000000000000000f3527ef8de265eaa3716fb312c12847bfba66cef00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000ee38dd8888885674edfc1e9bbf168eb5200876590000000000000000000000000000000000000000000000000000000000000001000000000000000000000000fd086bc7cd5c481dcc9c85ebe478a1c0b69fcbb9