0 txs
6k calls
constructor
constructor()
functions
adminWallet
viewfunction adminWallet() view returns (address)
airdripSchedules
viewfunction airdripSchedules(uint256 scheduleId) view returns (address beneficiary, uint256 totalAmount, uint256 claimedAmount, bool revoked)
communityRewardsTreasury
viewfunction communityRewardsTreasury() view returns (address)
currentWeek
viewfunction currentWeek() view returns (uint256)
FYIToken
viewfunction FYIToken() view returns (address)
getAirdripStatus
viewfunction getAirdripStatus(uint256 _scheduleId) view returns (uint256 totalAllocation, uint256 remainingBalance, bool initialClaimMade)
initialClaimEnabled
viewfunction initialClaimEnabled() view returns (bool)
nextScheduleId
viewfunction nextScheduleId() view returns (uint256)
owner
viewfunction owner() view returns (address)
paused
viewfunction paused() view returns (bool)
pendingOwner
viewfunction pendingOwner() view returns (address)
PERCENTAGE_DENOMINATOR
viewfunction PERCENTAGE_DENOMINATOR() view returns (uint256)
proxiableUUID
viewfunction proxiableUUID() view returns (bytes32)
UPGRADE_INTERFACE_VERSION
viewfunction UPGRADE_INTERFACE_VERSION() view returns (string)
weeklyClaimsMade
viewfunction weeklyClaimsMade(uint256 scheduleId, address beneficiary, uint256 week) view returns (bool claimed)
weeklyMerkleRoots
viewfunction weeklyMerkleRoots(uint256 week) view returns (bytes32 merkleRoot)
acceptOwnership
nonpayablefunction acceptOwnership()
addUsersToAirdrip
nonpayablefunction addUsersToAirdrip(address _beneficiary, uint256 _amount) returns (uint256)
claimWeeklyTokens
nonpayablefunction claimWeeklyTokens(uint256 _scheduleId, uint256 _week, uint256 _performancePercentage, bytes32[] _merkleProof)
initialClaim
nonpayablefunction initialClaim(uint256 _scheduleId)
initialize
nonpayablefunction initialize(address _communityRewardsTreasury, address _adminWallet)
pause
nonpayablefunction pause()
renounceOwnership
nonpayablefunction renounceOwnership()
revokeAirdripSchedule
nonpayablefunction revokeAirdripSchedule(uint256 _scheduleId)
setAdminWallet
nonpayablefunction setAdminWallet(address _adminWallet)
setFYIToken
nonpayablefunction setFYIToken(address _fyiToken)
setInitialClaim
nonpayablefunction setInitialClaim(bool _enabled)
setMerkleRoot
nonpayablefunction setMerkleRoot(uint256 _week, bytes32 _merkleRoot)
transferOwnership
nonpayablefunction transferOwnership(address newOwner)
unpause
nonpayablefunction unpause()
upgradeToAndCall
payablefunction upgradeToAndCall(address newImplementation, bytes data) payable
events
AdminWalletSet
event AdminWalletSet(address indexed adminWallet)
AirdripInitialized
event AirdripInitialized(address indexed communityRewardsTreasury, address indexed adminWallet)
AirdripScheduleCreated
event AirdripScheduleCreated(uint256 indexed scheduleId, address indexed beneficiary, uint256 amount)
AirdripScheduleRevoked
event AirdripScheduleRevoked(uint256 indexed scheduleId, address indexed beneficiary, uint256 reclaimedAmount)
FYITokenSet
event FYITokenSet(address indexed previousFYI, address indexed newFYI)
InitialClaimStatusChanged
event InitialClaimStatusChanged(bool enabled)
Initialized
event Initialized(uint64 version)
MerkleRootSet
event MerkleRootSet(uint256 indexed week, bytes32 merkleRoot)
OwnershipTransferred
event OwnershipTransferred(address indexed previousOwner, address indexed newOwner)
OwnershipTransferStarted
event OwnershipTransferStarted(address indexed previousOwner, address indexed newOwner)
Paused
event Paused(address account)
TokensClaimed
event TokensClaimed(uint256 indexed scheduleId, address indexed beneficiary, uint256 amountClaimed)
Unpaused
event Unpaused(address account)
Upgraded
event Upgraded(address indexed implementation)
Upgraded
event Upgraded(address indexed implementation)
WeeklyTokensClaimed
event WeeklyTokensClaimed(uint256 indexed scheduleId, address indexed beneficiary, uint256 indexed week, uint256 amount, uint256 performancePercentage)
errors
AddressEmptyCode
error AddressEmptyCode(address target)
EnforcedPause
error EnforcedPause()
ERC1967InvalidImplementation
error ERC1967InvalidImplementation(address implementation)
ERC1967NonPayable
error ERC1967NonPayable()
ExpectedPause
error ExpectedPause()
FailedCall
error FailedCall()
InvalidInitialization
error InvalidInitialization()
NotInitializing
error NotInitializing()
OwnableInvalidOwner
error OwnableInvalidOwner(address owner)
OwnableUnauthorizedAccount
error OwnableUnauthorizedAccount(address account)
ReentrancyGuardReentrantCall
error ReentrancyGuardReentrantCall()
SafeERC20FailedOperation
error SafeERC20FailedOperation(address token)
UUPSUnauthorizedCallContext
error UUPSUnauthorizedCallContext()
UUPSUnsupportedProxiableUUID
error UUPSUnsupportedProxiableUUID(bytes32 slot)
creation bytecode
0x60a06040523060805234801562000014575f80fd5b506200001f62000025565b620000d9565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00805468010000000000000000900460ff1615620000765760405163f92ee8a960e01b815260040160405180910390fd5b80546001600160401b0390811614620000d65780546001600160401b0319166001600160401b0390811782556040519081527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b50565b60805161250e620001005f395f8181611a1801528181611a410152611bb6015261250e5ff3fe6080604052600436106101d0575f3560e01c80635f6cc70e116100fd578063b3cd425411610092578063d434693411610062578063d4346934146105b1578063e30c3978146105ca578063f2fde38b146105de578063f51a5ea0146105fd575f80fd5b8063b3cd425414610533578063c2a5abf414610548578063c3cd07be14610567578063d2917fc514610586575f80fd5b806383219c4c116100cd57806383219c4c146104af5780638456cb59146104ce5780638da5cb5b146104e2578063ad3cb1cc146104f6575f80fd5b80635f6cc70e1461044a578063715018a61461046957806379ba50971461047d5780637eb4b91514610491575f80fd5b806336b19cd7116101735780634f1ef286116101435780634f1ef286146103b557806352d1902d146103c85780635c975abb146103dc5780635ebf0ed21461040b575f80fd5b806336b19cd7146103225780633f4ba83a14610346578063485cc9551461035a5780634d84e4d414610379575f80fd5b806318712c21116101ae57806318712c2114610248578063203a849214610269578063274d0dad146102e45780633508293314610303575f80fd5b806306575c89146101d45780630f038d41146101fc57806318567a3114610211575b5f80fd5b3480156101df575f80fd5b506101e960055481565b6040519081526020015b60405180910390f35b348015610207575f80fd5b506101e960065481565b34801561021c575f80fd5b50600154610230906001600160a01b031681565b6040516001600160a01b0390911681526020016101f3565b348015610253575f80fd5b5061026761026236600461204c565b61061c565b005b348015610274575f80fd5b506102b861028336600461206c565b600260208190525f918252604090912080546001820154928201546003909201546001600160a01b0390911692919060ff1684565b604080516001600160a01b039095168552602085019390935291830152151560608201526080016101f3565b3480156102ef575f80fd5b506102676102fe36600461206c565b6107d6565b34801561030e575f80fd5b5061026761031d36600461209e565b61095b565b34801561032d575f80fd5b506007546102309061010090046001600160a01b031681565b348015610351575f80fd5b50610267610a1f565b348015610365575f80fd5b506102676103743660046120b7565b610a31565b348015610384575f80fd5b5061039861039336600461206c565b610c85565b6040805193845260208401929092521515908201526060016101f3565b6102676103c33660046120fc565b610cc0565b3480156103d3575f80fd5b506101e9610cdf565b3480156103e7575f80fd5b505f805160206124998339815191525460ff165b60405190151581526020016101f3565b348015610416575f80fd5b506103fb6104253660046121b8565b600460209081525f938452604080852082529284528284209052825290205460ff1681565b348015610455575f80fd5b506102676104643660046121ea565b610cfa565b348015610474575f80fd5b50610267610d4a565b348015610488575f80fd5b50610267610d5b565b34801561049c575f80fd5b505f54610230906001600160a01b031681565b3480156104ba575f80fd5b506102676104c9366004612209565b610da0565b3480156104d9575f80fd5b506102676111e9565b3480156104ed575f80fd5b506102306111f9565b348015610501575f80fd5b50610526604051806040016040528060058152602001640352e302e360dc1b81525081565b6040516101f391906122b3565b34801561053e575f80fd5b506101e961271081565b348015610553575f80fd5b5061026761056236600461209e565b61122d565b348015610572575f80fd5b506101e96105813660046122e5565b61132d565b348015610591575f80fd5b506101e96105a036600461206c565b60036020525f908152604090205481565b3480156105bc575f80fd5b506007546103fb9060ff1681565b3480156105d5575f80fd5b5061023061154c565b3480156105e9575f80fd5b506102676105f836600461209e565b611574565b348015610608575f80fd5b5061026761061736600461206c565b6115f9565b6106246111f9565b6001600160a01b0316336001600160a01b03161480610652575060075461010090046001600160a01b031633145b6106a35760405162461bcd60e51b815260206004820152601760248201527f416972647269705f5f4e6f7420617574686f72697a656400000000000000000060448201526064015b60405180910390fd5b806106f05760405162461bcd60e51b815260206004820152601c60248201527f416972647269705f5f496e76616c6964206d65726b6c6520726f6f7400000000604482015260640161069a565b600554821015801561070f575060055461070b906001612321565b8211155b6107785760405162461bcd60e51b815260206004820152603460248201527f416972647269705f5f5765656b206d7573742062652063757272656e74207765604482015273656b206f72206e657874207765656b206f6e6c7960601b606482015260840161069a565b5f8281526003602052604090208190556005548211156107985760058290555b817fb04b7d6145a7588fdcf339a22877d5965f861c171204fc37688058c5f6c06d3b826040516107ca91815260200190565b60405180910390a25050565b6107de611860565b6107e6611892565b6107ee6118c2565b5f81815260026020526040902080546001600160a01b03166108525760405162461bcd60e51b815260206004820181905260248201527f416972647269705f5f5363686564756c6520646f6573206e6f74206578697374604482015260640161069a565b600381015460ff16156108b15760405162461bcd60e51b815260206004820152602160248201527f416972647269705f5f5363686564756c6520616c7265616479207265766f6b656044820152601960fa1b606482015260840161069a565b60038101805460ff191660019081179091556002820154908201545f916108d791612334565b905080156108fc576108fc6108ea6111f9565b5f546001600160a01b031690836118f9565b81546040518281526001600160a01b039091169084907f6f2e2c62db45c571db257335d83ffa60922840fcdf27b43143bd70498931b19d906020015b60405180910390a3505061095860015f805160206124b983398151915255565b50565b610963611860565b6001600160a01b0381166109ce5760405162461bcd60e51b815260206004820152602c60248201527f416972647269705f5f41646d696e2077616c6c65742063616e6e6f742062652060448201526b7a65726f206164647265737360a01b606482015260840161069a565b60078054610100600160a81b0319166101006001600160a01b038416908102919091179091556040517f78352336a6211f8be191a71afc1f4bfe646d9b5051b27a64a5bc6871660beb6a905f90a250565b610a27611860565b610a2f611963565b565b5f610a3a6119bc565b805490915060ff600160401b820416159067ffffffffffffffff165f81158015610a615750825b90505f8267ffffffffffffffff166001148015610a7d5750303b155b905081158015610a8b575080155b15610aa95760405163f92ee8a960e01b815260040160405180910390fd5b845467ffffffffffffffff191660011785558315610ad357845460ff60401b1916600160401b1785555b6001600160a01b038716610b425760405162461bcd60e51b815260206004820152603060248201527f416972647269705f5f436f6d6d756e697479207265776172647320747265617360448201526f7572792061646472657373207a65726f60801b606482015260840161069a565b6001600160a01b038616610ba35760405162461bcd60e51b815260206004820152602260248201527f416972647269705f5f41646d696e2077616c6c65742061646472657373207a65604482015261726f60f01b606482015260840161069a565b610bab6119e4565b610bb4336119ec565b610bbc6119e4565b610bc46119fd565b600180546001600160a01b0319166001600160a01b0389811691821783556007805460068590556005949094556001600160a81b0319909316610100918a1691820260ff1916179092556040517ff97291b7a8208de00589d692d20b2ad295f55eb2abe147cffd3c89253a86ae12905f90a38315610c7c57845460ff60401b19168555604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b50505050505050565b5f8181526002602081905260408220600181015491810154919291829190610cad9085612334565b92505f8160020154119150509193909250565b610cc8611a0d565b610cd182611ab1565b610cdb8282611aef565b5050565b5f610ce8611bab565b505f8051602061247983398151915290565b610d02611860565b6007805460ff19168215159081179091556040519081527f77d750510399d832ad89e446a9e099c573cd26dfe25f0f8b5c9164b00f668c23906020015b60405180910390a150565b610d52611860565b610a2f5f611bf4565b3380610d6561154c565b6001600160a01b031614610d975760405163118cdaa760e01b81526001600160a01b038216600482015260240161069a565b61095881611bf4565b610da8611892565b610db06118c2565b5f85815260026020526040902080546001600160a01b03163314610de65760405162461bcd60e51b815260040161069a90612347565b600381015460ff1615610e0b5760405162461bcd60e51b815260040161069a90612388565b5f816002015411610e6a5760405162461bcd60e51b8152602060048201526024808201527f416972647269705f5f4d75737420636c61696d20696e697469616c20312520666044820152631a5c9cdd60e21b606482015260840161069a565b5f868152600460209081526040808320338452825280832088845290915290205460ff1615610edb5760405162461bcd60e51b815260206004820152601d60248201527f416972647269705f5f5765656b20616c726561647920636c61696d6564000000604482015260640161069a565b600554851115610f2d5760405162461bcd60e51b815260206004820152601f60248201527f416972647269705f5f5765656b206e6f742079657420617661696c61626c6500604482015260640161069a565b60328410158015610f40575061012c8411155b8015610f545750610f526032856123dd565b155b610fb05760405162461bcd60e51b815260206004820152602760248201527f416972647269705f5f496e76616c696420706572666f726d616e63652070657260448201526663656e7461676560c81b606482015260840161069a565b60408051602081018890526bffffffffffffffffffffffff193360601b169181019190915260548101869052607481018590525f9060940160405160208183030381529060405280519060200120905061104a8484808060200260200160405190810160405280939291908181526020018383602002808284375f9201829052508b8152600360205260409020549250859150611c2c9050565b6110965760405162461bcd60e51b815260206004820152601d60248201527f416972647269705f5f496e76616c6964206d65726b6c652070726f6f66000000604482015260640161069a565b5f6127108684600101546110aa91906123f0565b6110b49190612407565b90505f836002015484600101546110cb9190612334565b90505f8183116110db57826110dd565b815b90505f811161112e5760405162461bcd60e51b815260206004820181905260248201527f416972647269705f5f4e6f2072656d61696e696e6720616c6c6f636174696f6e604482015260640161069a565b5f8a815260046020908152604080832033845282528083208c84529091528120805460ff1916600117905560028601805483929061116d908490612321565b90915550505f54611188906001600160a01b031633836118f9565b60408051828152602081018a90528a9133918d917f04984f7e33f08bce5df42c3ab60220c8af8d574dffaab0a358bdc72ac4a3dd3d910160405180910390a450505050506111e260015f805160206124b983398151915255565b5050505050565b6111f1611860565b610a2f611c43565b5f807f9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c1993005b546001600160a01b031692915050565b611235611860565b5f546001600160a01b03161561128d5760405162461bcd60e51b815260206004820152601a60248201527f416972647269705f5f546f6b656e20616c726561647920736574000000000000604482015260640161069a565b6001600160a01b0381166112e35760405162461bcd60e51b815260206004820152601b60248201527f416972647269705f5f546f6b656e2061646472657373207a65726f0000000000604482015260640161069a565b5f80546001600160a01b0319166001600160a01b03831690811782556040519091907f8d8516425d284695d91ad9d5be4754c1ac2fba5f18dad01d470934924b4c6b1f908290a350565b5f611336611892565b61133e6118c2565b611346611860565b6001600160a01b0383166113b05760405162461bcd60e51b815260206004820152602b60248201527f416972647269705f5f42656e65666963696172792063616e6e6f74206265207a60448201526a65726f206164647265737360a81b606482015260840161069a565b662386f26fc100008210156114495760405162461bcd60e51b815260206004820152605360248201527f416972647269705f5f546f74616c20616d6f756e74206d75737420626520617460448201527f206c6561737420302e303120746f6b656e7320666f7220696e697469616c20636064820152726c61696d20746f206265206e6f6e2d7a65726f60681b608482015260a40161069a565b6006545f818152600260205260409081902080546001600160a01b0319166001600160a01b03878116919091178255600180830187905554925163a8031a1d60e01b8152306004820152602481018790529192169063a8031a1d906044015f604051808303815f87803b1580156114be575f80fd5b505af11580156114d0573d5f803e3d5ffd5b505060068054925090505f6114e48361241a565b9190505550846001600160a01b0316827f8e965a04c10fe7c713bf1e8e9ccbd21866ab9a203aea1df2a523d10442f33b308660405161152591815260200190565b60405180910390a350905061154660015f805160206124b983398151915255565b92915050565b5f807f237e158222e3e6968b72b9db0d8043aacf074ad9f650f0d1606b4d82ee432c0061121d565b61157c611860565b7f237e158222e3e6968b72b9db0d8043aacf074ad9f650f0d1606b4d82ee432c0080546001600160a01b0319166001600160a01b03831690811782556115c06111f9565b6001600160a01b03167f38d16b8cac22d99fc7c124b9cd0de2d3fa1faef420bfe791d8c362d765e2270060405160405180910390a35050565b611601611892565b6116096118c2565b60075460ff1661166b5760405162461bcd60e51b815260206004820152602760248201527f416972647269705f5f496e697469616c20636c61696d7320617265206e6f7420604482015266195b98589b195960ca1b606482015260840161069a565b5f81815260026020526040902080546001600160a01b031633146116a15760405162461bcd60e51b815260040161069a90612347565b600381015460ff16156116c65760405162461bcd60e51b815260040161069a90612388565b6002810154156117245760405162461bcd60e51b815260206004820152602360248201527f416972647269705f5f496e697469616c20636c61696d20616c7265616479206d60448201526261646560e81b606482015260840161069a565b5f61271082600101546103e861173a91906123f0565b6117449190612407565b5f546040516370a0823160e01b815230600482015291925082916001600160a01b03909116906370a0823190602401602060405180830381865afa15801561178e573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906117b29190612432565b101561180f5760405162461bcd60e51b815260206004820152602660248201527f416972647269705f5f496e73756666696369656e7420636f6e74726163742062604482015265616c616e636560d01b606482015260840161069a565b600282018190555f5461182c906001600160a01b031633836118f9565b604051818152339084907f880f2ef2613b092f1a0a819f294155c98667eb294b7e6bf7a3810278142c1a1c90602001610938565b336118696111f9565b6001600160a01b031614610a2f5760405163118cdaa760e01b815233600482015260240161069a565b5f805160206124998339815191525460ff1615610a2f5760405163d93c066560e01b815260040160405180910390fd5b5f805160206124b98339815191528054600119016118f357604051633ee5aeb560e01b815260040160405180910390fd5b60029055565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b17905261194b908490611c8b565b505050565b60015f805160206124b983398151915255565b61196b611cfd565b5f80516020612499833981519152805460ff191681557f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa335b6040516001600160a01b039091168152602001610d3f565b5f807ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00611546565b610a2f611d2c565b6119f4611d2c565b61095881611d51565b611a05611d2c565b610a2f611d82565b306001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161480611a9357507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316611a875f80516020612479833981519152546001600160a01b031690565b6001600160a01b031614155b15610a2f5760405163703e46dd60e11b815260040160405180910390fd5b611ab9611860565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b905f90a250565b816001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015611b49575060408051601f3d908101601f19168201909252611b4691810190612432565b60015b611b7157604051634c9c8ce360e01b81526001600160a01b038316600482015260240161069a565b5f805160206124798339815191528114611ba157604051632a87526960e21b81526004810182905260240161069a565b61194b8383611d8a565b306001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610a2f5760405163703e46dd60e11b815260040160405180910390fd5b7f237e158222e3e6968b72b9db0d8043aacf074ad9f650f0d1606b4d82ee432c0080546001600160a01b0319168155610cdb82611ddf565b5f82611c388584611e4f565b1490505b9392505050565b611c4b611892565b5f80516020612499833981519152805460ff191660011781557f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a258336119a4565b5f8060205f8451602086015f885af180611caa576040513d5f823e3d81fd5b50505f513d91508115611cc1578060011415611cce565b6001600160a01b0384163b155b15611cf757604051635274afe760e01b81526001600160a01b038516600482015260240161069a565b50505050565b5f805160206124998339815191525460ff16610a2f57604051638dfc202b60e01b815260040160405180910390fd5b611d34611e91565b610a2f57604051631afcd79f60e31b815260040160405180910390fd5b611d59611d2c565b6001600160a01b038116610d9757604051631e4fbdf760e01b81525f600482015260240161069a565b611950611d2c565b611d9382611eaa565b6040516001600160a01b038316907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b905f90a2805115611dd75761194b8282611f0d565b610cdb611f7f565b7f9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c19930080546001600160a01b031981166001600160a01b03848116918217845560405192169182907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0905f90a3505050565b5f81815b8451811015611e8957611e7f82868381518110611e7257611e72612449565b6020026020010151611f9e565b9150600101611e53565b509392505050565b5f611e9a6119bc565b54600160401b900460ff16919050565b806001600160a01b03163b5f03611edf57604051634c9c8ce360e01b81526001600160a01b038216600482015260240161069a565b5f8051602061247983398151915280546001600160a01b0319166001600160a01b0392909216919091179055565b60605f80846001600160a01b031684604051611f29919061245d565b5f60405180830381855af49150503d805f8114611f61576040519150601f19603f3d011682016040523d82523d5f602084013e611f66565b606091505b5091509150611f76858383611fc7565b95945050505050565b3415610a2f5760405163b398979f60e01b815260040160405180910390fd5b5f818310611fb8575f828152602084905260409020611c3c565b505f9182526020526040902090565b606082611fdc57611fd782612023565b611c3c565b8151158015611ff357506001600160a01b0384163b155b1561201c57604051639996b31560e01b81526001600160a01b038516600482015260240161069a565b5080611c3c565b8051156120335780518082602001fd5b60405163d6bda27560e01b815260040160405180910390fd5b5f806040838503121561205d575f80fd5b50508035926020909101359150565b5f6020828403121561207c575f80fd5b5035919050565b80356001600160a01b0381168114612099575f80fd5b919050565b5f602082840312156120ae575f80fd5b611c3c82612083565b5f80604083850312156120c8575f80fd5b6120d183612083565b91506120df60208401612083565b90509250929050565b634e487b7160e01b5f52604160045260245ffd5b5f806040838503121561210d575f80fd5b61211683612083565b9150602083013567ffffffffffffffff80821115612132575f80fd5b818501915085601f830112612145575f80fd5b813581811115612157576121576120e8565b604051601f8201601f19908116603f0116810190838211818310171561217f5761217f6120e8565b81604052828152886020848701011115612197575f80fd5b826020860160208301375f6020848301015280955050505050509250929050565b5f805f606084860312156121ca575f80fd5b833592506121da60208501612083565b9150604084013590509250925092565b5f602082840312156121fa575f80fd5b81358015158114611c3c575f80fd5b5f805f805f6080868803121561221d575f80fd5b853594506020860135935060408601359250606086013567ffffffffffffffff80821115612249575f80fd5b818801915088601f83011261225c575f80fd5b81358181111561226a575f80fd5b8960208260051b850101111561227e575f80fd5b9699959850939650602001949392505050565b5f5b838110156122ab578181015183820152602001612293565b50505f910152565b602081525f82518060208401526122d1816040850160208701612291565b601f01601f19169190910160400192915050565b5f80604083850312156122f6575f80fd5b6122ff83612083565b946020939093013593505050565b634e487b7160e01b5f52601160045260245ffd5b808201808211156115465761154661230d565b818103818111156115465761154661230d565b60208082526021908201527f416972647269705f5f4e6f74207363686564756c652062656e656669636961726040820152607960f81b606082015260800190565b60208082526021908201527f416972647269705f5f4169726472697020686173206265656e207265766f6b656040820152601960fa1b606082015260800190565b634e487b7160e01b5f52601260045260245ffd5b5f826123eb576123eb6123c9565b500690565b80820281158282048414176115465761154661230d565b5f82612415576124156123c9565b500490565b5f6001820161242b5761242b61230d565b5060010190565b5f60208284031215612442575f80fd5b5051919050565b634e487b7160e01b5f52603260045260245ffd5b5f825161246e818460208701612291565b919091019291505056fe360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbccd5ed15c6e187e77e9aee88184c21f4f2182ab5827cb3b7e07fbedcd63f033009b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f00a264697066735822122032b4aee26716dab15952ca8c8ee4a553c2e040a31cf8bfab9a9f0e67c7a0c5d664736f6c63430008170033