0 txs
357.5k calls
constructor
No constructor.
functions
allowance
viewfunction allowance(address owner, address spender) view returns (uint256)
balanceOf
viewfunction balanceOf(address account) view returns (uint256)
decimals
viewfunction decimals() view returns (uint8)
DEFAULT_ADMIN_ROLE
viewfunction DEFAULT_ADMIN_ROLE() view returns (bytes32)
esXaiBurnFoundationBasePoints
viewfunction esXaiBurnFoundationBasePoints() view returns (uint256)
esXaiBurnFoundationRecipient
viewfunction esXaiBurnFoundationRecipient() view returns (address)
getRedemptionRequest
viewfunction getRedemptionRequest(address account, uint256 index) view returns (tuple)
getRedemptionRequestCount
viewfunction getRedemptionRequestCount(address account) view returns (uint256)
getRedemptionsByUser
viewfunction getRedemptionsByUser(address account, uint256 maxQty, uint256 offset) view returns (tuple[] redemptions, uint256 totalRedemptions)
getRoleAdmin
viewfunction getRoleAdmin(bytes32 role) view returns (bytes32)
getWhitelistCount
viewfunction getWhitelistCount() view returns (uint256)
getWhitelistedAddressAtIndex
viewfunction getWhitelistedAddressAtIndex(uint256 index) view returns (address)
hasRole
viewfunction hasRole(bytes32 role, address account) view returns (bool)
isWhitelisted
viewfunction isWhitelisted(address account) view returns (bool)
MINTER_ROLE
viewfunction MINTER_ROLE() view returns (bytes32)
name
viewfunction name() view returns (string)
refreshUserRedemptionsByIndex
viewfunction refreshUserRedemptionsByIndex(address account, uint256[] indices) view returns (tuple[] redemptions, uint256 totalRedemptions)
supportsInterface
viewfunction supportsInterface(bytes4 interfaceId) view returns (bool)
symbol
viewfunction symbol() view returns (string)
totalSupply
viewfunction totalSupply() view returns (uint256)
xai
viewfunction xai() view returns (address)
addToWhitelist
nonpayablefunction addToWhitelist(address account)
approve
nonpayablefunction approve(address spender, uint256 amount) returns (bool)
burn
nonpayablefunction burn(uint256 amount)
burnFrom
nonpayablefunction burnFrom(address account, uint256 amount)
cancelRedemption
nonpayablefunction cancelRedemption(uint256 index)
changeRedemptionStatus
nonpayablefunction changeRedemptionStatus(bool isActive)
changeXaiAddress
nonpayablefunction changeXaiAddress(address _newXai)
completeRedemption
nonpayablefunction completeRedemption(uint256 index)
decreaseAllowance
nonpayablefunction decreaseAllowance(address spender, uint256 subtractedValue) returns (bool)
grantRole
nonpayablefunction grantRole(bytes32 role, address account)
increaseAllowance
nonpayablefunction increaseAllowance(address spender, uint256 addedValue) returns (bool)
initialize
nonpayablefunction initialize(address _esXaiBurnFoundationRecipient, uint256 _esXaiBurnFoundationBasePoints)
mint
nonpayablefunction mint(address to, uint256 amount)
removeFromWhitelist
nonpayablefunction removeFromWhitelist(address account)
renounceRole
nonpayablefunction renounceRole(bytes32 role, address account)
revokeRole
nonpayablefunction revokeRole(bytes32 role, address account)
startRedemption
nonpayablefunction startRedemption(uint256 amount, uint256 duration)
transfer
nonpayablefunction transfer(address to, uint256 amount) returns (bool)
transferFrom
nonpayablefunction transferFrom(address from, address to, uint256 amount) returns (bool)
updateFoundationBasepoints
nonpayablefunction updateFoundationBasepoints(uint256 number)
events
Approval
event Approval(address indexed owner, address indexed spender, uint256 value)
FoundationBasepointsUpdated
event FoundationBasepointsUpdated(uint256 newBasepoints)
Initialized
event Initialized(uint8 version)
RedemptionCancelled
event RedemptionCancelled(address indexed user, uint256 indexed index)
RedemptionCompleted
event RedemptionCompleted(address indexed user, uint256 indexed index)
RedemptionStarted
event RedemptionStarted(address indexed user, uint256 indexed index)
RedemptionStatusChanged
event RedemptionStatusChanged(bool isActive)
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)
Transfer
event Transfer(address indexed from, address indexed to, uint256 value)
WhitelistUpdated
event WhitelistUpdated(address account, bool isAdded)
XaiAddressChanged
event XaiAddressChanged(address indexed newXaiAddress)
errors
No errors.
creation bytecode
0x608060405234801561001057600080fd5b506129df806100206000396000f3fe608060405234801561001057600080fd5b50600436106102535760003560e01c806370a0823111610146578063a217fddf116100c3578063d539139311610087578063d53913931461053e578063d547741f14610565578063dd62ed3e14610578578063e43252d71461058b578063e73b4caa1461059e578063eab4f916146105b157600080fd5b8063a217fddf146104ea578063a457c2d7146104f2578063a9059cbb14610505578063c1069a6614610518578063cd6dc6871461052b57600080fd5b80638ab1d6811161010a5780638ab1d6811461049657806391d14854146104a95780639219e510146104bc578063942ceb94146104cf57806395d89b41146104e257600080fd5b806370a082311461040a57806372f91ace1461043357806379cc67901461045d578063840ecba014610470578063858b0b4d1461048357600080fd5b80632f2ff15d116101d45780633af32abf116101985780633af32abf146103b65780633edff20f146103c957806340c10f19146103d157806342966c68146103e45780635fbcb527146103f757600080fd5b80632f2ff15d1461034d57806330c0a42814610360578063313ce5671461038157806336568abe1461039057806339509351146103a357600080fd5b80631be870ec1161021b5780631be870ec146102e55780631ef306e3146102fa57806323b872dd1461030d578063248a9ca314610320578063251ab9351461034357600080fd5b806301ffc9a71461025857806306fdde0314610280578063095ea7b3146102955780630975f808146102a857806318160ddd146102d3575b600080fd5b61026b6102663660046123ac565b6105d1565b60405190151581526020015b60405180910390f35b610288610608565b6040516102779190612402565b61026b6102a3366004612451565b61069a565b6102bb6102b636600461247b565b6106b2565b6040516001600160a01b039091168152602001610277565b6035545b604051908152602001610277565b6102f86102f3366004612494565b610710565b005b6102f86103083660046124af565b610766565b61026b61031b3660046124d1565b6109bf565b6102d761032e36600461247b565b600090815260c9602052604090206001015490565b6102d76101005481565b6102f861035b36600461250d565b610a0c565b61037361036e36600461254f565b610a36565b60405161027792919061268b565b60405160128152602001610277565b6102f861039e36600461250d565b610c24565b61026b6103b1366004612451565b610ca2565b61026b6103c4366004612494565b610cc4565b6102d7610cd1565b6102f86103df366004612451565b610ce2565b6102f86103f236600461247b565b610d16565b60ff546102bb906001600160a01b031681565b6102d7610418366004612494565b6001600160a01b031660009081526033602052604090205490565b6102d7610441366004612494565b6001600160a01b03166000908152610101602052604090205490565b6102f861046b366004612451565b610d23565b6102f861047e36600461247b565b610d38565b6103736104913660046126de565b611087565b6102f86104a4366004612494565b61125d565b61026b6104b736600461250d565b6112bb565b6102f86104ca36600461247b565b6112e6565b60fd546102bb906001600160a01b031681565b610288611433565b6102d7600081565b61026b610500366004612451565b611442565b61026b610513366004612451565b6114c8565b6102f861052636600461247b565b611513565b6102f8610539366004612451565b61159b565b6102d77f9f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a681565b6102f861057336600461250d565b6116f5565b6102d7610586366004612711565b61171a565b6102f8610599366004612494565b611745565b6102f86105ac366004612749565b61179b565b6105c46105bf366004612451565b6117f3565b6040516102779190612766565b60006001600160e01b03198216637965db0b60e01b148061060257506301ffc9a760e01b6001600160e01b03198316145b92915050565b60606036805461061790612775565b80601f016020809104026020016040519081016040528092919081815260200182805461064390612775565b80156106905780601f1061066557610100808354040283529160200191610690565b820191906000526020600020905b81548152906001019060200180831161067357829003601f168201915b5050505050905090565b6000336106a88185856118c8565b5060019392505050565b60006106bc610cd1565b82106107055760405162461bcd60e51b8152602060048201526013602482015272496e646578206f7574206f6620626f756e647360681b60448201526064015b60405180910390fd5b61060260fb836119ec565b600061071b816119f8565b60fd80546001600160a01b0319166001600160a01b0384169081179091556040517f3b88b797fc2bf9d3037ee8bcff38f8b441c8466d569f1c66046557725aa62bf990600090a25050565b60fd54600160a01b900460ff1661078f5760405162461bcd60e51b81526004016106fc906127b0565b600082116107d05760405162461bcd60e51b815260206004820152600e60248201526d125b9d985b1a5908105b5bdd5b9d60921b60448201526064016106fc565b3360009081526033602052604090205482111561082f5760405162461bcd60e51b815260206004820152601a60248201527f496e73756666696369656e742065735861692062616c616e636500000000000060448201526064016106fc565b806213c68014806108425750806276a700145b8061084f57508062ed4e00145b61088e5760405162461bcd60e51b815260206004820152601060248201526f24b73b30b634b210323ab930ba34b7b760811b60448201526064016106fc565b610899333084611a02565b33600090815261010160209081526040808320815160e08101835286815242818501908152818401878152606080840188815260808086018a815260a08088018c81528a519182018b528c8252818c018d90529981018c90529384018b90529083018a905260c08601928352865460018181018955978b52989099208551600a909902019788559251948701949094555160028601555160038501559351600484018054935115156101000261ff00199215159290921661ffff1990941693909317179091555161097090600580840191906122f5565b5050336000908152610101602052604090205461099091506001906127fb565b60405133907f898be5073529ca8f50395660b238b42999360911edaa1e68d41a328e0cb536de90600090a35050565b60006109cc60fb85611baf565b806109dd57506109dd60fb84611baf565b6109f95760405162461bcd60e51b81526004016106fc90612812565b610a04848484611bd1565b949350505050565b600082815260c96020526040902060010154610a27816119f8565b610a318383611bea565b505050565b6001600160a01b0382166000908152610101602052604090205481516060919080610a615750610c1d565b8067ffffffffffffffff811115610a7a57610a7a612539565b604051908082528060200260200182016040528015610ab357816020015b610aa0612333565b815260200190600190039081610a985790505b50925060005b81811015610c1a576000858281518110610ad557610ad5612860565b60200260200101519050838110610b245760405162461bcd60e51b8152602060048201526013602482015272496e646578206f7574206f6620626f756e647360681b60448201526064016106fc565b6001600160a01b038716600090815261010160205260409020805482908110610b4f57610b4f612860565b60009182526020918290206040805160e081018252600a939093029091018054835260018101549383019390935260028301548282015260038301546060830152600483015460ff8082161515608085015261010090910416151560a08084019190915281519081019182905291929160c084019160058085019182845b815481526020019060010190808311610bcd57505050505081525050858381518110610bfb57610bfb612860565b6020026020010181905250508080610c1290612876565b915050610ab9565b50505b9250929050565b6001600160a01b0381163314610c945760405162461bcd60e51b815260206004820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201526e103937b632b9903337b91039b2b63360891b60648201526084016106fc565b610c9e8282611c70565b5050565b6000336106a8818585610cb5838361171a565b610cbf9190612891565b6118c8565b600061060260fb83611baf565b6000610cdd60fb611cd7565b905090565b7f9f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a6610d0c816119f8565b610a318383611ce1565b610d203382611da2565b50565b610d2e823383611ed6565b610c9e8282611da2565b60fd54600160a01b900460ff16610d615760405162461bcd60e51b81526004016106fc906127b0565b33600090815261010160205260408120805483908110610d8357610d83612860565b90600052602060002090600a020190506000816000015411610dd95760405162461bcd60e51b815260206004820152600f60248201526e125b9d985b1a59081c995c5d595cdd608a1b60448201526064016106fc565b600481015460ff1615610e2e5760405162461bcd60e51b815260206004820152601c60248201527f526564656d7074696f6e20616c726561647920636f6d706c657465640000000060448201526064016106fc565b80600201548160010154610e429190612891565b421015610e915760405162461bcd60e51b815260206004820152601e60248201527f526564656d7074696f6e20706572696f64206e6f7420796574206f766572000060448201526064016106fc565b600081600201546213c6801415610eaa575060fa610ec7565b81600201546276a7001415610ec25750610271610ec7565b506103e85b60006103e8828460000154610edc91906128a9565b610ee691906128c8565b60048401805460ff191660011790554260038501558354909150610f0b903090611da2565b60fd546040516340c10f1960e01b8152336004820152602481018390526001600160a01b03909116906340c10f1990604401602060405180830381600087803b158015610f5757600080fd5b505af1158015610f6b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f8f91906128ea565b506103e88210156110545760006103e861010054838660000154610fb391906127fb565b610fbd91906128a9565b610fc791906128c8565b60fd5460ff546040516340c10f1960e01b81526001600160a01b0391821660048201526024810184905292935016906340c10f1990604401602060405180830381600087803b15801561101957600080fd5b505af115801561102d573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061105191906128ea565b50505b604051849033907f7845dd5b7d075bcbcd271a1ce948b21c833ffa06e4034b3119276a79ff9a028990600090a350505050565b6001600160a01b038316600090815261010160205260409020546060908315806110b15750808310155b156110be57506000611255565b60006110ca84836127fb565b905060008186116110db57856110dd565b815b90508067ffffffffffffffff8111156110f8576110f8612539565b60405190808252806020026020018201604052801561113157816020015b61111e612333565b8152602001906001900390816111165790505b5093506000855b6111428388612891565b811015611250576001600160a01b03891660009081526101016020526040812080548390811061117457611174612860565b60009182526020918290206040805160e081018252600a939093029091018054835260018101549383019390935260028301548282015260038301546060830152600483015460ff8082161515608085015261010090910416151560a08084019190915281519081019182905291929160c084019160058085019182845b8154815260200190600101908083116111f25750505050508152505090508087848151811061122357611223612860565b6020026020010181905250828061123990612876565b93505050808061124890612876565b915050611138565b505050505b935093915050565b6000611268816119f8565b61127360fb83611f4a565b50604080516001600160a01b0384168152600060208201527ff93f9a76c1bf3444d22400a00cb9fe990e6abe9dbb333fda48859cfee864543d91015b60405180910390a15050565b600091825260c9602090815260408084206001600160a01b0393909316845291905290205460ff1690565b60fd54600160a01b900460ff1661130f5760405162461bcd60e51b81526004016106fc906127b0565b3360009081526101016020526040812080548390811061133157611331612860565b90600052602060002090600a0201905060008160000154116113875760405162461bcd60e51b815260206004820152600f60248201526e125b9d985b1a59081c995c5d595cdd608a1b60448201526064016106fc565b600481015460ff16156113dc5760405162461bcd60e51b815260206004820152601c60248201527f526564656d7074696f6e20616c726561647920636f6d706c657465640000000060448201526064016106fc565b6113eb30338360000154611a02565b60048101805461ffff1916610101179055426003820155604051829033907f9aec5cafc1451c1485e4a0099bd4dfb4c9d2bb972b4e5c798da07db8323deaa390600090a35050565b60606037805461061790612775565b60003381611450828661171a565b9050838110156114b05760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b60648201526084016106fc565b6114bd82868684036118c8565b506001949350505050565b60006114d560fb33611baf565b806114e657506114e660fb84611baf565b6115025760405162461bcd60e51b81526004016106fc90612812565b61150c8383611f5f565b9392505050565b600061151e816119f8565b6103e88211156115655760405162461bcd60e51b8152602060048201526012602482015271496e76616c69642062617365706f696e747360701b60448201526064016106fc565b6101008290556040518281527f75932eec5a90640c66e2e8c282510a7e52d34c7b5b6a074d9b71fbd7f0d0bc5b906020016112af565b600054600290610100900460ff161580156115bd575060005460ff8083169116105b6116205760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b60648201526084016106fc565b6000805461ffff191660ff8316176101001790556001600160a01b0383161580159061164e57506103e88211155b61168f5760405162461bcd60e51b8152602060048201526012602482015271496e76616c696420696e697469616c697a6560701b60448201526064016106fc565b60ff80546001600160a01b0319166001600160a01b0385161781556101008390556000805461ff001916905560405190821681527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a1505050565b600082815260c96020526040902060010154611710816119f8565b610a318383611c70565b6001600160a01b03918216600090815260346020908152604080832093909416825291909152205490565b6000611750816119f8565b61175b60fb83611f6d565b50604080516001600160a01b0384168152600160208201527ff93f9a76c1bf3444d22400a00cb9fe990e6abe9dbb333fda48859cfee864543d91016112af565b60006117a6816119f8565b60fd8054831515600160a01b0260ff60a01b199091161790556040517f2c0a5f5ab0ba371221bb3612c2d2f90d36566279309f526000c5b354efd1b065906112af90841515815260200190565b6117fb612333565b6001600160a01b03831660009081526101016020526040902080548390811061182657611826612860565b60009182526020918290206040805160e081018252600a939093029091018054835260018101549383019390935260028301548282015260038301546060830152600483015460ff8082161515608085015261010090910416151560a08084019190915281519081019182905291929160c084019160058085019182845b8154815260200190600101908083116118a457505050505081525050905092915050565b6001600160a01b03831661192a5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016106fc565b6001600160a01b03821661198b5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016106fc565b6001600160a01b0383811660008181526034602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b600061150c8383611f82565b610d208133611fac565b6001600160a01b038316611a665760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016106fc565b6001600160a01b038216611ac85760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016106fc565b6001600160a01b03831660009081526033602052604090205481811015611b405760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b60648201526084016106fc565b6001600160a01b0380851660008181526033602052604080822086860390559286168082529083902080548601905591517fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90611ba09086815260200190565b60405180910390a35b50505050565b6001600160a01b0381166000908152600183016020526040812054151561150c565b600033611bdf858285611ed6565b6114bd858585611a02565b611bf482826112bb565b610c9e57600082815260c9602090815260408083206001600160a01b03851684529091529020805460ff19166001179055611c2c3390565b6001600160a01b0316816001600160a01b0316837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b611c7a82826112bb565b15610c9e57600082815260c9602090815260408083206001600160a01b0385168085529252808320805460ff1916905551339285917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a45050565b6000610602825490565b6001600160a01b038216611d375760405162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f20616464726573730060448201526064016106fc565b8060356000828254611d499190612891565b90915550506001600160a01b0382166000818152603360209081526040808320805486019055518481527fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a35050565b6001600160a01b038216611e025760405162461bcd60e51b815260206004820152602160248201527f45524332303a206275726e2066726f6d20746865207a65726f206164647265736044820152607360f81b60648201526084016106fc565b6001600160a01b03821660009081526033602052604090205481811015611e765760405162461bcd60e51b815260206004820152602260248201527f45524332303a206275726e20616d6f756e7420657863656564732062616c616e604482015261636560f01b60648201526084016106fc565b6001600160a01b03831660008181526033602090815260408083208686039055603580548790039055518581529192917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a3505050565b6000611ee2848461171a565b90506000198114611ba95781811015611f3d5760405162461bcd60e51b815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e636500000060448201526064016106fc565b611ba984848484036118c8565b600061150c836001600160a01b038416612005565b6000336106a8818585611a02565b600061150c836001600160a01b0384166120f8565b6000826000018281548110611f9957611f99612860565b9060005260206000200154905092915050565b611fb682826112bb565b610c9e57611fc381612147565b611fce836020612159565b604051602001611fdf929190612907565b60408051601f198184030181529082905262461bcd60e51b82526106fc91600401612402565b600081815260018301602052604081205480156120ee5760006120296001836127fb565b855490915060009061203d906001906127fb565b90508181146120a257600086600001828154811061205d5761205d612860565b906000526020600020015490508087600001848154811061208057612080612860565b6000918252602080832090910192909255918252600188019052604090208390555b85548690806120b3576120b361297c565b600190038181906000526020600020016000905590558560010160008681526020019081526020016000206000905560019350505050610602565b6000915050610602565b600081815260018301602052604081205461213f57508154600181810184556000848152602080822090930184905584548482528286019093526040902091909155610602565b506000610602565b60606106026001600160a01b03831660145b606060006121688360026128a9565b612173906002612891565b67ffffffffffffffff81111561218b5761218b612539565b6040519080825280601f01601f1916602001820160405280156121b5576020820181803683370190505b509050600360fc1b816000815181106121d0576121d0612860565b60200101906001600160f81b031916908160001a905350600f60fb1b816001815181106121ff576121ff612860565b60200101906001600160f81b031916908160001a90535060006122238460026128a9565b61222e906001612891565b90505b60018111156122a6576f181899199a1a9b1b9c1cb0b131b232b360811b85600f166010811061226257612262612860565b1a60f81b82828151811061227857612278612860565b60200101906001600160f81b031916908160001a90535060049490941c9361229f81612992565b9050612231565b50831561150c5760405162461bcd60e51b815260206004820181905260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e7460448201526064016106fc565b8260058101928215612323579160200282015b82811115612323578251825591602001919060010190612308565b5061232f929150612379565b5090565b6040518060e001604052806000815260200160008152602001600081526020016000815260200160001515815260200160001515815260200161237461238e565b905290565b5b8082111561232f576000815560010161237a565b6040518060a001604052806005906020820280368337509192915050565b6000602082840312156123be57600080fd5b81356001600160e01b03198116811461150c57600080fd5b60005b838110156123f15781810151838201526020016123d9565b83811115611ba95750506000910152565b60208152600082518060208401526124218160408501602087016123d6565b601f01601f19169190910160400192915050565b80356001600160a01b038116811461244c57600080fd5b919050565b6000806040838503121561246457600080fd5b61246d83612435565b946020939093013593505050565b60006020828403121561248d57600080fd5b5035919050565b6000602082840312156124a657600080fd5b61150c82612435565b600080604083850312156124c257600080fd5b50508035926020909101359150565b6000806000606084860312156124e657600080fd5b6124ef84612435565b92506124fd60208501612435565b9150604084013590509250925092565b6000806040838503121561252057600080fd5b8235915061253060208401612435565b90509250929050565b634e487b7160e01b600052604160045260246000fd5b6000806040838503121561256257600080fd5b61256b83612435565b915060208084013567ffffffffffffffff8082111561258957600080fd5b818601915086601f83011261259d57600080fd5b8135818111156125af576125af612539565b8060051b604051601f19603f830116810181811085821117156125d4576125d4612539565b6040529182528482019250838101850191898311156125f257600080fd5b938501935b82851015612610578435845293850193928501926125f7565b8096505050505050509250929050565b8051825260208082015181840152604082015160408401526060820151606084015260808201511515608084015260a0820151151560a084015260c082015160c0840160005b600581101561268357825182529183019190830190600101612666565b505050505050565b604080825283519082018190526000906020906060840190828701845b828110156126cf576126bb848351612620565b6101609390930192908401906001016126a8565b50505092019290925292915050565b6000806000606084860312156126f357600080fd5b6126fc84612435565b95602085013595506040909401359392505050565b6000806040838503121561272457600080fd5b61272d83612435565b915061253060208401612435565b8015158114610d2057600080fd5b60006020828403121561275b57600080fd5b813561150c8161273b565b61016081016106028284612620565b600181811c9082168061278957607f821691505b602082108114156127aa57634e487b7160e01b600052602260045260246000fd5b50919050565b6020808252818101527f526564656d7074696f6e2069732063757272656e746c7920696e616374697665604082015260600190565b634e487b7160e01b600052601160045260246000fd5b60008282101561280d5761280d6127e5565b500390565b6020808252602e908201527f5472616e73666572206e6f7420616c6c6f7765643a2061646472657373206e6f60408201526d1d081a5b881dda1a5d195b1a5cdd60921b606082015260800190565b634e487b7160e01b600052603260045260246000fd5b600060001982141561288a5761288a6127e5565b5060010190565b600082198211156128a4576128a46127e5565b500190565b60008160001904831182151516156128c3576128c36127e5565b500290565b6000826128e557634e487b7160e01b600052601260045260246000fd5b500490565b6000602082840312156128fc57600080fd5b815161150c8161273b565b7f416363657373436f6e74726f6c3a206163636f756e742000000000000000000081526000835161293f8160178501602088016123d6565b7001034b99036b4b9b9b4b733903937b6329607d1b60179184019182015283516129708160288401602088016123d6565b01602801949350505050565b634e487b7160e01b600052603160045260246000fd5b6000816129a1576129a16127e5565b50600019019056fea264697066735822122016462fe40756e06a3c1eb01e182b425b0ea1ebf269f95f90b8abbbd621da8f7064736f6c63430008090033