h* I1      !"#$%&'()*+ , - . / 0 1.2.0  Safe-Inferred#"#%&'/01369<webgear-openapiA handler that captured 1& documentation of API specifications.2webgear-openapi'Documentation elements after compactionwebgear-openapiDifferent types of documentation elements captured by the handlerwebgear-openapi5A tree where internal nodes have one or two children.webgear-openapi"Generate a tree with a single nodewebgear-openapiGenerate an empty treewebgear-openapi-Generate OpenApi documentation from a handler   Safe-Inferred""#%&'/01369< Safe-Inferred""#%&'/01369< Safe-Inferred""#%&'/01369<E Safe-Inferred""#%&'/01369< Safe-Inferred""#%&'/01369< Safe-Inferred""#%&'/01369<P Safe-Inferred""#%&'/01369<  Safe-Inferred""#%&'/01369<  Safe-Inferred""#%&'/01369<[  Safe-Inferred""#%&'/01369<  Safe-Inferred""#%&'/01369<  Safe-Inferred""#%&'/01369<f3456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~  !"#$%&'()*+,-./012345678 9 : ; < = >?@ABCDECDEFGHIJKIJLIJMIJNIJOIJPIJPIJQCRSCRTCRUCRVCWXCWYCWZCW[CW\IJ]IJ^IJ_IJ_IJ`IJaIJbIJcIJdIJeIJfIJgIJhIJiIJjIJkCRlCRmCnoCnoCpqCpqCrsCrsCtuCtuCtvCtwCxyCxyCxzC{|C{|CD}CD}CW~CCCCCCCCCCCCCCCCCCCCCCCCCCCCtCtCtCtCRCRCRCRCRCRCRCRCRCRCRCWCWCWCWCWCWCWCWCWCWCWCCCCCCCCCCCCCnCnCnCnCnCnCpCpCpCpCDCDCDCDCDCCCCCCCCC{C{CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCnCDFFCRFFFFFFFFFFFFFFFFFFFFFFFFFFFGFFFFFFIFCDFFFFFFFFFFFFFFFFFFFFFFFFFIFFFFFFFFIJIJIJIJIJIJFFGFFFFFFFCpCFGFFFFFFFFFCrCrCrCrCrCrCrCrCrCrCrCrCrCrCrCrCrCrCrCrCrCrCrCrCrCrCrCrCrCrCrCrCrCrCrCrCrCrCrCrCrCrCrCrCrCrCxCxCxC{FFFFFFFFFFFFFFCxCxCxCxCxCxCCCCDCxCxCRCRCRCRCWCWCWCWCCCCCCCnCnCnCDCDCCCCCrC{C{C{CCCCCCC,webgear-openapi-1.2.0-H2qkJtQVA6u6OBPsj9A80GWebGear.OpenApi.HandlerWebGear.OpenApi.Trait.Auth WebGear.OpenApi.Trait.Auth.BasicWebGear.OpenApi.Trait.Auth.JWTWebGear.OpenApi.Trait.BodyWebGear.OpenApi.Trait.CookieWebGear.OpenApi.Trait.HeaderWebGear.OpenApi.Trait.MethodWebGear.OpenApi.Trait.Path WebGear.OpenApi.Trait.QueryParamWebGear.OpenApi.Trait.Statuswebgear-openapiWebGear.OpenApi.TraitsWebGear.OpenApiOpenApiHandler openApiDocDocNodeDocSecuritySchemeDocRequestBodyDocResponseBodyDocRequestHeaderDocResponseHeader DocMethod DocPathElem DocPathVar DocQueryParam DocStatus DocSummaryDocDescriptionTree singletonNodenullNode toOpenApi$fHandlerOpenApiHandlerm'$fArrowErrorRouteMismatchOpenApiHandler$fArrowChoiceOpenApiHandler$fArrowPlusOpenApiHandler$fArrowZeroOpenApiHandler$fArrowOpenApiHandler$fCategorykOpenApiHandler$fShowCompactDocNode $fShowDocNode $fShowTree$fToSchemaAuthToken$$fGetOpenApiHandlerBasicAuth'Request"$fGetOpenApiHandlerJWTAuth'Request-$fSetOpenApiHandlerUnknownContentBodyResponse$fSetOpenApiHandlerBodyResponse$fGetOpenApiHandlerBodyRequest$$fSetOpenApiHandlerSetCookieResponse $fGetOpenApiHandlerCookieRequest)$fSetOpenApiHandlerResponseHeaderResponse*$fSetOpenApiHandlerResponseHeaderResponse0'$fGetOpenApiHandlerRequestHeaderRequest($fGetOpenApiHandlerRequestHeaderRequest0 $fGetOpenApiHandlerMethodRequest!$fGetOpenApiHandlerPathEndRequest!$fGetOpenApiHandlerPathVarRequest$fGetOpenApiHandlerPathRequest$$fGetOpenApiHandlerQueryParamRequest%$fGetOpenApiHandlerQueryParamRequest0!$fSetOpenApiHandlerStatusResponse%openapi3-3.2.4-6uZC9MgJdDPKCIWBser2BfData.OpenApi.InternalOpenApiCompactDocNode)webgear-core-1.2.0-HZqima91g7JI7Sqaj73yznWebGear.Core.Trait.PathPath text-2.0.2Data.Text.InternalTextbase Control.Arrow ArrowChoicerightleft|||+++Kleisli runKleisliWebGear.Core.TraitSetsetTraitGetgetTraitWebGear.Core.HandlerHandlerarrM consumeRoutesetDescription setSummary ArrowLooploop ArrowMonad ArrowApplyapp ArrowPlus<+> ArrowZero zeroArrowArrowarrfirst***second&&&Trait AttributeWebGear.Core.Trait.Cookie SetCookieWebGear.Core.Trait.MethodMethodWebGear.Core.Trait.StatusStatusWebGear.Core.ResponseResponse ResponseRaw ResponseContWebGear.Core.RequestRequest toWaiRequestWebGear.Core.Trait.BodyBodyPathVar MiddlewareWebGear.Core.MIMETypesJSON JSONMedia PlainText OctetStreamFormDataResultformDataParams formDataFilesFormData parseOptionsbackendOptionsHTMLFormURLEncodedMIMETypemimeTypeWebGear.Core.Modifiers ParseStyleStrictLenient ExistenceRequiredOptional ResponseBodyResponseBodyFileResponseBodyBuilderResponseBodyStream HaveTraits MissingTraitHasTraitfromWith unwitnessSetsGets Prerequisite TraitAbsenceAbsence RouteMismatchSummary getSummary DescriptiongetDescriptionRequestHandler RoutePathWebGear.Core.Trait.HeaderOptionalResponseHeaderRequiredResponseHeaderResponseHeaderOptionalRequestHeaderRequiredRequestHeader RequestHeaderHeaderParseErrorHeaderNotFoundCookieCookieParseErrorCookieNotFoundMethodMismatchexpectedMethod actualMethodPathEnd PathVarErrorPathVarNotFoundPathVarParseErrorWebGear.Core.Trait.QueryParamParamParseError ParamNotFoundOptionalQueryParamRequiredQueryParam QueryParamUnknownContentBodyWebGear.Core.Trait.Auth.Common AuthToken authScheme authTokenRealmAuthorizationHeaderWebGear.Core.Trait.Auth.JWT JWTAuthErrorJWTAuthHeaderMissingJWTAuthSchemeMismatchJWTAuthTokenBadFormatJWTAuthAttributeErrorJWTAuthJWTAuth'$sel:jwkSet:JWTAuth'#$sel:jwtValidationSettings:JWTAuth'$sel:toJWTAttribute:JWTAuth'WebGear.Core.Trait.Auth.BasicBasicAuthErrorBasicAuthHeaderMissingBasicAuthSchemeMismatchBasicAuthCredsBadFormatBasicAuthAttributeError Credentials$$sel:credentialsPassword:Credentials$$sel:credentialsUsername:CredentialsPasswordUsername BasicAuth BasicAuth' $sel:toBasicAttribute:BasicAuth'WebGear.Core.Traits StdHandlercookiepath Data.Textfoldrmappickheadtailinitstails intersperse transposetakedropsplitAt takeWhile dropWhilespanbreakfilter partitiongroup isPrefixOf findIndexzipzipWithwordsunwordslinesunlinesindextoUpperemptynullData.Text.Show singletonfoldr'foldlfoldl'toLowerControl.Category>>>countmatchlengthgroupByunfoldrunpackCString#concatunconslastinitfoldl1foldl1'scanlscanl1foldr1scanrscanr1maximumminimum replicatereverseanyallelem concatMapisAsciitoTitle<<<find dropWhileEnd stripPrefix isSuffixOf isInfixOf intercalate mapAccumL mapAccumRreturnA^>>>>^<<^^<<leftAppconsappendcopysnocunsnocsplitOnreplace stripSuffixcentermethodheaderpackunpacktakeEnd takeWhileEnddropEndsplitunfoldrN compareLengthstripchunksOf continue100switchingProtocols101ok200 created201 accepted202nonAuthoritative203 noContent204resetContent205partialContent206multipleChoices300movedPermanently301found302 seeOther303notModified304temporaryRedirect307permanentRedirect308 badRequest400unauthorized401paymentRequired402 forbidden403 notFound404methodNotAllowed405notAcceptable406proxyAuthenticationRequired407requestTimeout408 conflict409gone410lengthRequired411preconditionFailed412requestEntityTooLarge413requestURITooLong414unsupportedMediaType415requestedRangeNotSatisfiable416expectationFailed417 imATeapot418unprocessableEntity422preconditionRequired428tooManyRequests429requestHeaderFieldsTooLarge431internalServerError500notImplemented501 badGateway502serviceUnavailable503gatewayTimeout504httpVersionNotSupported505 networkAuthenticationRequired511 requestMethodrequestHeadersgetRequestBodyChunk requestBody toCaseFoldunpackCStringAscii# justifyLeft justifyRight measureOff dropAround stripStartstripEndspanMspanEndMbreakOn breakOnEnd breakOnAllcommonPrefixes httpVersionisSecure remoteHostpathInfo queryStringrequestBodyLength basicAuth basicAuth' setHeaderroute requestHeadergetRequestBodywzerowminusprobeplant routeMismatch unwitnessA>-><-<WebGear.Core.Handler.Static serveStaticoptionalHeader lenientHeaderoptionalLenientHeadersetOptionalHeader acceptMatchoptionalCookie setCookiesetOptionalCookiepathVarpathEnd queryParamoptionalQueryParamlenientQueryParamoptionalLenientQueryParam mkResponsesetBodysetBodyWithoutContentTyperespondArespondUnauthorizedjwtAuthoptionalJWTAuthjwtAuth'optionalJWTAuth'optionalBasicAuthoptionalBasicAuth'