h&&$      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEF G H I J K L M N O P Q R S T U V W X Y Z [ \ ] ^ _ ` a b c d e f g h i j k l m n o p q r s t u vwxyz{| Safe-Inferred*"(*/015689:;>?jema The format of a generated asset.ema9Html assets are served by the live server with hot-reloadema;Other assets are served by the live server as static files.ema8The type of assets that can be bundled in a static site.ema6A file that is copied as-is from the source directory.Relative paths are assumed relative to the source directory. Absolute paths allow copying static files outside of source directory.ema? emaCLI subcommandemaGenerate static files at the given output directory, returning the list of generated files.emaRun the live serverema#Host string to start the server on.ema$Ema's command-line interface optionsemaThe Ema action to run emaLogging verbosity%ema+Parse Ema CLI arguments passed by the user.'ema.Crash the program with the given error message=First log the message using Error level, and then exit using }. !"#$%&'! "#$%&' Safe-Inferred)"(*/015689:;>?S,emaA time-varying value of type a, changing under monad m. To create a ,, supply the initial value along with a function that forever updates it using the given monadic update function.,'s can be composed using ~.,-,- Safe-Inferred)"(*/015689:;>? 0emaIsomorphic to  Prism' s a, but coercion-friendly.Use 1 and 2 to convert between the optics Prism' and this Prism_.1ema Convert a 0 to a Prism'.2ema Convert a Prism' to a 0.3emamap over the filepath, route and model of the given route prism.3emaHow to transform the encoded ema!How to transform the decode routeema0How to transform (contramap) the resultant modelemaThe route prism to fmap.01230123 Safe-Inferred)"(*/015689:;>? emaCheck if the route Prism_ is lawful.A route Prism_ is lawful if its conversions both the ways form an isomorphism for a given value. Returns a Writer reporting logs.4554 Safe-Inferred)"(*/015689:;>?<9emaReturns a new route 0, that supports *either* of the input routes.The resulting route 08's model type becomes the *product* of the input models.ema Given two Prism'+'s whose filepaths are distinct (ie., both a and b. encode to distinct filepaths), return a new Prism' that combines both.>If this distinctness property does not hold between the input Prism''s, then the resulting Prism' will not be lawful. 01234567899867 Safe-Inferred)"(*/015689:;>?:emaClass of Ema routesAn Ema route has a Prism' <, that knows how to convert it to/from filepaths. As well as an universe function, =:, that gives all possible route values in a static site.Both functions take the associated model, `RouteModel r`, as an argument.<ema An optics Prism0` that denotes how to encode and decode a route.=ema(All possible route values for the given ;.=This is used in determining the pages to statically generate.:;<=:;<= Safe-Inferred)"(*/015689:;>??emaA type-level singleton route, whose encoding is given by the symbol parameter.+FileRoute "foo.html" encodes to "foo.html".'TODO: Can this type be simplified? See *https://stackoverflow.com/q/72755053/55246?@?@  Safe-Inferred*"(*/0125689:;>?Fema$How to produce URL paths from routesGema(Use pretty URLs. The route encoding "foobar.html" produces "foo bar" as URL.Hema.Use filepaths as URLs. The route encoding "foobar.html" produces "foobar.html" as URL.Iema*Return the relative URL of the given route?QemaLike R but T is a bytestring .Rema$Typeclass to orchestrate an Ema siteGiven a route r from the class of : types, instantiating EmaSite on it enables defining the site build pipeline as follows:  SiteArg -> siteInput -> Dynamic model --[r, model]--> siteOutput S is typically not used, but it can be used to pass command line arguments and other such settings.U returns a time-varying value (Dynamic) representing the data for your static site.V takes this data model (oneshot value) and returns the generated content (usually HTML asset, per T) for the given route.)Finally, `Ema.App.runSite @r arg` (where arg is of type S) is run from the main" entry point to run your Ema site.SemaS is typically settings from the environment (config file, or command-line arguments) that your Dynamic-producing U# function consumes as argument.TemaType of the value returned by V6. Usually `Asset LByteString` but it can be anything.Uema(Get the model's time-varying value as a ,.'If your model is not time-varying, use  to produce a constant value.Vema Return the output (typically an  ) for the given route and model.Uema&The value passed by the programmer to emaTime-varying value of the model. If your model is not time-varying, use  to produce a constant value.QRSTUVRSTUVQ  Safe-Inferred/"%&(*/015689:;>?]ema4A basic error response for displaying in the browser_emaReturn the equivalent of WAI's pathInfo, from the raw path string (`document.location.pathname`) the browser sends us.W[ZYX\]^_`abcd\]^_`W[ZYXabcd  Safe-Inferred)"(*/015689:;>?2gema7The merged site's route is represented as a n-ary sum () of the sub-routes.emaLike 93 but uses sop-core types instead of Either/Product.fggf None)"(*/015689:;>?lema+A route that is prefixed at some URL prefixoema-Prefix the encoding of the given route prism.lmnolmno Safe-Inferred+"(*/015689:;=>? vemaGenerate the static site at destThe *only* data we need is the ;.wemaLike v) but without buffering or error handling.emaDisable birdbrained hacks from GitHub to disable surprises like, *https://github.com/jekyll/jekyll/issues/55ema?#UzemaRun the given Ema site,!Takes as argument the associated S.In generate mode, return the generated files. In live-server mode, this function will never return.{emaLike runSite but discards the result|emaLike runSite9 but takes the CLI action. Also returns more information.6Useful if you are handling the CLI arguments yourself.Use "void $ Ema.runSiteWithCli def ..." if you are running live-server only.zema!The input required to create the , of the ;z{|z{| Safe-Inferred)"(*/015689:;>?# ,-12:=;<;FHGIKQRVUSTST]z{|,-12:=;?@ABCDEFGHIJKLMNNOPQRS T U V W X Y Z [ \ ] ^ _ ` a b c d e e f g h i j k l m n o p q r s t u v w x y y z { | } ~    #ema-0.10.0.0-IvDsUicoMaZ9ZiKA06zERq Ema.AssetEma.CLI Ema.DynamicEma.Route.Prism.TypeEma.Route.Prism.CheckEma.Route.PrismEma.Route.ClassEma.Route.Lib.File Ema.Route.UrlEma.Site Ema.ServerEma.Route.Lib.MultiEma.Route.Lib.Folder Ema.GenerateEma.ApprunSiteEmaFormatHtmlOtherAsset AssetStaticAssetGenerated $fEqAsset $fShowAsset $fOrdAsset$fFunctorAsset$fGenericAsset $fEqFormat $fShowFormat $fOrdFormat$fGenericFormatActionGenerateRunHostunHost $fDefaultHost$fEqHost $fShowHost $fOrdHost$fIsStringHost$fGEqTYPEAction$fGShowTYPEAction$fGCompareTYPEActionCliactionverbose isLiveServer cliParser hostParser portParser cliAction getLoggercrash$fArgDictTYPEcAction $fDefaultCli$fEqCli $fShowCliDynamic$fApplicativeDynamic$fFunctorDynamicPrism_ fromPrism_toPrism_ mapRoutePrismcheckRoutePrismGivenRoutecheckRoutePrismGivenFilePath stringIso showReadPrismhtmlSuffixPrismeitherRoutePrismIsRoute RouteModel routePrism routeUniverse $fIsRoute() FileRoute$fIsRouteFileRoute $fEqFileRoute$fOrdFileRoute$fShowFileRoute$fGenericFileRoute UrlStrategy UrlPretty UrlDirect routeUrlWith urlToFilePathrouteUrl$fFromJSONUrlStrategy$fEqUrlStrategy$fShowUrlStrategy$fOrdUrlStrategy$fGenericUrlStrategy EmaStaticSiteEmaSiteSiteArg SiteOutput siteInput siteOutputBadRouteEncoding_bre_urlFilePath_bre_decodedRoute _bre_checkLogrunServerWithWebSocketHotReloademaErrorHtmlResponsemkHtmlErrorMsgpathInfoFromWsMsgdecodeRouteNothingMsgbadRouteEncodingMsg wsClientHtmlwsClientJSShim wsClientJS$fShowBadRouteEncoding MultiModel MultiRoute $fEmaSiteNS $fIsRouteNS $fIsRouteNS0 $fEmaSiteNS0 FolderRoute unFolderRouteprefixRoutePrism$fEmaSiteFolderRoute$fIsRouteFolderRoute$fShowFolderRoute$fEqFolderRoute$fOrdFolderRoute$fGenericFolderRoutegenerateSiteFromModelgenerateSiteFromModel'$fShowStaticAssetMissing$fExceptionStaticAssetMissingrunSite_runSiteWithClibaseControl.Monad.FailfailGHC.Base ApplicativeGHC.IOFilePathroutePrismIsLawfulFor eitherPrismGHC.Real/pure'sop-core-0.5.0.2-8cmRYB37llUAjnR98I5kI0 Data.SOP.NSNS nsRoutePrismnoBirdbrainedJekyllcopyRecursively