97 txs
98 calls
constructor
constructor(address _tokenAddress)
functions
getAllQuestIds
viewfunction getAllQuestIds() view returns (bytes32[])
getQuest
viewfunction getQuest(bytes32 _questId) view returns (tuple)
hasClaimedReward
viewfunction hasClaimedReward(bytes32, address) view returns (bool)
owner
viewfunction owner() view returns (address)
paused
viewfunction paused() view returns (bool)
questIds
viewfunction questIds(uint256) view returns (bytes32)
quests
viewfunction quests(bytes32) view returns (bytes32 id, address creator, address escrowAccount, address tokenAddress, uint256 amount, uint256 deadline, bool isActive, uint256 totalWinners, uint256 totalRewardDistributed, uint256 maxWinners)
supportedTokens
viewfunction supportedTokens(address) view returns (bool)
addSupportedToken
nonpayablefunction addSupportedToken(address _token)
cancelQuest
nonpayablefunction cancelQuest(bytes32 _questId)
createQuest
nonpayablefunction createQuest(address _token, uint256 _amount, uint256 _deadline, uint256 _maxWinners) returns (bytes32)
pause
nonpayablefunction pause()
removeSupportedToken
nonpayablefunction removeSupportedToken(address _token)
renounceOwnership
nonpayablefunction renounceOwnership()
sendReward
nonpayablefunction sendReward(bytes32 _questId, address _winner, uint256 _amount)
transferOwnership
nonpayablefunction transferOwnership(address newOwner)
unpause
nonpayablefunction unpause()
updateQuestStatus
nonpayablefunction updateQuestStatus(bytes32 _questId, bool _newStatus)
withdrawAllETH
nonpayablefunction withdrawAllETH()
withdrawAllTokens
nonpayablefunction withdrawAllTokens(address _tokenAddress)
events
OwnershipTransferred
event OwnershipTransferred(address indexed previousOwner, address indexed newOwner)
Paused
event Paused(address account)
QuestCancelled
event QuestCancelled(bytes32 indexed id)
QuestCreated
event QuestCreated(bytes32 indexed id, address indexed creator, address indexed token, uint256 amount, address escrowAccount, uint256 deadline, uint256 maxWinners)
QuestStatusUpdated
event QuestStatusUpdated(bytes32 indexed id, bool isActive)
RewardSent
event RewardSent(bytes32 indexed questId, address indexed winner, uint256 amount)
TokenSupported
event TokenSupported(address indexed token, bool supported)
Unpaused
event Unpaused(address account)
errors
EnforcedPause
error EnforcedPause()
ExpectedPause
error ExpectedPause()
OwnableInvalidOwner
error OwnableInvalidOwner(address owner)
OwnableUnauthorizedAccount
error OwnableUnauthorizedAccount(address account)
ReentrancyGuardReentrantCall
error ReentrancyGuardReentrantCall()
creation bytecode
0x608060405234801561001057600080fd5b506040516134ab3803806134ab833981810160405281019061003291906102ff565b33600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036100a55760006040517f1e4fbdf700000000000000000000000000000000000000000000000000000000815260040161009c919061033b565b60405180910390fd5b6100b4816101d860201b60201c565b5060018081905550600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff160361012b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610122906103b3565b60405180910390fd5b6001600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508073ffffffffffffffffffffffffffffffffffffffff167fd86c88b4a367d9b81a6e00c9d3f7d01657bffef358fa8968c91c045ae99f0d5260016040516101ca91906103ee565b60405180910390a250610409565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006102cc826102a1565b9050919050565b6102dc816102c1565b81146102e757600080fd5b50565b6000815190506102f9816102d3565b92915050565b6000602082840312156103155761031461029c565b5b6000610323848285016102ea565b91505092915050565b610335816102c1565b82525050565b6000602082019050610350600083018461032c565b92915050565b600082825260208201905092915050565b7f496e76616c696420546f6b656e20616464726573730000000000000000000000600082015250565b600061039d601583610356565b91506103a882610367565b602082019050919050565b600060208201905081810360008301526103cc81610390565b9050919050565b60008115159050919050565b6103e8816103d3565b82525050565b600060208201905061040360008301846103df565b92915050565b613093806104186000396000f3fe6080604052600436106101235760003560e01c8063715018a6116100a057806390386bbf1161006457806390386bbf146103e4578063a585e561146103fb578063a878aee614610424578063c01745421461044d578063f2fde38b146104765761012a565b8063715018a614610325578063763191901461033c5780638456cb591461036557806384cbdb881461037c5780638da5cb5b146103b95761012a565b8063487bf905116100e7578063487bf905146102255780635c975abb1461026b578063649cb5e21461029657806368c4ac26146102bf5780636d69fcaf146102fc5761012a565b80630b8dd3cd1461012c5780631050f7ae146101575780631b569fb3146101945780633f4ba83a146101d157806347d75f39146101e85761012a565b3661012a57005b005b34801561013857600080fd5b5061014161049f565b60405161014e91906120d8565b60405180910390f35b34801561016357600080fd5b5061017e60048036038101906101799190612193565b6104f7565b60405161018b9190612209565b60405180910390f35b3480156101a057600080fd5b506101bb60048036038101906101b69190612250565b610b3d565b6040516101c891906122ab565b60405180910390f35b3480156101dd57600080fd5b506101e6610b6c565b005b3480156101f457600080fd5b5061020f600480360381019061020a91906122c6565b610b7e565b60405161021c91906123ec565b60405180910390f35b34801561023157600080fd5b5061024c600480360381019061024791906122c6565b610d05565b6040516102629a99989796959493929190612426565b60405180910390f35b34801561027757600080fd5b50610280610dc6565b60405161028d91906122ab565b60405180910390f35b3480156102a257600080fd5b506102bd60048036038101906102b891906124ee565b610ddc565b005b3480156102cb57600080fd5b506102e660048036038101906102e1919061252e565b610ef5565b6040516102f391906122ab565b60405180910390f35b34801561030857600080fd5b50610323600480360381019061031e919061252e565b610f15565b005b34801561033157600080fd5b5061033a611036565b005b34801561034857600080fd5b50610363600480360381019061035e919061252e565b61104a565b005b34801561037157600080fd5b5061037a6110fc565b005b34801561038857600080fd5b506103a3600480360381019061039e919061255b565b61110e565b6040516103b09190612209565b60405180910390f35b3480156103c557600080fd5b506103ce611132565b6040516103db9190612588565b60405180910390f35b3480156103f057600080fd5b506103f961115b565b005b34801561040757600080fd5b50610422600480360381019061041d91906125a3565b611272565b005b34801561043057600080fd5b5061044b6004803603810190610446919061252e565b6116cf565b005b34801561045957600080fd5b50610474600480360381019061046f91906122c6565b61187e565b005b34801561048257600080fd5b5061049d6004803603810190610498919061252e565b611c08565b005b606060048054806020026020016040519081016040528092919081815260200182805480156104ed57602002820191906000526020600020905b8154815260200190600101908083116104d9575b5050505050905090565b6000610501611c8e565b610509611ccf565b600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16610595576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161058c90612653565b60405180910390fd5b600084116105d8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105cf906126bf565b60405180910390fd5b42831161061a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106119061272b565b60405180910390fd5b6000821161065d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161065490612797565b60405180910390fd5b60008573ffffffffffffffffffffffffffffffffffffffff1663dd62ed3e33306040518363ffffffff1660e01b815260040161069a9291906127b7565b602060405180830381865afa1580156106b7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106db91906127f5565b905084811015610720576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107179061286e565b60405180910390fd5b60008673ffffffffffffffffffffffffffffffffffffffff166323b872dd3330896040518463ffffffff1660e01b815260040161075f9392919061288e565b6020604051808303816000875af115801561077e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107a291906128da565b9050806107e4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107db90612953565b60405180910390fd5b600033428989306040516020016107ff9594939291906129dc565b604051602081830303815290604052805190602001209050600073ffffffffffffffffffffffffffffffffffffffff166002600083815260200190815260200160002060010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146108bc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108b390612a87565b60405180910390fd5b6040518061014001604052808281526020013373ffffffffffffffffffffffffffffffffffffffff1681526020013073ffffffffffffffffffffffffffffffffffffffff1681526020018973ffffffffffffffffffffffffffffffffffffffff168152602001888152602001878152602001600115158152602001600081526020016000815260200186815250600260008381526020019081526020016000206000820151816000015560208201518160010160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060408201518160020160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060608201518160030160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506080820151816004015560a0820151816005015560c08201518160060160006101000a81548160ff02191690831515021790555060e082015181600701556101008201518160080155610120820151816009015590505060048190806001815401808255809150506001900390600052602060002001600090919091909150558773ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16827f3d5225a249b34fa01f5cbacd4d4a2af3f606dc770f166f53084dcedea632b53b8a308b8b604051610b1f9493929190612aa7565b60405180910390a4809350505050610b35611d15565b949350505050565b60036020528160005260406000206020528060005260406000206000915091509054906101000a900460ff1681565b610b74611d1e565b610b7c611da5565b565b610b86611f76565b6002600083815260200190815260200160002060405180610140016040529081600082015481526020016001820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020016002820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020016003820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200160048201548152602001600582015481526020016006820160009054906101000a900460ff1615151515815260200160078201548152602001600882015481526020016009820154815250509050919050565b60026020528060005260406000206000915090508060000154908060010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060020160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060030160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060040154908060050154908060060160009054906101000a900460ff1690806007015490806008015490806009015490508a565b60008060149054906101000a900460ff16905090565b610de4611d1e565b81600073ffffffffffffffffffffffffffffffffffffffff166002600083815260200190815260200160002060010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1603610e8a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e8190612b38565b60405180910390fd5b816002600085815260200190815260200160002060060160006101000a81548160ff021916908315150217905550827f2de0935a4b167137b7d60f1ecde73679cc8011534e72e1bd88e067df3961d12583604051610ee891906122ab565b60405180910390a2505050565b60056020528060005260406000206000915054906101000a900460ff1681565b610f1d611d1e565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610f8c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f8390612ba4565b60405180910390fd5b6001600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508073ffffffffffffffffffffffffffffffffffffffff167fd86c88b4a367d9b81a6e00c9d3f7d01657bffef358fa8968c91c045ae99f0d52600160405161102b91906122ab565b60405180910390a250565b61103e611d1e565b6110486000611e07565b565b611052611d1e565b6000600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508073ffffffffffffffffffffffffffffffffffffffff167fd86c88b4a367d9b81a6e00c9d3f7d01657bffef358fa8968c91c045ae99f0d5260006040516110f191906122ab565b60405180910390a250565b611104611d1e565b61110c611ecb565b565b6004818154811061111e57600080fd5b906000526020600020016000915090505481565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b611163611d1e565b61116b611ccf565b6000479050600081116111b3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111aa90612c10565b60405180910390fd5b60006111bd611132565b73ffffffffffffffffffffffffffffffffffffffff16826040516111e090612c61565b60006040518083038185875af1925050503d806000811461121d576040519150601f19603f3d011682016040523d82523d6000602084013e611222565b606091505b5050905080611266576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161125d90612cc2565b60405180910390fd5b5050611270611d15565b565b61127a611d1e565b82600073ffffffffffffffffffffffffffffffffffffffff166002600083815260200190815260200160002060010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1603611320576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161131790612b38565b60405180910390fd5b836002600082815260200190815260200160002060060160009054906101000a900460ff16611384576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161137b90612d2e565b60405180910390fd5b61138c611c8e565b611394611ccf565b600060026000878152602001908152602001600020905080600401548482600801546113c09190612d7d565b1115611401576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113f890612e23565b60405180910390fd5b6003600087815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161561149f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161149690612e8f565b60405180910390fd5b80600901548160070154106114e9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114e090612efb565b60405180910390fd5b60016003600088815260200190815260200160002060008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550838160080160008282546115669190612d7d565b9250508190555060018160070160008282546115829190612d7d565b9250508190555060008160030160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a9059cbb87876040518363ffffffff1660e01b81526004016115ea929190612f1b565b6020604051808303816000875af1158015611609573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061162d91906128da565b90508061166f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161166690612953565b60405180910390fd5b8573ffffffffffffffffffffffffffffffffffffffff16877f75f84c19869aa8667efce6c462a3b08b5a8a127d61725b4c402e944cf4f9b656876040516116b69190612f44565b60405180910390a350506116c8611d15565b5050505050565b6116d7611d1e565b6116df611c8e565b6116e7611ccf565b60008173ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b81526004016117229190612588565b602060405180830381865afa15801561173f573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061176391906127f5565b9050600081116117a8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161179f90612fab565b60405180910390fd5b60008273ffffffffffffffffffffffffffffffffffffffff1663a9059cbb6117ce611132565b846040518363ffffffff1660e01b81526004016117ec929190612f1b565b6020604051808303816000875af115801561180b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061182f91906128da565b905080611871576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161186890612953565b60405180910390fd5b505061187b611d15565b50565b611886611d1e565b80600073ffffffffffffffffffffffffffffffffffffffff166002600083815260200190815260200160002060010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff160361192c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161192390612b38565b60405180910390fd5b816002600082815260200190815260200160002060060160009054906101000a900460ff16611990576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161198790612d2e565b60405180910390fd5b611998611c8e565b6119a0611ccf565b600060026000858152602001908152602001600020905060008160030160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401611a169190612588565b602060405180830381865afa158015611a33573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611a5791906127f5565b90508160040154811015611aa0576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a979061303d565b60405180910390fd5b60008260060160006101000a81548160ff02191690831515021790555060008260030160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a9059cbb8460010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1685600401546040518363ffffffff1660e01b8152600401611b46929190612f1b565b6020604051808303816000875af1158015611b65573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611b8991906128da565b905080611bcb576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611bc290612953565b60405180910390fd5b857ffb58c251ad99d41e71f6e170e6c7f4e2acbbd6bb1ae9e231450e45e72172c44160405160405180910390a2505050611c03611d15565b505050565b611c10611d1e565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603611c825760006040517f1e4fbdf7000000000000000000000000000000000000000000000000000000008152600401611c799190612588565b60405180910390fd5b611c8b81611e07565b50565b611c96610dc6565b15611ccd576040517fd93c066500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b565b600260015403611d0b576040517f3ee5aeb500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6002600181905550565b60018081905550565b611d26611f2e565b73ffffffffffffffffffffffffffffffffffffffff16611d44611132565b73ffffffffffffffffffffffffffffffffffffffff1614611da357611d67611f2e565b6040517f118cdaa7000000000000000000000000000000000000000000000000000000008152600401611d9a9190612588565b60405180910390fd5b565b611dad611f36565b60008060146101000a81548160ff0219169083151502179055507f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa611df0611f2e565b604051611dfd9190612588565b60405180910390a1565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b611ed3611c8e565b6001600060146101000a81548160ff0219169083151502179055507f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a258611f17611f2e565b604051611f249190612588565b60405180910390a1565b600033905090565b611f3e610dc6565b611f74576040517f8dfc202b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b565b60405180610140016040528060008019168152602001600073ffffffffffffffffffffffffffffffffffffffff168152602001600073ffffffffffffffffffffffffffffffffffffffff168152602001600073ffffffffffffffffffffffffffffffffffffffff16815260200160008152602001600081526020016000151581526020016000815260200160008152602001600081525090565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b6000819050919050565b61204f8161203c565b82525050565b60006120618383612046565b60208301905092915050565b6000602082019050919050565b600061208582612010565b61208f818561201b565b935061209a8361202c565b8060005b838110156120cb5781516120b28882612055565b97506120bd8361206d565b92505060018101905061209e565b5085935050505092915050565b600060208201905081810360008301526120f2818461207a565b905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600061212a826120ff565b9050919050565b61213a8161211f565b811461214557600080fd5b50565b60008135905061215781612131565b92915050565b6000819050919050565b6121708161215d565b811461217b57600080fd5b50565b60008135905061218d81612167565b92915050565b600080600080608085870312156121ad576121ac6120fa565b5b60006121bb87828801612148565b94505060206121cc8782880161217e565b93505060406121dd8782880161217e565b92505060606121ee8782880161217e565b91505092959194509250565b6122038161203c565b82525050565b600060208201905061221e60008301846121fa565b92915050565b61222d8161203c565b811461223857600080fd5b50565b60008135905061224a81612224565b92915050565b60008060408385031215612267576122666120fa565b5b60006122758582860161223b565b925050602061228685828601612148565b9150509250929050565b60008115159050919050565b6122a581612290565b82525050565b60006020820190506122c0600083018461229c565b92915050565b6000602082840312156122dc576122db6120fa565b5b60006122ea8482850161223b565b91505092915050565b6122fc8161211f565b82525050565b61230b8161215d565b82525050565b61231a81612290565b82525050565b610140820160008201516123376000850182612046565b50602082015161234a60208501826122f3565b50604082015161235d60408501826122f3565b50606082015161237060608501826122f3565b5060808201516123836080850182612302565b5060a082015161239660a0850182612302565b5060c08201516123a960c0850182612311565b5060e08201516123bc60e0850182612302565b506101008201516123d1610100850182612302565b506101208201516123e6610120850182612302565b50505050565b6000610140820190506124026000830184612320565b92915050565b6124118161211f565b82525050565b6124208161215d565b82525050565b60006101408201905061243c600083018d6121fa565b612449602083018c612408565b612456604083018b612408565b612463606083018a612408565b6124706080830189612417565b61247d60a0830188612417565b61248a60c083018761229c565b61249760e0830186612417565b6124a5610100830185612417565b6124b3610120830184612417565b9b9a5050505050505050505050565b6124cb81612290565b81146124d657600080fd5b50565b6000813590506124e8816124c2565b92915050565b60008060408385031215612505576125046120fa565b5b60006125138582860161223b565b9250506020612524858286016124d9565b9150509250929050565b600060208284031215612544576125436120fa565b5b600061255284828501612148565b91505092915050565b600060208284031215612571576125706120fa565b5b600061257f8482850161217e565b91505092915050565b600060208201905061259d6000830184612408565b92915050565b6000806000606084860312156125bc576125bb6120fa565b5b60006125ca8682870161223b565b93505060206125db86828701612148565b92505060406125ec8682870161217e565b9150509250925092565b600082825260208201905092915050565b7f546f6b656e206e6f7420737570706f7274656400000000000000000000000000600082015250565b600061263d6013836125f6565b915061264882612607565b602082019050919050565b6000602082019050818103600083015261266c81612630565b9050919050565b7f416d6f756e74206d757374206265203e20300000000000000000000000000000600082015250565b60006126a96012836125f6565b91506126b482612673565b602082019050919050565b600060208201905081810360008301526126d88161269c565b9050919050565b7f446561646c696e65206d75737420626520696e20667574757265000000000000600082015250565b6000612715601a836125f6565b9150612720826126df565b602082019050919050565b6000602082019050818103600083015261274481612708565b9050919050565b7f4d61782077696e6e657273206d757374206265203e2030000000000000000000600082015250565b60006127816017836125f6565b915061278c8261274b565b602082019050919050565b600060208201905081810360008301526127b081612774565b9050919050565b60006040820190506127cc6000830185612408565b6127d96020830184612408565b9392505050565b6000815190506127ef81612167565b92915050565b60006020828403121561280b5761280a6120fa565b5b6000612819848285016127e0565b91505092915050565b7f496e73756666696369656e7420616c6c6f77616e636500000000000000000000600082015250565b60006128586016836125f6565b915061286382612822565b602082019050919050565b600060208201905081810360008301526128878161284b565b9050919050565b60006060820190506128a36000830186612408565b6128b06020830185612408565b6128bd6040830184612417565b949350505050565b6000815190506128d4816124c2565b92915050565b6000602082840312156128f0576128ef6120fa565b5b60006128fe848285016128c5565b91505092915050565b7f546f6b656e207472616e73666572206661696c65640000000000000000000000600082015250565b600061293d6015836125f6565b915061294882612907565b602082019050919050565b6000602082019050818103600083015261296c81612930565b9050919050565b60008160601b9050919050565b600061298b82612973565b9050919050565b600061299d82612980565b9050919050565b6129b56129b08261211f565b612992565b82525050565b6000819050919050565b6129d66129d18261215d565b6129bb565b82525050565b60006129e882886129a4565b6014820191506129f882876129c5565b602082019150612a0882866129a4565b601482019150612a1882856129c5565b602082019150612a2882846129a4565b6014820191508190509695505050505050565b7f517565737420616c726561647920657869737473000000000000000000000000600082015250565b6000612a716014836125f6565b9150612a7c82612a3b565b602082019050919050565b60006020820190508181036000830152612aa081612a64565b9050919050565b6000608082019050612abc6000830187612417565b612ac96020830186612408565b612ad66040830185612417565b612ae36060830184612417565b95945050505050565b7f517565737420646f6573206e6f74206578697374000000000000000000000000600082015250565b6000612b226014836125f6565b9150612b2d82612aec565b602082019050919050565b60006020820190508181036000830152612b5181612b15565b9050919050565b7f496e76616c696420746f6b656e00000000000000000000000000000000000000600082015250565b6000612b8e600d836125f6565b9150612b9982612b58565b602082019050919050565b60006020820190508181036000830152612bbd81612b81565b9050919050565b7f4e6f2045544820746f2077697468647261770000000000000000000000000000600082015250565b6000612bfa6012836125f6565b9150612c0582612bc4565b602082019050919050565b60006020820190508181036000830152612c2981612bed565b9050919050565b600081905092915050565b50565b6000612c4b600083612c30565b9150612c5682612c3b565b600082019050919050565b6000612c6c82612c3e565b9150819050919050565b7f455448207472616e73666572206661696c656400000000000000000000000000600082015250565b6000612cac6013836125f6565b9150612cb782612c76565b602082019050919050565b60006020820190508181036000830152612cdb81612c9f565b9050919050565b7f5175657374206973206e6f742061637469766500000000000000000000000000600082015250565b6000612d186013836125f6565b9150612d2382612ce2565b602082019050919050565b60006020820190508181036000830152612d4781612d0b565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000612d888261215d565b9150612d938361215d565b9250828201905080821115612dab57612daa612d4e565b5b92915050565b7f496e73756666696369656e74207265776172642062616c616e63652e2052656460008201527f64696275637420796f75722071756573742e0000000000000000000000000000602082015250565b6000612e0d6032836125f6565b9150612e1882612db1565b604082019050919050565b60006020820190508181036000830152612e3c81612e00565b9050919050565b7f416c726561647920726577617264656400000000000000000000000000000000600082015250565b6000612e796010836125f6565b9150612e8482612e43565b602082019050919050565b60006020820190508181036000830152612ea881612e6c565b9050919050565b7f4d61782077696e6e657273206c696d6974207265616368656400000000000000600082015250565b6000612ee56019836125f6565b9150612ef082612eaf565b602082019050919050565b60006020820190508181036000830152612f1481612ed8565b9050919050565b6000604082019050612f306000830185612408565b612f3d6020830184612417565b9392505050565b6000602082019050612f596000830184612417565b92915050565b7f4e6f20746f6b656e7320746f2077697468647261770000000000000000000000600082015250565b6000612f956015836125f6565b9150612fa082612f5f565b602082019050919050565b60006020820190508181036000830152612fc481612f88565b9050919050565b7f496e73756666696369656e7420636f6e747261637420746f6b656e2062616c6160008201527f6e63650000000000000000000000000000000000000000000000000000000000602082015250565b60006130276023836125f6565b915061303282612fcb565b604082019050919050565b600060208201905081810360008301526130568161301a565b905091905056fea26469706673582212203921b59a178b83bcf60b2752def516249f46cbf06e9064570f6dcba47fe0309f64736f6c634300081a0033000000000000000000000000833589fcd6edb6e08f4c7c32d4f71b54bda02913