0 txs
0 calls
constructor
No constructor.
functions
bridgeContracts
viewfunction bridgeContracts(uint16 chainId_) view returns (bytes32)
chainId
viewfunction chainId() view returns (uint16)
encodeTransfer
purefunction encodeTransfer(tuple transfer) pure returns (bytes encoded)
governanceActionIsConsumed
viewfunction governanceActionIsConsumed(bytes32 hash) view returns (bool)
governanceChainId
viewfunction governanceChainId() view returns (uint16)
governanceContract
viewfunction governanceContract() view returns (bytes32)
implementation
viewfunction implementation() view returns (address)
isInitialized
viewfunction isInitialized(address impl) view returns (bool)
isTransferCompleted
viewfunction isTransferCompleted(bytes32 hash) view returns (bool)
isWrappedAsset
viewfunction isWrappedAsset(address token) view returns (bool)
onERC721Received
viewfunction onERC721Received(address operator, address, uint256, bytes) view returns (bytes4)
parseRegisterChain
purefunction parseRegisterChain(bytes encoded) pure returns (tuple chain)
parseTransfer
purefunction parseTransfer(bytes encoded) pure returns (tuple transfer)
parseUpgrade
purefunction parseUpgrade(bytes encoded) pure returns (tuple chain)
tokenImplementation
viewfunction tokenImplementation() view returns (address)
wormhole
viewfunction wormhole() view returns (address)
wrappedAsset
viewfunction wrappedAsset(uint16 tokenChainId, bytes32 tokenAddress) view returns (address)
completeTransfer
nonpayablefunction completeTransfer(bytes encodedVm)
registerChain
nonpayablefunction registerChain(bytes encodedVM)
transferNFT
payablefunction transferNFT(address token, uint256 tokenID, uint16 recipientChain, bytes32 recipient, uint32 nonce) payable returns (uint64 sequence)
upgrade
nonpayablefunction upgrade(bytes encodedVM)
events
AdminChanged
event AdminChanged(address previousAdmin, address newAdmin)
BeaconUpgraded
event BeaconUpgraded(address indexed beacon)
ContractUpgraded
event ContractUpgraded(address indexed oldContract, address indexed newContract)
Upgraded
event Upgraded(address indexed implementation)
errors
No errors.
creation bytecode
0x608060405234801561001057600080fd5b50613d1e806100206000396000f3fe608060405260043610620001875760003560e01c80639a8a059211620000db578063c68785191162000089578063e6a853e01162000060578063e6a853e0146200056b578063fbe3c2cd146200059f578063fbeeacd914620005c057600080fd5b8063c687851914620004d8578063c96616e114620004fd578063d60b347f146200052e57600080fd5b8063aa4efa5b11620000be578063aa4efa5b1462000449578063ad66a5f1146200047d578063b172b22214620004c157600080fd5b80639a8a059214620003fa578063a5799f93146200042457600080fd5b80632b51137511620001395780632f3a3d5d116200011c5780632f3a3d5d14620003a25780635c60da1b14620003c257806384acd1bb14620003da57600080fd5b80632b511375146200033a5780632c3c02a4146200036e57600080fd5b80631a2be4da116200016e5780631a2be4da14620002615780631ff1e28614620002af57806325394645146200031357600080fd5b806301f53255146200018c578063150b7a02146200020a575b600080fd5b3480156200019957600080fd5b50620001b1620001ab36600462002b1c565b62000620565b604051620002019190600060a0820190508251825260ff6020840151166020830152604083015161ffff808216604085015280606086015116606085015250506080830151608083015292915050565b60405180910390f35b3480156200021757600080fd5b506200022f62000229366004620029cb565b62000876565b6040517fffffffff00000000000000000000000000000000000000000000000000000000909116815260200162000201565b3480156200026e57600080fd5b506200029e62000280366004620029ae565b6001600160a01b031660009081526008602052604090205460ff1690565b604051901515815260200162000201565b348015620002bc57600080fd5b50620002fa620002ce36600462002e16565b61ffff91909116600090815260076020908152604080832093835292905220546001600160a01b031690565b6040516001600160a01b03909116815260200162000201565b3480156200032057600080fd5b50620003386200033236600462002b1c565b62000923565b005b3480156200034757600080fd5b506200035f6200035936600462002b1c565b62000a16565b6040516200020191906200304e565b3480156200037b57600080fd5b506200029e6200038d36600462002aea565b60009081526004602052604090205460ff1690565b348015620003af57600080fd5b506001546001600160a01b0316620002fa565b348015620003cf57600080fd5b50620002fa62000c4d565b348015620003e757600080fd5b506000546001600160a01b0316620002fa565b3480156200040757600080fd5b5060025461ffff165b60405161ffff909116815260200162000201565b3480156200043157600080fd5b50620003386200044336600462002b1c565b62000c67565b3480156200045657600080fd5b506200029e6200046836600462002aea565b60009081526005602052604090205460ff1690565b3480156200048a57600080fd5b50620004b26200049c36600462002dd8565b61ffff1660009081526009602052604090205490565b60405190815260200162000201565b348015620004ce57600080fd5b50600354620004b2565b348015620004e557600080fd5b5062000338620004f736600462002b1c565b62000d7a565b620005146200050e36600462002a6a565b62000d88565b60405167ffffffffffffffff909116815260200162000201565b3480156200053b57600080fd5b506200029e6200054d366004620029ae565b6001600160a01b031660009081526006602052604090205460ff1690565b3480156200057857600080fd5b50620005906200058a36600462002b9e565b62001492565b60405162000201919062002fe5565b348015620005ac57600080fd5b5060025462010000900461ffff1662000410565b348015620005cd57600080fd5b50620005e5620005df36600462002b1c565b620014ed565b6040516200020191908151815260208083015160ff169082015260408083015161ffff16908201526060918201519181019190915260800190565b6040805160a0810182526000808252602082018190529181018290526060810182905260808101829052906200065783826200170e565b825262000666602082620031d9565b8251909150684e465442726964676514620006ee5760405162461bcd60e51b815260206004820152602360248201527f696e76616c6964205265676973746572436861696e3a2077726f6e67206d6f6460448201527f756c65000000000000000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b620006fa838262001778565b60ff1660208301526200070f600182620031d9565b9050816020015160ff16600114620007905760405162461bcd60e51b815260206004820152602360248201527f696e76616c6964205265676973746572436861696e3a2077726f6e672061637460448201527f696f6e00000000000000000000000000000000000000000000000000000000006064820152608401620006e5565b6200079c8382620017e2565b61ffff166040830152620007b2600282620031d9565b9050620007c08382620017e2565b61ffff166060830152620007d6600282620031d9565b9050620007e483826200170e565b6080830152620007f6602082620031d9565b905080835114620008705760405162461bcd60e51b815260206004820152602360248201527f696e76616c6964205265676973746572436861696e3a2077726f6e67206c656e60448201527f67746800000000000000000000000000000000000000000000000000000000006064820152608401620006e5565b50919050565b60006001600160a01b0386163014620008f85760405162461bcd60e51b815260206004820152602d60248201527f63616e206f6e6c792062726964676520746f6b656e7320766961207472616e7360448201527f6665724e4654206d6574686f64000000000000000000000000000000000000006064820152608401620006e5565b507f150b7a020000000000000000000000000000000000000000000000000000000095945050505050565b600080600062000933846200184c565b9250925092508181906200095c5760405162461bcd60e51b8152600401620006e5919062002fe5565b50620009828361014001516000908152600460205260409020805460ff19166001179055565b6000620009938460e00151620014ed565b9050620009a360025461ffff1690565b61ffff16816040015161ffff1614620009ff5760405162461bcd60e51b815260206004820152600e60248201527f77726f6e6720636861696e2069640000000000000000000000000000000000006044820152606401620006e5565b606081015162000a0f9062001a82565b5050505050565b604080516101008101825260008082526020820181905291810182905260608082018390526080820183905260a082015260c0810182905260e08101829052908062000a63848262001778565b905062000a72600183620031d9565b91508060ff1660011462000ac95760405162461bcd60e51b815260206004820152601060248201527f696e76616c6964205472616e73666572000000000000000000000000000000006044820152606401620006e5565b62000ad584836200170e565b835262000ae4602083620031d9565b915062000af28483620017e2565b61ffff16602084015262000b08600283620031d9565b915062000b1684836200170e565b604084015262000b28602083620031d9565b915062000b3684836200170e565b606084015262000b48602083620031d9565b915062000b56848362001bd2565b608084015262000b68602083620031d9565b9150600062000b78858462001778565b905062000b87600184620031d9565b925062000b99858460ff841662001c33565b60a085015262000bad60ff821684620031d9565b925062000bbb85846200170e565b60c085015262000bcd602084620031d9565b925062000bdb8584620017e2565b61ffff1660e085015262000bf1600284620031d9565b92508285511462000c455760405162461bcd60e51b815260206004820152601060248201527f696e76616c6964205472616e73666572000000000000000000000000000000006044820152606401620006e5565b505050919050565b600062000c626001546001600160a01b031690565b905090565b600080600062000c77846200184c565b92509250925081819062000ca05760405162461bcd60e51b8152600401620006e5919062002fe5565b5062000cc68361014001516000908152600460205260409020805460ff19166001179055565b600062000cd78460e0015162000620565b905062000ce760025461ffff1690565b61ffff16816040015161ffff16148062000d075750604081015161ffff16155b62000d555760405162461bcd60e51b815260206004820152601060248201527f696e76616c696420636861696e206964000000000000000000000000000000006044820152606401620006e5565b62000a0f8160600151826080015161ffff909116600090815260096020526040902055565b62000d858162001d67565b50565b600080600062000db0886001600160a01b031660009081526008602052604090205460ff1690565b1562000eaa57876001600160a01b0316639a8a05926040518163ffffffff1660e01b815260040160206040518083038186803b15801562000df057600080fd5b505afa15801562000e05573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000e2b919062002df7565b9150876001600160a01b0316633d6c043b6040518163ffffffff1660e01b815260040160206040518083038186803b15801562000e6757600080fd5b505afa15801562000e7c573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000ea2919062002b03565b9050620010d5565b60025461ffff166040516301ffc9a760e01b81527f80ac58cd0000000000000000000000000000000000000000000000000000000060048201529092506001600160a01b038916915081906301ffc9a79060240160206040518083038186803b15801562000f1757600080fd5b505afa15801562000f2c573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000f52919062002acd565b62000fc65760405162461bcd60e51b815260206004820152602160248201527f6d75737420737570706f7274207468652045524337323120696e74657266616360448201527f65000000000000000000000000000000000000000000000000000000000000006064820152608401620006e5565b6040516301ffc9a760e01b81527f5b5e139f0000000000000000000000000000000000000000000000000000000060048201526001600160a01b038916906301ffc9a79060240160206040518083038186803b1580156200102657600080fd5b505afa1580156200103b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062001061919062002acd565b620010d55760405162461bcd60e51b815260206004820152602a60248201527f6d75737420737570706f727420746865204552433732312d4d6574616461746160448201527f20657874656e73696f6e000000000000000000000000000000000000000000006064820152608401620006e5565b60408051600481526024810182526020810180516001600160e01b03167f95d89b41000000000000000000000000000000000000000000000000000000001790529051606091829182916000916001600160a01b038e1691620011389162002e8f565b600060405180830381855afa9150503d806000811462001175576040519150601f19603f3d011682016040523d82523d6000602084013e6200117a565b606091505b5060408051600481526024810182526020810180516001600160e01b03167f06fdde03000000000000000000000000000000000000000000000000000000001790529051919350600092506001600160a01b038f1691620011dc919062002e8f565b600060405180830381855afa9150503d806000811462001219576040519150601f19603f3d011682016040523d82523d6000602084013e6200121e565b606091505b5091505060008d6001600160a01b03168d6040516024016200124291815260200190565b60408051601f198184030181529181526020820180516001600160e01b03167fc87b56dd000000000000000000000000000000000000000000000000000000001790525162001292919062002e8f565b600060405180830381855afa9150503d8060008114620012cf576040519150601f19603f3d011682016040523d82523d6000602084013e620012d4565b606091505b5091505082806020019051810190620012ee919062002b67565b95508180602001905181019062001306919062002b67565b9450808060200190518101906200131e919062002b67565b60208781015190870151919550935091506200133f905060025461ffff1690565b61ffff168761ffff161415620013bd57604051632142170760e11b8152336004820152306024820152604481018d90526001600160a01b038e16906342842e0e90606401600060405180830381600087803b1580156200139e57600080fd5b505af1158015620013b3573d6000803e3d6000fd5b5050505062001433565b6040517f42966c68000000000000000000000000000000000000000000000000000000008152600481018d90526001600160a01b038e16906342966c6890602401600060405180830381600087803b1580156200141957600080fd5b505af11580156200142e573d6000803e3d6000fd5b505050505b620014816040518061010001604052808881526020018961ffff1681526020018481526020018381526020018e81526020018581526020018c81526020018d61ffff16815250348b6200213d565b9d9c50505050505050505050505050565b8051602080830151604080850151606086810151608088015160a0890151805160c08b015160e08c01519751959a620014d79a60019a91999198979394930162002ee0565b6040516020818303038152906040529050919050565b6040805160808101825260008082526020820181905291810182905260608101829052906200151d83826200170e565b82526200152c602082620031d9565b8251909150684e465442726964676514620015b05760405162461bcd60e51b815260206004820152602560248201527f696e76616c69642055706772616465436f6e74726163743a2077726f6e67206d60448201527f6f64756c650000000000000000000000000000000000000000000000000000006064820152608401620006e5565b620015bc838262001778565b60ff166020830152620015d1600182620031d9565b9050816020015160ff16600214620016525760405162461bcd60e51b815260206004820152602560248201527f696e76616c69642055706772616465436f6e74726163743a2077726f6e67206160448201527f6374696f6e0000000000000000000000000000000000000000000000000000006064820152608401620006e5565b6200165e8382620017e2565b61ffff16604083015262001674600282620031d9565b90506200168283826200170e565b606083015262001694602082620031d9565b905080835114620008705760405162461bcd60e51b815260206004820152602560248201527f696e76616c69642055706772616465436f6e74726163743a2077726f6e67206c60448201527f656e6774680000000000000000000000000000000000000000000000000000006064820152608401620006e5565b60006200171d826020620031d9565b835110156200176f5760405162461bcd60e51b815260206004820152601560248201527f746f427974657333325f6f75744f66426f756e647300000000000000000000006044820152606401620006e5565b50016020015190565b600062001787826001620031d9565b83511015620017d95760405162461bcd60e51b815260206004820152601360248201527f746f55696e74385f6f75744f66426f756e6473000000000000000000000000006044820152606401620006e5565b50016001015190565b6000620017f1826002620031d9565b83511015620018435760405162461bcd60e51b815260206004820152601460248201527f746f55696e7431365f6f75744f66426f756e64730000000000000000000000006044820152606401620006e5565b50016002015190565b604080516101608101825260008082526020820181905291810182905260608082018390526080820183905260a0820183905260c0820183905260e082018190526101008201839052610120820152610140810191909152600060606000806000620018c06000546001600160a01b031690565b6001600160a01b031663c0fd8bde886040518263ffffffff1660e01b8152600401620018ed919062002fe5565b60006040518083038186803b1580156200190657600080fd5b505afa1580156200191b573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405262001945919081019062002c68565b925092509250816200195e579194509250905062001a7b565b60025462010000900461ffff1661ffff16836060015161ffff1614620019c357505060408051808201909152601681527f77726f6e6720676f7665726e616e636520636861696e00000000000000000000602082015290935060009250905062001a7b565b60035483608001511462001a1657505060408051808201909152601981527f77726f6e6720676f7665726e616e636520636f6e747261637400000000000000602082015290935060009250905062001a7b565b61014083015160009081526004602052604090205460ff161562001a605782600060405180606001604052806022815260200162003cc76022913995509550955050505062001a7b565b50506040805160208101909152600081529093506001925090505b9193909250565b600062001ab67f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc546001600160a01b031690565b905062001ac382620021f2565b60408051600481526024810182526020810180516001600160e01b03167f8129fc1c00000000000000000000000000000000000000000000000000000000179052905160009182916001600160a01b0386169162001b219162002e8f565b600060405180830381855af49150503d806000811462001b5e576040519150601f19603f3d011682016040523d82523d6000602084013e62001b63565b606091505b509150915081819062001b8b5760405162461bcd60e51b8152600401620006e5919062002fe5565b50836001600160a01b0316836001600160a01b03167f2e4cc16c100f0b55e2df82ab0b1a7e294aa9cbd01b48fbaf622683fbc0507a4960405160405180910390a350505050565b600062001be1826020620031d9565b835110156200176f5760405162461bcd60e51b815260206004820152601560248201527f746f55696e743235365f6f75744f66426f756e647300000000000000000000006044820152606401620006e5565b60608162001c4381601f620031d9565b101562001c935760405162461bcd60e51b815260206004820152600e60248201527f736c6963655f6f766572666c6f770000000000000000000000000000000000006044820152606401620006e5565b62001c9f8284620031d9565b8451101562001cf15760405162461bcd60e51b815260206004820152601160248201527f736c6963655f6f75744f66426f756e64730000000000000000000000000000006044820152606401620006e5565b60608215801562001d12576040519150600082526020820160405262001d5e565b6040519150601f8416801560200281840101858101878315602002848b0101015b8183101562001d4d57805183526020928301920162001d33565b5050858452601f01601f1916604052505b50949350505050565b600080600062001d7f6000546001600160a01b031690565b6001600160a01b031663c0fd8bde856040518263ffffffff1660e01b815260040162001dac919062002fe5565b60006040518083038186803b15801562001dc557600080fd5b505afa15801562001dda573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405262001e04919081019062002c68565b92509250925081819062001e2d5760405162461bcd60e51b8152600401620006e5919062002fe5565b5062001e398362002234565b62001e875760405162461bcd60e51b815260206004820152600f60248201527f696e76616c696420656d697474657200000000000000000000000000000000006044820152606401620006e5565b600062001e988460e0015162000a16565b905062001eb984610140015160009081526005602052604090205460ff1690565b1562001f085760405162461bcd60e51b815260206004820152601a60248201527f7472616e7366657220616c726561647920636f6d706c657465640000000000006044820152606401620006e5565b62001f2d8461014001516000908152600560205260409020805460ff19166001179055565b60025461ffff1661ffff168160e0015161ffff161462001f905760405162461bcd60e51b815260206004820152601460248201527f696e76616c69642074617267657420636861696e0000000000000000000000006044820152606401620006e5565b600062001fa060025461ffff1690565b61ffff16826020015161ffff16141562001fbd5750805162002016565b602082810151835161ffff9091166000908152600783526040808220928252919092529020546001600160a01b031680620020135762002010836020015184600001518560600151866040015162002271565b90505b90505b60c082015160025461ffff1661ffff16836020015161ffff1614620020c257608083015160a08401516040517fd3fc98640000000000000000000000000000000000000000000000000000000081526001600160a01b0385169263d3fc98649262002088928692919060040162002fbb565b600060405180830381600087803b158015620020a357600080fd5b505af1158015620020b8573d6000803e3d6000fd5b5050505062002134565b6080830151604051632142170760e11b81523060048201526001600160a01b0383811660248301526044820192909252908316906342842e0e90606401600060405180830381600087803b1580156200211a57600080fd5b505af11580156200212f573d6000803e3d6000fd5b505050505b50505050505050565b6000806200214b8562001492565b9050620021606000546001600160a01b031690565b6001600160a01b031663b19a437e858584600f6040518563ffffffff1660e01b81526004016200219393929190620030cc565b6020604051808303818588803b158015620021ad57600080fd5b505af1158015620021c2573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190620021e9919062002e44565b95945050505050565b620021fd8162002559565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b600081608001516200225a836060015161ffff1660009081526009602052604090205490565b14156200226957506001919050565b506000919050565b60006200228160025461ffff1690565b61ffff168561ffff161415620023005760405162461bcd60e51b815260206004820152602860248201527f63616e206f6e6c79207772617020746f6b656e732066726f6d20666f7265696760448201527f6e20636861696e730000000000000000000000000000000000000000000000006064820152608401620006e5565b61ffff851660009081526007602090815260408083208784529091529020546001600160a01b031615620023775760405162461bcd60e51b815260206004820152601c60248201527f7772617070656420617373657420616c726561647920657869737473000000006044820152606401620006e5565b60007f03e7285800000000000000000000000000000000000000000000000000000000620023a5856200261d565b620023b0856200261d565b308989604051602401620023c995949392919062002ffa565b60408051601f19818403018152918152602080830180516001600160e01b03167fffffffff0000000000000000000000000000000000000000000000000000000090951694909417909352519092506000916200242b91309185910162002f97565b6040516020818303038152906040529050600060405180602001620024509062002789565b601f1982820381018352601f909101166040819052620024769190849060200162002ead565b60408051601f19818403018152908290527fffff00000000000000000000000000000000000000000000000000000000000060f08b901b166020830152602282018990529150600090604201604051602081830303815290604052805190602001209050808251602084016000f59450843b620024f257600080fd5b61ffff891660009081526007602090815260408083208b84528252808320805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b038a16908117909155835260089091529020805460ff1916600117905550505050949350505050565b803b620025cf5760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201527f6f74206120636f6e7472616374000000000000000000000000000000000000006064820152608401620006e5565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0392909216919091179055565b606060005b6020811080156200267857508281602081106200264f57634e487b7160e01b600052603260045260246000fd5b1a60f81b7fff000000000000000000000000000000000000000000000000000000000000001615155b156200269357806200268a8162003227565b91505062002622565b60008167ffffffffffffffff811115620026bd57634e487b7160e01b600052604160045260246000fd5b6040519080825280601f01601f191660200182016040528015620026e8576020820181803683370190505b50905060005b8281101562002781578481602081106200271857634e487b7160e01b600052603260045260246000fd5b1a60f81b8282815181106200273d57634e487b7160e01b600052603260045260246000fd5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a90535080620027788162003227565b915050620026ee565b509392505050565b610a31806200329683390190565b6000620027ae620027a884620031ae565b6200317a565b9050828152838383011115620027c357600080fd5b828260208301376000602084830101529392505050565b80356001600160a01b0381168114620027f257600080fd5b919050565b600082601f83011262002808578081fd5b8151602067ffffffffffffffff8211156200282757620028276200325b565b62002837818360051b016200317a565b80838252828201915082860187848660071b890101111562002857578586fd5b855b85811015620028c357608080838b03121562002873578788fd5b6200287d62003100565b8351815286840151878201526040620028988186016200299c565b908201526060620028ab8582016200299c565b90820152855293850193919091019060010162002859565b5090979650505050505050565b80518015158114620027f257600080fd5b600082601f830112620028f2578081fd5b815162002903620027a882620031ae565b81815284602083860101111562002918578283fd5b6200292b826020830160208701620031f4565b949350505050565b600082601f83011262002944578081fd5b620029558383356020850162002797565b9392505050565b8035620027f28162003271565b8051620027f28162003271565b8051620027f28162003282565b805167ffffffffffffffff81168114620027f257600080fd5b805160ff81168114620027f257600080fd5b600060208284031215620029c0578081fd5b6200295582620027da565b600080600080600060808688031215620029e3578081fd5b620029ee86620027da565b9450620029fe60208701620027da565b935060408601359250606086013567ffffffffffffffff8082111562002a22578283fd5b818801915088601f83011262002a36578283fd5b81358181111562002a45578384fd5b89602082850101111562002a57578384fd5b9699959850939650602001949392505050565b600080600080600060a0868803121562002a82578283fd5b62002a8d86620027da565b945060208601359350604086013562002aa68162003271565b925060608601359150608086013562002abf8162003282565b809150509295509295909350565b60006020828403121562002adf578081fd5b6200295582620028d0565b60006020828403121562002afc578081fd5b5035919050565b60006020828403121562002b15578081fd5b5051919050565b60006020828403121562002b2e578081fd5b813567ffffffffffffffff81111562002b45578182fd5b8201601f8101841362002b56578182fd5b6200292b8482356020840162002797565b60006020828403121562002b79578081fd5b815167ffffffffffffffff81111562002b90578182fd5b6200292b84828501620028e1565b60006020828403121562002bb0578081fd5b813567ffffffffffffffff8082111562002bc8578283fd5b90830190610100828603121562002bdd578283fd5b62002be76200312c565b8235815262002bf9602084016200295c565b602082015260408301356040820152606083013560608201526080830135608082015260a08301358281111562002c2e578485fd5b62002c3c8782860162002933565b60a08301525060c083013560c082015262002c5a60e084016200295c565b60e082015295945050505050565b60008060006060848603121562002c7d578081fd5b835167ffffffffffffffff8082111562002c95578283fd5b90850190610160828803121562002caa578283fd5b62002cb462003153565b62002cbf836200299c565b815262002ccf6020840162002976565b602082015262002ce26040840162002976565b604082015262002cf56060840162002969565b60608201526080830151608082015262002d1260a0840162002983565b60a082015262002d2560c084016200299c565b60c082015260e08301518281111562002d3c578485fd5b62002d4a89828601620028e1565b60e08301525061010062002d6081850162002976565b90820152610120838101518381111562002d78578586fd5b62002d868a828701620027f7565b91830191909152506101408381015190820152945062002da960208701620028d0565b9350604086015191508082111562002dbf578283fd5b5062002dce86828701620028e1565b9150509250925092565b60006020828403121562002dea578081fd5b8135620029558162003271565b60006020828403121562002e09578081fd5b8151620029558162003271565b6000806040838503121562002e29578182fd5b823562002e368162003271565b946020939093013593505050565b60006020828403121562002e56578081fd5b620029558262002983565b6000815180845262002e7b816020860160208601620031f4565b601f01601f19169290920160200192915050565b6000825162002ea3818460208701620031f4565b9190910192915050565b6000835162002ec1818460208801620031f4565b83519083019062002ed7818360208801620031f4565b01949350505050565b60007fff00000000000000000000000000000000000000000000000000000000000000808d60f81b1683528b60018401527fffff000000000000000000000000000000000000000000000000000000000000808c60f01b1660218501528a6023850152896043850152886063850152818860f81b1660838501528651915062002f71826084860160208a01620031f4565b920160848101949094525060f09190911b1660a482015260a60198975050505050505050565b6001600160a01b03831681526040602082015260006200292b604083018462002e61565b6001600160a01b0384168152826020820152606060408201526000620021e9606083018462002e61565b60208152600062002955602083018462002e61565b60a0815260006200300f60a083018862002e61565b828103602084015262003023818862002e61565b6001600160a01b03969096166040840152505061ffff92909216606083015260809091015292915050565b60208152815160208201526000602083015161ffff80821660408501526040850151606085015260608501516080850152608085015160a085015260a085015191506101008060c0860152620030a961012086018462002e61565b925060c086015160e08601528160e0870151168186015250508091505092915050565b63ffffffff84168152606060208201526000620030ed606083018562002e61565b905060ff83166040830152949350505050565b6040516080810167ffffffffffffffff811182821017156200312657620031266200325b565b60405290565b604051610100810167ffffffffffffffff811182821017156200312657620031266200325b565b604051610160810167ffffffffffffffff811182821017156200312657620031266200325b565b604051601f8201601f1916810167ffffffffffffffff81118282101715620031a657620031a66200325b565b604052919050565b600067ffffffffffffffff821115620031cb57620031cb6200325b565b50601f01601f191660200190565b60008219821115620031ef57620031ef62003245565b500190565b60005b8381101562003211578181015183820152602001620031f7565b8381111562003221576000848401525b50505050565b60006000198214156200323e576200323e62003245565b5060010190565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052604160045260246000fd5b61ffff8116811462000d8557600080fd5b63ffffffff8116811462000d8557600080fdfe60806040523480156200001157600080fd5b5060405162000a3138038062000a318339810160408190526200003491620004ca565b81816200006360017fa3f0ad74e5423aebfd80d3ef4346578335a9a72aeaee59ff6cb3582b35133d51620005e7565b600080516020620009ea833981519152146200008f57634e487b7160e01b600052600160045260246000fd5b6200009d82826000620000a7565b5050505062000650565b620000b2836200018c565b6040516001600160a01b038416907f1cf3b03a6cf19fa2baba4df148e9dcabedea7f8a5c07840e207e5c089be95d3e90600090a2600082511180620000f45750805b15620001875762000185836001600160a01b0316635c60da1b6040518163ffffffff1660e01b815260040160206040518083038186803b1580156200013857600080fd5b505afa1580156200014d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001739190620004ad565b836200033d60201b620000291760201c565b505b505050565b620001a2816200036c60201b620000551760201c565b620002025760405162461bcd60e51b815260206004820152602560248201527f455243313936373a206e657720626561636f6e206973206e6f74206120636f6e6044820152641d1c9858dd60da1b60648201526084015b60405180910390fd5b6200028c816001600160a01b0316635c60da1b6040518163ffffffff1660e01b815260040160206040518083038186803b1580156200024057600080fd5b505afa15801562000255573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200027b9190620004ad565b6200036c60201b620000551760201c565b620002f35760405162461bcd60e51b815260206004820152603060248201527f455243313936373a20626561636f6e20696d706c656d656e746174696f6e206960448201526f1cc81b9bdd08184818dbdb9d1c9858dd60821b6064820152608401620001f9565b806200031c600080516020620009ea83398151915260001b6200037260201b6200005b1760201c565b80546001600160a01b0319166001600160a01b039290921691909117905550565b606062000365838360405180606001604052806027815260200162000a0a6027913962000375565b9392505050565b3b151590565b90565b6060833b620003d65760405162461bcd60e51b815260206004820152602660248201527f416464726573733a2064656c65676174652063616c6c20746f206e6f6e2d636f6044820152651b9d1c9858dd60d21b6064820152608401620001f9565b600080856001600160a01b031685604051620003f3919062000594565b600060405180830381855af49150503d806000811462000430576040519150601f19603f3d011682016040523d82523d6000602084013e62000435565b606091505b5090925090506200044882828662000452565b9695505050505050565b606083156200046357508162000365565b825115620004745782518084602001fd5b8160405162461bcd60e51b8152600401620001f99190620005b2565b80516001600160a01b0381168114620004a857600080fd5b919050565b600060208284031215620004bf578081fd5b620003658262000490565b60008060408385031215620004dd578081fd5b620004e88362000490565b60208401519092506001600160401b038082111562000505578283fd5b818501915085601f83011262000519578283fd5b8151818111156200052e576200052e6200063a565b604051601f8201601f19908116603f011681019083821181831017156200055957620005596200063a565b8160405282815288602084870101111562000572578586fd5b620005858360208301602088016200060b565b80955050505050509250929050565b60008251620005a88184602087016200060b565b9190910192915050565b6020815260008251806020840152620005d38160408501602087016200060b565b601f01601f19169190910160400192915050565b6000828210156200060657634e487b7160e01b81526011600452602481fd5b500390565b60005b83811015620006285781810151838201526020016200060e565b83811115620001855750506000910152565b634e487b7160e01b600052604160045260246000fd5b61038a80620006606000396000f3fe60806040523661001357610011610017565b005b6100115b61002761002261005e565b610120565b565b606061004e838360405180606001604052806027815260200161032e60279139610144565b9392505050565b3b151590565b90565b600061009e7fa3f0ad74e5423aebfd80d3ef4346578335a9a72aeaee59ff6cb3582b35133d505473ffffffffffffffffffffffffffffffffffffffff1690565b73ffffffffffffffffffffffffffffffffffffffff16635c60da1b6040518163ffffffff1660e01b815260040160206040518083038186803b1580156100e357600080fd5b505afa1580156100f7573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061011b919061027a565b905090565b3660008037600080366000845af43d6000803e80801561013f573d6000f35b3d6000fd5b6060833b6101bf5760405162461bcd60e51b815260206004820152602660248201527f416464726573733a2064656c65676174652063616c6c20746f206e6f6e2d636f60448201527f6e7472616374000000000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b6000808573ffffffffffffffffffffffffffffffffffffffff16856040516101e791906102ae565b600060405180830381855af49150503d8060008114610222576040519150601f19603f3d011682016040523d82523d6000602084013e610227565b606091505b5091509150610237828286610241565b9695505050505050565b6060831561025057508161004e565b8251156102605782518084602001fd5b8160405162461bcd60e51b81526004016101b691906102ca565b60006020828403121561028b578081fd5b815173ffffffffffffffffffffffffffffffffffffffff8116811461004e578182fd5b600082516102c08184602087016102fd565b9190910192915050565b60208152600082518060208401526102e98160408501602087016102fd565b601f01601f19169190910160400192915050565b60005b83811015610318578181015183820152602001610300565b83811115610327576000848401525b5050505056fe416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a26469706673582212201f591e6f9f61b5e1cf3483e74c8a87d89c18d923b2daed02012de9ff8021095364736f6c63430008040033a3f0ad74e5423aebfd80d3ef4346578335a9a72aeaee59ff6cb3582b35133d50416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564676f7665726e616e636520616374696f6e20616c726561647920636f6e73756d6564a26469706673582212200b06be82b6c965e90da5b7499f6e5669b65fd03fa9ae5f2fc721d8473e89e6ae64736f6c63430008040033