0 txs
2.4k calls
constructor
No constructor.
functions
CALLBACK_GAS_LIMIT
viewfunction CALLBACK_GAS_LIMIT() view returns (uint256)
decodeCreateOrder
purefunction decodeCreateOrder(address exchangeRouterContractGuard, bytes[] multicallParams) pure returns (bytes lastCallData, uint256 numOfCalls, tuple createOrderParams)
getAssetHandler
viewfunction getAssetHandler(address poolManagerLogic) view returns (address)
getMaxDepositSlippageData
viewfunction getMaxDepositSlippageData(tuple latestDeposit, tuple priceDependencies, bool isMinOutputAmountUsed, uint256 optionalOutputAmount) view returns (uint256 inputTokensValueD18, uint256 outputTokensValueD18)
getMaxSwapSlippageData
viewfunction getMaxSwapSlippageData(tuple latestOrder, tuple priceDependencies, bool isMinOutputAmountUsed, uint256 optionalOutputAmount) view returns (uint256 inputTokensValue, uint256 outputTokensValue)
getMaxWithdrawalSlippageData
viewfunction getMaxWithdrawalSlippageData(tuple latestWithdrawal, tuple priceDependencies, bool isMinOutputAmountUsed, uint256 optionalOutputLongTokenAmount, uint256 optionalOutputShortTokenAmount) view returns (uint256 inputTokensValueD18, uint256 outputTokensValueD18)
MAX_LEVERAGE
viewfunction MAX_LEVERAGE() view returns (uint256)
MAX_SLIPPAGE
viewfunction MAX_SLIPPAGE() view returns (uint256)
maxLeverageCheck
viewfunction maxLeverageCheck(tuple latestOrder, tuple priceDependencies) view
validateTxGuardParams
viewfunction validateTxGuardParams(address exchangeRouterContractGuard, address poolManagerLogic, bytes data) view returns (bytes4 method, bytes params, address poolLogic, tuple poolSetting)
events
No events.
errors
No errors.
creation bytecode
0x6147a5610026600b82828239805160001a60731461001957fe5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600436106100a35760003560e01c80631862aab3146100a857806333d608f1146100d15780633bc5c4a2146100e65780634f8c58f3146100fb578063777bd4dd1461011c5780639b45ec971461012f578063b397a75114610137578063d099473114610159578063f5e086af1461016c578063f97595181461018f578063fa217e3214610197575b600080fd5b6100bb6100b636600461305a565b6101b7565b6040516100c891906140a6565b60405180910390f35b6100d96102a2565b6040516100c8919061463f565b6100f96100f4366004613ad7565b6102a9565b005b61010e610109366004613783565b6104d8565b6040516100c8929190614648565b61010e61012a366004613d71565b610622565b6100d9610754565b61014a610145366004613163565b610760565b6040516100c89392919061417e565b61010e610167366004613b23565b610907565b61017f61017a366004613104565b610a62565b6040516100c8949392919061411a565b6100d9610d63565b8180156101a357600080fd5b506100f96101b2366004613092565b610d68565b6000816001600160a01b031663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b1580156101f257600080fd5b505afa158015610206573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061022a9190613076565b6001600160a01b03166309ed48936040518163ffffffff1660e01b815260040160206040518083038186803b15801561026257600080fd5b505afa158015610276573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061029a9190613076565b90505b919050565b620b71b081565b8151805160a082015160c090920151604085015151845160208601516000956102d895949093909290916116cc565b905060006102ee83856000015160c00151611770565b5160208301516040015190915060009081901561033d5760208401516040015161033a9061031c9085611acd565b60208601515161033490670de0b6b3a7640000611acd565b90611b2d565b91505b6004602087015151600881111561035057fe5b1415610408576020808501515190870151604001511061037357505050506104d4565b836020015160400151866020015160600151106103ab5760405162461bcd60e51b81526004016103a290614542565b60405180910390fd5b6104016103db846103d5896020015160600151886020015160400151611b9190919063ffffffff16565b90611acd565b60208089015160400151908701515161033491670de0b6b3a7640000916103d591611b91565b905061049f565b6002602087015151600881111561041b57fe5b141561049f576000610446876020015160600151866020015160400151611bee90919063ffffffff16565b111561049f5761049c610476846103d5896020015160600151886020015160400151611bee90919063ffffffff16565b60208089015160400151908701515161033491670de0b6b3a7640000916103d591611bee565b90505b818111156104cf57674563918244f400008111156104cf5760405162461bcd60e51b81526004016103a2906144b6565b505050505b5050565b60008060006104ef86886000015160a00151611770565b602001519050600061050987896000015160c00151611770565b60200151905060006105aa8889600001516001600160a01b031663714af34b8b602001518d60000151608001516040518363ffffffff1660e01b8152600401610553929190614245565b60806040518083038186803b15801561056b57600080fd5b505afa15801561057f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105a39190613916565b6000611c46565b90506105e964e8d4a510006103346105d3858d6020015160200151611acd90919063ffffffff16565b60208d0151516105e39088611acd565b90611bee565b60208a015160400151909550876105fd5750855b610613670de0b6b3a76400006103348385611acd565b94505050505094509492505050565b8351602085015186516080015160405163714af34b60e01b8152600093849384936001600160a01b039092169263714af34b926106629291600401614245565b60806040518083038186803b15801561067a57600080fd5b505afa15801561068e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106b29190613916565b90506106db670de0b6b3a76400006103346106cf8a856001611c46565b60208c01515190611acd565b925060006106ed888360400151611770565b6000015190506000610703898460600151611770565b516020808c01519081015160409091015191925090896107235750879050865b61074364e8d4a510006103346107398487611acd565b6105e38689611acd565b955050505050509550959350505050565b674563918244f4000081565b6060600061076c612583565b83519150816003148061077f5750816002145b61079b5760405162461bcd60e51b81526004016103a29061447f565b8360018303815181106107aa57fe5b602002602001015192506000856001600160a01b031663c3c6279f856040518263ffffffff1660e01b81526004016107e2919061416b565b60206040518083038186803b1580156107fa57600080fd5b505afa15801561080e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610832919061338d565b90506000866001600160a01b03166368901513866040518263ffffffff1660e01b8152600401610862919061416b565b60006040518083038186803b15801561087a57600080fd5b505afa15801561088e573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526108b691908101906133b5565b90506001600160e01b03198216636996807b60e01b146108e85760405162461bcd60e51b81526004016103a29061460d565b808060200190518101906108fc919061349a565b925050509250925092565b600080600061091e86886000015160c00151611770565b602001519050600086600001516001600160a01b031663714af34b88602001518a6000015160e0015160008151811061095357fe5b60200260200101516040518363ffffffff1660e01b8152600401610978929190614245565b60806040518083038186803b15801561099057600080fd5b505afa1580156109a4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109c89190613916565b905060006109de896000015160c0015183611d51565b905060006109ec8983611770565b5160208b015160600151909150610a0e9064e8d4a51000906103349087611acd565b95508715610a4257610a3b64e8d4a51000610334838d602001516101000151611acd90919063ffffffff16565b9450610a55565b61061364e8d4a510006103348984611acd565b5050505094509492505050565b600060606000610a706125d4565b856001600160a01b03166339b81fd96040518163ffffffff1660e01b815260040160206040518083038186803b158015610aa957600080fd5b505afa158015610abd573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ae19190613076565b9150336001600160a01b03831614610b0b5760405162461bcd60e51b81526004016103a290614579565b604051632a32620760e11b81526001600160a01b03881690635464c40e90610b379085906004016140a6565b604080518083038186803b158015610b4e57600080fd5b505afa158015610b62573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b86919061357e565b9050816001600160a01b031681600001516001600160a01b031614610bbd5760405162461bcd60e51b81526004016103a2906143e9565b6020810151604051634df48c7360e11b81526001600160a01b03881691639be918e691610bed91906004016140a6565b60206040518083038186803b158015610c0557600080fd5b505afa158015610c19573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c3d9190613371565b610c595760405162461bcd60e51b81526004016103a2906144e5565b60405163c3c6279f60e01b81526001600160a01b0388169063c3c6279f90610c8590889060040161416b565b60206040518083038186803b158015610c9d57600080fd5b505afa158015610cb1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610cd5919061338d565b604051636890151360e01b81529094506001600160a01b03881690636890151390610d0490889060040161416b565b60006040518083038186803b158015610d1c57600080fd5b505afa158015610d30573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610d5891908101906133b5565b925093509350935093565b609681565b600080610d76868685610a62565b505091509150610d846125eb565b610d8c612619565b6040518060a00160405280896001600160a01b031663660d0d676040518163ffffffff1660e01b815260040160206040518083038186803b158015610dd057600080fd5b505afa158015610de4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e089190613076565b6001600160a01b03168152602001896001600160a01b031663d4fc42c66040518163ffffffff1660e01b815260040160206040518083038186803b158015610e4f57600080fd5b505afa158015610e63573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e879190613076565b6001600160a01b03168152602001896001600160a01b03166333a518b86040518163ffffffff1660e01b815260040160206040518083038186803b158015610ece57600080fd5b505afa158015610ee2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f069190613076565b6001600160a01b03168152602001896001600160a01b03166352dac6566040518163ffffffff1660e01b815260040160206040518083038186803b158015610f4d57600080fd5b505afa158015610f61573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f859190613076565b6001600160a01b03168152602001610f9c896101b7565b6001600160a01b039081169091526040805160808082018352602080860151851683528551851690830152840151831691810191909152908a16606082015290925090506001600160e01b03198416631592ca1b60e31b14156115815760008380602001905181019061100f91906132e9565b905060008160018351038151811061102357fe5b60200260200101519050896001600160a01b031663c3c6279f826040518263ffffffff1660e01b8152600401611059919061416b565b60206040518083038186803b15801561107157600080fd5b505afa158015611085573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110a9919061338d565b95506001600160e01b03198616635b4e956160e01b14156112475760006110dc85600001516001600160a01b0316611dbd565b60208601518651604051631485d29760e01b81529293506000926001600160a01b0390921691631485d2979161111691869060040161425f565b60006040518083038186803b15801561112e57600080fd5b505afa158015611142573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261116a919081019061361c565b805151875191925060009161118a916001600160a01b0390911690611ddf565b9050806001146111ac5760405162461bcd60e51b81526004016103a29061444d565b620b71b0826020015160a0015110156111d75760405162461bcd60e51b81526004016103a2906143b9565b6000806111e88489600160006104d8565b9150915061123d89604001518f60405180608001604052808860000151608001516001600160a01b031681526020018860000151608001516001600160a01b0316815260200186815260200185815250611e60565b505050505061157a565b6001600160e01b0319861663ad23c5a160e01b141561138557600061127885600001516001600160a01b0316611dbd565b6020860151865160405163ceeea3bf60e01b81529293506000926001600160a01b039092169163ceeea3bf916112b291869060040161425f565b60006040518083038186803b1580156112ca57600080fd5b505afa1580156112de573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526113069190810190613c3e565b8051518751919250600091611326916001600160a01b039091169061203e565b9050806001146113485760405162461bcd60e51b81526004016103a2906145d8565b620b71b0826020015160a0015110156113735760405162461bcd60e51b81526004016103a2906143b9565b6000806111e884896001600080610622565b6001600160e01b03198616636996807b60e01b141561157a576113a88a83610760565b50505060006113c385600001516001600160a01b0316611dbd565b602086015186516040516324b28db560e11b81529293506000926001600160a01b03909216916349651b6a916113fd91869060040161425f565b60006040518083038186803b15801561141557600080fd5b505afa158015611429573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526114519190810190613993565b8051518751919250600091611471916001600160a01b0390911690612058565b9050806001146114935760405162461bcd60e51b81526004016103a2906142ff565b620b71b0826020015160e0015110156114be5760405162461bcd60e51b81526004016103a2906143b9565b600060208301515160088111156114d157fe5b141561156c576000806114e8848960016000610907565b9150915061156589604001518f6040518060800160405280886000015160e0015160008151811061151557fe5b60200260200101516001600160a01b03168152602001886000015160e0015160008151811061154057fe5b60200260200101516001600160a01b0316815260200186815260200185815250611e60565b5050611576565b61157682876102a9565b5050505b50506116c2565b6001600160e01b0319841663e9249b5760e01b14156116c257600080600080868060200190518101906115b491906131fe565b935093509350935060005b84518110156116bc5773fd746c600401c3369c2ead3d3e1247bf872a1cf0636efc41e3886060015189600001518e60405180608001604052808b888151811061160457fe5b60200260200101516001600160a01b031681526020018a888151811061162657fe5b60200260200101516001600160a01b0316815260200189888151811061164857fe5b60200260200101518152602001886001600160a01b03168152506040518563ffffffff1660e01b815260040161168194939291906140ba565b60006040518083038186803b15801561169957600080fd5b505af41580156116ad573d6000803e3d6000fd5b505050508060010190506115bf565b50505050505b5050505050505050565b6116d4612640565b60006116e288888888612072565b6040516307d47a8b60e11b81529091506001600160a01b03851690630fa8f51690611713908690859060040161425f565b6101a06040518083038186803b15801561172c57600080fd5b505afa158015611740573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117649190613b79565b98975050505050505050565b611778612672565b6060830151604051630d23799160e31b81526000916001600160a01b03169063691bcc88906117ab9086906004016140a6565b60206040518083038186803b1580156117c357600080fd5b505afa1580156117d7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117fb9190613076565b9050600084604001516001600160a01b031663b4fb1279836040518263ffffffff1660e01b815260040161182f91906140a6565b60206040518083038186803b15801561184757600080fd5b505afa15801561185b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061187f9190613076565b604051631536292360e21b81529091506001600160a01b038216906354d8a48c906118af9060009060040161410f565b604080518083038186803b1580156118c657600080fd5b505afa9250505080156118f6575060408051601f3d908101601f191682019092526118f3918101906135d5565b60015b6119c6576000816001600160a01b031663feaf968c6040518163ffffffff1660e01b815260040160a06040518083038186803b15801561193557600080fd5b505afa158015611949573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061196d9190613f11565b505050915050600081136119935760405162461bcd60e51b81526004016103a290614416565b60006119a4876020015183886120bf565b9050604051806040016040528082815260200182815250945050505050611ac7565b816001600160a01b03166338d52e0f6040518163ffffffff1660e01b815260040160206040518083038186803b1580156119ff57600080fd5b505afa925050508015611a2f575060408051601f3d908101601f19168201909252611a2c91810190613076565b60015b611a4b5760405162461bcd60e51b81526004016103a29061432f565b806001600160a01b0316846001600160a01b031614611a7c5760405162461bcd60e51b81526004016103a290614392565b506000611a9287602001518360000151886120bf565b90506000611aa988602001518460200151896120bf565b604080518082019091529283526020830152509350611ac792505050565b92915050565b600082611adc57506000611ac7565b82820282848281611ae957fe5b0414611b265760405162461bcd60e51b815260040180806020018281038252602181526020018061474f6021913960400191505060405180910390fd5b9392505050565b6000808211611b80576040805162461bcd60e51b815260206004820152601a602482015279536166654d6174683a206469766973696f6e206279207a65726f60301b604482015290519081900360640190fd5b818381611b8957fe5b049392505050565b600082821115611be8576040805162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b50900390565b600082820183811015611b26576040805162461bcd60e51b815260206004820152601b60248201527a536166654d6174683a206164646974696f6e206f766572666c6f7760281b604482015290519081900360640190fd5b60008084600001516001600160a01b031663095ce6c5866020015186611c70898960200151611770565b611c7e8a8a60400151611770565b611c8c8b8b60600151611770565b604051602001611c9b906145a1565b604051602081830303815290604052805190602001208a6040518863ffffffff1660e01b8152600401611cd49796959493929190614278565b6101806040518083038186803b158015611ced57600080fd5b505afa158015611d01573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611d2591906133e7565b5090506000811315611d4557611d408164e8d4a51000611b2d565b611d48565b60005b95945050505050565b600081604001516001600160a01b0316836001600160a01b03161415611d7c57506060810151611ac7565b81606001516001600160a01b0316836001600160a01b03161415611da557506040810151611ac7565b60405162461bcd60e51b81526004016103a29061435c565b600080611dc9836120ee565b90506000611dd784836121a5565b949350505050565b6000826001600160a01b031663f3903b9f611df9846121dd565b6040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b158015611e2d57600080fd5b505afa158015611e41573d6000803e3d6000fd5b505050506040513d6020811015611e5757600080fd5b50519392505050565b806040015181606001511015612039576040810151611e8990612710906103349061267a611acd565b81606001511015611eac5760405162461bcd60e51b81526004016103a29061451b565b6000611ee9611ee48360400151610334620f42406001600160801b03166103d587606001518860400151611b9190919063ffffffff16565b61225a565b90506000846001600160a01b0316630a7654f46040518163ffffffff1660e01b815260040160206040518083038186803b158015611f2657600080fd5b505afa158015611f3a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611f5e9190613eea565b90506000856001600160a01b0316634a7c34cc866040518263ffffffff1660e01b8152600401611f8e91906140a6565b60206040518083038186803b158015611fa657600080fd5b505afa158015611fba573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611fde9190613eea565b9050816001600160801b0316612012611ee4836001600160801b0316866001600160801b0316611bee90919063ffffffff16565b6001600160801b031611156104cf5760405162461bcd60e51b81526004016103a29061451b565b505050565b6000826001600160a01b031663f3903b9f611df9846122a2565b6000826001600160a01b031663f3903b9f611df984612322565b604080516001600160a01b039586166020808301919091529486168183015292909416606083015215156080808301919091528351808303909101815260a0909101909252815191012090565b6000806120d56001600160a01b0386168461239d565b9050611d48848268327cb2734119d3b7a9601e1b6124d4565b6000816001600160a01b031663bd02d0f5604051602001808060200182810382526005815260200180644e4f4e434560d81b815250602001915050604051602081830303815290604052805190602001206040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b15801561217357600080fd5b505afa158015612187573d6000803e3d6000fd5b505050506040513d602081101561219d57600080fd5b505192915050565b604080516001600160a01b03939093166020808501919091528382019290925280518084038201815260609093019052815191012090565b604080516020808201819052601482840152731050d0d3d5539517d1115413d4d25517d31254d560621b6060808401919091528351808403909101815260808301845280519082012060a08301526001600160a01b03841660c0808401919091528351808403909101815260e09092019092528051910120919050565b6000600160801b821061229e5760405162461bcd60e51b81526004018080602001828103825260278152602001806147286027913960400191505060405180910390fd5b5090565b604080516020808201819052601782840152761050d0d3d5539517d5d2551211149055d05317d31254d5604a1b6060808401919091528351808403909101815260808301845280519082012060a08301526001600160a01b03841660c0808401919091528351808403909101815260e09092019092528051910120919050565b604080516020808201819052601282840152711050d0d3d5539517d3d491115497d31254d560721b6060808401919091528351808403909101815260808301845280519082012060a08301526001600160a01b03841660c0808401919091528351808403909101815260e09092019092528051910120919050565b60408051602080820181905260158284015274282924a1a2afa322a2a22fa6aaa62a24a82624a2a960591b6060808401919091528351808403909101815260808301845280519082012060a08301526001600160a01b0384811660c0808501919091528451808503909101815260e0840180865281519184019190912063bd02d0f560e01b90915260e4840152925160009384939087169263bd02d0f59261010480840193829003018186803b15801561245657600080fd5b505afa15801561246a573d6000803e3d6000fd5b505050506040513d602081101561248057600080fd5b5051905080611b26576040805162461bcd60e51b815260206004820152601b60248201527a32b6b83a3c90383934b1b2903332b2b21036bab63a34b83634b2b960291b604482015290519081900360640190fd5b600080806000198587098686029250828110908390030390508061250a57600084116124ff57600080fd5b508290049050611b26565b80841161251657600080fd5b6000848688096000868103871696879004966002600389028118808a02820302808a02820302808a02820302808a02820302808a02820302808a02909103029181900381900460010186841190950394909402919094039290920491909117919091029150509392505050565b60405180610100016040528061259761268c565b81526020016125a46126ca565b81526020016000815260200160008152600060208201819052604082018190526060820181905260809091015290565b604080518082019091526000808252602082015290565b6040805160a08101825260008082526020820181905291810182905260608101829052608081019190915290565b60408051608081018252600080825260208201819052918101829052606081019190915290565b604051806060016040528061265361270f565b815260200161266061272f565b815260200161266d61277b565b905290565b604051806040016040528060008152602001600081525090565b6040805160e08101825260008082526020820181905291810182905260608082018390526080820183905260a082019290925260c081019190915290565b60405180610100016040528060008152602001600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081525090565b604080516060810182526000808252602082018190529181019190915290565b6040518061012001604052806000815260200160008152602001600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081525090565b60408051602081019091526000815290565b803561029d816146e7565b805161029d816146e7565b600082601f8301126127b3578081fd5b813560206127c86127c383614679565b614656565b82815281810190858301838502870184018810156127e4578586fd5b855b8581101561280b5781356127f9816146e7565b845292840192908401906001016127e6565b5090979650505050505050565b600082601f830112612828578081fd5b815160206128386127c383614679565b8281528181019085830183850287018401881015612854578586fd5b855b8581101561280b578151612869816146e7565b84529284019290840190600101612856565b803561029d816146ff565b805161029d816146ff565b600082601f8301126128a1578081fd5b81356128af6127c382614696565b8181528460208386010111156128c3578283fd5b816020850160208301379081016020019190915292915050565b600082601f8301126128ed578081fd5b81516128fb6127c382614696565b81815284602083860101111561290f578283fd5b611dd78260208301602087016146b7565b803561029d8161470d565b805161029d8161470d565b803561029d8161471a565b805161029d8161471a565b600060e0828403121561295d578081fd5b61296760e0614656565b905061297282612798565b815261298060208301612798565b602082015261299160408301612798565b60408201526129a260608301612798565b60608201526129b360808301612798565b60808201526129c460a08301612798565b60a082015260c08201516001600160401b038111156129e257600080fd5b6129ee84828501612818565b60c08301525092915050565b6000610100808385031215612a0d578182fd5b604051908101906001600160401b0382118183101715612a2957fe5b81604052809250835181526020840151602082015260408401516040820152606084015160608201526080840151608082015260a084015160a082015260c084015160c082015260e084015160e0820152505092915050565b600060208284031215612a93578081fd5b604051602081018181106001600160401b0382111715612aaf57fe5b6040529050808235612ac0816146ff565b905292915050565b600060208284031215612ad9578081fd5b604051602081018181106001600160401b0382111715612af557fe5b80604052508091508251612ac0816146ff565b600060808284031215612b19578081fd5b604051608081018181106001600160401b0382111715612b3557fe5b6040529050808235612b46816146ff565b81526020830135612b56816146ff565b60208201526040830135612b69816146ff565b60408201526060830135612b7c816146ff565b6060919091015292915050565b600060808284031215612b9a578081fd5b604051608081018181106001600160401b0382111715612bb657fe5b80604052508091508251612bc9816146ff565b81526020830151612bd9816146ff565b60208201526040830151612bec816146ff565b60408201526060830151612b7c816146ff565b600060808284031215612c10578081fd5b604051608081018181106001600160401b0382111715612c2c57fe5b6040529050808235612c3d816146e7565b81526020830135612c4d816146e7565b60208201526040830135612c60816146e7565b60408201526060830135612b7c816146e7565b600060c08284031215612c84578081fd5b60405160c081018181106001600160401b0382111715612ca057fe5b8060405250809150823581526020830135602082015260408301356040820152606083013560608201526080830135608082015260a083013560a08201525092915050565b600060c08284031215612cf6578081fd5b60405160c081018181106001600160401b0382111715612d1257fe5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201526080830151608082015260a083015160a08201525092915050565b6000610160808385031215612d6a578182fd5b612d7381614656565b915050612d7f82612936565b8152612d8d60208301612920565b602082015260408201356040820152606082013560608201526080820135608082015260a082013560a082015260c082013560c082015260e082013560e082015261010080830135818301525061012080830135818301525061014080830135818301525092915050565b6000610160808385031215612e0b578182fd5b612e1481614656565b915050612e2082612941565b8152612e2e6020830161292b565b602082015260408201516040820152606082015160608201526080820151608082015260a082015160a082015260c082015160c082015260e082015160e082015261010080830151818301525061012080830151818301525061014080830151818301525092915050565b6000610120808385031215612eac578182fd5b612eb581614656565b915050815181526020820151602082015260408201516040820152606082015160608201526080820151608082015260a082015160a082015260c082015160c082015260e082015160e082015261010080830151818301525092915050565b60006102008284031215612f26578081fd5b604051606081016001600160401b038282108183111715612f4357fe5b816040528293508435915080821115612f5b57600080fd5b8185019150610100808388031215612f7257600080fd5b612f7b81614656565b9050612f868361278d565b8152612f946020840161278d565b6020820152612fa56040840161278d565b6040820152612fb66060840161278d565b6060820152612fc76080840161278d565b6080820152612fd860a0840161278d565b60a0820152612fe960c0840161278d565b60c082015260e08301358281111561300057600080fd5b61300c888286016127a3565b60e08301525083525061302490508460208501612d57565b6020820152613037846101808501612b08565b60408201525092915050565b80516001600160501b038116811461029d57600080fd5b60006020828403121561306b578081fd5b8135611b26816146e7565b600060208284031215613087578081fd5b8151611b26816146e7565b600080600080608085870312156130a7578283fd5b84356130b2816146e7565b935060208501356130c2816146e7565b925060408501356130d2816146e7565b915060608501356001600160401b038111156130ec578182fd5b6130f887828801612891565b91505092959194509250565b600080600060608486031215613118578081fd5b8335613123816146e7565b92506020840135613133816146e7565b915060408401356001600160401b0381111561314d578182fd5b61315986828701612891565b9150509250925092565b60008060408385031215613175578182fd5b8235613180816146e7565b91506020838101356001600160401b0381111561319b578283fd5b8401601f810186136131ab578283fd5b80356131b96127c382614679565b81815283810190838501865b848110156131ee576131dc8b888435890101612891565b845292860192908601906001016131c5565b5096999098509650505050505050565b60008060008060808587031215613213578182fd5b84516001600160401b0380821115613229578384fd5b61323588838901612818565b955060209150818701518181111561324b578485fd5b61325789828a01612818565b95505060408701518181111561326b578485fd5b87019050601f8101881361327d578384fd5b805161328b6127c382614679565b81815283810190838501858402850186018c10156132a7578788fd5b8794505b838510156132c95780518352600194909401939185019185016132ab565b5080965050505050506132de60608601612798565b905092959194509250565b600060208083850312156132fb578182fd5b82516001600160401b03811115613310578283fd5b8301601f81018513613320578283fd5b805161332e6127c382614679565b81815283810190838501865b84811015613363576133518a8884518901016128dd565b8452928601929086019060010161333a565b509098975050505050505050565b600060208284031215613382578081fd5b8151611b26816146ff565b60006020828403121561339e578081fd5b81516001600160e01b031981168114611b26578182fd5b6000602082840312156133c6578081fd5b81516001600160401b038111156133db578182fd5b611dd7848285016128dd565b6000808284036101808112156133fb578283fd5b8351925061016080601f1983011215613412578283fd5b61341b81614656565b91506020850151825260408501516020830152606085015160408301526080850151606083015260a0850151608083015260c085015160a083015260e085015160c08301526101008086015160e08401526101208087015182850152610140915081870151818501525081860151818401525050809150509250929050565b6000602082840312156134ab578081fd5b81516001600160401b03808211156134c1578283fd5b908301906101e082860312156134d5578283fd5b6134e0610100614656565b8251828111156134ee578485fd5b6134fa8782860161294c565b82525061350a86602085016129fa565b602082015261351c6101208401612941565b604082015261352e610140840161292b565b60608201526135406101608401612886565b60808201526135526101808401612886565b60a08201526135646101a08401612886565b60c08201526101c0929092015160e0830152509392505050565b60006040828403121561358f578081fd5b604051604081018181106001600160401b03821117156135ab57fe5b60405282516135b9816146e7565b815260208301516135c9816146e7565b60208201529392505050565b6000604082840312156135e6578081fd5b604051604081018181106001600160401b038211171561360257fe5b604052825181526020928301519281019290925250919050565b60006020828403121561362d578081fd5b81516001600160401b0380821115613643578283fd5b8184019150610100808387031215613659578384fd5b60405160608101818110848211171561366e57fe5b60405283518381111561367f578586fd5b8401610120818903811315613692578687fd5b61369b81614656565b90506136a682612798565b81526136b460208301612798565b60208201526136c560408301612798565b60408201526136d660608301612798565b60608201526136e760808301612798565b60808201526136f860a08301612798565b60a082015261370960c08301612798565b60c082015260e08201518581111561371f578788fd5b61372b8a828501612818565b60e0830152508382015185811115613741578788fd5b61374d8a828501612818565b82860152508252506137628760208601612ce5565b60208201526137748760e08601612ac8565b60408201529695505050505050565b60008060008060e08587031215613798578182fd5b84356001600160401b03808211156137ae578384fd5b818701915061010080838a0312156137c4578485fd5b6040516060810181811084821117156137d957fe5b6040528335838111156137ea578687fd5b8401610120818c038113156137fd578788fd5b61380681614656565b90506138118261278d565b815261381f6020830161278d565b60208201526138306040830161278d565b60408201526138416060830161278d565b60608201526138526080830161278d565b608082015261386360a0830161278d565b60a082015261387460c0830161278d565b60c082015260e08201358581111561388a578889fd5b6138968d8285016127a3565b60e08301525083820135858111156138ac578889fd5b6138b88d8285016127a3565b82860152508252506138cd8a60208601612c73565b60208201526138df8a60e08601612a82565b6040820152809750505050506138f88660208701612bff565b925061390660a0860161287b565b9396929550929360c00135925050565b600060808284031215613927578081fd5b604051608081018181106001600160401b038211171561394357fe5b6040528251613951816146e7565b81526020830151613961816146e7565b60208201526040830151613974816146e7565b60408201526060830151613987816146e7565b60608201529392505050565b6000602082840312156139a4578081fd5b81516001600160401b03808211156139ba578283fd5b9083019061020082860312156139ce578283fd5b6040516060810181811083821117156139e357fe5b6040528251828111156139f4578485fd5b8301610100818803811315613a07578586fd5b613a1081614656565b9050613a1b82612798565b8152613a2960208301612798565b6020820152613a3a60408301612798565b6040820152613a4b60608301612798565b6060820152613a5c60808301612798565b6080820152613a6d60a08301612798565b60a0820152613a7e60c08301612798565b60c082015260e082015184811115613a94578687fd5b613aa089828501612818565b60e083015250825250613ab68660208501612df8565b6020820152613ac9866101808501612b89565b604082015295945050505050565b60008060a08385031215613ae9578182fd5b82356001600160401b03811115613afe578283fd5b613b0a85828601612f14565b925050613b1a8460208501612bff565b90509250929050565b60008060008060e08587031215613b38578182fd5b84356001600160401b03811115613b4d578283fd5b613b5987828801612f14565b945050613b698660208701612bff565b925060a0850135613906816146ff565b60008183036101a0811215613b8c578182fd5b604051606081016001600160401b038282108183111715613ba957fe5b816040526060841215613bba578485fd5b60c0830193508184108185111715613bce57fe5b508260405284519250613be0836146e7565b918252602084015191613bf2836146e7565b82608083015260408501519250613c08836146e7565b60a082018390528152613c1e8560608601612e99565b6020820152613c31856101808601612ac8565b6040820152949350505050565b600060208284031215613c4f578081fd5b81516001600160401b0380821115613c65578283fd5b908301906101008286031215613c79578283fd5b604051606081018181108382111715613c8e57fe5b604052825182811115613c9f578485fd5b830160e08188031215613cb0578485fd5b613cba60e0614656565b613cc382612798565b8152613cd160208301612798565b6020820152613ce260408301612798565b6040820152613cf360608301612798565b6060820152613d0460808301612798565b608082015260a082015184811115613d1a578687fd5b613d2689828501612818565b60a08301525060c082015184811115613d3d578687fd5b613d4989828501612818565b60c083015250825250613d5f8660208501612ce5565b6020820152613ac98660e08501612ac8565b6000806000806000610100808789031215613d8a578384fd5b86356001600160401b0380821115613da0578586fd5b818901915082828b031215613db3578586fd5b6040519250606083018381108282111715613dca57fe5b604052813581811115613ddb578687fd5b820160e0818c031215613dec578687fd5b613df660e0614656565b613dff8261278d565b8152613e0d6020830161278d565b6020820152613e1e6040830161278d565b6040820152613e2f6060830161278d565b6060820152613e406080830161278d565b608082015260a082013583811115613e56578889fd5b613e628d8285016127a3565b60a08301525060c082013583811115613e79578889fd5b613e858d8285016127a3565b60c083015250845250613e9d90508960208301612c73565b6020830152613eaf8960e08301612a82565b6040830152509450613ec48760208801612bff565b9350613ed260a0870161287b565b9497939650939460c0810135945060e0013592915050565b600060208284031215613efb578081fd5b81516001600160801b0381168114611b26578182fd5b600080600080600060a08688031215613f28578283fd5b613f3186613043565b9450602086015193506040860151925060608601519150613f5460808701613043565b90509295509295909350565b15159052565b60008151808452613f7e8160208601602086016146b7565b601f01601f19169290920160200192915050565b60038110613f9c57fe5b9052565b60098110613f9c57fe5b600060e0830160018060a01b038084511685526020818186015116818701528160408601511660408701528160608601511660608701528160808601511660808701528160a08601511660a087015260c085015160e060c08801528381518086526101008901915083830195508692505b8083101561403d5785518516825294830194600192909201919083019061401b565b50979650505050505050565b805182526020810151602083015260408101516040830152606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e08301525050565b80518252602090810151910152565b6001600160a01b0391909116815260200190565b6001600160a01b03948516815292841660208085019190915291841660408085019190915281518516606080860191909152928201518516608085015281015160a0840152015190911660c082015260e00190565b901515815260200190565b600063ffffffff60e01b8616825260a0602083015261413c60a0830186613f66565b6001600160a01b0394851660408401528351851660608401526020909301519093166080909101529392505050565b600060208252611b266020830184613f66565b6000606082526141916060830186613f66565b84602084015282810360408401526101e084518183526141b382840182613faa565b91505060208501516141c86020840182614049565b5060408501516141dc610120840182613fa0565b5060608501516141f0610140840182613f92565b506080850151614204610160840182613f60565b5060a0850151614218610180840182613f60565b5060c085015161422c6101a0840182613f60565b5060e08501516101c08301528092505050949350505050565b6001600160a01b0392831681529116602082015260400190565b6001600160a01b03929092168252602082015260400190565b60006101a08201905060018060a01b03808a1683528089511660208401528060208a01511660408401528060408a01511660608401528060608a0151166080840152506142c860a0830188614097565b6142d560e0830187614097565b6142e3610120830186614097565b8361016083015282151561018083015298975050505050505050565b6020808252601690820152751bdb9b1e481bdb99481bdc99195c88185b1b1bddd95960521b604082015260600190565b60208082526013908201527219985a5b1959081d1bc819d95d08185cdcd95d606a1b604082015260600190565b6020808252601c908201527b2ab730b13632903a379033b2ba1037b83837b9b4ba32903a37b5b2b760211b604082015260600190565b6020808252600d908201526c1a5b9d985b1a5908185cdcd95d609a1b604082015260600190565b6020808252601690820152751b1bddc818d85b1b189858dac819d85cc81b1a5b5a5d60521b604082015260600190565b6020808252601390820152721b9bdd0819db5e081dda1a5d195b1a5cdd1959606a1b604082015260600190565b6020808252601f908201527f4f6e636861696e206f7261636c6520707269636520697320696e76616c696400604082015260600190565b6020808252601890820152771bdb9b1e481bdb994819195c1bdcda5d08185b1b1bddd95960421b604082015260600190565b6020808252601f908201527f696e76616c6964206d756c746963616c6c20706172616d73206c656e67746800604082015260600190565b6020808252601590820152741b585e081b195d995c9859d948195e18d959591959605a1b604082015260600190565b6020808252601c908201527b1d5b9cdd5c1c1bdc9d1959081dda5d1a191c985dd85b08185cdcd95d60221b604082015260600190565b6020808252600d908201526c6869676820736c69707061676560981b604082015260600190565b6020808252601d908201527f696e76616c696420636f6c6c61746572616c44656c7461416d6f756e74000000604082015260600190565b6020808252600e908201526d6e6f7420706f6f6c206c6f67696360901b604082015260600190565b6020808252601e908201527f4d41585f504e4c5f464143544f525f464f525f5749544844524157414c530000604082015260600190565b6020808252601b908201527a1bdb9b1e481bdb99481dda5d1a191c985dd85b08185b1b1bddd959602a1b604082015260600190565b602080825260189082015277696e76616c6964206d756c746963616c6c20706172616d7360401b604082015260600190565b90815260200190565b918252602082015260400190565b6040518181016001600160401b038111828210171561467157fe5b604052919050565b60006001600160401b0382111561468c57fe5b5060209081020190565b60006001600160401b038211156146a957fe5b50601f01601f191660200190565b60005b838110156146d25781810151838201526020016146ba565b838111156146e1576000848401525b50505050565b6001600160a01b03811681146146fc57600080fd5b50565b80151581146146fc57600080fd5b600381106146fc57600080fd5b600981106146fc57600080fdfe53616665436173743a2076616c756520646f65736e27742066697420696e203132382062697473536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f77a2646970667358221220a6e4a36e46a1a34390b8c9d4e5aeb6b78c370bbcd58df066580d54699064edb764736f6c63430007060033