0 txs
0 calls
constructor
No constructor.
functions
getGMValue
viewfunction getGMValue(address _account) view returns (uint256)
getGMValueNormX
viewfunction getGMValueNormX(address _account, address externalPriceXAddress, bytes externalPriceXCall, uint256 amountXValueNorm, bool isInv, bool isExternalPriceX) view returns (uint256)
getManagedAssets
viewfunction getManagedAssets(address _account, address _baseAsset) view returns (address[] assets_, uint256[] amounts_)
getManagedAssetsNormX
viewfunction getManagedAssetsNormX(address _account, address _baseAsset, address externalPriceXAddress, bytes externalPriceXCall, uint256 amountXValueNorm, bool isInv, bool isExternalPriceX) view returns (uint256)
GM_MARKETS
viewfunction GM_MARKETS(uint256) view returns (address)
events
No events.
errors
No errors.
creation bytecode
0x610b0060405273450bb6774dd8a756274e0ab4107953259d2ac541608090815273b56e5e2eb50cf5383342914b0c85fe62dbd861c860a05273d62068697bcc92af253225676d618b0c9f17c66360c05273dab21c4d1f569486334c93685da2b3f9b0a078e860e05273e2730ffe2136aa549327ebce93d58160df7821cb61010052736cb901cc64c024c3fe4404c940ff9a3acc229d2c6101205273de967676db7b1ccdba2bd94b01b5b19de4b563e4610140527371237f8c3d1484495a136022e16840b70ff84a696101605273e55e1a29985488a2c8846a91e925c2b7c6564db161018052730c11ed89889fd03394e8d9d685cc5b85be569c996101a052737b2d09fca2395713dcc2f67323e4876f27b9ecb26101c05273fd46a5702d4d97ce0164375744c65f0c31a3901b6101e0527393385f7c646a3048051914bdfac25f4d620aedf16102005273e902d1526c834d5001575b2d0ef901dfd0aa097a6102205273dc4e96a251ff43eeac710462cd8a9d18dc802f18610240527389eb78679921499632ff16b1be3ee48295cfcd916102605273467c4a46287f6c4918ddf780d4fd7b46419c2291610280527347c031236e19d024b42f8ae6780e44a5731707036102a052738ea4fb801493dad8724f90fb2e279534fa5913666102c052734d9ba415649c4b3c703562770c8ff3033478cea16102e05273cacb964144f9056a8f99447a303e60b4873ca9b46103005273bcb8fe13d02b023e8f94f6881cc0192fd918a5c06103205273262b5203f0fe00d9fe86ffece01d0f54fc1161806103405273d60f1ba6a76979effe706bf090372ebc0a5bf169610360527362feb8ec060a7de5b32bbbf4ac70050f8a043c176103805273d9377d9b9a2327c7778867203deea73ab8a68b6b6103a0527316466a03449cb9218eb6a980aa4a44aaced27c256103c052737de8e1a1fba845a330a6bd91118afda09610fb026103e0527371b7ff592a974e2b501d8a7a11f5c42dcd365244610400527375f190e0be6e8b933a01423efe398c6c721a5cff610420527355391d178ce46e7ac8eaaea50a72d1a5a8a622da6104405273784292e87715d93afd7cb8c941bacafaaa9a51026104605273c25cef6061cf5de5eb761b50e4743c1f5d7e54076104805273df034cd3df9a80eabfa0556232a91e03ca67d5cb6104a052739e79146b3a022af44e0708c6794f03ef798381a56104c05273970e578ff01589bb470ce38a2f1753152a0093666104e0527363dc80ee90f26363b3fcd609007cc9e14c8991be6105005273d4b737892bab8446ea1e8bb901db092fb1ec1791610520527377b2ec357b56c7d05a87971db0188dbb0c7836a561054052736853ea96ff216fab11d2d930ce3c508556a4bdc46105605273d0a1afdde31eb51e8b53bdce989eb8c2404828a461058052736ecf2133e2c9751caadcb6958b9654bae198a7976105a0527366a69c8eb98a7efe22a22611d1967dfec786a7086105c05273872b5d567a2469ed92d252eacb0eb3bb0769e05b6105e0527370d95587d40a2caf56bd97485ab3eec10bee63366106005273b62369752d8ad08392572db6d0cc872127888bed6106205273b489711b1cb86afda48924730084e23310eb48836106405273a8a455ed94b315460cff7d96966d91330f6a3ba06106605273248c35760068ce009a13076d573ed3497a47bcd4610680527312fd1a4bdb96219e637180ff5293409502b2951d6106a052739f159014cc218e942e9e9481742fe5bfa9ac5a2c6106c05273beb1f4ebc9af627ca1e5a75981ce1ae97efeda226106e052734c505e0062459cf8f60fff13279c92ea15ae6e2d61070052730bb2a83f995e1e1eae9d7fdce68ab1ac55b2cc856107205273e61e608ba010ff48a7dce8edd8b906744263d33e61074052730ccb4faa6f1f1b30911619f1184082ab4e25813c61076052732ae5c5cd4843cf588aa8d1289894318130acc8236107805273d9535bb5f58a1a75032416f2dfe7880c30575a416107a0527304decfb37e46075189324817df80a32d22b9ed8d6107c052734d3eb91efd36c2b74181f34b111bc1e91a0d0cb46107e05273fec8f404fbca3b11afd3b3f0c57507c2a06de6366108005273d8471b9ea126272e6d32b5e4782ed76db7e554a46108205273fac5ff56c269432706d47dc82ab082e9ae7d989e61084052733680d7bfe9260d3c5de81aeb2194c119a59a99d16108605273876ff160d63809674e03f82dc4d3c3ae8b0acf28610880527315c6ebd4175fff9ee3c2615c556fcf62d2d9499c6108a052735707673d95a8fd317e2745c4217acd64ca021b686108c052731cbba6346f110c8a5ea739ef2d1eb182990e4eb26108e052737f1fa204bb700853d36994da19f830b6ad18455c610900527309400d9db990d5ed3f35d7be61dfaeb900af03c9610920527345ad16aaa28fb66ef74d5ca0ab9751f2817c81a461094052732d340912aa47e33c90efb078e69e70efe2b34b9b6109605273c7abb2c5f3bf3ceb389df0eecd6120d451170b5061098052732b477989a149b17073d9c9c82ec9cb03591e20c66109a052730418643f94ef14917f1345ce5c460c37de463ef76109c052734fdd333ff9ca409df583f306b6f5a7ffde7907396109e052737bbbf946883a5701350007320f525c5379b8178a610a0052739c2433dfd71096c435be9465220bb2b189375ea7610a2052730cf1fb4d1ff67a3d8ca92c9d6643f8f9be8e03e5610a405273f22cffa7b4174554ff9dbf7b5a8c01faadcea722610a605273e2fedb9e6139a182b98e7c2688ccfa3e9a53c665610a805273bd48149673724f9caee647bb4e9d9ddaf896efeb610aa052737c11f78ce78768518d743e81fdfa2f860c6b9a77610ac05273b686bcb112660343e6d15bdb65297e110c8311c4610ae052620008479060009060546200085c565b503480156200085557600080fd5b50620008d0565b8260548101928215620008a7579160200282015b82811115620008a757825182546001600160a01b0319166001600160a01b0390911617825560209092019160019091019062000870565b50620008b5929150620008b9565b5090565b5b80821115620008b55760008155600101620008ba565b61390080620008e06000396000f3fe608060405234801561001057600080fd5b50600436106100575760003560e01c80630e8e2ea21461005c5780632b2b0ace146100855780633c71c31a146100a6578063df0a820e146100c7578063f0c7feaa146100da575b600080fd5b61006f61006a36600461273f565b6100ed565b60405161007c9190612758565b60405180910390f35b610098610093366004612784565b61010d565b60405161007c9291906127bd565b6100b96100b4366004612890565b61075e565b60405190815260200161007c565b6100b96100d5366004612928565b6108bc565b6100b96100e836600461294c565b610999565b600081605481106100fd57600080fd5b01546001600160a01b0316905081565b6060806101186125c8565b61012185611187565b60608201819052516001600160401b03811115610140576101406129f6565b604051908082528060200260200182016040528015610169578160200160208202803683370190505b5060a08201526060810151516001600160401b0381111561018c5761018c6129f6565b6040519080825280602002602001820160405280156101c557816020015b6101b2612639565b8152602001906001900390816101aa5790505b5060c082015260005b8160c00151518110156102b3576000826060015182815181106101f3576101f3612a0c565b6020026020010151600001516020015190506000610210826112f6565b9050818460a00151848151811061022957610229612a0c565b60200260200101906001600160a01b031690816001600160a01b031681525050604051806060016040528061026183602001516113ac565b815260200161027383604001516113ac565b815260200161028583606001516113ac565b8152508460c00151848151811061029e5761029e612a0c565b602090810291909101015250506001016101ce565b506102d16000805160206138ab8339815191528660006000196114f1565b6080820181905260c082015160405160009263ece9e0c89261031f926000805160206138ab8339815191529273e6fab3f0c7199b0d34d7fbe83394fc0e0d06e99d9290918790602401612a22565b6040516020818303038152906040529060e01b6020820180516001600160e01b0383818316178352505050509050600080735ca84c34a381434786738735265b9f3fd814b8246001600160a01b03168360405161037c9190612b15565b600060405180830381855afa9150503d80600081146103b7576040519150601f19603f3d011682016040523d82523d6000602084013e6103bc565b606091505b5090925090506001821515146103ed5760405162461bcd60e51b81526004016103e490612b44565b60405180910390fd5b6000818060200190518101906104039190613047565b905060005b815181101561056557600082828151811061042557610425612a0c565b602002602001015190506000816000015160000151604001516001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa15801561047b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061049f91906131fe565b60ff16905060006104b182600a61331b565b835160200151604001516104d2906c0c9f2c9cd04674edea40000000613327565b6104dc919061333e565b905060008360a0015113156105015760a08301516104fa9082613360565b9050610533565b60008360a0015161051190613373565b90508181101561052c57610525818361338f565b9150610531565b600091505b505b801561055a578251516040015161054b908c90611586565b9a506105578a82611668565b99505b505050600101610408565b5060006105718a61172f565b90506000805b82518110156105fc57600083828151811061059457610594612a0c565b60200260200101519050600260068111156105b1576105b16133a2565b815160400151036105e1576020810151516105cd908c90611586565b815151909b506105de908b90611668565b99505b8051602001516105f19084613360565b925050600101610577565b50801561063057610621897382af49447d8a07e3bd95bd0d56f35241523fbab1611586565b985061062d8882611668565b97505b6000806106438d8d8b60600151876117d5565b9150915060005b82518110156106b75761067f83828151811061066857610668612a0c565b60200260200101518d61158690919063ffffffff16565b9b506106ad82828151811061069657610696612a0c565b60200260200101518c61166890919063ffffffff16565b9a5060010161064a565b506000806106c88b60a00151611cba565b9150915060005b825181101561073c576107048382815181106106ed576106ed612a0c565b60200260200101518f61158690919063ffffffff16565b9d5061073282828151811061071b5761071b612a0c565b60200260200101518e61166890919063ffffffff16565b9c506001016106cf565b506107478d8d611fec565b9c509c5050505050505050505050505b9250929050565b60006107686125c8565b610771896108bc565b6040820152821561088c57876001600160a01b031687876040516107969291906133b8565b600060405180830381855afa9150503d80600081146107d1576040519150601f19603f3d011682016040523d82523d6000602084013e6107d6565b606091505b50602083015215158082526001146108005760405162461bcd60e51b81526004016103e4906133c8565b6000816020015151116108255760405162461bcd60e51b81526004016103e4906133fb565b83156108645780602001518060200190518101906108439190613432565b60408201516108529087613327565b61085c919061333e565b9150506108b1565b84816040015182602001518060200190518101906108829190613432565b6108529190613327565b83156108a157604081015161085c9086613327565b84816040015161085c919061333e565b979650505050505050565b60008060005b605481101561099257600081605481106108de576108de612a0c565b01546040516370a0823160e01b81526001600160a01b03909116906370a082319061090d908790600401612758565b602060405180830381865afa15801561092a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061094e9190613432565b6109746000836054811061096457610964612a0c565b01546001600160a01b0316612323565b61097e9190613327565b6109889083613360565b91506001016108c2565b5092915050565b60006109a36125c8565b6109ac8a611187565b60608201819052516001600160401b038111156109cb576109cb6129f6565b6040519080825280602002602001820160405280156109f4578160200160208202803683370190505b5060a08201526060810151516001600160401b03811115610a1757610a176129f6565b604051908082528060200260200182016040528015610a5057816020015b610a3d612639565b815260200190600190039081610a355790505b5060c082015260005b8160c0015151811015610b3e57600082606001518281518110610a7e57610a7e612a0c565b6020026020010151600001516020015190506000610a9b826112f6565b9050818460a001518481518110610ab457610ab4612a0c565b60200260200101906001600160a01b031690816001600160a01b0316815250506040518060600160405280610aec83602001516113ac565b8152602001610afe83604001516113ac565b8152602001610b1083606001516113ac565b8152508460c001518481518110610b2957610b29612a0c565b60209081029190910101525050600101610a59565b50610b5c6000805160206138ab8339815191528b60006000196114f1565b6080820181905260c082015160405160009263ece9e0c892610baa926000805160206138ab8339815191529273e6fab3f0c7199b0d34d7fbe83394fc0e0d06e99d9290918790602401612a22565b6040516020818303038152906040529060e01b6020820180516001600160e01b0383818316178352505050509050600080735ca84c34a381434786738735265b9f3fd814b8246001600160a01b031683604051610c079190612b15565b600060405180830381855afa9150503d8060008114610c42576040519150601f19603f3d011682016040523d82523d6000602084013e610c47565b606091505b509092509050600182151514610c6f5760405162461bcd60e51b81526004016103e490612b44565b80806020019051810190610c839190613047565b60e085015260005b8460e0015151811015610de55760008560e001518281518110610cb057610cb0612a0c565b602002602001015190506000816000015160000151604001516001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa158015610d06573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d2a91906131fe565b60ff1690506000610d3c82600a61331b565b83516020015160400151610d5d906c0c9f2c9cd04674edea40000000613327565b610d67919061333e565b905060008360a001511315610d8c5760a0830151610d859082613360565b9050610dbe565b60008360a00151610d9c90613373565b905081811015610db757610db0818361338f565b9150610dbc565b600091505b505b8015610dda578088604001818151610dd69190613360565b9052505b505050600101610c8b565b50610def8d61172f565b61010085015260005b84610100015151811015610ea85760008561010001518281518110610e1f57610e1f612a0c565b6020026020010151905060026006811115610e3c57610e3c6133a2565b81516040015103610e84576000610e5a8260200151600001516113ac565b6020810151835151919250610e6e91613327565b87604001818151610e7f9190613360565b905250505b80516020015161012087018051610e9c908390613360565b90525050600101610df8565b5061012084015115610f00576000610ed37382af49447d8a07e3bd95bd0d56f35241523fbab16113ac565b90508060200151856101200151610eea9190613327565b85604001818151610efb9190613360565b905250505b610f158d8d86606001518761010001516117d5565b61016086015261014085015260005b84610140015151811015610fa8576000610f5b8661014001518381518110610f4e57610f4e612a0c565b60200260200101516113ac565b905080602001518661016001518381518110610f7957610f79612a0c565b6020026020010151610f8b9190613327565b86604001818151610f9c9190613360565b90525050600101610f24565b50610fb68460a00151611cba565b6101a086015261018085015260005b8461018001515181101561103c576000610fef8661018001518381518110610f4e57610f4e612a0c565b90508060200151866101a00151838151811061100d5761100d612a0c565b602002602001015161101f9190613327565b866040018181516110309190613360565b90525050600101610fc5565b508515611156578a6001600160a01b03168a8a60405161105d9291906133b8565b600060405180830381855afa9150503d8060008114611098576040519150601f19603f3d011682016040523d82523d6000602084013e61109d565b606091505b50602086015215158085526001146110c75760405162461bcd60e51b81526004016103e4906133c8565b6000846020015151116110ec5760405162461bcd60e51b81526004016103e4906133fb565b861561112e57836020015180602001905181019061110a9190613432565b6040850151611119908a613327565b611123919061333e565b94505050505061117b565b878460400151856020015180602001905181019061114c9190613432565b6111199190613327565b861561116b5760408401516111239089613327565b878460400151611123919061333e565b98975050505050505050565b606060006111a86000805160206138ab8339815191528460006000196114f1565b905080516001600160401b038111156111c3576111c36129f6565b6040519080825280602002602001820160405280156111fc57816020015b6111e96126a0565b8152602001906001900390816111e15790505b50915060005b81518110156112ef57735ca84c34a381434786738735265b9f3fd814b8246001600160a01b0316630fa8f5166000805160206138ab83398151915284848151811061124f5761124f612a0c565b60200260200101516040518363ffffffff1660e01b81526004016112889291906001600160a01b03929092168252602082015260400190565b6101e060405180830381865afa1580156112a6573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112ca919061344b565b8382815181106112dc576112dc612a0c565b6020908102919091010152600101611202565b5050919050565b604080516080810182526000808252602082018190528183018190526060820152905163714af34b60e01b81526000805160206138ab83398151915260048201526001600160a01b0383166024820152735ca84c34a381434786738735265b9f3fd814b8249063714af34b90604401608060405180830381865afa158015611382573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113a69190613525565b92915050565b60408051808201909152600080825260208201526040805163377bbdaf60e01b81526001600160a01b038416600482015260248101919091526000604482018190529073527fb0bcff63c47761039bb386cfe181a92a47019063377bbdaf906064016040805180830381865afa15801561142a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061144e919061358c565b90506000836001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa158015611490573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114b491906131fe565b60ff16905060006114c682601261338f565b6114d190600a61331b565b83602001516114e0919061333e565b808552602085015250919392505050565b6060846001600160a01b031663f069052a61150b86612462565b6040516001600160e01b031960e084901b16815260048101919091526024810186905260448101859052606401600060405180830381865afa158015611555573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261157d91908101906135a8565b95945050505050565b60606000835160016115989190613360565b6001600160401b038111156115af576115af6129f6565b6040519080825280602002602001820160405280156115d8578160200160208202803683370190505b50905060005b8451811015611633578481815181106115f9576115f9612a0c565b602002602001015182828151811061161357611613612a0c565b6001600160a01b03909216602092830291909101909101526001016115de565b50828185518151811061164857611648612a0c565b6001600160a01b0390921660209283029190910190910152905092915050565b606060008351600161167a9190613360565b6001600160401b03811115611691576116916129f6565b6040519080825280602002602001820160405280156116ba578160200160208202803683370190505b50905060005b8451811015611708578481815181106116db576116db612a0c565b60200260200101518282815181106116f5576116f5612a0c565b60209081029190910101526001016116c0565b50828185518151811061171d5761171d612a0c565b60209081029190910101529392505050565b6040516342a6f8d360e01b81526000805160206138ab83398151915260048201526001600160a01b0382166024820152600060448201526000196064820152606090735ca84c34a381434786738735265b9f3fd814b824906342a6f8d390608401600060405180830381865afa1580156117ad573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526113a6919081019061362d565b60608060008351855160036117ea9190613327565b6117f49190613360565b6001600160401b0381111561180b5761180b6129f6565b604051908082528060200260200182016040528015611834578160200160208202803683370190505b5090506000805b865181101561194757600061187088838151811061185b5761185b612a0c565b602002602001015160000151602001516112f6565b905087828151811061188457611884612a0c565b602002602001015160000151604001518484806118a090613742565b9550815181106118b2576118b2612a0c565b6001600160a01b0390921660209283029190910190910152604081015184846118da81613742565b9550815181106118ec576118ec612a0c565b6001600160a01b03909216602092830291909101909101526060810151848461191481613742565b95508151811061192657611926612a0c565b6001600160a01b03909216602092830291909101909101525060010161183b565b5060005b85518110156119b45785818151811061196657611966612a0c565b6020026020010151602001516000015183838061198290613742565b94508151811061199457611994612a0c565b6001600160a01b039092166020928302919091019091015260010161194b565b50806001600160401b038111156119cd576119cd6129f6565b6040519080825280602002602001820160405280156119f6578160200160208202803683370190505b509350806001600160401b03811115611a1157611a116129f6565b604051908082528060200260200182016040528015611a3a578160200160208202803683370190505b5092506000805b82811015611b86576000848281518110611a5d57611a5d612a0c565b6020026020010151905060006001600160a01b0316816001600160a01b03161480611a995750896001600160a01b0316816001600160a01b0316145b15611aa45750611b7e565b6040516370a0823160e01b81526000906001600160a01b038316906370a0823190611ad3908f90600401612758565b602060405180830381865afa158015611af0573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611b149190613432565b90508015611b7b5781888581518110611b2f57611b2f612a0c565b60200260200101906001600160a01b031690816001600160a01b03168152505080878581518110611b6257611b62612a0c565b602090810291909101015283611b7781613742565b9450505b50505b600101611a41565b506000816001600160401b03811115611ba157611ba16129f6565b604051908082528060200260200182016040528015611bca578160200160208202803683370190505b5090506000826001600160401b03811115611be757611be76129f6565b604051908082528060200260200182016040528015611c10578160200160208202803683370190505b50905060005b83811015611ca957878181518110611c3057611c30612a0c565b6020026020010151838281518110611c4a57611c4a612a0c565b60200260200101906001600160a01b031690816001600160a01b031681525050868181518110611c7c57611c7c612a0c565b6020026020010151828281518110611c9657611c96612a0c565b6020908102919091010152600101611c16565b50909a909950975050505050505050565b60608082516002611ccb9190613327565b6001600160401b03811115611ce257611ce26129f6565b604051908082528060200260200182016040528015611d0b578160200160208202803683370190505b50915082516002611d1c9190613327565b6001600160401b03811115611d3357611d336129f6565b604051908082528060200260200182016040528015611d5c578160200160208202803683370190505b5090506000805b8451811015611ebd576000611d90868381518110611d8357611d83612a0c565b60200260200101516112f6565b90506000611da6826000015183604001516124e7565b90508015611e11578160400151868581518110611dc557611dc5612a0c565b60200260200101906001600160a01b031690816001600160a01b03168152505080858581518110611df857611df8612a0c565b602090810291909101015283611e0d81613742565b9450505b81606001516001600160a01b031682604001516001600160a01b031614611eb3576000611e46836000015184606001516124e7565b90508015611eb1578260600151878681518110611e6557611e65612a0c565b60200260200101906001600160a01b031690816001600160a01b03168152505080868681518110611e9857611e98612a0c565b602090810291909101015284611ead81613742565b9550505b505b5050600101611d63565b506000816001600160401b03811115611ed857611ed86129f6565b604051908082528060200260200182016040528015611f01578160200160208202803683370190505b5090506000826001600160401b03811115611f1e57611f1e6129f6565b604051908082528060200260200182016040528015611f47578160200160208202803683370190505b50905060005b83811015611fe057858181518110611f6757611f67612a0c565b6020026020010151838281518110611f8157611f81612a0c565b60200260200101906001600160a01b031690816001600160a01b031681525050848181518110611fb357611fb3612a0c565b6020026020010151828281518110611fcd57611fcd612a0c565b6020908102919091010152600101611f4d565b50909590945092505050565b60608083516000036120165750506040805160008082526020820190815281830190925290610757565b600084516001600160401b03811115612031576120316129f6565b60405190808252806020026020018201604052801561205a578160200160208202803683370190505b509050600085516001600160401b03811115612078576120786129f6565b6040519080825280602002602001820160405280156120a1578160200160208202803683370190505b5090506000805b87518110156121f95760008882815181106120c5576120c5612a0c565b6020026020010151905060008883815181106120e3576120e3612a0c565b60200260200101519050806000148061210357506001600160a01b038216155b1561210f5750506121f1565b6000805b8581101561218857836001600160a01b031688828151811061213757612137612a0c565b60200260200101516001600160a01b031603612180578287828151811061216057612160612a0c565b602002602001018181516121749190613360565b90525060019150612188565b600101612113565b50806121ed57828786815181106121a1576121a1612a0c565b60200260200101906001600160a01b031690816001600160a01b031681525050818686815181106121d4576121d4612a0c565b6020908102919091010152846121e981613742565b9550505b5050505b6001016120a8565b50806001600160401b03811115612212576122126129f6565b60405190808252806020026020018201604052801561223b578160200160208202803683370190505b509450806001600160401b03811115612256576122566129f6565b60405190808252806020026020018201604052801561227f578160200160208202803683370190505b50935060005b818110156123185783818151811061229f5761229f612a0c565b60200260200101518682815181106122b9576122b9612a0c565b60200260200101906001600160a01b031690816001600160a01b0316815250508281815181106122eb576122eb612a0c565b602002602001015185828151811061230557612305612a0c565b6020908102919091010152600101612285565b505050509250929050565b60008061232f836112f6565b6020810151909150735ca84c34a381434786738735265b9f3fd814b8249063095ce6c5906000805160206138ab8339815191529084906001600160a01b03166123845761237f85604001516113ac565b612391565b61239185602001516113ac565b61239e86604001516113ac565b6123ab87606001516113ac565b6040516020016123de906020808252600f908201526e464f525f5749544844524157414c5360881b604082015260600190565b6040516020818303038152906040528051906020012060016040518863ffffffff1660e01b8152600401612418979695949392919061375b565b61018060405180830381865afa158015612436573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061245a91906137f6565b509392505050565b600060405160200161249d906020808252601590820152741050d0d3d5539517d413d4d2551253d397d31254d5605a1b604082015260600190565b60408051601f198184030181528282528051602091820120908301526001600160a01b03841690820152606001604051602081830303815290604052805190602001209050919050565b600080838360405160200161253a929190606080825260119082015270434c41494d41424c455f46554e44494e4760781b60808201526001600160a01b0392831660208201529116604082015260a00190565b60408051808303601f1901815290829052805160209091012063bd02d0f560e01b82526004820181905291506000805160206138ab8339815191529063bd02d0f590602401602060405180830381865afa15801561259c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906125c09190613432565b949350505050565b604051806101c00160405280600015158152602001606081526020016000815260200160608152602001606081526020016060815260200160608152602001606081526020016060815260200160008152602001606081526020016060815260200160608152602001606081525090565b6040805160a08101909152600060608201818152608083019190915281908152602001612679604051806040016040528060008152602001600081525090565b815260200161269b604051806040016040528060008152602001600081525090565b905290565b6040805160c081019091526000606082018181526080830182905260a08301919091528190815260200161272760405180610160016040528060008152602001600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081525090565b81526040805160208181019092526000815291015290565b60006020828403121561275157600080fd5b5035919050565b6001600160a01b0391909116815260200190565b6001600160a01b038116811461278157600080fd5b50565b6000806040838503121561279757600080fd5b82356127a28161276c565b915060208301356127b28161276c565b809150509250929050565b604080825283519082018190526000906020906060840190828701845b828110156127ff5781516001600160a01b0316845292840192908401906001016127da565b5050508381038285015284518082528583019183019060005b8181101561283457835183529284019291840191600101612818565b5090979650505050505050565b60008083601f84011261285357600080fd5b5081356001600160401b0381111561286a57600080fd5b60208301915083602082850101111561075757600080fd5b801515811461278157600080fd5b600080600080600080600060c0888a0312156128ab57600080fd5b87356128b68161276c565b965060208801356128c68161276c565b955060408801356001600160401b038111156128e157600080fd5b6128ed8a828b01612841565b90965094505060608801359250608088013561290881612882565b915060a088013561291881612882565b8091505092959891949750929550565b60006020828403121561293a57600080fd5b81356129458161276c565b9392505050565b60008060008060008060008060e0898b03121561296857600080fd5b88356129738161276c565b975060208901356129838161276c565b965060408901356129938161276c565b955060608901356001600160401b038111156129ae57600080fd5b6129ba8b828c01612841565b9096509450506080890135925060a08901356129d581612882565b915060c08901356129e581612882565b809150509295985092959890939650565b634e487b7160e01b600052604160045260246000fd5b634e487b7160e01b600052603260045260246000fd5b6001600160a01b038681168252851660208083019190915260a06040808401829052865191840182905260009260c09283860190898301865b82811015612a7757815184529284019290840190600101612a5b565b505050858103606087015287518082528289019183019060005b81811015612aee578351612ab084825180518252602090810151910152565b85810151612aca8886018280518252602090810151910152565b50860151805160808501526020015160a08401529284019291860191600101612a91565b50506001600160a01b03881660808801529450612b0b9350505050565b9695505050505050565b6000825160005b81811015612b365760208186018101518583015201612b1c565b506000920191825250919050565b6020808252601f908201527f6661696c206765744163636f756e74506f736974696f6e496e666f4c69737400604082015260600190565b604051606081016001600160401b0381118282101715612b9d57612b9d6129f6565b60405290565b604051602081016001600160401b0381118282101715612b9d57612b9d6129f6565b60405160c081016001600160401b0381118282101715612b9d57612b9d6129f6565b604051608081016001600160401b0381118282101715612b9d57612b9d6129f6565b6040516101c081016001600160401b0381118282101715612b9d57612b9d6129f6565b60405161014081016001600160401b0381118282101715612b9d57612b9d6129f6565b60405161016081016001600160401b0381118282101715612b9d57612b9d6129f6565b604051601f8201601f191681016001600160401b0381118282101715612c9a57612c9a6129f6565b604052919050565b60006001600160401b03821115612cbb57612cbb6129f6565b5060051b60200190565b8051612cd08161276c565b919050565b600060608284031215612ce757600080fd5b612cef612b7b565b90508151612cfc8161276c565b81526020820151612d0c8161276c565b60208201526040820151612d1f8161276c565b604082015292915050565b600060208284031215612d3c57600080fd5b612d44612ba3565b90508151612d5181612882565b815292915050565b6000610100808385031215612d6d57600080fd5b604051908101906001600160401b0382118183101715612d8f57612d8f6129f6565b816040528092508351815260208401519150612daa8261276c565b816020820152612dbc60408501612cc5565b6040820152606084015160608201526080840151608082015260a084015160a082015260c084015160c082015260e084015160e0820152505092915050565b600060c08284031215612e0d57600080fd5b612e15612bc5565b9050815181526020820151602082015260408201516040820152606082015160608201526080820151608082015260a082015160a082015292915050565b600060808284031215612e6557600080fd5b612e6d612be7565b90508151815260208201516020820152604082015160408201526060820151606082015292915050565b600060608284031215612ea957600080fd5b612eb1612b7b565b90508151612ebe8161276c565b80825250602082015160208201526040820151604082015292915050565b600060408284031215612eee57600080fd5b604051604081018181106001600160401b0382111715612f1057612f106129f6565b604052825181526020928301519281019290925250919050565b60006104008284031215612f3d57600080fd5b612f45612c09565b9050612f518383612d59565b8152610100612f6284828501612dfb565b6020830152612f75846101c08501612e53565b6040830152612f88846102408501612e97565b6060830152612f9b846102a08501612edc565b60808301526102e083015160a083015261030083015160c083015261032083015160e0830152610340830151908201526103608201516101208201526103808201516101408201526103a08201516101608201526103c08201516101808201526103e0909101516101a0820152919050565b60006060828403121561301f57600080fd5b613027612b7b565b905081518152602082015160208201526040820151604082015292915050565b6000602080838503121561305a57600080fd5b82516001600160401b0381111561307057600080fd5b8301601f8101851361308157600080fd5b805161309461308f82612ca2565b612c72565b81815261068091820283018401918482019190888411156130b457600080fd5b938501935b838510156131f257848903818112156130d157600080fd5b6130d9612bc5565b6101c0808312156130e957600080fd5b6130f1612b7b565b6130fb8d8a612cd5565b815261014080605f198601121561311157600080fd5b613119612c2c565b945060608a0151855260808a01518b86015260a08a01518060408701525060c08a0151606086015260e08a01516080860152610100808b015160a0870152610120808c015160c0880152828c015160e08801526101608c0151828801526101808c015181880152505050838a8201526131968d6101a08b01612d2a565b604082015282526131a98c898301612f2a565b89830152506131bc8b6105c0890161300d565b60408201526106208701516060820152610640870151608082015261066087015160a082015284525093840193918501916130b9565b50979650505050505050565b60006020828403121561321057600080fd5b815160ff8116811461294557600080fd5b634e487b7160e01b600052601160045260246000fd5b600181815b8085111561327257816000190482111561325857613258613221565b8085161561326557918102915b93841c939080029061323c565b509250929050565b600082613289575060016113a6565b81613296575060006113a6565b81600181146132ac57600281146132b6576132d2565b60019150506113a6565b60ff8411156132c7576132c7613221565b50506001821b6113a6565b5060208310610133831016604e8410600b84101617156132f5575081810a6113a6565b6132ff8383613237565b806000190482111561331357613313613221565b029392505050565b6000612945838361327a565b80820281158282048414176113a6576113a6613221565b60008261335b57634e487b7160e01b600052601260045260246000fd5b500490565b808201808211156113a6576113a6613221565b6000600160ff1b820161338857613388613221565b5060000390565b818103818111156113a6576113a6613221565b634e487b7160e01b600052602160045260246000fd5b8183823760009101908152919050565b602080825260199082015278195e1d195c9b985b141c9a58d95610d85b1b0819985a5b1959603a1b604082015260600190565b6020808252601b908201527f6261642065787465726e616c50726963655843616c6c20646174610000000000604082015260600190565b60006020828403121561344457600080fd5b5051919050565b60008183036101e081121561345f57600080fd5b613467612b7b565b6134718585612cd5565b815261016080605f198401121561348757600080fd5b61348f612c4f565b9250606085015183526080850151602084015260a0850151604084015260c0850151606084015260e085015160808401526101008086015160a08501526101208087015160c08601526101408088015160e08701528388015183870152610180880151828701526101a08801518187015250505050816020820152613518856101c08601612d2a565b6040820152949350505050565b60006080828403121561353757600080fd5b61353f612be7565b825161354a8161276c565b8152602083015161355a8161276c565b6020820152604083015161356d8161276c565b604082015260608301516135808161276c565b60608201529392505050565b60006040828403121561359e57600080fd5b6129458383612edc565b600060208083850312156135bb57600080fd5b82516001600160401b038111156135d157600080fd5b8301601f810185136135e257600080fd5b80516135f061308f82612ca2565b81815260059190911b8201830190838101908783111561360f57600080fd5b928401925b828410156108b157835182529284019290840190613614565b6000602080838503121561364057600080fd5b82516001600160401b0381111561365657600080fd5b8301601f8101851361366757600080fd5b805161367561308f82612ca2565b81815260a0918202830184019184820191908884111561369457600080fd5b938501935b838510156131f257848903818112156136b25760008081fd5b6136ba612b7b565b6060808312156136ca5760008081fd5b6136d2612b7b565b88518152898901518a8201526040808a0151818301528184528a605f19860112156136ff57600091508182fd5b613707612ba3565b928a01519294506137178361276c565b828552848b85015261372c8e60808c01612d2a565b9084015250508452509384019391850191613699565b60006001820161375457613754613221565b5060010190565b60006101a08201905060018060a01b03808a1683528089511660208401528060208a01511660408401528060408a01511660608401528060608a0151166080840152506137b560a083018880518252602090810151910152565b855160e08301526020860151610100830152845161012083015260208501516101408301528361016083015282151561018083015298975050505050505050565b60008082840361018081121561380b57600080fd5b8351925061016080601f198301121561382357600080fd5b61382b612c4f565b91506020850151825260408501516020830152606085015160408301526080850151606083015260a0850151608083015260c085015160a083015260e085015160c08301526101008086015160e0840152610120808701518285015261014091508187015181850152508186015181840152505080915050925092905056fe000000000000000000000000fd70de6b91282d8017aa4e741e9ae325cab992d8a2646970667358221220ed1c42a25ae1ef71597cd8bdf8721459d0e2648b9846668783573d5629ab14c064736f6c63430008180033