Îõ³h&…¨ß      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^ Safe-Inferred/01;<ÁÂÃÄÅÌ×ÙÚÜãïô multiwalk,Modifiers (used for customizing constraints) multiwalkConstructor and field selectors multiwalk,Modifiers (used for customizing constraints) multiwalkêCarrier type, should be equal to Carrier of type above (to be aligned with the target's generic subtypes)   Safe-Inferred)*/1;<ÁÂÃÄÅÌÙÚÜãïT# multiwalk’Use this for matching a subcomponent nested inside another type. Useful if you don't want to add the middle type to the list of walkable types.$ multiwalkÒUse this for matching with another type that is coercible to the type you want.% multiwalk?Use this for matching with a type inside a traversable functor.& multiwalkƒAuxiliary class that keeps track of how retrieve queries and walks from their lists and apply them according to the combinators., multiwalk.Heterogeneous list of monadic-valued functions2 multiwalkHeterogeneous list of queries; multiwalk7Modify (only) substructures by applying functions from ,.< multiwalk6Query (only) substructures by applying functions from 2.( #$%&'()*+,.-/0124356789:;<( #$%&'()*+,.-/0124356789:;<.848 Safe-Inferred/1;<ÁÂÃÄÅÌ×ÙÚÜãïR M multiwalk˜A list of substructure specifications for types that are substructures to this type; all types listed here should also be listed in the corresponding PÍ, but you can omit types from there that should not be regarded as subtypes.ÏSubstructure specifications are special datakinds that you can generate using 6 and 5, and the combinators (eg. #, $ and %).N multiwalkøIf you want to write HasSub instances by hand (not that easy), you can put the associated HasSub tag here. Defaults to  (which derives Generic instances).O multiwalkYou should instantiate OÕ to a tag associated to the structure you are working with. The tag is mostly there to prevent orphan instances, since people are often working with structures from other packages (Pandoc AST, HTML, etc.)P multiwalkßThe types that will be used in the walks and queries; every type listed here should have a L3 instance. (The compiler will complain about this.)Q multiwalk6Query (only) substructures by applying functions from 2.R multiwalk7Modify (only) substructures by applying functions from ,.S multiwalkÇQuery a structure with a single query function (just like Pandoc.Walk).T multiwalkÍModify a structure by walking with a single function (just like Pandoc.Walk).U multiwalkÍModify a structure by walking with a single function (just like Pandoc.Walk).V multiwalkèMost general way to create a query. Create a query with multiple functions, targeting multiple types.First argument is a function that takes a query, an empty list of queries and should return a list of queries populated with the multiple query functions.×By "tying a knot", the first argument you are supplied with is almost the result of V; itself, the only difference being that it only queries  substructures? of the type. It's a responsability of each function in the 2í to apply this function to its argument in any desired way, as to continue recursing down the "type tree".#You can add functions to the empty 2 via X. Ömulti :: Block -> [Text] multi = buildMultiQ @PTag $ \sub list -> list ?> blks sub ?> inls sub where blks _ (CodeBlock _ c) = [c] blks f x = f x inls _ (Code _ c) = [c] inls f x = f xW multiwalkæMost general way to create a walk. Create a walk with multiple functions, targeting multiple types.ŸFirst argument is a function that takes a walk, an empty list of functions and should return a list of functions populated with the multiple walk functions.×By "tying a knot", the first argument you are supplied with is almost the result of W9 itself, the only difference being that it only walks  substructures? of the type. It's a responsability of each function in the ,í to apply this function to its argument in any desired way, as to continue recursing down the "type tree".#You can add functions to the empty , via Y. ómulti :: Applicative m => Block -> m Block multi = buildMultiW @PTag $ \sub list -> list .> blks sub .> inls sub where blks _ (CodeBlock _ c) = Para [Str c] blks f x = f x inls _ (Code _ c) = Str c inls f x = f xX multiwalkAdd a function to a 2.Y multiwalkAdd a function to a ,.) #$%,.-24356EFGHIJKLMNOPQRSTUVWXY)OPLMNSTUIJRQWVYX65 %$#K,.-243EFGHß      !"#$%&'()*+,-./01234567  89:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]Þmultiwalk-0.3.0.1-inplaceControl.MultiWalk.HasSubControl.MultiWalk.ContainsControl.MultiWalkAllModsAllGSubTagHasSubmodSubgetSub ToSpecSelToSpecSelSpecNoSelConsSelFieldSel ConsFieldSelCarrierSubSpecSpecSpecListSpecLeafSpecSelf$fHasSubktagctagSpecLeaft$fHasSubktagctagSpecSelft$fHasSub'ctaglsNothingNothingM1 $fHasSub'ctaglsNothingNothingM10$fHasSub'ctaglsaNothingM1$fHasSub'ctagsNothingNothing:+:$fHasSub'ctag_a_b_cU1$fHasSub'ctagsaNothing:*:$fHasSub'ctag[]_a_bK1$fHasSub'ctag:abK1$fHasSub'ctag:JustJustK1$fHasSub'ctag:Just_bK1$fHasSub'ctag:_aJustK1$fHasSub'ctag:_a_bK1 $fHasSubTYPEctagGSubTagSpecListtUnder MatchWithTrav TContainstGetWtGetQ FContainsfGetfSetFListFNil:.: QContainsqGetqSetQListQNil:?:ContainsCarrierMWCTagmodSubWithFListgetSubWithQList $fQContains:t$fQContains:t0 $fFContains:t$fFContains:t0$fTContainsfsUnder$fTContainsfsMatchWith$fTContainsfsTrav$fTContainsfsaBuildFbuildFBuildQbuildQWalkQuery MultiWalkMultiSubSubTypes HasSubTagMultiTag MultiTypesquerySubwalkSubquerywalkwalkM buildMultiQ buildMultiW?>.> $fBuildQc: $fBuildQc[] $fBuildFc: $fBuildFc[]$fMultiWalk'tagt