0 txs
27 calls
constructor
No constructor.
functions
across
viewfunction across() view returns (address)
acrossAdmin
viewfunction acrossAdmin() view returns (address)
burnRouterProxy
viewfunction burnRouterProxy() view returns (address)
ETH_ADDR
viewfunction ETH_ADDR() view returns (address)
failedReqs
viewfunction failedReqs(address, uint256, address) view returns (uint256)
gasLimit
viewfunction gasLimit() view returns (uint256)
lockersProxy
viewfunction lockersProxy() view returns (address)
newFailedReqs
viewfunction newFailedReqs(address, uint256, uint256, address) view returns (uint256)
owner
viewfunction owner() view returns (address)
paused
viewfunction paused() view returns (bool)
runeRouterProxy
viewfunction runeRouterProxy() view returns (address)
emergencyWithdraw
nonpayablefunction emergencyWithdraw(address _token, address _to, uint256 _amount)
handleV3AcrossMessage
nonpayablefunction handleV3AcrossMessage(address _tokenSent, uint256 _amount, address, bytes _message)
initialize
nonpayablefunction initialize(address _lockersProxy, address _burnRouterProxy, address _across, address _runeRouterProxy)
renounceOwnership
nonpayablefunction renounceOwnership()
retrySwapAndUnwrap
nonpayablefunction retrySwapAndUnwrap(bytes _message, uint8 _v, bytes32 _r, bytes32 _s)
retrySwapAndUnwrapRune
nonpayablefunction retrySwapAndUnwrapRune(bytes _message, uint8 _v, bytes32 _r, bytes32 _s)
setAcross
nonpayablefunction setAcross(address _across)
setAcrossAdmin
nonpayablefunction setAcrossAdmin(address _acrossAdmin)
setBurnRouterProxy
nonpayablefunction setBurnRouterProxy(address _burnRouterProxy)
setGasLimit
nonpayablefunction setGasLimit(uint256 _gasLimit)
setLockersProxy
nonpayablefunction setLockersProxy(address _lockersProxy)
setRuneRouterProxy
nonpayablefunction setRuneRouterProxy(address _runeRouterProxy)
transferOwnership
nonpayablefunction transferOwnership(address newOwner)
withdrawFundsToSourceChain
nonpayablefunction withdrawFundsToSourceChain(bytes _message, uint8 _v, bytes32 _r, bytes32 _s)
withdrawFundsToSourceChainByOwnerOrAdmin
nonpayablefunction withdrawFundsToSourceChainByOwnerOrAdmin(address _user, uint256 _chainId, uint256 _uniqueCounter, address _token, int64 _relayerFeePercentage)
events
AcrossUpdated
event AcrossUpdated(address oldAcross, address newAcross)
BurnRouterUpdated
event BurnRouterUpdated(address oldBurnRouter, address newBurnRouter)
EthConnectorUpdated
event EthConnectorUpdated(address oldEthConnector, address newEthConnector)
FailedSwapAndUnwrap
event FailedSwapAndUnwrap(uint256 uniqueCounter, uint256 chainId, address exchangeConnector, address inputToken, uint256 inputAmount, address indexed userTargetAddress, bytes userScript, uint8 scriptType, address[] path, uint256 thirdPartyId)
FailedSwapAndUnwrapRune
event FailedSwapAndUnwrapRune(uint256 uniqueCounter, uint256 chainId, address indexed userTargetAddress, uint256 thirdPartyId, uint256 internalId, uint256 appId, uint256 amount, uint256 inputAmount, address[] path, bytes userScript, uint8 scriptType)
Initialized
event Initialized(uint8 version)
LockersProxyUpdated
event LockersProxyUpdated(address oldLockersProxy, address newLockersProxy)
MsgReceived
event MsgReceived(string functionName, uint256 uniqueCounter, uint256 chainId, bytes data)
NewSwapAndUnwrap
event NewSwapAndUnwrap(uint256 uniqueCounter, uint256 chainId, address exchangeConnector, address inputToken, uint256 inputAmount, address indexed userTargetAddress, bytes userScript, uint8 scriptType, address lockerTargetAddress, uint256 requestIdOfLocker, address[] path, uint256 thirdPartyId)
NewSwapAndUnwrapRune
event NewSwapAndUnwrapRune(uint256 uniqueCounter, uint256 chainId, address indexed userTargetAddress, uint256 thirdPartyId, uint256 internalId, uint256 appId, uint256 amount, uint256 inputAmount, address[] path, bytes userScript, uint8 scriptType, uint256 requestIdOfLocker)
OwnershipTransferred
event OwnershipTransferred(address indexed previousOwner, address indexed newOwner)
Paused
event Paused(address account)
RetriedSwapAndUnwrap
event RetriedSwapAndUnwrap(uint256 uniqueCounter, uint256 chainId, address exchangeConnector, address inputToken, uint256 inputAmount, address indexed userTargetAddress, bytes userScript, uint8 scriptType, address lockerTargetAddress, uint256 requestIdOfLocker, address[] path, uint256 thirdPartyId)
RetriedSwapAndUnwrapRune
event RetriedSwapAndUnwrapRune(uint256 uniqueCounter, uint256 chainId, address indexed userTargetAddress, uint256 thirdPartyId, uint256 internalId, uint256 appId, uint256 amount, uint256 inputAmount, address[] path, bytes userScript, uint8 scriptType, uint256 requestIdOfLocker)
Unpaused
event Unpaused(address account)
WithdrawnFundsToSourceChain
event WithdrawnFundsToSourceChain(uint256 uniqueCounter, uint256 chainId, address token, uint256 amount, int64 relayerFeePercentage, address user)
errors
ZeroAddress
error ZeroAddress()
creation bytecode
0x608060405234801561001057600080fd5b5061387d806100206000396000f3fe6080604052600436106101355760003560e01c80630597865c146101415780631dbd94ff14610177578063292c1d9214610199578063296079f1146101b95780633a5be8cb146101d95780633e938097146101f95780633f8c6ae0146102195780634d6e8f9d1461023957806359841888146102595780635c975abb1461027957806361be10f21461029c578063715018a6146102bc5780637753f47b146102d157806386420503146102f9578063878269b51461031957806387c554f8146103395780638907eb5c146103595780638da5cb5b146103a5578063a088bb20146103ba578063baf7f918146103da578063cf25685414610421578063e63ea40814610441578063ee7d72b414610461578063f2fde38b14610481578063f68016b7146104a1578063f8c8765e146104b757600080fd5b3661013c57005b600080fd5b34801561014d57600080fd5b5060ce54610161906001600160a01b031681565b60405161016e91906131a2565b60405180910390f35b34801561018357600080fd5b50610197610192366004612a50565b6104d7565b005b3480156101a557600080fd5b5060cb54610161906001600160a01b031681565b3480156101c557600080fd5b5060c954610161906001600160a01b031681565b3480156101e557600080fd5b506101976101f4366004612b64565b61052a565b34801561020557600080fd5b50610197610214366004612c83565b6106e3565b34801561022557600080fd5b5060ca54610161906001600160a01b031681565b34801561024557600080fd5b50610197610254366004612a50565b6107c4565b34801561026557600080fd5b50610197610274366004612a50565b610817565b34801561028557600080fd5b5060975460ff16604051901515815260200161016e565b3480156102a857600080fd5b506101976102b7366004612a50565b61086a565b3480156102c857600080fd5b506101976108bd565b3480156102dd57600080fd5b5061016173eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee81565b34801561030557600080fd5b50610197610314366004612c0b565b6108d1565b34801561032557600080fd5b50610197610334366004612a50565b610a0b565b34801561034557600080fd5b5060cf54610161906001600160a01b031681565b34801561036557600080fd5b50610397610374366004612b23565b60cc60209081526000938452604080852082529284528284209052825290205481565b60405190815260200161016e565b3480156103b157600080fd5b50610161610a35565b3480156103c657600080fd5b506101976103d5366004612c83565b610a44565b3480156103e657600080fd5b506103976103f5366004612bcd565b60cd60209081526000948552604080862082529385528385208152918452828420909152825290205481565b34801561042d57600080fd5b5061019761043c366004612c83565b610e14565b34801561044d57600080fd5b5061019761045c366004612ae3565b6112af565b34801561046d57600080fd5b5061019761047c366004612f98565b6113b2565b34801561048d57600080fd5b5061019761049c366004612a50565b6113bf565b3480156104ad57600080fd5b5061039760d05481565b3480156104c357600080fd5b506101976104d2366004612a88565b611438565b6104df6115a6565b806001600160a01b0381166105075760405163d92e233d60e01b815260040160405180910390fd5b5060ce80546001600160a01b0319166001600160a01b0392909216919091179055565b610532611605565b60d0545a10156105895760405162461bcd60e51b815260206004820152601e60248201527f506f6c79676f6e436f6e6e6563746f724c6f6769633a206c6f7720676173000060448201526064015b60405180910390fd5b60cb546001600160a01b031633146105ed5760405162461bcd60e51b815260206004820152602160248201527f506f6c79676f6e436f6e6e6563746f724c6f6769633a206e6f74206163726f736044820152607360f81b6064820152608401610580565b6000806000838060200190518101906106069190612ce4565b9250925092507fd8883c6af9aa96506569d2db74cafb52037a26374320a8aeaf9fd5cd7df3d228838383876040516106419493929190613337565b60405180910390a1610678836040518060400160405280600d81526020016c073776170416e64556e7772617609c1b81525061165f565b1561068d576106888685896116b8565b6106d0565b6106c0836040518060400160405280601181526020017073776170416e64556e7772617052756e6560781b81525061165f565b156106d0576106d0868589611c0b565b5050506106dd6001606555565b50505050565b6106eb611605565b60006106f985848487612063565b905060008060008088806020019051810190610715919061308d565b6001600160a01b03898116600090815260cd60209081526040808320888452825280832087845282528083209386168352929052908120805491905593975091955093509150806107785760405162461bcd60e51b8152600401610580906133ab565b6107858686858486612192565b60008051602061382883398151915284868584868b6040516107ac9695949392919061356e565b60405180910390a15050505050506106dd6001606555565b6107cc6115a6565b806001600160a01b0381166107f45760405163d92e233d60e01b815260040160405180910390fd5b5060ca80546001600160a01b0319166001600160a01b0392909216919091179055565b61081f6115a6565b806001600160a01b0381166108475760405163d92e233d60e01b815260040160405180910390fd5b5060c980546001600160a01b0319166001600160a01b0392909216919091179055565b6108726115a6565b806001600160a01b03811661089a5760405163d92e233d60e01b815260040160405180910390fd5b5060cb80546001600160a01b0319166001600160a01b0392909216919091179055565b6108c56115a6565b6108cf60006122fa565b565b6108d9611605565b60cf546001600160a01b031633148061090a57506108f5610a35565b6001600160a01b0316336001600160a01b0316145b6109645760405162461bcd60e51b815260206004820152602560248201527f506f6c79676f6e436f6e6e6563746f724c6f6769633a206e6f7420617574686f6044820152641c9a5e995960da1b6064820152608401610580565b6001600160a01b03858116600090815260cd602090815260408083208884528252808320878452825280832093861683529290529081208054919055806109bd5760405162461bcd60e51b8152600401610580906133ab565b6109ca8686858486612192565b60008051602061382883398151915284868584868b6040516109f19695949392919061356e565b60405180910390a150610a046001606555565b5050505050565b610a136115a6565b60cf80546001600160a01b0319166001600160a01b0392909216919091179055565b6033546001600160a01b031690565b610a4c611605565b6000610a5a85848487612063565b90506000610a678661234c565b6001600160a01b038316600090815260cd60209081526040808320828501518452825280832084518452909152812060e083015180519394509192909183918290610ac257634e487b7160e01b600052603260045260246000fd5b6020908102919091018101516001600160a01b039081168352828201939093526040918201600090812054938716815260cd825282812086830151825282528281208651825290915290812060e0850151805193945090928290610b3657634e487b7160e01b600052603260045260246000fd5b60200260200101516001600160a01b03166001600160a01b031681526020019081526020016000206000905560008111610b825760405162461bcd60e51b8152600401610580906133f3565b8160e00151600081518110610ba757634e487b7160e01b600052603260045260246000fd5b602090810291909101015160ce5460405163095ea7b360e01b81526001600160a01b039283169263095ea7b392610be592911690859060040161330b565b602060405180830381600087803b158015610bff57600080fd5b505af1158015610c13573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c379190612c69565b5060ce546060830151608084015160c0850151610100860151805160209091015160a088015160e089015160405163e91ffefd60e01b81526001600160a01b039098169763e91ffefd97610c9c979096909590949093909290918b91906004016135a5565b602060405180830381600087803b158015610cb657600080fd5b505af1158015610cca573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610cee9190612fb0565b5081604001516001600160a01b03167f284e317953e0a6a3f7aa727623192f6c44a92fb0a805d7ea1916a93e78b0e81b83600001518460200151856060015186608001518760a001518860c00151888a60e001518b6101000151600001518c610100015160200151600160ce60009054906101000a90046001600160a01b03166001600160a01b03166390665eca6040518163ffffffff1660e01b815260040160206040518083038186803b158015610da657600080fd5b505afa158015610dba573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610dde9190612fb0565b610de89190613794565b604051610dff9b9a9998979695949392919061366b565b60405180910390a25050506106dd6001606555565b610e1c611605565b6000610e2a85848487612063565b90506000806000806000806000806000808e806020019051810190610e4f9190612fc8565b9950995099509950995099509950995099509950600060cd60008d6001600160a01b03166001600160a01b0316815260200190815260200160002060008c815260200190815260200160002060008b815260200190815260200160002060008a6001600160a01b03166001600160a01b0316815260200190815260200160002054905060cd60008d6001600160a01b03166001600160a01b0316815260200190815260200160002060008c815260200190815260200160002060008b815260200190815260200160002060008a6001600160a01b03166001600160a01b031681526020019081526020016000206000905560008111610f605760405162461bcd60e51b8152600401610580906133f3565b6040805160028082526060820183526000926020830190803683370190505090508181600081518110610fa357634e487b7160e01b600052603260045260246000fd5b6020026020010181815250508781600181518110610fd157634e487b7160e01b600052603260045260246000fd5b60200260200101818152505083600081518110610ffe57634e487b7160e01b600052603260045260246000fd5b602090810291909101015160ca5460405163095ea7b360e01b81526001600160a01b039283169263095ea7b39261103c92911690869060040161330b565b602060405180830381600087803b15801561105657600080fd5b505af115801561106a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061108e9190612c69565b5060ca546040516344dd6aa560e01b81526001600160a01b03909116906344dd6aa5906110d0908c9085906001908a9042908f908f908f908e90600401613250565b602060405180830381600087803b1580156110ea57600080fd5b505af11580156110fe573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111229190612fb0565b5060c95460405163626885b560e11b81526000916001600160a01b03169063c4d10b6a90611154908990600401613324565b60206040518083038186803b15801561116c57600080fd5b505afa158015611180573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111a49190612a6c565b90508d6001600160a01b03167fc3fa5dbbc53aa478b310dddcc3bd2527072ac6794c00d92e4ad7201827297fc08d8f8d8f888e8e89600160ca60009054906101000a90046001600160a01b03166001600160a01b031663930a60e88d6040518263ffffffff1660e01b815260040161121c91906131a2565b60206040518083038186803b15801561123457600080fd5b505afa158015611248573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061126c9190612fb0565b6112769190613794565b8f8f60405161128f9b9a99989796959493929190613484565b60405180910390a250505050505050505050505050506106dd6001606555565b6112b76115a6565b6001600160a01b03831673eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee1415611332576040516001600160a01b038316908290600081818185875af1925050503d8060008114611325576040519150601f19603f3d011682016040523d82523d6000602084013e61132a565b606091505b505050505050565b60405163a9059cbb60e01b81526001600160a01b0384169063a9059cbb90611360908590859060040161330b565b602060405180830381600087803b15801561137a57600080fd5b505af115801561138e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106dd9190612c69565b6113ba6115a6565b60d055565b6113c76115a6565b6001600160a01b03811661142c5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610580565b611435816122fa565b50565b600054610100900460ff16158080156114585750600054600160ff909116105b806114725750303b158015611472575060005460ff166001145b6114d55760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b6064820152608401610580565b6000805460ff1916600117905580156114f8576000805461ff0019166101001790555b6115006123c4565b6115086123f3565b611510612422565b60c980546001600160a01b038088166001600160a01b03199283161790925560ca805487841690831617905560cb805486841690831617905560ce8054928516929091169190911790558015610a04576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15050505050565b336115af610a35565b6001600160a01b0316146108cf5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610580565b600260655414156116585760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152606401610580565b6002606555565b600081604051602001611672919061315d565b6040516020818303038152906040528051906020012083604051602001611699919061315d565b6040516020818303038152906040528051906020012014905092915050565b60006116c383612451565b9050816001600160a01b03168160c001516000815181106116f457634e487b7160e01b600052603260045260246000fd5b60200260200101516001600160a01b0316146117225760405162461bcd60e51b815260040161058090613368565b604080516002808252606082018352600092602083019080368337019050509050848160008151811061176557634e487b7160e01b600052603260045260246000fd5b60200260200101818152505081608001518160018151811061179757634e487b7160e01b600052603260045260246000fd5b602090810291909101015260ca5460405163095ea7b360e01b81526001600160a01b038581169263095ea7b3926117d69290911690899060040161330b565b602060405180830381600087803b1580156117f057600080fd5b505af1158015611804573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118289190612c69565b5060ca54606083015160a084015160c085015160e0860151805160208201516040928301516101008a015193516344dd6aa560e01b81526001600160a01b03909816976344dd6aa59761188c9790968b969195909442949193909290600401613250565b602060405180830381600087803b1580156118a657600080fd5b505af19250505080156118d6575060408051601f3d908101601f191682019092526118d391810190612fb0565b60015b611a5c5760ca5460405163095ea7b360e01b81526001600160a01b038581169263095ea7b39261190f929091169060009060040161330b565b602060405180830381600087803b15801561192957600080fd5b505af115801561193d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906119619190612c69565b508460cd600084604001516001600160a01b03166001600160a01b031681526020019081526020016000206000846020015181526020019081526020016000206000846000015181526020019081526020016000206000856001600160a01b03166001600160a01b031681526020019081526020016000208190555081604001516001600160a01b03167fa79aee2abfa3037b36c3689636c9932b113a82cebda0057ac4ce2386371fc969836000015184602001518560600151878a8860e00151600001518960e00151602001518a60c001518b6101000151604051611a4f9998979695949392919061350c565b60405180910390a2610a04565b5060c95460e0830151604090810151905163626885b560e11b81526000926001600160a01b03169163c4d10b6a91611a979190600401613324565b60206040518083038186803b158015611aaf57600080fd5b505afa158015611ac3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611ae79190612a6c565b905082604001516001600160a01b03167f124f82fb68081b8c772a74ce98c0c92b659dd79e4fd3f03cf49988818eb04e8b846000015185602001518660600151888b8960e00151600001518a60e001516020015189600160ca60009054906101000a90046001600160a01b03166001600160a01b031663930a60e88d6040518263ffffffff1660e01b8152600401611b7f91906131a2565b60206040518083038186803b158015611b9757600080fd5b505afa158015611bab573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611bcf9190612fb0565b611bd99190613794565b8d60c001518e6101000151604051611bfb9b9a99989796959493929190613484565b60405180910390a2505050505050565b6000611c168361234c565b9050816001600160a01b03168160e00151600081518110611c4757634e487b7160e01b600052603260045260246000fd5b60200260200101516001600160a01b031614611c755760405162461bcd60e51b815260040161058090613368565b60ce5460405163095ea7b360e01b81526001600160a01b038481169263095ea7b392611ca99290911690889060040161330b565b602060405180830381600087803b158015611cc357600080fd5b505af1158015611cd7573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611cfb9190612c69565b5060ce546060820151608083015160c0840151610100850151805160209091015160a087015160e088015160405163e91ffefd60e01b81526001600160a01b039098169763e91ffefd97600097611d62979196909591949093919290918f916004016135a5565b6020604051808303818588803b158015611d7b57600080fd5b505af193505050508015611dac575060408051601f3d908101601f19168201909252611da991810190612fb0565b60015b611f3d5760ce5460405163095ea7b360e01b81526001600160a01b038481169263095ea7b392611de5929091169060009060040161330b565b602060405180830381600087803b158015611dff57600080fd5b505af1158015611e13573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611e379190612c69565b508360cd600083604001516001600160a01b03166001600160a01b031681526020019081526020016000206000836020015181526020019081526020016000206000836000015181526020019081526020016000206000846001600160a01b03166001600160a01b031681526020019081526020016000208190555080604001516001600160a01b03167feef470645928135b5faf5eb6a2f7076448531d47f42149c2b1ceaa9fe1d624a082600001518360200151846060015185608001518660a001518760c001518b8960e001518a6101000151600001518b610100015160200151604051611f309a99989796959493929190613607565b60405180910390a26106dd565b5080604001516001600160a01b03167f13a9049471d86bfc267b825d08be20c5ebfc793c109c11eb159af6781cda310582600001518360200151846060015185608001518660a001518760c001518b8960e001518a6101000151600001518b610100015160200151600160ce60009054906101000a90046001600160a01b03166001600160a01b03166390665eca6040518163ffffffff1660e01b815260040160206040518083038186803b158015611ff557600080fd5b505afa158015612009573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061202d9190612fb0565b6120379190613794565b60405161204e9b9a9998979695949392919061366b565b60405180910390a250505050565b6001606555565b600080858051906020012090506000816040516020016120ae91907b0ca2ba3432b932bab69029b4b3b732b21026b2b9b9b0b3b29d05199960211b8152601c810191909152603c0190565b60408051601f198184030181528282528051602091820120600080855291840180845281905260ff88169284019290925260608301899052608083018890529092509060019060a0016020604051602081039080840390855afa158015612119573d6000803e3d6000fd5b5050604051601f1901519150506001600160a01b0381166121875760405162461bcd60e51b815260206004820152602260248201527f506f6c79676f6e436f6e6e6563746f724c6f6769633a20496e76616c69642073604482015261696760f01b6064820152608401610580565b979650505050505050565b60cb5460405163095ea7b360e01b81526001600160a01b038581169263095ea7b3926121c69290911690869060040161330b565b602060405180830381600087803b1580156121e057600080fd5b505af11580156121f4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906122189190612c69565b5060cf546000906001600160a01b031686858386670de0b6b3a76400006122486001600160401b03891682613794565b612252908a613775565b61225c9190613755565b8a60004261226c8161384061373d565b60006040516024016122889b9a999897969594939291906131b6565b60408051601f19818403018152918152602080830180516001600160e01b0316633dc9c91960e11b17905290519192506000916122c791849101613179565b60408051601f1981840301815291905260cb549091506122f0906001600160a01b0316826124cd565b5050505050505050565b603380546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b612354612708565b818060200190518101906123689190612ee2565b505050608088015260c087015260a08601526001600160a01b0316604085015260208085019190915290835283516123a7925084018101908401612ee2565b60608b01526101008a015260e08901525095979650505050505050565b600054610100900460ff166123eb5760405162461bcd60e51b815260040161058090613439565b6108cf612516565b600054610100900460ff1661241a5760405162461bcd60e51b815260040161058090613439565b6108cf612546565b600054610100900460ff166124495760405162461bcd60e51b815260040161058090613439565b6108cf61256d565b612459612775565b8180602001905181019061246d9190612d31565b60e08a015260c0890152151560a088015260808701526001600160a01b03908116606087015216604085015260208085019190915290835283516124b8925084018101908401612e04565b6101008b015250979998505050505050505050565b606061250f83836040518060400160405280601e81526020017f416464726573733a206c6f772d6c6576656c2063616c6c206661696c656400008152506125a0565b9392505050565b600054610100900460ff1661253d5760405162461bcd60e51b815260040161058090613439565b6108cf336122fa565b600054610100900460ff1661205c5760405162461bcd60e51b815260040161058090613439565b600054610100900460ff166125945760405162461bcd60e51b815260040161058090613439565b6097805460ff19169055565b60606125af84846000856125b7565b949350505050565b6060824710156126185760405162461bcd60e51b815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f6044820152651c8818d85b1b60d21b6064820152608401610580565b843b6126665760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610580565b600080866001600160a01b03168587604051612682919061315d565b60006040518083038185875af1925050503d80600081146126bf576040519150601f19603f3d011682016040523d82523d6000602084013e6126c4565b606091505b5091509150612187828286606083156126de57508161250f565b8251156126ee5782518084602001fd5b8160405162461bcd60e51b81526004016105809190613324565b604051806101200160405280600081526020016000815260200160006001600160a01b03168152602001600081526020016000815260200160008152602001600081526020016060815260200161277060408051808201909152606081526000602082015290565b905290565b604051806101200160405280600081526020016000815260200160006001600160a01b0316815260200160006001600160a01b0316815260200160008152602001600015158152602001606081526020016127e86040805160608082018352808252600060208301529181019190915290565b8152602001600081525090565b805161280081613803565b919050565b600082601f830112612815578081fd5b815160206001600160401b03821115612830576128306137ed565b8160051b61283f8282016136e6565b838152828101908684018388018501891015612859578687fd5b8693505b8584101561288457805161287081613803565b83526001939093019291840191840161285d565b50979650505050505050565b8051801515811461280057600080fd5b600082601f8301126128b0578081fd5b81356128c36128be82613716565b6136e6565b8181528460208386010111156128d7578283fd5b816020850160208301379081016020019190915292915050565b600082601f830112612901578081fd5b815161290f6128be82613716565b818152846020838601011115612923578283fd5b6125af8260208301602087016137ab565b80516006811061280057600080fd5b600060608284031215612954578081fd5b604051606081016001600160401b038082118383101715612977576129776137ed565b81604052829350845191508082111561298f57600080fd5b61299b868387016128f1565b83526129a960208601612934565b602084015260408501519150808211156129c257600080fd5b506129cf858286016128f1565b6040830152505092915050565b6000604082840312156129ed578081fd5b604080519081016001600160401b038082118383101715612a1057612a106137ed565b816040528293508451915080821115612a2857600080fd5b50612a35858286016128f1565b825250612a4460208401612934565b60208201525092915050565b600060208284031215612a61578081fd5b813561250f81613803565b600060208284031215612a7d578081fd5b815161250f81613803565b60008060008060808587031215612a9d578283fd5b8435612aa881613803565b93506020850135612ab881613803565b92506040850135612ac881613803565b91506060850135612ad881613803565b939692955090935050565b600080600060608486031215612af7578283fd5b8335612b0281613803565b92506020840135612b1281613803565b929592945050506040919091013590565b600080600060608486031215612b37578283fd5b8335612b4281613803565b9250602084013591506040840135612b5981613803565b809150509250925092565b60008060008060808587031215612b79578182fd5b8435612b8481613803565b9350602085013592506040850135612b9b81613803565b915060608501356001600160401b03811115612bb5578182fd5b612bc1878288016128a0565b91505092959194509250565b60008060008060808587031215612be2578182fd5b8435612bed81613803565b935060208501359250604085013591506060850135612ad881613803565b600080600080600060a08688031215612c22578283fd5b8535612c2d81613803565b945060208601359350604086013592506060860135612c4b81613803565b91506080860135612c5b81613818565b809150509295509295909350565b600060208284031215612c7a578081fd5b61250f82612890565b60008060008060808587031215612c98578182fd5b84356001600160401b03811115612cad578283fd5b612cb9878288016128a0565b945050602085013560ff81168114612ccf578283fd5b93969395505050506040820135916060013590565b600080600060608486031215612cf8578081fd5b83516001600160401b03811115612d0d578182fd5b612d19868287016128f1565b93505060208401519150604084015190509250925092565b60008060008060008060008060006101208a8c031215612d4f578687fd5b89516001600160401b0380821115612d65578889fd5b612d718d838e016128f1565b9a5060208c0151995060408c01519850612d8d60608d016127f5565b9750612d9b60808d016127f5565b965060a08c01519550612db060c08d01612890565b945060e08c0151915080821115612dc5578384fd5b612dd18d838e01612805565b93506101008c0151915080821115612de7578283fd5b50612df48c828d01612943565b9150509295985092959850929598565b6000806000806000806000806000806101408b8d031215612e23578384fd5b8a516001600160401b0380821115612e39578586fd5b612e458e838f016128f1565b9b5060208d01519a5060408d01519950612e6160608e016127f5565b9850612e6f60808e016127f5565b975060a08d01519650612e8460c08e01612890565b955060e08d0151915080821115612e99578283fd5b612ea58e838f01612805565b94506101008d0151915080821115612ebb578283fd5b50612ec88d828e01612943565b9250506101208b015190509295989b9194979a5092959850565b6000806000806000806000806000806101408b8d031215612f01578384fd5b8a516001600160401b0380821115612f17578586fd5b612f238e838f016128f1565b9b5060208d01519a5060408d01519950612f3f60608e016127f5565b985060808d0151975060a08d0151965060c08d0151955060e08d0151915080821115612f69578485fd5b612f758e838f01612805565b94506101008d0151915080821115612f8b578384fd5b50612ec88d828e016129dc565b600060208284031215612fa9578081fd5b5035919050565b600060208284031215612fc1578081fd5b5051919050565b6000806000806000806000806000806101408b8d031215612fe7578384fd5b8a51995060208b01519850612ffe60408c016127f5565b975061300c60608c016127f5565b60808c015160a08d015191985096506001600160401b038082111561302f578586fd5b61303b8e838f016128f1565b965061304960c08e01612934565b955060e08d015191508082111561305e578485fd5b61306a8e838f016128f1565b94506101008d0151915080821115613080578384fd5b50612ec88d828e01612805565b600080600080608085870312156130a2578182fd5b845193506020850151925060408501516130bb81613803565b6060860151909250612ad881613818565b6000815180845260208085019450808401835b838110156131045781516001600160a01b0316875295820195908201906001016130df565b509495945050505050565b600081518084526131278160208601602086016137ab565b601f01601f19169290920160200192915050565b6006811061315957634e487b7160e01b600052602160045260246000fd5b9052565b6000825161316f8184602087016137ab565b9190910192915050565b6000825161318b8184602087016137ab565b641dc0de008360d81b920191825250600501919050565b6001600160a01b0391909116815260200190565b6001600160a01b038c811682528b811660208301528a8116604083015289811660608301526080820189905260a0820188905260c08201879052851660e082015263ffffffff848116610100830152831661012082015260ff821661014082015260006101808061016084015261323e8184016002815261060f60f31b602082015260400190565b9e9d5050505050505050505050505050565b6001600160a01b038a16815261012060208083018290528a519183018290526000916101408401918c810191845b8181101561329a5783518552938201939282019260010161327e565b50505050891515604084015282810360608401526132b8818a6130cc565b905087608084015282810360a08401526132d2818861310f565b90506132e160c084018761313b565b82810360e08401526132f3818661310f565b915050826101008301529a9950505050505050505050565b6001600160a01b03929092168252602082015260400190565b60208152600061250f602083018461310f565b60808152600061334a608083018761310f565b8560208401528460408401528281036060840152612187818561310f565b60208082526023908201527f506f6c79676f6e436f6e6e6563746f724c6f6769633a20696e76616c696420706040820152620c2e8d60eb1b606082015260800190565b60208082526028908201527f506f6c79676f6e436f6e6e6563746f724c6f6769633a20616c7265616479207760408201526734ba34323930bbb760c11b606082015260800190565b60208082526026908201527f506f6c79676f6e436f6e6e6563746f724c6f6769633a20616c72656164792072604082015265195d1c9a595960d21b606082015260800190565b6020808252602b908201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960408201526a6e697469616c697a696e6760a81b606082015260800190565b60006101608d83528c602084015260018060a01b03808d166040850152808c1660608501528a60808501528160a08501526134c18285018b61310f565b91506134d060c085018a61313b565b871660e084015261010083018690528281036101208401526134f281866130cc565b915050826101408301529c9b505050505050505050505050565b898152602081018990526001600160a01b038881166040830152871660608201526080810186905261012060a0820181905260009061354d8382018861310f565b905061355c60c084018761313b565b82810360e08401526132f381866130cc565b95865260208601949094526001600160a01b039283166040860152606085019190915260070b60808401521660a082015260c00190565b60006101008a83528960208401528860408401528060608401526135cb8184018961310f565b90506135da608084018861313b565b8560a08401528460c084015282810360e08401526135f881856130cc565b9b9a5050505050505050505050565b60006101408c83528b60208401528a60408401528960608401528860808401528760a08401528660c08401528060e0840152613645818401876130cc565b905082810361010084015261365a818661310f565b9150506135f861012083018461313b565b60006101608d83528c60208401528b60408401528a60608401528960808401528860a08401528760c08401528060e08401526136a9818401886130cc565b90508281036101008401526136be818761310f565b9150506136cf61012083018561313b565b826101408301529c9b505050505050505050505050565b604051601f8201601f191681016001600160401b038111828210171561370e5761370e6137ed565b604052919050565b60006001600160401b0382111561372f5761372f6137ed565b50601f01601f191660200190565b60008219821115613750576137506137d7565b500190565b60008261377057634e487b7160e01b81526012600452602481fd5b500490565b600081600019048311821515161561378f5761378f6137d7565b500290565b6000828210156137a6576137a66137d7565b500390565b60005b838110156137c65781810151838201526020016137ae565b838111156106dd5750506000910152565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052604160045260246000fd5b6001600160a01b038116811461143557600080fd5b8060070b811461143557600080fdfef43f17a174cd55d7d75e934475f1cec7890c2bf3fabbf376de3868f0d8ce6897a2646970667358221220e43672b4fc71929bf3f9ca732039ee8ce3ba6ecb92b752adb93e211d4d0ac53164736f6c63430008040033