0 txs
1 call
constructor
constructor(address stateView, address positionManager, address poolManager)
functions
getPoolKeyOfZora
viewfunction getPoolKeyOfZora(address coin) view returns (tuple)
getSlot0OfZora
viewfunction getSlot0OfZora(address coin) view returns (int256 liquidity, uint160 sqrtPriceX96, int24 tick, uint24 protocolFee, uint24 lpFee)
PANCAKE_INFINITY_CLPOOLMANAGER
viewfunction PANCAKE_INFINITY_CLPOOLMANAGER() view returns (address)
PANCAKE_INFINITY_LBPOOLMANAGER
viewfunction PANCAKE_INFINITY_LBPOOLMANAGER() view returns (address)
PANCAKE_INFINITY_POSITION_MANAGER
viewfunction PANCAKE_INFINITY_POSITION_MANAGER() view returns (address)
POOL_MANAGER
viewfunction POOL_MANAGER() view returns (address)
POOLS_SLOT
viewfunction POOLS_SLOT() view returns (bytes32)
POSITION_MANAGER
viewfunction POSITION_MANAGER() view returns (address)
queryAlgebraTicksSuperCompact
viewfunction queryAlgebraTicksSuperCompact(address pool, uint256 len) view returns (bytes)
queryAlgebraTicksSuperCompact2
viewfunction queryAlgebraTicksSuperCompact2(address pool, uint256 iteration) view returns (bytes)
queryAlgebraTicksSuperCompact3_back
viewfunction queryAlgebraTicksSuperCompact3_back(address pool, uint256 len) view returns (bytes)
queryAlgebraTicksSuperCompact3
viewfunction queryAlgebraTicksSuperCompact3(address pool, uint256 len) view returns (bytes)
queryHorizonTicksSuperCompact
viewfunction queryHorizonTicksSuperCompact(address pool, uint256 iteration) view returns (bytes)
queryIzumiSuperCompact
viewfunction queryIzumiSuperCompact(address pool, uint256 len) view returns (bytes, bytes)
queryPancakeInfinityLBReserve
viewfunction queryPancakeInfinityLBReserve(bytes32 poolId) view returns (uint256 totalReserveX, uint256 totalReserveY)
queryPancakeInfinityLBReserve2
viewfunction queryPancakeInfinityLBReserve2(bytes32 poolId) view returns (uint256 totalReserveX, uint256 totalReserveY)
queryPancakeInfinityTicksSuperCompact
viewfunction queryPancakeInfinityTicksSuperCompact(bytes32 poolId, uint256 len) view returns (bytes)
queryUniv3TicksSuperCompact
viewfunction queryUniv3TicksSuperCompact(address pool, uint256 len) view returns (bytes)
queryUniv4TicksSuperCompact
viewfunction queryUniv4TicksSuperCompact(bytes32 poolId, uint256 len) view returns (bytes)
queryZoraTicksSuperCompact
viewfunction queryZoraTicksSuperCompact(address coin, uint256 len) view returns (bytes)
STATE_VIEW
viewfunction STATE_VIEW() view returns (address)
toId
purefunction toId(tuple poolKey) pure returns (bytes32 poolId)
events
No events.
errors
No errors.
creation bytecode
0x60e06040523480156200001157600080fd5b5060405162005ffa38038062005ffa83398101604081905262000034916200006f565b6001600160a01b0392831660a05290821660c05216608052620000b9565b80516001600160a01b03811681146200006a57600080fd5b919050565b6000806000606084860312156200008557600080fd5b620000908462000052565b9250620000a06020850162000052565b9150620000b06040850162000052565b90509250925092565b60805160a05160c051615ebd6200013d6000396000818161014c01526143de01526000818161033b01528181610c1701528181610e9701528181610fa1015281816110f00152818161123c0152818161447f015281816146e5015281816147ef0152818161493e0152614a8a01526000818161025801526142c90152615ebd6000f3fe608060405234801561001057600080fd5b50600436106101425760003560e01c806388c0a8a7116100b8578063c684206c1161007c578063c684206c14610370578063c7d19b7614610383578063ca883bec14610396578063cd7f833c146103a9578063d1c62f26146103fa578063f9f59a771461040d57600080fd5b806388c0a8a71461028d5780639d53d547146102f3578063a1bad89c1461031b578063aa4cfccd14610336578063c38f8f351461035d57600080fd5b8063512bcef91161010a578063512bcef9146101fc57806357eb1da71461020f578063594a1bf314610217578063609971071461023857806362308e85146102535780637df8773a1461027a57600080fd5b80631bea83fe146101475780632d6d225e1461018b57806332c961d9146101ab578063417be3f2146101ce5780634421ab4b146101e1575b600080fd5b61016e7f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b0390911681526020015b60405180910390f35b61019e6101993660046153a7565b610420565b6040516101829190615423565b6101c06101b93660046154c6565b60a0902090565b604051908152602001610182565b61019e6101dc3660046153a7565b610b81565b61016e73a0ffb9c1ce1fe56963b0321b32e7a0302114058b81565b61019e61020a366004615540565b61135f565b6101c0600681565b61022a6102253660046153a7565b611b0b565b604051610182929190615562565b61016e7355f4c8aba71a1e923edc303eb4feff14608cc22681565b61016e7f000000000000000000000000000000000000000000000000000000000000000081565b61019e6102883660046153a7565b6125d3565b6102a061029b366004615590565b612c26565b604051610182919081516001600160a01b03908116825260208084015182169083015260408084015162ffffff169083015260608084015160020b90830152608092830151169181019190915260a00190565b6103066103013660046155ad565b612cbc565b60408051928352602083019190915201610182565b61016e73c697d2898e0d09264376196696c51d7abbbaa4a981565b61016e7f000000000000000000000000000000000000000000000000000000000000000081565b61019e61036b3660046153a7565b613013565b61019e61037e3660046153a7565b613734565b6103066103913660046155ad565b613aa2565b61019e6103a43660046153a7565b613e9c565b6103bc6103b7366004615590565b614218565b604080519586526001600160a01b03909416602086015260029290920b9284019290925262ffffff918216606084015216608082015260a001610182565b61019e610408366004615540565b6143b2565b61019e61041b3660046153a7565b614bac565b606061042a61534b565b836001600160a01b031663d0c93a7c6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610468573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061048c91906155c6565b60020b815260408051600481526024810182526020810180516001600160e01b03166339db007960e21b17905290516000916001600160a01b038716916104d391906155e3565b600060405180830381855afa9150503d806000811461050e576040519150601f19603f3d011682016040523d82523d6000602084013e610513565b606091505b506040015160020b602084018190528351610100935061053492509061562b565b61053e919061562b565b600290810b604083015281516101009061055c90620d89e71961562b565b610566919061562b565b6105709190615665565b60020b608082015280516101009061058b90620d89e861562b565b610595919061562b565b6105a090600161568a565b600290810b60a083015260208201516000910b1215610633576101006001610100836000015160020b846020015160020b6105db91906156af565b6105e591906156af565b6105ef91906156dd565b6105fb90610100615704565b826000015160020b836020015160020b61061591906156af565b61061f91906156dd565b6106299190615734565b60c0820152610660565b610100816000015160020b826020015160020b6106509190615748565b61065a9190615734565b60c08201525b60c081015160e08201526020810151600060029190910b1215610694576040810180519061068d8261575c565b60020b9052505b604081015160020b60608281019190915260005b6106b3600286615748565b811080156106ce57508260a0015160020b836040015160020b125b156108eb576040838101519051630633bf1f60e51b815260019190910b60048201526000906001600160a01b0388169063c677e3e090602401602060405180830381865afa158015610724573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610748919061577f565b905080156108c75760c084015190811c905b610100811080156107745750610771600288615748565b83105b156108c5576001821680156108ab576000866000015160020b8388604001516101006107a09190615798565b60020b6107ad91906157b8565b6107b79190615704565b905060008a6001600160a01b0316826040516024016107d891815260200190565b60408051601f198184030181529181526020820180516001600160e01b031663f30dba9360e01b1790525161080d91906155e3565b600060405180830381855afa9150503d8060008114610848576040519150601f19603f3d011682016040523d82523d6000602084013e61084d565b606091505b506040810151909250905060006108716001600160801b038316608086901b6157b8565b604051909150610887908a9083906020016157e0565b604051602081830303815290604052985087806108a390615802565b985050505050505b5060019190911c90806108bd81615802565b91505061075a565b505b600060c0850152604084018051906108de8261581b565b60020b9052506106a89050565b60015b858210801561090a5750836080015160020b846060015160020b135b15610b74576060840151604051630633bf1f60e51b815260019190910b60048201526000906001600160a01b0389169063c677e3e090602401602060405180830381865afa158015610960573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610984919061577f565b9050600081118015610999575060e085015115155b15610b4b57816109a957806109cc565b6101008560e001516101006109be919061583c565b6109c89190615734565b81901b5b9050600060018660e001516109e1919061583c565b90505b87841015610b4957600160ff1b82168015610b21576000876000015160020b838960600151610100610a169190615798565b60020b610a2391906157b8565b610a2d9190615704565b905060008b6001600160a01b031682604051602401610a4e91815260200190565b60408051601f198184030181529181526020820180516001600160e01b031663f30dba9360e01b17905251610a8391906155e3565b600060405180830381855afa9150503d8060008114610abe576040519150601f19603f3d011682016040523d82523d6000602084013e610ac3565b606091505b50604081015190925090506000610ae76001600160801b038316608086901b6157b8565b604051909150610afd908b9083906020016157e0565b60405160208183030381529060405299508880610b1990615802565b995050505050505b600183901b925081600003610b365750610b49565b5080610b418161584f565b9150506109e4565b505b61010060e08601526060850180516000935090610b678261575c565b60020b9052506108ee9050565b5090925050505b92915050565b6060610b8b61534b565b6000846001600160a01b031663683e76e06040518163ffffffff1660e01b815260040160a060405180830381865afa158015610bcb573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610bef9190615866565b606081015160020b835290506000610c088260a0902090565b905060008190506000806000807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663c815641c866040518263ffffffff1660e01b8152600401610c6391815260200190565b608060405180830381865afa158015610c80573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ca491906158d4565b505060020b60208a0181905289516101009650610cc795509350915061562b9050565b610cd1919061562b565b600290810b6040860152845161010090610cef90620d89e71961562b565b610cf9919061562b565b610d039190615665565b60020b6080850152835161010090610d1e90620d89e861562b565b610d28919061562b565b610d3390600161568a565b600290810b60a086015260208501516000910b1215610dc6576101006001610100866000015160020b876020015160020b610d6e91906156af565b610d7891906156af565b610d8291906156dd565b610d8e90610100615704565b856000015160020b866020015160020b610da891906156af565b610db291906156dd565b610dbc9190615734565b60c0850152610df3565b610100846000015160020b856020015160020b610de39190615748565b610ded9190615734565b60c08501525b60c084015160e08501526020840151600060029190910b1215610e275760408401805190610e208261575c565b60020b9052505b604084015160020b60608581019190915260005b610e46600289615748565b81108015610e6157508560a0015160020b866040015160020b125b156110a357604080870151905163071f32d360e21b81526004810185905260019190910b60248201526000906001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690631c7ccb4c90604401602060405180830381865afa158015610ede573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f02919061577f565b9050801561107f5760c087015190811c905b61010081108015610f2e5750610f2b60028b615748565b83105b1561107d57600182168015611063576000896000015160020b838b60400151610100610f5a9190615798565b60020b610f6791906157b8565b610f719190615704565b6040516332bb6ad560e21b815260048101899052600282900b602482015290915060009081906001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063caedab54906044016040805180830381865afa158015610fe7573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061100b9190615961565b909250905060006110296001600160801b038316608086901b6157b8565b60405190915061103f908a9083906020016157e0565b6040516020818303038152906040529850878061105b90615802565b985050505050505b5060019190911c908061107581615802565b915050610f14565b505b600060c0880152604087018051906110968261581b565b60020b905250610e3b9050565b60015b88821080156110c25750866080015160020b876060015160020b135b1561135157606087015160405163071f32d360e21b81526004810186905260019190910b60248201526000907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690631c7ccb4c90604401602060405180830381865afa15801561113f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611163919061577f565b9050600081118015611178575060e088015115155b15611328578161118857806111ab565b6101008860e0015161010061119d919061583c565b6111a79190615734565b81901b5b9050600060018960e001516111c0919061583c565b90505b8a84101561132657600160ff1b821680156112fe5760008a6000015160020b838c606001516101006111f59190615798565b60020b61120291906157b8565b61120c9190615704565b6040516332bb6ad560e21b8152600481018a9052600282900b602482015290915060009081906001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063caedab54906044016040805180830381865afa158015611282573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112a69190615961565b909250905060006112c46001600160801b038316608086901b6157b8565b6040519091506112da908b9083906020016157e0565b604051602081830303815290604052995088806112f690615802565b995050505050505b600183901b9250816000036113135750611326565b508061131e8161584f565b9150506111c3565b505b61010060e089015260608801805160009350906113448261575c565b60020b9052506110a69050565b509098975050505050505050565b606061136961534b565b60405166ffffffffffffff19851660248201526000907355f4c8aba71a1e923edc303eb4feff14608cc2269060440160408051601f198184030181529181526020820180516001600160e01b03166386b6be7d60e01b179052516113cd91906155e3565b600060405180830381855afa9150503d8060008114611408576040519150601f19603f3d011682016040523d82523d6000602084013e61140d565b606091505b5060c081015190925090506114278160101c62ffffff1690565b60020b83525050604051633205590760e21b815260048101859052849060009073a0ffb9c1ce1fe56963b0321b32e7a0302114058b9063c815641c90602401608060405180830381865afa158015611483573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114a791906158d4565b505060020b60208501819052845161010093506114c592509061562b565b6114cf919061562b565b600290810b60408401528251610100906114ed90620d89e71961562b565b6114f7919061562b565b6115019190615665565b60020b608083015281516101009061151c90620d89e861562b565b611526919061562b565b61153190600161568a565b600290810b60a084015260208301516000910b12156115c4576101006001610100846000015160020b856020015160020b61156c91906156af565b61157691906156af565b61158091906156dd565b61158c90610100615704565b836000015160020b846020015160020b6115a691906156af565b6115b091906156dd565b6115ba9190615734565b60c08301526115f1565b610100826000015160020b836020015160020b6115e19190615748565b6115eb9190615734565b60c08301525b60c082015160e08301526020820151600060029190910b1215611625576040820180519061161e8261575c565b60020b9052505b604082015160020b60608381019190915260005b611644600287615748565b8110801561165f57508360a0015160020b846040015160020b125b15611879576040848101519051633e1a977b60e11b81526004810185905260019190910b602482015260009073a0ffb9c1ce1fe56963b0321b32e7a0302114058b90637c352ef690604401602060405180830381865afa1580156116c7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116eb919061577f565b905080156118555760c085015190811c905b610100811080156117175750611714600289615748565b83105b1561185357600182168015611839576000876000015160020b8389604001516101006117439190615798565b60020b61175091906157b8565b61175a9190615704565b6040516316a8822960e21b815260048101899052600282900b602482015290915060009073a0ffb9c1ce1fe56963b0321b32e7a0302114058b90635aa208a490604401608060405180830381865afa1580156117ba573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117de9190615994565b602081015190915060006117ff6001600160801b038316608086901b6157b8565b604051909150611815908a9083906020016157e0565b6040516020818303038152906040529850878061183190615802565b985050505050505b5060019190911c908061184b81615802565b9150506116fd565b505b600060c08601526040850180519061186c8261581b565b60020b9052506116399050565b60015b86821080156118985750846080015160020b856060015160020b135b15611aff576060850151604051633e1a977b60e11b81526004810186905260019190910b602482015260009073a0ffb9c1ce1fe56963b0321b32e7a0302114058b90637c352ef690604401602060405180830381865afa158015611900573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611924919061577f565b9050600081118015611939575060e086015115155b15611ad65781611949578061196c565b6101008660e0015161010061195e919061583c565b6119689190615734565b81901b5b9050600060018760e00151611981919061583c565b90505b88841015611ad457600160ff1b82168015611aac576000886000015160020b838a606001516101006119b69190615798565b60020b6119c391906157b8565b6119cd9190615704565b6040516316a8822960e21b8152600481018a9052600282900b602482015290915060009073a0ffb9c1ce1fe56963b0321b32e7a0302114058b90635aa208a490604401608060405180830381865afa158015611a2d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611a519190615994565b60208101519091506000611a726001600160801b038316608086901b6157b8565b604051909150611a88908b9083906020016157e0565b60405160208183030381529060405299508880611aa490615802565b995050505050505b600183901b925081600003611ac15750611ad4565b5080611acc8161584f565b915050611984565b505b61010060e08701526060860180516000935090611af28261575c565b60020b90525061187c9050565b50909695505050505050565b606080611b1661534b565b846001600160a01b03166358c51ce66040518163ffffffff1660e01b8152600401602060405180830381865afa158015611b54573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611b7891906155c6565b60020b815260408051600481526024810182526020810180516001600160e01b031663c19d93fb60e01b17905290516000916001600160a01b03881691611bbf91906155e3565b600060405180830381855afa9150503d8060008114611bfa576040519150601f19603f3d011682016040523d82523d6000602084013e611bff565b606091505b506040015160020b6020840181905283516101009350611c2092509061562b565b611c2a919061562b565b600290810b6040830152815161010090611c4890620d89e71961562b565b611c52919061562b565b611c5c9190615665565b60020b6080820152805161010090611c7790620d89e861562b565b611c81919061562b565b611c8c90600161568a565b600290810b60a083015260208201516000910b1215611d1f576101006001610100836000015160020b846020015160020b611cc791906156af565b611cd191906156af565b611cdb91906156dd565b611ce790610100615704565b826000015160020b836020015160020b611d0191906156af565b611d0b91906156dd565b611d159190615734565b60c0820152611d4c565b610100816000015160020b826020015160020b611d3c9190615748565b611d469190615734565b60c08201525b60c081015160e08201526020810151600060029190910b1215611d805760408101805190611d798261575c565b60020b9052505b604081015160020b6060828101919091528060005b611da0600288615748565b81108015611dbb57508360a0015160020b846040015160020b125b1561217b576040848101519051634c507b9760e11b815260019190910b60048201526000906001600160a01b038a16906398a0f72e90602401602060405180830381865afa158015611e11573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611e35919061577f565b905080156121575760c085015190811c905b6101008110156121555760018216801561213b576000876000015160020b838960400151610100611e789190615798565b60020b611e8591906157b8565b611e8f9190615704565b905060008c6001600160a01b031663edcba3b28a6000015184611eb2919061562b565b6040516001600160e01b031960e084901b16815260029190910b6004820152602401602060405180830381865afa158015611ef1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611f1591906155c6565b90508060011660020b600103611ffa576040516375c0e0d560e01b8152600283900b60048201526000906001600160a01b038f16906375c0e0d59060240160a060405180830381865afa158015611f70573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611f949190615a16565b50505091505080600f0b600014611ff8576000611fc16001600160801b038316608086901b60120b6157b8565b604051909150611fd7908b9083906020016157e0565b60405160208183030381529060405299508780611ff390615802565b985050505b505b8060021660020b600203612138576000808e6001600160a01b0316638790aca3856040518263ffffffff1660e01b8152600401612040919060029190910b815260200190565b61014060405180830381865afa15801561205e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906120829190615a66565b505050509550505050509150816001600160801b031660001415806120af57506001600160801b03811615155b15612135576040805160e086901b601e0b60208201526001600160901b0319609085811b8216602484015284901b166032820152600091016040516020818303038152906040526120ff90615b04565b905089816040516020016121149291906157e0565b6040516020818303038152906040529950888061213090615802565b995050505b50505b50505b5060019190911c908061214d81615802565b915050611e47565b505b600060c08601526040850180519061216e8261581b565b60020b905250611d959050565b60015b878210801561219a5750846080015160020b856060015160020b135b156125c5576060850151604051634c507b9760e11b815260019190910b60048201526000906001600160a01b038b16906398a0f72e90602401602060405180830381865afa1580156121f0573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612214919061577f565b9050600081118015612229575060e086015115155b1561259c5781612239578061225c565b6101008660e0015161010061224e919061583c565b6122589190615734565b81901b5b9050600060018760e00151612271919061583c565b90505b8984101561259a57600160ff1b82168015612572576000886000015160020b838a606001516101006122a69190615798565b60020b6122b391906157b8565b6122bd9190615704565b905060008d6001600160a01b031663edcba3b28b60000151846122e0919061562b565b6040516001600160e01b031960e084901b16815260029190910b6004820152602401602060405180830381865afa15801561231f573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061234391906155c6565b90508060011660020b6001036124315760008e6001600160a01b03166375c0e0d5846040518263ffffffff1660e01b815260040161238a919060029190910b815260200190565b60a060405180830381865afa1580156123a7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906123cb9190615a16565b50505091505080600f0b60001461242f5760006123f86001600160801b038316608086901b60120b6157b8565b60405190915061240e908c9083906020016157e0565b6040516020818303038152906040529a50888061242a90615802565b995050505b505b8060021660020b60020361256f576000808f6001600160a01b0316638790aca3856040518263ffffffff1660e01b8152600401612477919060029190910b815260200190565b61014060405180830381865afa158015612495573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906124b99190615a66565b505050509550505050509150816001600160801b031660001415806124e657506001600160801b03811615155b1561256c576040805160e086901b601e0b60208201526001600160901b0319609085811b8216602484015284901b1660328201526000910160405160208183030381529060405261253690615b04565b90508a8160405160200161254b9291906157e0565b6040516020818303038152906040529a50898061256790615802565b9a5050505b50505b50505b600183901b925081600003612587575061259a565b50806125928161584f565b915050612274565b505b61010060e087015260608601805160009350906125b88261575c565b60020b90525061217e9050565b509197909650945050505050565b60606125dd61534b565b60408051600481526024810182526020810180516001600160e01b03166339db007960e21b17905290516000916001600160a01b0387169161261f91906155e3565b600060405180830381855afa9150503d806000811461265a576040519150601f19603f3d011682016040523d82523d6000602084013e61265f565b606091505b506040015160020b6020840181905261267d9250610100915061562b565b600290810b6040830152612697610100620d89e71961562b565b6126a19190615665565b60020b60808201526126b8610100620d89e861562b565b6126c390600161568a565b600290810b60a083015260208201516000910b121561271b576101008082602001516126ee90615b2b565b60020b6126fb9190615734565b6127079061010061583c565b6127119190615734565b60c0820152612736565b610100816020015160020b6127309190615734565b60c08201525b60c081015160e08201526020810151600060029190910b121561276a57604081018051906127638261575c565b60020b9052505b604081015160020b60608281019190915260005b612789600286615748565b811080156127a457508260a0015160020b836040015160020b125b156129af576040838101519051630633bf1f60e51b815260019190910b60048201526000906001600160a01b0388169063c677e3e090602401602060405180830381865afa1580156127fa573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061281e919061577f565b9050801561298b5760c084015190811c905b6101008110801561284a5750612847600288615748565b83105b156129895760018216801561296f57600082876040015161010061286e9190615798565b60020b61287b91906157b8565b905060008a6001600160a01b03168260405160240161289c91815260200190565b60408051601f198184030181529181526020820180516001600160e01b031663f30dba9360e01b179052516128d191906155e3565b600060405180830381855afa9150503d806000811461290c576040519150601f19603f3d011682016040523d82523d6000602084013e612911565b606091505b506040810151909250905060006129356001600160801b038316608086901b6157b8565b60405190915061294b908a9083906020016157e0565b6040516020818303038152906040529850878061296790615802565b985050505050505b5060019190911c908061298181615802565b915050612830565b505b600060c0850152604084018051906129a28261581b565b60020b90525061277e9050565b60015b85821080156129ce5750836080015160020b846060015160020b135b15610b74576060840151604051630633bf1f60e51b815260019190910b60048201526000906001600160a01b0389169063c677e3e090602401602060405180830381865afa158015612a24573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612a48919061577f565b9050600081118015612a5d575060e085015115155b15612bfd5781612a6d5780612a90565b6101008560e00151610100612a82919061583c565b612a8c9190615734565b81901b5b9050600060018660e00151612aa5919061583c565b90505b87841015612bfb57600160ff1b82168015612bd3576000828860600151610100612ad29190615798565b60020b612adf91906157b8565b905060008b6001600160a01b031682604051602401612b0091815260200190565b60408051601f198184030181529181526020820180516001600160e01b031663f30dba9360e01b17905251612b3591906155e3565b600060405180830381855afa9150503d8060008114612b70576040519150601f19603f3d011682016040523d82523d6000602084013e612b75565b606091505b50604081015190925090506000612b996001600160801b038316608086901b6157b8565b604051909150612baf908b9083906020016157e0565b60405160208183030381529060405299508880612bcb90615802565b995050505050505b600183901b925081600003612be85750612bfb565b5080612bf38161584f565b915050612aa8565b505b61010060e08601526060850180516000935090612c198261575c565b60020b9052506129b29050565b6040805160a0810182526000808252602082018190529181018290526060810182905260808101919091526000826001600160a01b031663683e76e06040518163ffffffff1660e01b815260040160a060405180830381865afa158015612c91573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612cb59190615866565b9392505050565b604051633205590760e21b81526004810182905260009081908390829073c697d2898e0d09264376196696c51d7abbbaa4a99063c815641c90602401606060405180830381865afa158015612d15573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612d399190615b4d565b50909150600090508060015b604051635fbdb94360e11b8152600481018690526000602482015262ffffff8216604482015273c697d2898e0d09264376196696c51d7abbbaa4a99063bf7b728690606401602060405180830381865afa158015612da7573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612dcb9190615b9a565b905062ffffff81161580612de3575062ffffff818116145b612e9d57604051634580c3c560e01b81526004810186905262ffffff8216602482015273c697d2898e0d09264376196696c51d7abbbaa4a990634580c3c590604401608060405180830381865afa158015612e42573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612e669190615bb7565b509194509250612e8190506001600160801b03841688615bfa565b9650612e966001600160801b03831687615bfa565b9550612d45565b6000612ead600162ffffff615c0d565b90505b604051635fbdb94360e11b8152600481018790526001602482015262ffffff8216604482015273c697d2898e0d09264376196696c51d7abbbaa4a99063bf7b728690606401602060405180830381865afa158015612f12573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612f369190615b9a565b905062ffffff81161580612f4e575062ffffff818116145b61300857604051634580c3c560e01b81526004810187905262ffffff8216602482015273c697d2898e0d09264376196696c51d7abbbaa4a990634580c3c590604401608060405180830381865afa158015612fad573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612fd19190615bb7565b509195509350612fec90506001600160801b03851689615bfa565b97506130016001600160801b03841688615bfa565b9650612eb0565b505050505050915091565b606061301d61534b565b6001815260408051600481526024810182526020810180516001600160e01b03166339db007960e21b17905290516000916001600160a01b0387169161306391906155e3565b600060405180830381855afa9150503d806000811461309e576040519150601f19603f3d011682016040523d82523d6000602084013e6130a3565b606091505b506040015160020b602084015250600090506130c08460c8615798565b9050610100826000015183602001516130d9919061562b565b6130e3919061562b565b600290810b6040840152825160208401516101009190613104908590615665565b61310e919061562b565b613118919061562b565b6131229190615665565b60020b608083015281516020830151610100919061314190849061568a565b61314b919061562b565b613155919061562b565b61316090600161568a565b600290810b60a084015260208301516000910b12156131f3576101006001610100846000015160020b856020015160020b61319b91906156af565b6131a591906156af565b6131af91906156dd565b6131bb90610100615704565b836000015160020b846020015160020b6131d591906156af565b6131df91906156dd565b6131e99190615734565b60c0830152613220565b610100826000015160020b836020015160020b6132109190615748565b61321a9190615734565b60c08301525b60c082015160e08301526020820151600060029190910b1215613254576040820180519061324d8261575c565b60020b9052505b604082015160020b60608381019190915260005b613273600287615748565b8110801561328e57508360a0015160020b846040015160020b125b156134ab576040848101519051630633bf1f60e51b815260019190910b60048201526000906001600160a01b0389169063c677e3e090602401602060405180830381865afa1580156132e4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613308919061577f565b905080156134875760c085015190811c905b610100811080156133345750613331600289615748565b83105b156134855760018216801561346b576000876000015160020b8389604001516101006133609190615798565b60020b61336d91906157b8565b6133779190615704565b905060008b6001600160a01b03168260405160240161339891815260200190565b60408051601f198184030181529181526020820180516001600160e01b031663f30dba9360e01b179052516133cd91906155e3565b600060405180830381855afa9150503d8060008114613408576040519150601f19603f3d011682016040523d82523d6000602084013e61340d565b606091505b506040810151909250905060006134316001600160801b038316608086901b6157b8565b604051909150613447908a9083906020016157e0565b6040516020818303038152906040529850878061346390615802565b985050505050505b5060019190911c908061347d81615802565b91505061331a565b505b600060c08601526040850180519061349e8261581b565b60020b9052506132689050565b60015b86821080156134ca5750846080015160020b856060015160020b135b15611aff576060850151604051630633bf1f60e51b815260019190910b60048201526000906001600160a01b038a169063c677e3e090602401602060405180830381865afa158015613520573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613544919061577f565b9050600081118015613559575060e086015115155b1561370b5781613569578061358c565b6101008660e0015161010061357e919061583c565b6135889190615734565b81901b5b9050600060018760e001516135a1919061583c565b90505b8884101561370957600160ff1b821680156136e1576000886000015160020b838a606001516101006135d69190615798565b60020b6135e391906157b8565b6135ed9190615704565b905060008c6001600160a01b03168260405160240161360e91815260200190565b60408051601f198184030181529181526020820180516001600160e01b031663f30dba9360e01b1790525161364391906155e3565b600060405180830381855afa9150503d806000811461367e576040519150601f19603f3d011682016040523d82523d6000602084013e613683565b606091505b506040810151909250905060006136a76001600160801b038316608086901b6157b8565b6040519091506136bd908b9083906020016157e0565b604051602081830303815290604052995088806136d990615802565b995050505050505b600183901b9250816000036136f65750613709565b50806137018161584f565b9150506135a4565b505b61010060e087015260608601805160009350906137278261575c565b60020b9052506134ae9050565b60606000836001600160a01b031663217ac2376040518163ffffffff1660e01b8152600401608060405180830381865afa158015613776573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061379a9190615c29565b509250829150600090506137af600286615748565b905060605b620d89e9600285900b1280156137c957508186115b156139255760405163f30dba9360e01b8152600285900b60048201526000906001600160a01b0389169063f30dba9390602401608060405180830381865afa158015613819573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061383d9190615c85565b509092506000915061386190506001600160801b038316608088901b60120b6157b8565b60405190915061387790849083906020016157e0565b60408051808303601f190181529082905263c0ac75cf60e01b8252600288900b600483015293506000906001600160a01b038b169063c0ac75cf906024016040805180830381865afa1580156138d1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906138f59190615cc7565b9150508060020b8760020b0361390d57505050613925565b9550858861391a8161584f565b9950505050506137b4565b620d89e819600284900b13801561393c5750600086115b15613a985760405163f30dba9360e01b8152600284900b60048201526000906001600160a01b0389169063f30dba9390602401608060405180830381865afa15801561398c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906139b09190615c85565b50909250600091506139d490506001600160801b038316608087901b60120b6157b8565b6040519091506139ea90849083906020016157e0565b60408051808303601f190181529082905263c0ac75cf60e01b8252600287900b600483015293506000906001600160a01b038b169063c0ac75cf906024016040805180830381865afa158015613a44573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613a689190615cc7565b5090508560020b8160020b03613a8057505050613a98565b94508488613a8d8161584f565b995050505050613925565b9695505050505050565b604051633205590760e21b81526004810182905260009081908390829073c697d2898e0d09264376196696c51d7abbbaa4a99063c815641c90602401606060405180830381865afa158015613afb573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613b1f9190615b4d565b5050604051634580c3c560e01b81526004810184905262ffffff82166024820152909150600090819073c697d2898e0d09264376196696c51d7abbbaa4a990634580c3c590604401608060405180830381865afa158015613b84573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613ba89190615bb7565b505091509150816001600160801b031686613bc39190615bfa565b9550613bd86001600160801b03821686615bfa565b9450825b604051635fbdb94360e11b8152600481018690526000602482015262ffffff8216604482015273c697d2898e0d09264376196696c51d7abbbaa4a99063bf7b728690606401602060405180830381865afa158015613c3e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613c629190615b9a565b905062ffffff81161580613c7a575062ffffff818116145b613d3457604051634580c3c560e01b81526004810186905262ffffff8216602482015273c697d2898e0d09264376196696c51d7abbbaa4a990634580c3c590604401608060405180830381865afa158015613cd9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613cfd9190615bb7565b509194509250613d1890506001600160801b03841688615bfa565b9650613d2d6001600160801b03831687615bfa565b9550613bdc565b6000613d41856001615d01565b90505b604051635fbdb94360e11b8152600481018790526001602482015262ffffff8216604482015273c697d2898e0d09264376196696c51d7abbbaa4a99063bf7b728690606401602060405180830381865afa158015613da6573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613dca9190615b9a565b905062ffffff81161580613de2575062ffffff818116145b61300857604051634580c3c560e01b81526004810187905262ffffff8216602482015273c697d2898e0d09264376196696c51d7abbbaa4a990634580c3c590604401608060405180830381865afa158015613e41573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613e659190615bb7565b509195509350613e8090506001600160801b03851689615bfa565b9750613e956001600160801b03841688615bfa565b9650613d44565b60408051600481526024810182526020810180516001600160e01b031663bba0f17160e01b1790529051606091600091829182916001600160a01b03881691613ee4916155e3565b600060405180830381855afa9150503d8060008114613f1f576040519150601f19603f3d011682016040523d82523d6000602084013e613f24565b606091505b50915091508115613f4a5780806020019051810190613f4391906155c6565b9250613fdc565b60408051600481526024810182526020810180516001600160e01b03166339db007960e21b17905290516001600160a01b03881691613f88916155e3565b600060405180830381855afa9150503d8060008114613fc3576040519150601f19603f3d011682016040523d82523d6000602084013e613fc8565b606091505b5090925090508115613fdc57606081015192505b508190506000613fed600286615748565b905060605b620d89e9600285900b12801561400757508186115b156141045760405163f30dba9360e01b8152600285900b6004820152600090819081906001600160a01b038b169063f30dba939060240161012060405180830381865afa15801561405c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906140809190615d1d565b505050955095505050935050600083600f0b6001600160801b031660808960020b901b6140ad91906157b8565b6040519091506140c390869083906020016157e0565b60405160208183030381529060405294508160020b8860020b036140ea5750505050614104565b81975089806140f89061584f565b9a505050505050613ff2565b620d89e819600284900b13801561411b5750600086115b15613a985760405163f30dba9360e01b8152600284900b6004820152600090819081906001600160a01b038b169063f30dba939060240161012060405180830381865afa158015614170573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906141949190615d1d565b505050955095505050935050600083600f0b6001600160801b031660808860020b901b6141c191906157b8565b6040519091506141d790869083906020016157e0565b60405160208183030381529060405294508260020b8760020b036141fe5750505050613a98565b829650898061420c9061584f565b9a505050505050614104565b600080600080600080866001600160a01b031663683e76e06040518163ffffffff1660e01b815260040160a060405180830381865afa15801561425f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906142839190615866565b905060006142928260a0902090565b9050600061429f8261530e565b604051631afeb18d60e11b8152600481810183905260248201529091506000906001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016906335fd631a90604401600060405180830381865afa158015614310573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526143389190810190615dcb565b905060008160008151811061434f5761434f615e71565b602002602001015190508160038151811061436c5761436c615e71565b602002602001015160001c99506001600160a01b03811698508060a01c60020b975062ffffff8160b81c16965062ffffff8160d01c169550505050505091939590929450565b60606143bc61534b565b6040516386b6be7d60e01b815266ffffffffffffff19851660048201526000907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906386b6be7d9060240160a060405180830381865afa15801561442d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906144519190615866565b606081015160020b8352604051633205590760e21b81526004810187905290915085906000908190819081907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063c815641c90602401608060405180830381865afa1580156144ce573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906144f291906158d4565b505060020b602089018190528851610100965061451595509350915061562b9050565b61451f919061562b565b600290810b604085015283516101009061453d90620d89e71961562b565b614547919061562b565b6145519190615665565b60020b608084015282516101009061456c90620d89e861562b565b614576919061562b565b61458190600161568a565b600290810b60a085015260208401516000910b1215614614576101006001610100856000015160020b866020015160020b6145bc91906156af565b6145c691906156af565b6145d091906156dd565b6145dc90610100615704565b846000015160020b856020015160020b6145f691906156af565b61460091906156dd565b61460a9190615734565b60c0840152614641565b610100836000015160020b846020015160020b6146319190615748565b61463b9190615734565b60c08401525b60c083015160e08401526020830151600060029190910b1215614675576040830180519061466e8261575c565b60020b9052505b604083015160020b60608481019190915260005b614694600288615748565b811080156146af57508460a0015160020b856040015160020b125b156148f157604080860151905163071f32d360e21b81526004810185905260019190910b60248201526000906001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690631c7ccb4c90604401602060405180830381865afa15801561472c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190614750919061577f565b905080156148cd5760c086015190811c905b6101008110801561477c575061477960028a615748565b83105b156148cb576001821680156148b1576000886000015160020b838a604001516101006147a89190615798565b60020b6147b591906157b8565b6147bf9190615704565b6040516332bb6ad560e21b815260048101899052600282900b602482015290915060009081906001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063caedab54906044016040805180830381865afa158015614835573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906148599190615961565b909250905060006148776001600160801b038316608086901b6157b8565b60405190915061488d908a9083906020016157e0565b604051602081830303815290604052985087806148a990615802565b985050505050505b5060019190911c90806148c381615802565b915050614762565b505b600060c0870152604086018051906148e48261581b565b60020b9052506146899050565b60015b87821080156149105750856080015160020b866060015160020b135b15614b9f57606086015160405163071f32d360e21b81526004810186905260019190910b60248201526000907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690631c7ccb4c90604401602060405180830381865afa15801561498d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906149b1919061577f565b90506000811180156149c6575060e087015115155b15614b7657816149d657806149f9565b6101008760e001516101006149eb919061583c565b6149f59190615734565b81901b5b9050600060018860e00151614a0e919061583c565b90505b89841015614b7457600160ff1b82168015614b4c576000896000015160020b838b60600151610100614a439190615798565b60020b614a5091906157b8565b614a5a9190615704565b6040516332bb6ad560e21b8152600481018a9052600282900b602482015290915060009081906001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063caedab54906044016040805180830381865afa158015614ad0573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190614af49190615961565b90925090506000614b126001600160801b038316608086901b6157b8565b604051909150614b28908b9083906020016157e0565b60405160208183030381529060405299508880614b4490615802565b995050505050505b600183901b925081600003614b615750614b74565b5080614b6c8161584f565b915050614a11565b505b61010060e08801526060870180516000935090614b928261575c565b60020b9052506148f49050565b5090979650505050505050565b6060614bb661534b565b836001600160a01b031663d0c93a7c6040518163ffffffff1660e01b8152600401602060405180830381865afa158015614bf4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190614c1891906155c6565b60020b815260408051600481526024810182526020810180516001600160e01b0316633850c7bd60e01b17905290516000916001600160a01b03871691614c5f91906155e3565b600060405180830381855afa9150503d8060008114614c9a576040519150601f19603f3d011682016040523d82523d6000602084013e614c9f565b606091505b506040015160020b6020840181905283516101009350614cc092509061562b565b614cca919061562b565b600290810b6040830152815161010090614ce890620d89e71961562b565b614cf2919061562b565b614cfc9190615665565b60020b6080820152805161010090614d1790620d89e861562b565b614d21919061562b565b614d2c90600161568a565b600290810b60a083015260208201516000910b1215614dbf576101006001610100836000015160020b846020015160020b614d6791906156af565b614d7191906156af565b614d7b91906156dd565b614d8790610100615704565b826000015160020b836020015160020b614da191906156af565b614dab91906156dd565b614db59190615734565b60c0820152614dec565b610100816000015160020b826020015160020b614ddc9190615748565b614de69190615734565b60c08201525b60c081015160e08201526020810151600060029190910b1215614e205760408101805190614e198261575c565b60020b9052505b604081015160020b60608281019190915260005b614e3f600286615748565b81108015614e5a57508260a0015160020b836040015160020b125b1561507e57604083810151905163299ce14b60e11b815260019190910b60048201526000906001600160a01b03881690635339c29690602401602060405180830381865afa158015614eb0573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190614ed4919061577f565b9050801561505a5760c084015190811c905b61010081108015614f005750614efd600288615748565b83105b156150585760018216801561503e576000866000015160020b838860400151610100614f2c9190615798565b60020b614f3991906157b8565b614f439190615704565b60408051600283900b60248083019190915282518083039091018152604490910182526020810180516001600160e01b031663f30dba9360e01b179052905191925060009182916001600160a01b038e1691614f9f91906155e3565b600060405180830381855afa9150503d8060008114614fda576040519150601f19603f3d011682016040523d82523d6000602084013e614fdf565b606091505b50604081015193509150600090506150046001600160801b038416608086901b6157b8565b60405190915061501a908a9083906020016157e0565b6040516020818303038152906040529850878061503690615802565b985050505050505b5060019190911c908061505081615802565b915050614ee6565b505b600060c0850152604084018051906150718261581b565b60020b905250614e349050565b60015b858210801561509d5750836080015160020b846060015160020b135b15610b7457606084015160405163299ce14b60e11b815260019190910b60048201526000906001600160a01b03891690635339c29690602401602060405180830381865afa1580156150f3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190615117919061577f565b905060008111801561512c575060e085015115155b156152e5578161513c578061515f565b6101008560e00151610100615151919061583c565b61515b9190615734565b81901b5b9050600060018660e00151615174919061583c565b90505b878410156152e357600160ff1b821680156152bb576000876000015160020b8389606001516101006151a99190615798565b60020b6151b691906157b8565b6151c09190615704565b60408051600283900b60248083019190915282518083039091018152604490910182526020810180516001600160e01b031663f30dba9360e01b179052905191925060009182916001600160a01b038f169161521c91906155e3565b600060405180830381855afa9150503d8060008114615257576040519150601f19603f3d011682016040523d82523d6000602084013e61525c565b606091505b50604081015193509150600090506152816001600160801b038416608086901b6157b8565b604051909150615297908b9083906020016157e0565b604051602081830303815290604052995088806152b390615802565b995050505050505b600183901b9250816000036152d057506152e3565b50806152db8161584f565b915050615177565b505b61010060e086015260608501805160009350906153018261575c565b60020b9052506150819050565b60405160009061532e908390600690602001918252602082015260400190565b604051602081830303815290604052805190602001209050919050565b6040805161010081018252600080825260208201819052918101829052606081018290526080810182905260a0810182905260c0810182905260e081019190915290565b6001600160a01b03811681146153a457600080fd5b50565b600080604083850312156153ba57600080fd5b82356153c58161538f565b946020939093013593505050565b60005b838110156153ee5781810151838201526020016153d6565b50506000910152565b6000815180845261540f8160208601602086016153d3565b601f01601f19169290920160200192915050565b602081526000612cb560208301846153f7565b634e487b7160e01b600052604160045260246000fd5b60405160a0810167ffffffffffffffff8111828210171561546f5761546f615436565b60405290565b604051601f8201601f1916810167ffffffffffffffff8111828210171561549e5761549e615436565b604052919050565b62ffffff811681146153a457600080fd5b8060020b81146153a457600080fd5b600060a082840312156154d857600080fd5b6154e061544c565b82356154eb8161538f565b815260208301356154fb8161538f565b6020820152604083013561550e816154a6565b60408201526060830135615521816154b7565b606082015260808301356155348161538f565b60808201529392505050565b6000806040838503121561555357600080fd5b50508035926020909101359150565b60408152600061557560408301856153f7565b828103602084015261558781856153f7565b95945050505050565b6000602082840312156155a257600080fd5b8135612cb58161538f565b6000602082840312156155bf57600080fd5b5035919050565b6000602082840312156155d857600080fd5b8151612cb5816154b7565b600082516155f58184602087016153d3565b9190910192915050565b634e487b7160e01b600052601260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b60008160020b8360020b80615642576156426155ff565b627fffff1982146000198214161561565c5761565c615615565b90059392505050565b600282810b9082900b03627fffff198112627fffff82131715610b7b57610b7b615615565b600281810b9083900b01627fffff8113627fffff1982121715610b7b57610b7b615615565b6000826156be576156be6155ff565b600160ff1b8214600019841416156156d8576156d8615615565b500590565b81810360008312801583831316838312821617156156fd576156fd615615565b5092915050565b80820260008212600160ff1b8414161561572057615720615615565b8181058314821517610b7b57610b7b615615565b600082615743576157436155ff565b500690565b600082615757576157576155ff565b500490565b60008160020b627fffff19810361577557615775615615565b6000190192915050565b60006020828403121561579157600080fd5b5051919050565b60008260020b8260020b028060020b91508082146156fd576156fd615615565b80820182811260008312801582168215821617156157d8576157d8615615565b505092915050565b600083516157f28184602088016153d3565b9190910191825250602001919050565b60006001820161581457615814615615565b5060010190565b60008160020b627fffff810361583357615833615615565b60010192915050565b81810381811115610b7b57610b7b615615565b60008161585e5761585e615615565b506000190190565b600060a0828403121561587857600080fd5b61588061544c565b825161588b8161538f565b8152602083015161589b8161538f565b602082015260408301516158ae816154a6565b604082015260608301516158c1816154b7565b606082015260808301516155348161538f565b600080600080608085870312156158ea57600080fd5b84516158f58161538f565b6020860151909450615906816154b7565b6040860151909350615917816154a6565b6060860151909250615928816154a6565b939692955090935050565b80516001600160801b038116811461594a57600080fd5b919050565b8051600f81900b811461594a57600080fd5b6000806040838503121561597457600080fd5b61597d83615933565b915061598b6020840161594f565b90509250929050565b6000608082840312156159a657600080fd5b6040516080810181811067ffffffffffffffff821117156159c9576159c9615436565b6040526159d583615933565b81526159e36020840161594f565b602082015260408301516040820152606083015160608201528091505092915050565b8051801515811461594a57600080fd5b600080600080600060a08688031215615a2e57600080fd5b85519450615a3e6020870161594f565b93506040860151925060608601519150615a5a60808701615a06565b90509295509295909350565b6000806000806000806000806000806101408b8d031215615a8657600080fd5b615a8f8b615933565b9950615a9d60208c01615933565b985060408b0151975060608b01519650615ab960808c01615933565b9550615ac760a08c01615933565b9450615ad560c08c01615933565b9350615ae360e08c01615933565b92506101008b015191506101208b015190509295989b9194979a5092959850565b80516020808301519190811015615b25576000198160200360031b1b821691505b50919050565b60008160020b627fffff198103615b4457615b44615615565b60000392915050565b600080600060608486031215615b6257600080fd5b8351615b6d816154a6565b6020850151909350615b7e816154a6565b6040850151909250615b8f816154a6565b809150509250925092565b600060208284031215615bac57600080fd5b8151612cb5816154a6565b60008060008060808587031215615bcd57600080fd5b615bd685615933565b9350615be460208601615933565b6040860151606090960151949790965092505050565b80820180821115610b7b57610b7b615615565b62ffffff8281168282160390808211156156fd576156fd615615565b60008060008060808587031215615c3f57600080fd5b8451615c4a8161538f565b6020860151909450615c5b816154b7565b6040860151909350615c6c816154b7565b9150615c7a60608601615a06565b905092959194509250565b60008060008060808587031215615c9b57600080fd5b615ca485615933565b9350615cb26020860161594f565b925060408501519150615c7a60608601615933565b60008060408385031215615cda57600080fd5b8251615ce5816154b7565b6020840151909250615cf6816154b7565b809150509250929050565b62ffffff8181168382160190808211156156fd576156fd615615565b60008060008060008060008060006101208a8c031215615d3c57600080fd5b615d458a615933565b9850615d5360208b0161594f565b975060408a0151965060608a0151955060808a0151615d71816154b7565b60a08b0151909550615d82816154b7565b60c08b0151909450615d938161538f565b60e08b015190935063ffffffff81168114615dad57600080fd5b9150615dbc6101008b01615a06565b90509295985092959850929598565b60006020808385031215615dde57600080fd5b825167ffffffffffffffff80821115615df657600080fd5b818501915085601f830112615e0a57600080fd5b815181811115615e1c57615e1c615436565b8060051b9150615e2d848301615475565b8181529183018401918481019088841115615e4757600080fd5b938501935b83851015615e6557845182529385019390850190615e4c565b98975050505050505050565b634e487b7160e01b600052603260045260246000fdfea2646970667358221220897ed230a1dc55829aafd2f2a815049f18b56c0e05e9f00287c8d72354523f3f64736f6c63430008110033000000000000000000000000d13dd3d6e93f276fafc9db9e6bb47c1180aee0c40000000000000000000000007a4a5c919ae2541aed11041a1aeee68f1287f95b00000000000000000000000028e2ea090877bf75740558f6bfb36a5ffee9e9df