#31!      Safe 1456=?SX& selectionsCA type alias for selections with the same unselected/selected types selectionsA selection wraps a Functor f and has an unselected type b and a selected type a selections*Expose the underlying representation of a  selections3Modify the underlying representation of a selection8A powerful and low-level way to transform your selection! selections3Modify the underlying representation of a selection8A powerful and low-level way to transform your selection selections9Create a selection from a functor by selecting all values selectionsIDrops selection from your functor returning all values (selected or not). forgetSelection .  = id forgetSelection =  id id selectionsCClear the selection then select only items which match a predicate.  f =  f .   selections:Add items which match a predicate to the current selection  f .  g =  (a -> f a || g a)  selections=Remove items which match a predicate to the current selection   f .  g =  (a -> f a && not (g a))  selections!Select all items in the container   =  (const True)  selections#Deselect all items in the container   =   (const True)  selectionsCFlip the selection, all selected are now unselected and vice versa.  selectionsMap over selected values   = fmap selectionsMap over unselected values  = " selections(Collect all selected values into a list.  = toList selectionsgCollect all unselected values into a list. For more complex operations use operations from Bifoldable.  =  .   selections6Unify selected and unselected and forget the selection  f g == forgetSelection .  onUnselected f .  onSelected g selectionsNPerform a natural transformation over the underlying container of a selectable# selections4Select values based on their context within a comonad. This combinator makes its selection by running the predicate using extend. selectWithContext :: (Comonad w) => (w a -> Bool) -> Selection w a a -> Selection w a a selectWithContext f = withUnwrapped (extend (choose' extract f) . fmap (either id id)) selections>Bitraversable over unselected and selected values respectively selections;Bifoldable over unselected and selected values respectively selectionsBifunctor over unselected (") and selected ($) values selectionsISelection is a monad over selected items when the underlying m is a Monad  SafeSX0 selections Traversal over selected elements  = % selections"Traversal over unselected elements  =  inverting .  selections-Traversal which inverts the current selection2This is provided as a Traversal to avoid adding a  profunctors> dependency. You can write the corresponding iso if you wish:  inverting = iso      selections=Traversal which exposes the underlying functor representation2This is provided as a Traversal to avoid adding a  profunctors> dependency. You can write the corresponding iso if you wish:  unwrapping = iso   wrapSelection  Safe0&'()*+,-.      !"#$%&'(%&)%*+,-./01234)selections-0.3.0.0-EHVE4EyC6sd9ZAgND37fOlData.Functor.SelectionControl.Lens.SelectionPaths_selections Selection' SelectionunwrapSelection withUnwrapped newSelection runSelectionselectincludeexclude selectAll deselectAllinvertSelection mapSelected mapUnselected getSelected getUnselectedunifyhoist$fBitraversableSelection$fBifoldableSelection$fBifunctorSelection$fMonadSelection$fApplicativeSelection$fFunctorSelection$fFoldableSelection$fTraversableSelection $fEqSelection$fShowSelectionselected unselectedinverted unwrappedreselectbaseData.Bifunctorfirstchoose'secondData.Traversabletraverseversion getBinDir getLibDir getDynLibDir getDataDir getLibexecDir getSysconfDirgetDataFileName