@:"      !(c) 2014 Ertugrul SoeylemezBSD3"Ertugrul Soeylemez <ertesx@gmx.de>None&+/3HM5Convenient type alias for polymorphic widget actions.A widget is a self-contained fragment of a web page together with its scripts and styles. This type is inspired by Yesod's widgets, but is supposed to be constructed by using a writer monad and may not denote effects of its own.HTo construct widgets through a writer monad, use lens combinators like " and #!. Alternatively you can use the add* functions like  or &. The title is constructed by using  and n. This allows you to have a hierarchy of titles with a site title, a page title and even a component title.The first type argument is the key type for the individual body sections of the resulting document. You can use it for example to divide your document into a header, a menu, a content area and a footer and each widget can add to them individually.UThe second type argument is the type of URLs. You may use it for type-safe routing. Head content.Inline scripts.External scripts.Contents of body sections. Stylesheet.External stylesheets. $Page title chunks (outermost first). /Convenient constraint alias for widget actions. YConstruct a widget with the given body. Use this combinator if you don't need sections. .Construct a widget with the given head markup. )Construct a widget with the given script..Construct a widget with the given script link./Construct a widget with the given body section.-Construct a widget with the given stylesheet.-Construct a widget with the given style link.vScribe the title of the widget. Use this function to construct the lowest level title. For higher level titles use .Lens into a widget's head.Prepend the given title chunk to the given widget action. Conceptually this wraps the given widget in a higher level title. Use  for the lowest level title.#Lens into a widget's inline script.&Lens into a widget's external scripts.#Lens into a widget's body sections."Lens into a widget's inline style.%Lens into a widget's external styles.Lens into a widget's title. $   $(c) 2014 Ertugrul SoeylemezBSD3"Ertugrul Soeylemez <ertesx@gmx.de>None&+/3HMoRendered pages. This type supports rendering to multiple documents like an HTML document, as explained above.If you're running a low-traffic site and don't want to afford the complexity, then you can just include the stylesheets and scripts inline by using the   function. Except for external script and style URLs this will give you a self-contained document that you can deliver to the client.The  field is the function that takes the markup for the script and the style respectively and returns a lazy bytestring that you can send as  text/html to the client. The other two fields are the rendered script and stylesheet. The markup is UTF-8-encoded, which you should indicate in the  content-type" header, if you deliver via HTTP.Markup document. Page script.Page stylesheet. gRender the given page to a single self-contained document, including the script and stylesheet inline.!8This is the most general rendering function for widgets. !Sections to render.Title renderer.Widget to render. !!  !(c) 2014 Ertugrul SoeylemezBSD3"Ertugrul Soeylemez <ertesx@gmx.de>None&+/3HM%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~  !      !"#$%&$%'()*+)*,)*-)*.)*/)01)23)24)25)*6)*7)08)29)2:)2;)<=)>?)>@)>A)>B)>C)>D)>E)>E)>F)>G)>G)>H)>I)>I)>J)>K)>K)>L)>M)>M)>N)>O)>O)>P)>Q)>Q)>R)>S)>S)2T)2U)2V)2W)2X)2Y)2Z)2[)2\)2])2^)2_)2`)2a)2b)2c)2d)2e)2f)2g)2h)2i)2j)2k)2l)2m)2n)2opqrstustvstwstxpqypz{pz|st}st~stpppppppppweb-page-0.1.0Web.Page.WidgetWeb.Page.RenderWeb.Page WidgetWriterWidget_wHead_wScript _wScriptLinks _wSections_wStyle _wStyleLinks_wTitle MonadWidgetaddBodyaddHead addScript addScriptLink addSectionaddStyle addStyleLinksetTitlewHead withTitlewScript wScriptLinks wSectionswStyle wStyleLinkswTitlePagepageHtml pageScript pageStyle inlinePage renderWidget lens-4.4.0.2Control.Lens.Setterscribe censoring$fMonoidWidgetbaseGHC.Basefail>>=>>fmapreturnControl.Monad.Fixmfix Control.MonadguardliftMjoinMonadFunctorMonadFix MonadPlusmplusmzero Data.Functionfix Data.Monoid<>mconcatmappendmemptyMonoidgetDualDualappEndoEndogetAllAllgetAnyAnygetSumSum getProductProductgetFirstFirstgetLastLastmfilterapliftM5liftM4liftM3liftM2unlesswhen replicateM_ replicateMfoldM_foldM zipWithM_zipWithM mapAndUnzipMvoidforever<=<>=>msumforM_forMfilterMmapM_mapM sequence_sequence=<<transformers-0.4.1.0Control.Monad.Trans.Classlift mtl-2.2.1Control.Monad.Writer.Classlistencensor MonadWriterpass MonadTransControl.Monad.IO.ClassMonadIOliftIOlistenstellwriter!Control.Monad.Trans.Writer.StrictWriterT runWriterTWriter runWriter execWriter mapWriter execWriterT mapWriterT