0 txs
0 calls
constructor
constructor(address wrappedNative_)
functions
getRouter
viewfunction getRouter() view returns (address)
multiswap
viewfunction multiswap(tuple data) view returns (uint256 amountOut)
multiswap2
viewfunction multiswap2(tuple data) view returns (uint256[] amountsOut)
multiswapReverse
viewfunction multiswapReverse(tuple data) view returns (uint256 amountOut)
owner
viewfunction owner() view returns (address)
pendingOwner
viewfunction pendingOwner() view returns (address)
proxiableUUID
viewfunction proxiableUUID() view returns (bytes32)
acceptOwnership
nonpayablefunction acceptOwnership()
initialize
nonpayablefunction initialize(address newOwner)
renounceOwnership
nonpayablefunction renounceOwnership()
setRouter
nonpayablefunction setRouter(address router)
transferOwnership
nonpayablefunction transferOwnership(address newOwner)
upgradeTo
nonpayablefunction upgradeTo(address newImplementation)
events
Initialized
event Initialized(uint8 version)
OwnershipTransferred
event OwnershipTransferred(address indexed previousOwner, address indexed newOwner)
OwnershipTransferStarted
event OwnershipTransferStarted(address indexed previousOwner, address indexed newOwner)
Upgraded
event Upgraded(address indexed implementation)
errors
ERC1967_InvalidImplementation
error ERC1967_InvalidImplementation(address implementation)
InvalidInitialization
error InvalidInitialization()
NotInitializing
error NotInitializing()
Ownable_CallerIsNotTheNewOwner
error Ownable_CallerIsNotTheNewOwner(address caller)
Ownable_NewOwnerCannotBeAddressZero
error Ownable_NewOwnerCannotBeAddressZero()
Ownable_SenderIsNotOwner
error Ownable_SenderIsNotOwner(address sender)
R
error R()
T
error T()
UniswapV2_InsufficientInputAmount
error UniswapV2_InsufficientInputAmount()
UniswapV2_InsufficientOutputAmount
error UniswapV2_InsufficientOutputAmount()
UUPSUnauthorizedCallContext
error UUPSUnauthorizedCallContext()
UUPSUnsupportedProxiableUUID
error UUPSUnsupportedProxiableUUID(bytes32 slot)
creation bytecode
0x60c0604052306080523480156200001557600080fd5b50604051620035153803806200351583398101604081905262000038916200004a565b6001600160a01b031660a0526200007c565b6000602082840312156200005d57600080fd5b81516001600160a01b03811681146200007557600080fd5b9392505050565b60805160a05161345e620000b76000396000818161028f015261043d0152600081816108080152818161083101526109c2015261345e6000f3fe608060405234801561001057600080fd5b50600436106100df5760003560e01c80638da5cb5b1161008c578063c0d7865511610066578063c0d78655146101a6578063c4d66de8146101b9578063e30c3978146101cc578063f2fde38b146101dd57600080fd5b80638da5cb5b1461014a5780639e00ccbf14610175578063b0f479a11461019557600080fd5b80636ae3b135116100bd5780636ae3b13514610127578063715018a61461013a57806379ba50971461014257600080fd5b80633659cfe6146100e457806352d1902d146100f95780635dceae2814610114575b600080fd5b6100f76100f2366004612f0f565b6101f0565b005b61010161020d565b6040519081526020015b60405180910390f35b610101610122366004612f2c565b61023c565b610101610135366004612f2c565b6102ba565b6100f76102e9565b6100f76102fd565b6000546201000090046001600160a01b03165b6040516001600160a01b03909116815260200161010b565b610188610183366004612f67565b610351565b60405161010b9190612fa2565b6002546001600160a01b031661015d565b6100f76101b4366004612f0f565b610658565b6100f76101c7366004612f0f565b61068f565b6001546001600160a01b031661015d565b6100f76101eb366004612f0f565b610787565b6101f86107fd565b610201816108ab565b61020a816108b3565b50565b60006102176109b7565b507f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc90565b60006102b361024e6060840184612fe6565b6102588535610a00565b600061026a6060880160408901612f0f565b6001600160a01b03161461028d576102886060870160408801612f0f565b610aab565b7f0000000000000000000000000000000000000000000000000000000000000000610aab565b5092915050565b60006102e36102cc6060840184612fe6565b84356102de6060870160408801612f0f565b610b56565b92915050565b6102f1610c6c565b6102fb6000610cb8565b565b6001546001600160a01b03163314610348576040517f6cce7fdd0000000000000000000000000000000000000000000000000000000081523360048201526024015b60405180910390fd5b6102fb33610cb8565b60606103606040830183612fe6565b905067ffffffffffffffff81111561037a5761037a613037565b6040519080825280602002602001820160405280156103a3578160200160208202803683370190505b50905060006103b560a0840184612fe6565b90509050806000036103c75750919050565b6103d46080840184612fe6565b905081146103e25750919050565b3660006103f26040860186612fe6565b909250905060006104038635610a00565b90506000806104186040890160208a01612f0f565b6001600160a01b03161461043b576104366040880160208901612f0f565b61045d565b7f00000000000000000000000000000000000000000000000000000000000000005b90506000805b8681101561049e5761047860808a018a612fe6565b828181106104885761048861304d565b9050602002013582019150806001019050610463565b50670de0b6b3a764000081146104b957505050505050919050565b506000198501826000805b8881101561064a578381036104db57829150610520565b670de0b6b3a76400006104f160808d018d612fe6565b838181106105015761050161304d565b9050602002013587028161051757610517613063565b04915081830392505b60008061055c61053360a08f018f612fe6565b858181106105435761054361304d565b90506020028101906105559190612fe6565b868a610aab565b90925090506000895b80156105e157600019016001600160a01b0383168c8c8381811061058b5761058b61304d565b90506020020160208101906105a09190612f0f565b6001600160a01b0316036105dc57838e82815181106105c1576105c161304d565b602002602001018181510191508181525050600191506105e1565b610565565b508061063c578967ffffffffffffffff81111561060057610600613037565b604051908082528060200260200182016040528015610629578160200160208202803683370190505b509e9d5050505050505050505050505050565b8360010193505050506104c4565b505050505050505050919050565b610660610c6c565b6002805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0392909216919091179055565b6000805460ff610100820481161592911690811580156106ac5750825b905060008267ffffffffffffffff1660011480156106c95750303b155b9050811580156106d7575080155b1561070e576040517ff92ee8a900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000805460ff191660011790558315610731576000805461ff0019166101001790555b61073a85610cb8565b8315610780576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b5050505050565b61078f610c6c565b61079881610cde565b6001805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b038381169182179092556000805460405192936201000090910416917f38d16b8cac22d99fc7c124b9cd0de2d3fa1faef420bfe791d8c362d765e227009190a350565b306001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016148061088d57507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166108817f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b6001600160a01b031614155b156102fb5760405163703e46dd60e11b815260040160405180910390fd5b61020a610c6c565b806001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa92505050801561090d575060408051601f3d908101601f1916820190925261090a91810190613079565b60015b61094e576040517f4a4a0aa20000000000000000000000000000000000000000000000000000000081526001600160a01b038216600482015260240161033f565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc81146109aa576040517faa1d49a40000000000000000000000000000000000000000000000000000000081526004810182905260240161033f565b6109b382610d1e565b5050565b306001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146102fb5760405163703e46dd60e11b815260040160405180910390fd5b6002546000906001600160a01b031615610aa75760025460408051633a41a2a160e11b815281516000936001600160a01b031692637483454292600480820193918290030181865afa158015610a5a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a7e9190613092565b915050600081118015610a9057508215155b15610aa557620f424090830204909103919050565b505b5090565b60008084808203610ac3576000809250925050610b4d565b60008060008060005b85811015610b4057610b1a8c8c83818110610ae957610ae961304d565b90506020020135600160ff1b8116916001600160a01b0382169160b881901c60ff169160a09190911c62ffffff1690565b91975090955093509150600101610b35828a87868e89610d5e565b909a50985089610acc575b5088889650965050505050505b94509492505050565b600083808203610b6b57600019915050610c64565b6002546001600160a01b031615610c0e5760025460408051633a41a2a160e11b815281516000936001600160a01b031692637483454292600480820193918290030181865afa158015610bc2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610be69190613092565b9150508015610c0c5780620f42400385620f42400281610c0857610c08613063565b0494505b505b60008060005b8315610c5c5760001990930192610c36898986818110610ae957610ae961304d565b919550909350909150610c4e90508684898585611039565b909750955060018701610c14575b869450505050505b949350505050565b6000546201000090046001600160a01b031633146102fb576040517f37c14b4500000000000000000000000000000000000000000000000000000000815233600482015260240161033f565b6001805473ffffffffffffffffffffffffffffffffffffffff1916905561020a81611276565b6001600160a01b03811661020a576040517f7b30466f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610d27816112e7565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b6000806000866001600160a01b0316630dfe16816040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015610dbd575060408051601f3d908101601f19168201909252610dba918101906130c0565b60015b610dce57600080925092505061102e565b809150809250886001600160a01b0316836001600160a01b031603610e5257876001600160a01b031663d21220a76040518163ffffffff1660e01b8152600401602060405180830381865afa158015610e2b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e4f91906130c0565b92505b506001600160a01b03821615801590610e7357506001600160a01b03881615155b1561102c578815610ec9576001600160a01b038083169089161085610ebe89838381610eb35773fffd8963efd1fc6a506488495d951d5263988d25611323565b6401000276a4611323565b955061102c92505050565b866001600160a01b0316630902f1ac6040518163ffffffff1660e01b8152600401606060405180830381865afa925050508015610f23575060408051601f3d908101601f19168201909252610f20918101906130fb565b60015b610f3457600080925092505061102e565b600080856001600160a01b03168d6001600160a01b031614610f57578385610f5a565b84845b6dffffffffffffffffffffffffffff1691506dffffffffffffffffffffffffffff1691508a600003610f9957610f928a83838c611926565b9750611026565b6040517ff140a35a000000000000000000000000000000000000000000000000000000008152600481018b90526001600160a01b038e811660248301528d169063f140a35a90604401602060405180830381865afa158015610fff573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110239190613079565b97505b50505050505b505b965096945050505050565b6000806000866001600160a01b0316630dfe16816040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015611098575060408051601f3d908101601f19168201909252611095918101906130c0565b60015b6110ab576000196000925092505061126c565b809150809250826001600160a01b0316896001600160a01b03160361112f57876001600160a01b031663d21220a76040518163ffffffff1660e01b8152600401602060405180830381865afa158015611108573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061112c91906130c0565b92505b506001600160a01b0388161580159061115057506001600160a01b03821615155b1561126a57831561119f576001600160a01b0380891690831610866111948983600084900381610eb35773fffd8963efd1fc6a506488495d951d5263988d25611323565b50945061126a915050565b866001600160a01b0316630902f1ac6040518163ffffffff1660e01b8152600401606060405180830381865afa9250505080156111f9575060408051601f3d908101601f191682019092526111f6918101906130fb565b60015b61120c576000196000925092505061126c565b600080856001600160a01b0316876001600160a01b03161461122f578385611232565b84845b6dffffffffffffffffffffffffffff1691506dffffffffffffffffffffffffffff1691506112628b83838d6119a8565b975050505050505b505b9550959350505050565b600080546001600160a01b03838116620100008181027fffffffffffffffffffff0000000000000000000000000000000000000000ffff851617855560405193049190911692909183917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a35050565b803b6112ff57634a4a0aa2600052806020526024601cfd5b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55565b60408051606081018252600080825260208201819052918101829052819060408051808201909152600080825260208201526040805160a081018252600080825260208201819052918101829052606081018290526080810182905290871390604080518082019091526000808252602082015260008060006113a58e611a3e565b6001600160a01b0383168b52600282900b60208c015260408b01819052919450925090508c156114135787600001516001600160a01b03168b6001600160a01b0316118061140057506401000276a36001600160a01b038c16105b1561140e576401000276a49a505b611470565b87600001516001600160a01b03168b6001600160a01b03161080611453575073fffd8963efd1fc6a506488495d951d5263988d266001600160a01b038c16115b156114705773fffd8963efd1fc6a506488495d951d5263988d259a505b50505060008060006114818e611b0d565b925092509250806001600160801b03166000148061149d57508b155b156114c557856114af576000196114b2565b60005b6000995099505050505050505050610b4d565b6001600160801b03811660208801528c6114fe5760ff8860400151116114ec5760046114ef565b60105b60ff168860400151901c61152a565b60ff886040015111611511576010611516565b620100005b62ffffff16886040015161152a919061314b565b875262ffffff9092168352600290810b6020808501919091528b855287516001600160a01b03166040860152870151900b60608401526001600160801b031660808301525b8151158015906115955750876001600160a01b031682604001516001600160a01b031614155b156118b9576040805160e081018252600080825260208201819052918101829052606081018290526080810182905260a0810182905260c081019190915260408301516001600160a01b03168152606083015160208301516115f9918e918e611d36565b1515604083015260020b60208201819052620d89e719131561162457620d89e7196020820152611658565b611631620d89e719613175565b60020b816020015160020b13156116585761164f620d89e719613175565b60020b60208201525b6116658160200151611f39565b6001600160a01b0316606082015260408301516116d7908c61169f578a6001600160a01b031683606001516001600160a01b0316116116b9565b8a6001600160a01b031683606001516001600160a01b0316105b6116c75782606001516116c9565b8a5b608086015186518651612282565b60c085015260a084015260808301526001600160a01b0316604084015283156117395761170d8160c00151826080015101612474565b835103835260a081015161172090612474565b836020018181516117319190613197565b90525061177c565b6117468160a00151612474565b835101835260c0810151608082015161176791611762916131b7565b612474565b8360200181815161177891906131ca565b9052505b8451156117ad57600085600001518260c001518161179c5761179c613063565b60c084018051929091049091039052505b80606001516001600160a01b031683604001516001600160a01b03160361187c5780604001511561183c5760006117e88d8360200151612486565b90508b156117f4576000035b600081600f0b126118145780846080015161180f91906131f2565b61182c565b61181d81613212565b846080015161182c9190613247565b6001600160801b03166080850152505b82608001516001600160801b031660000361185757506118b9565b8a61186657806020015161186f565b60018160200151035b60020b60608401526118b3565b80600001516001600160a01b031683604001516001600160a01b0316146118b3576118aa836040015161255c565b60020b60608401525b5061156f565b6000808415158c1515146118d557602084015184518c036118e2565b83600001518b0384602001515b9150915060008083136118f557816118f7565b825b9050600080841261190b5782600003611910565b836000035b919f919e50909c50505050505050505050505050565b600084600003611962576040517f4566b3d300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b83158061196d575082155b1561197a57506000610c64565b620f4240828103860290848202908602820180828161199b5761199b613063565b0498975050505050505050565b6000846000036119e4576040517f4c46ea5500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8315806119ef575082155b156119fd5750600019610c64565b82851115611a0e5750600019610c64565b620f424085850281029083900386850302808281611a2e57611a2e613063565b0460010192505050949350505050565b60408051600481526024810182526020810180516001600160e01b03167f3850c7bd0000000000000000000000000000000000000000000000000000000017905290516000918291829182916001600160a01b03871691611a9e91613267565b600060405180830381855afa9150503d8060008114611ad9576040519150601f19603f3d011682016040523d82523d6000602084013e611ade565b606091505b5091505080806020019051810190611af691906132b8565b506040969096525092989197509295509350505050565b60408051600481526024810182526020810180516001600160e01b03167fddca3f430000000000000000000000000000000000000000000000000000000017905290516000918291829182916001600160a01b03871691611b6d91613267565b600060405180830381855afa9150503d8060008114611ba8576040519150601f19603f3d011682016040523d82523d6000602084013e611bad565b606091505b5091505080806020019051810190611bc59190613324565b600482526024820160409081526020830180516001600160e01b03167fd0c93a7c00000000000000000000000000000000000000000000000000000000179052519094506001600160a01b03861690611c1f908390613267565b600060405180830381855afa9150503d8060008114611c5a576040519150601f19603f3d011682016040523d82523d6000602084013e611c5f565b606091505b508051909250611c79915082016020908101908301613349565b600482526024820160409081526020830180516001600160e01b03167f1a68650200000000000000000000000000000000000000000000000000000000179052519093506001600160a01b03861690611cd3908390613267565b600060405180830381855afa9150503d8060008114611d0e576040519150601f19603f3d011682016040523d82523d6000602084013e611d13565b606091505b508051909250611d2d91508201602090810190830161337b565b93959294505050565b60008060008460020b8660020b81611d5057611d50613063565b05905060008660020b128015611d7d57508460020b8660020b81611d7657611d76613063565b0760020b15155b15611d8757600019015b8315611e585760405163299ce14b60e11b8152600282900b600881901d600181810b600485015290926101009092079160ff83169190911b8001600019019060009082906001600160a01b038d1690635339c29690602401602060405180830381865afa158015611dfc573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611e209190613079565b168015159650905085611e3a57888360ff16860302611e4d565b88611e4482612897565b840360ff168603025b965050505050611f2f565b6000806001830160020b600881901d90610100900760405163299ce14b60e11b8152600183810b600483015292945090925060ff83169190911b60001901199060009082906001600160a01b038d1690635339c29690602401602060405180830381865afa158015611ece573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611ef29190613079565b168015159650905085611f1257888360ff0360ff16866001010102611f28565b8883611f1d83612945565b0360ff168660010101025b9650505050505b5094509492505050565b60008060008360020b12611f50578260020b611f58565b8260020b6000035b9050620d89e8811115611f97576040517f2bc80f3a00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600081600116600003611fbb57700100000000000000000000000000000000611fcd565b6ffffcb933bd6fad37aa2d162d1a5940015b70ffffffffffffffffffffffffffffffffff1690506002821615612001576ffff97272373d413259a46990580e213a0260801c5b6004821615612020576ffff2e50f5f656932ef12357cf3c7fdcc0260801c5b600882161561203f576fffe5caca7e10e4e61c3624eaa0941cd00260801c5b601082161561205e576fffcb9843d60f6159c9db58835c9266440260801c5b602082161561207d576fff973b41fa98c081472e6896dfb254c00260801c5b604082161561209c576fff2ea16466c96a3843ec78b326b528610260801c5b60808216156120bb576ffe5dee046a99a2a811c461f1969c30530260801c5b6101008216156120db576ffcbe86c7900a88aedcffc83b479aa3a40260801c5b6102008216156120fb576ff987a7253ac413176f2b074cf7815e540260801c5b61040082161561211b576ff3392b0822b70005940c7a398e4b70f30260801c5b61080082161561213b576fe7159475a2c29b7443b29c7fa6e889d90260801c5b61100082161561215b576fd097f3bdfd2022b8845ad8f792aa58250260801c5b61200082161561217b576fa9f746462d870fdf8a65dc1f90e061e50260801c5b61400082161561219b576f70d869a156d2a1b890bb3df62baf32f70260801c5b6180008216156121bb576f31be135f97d08fd981231505542fcfa60260801c5b620100008216156121dc576f09aa508b5b7a84e1c677de54f3e99bc90260801c5b620200008216156121fc576e5d6af8dedb81196699c329225ee6040260801c5b6204000082161561221b576d2216e584f5fa1ea926041bedfe980260801c5b62080000821615612238576b048a170391f7dc42444e8fa20260801c5b60008460020b131561225957806000198161225557612255613063565b0490505b64010000000081061561226d576001612270565b60005b60ff16602082901c0192505050919050565b60008080806001600160a01b03808916908a1610158187128015906123075760006122bb8989620f42400362ffffff16620f4240612a2f565b9050826122d4576122cf8c8c8c6001612ae2565b6122e1565b6122e18b8d8c6001612b5b565b95508581106122f2578a9650612301565b6122fe8c8b8386612c24565b96505b50612351565b8161231e576123198b8b8b6000612b5b565b61232b565b61232b8a8c8b6000612ae2565b935083886000031061233f57899550612351565b61234e8b8a8a60000385612c70565b95505b6001600160a01b038a81169087161482156123b4578080156123705750815b61238657612381878d8c6001612b5b565b612388565b855b9550808015612395575081155b6123ab576123a6878d8c6000612ae2565b6123ad565b845b94506123fe565b8080156123be5750815b6123d4576123cf8c888c6001612ae2565b6123d6565b855b95508080156123e3575081155b6123f9576123f48c888c6000612b5b565b6123fb565b845b94505b8115801561240e57508860000385115b1561241a578860000394505b81801561243957508a6001600160a01b0316876001600160a01b031614155b15612448578589039350612465565b612462868962ffffff168a620f42400362ffffff16612cbc565b93505b50505095509550955095915050565b6000600160ff1b8210610aa757600080fd5b604051600282900b602482015260009081906001600160a01b0385169060440160408051601f198184030181529181526020820180516001600160e01b03167ff30dba9300000000000000000000000000000000000000000000000000000000179052516124f49190613267565b600060405180830381855afa9150503d806000811461252f576040519150601f19603f3d011682016040523d82523d6000602084013e612534565b606091505b509150508080602001905181019061254c9190613396565b50949a9950505050505050505050565b60006401000276a36001600160a01b03831610801590612598575073fffd8963efd1fc6a506488495d951d5263988d266001600160a01b038316105b6125ce576040517f4980e1be00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b77ffffffffffffffffffffffffffffffffffffffff00000000602083901b166001600160801b03811160071b81811c67ffffffffffffffff811160061b90811c63ffffffff811160051b90811c61ffff811160041b90811c60ff8111600390811b91821c600f811160021b90811c918211600190811b92831c9790881196179094179092171790911717176080811061266f57607f810383901c9150612679565b80607f0383901b91505b908002607f81811c60ff83811c9190911c800280831c81831c1c800280841c81841c1c800280851c81851c1c800280861c81861c1c800280871c81871c1c800280881c81881c1c800280891c81891c1c8002808a1c818a1c1c8002808b1c818b1c1c8002808c1c818c1c1c8002808d1c818d1c1c8002808e1c9c81901c9c909c1c80029c8d901c9e9d607f198f0160401b60c09190911c678000000000000000161760c19b909b1c674000000000000000169a909a1760c29990991c672000000000000000169890981760c39790971c671000000000000000169690961760c49590951c670800000000000000169490941760c59390931c670400000000000000169290921760c69190911c670200000000000000161760c79190911c670100000000000000161760c89190911c6680000000000000161760c99190911c6640000000000000161760ca9190911c6620000000000000161760cb9190911c6610000000000000161760cc9190911c6608000000000000161760cd9190911c66040000000000001617693627a301d71055774c8581027ffffffffffffffffffffffffffffffffffd709b7e5480fba5a50fed5e62ffc5568101608090811d906fdb2df09e81959a81455e260799a0632f8301901d600281810b9083900b1461288857886001600160a01b031661286d82611f39565b6001600160a01b03161115612882578161288a565b8061288a565b815b9998505050505050505050565b60008082116128a557600080fd5b70010000000000000000000000000000000082106128c557608091821c91015b6801000000000000000082106128dd57604091821c91015b64010000000082106128f157602091821c91015b62010000821061290357601091821c91015b610100821061291457600891821c91015b6010821061292457600491821c91015b6004821061293457600291821c91015b60028210612940576001015b919050565b600080821161295357600080fd5b5060ff6001600160801b0382161561296e57607f1901612976565b608082901c91505b67ffffffffffffffff82161561298f57603f1901612997565b604082901c91505b63ffffffff8216156129ac57601f19016129b4565b602082901c91505b61ffff8216156129c757600f19016129cf565b601082901c91505b60ff8216156129e157600719016129e9565b600882901c91505b600f8216156129fb5760031901612a03565b600482901c91505b6003821615612a155760011901612a1d565b600282901c91505b60018216156129405760001901919050565b6000808060001985870985870292508281108382030391505080600003612a685760008411612a5d57600080fd5b508290049050612adb565b808411612a7457600080fd5b6000848688096000868103871696879004966002600389028118808a02820302808a02820302808a02820302808a02820302808a02820302808a02909103029181900381900460010186841190950394909402919094039290920491909117919091029150505b9392505050565b6000836001600160a01b0316856001600160a01b03161115612b02579293925b81612b2f57612b2a836001600160801b03168686036001600160a01b0316600160601b612a2f565b612b52565b612b52836001600160801b03168686036001600160a01b0316600160601b612cbc565b95945050505050565b6000836001600160a01b0316856001600160a01b03161115612b7b579293925b7bffffffffffffffffffffffffffffffff000000000000000000000000606084901b166001600160a01b038686038116908716612bb757600080fd5b83612bed57866001600160a01b0316612bda8383896001600160a01b0316612a2f565b81612be757612be7613063565b04612c19565b612c19612c048383896001600160a01b0316612cbc565b886001600160a01b0316808204910615150190565b979650505050505050565b600080856001600160a01b031611612c3b57600080fd5b6000846001600160801b031611612c5157600080fd5b81612c6357612b2a8585856001612cfc565b612b528585856001612de2565b600080856001600160a01b031611612c8757600080fd5b6000846001600160801b031611612c9d57600080fd5b81612caf57612b2a8585856000612de2565b612b528585856000612cfc565b6000612cc9848484612a2f565b905060008280612cdb57612cdb613063565b8486091115612adb576000198110612cf257600080fd5b6001019392505050565b60008115612d6e5760006001600160a01b03841115612d3257612d2d84600160601b876001600160801b0316612a2f565b612d49565b612d496001600160801b038616606086901b613414565b9050612d66612d61826001600160a01b0389166131b7565b612ee4565b915050610c64565b60006001600160a01b03841115612d9c57612d9784600160601b876001600160801b0316612cbc565b612db9565b612db9606085901b6001600160801b038716808204910615150190565b905080866001600160a01b031611612dd057600080fd5b6001600160a01b038616039050610c64565b600082600003612df3575083610c64565b7bffffffffffffffffffffffffffffffff000000000000000000000000606085901b168215612e97576001600160a01b03861684810290858281612e3957612e39613063565b0403612e6957818101828110612e6757612e5d83896001600160a01b031683612cbc565b9350505050610c64565b505b50612d668185612e826001600160a01b038a1683613414565b612e8c91906131b7565b808204910615150190565b6001600160a01b03861684810290858281612eb457612eb4613063565b04148015612ec157508082115b612eca57600080fd5b808203612e5d612d61846001600160a01b038b1684612cbc565b806001600160a01b038116811461294057600080fd5b6001600160a01b038116811461020a57600080fd5b600060208284031215612f2157600080fd5b8135612adb81612efa565b600060208284031215612f3e57600080fd5b813567ffffffffffffffff811115612f5557600080fd5b820160808185031215612adb57600080fd5b600060208284031215612f7957600080fd5b813567ffffffffffffffff811115612f9057600080fd5b820160c08185031215612adb57600080fd5b6020808252825182820181905260009190848201906040850190845b81811015612fda57835183529284019291840191600101612fbe565b50909695505050505050565b6000808335601e19843603018112612ffd57600080fd5b83018035915067ffffffffffffffff82111561301857600080fd5b6020019150600581901b360382131561303057600080fd5b9250929050565b634e487b7160e01b600052604160045260246000fd5b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601260045260246000fd5b60006020828403121561308b57600080fd5b5051919050565b600080604083850312156130a557600080fd5b82516130b081612efa565b6020939093015192949293505050565b6000602082840312156130d257600080fd5b8151612adb81612efa565b80516dffffffffffffffffffffffffffff8116811461294057600080fd5b60008060006060848603121561311057600080fd5b613119846130dd565b9250613127602085016130dd565b9150604084015163ffffffff8116811461314057600080fd5b809150509250925092565b60008261315a5761315a613063565b500690565b634e487b7160e01b600052601160045260246000fd5b60008160020b627fffff19810361318e5761318e61315f565b60000392915050565b81810360008312801583831316838312821617156102b3576102b361315f565b808201808211156102e3576102e361315f565b80820182811260008312801582168215821617156131ea576131ea61315f565b505092915050565b6001600160801b038181168382160190808211156102b3576102b361315f565b600081600f0b7fffffffffffffffffffffffffffffffff80000000000000000000000000000000810361318e5761318e61315f565b6001600160801b038281168282160390808211156102b3576102b361315f565b6000825160005b81811015613288576020818601810151858301520161326e565b506000920191825250919050565b8051600281900b811461294057600080fd5b8051801515811461294057600080fd5b600080600080600080600060e0888a0312156132d357600080fd5b87516132de81612efa565b96506132ec60208901613296565b955060408801519450606088015193506080880151925060a0880151915061331660c089016132a8565b905092959891949750929550565b60006020828403121561333657600080fd5b815162ffffff81168114612adb57600080fd5b60006020828403121561335b57600080fd5b612adb82613296565b80516001600160801b038116811461294057600080fd5b60006020828403121561338d57600080fd5b612adb82613364565b600080600080600080600080610100898b0312156133b357600080fd5b6133bc89613364565b9750602089015180600f0b81146133d257600080fd5b8097505060408901519550606089015194506080890151935060a0890151925060c0890151915061340560e08a016132a8565b90509295985092959890939650565b60008261342357613423613063565b50049056fea264697066735822122012435266d6ce48815bed6691e24659137bf4f451f0700441ac80a176dbae534864736f6c634300081300330000000000000000000000005300000000000000000000000000000000000004