h& 0      !"#$%&'()*+,- . /  Safe-Inferred#"#%&'/01258;?webgear-openapiA handler that captured 0& documentation of API specifications.1webgear-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""#%&'/01258;? Safe-Inferred""#%&'/01258;? Safe-Inferred""#%&'/01258;?6 Safe-Inferred""#%&'/01258;? Safe-Inferred""#%&'/01258;? Safe-Inferred""#%&'/01258;?> Safe-Inferred""#%&'/01258;?  Safe-Inferred""#%&'/01258;?  Safe-Inferred""#%&'/01258;?F  Safe-Inferred""#%&'/01258;?  Safe-Inferred""#%&'/01258;?23456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~    !"#$%&'()*+,-./012345678 9 : ;<=>?@ABCDECFGCFGCFHCFICFJCFKCFLCFM@ANCFOCFPCFQCFRCFSCFSCFTCFUCFVCFWCFXCFYCFZCF[CF\CF]CF^CF_CF`CFaCFbCFcCDd@ef@eg@eh@ei@ej@ek@el@em@en@eo@ep@eq@er@es@et@eu@ev@ew@ex@ey@ez@e{@e|@e}@e~@e@e@e@e@e@e@e@e@e@e@e@e@e@e@e@e@e@e@e@e@e@e@e@e@e@e@e@e@e@e@e@e@e@e@e@e@e@e@e@e@e@e@e@e@e@e@e@e@e@e@e@e@e@e@e@e@e@e@e@e@e@e@e@e@e@e@e@@@,webgear-openapi-1.1.0-1f4KdtG1hVP1mI2qV45Jp0WebGear.OpenApi.Handler 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.OpenApi.TraitsWebGear.OpenApiOpenApiHandler openApiDocDocNodeDocSecuritySchemeDocRequestBodyDocResponseBodyDocRequestHeaderDocResponseHeader DocMethod DocPathElem DocPathVar DocQueryParam DocStatus DocSummaryDocDescriptionTree singletonNodenullNode toOpenApi$fHandlerOpenApiHandlerm'$fArrowErrorRouteMismatchOpenApiHandler$fArrowChoiceOpenApiHandler$fArrowPlusOpenApiHandler$fArrowZeroOpenApiHandler$fArrowOpenApiHandler$fCategorykOpenApiHandler$fShowCompactDocNode $fShowDocNode $fShowTree$$fGetOpenApiHandlerBasicAuth'Request"$fGetOpenApiHandlerJWTAuth'Request-$fSetOpenApiHandlerUnknownContentBodyResponse$fSetOpenApiHandlerBodyResponse$fGetOpenApiHandlerBodyRequest$$fSetOpenApiHandlerSetCookieResponse $fGetOpenApiHandlerCookieRequest)$fSetOpenApiHandlerResponseHeaderResponse*$fSetOpenApiHandlerResponseHeaderResponse0'$fGetOpenApiHandlerRequestHeaderRequest($fGetOpenApiHandlerRequestHeaderRequest0 $fGetOpenApiHandlerMethodRequest!$fGetOpenApiHandlerPathEndRequest!$fGetOpenApiHandlerPathVarRequest$fGetOpenApiHandlerPathRequest$$fGetOpenApiHandlerQueryParamRequest%$fGetOpenApiHandlerQueryParamRequest0!$fSetOpenApiHandlerStatusResponse%openapi3-3.2.4-7lJxMdWaUVd1UughloxuIrData.OpenApi.InternalOpenApiCompactDocNode text-1.2.5.0Data.Text.InternalTextbaseControl.Category>>> Control.ArrowKleisli runKleisli ArrowChoice+++|||rightleftempty ArrowZero zeroArrow ArrowPlus<+> ArrowMonad ArrowLooploop ArrowApplyappArrowsecond&&&***arrfirstreturnAleftApp^>>^<<>>^<<^<<< Data.TextzipWithzipwordsunwordsunsnocunlinesunfoldrNunfoldruncons transposetoUppertoTitletoLower toCaseFold takeWhileEnd takeWhiletakeEndtaketailstail stripSuffix stripStart stripPrefixstripEndstripsplitOnsplitAtsplitspansnocscanr1scanrscanl1scanlreverse replicatereplace partitionpacknullminimummaximum mapAccumR mapAccumLmaplineslengthlast justifyRight justifyLeft isSuffixOf isPrefixOf isInfixOf intersperse intercalateinitsinitindexheadgroupBygroupfoldr1foldrfoldl1'foldl1foldl'foldl findIndexfindfilterelem dropWhileEnd dropWhiledropEnd dropArounddropcountcopycons concatMapconcat compareLengthcommonPrefixeschunksOfcenter breakOnEnd breakOnAllbreakOnbreakappendanyallData.Text.ShowunpackCString#unpack singleton)webgear-core-1.1.0-DmroyZAJoK16tMhn62O8bsWebGear.Core.Traits StdHandlerWebGear.Core.Handler.Static serveFileserveDirWebGear.Core.Trait.Auth.BasicoptionalBasicAuth'optionalBasicAuth basicAuth' basicAuth BasicAuth' $sel:toBasicAttribute:BasicAuth' BasicAuthUsernamePassword Credentials$$sel:credentialsUsername:Credentials$$sel:credentialsPassword:CredentialsBasicAuthErrorBasicAuthAttributeErrorBasicAuthCredsBadFormatBasicAuthHeaderMissingBasicAuthSchemeMismatchWebGear.Core.Trait.Auth.JWToptionalJWTAuth'jwtAuth'optionalJWTAuthjwtAuthJWTAuth'$sel:toJWTAttribute:JWTAuth'#$sel:jwtValidationSettings:JWTAuth'$sel:jwkSet:JWTAuth'JWTAuth JWTAuthErrorJWTAuthAttributeErrorJWTAuthTokenBadFormatJWTAuthHeaderMissingJWTAuthSchemeMismatchWebGear.Core.Trait.Auth.CommonrespondUnauthorizedgetAuthorizationHeaderTraitAuthorizationHeaderRealm AuthToken authToken authSchemeWebGear.Core.Trait.BodyrespondAsetBodyWithoutContentTypesetBody requestBodyBodyUnknownContentBodyWebGear.Core.Trait.Status networkAuthenticationRequired511httpVersionNotSupported505gatewayTimeout504serviceUnavailable503 badGateway502notImplemented501internalServerError500requestHeaderFieldsTooLarge431tooManyRequests429preconditionRequired428unprocessableEntity422 imATeapot418expectationFailed417requestedRangeNotSatisfiable416unsupportedMediaType415requestURITooLong414requestEntityTooLarge413preconditionFailed412lengthRequired411gone410 conflict409requestTimeout408proxyAuthenticationRequired407notAcceptable406methodNotAllowed405 notFound404 forbidden403paymentRequired402unauthorized401 badRequest400permanentRedirect308temporaryRedirect307notModified304 seeOther303found302movedPermanently301multipleChoices300partialContent206resetContent205 noContent204nonAuthoritative203 accepted202 created201ok200switchingProtocols101 continue100 mkResponseStatusWebGear.Core.Trait.QueryParamoptionalLenientQueryParamlenientQueryParamoptionalQueryParam queryParam QueryParamRequiredQueryParamOptionalQueryParam ParamNotFoundParamParseErrorWebGear.Core.Trait.PathroutematchpathEndpathVarpathPathPathVar PathVarErrorPathVarNotFoundPathVarParseErrorPathEndWebGear.Core.Trait.MethodmethodMethodMethodMismatch actualMethodexpectedMethodWebGear.Core.Trait.HeadersetOptionalHeader setHeaderoptionalLenientHeader lenientHeaderoptionalHeaderheaderHeaderNotFoundHeaderParseError RequestHeaderRequiredRequestHeaderOptionalRequestHeaderResponseHeaderRequiredResponseHeaderOptionalResponseHeaderWebGear.Core.Trait.CookiesetOptionalCookie setCookieoptionalCookiecookieCookieNotFoundCookieParseErrorCookie SetCookieWebGear.Core.Handler<-<>-> unwitnessA routeMismatch RoutePathHandler setSummarysetDescriptionarrM consumeRouteRequestHandler Middleware DescriptiongetDescriptionSummary getSummary RouteMismatchWebGear.Core.Traitpickplantprobewminuswzero AttributeTraitAbsence TraitAbsenceGetgetTraitSetsetTraitGetsSetsWith unwitnessHasTraitfrom MissingTrait HaveTraitsWebGear.Core.Response toWaiResponseResponse responseBodyresponseHeadersresponseStatus ResponseBodyResponseBodyStreamResponseBodyFileResponseBodyBuilderWebGear.Core.Request requestMethodrequestHeadersrequestBodyLength remoteHost queryStringpathInfoisSecure httpVersiongetRequestBodygetRequestBodyChunk requestHeaderRequest toWaiRequestWebGear.Core.Modifiers ExistenceRequiredOptional ParseStyleStrictLenientWebGear.Core.MIMETypesMIMETypemimeTypeFormURLEncodedHTMLJSON JSONMediaFormDatabackendOptions parseOptionsFormDataResult formDataFilesformDataParams OctetStream PlainText