úÎZDVm7      !"#$%&'()*+,-./0123456 None A tab is a 71 generator upon receiving a current URL context. How do we decide active for tab state? *A sub-set of the current url has to match +Only the prefix needs to match current url !Current url has to match exactly (Make tabs from tab definitions. Use the   combinator to  define individual options. %Tab item constructor to be used with . Just supply the + given arguments here and it will create a  ready to be used in  . ?If the tab is currently active, the li tag will get a class of  'active'.  Make sure to provide a trailing / when indicating URLs as snap A context paths contain it and active tab checks will be confused  without it. 89)A class to be given to the parent ul tag List of tabs in order Target URL for tab A text/label for tab  A list of attributes as key=val A  for this tab :;   89 :;None .Transform to Nothing if field is empty string Maybe read into target value Read into target value     None ,Bind splices offered in this module in your < )A list of splices offered in this module @Run the splice contents if given condition is True, make splice  disappear if not. 5Gets the value of a request parameter. Example use:  rqparamname="username"/ 7Assume text are contains the name of a splice as Text. DThis is helpful when you pass a default value to digestive-functors A by putting the name of a splice as the value of a textarea tag. . heistLocal runTextAreas $ render "joo/index" Splice helper for when you're rendering a select element FSearches a directory on disk and all its subdirectories for all files  with names that don'.t begin with an underscore and end with a .js B extension. It then returns script tags for each of these files. .You can use this function to create a splice:  2 ("staticscripts", scriptsSplice "static/js" "/") Then when you use the < staticscripts/> tag in your templates, it will 6 automatically include all the javascript code in the static/js directory. .Check to see if the boolean flag named by the ref attribute is A present and set to true in snaplet user config file. If so, run  what'5s inside this splice, if not, simply omit that part.  Example:  % <flag ref="beta-functions-enabled">  stuff...  </flag> 3This will look for an entry inside your .cfg file:  beta-functions-enabled = true  A name for the select element An id for the select element value, shown text pairs Default value <Path to the directory on disk holding the javascript files. 9A prefix to add to the src attribute of each script tag.    NoneAInitialize the flash notice system. All you have to do now is to 7 add some flash tags in your application template. See   for examples. /Display an info message on next load of a page 2Display an warning message on next load of a page 1Display a success message on next load of a page 0Display an error message on next load of a page 6A splice for rendering a given flash notice dirctive. Ex:  flashtype='warning'/  Ex:  flashtype='success'/ None==NoneADiscard anything after this and return given status code to HTTP  client immediately. !Finish early with error code 400 !!Finish early with error code 404 "!Finish early with error code 500 #Mark response as  'text/plain' $Mark response as 'application/json' %Mark response as 'application/javascript' &9Easier debug logging into error log. First argument is a  category/9namespace and the second argument is anything that has a  > instance. 'BAlternate version of getParam that considers empty string Nothing (8Require that a parameter is present or terminate early. );Read a parameter from request. Be sure it is readable if it's * there, or else this will raise an error. *;Try to read a parameter from request. Computation may fail 2 because the param is not there, or because it can' t be read. +JRedirects back to the refering page. If there is no Referer header, then  redirect to /. ,JRedirects back to the refering page. If there is no Referer header, then  redirect to /. -JIf the current rqURI does not have a trailing slash, then redirect to the  same page with a slash added. .JIf the current rqURI has a trailing slash, then redirect to the same page  with no trailing slash.  !"#$%&'()*+,-. !"#$%&'()*+,-. !"#$%&'()*+,-. !"#$%&'()*+,-.None/BDemand the presence of JSON in the body assuming it is not larger  than 50000 bytes. 0<Demand the presence of JSON in the body with a size up to N D bytes. If parsing fails for any reson, request is terminated early ! and a server error is returned. 1=Try to parse request body as JSON with a default max size of  50000. 28Parse request body into JSON or return an error string. 3)Get JSON data from the given Param field 4,Force the JSON value from field. Similar to 3 5 Set MIME to 'application/json' and write given object into  ? body. /0Maximum size in bytes 12Maximum size in bytes 345/012345210/345/012345  Safe-Inferred @ABCDEFGHIJAFGHIJ @ABCDEFGHIJNone6Initialize all the   ! functionality in your Snap app.  Currently, we don'/t need to keep any state and simply return (). 67  !"#$%&'()*+,-./012345666K   !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRS T U V W X Y Z [ \ ] ^_snap-extras-0.3Snap.Extras.TabsSnap.Extras.FormUtilsSnap.Extras.SpliceUtilsSnap.Extras.FlashNoticeSnap.Extras.TextUtilsSnap.Extras.CoreUtilsSnap.Extras.JSON Snap.ExtrasPaths_snap_extrasSnapExtrasTab TabActiveMode TAMDontMatch TAMInfixMatchTAMPrefixMatch TAMExactMatchinitTabs tabsSplicemkTabstab maybeTrans readMayTrans readTransaddUtilSplices utilSplicesifSplice paramSplice runTextAreas selectSplice scriptsSplice ifFlagSpliceinitFlashNotice flashInfo flashWarning flashSuccess flashError flashSpliceshowTshowBSreadTreadBS finishEarlybadReqnotFound serverError plainResponse jsonResponse jsResponseeasyLog getParam'reqParam readParam readMayParamredirectRefererredirectRefererFuncdirifyundirifyreqJSONreqBoundedJSONgetJSONgetBoundedJSON getJSONField reqJSONField writeJSON initExtrasxmlhtml-0.2.0.3Text.XmlHtml.CommonNode tabSplicewErrtlinklink snap-0.10.0.1Snap.Snaplet.Internal.Types Initializer maybeEitherbaseGHC.ShowShowsnap-core-0.9.2.2Snap.Internal.Http.TypesResponsecatchIOversionbindirlibdirdatadir libexecdir getBinDir getLibDir getDataDir getLibexecDirgetDataFileName