4 txs
2.8k calls
constructor
constructor(address _auraOFT, uint16 _canonicalChainId)
functions
accAuraRewards
viewfunction accAuraRewards() view returns (uint256)
accBalRewards
viewfunction accBalRewards() view returns (uint256)
auraOFT
viewfunction auraOFT() view returns (address)
balToken
viewfunction balToken() view returns (address)
booster
viewfunction booster() view returns (address)
bridgeDelegate
viewfunction bridgeDelegate() view returns (address)
canonicalChainId
viewfunction canonicalChainId() view returns (uint16)
DEFAULT_PAYLOAD_SIZE_LIMIT
viewfunction DEFAULT_PAYLOAD_SIZE_LIMIT() view returns (uint256)
failedMessages
viewfunction failedMessages(uint16, bytes, uint64) view returns (bytes32)
getAdapterParams
viewfunction getAdapterParams(uint16, bytes32) view returns (bytes)
getConfig
viewfunction getConfig(uint16 _version, uint16 _chainId, address, uint256 _configType) view returns (bytes)
getTrustedRemoteAddress
viewfunction getTrustedRemoteAddress(uint16 _remoteChainId) view returns (bytes)
isTrustedRemote
viewfunction isTrustedRemote(uint16 _srcChainId, bytes _srcAddress) view returns (bool)
lzEndpoint
viewfunction lzEndpoint() view returns (address)
minDstGasLookup
viewfunction minDstGasLookup(uint16, uint16) view returns (uint256)
mintRate
viewfunction mintRate() view returns (uint256)
owner
viewfunction owner() view returns (address)
payloadSizeLimitLookup
viewfunction payloadSizeLimitLookup(uint16) view returns (uint256)
pendingNotifyFees
viewfunction pendingNotifyFees() view returns (uint256)
precrime
viewfunction precrime() view returns (address)
trustedRemoteLookup
viewfunction trustedRemoteLookup(uint16) view returns (bytes)
forceResumeReceive
nonpayablefunction forceResumeReceive(uint16 _srcChainId, bytes _srcAddress)
initialize
nonpayablefunction initialize(address _booster, address _balToken, address _lzEndpoint)
lzReceive
nonpayablefunction lzReceive(uint16 _srcChainId, bytes _srcAddress, uint64 _nonce, bytes _payload)
mint
nonpayablefunction mint(address _to, uint256 _amount)
nonblockingLzReceive
nonpayablefunction nonblockingLzReceive(uint16 _srcChainId, bytes _srcAddress, uint64 _nonce, bytes _payload)
notifyFees
payablefunction notifyFees(address _zroPaymentAddress) payable
queueNewRewards
payablefunction queueNewRewards(address, uint256 _fees, uint256 _rewards, address) payable
renounceOwnership
nonpayablefunction renounceOwnership()
retryMessage
payablefunction retryMessage(uint16 _srcChainId, bytes _srcAddress, uint64 _nonce, bytes _payload) payable
setAdapterParams
nonpayablefunction setAdapterParams(uint16 _srcChainId, bytes32 _selector, bytes _adapterParams)
setBridgeDelegate
nonpayablefunction setBridgeDelegate(address _bridgeDelegate)
setConfig
nonpayablefunction setConfig(uint16 _version, uint16 _chainId, uint256 _configType, bytes _config)
setMinDstGas
nonpayablefunction setMinDstGas(uint16 _dstChainId, uint16 _packetType, uint256 _minGas)
setPayloadSizeLimit
nonpayablefunction setPayloadSizeLimit(uint16 _dstChainId, uint256 _size)
setPrecrime
nonpayablefunction setPrecrime(address _precrime)
setReceiveVersion
nonpayablefunction setReceiveVersion(uint16 _version)
setSendVersion
nonpayablefunction setSendVersion(uint16 _version)
setTrustedRemote
nonpayablefunction setTrustedRemote(uint16 _srcChainId, bytes _path)
setTrustedRemoteAddress
nonpayablefunction setTrustedRemoteAddress(uint16 _remoteChainId, bytes _remoteAddress)
transferOwnership
nonpayablefunction transferOwnership(address newOwner)
events
BridgeDelegateUpdated
event BridgeDelegateUpdated(address bridgeDelegate)
MessageFailed
event MessageFailed(uint16 _srcChainId, bytes _srcAddress, uint64 _nonce, bytes _payload, bytes _reason)
OwnershipTransferred
event OwnershipTransferred(address indexed previousOwner, address indexed newOwner)
RetryMessageSuccess
event RetryMessageSuccess(uint16 _srcChainId, bytes _srcAddress, uint64 _nonce, bytes32 _payloadHash)
RewardAdded
event RewardAdded(address token, uint256 reward)
SetAdapterParams
event SetAdapterParams(uint16 indexed srcChainId, bytes32 selector, bytes adapterParams)
SetMinDstGas
event SetMinDstGas(uint16 _dstChainId, uint16 _type, uint256 _minDstGas)
SetPrecrime
event SetPrecrime(address precrime)
SetTrustedRemote
event SetTrustedRemote(uint16 _remoteChainId, bytes _path)
SetTrustedRemoteAddress
event SetTrustedRemoteAddress(uint16 _remoteChainId, bytes _remoteAddress)
errors
No errors.
creation bytecode
0x60c06040523480156200001157600080fd5b5060405162003576380380620035768339810160408190526200003491620000af565b6200003f336200005f565b60016008556001600160a01b0390911660a05261ffff16608052620000ff565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b60008060408385031215620000c357600080fd5b82516001600160a01b0381168114620000db57600080fd5b602084015190925061ffff81168114620000f457600080fd5b809150509250929050565b60805160a05161343562000141600039600081816105aa01528181610e2c015261206f01526000818161034701528181611357015261144d01526134356000f3fe6080604052600436106102c55760003560e01c80638da5cb5b11610179578063ca0dcf16116100d6578063df2a5b3b1161008a578063eb8d72b711610064578063eb8d72b7146107fc578063f2fde38b1461081c578063f5ecbdbc1461083c57600080fd5b8063df2a5b3b146107a6578063df979cf8146107c6578063e0325208146107dc57600080fd5b8063ce726e63116100bb578063ce726e6314610760578063d1deba1f14610780578063d28822731461079357600080fd5b8063ca0dcf161461072b578063cbed8b9c1461074057600080fd5b8063b45c7d581161012d578063c0c53b8b11610112578063c0c53b8b146106d5578063c4461834146106f5578063c6def0761461070b57600080fd5b8063b45c7d58146106a2578063baf3292d146106b557600080fd5b80639f38369a1161015e5780639f38369a14610642578063a6c3d16514610662578063b353aaa71461068257600080fd5b80638da5cb5b14610604578063950c8a741461062257600080fd5b80633f1f4fa41161022757806366ad5c8a116101db5780637533d788116101c05780637533d7881461057857806376968f49146105985780638cfd8f5c146105cc57600080fd5b806366ad5c8a14610543578063715018a61461056357600080fd5b806342d65a8d1161020c57806342d65a8d146104a75780634511ee99146104c75780635b8c41e6146104f457600080fd5b80633f1f4fa41461045a57806340c10f191461048757600080fd5b806310ddb1371161027e57806338d546451161026357806338d54645146103d25780633b7979351461040a5780633d8b38f61461042a57600080fd5b806310ddb1371461039c5780631178008d146103bc57600080fd5b80630b0925d6116102af5780630b0925d61461030c5780630c7bdd72146103355780630df374831461037c57600080fd5b80621d3567146102ca57806307e0db17146102ec575b600080fd5b3480156102d657600080fd5b506102ea6102e5366004612ac9565b61085c565b005b3480156102f857600080fd5b506102ea610307366004612b5d565b610a8f565b34801561031857600080fd5b50610322600e5481565b6040519081526020015b60405180910390f35b34801561034157600080fd5b506103697f000000000000000000000000000000000000000000000000000000000000000081565b60405161ffff909116815260200161032c565b34801561038857600080fd5b506102ea610397366004612b78565b610b3c565b3480156103a857600080fd5b506102ea6103b7366004612b5d565b610b9b565b3480156103c857600080fd5b50610322600c5481565b3480156103de57600080fd5b50600a546103f2906001600160a01b031681565b6040516001600160a01b03909116815260200161032c565b34801561041657600080fd5b506102ea610425366004612c67565b610c17565b34801561043657600080fd5b5061044a610445366004612cbe565b610c6f565b604051901515815260200161032c565b34801561046657600080fd5b50610322610475366004612b5d565b60046020526000908152604090205481565b34801561049357600080fd5b506102ea6104a2366004612d28565b610d3c565b3480156104b357600080fd5b506102ea6104c2366004612cbe565b610e59565b3480156104d357600080fd5b506104e76104e2366004612b78565b610f03565b60405161032c9190612d9c565b34801561050057600080fd5b5061032261050f366004612daf565b6006602090815260009384526040808520845180860184018051928152908401958401959095209452929052825290205481565b34801561054f57600080fd5b506102ea61055e366004612ac9565b610fa8565b34801561056f57600080fd5b506102ea61109b565b34801561058457600080fd5b506104e7610593366004612b5d565b6110ef565b3480156105a457600080fd5b506103f27f000000000000000000000000000000000000000000000000000000000000000081565b3480156105d857600080fd5b506103226105e7366004612e0d565b600360209081526000928352604080842090915290825290205481565b34801561061057600080fd5b506000546001600160a01b03166103f2565b34801561062e57600080fd5b506005546103f2906001600160a01b031681565b34801561064e57600080fd5b506104e761065d366004612b5d565b611108565b34801561066e57600080fd5b506102ea61067d366004612cbe565b611218565b34801561068e57600080fd5b506001546103f2906001600160a01b031681565b6102ea6106b0366004612e40565b6112eb565b3480156106c157600080fd5b506102ea6106d0366004612e40565b611480565b3480156106e157600080fd5b506102ea6106f0366004612e5b565b61151d565b34801561070157600080fd5b5061032261271081565b34801561071757600080fd5b506009546103f2906001600160a01b031681565b34801561073757600080fd5b506103226115f7565b34801561074c57600080fd5b506102ea61075b366004612e95565b611636565b34801561076c57600080fd5b50600b546103f2906001600160a01b031681565b6102ea61078e366004612ac9565b6116ef565b6102ea6107a1366004612f04565b611907565b3480156107b257600080fd5b506102ea6107c1366004612f4a565b611afb565b3480156107d257600080fd5b50610322600d5481565b3480156107e857600080fd5b506102ea6107f7366004612e40565b611bf5565b34801561080857600080fd5b506102ea610817366004612cbe565b611c8b565b34801561082857600080fd5b506102ea610837366004612e40565b611d25565b34801561084857600080fd5b506104e7610857366004612f86565b611df5565b6001546001600160a01b0316336001600160a01b0316146108c45760405162461bcd60e51b815260206004820152601e60248201527f4c7a4170703a20696e76616c696420656e64706f696e742063616c6c6572000060448201526064015b60405180910390fd5b61ffff8616600090815260026020526040812080546108e290612fd1565b80601f016020809104026020016040519081016040528092919081815260200182805461090e90612fd1565b801561095b5780601f106109305761010080835404028352916020019161095b565b820191906000526020600020905b81548152906001019060200180831161093e57829003601f168201915b50505050509050805186869050148015610976575060008151115b801561099e575080516020820120604051610994908890889061300c565b6040518091039020145b610a105760405162461bcd60e51b815260206004820152602660248201527f4c7a4170703a20696e76616c696420736f757263652073656e64696e6720636f60448201527f6e7472616374000000000000000000000000000000000000000000000000000060648201526084016108bb565b610a868787878080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050604080516020601f8a018190048102820181019092528881528a935091508890889081908401838280828437600092019190915250611e8892505050565b50505050505050565b6000546001600160a01b03163314610ad75760405162461bcd60e51b8152602060048201819052602482015260008051602061340983398151915260448201526064016108bb565b6001546040516307e0db1760e01b815261ffff831660048201526001600160a01b03909116906307e0db17906024015b600060405180830381600087803b158015610b2157600080fd5b505af1158015610b35573d6000803e3d6000fd5b5050505050565b6000546001600160a01b03163314610b845760405162461bcd60e51b8152602060048201819052602482015260008051602061340983398151915260448201526064016108bb565b61ffff909116600090815260046020526040902055565b6000546001600160a01b03163314610be35760405162461bcd60e51b8152602060048201819052602482015260008051602061340983398151915260448201526064016108bb565b6001546040516310ddb13760e01b815261ffff831660048201526001600160a01b03909116906310ddb13790602401610b07565b6000546001600160a01b03163314610c5f5760405162461bcd60e51b8152602060048201819052602482015260008051602061340983398151915260448201526064016108bb565b610c6a838383611f16565b505050565b61ffff831660009081526002602052604081208054829190610c9090612fd1565b80601f0160208091040260200160405190810160405280929190818152602001828054610cbc90612fd1565b8015610d095780601f10610cde57610100808354040283529160200191610d09565b820191906000526020600020905b815481529060010190602001808311610cec57829003601f168201915b505050505090508383604051610d2092919061300c565b60405180910390208180519060200120149150505b9392505050565b6009546001600160a01b03163314610d815760405162461bcd60e51b815260206004820152600860248201526710b137b7b9ba32b960c11b60448201526064016108bb565b6000610d8b6115f7565b905060008111610ddd5760405162461bcd60e51b815260206004820152600960248201527f216d696e7452617465000000000000000000000000000000000000000000000060448201526064016108bb565b6000670de0b6b3a7640000610df28385613032565b610dfc9190613051565b600c54909150610e0c9084611f86565b600c55600e54610e1c9082611f86565b600e55610e536001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000168583611f92565b50505050565b6000546001600160a01b03163314610ea15760405162461bcd60e51b8152602060048201819052602482015260008051602061340983398151915260448201526064016108bb565b6001546040516342d65a8d60e01b81526001600160a01b03909116906342d65a8d90610ed59086908690869060040161309c565b600060405180830381600087803b158015610eef57600080fd5b505af1158015610a86573d6000803e3d6000fd5b600760209081526000928352604080842090915290825290208054610f2790612fd1565b80601f0160208091040260200160405190810160405280929190818152602001828054610f5390612fd1565b8015610fa05780601f10610f7557610100808354040283529160200191610fa0565b820191906000526020600020905b815481529060010190602001808311610f8357829003601f168201915b505050505081565b33301461101d5760405162461bcd60e51b815260206004820152602660248201527f4e6f6e626c6f636b696e674c7a4170703a2063616c6c6572206d75737420626560448201527f204c7a417070000000000000000000000000000000000000000000000000000060648201526084016108bb565b6110938686868080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050604080516020601f890181900481028201810190925287815289935091508790879081908401838280828437600092019190915250611ff992505050565b505050505050565b6000546001600160a01b031633146110e35760405162461bcd60e51b8152602060048201819052602482015260008051602061340983398151915260448201526064016108bb565b6110ed60006120cb565b565b60026020526000908152604090208054610f2790612fd1565b61ffff811660009081526002602052604081208054606092919061112b90612fd1565b80601f016020809104026020016040519081016040528092919081815260200182805461115790612fd1565b80156111a45780601f10611179576101008083540402835291602001916111a4565b820191906000526020600020905b81548152906001019060200180831161118757829003601f168201915b505050505090508051600014156111fd5760405162461bcd60e51b815260206004820152601d60248201527f4c7a4170703a206e6f20747275737465642070617468207265636f726400000060448201526064016108bb565b610d3560006014835161121091906130ba565b83919061211b565b6000546001600160a01b031633146112605760405162461bcd60e51b8152602060048201819052602482015260008051602061340983398151915260448201526064016108bb565b818130604051602001611275939291906130d1565b60408051601f1981840301815291815261ffff851660009081526002602090815291902082516112aa93919290910190612944565b507f8c0400cfe2d1199b1a725c78960bcc2a344d869b80590d0f2bd005db15a572ce8383836040516112de9392919061309c565b60405180910390a1505050565b6002600854141561133e5760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c0060448201526064016108bb565b6002600855600d5460009061135290612243565b61ffff7f00000000000000000000000000000000000000000000000000000000000000001660009081526007602090815260408083207fb45c7d5865cf66af8e3f9a28becd6a8448969454a1ee08a584ae1262e0321df484529091528120805492935090916113c090612fd1565b80601f01602080910402602001604051908101604052809291908181526020018280546113ec90612fd1565b80156114395780601f1061140e57610100808354040283529160200191611439565b820191906000526020600020905b81548152906001019060200180831161141c57829003601f168201915b505050505090506000600d819055506114767f00000000000000000000000000000000000000000000000000000000000000008333868534612279565b5050600160085550565b6000546001600160a01b031633146114c85760405162461bcd60e51b8152602060048201819052602482015260008051602061340983398151915260448201526064016108bb565b600580546001600160a01b0319166001600160a01b0383169081179091556040519081527f5db758e995a17ec1ad84bdef7e8c3293a0bd6179bcce400dff5d4c3d87db726b906020015b60405180910390a150565b6000546001600160a01b031633146115655760405162461bcd60e51b8152602060048201819052602482015260008051602061340983398151915260448201526064016108bb565b6009546001600160a01b0316156115be5760405162461bcd60e51b815260206004820152601360248201527f616c726561647920696e697469616c697a65640000000000000000000000000060448201526064016108bb565b600980546001600160a01b038086166001600160a01b031992831617909255600a805492851692909116919091179055610c6a81612410565b600080600c54116116085750600090565b611631600c5461162b670de0b6b3a7640000600e546124e190919063ffffffff16565b906124ed565b905090565b6000546001600160a01b0316331461167e5760405162461bcd60e51b8152602060048201819052602482015260008051602061340983398151915260448201526064016108bb565b6001546040516332fb62e760e21b81526001600160a01b039091169063cbed8b9c906116b690889088908890889088906004016130f7565b600060405180830381600087803b1580156116d057600080fd5b505af11580156116e4573d6000803e3d6000fd5b505050505050505050565b61ffff86166000908152600660205260408082209051611712908890889061300c565b908152604080516020928190038301902067ffffffffffffffff8716600090815292529020549050806117935760405162461bcd60e51b815260206004820152602360248201527f4e6f6e626c6f636b696e674c7a4170703a206e6f2073746f726564206d65737360448201526261676560e81b60648201526084016108bb565b8083836040516117a492919061300c565b6040518091039020146118035760405162461bcd60e51b815260206004820152602160248201527f4e6f6e626c6f636b696e674c7a4170703a20696e76616c6964207061796c6f616044820152601960fa1b60648201526084016108bb565b61ffff87166000908152600660205260408082209051611826908990899061300c565b908152604080516020928190038301812067ffffffffffffffff8916600090815290845282902093909355601f880182900482028301820190528682526118bf918991899089908190840183828082843760009201919091525050604080516020601f8a018190048102820181019092528881528a935091508890889081908401838280828437600092019190915250611ff992505050565b7fc264d91f3adc5588250e1551f547752ca0cfa8f6b530d243b9f9f4cab10ea8e587878787856040516118f6959493929190613125565b60405180910390a150505050505050565b6002600854141561195a5760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c0060448201526064016108bb565b60026008556009546001600160a01b031633146119a45760405162461bcd60e51b815260206004820152600860248201526710b137b7b9ba32b960c11b60448201526064016108bb565b600b546001600160a01b03166119fc5760405162461bcd60e51b815260206004820152600f60248201527f2162726964676544656c6567617465000000000000000000000000000000000060448201526064016108bb565b600c54611a0990836124f9565b600c55600d54611a1990846124f9565b600d55600a546040516370a0823160e01b81523060048201526000916001600160a01b0316906370a0823190602401602060405180830381865afa158015611a65573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611a899190613161565b600b54600a54919250611aa9916001600160a01b03908116911683611f92565b600a54604080516001600160a01b039092168252602082018590527fac24935fd910bc682b5ccb1a07b718cadf8cf2f6d1404c4f3ddc3662dae40e29910160405180910390a150506001600855505050565b6000546001600160a01b03163314611b435760405162461bcd60e51b8152602060048201819052602482015260008051602061340983398151915260448201526064016108bb565b60008111611b935760405162461bcd60e51b815260206004820152601560248201527f4c7a4170703a20696e76616c6964206d696e476173000000000000000000000060448201526064016108bb565b61ffff83811660008181526003602090815260408083209487168084529482529182902085905581519283528201929092529081018290527f9d5c7c0b934da8fefa9c7760c98383778a12dfbfc0c3b3106518f43fb9508ac0906060016112de565b6000546001600160a01b03163314611c3d5760405162461bcd60e51b8152602060048201819052602482015260008051602061340983398151915260448201526064016108bb565b600b80546001600160a01b0319166001600160a01b0383169081179091556040519081527f8208df36d51772f3688226f7783775dd6244eb8539511c1bb4e4114bc3af0f6f90602001611512565b6000546001600160a01b03163314611cd35760405162461bcd60e51b8152602060048201819052602482015260008051602061340983398151915260448201526064016108bb565b61ffff83166000908152600260205260409020611cf19083836129c8565b507ffa41487ad5d6728f0b19276fa1eddc16558578f5109fc39d2dc33c3230470dab8383836040516112de9392919061309c565b6000546001600160a01b03163314611d6d5760405162461bcd60e51b8152602060048201819052602482015260008051602061340983398151915260448201526064016108bb565b6001600160a01b038116611de95760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f646472657373000000000000000000000000000000000000000000000000000060648201526084016108bb565b611df2816120cb565b50565b600154604051633d7b2f6f60e21b815261ffff808716600483015285166024820152306044820152606481018390526060916001600160a01b03169063f5ecbdbc90608401600060405180830381865afa158015611e57573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052611e7f919081019061317a565b95945050505050565b600080611f005a60966366ad5c8a60e01b89898989604051602401611eb094939291906131e8565b60408051601f198184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff166001600160e01b03199093169290921790915230929190612505565b9150915081611093576110938686868685612590565b61ffff8316600090815260076020908152604080832085845282529091208251611f4292840190612944565b508261ffff167f27b2a73dad2edfd34e81c66132b9deaeb44b501067b2a055f30c52aab5efe3218383604051611f79929190613227565b60405180910390a2505050565b6000610d3582846130ba565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1663a9059cbb60e01b179052610c6a90849061262e565b61201781602001516001600160e01b031916633d3fcca360e11b1490565b15610e5357600061202782612713565b9050600281600281111561203d5761203d613240565b1415610b3557600061204e83612730565b600e5490915061205e90826124f9565b600e55604080516001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000168152602081018390527fac24935fd910bc682b5ccb1a07b718cadf8cf2f6d1404c4f3ddc3662dae40e29910160405180910390a1505050505050565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b60608161212981601f613256565b10156121775760405162461bcd60e51b815260206004820152600e60248201527f736c6963655f6f766572666c6f7700000000000000000000000000000000000060448201526064016108bb565b6121818284613256565b845110156121d15760405162461bcd60e51b815260206004820152601160248201527f736c6963655f6f75744f66426f756e647300000000000000000000000000000060448201526064016108bb565b6060821580156121f0576040519150600082526020820160405261223a565b6040519150601f8416801560200281840101858101878315602002848b0101015b81831015612229578051835260209283019201612211565b5050858452601f01601f1916604052505b50949350505050565b60405160609061226390633d3fcca360e11b90600190859060200161326e565b6040516020818303038152906040529050919050565b61ffff86166000908152600260205260408120805461229790612fd1565b80601f01602080910402602001604051908101604052809291908181526020018280546122c390612fd1565b80156123105780601f106122e557610100808354040283529160200191612310565b820191906000526020600020905b8154815290600101906020018083116122f357829003601f168201915b5050505050905080516000141561238f5760405162461bcd60e51b815260206004820152603060248201527f4c7a4170703a2064657374696e6174696f6e20636861696e206973206e6f742060448201527f61207472757374656420736f757263650000000000000000000000000000000060648201526084016108bb565b61239a878751612747565b60015460405162c5803160e81b81526001600160a01b039091169063c58031009084906123d5908b9086908c908c908c908c906004016132ae565b6000604051808303818588803b1580156123ee57600080fd5b505af1158015612402573d6000803e3d6000fd5b505050505050505050505050565b6001546001600160a01b0316156124695760405162461bcd60e51b815260206004820152601360248201527f616c726561647920696e697469616c697a65640000000000000000000000000060448201526064016108bb565b6001600160a01b0381166124bf5760405162461bcd60e51b815260206004820152600a60248201527f656e64706f696e743d300000000000000000000000000000000000000000000060448201526064016108bb565b600180546001600160a01b0319166001600160a01b0392909216919091179055565b6000610d358284613032565b6000610d358284613051565b6000610d358284613256565b6000606060008060008661ffff1667ffffffffffffffff81111561252b5761252b612ba2565b6040519080825280601f01601f191660200182016040528015612555576020820181803683370190505b50905060008087516020890160008d8df191503d925086831115612577578692505b828152826000602083013e909890975095505050505050565b8180519060200120600660008761ffff1661ffff168152602001908152602001600020856040516125c19190613315565b90815260408051918290036020908101832067ffffffffffffffff88166000908152915220919091557fe183f33de2837795525b4792ca4cd60535bd77c53b7e7030060bfcf5734d6b0c9061261f9087908790879087908790613331565b60405180910390a15050505050565b6000612683826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b03166127b59092919063ffffffff16565b805190915015610c6a57808060200190518101906126a19190613390565b610c6a5760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e60448201527f6f7420737563636565640000000000000000000000000000000000000000000060648201526084016108bb565b604081015160009060ff81166002811115610d3557610d35613240565b60008082806020019051810190611e7f91906133b2565b61ffff82166000908152600460205260409020548061276557506127105b80821115610c6a5760405162461bcd60e51b815260206004820181905260248201527f4c7a4170703a207061796c6f61642073697a6520697320746f6f206c6172676560448201526064016108bb565b60606127c484846000856127cc565b949350505050565b6060824710156128445760405162461bcd60e51b815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f60448201527f722063616c6c000000000000000000000000000000000000000000000000000060648201526084016108bb565b843b6128925760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064016108bb565b600080866001600160a01b031685876040516128ae9190613315565b60006040518083038185875af1925050503d80600081146128eb576040519150601f19603f3d011682016040523d82523d6000602084013e6128f0565b606091505b509150915061290082828661290b565b979650505050505050565b6060831561291a575081610d35565b82511561292a5782518084602001fd5b8160405162461bcd60e51b81526004016108bb9190612d9c565b82805461295090612fd1565b90600052602060002090601f01602090048101928261297257600085556129b8565b82601f1061298b57805160ff19168380011785556129b8565b828001600101855582156129b8579182015b828111156129b857825182559160200191906001019061299d565b506129c4929150612a3c565b5090565b8280546129d490612fd1565b90600052602060002090601f0160209004810192826129f657600085556129b8565b82601f10612a0f5782800160ff198235161785556129b8565b828001600101855582156129b8579182015b828111156129b8578235825591602001919060010190612a21565b5b808211156129c45760008155600101612a3d565b803561ffff81168114612a6357600080fd5b919050565b60008083601f840112612a7a57600080fd5b50813567ffffffffffffffff811115612a9257600080fd5b602083019150836020828501011115612aaa57600080fd5b9250929050565b803567ffffffffffffffff81168114612a6357600080fd5b60008060008060008060808789031215612ae257600080fd5b612aeb87612a51565b9550602087013567ffffffffffffffff80821115612b0857600080fd5b612b148a838b01612a68565b9097509550859150612b2860408a01612ab1565b94506060890135915080821115612b3e57600080fd5b50612b4b89828a01612a68565b979a9699509497509295939492505050565b600060208284031215612b6f57600080fd5b610d3582612a51565b60008060408385031215612b8b57600080fd5b612b9483612a51565b946020939093013593505050565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff81118282101715612be157612be1612ba2565b604052919050565b600067ffffffffffffffff821115612c0357612c03612ba2565b50601f01601f191660200190565b600082601f830112612c2257600080fd5b8135612c35612c3082612be9565b612bb8565b818152846020838601011115612c4a57600080fd5b816020850160208301376000918101602001919091529392505050565b600080600060608486031215612c7c57600080fd5b612c8584612a51565b925060208401359150604084013567ffffffffffffffff811115612ca857600080fd5b612cb486828701612c11565b9150509250925092565b600080600060408486031215612cd357600080fd5b612cdc84612a51565b9250602084013567ffffffffffffffff811115612cf857600080fd5b612d0486828701612a68565b9497909650939450505050565b80356001600160a01b0381168114612a6357600080fd5b60008060408385031215612d3b57600080fd5b612b9483612d11565b60005b83811015612d5f578181015183820152602001612d47565b83811115610e535750506000910152565b60008151808452612d88816020860160208601612d44565b601f01601f19169290920160200192915050565b602081526000610d356020830184612d70565b600080600060608486031215612dc457600080fd5b612dcd84612a51565b9250602084013567ffffffffffffffff811115612de957600080fd5b612df586828701612c11565b925050612e0460408501612ab1565b90509250925092565b60008060408385031215612e2057600080fd5b612e2983612a51565b9150612e3760208401612a51565b90509250929050565b600060208284031215612e5257600080fd5b610d3582612d11565b600080600060608486031215612e7057600080fd5b612e7984612d11565b9250612e8760208501612d11565b9150612e0460408501612d11565b600080600080600060808688031215612ead57600080fd5b612eb686612a51565b9450612ec460208701612a51565b935060408601359250606086013567ffffffffffffffff811115612ee757600080fd5b612ef388828901612a68565b969995985093965092949392505050565b60008060008060808587031215612f1a57600080fd5b612f2385612d11565b93506020850135925060408501359150612f3f60608601612d11565b905092959194509250565b600080600060608486031215612f5f57600080fd5b612f6884612a51565b9250612f7660208501612a51565b9150604084013590509250925092565b60008060008060808587031215612f9c57600080fd5b612fa585612a51565b9350612fb360208601612a51565b9250612fc160408601612d11565b9396929550929360600135925050565b600181811c90821680612fe557607f821691505b6020821081141561300657634e487b7160e01b600052602260045260246000fd5b50919050565b8183823760009101908152919050565b634e487b7160e01b600052601160045260246000fd5b600081600019048311821515161561304c5761304c61301c565b500290565b60008261306e57634e487b7160e01b600052601260045260246000fd5b500490565b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b61ffff84168152604060208201526000611e7f604083018486613073565b6000828210156130cc576130cc61301c565b500390565b8284823760609190911b6bffffffffffffffffffffffff19169101908152601401919050565b600061ffff808816835280871660208401525084604083015260806060830152612900608083018486613073565b61ffff86168152608060208201526000613143608083018688613073565b67ffffffffffffffff94909416604083015250606001529392505050565b60006020828403121561317357600080fd5b5051919050565b60006020828403121561318c57600080fd5b815167ffffffffffffffff8111156131a357600080fd5b8201601f810184136131b457600080fd5b80516131c2612c3082612be9565b8181528560208385010111156131d757600080fd5b611e7f826020830160208601612d44565b61ffff851681526080602082015260006132056080830186612d70565b67ffffffffffffffff8516604084015282810360608401526129008185612d70565b8281526040602082015260006127c46040830184612d70565b634e487b7160e01b600052602160045260246000fd5b600082198211156132695761326961301c565b500190565b6001600160e01b031984168152606081016003841061329d57634e487b7160e01b600052602160045260246000fd5b602082019390935260400152919050565b61ffff8716815260c0602082015260006132cb60c0830188612d70565b82810360408401526132dd8188612d70565b6001600160a01b0387811660608601528616608085015283810360a085015290506133088185612d70565b9998505050505050505050565b60008251613327818460208701612d44565b9190910192915050565b61ffff8616815260a06020820152600061334e60a0830187612d70565b67ffffffffffffffff8616604084015282810360608401526133708186612d70565b905082810360808401526133848185612d70565b98975050505050505050565b6000602082840312156133a257600080fd5b81518015158114610d3557600080fd5b6000806000606084860312156133c757600080fd5b83516001600160e01b0319811681146133df57600080fd5b602085015190935060ff811681146133f657600080fd5b8092505060408401519050925092509256fe4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572a164736f6c634300080b000a0000000000000000000000001509706a6c66ca549ff0cb464de88231ddbe213b0000000000000000000000000000000000000000000000000000000000000065