4 txs
5.7k calls
constructor
constructor(address _configurator, address _addyRegistry)
functions
ADDY_REGISTRY
viewfunction ADDY_REGISTRY() view returns (address)
assetOpportunities
viewfunction assetOpportunities(address arg0, uint256 arg1) view returns (address)
assets
viewfunction assets(uint256 arg0) view returns (address)
canGovern
viewfunction canGovern(address _address) view returns (bool)
COMPOUND_V3_CONFIGURATOR
viewfunction COMPOUND_V3_CONFIGURATOR() view returns (address)
compoundRewards
viewfunction compoundRewards() view returns (address)
getAccessForLego
viewfunction getAccessForLego(address _user) view returns (address, string, uint256)
getAssetOpportunities
viewfunction getAssetOpportunities(address _asset) view returns (address[])
getAssets
viewfunction getAssets() view returns (address[])
getRegistries
viewfunction getRegistries() view returns (address[])
getUnderlyingAmount
viewfunction getUnderlyingAmount(address _vaultToken, uint256 _vaultTokenAmount) view returns (uint256)
getUnderlyingAsset
viewfunction getUnderlyingAsset(address _vaultToken) view returns (address)
getUnderlyingData
viewfunction getUnderlyingData(address _vaultToken, uint256 _vaultTokenAmount, address _oracleRegistry) view returns (address, uint256, uint256)
getUnderlyingData
viewfunction getUnderlyingData(address _vaultToken, uint256 _vaultTokenAmount) view returns (address, uint256, uint256)
getUsdValueOfVaultToken
viewfunction getUsdValueOfVaultToken(address _vaultToken, uint256 _vaultTokenAmount, address _oracleRegistry) view returns (uint256)
getUsdValueOfVaultToken
viewfunction getUsdValueOfVaultToken(address _vaultToken, uint256 _vaultTokenAmount) view returns (uint256)
getVaultTokenAmount
viewfunction getVaultTokenAmount(address _asset, uint256 _assetAmount, address _vaultToken) view returns (uint256)
govChangeDelay
viewfunction govChangeDelay() view returns (uint256)
governance
viewfunction governance() view returns (address)
hasPendingGovChange
viewfunction hasPendingGovChange() view returns (bool)
indexOfAsset
viewfunction indexOfAsset(address arg0) view returns (uint256)
indexOfAssetOpportunity
viewfunction indexOfAssetOpportunity(address arg0, address arg1) view returns (uint256)
isActivated
viewfunction isActivated() view returns (bool)
isVaultToken
viewfunction isVaultToken(address _vaultToken) view returns (bool)
legoId
viewfunction legoId() view returns (uint256)
MAX_GOV_CHANGE_DELAY
viewfunction MAX_GOV_CHANGE_DELAY() view returns (uint256)
MIN_GOV_CHANGE_DELAY
viewfunction MIN_GOV_CHANGE_DELAY() view returns (uint256)
numAssetOpportunities
viewfunction numAssetOpportunities(address arg0) view returns (uint256)
numAssets
viewfunction numAssets() view returns (uint256)
pendingGov
viewfunction pendingGov() view returns (tuple)
totalAssets
viewfunction totalAssets(address _vaultToken) view returns (uint256)
totalBorrows
viewfunction totalBorrows(address _vaultToken) view returns (uint256)
vaultToAsset
viewfunction vaultToAsset(address arg0) view returns (address)
activate
nonpayablefunction activate(bool _shouldActivate)
addAssetOpportunity
nonpayablefunction addAssetOpportunity(address _asset, address _vault) returns (bool)
cancelGovernanceChange
nonpayablefunction cancelGovernanceChange()
changeGovernance
nonpayablefunction changeGovernance(address _newGov)
claimRewards
nonpayablefunction claimRewards(address _user, address _market, address _rewardToken, uint256 _rewardAmount, bytes32 _proof)
confirmGovernanceChange
nonpayablefunction confirmGovernanceChange()
depositTokens
nonpayablefunction depositTokens(address _asset, uint256 _amount, address _vault, address _recipient, address _oracleRegistry) returns (uint256, address, uint256, uint256, uint256)
depositTokens
nonpayablefunction depositTokens(address _asset, uint256 _amount, address _vault, address _recipient) returns (uint256, address, uint256, uint256, uint256)
hasClaimableRewards
nonpayablefunction hasClaimableRewards(address _user) returns (bool)
recoverFunds
nonpayablefunction recoverFunds(address _asset, address _recipient) returns (bool)
removeAssetOpportunity
nonpayablefunction removeAssetOpportunity(address _asset, address _vault) returns (bool)
setCompRewardsAddr
nonpayablefunction setCompRewardsAddr(address _addr) returns (bool)
setGovernanceChangeDelay
nonpayablefunction setGovernanceChangeDelay(uint256 _numBlocks)
setLegoId
nonpayablefunction setLegoId(uint256 _legoId) returns (bool)
withdrawTokens
nonpayablefunction withdrawTokens(address _asset, uint256 _amount, address _vaultToken, address _recipient, address _oracleRegistry) returns (uint256, uint256, uint256, uint256)
withdrawTokens
nonpayablefunction withdrawTokens(address _asset, uint256 _amount, address _vaultToken, address _recipient) returns (uint256, uint256, uint256, uint256)
events
AssetOpportunityAdded
event AssetOpportunityAdded(address indexed asset, address indexed vaultToken)
AssetOpportunityRemoved
event AssetOpportunityRemoved(address indexed asset, address indexed vaultToken)
CompoundV3Activated
event CompoundV3Activated(bool isActivated)
CompoundV3Deposit
event CompoundV3Deposit(address indexed sender, address indexed asset, address indexed vaultToken, uint256 assetAmountDeposited, uint256 usdValue, uint256 vaultTokenAmountReceived, address recipient)
CompoundV3FundsRecovered
event CompoundV3FundsRecovered(address indexed asset, address indexed recipient, uint256 amount)
CompoundV3LegoIdSet
event CompoundV3LegoIdSet(uint256 legoId)
CompoundV3RewardsAddrSet
event CompoundV3RewardsAddrSet(address addr)
CompoundV3Withdrawal
event CompoundV3Withdrawal(address indexed sender, address indexed asset, address indexed vaultToken, uint256 assetAmountReceived, uint256 usdValue, uint256 vaultTokenAmountBurned, address recipient)
GovChangeCancelled
event GovChangeCancelled(address indexed cancelledGov, uint256 initiatedBlock, uint256 confirmBlock)
GovChangeConfirmed
event GovChangeConfirmed(address indexed prevGov, address indexed newGov, uint256 initiatedBlock, uint256 confirmBlock)
GovChangeDelaySet
event GovChangeDelaySet(uint256 delayBlocks)
GovChangeInitiated
event GovChangeInitiated(address indexed prevGov, address indexed newGov, uint256 confirmBlock)
errors
No errors.
creation bytecode
0x61260e51503461018f5760206127795f395f518060a01c61018f576101405260206127995f395f518060a01c61018f5761016052610140511561004757610160511515610049565b5f5b1561018f57610140516125ee526101605161260e526001600f555f6040526101605160605260403660803761007c610096565b61008461018d565b6125ae6101936100003961262e610000f35b604051156100a55760016100ab565b60605115155b1561018f57604051156100bf576040516007555b606051156100ce57606051600c555b6040608060c05e60c0516100e35760016100e8565b60e051155b15610162576060511561018f5760605163ed860576610100526020610100600461011c845afa61011a573d5f5f3e3d5ffd5b60203d1061018f5761010090505160c05260605163c55728b0610100526020610100600461011c845afa610150573d5f5f3e3d5ffd5b60203d1061018f5761010090505160e0525b60e05160c051101561018f5760c0516125ae5260e0516125ce526060511561018b5760c051600b555b565b565b5f80fd5f3560e01c6002602a820660011b61255a01601e395f51565b636aa06de0811861017157602436103417612556576004358060a01c6125565760405260026040516020525f5260405f20546060526060516100a157602080608052806080015f5f82525f5f5f600f811161255657801561008b57905b5f8160051b602087010152600101818118610075575b505081016020019050905081019050608061016f565b5f60805260016060518060011161255657600181039050600f8111612556578015610113578101905b8061028052608051600e8111612556575f6040516020525f5260405f2080610280516020525f5260405f209050548160051b60a0015260018101608052506001018181186100ca575b50506020806102805280610280015f6080518083528060051b5f82600f811161255657801561015b57905b8060051b60a001518160051b60208801015260010181811861013e575b505082016020019150509050810190506102805bf35b632068dd9e8118611c7257346125565760206125ee60403960206040f35b6367e4ac2c81186102bb5734612556576006546040526040516101f957602080606052806060015f5f82525f5f5f601981116125565780156101e357905b5f8160051b6020870101526001018181186101cd575b50508101602001905090508101905060606102b9565b5f606052600160405180600111612556576001810390506019811161255657801561025d578101905b806103a052606051601881116125565760046103a0516020525f5260405f20548160051b608001526001810160605250600101818118610222575b50506020806103a052806103a0015f6060518083528060051b5f82601981116125565780156102a557905b8060051b608001518160051b602088010152600101818118610288575b505082016020019150509050810190506103a05bf35b632524081081186102e3573461255657600854604052600954606052600a5460805260606040f35b6314f5c51c8118611c7257608436103417612556575f61018052610b46565b63e8d314e7811861034b57604436103417612556576004358060a01c612556576040525f6040516020525f5260405f20806024356020525f5260405f2090505460605260206060f35b63c00c9f7f8118611c72573461255657600d5460405260206040f35b636e2882968118611c7257604436103417612556576004358060a01c612556576040526024358060a01c6125565760605260016040516020525f5260405f20806060516020525f5260405f2090505460805260206080f35b63b2fba7938118611c7257602436103417612556576004358060a01c6125565760405260026040516020525f5260405f205460605260206060f35b63cac7a0258118611c7257602436103417612556576004358060a01c6125565760405260036040516020525f5260405f205460605260206060f35b63cf35bdd08118610462576024361034176125565760046004356020525f5260405f205460405260206040f35b63a908dc8081186104f95760243610341761255657600a5461255657336101605261048e610260611d47565b61026051156125565760206125ae5f395f5160043510156104af575f6104be565b60206125ce5f395f5160043511155b1561255657600435600b557fb8d7f2c6802e04bfd3abb436c2b7b52bd4b37872b53bd1150146816d66ac7de2600435610260526020610260a1005b6359c521208118611c7257606436103417612556576044358060a01c61255657610280525b6004358060a01c6125565761026052606061026051610180526024356101a052610280516101c0526105516102a0611f8c565b6102a0f35b636a1e31bc8118611c7257602436103417612556576004358060a01c6125565760405260056040516020525f5260405f205460605260206060f35b63a46fe83b81186105ad57346125565760065460405260206040f35b633f561eff81186105cb573461255657600a54151560405260206040f35b63f40b16978118611c72573461255657600b5460405260206040f35b6353aa43078118611c7257602436103417612556576004358060a01c612556576102605260206102605161016052610620610280611d47565b610280f35b6399572d6f811861078e57602436103417612556576004358060a01c61255657610160526106546101e0611c76565b6101e0805160208160051b0180836101805e505050335f6101e0525f61018051600281116125565780156106a957905b8060051b6101a00151831861069e5760016101e0526106a9565b600101818118610684575b50506101e051905015612556576101605160016101e0525f61018051600281116125565780156106f957905b8060051b6101a0015183186106ee575f6101e0526106f9565b6001018181186106d5575b50506101e05190501561255657610160513b156125565761071b6101e0611da6565b6101e0511561072e576101605115612556575b43600b5480820182811061255657905090506101e05261016051600855436009556101e051600a55610160516007547fa8e5a115434955f3c91f53089861da9b575399fbfbc1fc8b345ae6a18b0f193e6101e051610200526020610200a3005b63b4fb4b318118611c7257602436103417612556576004358060a01c612556576102605233610160526107c2610280611d47565b61028051156125565761026051156125565761026051600d557fe1643757b985a63b5935628b5f3dae688e0e0ffa419979bedf4e7769a6bda2f561026051610280526020610280a16001610280526020610280f35b636e4fd9c881186108b1573461255657600854604052600954606052600a5460805260405115612556576080511561085457608051431015610856565b5f5b156125565760405133186125565760075460a0526040516007555f6008555f6009555f600a5560405160a0517fb5dfe18540f75a87f8c7963e7f4942e9392be572b787d486d7868ac53a5bdf5b6040606060c05e604060c0a3005b6335884e5a811861092d573461255657602080604052806040015f60206125ee6101e03960016101c0525f6101c0518084528060051b5f82600a811161255657801561091757905b8060051b6101e001518160051b6020890101526001018181186108f9575b5050820160200191505090509050810190506040f35b63e8689daa8118611c7257602436103417612556576004358060a01c612556576101805260206101805160c0526109656101a0611e45565b6101a0f35b63366836cc8118611c72573461255657336101605261098a610260611d47565b6102605115612556576008546102605260095461028052600a546102a0526102a05115612556575f6008555f6009555f600a55610260517f4301277e72c59c5071608882749a82a210817721ba94066744cea89211d3838060406102806102c05e60406102c0a2005b635aa6e6758118611c7257346125565760075460405260206040f35b63ed8605768118611c7257346125565760206125ae60403960206040f35b63c55728b08118610a4b57346125565760206125ce60403960206040f35b6359b76fe48118610a67573461255657600e5460405260206040f35b634a8c1fb48118611c72573461255657600f5460405260206040f35b632f7ab0da8118611c7257602436103417612556576004358060a01c6125565760405260605f60605280608052806060015f81528051806020830101601f825f03163682375050601f19601f825160200101169050810190505f60a0526060f35b63338c4ccb8118610b2157602436103417612556576004358060a01c612556576101005260206101005160c052610b1c610120611e0e565b610120f35b631b7a69e78118611c725760a436103417612556576084358060a01c61255657610180525b6004358060a01c61255657610120526044358060a01c61255657610140526064358060a01c6125565761016052600f5415612556576001610120516020525f5260405f2080610140516020525f5260405f209050541561255657610120516370a082316101c052306101e05260206101c060246101dc845afa610bcb573d5f5f3e3d5ffd5b60203d10612556576101c09050516101a052610140516370a082316101e052610160516102005260206101e060246101fc845afa610c0b573d5f5f3e3d5ffd5b60203d10612556576101e09050516101c052602435610120516370a082316102005233610220526020610200602461021c845afa610c4b573d5f5f3e3d5ffd5b60203d1061255657610200905051808281188284100218905090506101e0526101e0511561255657610120516323b872dd61020052336102205230610240526101e051610260526020610200606461021c5f855af1610cac573d5f5f3e3d5ffd5b3d610cc357803b1561255657600161028052610ced565b3d602081183d602010021880610200016102201161255657610200518060011c6125565761028052505b61028090505115612556576101e051610120516370a082316102205230610240526020610220602461023c845afa610d27573d5f5f3e3d5ffd5b60203d1061255657610220905051808281188284100218905090506102005261014051634232cd6361022052610160516102405261012051610260526102005161028052803b15612556575f610220606461023c5f855af1610d8b573d5f5f3e3d5ffd5b50610140516370a082316102405261016051610260526020610240602461025c845afa610dba573d5f5f3e3d5ffd5b60203d10612556576102409050516101c051808203828111612556579050905061022052610220511561255657610120516370a082316102605230610280526020610260602461027c845afa610e12573d5f5f3e3d5ffd5b60203d1061255657610260905051610240525f610260526101a051610240511115610eec57610240516101a0518082038281116125565790509050610260526101205163a9059cbb61028052336102a052610260516102c0526020610280604461029c5f855af1610e85573d5f5f3e3d5ffd5b3d610e9c57803b156125565760016102e052610ec6565b3d602081183d602010021880610280016102a01161255657610280518060011c612556576102e052505b6102e0905051156125565761020051610260518082038281116125565790509050610200525b610120516040526102005160605261018051608052610f0c6102a0611ee7565b6102a051610280526101405161012051337f986d14b77b60883f2000ce7c0bed4c7ee6c3f553ccf798e30a3c268da3b87dc4610200516102a052610280516102c052610220516102e052610160516103005260806102a0a4610200516102a052610140516102c052610220516102e0526102605161030052610280516103205260a06102a0f35b636331f17f811861101157604436103417612556576004358060a01c61255657610100526101005160c052610fc9610120611e0e565b61012051610fd8576001610fdd565b602435155b15610ff1575f61014052602061014061100f565b60206101005160405260243560605261100b610120611edf565b6101205bf35b63954574838118611c7257604436103417612556576004358060a01c61255657610260526024358060a01c612556576102805233610160526110546102a0611d47565b6102a0511561255657604061026060e05e61106d6123f6565b6102605163095ea7b36102a052610280516102c0525f6102e05260206102a060446102bc5f855af16110a1573d5f5f3e3d5ffd5b3d6110b857803b15612556576001610300526110e2565b3d602081183d6020100218806102a0016102c011612556576102a0518060011c6125565761030052505b610300905051156125565760016102a05260206102a0f35b63fbddde9c8118611c7257606436103417612556576004358060a01c612556576040526044358060a01c6125565760605260405160036060516020525f5260405f20541461114f575f6080526020608061115a565b602435608052602060805bf35b6379061303811861117b57604436103417612556575f610400526111be565b6394b51d378118611c72573461255657602061260e60403960206040f35b631a606eb381186111f657606436103417612556576044358060a01c61255657610400525b6004358060a01c612556576103e05260206103e0516102605260243561028052610400516102a0526111f161042061204b565b610420f35b63ab96e0798118611c725760243610341761255657602061260e5f395f516347be091a6040526002606052602060406024605c845afa611238573d5f5f3e3d5ffd5b3d602081183d602010021880604001606011612556576040518060a01c61255657608052506080905051331861255657600e5460405260405161127c576001611285565b60043560405118155b1561255657600435600e557fbf9bebecd7e64112d5f0a1562d16b22fcc59d647b0ca7c11c48fa3aa73269f1a60043560605260206060a1600160605260206060f35b63333f17518118611c7257604436103417612556575f6102805261051e565b63f3e0ffbf811861136b57602436103417612556576004358060a01c61255657610100526101005160c05261131c610120611e0e565b61012051611333575f610140526020610140611369565b6020610100516318160ddd610120526020610120600461013c845afa61135b573d5f5f3e3d5ffd5b60203d106125565761012090505bf35b63c797bfe78118611c7257608436103417612556575f61018052611434565b638d7301248118611c7257602436103417612556576004358060a01c61255657610100526101005160c0526113c0610120611e0e565b610120516113d7575f61014052602061014061140d565b602061010051638285ef40610120526020610120600461013c845afa6113ff573d5f5f3e3d5ffd5b60203d106125565761012090505bf35b63e9bb12f08118611c725760a436103417612556576084358060a01c61255657610180525b6004358060a01c61255657610120526044358060a01c61255657610140526064358060a01c6125565761016052600f5415612556576001610120516020525f5260405f2080610140516020525f5260405f209050541561255657610120516370a082316101c052610160516101e05260206101c060246101dc845afa6114bc573d5f5f3e3d5ffd5b60203d10612556576101c09050516101a052610140516370a082316101e052306102005260206101e060246101fc845afa6114f9573d5f5f3e3d5ffd5b60203d10612556576101e09050516101c052602435610140516370a082316102005233610220526020610200602461021c845afa611539573d5f5f3e3d5ffd5b60203d1061255657610200905051808281188284100218905090506101e0526101e0511561255657610140516323b872dd61020052336102205230610240526101e051610260526020610200606461021c5f855af161159a573d5f5f3e3d5ffd5b3d6115b157803b15612556576001610280526115db565b3d602081183d602010021880610200016102201161255657610200518060011c6125565761028052505b61028090505115612556576101405163c3b35a7e61020052610160516102205261012051610240527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff61026052803b15612556575f610200606461021c5f855af1611648573d5f5f3e3d5ffd5b50610120516370a082316102205261016051610240526020610220602461023c845afa611677573d5f5f3e3d5ffd5b60203d10612556576102209050516101a051808203828111612556579050905061020052610200511561255657610140516370a082316102405230610260526020610240602461025c845afa6116cf573d5f5f3e3d5ffd5b60203d1061255657610240905051610220525f610240526101c0516102205111156117a957610220516101c0518082038281116125565790509050610240526101405163a9059cbb610260523361028052610240516102a0526020610260604461027c5f855af1611742573d5f5f3e3d5ffd5b3d61175957803b156125565760016102c052611783565b3d602081183d602010021880610260016102801161255657610260518060011c612556576102c052505b6102c090505115612556576101e0516102405180820382811161255657905090506101e0525b6101205160405261020051606052610180516080526117c9610280611ee7565b61028051610260526101405161012051337f91f3761d3f0a113f69824f2abede2a7081b30ab359cc3b1f51248944d5b7295e6102005161028052610260516102a0526101e0516102c052610160516102e0526080610280a461020051610280526101e0516102a05260406102406102c05e6080610280f35b638aadf9ac811861190a5760a436103417612556576004358060a01c61255657610220526024358060a01c61255657610240526044358060a01c6125565761026052600d546102805261028051156125565761024051156118e5576102805163b7034f7e6102a052610240516102c052610220516102e052600161030052803b15612556575f6102a060646102bc5f855af16118df573d5f5f3e3d5ffd5b50611908565b610220516040526001606052610280516080526119036102a0612083565b6102a0505b005b634bcae6248118611c7257604436103417612556576004358060a01c61255657610260526024358060a01c6125565761028052336101605261194d6102a0611d47565b6102a0511561255657610260516102805160c05261196c6102a0611e45565b6102a05118612556576102605163095ea7b36102a052610280516102c0527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6102e05260206102a060446102bc5f855af16119c9573d5f5f3e3d5ffd5b3d6119e057803b1561255657600161030052611a0a565b3d602081183d6020100218806102a0016102c011612556576102a0518060011c6125565761030052505b6103009050511561255657604061026060805e611a25612257565b60016102a05260206102a0f35b63b6ff49348118611c7257602436103417612556576004358060a01c61255657610220526020610220516040525f606052600d54608052611a74610240612083565b610240f35b6324ae6a278118611bfd57604436103417612556576004358060a01c61255657610260526024358060a01c61255657610280523361016052611abc6102a0611d47565b6102a0511561255657610260516370a082316102c052306102e05260206102c060246102dc845afa611af0573d5f5f3e3d5ffd5b60203d10612556576102c09050516102a05261028051611b11576001611b17565b61026051155b611b25576102a05115611b28565b60015b15611b3c575f6102e05260206102e0611bfb565b6102605163a9059cbb6102c05260406102806102e05e60206102c060446102dc5f855af1611b6c573d5f5f3e3d5ffd5b3d611b8357803b1561255657600161032052611bad565b3d602081183d6020100218806102c0016102e011612556576102c0518060011c6125565761032052505b610320905051156125565761028051610260517fd7ee96fba1a8f2fd34b055b5b732bc7ff2eff2bb86bcfc08ad5bb6146b60db586102a0516102c05260206102c0a360016102c05260206102c05bf35b63ce5e84a38118611c7257602436103417612556576004358060011c61255657610260523361016052611c31610280611d47565b61028051156125565761026051600f557faba644cca7d2f268304ac737c11ee76574a8cfd24acbe42574b8a34202c40d0161026051610280526020610280a1005b5f5ffd5b5f60405260075460a05260a05115611ca757604051600181116125565760a0518160051b6060015260018101604052505b600c5460c05260c05115611d335760c051635aa6e675610100526020610100600461011c845afa611cda573d5f5f3e3d5ffd5b3d602081183d602010021880610100016101201161255657610100518060a01c61255657610140525061014090505160e05260e05115611d3357604051600181116125565760e0518160051b6060015260018101604052505b60405160208160051b01806040845e505050565b61016051611d566101e0611c76565b6101e05f610240525f815160028111612556578015611d9757905b8060051b6020840101518418611d8c57600161024052611d97565b600101818118611d71575b50506102405190509050815250565b600c5415815250565b60206125ee5f395f5163395c0fda606052604051608052602060606024607c845afa611ddd573d5f5f3e3d5ffd5b3d602081183d602010021880606001608011612556576060518060a01c6125565760a0525060a09050511515815250565b600360c0516020525f5260405f205415611e2c576001815250611e43565b60c051604052611e3c60e0611daf565b60e0518152505b565b600360c0516020525f5260405f205460e05260e051611e785760c051604052611e6f610100611daf565b61010051611e7a565b5f5b15611ed75760c05163c55dae63610120526020610120600461013c845afa611ea4573d5f5f3e3d5ffd5b3d602081183d602010021880610120016101401161255657610120518060a01c61255657610160525061016090505160e0525b60e051815250565b606051815250565b60805160a052608051611f5157602061260e5f395f516347be091a60c052600460e052602060c0602460dc845afa611f21573d5f5f3e3d5ffd5b3d602081183d60201002188060c00160e0116125565760c0518060a01c61255657610100525061010090505160a0525b60a05163c660d11260c0526040604060e05e602060c0604460dc845afa611f7a573d5f5f3e3d5ffd5b60203d106125565760c0905051815250565b6101a051611f9b576001611fa1565b61018051155b15611fbb575f81525f60208201525f604082015250612049565b6101805160c052611fcd610200611e45565b610200516101e0526101e051611ff2575f81525f60208201525f604082015250612049565b604061018060405e612005610220611edf565b610220516102005260406101e060405e6101c051608052612027610240611ee7565b61024051610220526101e0518152610200516020820152610220516040820152505b565b6060366102c03760606102606101805e612066610320611f8c565b6103206060816103805e5060606103806102c05e61030051815250565b5f60a05260065460c052600160c05180600111612556576001810390507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81116125565780156121ed578101905b8060e052600460e0516020525f5260405f2054610100525f610100516020525f5260405f208060016020525f5260405f20905054610120526080516341e0cad661018052610120516101a0526040516101c0526040610180604461019c5f855af161213e573d5f5f3e3d5ffd5b3d604081183d604010021880610180016101c0116125565780610180016101c01161255657610180518060a01c612556576101e0526101a05161020052506101e090506040816101405e5061016051156121e257600160a052606051156121ed5760805163b7034f7e61018052610120516101a0526040516101c05260016101e052803b15612556575f610180606461019c5f855af16121e0573d5f5f3e3d5ffd5b505b6001018181186120d1575b505060a051815250565b60056040516020525f5260405f20546122555760065460605260605161221d5760016060525b60405160046060516020525f5260405f205560605160056040516020525f5260405f2055606051600181018181106125565790506006555b565b60016080516020525f5260405f208060a0516020525f5260405f20905054612556576080511561228b5760a051151561228d565b5f5b156125565760026080516020525f5260405f205460c05260c0516122b157600160c0525b60a0515f6080516020525f5260405f208060c0516020525f5260405f2090505560c05160016080516020525f5260405f208060a0516020525f5260405f2090505560c0516001810181811061255657905060026080516020525f5260405f2055608051600360a0516020525f5260405f20556080516040526123316121f7565b60a0516080517f3348d34d0e8a0dd27ac5dac3c961cb4454574797a11cf73e86d50b4b069c0edc5f60e0a3565b600654606052600160605111156123f45760056040516020525f5260405f2054608052608051156123f4576060516001810381811161255657905060a05260a0516006555f60056040516020525f5260405f205560a051608051146123f457600460a0516020525f5260405f205460c05260c05160046080516020525f5260405f2055608051600560c0516020525f5260405f20555b565b600160e0516020525f5260405f2080610100516020525f5260405f2090505461012052610120511561255657600260e0516020525f5260405f205461014052600261014051106125565761014051600181038181116125565790506101605261016051600260e0516020525f5260405f20555f600160e0516020525f5260405f2080610100516020525f5260405f209050555f6003610100516020525f5260405f205561016051610120511461250e575f60e0516020525f5260405f2080610160516020525f5260405f2090505461018052610180515f60e0516020525f5260405f2080610120516020525f5260405f2090505561012051600160e0516020525f5260405f2080610180516020525f5260405f209050555b600161016051116125275760e05160405261252761235e565b6101005160e0517f806b555e5d3ce1eff082e5a7a21ef3550a2d56728951ae4e8a2a699509448be65f610180a3565b5f80fd18411c720a8309f305560ae408171a7900180625018f03bf1c7203020a2d1c721c721c721c7212e60a0f0f9310fa115c04351c72138a1c721a320591140f03fa1c7205e7036712c71c721c72096a11991c721c72855820f48dfff8df6ceb9863429d77361dddbced338906edb480a6315ade2ef05aeabd1925ae8118541880a165767970657283000401003800000000000000000000000045939657d1ca34a8fa39a924b71d28fe8431e5810000000000000000000000007bcd6d471d1a068012a79347c7a944d1df01a1ae