h*g       !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~0.2.0 Safe-Inferred* Safe-Inferredc  Safe-Inferred  Safe-Inferredquic1Insertion. Worst-case: O(N), amortized: O(log N).quic.Finding the minimum element. Worst-case: O(1).quicDeleting the minimum element. Worst-case: O(N), amortized: O(log N).quic9Merging two heaps. Worst-case: O(N), amortized: O(log N).  Safe-Inferred$quic toAckInfo [9]AckInfo 9 0 []toAckInfo [9,8,7]AckInfo 9 2 []toAckInfo [8,7,3,2]AckInfo 8 1 [(2,1)]toAckInfo [9,8,7,5,4]AckInfo 9 2 [(0,1)]quicfromAckInfo $ AckInfo 9 0 [][9]fromAckInfo $ AckInfo 9 2 [][7,8,9]!fromAckInfo $ AckInfo 8 1 [(2,1)] [2,3,7,8]!fromAckInfo $ AckInfo 9 2 [(0,1)] [4,5,7,8,9]quic%fromAckInfoWithMin (AckInfo 9 0 []) 1[9]%fromAckInfoWithMin (AckInfo 9 2 []) 8[8,9]*fromAckInfoWithMin (AckInfo 8 1 [(2,1)]) 3[3,7,8]*fromAckInfoWithMin (AckInfo 9 2 [(0,1)]) 8[8,9]   Safe-Inferredquic$Application protocol errors of QUIC.quicTransport errors of QUIC.-quic:Converting a TLS alert to a corresponding transport error. !"#$%&'()*+,-  Safe-Inferred"9 ./0123456789:  Safe-Inferred;quic All internal byte sequences. & should be used for FFI related stuff.; .5:6/01234789  Safe-Inferred(?@=>ABA lifetime (in seconds) for TLS session ticket and QUIC token.quicClient configuration.quicThe version to start with.quicCompatible versions with  in the preferred order.quic%Cipher candidates defined in TLS 1.3.quic1Key exchange group candidates defined in TLS 1.3.quicTLS credentials.quic=Use 0-RTT on the 2nd connection if possible. client originalquic(Used to create a socket and SNI for TLS.quicUsed to create a socket.quicAn ALPN provider.quic1Authenticating a server based on its certificate.quic1Use resumption on the 2nd connection if possible.quic#QUIC packet size (UDP payload size)quicHooks.quicDefault hooks.quic+The default value for client configuration.quic+The default value for server configuration.3> Safe-Inferred"%&B? Safe-Inferred"%&CBquic,A quic connection to carry multiple streams.quicA logger for debugging.@ Safe-InferredDA Safe-Inferred%&Equic%Waiting until 0-RTT data can be sent.quic%Waiting until 1-RTT data can be sent.quicFor clients, waiting until HANDSHAKE_DONE is received. For servers, waiting until a TLS stack reports that the handshake is complete.B Safe-InferredFC Safe-Inferred%&F^D Safe-Inferred%&G=quicClosing a connection with/without a transport error. Internal threads should use this.quic8Closing a connection with an application protocol error.E Safe-Inferred%&GF Safe-Inferred"%&G G Safe-Inferred%&HTquic%Getting information about resumption.H Safe-Inferred%&J quic+Reseting to Initial CID in the client side.quicSending NewConnectionIDquicReceiving NewConnectionIDquicAutomatic CID updatequic%Only for the internal "migration" APIquic After sending RetireConnectionIDquicReceiving NewConnectionIDquicPeer starts using a new CID.quicReceiving RetireConnectionIDI Safe-Inferred%&JrJ Safe-InferredJK Safe-Inferred%&M[quicThis is not used internally.L Safe-Inferred"%&MM Safe-InferredM"N Safe-Inferred"N0 O Safe-Inferred"%&NquicStatistics of a connection.quic'Getting information about a connection.quic#Getting statistics of a connection. P Safe-Inferred"%&O' Q Safe-Inferred"Rc quic Creating a bidirectional stream.quic!Creating a unidirectional stream.quicSending data in the stream.quic%Sending a list of data in the stream.quicSending FIN in a stream.  should be called later.quicClosing a stream without an error. This sends FIN if necessary.quic)Accepting a stream initiated by the peer.quicReceiving data in the stream. In the case where a FIN is received an empty bytestring is returned.quicClosing a stream with an error code. This sends RESET_STREAM to the peer. This is an alternative of .quicAsking the peer to stop sending. This sends STOP_SENDING to the peer and it will send RESET_STREAM back.  should be called later.   R Safe-Inferred"R S Safe-InferredS  Safe-InferredSFp,+*)('&%$#"! -p,+*)('&%$#"! ,+*)('&%$#"! -T Safe-Inferred"Tz U Safe-Inferred"U quicHow to control a connection. quic,readerClient dies when the socket is closed. V Safe-Inferred"%&Vquic?Running a QUIC client. A UDP socket is created according to  and .If ccAutoMigration is  , a unconnected socket is made. Otherwise, a connected socket is made. Use the  API for the connected socket.quicCreating a new socket and execute a path validation with a new connection ID. Safe-InferredVW Safe-InferredWNX Safe-Inferred"%&W~  Y Safe-Inferred"%&XquicRunning a QUIC server. The action is executed with a new connection in a new lightweight thread.quicRunning a QUIC server. The action is executed with a new connection in a new lightweight thread.quic'Stopping the base thread of the server. Safe-InferredYWquic(Getting a certificate chain of a client. Safe-InferredYab;pkqtrsuvwxyz{|}~ _`]^XYZ[\?@=>< omln+,*)('&%$#"! VQR-cdfeghijKSTUWABCDEFGHIJLMNOP.5:6/01234789 a;  abcdfegh_`i]^jXYZ[\KLMNOP,+*)('&%$#"! -q~}|{zyxwvusrtponmlkQRSTUVW?@=>AB>@@@@AAAAAAAAAAAAAAAAAAAABBBBBBBBBBBBBBBBBCCCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDEEEEEEEEFFFFFFFFFGGGGGGGGGGGGGGGGGGHHHHHHHHHHHHHHHHHHHHHHHIIIIIIIIIIIIIIIIKKKLOOOOOQQQQQQQQQQUUUUUUVVWYYY          ZZZZZ                                                                                                                                                                                                                                  " " " " " " " " " " " " "" " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " "" " " " " " " " " " " " " " " " " " " " " " " # # # # # # # #$ $ $ $ % % % & & & & & & & & ' ' ' ' ( ( ( ) ) * * * + + + / 1 1 2 3 6 6 N N N OP Q Q Q Q Q Q Q Q R R R R R R R R R R R R R R R R R R R R R R R S S S S S T U U  X X X X X X X X X X X X X X X X X X X X !quic-0.2.0-D1GC4HbfO24BEvGeT2BZvPNetwork.QUIC.Internal Network.QUICNetwork.QUIC.ClientNetwork.QUIC.ServerquicNetwork.QUIC.EventNetwork.QUIC.SocketNetwork.QUIC.Stream.FragNetwork.QUIC.Stream.SkewNetwork.QUIC.Types.AckNetwork.QUIC.Types.ErrorNetwork.QUIC.UtilsNetwork.QUIC.ImportsNetwork.QUIC.Types.TimeNetwork.QUIC.Types.ConstantsNetwork.QUIC.Types.IntegerNetwork.QUIC.Types.CIDNetwork.QUIC.Types.FrameNetwork.QUIC.Types.PacketNetwork.QUIC.Types.ResumptionNetwork.QUIC.Types.QueueNetwork.QUIC.Types.InfoNetwork.QUIC.Types.ExceptionNetwork.QUIC.TypesNetwork.QUIC.ConnectorNetwork.QUIC.Stream.TypesNetwork.QUIC.Stream.TableNetwork.QUIC.Stream.QueueNetwork.QUIC.Stream.MiscNetwork.QUIC.Stream.ReassNetwork.QUIC.StreamNetwork.QUIC.ParametersNetwork.QUIC.QlogNetwork.QUIC.Recovery.TypesNetwork.QUIC.Recovery.Utils'Network.QUIC.Recovery.PeerPacketNumbersNetwork.QUIC.Recovery.MiscNetwork.QUIC.Recovery.Constants Network.QUIC.Recovery.PersistentNetwork.QUIC.Recovery.MetricsNetwork.QUIC.Recovery.ReleaseNetwork.QUIC.Recovery.DetectNetwork.QUIC.Recovery.TimerNetwork.QUIC.Recovery.Interface"Network.QUIC.Recovery.LossRecoveryNetwork.QUIC.RecoveryNetwork.QUIC.QLoggerNetwork.QUIC.Packet.TokenNetwork.QUIC.Packet.NumberNetwork.QUIC.Packet.HeaderNetwork.QUIC.Packet.FrameNetwork.QUIC.Packet.DecodeNetwork.QUIC.LoggerNetwork.QUIC.ExceptionNetwork.QUIC.Crypto.TypesNetwork.QUIC.Crypto.NiteNetwork.QUIC.Crypto.UtilsNetwork.QUIC.Crypto.KeysNetwork.QUIC.Crypto.FusionNetwork.QUIC.CryptoNetwork.QUIC.ConfigNetwork.QUIC.TLSNetwork.QUIC.Connection.TypesNetwork.QUIC.Connection.TimeoutNetwork.QUIC.Connection.StateNetwork.QUIC.Connection.Queue$Network.QUIC.Connection.PacketNumberNetwork.QUIC.Connection.Misc#Network.QUIC.Connection.StreamTableNetwork.QUIC.Connection.StreamNetwork.QUIC.Connection.Role!Network.QUIC.Connection.MigrationNetwork.QUIC.Connection.CryptoNetwork.QUIC.ConnectionNetwork.QUIC.Packet.EncodeNetwork.QUIC.Packet.DecryptNetwork.QUIC.PacketNetwork.QUIC.SenderNetwork.QUIC.InfoNetwork.QUIC.ReceiverNetwork.QUIC.IONetwork.QUIC.HandshakeNetwork.QUIC.CommonNetwork.QUIC.CloserNetwork.QUIC.Client.ReaderNetwork.QUIC.Client.RunNetwork.QUIC.WindowsNetwork.QUIC.Server.ReaderNetwork.QUIC.Server.Runbytestring-0.11.5.2 Data.ByteString.Builder.InternalBuilder tls-2.1.0-DxFqasi7G2R9N6iLcjb01INetwork.TLS.TypesTrafficSecretsServerTrafficSecretClientTrafficSecretNetwork.TLS.CipherCipher natRebinding clientSocket serverSocketPeerPacketNumbersAckInfoGapRange PacketNumberackInfo0 toAckInfo fromAckInfofromAckInfoWithMinfromAckInfoToPredemptyPeerPacketNumbersApplicationProtocolErrorTransportErrorVersionNegotiationError NoViablePathAeadLimitReachedKeyUpdateErrorCryptoBufferExceededApplicationError InvalidTokenProtocolViolationConnectionIdLimitErrorTransportParameterErrorFrameEncodingErrorFinalSizeErrorStreamStateErrorStreamLimitErrorFlowControlErrorConnectionRefused InternalErrorNoError cryptoError fromRightdec16enc16dec16senc16s shortToStringgetRandomOneBytegetRandomBytestotalLensum'withByteString shortpackignoreBytesTimeMicrosecond Microseconds Milliseconds milliToMicro microToMillitimeMicrosecond0getTimeMicrosecondgetElapsedTimeMicrosecondelapsedTimeMicrosecondgetTimeoutInMicrosecondgetPastTimeMicrosecondgetFutureTimeMicrosecondaddMicrosecondsmaximumUdpPayloadSizedefaultQUICPacketSizedefaultQUICPacketSizeForIPv4defaultQUICPacketSizeForIPv6maximumQUICHeaderSize idleTimeout encodeInt encodeInt8 encodeInt' encodeInt'2 encodeInt'4 decodeInt decodeInt'CIDInfo cidInfoSeq cidInfoCID cidInfoSRTPathDataStatelessResetTokenCID myCIDLengthnewCIDtoCIDfromCIDmakeCID unpackCIDnewStatelessResetToken newPathDataToken StreamData CryptoDataFinDelayStreamIdFramePaddingPingAck ResetStream StopSendingCryptoFNewTokenStreamFMaxData MaxStreamData MaxStreams DataBlockedStreamDataBlockedStreamsBlockedNewConnectionIDRetireConnectionID PathChallenge PathResponseConnectionCloseConnectionCloseApp HandshakeDone UnknownFrameSeqNum ReasonPhrase DirectionUnidirectional Bidirectional FrameTypeisClientInitiatedBidirectionalisServerInitiatedBidirectionalisClientInitiatedUnidirectionalisServerInitiatedUnidirectionalisClientInitiatedisServerInitiatedisBidirectionalisUnidirectional emptyToken ackElicitingpathValidatinginFlight rateControledEncodedPacketNumberRaw ProtectedFlagsEncryptionLevel InitialLevel RTT0LevelHandshakeLevel RTT1LevelLongHeaderPacketTypeInitialPacketTypeRTT0PacketTypeHandshakePacketTypeRetryPacketTypeReceivedPacket rpCryptPacketrpTimeReceviedrpReceivedBytesrpEncryptionLevelStatelessResetCryptcryptPktNumOffset cryptPacket cryptMarksPlain plainFlagsplainPacketNumber plainFrames plainMarks CryptPacket PlainPacketHeaderInitialRTT0 HandshakeShort BrokenPacket RetryPacketVersionNegotiationPacketPacketOPacketOVPacketORPacketOPPacketIPacketIVPacketIRPacketICPacketIB VersionInfo chosenVersion otherVersionsVersionGreasingVersion2GreasingVersionDraft29Version2Version1 NegotiationisGreasingVersionbrokenVersionInfo!extensionIDForTtransportParameter headerMyCID headerPeerCIDdefaultPlainMarkssetIllegalReservedBitssetUnknownFrame setNoFrames setNoPaddings set4bytesPNisIllegalReservedBitsisUnknownFrame isNoFrames isNoPaddings is4bytesPNisCryptDelayedsetCryptDelayedmkReceivedPacketpacketEncryptionLevelResumptionInforesumptionVersionresumptionSessionresumptionTokenresumptionRetrySessionEstablishdefaultResumptionInfois0RTTPossibleisResumptionPossible get0RTTCipherRecvQnewRecvQ readRecvQ writeRecvQ prependRecvQConnectionInfoversioncipheralpn handshakeModeretry localSockAddrremoteSockAddrlocalCID remoteCIDAbortVerNego NextVersionInternalControlMustNotReachedExitConnectionWrongTransportParameterWrongVersionInformation BreakForever QUICExceptionConnectionIsClosedTransportErrorIsReceivedTransportErrorIsSent"ApplicationProtocolErrorIsReceivedApplicationProtocolErrorIsSentConnectionIsTimeoutConnectionIsResetStreamIsClosedHandshakeFailedVersionIsUnknownNoVersionIsSpecifiedVersionNegotiationFailedBadThingHappen SizedBufferCloseConnectionState Handshaking ReadyFor0RTT ReadyFor1RTT EstablishedRoleClientServer ConnStateroleconnectionState packetNumberencryptionLevel maxPacketSizeconnectionAlive ConnectorgetRolegetEncryptionLevelgetMaxPacketSizegetConnectionStategetPacketNumbergetAlive newConnStateisClientisServerisConnectionEstablishedAuthCIDs initSrcCID origDstCID retrySrcCID ParametersoriginalDestinationConnectionIdmaxIdleTimeoutstatelessResetTokenmaxUdpPayloadSizeinitialMaxDatainitialMaxStreamDataBidiLocalinitialMaxStreamDataBidiRemoteinitialMaxStreamDataUniinitialMaxStreamsBidiinitialMaxStreamsUniackDelayExponent maxAckDelaydisableActiveMigrationpreferredAddressactiveConnectionIdLimitinitialSourceConnectionIdretrySourceConnectionIdgrease greaseQuicBitversionInformationencodeParametersdecodeParametersbaseParametersdefaultParametersdefaultAuthCIDssetCIDsToParametersgetCIDsToParametersKeepQlogkeepQlogQLoggerQlogMsg QRecvInitial QSentRetryQSent QReceivedQDroppedQMetricsUpdated QPacketLostQCongestionStateUpdatedQLossTimerUpdatedQDebug QParamsSet QCIDUpdateLRLocalRemoteDebugQlogqlog packetTypesw newQlogger qlogReceived qlogDroppedqlogRecvInitial qlogSentRetry qlogParamsSet qlogDebug qlogCIDUpdateLDCC SentPacket spPlainPacket spTimeSent spSentBytesspEncryptionLevelspPacketNumberspPeerPacketNumbersspAckEliciting mkSentPacket fixSentPacketnewLDCCqlogSentgetPeerPacketNumberssetPreviousRTT1PPNsgetPreviousRTT1PPNsnullPeerPacketNumbersfromPeerPacketNumbers getSpeedingUpgetPacketNumberSpaceDiscarded#getAndSetPacketNumberSpaceDiscardedsetMaxAckDaley findDurationgetPTOsetInitialCongestionWindowreleaseByRetry releaseOldest ldccTimer beforeAntiAmpcheckWindowOpenSTM takePingSTMspeedupresender onPacketSentonPacketReceived onAckReceivedonPacketNumberSpaceDiscarded CryptoTokentokenQUICVersion tokenLifeTimetokenCreatedTime tokenCIDs isRetryToken generateTokengenerateRetryToken encryptToken decryptTokenisLongisShortunprotectFlags protectFlagsencodeShortHeaderFlagsencodeLongHeaderFlagsretryPacketTypeversionNegotiationPacketTypedecodeLongHeaderPacketTypeencodePktNumLengthdecodePktNumLength encodeFramesdecodeFramesBSdecodeFramesBuffer countZerodecodeCryptPackets decodePackets decodePacketdecodeStatelessResetToken DebugLoggerbhow stdoutLoggerdirDebugLogger InitialSecretNonceLabelMaskSampleAssDatSecretIVKeySalt CipherText PlainTextaes128gcmEncrypt makeNoncemakeNiteEncrypt niteEncrypt niteEncrypt'makeNiteDecrypt niteDecrypt niteDecrypt'protectionMaskmakeNiteProtectorbsXOR tagLength sampleLengthcalculateIntegrityTag defaultCipherinitialSecretsclientInitialSecretserverInitialSecretaeadKeyheaderProtectionKey initialVector nextSecret Supplement FusionContextfusionNewContext fusionSetup fusionEncrypt fusionDecryptfusionSetupSupplementfusionSetSample fusionGetMaskisFusionAvailable Connection RecvStreamQ recvStreamQ pendingData endOfStream StreamState streamOffset streamFin RxStreamData rxstrmData rxstrmOff rxstrmLen rxstrmFin TxStreamDataLengthStreamstreamIdstreamConnection newStream syncFinTx waitFinTxgetTxStreamOffsetisTxStreamClosedsetTxStreamClosedgetRxStreamOffsetisRxStreamClosedsetRxStreamClosedreadStreamFlowTxaddTxStreamDatasetTxMaxStreamDatagetRxMaxStreamDataupdateStreamFlowRxFlowCntl OverLimit Duplicated ReassembledtakeRecvStreamQwithSizeputRxStreamData tryReassemble StreamTableemptyStreamTable lookupStream insertStream deleteStreaminsertCryptoStreamsdeleteCryptoStreamlookupCryptoStream ServerConfig scVersions scCiphersscGroups scParametersscKeyLogscQLog scCredentialsscHooks scTlsHooks scUse0RTT scAddressesscALPNscRequireRetryscSessionManager scDebugLogscTicketLifetime ClientConfig ccVersion ccVersions ccCiphersccGroups ccParametersccKeyLogccQLog ccCredentialsccHooks ccTlsHooks ccUse0RTT ccServerName ccPortNameccALPN ccValidate ccResumption ccPacketSize ccDebugLogHooksonCloseCompletedonPlainCreatedonTransportParametersCreatedonTLSExtensionCreatedonTLSHandshakeCreatedonResetStreamReceived onServerReadyonConnectionEstablished defaultHooksdefaultClientConfigdefaultServerConfigSharedsharedCloseSentsharedCloseReceivedshared1RTTReadysharedSendStreamQ SendStreamQ MigrationQ OutputQLimOutputQCryptoQInputQOutput OutControl OutHandshake OutRetransCrypto InpHandshakeInput InpStream connState connDebugLogconnQLog connHooksconnSendconnRecv connRecvQ connSocketreaders mainThreadId controlRateroleInfoquicVersionInfoorigVersionInfo myParametersmyCIDDBpeerParameters peerCIDDB peerSockAddrinputQcryptoQoutputQ outputQLim migrationQshareddelayedAckCountdelayedAckCancelpeerPacketNumber streamTable myStreamId myUniStreamId peerStreamIdpeerUniStreamIdflowTxflowRxmigrationStateminIdleTimeoutbytesTxbytesRxaddressValidatedpendingQcipherscoders coders1RTT protectorscurrentKeyPhase negotiatedconnMyAuthCIDsconnPeerAuthCIDs connResources encodeBuf encryptRes decryptBufconnLDCCRecvSend Concurrency currentStream maxStreams StreamIdBasefromStreamIdBase NegotiatedtlsHandshakeModeapplicationProtocolapplicationSecretInfo Protector setSamplegetMask unprotect Coder1RTT coder1RTTsecretNCoderencryptdecrypt supplementMigrationState NonMigrationMigrationStarted SendChallenge RecvResponseCIDDB usedCIDInfocidInfosrevInfos nextSeqNum triggeredByMeRoleInfo ClientInfo ServerInfoclientInitialTokenresumptionInfoincompatibleVN tokenManager registerCID unregisterCIDaskRetry baseThreadId certChain dummySecretsdefaultClientRoleInfodefaultServerRoleInfonewCIDDB initialCoderinitialCoder1RTTinitialProtectorinitialNegotiatednewConcurrencysetDead makePendingQ newConnectiondefaultTrafficSecretsclientConnectionserverConnection newSharedclientHandshakerserverHandshakertimeoutfirecfiredelaysetConnection0RTTReadysetConnection1RTTReadysetConnectionEstablishedisConnection1RTTReady wait0RTTReady wait1RTTReadywaitEstablishedreadConnectionFlowTx addTxData setTxMaxData getRxMaxData updateFlowRxcheckRxMaxData addTxBytes getTxBytes addRxBytes getRxBytessetAddressValidatedwaitAntiAmplificationFreecheckAntiAmplificationFree takeInputputInput takeCrypto putCrypto takeOutputSTM tryTakeOutput tryPeekOutput putOutput outputLimit putOutputLimtakeOutput1STMtakeSendStreamQtakeSendStreamQSTMtryPeekSendStreamQputSendStreamQreadMigrationQwriteMigrationQnextPacketNumbergetPeerPacketNumbersetPeerPacketNumbersetVersionInfogetVersionInfo setVersion getVersiongetOriginalVersion getSocket setSocket clearSocketgetPeerSockAddrsetPeerSockAddrgetPeerAuthCIDssetPeerAuthCIDsgetClientDstCIDgetMyParametersgetPeerParameterssetPeerParameters delayedAckresetDealyedAcksetMaxPacketSize addResource freeResources addReader killReadersreadMinIdleTimeoutsetMinIdleTimeout sendFrames sendFramesLimcloseConnectionabortConnection createStream findStream addStream delStreaminitialRxMaxStreamDatasetupCryptoStreamsclearCryptoStreamgetCryptoStream getMyStreamIdpossibleMyStreamswaitMyNewStreamIdwaitMyNewUniStreamIdsetTxMaxStreamssetTxUniMaxStreamsupdatePeerStreamIdcheckRxMaxStreamscheckStreamIdRoomsetTokengetTokengetResumptionInfo setRetried getRetriedsetIncompatibleVNgetIncompatibleVNsetResumptionSession setNewToken setRegister getRegister getUnregistersetTokenManagergetTokenManagersetBaseThreadIdgetBaseThreadIdsetCertificateChaingetCertificateChaingetMyCID getMyCIDsgetMyCIDSeqNum getPeerCIDisMyCIDshouldUpdateMyCID myCIDsInclude resetPeerCID getNewMyCID addPeerCIDshouldUpdatePeerCIDchoosePeerCIDForPrivacy waitPeerCID retirePeerCIDsetPeerCIDAndRetireCIDssetMyCID retireMyCIDsetPeerStatelessResetTokenisStatelessRestTokenValid validatePathsetMigrationStartedisPathValidating checkResponsesetEncryptionLevel putOffCryptowaitEncryptionLevel getCipher setCipher getTLSModegetApplicationProtocol setNegotiated dropSecretsinitializeCoderinitializeCoder1RTTupdateCoder1RTTgetCoder getProtectorgetCurrentKeyPhasesetCurrentKeyPhaseencodeVersionNegotiationPacketencodeRetryPacketencodePlainPacket decryptCryptConnectionStatstxBytesrxBytesgetConnectionInfogetConnectionStatsstreamunidirectionalStream sendStreamsendStreamManyshutdownStream closeStream acceptStream recvStream resetStream stopStreamConnectionControlChangeServerCIDChangeClientCID NATRebindingActiveMigrationcontrolConnectionrunmigratewindowsThreadBlockHackrunWithSocketsstopclientCertificateChainbaseGHC.Event.ThreadgetSystemTimerManagerGHC.Event.TimerManagerregisterTimeoutunregisterTimeout updateTimeout TimerManagerGHC.Event.TimeOutTimeoutCallback TimeoutKeyFFragnextOffcurrOffshrink shrinkSeqinsertminimum deleteMin'mergeSkewNodeLeafempty deleteMin deleteMinIfData.ByteString.Internal.Type ByteStringBSPSData.ByteString.Short.InternalShortByteStringSBSGHC.Base Applicative<*>pure*><*liftA2 Alternative<|>somemanyData.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 finiteBitSizecountLeadingZeroscountTrailingZerosBits.&..|.xor complementshiftrotatezeroBitsbitsetBitclearBit complementBittestBit bitSizeMaybebitSizeisSignedshiftL unsafeShiftLshiftR unsafeShiftRrotateLrotateRpopCount Data.BitsIffgetIffXorgetXorIorgetIorAndgetAnd bitDefaulttestBitDefaultpopCountDefaulttoIntegralSizedoneBits.^..>>..<<.!>>.!<<.FoldablefoldrnulllengthfoldltoListfoldl'foldl1sumproductfoldr'foldr1maximumelemfoldfoldMapfoldMap' maximumBy minimumByconcatandoranyallnotElem concatMapfoldrMfoldlM traverse_for_ sequenceA_find GHC.IORefIORefatomicModifyIORef' Data.IORefatomicWriteIORefatomicModifyIORefnewIORef readIORef writeIORef mkWeakIORef modifyIORef modifyIORef'ghc-prim GHC.TypesIntGHC.IntInt8Int16Int32Int64MonoidmconcatmappendmemptyData.Semigroup.InternalAnygetAnySumgetSumProduct getProduct Data.MonoidLastgetLastFirstgetFirstAltgetAltAllgetAllEndoappEndoDualgetDualApgetAp<>OrderingLTEQGT GHC.ClassesOrdcompare>=<<=>maxminData.OrdDowngetDownclamp comparingWordGHC.WordWord8Word64Word32Word16 byteSwap16 byteSwap32 byteSwap64 bitReverse8 bitReverse16 bitReverse32 bitReverse64GHC.ArrArrayGHC.IxIxrangeindexinRange rangeSizearray listArray!boundsindiceselemsassocs accumArray//accumixmap array-0.5.5.0Data.Array.IO.InternalsIOUArray GHC.IOArrayIOArrayData.Array.BaseMArray getBoundsnewArray newArray_ newListArray readArray writeArraygetElems getAssocsmapArray mapIndicesfreezethaw Data.Array.IO hGetArray hPutArray GHC.MaybeMaybeNothingJust Data.MaybemaybeisJust isNothingfromJust fromMaybe maybeToList listToMaybe catMaybesmapMaybe GHC.FloatFloatingpiexplogsqrt**logBasesincostanasinacosatansinhcoshtanhasinhacoshatanhlog1pexpm1log1pexplog1mexpGHC.Real showSigned showFloat floatToDigitsfromRatGHC.Read lexDigitsNumericreadIntreadBinreadOctreadDecreadHex readFloat readSignedshowInt showEFloat showFFloat showGFloat showFFloatAlt showGFloatAlt showHFloat showIntAtBaseshowHexshowOctshowBin/network-byte-order-0.1.7-183l24JU6xQ9NGdCLjd3gUNetwork.ByteOrder ReadBuffer WriteBufferoffsetstartlimit oldoffsetBufferOffset BufferOverrunReadableread8readInt8ff remainingSizepositionwithCurrentOffSetsave savingSizegoBack BufferSize toByteStringcopyword8toShortByteStringpoke8poke16poke24poke32poke64peek8peek16peek24peek32peek64peekByteString bytestring8 bytestring16 bytestring32 bytestring64word16word32word64unsafeWithByteStringbufferIOnewWriteBufferclearWriteBufferwrite8write16write24write32write64 shiftLastNcopyByteStringcopyShortByteStringwithWriteBufferwithWriteBuffer' currentOffset newReadBufferwithReadBufferextractByteStringextractShortByteStringread16read24read32read64atomicModifyIORef''copyBS streamFlowTx streamFlowRx streamStateTx streamStateRx streamRecvQ streamReassstreamSyncFinTxputRecvStreamQtakeRecvStreamQtryTakeRecvStreamQaddRxStreamData bytesInFlightcongestionWindowcongestionRecoveryStartTimessthresh bytesAcked latestRTT smoothedRTTrttvarminRTTmaxAckDelay1RTTptoCount kInitialRTT LostPacket SentPacketsemptySentPacketsRTT initialRTTCCModeRecovery SlowStart AvoidanceCCnumOfAckElicitingccMode initialCC LossDetectionlargestAckedPacketpreviousAckInfotimeOfLastAckElicitingPacketlossTimeinitialLossDetection MetricsDiff TimerTypeLossTimePTO TimerInfo timerTime timerLevel timerType TimerInfoQEmptyNextTimerCancelled TimerExpiredmakeSentPacketsmakeLossDetection ldccState ldccQlogger putRetrans recoveryRTT recoveryCCspaceDiscarded sentPackets lossDetectiontimerKey timerInfolostCandidatesptoPing speedingUppktNumPersistentpeerPacketNumberspreviousRTT1PPNs timerInfoQqlogMetricsUpdatedqlogPacketLostqlogContestionStateUpdatedqlogLossTimerUpdatedqlogLossTimerCancelledqlogLossTimerExpired retransmitsendPingmergeLostCandidatesmergeLostCandidatesAndClearpeerCompletedAddressValidation countAckEliinCongestionRecoveryaddPeerPacketNumbersdelPeerPacketNumbersclearPeerPacketNumbersreducePeerPacketNumbersgetPktNumPersistentsetPktNumPersistent setSpeedingUpkPacketThresholdkTimeThreshold kGranularitykInitialWindowkMinimumWindowkLossReductionFactorkPersistentCongestionThresholdtimerGranularitygetMaxAckDelaycalcPTObackOffinPersistentCongestion updateRTTupdateCCmetricsUpdateddiscard onPacketsLostreleaseByPredicatedetectAndRemoveLostPacketsremovePacketNumbersgetLossTimeAndSpacegetPtoTimeAndSpacesetLossDetectionTimer dirQLoggerencodePacketNumberdecodePacketNumberisQuicencodeFramesWithPadding handleLogT handleLogUnitsendermkHeader sendFinalreceiverBlocked StrmBlocked ConnBlocked BothBlockedaddTx sendBlockedsplit checkBlockedHndState hsRecvCntnewHndStateRef sendCompleted recvCompletedrxLevelChangedsendCryptoDatarecvCryptoDatarecvTLSsendTLS internalErrorhandshakeClienthandshakeClient'handshakeServerhandshakeServer' setPeerParamsstoreNegotiatedsendCCParamError sendCCVNErrorsendCCTLSErrorsendCCTLSAlert getErrorCauseConnResconnResConnectiondefaultPacketSizemaximumPacketSizeclosure readerClient recvClientTrueDispatchtokenMgr newDispatch clearDispatch runDispatcheracceptAcceptaccVersionInfo accMyAuthCIDsaccPeerAuthCIDs accMySocketaccPeerSockAddraccRecvQ accPacketSize accRegister accUnregisteraccAddressValidatedaccTime recvServer