5 txs
7 calls
constructor
constructor(address _finder, (address admin, address maintainer) _roles)
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)
getSyntheticTokens
viewfunction getSyntheticTokens() view returns (string[])
hasRole
viewfunction hasRole(bytes32 role, address account) view returns (bool)
MAINTAINER_ROLE
viewfunction MAINTAINER_ROLE() view returns (bytes32)
stakedToken
viewfunction stakedToken(string _tokenSymbol) view returns (address)
supportsInterface
viewfunction supportsInterface(bytes4 interfaceId) view returns (bool)
synthereumFinder
viewfunction synthereumFinder() view returns (address)
createStakedToken
nonpayablefunction createStakedToken(address _jAsset, address _asset, string _tokenName, string _tokenSymbol) returns (address stakedTokenContract)
grantRole
nonpayablefunction grantRole(bytes32 role, address account)
renounceRole
nonpayablefunction renounceRole(bytes32 role, address account)
revokeRole
nonpayablefunction revokeRole(bytes32 role, address account)
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)
StakedTokenCreated
event StakedTokenCreated(address indexed jAsset, address indexed asset, address indexed stakedToken)
errors
No errors.
creation bytecode
0x60a06040523480156200001157600080fd5b50604051620044963803806200449683398101604081905262000034916200026f565b60016000556001600160a01b038216608052805162000053906200006b565b6020810151620000639062000088565b50506200030d565b62000078600080620000bf565b620000856000826200010c565b50565b620000a4600080516020620044768339815191526000620000bf565b6200008560008051602062004476833981519152826200010c565b6000828152600160208190526040808320909101805490849055905190918391839186917fbd79b86ffe0ab8e8776151514217cd7cacd52c909f66475c3af44e129f0b00ff9190a4505050565b6200012382826200014f60201b620008571760201c565b60008281526002602090815260409091206200014a918390620008676200015f821b17901c565b505050565b6200015b82826200017f565b5050565b600062000176836001600160a01b03841662000207565b90505b92915050565b60008281526001602090815260408083206001600160a01b038516845290915290205460ff166200015b5760008281526001602081815260408084206001600160a01b0386168086529252808420805460ff19169093179092559051339285917f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d9190a45050565b6000818152600183016020526040812054620002505750815460018181018455600084815260208082209093018490558454848252828601909352604090209190915562000179565b50600062000179565b6001600160a01b03811681146200008557600080fd5b60008082840360608112156200028457600080fd5b8351620002918162000259565b92506040601f1982011215620002a657600080fd5b50604080519081016001600160401b0381118282101715620002d857634e487b7160e01b600052604160045260246000fd5b6040526020840151620002eb8162000259565b81526040840151620002fd8162000259565b6020820152919491935090915050565b608051614146620003306000396000818161025f015261056901526141466000f3fe60806040523480156200001157600080fd5b5060043610620000fd5760003560e01c80639010d07c1162000097578063ca15c873116200006e578063ca15c873146200022b578063d547741f1462000242578063f6bf3ef61462000259578063f8742254146200028157600080fd5b80639010d07c14620001f457806391d14854146200020b578063a217fddf146200022257600080fd5b80632f2ff15d11620000d85780632f2ff15d146200019457806336568abe14620001ad57806364bc014614620001c4578063681390e614620001db57600080fd5b806301ffc9a71462000102578063248a9ca3146200012e5780632eb1e2e31462000164575b600080fd5b620001196200011336600462001016565b620002a9565b60405190151581526020015b60405180910390f35b620001556200013f36600462001042565b6000908152600160208190526040909120015490565b60405190815260200162000125565b6200017b6200017536600462001146565b620002d7565b6040516001600160a01b03909116815260200162000125565b620001ab620001a5366004620011da565b6200064c565b005b620001ab620001be366004620011da565b62000677565b6200017b620001d53660046200120d565b6200069d565b620001e562000725565b604051620001259190620012e5565b6200017b620002053660046200134b565b620007ed565b620001196200021c366004620011da565b62000807565b62000155600081565b620001556200023c36600462001042565b62000832565b620001ab62000253366004620011da565b6200084b565b6200017b7f000000000000000000000000000000000000000000000000000000000000000081565b620001557f126303c860ea810f85e857ad8768056e2eebc24b7796655ff3107e4af18e3f1e81565b60006001600160e01b03198216635a05180f60e01b1480620002d15750620002d1826200087e565b92915050565b6000620003057f126303c860ea810f85e857ad8768056e2eebc24b7796655ff3107e4af18e3f1e3362000807565b620003575760405162461bcd60e51b815260206004820152601d60248201527f53656e646572206d75737420626520746865206d61696e7461696e657200000060448201526064015b60405180910390fd5b60026000541415620003ac5760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c0060448201526064016200034e565b6002600081905550836001600160a01b031663ee719bc86040518163ffffffff1660e01b815260040160206040518083038186803b158015620003ee57600080fd5b505afa15801562000403573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200042991906200136e565b6001600160a01b0316856001600160a01b031614620004845760405162461bcd60e51b81526020600482015260166024820152752bb937b733903ab73232b9363cb4b733903a37b5b2b760511b60448201526064016200034e565b6000856001600160a01b03166395d89b416040518163ffffffff1660e01b815260040160006040518083038186803b158015620004c057600080fd5b505afa158015620004d5573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052620004ff91908101906200138e565b9050620005196200051082620008b5565b60049062000928565b620005675760405162461bcd60e51b815260206004820152601c60248201527f5374616b656420746f6b656e20616c726561647920637265617465640000000060448201526064016200034e565b7f0000000000000000000000000000000000000000000000000000000000000000848487604051620005999062001008565b620005a894939291906200140e565b604051809103906000f080158015620005c5573d6000803e3d6000fd5b509150600082905080600383604051620005e091906200145b565b90815260405190819003602001812080546001600160a01b039384166001600160a01b03199091161790558282169188811691908a16907fa9b630e452ffef86e8987aaf1ff34d8a2edee13a9ff16e3bb154e7648365d5e690600090a450506001600055949350505050565b62000658828262000936565b600082815260026020526040902062000672908262000867565b505050565b62000683828262000961565b6000828152600260205260409020620006729082620009df565b60008060038484604051620006b492919062001479565b908152604051908190036020019020546001600160a01b03169050806200071e5760405162461bcd60e51b815260206004820152601a60248201527f5374616b656420746f6b656e206e6f7420737570706f7274656400000000000060448201526064016200034e565b9392505050565b60606000620007356004620009f6565b905060008167ffffffffffffffff81111562000755576200075562001075565b6040519080825280602002602001820160405280156200078a57816020015b6060815260200190600190039081620007745790505b50905060005b82811015620007e657620007b0620007aa60048362000a01565b62000a0f565b828281518110620007c557620007c562001489565b60200260200101819052508080620007dd90620014b5565b91505062000790565b5092915050565b60008281526002602052604081206200071e908362000a01565b60009182526001602090815260408084206001600160a01b0393909316845291905290205460ff1690565b6000818152600260205260408120620002d190620009f6565b62000683828262000b59565b62000863828262000b84565b5050565b60006200071e836001600160a01b03841662000bf2565b60006001600160e01b03198216637965db0b60e01b1480620002d157506301ffc9a760e01b6001600160e01b0319831614620002d1565b80516000908290620008ca5750600092915050565b6020815111156200091e5760405162461bcd60e51b815260206004820152601b60248201527f4279746573206c656e67746820626967676572207468616e203332000000000060448201526064016200034e565b6020015192915050565b60006200071e838362000bf2565b6000828152600160208190526040909120015462000955813362000c44565b62000672838362000b84565b6001600160a01b0381163314620009d35760405162461bcd60e51b815260206004820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201526e103937b632b9903337b91039b2b63360891b60648201526084016200034e565b62000863828262000cb3565b60006200071e836001600160a01b03841662000d1d565b6000620002d1825490565b60006200071e838362000e21565b606060005b60208160ff1610801562000a4c5750828160ff166020811062000a3b5762000a3b62001489565b1a60f81b6001600160f81b03191615155b1562000a67578062000a5e81620014d3565b91505062000a14565b60008160ff1667ffffffffffffffff81111562000a885762000a8862001075565b6040519080825280601f01601f19166020018201604052801562000ab3576020820181803683370190505b509050600091505b60208260ff1610801562000af35750838260ff166020811062000ae25762000ae262001489565b1a60f81b6001600160f81b03191615155b156200071e57838260ff166020811062000b115762000b1162001489565b1a60f81b818360ff168151811062000b2d5762000b2d62001489565b60200101906001600160f81b031916908160001a9053508162000b5081620014d3565b92505062000abb565b6000828152600160208190526040909120015462000b78813362000c44565b62000672838362000cb3565b62000b90828262000807565b620008635760008281526001602081815260408084206001600160a01b0386168086529252808420805460ff19169093179092559051339285917f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d9190a45050565b600081815260018301602052604081205462000c3b57508154600181810184556000848152602080822090930184905584548482528286019093526040902091909155620002d1565b506000620002d1565b62000c50828262000807565b620008635762000c6b816001600160a01b0316601462000e4e565b62000c7883602062000e4e565b60405160200162000c8b929190620014f6565b60408051601f198184030181529082905262461bcd60e51b82526200034e916004016200156f565b62000cbf828262000807565b15620008635760008281526001602090815260408083206001600160a01b0385168085529252808320805460ff1916905551339285917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a45050565b6000818152600183016020526040812054801562000e1657600062000d4460018362001584565b855490915060009062000d5a9060019062001584565b905081811462000dc657600086600001828154811062000d7e5762000d7e62001489565b906000526020600020015490508087600001848154811062000da45762000da462001489565b6000918252602080832090910192909255918252600188019052604090208390555b855486908062000dda5762000dda6200159e565b600190038181906000526020600020016000905590558560010160008681526020019081526020016000206000905560019350505050620002d1565b6000915050620002d1565b600082600001828154811062000e3b5762000e3b62001489565b9060005260206000200154905092915050565b6060600062000e5f836002620015b4565b62000e6c906002620015d6565b67ffffffffffffffff81111562000e875762000e8762001075565b6040519080825280601f01601f19166020018201604052801562000eb2576020820181803683370190505b509050600360fc1b8160008151811062000ed05762000ed062001489565b60200101906001600160f81b031916908160001a905350600f60fb1b8160018151811062000f025762000f0262001489565b60200101906001600160f81b031916908160001a905350600062000f28846002620015b4565b62000f35906001620015d6565b90505b600181111562000fb7576f181899199a1a9b1b9c1cb0b131b232b360811b85600f166010811062000f6d5762000f6d62001489565b1a60f81b82828151811062000f865762000f8662001489565b60200101906001600160f81b031916908160001a90535060049490941c9362000faf81620015f1565b905062000f38565b5083156200071e5760405162461bcd60e51b815260206004820181905260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e7460448201526064016200034e565b612b05806200160c83390190565b6000602082840312156200102957600080fd5b81356001600160e01b0319811681146200071e57600080fd5b6000602082840312156200105557600080fd5b5035919050565b6001600160a01b03811681146200107257600080fd5b50565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff81118282101715620010b757620010b762001075565b604052919050565b600067ffffffffffffffff821115620010dc57620010dc62001075565b50601f01601f191660200190565b600082601f830112620010fc57600080fd5b8135620011136200110d82620010bf565b6200108b565b8181528460208386010111156200112957600080fd5b816020850160208301376000918101602001919091529392505050565b600080600080608085870312156200115d57600080fd5b84356200116a816200105c565b935060208501356200117c816200105c565b9250604085013567ffffffffffffffff808211156200119a57600080fd5b620011a888838901620010ea565b93506060870135915080821115620011bf57600080fd5b50620011ce87828801620010ea565b91505092959194509250565b60008060408385031215620011ee57600080fd5b82359150602083013562001202816200105c565b809150509250929050565b600080602083850312156200122157600080fd5b823567ffffffffffffffff808211156200123a57600080fd5b818501915085601f8301126200124f57600080fd5b8135818111156200125f57600080fd5b8660208285010111156200127257600080fd5b60209290920196919550909350505050565b60005b83811015620012a157818101518382015260200162001287565b83811115620012b1576000848401525b50505050565b60008151808452620012d181602086016020860162001284565b601f01601f19169290920160200192915050565b6000602080830181845280855180835260408601915060408160051b870101925083870160005b828110156200133e57603f198886030184526200132b858351620012b7565b945092850192908501906001016200130c565b5092979650505050505050565b600080604083850312156200135f57600080fd5b50508035926020909101359150565b6000602082840312156200138157600080fd5b81516200071e816200105c565b600060208284031215620013a157600080fd5b815167ffffffffffffffff811115620013b957600080fd5b8201601f81018413620013cb57600080fd5b8051620013dc6200110d82620010bf565b818152856020838501011115620013f257600080fd5b6200140582602083016020860162001284565b95945050505050565b600060018060a01b03808716835260806020840152620014326080840187620012b7565b8381036040850152620014468187620012b7565b92505080841660608401525095945050505050565b600082516200146f81846020870162001284565b9190910192915050565b8183823760009101908152919050565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b6000600019821415620014cc57620014cc6200149f565b5060010190565b600060ff821660ff811415620014ed57620014ed6200149f565b60010192915050565b7f416363657373436f6e74726f6c3a206163636f756e74200000000000000000008152600083516200153081601785016020880162001284565b7001034b99036b4b9b9b4b733903937b6329607d1b60179184019182015283516200156381602884016020880162001284565b01602801949350505050565b6020815260006200071e6020830184620012b7565b6000828210156200159957620015996200149f565b500390565b634e487b7160e01b600052603160045260246000fd5b6000816000190483118215151615620015d157620015d16200149f565b500290565b60008219821115620015ec57620015ec6200149f565b500190565b6000816200160357620016036200149f565b50600019019056fe6101c06040527f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c9610120523480156200003757600080fd5b5060405162002b0538038062002b058339810160408190526200005a91620005ac565b808380604051806040016040528060018152602001603160f81b815250868681600390805190602001906200009192919062000420565b508051620000a790600490602084019062000420565b5050825160209384012082519284019290922060c083815260e08290524660a0818152604080517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f818a018190528183019890985260608101959095526080808601939093523085830152805180860390920182529390920190925280519401939093209092526101005250506001600160a01b038116620001905760405162461bcd60e51b815260206004820152601360248201527f4e6f20756e6465726c79696e672061737365740000000000000000000000000060448201526064015b60405180910390fd5b6001600160a01b0381166101408190526040805163313ce56760e01b8152905163313ce56791600480820192602092909190829003018186803b158015620001d757600080fd5b505afa158015620001ec573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000212919062000640565b60ff166101608190526012146200026c5760405162461bcd60e51b815260206004820152601f60248201527f57726f6e6720756e6465726c79696e6720617373657420646563696d616c7300604482015260640162000187565b50836001600160a01b0316610180816001600160a01b031681525050806001600160a01b031663ee719bc86040518163ffffffff1660e01b815260040160206040518083038186803b158015620002c257600080fd5b505afa158015620002d7573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002fd91906200066c565b6001600160a01b03166101a08190526200034d5760405162461bcd60e51b815260206004820152601060248201526f139bc81ddc985c1c195908185cdcd95d60821b604482015260640162000187565b806001600160a01b03166392081a476040518163ffffffff1660e01b815260040160206040518083038186803b1580156200038757600080fd5b505afa1580156200039c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620003c2919062000640565b60ff16601214620004165760405162461bcd60e51b815260206004820152601c60248201527f57726f6e67207772617070656420617373657420646563696d616c7300000000604482015260640162000187565b50505050620006c9565b8280546200042e906200068c565b90600052602060002090601f0160209004810192826200045257600085556200049d565b82601f106200046d57805160ff19168380011785556200049d565b828001600101855582156200049d579182015b828111156200049d57825182559160200191906001019062000480565b50620004ab929150620004af565b5090565b5b80821115620004ab5760008155600101620004b0565b6001600160a01b0381168114620004dc57600080fd5b50565b634e487b7160e01b600052604160045260246000fd5b600082601f8301126200050757600080fd5b81516001600160401b0380821115620005245762000524620004df565b604051601f8301601f19908116603f011681019082821181831017156200054f576200054f620004df565b816040528381526020925086838588010111156200056c57600080fd5b600091505b8382101562000590578582018301518183018401529082019062000571565b83821115620005a25760008385830101525b9695505050505050565b60008060008060808587031215620005c357600080fd5b8451620005d081620004c6565b60208601519094506001600160401b0380821115620005ee57600080fd5b620005fc88838901620004f5565b945060408701519150808211156200061357600080fd5b506200062287828801620004f5565b92505060608501516200063581620004c6565b939692955090935050565b6000602082840312156200065357600080fd5b815160ff811681146200066557600080fd5b9392505050565b6000602082840312156200067f57600080fd5b81516200066581620004c6565b600181811c90821680620006a157607f821691505b60208210811415620006c357634e487b7160e01b600052602260045260246000fd5b50919050565b60805160a05160c05160e05161010051610120516101405161016051610180516101a05161238162000784600039600081816104800152818161120a015261123f0152600081816104e201526107ff015260006107520152600081816102ce0152818161051c015281816109910152818161117e015281816112610152818161129c015261139701526000610bf0015260006110dc0152600061112b015260006111060152600061108a015260006110b301526123816000f3fe608060405234801561001057600080fd5b50600436106102115760003560e01c80638e66703611610125578063c63d75b6116100ad578063d905777e1161007c578063d905777e1461046b578063d9a1836a1461047e578063dd62ed3e146104a4578063ef8b30f714610430578063f6bf3ef6146104dd57600080fd5b8063c63d75b614610319578063c6e6f59214610430578063ce96cb7714610443578063d505accf1461045657600080fd5b8063a457c2d7116100f4578063a457c2d7146103d1578063a9059cbb146103e4578063b3d7f6b9146103f7578063b460af941461040a578063ba0876521461041d57600080fd5b80638e6670361461039057806394bf804d146103a357806395d89b41146103b6578063a414a28d146103be57600080fd5b80633644e515116101a85780634cdad506116101775780634cdad50614610246578063572b6c051461032e5780636e553f651461034157806370a08231146103545780637ecebe001461037d57600080fd5b80633644e515146102c457806338d52e0f146102cc5780633950935114610306578063402d267d1461031957600080fd5b80630a28a477116101e45780630a28a4771461027c57806318160ddd1461028f57806323b872dd14610297578063313ce567146102aa57600080fd5b806301e1d1141461021657806306fdde031461023157806307a2d13a14610246578063095ea7b314610259575b600080fd5b61021e610504565b6040519081526020015b60405180910390f35b6102396105a3565b6040516102289190611ea2565b61021e610254366004611ed5565b610635565b61026c610267366004611f03565b610648565b6040519015158152602001610228565b61021e61028a366004611ed5565b610665565b60025461021e565b61026c6102a5366004611f2f565b610672565b6102b261074a565b60405160ff9091168152602001610228565b61021e610776565b7f00000000000000000000000000000000000000000000000000000000000000005b6040516001600160a01b039091168152602001610228565b61026c610314366004611f03565b610780565b61021e610327366004611f70565b5060001990565b61026c61033c366004611f70565b6107d4565b61021e61034f366004611f8d565b6108b7565b61021e610362366004611f70565b6001600160a01b031660009081526020819052604090205490565b61021e61038b366004611f70565b6108e4565b61021e61039e366004611f8d565b610902565b61021e6103b1366004611f8d565b610927565b61023961094c565b61021e6103cc366004611fbd565b61095b565b61026c6103df366004611f03565b6109f6565b61026c6103f2366004611f03565b610a6f565b61021e610405366004611ed5565b610a83565b61021e610418366004611fbd565b610a90565b61021e61042b366004611fbd565b610b02565b61021e61043e366004611ed5565b610b6b565b61021e610451366004611f70565b610b78565b610469610464366004611fff565b610b9c565b005b61021e610479366004611f70565b610d00565b7f00000000000000000000000000000000000000000000000000000000000000006102ee565b61021e6104b2366004612076565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b6102ee7f000000000000000000000000000000000000000000000000000000000000000081565b6040516370a0823160e01b81523060048201526000907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906370a082319060240160206040518083038186803b15801561056657600080fd5b505afa15801561057a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061059e91906120a4565b905090565b6060600380546105b2906120bd565b80601f01602080910402602001604051908101604052809291908181526020018280546105de906120bd565b801561062b5780601f106106005761010080835404028352916020019161062b565b820191906000526020600020905b81548152906001019060200180831161060e57829003601f168201915b5050505050905090565b6000610642826000610d1e565b92915050565b600061065c610655610d58565b8484610d62565b50600192915050565b6000610642826001610e86565b600061067f848484610eb6565b6001600160a01b0384166000908152600160205260408120816106a0610d58565b6001600160a01b03166001600160a01b03168152602001908152602001600020549050828110156107295760405162461bcd60e51b815260206004820152602860248201527f45524332303a207472616e7366657220616d6f756e74206578636565647320616044820152676c6c6f77616e636560c01b60648201526084015b60405180910390fd5b61073d85610735610d58565b858403610d62565b60019150505b9392505050565b600061059e817f0000000000000000000000000000000000000000000000000000000000000000612108565b600061059e611086565b600061065c61078d610d58565b84846001600061079b610d58565b6001600160a01b03908116825260208083019390935260409182016000908120918b16815292529020546107cf919061212d565b610d62565b6040516302abf57960e61b81526f2a393ab9ba32b22337b93bb0b93232b960811b60048201526000907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063aafd5e409060240160206040518083038186803b15801561084957600080fd5b505afa925050508015610879575060408051601f3d908101601f1916820190925261087691810190612145565b60015b61088557506000919050565b806001600160a01b0316836001600160a01b031614156108a85750600192915050565b50600092915050565b50919050565b600060001960006108c785610b6b565b90506108dc6108d4610d58565b858784611179565b949350505050565b6001600160a01b038116600090815260056020526040812054610642565b6000600019600061091285610b6b565b90506108dc61091f610d58565b8587846111fd565b6000600019600061093785610a83565b90506108dc610944610d58565b858388611179565b6060600480546105b2906120bd565b6000610968843084610b02565b6040516383ba252560e01b81526001600160a01b038581166004830152602482018390529192507f0000000000000000000000000000000000000000000000000000000000000000909116906383ba252590604401600060405180830381600087803b1580156109d757600080fd5b505af11580156109eb573d6000803e3d6000fd5b505050509392505050565b60008060016000610a05610d58565b6001600160a01b0390811682526020808301939093526040918201600090812091881681529252902054905082811015610a515760405162461bcd60e51b815260040161072090612162565b610a65610a5c610d58565b85858403610d62565b5060019392505050565b600061065c610a7c610d58565b8484610eb6565b6000610642826001610d1e565b600080610a9c83610b78565b905080851115610ad857604051633fa733bb60e21b81526001600160a01b03841660048201526024810186905260448101829052606401610720565b6000610ae386610665565b9050610af9610af0610d58565b8686898561130a565b95945050505050565b600080610b0e83610d00565b905080851115610b4a57604051632e52afbb60e21b81526001600160a01b03841660048201526024810186905260448101829052606401610720565b6000610b5586610635565b9050610af9610b62610d58565b8686848a61130a565b6000610642826000610e86565b6001600160a01b038116600090815260208190526040812054610642906000610d1e565b83421115610bec5760405162461bcd60e51b815260206004820152601d60248201527f45524332305065726d69743a206578706972656420646561646c696e650000006044820152606401610720565b60007f0000000000000000000000000000000000000000000000000000000000000000888888610c1b8c611424565b6040805160208101969096526001600160a01b0394851690860152929091166060840152608083015260a082015260c0810186905260e0016040516020818303038152906040528051906020012090506000610c768261144a565b90506000610c8682878787611498565b9050896001600160a01b0316816001600160a01b031614610ce95760405162461bcd60e51b815260206004820152601e60248201527f45524332305065726d69743a20696e76616c6964207369676e617475726500006044820152606401610720565b610cf48a8a8a610d62565b50505050505050505050565b6001600160a01b038116600090815260208190526040812054610642565b6000610743610d2b610504565b610d3690600161212d565b610d426000600a61228b565b600254610d4f919061212d565b859190856114c0565b600061059e611511565b6001600160a01b038316610dc45760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610720565b6001600160a01b038216610e255760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610720565b6001600160a01b0383811660008181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6000610743610e9682600a61228b565b600254610ea3919061212d565b610eab610504565b610d4f90600161212d565b6001600160a01b038316610f1a5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610720565b6001600160a01b038216610f7c5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610720565b6001600160a01b03831660009081526020819052604090205481811015610ff45760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b6064820152608401610720565b6001600160a01b0380851660009081526020819052604080822085850390559185168152908120805484929061102b90849061212d565b92505081905550826001600160a01b0316846001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405161107791815260200190565b60405180910390a35b50505050565b60007f00000000000000000000000000000000000000000000000000000000000000004614156110d557507f000000000000000000000000000000000000000000000000000000000000000090565b50604080517f00000000000000000000000000000000000000000000000000000000000000006020808301919091527f0000000000000000000000000000000000000000000000000000000000000000828401527f000000000000000000000000000000000000000000000000000000000000000060608301524660808301523060a0808401919091528351808403909101815260c0909201909252805191012090565b6111a57f0000000000000000000000000000000000000000000000000000000000000000853085611538565b6111af83826115a3565b826001600160a01b0316846001600160a01b03167fdcbc1c05240f31ff3ad067ef1ee35ce4997762752e3a095284754544f4c709d78484604051611077929190918252602082015260400190565b6112326001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016853085611538565b6112866001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000167f000000000000000000000000000000000000000000000000000000000000000084611682565b6040516345977d0360e01b8152600481018390527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906345977d0390602401600060405180830381600087803b1580156112e857600080fd5b505af11580156112fc573d6000803e3d6000fd5b505050506111af83826115a3565b826001600160a01b0316856001600160a01b031614611378576001600160a01b03838116600090815260016020908152604080832093891683529290522054818110156113695760405162461bcd60e51b815260040161072090612162565b6113768487848403610d62565b505b6113828382611743565b6001600160a01b03841630146113bd576113bd7f00000000000000000000000000000000000000000000000000000000000000008584611891565b826001600160a01b0316846001600160a01b0316866001600160a01b03167ffbde797d201c681b91056529119e0b02407c7bb96a4a2c75c01fc9667232c8db8585604051611415929190918252602082015260400190565b60405180910390a45050505050565b6001600160a01b03811660009081526005602052604090208054600181018255906108b1565b6000610642611457611086565b8360405161190160f01b6020820152602281018390526042810182905260009060620160405160208183030381529060405280519060200120905092915050565b60008060006114a9878787876118c1565b915091506114b6816119ae565b5095945050505050565b60006114cb82611b6c565b80156114e75750600083806114e2576114e261229a565b858709115b6114fb576114f6858585611b99565b610af9565b611506858585611b99565b610af990600161212d565b600061151c336107d4565b1561152e575060131936013560601c90565b503390565b505050565b6040516001600160a01b03808516602483015283166044820152606481018290526110809085906323b872dd60e01b906084015b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b031990931692909217909152611c99565b6001600160a01b0382166115f95760405162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f2061646472657373006044820152606401610720565b806002600082825461160b919061212d565b90915550506001600160a01b0382166000908152602081905260408120805483929061163890849061212d565b90915550506040518181526001600160a01b038316906000907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a35050565b604051636eb1769f60e11b81523060048201526001600160a01b038381166024830152600091839186169063dd62ed3e9060440160206040518083038186803b1580156116ce57600080fd5b505afa1580156116e2573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061170691906120a4565b611710919061212d565b6040516001600160a01b03851660248201526044810182905290915061108090859063095ea7b360e01b9060640161156c565b6001600160a01b0382166117a35760405162461bcd60e51b815260206004820152602160248201527f45524332303a206275726e2066726f6d20746865207a65726f206164647265736044820152607360f81b6064820152608401610720565b6001600160a01b038216600090815260208190526040902054818110156118175760405162461bcd60e51b815260206004820152602260248201527f45524332303a206275726e20616d6f756e7420657863656564732062616c616e604482015261636560f01b6064820152608401610720565b6001600160a01b03831660009081526020819052604081208383039055600280548492906118469084906122b0565b90915550506040518281526000906001600160a01b038516907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a3505050565b6040516001600160a01b03831660248201526044810182905261153390849063a9059cbb60e01b9060640161156c565b6000807f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a08311156118f857506000905060036119a5565b8460ff16601b1415801561191057508460ff16601c14155b1561192157506000905060046119a5565b6040805160008082526020820180845289905260ff881692820192909252606081018690526080810185905260019060a0016020604051602081039080840390855afa158015611975573d6000803e3d6000fd5b5050604051601f1901519150506001600160a01b03811661199e576000600192509250506119a5565b9150600090505b94509492505050565b60008160048111156119c2576119c26122c7565b14156119cb5750565b60018160048111156119df576119df6122c7565b1415611a2d5760405162461bcd60e51b815260206004820152601860248201527f45434453413a20696e76616c6964207369676e617475726500000000000000006044820152606401610720565b6002816004811115611a4157611a416122c7565b1415611a8f5760405162461bcd60e51b815260206004820152601f60248201527f45434453413a20696e76616c6964207369676e6174757265206c656e677468006044820152606401610720565b6003816004811115611aa357611aa36122c7565b1415611afc5760405162461bcd60e51b815260206004820152602260248201527f45434453413a20696e76616c6964207369676e6174757265202773272076616c604482015261756560f01b6064820152608401610720565b6004816004811115611b1057611b106122c7565b1415611b695760405162461bcd60e51b815260206004820152602260248201527f45434453413a20696e76616c6964207369676e6174757265202776272076616c604482015261756560f01b6064820152608401610720565b50565b60006002826003811115611b8257611b826122c7565b611b8c91906122dd565b60ff166001149050919050565b600083830281600019858709828110838203039150508060001415611bd157838281611bc757611bc761229a565b0492505050610743565b808411611c2c5760405162461bcd60e51b815260206004820152602360248201527f4469766973696f6e206279207a65726f206f7220756e6465722f6f76657220666044820152626c6f7760e81b6064820152608401610720565b6000848688096000868103871696879004966002600389028118808a02820302808a02820302808a02820302808a02820302808a02820302808a02909103029181900381900460010186841190950394909402919094039290920491909117919091029150509392505050565b6000611cee826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b0316611d6b9092919063ffffffff16565b8051909150156115335780806020019051810190611d0c919061230d565b6115335760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b6064820152608401610720565b60606108dc848460008585843b611dc45760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610720565b600080866001600160a01b03168587604051611de0919061232f565b60006040518083038185875af1925050503d8060008114611e1d576040519150601f19603f3d011682016040523d82523d6000602084013e611e22565b606091505b5091509150611e32828286611e3d565b979650505050505050565b60608315611e4c575081610743565b825115611e5c5782518084602001fd5b8160405162461bcd60e51b81526004016107209190611ea2565b60005b83811015611e91578181015183820152602001611e79565b838111156110805750506000910152565b6020815260008251806020840152611ec1816040850160208701611e76565b601f01601f19169190910160400192915050565b600060208284031215611ee757600080fd5b5035919050565b6001600160a01b0381168114611b6957600080fd5b60008060408385031215611f1657600080fd5b8235611f2181611eee565b946020939093013593505050565b600080600060608486031215611f4457600080fd5b8335611f4f81611eee565b92506020840135611f5f81611eee565b929592945050506040919091013590565b600060208284031215611f8257600080fd5b813561074381611eee565b60008060408385031215611fa057600080fd5b823591506020830135611fb281611eee565b809150509250929050565b600080600060608486031215611fd257600080fd5b833592506020840135611fe481611eee565b91506040840135611ff481611eee565b809150509250925092565b600080600080600080600060e0888a03121561201a57600080fd5b873561202581611eee565b9650602088013561203581611eee565b95506040880135945060608801359350608088013560ff8116811461205957600080fd5b9699959850939692959460a0840135945060c09093013592915050565b6000806040838503121561208957600080fd5b823561209481611eee565b91506020830135611fb281611eee565b6000602082840312156120b657600080fd5b5051919050565b600181811c908216806120d157607f821691505b602082108114156108b157634e487b7160e01b600052602260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b600060ff821660ff84168060ff03821115612125576121256120f2565b019392505050565b60008219821115612140576121406120f2565b500190565b60006020828403121561215757600080fd5b815161074381611eee565b60208082526025908201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604082015264207a65726f60d81b606082015260800190565b600181815b808511156121e25781600019048211156121c8576121c86120f2565b808516156121d557918102915b93841c93908002906121ac565b509250929050565b6000826121f957506001610642565b8161220657506000610642565b816001811461221c576002811461222657612242565b6001915050610642565b60ff841115612237576122376120f2565b50506001821b610642565b5060208310610133831016604e8410600b8410161715612265575081810a610642565b61226f83836121a7565b8060001904821115612283576122836120f2565b029392505050565b600061074360ff8416836121ea565b634e487b7160e01b600052601260045260246000fd5b6000828210156122c2576122c26120f2565b500390565b634e487b7160e01b600052602160045260246000fd5b600060ff8316806122fe57634e487b7160e01b600052601260045260246000fd5b8060ff84160691505092915050565b60006020828403121561231f57600080fd5b8151801515811461074357600080fd5b60008251612341818460208701611e76565b919091019291505056fea2646970667358221220b3130160e1fdec30af57eb2733384557909fabe1dcfd1d5841c9e90ef282008164736f6c63430008090033a2646970667358221220305c2e23055882d1cf62c052a65b2a7e39adefa853b3f669ef6a2c09e03986d764736f6c63430008090033126303c860ea810f85e857ad8768056e2eebc24b7796655ff3107e4af18e3f1e0000000000000000000000003b05b902fe763ad87aa755fab70f86c76bf331f40000000000000000000000000ae6af9c58d2830c2721ebd06f89a73bff19fb260000000000000000000000000ae6af9c58d2830c2721ebd06f89a73bff19fb26