XRQ<9      !"#$%&'()*+,-./012345678Safe/9:;<=>?@(c) 2015 Athan Clark BSD-styleathan.clark@gmail.com experimentalGHCNone &'-QSTV = #Container when defining route paths2Constrained to AttoParsec, Regex-Compat and T.TextThe Origin chunk - the equivalent to []Match against a Literal chunk-Removes file extension from the matched route Match against a Parsed chunk, with  .https://hackage.haskell.org/package/attoparsec attoparsec. Match against a Regular expression chunk, with  0https://hackage.haskell.org/package/regex-compat regex-compat. 6Match with a predicate against the url chunk directly. 7Prefix a routable path by more predicative lookup data.   9 (c) 2015 Athan Clark BSD-styleathan.clark@gmail.com experimentalGHCNone+3<FKT-The type of "content" builders; using the  8https://hackage.haskell.org/package/wai-middleware-verbswai-middleware-verbs and  ?https://hackage.haskell.org/package/wai-middleware-content-typewai-middleware-content-type packages.`Soundness constraint showing that a function's arity can be represented as a type-level list.{The (syntactic) monad for building a router with functions like "Web.Routes.Nested.match". it should have a shape of -RouterT (MiddlewareT m) (SecurityToken s) m a- when used with "Web.Routes.Nested.route".;The internal data structure built during route declaration.>Run the monad, only getting the built state and throwing away a.aRun the content builder into a middleware that responds when the content is satisfiable (i.e. Accept headers are O.K., etc.)  (c) 2015 Athan Clark BSD-styleathan.clark@gmail.com experimentalGHCNone$&'+,<FNSTVO!iDesignate the scope of security to the set of routes - either only the adjacent routes, or the adjacent and8 the parent container node (root node if not declared).$(Use a custom security token type and an ! to define where and  what kind of security should take place.(The constraints necessary for -.)The constraints necessary for *.*Embed a AV into a set of routes via a matching string. You should expect the match to create arity in your handler - the  childContent variable. The arity of  childContent may grow or shrink, depending on the heterogeneous list created from the list of parsers, regular expressions, or arbitrary predicates in the order written - so something like: 2match (p_ "double-parser" double </> o_) handler...then handler must have arity  Double ->>. If this route was at the top level, then the total arity must be Double -> MiddlewareT m.MGenerally, if the routes you are building get grouped by a predicate with -/, then we would need another level of arity before the Double.+Create a handle for the current route - an alias for h -> match o_ h.,Match against any route, as a last resort against all failing matches - use this for a catch-all at some level in their routes, something like a  not-found 404 page is useful.-Prepends a common route to an existing set of routes. You should note that doing this with a parser or regular expression will necessitate the existing arity in the handlers before the progam can compile..eSets the security role and error handler for a set of routes, optionally including its parent route./Use this function to run your  into a A; making your router executable in WAI. Note that this only responds with content, and doesn't protect your routes with your calls to ..; to protect routes, postcompose this with 0: route routes . routeAuth routes0,Supply a method to decide whether or not to & an exception based on the current  and the layers of .: tokens passed in your router, turn your router into a   for middlewares, basically.1Extracts only the normal *, - and + routes.2Extracts only the ,4 responses; something like the greatest-lower-bound.3`Find the security tokens / authorization roles affiliated with a request for a set of routes.4EExtracts only the security handling logic, and turns it into a guard.5hGiven a way to draw out a special-purpose trie from our route set, route to the responses based on a furthest-route-reached+ method, or like a greatest-lower-bound.BRemoves .txt from foo.txtCMA quirky function for processing the last element of a lookup path, only on literal matches. *!Predicative path to match againstThe response to send+The response to send,The response to send-!Predicative path to match againstChild routes to nest.Your security token/ The Router0authorization method The Router1The path to match against The Router2The path to match against The Router3The path to match against The Router4authorization method5The path to match againstlDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ !"#$%&'()*+,-./012345*+,-./012345$%&'!"#)(!"#$%&'    !"#$%&'()*+,--./0123456789:;<=>?@ABCDEFGHIJKLMNOPNOQNRSNRTNUVNUWNXYNXZN[\N[]N^_N^`NabNacNdeNdfNghNgiNjkNjlNmnNmoNpqNprNpsNptNpuNpvNpwNpxNpyNpzNp{Np|Np}Np~NpNpNpNpNpNpNpNpNpNpNpNpNp*nested-routes-8.2.0-KUL61nQBp4H8w94lDOkDaxWeb.Routes.Nested.MatchWeb.Routes.Nested.TypesWeb.Routes.NestedPaths_nested_routesControl.Monad.CatchthrowMNetwork.Wai.MiddlewareRequest Control.Monadguard UrlChunksEitherUrlChunko_origin_l_literal_f_file_p_parse_r_regex_pred_ActionTExtrudeSoundlyRouterT runRouterTTries trieContent trieCatchAll trieSecurity execRouterTaction $fMonoidTries$fFunctorRouterT$fApplicativeRouterT$fMonadRouterT$fMonadIORouterT$fMonadTransRouterT$fMonadStateRouterT AuthScope ProtectHereDontProtectHere SecurityToken securityToken securityScope MatchGroupMatchmatch matchHerematchAny matchGroupauthroute routeAuth extractMatchextractMatchAnyextractAuthSym extractAuthextractNearestVia$fShowAuthScope $fEqAuthScope$fShowSecurityTokenversion getBinDir getLibDir getDynLibDir getDataDir getLibexecDir getSysconfDirgetDataFileName-wai-transformers-0.0.7-90f48aAfz8L5MmB3YzRrkGNetwork.Wai.Trans MiddlewareT trimFileExt lookupWithLPT8wai-middleware-content-type-0.5.2-CVGHl1EpPQrDSmFHnNtEIv"Network.Wai.Middleware.ContentTypefileExtsToMiddleware lookupFileExt(Network.Wai.Middleware.ContentType.Blaze blazeOnlyblaze'Network.Wai.Middleware.ContentType.JsonjsonOnlyjson-Network.Wai.Middleware.ContentType.ByteStringbytestringOnly bytestring*Network.Wai.Middleware.ContentType.Cassius cassiusOnlycassius'Network.Wai.Middleware.ContentType.ClayclayOnlyclay)Network.Wai.Middleware.ContentType.Julius juliusOnlyjulius(Network.Wai.Middleware.ContentType.Lucid lucidOnlylucid)Network.Wai.Middleware.ContentType.Lucius luciusOnlylucius)Network.Wai.Middleware.ContentType.Pandoc markdownOnlymarkdown'Network.Wai.Middleware.ContentType.TexttextOnlytext(Network.Wai.Middleware.ContentType.TypesinvalidEncodingpossibleFileExts mapFileExtMapexecFileExtListenerT getLogger overFileExts mapHeaders mapStatusrunResponseViatoExt getFileExtFileExtTextOtherHtmlCss JavaScriptJsonMarkdown ResponseViaresponseFunction FileExtMapFileExtListenerTrunFileExtListenerT AcceptHeader1wai-middleware-verbs-0.3.2-7OwiuwZ0K3UCkehgnLLh0dNetwork.Wai.Middleware.VerbsdeleteputpostgetexecVerbListenerT lookupVerbgetVerbVerbMapVerb VerbListenerTrunVerbListenerT