!vRI      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~       !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHNone7HSVX3  Noneg  None47HV' !"#$%&'()*+,-./0123456789:;<=>?@ABCDE'./0123456()*+,-789:%&'#$;<= !">?@ABCDENone47HV%Qfcursor?Swaps the current node with the previous node on the same levelExample:Before: p |- a |- b <--After: p |- b <-- |- agcursor;Swaps the current node with the next node on the same levelExample:Before: p |- a <-- |- bAfter: p |- b |- a <--bcdefgfgbcdeNone"#HV%nopqrsnopqrsNone&MtuvwxtuvwxNone"#HVX& yz{|}~ yz{|}~None47HV/Acursor5Promotes the current node to the level of its parent.Example:Before: Q p |- a | |- b | | |- c | |- d <-- | | |- e | |- f | |- g |- hAfter: N p |- a | |- b | | |- c | | |- e | |- f | |- g |- d <-- |- hcursor5Promotes the current node to the level of its parent.Example:Before: Q p |- a | |- b | | |- c | |- d <-- | | |- e | |- f | |- g |- hAfter: K p |- a | |- b | | |- c | |- f | |- g |- d <-- | |- e |- h None"#HV4?cursorPGo back and down as far as necessary to find a previous element on a level belowcursorMGo up as far as necessary to find a next element on a level above and forwardaNote: This will fail if there is a next node on the same level or any node below the current node%&'%&' None"#HV5= None47HVBcursor6Demotes the current node to the level of its children.Example:Before: * p |- a | |- b |- c <-- | |- d |- eAfter: - p |- a | |- b | |- c <-- | |- d |- ecursor9Demotes the current subtree to the level of its children.Example:Before: * p |- a | |- b |- c <-- | |- d |- eAfter: 0 p |- a | |- b | |- c <-- | |- d |- ecursorDemotes the current node to the level of its children, by adding two roots. One for the current node and one for its children that are left behind.Example:Before:  p |- a <-- |- bAfter: D p |- <given element 1> | |- a <-- |- <given element 2> | |- bcursorKDemotes the current subtree to the level of its children, by adding a root.Example:Before:  a <-- |- bAfter: # <given element> |- a <-- |- b None7SXB None"#HVCc NoneCu !"#$%&'()*+,-./0123456789:;<=>?@ABCDEbcdefgnopqrstuvwxyz{|}~ ./012()*+,-NoneHVJcursorPGo back and down as far as necessary to find a previous element on a level belowcursorMGo up as far as necessary to find a next element on a level above and forwardaNote: This will fail if there is a next node on the same level or any node below the current node]#$%&'()*+,-345789:;<=bcdefgnotuvwx]()*+,-n345789:o%&'tuvwxfgbcde#$;<=None"#47HVN_cursorA 'nonempty list' cursor$      !"#$%$      !"#$%NoneHVPW,cursorA 'nonempty list' cursor  ,-./0123456789:;<=>?,-. /0 123456789:;<=>?None7HSVXQ2 @ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`a"@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`aNoneHSVXSk- BEFIJRTUghijklmnopqrstuvwxyz{|}gBhiEFjkIJlmnopqrRsTUtuvwxyz{|}None"#47HVUscursorIn reverse order~~None7HVW;cursorA cursor for single-line textsNone"#7HVYcursorreturns I when given unsafe characters.cursorreturns I when given unsafe characters.None"#7HVpcursor?Swaps the current node with the previous node on the same levelExample:Before:  - a - b <--After:  - b <-- - acursor;Swaps the current node with the next node on the same levelExample:Before:  - a <-- - bAfter:  - b - a <--cursor5Promotes the current node to the level of its parent.Example:Before: >- a |- b | |- c |- d <-- | |- e |- f |- g - hAfter: ;- a |- b | |- c | |- e |- f |- g - d <-- - hcursor5Promotes the current node to the level of its parent.Example:Before: F - a |- b | |- c |- d <-- | |- e |- f |- g - hAfter: 9 - a |- b | |- c |- f |- g - d <-- |- e - hcursor6Demotes the current node to the level of its children.Example:Before: - a |- b - c <-- |- d - eAfter:  - a |- b |- c <-- |- d - ecursor9Demotes the current subtree to the level of its children.Example:Before:  - a |- b - c <-- |- dAfter: # - a |- b |- c <-- |- dcursorDemotes the current node to the level of its children, by adding two roots. One for the current node and one for its children that are left behind.Example:Before:  - a <-- |- bAfter: = - <given element 1> |- a <-- - <given element 2> |- bcursorKDemotes the current subtree to the level of its children, by adding a root.Example:Before:  a <-- |- bAfter: # <given element> |- a <-- |- bO !"#$;<=>?@     O     #$;<= !">?@NoneHVsK !"#$;<=>?@  #$%&'()*+,-./0123456789:;<=>?@ABCDEFGHK#$%&'()*,+.-/0123456789:;  <=>?@ABCDEFGH#$;<= !">?@Safev-JKLMNOPQR !"#$%&'()*+,-./012"$%&'3456789:;<<=>?@AABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~        A          !"#$%&'()*+,-./0123456789:;<="#$%&'(*-./0123456>>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]]^_`abcdefghijklmnopqrstuvwxxyz{|}~%cursor-0.3.0.0-4Hn80vYAl979Qxk54M4vdLCursor.Map.KeyValueCursor.Simple.Map.KeyValueCursor.Tree.TypesCursor.Tree.SwapCursor.Tree.DrawCursor.Tree.CollapseCursor.Tree.BaseCursor.Tree.PromoteCursor.Tree.MovementCursor.Tree.InsertCursor.Tree.Demote Cursor.TypesCursor.Tree.DeleteCursor.Simple.TreeCursor.List.NonEmptyCursor.Simple.List.NonEmpty Cursor.MapCursor.Simple.Map Cursor.List Cursor.TextCursor.TextField Cursor.ForestCursor.Simple.Forest Cursor.Tree Paths_cursorKeyValueToggle KeySelected ValueSelectedKeyValueCursorKeyValueCursorKeyKeyValueCursorValuemakeKeyValueCursorKeymakeKeyValueCursorValuerebuildKeyValueCursorkeyValueCursorSelectionmapKeyValueCursorkeyValueCursorSelectKeykeyValueCursorSelectValuekeyValueCursorToggleSelectedtraverseKeyValueCursorfoldKeyValueCursor$fNFDataKeyValueCursor$fValidityKeyValueCursor$fValidityKeyValueToggle$fShowKeyValueCursor$fEqKeyValueCursor$fGenericKeyValueCursor$fShowKeyValueToggle$fEqKeyValueToggle$fGenericKeyValueToggleCForest EmptyCForest ClosedForest OpenForestCTreeCNodeTreeCursorSelection SelectNode SelectChild TreeAbovetreeAboveLeftstreeAboveAbove treeAboveNodetreeAboveRights TreeCursor treeAbove treeCurrent treeBelowtreeCursorAboveLtreeCursorCurrentLtreeCursorBelowLtreeCursorCurrentSubTreeLtreeAboveLeftsLtreeAboveAboveLtreeAboveNodeLtreeAboveRightsL makeCTreecTree rebuildCTree makeCForestcForestrebuildCForest emptyCForest openForest closedForest lengthCForest unpackCForest$fNFDataTreeCursorSelection$fValidityTreeCursorSelection$fNFDataCForest$fValidityCForest $fNFDataCTree$fValidityCTree$fNFDataTreeAbove$fValidityTreeAbove$fNFDataTreeCursor$fValidityTreeCursor$fShowTreeCursorSelection$fEqTreeCursorSelection$fGenericTreeCursorSelection $fShowCForest $fEqCForest$fGenericCForest$fFunctorCForest $fShowCTree $fEqCTree$fGenericCTree$fFunctorCTree$fShowTreeAbove $fEqTreeAbove$fGenericTreeAbove$fFunctorTreeAbove$fShowTreeCursor$fEqTreeCursor$fGenericTreeCursor SwapResultSwapperIsTopNodeNoSiblingsToSwapWithSwappedtreeCursorSwapPrevtreeCursorSwapNext$fNFDataSwapResult$fValiditySwapResult$fShowSwapResult$fEqSwapResult$fGenericSwapResult$fFunctorSwapResultdrawTreeCursortreeCursorWithPointer showCForest showCTree showForestshowTreetreeCursorOpenCurrentForesttreeCursorCloseCurrentForesttreeCursorToggleCurrentForest&treeCursorOpenCurrentForestRecursively(treeCursorToggleCurrentForestRecursivelysingletonTreeCursormakeTreeCursormakeTreeCursorWithSelectionrebuildTreeCursor mapTreeCursor currentTreemakeTreeCursorWithAbovetraverseTreeCursorfoldTreeCursor PromoteResultCannotPromoteTopNodeNoGrandparentToPromoteUnderPromotedPromoteElemResultCannotPromoteTopElemNoGrandparentToPromoteElemUnderNoSiblingsToAdoptChildren PromotedElemtreeCursorPromoteElemtreeCursorPromoteSubTree$fMonadPromoteElemResult$fApplicativePromoteElemResult$fNFDataPromoteElemResult$fValidityPromoteElemResult$fMonadPromoteResult$fApplicativePromoteResult$fNFDataPromoteResult$fValidityPromoteResult$fShowPromoteElemResult$fEqPromoteElemResult$fGenericPromoteElemResult$fFunctorPromoteElemResult$fShowPromoteResult$fEqPromoteResult$fGenericPromoteResult$fFunctorPromoteResulttreeCursorSelectiontreeCursorSelecttreeCursorSelectPrevtreeCursorSelectNexttreeCursorSelectFirsttreeCursorSelectLasttreeCursorSelectAbovetreeCursorSelectBelowAtPostreeCursorSelectBelowAtStarttreeCursorSelectBelowAtEnd'treeCursorSelectBelowAtStartRecursively%treeCursorSelectBelowAtEndRecursivelytreeCursorSelectPrevOnSameLeveltreeCursorSelectNextOnSameLeveltreeCursorSelectAbovePrevtreeCursorSelectAboveNexttreeCursorInserttreeCursorInsertAndSelecttreeCursorAppendtreeCursorAppendAndSelecttreeCursorAddChildAtPostreeCursorAddChildAtStarttreeCursorAddChildAtEnd DemoteResultCannotDemoteTopNodeNoSiblingsToDemoteUnderDemotedtreeCursorDemoteElemtreeCursorDemoteSubTreetreeCursorDemoteElemUndertreeCursorDemoteSubTreeUnder$fNFDataDemoteResult$fValidityDemoteResult$fShowDemoteResult$fEqDemoteResult$fGenericDemoteResult$fFunctorDemoteResultDeleteOrUpdateDeletedUpdated isSafeChar joinDeletes joinDeletes3joinPossibleDeletesfocusPossibleDeleteOrUpdate dullMDelete dullDelete$fAlternativeDeleteOrUpdate$fApplicativeDeleteOrUpdate$fFunctorDeleteOrUpdate$fValidityDeleteOrUpdate$fShowDeleteOrUpdate$fEqDeleteOrUpdate$fGenericDeleteOrUpdate(treeCursorDeleteSubTreeAndSelectPrevious$treeCursorDeleteSubTreeAndSelectNext%treeCursorDeleteSubTreeAndSelectAbovetreeCursorRemoveSubTreetreeCursorDeleteSubTree%treeCursorDeleteElemAndSelectPrevious!treeCursorDeleteElemAndSelectNext"treeCursorDeleteElemAndSelectAbovetreeCursorRemoveElemtreeCursorDeleteElemNonEmptyCursornonEmptyCursorPrevnonEmptyCursorCurrentnonEmptyCursorNextmakeNonEmptyCursormakeNonEmptyCursorWithSelectionsingletonNonEmptyCursorrebuildNonEmptyCursormapNonEmptyCursornonEmptyCursorElemLnonEmptyCursorSelectPrevnonEmptyCursorSelectNextnonEmptyCursorSelectFirstnonEmptyCursorSelectLastnonEmptyCursorSelectionnonEmptyCursorSelectIndexnonEmptyCursorInsertnonEmptyCursorAppendnonEmptyCursorInsertAndSelectnonEmptyCursorAppendAndSelectnonEmptyCursorInsertAtStartnonEmptyCursorAppendAtEnd$nonEmptyCursorInsertAtStartAndSelect"nonEmptyCursorAppendAtEndAndSelect%nonEmptyCursorRemoveElemAndSelectPrev%nonEmptyCursorDeleteElemAndSelectNextnonEmptyCursorRemoveElemnonEmptyCursorDeleteElemnonEmptyCursorSearchnonEmptyCursorSelectOrAddrenderNonEmptyCursornonemptyPrependnonemptyAppendtraverseNonEmptyCursorfoldNonEmptyCursor$fNFDataNonEmptyCursor$fValidityNonEmptyCursor$fShowNonEmptyCursor$fEqNonEmptyCursor$fGenericNonEmptyCursor$fFunctorNonEmptyCursor MapCursor mapCursorList makeMapCursormakeMapCursorWithSelectionsingletonMapCursorKeysingletonMapCursorValuerebuildMapCursor mapMapCursormapCursorNonEmptyCursorLmapCursorElemLmapCursorSelectKeymapCursorSelectValuemapCursorToggleSelectedmapCursorSelectPrevmapCursorSelectNextmapCursorSelectFirstmapCursorSelectLastmapCursorSelectionmapCursorSelectIndexmapCursorInsertmapCursorAppendmapCursorInsertAndSelectKeymapCursorAppendAndSelectKeymapCursorInsertAndSelectValuemapCursorAppendAndSelectValue mapCursorRemoveElemAndSelectPrev mapCursorDeleteElemAndSelectNextmapCursorRemoveElemmapCursorDeleteElemmapCursorSearchmapCursorSelectOrAddtraverseMapCursor foldMapCursor$fNFDataMapCursor$fValidityMapCursor$fShowMapCursor $fEqMapCursor$fGenericMapCursor ListCursorlistCursorPrevlistCursorNextemptyListCursormakeListCursormakeListCursorWithSelectionrebuildListCursorlistCursorNulllistCursorLengthlistCursorIndexlistCursorSelectPrevlistCursorSelectNextlistCursorSelectIndexlistCursorSelectStartlistCursorSelectEndlistCursorPrevItemlistCursorNextItemlistCursorInsertlistCursorAppendlistCursorRemovelistCursorDeletelistCursorSplitlistCursorCombinetraverseListCursorfoldListCursor$fNFDataListCursor$fValidityListCursor$fShowListCursor$fEqListCursor$fGenericListCursor$fFunctorListCursor TextCursortextCursorListemptyTextCursormakeTextCursormakeTextCursorWithSelectionrebuildTextCursortextCursorNulltextCursorLengthtextCursorIndextextCursorSelectPrevtextCursorSelectNexttextCursorSelectIndextextCursorSelectStarttextCursorSelectEndtextCursorPrevChartextCursorNextChartextCursorInserttextCursorAppendtextCursorRemovetextCursorDeletetextCursorSplittextCursorCombine$fNFDataTextCursor$fValidityTextCursor$fShowTextCursor$fEqTextCursor$fGenericTextCursorTextFieldCursortextFieldCursorNonEmptymakeTextFieldCursor makeTextFieldCursorWithSelectionrebuildTextFieldCursorLinesrebuildTextFieldCursoremptyTextFieldCursornullTextFieldCursortextFieldCursorSelectiontextFieldCursorNonEmptyCursorLtextFieldCursorSelectedLtextFieldCursorSelectPrevLinetextFieldCursorSelectNextLinetextFieldCursorSelectFirstLinetextFieldCursorSelectLastLinetextFieldCursorSelectPrevChartextFieldCursorSelectNextChartextFieldCursorIndexOnLine textFieldCursorSelectIndexOnLinetextFieldCursorInsertChartextFieldCursorAppendChartextFieldCursorInsertNewlinetextFieldCursorAppendNewlinetextFieldCursorRemovetextFieldCursorDelete textFieldCursorSelectStartOfLinetextFieldCursorSelectEndOfLine$fNFDataTextFieldCursor$fValidityTextFieldCursor$fShowTextFieldCursor$fEqTextFieldCursor$fGenericTextFieldCursor ForestCursorforestCursorListCursormakeForestCursorrebuildForestCursordrawForestCursormapForestCursorforestCursorListCursorLforestCursorSelectedTreeL forestCursorSelectPrevTreeCursor forestCursorSelectNextTreeCursor!forestCursorSelectFirstTreeCursor forestCursorSelectLastTreeCursorforestCursorSelectNextforestCursorSelectPrev!forestCursorSelectNextOnSameLevel!forestCursorSelectPrevOnSameLevelforestCursorSelectFirstforestCursorSelectLastforestCursorSelectAboveforestCursorSelectBelowAtPosforestCursorSelectBelowAtStartforestCursorSelectBelowAtEndforestCursorSelectionforestCursorSelectIndexforestCursorOpenCurrentForestforestCursorCloseCurrentForestforestCursorToggleCurrentForest(forestCursorOpenCurrentForestRecursively*forestCursorToggleCurrentForestRecursivelyforestCursorInsertEntireTree%forestCursorInsertAndSelectTreeCursorforestCursorAppendEntireTree%forestCursorAppendAndSelectTreeCursorforestCursorInsertTreeforestCursorInsertAndSelectTreeforestCursorAppendTreeforestCursorAppendAndSelectTreeforestCursorInsertforestCursorInsertAndSelectforestCursorAppendforestCursorAppendAndSelect#forestCursorAddChildTreeToNodeAtPos%forestCursorAddChildTreeToNodeAtStart#forestCursorAddChildTreeToNodeAtEndforestCursorAddChildToNodeAtPos!forestCursorAddChildToNodeAtStartforestCursorAddChildToNodeAtEnd#forestCursorRemoveElemAndSelectPrev#forestCursorDeleteElemAndSelectNextforestCursorRemoveElemforestCursorDeleteElem&forestCursorRemoveSubTreeAndSelectPrev&forestCursorDeleteSubTreeAndSelectNextforestCursorRemoveSubTreeforestCursorDeleteSubTreeforestCursorAddRootforestCursorSwapPrevforestCursorSwapNextforestCursorPromoteElemforestCursorPromoteSubTreeforestCursorDemoteElemforestCursorDemoteSubTreeforestCursorDemoteElemUnderforestCursorDemoteSubTreeUndertraverseForestCursorfoldForestCursor$fNFDataForestCursor$fValidityForestCursor$fShowForestCursor$fEqForestCursor$fGenericForestCursorbase GHC.MaybeNothingversion getBinDir getLibDir getDynLibDir getDataDir getLibexecDir getSysconfDirgetDataFileName