0 txs
2 calls
constructor
constructor()
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)
balanceOfAsset
viewfunction balanceOfAsset(address account) view returns (uint256)
convertToAssets
viewfunction convertToAssets(uint256 shares) view returns (uint256)
convertToShares
viewfunction convertToShares(uint256 assets) view returns (uint256)
decimals
viewfunction decimals() view returns (uint8)
getPricePerShare
viewfunction getPricePerShare() view returns (uint256)
hasShares
viewfunction hasShares(address account) view returns (bool)
maxDeposit
viewfunction maxDeposit(address) view returns (uint256)
maxMint
viewfunction maxMint(address) view returns (uint256)
maxRedeem
viewfunction maxRedeem(address owner) view returns (uint256)
maxWithdraw
viewfunction maxWithdraw(address owner) view returns (uint256)
name
viewfunction name() view returns (string)
owner
viewfunction owner() view returns (address)
paused
viewfunction paused() view returns (bool)
previewDeposit
viewfunction previewDeposit(uint256 assets) view returns (uint256)
previewMint
viewfunction previewMint(uint256 shares) view returns (uint256)
previewRedeem
viewfunction previewRedeem(uint256 shares) view returns (uint256)
previewWithdraw
viewfunction previewWithdraw(uint256 assets) view returns (uint256)
symbol
viewfunction symbol() view returns (string)
totalAssets
viewfunction totalAssets() view returns (uint256)
totalSupply
viewfunction totalSupply() view returns (uint256)
approve
nonpayablefunction approve(address spender, uint256 amount) returns (bool)
decreaseAllowance
nonpayablefunction decreaseAllowance(address spender, uint256 subtractedValue) returns (bool)
deposit
nonpayablefunction deposit(uint256 assets, address receiver) returns (uint256)
increaseAllowance
nonpayablefunction increaseAllowance(address spender, uint256 addedValue) returns (bool)
initialize
nonpayablefunction initialize(address asset_)
mint
nonpayablefunction mint(uint256 shares, address receiver) returns (uint256)
pause
nonpayablefunction pause()
redeem
nonpayablefunction redeem(uint256 shares, address receiver, address owner) returns (uint256)
renounceOwnership
nonpayablefunction renounceOwnership()
transfer
nonpayablefunction transfer(address to, uint256 amount) returns (bool)
transferFrom
nonpayablefunction transferFrom(address from, address to, uint256 amount) returns (bool)
transferOwnership
nonpayablefunction transferOwnership(address newOwner)
unpause
nonpayablefunction unpause()
withdraw
nonpayablefunction withdraw(uint256 assets, address receiver, address owner) returns (uint256)
events
Approval
event Approval(address indexed owner, address indexed spender, uint256 value)
Deposit
event Deposit(address indexed sender, address indexed owner, uint256 assets, uint256 shares)
Initialized
event Initialized(uint8 version)
OwnershipTransferred
event OwnershipTransferred(address indexed previousOwner, address indexed newOwner)
Paused
event Paused(address account)
Transfer
event Transfer(address indexed from, address indexed to, uint256 value)
Unpaused
event Unpaused(address account)
Withdraw
event Withdraw(address indexed sender, address indexed receiver, address indexed owner, uint256 assets, uint256 shares)
errors
No errors.
creation bytecode
0x60806040523480156200001157600080fd5b50620000226200002860201b60201c565b620001d2565b600060019054906101000a900460ff16156200007b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620000729062000175565b60405180910390fd5b60ff801660008054906101000a900460ff1660ff1614620000ec5760ff6000806101000a81548160ff021916908360ff1602179055507f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb384740249860ff604051620000e39190620001b5565b60405180910390a15b565b600082825260208201905092915050565b7f496e697469616c697a61626c653a20636f6e747261637420697320696e69746960008201527f616c697a696e6700000000000000000000000000000000000000000000000000602082015250565b60006200015d602783620000ee565b91506200016a82620000ff565b604082019050919050565b6000602082019050818103600083015262000190816200014e565b9050919050565b600060ff82169050919050565b620001af8162000197565b82525050565b6000602082019050620001cc6000830184620001a4565b92915050565b613f8180620001e26000396000f3fe608060405234801561001057600080fd5b50600436106102275760003560e01c80638456cb5911610130578063ba087652116100b8578063ce96cb771161007c578063ce96cb7714610704578063d905777e14610734578063dd62ed3e14610764578063ef8b30f714610794578063f2fde38b146107c457610227565b8063ba08765214610628578063c1d8994114610658578063c4d66de814610688578063c63d75b6146106a4578063c6e6f592146106d457610227565b806395d89b41116100ff57806395d89b411461054a578063a457c2d714610568578063a9059cbb14610598578063b3d7f6b9146105c8578063b460af94146105f857610227565b80638456cb59146104c25780638da5cb5b146104cc578063944e6c96146104ea57806394bf804d1461051a57610227565b806339509351116101b35780634cdad506116101825780634cdad5061461040a5780635c975abb1461043a5780636e553f651461045857806370a0823114610488578063715018a6146104b857610227565b806339509351146103825780633d68175c146103b25780633f4ba83a146103d0578063402d267d146103da57610227565b80630a28a477116101fa5780630a28a477146102c857806318160ddd146102f857806323b872dd14610316578063313ce5671461034657806338d52e0f1461036457610227565b806301e1d1141461022c57806306fdde031461024a57806307a2d13a14610268578063095ea7b314610298575b600080fd5b6102346107e0565b6040516102419190612a68565b60405180910390f35b610252610883565b60405161025f9190612b13565b60405180910390f35b610282600480360381019061027d9190612b66565b610915565b60405161028f9190612a68565b60405180910390f35b6102b260048036038101906102ad9190612bf1565b610929565b6040516102bf9190612c4c565b60405180910390f35b6102e260048036038101906102dd9190612b66565b610945565b6040516102ef9190612a68565b60405180910390f35b610300610959565b60405161030d9190612a68565b60405180910390f35b610330600480360381019061032b9190612c67565b610963565b60405161033d9190612c4c565b60405180910390f35b61034e610981565b60405161035b9190612cd6565b60405180910390f35b61036c6109aa565b6040516103799190612d00565b60405180910390f35b61039c60048036038101906103979190612bf1565b6109d4565b6040516103a99190612c4c565b60405180910390f35b6103ba6109f0565b6040516103c79190612a68565b60405180910390f35b6103d8610af5565b005b6103f460048036038101906103ef9190612d1b565b610b07565b6040516104019190612a68565b60405180910390f35b610424600480360381019061041f9190612b66565b610b31565b6040516104319190612a68565b60405180910390f35b610442610b45565b60405161044f9190612c4c565b60405180910390f35b610472600480360381019061046d9190612d48565b610b5c565b60405161047f9190612a68565b60405180910390f35b6104a2600480360381019061049d9190612d1b565b610b78565b6040516104af9190612a68565b60405180910390f35b6104c0610bc1565b005b6104ca610bd5565b005b6104d4610be7565b6040516104e19190612d00565b60405180910390f35b61050460048036038101906104ff9190612d1b565b610c11565b6040516105119190612c4c565b60405180910390f35b610534600480360381019061052f9190612d48565b610c25565b6040516105419190612a68565b60405180910390f35b610552610c41565b60405161055f9190612b13565b60405180910390f35b610582600480360381019061057d9190612bf1565b610cd3565b60405161058f9190612c4c565b60405180910390f35b6105b260048036038101906105ad9190612bf1565b610cef565b6040516105bf9190612c4c565b60405180910390f35b6105e260048036038101906105dd9190612b66565b610d0b565b6040516105ef9190612a68565b60405180910390f35b610612600480360381019061060d9190612d88565b610d1f565b60405161061f9190612a68565b60405180910390f35b610642600480360381019061063d9190612d88565b610d3d565b60405161064f9190612a68565b60405180910390f35b610672600480360381019061066d9190612d1b565b610d5b565b60405161067f9190612a68565b60405180910390f35b6106a2600480360381019061069d9190612d1b565b610d75565b005b6106be60048036038101906106b99190612d1b565b610f06565b6040516106cb9190612a68565b60405180910390f35b6106ee60048036038101906106e99190612b66565b610f30565b6040516106fb9190612a68565b60405180910390f35b61071e60048036038101906107199190612d1b565b610f44565b60405161072b9190612a68565b60405180910390f35b61074e60048036038101906107499190612d1b565b610f60565b60405161075b9190612a68565b60405180910390f35b61077e60048036038101906107799190612ddb565b610f72565b60405161078b9190612a68565b60405180910390f35b6107ae60048036038101906107a99190612b66565b610ff9565b6040516107bb9190612a68565b60405180910390f35b6107de60048036038101906107d99190612d1b565b61100d565b005b6000606560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b815260040161083d9190612d00565b602060405180830381865afa15801561085a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061087e9190612e30565b905090565b60606036805461089290612e8c565b80601f01602080910402602001604051908101604052809291908181526020018280546108be90612e8c565b801561090b5780601f106108e05761010080835404028352916020019161090b565b820191906000526020600020905b8154815290600101906020018083116108ee57829003601f168201915b5050505050905090565b6000610922826000611090565b9050919050565b6000610933611149565b61093d8383611193565b905092915050565b60006109528260016111b6565b9050919050565b6000603554905090565b600061096d611149565b61097884848461126f565b90509392505050565b600061098b61129e565b606560149054906101000a900460ff166109a59190612eec565b905090565b6000606560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60006109de611149565b6109e883836112a3565b905092915050565b60008060fb60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16634b94f50e6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610a60573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a849190612e30565b905060008103610ac9576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ac090612f6d565b60405180910390fd5b610aef610ad4610981565b600a610ae091906130c0565b670de0b6b3a7640000836112da565b91505090565b610afd6113eb565b610b05611469565b565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff9050919050565b6000610b3e826000611090565b9050919050565b6000609760009054906101000a900460ff16905090565b6000610b66611149565b610b7083836114cc565b905092915050565b6000603360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b610bc96113eb565b610bd36000611543565b565b610bdd6113eb565b610be5611609565b565b600060c960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b600080610c1d83610b78565b119050919050565b6000610c2f611149565b610c39838361166c565b905092915050565b606060378054610c5090612e8c565b80601f0160208091040260200160405190810160405280929190818152602001828054610c7c90612e8c565b8015610cc95780601f10610c9e57610100808354040283529160200191610cc9565b820191906000526020600020905b815481529060010190602001808311610cac57829003601f168201915b5050505050905090565b6000610cdd611149565b610ce783836116e3565b905092915050565b6000610cf9611149565b610d03838361175a565b905092915050565b6000610d18826001611090565b9050919050565b6000610d29611149565b610d3484848461177d565b90509392505050565b6000610d47611149565b610d528484846117f6565b90509392505050565b6000610d6e610d6983610b78565b610915565b9050919050565b60008060019054906101000a900460ff16159050808015610da65750600160008054906101000a900460ff1660ff16105b80610dd35750610db53061186f565b158015610dd25750600160008054906101000a900460ff1660ff16145b5b610e12576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e099061317d565b60405180910390fd5b60016000806101000a81548160ff021916908360ff1602179055508015610e4f576001600060016101000a81548160ff0219169083151502179055505b610e5882611892565b610e606118ed565b610e68611946565b8160fb60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508015610f025760008060016101000a81548160ff0219169083151502179055507f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024986001604051610ef991906131e2565b60405180910390a15b5050565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff9050919050565b6000610f3d8260006111b6565b9050919050565b6000610f59610f5283610b78565b6000611090565b9050919050565b6000610f6b82610b78565b9050919050565b6000603460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b60006110068260006111b6565b9050919050565b6110156113eb565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603611084576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161107b9061326f565b60405180910390fd5b61108d81611543565b50565b6000611141670de0b6b3a764000060fb60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16634b94f50e6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561110b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061112f9190612e30565b848661199f909392919063ffffffff16565b905092915050565b611151610b45565b15611191576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611188906132db565b60405180910390fd5b565b60008061119e611a15565b90506111ab818585611a1d565b600191505092915050565b600061126760fb60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16634b94f50e6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611228573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061124c9190612e30565b670de0b6b3a7640000848661199f909392919063ffffffff16565b905092915050565b60008061127a611a15565b9050611287858285611be6565b611292858585611c72565b60019150509392505050565b600090565b6000806112ae611a15565b90506112cf8185856112c08589610f72565b6112ca91906132fb565b611a1d565b600191505092915050565b60008060008019858709858702925082811083820303915050600081036113155783828161130b5761130a61332f565b5b04925050506113e4565b808411611357576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161134e906133aa565b60405180910390fd5b60008486880990508281118203915080830392506000600186190186169050808604955080840493506001818260000304019050808302841793506000600287600302189050808702600203810290508087026002038102905080870260020381029050808702600203810290508087026002038102905080870260020381029050808502955050505050505b9392505050565b6113f3611a15565b73ffffffffffffffffffffffffffffffffffffffff16611411610be7565b73ffffffffffffffffffffffffffffffffffffffff1614611467576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161145e90613416565b60405180910390fd5b565b611471611eeb565b6000609760006101000a81548160ff0219169083151502179055507f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa6114b5611a15565b6040516114c29190612d00565b60405180910390a1565b60006114d782610b07565b831115611519576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161151090613482565b60405180910390fd5b600061152484610ff9565b9050611539611531611a15565b848684611f34565b8091505092915050565b600060c960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690508160c960006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b611611611149565b6001609760006101000a81548160ff0219169083151502179055507f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a258611655611a15565b6040516116629190612d00565b60405180910390a1565b600061167782610f06565b8311156116b9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116b0906134ee565b60405180910390fd5b60006116c484610d0b565b90506116d96116d1611a15565b848387611f34565b8091505092915050565b6000806116ee611a15565b905060006116fc8286610f72565b905083811015611741576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161173890613580565b60405180910390fd5b61174e8286868403611a1d565b60019250505092915050565b600080611765611a15565b9050611772818585611c72565b600191505092915050565b600061178882610f44565b8411156117ca576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117c1906135ec565b60405180910390fd5b60006117d585610945565b90506117eb6117e2611a15565b85858885611fd9565b809150509392505050565b600061180182610f60565b841115611843576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161183a90613658565b60405180910390fd5b600061184e85610b31565b905061186461185b611a15565b85858489611fd9565b809150509392505050565b6000808273ffffffffffffffffffffffffffffffffffffffff163b119050919050565b600060019054906101000a900460ff166118e1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118d8906136ea565b60405180910390fd5b6118ea816120d4565b50565b600060019054906101000a900460ff1661193c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611933906136ea565b60405180910390fd5b6119446121a1565b565b600060019054906101000a900460ff16611995576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161198c906136ea565b60405180910390fd5b61199d61220d565b565b6000806119ad8686866112da565b9050600160028111156119c3576119c261370a565b5b8360028111156119d6576119d561370a565b5b1480156119f45750600084806119ef576119ee61332f565b5b868809115b15611a0957600181611a0691906132fb565b90505b80915050949350505050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611a8c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a83906137ab565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611afb576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611af29061383d565b60405180910390fd5b80603460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051611bd99190612a68565b60405180910390a3505050565b6000611bf28484610f72565b90507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8114611c6c5781811015611c5e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c55906138a9565b60405180910390fd5b611c6b8484848403611a1d565b5b50505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611ce1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611cd89061393b565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611d50576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d47906139cd565b60405180910390fd5b611d5b83838361226e565b6000603360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905081811015611de2576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611dd990613a5f565b60405180910390fd5b818103603360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555081603360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051611ed29190612a68565b60405180910390a3611ee5848484612273565b50505050565b611ef3610b45565b611f32576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f2990613acb565b60405180910390fd5b565b611f62606560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16853085612278565b611f6c8382612301565b8273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fdcbc1c05240f31ff3ad067ef1ee35ce4997762752e3a095284754544f4c709d78484604051611fcb929190613aeb565b60405180910390a350505050565b8273ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff161461201857612017838683611be6565b5b6120228382612458565b61204f606560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff168584612627565b8273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff167ffbde797d201c681b91056529119e0b02407c7bb96a4a2c75c01fc9667232c8db85856040516120c5929190613aeb565b60405180910390a45050505050565b600060019054906101000a900460ff16612123576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161211a906136ea565b60405180910390fd5b60008061212f836126ad565b915091508161213f576012612141565b805b606560146101000a81548160ff021916908360ff16021790555082606560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550505050565b600060019054906101000a900460ff166121f0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016121e7906136ea565b60405180910390fd5b6000609760006101000a81548160ff021916908315150217905550565b600060019054906101000a900460ff1661225c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612253906136ea565b60405180910390fd5b61226c612267611a15565b611543565b565b505050565b505050565b6122fb846323b872dd60e01b85858560405160240161229993929190613b14565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff83818316178352505050506127dd565b50505050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603612370576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161236790613b97565b60405180910390fd5b61237c6000838361226e565b806035600082825461238e91906132fb565b9250508190555080603360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516124409190612a68565b60405180910390a361245460008383612273565b5050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036124c7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016124be90613c29565b60405180910390fd5b6124d38260008361226e565b6000603360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490508181101561255a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161255190613cbb565b60405180910390fd5b818103603360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555081603560008282540392505081905550600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405161260e9190612a68565b60405180910390a361262283600084612273565b505050565b6126a88363a9059cbb60e01b8484604051602401612646929190613cdb565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff83818316178352505050506127dd565b505050565b6000806000808473ffffffffffffffffffffffffffffffffffffffff1663313ce56760e01b604051602401604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff83818316178352505050506040516127429190613d4b565b600060405180830381855afa9150503d806000811461277d576040519150601f19603f3d011682016040523d82523d6000602084013e612782565b606091505b509150915081801561279657506020815110155b156127ce576000818060200190518101906127b19190612e30565b905060ff801681116127cc57600181945094505050506127d8565b505b6000809350935050505b915091565b600061283f826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c65648152508573ffffffffffffffffffffffffffffffffffffffff166128a59092919063ffffffff16565b90506000815114806128615750808060200190518101906128609190613d8e565b5b6128a0576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161289790613e2d565b60405180910390fd5b505050565b60606128b484846000856128bd565b90509392505050565b606082471015612902576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016128f990613ebf565b60405180910390fd5b6000808673ffffffffffffffffffffffffffffffffffffffff16858760405161292b9190613d4b565b60006040518083038185875af1925050503d8060008114612968576040519150601f19603f3d011682016040523d82523d6000602084013e61296d565b606091505b509150915061297e8783838761298a565b92505050949350505050565b606083156129ec5760008351036129e4576129a48561186f565b6129e3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016129da90613f2b565b60405180910390fd5b5b8290506129f7565b6129f683836129ff565b5b949350505050565b600082511115612a125781518083602001fd5b806040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612a469190612b13565b60405180910390fd5b6000819050919050565b612a6281612a4f565b82525050565b6000602082019050612a7d6000830184612a59565b92915050565b600081519050919050565b600082825260208201905092915050565b60005b83811015612abd578082015181840152602081019050612aa2565b60008484015250505050565b6000601f19601f8301169050919050565b6000612ae582612a83565b612aef8185612a8e565b9350612aff818560208601612a9f565b612b0881612ac9565b840191505092915050565b60006020820190508181036000830152612b2d8184612ada565b905092915050565b600080fd5b612b4381612a4f565b8114612b4e57600080fd5b50565b600081359050612b6081612b3a565b92915050565b600060208284031215612b7c57612b7b612b35565b5b6000612b8a84828501612b51565b91505092915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000612bbe82612b93565b9050919050565b612bce81612bb3565b8114612bd957600080fd5b50565b600081359050612beb81612bc5565b92915050565b60008060408385031215612c0857612c07612b35565b5b6000612c1685828601612bdc565b9250506020612c2785828601612b51565b9150509250929050565b60008115159050919050565b612c4681612c31565b82525050565b6000602082019050612c616000830184612c3d565b92915050565b600080600060608486031215612c8057612c7f612b35565b5b6000612c8e86828701612bdc565b9350506020612c9f86828701612bdc565b9250506040612cb086828701612b51565b9150509250925092565b600060ff82169050919050565b612cd081612cba565b82525050565b6000602082019050612ceb6000830184612cc7565b92915050565b612cfa81612bb3565b82525050565b6000602082019050612d156000830184612cf1565b92915050565b600060208284031215612d3157612d30612b35565b5b6000612d3f84828501612bdc565b91505092915050565b60008060408385031215612d5f57612d5e612b35565b5b6000612d6d85828601612b51565b9250506020612d7e85828601612bdc565b9150509250929050565b600080600060608486031215612da157612da0612b35565b5b6000612daf86828701612b51565b9350506020612dc086828701612bdc565b9250506040612dd186828701612bdc565b9150509250925092565b60008060408385031215612df257612df1612b35565b5b6000612e0085828601612bdc565b9250506020612e1185828601612bdc565b9150509250929050565b600081519050612e2a81612b3a565b92915050565b600060208284031215612e4657612e45612b35565b5b6000612e5484828501612e1b565b91505092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60006002820490506001821680612ea457607f821691505b602082108103612eb757612eb6612e5d565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000612ef782612cba565b9150612f0283612cba565b9250828201905060ff811115612f1b57612f1a612ebd565b5b92915050565b7f496e76616c696420475841472070726963650000000000000000000000000000600082015250565b6000612f57601283612a8e565b9150612f6282612f21565b602082019050919050565b60006020820190508181036000830152612f8681612f4a565b9050919050565b60008160011c9050919050565b6000808291508390505b6001851115612fe457808604811115612fc057612fbf612ebd565b5b6001851615612fcf5780820291505b8081029050612fdd85612f8d565b9450612fa4565b94509492505050565b600082612ffd57600190506130b9565b8161300b57600090506130b9565b8160018114613021576002811461302b5761305a565b60019150506130b9565b60ff84111561303d5761303c612ebd565b5b8360020a91508482111561305457613053612ebd565b5b506130b9565b5060208310610133831016604e8410600b841016171561308f5782820a90508381111561308a57613089612ebd565b5b6130b9565b61309c8484846001612f9a565b925090508184048111156130b3576130b2612ebd565b5b81810290505b9392505050565b60006130cb82612a4f565b91506130d683612cba565b92506131037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484612fed565b905092915050565b7f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160008201527f647920696e697469616c697a6564000000000000000000000000000000000000602082015250565b6000613167602e83612a8e565b91506131728261310b565b604082019050919050565b600060208201905081810360008301526131968161315a565b9050919050565b6000819050919050565b6000819050919050565b60006131cc6131c76131c28461319d565b6131a7565b612cba565b9050919050565b6131dc816131b1565b82525050565b60006020820190506131f760008301846131d3565b92915050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b6000613259602683612a8e565b9150613264826131fd565b604082019050919050565b600060208201905081810360008301526132888161324c565b9050919050565b7f5061757361626c653a2070617573656400000000000000000000000000000000600082015250565b60006132c5601083612a8e565b91506132d08261328f565b602082019050919050565b600060208201905081810360008301526132f4816132b8565b9050919050565b600061330682612a4f565b915061331183612a4f565b925082820190508082111561332957613328612ebd565b5b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4d6174683a206d756c446976206f766572666c6f770000000000000000000000600082015250565b6000613394601583612a8e565b915061339f8261335e565b602082019050919050565b600060208201905081810360008301526133c381613387565b9050919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b6000613400602083612a8e565b915061340b826133ca565b602082019050919050565b6000602082019050818103600083015261342f816133f3565b9050919050565b7f455243343632363a206465706f736974206d6f7265207468616e206d61780000600082015250565b600061346c601e83612a8e565b915061347782613436565b602082019050919050565b6000602082019050818103600083015261349b8161345f565b9050919050565b7f455243343632363a206d696e74206d6f7265207468616e206d61780000000000600082015250565b60006134d8601b83612a8e565b91506134e3826134a2565b602082019050919050565b60006020820190508181036000830152613507816134cb565b9050919050565b7f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760008201527f207a65726f000000000000000000000000000000000000000000000000000000602082015250565b600061356a602583612a8e565b91506135758261350e565b604082019050919050565b600060208201905081810360008301526135998161355d565b9050919050565b7f455243343632363a207769746864726177206d6f7265207468616e206d617800600082015250565b60006135d6601f83612a8e565b91506135e1826135a0565b602082019050919050565b60006020820190508181036000830152613605816135c9565b9050919050565b7f455243343632363a2072656465656d206d6f7265207468616e206d6178000000600082015250565b6000613642601d83612a8e565b915061364d8261360c565b602082019050919050565b6000602082019050818103600083015261367181613635565b9050919050565b7f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960008201527f6e697469616c697a696e67000000000000000000000000000000000000000000602082015250565b60006136d4602b83612a8e565b91506136df82613678565b604082019050919050565b60006020820190508181036000830152613703816136c7565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b6000613795602483612a8e565b91506137a082613739565b604082019050919050565b600060208201905081810360008301526137c481613788565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b6000613827602283612a8e565b9150613832826137cb565b604082019050919050565b600060208201905081810360008301526138568161381a565b9050919050565b7f45524332303a20696e73756666696369656e7420616c6c6f77616e6365000000600082015250565b6000613893601d83612a8e565b915061389e8261385d565b602082019050919050565b600060208201905081810360008301526138c281613886565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b6000613925602583612a8e565b9150613930826138c9565b604082019050919050565b6000602082019050818103600083015261395481613918565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b60006139b7602383612a8e565b91506139c28261395b565b604082019050919050565b600060208201905081810360008301526139e6816139aa565b9050919050565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206260008201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b6000613a49602683612a8e565b9150613a54826139ed565b604082019050919050565b60006020820190508181036000830152613a7881613a3c565b9050919050565b7f5061757361626c653a206e6f7420706175736564000000000000000000000000600082015250565b6000613ab5601483612a8e565b9150613ac082613a7f565b602082019050919050565b60006020820190508181036000830152613ae481613aa8565b9050919050565b6000604082019050613b006000830185612a59565b613b0d6020830184612a59565b9392505050565b6000606082019050613b296000830186612cf1565b613b366020830185612cf1565b613b436040830184612a59565b949350505050565b7f45524332303a206d696e7420746f20746865207a65726f206164647265737300600082015250565b6000613b81601f83612a8e565b9150613b8c82613b4b565b602082019050919050565b60006020820190508181036000830152613bb081613b74565b9050919050565b7f45524332303a206275726e2066726f6d20746865207a65726f2061646472657360008201527f7300000000000000000000000000000000000000000000000000000000000000602082015250565b6000613c13602183612a8e565b9150613c1e82613bb7565b604082019050919050565b60006020820190508181036000830152613c4281613c06565b9050919050565b7f45524332303a206275726e20616d6f756e7420657863656564732062616c616e60008201527f6365000000000000000000000000000000000000000000000000000000000000602082015250565b6000613ca5602283612a8e565b9150613cb082613c49565b604082019050919050565b60006020820190508181036000830152613cd481613c98565b9050919050565b6000604082019050613cf06000830185612cf1565b613cfd6020830184612a59565b9392505050565b600081519050919050565b600081905092915050565b6000613d2582613d04565b613d2f8185613d0f565b9350613d3f818560208601612a9f565b80840191505092915050565b6000613d578284613d1a565b915081905092915050565b613d6b81612c31565b8114613d7657600080fd5b50565b600081519050613d8881613d62565b92915050565b600060208284031215613da457613da3612b35565b5b6000613db284828501613d79565b91505092915050565b7f5361666545524332303a204552433230206f7065726174696f6e20646964206e60008201527f6f74207375636365656400000000000000000000000000000000000000000000602082015250565b6000613e17602a83612a8e565b9150613e2282613dbb565b604082019050919050565b60006020820190508181036000830152613e4681613e0a565b9050919050565b7f416464726573733a20696e73756666696369656e742062616c616e636520666f60008201527f722063616c6c0000000000000000000000000000000000000000000000000000602082015250565b6000613ea9602683612a8e565b9150613eb482613e4d565b604082019050919050565b60006020820190508181036000830152613ed881613e9c565b9050919050565b7f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000600082015250565b6000613f15601d83612a8e565b9150613f2082613edf565b602082019050919050565b60006020820190508181036000830152613f4481613f08565b905091905056fea2646970667358221220f6d95a711b378a1fa800f3a6fea8bb8f0193a92f39d0ece410d4bafe37c6b9ad64736f6c63430008140033