0 txs
381 calls
constructor
constructor(address _vusd)
functions
cometList
viewfunction cometList() view returns (address[])
comets
viewfunction comets(address) view returns (address)
governor
viewfunction governor() view returns (address)
isWhitelistedToken
viewfunction isWhitelistedToken(address _address) view returns (bool)
keepers
viewfunction keepers() view returns (address[])
NAME
viewfunction NAME() view returns (string)
oracles
viewfunction oracles(address) view returns (address)
redeemer
viewfunction redeemer() view returns (address)
swapper
viewfunction swapper() view returns (address)
VERSION
viewfunction VERSION() view returns (string)
vusd
viewfunction vusd() view returns (address)
whitelistedTokens
viewfunction whitelistedTokens() view returns (address[])
withdrawable
viewfunction withdrawable(address _token) view returns (uint256)
addKeeper
nonpayablefunction addKeeper(address _keeperAddress)
addWhitelistedToken
nonpayablefunction addWhitelistedToken(address _token, address _comet, address _oracle)
claimCompAndConvertTo
nonpayablefunction claimCompAndConvertTo(address _toToken, uint256 _minOut)
migrate
nonpayablefunction migrate(address _newTreasury)
removeKeeper
nonpayablefunction removeKeeper(address _keeperAddress)
removeWhitelistedToken
nonpayablefunction removeWhitelistedToken(address _token)
sweep
nonpayablefunction sweep(address _fromToken)
updateRedeemer
nonpayablefunction updateRedeemer(address _newRedeemer)
updateSwapper
nonpayablefunction updateSwapper(address _swapper)
withdraw
nonpayablefunction withdraw(address _token, uint256 _amount, address _tokenReceiver)
withdraw
nonpayablefunction withdraw(address _token, uint256 _amount)
withdrawAll
nonpayablefunction withdrawAll(address[] _tokens)
withdrawMulti
nonpayablefunction withdrawMulti(address[] _tokens, uint256[] _amounts)
events
UpdatedRedeemer
event UpdatedRedeemer(address indexed previousRedeemer, address indexed newRedeemer)
UpdatedSwapper
event UpdatedSwapper(address indexed previousSwapper, address indexed newSwapper)
errors
No errors.
creation bytecode
0x60a060405273229f19942612a8dbdec3643cb23f88685ccd56a5600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055503480156200006657600080fd5b50604051620056943803806200569483398181016040528101906200008c919062000aca565b6001600081905550600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141562000107576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620000fe9062000db2565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1660808173ffffffffffffffffffffffffffffffffffffffff1660601b8152505062000168620001526200029660201b60201c565b60096200029e60201b620024701790919060201c565b50620001b873a0b86991c6218b36c1d19d4a2e9eb0ce3606eb4873c3d688b66703497daa19211eedff47f25384cdc3738fffffd4afb6115b954bd326cbe7b4ba576818f6620002d660201b60201c565b6200020773dac17f958d2ee523a2206206994597c13d831ec7733afdc9bca9213a35503b077a6072f3d0d5ab0840733e7d1eab13ad0104d2750b8863b489d65364e32d620002d660201b60201c565b6200028f600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff73c00e94cb662c3520282e6f5717214004a7f2688873ffffffffffffffffffffffffffffffffffffffff16620005d560201b620024a0179092919060201c565b5062001120565b600033905090565b6000620002ce836000018373ffffffffffffffffffffffffffffffffffffffff1660001b6200074760201b60201c565b905092915050565b8273ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1663c55dae636040518163ffffffff1660e01b815260040160206040518083038186803b1580156200033457600080fd5b505afa15801562000349573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200036f919062000aca565b73ffffffffffffffffffffffffffffffffffffffff1614620003c8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620003bf9062000d90565b60405180910390fd5b620003e38360056200029e60201b620024701790919060201c565b62000425576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016200041c9062000df6565b60405180910390fd5b620004408260076200029e60201b620024701790919060201c565b62000482576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620004799062000df6565b60405180910390fd5b80600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555081600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550620005d0827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8573ffffffffffffffffffffffffffffffffffffffff16620005d560201b620024a0179092919060201c565b505050565b600081148062000675575060008373ffffffffffffffffffffffffffffffffffffffff1663dd62ed3e30856040518363ffffffff1660e01b81526004016200061f92919062000d12565b60206040518083038186803b1580156200063857600080fd5b505afa1580156200064d573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000673919062000b22565b145b620006b7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620006ae9062000e5c565b60405180910390fd5b620007428363095ea7b360e01b8484604051602401620006d992919062000d3f565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff8381831617835250505050620007c160201b60201c565b505050565b60006200075b83836200089560201b60201c565b620007b6578260000182908060018154018082558091505060019003906000526020600020016000909190919091505582600001805490508360010160008481526020019081526020016000208190555060019050620007bb565b600090505b92915050565b60006200082a826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c65648152508573ffffffffffffffffffffffffffffffffffffffff16620008b860201b620025fe179092919060201c565b90506000815111156200089057808060200190518101906200084d919062000af6565b6200088f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620008869062000e3a565b60405180910390fd5b5b505050565b600080836001016000848152602001908152602001600020541415905092915050565b6060620008cf8484600085620008d860201b60201c565b90509392505050565b60608247101562000920576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620009179062000dd4565b60405180910390fd5b620009318562000a0660201b60201c565b62000973576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016200096a9062000e18565b60405180910390fd5b6000808673ffffffffffffffffffffffffffffffffffffffff1685876040516200099e919062000cf9565b60006040518083038185875af1925050503d8060008114620009dd576040519150601f19603f3d011682016040523d82523d6000602084013e620009e2565b606091505b5091509150620009fa82828662000a1960201b60201c565b92505050949350505050565b600080823b905060008111915050919050565b6060831562000a2b5782905062000a7e565b60008351111562000a3f5782518084602001fd5b816040517f08c379a000000000000000000000000000000000000000000000000000000000815260040162000a75919062000d6c565b60405180910390fd5b9392505050565b60008151905062000a9681620010d2565b92915050565b60008151905062000aad81620010ec565b92915050565b60008151905062000ac48162001106565b92915050565b60006020828403121562000add57600080fd5b600062000aed8482850162000a85565b91505092915050565b60006020828403121562000b0957600080fd5b600062000b198482850162000a9c565b91505092915050565b60006020828403121562000b3557600080fd5b600062000b458482850162000ab3565b91505092915050565b62000b598162000eb0565b82525050565b600062000b6c8262000e7e565b62000b78818562000e94565b935062000b8a81856020860162000efa565b80840191505092915050565b600062000ba38262000e89565b62000baf818562000e9f565b935062000bc181856020860162000efa565b62000bcc8162000f30565b840191505092915050565b600062000be6600d8362000e9f565b915062000bf38262000f41565b602082019050919050565b600062000c0d60148362000e9f565b915062000c1a8262000f6a565b602082019050919050565b600062000c3460268362000e9f565b915062000c418262000f93565b604082019050919050565b600062000c5b60128362000e9f565b915062000c688262000fe2565b602082019050919050565b600062000c82601d8362000e9f565b915062000c8f826200100b565b602082019050919050565b600062000ca9602a8362000e9f565b915062000cb68262001034565b604082019050919050565b600062000cd060368362000e9f565b915062000cdd8262001083565b604082019050919050565b62000cf38162000ef0565b82525050565b600062000d07828462000b5f565b915081905092915050565b600060408201905062000d29600083018562000b4e565b62000d38602083018462000b4e565b9392505050565b600060408201905062000d56600083018562000b4e565b62000d65602083018462000ce8565b9392505050565b6000602082019050818103600083015262000d88818462000b96565b905092915050565b6000602082019050818103600083015262000dab8162000bd7565b9050919050565b6000602082019050818103600083015262000dcd8162000bfe565b9050919050565b6000602082019050818103600083015262000def8162000c25565b9050919050565b6000602082019050818103600083015262000e118162000c4c565b9050919050565b6000602082019050818103600083015262000e338162000c73565b9050919050565b6000602082019050818103600083015262000e558162000c9a565b9050919050565b6000602082019050818103600083015262000e778162000cc1565b9050919050565b600081519050919050565b600081519050919050565b600081905092915050565b600082825260208201905092915050565b600062000ebd8262000ed0565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b60005b8381101562000f1a57808201518184015260208101905062000efd565b8381111562000f2a576000848401525b50505050565b6000601f19601f8301169050919050565b7f696e76616c69642d746f6b656e00000000000000000000000000000000000000600082015250565b7f767573642d616464726573732d69732d7a65726f000000000000000000000000600082015250565b7f416464726573733a20696e73756666696369656e742062616c616e636520666f60008201527f722063616c6c0000000000000000000000000000000000000000000000000000602082015250565b7f6164642d696e2d6c6973742d6661696c65640000000000000000000000000000600082015250565b7f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000600082015250565b7f5361666545524332303a204552433230206f7065726174696f6e20646964206e60008201527f6f74207375636365656400000000000000000000000000000000000000000000602082015250565b7f5361666545524332303a20617070726f76652066726f6d206e6f6e2d7a65726f60008201527f20746f206e6f6e2d7a65726f20616c6c6f77616e636500000000000000000000602082015250565b620010dd8162000eb0565b8114620010e957600080fd5b50565b620010f78162000ec4565b81146200110357600080fd5b50565b620011118162000ef0565b81146200111d57600080fd5b50565b60805160601c6145476200114d6000396000818161066401528181611eed01526122ce01526145476000f3fe608060405234801561001057600080fd5b506004361061018e5760003560e01c806369328dec116100de578063addd509911610097578063d3033c3911610071578063d3033c3914610459578063edac520314610475578063f3fef3a314610493578063ffa1ad74146104af5761018e565b8063addd5099146103dd578063ce513b6f1461040d578063ce5494bb1461043d5761018e565b806369328dec1461030957806372720258146103255780637d138e1314610355578063951dc22c14610371578063a3f4df7e1461038f578063ab37f486146103ad5761018e565b80632b3297f91161014b5780634284153111610125578063428415311461029757806356f0693e146102b35780635e1762a0146102cf5780636568a279146102ed5761018e565b80632b3297f91461023f5780632ba29d381461025d5780634032b72b1461027b5761018e565b806301681a62146101935780630c340a24146101af57806314037cf0146101cd57806314ae9f2e146101eb5780631c88705d1461020757806320ab954e14610223575b600080fd5b6101ad60048036038101906101a89190613218565b6104cd565b005b6101b7610660565b6040516101c491906138dc565b60405180910390f35b6101d5610705565b6040516101e29190613a0a565b60405180910390f35b61020560048036038101906102009190613218565b610716565b005b610221600480360381019061021c9190613218565b6107e8565b005b61023d6004803603810190610238919061326a565b610abb565b005b610247610c97565b6040516102549190613a47565b60405180910390f35b610265610cbd565b60405161027291906138dc565b60405180910390f35b61029560048036038101906102909190613218565b610ce3565b005b6102b160048036038101906102ac9190613385565b610e25565b005b6102cd60048036038101906102c891906132b9565b610ff1565b005b6102d7611485565b6040516102e49190613a0a565b60405180910390f35b61030760048036038101906103029190613344565b611496565b005b610323600480360381019061031e91906132f5565b611793565b005b61033f600480360381019061033a9190613218565b6118d4565b60405161034c91906138dc565b60405180910390f35b61036f600480360381019061036a9190613218565b611907565b005b610379611b44565b6040516103869190613a0a565b60405180910390f35b610397611b55565b6040516103a49190613a7d565b60405180910390f35b6103c760048036038101906103c29190613218565b611b8e565b6040516103d49190613a2c565b60405180910390f35b6103f760048036038101906103f29190613218565b611bab565b60405161040491906138dc565b60405180910390f35b61042760048036038101906104229190613218565b611bde565b6040516104349190613d9f565b60405180910390f35b61045760048036038101906104529190613218565b611d6b565b005b610473600480360381019061046e9190613218565b61205f565b005b61047d6122cc565b60405161048a9190613a62565b60405180910390f35b6104ad60048036038101906104a891906132b9565b6122f0565b005b6104b7612437565b6040516104c49190613a7d565b60405180910390f35b6104d5610660565b73ffffffffffffffffffffffffffffffffffffffff166104f3612616565b73ffffffffffffffffffffffffffffffffffffffff1614610549576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161054090613b7f565b60405180910390fd5b61055d81600761261e90919063ffffffff16565b1561059d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161059490613cdf565b60405180910390fd5b60008173ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b81526004016105d891906138dc565b60206040518083038186803b1580156105f057600080fd5b505afa158015610604573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610628919061341a565b905061065c610635612616565b828473ffffffffffffffffffffffffffffffffffffffff1661264e9092919063ffffffff16565b5050565b60007f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16630c340a246040518163ffffffff1660e01b815260040160206040518083038186803b1580156106c857600080fd5b505afa1580156106dc573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107009190613241565b905090565b606061071160076126d4565b905090565b61071e610660565b73ffffffffffffffffffffffffffffffffffffffff1661073c612616565b73ffffffffffffffffffffffffffffffffffffffff1614610792576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161078990613b7f565b60405180910390fd5b6107a68160096126f590919063ffffffff16565b6107e5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107dc90613b1f565b60405180910390fd5b50565b6107f0610660565b73ffffffffffffffffffffffffffffffffffffffff1661080e612616565b73ffffffffffffffffffffffffffffffffffffffff1614610864576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161085b90613b7f565b60405180910390fd5b6108788160056126f590919063ffffffff16565b6108b7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108ae90613c1f565b60405180910390fd5b61092a600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1660076126f590919063ffffffff16565b610969576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161096090613c1f565b60405180910390fd5b6109f4600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1660008373ffffffffffffffffffffffffffffffffffffffff166124a09092919063ffffffff16565b600360008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81549073ffffffffffffffffffffffffffffffffffffffff0219169055600460008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81549073ffffffffffffffffffffffffffffffffffffffff021916905550565b610ac3610660565b73ffffffffffffffffffffffffffffffffffffffff16610ae1612616565b73ffffffffffffffffffffffffffffffffffffffff1614610b37576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b2e90613b7f565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610ba7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b9e90613b9f565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610c17576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c0e90613c5f565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415610c87576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c7e90613c3f565b60405180910390fd5b610c92838383612725565b505050565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b610ceb610660565b73ffffffffffffffffffffffffffffffffffffffff16610d09612616565b73ffffffffffffffffffffffffffffffffffffffff1614610d5f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d5690613b7f565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415610dcf576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610dc690613d7f565b60405180910390fd5b610de381600961247090919063ffffffff16565b610e22576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e1990613a9f565b60405180910390fd5b50565b60026000541415610e6b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e6290613d1f565b60405180910390fd5b6002600081905550610e7b610660565b73ffffffffffffffffffffffffffffffffffffffff16610e99612616565b73ffffffffffffffffffffffffffffffffffffffff1614610eef576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ee690613b7f565b60405180910390fd5b8051825114610f33576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f2a90613abf565b60405180910390fd5b60005b8251811015610fe457610fd1838281518110610f7b577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b6020026020010151838381518110610fbc577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b6020026020010151610fcc612616565b612a02565b8080610fdc90613fca565b915050610f36565b5060016000819055505050565b610ff9610660565b73ffffffffffffffffffffffffffffffffffffffff16611017612616565b73ffffffffffffffffffffffffffffffffffffffff161480611050575061104f61103f612616565b600961261e90919063ffffffff16565b5b61108f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161108690613d5f565b60405180910390fd5b6110a382600561261e90919063ffffffff16565b6110e2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110d990613bbf565b60405180910390fd5b60006110ee6007612b28565b905060005b818110156111a557731b0e765f6224c21223aea2af16c1c46e38885a4073ffffffffffffffffffffffffffffffffffffffff1663b7034f7e61113f836007612b3d90919063ffffffff16565b3060016040518463ffffffff1660e01b815260040161116093929190613920565b600060405180830381600087803b15801561117a57600080fd5b505af115801561118e573d6000803e3d6000fd5b50505050808061119d90613fca565b9150506110f3565b50600073c00e94cb662c3520282e6f5717214004a7f2688873ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b81526004016111f591906138dc565b60206040518083038186803b15801561120d57600080fd5b505afa158015611221573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611245919061341a565b9050600081111561131b57600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16636ccb2b0173c00e94cb662c3520282e6f5717214004a7f26888868487306040518663ffffffff1660e01b81526004016112c795949392919061398e565b602060405180830381600087803b1580156112e157600080fd5b505af11580156112f5573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611319919061341a565b505b60008473ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b815260040161135691906138dc565b60206040518083038186803b15801561136e57600080fd5b505afa158015611382573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113a6919061341a565b9050600081111561147e57600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f2b9fdb886836040518363ffffffff1660e01b815260040161144b9291906139e1565b600060405180830381600087803b15801561146557600080fd5b505af1158015611479573d6000803e3d6000fd5b505050505b5050505050565b606061149160056126d4565b905090565b600260005414156114dc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114d390613d1f565b60405180910390fd5b60026000819055506114ec610660565b73ffffffffffffffffffffffffffffffffffffffff1661150a612616565b73ffffffffffffffffffffffffffffffffffffffff1614611560576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161155790613b7f565b60405180910390fd5b60005b8151811015611787576115c08282815181106115a8577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b6020026020010151600561261e90919063ffffffff16565b6115ff576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115f690613bbf565b60405180910390fd5b6003600083838151811061163c577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c3b35a7e6116c2612616565b8484815181106116fb577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60200260200101517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518463ffffffff1660e01b815260040161174293929190613957565b600060405180830381600087803b15801561175c57600080fd5b505af1158015611770573d6000803e3d6000fd5b50505050808061177f90613fca565b915050611563565b50600160008190555050565b600260005414156117d9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117d090613d1f565b60405180910390fd5b60026000819055506117e9610660565b73ffffffffffffffffffffffffffffffffffffffff16611807612616565b73ffffffffffffffffffffffffffffffffffffffff16148061187d5750600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16611865612616565b73ffffffffffffffffffffffffffffffffffffffff16145b6118bc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118b390613d5f565b60405180910390fd5b6118c7838383612a02565b6001600081905550505050565b60036020528060005260406000206000915054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b61190f610660565b73ffffffffffffffffffffffffffffffffffffffff1661192d612616565b73ffffffffffffffffffffffffffffffffffffffff1614611983576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161197a90613b7f565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614156119f3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119ea90613b5f565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff16600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161415611a84576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a7b90613bff565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff16600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167fbb0958cd5add04c553a378aa342c839507b619a0459617e004c5d13602cfa72360405160405180910390a380600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6060611b5060096126d4565b905090565b6040518060400160405280600d81526020017f565553442d54726561737572790000000000000000000000000000000000000081525081565b6000611ba482600561261e90919063ffffffff16565b9050919050565b60046020528060005260406000206000915054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60008073ffffffffffffffffffffffffffffffffffffffff16600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611d6157600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401611d0a91906138dc565b60206040518083038186803b158015611d2257600080fd5b505afa158015611d36573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611d5a919061341a565b9050611d66565b600090505b919050565b611d73610660565b73ffffffffffffffffffffffffffffffffffffffff16611d91612616565b73ffffffffffffffffffffffffffffffffffffffff1614611de7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611dde90613b7f565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415611e57576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e4e90613aff565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1663edac52036040518163ffffffff1660e01b815260040160206040518083038186803b158015611e9d57600080fd5b505afa158015611eb1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611ed59190613241565b73ffffffffffffffffffffffffffffffffffffffff167f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1614611f62576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f5990613c7f565b60405180910390fd5b6000611f6e6007612b28565b905060005b8181101561205a576000611f91826007612b3d90919063ffffffff16565b9050612046848273ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401611fd091906138dc565b60206040518083038186803b158015611fe857600080fd5b505afa158015611ffc573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612020919061341a565b8373ffffffffffffffffffffffffffffffffffffffff1661264e9092919063ffffffff16565b50808061205290613fca565b915050611f73565b505050565b612067610660565b73ffffffffffffffffffffffffffffffffffffffff16612085612616565b73ffffffffffffffffffffffffffffffffffffffff16146120db576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016120d290613b7f565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141561214b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161214290613cbf565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff16600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f6c953b7ec311055c20b96a42cea31e89528e375b1bf953a503db40854b3188fe60405160405180910390a3612229600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600073c00e94cb662c3520282e6f5717214004a7f2688873ffffffffffffffffffffffffffffffffffffffff166124a09092919063ffffffff16565b612288817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff73c00e94cb662c3520282e6f5717214004a7f2688873ffffffffffffffffffffffffffffffffffffffff166124a09092919063ffffffff16565b80600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b7f000000000000000000000000000000000000000000000000000000000000000081565b60026000541415612336576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161232d90613d1f565b60405180910390fd5b6002600081905550612346610660565b73ffffffffffffffffffffffffffffffffffffffff16612364612616565b73ffffffffffffffffffffffffffffffffffffffff1614806123da5750600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166123c2612616565b73ffffffffffffffffffffffffffffffffffffffff16145b612419576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161241090613d5f565b60405180910390fd5b61242b8282612426612616565b612a02565b60016000819055505050565b6040518060400160405280600581526020017f312e352e3000000000000000000000000000000000000000000000000000000081525081565b6000612498836000018373ffffffffffffffffffffffffffffffffffffffff1660001b612b57565b905092915050565b6000811480612539575060008373ffffffffffffffffffffffffffffffffffffffff1663dd62ed3e30856040518363ffffffff1660e01b81526004016124e79291906138f7565b60206040518083038186803b1580156124ff57600080fd5b505afa158015612513573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612537919061341a565b145b612578576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161256f90613d3f565b60405180910390fd5b6125f98363095ea7b360e01b84846040516024016125979291906139e1565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff8381831617835250505050612bc7565b505050565b606061260d8484600085612c8e565b90509392505050565b600033905090565b6000612646836000018373ffffffffffffffffffffffffffffffffffffffff1660001b612da2565b905092915050565b6126cf8363a9059cbb60e01b848460405160240161266d9291906139e1565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff8381831617835250505050612bc7565b505050565b606060006126e483600001612dc5565b905060608190508092505050919050565b600061271d836000018373ffffffffffffffffffffffffffffffffffffffff1660001b612e21565b905092915050565b8273ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1663c55dae636040518163ffffffff1660e01b815260040160206040518083038186803b15801561278257600080fd5b505afa158015612796573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906127ba9190613241565b73ffffffffffffffffffffffffffffffffffffffff1614612810576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161280790613adf565b60405180910390fd5b61282483600561247090919063ffffffff16565b612863576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161285a90613bdf565b60405180910390fd5b61287782600761247090919063ffffffff16565b6128b6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016128ad90613bdf565b60405180910390fd5b80600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555081600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506129fd827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8573ffffffffffffffffffffffffffffffffffffffff166124a09092919063ffffffff16565b505050565b612a1683600561261e90919063ffffffff16565b612a55576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612a4c90613bbf565b60405180910390fd5b600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c3b35a7e8285856040518463ffffffff1660e01b8152600401612af193929190613957565b600060405180830381600087803b158015612b0b57600080fd5b505af1158015612b1f573d6000803e3d6000fd5b50505050505050565b6000612b3682600001612fa7565b9050919050565b6000612b4c8360000183612fb8565b60001c905092915050565b6000612b638383612da2565b612bbc578260000182908060018154018082558091505060019003906000526020600020016000909190919091505582600001805490508360010160008481526020019081526020016000208190555060019050612bc1565b600090505b92915050565b6000612c29826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c65648152508573ffffffffffffffffffffffffffffffffffffffff166125fe9092919063ffffffff16565b9050600081511115612c895780806020019051810190612c4991906133f1565b612c88576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612c7f90613cff565b60405180910390fd5b5b505050565b606082471015612cd3576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612cca90613b3f565b60405180910390fd5b612cdc85613009565b612d1b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612d1290613c9f565b60405180910390fd5b6000808673ffffffffffffffffffffffffffffffffffffffff168587604051612d4491906138c5565b60006040518083038185875af1925050503d8060008114612d81576040519150601f19603f3d011682016040523d82523d6000602084013e612d86565b606091505b5091509150612d9682828661301c565b92505050949350505050565b600080836001016000848152602001908152602001600020541415905092915050565b606081600001805480602002602001604051908101604052809291908181526020018280548015612e1557602002820191906000526020600020905b815481526020019060010190808311612e01575b50505050509050919050565b60008083600101600084815260200190815260200160002054905060008114612f9b576000600182612e539190613ea2565b9050600060018660000180549050612e6b9190613ea2565b9050818114612f26576000866000018281548110612eb2577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b9060005260206000200154905080876000018481548110612efc577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b90600052602060002001819055508387600101600083815260200190815260200160002081905550505b85600001805480612f60577f4e487b7100000000000000000000000000000000000000000000000000000000600052603160045260246000fd5b600190038181906000526020600020016000905590558560010160008681526020019081526020016000206000905560019350505050612fa1565b60009150505b92915050565b600081600001805490509050919050565b6000826000018281548110612ff6577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b9060005260206000200154905092915050565b600080823b905060008111915050919050565b6060831561302c5782905061307c565b60008351111561303f5782518084602001fd5b816040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016130739190613a7d565b60405180910390fd5b9392505050565b600061309661309184613ddf565b613dba565b905080838252602082019050828560208602820111156130b557600080fd5b60005b858110156130e557816130cb888261315b565b8452602084019350602083019250506001810190506130b8565b5050509392505050565b60006131026130fd84613e0b565b613dba565b9050808382526020820190508285602086028201111561312157600080fd5b60005b85811015613151578161313788826131ee565b845260208401935060208301925050600181019050613124565b5050509392505050565b60008135905061316a816144cc565b92915050565b60008151905061317f816144cc565b92915050565b600082601f83011261319657600080fd5b81356131a6848260208601613083565b91505092915050565b600082601f8301126131c057600080fd5b81356131d08482602086016130ef565b91505092915050565b6000815190506131e8816144e3565b92915050565b6000813590506131fd816144fa565b92915050565b600081519050613212816144fa565b92915050565b60006020828403121561322a57600080fd5b60006132388482850161315b565b91505092915050565b60006020828403121561325357600080fd5b600061326184828501613170565b91505092915050565b60008060006060848603121561327f57600080fd5b600061328d8682870161315b565b935050602061329e8682870161315b565b92505060406132af8682870161315b565b9150509250925092565b600080604083850312156132cc57600080fd5b60006132da8582860161315b565b92505060206132eb858286016131ee565b9150509250929050565b60008060006060848603121561330a57600080fd5b60006133188682870161315b565b9350506020613329868287016131ee565b925050604061333a8682870161315b565b9150509250925092565b60006020828403121561335657600080fd5b600082013567ffffffffffffffff81111561337057600080fd5b61337c84828501613185565b91505092915050565b6000806040838503121561339857600080fd5b600083013567ffffffffffffffff8111156133b257600080fd5b6133be85828601613185565b925050602083013567ffffffffffffffff8111156133db57600080fd5b6133e7858286016131af565b9150509250929050565b60006020828403121561340357600080fd5b6000613411848285016131d9565b91505092915050565b60006020828403121561342c57600080fd5b600061343a84828501613203565b91505092915050565b600061344f838361345b565b60208301905092915050565b61346481613ed6565b82525050565b61347381613ed6565b82525050565b600061348482613e47565b61348e8185613e75565b935061349983613e37565b8060005b838110156134ca5781516134b18882613443565b97506134bc83613e68565b92505060018101905061349d565b5085935050505092915050565b6134e081613ee8565b82525050565b60006134f182613e52565b6134fb8185613e86565b935061350b818560208601613f66565b80840191505092915050565b61352081613f1e565b82525050565b61352f81613f42565b82525050565b600061354082613e5d565b61354a8185613e91565b935061355a818560208601613f66565b61356381614071565b840191505092915050565b600061357b601183613e91565b915061358682614082565b602082019050919050565b600061359e601583613e91565b91506135a9826140ab565b602082019050919050565b60006135c1600d83613e91565b91506135cc826140d4565b602082019050919050565b60006135e4601c83613e91565b91506135ef826140fd565b602082019050919050565b6000613607601483613e91565b915061361282614126565b602082019050919050565b600061362a602683613e91565b91506136358261414f565b604082019050919050565b600061364d601883613e91565b91506136588261419e565b602082019050919050565b6000613670601a83613e91565b915061367b826141c7565b602082019050919050565b6000613693601583613e91565b915061369e826141f0565b602082019050919050565b60006136b6601683613e91565b91506136c182614219565b602082019050919050565b60006136d9601283613e91565b91506136e482614242565b602082019050919050565b60006136fc600d83613e91565b91506137078261426b565b602082019050919050565b600061371f601783613e91565b915061372a82614294565b602082019050919050565b6000613742601683613e91565b915061374d826142bd565b602082019050919050565b6000613765601583613e91565b9150613770826142e6565b602082019050919050565b6000613788600d83613e91565b91506137938261430f565b602082019050919050565b60006137ab601d83613e91565b91506137b682614338565b602082019050919050565b60006137ce601c83613e91565b91506137d982614361565b602082019050919050565b60006137f1601d83613e91565b91506137fc8261438a565b602082019050919050565b6000613814602a83613e91565b915061381f826143b3565b604082019050919050565b6000613837601f83613e91565b915061384282614402565b602082019050919050565b600061385a603683613e91565b91506138658261442b565b604082019050919050565b600061387d601883613e91565b91506138888261447a565b602082019050919050565b60006138a0601683613e91565b91506138ab826144a3565b602082019050919050565b6138bf81613f14565b82525050565b60006138d182846134e6565b915081905092915050565b60006020820190506138f1600083018461346a565b92915050565b600060408201905061390c600083018561346a565b613919602083018461346a565b9392505050565b6000606082019050613935600083018661346a565b613942602083018561346a565b61394f60408301846134d7565b949350505050565b600060608201905061396c600083018661346a565b613979602083018561346a565b61398660408301846138b6565b949350505050565b600060a0820190506139a3600083018861346a565b6139b0602083018761346a565b6139bd60408301866138b6565b6139ca60608301856138b6565b6139d7608083018461346a565b9695505050505050565b60006040820190506139f6600083018561346a565b613a0360208301846138b6565b9392505050565b60006020820190508181036000830152613a248184613479565b905092915050565b6000602082019050613a4160008301846134d7565b92915050565b6000602082019050613a5c6000830184613517565b92915050565b6000602082019050613a776000830184613526565b92915050565b60006020820190508181036000830152613a978184613535565b905092915050565b60006020820190508181036000830152613ab88161356e565b9050919050565b60006020820190508181036000830152613ad881613591565b9050919050565b60006020820190508181036000830152613af8816135b4565b9050919050565b60006020820190508181036000830152613b18816135d7565b9050919050565b60006020820190508181036000830152613b38816135fa565b9050919050565b60006020820190508181036000830152613b588161361d565b9050919050565b60006020820190508181036000830152613b7881613640565b9050919050565b60006020820190508181036000830152613b9881613663565b9050919050565b60006020820190508181036000830152613bb881613686565b9050919050565b60006020820190508181036000830152613bd8816136a9565b9050919050565b60006020820190508181036000830152613bf8816136cc565b9050919050565b60006020820190508181036000830152613c18816136ef565b9050919050565b60006020820190508181036000830152613c3881613712565b9050919050565b60006020820190508181036000830152613c5881613735565b9050919050565b60006020820190508181036000830152613c7881613758565b9050919050565b60006020820190508181036000830152613c988161377b565b9050919050565b60006020820190508181036000830152613cb88161379e565b9050919050565b60006020820190508181036000830152613cd8816137c1565b9050919050565b60006020820190508181036000830152613cf8816137e4565b9050919050565b60006020820190508181036000830152613d1881613807565b9050919050565b60006020820190508181036000830152613d388161382a565b9050919050565b60006020820190508181036000830152613d588161384d565b9050919050565b60006020820190508181036000830152613d7881613870565b9050919050565b60006020820190508181036000830152613d9881613893565b9050919050565b6000602082019050613db460008301846138b6565b92915050565b6000613dc4613dd5565b9050613dd08282613f99565b919050565b6000604051905090565b600067ffffffffffffffff821115613dfa57613df9614042565b5b602082029050602081019050919050565b600067ffffffffffffffff821115613e2657613e25614042565b5b602082029050602081019050919050565b6000819050602082019050919050565b600081519050919050565b600081519050919050565b600081519050919050565b6000602082019050919050565b600082825260208201905092915050565b600081905092915050565b600082825260208201905092915050565b6000613ead82613f14565b9150613eb883613f14565b925082821015613ecb57613eca614013565b5b828203905092915050565b6000613ee182613ef4565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b6000613f2982613f30565b9050919050565b6000613f3b82613ef4565b9050919050565b6000613f4d82613f54565b9050919050565b6000613f5f82613ef4565b9050919050565b60005b83811015613f84578082015181840152602081019050613f69565b83811115613f93576000848401525b50505050565b613fa282614071565b810181811067ffffffffffffffff82111715613fc157613fc0614042565b5b80604052505050565b6000613fd582613f14565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82141561400857614007614013565b5b600182019050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6000601f19601f8301169050919050565b7f6164642d6b65657065722d6661696c6564000000000000000000000000000000600082015250565b7f696e7075742d6c656e6774682d6d69736d617463680000000000000000000000600082015250565b7f696e76616c69642d746f6b656e00000000000000000000000000000000000000600082015250565b7f6e65772d74726561737572792d616464726573732d69732d7a65726f00000000600082015250565b7f72656d6f76652d6b65657065722d6661696c6564000000000000000000000000600082015250565b7f416464726573733a20696e73756666696369656e742062616c616e636520666f60008201527f722063616c6c0000000000000000000000000000000000000000000000000000602082015250565b7f72656465656d65722d616464726573732d69732d7a65726f0000000000000000600082015250565b7f63616c6c65722d69732d6e6f742d7468652d676f7665726e6f72000000000000600082015250565b7f746f6b656e2d616464726573732d69732d7a65726f0000000000000000000000600082015250565b7f746f6b656e2d69732d6e6f742d737570706f7274656400000000000000000000600082015250565b7f6164642d696e2d6c6973742d6661696c65640000000000000000000000000000600082015250565b7f73616d652d72656465656d657200000000000000000000000000000000000000600082015250565b7f72656d6f76652d66726f6d2d6c6973742d6661696c6564000000000000000000600082015250565b7f6f7261636c652d616464726573732d69732d7a65726f00000000000000000000600082015250565b7f636f6d65742d616464726573732d69732d7a65726f0000000000000000000000600082015250565b7f767573642d6d69736d6174636800000000000000000000000000000000000000600082015250565b7f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000600082015250565b7f737761702d6d616e616765722d616464726573732d69732d7a65726f00000000600082015250565b7f636f6d65742d69732d6e6f742d616c6c6f7765642d746f2d7377656570000000600082015250565b7f5361666545524332303a204552433230206f7065726174696f6e20646964206e60008201527f6f74207375636365656400000000000000000000000000000000000000000000602082015250565b7f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00600082015250565b7f5361666545524332303a20617070726f76652066726f6d206e6f6e2d7a65726f60008201527f20746f206e6f6e2d7a65726f20616c6c6f77616e636500000000000000000000602082015250565b7f63616c6c65722d69732d6e6f742d617574686f72697a65640000000000000000600082015250565b7f6b65657065722d616464726573732d69732d7a65726f00000000000000000000600082015250565b6144d581613ed6565b81146144e057600080fd5b50565b6144ec81613ee8565b81146144f757600080fd5b50565b61450381613f14565b811461450e57600080fd5b5056fea264697066735822122015ea890a03ba42c31201ee6cd9961e467f0322500d0eb76206bd09405c06d31764736f6c63430008030033000000000000000000000000677ddbd918637e5f2c79e164d402454de7da8619