h*-sT      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ 5.3.32  Safe-Inferred    Safe-Inferred   Safe-Inferred"(!http2Encoding integer with a temporary buffer whose size is 4096. No prefix is set. BS.unpack <$> encodeInteger 5 10[10]"BS.unpack <$> encodeInteger 5 1337 [31,154,10] BS.unpack <$> encodeInteger 8 42[42]"http2%Integer encoding with a write buffer.#http24Integer decoding. The first argument is N of prefix.decodeInteger 5 10 $ BS.empty10%decodeInteger 5 31 $ BS.pack [154,10]1337decodeInteger 8 42 $ BS.empty42$http2Integer decoding with a read buffer. The first argument is N of prefix.!http2N+http2Target"http2Setting prefixhttp2N+http2Target#http2N+http2;The head of encoded integer whose prefix is already droppedhttp2The tail of encoded integer$http2N+http2;The head of encoded integer whose prefix is already dropped"!$#  Safe-Inferred$http2 Bit stream.http2Data type for Bit.http2Zerohttp2Onehttp2From  of length 8 to .fromBits [T,F,T,F,T,F,T,F]170fromBits [F,T,F,T,F,T,F,T]85 Safe-Inferredhttp2&let bs = BS.pack [0x12,0x34,0xf3,0xab]unpack4bits bs[1,2,3,4,15,3,10,11]unpack4bits $ BS.tail bs[3,4,15,3,10,11] Safe-Inferred  Safe-Inferred9 Safe-Inferred%&%http2Huffman encoding.&http2Type for table entry. Size includes the 32 bytes magic number.>http2Size in bytes.?http2From  to <.Ahttp2Getting the size of <.Bhttp2Getting .Chttp2Getting .Dhttp2Getting .Ehttp2Getting .Fhttp2Dummy < to initialize a dynamic table.Ghttp22How many entries can be stored in a dynamic table?><=:?@ABCDEFG Safe-Inferred"http2The size of static table.http2Get < from the static table.toStaticEntry 1Entry 42 (Token {tokenIx = 0, shouldBeIndexed = True, isPseudo = True, tokenKey = ":authority"}) ""toStaticEntry 8Entry 42 (Token {tokenIx = 4, shouldBeIndexed = True, isPseudo = True, tokenKey = ":status"}) "200"toStaticEntry 50Entry 37 (Token {tokenIx = 40, shouldBeIndexed = True, isPseudo = False, tokenKey = "Range"}) ""http2Pre-defined static table. Safe-Inferred"%&N Safe-Inferred"Hhttp2Huffman decoding.Ihttp2Huffman decoding.Jhttp2-Low devel Huffman decoding in a write buffer.Khttp2:<=?@ABCDEFG Safe-Inferred"%&(Rhttp2Converting '[Header]' to the HPACK format. This function has overhead of allocating/freeing a temporary buffer. 5 will be thrown if the temporary buffer is too small.http2 Converting  to the HPACK format. 5 will be thrown if the temporary buffer is too small.Shttp2 Converting , to the HPACK format directly in the buffer.%When calling this function for a new , 4th argument must be .'The return value is a pair of leftover  and how many bytes are filled in the buffer. If the leftover is empty, the encoding is finished. Otherwise, this function should be called with it again. 4th argument must be .=4th argument is relating to dynamic table size update. If  and the limit is set by M, dynamic table size update is generated at the beginning of the HPACK format.Thttp2String encoding. The algorithm based on copy avoidance and selection of better result of huffman or raw.Uhttp2String encoding (7+) with a temporary buffer whose size is 4096.Rhttp2The size of a temporary buffer.http2An HPACK formathttp2The size of a temporary buffer.http2An HPACK formatShttp2 at the first time,  when continued.http2Leftover, filled lengthThttp2Use Huffman if efficienthttp2Setting prefixhttp2Setting huffman flaghttp2N+http2TargetUhttp2Use Huffman if efficienthttp2TargetRSUT Safe-Inferred"%&0-Vhttp2*Converting the HPACK format to '[Header]'.Headers are decoded as is.'/ would be thrown if the HPACK format is broken. will be thrown if the temporary buffer for Huffman decoding is too small.Whttp2Converting the HPACK format to  and .,Multiple values of Cookie: are concatenated.0If a pseudo header appears multiple times, 0 is thrown.'If unknown pseudo headers appear, 0 is thrown.7If pseudo headers are found after normal headers, 0 is thrown./If a header key contains capital letters, 0 is thrown.'/ would be thrown if the HPACK format is broken. will be thrown if the temporary buffer for Huffman decoding is too small.Xhttp2Converting to '[Header]'.Headers are decoded as is.'/ would be thrown if the HPACK format is broken. will be thrown if the temporary buffer for Huffman decoding is too small.Yhttp2Converting to  and .,Multiple values of Cookie: are concatenated.0If a pseudo header appears multiple times, 0 is thrown.'If unknown pseudo headers appear, 0 is thrown.7If pseudo headers are found after normal headers, 0 is thrown./If a header key contains capital letters, 0 is thrown.2If the number of header fields is too large, 1 is thrown'/ would be thrown if the HPACK format is broken. will be thrown if the temporary buffer for Huffman decoding is too small.Zhttp2String decoding (7+) with a temporal Huffman decoder whose buffer is 4096.[http2%String decoding with Huffman decoder.\http27Converting a header list of the http-types style to  and .Vhttp2An HPACK formatWhttp2An HPACK format[http2Dropping prefix and Huffmanhttp2Checking Huffman flaghttp2N+ VW\ Z[YX Safe-Inferred0b("!$#UTZ\[XY H%&IKJ>:<=?@ABCDEFG68792345("!$#UTZ\[XY%&IKHJ ><=:?@ABCDEFG68792345 Safe-Inferred0VW\ RS Safe-Inferred1]http2Default dynamic table size. The value is 4,096 bytes: an array has 128 entries.defaultDynamicTableSize40961RVSWL]NOPQM68792345;'()*+,-./01\ >:1RVSWL]NOPQM68792345;'()*+,-./01\ >: Safe-Inferred"7=*ahttp2(The data type for HTTP/2 frame payloads.mhttp2'The data type for HTTP/2 frame headers.rhttp2 The data type for HTTP/2 frames.vhttp2!The type for padding in payloads.whttp26The type for fragments of a header encoded with HPACK.xhttp2The type for stream identifieryhttp2The type for flags.zhttp2The type for raw frame type.|http2Type for stream priority. Deprecated in RFC 9113 but provided for .http2The type for weight in priority. Its values are from 1 to 256. Deprecated in RFC 9113.http2Association list of SETTINGS.http2 The type for raw SETTINGS value.http2The type for SETTINGS key.http2The type for raw error code.http2The type for error code. See  1https://www.rfc-editor.org/rfc/rfc9113#ErrorCodes.http2"The length of HTTP/2 frame header.frameHeaderLength9http2 The default initial window size.defaultWindowSize65535http2The maximum window size. maxWindowSize 2147483647http2:Checking if a window size exceeds the maximum window size.isWindowOverflow 10FalseisWindowOverflow maxWindowSizeFalse$isWindowOverflow (maxWindowSize + 1)Truehttp2Default concurrency.recommendedConcurrency100http2 Converting z to .fromFrameType FrameData0fromFrameType FrameContinuation9http2-The maximum payload length of HTTP/2 payload.maxPayloadLength16777215http2-The default payload length of HTTP/2 payload.defaultPayloadLength16384http2-The initial value of flags. No flags are set. defaultFlags0http2Checking if the END_STREAM flag is set. >>> testEndStream 0x1 Truehttp27Checking if the ACK flag is set. >>> testAck 0x1 Truehttp2(Checking if the END_HEADERS flag is set.testEndHeader 0x4Truehttp2#Checking if the PADDED flag is set.testPadded 0x8Truehttp2%Checking if the PRIORITY flag is set.testPriority 0x20Truehttp2Setting the END_STREAM flag.setEndStream 01http2Setting the ACK flag.setAck 01http2Setting the END_HEADERS flag.setEndHeader 04http2Setting the PADDED flag. setPadded 08http2Setting the PRIORITY flag. setPriority 032http2.Checking if the stream identifier for control. isControl 0True isControl 1Falsehttp23Checking if the stream identifier is from a client.isClientInitiated 0FalseisClientInitiated 1Truehttp23Checking if the stream identifier is from a server.isServerInitiated 0FalseisServerInitiated 2Truehttp2&Checking if the exclusive flag is set.http2Setting the exclusive flag.http2Clearing the exclusive flag.http2Getting z from a.*framePayloadToFrameType (DataFrame "body") FrameDatahttp22Checking if padding is defined in this frame type.isPaddingDefined $ DataFrame ""TrueisPaddingDefined $ PingFrame ""False^_`alkjihgfedcbmqponrutsvwxyz{|~}  Safe-Inferred%&C http2)Auxiliary information for frame encoding.http2!Flags to be set in a frame headerhttp2%Stream id to be set in a frame headerhttp2Padding if any. In the case where this value is set but the priority flag is not set, this value gets preference over the priority flag. So, if this value is set, the priority flag is also set.http2A smart builder of .encodeInfo setAck 0EncodeInfo {encodeFlags = 1, encodeStreamId = 0, encodePadding = Nothing}http2Encoding an HTTP/2 frame to . This function is not efficient enough for high performace program because of the concatenation of .0encodeFrame (encodeInfo id 1) (DataFrame "body")*"\NUL\NUL\EOT\NUL\NUL\NUL\NUL\NUL\SOHbody"http2Encoding an HTTP/2 frame to [$]. This is suitable for sendMany.http2Encoding an HTTP/2 frame header. The frame header must be completed.http2Writing an encoded HTTP/2 frame header to the buffer. The length of the buffer must be larger than or equal to 9 bytes.http2Encoding an HTTP/2 frame payload. This returns a complete frame header and chunks of payload.http2stream identifierhttp2Payload length. ! Safe-Inferred"%&'Ihttp2#The type for frame payload decoder.http2Decoding an HTTP/2 frame to . The second argument must be include the entire of frame. So, this function is not useful for real applications but useful for testing.http28Decoding an HTTP/2 frame header. Must supply 9 bytes.http26Checking a frame header and reporting an error if any.2checkFrameHeader (FrameData,(FrameHeader 100 0 0))Left (FrameDecodeError ProtocolError 0 "cannot used in control stream")http2Decoding an HTTP/2 frame payload. This function is considered to return a frame payload decoder according to a frame type.http2%Frame payload decoder for DATA frame.http2(Frame payload decoder for HEADERS frame.http2)Frame payload decoder for PRIORITY frame.http2+Frame payload decoder for RST_STREAM frame.http2)Frame payload decoder for SETTINGS frame.http2-Frame payload decoder for PUSH_PROMISE frame.http2%Frame payload decoder for PING frame.http2'Frame payload decoder for GOAWAY frame.http2.Frame payload decoder for WINDOW_UPDATE frame.http2-Frame payload decoder for CONTINUATION frame.http2Helper function to pull off the padding if its there, and will eat up the trailing padding automatically. Calls the decoder func passed in with the length of the unpadded portion between the padding octet and the actual paddinghttp2Input byte-streamhttp2 Decoded frame Safe-Inferred"Jhttp2The preface of HTTP/2.connectionPreface""PRI * HTTP/2.0\r\n\r\nSM\r\n\r\n"http2Length of the preface.connectionPrefaceLength24rstumnopqabcdefghijklwvz{|}~xy`_^rstumnopqabcdefghijklwvz{|}~xy`_^" Safe-InferredL# Safe-InferredS http2+Manager to manage the thread and the timer.http2Starting a thread manager. Its action is initially set to 'return ()' and should be set by  setAction. This allows that the action can include the manager itself.http2Stopping the manager.The action is run in the scope of an exception handler that catches all exceptions (including asynchronous ones); this allows the cleanup handler to cleanup in all circumstances. If an exception is caught, it is rethrown after the cleanup is complete.http2Fork managed threadThis guarantees that the thread ID is added to the manager's queue before the thread starts, and is removed again when the thread terminates (normally or abnormally).http2Like ', but run action with exceptions maskedhttp28Adding my thread id to the kill-thread list on stopping.(This is not part of the public API; see  instead.http2 * Safe-Inferred"%&a + Safe-Inferredblhttp2Making simple configuration whose IO is not efficient. A write buffer is allocated internally.http26Deallocating the resource of the simple configuration., Safe-Inferred'b - Safe-Inferred%&b . Safe-Inferred"%&'c / Safe-Inferred"%&'ck http2Type for input streaming. 0 Safe-Inferredc        1 Safe-Inferred"%&'j http2Client configurationhttp2 https or httphttp2 Server namehttp21The maximum number of incoming streams on the nethttp2The window size of connection.http2Settingshttp2The default client config.The  authority% field will be used to set the HTTP2  :authority pseudo-header. In most cases you will want to override it to be equal to host.Further background on  authority:  9https://datatracker.ietf.org/doc/html/rfc3986#section-3.2RFC 3986 also allows  host:port, and most servers will accept this too. However, when using TLS, many servers will expect the TLS SNI server name and the  :authority pseudo-header to be equal, and for TLS SNI the server name should not include the port. Note that HTTP2 explicitly  disallows using  userinfo@ as part of the authority.defaultClientConfigClientConfig {scheme = "http", authority = "localhost", cacheLimit = 64, connectionWindowSize = 16777216, settings = Settings {headerTableSize = 4096, enablePush = True, maxConcurrentStreams = Just 64, initialWindowSize = 262144, maxFrameSize = 16384, maxHeaderListSize = Nothing, pingRateLimit = 10, emptyFrameRateLimit = 4, settingsRateLimit = 4, rstRateLimit = 4}}http2Running HTTP/2 client.http2"Launching a receiver and a sender.   Safe-InferredkA$$ Safe-Inferred"k    Safe-Inferredmz  2 Safe-Inferred"%&n http26This function is passed to workers. They also pass s from a server to this function. This function enqueues commands for the HTTP/2 sender. http2Worker for server applications. 3 Safe-Inferred"%&'qhttp2 MUST be created with  . Others are not supported.http2Server configurationhttp2The number of workershttp2#The window size of incoming streamshttp2Settingshttp2The default server config.defaultServerConfigServerConfig {numberOfWorkers = 8, connectionWindowSize = 16777216, settings = Settings {headerTableSize = 4096, enablePush = True, maxConcurrentStreams = Just 64, initialWindowSize = 262144, maxFrameSize = 16384, maxHeaderListSize = Nothing, pingRateLimit = 10, emptyFrameRateLimit = 4, settingsRateLimit = 4, rstRateLimit = 4}}http2Running HTTP/2 server.http2Launching a receiver and a sender without workers. Any frames can be sent with  sioWriteBytes.   Safe-Inferredr   Safe-Inferred"rq     4564574589:;9:<9:=9:>9:?9:@9:A9BC9BC9BD9BE9BF9BG9BG9BH9BH9IC9IC9IJ9IG9IG9IH9IHKLMNOPNOPNOQNORSTU V W X Y Z[\]^_`abcdefghhijklmnopqqrstuvwxyz{|}~           !!!!!!!!!!!!!!!!!##########$$$$$$$$$$$$$%%%%%%%%%%%%%%%%%%%%%++1111111111111111113333333333333999999999:9:9:99999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999KKLKLKLKLKLKLKLKLKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKLKLKLKLKLKLKLKLKLKLKLKLKLKLKLKLKLKLKLKLKLKLKLKLKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKK              ! " " " " " # # # $ $ $ $ $ % % % % % % % % % % % % % % % % % % % % % % %% % % % % % % % % % % % % % % % % % % % & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & ' ' ' ' ' ' ' ' ' ' ( ( ( ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ))) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) * * * * * * , , , , , , , , , , - - . / / 1 1 1 1 1 1 1 1 9  9  9  9  9  9  9  9  9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 2 2 9 33 3 3 3 9  9  9 9 9  9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 "http2-5.3.3-Hyisum9rm264HvhD7VvShJ Network.HPACKNetwork.HPACK.InternalNetwork.HTTP2.Server.InternalNetwork.HTTP2.Client.InternalNetwork.HTTP2.FrameNetwork.HTTP2.InternalNetwork.HTTP2.ClientNetwork.HTTP2.Serverhttp2ImportsNetwork.HPACK.Builder!Network.HPACK.HeaderBlock.IntegerNetwork.HPACK.Huffman.Bit Network.HPACK.Huffman.ByteStringNetwork.HPACK.Huffman.ParamsNetwork.HPACK.Huffman.TableNetwork.HPACK.Huffman.EncodeNetwork.HPACK.Huffman.TreeNetwork.HPACK.TokenNetwork.HPACK.TypesNetwork.HPACK.Table.EntryNetwork.HPACK.Table.StaticNetwork.HPACK.Table.RevIndexNetwork.HPACK.Huffman.DecodeNetwork.HPACK.HuffmanNetwork.HPACK.Table.DynamicNetwork.HPACK.Table Network.HPACK.HeaderBlock.Encode Network.HPACK.HeaderBlock.DecodeNetwork.HPACK.HeaderBlockNetwork.HTTP2.Frame.TypesNetwork.HTTP2.Frame.EncodeNetwork.HTTP2.Frame.DecodeNetwork.HTTP2.H2.EncodeFrameNetwork.HTTP2.H2.ManagerNetwork.HTTP2.H2.SettingsNetwork.HTTP2.H2.TypesNetwork.HTTP2.H2.StreamTableNetwork.HTTP2.H2.StreamNetwork.HTTP2.H2.QueueNetwork.HTTP2.H2.ContextNetwork.HTTP2.H2.HPACKNetwork.HTTP2.H2.ConfigNetwork.HTTP2.H2.WindowNetwork.HTTP2.H2.SyncNetwork.HTTP2.H2.SenderNetwork.HTTP2.H2.ReceiverNetwork.HTTP2.H2Network.HTTP2.Client.RunNetwork.HTTP2.Server.WorkerNetwork.HTTP2.Server.Run.case-insensitive-1.2.1.0-g91ms2cFie7sCu1VJCG6pData.CaseInsensitive.Internaloriginal foldedCasemk+http-semantics-0.2.0-Dt0BJpTYO739JfrQS4wgSENetwork.HTTP.Semantics.HeaderTokenHeaderList TokenHeaderTokenHeaderTable ValueTable FieldValuegetHeaderValue getFieldValue&Network.HTTP.Semantics.Server.InternalAux auxTimeHandle auxMySockAddrauxPeerSockAddrResponseRequest&Network.HTTP.Semantics.Client.InternalauxPossibleClientStreams(http-types-0.12.4-9gtavp8KoLGJbmEnFA2HrGNetwork.HTTP.Types.HeaderHeader/network-byte-order-0.1.7-183l24JU6xQ9NGdCLjd3gUNetwork.ByteOrder BufferOverrun BufferSizeBuffer,network-control-0.1.3-2UY1AUZjwWbGxMLA9j8ua8Network.Control.Flow WindowSizeGCBuffer encodeIntegerencodeI decodeIntegerdecodeIencodeH encodeHuffman DecodeError IndexOverrunEosInTheMiddle IllegalEos TooLongEosTooSmallTableSizeTooLargeTableSizeIllegalTableSizeUpdateHeaderBlockTruncatedIllegalHeaderNameTooLargeHeaderEncodeStrategycompressionAlgo useHuffmanCompressionAlgoNaiveStaticLinearIndexdefaultEncodeStrategyEntrySizetoEntry toEntryToken entrySizeentryTokenHeader entryTokenentryHeaderNameentryFieldValue dummyEntry maxNumbersHuffmanDecoderdecodeHdecH decodeHuffman DynamicTablesetLimitForEncodingnewDynamicTableForEncodingnewDynamicTableForDecodingwithDynamicTableForEncodingwithDynamicTableForDecoding encodeHeaderencodeTokenHeaderencodeS encodeString decodeHeaderdecodeTokenHeader decodeSimpledecodeSophisticated decodeStringdecodeStoTokenHeaderTabledefaultDynamicTableSize FrameTypeId SettingsKeyId ErrorCodeId FramePayload DataFrame HeadersFrame PriorityFrameRSTStreamFrame SettingsFramePushPromiseFrame PingFrame GoAwayFrameWindowUpdateFrameContinuationFrame UnknownFrame FrameHeader payloadLengthflagsstreamIdFrame frameHeader framePayloadPaddingHeaderBlockFragmentStreamId FrameFlags FrameTypePriority exclusivestreamDependencyweightWeight SettingsList SettingsValue SettingsKey ErrorCodeFrameContinuationFrameWindowUpdate FrameGoAway FramePingFramePushPromise FrameSettingsFrameRSTStream FramePriority FrameHeaders FrameDataSettingsMaxHeaderListSizeSettingsMaxFrameSizeSettingsInitialWindowSizeSettingsMaxConcurrentStreamsSettingsEnablePushSettingsTokenHeaderTableSizeHTTP11RequiredInadequateSecurityEnhanceYourCalm ConnectErrorCompressionErrorCancel RefusedStreamFrameSizeError StreamClosedSettingsTimeoutFlowControlError InternalError ProtocolErrorNoErrorframeHeaderLength fromErrorCode toErrorCodefromSettingsKey toSettingsKeydefaultWindowSize maxWindowSizeisWindowOverflowrecommendedConcurrency fromFrameType toFrameType minFrameType maxFrameTypemaxPayloadLengthdefaultPayloadLength defaultFlags testEndStreamtestAck testEndHeader testPadded testPriority setEndStreamsetAck setEndHeader setPadded setPriority isControlisClientInitiatedisServerInitiated testExclusive setExclusiveclearExclusiveframePayloadToFrameTypeisPaddingDefined EncodeInfo encodeFlagsencodeStreamId encodePadding encodeInfo encodeFrameencodeFrameChunksencodeFrameHeaderencodeFrameHeaderBufencodeFramePayloadFramePayloadDecoderFrameDecodeError decodeFramedecodeFrameHeadercheckFrameHeaderdecodeFramePayloaddecodeDataFramedecodeHeadersFramedecodePriorityFramedecodeRSTStreamFramedecodeSettingsFramedecodePushPromiseFramedecodePingFramedecodeGoAwayFramedecodeWindowUpdateFramedecodeContinuationFrameconnectionPrefaceconnectionPrefaceLengthKilledByHttp2ThreadManagerManagerstart stopAfter forkManagedforkManagedUnmasktimeoutKillThread timeoutClose waitCounter0SettingsheaderTableSize enablePushmaxConcurrentStreamsinitialWindowSize maxFrameSizemaxHeaderListSize pingRateLimitemptyFrameRateLimitsettingsRateLimit rstRateLimitdefaultSettingsConfigconfWriteBufferconfBufferSize confSendAll confReadNconfPositionReadMakerconfTimeoutManagerconfMySockAddrconfPeerSockAddr HTTP2ErrorConnectionIsClosedConnectionIsTimeoutConnectionErrorIsReceivedConnectionErrorIsSentStreamErrorIsReceivedStreamErrorIsSentBadThingHappen GoAwayIsSent ReasonPhraseStreamallocSimpleConfigfreeSimpleConfigClientIO cioMySockAddrcioPeerSockAddrcioWriteRequestcioReadResponse cioWriteBytescioCreateStream ClientConfigscheme authority cacheLimitconnectionWindowSizesettingsdefaultClientConfigrunrunIOServerIO sioMySockAddrsioPeerSockAddrsioReadRequestsioWriteResponse ServerConfignumberOfWorkersdefaultServerConfigbytestring-0.11.5.2Data.ByteString.Internal.Type ByteStringBSPSData.ByteString.Short.InternalShortByteStringbaseGHC.Base Applicative<*>pure*><*liftA2 Alternative<|>somemanyemptyData.Functor.ConstConstgetConstControl.ApplicativeZipList getZipList WrappedArrow WrapArrow unwrapArrow WrappedMonad WrapMonad unwrapMonadFunctor<$fmap<**> Data.Functor<$>liftAliftA3optional Data.FoldableasumMonadreturn>>>>= MonadPlusmzeromplusControl.Monad.Fail MonadFailfailjoinmapM_forM_Data.TraversablemapMsequenceforM Control.MonadforeverliftMguard=<<whenliftM2liftM3liftM4liftM5apvoid sequence_msumfilterM>=><=< mapAndUnzipMzipWithM zipWithM_foldMfoldM_ replicateM replicateM_unless<$!>mfilterGHC.Bits FiniteBits finiteBitSizecountLeadingZeroscountTrailingZeros Data.BitsIffgetIffXorgetXorIorgetIorAndgetAnd.&..|.xor complementshiftrotatezeroBitsbitsetBitclearBit complementBittestBit bitSizeMaybebitSizeisSignedshiftL unsafeShiftLshiftR unsafeShiftRrotateLrotateRpopCount bitDefaulttestBitDefaultpopCountDefaulttoIntegralSizedoneBits.^..>>..<<.!>>.!<<. Data.EitherEitherRightLefteitherleftsrightspartitionEithersisLeftisRightfromLeft fromRight++FoldablefoldrnulllengthfoldltoListfoldl'foldl1sumproductfoldr'foldr1maximumminimumelemfoldfoldMapfoldMap'mapGHC.ListzipWith Data.OldListsortBy genericLength maximumBy minimumBygenericReplicate genericTake genericDropgenericSplitAt genericIndexheadgroupgroupByfilterunfoldr transposesortOncycleconcatzipunconstaillastinitfoldl1'scanlscanl1scanl'scanrscanr1iterateiterate'repeat replicate takeWhile dropWhiletakedropsplitAtspanbreakreverseandoranyallnotElemlookup concatMap!!zip3zipWith3unzipunzip3find dropWhileEnd stripPrefix elemIndex elemIndices findIndex findIndices isPrefixOf isSuffixOf isInfixOfnubnubBydeletedeleteBy\\unionunionBy intersect intersectBy intersperse intercalate partition mapAccumL mapAccumRinsertinsertByzip4zip5zip6zip7zipWith4zipWith5zipWith6zipWith7unzip4unzip5unzip6unzip7deleteFirstsByinitstails subsequences permutationssort singletonlinesunlineswordsunwords Data.ListisSubsequenceOffoldrMfoldlM traverse_for_ sequenceA_ghc-prim GHC.TypesIntGHC.IntInt8Int16Int32Int64 GHC.MaybeMaybeNothingJust Data.MaybemaybeisJust isNothingfromJust fromMaybe maybeToList listToMaybe catMaybesmapMaybeMonoidmconcatmappendmemptyData.Semigroup.InternalAnygetAnySumgetSumProduct getProduct Data.MonoidLastgetLastFirstgetFirstAltgetAltAllgetAllEndoappEndoDualgetDualApgetAp<>OrderingLTEQGT GHC.ClassesOrdcompare>=<<=>maxminData.OrdDowngetDownclamp comparingString Data.StringIsString fromStringWordGHC.WordWord8Word64Word32Word16 byteSwap16 byteSwap32 byteSwap64 bitReverse8 bitReverse16 bitReverse32 bitReverse64 GHC.FloatFloatingpiexplogsqrt**logBasesincostanasinacosatansinhcoshtanhasinhacoshatanhlog1pexpm1log1pexplog1mexpGHC.Real showSigned showFloat floatToDigitsfromRatGHC.Read lexDigitsNumericreadIntreadBinreadOctreadDecreadHex readFloat readSignedshowInt showEFloat showFFloat showGFloat showFFloatAlt showGFloatAlt showHFloat showIntAtBaseshowHexshowOctshowBinNetwork.HTTP.Semantics.Types FileOffset ByteCountNetwork.HTTP.Semantics.TokenTokentokenIxshouldBeIndexedisPseudotokenKey HeaderTable HeaderValue FieldNameNetwork.HTTP.Semantics.TrailerNextTrailersMakerTrailers TrailersMakerFileSpecOutObj outObjHeaders outObjBodyoutObjTrailersInpObj inpObjHeadersinpObjBodySize inpObjBodyinpObjTrailers OutBodyIface outBodyUnmask outBodyPushoutBodyPushFinal outBodyFlushOutBody OutBodyNoneOutBodyStreamingOutBodyStreamingIfaceOutBodyBuilder OutBodyFileInpBodyPath AuthorityScheme tokenCIKeytokenFoldedKeytokenAuthority tokenMethod tokenPath tokenScheme tokenStatustokenAcceptCharsettokenAcceptEncodingtokenAcceptLanguagetokenAcceptRanges tokenAccepttokenAccessControlAllowOrigintokenAge tokenAllowtokenAuthorizationtokenCacheControltokenContentDispositiontokenContentEncodingtokenContentLanguagetokenContentLengthtokenContentLocationtokenContentRangetokenContentType tokenCookie tokenDate tokenEtag tokenExpect tokenExpires tokenFrom tokenHost tokenIfMatchtokenIfModifiedSincetokenIfNoneMatch tokenIfRangetokenIfUnmodifiedSincetokenLastModified tokenLink tokenLocationtokenMaxForwardstokenProxyAuthenticatetokenProxyAuthorization tokenRange tokenReferer tokenRefreshtokenRetryAfter tokenServertokenSetCookietokenStrictTransportSecuritytokenTransferEncodingtokenUserAgent tokenVarytokenViatokenWwwAuthenticatetokenConnectiontokenTE"tokenAccessControlAllowCredentialstokenAccessControlAllowHeaderstokenAccessControlAllowMethodstokenAccessControlExposeHeaders tokenAccessControlRequestHeaderstokenAccessControlRequestMethod tokenAltSvctokenContentSecurityPolicytokenEarlyData tokenExpectCttokenForwarded tokenOrigin tokenPurposetokenTimingAllowOrigintokenUpgradeInsecureRequeststokenXContentTypeOptionstokenXForwardedFortokenXFrameOptionstokenXXssProtectiontokenMax minTokenIxmaxStaticTokenIx maxTokenIx cookieTokenIxisCookieTokenIx isMaxTokenIxisStaticTokenIx isStaticTokentoTokendefaultTrailersMakerNetwork.HTTP.Types.MethodMethod ByteRanges ByteRange ByteRangeFromByteRangeFromToByteRangeSuffixResponseHeadersRequestHeaders HeaderName StdMethodGETPOSTHEADPUTDELETETRACECONNECTOPTIONSPATCHNetwork.HTTP.Types.StatusStatus statusCode statusMessageNetwork.HTTP.Types.URIPartialEscapeQueryPartialEscapeQueryItem EscapeItemQEQN SimpleQuerySimpleQueryItem QueryTextQuery QueryItemNetwork.HTTP.Types.QueryLike QueryLiketoQueryNetwork.HTTP.Types.Version HttpVersion httpMajor httpMinorhAccepthAcceptLanguagehAuthorization hCacheControl hConnectionhContentEncodinghContentLength hContentMD5 hContentTypehDatehIfModifiedSincehIfRange hLastModified hLocationhRangehRefererhServer hUserAgenthCookierenderByteRangeBuilderrenderByteRangerenderByteRangesBuilderrenderByteRangesparseByteRanges methodGet methodPost methodHead methodPut methodDelete methodTrace methodConnect methodOptions methodPatch parseMethod renderMethodrenderStdMethodmkStatus status100 continue100 status101switchingProtocols101 status200ok200 status201 created201 status202 accepted202 status203nonAuthoritative203 status204 noContent204 status205resetContent205 status206partialContent206 status300multipleChoices300 status301movedPermanently301 status302found302 status303 seeOther303 status304notModified304 status305 useProxy305 status307temporaryRedirect307 status308permanentRedirect308 status400 badRequest400 status401unauthorized401 status402paymentRequired402 status403 forbidden403 status404 notFound404 status405methodNotAllowed405 status406notAcceptable406 status407proxyAuthenticationRequired407 status408requestTimeout408 status409 conflict409 status410gone410 status411lengthRequired411 status412preconditionFailed412 status413requestEntityTooLarge413 status414requestURITooLong414 status415unsupportedMediaType415 status416requestedRangeNotSatisfiable416 status417expectationFailed417 status418 imATeapot418 status422unprocessableEntity422 status428preconditionRequired428 status429tooManyRequests429 status431requestHeaderFieldsTooLarge431 status500internalServerError500 status501notImplemented501 status502 badGateway502 status503serviceUnavailable503 status504gatewayTimeout504 status505httpVersionNotSupported505 status511 networkAuthenticationRequired511statusIsInformationalstatusIsSuccessfulstatusIsRedirectionstatusIsClientErrorstatusIsServerErrorqueryTextToQueryrenderQueryTextqueryToQueryTextparseQueryTextsimpleQueryToQueryrenderQueryBuilder renderQueryrenderSimpleQuery parseQueryparseQueryReplacePlusparseSimpleQueryurlEncodeBuilder urlEncode urlDecodeencodePathSegmentsencodePathSegmentsRelativedecodePathSegments extractPath encodePath decodePathrenderQueryPartialEscaperenderQueryBuilderPartialEscapehttp09http10http11http20GHC.ForeignPtrwithForeignPtrmallocPlainForeignPtrByteslabelMeBuilder<<BitsBFTfromBits unpack4bitscopyidxEos huffmanTable huffmanTable'HTreetoHTreemarkBinTipeosInfoshowTree printTreeflattenHIndexSIndexDIndexstaticTableSize toStaticEntry staticTablestaticTableListRevIndex newRevIndex renewRevIndexlookupRevIndexlookupRevIndex'insertRevIndexdeleteRevIndexList circularTableoffset numOfEntriesmaxNumOfEntriesdynamicTableSizemaxDynamicTableSizeprintDynamicTablerenewDynamicTable shouldRenew insertEntrycodeInfohuffmanDecoderisDynamicTableEmptyisSuitableSizeTableSizeActionIgnoreKeepChangeneedChangeTableSizeresetLimitForEncodingtoDynamicEntryCodeInfoCIECIDtoIndexedEntryfromHIndexToIndex getRevIndex encodeHeader'TrueFalseminSettingsKeymaxSettingsKey buildPaddingdecodeWithPadding goawayFrame resetFrame settingsFrame pingFramewindowUpdateFrameaddMyId deleteMyIdkill baseSettingsfromSettingsListdifftoSettingsListmakeNegotiationFramescheckSettingsListControlCFramesCFinishSyncContDone OutputTypeONextOPushOHeaderOutput outputSync outputType outputStream streamRxQ streamRxFlow streamTxFlow streamInput streamState streamNumberRxQ StreamStateReservedClosedHalfClosedRemoteOpenIdle ClosedCode ResetByMeResetKilledFinished OpenStateHasBodyNoBody Continued JustOpenedBodyclosedCodeToErrorcheckSettingsValueOddStreamTableoddConcoddTableemptyOddStreamTableEvenStreamTableevenConc evenTable evenCacheemptyEvenStreamTable insertOdd insertOdd' deleteOdd lookupOddgetOddConcurrency getOddStreamsclearOddStreamTable waitIncOdd insertEven insertEven' deleteEven lookupEvengetEvenConcurrencyclearEvenStreamTable waitIncEveninsertEvenCachedeleteEvenCachelookupEvenCachegetEvenStreamsisIdleisOpenisHalfClosedRemoteisHalfClosedLocalisClosed isReserved newOddStream newEvenStreamreadStreamStatecloseAllStreams enqueueOutputenqueueOutputSTMenqueueControlContext continued senderDone threadManager peerSockAddr mySockAddrrstRateemptyFrameRate settingsRatepingRaterxFlowtxFlowdecodeDynamicTableencodeDynamicTablecontrolQoutputQStreamIDoutputQoutputBufferLimit peerStreamId myStreamIdevenStreamTableoddStreamTable peerSettingsmyFirstSettings mySettingsroleInforole ClientInfo ServerInfolaunchLaunchRoleInfoRICRISRoleClientServer toServerInfo toClientInfo newServerInfo newClientInfo newContextisClientisServergetMyNewStreamIdgetPeerStreamIDsetPeerStreamIDsetStreamStateopenedhalfClosedRemotehalfClosedLocalclosedopenOddStreamCheckopenEvenStreamCacheCheckcheckMyConcurrencyopenOddStreamWaitopenEvenStreamWaithpackEncodeHeaderhpackEncodeHeaderLoophpackDecodeHeaderhpackDecodeTrailerjust fixHeadersgetStreamWindowSizegetConnectionWindowSizewaitStreamWindowSizewaitConnectionWindowSizeincreaseWindowSizeincreaseStreamWindowSizeincreaseConnectionWindowSizedecreaseWindowSizeinformWindowUpdateadjustRxWindow prepareSyncsyncWithSender frameSenderSource frameReceiver wrapClinet getResponsesetuprunH2 sendRequestsendHeaderBody sendStreamingexchangeSettingsNetwork.HTTP.Semantics.ReadNReadNNetwork.HTTP.Semantics.FileSentinelCloser RefresherPositionReadMaker PositionReadNetwork.HTTP.Semantics.Client SendRequest defaultReadNdefaultPositionReadMakerresponseBodySize requestNoBody requestFilerequestBuilderrequestStreamingrequestStreamingUnmaskrequestStreamingIfacesetRequestTrailersMakerresponseStatusresponseHeadersgetResponseBodyChunkgetResponseBodyChunk'getResponseTrailers sendResponseworkerNetwork.HTTP.Semantics.ServerresponseBuilder checkPrefacegoaway PushPromisepromiseRequestPathpromiseResponse requestMethod requestPathrequestAuthority requestSchemerequestHeadersrequestBodySizegetRequestBodyChunkgetRequestBodyChunk'getRequestTrailersresponseNoBody responseFileresponseStreamingresponseStreamingIfacesetResponseTrailersMaker pushPromise