B41      !"#$%&'()*+,-./0None !"(>IKLN#Container when defining route paths2Constrained to AttoParsec, Regex-Compat and T.TextThe Origin chunk - the equivalent to []Match against a Literal chunk Match against a Parsed chunk Match against a Regular expression chunk Glue two chunks together &Use raw strings instead of prepending l       None!"&(3579>IKLN "FoldR Extend start chunks ~ resultTurn a list of tries (Rooted!) into a node with those children5Creates a string of nodes - a trie with a width of 1.1Existentially quantified case2 Literal case 3451267   3451267(c) 2015 Athan Clark BSD-styleathan.clark@gmail.com experimentalGHCNone!"&'-4>CFKLNiDesignate 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). Turn an ActionT into a  MiddlewareTk - could be used to make middleware-based route sets cooperate with the content-type and verb combinators.! Embed an ActionTB into a set of routes directly, without first converting it to a  MiddlewareT."Embed a  MiddlewareT into a set of routes.#,Prepend a path to an existing set of routes.$eSets the security role and error handler for a set of routes, optionally including its parent route.% Embed an ActionTP as a not-found handler into a set of routes, without first converting it to a  MiddlewareT.&Embed a  MiddlewareT- as a not-found handler into a set of routes.'Turns a HandlerT containing  MiddlewareT s into a  MiddlewareT.(wGiven a security verification function that returns a method to updating the session, turn a set of routes containing  MiddlewareT s into a  MiddlewareT0, where a session is secured before responding.) Exactly like route0, except specialized to route sets that contain ActionTs - essentially fmaping action to each element.* Exactly like  routeAuth, but specialized for ActionT.+Turns a HandlerT containing ActionT s into a HandlerT containing  MiddlewareTs.,Extracts only the normal handle (content) routes into a  MiddlewareT0, disregarding security and not-found responses.-^Find the security tokens / authorization roles affiliated with a request for a set of routes..1Extracts only the security handling logic into a  MiddlewareT./Extracts only the notFound responses into a  MiddlewareT.0fGiven a way to draw out a special-purpose trie from our route set, route to the responses based on a furthest-reached method.8Removes .txt from foo.txt9MA quirky function for processing the last element of a lookup path, only on literal matches." !"#$%&' Assembled handle calls( authorize Assembled handle calls)* authorize Assembled handle calls+,-./0:89;< =>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ !"#$%&'()*+,-./0"!#$&% '()*,/-.0+ !"#$%&'()*+,-./0:89;<       !"#$%&'()*+,-./0123456789:;<=>?@AB@ACDEFDEGDEHDEIDEJDEKDELDEMDENDEODEPDEQDERDESDETDEUDEVDEWDEXDEYDEZDE[DE\DE]DE^DE^D_`D_a@Ab@AcD_dD_eD_fD_gD_hD_iD_jD_kD_lD_mD_nD_oD_pD_qrstrsursursvrswrswrsxrsyrszrs{rs|rs}rs~rsrsrsrsrsrsrsrsrsrsrsrs                neste_HvGBfpM42qy5agjstBgmUP!Web.Routes.Nested.Types.UrlChunksWeb.Routes.Nested.TypesWeb.Routes.Nested UrlChunksConsRootEitherUrlChunk:=:~:*olpr$fIsStringEitherUrlChunkExtrudeextrudeExtendextend Singleton singleton CatMaybes AuthScope ProtectParentProtectChildrenExtrudeSoundlyRoutableActionT RoutableTActionTHandlerT runHandlerTTries execHandlerTaction handleActionhandleparentauthnotFoundActionnotFoundroute routeAuth routeActionrouteActionAuthactionToMiddlewareextractContentextractAuthSym extractAuthextractNotFoundextractNearestVia2$fExtendEitherUrlChunkRootedPredTrieRootedPredTrie3$fExtendEitherUrlChunkRootedPredTrieRootedPredTrie0 eitherToMaybe$fExtrudeUrlChunkstrie0trie2.$fExtrudeUrlChunksRootedPredTrieRootedPredTrie$fSingletonUrlChunksatrie1#$fSingletonUrlChunksaRootedPredTrie trimFileExt lookupWithLPTgetResultsFromMatchlookupWithLRPTtell'waitr_GWcrAav1FV03Sk5MskVlTjNetwork.Wai.Trans MiddlewareT ApplicationTwai_BZZHcfcYsq30yS9HqF042tNetwork.Wai.Internal StreamingBodyResponseReceivedResponse KnownLength ChunkedBodyRequestBodyLengthvault requestMethodrequestHeadersrequestHeaderRangerequestHeaderHostrequestBodyLength requestBody remoteHostrawQueryString rawPathInfo queryStringpathInfoisSecure httpVersionRequestfilePartOffsetfilePartFileSizefilePartByteCountFilePart Network.Wai Middleware ApplicationliftMiddlewareliftApplicationstrictRequestBodyresponseToStreamresponseStreamresponseStatus responseRaw responseLBSresponseHeaders responseFileresponseBuildermodifyResponsemapResponseHeaderslazyRequestBody ifRequestdefaultRequestwaimi_GzNLNSgf8TmK7gSU8eNjFUNetwork.Wai.Middleware.VerbsunVerbsVerbsrunVerbListenerT VerbListenerTVerb ResponseSpec RespondUpload HandleUploadverbsToMiddleware supplyReqputReqputpostReqpostmapVerbs lookupVerbM lookupVerbgetVerbgetReqgetexecVerbListenerT deleteReqdeletewaimi_4ZxWusqJUOWIMlcDsnhXIK(Network.Wai.Middleware.ContentType.Types unFileExtsFileExtsrunFileExtListenerTFileExtListenerTTextJson JavaScriptHtmlCssFileExttoExt mapFileExts getFileExtexecFileExtListenerT'Network.Wai.Middleware.ContentType.TexttextWithtextStatusWithtextStatusHeadersWithtextStatusHeaders textStatustextOnlyStatusHeaderstextOnlyStatustextOnlyHeaderstextOnlytextHeadersWith textHeaderstext)Network.Wai.Middleware.ContentType.Lucius luciusWithluciusStatusWithluciusStatusHeadersWithluciusStatusHeaders luciusStatusluciusOnlyStatusHeadersluciusOnlyStatusluciusOnlyHeaders luciusOnlyluciusHeadersWith luciusHeaderslucius(Network.Wai.Middleware.ContentType.Lucid lucidWithlucidStatusWithlucidStatusHeadersWithlucidStatusHeaders lucidStatuslucidOnlyStatusHeaderslucidOnlyStatuslucidOnlyHeaders lucidOnlylucidHeadersWith lucidHeaderslucid)Network.Wai.Middleware.ContentType.Julius juliusWithjuliusStatusWithjuliusStatusHeadersWithjuliusStatusHeaders juliusStatusjuliusOnlyStatusHeadersjuliusOnlyStatusjuliusOnlyHeaders juliusOnlyjuliusHeadersWith juliusHeadersjulius'Network.Wai.Middleware.ContentType.Json jsonpWithjsonpStatusWith jsonpStatusjsonpOnlyStatus jsonpOnlyjsonpjsonWithjsonStatusWithjsonStatusHeadersWithjsonStatusHeaders jsonStatusjsonOnlyStatusHeadersjsonOnlyStatusjsonOnlyHeadersjsonOnlyjsonHeadersWith jsonHeadersjson'Network.Wai.Middleware.ContentType.ClayclayWithclayStatusWithclayStatusHeadersWithclayStatusHeaders clayStatusclayOnlyStatusHeadersclayOnlyStatusclayOnlyHeadersclayOnlyclayHeadersWith clayHeadersclay*Network.Wai.Middleware.ContentType.Cassius cassiusWithcassiusStatusWithcassiusStatusHeadersWithcassiusStatusHeaders cassiusStatuscassiusOnlyStatusHeaderscassiusOnlyStatuscassiusOnlyHeaders cassiusOnlycassiusHeadersWithcassiusHeaderscassius-Network.Wai.Middleware.ContentType.ByteStringbytestringWithbytestringStatusWithbytestringStatusbytestringOnlyStatusbytestringOnly bytestring*Network.Wai.Middleware.ContentType.Builder builderWithbuilderStatusWith builderStatusbuilderOnlyStatus builderOnlybuilder(Network.Wai.Middleware.ContentType.Blaze blazeWithblazeStatusWithblazeStatusHeadersWithblazeStatusHeaders blazeStatusblazeOnlyStatusHeadersblazeOnlyStatusblazeOnlyHeaders blazeOnlyblazeHeadersWith blazeHeadersblaze"Network.Wai.Middleware.ContentTypepossibleFileExtslookupResponsefileExtsToMiddleware