32.8k txs
594.4k calls
constructor
constructor(address _dsVerifyProxy, address _reportSubmitter, uint256 _usdcHeartbeat, address _usdcSource, address _feeTokenAddress, address _feeManager)
functions
dsVerifyProxy
viewfunction dsVerifyProxy() view returns (address)
feeManager
viewfunction feeManager() view returns (address)
feeTokenAddress
viewfunction feeTokenAddress() view returns (address)
getAllPrices
viewfunction getAllPrices() view returns (string[] names, uint256[] prices, uint256 rawUSDCPrice)
getPriceByKey
viewfunction getPriceByKey(bytes32 key) view returns (uint256 price)
getPriceByName
viewfunction getPriceByName(string name) view returns (uint256 price)
getPriceSourceConfigByName
viewfunction getPriceSourceConfigByName(string name) view returns (tuple)
getRawUSDCPrice
viewfunction getRawUSDCPrice() view returns (uint256)
getReportByName
viewfunction getReportByName(string name) view returns (tuple)
nameToKey
purefunction nameToKey(string name) pure returns (bytes32 key)
owner
viewfunction owner() view returns (address)
priceSourceConfigMap
viewfunction priceSourceConfigMap(bytes32) view returns (address chainlinkFeed, uint256 feedDecimalsCorrection, tuple lastDSReport, bytes32 DSFeedId, uint256 DSRoundId, uint256 DSDecimalCorrection, uint256 heartBeat, address adaptor, string name)
registeredNames
viewfunction registeredNames(uint256) view returns (string)
reportSubmitter
viewfunction reportSubmitter() view returns (address)
usdcHeartbeat
viewfunction usdcHeartbeat() view returns (uint256)
usdcSource
viewfunction usdcSource() view returns (address)
newPriceSourceConfig
nonpayablefunction newPriceSourceConfig(string name, address _chainlinkFeed, bytes32 _DSFeedId, uint256 _feedDecimalCorrection, uint256 _DSDecimalCorrection, uint256 _heartBeat)
renounceOwnership
nonpayablefunction renounceOwnership()
resetPriceSourceConfig
nonpayablefunction resetPriceSourceConfig(string name, address _chainlinkFeed, bytes32 _DSFeedId, uint256 _feedDecimalCorrection, uint256 _DSDecimalCorrection, uint256 _heartBeat, bool _resetReport)
setReportSubmitter
nonpayablefunction setReportSubmitter(address _reportSubmitter)
transferOwnership
nonpayablefunction transferOwnership(address newOwner)
verifyReports
nonpayablefunction verifyReports(string[] names, bytes[] unverifiedReports)
events
AnswerUpdated
event AnswerUpdated(int256 indexed current, bytes32 indexed feedID, uint256 indexed roundId, uint256 updatedAt, string name)
OwnershipTransferred
event OwnershipTransferred(address indexed previousOwner, address indexed newOwner)
errors
No errors.
creation bytecode
0x6101206040523480156200001257600080fd5b5060405162002fee38038062002fee833981016040819052620000359162000164565b6200004033620000f7565b6001600160a01b03868116608052600180546001600160a01b03191687831617905560e08590528381166101005282811660a081905290821660c081905260405163095ea7b360e01b81526004810191909152600019602482015263095ea7b3906044016020604051808303816000875af1158015620000c4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620000ea9190620001dc565b5050505050505062000207565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b80516001600160a01b03811681146200015f57600080fd5b919050565b60008060008060008060c087890312156200017e57600080fd5b620001898762000147565b9550620001996020880162000147565b945060408701519350620001b06060880162000147565b9250620001c06080880162000147565b9150620001d060a0880162000147565b90509295509295509295565b600060208284031215620001ef57600080fd5b815180151581146200020057600080fd5b9392505050565b60805160a05160c05160e05161010051612d8662000268600039600081816102b301526118390152600081816101ea01526118c501526000610399015260008181610343015261119f015260008181610304015261116f0152612d866000f3fe60806040523480156200001157600080fd5b50600436106200015d5760003560e01c8063967de8eb11620000c7578063c4a513621162000086578063c4a51362146200037c578063d0fb02031462000393578063d30abef214620003bb578063ed5686ba14620003c5578063f2fde38b14620003dc578063f5ebd47f14620003f357600080fd5b8063967de8eb14620002e7578063a6f4b69f14620002fe578063ad7e3f001462000326578063b8df0dea146200033d578063baa13c50146200036557600080fd5b8063445df9d61162000120578063445df9d61462000241578063715018a6146200025c57806379fab3c41462000268578063832321bf146200029657806386ad4e9014620002ad5780638da5cb5b14620002d557600080fd5b80631c74c9f8146200016257806337c6e93214620001915780633dc9dcec14620001b7578063421dd41814620001e457806343060fe3146200021b575b600080fd5b620001796200017336600462001d3b565b6200040a565b60405162000188919062001e28565b60405180910390f35b620001a8620001a236600462001e39565b620004c9565b60405162000188919062001ea7565b600154620001cb906001600160a01b031681565b6040516001600160a01b03909116815260200162000188565b6200020c7f000000000000000000000000000000000000000000000000000000000000000081565b60405190815260200162000188565b620002326200022c36600462001d3b565b6200057e565b60405162000188919062001ebc565b6200024b62000758565b604051620001889392919062001f55565b6200026662000996565b005b6200027f6200027936600462001e39565b620009ae565b604051620001889998979695949392919062001ffe565b6200020c620002a736600462001e39565b62000b24565b620001cb7f000000000000000000000000000000000000000000000000000000000000000081565b6000546001600160a01b0316620001cb565b62000266620002f836600462002090565b62000ef2565b620001cb7f000000000000000000000000000000000000000000000000000000000000000081565b6200026662000337366004620021f4565b620010c3565b620001cb7f000000000000000000000000000000000000000000000000000000000000000081565b6200026662000376366004620022d6565b62001517565b620002666200038d366004620022f4565b62001543565b620001cb7f000000000000000000000000000000000000000000000000000000000000000081565b6200020c62001832565b6200020c620003d636600462001d3b565b62001954565b62000266620003ed366004620022d6565b62001986565b6200020c6200040436600462001d3b565b62001a05565b6200041462001b77565b6000620004218362001954565b600090815260036020818152604092839020835161012081018552600282015481529281015463ffffffff80821693850193909352600160201b81048316948401949094526001600160c01b03600160401b9094048416606084015260048101549384166080840152600160c01b9093041660a08201526005820154601790810b60c08301526006830154810b60e083015260079092015490910b6101008201529392505050565b60028181548110620004da57600080fd5b906000526020600020016000915090508054620004f79062002369565b80601f0160208091040260200160405190810160405280929190818152602001828054620005259062002369565b8015620005765780601f106200054a5761010080835404028352916020019162000576565b820191906000526020600020905b8154815290600101906020018083116200055857829003601f168201915b505050505081565b6200058862001bc3565b6000620005958362001954565b6000818152600360208181526040928390208351610120808201865282546001600160a01b03908116835260018401548386015286519182018752600284015482529483015463ffffffff80821695830195909552600160201b81048516828801526001600160c01b03600160401b90910481166060808401919091526004850154918216608080850191909152600160c01b90920490951660a0808401919091526005850154601790810b60c0808601919091526006870154820b60e080870191909152600788015490920b6101008681019190915299860194909452600886015496850196909652600985015491840191909152600a84015490830152600b83015490820152600c82015490931691830191909152600d810180549495509193909284019190620006c89062002369565b80601f0160208091040260200160405190810160405280929190818152602001828054620006f69062002369565b8015620007475780601f106200071b5761010080835404028352916020019162000747565b820191906000526020600020905b8154815290600101906020018083116200072957829003601f168201915b505050505081525050915050919050565b60608060006002805480602002602001604051908101604052809291908181526020016000905b8282101562000835578382906000526020600020018054620007a19062002369565b80601f0160208091040260200160405190810160405280929190818152602001828054620007cf9062002369565b8015620008205780601f10620007f45761010080835404028352916020019162000820565b820191906000526020600020905b8154815290600101906020018083116200080257829003601f168201915b5050505050815260200190600101906200077f565b505060025492955050506001600160401b0381111562000859576200085962001c2f565b60405190808252806020026020018201604052801562000883578160200160208202803683370190505b50915060005b6002548110156200098457306001600160a01b031663f5ebd47f60028381548110620008b957620008b9620023a5565b906000526020600020016040518263ffffffff1660e01b8152600401620008e19190620023bb565b602060405180830381865afa9250505080156200091d575060408051601f3d908101601f191682019092526200091a918101906200244e565b60015b6200094b576000838281518110620009395762000939620023a5565b6020026020010181815250506200096f565b80848381518110620009615762000961620023a5565b602002602001018181525050505b806200097b816200247e565b91505062000889565b506200098f62001832565b9050909192565b620009a062001a1c565b620009ac600062001a78565b565b60036020818152600092835260409283902080546001820154855161012081018752600284015481529483015463ffffffff80821695870195909552600160201b8104851696860196909652600160401b9095046001600160c01b03908116606086015260048301549081166080860152600160c01b900490921660a08401526005810154601790810b60c08501526006820154810b60e08501526007820154900b61010084015260088101546009820154600a830154600b840154600c850154600d860180546001600160a01b039889169a99989697959694959394909216929162000a9b9062002369565b80601f016020809104026020016040519081016040528092919081815260200182805462000ac99062002369565b801562000b1a5780601f1062000aee5761010080835404028352916020019162000b1a565b820191906000526020600020905b81548152906001019060200180831162000afc57829003601f168201915b5050505050905089565b60008181526003602081815260408084208151610120808201845282546001600160a01b03908116835260018401548387015284519182018552600284015482529583015463ffffffff80821696830196909652600160201b81048616828601526001600160c01b03600160401b90910481166060808401919091526004850154918216608080850191909152600160c01b90920490961660a0808401919091526005850154601790810b60c0808601919091526006870154820b60e080870191909152600788015490920b6101008681019190915297860194909452600886015497850197909752600985015491840191909152600a84015490830152600b83015490820152600c82015490941692840192909252600d82018054859493928401919062000c539062002369565b80601f016020809104026020016040519081016040528092919081815260200182805462000c819062002369565b801562000cd25780601f1062000ca65761010080835404028352916020019162000cd2565b820191906000526020600020905b81548152906001019060200180831162000cb457829003601f168201915b50505091909252505050604081015181519192509060009081906001600160a01b03161562000d6e5783600001516001600160a01b031663feaf968c6040518163ffffffff1660e01b815260040160a060405180830381865afa15801562000d3e573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000d649190620024b5565b5091945090925050505b600080846020015163ffffffff16118062000d895750600082115b62000dcb5760405162461bcd60e51b815260206004820152600d60248201526c4e4f5f56414c49445f4441544160981b60448201526064015b60405180910390fd5b81846020015163ffffffff16111562000e2a57836020015163ffffffff1690508460a0015162000e028560c0015160170b62001ac8565b62000e1690670de0b6b3a76400006200250a565b62000e22919062002524565b955062000e60565b819050846020015162000e3d8462001ac8565b62000e5190670de0b6b3a76400006200250a565b62000e5d919062002524565b95505b60c085015162000e71824262002547565b111562000ec15760405162461bcd60e51b815260206004820152601760248201527f4f5241434c455f4845415254424541545f4641494c4544000000000000000000604482015260640162000dc2565b62000ecb62001832565b62000edb876305f5e1006200250a565b62000ee7919062002524565b979650505050505050565b62000efc62001a1c565b600062000f098862001954565b6000818152600360205260408120600d018054929350909162000f2c9062002369565b90501162000f6e5760405162461bcd60e51b815260206004820152600e60248201526d1390535157d393d517d1561254d560921b604482015260640162000dc2565b600081815260036020526040902080546001600160a01b0319166001600160a01b0389161781556008810187905562000fa986600a6200265a565b600182015562000fbb85600a6200265a565b600a820155600b81018490558215620010b85762000fd862001b20565b8051600283015560208101516003830180546040840151606085015163ffffffff94851667ffffffffffffffff1990931692909217600160201b91851691909102176001600160401b0316600160401b6001600160c01b039283160217909155608083015160048501805460a08601519284166001600160e01b031990911617600160c01b92909416919091029290921790915560c08201516005840180546001600160c01b031990811692841692909217905560e083015160068501805483169184169190911790556101009092015160078401805490931691161790555b505050505050505050565b6000546001600160a01b0316331480620010e757506001546001600160a01b031633145b620011265760405162461bcd60e51b815260206004820152600e60248201526d139bdd08185d5d1a1bdc9a5e995960921b604482015260640162000dc2565b80518251146200116b5760405162461bcd60e51b815260206004820152600f60248201526e0988a9c8ea890be9a92a69a82a8869608b1b604482015260640162000dc2565b60007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f873a61c837f0000000000000000000000000000000000000000000000000000000000000000604051602001620011de91906001600160a01b0391909116815260200190565b6040516020818303038152906040526040518363ffffffff1660e01b81526004016200120c92919062002668565b6000604051808303816000875af11580156200122c573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052620012569190810190620026e4565b905060005b8351811015620015115760006200128e858381518110620012805762001280620023a5565b602002602001015162001954565b6000818152600360205260408120855192935091859085908110620012b757620012b7620023a5565b6020026020010151806020019051810190620012d4919062002821565b6003830154602082015191925063ffffffff9081169116116200133a5760405162461bcd60e51b815260206004820152601860248201527f494e56414c49445f5245504f52545f54494d455354414d500000000000000000604482015260640162000dc2565b6008820154815114620013875760405162461bcd60e51b8152602060048201526014602482015273088a6be8c8a8a88be9288be9c9ea8be9a82a886960631b604482015260640162000dc2565b805160028301556020810151600383018054604084015160608501516001600160c01b03908116600160401b026001600160401b0363ffffffff938416600160201b0267ffffffffffffffff1990951696841696909617939093179490941691909117909155608083015160048501805460a0860151909316600160c01b026001600160e01b03199093169184169190911791909117905560c08201516005840180549183166001600160c01b031992831617905560e08301516006850180549184169183169190911790556101008301516007850180549190931691161790556009820180546001919060009062001482908490620028e3565b9091555050600982015460028301546005840154895160179190910b907fc1c33f017434f5da0354aa2fc6d4083b54aa1e1fee2110460d92d799743386f09042908c908a908110620014d857620014d8620023a5565b6020026020010151604051620014f0929190620028f9565b60405180910390a4505050808062001508906200247e565b9150506200125b565b50505050565b6200152162001a1c565b600180546001600160a01b0319166001600160a01b0392909216919091179055565b6200154d62001a1c565b60006200155a8762001954565b6000818152600360205260409020600d018054919250906200157c9062002369565b159050620015c25760405162461bcd60e51b81526020600482015260126024820152711390535157d053149150511657d1561254d560721b604482015260640162000dc2565b600280546001810182556000919091527f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ace0162001600888262002967565b5060008730604051620016139062001c21565b6200162092919062002a33565b604051809103906000f0801580156200163d573d6000803e3d6000fd5b50905060006200164c62001b20565b9050604051806101200160405280896001600160a01b0316815260200187600a6200167891906200265a565b81526020018281526020018881526020016000815260200186600a6200169f91906200265a565b815260208082018790526001600160a01b0380861660408085019190915260609384018e90526000888152600380855290829020865181549085166001600160a01b0319918216178255878601516001830155878401518051600284015595860151928201805494870151878901516001600160c01b03908116600160401b026001600160401b0363ffffffff938416600160201b0267ffffffffffffffff1990991697841697909717979097179590951695909517905560808087015160048401805460a0808b0151909816600160c01b026001600160e01b03199091169287169290921791909117905560c0808801516005850180549187166001600160c01b031992831617905560e0808a0151600687018054918916918416919091179055610100998a015160078701805491909816921691909117909555978901516008840155880151600983015592870151600a82015594860151600b860155850151600c85018054919093169116179055820151600d82019062001824908262002967565b505050505050505050505050565b60008060007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663feaf968c6040518163ffffffff1660e01b815260040160a060405180830381865afa15801562001896573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620018bc9190620024b5565b509350509250507f00000000000000000000000000000000000000000000000000000000000000008142620018f2919062002547565b1115620019425760405162461bcd60e51b815260206004820152601c60248201527f555344435f4f5241434c455f4845415254424541545f4641494c454400000000604482015260640162000dc2565b6200194d8262001ac8565b9250505090565b60008160405160200162001969919062002a5f565b604051602081830303815290604052805190602001209050919050565b6200199062001a1c565b6001600160a01b038116620019f75760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b606482015260840162000dc2565b62001a028162001a78565b50565b600062001a16620002a78362001954565b92915050565b6000546001600160a01b03163314620009ac5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640162000dc2565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b60008082121562001b1c5760405162461bcd60e51b815260206004820181905260248201527f53616665436173743a2076616c7565206d75737420626520706f736974697665604482015260640162000dc2565b5090565b62001b2a62001b77565b506040805161012081018252600080825260208201819052918101829052606081018290526080810182905260a0810182905260c0810182905260e0810182905261010081019190915290565b6040805161012081018252600080825260208201819052918101829052606081018290526080810182905260a0810182905260c0810182905260e0810182905261010081019190915290565b60408051610120810182526000808252602082015290810162001be562001b77565b81526020016000801916815260200160008152602001600081526020016000815260200160006001600160a01b03168152602001606081525090565b6102d38062002a7e83390190565b634e487b7160e01b600052604160045260246000fd5b60405161012081016001600160401b038111828210171562001c6b5762001c6b62001c2f565b60405290565b604051601f8201601f191681016001600160401b038111828210171562001c9c5762001c9c62001c2f565b604052919050565b60006001600160401b0382111562001cc05762001cc062001c2f565b50601f01601f191660200190565b600062001ce562001cdf8462001ca4565b62001c71565b905082815283838301111562001cfa57600080fd5b828260208301376000602084830101529392505050565b600082601f83011262001d2357600080fd5b62001d348383356020850162001cce565b9392505050565b60006020828403121562001d4e57600080fd5b81356001600160401b0381111562001d6557600080fd5b62001d738482850162001d11565b949350505050565b80518252602081015163ffffffff8082166020850152806040840151166040850152505060018060c01b036060820151166060830152608081015162001dcc60808401826001600160c01b03169052565b5060a081015162001de560a084018263ffffffff169052565b5060c081015162001dfb60c084018260170b9052565b5060e081015162001e1160e084018260170b9052565b5061010080820151620015118285018260170b9052565b610120810162001a16828462001d7b565b60006020828403121562001e4c57600080fd5b5035919050565b60005b8381101562001e7057818101518382015260200162001e56565b50506000910152565b6000815180845262001e9381602086016020860162001e53565b601f01601f19169290920160200192915050565b60208152600062001d34602083018462001e79565b6020815262001ed76020820183516001600160a01b03169052565b602082015160408201526000604083015162001ef7606084018262001d7b565b50606083015161018083015260808301516101a083015260a08301516101c083015260c08301516101e083015260e08301516001600160a01b03166102008301526101008301516102208084015262001d7361024084018262001e79565b6000606082016060835280865180835260808501915060808160051b8601019250602080890160005b8381101562001fb057607f1988870301855262001f9d86835162001e79565b9550938201939082019060010162001f7e565b50508584038187015287518085528882019482019350915060005b8281101562001fe95784518452938101939281019260010162001fcb565b50505060409390930193909352509392505050565b6001600160a01b038a81168252602082018a90526000906102209062002028604085018c62001d7b565b8961016085015288610180850152876101a0850152866101c08501528086166101e08501525080610200840152620020638184018562001e79565b9c9b505050505050505050505050565b80356001600160a01b03811681146200208b57600080fd5b919050565b600080600080600080600060e0888a031215620020ac57600080fd5b87356001600160401b03811115620020c357600080fd5b620020d18a828b0162001d11565b975050620020e26020890162002073565b955060408801359450606088013593506080880135925060a0880135915060c088013580151581146200211457600080fd5b8091505092959891949750929550565b60006001600160401b0382111562002140576200214062001c2f565b5060051b60200190565b600082601f8301126200215c57600080fd5b813560206200216f62001cdf8362002124565b82815260059290921b840181019181810190868411156200218f57600080fd5b8286015b84811015620021e95780356001600160401b03811115620021b45760008081fd5b8701603f81018913620021c75760008081fd5b620021da89868301356040840162001cce565b84525091830191830162002193565b509695505050505050565b600080604083850312156200220857600080fd5b82356001600160401b03808211156200222057600080fd5b818501915085601f8301126200223557600080fd5b813560206200224862001cdf8362002124565b82815260059290921b840181019181810190898411156200226857600080fd5b8286015b84811015620022a557803586811115620022865760008081fd5b620022968c86838b010162001d11565b8452509183019183016200226c565b5096505086013592505080821115620022bd57600080fd5b50620022cc858286016200214a565b9150509250929050565b600060208284031215620022e957600080fd5b62001d348262002073565b60008060008060008060c087890312156200230e57600080fd5b86356001600160401b038111156200232557600080fd5b6200233389828a0162001d11565b965050620023446020880162002073565b95989597505050506040840135936060810135936080820135935060a0909101359150565b600181811c908216806200237e57607f821691505b6020821081036200239f57634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052603260045260246000fd5b6000602080835260008454620023d18162002369565b80848701526040600180841660008114620023f55760018114620024105762002440565b60ff1985168984015283151560051b89018301955062002440565b896000528660002060005b85811015620024385781548b82018601529083019088016200241b565b8a0184019650505b509398975050505050505050565b6000602082840312156200246157600080fd5b5051919050565b634e487b7160e01b600052601160045260246000fd5b60006001820162002493576200249362002468565b5060010190565b805169ffffffffffffffffffff811681146200208b57600080fd5b600080600080600060a08688031215620024ce57600080fd5b620024d9866200249a565b9450602086015193506040860151925060608601519150620024fe608087016200249a565b90509295509295909350565b808202811582820484141762001a165762001a1662002468565b6000826200254257634e487b7160e01b600052601260045260246000fd5b500490565b8181038181111562001a165762001a1662002468565b600181815b808511156200259e57816000190482111562002582576200258262002468565b808516156200259057918102915b93841c939080029062002562565b509250929050565b600082620025b75750600162001a16565b81620025c65750600062001a16565b8160018114620025df5760028114620025ea576200260a565b600191505062001a16565b60ff841115620025fe57620025fe62002468565b50506001821b62001a16565b5060208310610133831016604e8410600b84101617156200262f575081810a62001a16565b6200263b83836200255d565b806000190482111562002652576200265262002468565b029392505050565b600062001d348383620025a6565b6000604082016040835280855180835260608501915060608160051b8601019250602080880160005b83811015620026c357605f19888703018552620026b086835162001e79565b9550938201939082019060010162002691565b505085840381870152505050620026db818562001e79565b95945050505050565b60006020808385031215620026f857600080fd5b82516001600160401b03808211156200271057600080fd5b818501915085601f8301126200272557600080fd5b81516200273662001cdf8262002124565b81815260059190911b830184019084810190888311156200275657600080fd5b8585015b83811015620027d457805185811115620027745760008081fd5b8601603f81018b13620027875760008081fd5b8781015160406200279c62001cdf8362001ca4565b8281528d82848601011115620027b25760008081fd5b620027c3838c830184870162001e53565b86525050509186019186016200275a565b5098975050505050505050565b805163ffffffff811681146200208b57600080fd5b80516001600160c01b03811681146200208b57600080fd5b8051601781900b81146200208b57600080fd5b600061012082840312156200283557600080fd5b6200283f62001c45565b825181526200285160208401620027e1565b60208201526200286460408401620027e1565b60408201526200287760608401620027f6565b60608201526200288a60808401620027f6565b60808201526200289d60a08401620027e1565b60a0820152620028b060c084016200280e565b60c0820152620028c360e084016200280e565b60e0820152610100620028d88185016200280e565b908201529392505050565b8082018082111562001a165762001a1662002468565b82815260406020820152600062001d73604083018462001e79565b601f8211156200296257600081815260208120601f850160051c810160208610156200293d5750805b601f850160051c820191505b818110156200295e5782815560010162002949565b5050505b505050565b81516001600160401b0381111562002983576200298362001c2f565b6200299b8162002994845462002369565b8462002914565b602080601f831160018114620029d35760008415620029ba5750858301515b600019600386901b1c1916600185901b1785556200295e565b600085815260208120601f198616915b8281101562002a0457888601518255948401946001909101908401620029e3565b508582101562002a235787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b60408152600062002a48604083018562001e79565b905060018060a01b03831660208301529392505050565b6000825162002a7381846020870162001e53565b919091019291505056fe608060405234801561001057600080fd5b506040516102d33803806102d383398101604081905261002f916100d4565b600080546001600160a01b0319166001600160a01b03831617905560405161005b908390602001610193565b6040516020818303038152906040528051906020012060018190555050506101af565b634e487b7160e01b600052604160045260246000fd5b60005b838110156100af578181015183820152602001610097565b50506000910152565b80516001600160a01b03811681146100cf57600080fd5b919050565b600080604083850312156100e757600080fd5b82516001600160401b03808211156100fe57600080fd5b818501915085601f83011261011257600080fd5b8151818111156101245761012461007e565b604051601f8201601f19908116603f0116810190838211818310171561014c5761014c61007e565b8160405282815288602084870101111561016557600080fd5b610176836020830160208801610094565b809650505050505061018a602084016100b8565b90509250929050565b600082516101a5818460208701610094565b9190910192915050565b610115806101be6000396000f3fe6080604052348015600f57600080fd5b506004361060325760003560e01c806360409632146037578063e54f0880146037575b600080fd5b603d604f565b60405190815260200160405180910390f35b6000805460015460405163832321bf60e01b81526001600160a01b039092169163832321bf9160849160040190815260200190565b602060405180830381865afa15801560a0573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019060c2919060c7565b905090565b60006020828403121560d857600080fd5b505191905056fea2646970667358221220142d0581b1adcc856cc4ffa442dd591433ce0ce9d10935a903f7024f5d5e90b464736f6c63430008130033a26469706673582212206f4cd3aca208c52247fb0f04e4e087ad55b70b3e97383a42ffec9b1ef2e2191b64736f6c63430008130033000000000000000000000000de1a28d87afd0f546505b28ab50410a5c3a7387a00000000000000000000000058d6e7accc617758f890ba796d34777d2c46210c00000000000000000000000000000000000000000000000000000000000151800000000000000000000000007e860098f58bbfc8648a4311b374b1d669a2bc6b00000000000000000000000042000000000000000000000000000000000000060000000000000000000000003dffed6a5abbb48686e619e644ce8c3d977cc4fa