'      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~  None None None  Safe-Inferred Safe-Inferredmedia-type and sub-type "*". JGeneric media-subtype. ZGeneric media-type. \The Media-type representation. bType-class for converting a  to a media-subtype. dType-class for converting a  to a media-type.   !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcde      !"#$%&'()*+,d  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdeddebc\]^_`aZ[XYVWTURSPQNOLMJKHIFGDEBC@A>?<=:;8967452301./,-*+()&'$%"# !      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcde      !"#$%&'()*+, Safe-InferredfThe error type used as F# meta-data in all snap predicates. h(HTTP) status code ioptional status message j"Convenience function to construct f values from ! status code and status message. fghijfghijfghijfghij Safe-Inferredk-An environment for predicates, consisting of  mappings form s to - values. lAn empty environment. m3Try to get the associated value for the given key.  Only successful iff, (i) k contains a binding for k . and (ii) the type of value and target match. n#Add a binding from key to value to k , overriding  previous bindings if existing. k./lmnklmnklmnk./lmn Safe-Inferred oA |' instance corresponding to the logical  AND connective of two |s. q-Data-type used for tupling-up the results of o. sA |' instance corresponding to the logical  OR connective of two |s. The meta-data of  each &rue branch can be of different types. If both arguments evaluate to  the one with the  smaller & will be preferred, or--if equal--the  left-hand argument. vA |' instance corresponding to the logical  OR connective of two |s. It requires the  meta-data of each #rue branch to be of the same type. If both arguments evaluate to  the one with the  smaller & will be preferred, or--if equal--the  left-hand argument. xA | instance which always returns  with  the given value as F' s meta-data. zA | instance which always returns  with  the given value as T' s meta-data. |The | class declares the function  which ? evaluates the predicate against some value, returning a value  of type . ? Besides being parameterised over predicate type and predicate B parameter, the class is also parameterised over the actual types  of T's and F' s meta-data. A 0-like type where each branch rue or  alse carries * some meta-data which is threaded through | evaluation. !logical True with some meta-data "logical False with some meta-data . is a measure of distance. It is (optionally) % used in predicates that evaluate to  but not uniquely so, i.e.  different evaluations of , are possible and they may have a different  "fitness". >An example is content-negotiation. A HTTP request may specify D a preference list of various media-types. A predicate matching one " specific media-type evaluates to ", but other media-types may match H even better. To represent this ambivalence, the predicate will include A a delta value which can be used to decide which of the matching ! predicates should be preferred. Evaluate the given predicate p against the given value a. The ? function will invoke the given function only if the predicate p  applied to the test value a evaluates to . !opqrstuvwxyz{|}~123456789:opqrstuvwxyz{|}~|}~z{xyvwustqropopqrstuvwxyz{|}~123456789:None;<=>?@ABCDEFGHIJ;<=>?@ABCDEFGHIJ ;<=>?@ABCDEFGHIJNone@Predicate which is true if the request has a parameter with the  given name. CPredicate which returns the first request parameter which could be 2 converted to the target type wrapped in a Maybe. " If the parameter is not present, K will be returned.  Relies on L' type-class for the actual conversion. Specialisation of ! which returns the first request 8 parameter which could be converted to the target type. E If the parameter is not present, the provided default will be used.  Relies on L' type-class for the actual conversion. Specialisation of ! which returns the first request 8 parameter which could be converted to the target type.  Relies on L' type-class for the actual conversion. 7The most generic request parameter predicate provided. - It will get all request parameter values of _name and pass them on to  the conversion function _read$, which might either yield an error Q message or a value. If the parameter is not present, an optional default may be J returned instead, if nothing is provided, the error message will be used # when construction the 400 status. request parameter name conversion function (optional) default value MNOPQRSTUV MNOPQRSTUVNone=Predicate which is true if the request has a header with the  given name. @Predicate which returns the first request header which could be 2 converted to the target type wrapped in a Maybe.  If the header is not present, K will be returned.  Relies on L' type-class for the actual conversion. Specialisation of ! which returns the first request ; header value which could be converted to the target type. B If the header is not present, the provided default will be used.  Relies on L' type-class for the actual conversion. Specialisation of ! which returns the first request ; header value which could be converted to the target type.  Relies on L' type-class for the actual conversion. 4The most generic request header predicate provided. * It will get all request header values of _name and pass them on to  the conversion function _read$, which might either yield an error N message or a value. If the header is not present, an optional default may be J returned instead, if nothing is provided, the error message will be used # when construction the 400 status. request header name conversion function (optional) default value WXYZ[\]^_` WXYZ[\]^_`NoneabababNoneA | against the cs "Accept" header. def  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdede NoneA | against the cs " Content-Type" header. fgg  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefgNone  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghij None9The Routes monad is used to add routing declarations via  or  one of , , etc. H Routing declarations can then be turned into the ordinary snap format,  i.e. !MonadSnap m => [(ByteString, m a)] or into strings. hThe Routes monad state type. iFunction to turn an f value into a j. . Clients can provide their own renderer using . kInitial state. Add a route for some l% and path (potentially with variable % captures), and constrained the some |. Specialisation of  for a specific HTTP l. Specialisation of  for a specific HTTP l. Specialisation of  for a specific HTTP l. Specialisation of  for a specific HTTP l. Specialisation of  for a specific HTTP l. Specialisation of  for a specific HTTP l. Specialisation of  for a specific HTTP l. Specialisation of  for a specific HTTP l. Specialisation of  for a specific HTTP l taking  no | into consideration. Specialisation of  for a specific HTTP l taking  no | into consideration. Specialisation of  for a specific HTTP l taking  no | into consideration. Specialisation of  for a specific HTTP l taking  no | into consideration. Specialisation of  for a specific HTTP l taking  no | into consideration. Specialisation of  for a specific HTTP l taking  no | into consideration. Specialisation of  for a specific HTTP l taking  no | into consideration. Specialisation of  for a specific HTTP l taking  no | into consideration. &Turn route definitions into a list of ms. Turn route definitions into "snapable" format, i.e. < Routes are grouped per path and selection evaluates routes  against the given Snap c. nGroup routes by path. *opqrsthuivwxyz{|kpath handler | path handler | path handler | path handler | path handler | path handler | path handler | path handler | path handler | path handler path handler path handler path handler path handler path handler path handler path handler n}~opqrsthuivwxyz{|kn}~  !!""##$$%%&&''(())**++,,--..//00112233445566778899::;;<<==>>??@@ABCDEFGHIIJKLMNOPQQRRSSTUUVVWWXYZ[\]^_`abbccddeeffghijjkkllmmnnopqrr s s t u v w x y z { | } ~  @ @ M       !"#$%&'()*+,-./0123456 7 8 9 :; <3=>? @ A A B C u D 9 E E F G H I I J K LMsnap-predicates-0.3.1Snap.Predicate.TypesSnap.Predicate.MediaTypeSnap.Predicate.ErrorData.Predicate.EnvData.PredicateSnap.Predicate.ParamSnap.Predicate.HeaderSnap.Predicate.AcceptSnap.Predicate.Content Snap.RouteSnap.Predicate.Parser.SharedSnap.Predicate.Parser.AcceptSnap.Predicate.TutorialSnap.Predicate.Internal!Snap.Predicate.MediaType.InternalSnap.PredicateCSVlistAllXmlXhtmlXmlWebmVorbisThriftTiffTarRssXmlRdfXmlProtobuf PostscriptPngPlain Pkcs7CertRqRs Pkcs7MimePkcs7Sig Pkcs7CertPkcs12PartialOgg OctetStreamMpegMp4MixedJsonJpeg JavascriptGzipGifFormUrlEncodedFormData EncryptedCsvCssAtomXmlSubTypeVideoText MultipartMessageImageAudio ApplicationType MediaType_type_subtype_quality_paramsMSubType toSubTypeMTypetoTypeError_status_messageerrEnvemptylookupinsert:&::*::||::+::|:FailConst PredicateFValTValapplyBooleanTFDeltaevalwithHasParamParamOptParamDefParam Parameter_pName_pRead _pDefaultHasHdrHdrOptHdrDefHdrHeader_hdrName_hdrRead _hdrDefaultAccept ContentTypeContentRoutesaddRouterenderErrorWithgetheadpostputdeletetraceoptionsconnectget_head_post_put_delete_trace_options_connect_ showRoutes expandRoutesspacestrimoneofchrwmedType medSubtype medQuality medParamsparseMediaTypes mediaTypes mediaTypeparamstypsubtypkeyvaltoDouble $fReadableCSVbytestring-0.10.0.2Data.ByteString.Internal ByteString $fShowAll $fMSubTypeAll $fMTypeAll $fShowXml $fMSubTypeXml$fShowXhtmlXml$fMSubTypeXhtmlXml $fShowWebm$fMSubTypeWebm $fShowVorbis$fMSubTypeVorbis $fShowThrift$fMSubTypeThrift $fShowTiff$fMSubTypeTiff $fShowTar $fMSubTypeTar $fShowRssXml$fMSubTypeRssXml $fShowRdfXml$fMSubTypeRdfXml$fShowProtobuf$fMSubTypeProtobuf$fShowPostscript$fMSubTypePostscript $fShowPng $fMSubTypePng $fShowPlain$fMSubTypePlain$fShowPkcs7CertRqRs$fMSubTypePkcs7CertRqRs$fShowPkcs7Mime$fMSubTypePkcs7Mime$fShowPkcs7Sig$fMSubTypePkcs7Sig$fShowPkcs7Cert$fMSubTypePkcs7Cert $fShowPkcs12$fMSubTypePkcs12 $fShowPartial$fMSubTypePartial $fShowOgg $fMSubTypeOgg$fShowOctetStream$fMSubTypeOctetStream $fShowMpeg$fMSubTypeMpeg $fShowMp4 $fMSubTypeMp4 $fShowMixed$fMSubTypeMixed $fShowJson$fMSubTypeJson $fShowJpeg$fMSubTypeJpeg$fShowJavascript$fMSubTypeJavascript $fShowGzip$fMSubTypeGzip $fShowGif $fMSubTypeGif$fShowFormUrlEncoded$fMSubTypeFormUrlEncoded$fShowFormData$fMSubTypeFormData$fShowEncrypted$fMSubTypeEncrypted $fShowCsv $fMSubTypeCsv $fShowCss $fMSubTypeCss $fShowAtomXml$fMSubTypeAtomXml $fShowSubType$fMSubTypeSubType $fShowVideo $fMTypeVideo $fShowText $fMTypeText$fShowMultipart$fMTypeMultipart $fShowMessage$fMTypeMessage $fShowImage $fMTypeImage $fShowAudio $fMTypeAudio$fShowApplication$fMTypeApplication $fShowType $fMTypeTypebase Data.DynamicDynamic_unenvghc-prim GHC.TypesBool $fShow:&:$fPredicate:&:c $fShow:||:$fPredicate:||:c $fShow:|:$fPredicate:|:c $fShowFail$fPredicateFaila $fShowConst$fPredicateConstaRqPred_rqName_rqRead_rqDef _rqCachePref_rqVals_rqErrorheaderscookiessafeHead readValuesrqApply rqApplyMaybe Data.MaybeNothingsnap-core-0.9.4.0Snap.Util.ReadableReadable$fShowHasParam$fPredicateHasParamRequest$fShowParamOpt$fPredicateParamOptRequest$fShowParamDef$fPredicateParamDefRequest $fShowParam$fPredicateParamRequest$fShowParameter$fPredicateParameterRequest $fShowHasHdr$fPredicateHasHdrRequest $fShowHdrOpt$fPredicateHdrOptRequest $fShowHdrDef$fPredicateHdrDefRequest $fShowHdr$fPredicateHdrRequest $fShowHeader$fPredicateHeaderRequestreadMediaTypesSnap.Internal.Http.TypesRequest $fShowAccept$fPredicateAcceptRequest$fShowContentType$fPredicateContentTypeRequestStRendererData.ByteString.Lazy.InternaliniStMethodGHC.BaseString normaliseHandler_delta_handler _unroutesRoute_method_path_predPackselectrespond $fMonadRoutes