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
0x610b0060405273450bb6774dd8a756274e0ab4107953259d2ac541608090815273b56e5e2eb50cf5383342914b0c85fe62dbd861c860a05273d62068697bcc92af253225676d618b0c9f17c66360c05273dab21c4d1f569486334c93685da2b3f9b0a078e860e05273e2730ffe2136aa549327ebce93d58160df7821cb61010052736cb901cc64c024c3fe4404c940ff9a3acc229d2c6101205273de967676db7b1ccdba2bd94b01b5b19de4b563e4610140527371237f8c3d1484495a136022e16840b70ff84a696101605273e55e1a29985488a2c8846a91e925c2b7c6564db161018052730c11ed89889fd03394e8d9d685cc5b85be569c996101a052737b2d09fca2395713dcc2f67323e4876f27b9ecb26101c05273fd46a5702d4d97ce0164375744c65f0c31a3901b6101e0527393385f7c646a3048051914bdfac25f4d620aedf16102005273e902d1526c834d5001575b2d0ef901dfd0aa097a6102205273dc4e96a251ff43eeac710462cd8a9d18dc802f18610240527389eb78679921499632ff16b1be3ee48295cfcd916102605273467c4a46287f6c4918ddf780d4fd7b46419c2291610280527347c031236e19d024b42f8ae6780e44a5731707036102a052738ea4fb801493dad8724f90fb2e279534fa5913666102c052734d9ba415649c4b3c703562770c8ff3033478cea16102e05273cacb964144f9056a8f99447a303e60b4873ca9b46103005273bcb8fe13d02b023e8f94f6881cc0192fd918a5c06103205273262b5203f0fe00d9fe86ffece01d0f54fc1161806103405273d60f1ba6a76979effe706bf090372ebc0a5bf169610360527362feb8ec060a7de5b32bbbf4ac70050f8a043c176103805273d9377d9b9a2327c7778867203deea73ab8a68b6b6103a0527316466a03449cb9218eb6a980aa4a44aaced27c256103c052737de8e1a1fba845a330a6bd91118afda09610fb026103e0527371b7ff592a974e2b501d8a7a11f5c42dcd365244610400527375f190e0be6e8b933a01423efe398c6c721a5cff610420527355391d178ce46e7ac8eaaea50a72d1a5a8a622da6104405273784292e87715d93afd7cb8c941bacafaaa9a51026104605273c25cef6061cf5de5eb761b50e4743c1f5d7e54076104805273df034cd3df9a80eabfa0556232a91e03ca67d5cb6104a052739e79146b3a022af44e0708c6794f03ef798381a56104c05273970e578ff01589bb470ce38a2f1753152a0093666104e0527363dc80ee90f26363b3fcd609007cc9e14c8991be6105005273d4b737892bab8446ea1e8bb901db092fb1ec1791610520527377b2ec357b56c7d05a87971db0188dbb0c7836a561054052736853ea96ff216fab11d2d930ce3c508556a4bdc46105605273d0a1afdde31eb51e8b53bdce989eb8c2404828a461058052736ecf2133e2c9751caadcb6958b9654bae198a7976105a0527366a69c8eb98a7efe22a22611d1967dfec786a7086105c05273872b5d567a2469ed92d252eacb0eb3bb0769e05b6105e0527370d95587d40a2caf56bd97485ab3eec10bee63366106005273b62369752d8ad08392572db6d0cc872127888bed6106205273b489711b1cb86afda48924730084e23310eb48836106405273a8a455ed94b315460cff7d96966d91330f6a3ba06106605273248c35760068ce009a13076d573ed3497a47bcd4610680527312fd1a4bdb96219e637180ff5293409502b2951d6106a052739f159014cc218e942e9e9481742fe5bfa9ac5a2c6106c05273beb1f4ebc9af627ca1e5a75981ce1ae97efeda226106e052734c505e0062459cf8f60fff13279c92ea15ae6e2d61070052730bb2a83f995e1e1eae9d7fdce68ab1ac55b2cc856107205273e61e608ba010ff48a7dce8edd8b906744263d33e61074052730ccb4faa6f1f1b30911619f1184082ab4e25813c61076052732ae5c5cd4843cf588aa8d1289894318130acc8236107805273d9535bb5f58a1a75032416f2dfe7880c30575a416107a0527304decfb37e46075189324817df80a32d22b9ed8d6107c052734d3eb91efd36c2b74181f34b111bc1e91a0d0cb46107e05273fec8f404fbca3b11afd3b3f0c57507c2a06de6366108005273d8471b9ea126272e6d32b5e4782ed76db7e554a46108205273fac5ff56c269432706d47dc82ab082e9ae7d989e61084052733680d7bfe9260d3c5de81aeb2194c119a59a99d16108605273876ff160d63809674e03f82dc4d3c3ae8b0acf28610880527315c6ebd4175fff9ee3c2615c556fcf62d2d9499c6108a052735707673d95a8fd317e2745c4217acd64ca021b686108c052731cbba6346f110c8a5ea739ef2d1eb182990e4eb26108e052737f1fa204bb700853d36994da19f830b6ad18455c610900527309400d9db990d5ed3f35d7be61dfaeb900af03c9610920527345ad16aaa28fb66ef74d5ca0ab9751f2817c81a461094052732d340912aa47e33c90efb078e69e70efe2b34b9b6109605273c7abb2c5f3bf3ceb389df0eecd6120d451170b5061098052732b477989a149b17073d9c9c82ec9cb03591e20c66109a052730418643f94ef14917f1345ce5c460c37de463ef76109c052734fdd333ff9ca409df583f306b6f5a7ffde7907396109e052737bbbf946883a5701350007320f525c5379b8178a610a0052739c2433dfd71096c435be9465220bb2b189375ea7610a2052730cf1fb4d1ff67a3d8ca92c9d6643f8f9be8e03e5610a405273f22cffa7b4174554ff9dbf7b5a8c01faadcea722610a605273e2fedb9e6139a182b98e7c2688ccfa3e9a53c665610a805273bd48149673724f9caee647bb4e9d9ddaf896efeb610aa052737c11f78ce78768518d743e81fdfa2f860c6b9a77610ac05273b686bcb112660343e6d15bdb65297e110c8311c4610ae052620008479060009060546200085c565b503480156200085557600080fd5b50620008d0565b8260548101928215620008a7579160200282015b82811115620008a757825182546001600160a01b0319166001600160a01b0390911617825560209092019160019091019062000870565b50620008b5929150620008b9565b5090565b5b80821115620008b55760008155600101620008ba565b613c2580620008e06000396000f3fe608060405234801561001057600080fd5b50600436106100575760003560e01c80630e8e2ea21461005c5780632b2b0ace146100855780633c71c31a146100a6578063df0a820e146100c7578063f0c7feaa146100da575b600080fd5b61006f61006a3660046129dd565b6100ed565b60405161007c91906129f6565b60405180910390f35b610098610093366004612a22565b61010d565b60405161007c929190612a5b565b6100b96100b4366004612b2e565b61079c565b60405190815260200161007c565b6100b96100d5366004612bc6565b6108fa565b6100b96100e8366004612bea565b6109e3565b600081605481106100fd57600080fd5b01546001600160a01b0316905081565b606080610118612866565b6101218561120f565b60608201819052516001600160401b0381111561014057610140612c94565b604051908082528060200260200182016040528015610169578160200160208202803683370190505b5060a08201526060810151516001600160401b0381111561018c5761018c612c94565b6040519080825280602002602001820160405280156101c557816020015b6101b26128d7565b8152602001906001900390816101aa5790505b5060c082015260005b8160c00151518110156102b3576000826060015182815181106101f3576101f3612caa565b60200260200101516000015160200151905060006102108261137e565b9050818460a00151848151811061022957610229612caa565b60200260200101906001600160a01b031690816001600160a01b03168152505060405180606001604052806102618360200151611434565b81526020016102738360400151611434565b81526020016102858360600151611434565b8152508460c00151848151811061029e5761029e612caa565b602090810291909101015250506001016101ce565b506102d1600080516020613bd083398151915286600060001961161a565b6080820181905260c082015160405160009263ece9e0c89261031f92600080516020613bd08339815191529273e6fab3f0c7199b0d34d7fbe83394fc0e0d06e99d9290918790602401612cc0565b6040516020818303038152906040529060e01b6020820180516001600160e01b0383818316178352505050509050600080735ca84c34a381434786738735265b9f3fd814b8246001600160a01b03168360405161037c9190612db3565b600060405180830381855afa9150503d80600081146103b7576040519150601f19603f3d011682016040523d82523d6000602084013e6103bc565b606091505b5090925090506001821515146103ed5760405162461bcd60e51b81526004016103e490612de2565b60405180910390fd5b60008180602001905181019061040391906132e5565b905060005b81518110156105a357600082828151811061042557610425612caa565b60200260200101519050600081600001516040015160000151156104f6576000826000015160000151604001516001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa15801561048f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104b3919061349c565b60ff1690506104c381600a6135b9565b835160200151604001516104e4906c0c9f2c9cd04674edea400000006135c5565b6104ee91906135dc565b91505061051d565b816020015160800151602001518260000151602001516040015161051a91906135c5565b90505b60008260a0015113156105405760a082015161053990826135fe565b9050610572565b60008260a0015161055090613611565b90508181101561056b57610564818361362d565b9150610570565b600091505b505b8015610599578151516040015161058a908b906116af565b99506105968982611791565b98505b5050600101610408565b5060006105af8a611858565b90506000805b825181101561063a5760008382815181106105d2576105d2612caa565b60200260200101519050600260068111156105ef576105ef613640565b8151604001510361061f5760208101515161060b908c906116af565b815151909b5061061c908b90611791565b99505b80516020015161062f90846135fe565b9250506001016105b5565b50801561066e5761065f897382af49447d8a07e3bd95bd0d56f35241523fbab16116af565b985061066b8882611791565b97505b6000806106818d8d8b60600151876118fe565b9150915060005b82518110156106f5576106bd8382815181106106a6576106a6612caa565b60200260200101518d6116af90919063ffffffff16565b9b506106eb8282815181106106d4576106d4612caa565b60200260200101518c61179190919063ffffffff16565b9a50600101610688565b506000806107068b60a00151611de3565b9150915060005b825181101561077a5761074283828151811061072b5761072b612caa565b60200260200101518f6116af90919063ffffffff16565b9d5061077082828151811061075957610759612caa565b60200260200101518e61179190919063ffffffff16565b9c5060010161070d565b506107858d8d612115565b9c509c5050505050505050505050505b9250929050565b60006107a6612866565b6107af896108fa565b604082015282156108ca57876001600160a01b031687876040516107d4929190613656565b600060405180830381855afa9150503d806000811461080f576040519150601f19603f3d011682016040523d82523d6000602084013e610814565b606091505b506020830152151580825260011461083e5760405162461bcd60e51b81526004016103e490613666565b6000816020015151116108635760405162461bcd60e51b81526004016103e490613699565b83156108a257806020015180602001905181019061088191906136d0565b604082015161089090876135c5565b61089a91906135dc565b9150506108ef565b84816040015182602001518060200190518101906108c091906136d0565b61089091906135c5565b83156108df57604081015161089a90866135c5565b84816040015161089a91906135dc565b979650505050505050565b60008060005b60548110156109dc57600080826054811061091d5761091d612caa565b01546040516370a0823160e01b81526001600160a01b03909116906370a082319061094c9088906004016129f6565b602060405180830381865afa158015610969573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061098d91906136d0565b905080156109d357806109bc600084605481106109ac576109ac612caa565b01546001600160a01b031661244c565b6109c691906135c5565b6109d090846135fe565b92505b50600101610900565b5092915050565b60006109ed612866565b6109f68a61120f565b60608201819052516001600160401b03811115610a1557610a15612c94565b604051908082528060200260200182016040528015610a3e578160200160208202803683370190505b5060a08201526060810151516001600160401b03811115610a6157610a61612c94565b604051908082528060200260200182016040528015610a9a57816020015b610a876128d7565b815260200190600190039081610a7f5790505b5060c082015260005b8160c0015151811015610b8857600082606001518281518110610ac857610ac8612caa565b6020026020010151600001516020015190506000610ae58261137e565b9050818460a001518481518110610afe57610afe612caa565b60200260200101906001600160a01b031690816001600160a01b0316815250506040518060600160405280610b368360200151611434565b8152602001610b488360400151611434565b8152602001610b5a8360600151611434565b8152508460c001518481518110610b7357610b73612caa565b60209081029190910101525050600101610aa3565b50610ba6600080516020613bd08339815191528b600060001961161a565b6080820181905260c082015160405160009263ece9e0c892610bf492600080516020613bd08339815191529273e6fab3f0c7199b0d34d7fbe83394fc0e0d06e99d9290918790602401612cc0565b6040516020818303038152906040529060e01b6020820180516001600160e01b0383818316178352505050509050600080735ca84c34a381434786738735265b9f3fd814b8246001600160a01b031683604051610c519190612db3565b600060405180830381855afa9150503d8060008114610c8c576040519150601f19603f3d011682016040523d82523d6000602084013e610c91565b606091505b509092509050600182151514610cb95760405162461bcd60e51b81526004016103e490612de2565b80806020019051810190610ccd91906132e5565b60e085015260005b8460e0015151811015610e6d5760008560e001518281518110610cfa57610cfa612caa565b6020026020010151905060008160000151604001516000015115610dcb576000826000015160000151604001516001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa158015610d64573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d88919061349c565b60ff169050610d9881600a6135b9565b83516020015160400151610db9906c0c9f2c9cd04674edea400000006135c5565b610dc391906135dc565b915050610df2565b8160200151608001516020015182600001516020015160400151610def91906135c5565b90505b60008260a001511315610e155760a0820151610e0e90826135fe565b9050610e47565b60008260a00151610e2590613611565b905081811015610e4057610e39818361362d565b9150610e45565b600091505b505b8015610e63578087604001818151610e5f91906135fe565b9052505b5050600101610cd5565b50610e778d611858565b61010085015260005b84610100015151811015610f305760008561010001518281518110610ea757610ea7612caa565b6020026020010151905060026006811115610ec457610ec4613640565b81516040015103610f0c576000610ee282602001516000015161258b565b6020810151835151919250610ef6916135c5565b87604001818151610f0791906135fe565b905250505b80516020015161012087018051610f249083906135fe565b90525050600101610e80565b5061012084015115610f88576000610f5b7382af49447d8a07e3bd95bd0d56f35241523fbab161258b565b90508060200151856101200151610f7291906135c5565b85604001818151610f8391906135fe565b905250505b610f9d8d8d86606001518761010001516118fe565b61016086015261014085015260005b84610140015151811015611030576000610fe38661014001518381518110610fd657610fd6612caa565b602002602001015161258b565b90508060200151866101600151838151811061100157611001612caa565b602002602001015161101391906135c5565b8660400181815161102491906135fe565b90525050600101610fac565b5061103e8460a00151611de3565b6101a086015261018085015260005b846101800151518110156110c45760006110778661018001518381518110610fd657610fd6612caa565b90508060200151866101a00151838151811061109557611095612caa565b60200260200101516110a791906135c5565b866040018181516110b891906135fe565b9052505060010161104d565b5085156111de578a6001600160a01b03168a8a6040516110e5929190613656565b600060405180830381855afa9150503d8060008114611120576040519150601f19603f3d011682016040523d82523d6000602084013e611125565b606091505b506020860152151580855260011461114f5760405162461bcd60e51b81526004016103e490613666565b6000846020015151116111745760405162461bcd60e51b81526004016103e490613699565b86156111b657836020015180602001905181019061119291906136d0565b60408501516111a1908a6135c5565b6111ab91906135dc565b945050505050611203565b87846040015185602001518060200190518101906111d491906136d0565b6111a191906135c5565b86156111f35760408401516111ab90896135c5565b8784604001516111ab91906135dc565b98975050505050505050565b60606000611230600080516020613bd083398151915284600060001961161a565b905080516001600160401b0381111561124b5761124b612c94565b60405190808252806020026020018201604052801561128457816020015b61127161293e565b8152602001906001900390816112695790505b50915060005b815181101561137757735ca84c34a381434786738735265b9f3fd814b8246001600160a01b0316630fa8f516600080516020613bd08339815191528484815181106112d7576112d7612caa565b60200260200101516040518363ffffffff1660e01b81526004016113109291906001600160a01b03929092168252602082015260400190565b6101e060405180830381865afa15801561132e573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061135291906136e9565b83828151811061136457611364612caa565b602090810291909101015260010161128a565b5050919050565b604080516080810182526000808252602082018190528183018190526060820152905163714af34b60e01b8152600080516020613bd083398151915260048201526001600160a01b0383166024820152735ca84c34a381434786738735265b9f3fd814b8249063714af34b90604401608060405180830381865afa15801561140a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061142e91906137c3565b92915050565b60408051808201909152600080825260208201526000600080516020613bd08339815191526321f8a721611467856126d0565b6040518263ffffffff1660e01b815260040161148591815260200190565b602060405180830381865afa1580156114a2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114c6919061382a565b90506001600160a01b0381166114e6575060008082526020820152919050565b60408051600481526024810182526020810180516001600160e01b0316633fabe5a360e21b179052905160009182916001600160a01b0385169161152991612db3565b600060405180830381855afa9150503d8060008114611564576040519150601f19603f3d011682016040523d82523d6000602084013e611569565b606091505b5090925090506001821515146115ba5760405162461bcd60e51b81526020600482015260166024820152756661696c6564206c6174657374526f756e644461746160501b60448201526064016103e4565b600080828060200190518101906115d19190613861565b50919450909250839150600090506305f5e1006115fb836c0c9f2c9cd04674edea400000006135c5565b61160591906135dc565b80895260208901525095979650505050505050565b6060846001600160a01b031663f069052a6116348661274a565b6040516001600160e01b031960e084901b16815260048101919091526024810186905260448101859052606401600060405180830381865afa15801561167e573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526116a691908101906138b1565b95945050505050565b60606000835160016116c191906135fe565b6001600160401b038111156116d8576116d8612c94565b604051908082528060200260200182016040528015611701578160200160208202803683370190505b50905060005b845181101561175c5784818151811061172257611722612caa565b602002602001015182828151811061173c5761173c612caa565b6001600160a01b0390921660209283029190910190910152600101611707565b50828185518151811061177157611771612caa565b6001600160a01b0390921660209283029190910190910152905092915050565b60606000835160016117a391906135fe565b6001600160401b038111156117ba576117ba612c94565b6040519080825280602002602001820160405280156117e3578160200160208202803683370190505b50905060005b84518110156118315784818151811061180457611804612caa565b602002602001015182828151811061181e5761181e612caa565b60209081029190910101526001016117e9565b50828185518151811061184657611846612caa565b60209081029190910101529392505050565b6040516342a6f8d360e01b8152600080516020613bd083398151915260048201526001600160a01b0382166024820152600060448201526000196064820152606090735ca84c34a381434786738735265b9f3fd814b824906342a6f8d390608401600060405180830381865afa1580156118d6573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261142e9190810190613936565b606080600083518551600361191391906135c5565b61191d91906135fe565b6001600160401b0381111561193457611934612c94565b60405190808252806020026020018201604052801561195d578160200160208202803683370190505b5090506000805b8651811015611a7057600061199988838151811061198457611984612caa565b6020026020010151600001516020015161137e565b90508782815181106119ad576119ad612caa565b602002602001015160000151604001518484806119c990613a4b565b9550815181106119db576119db612caa565b6001600160a01b039092166020928302919091019091015260408101518484611a0381613a4b565b955081518110611a1557611a15612caa565b6001600160a01b039092166020928302919091019091015260608101518484611a3d81613a4b565b955081518110611a4f57611a4f612caa565b6001600160a01b039092166020928302919091019091015250600101611964565b5060005b8551811015611add57858181518110611a8f57611a8f612caa565b60200260200101516020015160000151838380611aab90613a4b565b945081518110611abd57611abd612caa565b6001600160a01b0390921660209283029190910190910152600101611a74565b50806001600160401b03811115611af657611af6612c94565b604051908082528060200260200182016040528015611b1f578160200160208202803683370190505b509350806001600160401b03811115611b3a57611b3a612c94565b604051908082528060200260200182016040528015611b63578160200160208202803683370190505b5092506000805b82811015611caf576000848281518110611b8657611b86612caa565b6020026020010151905060006001600160a01b0316816001600160a01b03161480611bc25750896001600160a01b0316816001600160a01b0316145b15611bcd5750611ca7565b6040516370a0823160e01b81526000906001600160a01b038316906370a0823190611bfc908f906004016129f6565b602060405180830381865afa158015611c19573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611c3d91906136d0565b90508015611ca45781888581518110611c5857611c58612caa565b60200260200101906001600160a01b031690816001600160a01b03168152505080878581518110611c8b57611c8b612caa565b602090810291909101015283611ca081613a4b565b9450505b50505b600101611b6a565b506000816001600160401b03811115611cca57611cca612c94565b604051908082528060200260200182016040528015611cf3578160200160208202803683370190505b5090506000826001600160401b03811115611d1057611d10612c94565b604051908082528060200260200182016040528015611d39578160200160208202803683370190505b50905060005b83811015611dd257878181518110611d5957611d59612caa565b6020026020010151838281518110611d7357611d73612caa565b60200260200101906001600160a01b031690816001600160a01b031681525050868181518110611da557611da5612caa565b6020026020010151828281518110611dbf57611dbf612caa565b6020908102919091010152600101611d3f565b50909a909950975050505050505050565b60608082516002611df491906135c5565b6001600160401b03811115611e0b57611e0b612c94565b604051908082528060200260200182016040528015611e34578160200160208202803683370190505b50915082516002611e4591906135c5565b6001600160401b03811115611e5c57611e5c612c94565b604051908082528060200260200182016040528015611e85578160200160208202803683370190505b5090506000805b8451811015611fe6576000611eb9868381518110611eac57611eac612caa565b602002602001015161137e565b90506000611ecf82600001518360400151612785565b90508015611f3a578160400151868581518110611eee57611eee612caa565b60200260200101906001600160a01b031690816001600160a01b03168152505080858581518110611f2157611f21612caa565b602090810291909101015283611f3681613a4b565b9450505b81606001516001600160a01b031682604001516001600160a01b031614611fdc576000611f6f83600001518460600151612785565b90508015611fda578260600151878681518110611f8e57611f8e612caa565b60200260200101906001600160a01b031690816001600160a01b03168152505080868681518110611fc157611fc1612caa565b602090810291909101015284611fd681613a4b565b9550505b505b5050600101611e8c565b506000816001600160401b0381111561200157612001612c94565b60405190808252806020026020018201604052801561202a578160200160208202803683370190505b5090506000826001600160401b0381111561204757612047612c94565b604051908082528060200260200182016040528015612070578160200160208202803683370190505b50905060005b838110156121095785818151811061209057612090612caa565b60200260200101518382815181106120aa576120aa612caa565b60200260200101906001600160a01b031690816001600160a01b0316815250508481815181106120dc576120dc612caa565b60200260200101518282815181106120f6576120f6612caa565b6020908102919091010152600101612076565b50909590945092505050565b606080835160000361213f5750506040805160008082526020820190815281830190925290610795565b600084516001600160401b0381111561215a5761215a612c94565b604051908082528060200260200182016040528015612183578160200160208202803683370190505b509050600085516001600160401b038111156121a1576121a1612c94565b6040519080825280602002602001820160405280156121ca578160200160208202803683370190505b5090506000805b87518110156123225760008882815181106121ee576121ee612caa565b60200260200101519050600088838151811061220c5761220c612caa565b60200260200101519050806000148061222c57506001600160a01b038216155b1561223857505061231a565b6000805b858110156122b157836001600160a01b031688828151811061226057612260612caa565b60200260200101516001600160a01b0316036122a9578287828151811061228957612289612caa565b6020026020010181815161229d91906135fe565b905250600191506122b1565b60010161223c565b508061231657828786815181106122ca576122ca612caa565b60200260200101906001600160a01b031690816001600160a01b031681525050818686815181106122fd576122fd612caa565b60209081029190910101528461231281613a4b565b9550505b5050505b6001016121d1565b50806001600160401b0381111561233b5761233b612c94565b604051908082528060200260200182016040528015612364578160200160208202803683370190505b509450806001600160401b0381111561237f5761237f612c94565b6040519080825280602002602001820160405280156123a8578160200160208202803683370190505b50935060005b81811015612441578381815181106123c8576123c8612caa565b60200260200101518682815181106123e2576123e2612caa565b60200260200101906001600160a01b031690816001600160a01b03168152505082818151811061241457612414612caa565b602002602001015185828151811061242e5761242e612caa565b60209081029190910101526001016123ae565b505050509250929050565b6000806124588361137e565b6020810151909150735ca84c34a381434786738735265b9f3fd814b8249063095ce6c590600080516020613bd08339815191529084906001600160a01b03166124ad576124a88560600151611434565b6124ba565b6124ba8560200151611434565b6124c78660400151611434565b6124d48760600151611434565b604051602001612507906020808252600f908201526e464f525f5749544844524157414c5360881b604082015260600190565b6040516020818303038152906040528051906020012060016040518863ffffffff1660e01b81526004016125419796959493929190613a64565b61018060405180830381865afa15801561255f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906125839190613aff565b509392505050565b60408051808201909152600080825260208201526040805163377bbdaf60e01b81526001600160a01b038416600482015260248101919091526000604482018190529073527fb0bcff63c47761039bb386cfe181a92a47019063377bbdaf906064016040805180830381865afa158015612609573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061262d9190613bb3565b90506000836001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa15801561266f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612693919061349c565b60ff16905060006126a582601261362d565b6126b090600a6135b9565b83602001516126bf91906135dc565b808552602085015250919392505050565b6000604051602001612700906020808252600a908201526914149250d157d191515160b21b604082015260600190565b60408051601f198184030181528282528051602091820120908301526001600160a01b03841690820152606001604051602081830303815290604052805190602001209050919050565b6000604051602001612700906020808252601590820152741050d0d3d5539517d413d4d2551253d397d31254d5605a1b604082015260600190565b60008083836040516020016127d8929190606080825260119082015270434c41494d41424c455f46554e44494e4760781b60808201526001600160a01b0392831660208201529116604082015260a00190565b60408051808303601f1901815290829052805160209091012063bd02d0f560e01b8252600482018190529150600080516020613bd08339815191529063bd02d0f590602401602060405180830381865afa15801561283a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061285e91906136d0565b949350505050565b604051806101c00160405280600015158152602001606081526020016000815260200160608152602001606081526020016060815260200160608152602001606081526020016060815260200160008152602001606081526020016060815260200160608152602001606081525090565b6040805160a08101909152600060608201818152608083019190915281908152602001612917604051806040016040528060008152602001600081525090565b8152602001612939604051806040016040528060008152602001600081525090565b905290565b6040805160c081019091526000606082018181526080830182905260a0830191909152819081526020016129c560405180610160016040528060008152602001600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081525090565b81526040805160208181019092526000815291015290565b6000602082840312156129ef57600080fd5b5035919050565b6001600160a01b0391909116815260200190565b6001600160a01b0381168114612a1f57600080fd5b50565b60008060408385031215612a3557600080fd5b8235612a4081612a0a565b91506020830135612a5081612a0a565b809150509250929050565b604080825283519082018190526000906020906060840190828701845b82811015612a9d5781516001600160a01b031684529284019290840190600101612a78565b5050508381038285015284518082528583019183019060005b81811015612ad257835183529284019291840191600101612ab6565b5090979650505050505050565b60008083601f840112612af157600080fd5b5081356001600160401b03811115612b0857600080fd5b60208301915083602082850101111561079557600080fd5b8015158114612a1f57600080fd5b600080600080600080600060c0888a031215612b4957600080fd5b8735612b5481612a0a565b96506020880135612b6481612a0a565b955060408801356001600160401b03811115612b7f57600080fd5b612b8b8a828b01612adf565b909650945050606088013592506080880135612ba681612b20565b915060a0880135612bb681612b20565b8091505092959891949750929550565b600060208284031215612bd857600080fd5b8135612be381612a0a565b9392505050565b60008060008060008060008060e0898b031215612c0657600080fd5b8835612c1181612a0a565b97506020890135612c2181612a0a565b96506040890135612c3181612a0a565b955060608901356001600160401b03811115612c4c57600080fd5b612c588b828c01612adf565b9096509450506080890135925060a0890135612c7381612b20565b915060c0890135612c8381612b20565b809150509295985092959890939650565b634e487b7160e01b600052604160045260246000fd5b634e487b7160e01b600052603260045260246000fd5b6001600160a01b038681168252851660208083019190915260a06040808401829052865191840182905260009260c09283860190898301865b82811015612d1557815184529284019290840190600101612cf9565b505050858103606087015287518082528289019183019060005b81811015612d8c578351612d4e84825180518252602090810151910152565b85810151612d688886018280518252602090810151910152565b50860151805160808501526020015160a08401529284019291860191600101612d2f565b50506001600160a01b03881660808801529450612da99350505050565b9695505050505050565b6000825160005b81811015612dd45760208186018101518583015201612dba565b506000920191825250919050565b6020808252601f908201527f6661696c206765744163636f756e74506f736974696f6e496e666f4c69737400604082015260600190565b604051606081016001600160401b0381118282101715612e3b57612e3b612c94565b60405290565b604051602081016001600160401b0381118282101715612e3b57612e3b612c94565b60405160c081016001600160401b0381118282101715612e3b57612e3b612c94565b604051608081016001600160401b0381118282101715612e3b57612e3b612c94565b6040516101c081016001600160401b0381118282101715612e3b57612e3b612c94565b60405161014081016001600160401b0381118282101715612e3b57612e3b612c94565b60405161016081016001600160401b0381118282101715612e3b57612e3b612c94565b604051601f8201601f191681016001600160401b0381118282101715612f3857612f38612c94565b604052919050565b60006001600160401b03821115612f5957612f59612c94565b5060051b60200190565b8051612f6e81612a0a565b919050565b600060608284031215612f8557600080fd5b612f8d612e19565b90508151612f9a81612a0a565b81526020820151612faa81612a0a565b60208201526040820151612fbd81612a0a565b604082015292915050565b600060208284031215612fda57600080fd5b612fe2612e41565b90508151612fef81612b20565b815292915050565b600061010080838503121561300b57600080fd5b604051908101906001600160401b038211818310171561302d5761302d612c94565b81604052809250835181526020840151915061304882612a0a565b81602082015261305a60408501612f63565b6040820152606084015160608201526080840151608082015260a084015160a082015260c084015160c082015260e084015160e0820152505092915050565b600060c082840312156130ab57600080fd5b6130b3612e63565b9050815181526020820151602082015260408201516040820152606082015160608201526080820151608082015260a082015160a082015292915050565b60006080828403121561310357600080fd5b61310b612e85565b90508151815260208201516020820152604082015160408201526060820151606082015292915050565b60006060828403121561314757600080fd5b61314f612e19565b9050815161315c81612a0a565b80825250602082015160208201526040820151604082015292915050565b60006040828403121561318c57600080fd5b604051604081018181106001600160401b03821117156131ae576131ae612c94565b604052825181526020928301519281019290925250919050565b600061040082840312156131db57600080fd5b6131e3612ea7565b90506131ef8383612ff7565b815261010061320084828501613099565b6020830152613213846101c085016130f1565b6040830152613226846102408501613135565b6060830152613239846102a0850161317a565b60808301526102e083015160a083015261030083015160c083015261032083015160e0830152610340830151908201526103608201516101208201526103808201516101408201526103a08201516101608201526103c08201516101808201526103e0909101516101a0820152919050565b6000606082840312156132bd57600080fd5b6132c5612e19565b905081518152602082015160208201526040820151604082015292915050565b600060208083850312156132f857600080fd5b82516001600160401b0381111561330e57600080fd5b8301601f8101851361331f57600080fd5b805161333261332d82612f40565b612f10565b818152610680918202830184019184820191908884111561335257600080fd5b938501935b83851015613490578489038181121561336f57600080fd5b613377612e63565b6101c08083121561338757600080fd5b61338f612e19565b6133998d8a612f73565b815261014080605f19860112156133af57600080fd5b6133b7612eca565b945060608a0151855260808a01518b86015260a08a01518060408701525060c08a0151606086015260e08a01516080860152610100808b015160a0870152610120808c015160c0880152828c015160e08801526101608c0151828801526101808c015181880152505050838a8201526134348d6101a08b01612fc8565b604082015282526134478c8983016131c8565b898301525061345a8b6105c089016132ab565b60408201526106208701516060820152610640870151608082015261066087015160a08201528452509384019391850191613357565b50979650505050505050565b6000602082840312156134ae57600080fd5b815160ff81168114612be357600080fd5b634e487b7160e01b600052601160045260246000fd5b600181815b808511156135105781600019048211156134f6576134f66134bf565b8085161561350357918102915b93841c93908002906134da565b509250929050565b6000826135275750600161142e565b816135345750600061142e565b816001811461354a576002811461355457613570565b600191505061142e565b60ff841115613565576135656134bf565b50506001821b61142e565b5060208310610133831016604e8410600b8410161715613593575081810a61142e565b61359d83836134d5565b80600019048211156135b1576135b16134bf565b029392505050565b6000612be38383613518565b808202811582820484141761142e5761142e6134bf565b6000826135f957634e487b7160e01b600052601260045260246000fd5b500490565b8082018082111561142e5761142e6134bf565b6000600160ff1b8201613626576136266134bf565b5060000390565b8181038181111561142e5761142e6134bf565b634e487b7160e01b600052602160045260246000fd5b8183823760009101908152919050565b602080825260199082015278195e1d195c9b985b141c9a58d95610d85b1b0819985a5b1959603a1b604082015260600190565b6020808252601b908201527f6261642065787465726e616c50726963655843616c6c20646174610000000000604082015260600190565b6000602082840312156136e257600080fd5b5051919050565b60008183036101e08112156136fd57600080fd5b613705612e19565b61370f8585612f73565b815261016080605f198401121561372557600080fd5b61372d612eed565b9250606085015183526080850151602084015260a0850151604084015260c0850151606084015260e085015160808401526101008086015160a08501526101208087015160c08601526101408088015160e08701528388015183870152610180880151828701526101a088015181870152505050508160208201526137b6856101c08601612fc8565b6040820152949350505050565b6000608082840312156137d557600080fd5b6137dd612e85565b82516137e881612a0a565b815260208301516137f881612a0a565b6020820152604083015161380b81612a0a565b6040820152606083015161381e81612a0a565b60608201529392505050565b60006020828403121561383c57600080fd5b8151612be381612a0a565b805169ffffffffffffffffffff81168114612f6e57600080fd5b600080600080600060a0868803121561387957600080fd5b61388286613847565b94506020860151935060408601519250606086015191506138a560808701613847565b90509295509295909350565b600060208083850312156138c457600080fd5b82516001600160401b038111156138da57600080fd5b8301601f810185136138eb57600080fd5b80516138f961332d82612f40565b81815260059190911b8201830190838101908783111561391857600080fd5b928401925b828410156108ef5783518252928401929084019061391d565b6000602080838503121561394957600080fd5b82516001600160401b0381111561395f57600080fd5b8301601f8101851361397057600080fd5b805161397e61332d82612f40565b81815260a0918202830184019184820191908884111561399d57600080fd5b938501935b8385101561349057848903818112156139bb5760008081fd5b6139c3612e19565b6060808312156139d35760008081fd5b6139db612e19565b88518152898901518a8201526040808a0151818301528184528a605f1986011215613a0857600091508182fd5b613a10612e41565b928a0151929450613a2083612a0a565b828552848b850152613a358e60808c01612fc8565b90840152505084525093840193918501916139a2565b600060018201613a5d57613a5d6134bf565b5060010190565b60006101a08201905060018060a01b03808a1683528089511660208401528060208a01511660408401528060408a01511660608401528060608a015116608084015250613abe60a083018880518252602090810151910152565b855160e08301526020860151610100830152845161012083015260208501516101408301528361016083015282151561018083015298975050505050505050565b600080828403610180811215613b1457600080fd5b8351925061016080601f1983011215613b2c57600080fd5b613b34612eed565b91506020850151825260408501516020830152606085015160408301526080850151606083015260a0850151608083015260c085015160a083015260e085015160c08301526101008086015160e08401526101208087015182850152610140915081870151818501525081860151818401525050809150509250929050565b600060408284031215613bc557600080fd5b612be3838361317a56fe000000000000000000000000fd70de6b91282d8017aa4e741e9ae325cab992d8a26469706673582212202cbffe27df394bd09c9255bc440bb2d4778c093e9b3c1721046a7d4f78fb712d64736f6c63430008180033