0 txs
0 calls
constructor
No constructor.
functions
farmsTags
viewfunction farmsTags(uint256, uint256) view returns (uint256)
getActivePools
viewfunction getActivePools(address user) view returns (tuple[] poolInfo)
getActivePoolsIds
viewfunction getActivePoolsIds() view returns (uint256[] idsActive, uint256[] idsInactive)
getAutoBSWPool
viewfunction getAutoBSWPool(tuple poolInstance, address user) view returns (tuple poolInfo)
getFarm
viewfunction getFarm(address user, uint256 pid) view returns (tuple farm)
getFarms
viewfunction getFarms(address user) view returns (tuple[] farm, uint256 totalAllocPoint)
getHoldersPoolBalance
viewfunction getHoldersPoolBalance(address _user) view returns (uint256 holderPoolBalance)
getInactivePools
viewfunction getInactivePools(address user) view returns (tuple[] poolInfo)
getMasterChef
viewfunction getMasterChef(tuple poolInstance, address user) view returns (tuple poolInfo)
getPool
viewfunction getPool(address user, uint256 poolId) view returns (tuple poolInfo)
getPools
viewfunction getPools(address user) view returns (tuple[] poolInfo)
getSmartChef
viewfunction getSmartChef(tuple poolInstance, address user) view returns (tuple poolInfo)
getSmartChefNFTCollectibles
viewfunction getSmartChefNFTCollectibles(tuple poolInstance, address user) view returns (tuple poolInfo)
getSmartChefV2
viewfunction getSmartChefV2(tuple poolInstance, address user) view returns (tuple poolInfo)
getSmartChefV2PF
viewfunction getSmartChefV2PF(tuple poolInstance, address user) view returns (tuple poolInfo)
getTokenInfo
viewfunction getTokenInfo(address tokenAddress, address user) view returns (tuple token)
poolExist
viewfunction poolExist(address _pool) view returns (bool)
poolInstances
viewfunction poolInstances(address) view returns (address poolAddress, uint8 poolType, bool inProd, string projectLink)
poolInstancesLength
viewfunction poolInstancesLength() view returns (uint256)
pools
viewfunction pools(uint256) view returns (address)
sortFarms
viewfunction sortFarms(uint256) view returns (uint256)
sortPools
viewfunction sortPools(address) view returns (uint256)
addFarmsTags
nonpayablefunction addFarmsTags(tuple[] _farmTags)
addPool
nonpayablefunction addPool(tuple[] _pools)
addSortFarms
nonpayablefunction addSortFarms(tuple[] sortFarmsIds)
addSortPools
nonpayablefunction addSortPools(tuple[] sortPoolsIds)
changeProdMode
nonpayablefunction changeProdMode(address poolAddress, bool state)
changeTagCodes
nonpayablefunction changeTagCodes(address poolAddress, uint8[] tagCodes)
delPool
nonpayablefunction delPool(address poolAddress)
setSortId
nonpayablefunction setSortId(uint256 _sortId)
transferOwnership
nonpayablefunction transferOwnership(address _newOwner)
updatePool
nonpayablefunction updatePool(address poolAddress, tuple _pool)
events
No events.
errors
No errors.
creation bytecode
0x608060405234801561001057600080fd5b50615d4180620000216000396000f3fe608060405234801561001057600080fd5b50600436106101f05760003560e01c80637425bb091161010f578063a2fdc6f9116100a2578063cb71666511610071578063cb716665146104ce578063ce82de34146104e1578063cefb23f2146104f7578063f2fde38b146104ff57600080fd5b8063a2fdc6f91461045d578063ac4afa381461047d578063b4dc1ae9146104a8578063bc5e9c8b146104bb57600080fd5b80637f28189f116100de5780637f28189f146103c75780638557b991146103e857806389345efb146103fb5780639703bcdd1461043a57600080fd5b80637425bb09146103615780637985a1b4146103745780637a32ecbe146103945780637b51786c146103a757600080fd5b80635823a04f11610187578063613cd3f311610156578063613cd3f3146103155780636753847f14610328578063716eb04e1461033b578063730f7adb1461034e57600080fd5b80635823a04f146102bc5780635b399d0f146102cf5780635b5b9ea2146102ef5780635c39f4671461030257600080fd5b8063418196fc116101c3578063418196fc14610270578063450e8000146102835780634e1ee2b71461029657806354db3cc8146102a957600080fd5b806308c8ed19146101f557806311f56018146102285780632432814f1461023d5780633820f0fa14610250575b600080fd5b6102156102033660046146e6565b60056020526000908152604090205481565b6040519081526020015b60405180910390f35b61023b61023636600461473d565b610512565b005b61023b61024b366004614776565b610598565b61026361025e3660046149c8565b610664565b60405161021f9190614da8565b61026361027e3660046149c8565b610c32565b61023b610291366004614e0d565b6110f7565b6102156102a4366004614e4e565b6112e0565b6102636102b73660046149c8565b611449565b61023b6102ca366004614e4e565b6117b9565b6102e26102dd366004614e4e565b611947565b60405161021f9190614e6b565b6102636102fd366004614ecd565b611a11565b6102e2610310366004614e4e565b611d34565b6102636103233660046149c8565b611dda565b6102e2610336366004614e4e565b611fea565b61023b610349366004614e0d565b6120a0565b61023b61035c366004614ef9565b6121de565b61026361036f3660046149c8565b612255565b610215610382366004614e4e565b60046020526000908152604090205481565b6102156103a2366004614f48565b612748565b6103ba6103b5366004614f6a565b612779565b60405161021f9190614f98565b6103da6103d5366004614e4e565b61295c565b60405161021f9291906150cb565b61023b6103f6366004615134565b612b02565b61042a610409366004614e4e565b6001600160a01b039081166000818152600260205260409020549091161490565b604051901515815260200161021f565b61044d610448366004614e4e565b612b96565b60405161021f949392919061517f565b61047061046b366004614ecd565b612c5a565b60405161021f91906151c0565b61049061048b3660046146e6565b613246565b6040516001600160a01b03909116815260200161021f565b61023b6104b6366004614e0d565b613270565b61023b6104c93660046146e6565b61334c565b6102636104dc3660046149c8565b613399565b6104e9613d87565b60405161021f9291906151d3565b600154610215565b61023b61050d366004614e4e565b614365565b6000546001600160a01b031633148061053e575073321fb1002dd7fa1e8d2ad5f697adcdd6dfa6da1333145b6105635760405162461bcd60e51b815260040161055a90615201565b60405180910390fd5b6001600160a01b0390911660009081526002602052604090208054911515600160a81b0260ff60a81b19909216919091179055565b6000546001600160a01b03163314806105c4575073321fb1002dd7fa1e8d2ad5f697adcdd6dfa6da1333145b6105e05760405162461bcd60e51b815260040161055a90615201565b60005b8181101561065f578282828181106105fd576105fd615231565b905060400201602001356004600085858581811061061d5761061d615231565b6106339260206040909202019081019150614e4e565b6001600160a01b03168152602081019190915260400160002055806106578161525d565b9150506105e3565b505050565b61066c6143cf565b825160208401518290600681111561068657610686614aa1565b9081600681111561069957610699614aa1565b9052506003846020015160068111156106b4576106b4614aa1565b146106c0576000610722565b806001600160a01b0316636dad13016040518163ffffffff1660e01b8152600401602060405180830381865afa1580156106fe573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107229190615276565b61010083015260408085015115156101a084015284516001600160a01b03908116602080860182905260009182526004808252918490205461022087015260608801516101c087015260808801516101e08701528351631aed655360e01b8152935192851693631aed6553938184019390918290030181865afa1580156107ad573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107d19190615276565b60c0830152604051631526fe2760e01b81526000600482015261084a906001600160a01b03831690631526fe2790602401608060405180830381865afa15801561081f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610843919061530a565b5184612779565b82608001819052506108bd816001600160a01b031663f7c618c16040518163ffffffff1660e01b8152600401602060405180830381865afa158015610893573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108b79190615326565b84612779565b8260400181905250806001600160a01b03166378abafaf6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610903573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109279190615276565b60e08301526040805160018082528183019092529060208083019080368337019050508260a00181905250806001600160a01b0316638ae39cac6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610990573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109b49190615276565b8260a001516000815181106109cb576109cb615231565b602090810291909101015260808201515184516040516370a0823160e01b81526001600160a01b0391821660048201529116906370a0823190602401602060405180830381865afa158015610a24573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a489190615276565b6101208301526001600160a01b038316610a63576000610a6c565b610a6c836112e0565b6102008301516040908101919091528051600180825281830190925290602080830190803683370190505061020083015160200152604051637a0787a960e11b81526001600160a01b03848116600483015282169063f40f0f5290602401602060405180830381865afa158015610ae7573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b0b9190615276565b82610200015160200151600081518110610b2757610b27615231565b6020908102919091010152604051630cacd00160e11b81526001600160a01b038481166004830152821690631959a002906024016040805180830381865afa158015610b77573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b9b9190615391565b5161020083015160a001526080820151516020830151604051636eb1769f60e11b81526001600160a01b038681166004830152918216602482015291169063dd62ed3e90604401602060405180830381865afa158015610bff573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c239190615276565b61020083015152505b92915050565b610c3a6143cf565b8251602084015182906006811115610c5457610c54614aa1565b90816006811115610c6757610c67614aa1565b90525060408085015115156101a084015284516001600160a01b03908116602080860182905260009182526004808252918490205461022087015260608801516101c087015260808801516101e08701528351631829b8f760e11b81529351610cf3949386169363305371ee938181019392918290030181865afa158015610893573d6000803e3d6000fd5b60808301819052604080840191909152805160018082528183019092529060208083019080368337019050508260a00181905250806001600160a01b03166317caf6f16040518163ffffffff1660e01b8152600401602060405180830381865afa158015610d65573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d899190615276565b604051631526fe2760e01b8152600060048201526001600160a01b03831690631526fe2790602401608060405180830381865afa158015610dce573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610df2919061530a565b60200151826001600160a01b031663406272656040518163ffffffff1660e01b8152600401602060405180830381865afa158015610e34573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e589190615276565b610e6291906153ad565b610e6c91906153cc565b8260a00151600081518110610e8357610e83615231565b60209081029190910101526001600160a01b038316610ea3576000610eac565b610eac836112e0565b610200830151604090810191909152805160018082528183019092529060208083019080368337019050506102008301516020015260405163295315bf60e01b8152600060048201526001600160a01b03848116602483015282169063295315bf90604401602060405180830381865afa158015610f2e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f529190615276565b82610200015160200151600081518110610f6e57610f6e615231565b60209081029190910101526040516393f1a40b60e01b81526000600482018190526001600160a01b0385811660248401529091908316906393f1a40b906044016040805180830381865afa158015610fca573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610fee9190615391565b805161020085015160a001526080840151516020850151604051636eb1769f60e11b81526001600160a01b0388811660048301529182166024820152929350169063dd62ed3e90604401602060405180830381865afa158015611055573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110799190615276565b8361020001516000018181525050816001600160a01b03166318678a736040518163ffffffff1660e01b8152600401602060405180830381865afa1580156110c5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110e99190615276565b610120840152505092915050565b6000546001600160a01b0316331480611123575073321fb1002dd7fa1e8d2ad5f697adcdd6dfa6da1333145b61113f5760405162461bcd60e51b815260040161055a90615201565b60005b8181101561065f5761117f83838381811061115f5761115f615231565b905060200281019061117191906153ee565b610409906020810190614e4e565b6112ce57600183838381811061119757611197615231565b90506020028101906111a991906153ee565b6111b7906020810190614e4e565b81546001810183556000928352602090922090910180546001600160a01b0319166001600160a01b039092169190911790558282828181106111fb576111fb615231565b905060200281019061120d91906153ee565b6002600085858581811061122357611223615231565b905060200281019061123591906153ee565b611243906020810190614e4e565b6001600160a01b03168152602081019190915260400160002061126682826156de565b9050506006600081546112789061525d565b91829055506004600085858581811061129357611293615231565b90506020028101906112a591906153ee565b6112b3906020810190614e4e565b6001600160a01b031681526020810191909152604001600020555b806112d88161525d565b915050611142565b604051630cacd00160e11b81526001600160a01b038216600482015260009073a4b20183039b2f9881621c3a03732fbf0bfdff109082908290631959a00290602401608060405180830381865afa15801561133f573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061136391906157b7565b5050509050816001600160a01b0316633a98ef396040518163ffffffff1660e01b8152600401602060405180830381865afa1580156113a6573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113ca9190615276565b81836001600160a01b031663722713f76040518163ffffffff1660e01b8152600401602060405180830381865afa158015611409573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061142d9190615276565b61143791906153ad565b61144191906153cc565b949350505050565b6114516143cf565b825160208401518290600681111561146b5761146b614aa1565b9081600681111561147e5761147e614aa1565b90525060408481015115156101a084015284516001600160a01b03908116602080860182905260009182526004908190528382205461022087015260608801516101c087015260808801516101e08701529251636386c1c760e01b8152868316938101939093529190831690636386c1c790602401600060405180830381865afa158015611510573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526115389190810190615951565b9050611548816060015185612779565b608084015260405163972de53f60e01b8152600060048201526115c1906001600160a01b0384169063972de53f906024015b602060405180830381865afa158015611597573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115bb9190615326565b85612779565b6040848101919091525163972de53f60e01b8152600160048201526115f9906001600160a01b0384169063972de53f9060240161157a565b6060848101919091526040805160028082529281018252919060208301908036833750505060a08401528051805160009061163657611636615231565b6020026020010151600001516001600160801b03168360a0015160008151811061166257611662615231565b602090810291909101015280518051600190811061168257611682615231565b6020026020010151600001516001600160801b03168360a001516001815181106116ae576116ae615231565b60209081029190910181019190915260808281015160c0868101919091526101008085015160e08801529084015190860152604080840151610120870152838301516102008701518401529085015151918501519051636eb1769f60e11b81526001600160a01b038781166004830152918216602482015291169063dd62ed3e90604401602060405180830381865afa15801561174f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117739190615276565b610200840151526001600160a01b03841661178f576000611798565b611798846112e0565b610200840180516040019190915260e090910151905160a001525092915050565b6000546001600160a01b03163314806117e5575073321fb1002dd7fa1e8d2ad5f697adcdd6dfa6da1333145b6118015760405162461bcd60e51b815260040161055a90615201565b60005b600154811015611943576001818154811061182157611821615231565b6000918252602090912001546001600160a01b0390811690831603611931576001600160a01b038216600090815260026020526040812080546001600160b01b03191681559061187460018301826144a3565b6118826002830160006144e0565b505060018054611893908290615a35565b815481106118a3576118a3615231565b600091825260209091200154600180546001600160a01b0390921691839081106118cf576118cf615231565b9060005260206000200160006101000a8154816001600160a01b0302191690836001600160a01b03160217905550600180548061190e5761190e615a4c565b600082815260209020810160001990810180546001600160a01b03191690550190555b8061193b8161525d565b915050611804565b5050565b60606000611953613d87565b50905080516001600160401b0381111561196f5761196f6147ea565b6040519080825280602002602001820160405280156119a857816020015b6119956143cf565b81526020019060019003908161198d5790505b50915060005b8151811015611a0a576119da848383815181106119cd576119cd615231565b6020026020010151611a11565b8382815181106119ec576119ec615231565b60200260200101819052508080611a029061525d565b9150506119ae565b5050919050565b611a196143cf565b6001548210611a595760405162461bcd60e51b815260206004820152600c60248201526b0aee4dedcce40d8cadccee8d60a31b604482015260640161055a565b60006002600060018581548110611a7257611a72615231565b60009182526020808320909101546001600160a01b039081168452838201949094526040928301909120825160a081019093528054938416835291929083019060ff600160a01b909104166006811115611ace57611ace614aa1565b6006811115611adf57611adf614aa1565b81528154600160a81b900460ff1615156020820152600182018054604090920191611b0990615461565b80601f0160208091040260200160405190810160405280929190818152602001828054611b3590615461565b8015611b825780601f10611b5757610100808354040283529160200191611b82565b820191906000526020600020905b815481529060010190602001808311611b6557829003601f168201915b5050505050815260200160028201805480602002602001604051908101604052809291908181526020018280548015611bf857602002820191906000526020600020906000905b825461010083900a900460ff16815260206001928301818104948501949093039092029101808411611bc95790505b505050505081525050905060006006811115611c1657611c16614aa1565b81602001516006811115611c2c57611c2c614aa1565b03611c4357611c3b8185613399565b915050610c2c565b600281602001516006811115611c5b57611c5b614aa1565b03611c6a57611c3b8185610664565b600381602001516006811115611c8257611c82614aa1565b03611c9157611c3b8185610664565b600181602001516006811115611ca957611ca9614aa1565b03611cb857611c3b8185610c32565b600481602001516006811115611cd057611cd0614aa1565b03611cdf57611c3b8185611dda565b600581602001516006811115611cf757611cf7614aa1565b03611d0657611c3b8185611449565b600681602001516006811115611d1e57611d1e614aa1565b03611d2d57611c3b8185612255565b5092915050565b6001546060906001600160401b03811115611d5157611d516147ea565b604051908082528060200260200182016040528015611d8a57816020015b611d776143cf565b815260200190600190039081611d6f5790505b50905060005b600154811015611dd457611da48382611a11565b828281518110611db657611db6615231565b60200260200101819052508080611dcc9061525d565b915050611d90565b50919050565b611de26143cf565b8251602084015182906006811115611dfc57611dfc614aa1565b90816006811115611e0f57611e0f614aa1565b90525060408481015115156101a084015284516001600160a01b03908116602080860182905260009182526004908190528382205461022087015260608801516101c087015260808801516101e08701529251636386c1c760e01b8152868316938101939093529190831690636386c1c790602401600060405180830381865afa158015611ea1573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052611ec99190810190615b06565b9050611ed9816060015185612779565b608084015260405163972de53f60e01b815260006004820152611f0f906001600160a01b0384169063972de53f9060240161157a565b6040848101919091525163972de53f60e01b815260016004820152611f47906001600160a01b0384169063972de53f9060240161157a565b6060848101919091526040805160028082529281018252919060208301908036833750505060a084015280518051600090611f8457611f84615231565b6020026020010151600001518360a00151600081518110611fa757611fa7615231565b6020908102919091010152805180516001908110611fc757611fc7615231565b6020026020010151600001518360a001516001815181106116ae576116ae615231565b60606000611ff6613d87565b91505080516001600160401b03811115612012576120126147ea565b60405190808252806020026020018201604052801561204b57816020015b6120386143cf565b8152602001906001900390816120305790505b50915060005b8151811015611a0a57612070848383815181106119cd576119cd615231565b83828151811061208257612082615231565b602002602001018190525080806120989061525d565b915050612051565b6000546001600160a01b03163314806120cc575073321fb1002dd7fa1e8d2ad5f697adcdd6dfa6da1333145b6120e85760405162461bcd60e51b815260040161055a90615201565b60005b8181101561065f5782828281811061210557612105615231565b90506020028101906121179190615b67565b604001356005600085858581811061213157612131615231565b90506020028101906121439190615b67565b35815260208101919091526040016000205582828281811061216757612167615231565b90506020028101906121799190615b67565b6121879060208101906155a9565b6003600086868681811061219d5761219d615231565b90506020028101906121af9190615b67565b35815260208101919091526040016000206121cb929091614505565b50806121d68161525d565b9150506120eb565b6000546001600160a01b031633148061220a575073321fb1002dd7fa1e8d2ad5f697adcdd6dfa6da1333145b6122265760405162461bcd60e51b815260040161055a90615201565b6001600160a01b0382166000908152600260208181526040909220835161065f93919092019190840190614550565b61225d6143cf565b825160208401518290600681111561227757612277614aa1565b9081600681111561228a5761228a614aa1565b90525060408085015115156101a084015284516001600160a01b03908116602080860182905260608801516101c087015260808801516101e0870152600091825260048082529184902054610220870152835163051ed6a360e41b8152935161231694938616936351ed6a30938181019392918290030181865afa158015610893573d6000803e3d6000fd5b82608001819052506123a7816001600160a01b03166325c66f0b6040518163ffffffff1660e01b8152600401600060405180830381865afa15801561235f573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526123879190810190615b7d565b60008151811061239957612399615231565b602002602001015184612779565b826040018190525061242a816001600160a01b03166325c66f0b6040518163ffffffff1660e01b8152600401600060405180830381865afa1580156123f0573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526124189190810190615b7d565b60018151811061239957612399615231565b60608301526001600160a01b03831615611d2d57604051636386c1c760e01b81526001600160a01b03848116600483015260009190831690636386c1c790602401600060405180830381865afa158015612488573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526124b09190810190615b06565b805151909150806001600160401b038111156124ce576124ce6147ea565b6040519080825280602002602001820160405280156124f7578160200160208202803683370190505b5060a085015260005b8181101561258257825180518290811061251c5761251c615231565b6020026020010151608001511561257057825180518290811061254157612541615231565b6020026020010151600001518560a00151828151811061256357612563615231565b6020026020010181815250505b8061257a8161525d565b915050612500565b50608082015160c0850152604080830151610120860152516341bd9c8d60e01b81526001600160a01b0386811660048301528416906341bd9c8d90602401602060405180830381865afa1580156125dd573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906126019190615276565b60e0850152600061010085015260208281015161020086015182015260808501515190850151604051636eb1769f60e11b81526001600160a01b038881166004830152918216602482015291169063dd62ed3e90604401602060405180830381865afa158015612675573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906126999190615276565b610200850151526001600160a01b0385166126b55760006126be565b6126be856112e0565b610200850151604090810191909152516394465b2160e01b81526001600160a01b0386811660048301528416906394465b2190602401602060405180830381865afa158015612711573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906127359190615276565b61020085015160a0015250505092915050565b6003602052816000526040600020818154811061276457600080fd5b90600052602060002001600091509150505481565b6127816145f1565b6000839050806001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa1580156127c4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906127e89190615276565b826020018181525050806001600160a01b03166306fdde036040518163ffffffff1660e01b8152600401600060405180830381865afa15801561282f573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526128579190810190615c16565b8260600181905250806001600160a01b03166395d89b416040518163ffffffff1660e01b8152600401600060405180830381865afa15801561289d573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526128c59190810190615c16565b60408301526001600160a01b03808516835283161561294d576040516370a0823160e01b81526001600160a01b0384811660048301528216906370a0823190602401602060405180830381865afa158015612924573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906129489190615276565b612950565b60005b60808301525092915050565b6060600080600173dbc1a13490deef9c3c12b44fe77b503c1b0617396001600160a01b031663081e3eda6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156129b5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906129d99190615276565b6129e39190615a35565b905073dbc1a13490deef9c3c12b44fe77b503c1b0617396001600160a01b03166317caf6f16040518163ffffffff1660e01b8152600401602060405180830381865afa158015612a37573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612a5b9190615276565b9150806001600160401b03811115612a7557612a756147ea565b604051908082528060200260200182016040528015612aae57816020015b612a9b614629565b815260200190600190039081612a935790505b50925060005b81811015612afb57612acb8561046b836001615c83565b848281518110612add57612add615231565b60200260200101819052508080612af39061525d565b915050612ab4565b5050915091565b6000546001600160a01b0316331480612b2e575073321fb1002dd7fa1e8d2ad5f697adcdd6dfa6da1333145b612b4a5760405162461bcd60e51b815260040161055a90615201565b6001600160a01b0380831660008181526002602052604090205490911603611943576001600160a01b03821660009081526002602052604090208190612b9082826156de565b50505050565b600260205260009081526040902080546001820180546001600160a01b0383169360ff600160a01b8504811694600160a81b900416929091612bd790615461565b80601f0160208091040260200160405190810160405280929190818152602001828054612c0390615461565b8015612c505780601f10612c2557610100808354040283529160200191612c50565b820191906000526020600020905b815481529060010190602001808311612c3357829003601f168201915b5050505050905084565b612c62614629565b73dbc1a13490deef9c3c12b44fe77b503c1b0617396001600160a01b031663081e3eda6040518163ffffffff1660e01b8152600401602060405180830381865afa158015612cb4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612cd89190615276565b82108015612ce65750600082115b612d1f5760405162461bcd60e51b815260206004820152600a60248201526957726f6e67207069642160b01b604482015260640161055a565b6040516393f1a40b60e01b8152600481018390526001600160a01b038416602482015260009073dbc1a13490deef9c3c12b44fe77b503c1b061739906393f1a40b906044016040805180830381865afa158015612d80573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612da49190615391565b604051631526fe2760e01b81526004810185905290915060009073dbc1a13490deef9c3c12b44fe77b503c1b06173990631526fe2790602401608060405180830381865afa158015612dfa573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612e1e919061530a565b8484526000858152600360209081526040918290208054835181840281018401909452808452939450919290830182828015612e7957602002820191906000526020600020905b815481526020019060010190808311612e65575b5050505060208086019290925250600085815260058252604090819020546101a086015282516001600160a01b03168186018190528151630dfe168160e01b81529151612f13939192630dfe16819260048083019391928290030181865afa158015612ee9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612f0d9190615326565b86612779565b8360600181905250612f6083604001516001600160a01b031663d21220a76040518163ffffffff1660e01b8152600401602060405180830381865afa158015612ee9573d6000803e3d6000fd5b836080018190525082604001516001600160a01b0316630902f1ac6040518163ffffffff1660e01b8152600401606060405180830381865afa158015612faa573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612fce9190615cb2565b5060a0850180516001600160701b03928316602080830191909152938316905251805192015191811691613008911664e8d4a510006153ad565b61301291906153cc565b60c084015260408084015190516370a0823160e01b815273dbc1a13490deef9c3c12b44fe77b503c1b06173960048201526001600160a01b03909116906370a0823190602401602060405180830381865afa158015613075573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906130999190615276565b60e084015260408084015190516370a0823160e01b81526001600160a01b038781166004830152909116906370a0823190602401602060405180830381865afa1580156130ea573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061310e9190615276565b6101008401526040808401519051636eb1769f60e11b81526001600160a01b03878116600483015273dbc1a13490deef9c3c12b44fe77b503c1b06173960248301529091169063dd62ed3e90604401602060405180830381865afa15801561317a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061319e9190615276565b610120840152602081015161014084015260405163295315bf60e01b8152600481018590526001600160a01b038616602482015273dbc1a13490deef9c3c12b44fe77b503c1b0617399063295315bf90604401602060405180830381865afa15801561320e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906132329190615276565b610160840152505161018082015292915050565b6001818154811061325657600080fd5b6000918252602090912001546001600160a01b0316905081565b6000546001600160a01b031633148061329c575073321fb1002dd7fa1e8d2ad5f697adcdd6dfa6da1333145b6132b85760405162461bcd60e51b815260040161055a90615201565b60005b8181101561065f578282828181106132d5576132d5615231565b90506020028101906132e79190615cf5565b6132f59060208101906155a9565b6003600086868681811061330b5761330b615231565b905060200281019061331d9190615cf5565b3581526020810191909152604001600020613339929091614505565b50806133448161525d565b9150506132bb565b6000546001600160a01b0316331480613378575073321fb1002dd7fa1e8d2ad5f697adcdd6dfa6da1333145b6133945760405162461bcd60e51b815260040161055a90615201565b600655565b6133a16143cf565b82516020840151829060068111156133bb576133bb614aa1565b908160068111156133ce576133ce614aa1565b90525060408481015115156101a084015284516001600160a01b031660208085018290526000918252600490528190205461022084015260608501516101c084015260808501516101e08401528051600180825281830190925290816020016020820280368337019050508260a001819052506000816001600160a01b031663fb1db2786040518163ffffffff1660e01b8152600401602060405180830381865afa158015613481573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906134a59190615326565b6001600160a01b03166317caf6f16040518163ffffffff1660e01b8152600401602060405180830381865afa1580156134e2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906135069190615276565b826001600160a01b031663fb1db2786040518163ffffffff1660e01b8152600401602060405180830381865afa158015613544573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906135689190615326565b604051631526fe2760e01b8152600060048201526001600160a01b039190911690631526fe2790602401608060405180830381865afa1580156135af573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906135d3919061530a565b60200151836001600160a01b031663fb1db2786040518163ffffffff1660e01b8152600401602060405180830381865afa158015613615573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906136399190615326565b6001600160a01b031663406272656040518163ffffffff1660e01b8152600401602060405180830381865afa158015613676573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061369a9190615276565b6136a491906153ad565b6136ae91906153cc565b9050816001600160a01b031663fb1db2786040518163ffffffff1660e01b8152600401602060405180830381865afa1580156136ee573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906137129190615326565b6001600160a01b03166318678a736040518163ffffffff1660e01b8152600401602060405180830381865afa15801561374f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906137739190615276565b826001600160a01b031663722713f76040518163ffffffff1660e01b8152600401602060405180830381865afa1580156137b1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906137d59190615276565b6137df90836153ad565b6137e991906153cc565b8360a0015160008151811061380057613800615231565b6020908102919091010152600060c0840152604051630cacd00160e11b81526001600160a01b038581166004830152831690631959a00290602401608060405180830381865afa158015613858573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061387c91906157b7565b5061020086015160a08101919091526080810191909152606001526001600160a01b0384166138ac5760006138b5565b6138b5846112e0565b610200840151604090810191909152600061010085015260001960e085015280516343bc43c160e11b815290516001600160a01b0384169163877887829160048083019260209291908290030181865afa158015613917573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061393b9190615276565b83610140018181525050613986826001600160a01b031663fc0c546a6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611597573d6000803e3d6000fd5b836080018190525082608001518360400181905250816001600160a01b031663e941fa786040518163ffffffff1660e01b8152600401602060405180830381865afa1580156139d9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906139fd9190615276565b83610160018181525050816001600160a01b031663df10b4e66040518163ffffffff1660e01b8152600401602060405180830381865afa158015613a45573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613a699190615276565b61018084015260006101008401526040805163722713f760e01b815290516001600160a01b0384169163722713f79160048083019260209291908290030181865afa158015613abc573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613ae09190615276565b6101208401526040805160028082526060820183529091602083019080368337019050508361020001516020018190525082610200015160a00151826001600160a01b0316633a98ef396040518163ffffffff1660e01b8152600401602060405180830381865afa158015613b59573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613b7d9190615276565b84610200015160600151856101200151613b9791906153ad565b613ba191906153cc565b11613bad576000613c47565b82610200015160a00151826001600160a01b0316633a98ef396040518163ffffffff1660e01b8152600401602060405180830381865afa158015613bf5573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613c199190615276565b84610200015160600151856101200151613c3391906153ad565b613c3d91906153cc565b613c479190615a35565b83610200015160200151600081518110613c6357613c63615231565b602002602001018181525050816001600160a01b0316633a98ef396040518163ffffffff1660e01b8152600401602060405180830381865afa158015613cad573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613cd19190615276565b83610200015160200151600181518110613ced57613ced615231565b60209081029190910181019190915260808401515190840151604051636eb1769f60e11b81526001600160a01b038781166004830152918216602482015291169063dd62ed3e90604401602060405180830381865afa158015613d54573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613d789190615276565b61020084015152505092915050565b60608060006001805490506001600160401b03811115613da957613da96147ea565b604051908082528060200260200182016040528015613dd2578160200160208202803683370190505b506001549091506000906001600160401b03811115613df357613df36147ea565b604051908082528060200260200182016040528015613e1c578160200160208202803683370190505b50905043600080805b6001548110156142295760006002600060018481548110613e4857613e48615231565b60009182526020808320909101546001600160a01b039081168452838201949094526040928301909120825160a081019093528054938416835291929083019060ff600160a01b909104166006811115613ea457613ea4614aa1565b6006811115613eb557613eb5614aa1565b81528154600160a81b900460ff1615156020820152600182018054604090920191613edf90615461565b80601f0160208091040260200160405190810160405280929190818152602001828054613f0b90615461565b8015613f585780601f10613f2d57610100808354040283529160200191613f58565b820191906000526020600020905b815481529060010190602001808311613f3b57829003601f168201915b5050505050815260200160028201805480602002602001604051908101604052809291908181526020018280548015613fce57602002820191906000526020600020906000905b825461010083900a900460ff16815260206001928301818104948501949093039092029101808411613f9f5790505b50505050508152505090506000806006811115613fed57613fed614aa1565b8260200151600681111561400357614003614aa1565b03614010575060016141a7565b60018260200151600681111561402857614028614aa1565b03614035575060016141a7565b60028260200151600681111561404d5761404d614aa1565b148061406e575060038260200151600681111561406c5761406c614aa1565b145b156140e05781600001516001600160a01b0316631aed65536040518163ffffffff1660e01b8152600401602060405180830381865afa1580156140b5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906140d99190615276565b90506141a7565b6004826020015160068111156140f8576140f8614aa1565b1480614119575060058260200151600681111561411757614117614aa1565b145b80614139575060068260200151600681111561413757614137614aa1565b145b156141a75781600001516001600160a01b0316630a122c8a6040518163ffffffff1660e01b8152600401602060405180830381865afa158015614180573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906141a49190615276565b90505b80600114806141b557508581115b156141e9578288866141c68161525d565b9750815181106141d8576141d8615231565b602002602001018181525050614214565b8287856141f58161525d565b96508151811061420757614207615231565b6020026020010181815250505b505080806142219061525d565b915050613e25565b50816001600160401b03811115614242576142426147ea565b60405190808252806020026020018201604052801561426b578160200160208202803683370190505b50965060005b828110156142c25785818151811061428b5761428b615231565b60200260200101518882815181106142a5576142a5615231565b6020908102919091010152806142ba8161525d565b915050614271565b50806001600160401b038111156142db576142db6147ea565b604051908082528060200260200182016040528015614304578160200160208202803683370190505b50955060005b8181101561435b5784818151811061432457614324615231565b602002602001015187828151811061433e5761433e615231565b6020908102919091010152806143538161525d565b91505061430a565b5050505050509091565b6000546001600160a01b0316331480614391575073321fb1002dd7fa1e8d2ad5f697adcdd6dfa6da1333145b6143ad5760405162461bcd60e51b815260040161055a90615201565b600080546001600160a01b0319166001600160a01b0392909216919091179055565b6040805161024081018252600080825260208201529081016143ef6145f1565b81526020016143fc6145f1565b81526020016144096145f1565b8152602001606081526020016000815260200160008152602001600081526020016000815260200160008152602001600081526020016000815260200160001515815260200160608152602001606081526020016144966040518060c001604052806000815260200160608152602001600081526020016000815260200160008152602001600081525090565b8152602001600081525090565b5080546144af90615461565b6000825580601f106144bf575050565b601f0160209004906000526020600020908101906144dd91906146b3565b50565b50805460008255601f0160209004906000526020600020908101906144dd91906146b3565b828054828255906000526020600020908101928215614540579160200282015b82811115614540578235825591602001919060010190614525565b5061454c9291506146b3565b5090565b82805482825590600052602060002090601f016020900481019282156145405791602002820160005b838211156145b757835183826101000a81548160ff021916908360ff1602179055509260200192600101602081600001049283019260010302614579565b80156145e45782816101000a81549060ff02191690556001016020816000010492830192600103026145b7565b505061454c9291506146b3565b6040518060a0016040528060006001600160a01b03168152602001600081526020016060815260200160608152602001600081525090565b604051806101c00160405280600081526020016060815260200160006001600160a01b0316815260200161465b6145f1565b81526020016146686145f1565b81526020016146756146c8565b815260200160008152602001600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081525090565b5b8082111561454c57600081556001016146b4565b60405180604001604052806002906020820280368337509192915050565b6000602082840312156146f857600080fd5b5035919050565b6001600160a01b03811681146144dd57600080fd5b803561471f816146ff565b919050565b80151581146144dd57600080fd5b803561471f81614724565b6000806040838503121561475057600080fd5b823561475b816146ff565b9150602083013561476b81614724565b809150509250929050565b6000806020838503121561478957600080fd5b82356001600160401b03808211156147a057600080fd5b818501915085601f8301126147b457600080fd5b8135818111156147c357600080fd5b8660208260061b85010111156147d857600080fd5b60209290920196919550909350505050565b634e487b7160e01b600052604160045260246000fd5b60405160a081016001600160401b0381118282101715614822576148226147ea565b60405290565b60405160c081016001600160401b0381118282101715614822576148226147ea565b60405161012081016001600160401b0381118282101715614822576148226147ea565b604051601f8201601f191681016001600160401b0381118282101715614895576148956147ea565b604052919050565b600781106144dd57600080fd5b60006001600160401b038211156148c3576148c36147ea565b50601f01601f191660200190565b600082601f8301126148e257600080fd5b81356148f56148f0826148aa565b61486d565b81815284602083860101111561490a57600080fd5b816020850160208301376000918101602001919091529392505050565b60006001600160401b03821115614940576149406147ea565b5060051b60200190565b60ff811681146144dd57600080fd5b600082601f83011261496a57600080fd5b8135602061497a6148f083614927565b82815260059290921b8401810191818101908684111561499957600080fd5b8286015b848110156149bd5780356149b08161494a565b835291830191830161499d565b509695505050505050565b600080604083850312156149db57600080fd5b82356001600160401b03808211156149f257600080fd5b9084019060a08287031215614a0657600080fd5b614a0e614800565b8235614a19816146ff565b81526020830135614a298161489d565b6020820152614a3a60408401614732565b6040820152606083013582811115614a5157600080fd5b614a5d888286016148d1565b606083015250608083013582811115614a7557600080fd5b614a8188828601614959565b6080830152509350614a9891505060208401614714565b90509250929050565b634e487b7160e01b600052602160045260246000fd5b60078110614ad557634e487b7160e01b600052602160045260246000fd5b9052565b60005b83811015614af4578181015183820152602001614adc565b83811115612b905750506000910152565b60008151808452614b1d816020860160208601614ad9565b601f01601f19169290920160200192915050565b60018060a01b038151168252602081015160208301526000604082015160a06040850152614b6260a0850182614b05565b905060608301518482036060860152614b7b8282614b05565b915050608083015160808501528091505092915050565b600081518084526020808501945080840160005b83811015614bc257815187529582019590820190600101614ba6565b509495945050505050565b600081518084526020808501945080840160005b83811015614bc257815160ff1687529582019590820190600101614be1565b805182526000602082015160c06020850152614c1f60c0850182614b92565b905060408301516040850152606083015160608501526080830151608085015260a083015160a08501528091505092915050565b6000610240614c63848451614ab7565b6020830151614c7d60208601826001600160a01b03169052565b506040830151816040860152614c9582860182614b31565b91505060608301518482036060860152614caf8282614b31565b91505060808301518482036080860152614cc98282614b31565b91505060a083015184820360a0860152614ce38282614b92565b60c0858101519087015260e08086015190870152610100808601519087015261012080860151908701526101408086015190870152610160808601519087015261018080860151908701526101a0808601511515908701526101c080860151878303828901529193509150614d588382614b05565b925050506101e08084015185830382870152614d748382614bcd565b925050506102008084015185830382870152614d908382614c00565b61022095860151969095019590955250919392505050565b602081526000614dbb6020830184614c53565b9392505050565b60008083601f840112614dd457600080fd5b5081356001600160401b03811115614deb57600080fd5b6020830191508360208260051b8501011115614e0657600080fd5b9250929050565b60008060208385031215614e2057600080fd5b82356001600160401b03811115614e3657600080fd5b614e4285828601614dc2565b90969095509350505050565b600060208284031215614e6057600080fd5b8135614dbb816146ff565b6000602080830181845280855180835260408601915060408160051b870101925083870160005b82811015614ec057603f19888603018452614eae858351614c53565b94509285019290850190600101614e92565b5092979650505050505050565b60008060408385031215614ee057600080fd5b8235614eeb816146ff565b946020939093013593505050565b60008060408385031215614f0c57600080fd5b8235614f17816146ff565b915060208301356001600160401b03811115614f3257600080fd5b614f3e85828601614959565b9150509250929050565b60008060408385031215614f5b57600080fd5b50508035926020909101359150565b60008060408385031215614f7d57600080fd5b8235614f88816146ff565b9150602083013561476b816146ff565b602081526000614dbb6020830184614b31565b8060005b6002811015612b905781516001600160701b0316845260209384019390910190600101614faf565b60006101e0825184526020830151816020860152614ff782860182614b92565b915050604083015161501460408601826001600160a01b03169052565b506060830151848203606086015261502c8282614b31565b915050608083015184820360808601526150468282614b31565b91505060a083015161505b60a0860182614fab565b5060c083015160e08581019190915283015161010080860191909152830151610120808601919091528301516101408086019190915283015161016080860191909152830151610180808601919091528301516101a080860191909152909201516101c090930192909252919050565b6000604082016040835280855180835260608501915060608160051b8601019250602080880160005b8381101561512257605f19888703018552615110868351614fd7565b955093820193908201906001016150f4565b50509490940194909452949350505050565b6000806040838503121561514757600080fd5b8235615152816146ff565b915060208301356001600160401b0381111561516d57600080fd5b830160a0818603121561476b57600080fd5b6001600160a01b03851681526151986020820185614ab7565b82151560408201526080606082015260006151b66080830184614b05565b9695505050505050565b602081526000614dbb6020830184614fd7565b6040815260006151e66040830185614b92565b82810360208401526151f88185614b92565b95945050505050565b60208082526016908201527537b7363c9027bbb732b91037b91027b832b930ba37b960511b604082015260600190565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b60006001820161526f5761526f615247565b5060010190565b60006020828403121561528857600080fd5b5051919050565b805161471f816146ff565b6000608082840312156152ac57600080fd5b604051608081018181106001600160401b03821117156152ce576152ce6147ea565b806040525080915082516152e1816146ff565b808252506020830151602082015260408301516040820152606083015160608201525092915050565b60006080828403121561531c57600080fd5b614dbb838361529a565b60006020828403121561533857600080fd5b8151614dbb816146ff565b60006040828403121561535557600080fd5b604051604081018181106001600160401b0382111715615377576153776147ea565b604052825181526020928301519281019290925250919050565b6000604082840312156153a357600080fd5b614dbb8383615343565b60008160001904831182151516156153c7576153c7615247565b500290565b6000826153e957634e487b7160e01b600052601260045260246000fd5b500490565b60008235609e1983360301811261540457600080fd5b9190910192915050565b60008135610c2c81614724565b6000808335601e1984360301811261543257600080fd5b8301803591506001600160401b0382111561544c57600080fd5b602001915036819003821315614e0657600080fd5b600181811c9082168061547557607f821691505b602082108103611dd457634e487b7160e01b600052602260045260246000fd5b5b818110156119435760008155600101615496565b601f82111561065f57806000526020600020601f840160051c810160208510156154d15750805b6154e3601f850160051c830182615495565b5050505050565b6001600160401b03831115615501576155016147ea565b6155158361550f8354615461565b836154aa565b6000601f84116001811461554957600085156155315750838201355b600019600387901b1c1916600186901b1783556154e3565b600083815260209020601f19861690835b8281101561557a578685013582556020948501946001909201910161555a565b50868210156155975760001960f88860031b161c19848701351681555b505060018560011b0183555050505050565b6000808335601e198436030181126155c057600080fd5b8301803591506001600160401b038211156155da57600080fd5b6020019150600581901b3603821315614e0657600080fd5b60008135610c2c8161494a565b68010000000000000000831115615618576156186147ea565b80548382558084101561566e57816000526020600020601f850160051c8101601f86168015615658576000198083018054828460200360031b1c16815550505b5061566b601f840160051c830182615495565b50505b506000818152602081208391805b868110156156d5576156ad615690856155f2565b845460ff600386901b81811b801990931693909116901b16178455565b60208401935060018083019250601f8311156156cc5792830192600092505b5060010161567c565b50505050505050565b81356156e9816146ff565b81546001600160a01b031981166001600160a01b0392909216918217835560208401356157158161489d565b6007811061573357634e487b7160e01b600052602160045260246000fd5b6001600160a81b03199190911690911760a09190911b60ff60a01b1617815561577f6157616040840161540e565b82805460ff60a81b191691151560a81b60ff60a81b16919091179055565b61578c606083018361541b565b61579a8183600186016154ea565b50506157a960808301836155a9565b612b908183600286016155ff565b600080600080608085870312156157cd57600080fd5b505082516020840151604085015160609095015191969095509092509050565b80516001600160801b038116811461471f57600080fd5b805163ffffffff8116811461471f57600080fd5b600082601f83011261582957600080fd5b815160206158396148f083614927565b82815260c0928302850182019282820191908785111561585857600080fd5b8387015b858110156158e95781818a0312156158745760008081fd5b61587c614828565b615885826157ed565b81526158928683016157ed565b8682015260406158a38184016157ed565b9082015260606158b48382016157ed565b9082015260806158c5838201615804565b9082015260a0828101516158d881614724565b90820152845292840192810161585c565b5090979650505050505050565b600082601f83011261590757600080fd5b815160206159176148f083614927565b82815260059290921b8401810191818101908684111561593657600080fd5b8286015b848110156149bd578051835291830191830161593a565b60006020828403121561596357600080fd5b81516001600160401b038082111561597a57600080fd5b90830190610120828603121561598f57600080fd5b61599761484a565b8251828111156159a657600080fd5b6159b287828601615818565b8252506020830151828111156159c757600080fd5b6159d3878286016158f6565b602083015250604083015160408201526159ef6060840161528f565b60608201526080830151608082015260a083015160a082015260c083015160c082015260e083015160e08201526101009150818301518282015280935050505092915050565b600082821015615a4757615a47615247565b500390565b634e487b7160e01b600052603160045260246000fd5b600082601f830112615a7357600080fd5b81516020615a836148f083614927565b82815260a09283028501820192828201919087851115615aa257600080fd5b8387015b858110156158e95781818a031215615abe5760008081fd5b615ac6614800565b8151815285820151868201526040808301519082015260608083015190820152608080830151615af581614724565b908201528452928401928101615aa6565b600060208284031215615b1857600080fd5b81516001600160401b0380821115615b2f57600080fd5b908301906101208286031215615b4457600080fd5b615b4c61484a565b825182811115615b5b57600080fd5b6159b287828601615a62565b60008235605e1983360301811261540457600080fd5b60006020808385031215615b9057600080fd5b82516001600160401b03811115615ba657600080fd5b8301601f81018513615bb757600080fd5b8051615bc56148f082614927565b81815260059190911b82018301908381019087831115615be457600080fd5b928401925b82841015615c0b578351615bfc816146ff565b82529284019290840190615be9565b979650505050505050565b600060208284031215615c2857600080fd5b81516001600160401b03811115615c3e57600080fd5b8201601f81018413615c4f57600080fd5b8051615c5d6148f0826148aa565b818152856020838501011115615c7257600080fd5b6151f8826020830160208601614ad9565b60008219821115615c9657615c96615247565b500190565b80516001600160701b038116811461471f57600080fd5b600080600060608486031215615cc757600080fd5b615cd084615c9b565b9250615cde60208501615c9b565b9150615cec60408501615804565b90509250925092565b60008235603e1983360301811261540457600080fdfea26469706673582212209ec7bfb2c2b1708a37e119d50e6caa92a6eb9571250685b576097403ea789b2a64736f6c634300080f0033