úÎIDDƒJ      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHISafe JKLMNOPQRSTUVKQRSTUV JKLMNOPQRSTUV"Datatype and Typeclass definitionsNone 69;DIR The main identifier of a featureDAn abstraction representing the current state of the features store./A type describing an access-controlled feature. the name of the feature 2flag indicating if the Feautre is globally enabled 3a list of ActorIDs for which to enable the Feature. `the percentage of total actors for which to enable the Feature. | 0 <= enabledPercentage <= 100>Typeclass describing how to derive an ActorId from a datatype.dThe resulting ActorId produced must be unique within the set of actors permitted to a given feature.ATo clarify, let's say the actor is a User and User is defined as  data User = User { id :: Int }  It's sufficient to use the W‡ alone if it is unique among Users and User types are the only actor type using a given Feature. However, if a Feature is used by both User¾ types and `data Admin = Admin { id :: Int }` types where IDs are _not_ unique between types, it is recommended to avoid collisions by combining the type name and the ID unique to that type.$For example, the implementation for UserH and Admin could be @ instance HasActorId User where actorId user = User: <> show (user id)3instance HasActorId Admin where actorId user = Admin: <> show (user id) @,A standardization of feature-enableable IDs.The O typeclass describes how to modify the Features store within the current monad.5 modifies the Features store within the current monad3 modifies a single Feature within the current monadThe O typeclass describes how to access the Features store within the current monad.3 access the Features store within the current monad1 access a single Feature within the current monadSmart constructor1Updates a single Feature within the current monad& XY !"# !  XY !"#NoneI3The 3: transformer for in-memory feature switchable computation.6{Evaluates a feature-switched computation, returning the final value and discarding the final state of the feature switches.7ŠExecutes a feature-switched computation, returning the final state of the feature switches, discarding the final value of the computation.8aRuns a feature-switched computation, returning the final value and state of the feature switches.3456789:3456783456783456789:+Main user interface for the Flipper libraryNone AThe A> function calls the supplied function, 'm ()', when the given  is enabled.When the feature specified by & is disabled, 'm ()' is not evaluated.BThe B> function calls the supplied function, 'm ()', when the given  is enabled for the given actor.When the feature specified by : is disabled for the given actor, 'm ()' is not evaluated.CThe CE function returns a Bool indicating if the queried feature is active..When the queried FeatureName does not exists, C returns False.DThe DZ function returns a Bool indicating if the queried feature is active for the given enitty.,If the queried FeatureName does not exists, D returns False.EThe E' function activates a feature globally.EWhen the FeatureName does not exist, it is created and set to active.FThe F1 function activates a feature for a single actor.iIf the FeatureName does not exist in the store, it is created and set to active only for the given actor.GThe G9 function activates a feature for a percentage of actors.rIf the FeatureName does not exist in the store, it is created and set to active only for the specified percentage.HThe H) function deactivates a feature globally.GWhen the FeatureName does not exist, it is created and set to inactive.IThe I8 function flips the current state of a feature globally.CWhen the FeatureName does not exist, it is created and set to True.ZEWhen the FeatureName exists in the store, it is set to the specified   state.LWhen the FeatureName does not exist, it is created and set to the specified   state. ABCDEF[G\HIZ& ABCDEFGHI CDEFGHIAB ABCDEF[G\HIZ]        !"#$%&'()*+,-./01233456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^.feature-flipper-0.2.1.2-JGIMxdyJlBW2Ias5mBkILtControl.Flipper.TypesControl.Flipper.Adapters.MemoryControl.FlipperPaths_feature_flipper FeatureName unFeatureNameFeatures unFeatures PercentageFeature featureName isEnabled enabledActorsenabledPercentage HasActorIdactorIdActorIdModifiesFeatureFlagsupdateFeatures updateFeatureHasFeatureFlags getFeatures getFeature mkFeature mkFeaturesupsertupdate isEnabledFor$fIsStringFeatureName$fMonoidFeatures$fBoundedPercentage$fModifiesFeatureFlagsReaderT$fModifiesFeatureFlagsStateT$fHasFeatureFlagsReaderT$fHasFeatureFlagsStateT $fShowActorId $fEqActorId $fOrdActorId$fCRC32ActorId$fShowPercentage$fReadPercentage$fEqPercentage$fOrdPercentage$fNumPercentage$fShowFeatureName$fEqFeatureName$fOrdFeatureName $fShowFeature $fEqFeature$fShowFeaturesFlipperT unFlipperT evalFlipperT execFlipperT runFlipperT$fModifiesFeatureFlagsFlipperT$fHasFeatureFlagsFlipperT$fFunctorFlipperT$fApplicativeFlipperT$fMonadFlipperT$fMonadIOFlipperT$fMonadStateFlipperT$fMonadTransFlipperT whenEnabledwhenEnabledForenabled enabledForenable enableForenableForPercentagedisabletogglecatchIOversionbindirlibdirdatadir libexecdir sysconfdir getBinDir getLibDir getDataDir getLibexecDir getSysconfDirgetDataFileNamebaseGHC.Baseid mergeFeatures actorHash upsertFeature enableFor'enableForPercentage'