a3V@      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`ab c d e f g h i j k l m n o p q r s t u v w x y z { | } ~  None !"(>IKLN#Container when defining route paths2Constrained to AttoParsec, Regex-Compat and T.TextMatch against a Literal chunkMatch against a Parsed chunk Match against a Regular expression chunk Glue two chunks together The  new-Origin chunk - the equivalent to [] &Use raw strings instead of prepending l        None7CFN 7To compensate for responses that want to peek into the Request object. For simple GET responses Inspect the Request object supplied by WAI For simple POST responses Inspect the Request object supplied by WAI For simple PUT responses Inspect the Request object supplied by WAI  For simple DELETE responses! Inspect the Request object supplied by WAI  !"#  !# " !  !"#None *-./357C*Supported file extensions$%&'()*+,-./01$%&'()*+,-./01*+,-./0'()$%&1$%&'()*+,-./01None2-A builder is ambiguous, therefore we require RequestHeaders and a FileExt to be explicitly supplied.7The exact same thing as Network.Wai.responseBuilder.234567234567234567234567None8 ByteString% is ambiguous - we need to know what RequestHeaders and FileExt should be associated.=The exact same thing as Network.Wai.responseLBS.89:;<=89:;<=89:;<=89:;<=None>Uses Html as the key in the map, and  "text/html" as the content type. >?@ABCDEFGHI >?@ABCDEFGHI >?@ABCDEFGHI >?@ABCDEFGHINoneJ Uses the Html key in the map, and  "text/html" as the content type. JKLMNOPQRSTU JKLMNOPQRSTU JKLMNOPQRSTU JKLMNOPQRSTUNoneVUses Text as the key in the map, and  "text/plain" as the content type. VWXYZ[\]^_`a VWXYZ[\]^_`a VWXYZ[\]^_`a VWXYZ[\]^_`a NonebUses Json as the key in the map, and "application/json" as the content type.fUses Json as the key in the map, and "application/javascript" as the content type.bcdefghijklmnopqrsbcdefghijklmnopqrsbcdefghijklmnopqrsbcdefghijklmnopqrs NonetUses Text as the key in the map, and  "text/css" as the content type. tuvwxyz{|}~ tuvwxyz{|}~ tuvwxyz{|}~ tuvwxyz{|}~ NoneUses julius as the key in the map, and "application/javascript" as the content type. NoneUses lucius as the key in the map, and  "lucius/css" as the content type. NoneUses cassius as the key in the map, and "cassius/plain" as the content type. NoneJ$%&'()0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrsNone!"&(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.Existentially quantified case Literal case  None!"'-4>CFKLN!For routes ending with a literal.?Sets the security role and error handler for a scope of routes.Turns a HandlerT into a Wai  ApplicationGiven a security verification function which returns an updating function, turn a set of routes into a middleware, where a session is secured before responding.:Turn the trie carrying the main content into a middleware.lManually fetch the security tokens / authorization roles affiliated with a request and your routing system.STurns the not-found trie into a final application, matching all routes under each notFoundx node. If there is no nearest parent (querying above the head of the tree), control is passed down the middlware chain.Only return content, do not handle uploads. Also, the extraction should be flat, in that the values contained in our trie are only ActionT, without arity.Turn an ActionT into a  Middleware by providing a FileExt and Verb\ to lookup, returning the response and utilizing the upload handler encoded in the action.Given a possible Accept> header and file extension key, lookup the contents of a map.&Takes a subject file extension and an AcceptX header, and returns the other types of file types handleable, in order of prescedence.Removes .txt from foo.txtTurns a  ByteString into a  StdMethod.MA quirky function for processing the last element of a lookup path, only on literal matches.% Assembled handle calls authorize Assembled handle calls Assembled handle calls  !$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrs!  !"#$%&'()*+,-./012334556789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmn o p q r s t u v w x y z { | } ~  neste_IIM3t709zONLOiRBpykRzf!Web.Routes.Nested.Types.UrlChunksWeb.Routes.Nested.VerbListener'Web.Routes.Nested.FileExtListener.Types)Web.Routes.Nested.FileExtListener.Builder,Web.Routes.Nested.FileExtListener.ByteString'Web.Routes.Nested.FileExtListener.Blaze'Web.Routes.Nested.FileExtListener.Lucid&Web.Routes.Nested.FileExtListener.Text&Web.Routes.Nested.FileExtListener.Json&Web.Routes.Nested.FileExtListener.Clay(Web.Routes.Nested.FileExtListener.Julius(Web.Routes.Nested.FileExtListener.Lucius)Web.Routes.Nested.FileExtListener.CassiusWeb.Routes.Nested.TypesWeb.Routes.Nested!Web.Routes.Nested.FileExtListener UrlChunksConsRootEitherUrlChunk:=:~:*lpro$fIsStringEitherUrlChunk VerbListenerTrunVerbListenerTVerbsunVerbs ResponseSpecRespond HandleUploadVerb supplyReqexecVerbListenerT foldMWithKeygetgetReqpostpostReqputputReqdelete deleteReq$fMonadTransVerbListenerT$fFunctorVerbsFileExtListenerTrunFileExtListenerTFileExts unFileExtsFileExtHtmlCss JavaScriptJsonTexttoExtexecFileExtListenerTbuilder builderWith builderStatusbuilderStatusWith builderOnlybuilderOnlyStatus bytestringbytestringWithbytestringStatusbytestringStatusWithbytestringOnlybytestringOnlyStatusblaze blazeWith blazeStatusblazeStatusWith blazeHeadersblazeHeadersWithblazeStatusHeadersblazeStatusHeadersWith blazeOnlyblazeOnlyHeadersblazeOnlyStatusblazeOnlyStatusHeaderslucid lucidWith lucidStatuslucidStatusWith lucidHeaderslucidHeadersWithlucidStatusHeaderslucidStatusHeadersWith lucidOnlylucidOnlyStatuslucidOnlyHeaderslucidOnlyStatusHeaderstexttextWith textStatustextStatusWith textHeaderstextHeadersWithtextStatusHeaderstextStatusHeadersWithtextOnlytextOnlyStatustextOnlyHeaderstextOnlyStatusHeadersjsonjsonWith jsonStatusjsonStatusWithjsonp jsonpWith jsonpStatusjsonpStatusWith jsonHeadersjsonHeadersWithjsonStatusHeadersjsonStatusHeadersWithjsonOnlyjsonOnlyStatus jsonpOnlyjsonpOnlyStatusjsonOnlyHeadersjsonOnlyStatusHeadersclayclayWith clayStatusclayStatusWith clayHeadersclayHeadersWithclayStatusHeadersclayStatusHeadersWithclayOnlyclayOnlyStatusclayOnlyHeadersclayOnlyStatusHeadersjulius juliusWith juliusStatusjuliusStatusWith juliusHeadersjuliusHeadersWithjuliusStatusHeadersjuliusStatusHeadersWith juliusOnlyjuliusOnlyStatusjuliusOnlyHeadersjuliusOnlyStatusHeaderslucius luciusWith luciusStatusluciusStatusWith luciusHeadersluciusHeadersWithluciusStatusHeadersluciusStatusHeadersWith luciusOnlyluciusOnlyStatusluciusOnlyHeadersluciusOnlyStatusHeaderscassius cassiusWith cassiusStatuscassiusStatusWithcassiusHeaderscassiusHeadersWithcassiusStatusHeaderscassiusStatusHeadersWith cassiusOnlycassiusOnlyStatuscassiusOnlyHeaderscassiusOnlyStatusHeadersExtrudeextrudeExtendextend Singleton singleton CatMaybes MiddlewareT ApplicationT AuthScope ProtectParentProtectChildrenRoutesTActionTHandlerT runHandlerTTrieshandleparentauthnotFoundroute routeAuthextractContentextractAuthSym extractAuthextractNotFoundextractNearestViaactionToMiddleware lookupUploadlookupResponse lookupVerb lookupFileExtpossibleFileExts trimFileExt getFileExthttpMethodToMSym2$fExtendEitherUrlChunkRootedPredTrieRootedPredTrie3$fExtendEitherUrlChunkRootedPredTrieRootedPredTrie0 eitherToMaybe$fExtrudeUrlChunkstrie0trie2.$fExtrudeUrlChunksRootedPredTrieRootedPredTrie$fSingletonUrlChunksatrie1#$fSingletonUrlChunksaRootedPredTrie lookupWithLPT AcceptHeader execHandlerTgetVerblookupWithLRPTgetResultsFromMatch