0 txs
0 calls
constructor
constructor(address defaultAdmin, address[] upgraders)
functions
DEFAULT_ADMIN_ROLE
viewfunction DEFAULT_ADMIN_ROLE() view returns (bytes32)
getRoleAdmin
viewfunction getRoleAdmin(bytes32 role) view returns (bytes32)
getRoleMember
viewfunction getRoleMember(bytes32 role, uint256 index) view returns (address)
getRoleMemberCount
viewfunction getRoleMemberCount(bytes32 role) view returns (uint256)
hasRole
viewfunction hasRole(bytes32 role, address account) view returns (bool)
SUPERTOKEN_DECIMALS
viewfunction SUPERTOKEN_DECIMALS() view returns (uint8)
supportedSuperTokens
viewfunction supportedSuperTokens(address) view returns (bool)
supportsInterface
viewfunction supportsInterface(bytes4 interfaceId) view returns (bool)
UPGRADER_ROLE
viewfunction UPGRADER_ROLE() view returns (bytes32)
addSuperToken
nonpayablefunction addSuperToken(address superToken)
addUpgrader
nonpayablefunction addUpgrader(address newUpgradeCaller)
downgrade
nonpayablefunction downgrade(address superToken, address account, uint256 amount)
grantRole
nonpayablefunction grantRole(bytes32 role, address account)
removeSuperToken
nonpayablefunction removeSuperToken(address superToken)
renounceRole
nonpayablefunction renounceRole(bytes32 role, address account)
revokeRole
nonpayablefunction revokeRole(bytes32 role, address account)
revokeUpgrader
nonpayablefunction revokeUpgrader(address oldUpgradeCaller)
upgrade
nonpayablefunction upgrade(address superToken, address account, uint256 amount)
events
RoleAdminChanged
event RoleAdminChanged(bytes32 indexed role, bytes32 indexed previousAdminRole, bytes32 indexed newAdminRole)
RoleGranted
event RoleGranted(bytes32 indexed role, address indexed account, address indexed sender)
RoleRevoked
event RoleRevoked(bytes32 indexed role, address indexed account, address indexed sender)
errors
ERC20TransferFromRevert
error ERC20TransferFromRevert()
ERC20TransferRevert
error ERC20TransferRevert()
OperationNotAllowed
error OperationNotAllowed()
SuperTokenNotSupported
error SuperTokenNotSupported()
SuperTokenNotUnderlying
error SuperTokenNotUnderlying()
ZeroAddress
error ZeroAddress()
creation bytecode
0x60806040523480156200001157600080fd5b5060405162002ed238038062002ed2833981810160405281019062000037919062000636565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036200009e576040517fd92e233d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b620000b36000801b83620001b260201b60201c565b60005b8151811015620001a957600073ffffffffffffffffffffffffffffffffffffffff16828281518110620000ee57620000ed6200069c565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff160362000144576040517fd92e233d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b620001937fc6b0943e8e99f31e7ac279c6c9af7b07e69ffcd86b03d3fa1924f61ae5413d118383815181106200017f576200017e6200069c565b5b6020026020010151620001b260201b60201c565b8080620001a09062000704565b915050620000b6565b50505062000751565b620001c48282620001c860201b60201c565b5050565b620001df82826200021060201b6200124b1760201c565b6200020b81600160008581526020019081526020016000206200030160201b6200132b1790919060201c565b505050565b6200022282826200033960201b60201c565b620002fd57600160008084815260200190815260200160002060000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550620002a2620003a360201b60201c565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45b5050565b600062000331836000018373ffffffffffffffffffffffffffffffffffffffff1660001b620003ab60201b60201c565b905092915050565b600080600084815260200190815260200160002060000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b600033905090565b6000620003bf83836200042560201b60201c565b6200041a5782600001829080600181540180825580915050600190039060005260206000200160009091909190915055826000018054905083600101600084815260200190815260200160002081905550600190506200041f565b600090505b92915050565b600080836001016000848152602001908152602001600020541415905092915050565b6000604051905090565b600080fd5b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600062000489826200045c565b9050919050565b6200049b816200047c565b8114620004a757600080fd5b50565b600081519050620004bb8162000490565b92915050565b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6200051182620004c6565b810181811067ffffffffffffffff82111715620005335762000532620004d7565b5b80604052505050565b60006200054862000448565b905062000556828262000506565b919050565b600067ffffffffffffffff821115620005795762000578620004d7565b5b602082029050602081019050919050565b600080fd5b6000620005a6620005a0846200055b565b6200053c565b90508083825260208201905060208402830185811115620005cc57620005cb6200058a565b5b835b81811015620005f95780620005e48882620004aa565b845260208401935050602081019050620005ce565b5050509392505050565b600082601f8301126200061b576200061a620004c1565b5b81516200062d8482602086016200058f565b91505092915050565b6000806040838503121562000650576200064f62000452565b5b60006200066085828601620004aa565b925050602083015167ffffffffffffffff81111562000684576200068362000457565b5b620006928582860162000603565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000819050919050565b60006200071182620006fa565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203620007465762000745620006cb565b5b600182019050919050565b61277180620007616000396000f3fe608060405234801561001057600080fd5b50600436106101165760003560e01c806383807889116100a2578063abbedca211610071578063abbedca2146102ed578063ca15c8731461030b578063d547741f1461033b578063e511015814610357578063f72c0d8b1461037357610116565b806383807889146102535780639010d07c1461026f57806391d148541461029f578063a217fddf146102cf57610116565b80632a197298116100e95780632a197298146101c75780632bf6e9ec146101e35780632f2ff15d146101ff57806336568abe1461021b5780637c8537801461023757610116565b806301ffc9a71461011b578063112382371461014b57806322c3a21f1461017b578063248a9ca314610197575b600080fd5b61013560048036038101906101309190611b89565b610391565b6040516101429190611bd1565b60405180910390f35b61016560048036038101906101609190611c5c565b61040b565b6040516101729190611bd1565b60405180910390f35b61019560048036038101906101909190611c5c565b61042b565b005b6101b160048036038101906101ac9190611cbf565b610570565b6040516101be9190611cfb565b60405180910390f35b6101e160048036038101906101dc9190611d78565b61058f565b005b6101fd60048036038101906101f89190611d78565b610af3565b005b61021960048036038101906102149190611dcb565b610f61565b005b61023560048036038101906102309190611dcb565b610f8a565b005b610251600480360381019061024c9190611e0b565b61100d565b005b61026d60048036038101906102689190611c5c565b61103a565b005b61028960048036038101906102849190611e38565b6110a2565b6040516102969190611e87565b60405180910390f35b6102b960048036038101906102b49190611dcb565b6110d1565b6040516102c69190611bd1565b60405180910390f35b6102d761113b565b6040516102e49190611cfb565b60405180910390f35b6102f5611142565b6040516103029190611ebe565b60405180910390f35b61032560048036038101906103209190611cbf565b611147565b6040516103329190611ee8565b60405180910390f35b61035560048036038101906103509190611dcb565b61116b565b005b610371600480360381019061036c9190611e0b565b611194565b005b61037b611227565b6040516103889190611cfb565b60405180910390f35b60007f5a05180f000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916148061040457506104038261135b565b5b9050919050565b60026020528060005260406000206000915054906101000a900460ff1681565b6000801b6104408161043b6113d5565b6113dd565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1663ee719bc86040518163ffffffff1660e01b8152600401602060405180830381865afa1580156104a3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104c79190611f18565b73ffffffffffffffffffffffffffffffffffffffff1603610514576040517f1f830e3100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b6000806000838152602001908152602001600020600101549050919050565b600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16610612576040517f3100e70900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8173ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415801561067557506106737fc6b0943e8e99f31e7ac279c6c9af7b07e69ffcd86b03d3fa1924f61ae5413d11336110d1565b155b156106ac576040517ff50a3b5200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008373ffffffffffffffffffffffffffffffffffffffff1663ee719bc86040518163ffffffff1660e01b8152600401602060405180830381865afa1580156106f9573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061071d9190611f18565b905060008473ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b815260040161075a9190611e87565b602060405180830381865afa158015610777573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061079b9190611f5a565b90508173ffffffffffffffffffffffffffffffffffffffff166323b872dd8530866040518463ffffffff1660e01b81526004016107da93929190611f87565b6020604051808303816000875af11580156107f9573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061081d9190611fea565b610853576040517f47a5f7fc00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8173ffffffffffffffffffffffffffffffffffffffff1663095ea7b386856040518363ffffffff1660e01b815260040161088e929190612017565b6020604051808303816000875af11580156108ad573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108d19190611fea565b508473ffffffffffffffffffffffffffffffffffffffff166345977d03610966858573ffffffffffffffffffffffffffffffffffffffff1663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa15801561093d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610961919061206c565b61147a565b6040518263ffffffff1660e01b81526004016109829190611ee8565b600060405180830381600087803b15801561099c57600080fd5b505af11580156109b0573d6000803e3d6000fd5b505050508473ffffffffffffffffffffffffffffffffffffffff1663a9059cbb85838873ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401610a0b9190611e87565b602060405180830381865afa158015610a28573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a4c9190611f5a565b610a5691906120c8565b6040518363ffffffff1660e01b8152600401610a73929190612017565b6020604051808303816000875af1158015610a92573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ab69190611fea565b610aec576040517f22c5e6d100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5050505050565b600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16610b76576040517f3100e70900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8173ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614158015610bd95750610bd77fc6b0943e8e99f31e7ac279c6c9af7b07e69ffcd86b03d3fa1924f61ae5413d11336110d1565b155b15610c10576040517ff50a3b5200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8273ffffffffffffffffffffffffffffffffffffffff166323b872dd8330846040518463ffffffff1660e01b8152600401610c4d93929190611f87565b6020604051808303816000875af1158015610c6c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c909190611fea565b610cc6576040517f47a5f7fc00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008373ffffffffffffffffffffffffffffffffffffffff1663ee719bc86040518163ffffffff1660e01b8152600401602060405180830381865afa158015610d13573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d379190611f18565b905060008173ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401610d749190611e87565b602060405180830381865afa158015610d91573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610db59190611f5a565b90508473ffffffffffffffffffffffffffffffffffffffff166311bcc81e846040518263ffffffff1660e01b8152600401610df09190611ee8565b600060405180830381600087803b158015610e0a57600080fd5b505af1158015610e1e573d6000803e3d6000fd5b505050508173ffffffffffffffffffffffffffffffffffffffff1663a9059cbb85838573ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401610e799190611e87565b602060405180830381865afa158015610e96573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610eba9190611f5a565b610ec491906120c8565b6040518363ffffffff1660e01b8152600401610ee1929190612017565b6020604051808303816000875af1158015610f00573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f249190611fea565b610f5a576040517f22c5e6d100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5050505050565b610f6a82610570565b610f7b81610f766113d5565b6113dd565b610f8583836114fb565b505050565b610f926113d5565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614610fff576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ff69061217f565b60405180910390fd5b611009828261152f565b5050565b6110377fc6b0943e8e99f31e7ac279c6c9af7b07e69ffcd86b03d3fa1924f61ae5413d118261116b565b50565b6000801b61104f8161104a6113d5565b6113dd565b600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81549060ff02191690555050565b60006110c9826001600086815260200190815260200160002061156390919063ffffffff16565b905092915050565b600080600084815260200190815260200160002060000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b6000801b81565b601281565b60006111646001600084815260200190815260200160002061157d565b9050919050565b61117482610570565b611185816111806113d5565b6113dd565b61118f838361152f565b505050565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036111fa576040517ff50a3b5200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6112247fc6b0943e8e99f31e7ac279c6c9af7b07e69ffcd86b03d3fa1924f61ae5413d1182610f61565b50565b7fc6b0943e8e99f31e7ac279c6c9af7b07e69ffcd86b03d3fa1924f61ae5413d1181565b61125582826110d1565b61132757600160008084815260200190815260200160002060000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506112cc6113d5565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45b5050565b6000611353836000018373ffffffffffffffffffffffffffffffffffffffff1660001b611592565b905092915050565b60007f7965db0b000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614806113ce57506113cd82611602565b5b9050919050565b600033905090565b6113e782826110d1565b6114765761140c8173ffffffffffffffffffffffffffffffffffffffff16601461166c565b61141a8360001c602061166c565b60405160200161142b9291906122b1565b6040516020818303038152906040526040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161146d9190612335565b60405180910390fd5b5050565b6000601260ff168260ff1610156114b6578160126114989190612357565b600a6114a491906124be565b836114af9190612509565b90506114f5565b601260ff168260ff1611156114f0576012826114d29190612357565b600a6114de91906124be565b836114e99190612592565b90506114f4565b8290505b5b92915050565b611505828261124b565b61152a816001600085815260200190815260200160002061132b90919063ffffffff16565b505050565b61153982826118a8565b61155e816001600085815260200190815260200160002061198990919063ffffffff16565b505050565b600061157283600001836119b9565b60001c905092915050565b600061158b826000016119e4565b9050919050565b600061159e83836119f5565b6115f75782600001829080600181540180825580915050600190039060005260206000200160009091909190915055826000018054905083600101600084815260200190815260200160002081905550600190506115fc565b600090505b92915050565b60007f01ffc9a7000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916149050919050565b60606000600283600261167f9190612509565b61168991906125c3565b67ffffffffffffffff8111156116a2576116a1612619565b5b6040519080825280601f01601f1916602001820160405280156116d45781602001600182028036833780820191505090505b5090507f30000000000000000000000000000000000000000000000000000000000000008160008151811061170c5761170b612648565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a9053507f7800000000000000000000000000000000000000000000000000000000000000816001815181106117705761176f612648565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a905350600060018460026117b09190612509565b6117ba91906125c3565b90505b600181111561185a577f3031323334353637383961626364656600000000000000000000000000000000600f8616601081106117fc576117fb612648565b5b1a60f81b82828151811061181357611812612648565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a905350600485901c94508061185390612677565b90506117bd565b506000841461189e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611895906126ec565b60405180910390fd5b8091505092915050565b6118b282826110d1565b1561198557600080600084815260200190815260200160002060000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555061192a6113d5565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16837ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b60405160405180910390a45b5050565b60006119b1836000018373ffffffffffffffffffffffffffffffffffffffff1660001b611a18565b905092915050565b60008260000182815481106119d1576119d0612648565b5b9060005260206000200154905092915050565b600081600001805490509050919050565b600080836001016000848152602001908152602001600020541415905092915050565b60008083600101600084815260200190815260200160002054905060008114611b20576000600182611a4a91906120c8565b9050600060018660000180549050611a6291906120c8565b9050818114611ad1576000866000018281548110611a8357611a82612648565b5b9060005260206000200154905080876000018481548110611aa757611aa6612648565b5b90600052602060002001819055508387600101600083815260200190815260200160002081905550505b85600001805480611ae557611ae461270c565b5b600190038181906000526020600020016000905590558560010160008681526020019081526020016000206000905560019350505050611b26565b60009150505b92915050565b600080fd5b60007fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b611b6681611b31565b8114611b7157600080fd5b50565b600081359050611b8381611b5d565b92915050565b600060208284031215611b9f57611b9e611b2c565b5b6000611bad84828501611b74565b91505092915050565b60008115159050919050565b611bcb81611bb6565b82525050565b6000602082019050611be66000830184611bc2565b92915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000611c1782611bec565b9050919050565b6000611c2982611c0c565b9050919050565b611c3981611c1e565b8114611c4457600080fd5b50565b600081359050611c5681611c30565b92915050565b600060208284031215611c7257611c71611b2c565b5b6000611c8084828501611c47565b91505092915050565b6000819050919050565b611c9c81611c89565b8114611ca757600080fd5b50565b600081359050611cb981611c93565b92915050565b600060208284031215611cd557611cd4611b2c565b5b6000611ce384828501611caa565b91505092915050565b611cf581611c89565b82525050565b6000602082019050611d106000830184611cec565b92915050565b611d1f81611c0c565b8114611d2a57600080fd5b50565b600081359050611d3c81611d16565b92915050565b6000819050919050565b611d5581611d42565b8114611d6057600080fd5b50565b600081359050611d7281611d4c565b92915050565b600080600060608486031215611d9157611d90611b2c565b5b6000611d9f86828701611c47565b9350506020611db086828701611d2d565b9250506040611dc186828701611d63565b9150509250925092565b60008060408385031215611de257611de1611b2c565b5b6000611df085828601611caa565b9250506020611e0185828601611d2d565b9150509250929050565b600060208284031215611e2157611e20611b2c565b5b6000611e2f84828501611d2d565b91505092915050565b60008060408385031215611e4f57611e4e611b2c565b5b6000611e5d85828601611caa565b9250506020611e6e85828601611d63565b9150509250929050565b611e8181611c0c565b82525050565b6000602082019050611e9c6000830184611e78565b92915050565b600060ff82169050919050565b611eb881611ea2565b82525050565b6000602082019050611ed36000830184611eaf565b92915050565b611ee281611d42565b82525050565b6000602082019050611efd6000830184611ed9565b92915050565b600081519050611f1281611d16565b92915050565b600060208284031215611f2e57611f2d611b2c565b5b6000611f3c84828501611f03565b91505092915050565b600081519050611f5481611d4c565b92915050565b600060208284031215611f7057611f6f611b2c565b5b6000611f7e84828501611f45565b91505092915050565b6000606082019050611f9c6000830186611e78565b611fa96020830185611e78565b611fb66040830184611ed9565b949350505050565b611fc781611bb6565b8114611fd257600080fd5b50565b600081519050611fe481611fbe565b92915050565b60006020828403121561200057611fff611b2c565b5b600061200e84828501611fd5565b91505092915050565b600060408201905061202c6000830185611e78565b6120396020830184611ed9565b9392505050565b61204981611ea2565b811461205457600080fd5b50565b60008151905061206681612040565b92915050565b60006020828403121561208257612081611b2c565b5b600061209084828501612057565b91505092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60006120d382611d42565b91506120de83611d42565b9250828210156120f1576120f0612099565b5b828203905092915050565b600082825260208201905092915050565b7f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560008201527f20726f6c657320666f722073656c660000000000000000000000000000000000602082015250565b6000612169602f836120fc565b91506121748261210d565b604082019050919050565b600060208201905081810360008301526121988161215c565b9050919050565b600081905092915050565b7f416363657373436f6e74726f6c3a206163636f756e7420000000000000000000600082015250565b60006121e060178361219f565b91506121eb826121aa565b601782019050919050565b600081519050919050565b60005b8381101561221f578082015181840152602081019050612204565b8381111561222e576000848401525b50505050565b600061223f826121f6565b612249818561219f565b9350612259818560208601612201565b80840191505092915050565b7f206973206d697373696e6720726f6c6520000000000000000000000000000000600082015250565b600061229b60118361219f565b91506122a682612265565b601182019050919050565b60006122bc826121d3565b91506122c88285612234565b91506122d38261228e565b91506122df8284612234565b91508190509392505050565b6000601f19601f8301169050919050565b6000612307826121f6565b61231181856120fc565b9350612321818560208601612201565b61232a816122eb565b840191505092915050565b6000602082019050818103600083015261234f81846122fc565b905092915050565b600061236282611ea2565b915061236d83611ea2565b9250828210156123805761237f612099565b5b828203905092915050565b60008160011c9050919050565b6000808291508390505b60018511156123e2578086048111156123be576123bd612099565b5b60018516156123cd5780820291505b80810290506123db8561238b565b94506123a2565b94509492505050565b6000826123fb57600190506124b7565b8161240957600090506124b7565b816001811461241f576002811461242957612458565b60019150506124b7565b60ff84111561243b5761243a612099565b5b8360020a91508482111561245257612451612099565b5b506124b7565b5060208310610133831016604e8410600b841016171561248d5782820a90508381111561248857612487612099565b5b6124b7565b61249a8484846001612398565b925090508184048111156124b1576124b0612099565b5b81810290505b9392505050565b60006124c982611d42565b91506124d483611ea2565b92506125017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff84846123eb565b905092915050565b600061251482611d42565b915061251f83611d42565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff048311821515161561255857612557612099565b5b828202905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600061259d82611d42565b91506125a883611d42565b9250826125b8576125b7612563565b5b828204905092915050565b60006125ce82611d42565b91506125d983611d42565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0382111561260e5761260d612099565b5b828201905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600061268282611d42565b91506000820361269557612694612099565b5b600182039050919050565b7f537472696e67733a20686578206c656e67746820696e73756666696369656e74600082015250565b60006126d66020836120fc565b91506126e1826126a0565b602082019050919050565b60006020820190508181036000830152612705816126c9565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603160045260246000fdfea264697066735822122086f63bd9ba365760e31d407b461dbdd88a90438b9649042f7fffccdacf6fff4864736f6c634300080d0033000000000000000000000000a67e5e25dbea60e843dde146f4518f69e23bbe7800000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000001000000000000000000000000552008c0f6870c2f77e5cc1d2eb9bdff03e30ea0