0 txs
12 calls
constructor
constructor()
functions
chainlinkRouter
viewfunction chainlinkRouter() view returns (address)
estimateMsgGasFee
viewfunction estimateMsgGasFee(address _token, uint64 _destinationChainSelector, address _receiver, uint256 _amount) view returns (uint256)
isOutOfOrderExecutionChain
viewfunction isOutOfOrderExecutionChain(uint64) view returns (bool)
isValidToken
viewfunction isValidToken(address) view returns (bool)
owner
viewfunction owner() view returns (address)
paused
viewfunction paused() view returns (bool)
whitelistedChains
viewfunction whitelistedChains(uint64) view returns (bool)
__BabypieCCIPBridge_init
nonpayablefunction __BabypieCCIPBridge_init(address _router)
addOrRemoveTokens
nonpayablefunction addOrRemoveTokens(address[] _tokens, bool[] isValid)
denylistChain
nonpayablefunction denylistChain(uint64 _destinationChainSelector)
renounceOwnership
nonpayablefunction renounceOwnership()
setOutOfOrderExecutionChain
nonpayablefunction setOutOfOrderExecutionChain(uint64 _destinationChainSelector, bool _status)
setRouterAddress
nonpayablefunction setRouterAddress(address _router)
tokenTransfer
payablefunction tokenTransfer(address _token, uint64 destinationChainSelector, address _receiver, uint256 _amount) payable
transferOwnership
nonpayablefunction transferOwnership(address newOwner)
whitelistChain
nonpayablefunction whitelistChain(uint64 _destinationChainSelector)
events
ChainDenylisted
event ChainDenylisted(uint64 indexed _destinationChainSelector)
ChainlinkRouterUpdated
event ChainlinkRouterUpdated(address oldRouterAddress, address newRouterAddress)
ChainWhitelisted
event ChainWhitelisted(uint64 indexed _destinationChainSelector)
Initialized
event Initialized(uint8 version)
OutOfOrderExecutionChainSet
event OutOfOrderExecutionChainSet(uint64 indexed _destinationChainSelector, bool _status)
OwnershipTransferred
event OwnershipTransferred(address indexed previousOwner, address indexed newOwner)
Paused
event Paused(address account)
TokensTransferred
event TokensTransferred(bytes32 indexed messageId, uint64 indexed destinationChainSelector, address receiver, address token, uint256 tokenAmount, address feeToken, uint256 fees)
Unpaused
event Unpaused(address account)
errors
AddressZero
error AddressZero()
AlreadyAdded
error AlreadyAdded()
DestinationChainNotWhitelisted
error DestinationChainNotWhitelisted(uint64 destinationChainSelector)
InvalidAddress
error InvalidAddress()
InvalidAmount
error InvalidAmount()
InvalidTokenAddress
error InvalidTokenAddress()
IsNotSmartContractAddress
error IsNotSmartContractAddress()
LengthMismatch
error LengthMismatch()
NotEnoughBalance
error NotEnoughBalance(uint256 currentBalance, uint256 calculatedFees)
UnSupportedChain
error UnSupportedChain()
creation bytecode
0x608060405234801562000010575f80fd5b50620000216200002760201b60201c565b620001c6565b5f60019054906101000a900460ff161562000079576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040162000070906200016e565b60405180910390fd5b60ff80165f8054906101000a900460ff1660ff1614620000e85760ff5f806101000a81548160ff021916908360ff1602179055507f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb384740249860ff604051620000df9190620001ab565b60405180910390a15b565b5f82825260208201905092915050565b7f496e697469616c697a61626c653a20636f6e747261637420697320696e6974695f8201527f616c697a696e6700000000000000000000000000000000000000000000000000602082015250565b5f62000156602783620000ea565b91506200016382620000fa565b604082019050919050565b5f6020820190508181035f830152620001878162000148565b9050919050565b5f60ff82169050919050565b620001a5816200018e565b82525050565b5f602082019050620001c05f8301846200019a565b92915050565b612de780620001d45f395ff3fe6080604052600436106100f2575f3560e01c80638da5cb5b11610089578063d345ac7d11610058578063d345ac7d146102f8578063f2fde38b14610320578063f6a2b6ca14610348578063f828184014610384576100f2565b80638da5cb5b1461022e5780639b34717814610258578063c187645314610280578063cc046813146102bc576100f2565b80635c975abb116100c55780635c975abb1461018a57806361e69323146101b4578063715018a6146101dc578063763574f6146101f2576100f2565b80632ccf5050146100f657806334625dcc1461011257806341cb87fc1461013a578063567735ca14610162575b5f80fd5b610110600480360381019061010b9190611e69565b6103ae565b005b34801561011d575f80fd5b5061013860048036038101906101339190611ecd565b610849565b005b348015610145575f80fd5b50610160600480360381019061015b9190611ef8565b6108c7565b005b34801561016d575f80fd5b5061018860048036038101906101839190611f58565b6109d6565b005b348015610195575f80fd5b5061019e610a60565b6040516101ab9190611fa5565b60405180910390f35b3480156101bf575f80fd5b506101da60048036038101906101d59190612074565b610a75565b005b3480156101e7575f80fd5b506101f0610d1f565b005b3480156101fd575f80fd5b5061021860048036038101906102139190611ecd565b610d32565b6040516102259190611fa5565b60405180910390f35b348015610239575f80fd5b50610242610d4f565b60405161024f9190612101565b60405180910390f35b348015610263575f80fd5b5061027e60048036038101906102799190611ef8565b610d77565b005b34801561028b575f80fd5b506102a660048036038101906102a19190611ef8565b610f00565b6040516102b39190611fa5565b60405180910390f35b3480156102c7575f80fd5b506102e260048036038101906102dd9190611e69565b610f1d565b6040516102ef9190612129565b60405180910390f35b348015610303575f80fd5b5061031e60048036038101906103199190611ecd565b610fbb565b005b34801561032b575f80fd5b5061034660048036038101906103419190611ef8565b611109565b005b348015610353575f80fd5b5061036e60048036038101906103699190611ecd565b61118b565b60405161037b9190611fa5565b60405180910390f35b34801561038f575f80fd5b506103986111a8565b6040516103a59190612101565b60405180910390f35b6103b66111cd565b6103be61121c565b8260ca5f8267ffffffffffffffff1667ffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff1661043257806040517f4651d51a0000000000000000000000000000000000000000000000000000000081526004016104299190612151565b60405180910390fd5b60cb5f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff166104b2576040517f1eb00b0600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610517576040517fe6c4247b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f82148061052457505f34145b1561055b576040517f2c5211c600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6105883330848873ffffffffffffffffffffffffffffffffffffffff16611266909392919063ffffffff16565b6105d460c95f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff165f8773ffffffffffffffffffffffffffffffffffffffff166112ef9092919063ffffffff16565b61062060c95f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16838773ffffffffffffffffffffffffffffffffffffffff166112ef9092919063ffffffff16565b5f8061062f868689875f61143a565b915091503481111561067a5734816040517f8f0f420600000000000000000000000000000000000000000000000000000000815260040161067192919061216a565b60405180910390fd5b803461068691906121be565b5f111561074b575f813461069a91906121be565b90505f3373ffffffffffffffffffffffffffffffffffffffff16611388836040516106c49061221e565b5f60405180830381858888f193505050503d805f81146106ff576040519150601f19603f3d011682016040523d82523d5f602084013e610704565b606091505b5050905080610748576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161073f9061228c565b60405180910390fd5b50505b5f60c95f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166396f4e9f98389866040518463ffffffff1660e01b81526004016107a99291906124af565b60206040518083038185885af11580156107c5573d5f803e3d5ffd5b50505050506040513d601f19601f820116820180604052508101906107ea9190612510565b90508667ffffffffffffffff16817fc15fb748c32ba4eb29c1c311e78533f93b4425eab49ea87c6fe4279ecadca043888b895f8860405161082f95949392919061253b565b60405180910390a350505050610843611537565b50505050565b610851611541565b5f60ca5f8367ffffffffffffffff1667ffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055508067ffffffffffffffff167faef0d25dab611119a5b52226662b3fadb14662c41d4ec38c54d6c60d57edb26b60405160405180910390a250565b6108cf611541565b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610934576040517f9fabe1c100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f60c95f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690508160c95f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507f64b7ae1474780e9ba1ee378ddb4da902371f4fe480a2710199a9915e2facf4fb81836040516109ca92919061258c565b60405180910390a15050565b6109de611541565b8060cc5f8467ffffffffffffffff1667ffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055508167ffffffffffffffff167f6dd331ad0aae9c538a9c64a48516fbe25803e27c805ef18896aef979a5bd5f5882604051610a549190611fa5565b60405180910390a25050565b5f60975f9054906101000a900460ff16905090565b610a7d611541565b818190508484905014610abc576040517fff633a3800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f5b84849050811015610d18575f73ffffffffffffffffffffffffffffffffffffffff16858583818110610af357610af26125b3565b5b9050602002016020810190610b089190611ef8565b73ffffffffffffffffffffffffffffffffffffffff1603610b55576040517f9fabe1c100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60cb5f868684818110610b6b57610b6a6125b3565b5b9050602002016020810190610b809190611ef8565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff1615610bfd576040517ff411c32700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610c2d858583818110610c1357610c126125b3565b5b9050602002016020810190610c289190611ef8565b6115bf565b610c63576040517f486bbb1900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b828282818110610c7657610c756125b3565b5b9050602002016020810190610c8b91906125e0565b60cb5f878785818110610ca157610ca06125b3565b5b9050602002016020810190610cb69190611ef8565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055508080610d109061260b565b915050610abe565b5050505050565b610d27611541565b610d305f6115e1565b565b60ca602052805f5260405f205f915054906101000a900460ff1681565b5f60335f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b5f8060019054906101000a900460ff16159050808015610da6575060015f8054906101000a900460ff1660ff16105b80610dd25750610db5306116a4565b158015610dd1575060015f8054906101000a900460ff1660ff16145b5b610e11576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e08906126c2565b60405180910390fd5b60015f806101000a81548160ff021916908360ff1602179055508015610e4c5760015f60016101000a81548160ff0219169083151502179055505b610e546116c6565b610e5c61171e565b610e64611776565b8160c95f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508015610efc575f8060016101000a81548160ff0219169083151502179055507f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024986001604051610ef3919061272e565b60405180910390a15b5050565b60cb602052805f5260405f205f915054906101000a900460ff1681565b5f60cb5f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16610f9e576040517f1eb00b0600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f610fac858588865f61143a565b91505080915050949350505050565b610fc3611541565b60c95f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a48a9058826040518263ffffffff1660e01b815260040161101d9190612151565b602060405180830381865afa158015611038573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061105c919061275b565b611092576040517fbbe189db00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600160ca5f8367ffffffffffffffff1667ffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055508067ffffffffffffffff167f4698e3c9c7a93e448a1c223451a36af2789f2ad378745f113f9e485e5fb9685e60405160405180910390a250565b611111611541565b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff160361117f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611176906127f6565b60405180910390fd5b611188816115e1565b50565b60cc602052805f5260405f205f915054906101000a900460ff1681565b60c95f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600260655403611212576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112099061285e565b60405180910390fd5b6002606581905550565b611224610a60565b15611264576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161125b906128c6565b60405180910390fd5b565b6112e9846323b872dd60e01b858585604051602401611287939291906128e4565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff83818316178352505050506117ce565b50505050565b5f81148061137557505f8373ffffffffffffffffffffffffffffffffffffffff1663dd62ed3e30856040518363ffffffff1660e01b815260040161133492919061258c565b602060405180830381865afa15801561134f573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611373919061292d565b145b6113b4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113ab906129c8565b60405180910390fd5b6114358363095ea7b360e01b84846040516024016113d39291906129e6565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff83818316178352505050506117ce565b505050565b611442611d25565b5f8060cc5f8967ffffffffffffffff1667ffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff1690506114858787878785611894565b92505f60c95f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166320487ded8a866040518363ffffffff1660e01b81526004016114e49291906124af565b602060405180830381865afa1580156114ff573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611523919061292d565b905083819350935050509550959350505050565b6001606581905550565b6115496119db565b73ffffffffffffffffffffffffffffffffffffffff16611567610d4f565b73ffffffffffffffffffffffffffffffffffffffff16146115bd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115b490612a57565b60405180910390fd5b565b5f808273ffffffffffffffffffffffffffffffffffffffff163b119050919050565b5f60335f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690508160335f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b5f808273ffffffffffffffffffffffffffffffffffffffff163b119050919050565b5f60019054906101000a900460ff16611714576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161170b90612ae5565b60405180910390fd5b61171c6119e2565b565b5f60019054906101000a900460ff1661176c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161176390612ae5565b60405180910390fd5b611774611a42565b565b5f60019054906101000a900460ff166117c4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117bb90612ae5565b60405180910390fd5b6117cc611a9a565b565b5f61182f826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c65648152508573ffffffffffffffffffffffffffffffffffffffff16611b039092919063ffffffff16565b90505f8151148061185057508080602001905181019061184f919061275b565b5b61188f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161188690612b73565b60405180910390fd5b505050565b61189c611d25565b5f600167ffffffffffffffff8111156118b8576118b7612b91565b5b6040519080825280602002602001820160405280156118f157816020015b6118de611d69565b8152602001906001900390816118d65790505b5090505f60405180604001604052808873ffffffffffffffffffffffffffffffffffffffff16815260200187815250905080825f81518110611936576119356125b3565b5b60200260200101819052505f6040518060a001604052808a60405160200161195e9190612101565b604051602081830303815290604052815260200160405180602001604052805f81525081526020018481526020018773ffffffffffffffffffffffffffffffffffffffff1681526020016119c760405180604001604052805f8152602001891515815250611b1a565b815250905080935050505095945050505050565b5f33905090565b5f60019054906101000a900460ff16611a30576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a2790612ae5565b60405180910390fd5b611a40611a3b6119db565b6115e1565b565b5f60019054906101000a900460ff16611a90576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a8790612ae5565b60405180910390fd5b6001606581905550565b5f60019054906101000a900460ff16611ae8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611adf90612ae5565b60405180910390fd5b5f60975f6101000a81548160ff021916908315150217905550565b6060611b1184845f85611b99565b90509392505050565b606063181dcf1060e01b82604051602401611b359190612bfa565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff83818316178352505050509050919050565b606082471015611bde576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611bd590612c83565b60405180910390fd5b5f808673ffffffffffffffffffffffffffffffffffffffff168587604051611c069190612cd1565b5f6040518083038185875af1925050503d805f8114611c40576040519150601f19603f3d011682016040523d82523d5f602084013e611c45565b606091505b5091509150611c5687838387611c62565b92505050949350505050565b60608315611cc3575f835103611cbb57611c7b856115bf565b611cba576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611cb190612d31565b60405180910390fd5b5b829050611cce565b611ccd8383611cd6565b5b949350505050565b5f82511115611ce85781518083602001fd5b806040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d1c9190612d91565b60405180910390fd5b6040518060a001604052806060815260200160608152602001606081526020015f73ffffffffffffffffffffffffffffffffffffffff168152602001606081525090565b60405180604001604052805f73ffffffffffffffffffffffffffffffffffffffff1681526020015f81525090565b5f80fd5b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f611dc882611d9f565b9050919050565b611dd881611dbe565b8114611de2575f80fd5b50565b5f81359050611df381611dcf565b92915050565b5f67ffffffffffffffff82169050919050565b611e1581611df9565b8114611e1f575f80fd5b50565b5f81359050611e3081611e0c565b92915050565b5f819050919050565b611e4881611e36565b8114611e52575f80fd5b50565b5f81359050611e6381611e3f565b92915050565b5f805f8060808587031215611e8157611e80611d97565b5b5f611e8e87828801611de5565b9450506020611e9f87828801611e22565b9350506040611eb087828801611de5565b9250506060611ec187828801611e55565b91505092959194509250565b5f60208284031215611ee257611ee1611d97565b5b5f611eef84828501611e22565b91505092915050565b5f60208284031215611f0d57611f0c611d97565b5b5f611f1a84828501611de5565b91505092915050565b5f8115159050919050565b611f3781611f23565b8114611f41575f80fd5b50565b5f81359050611f5281611f2e565b92915050565b5f8060408385031215611f6e57611f6d611d97565b5b5f611f7b85828601611e22565b9250506020611f8c85828601611f44565b9150509250929050565b611f9f81611f23565b82525050565b5f602082019050611fb85f830184611f96565b92915050565b5f80fd5b5f80fd5b5f80fd5b5f8083601f840112611fdf57611fde611fbe565b5b8235905067ffffffffffffffff811115611ffc57611ffb611fc2565b5b60208301915083602082028301111561201857612017611fc6565b5b9250929050565b5f8083601f84011261203457612033611fbe565b5b8235905067ffffffffffffffff81111561205157612050611fc2565b5b60208301915083602082028301111561206d5761206c611fc6565b5b9250929050565b5f805f806040858703121561208c5761208b611d97565b5b5f85013567ffffffffffffffff8111156120a9576120a8611d9b565b5b6120b587828801611fca565b9450945050602085013567ffffffffffffffff8111156120d8576120d7611d9b565b5b6120e48782880161201f565b925092505092959194509250565b6120fb81611dbe565b82525050565b5f6020820190506121145f8301846120f2565b92915050565b61212381611e36565b82525050565b5f60208201905061213c5f83018461211a565b92915050565b61214b81611df9565b82525050565b5f6020820190506121645f830184612142565b92915050565b5f60408201905061217d5f83018561211a565b61218a602083018461211a565b9392505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f6121c882611e36565b91506121d383611e36565b92508282039050818111156121eb576121ea612191565b5b92915050565b5f81905092915050565b50565b5f6122095f836121f1565b9150612214826121fb565b5f82019050919050565b5f612228826121fe565b9150819050919050565b5f82825260208201905092915050565b7f5472616e73666572206661696c65642e000000000000000000000000000000005f82015250565b5f612276601083612232565b915061228182612242565b602082019050919050565b5f6020820190508181035f8301526122a38161226a565b9050919050565b5f81519050919050565b5f82825260208201905092915050565b5f5b838110156122e15780820151818401526020810190506122c6565b5f8484015250505050565b5f601f19601f8301169050919050565b5f612306826122aa565b61231081856122b4565b93506123208185602086016122c4565b612329816122ec565b840191505092915050565b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b61236681611dbe565b82525050565b61237581611e36565b82525050565b604082015f82015161238f5f85018261235d565b5060208201516123a2602085018261236c565b50505050565b5f6123b3838361237b565b60408301905092915050565b5f602082019050919050565b5f6123d582612334565b6123df818561233e565b93506123ea8361234e565b805f5b8381101561241a57815161240188826123a8565b975061240c836123bf565b9250506001810190506123ed565b5085935050505092915050565b5f60a083015f8301518482035f86015261244182826122fc565b9150506020830151848203602086015261245b82826122fc565b9150506040830151848203604086015261247582826123cb565b915050606083015161248a606086018261235d565b50608083015184820360808601526124a282826122fc565b9150508091505092915050565b5f6040820190506124c25f830185612142565b81810360208301526124d48184612427565b90509392505050565b5f819050919050565b6124ef816124dd565b81146124f9575f80fd5b50565b5f8151905061250a816124e6565b92915050565b5f6020828403121561252557612524611d97565b5b5f612532848285016124fc565b91505092915050565b5f60a08201905061254e5f8301886120f2565b61255b60208301876120f2565b612568604083018661211a565b61257560608301856120f2565b612582608083018461211a565b9695505050505050565b5f60408201905061259f5f8301856120f2565b6125ac60208301846120f2565b9392505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f602082840312156125f5576125f4611d97565b5b5f61260284828501611f44565b91505092915050565b5f61261582611e36565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820361264757612646612191565b5b600182019050919050565b7f496e697469616c697a61626c653a20636f6e747261637420697320616c7265615f8201527f647920696e697469616c697a6564000000000000000000000000000000000000602082015250565b5f6126ac602e83612232565b91506126b782612652565b604082019050919050565b5f6020820190508181035f8301526126d9816126a0565b9050919050565b5f819050919050565b5f60ff82169050919050565b5f819050919050565b5f61271861271361270e846126e0565b6126f5565b6126e9565b9050919050565b612728816126fe565b82525050565b5f6020820190506127415f83018461271f565b92915050565b5f8151905061275581611f2e565b92915050565b5f602082840312156127705761276f611d97565b5b5f61277d84828501612747565b91505092915050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f20615f8201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b5f6127e0602683612232565b91506127eb82612786565b604082019050919050565b5f6020820190508181035f83015261280d816127d4565b9050919050565b7f5265656e7472616e637947756172643a207265656e7472616e742063616c6c005f82015250565b5f612848601f83612232565b915061285382612814565b602082019050919050565b5f6020820190508181035f8301526128758161283c565b9050919050565b7f5061757361626c653a20706175736564000000000000000000000000000000005f82015250565b5f6128b0601083612232565b91506128bb8261287c565b602082019050919050565b5f6020820190508181035f8301526128dd816128a4565b9050919050565b5f6060820190506128f75f8301866120f2565b61290460208301856120f2565b612911604083018461211a565b949350505050565b5f8151905061292781611e3f565b92915050565b5f6020828403121561294257612941611d97565b5b5f61294f84828501612919565b91505092915050565b7f5361666545524332303a20617070726f76652066726f6d206e6f6e2d7a65726f5f8201527f20746f206e6f6e2d7a65726f20616c6c6f77616e636500000000000000000000602082015250565b5f6129b2603683612232565b91506129bd82612958565b604082019050919050565b5f6020820190508181035f8301526129df816129a6565b9050919050565b5f6040820190506129f95f8301856120f2565b612a06602083018461211a565b9392505050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f612a41602083612232565b9150612a4c82612a0d565b602082019050919050565b5f6020820190508181035f830152612a6e81612a35565b9050919050565b7f496e697469616c697a61626c653a20636f6e7472616374206973206e6f7420695f8201527f6e697469616c697a696e67000000000000000000000000000000000000000000602082015250565b5f612acf602b83612232565b9150612ada82612a75565b604082019050919050565b5f6020820190508181035f830152612afc81612ac3565b9050919050565b7f5361666545524332303a204552433230206f7065726174696f6e20646964206e5f8201527f6f74207375636365656400000000000000000000000000000000000000000000602082015250565b5f612b5d602a83612232565b9150612b6882612b03565b604082019050919050565b5f6020820190508181035f830152612b8a81612b51565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b612bc781611f23565b82525050565b604082015f820151612be15f85018261236c565b506020820151612bf46020850182612bbe565b50505050565b5f604082019050612c0d5f830184612bcd565b92915050565b7f416464726573733a20696e73756666696369656e742062616c616e636520666f5f8201527f722063616c6c0000000000000000000000000000000000000000000000000000602082015250565b5f612c6d602683612232565b9150612c7882612c13565b604082019050919050565b5f6020820190508181035f830152612c9a81612c61565b9050919050565b5f612cab826122aa565b612cb581856121f1565b9350612cc58185602086016122c4565b80840191505092915050565b5f612cdc8284612ca1565b915081905092915050565b7f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000005f82015250565b5f612d1b601d83612232565b9150612d2682612ce7565b602082019050919050565b5f6020820190508181035f830152612d4881612d0f565b9050919050565b5f81519050919050565b5f612d6382612d4f565b612d6d8185612232565b9350612d7d8185602086016122c4565b612d86816122ec565b840191505092915050565b5f6020820190508181035f830152612da98184612d59565b90509291505056fea264697066735822122065d20eb703101eec11ac255ccd40114708fdbbcf969ba628f148209c5e4c55b464736f6c63430008150033