7p  net/luminis/quic/RoleClientLnet/luminis/quic/Role;   #net/luminis/quic/QuicConnectionImple(Lnet/luminis/quic/Version;Lnet/luminis/quic/Role;Ljava/nio/file/Path;Lnet/luminis/quic/log/Logger;)V#java/util/concurrent/CountDownLatch  (I)V  )net/luminis/quic/QuicClientConnectionImplhandshakeFinishedCondition%Ljava/util/concurrent/CountDownLatch;java/util/ArrayList  ()V  !"java/util/CollectionssynchronizedList"(Ljava/util/List;)Ljava/util/List; $ %&newSessionTicketsLjava/util/List; ()* +, net/luminis/quic/EarlyDataStatusNone"Lnet/luminis/quic/EarlyDataStatus; . /,earlyDataStatus 1 23processedRetryPacketZ5 67makeConcatWithConstantsA(Ljava/lang/String;ILnet/luminis/quic/Version;)Ljava/lang/String; 9:; <=net/luminis/quic/log/Loggerinfo(Ljava/lang/String;)V ? @AoriginalVersionLnet/luminis/quic/Version; C DApreferredVersion F GHhostLjava/lang/String; J KLportI NOP QRjava/net/InetAddress getByName*(Ljava/lang/String;)Ljava/net/InetAddress; T UV serverAddressLjava/net/InetAddress; X YZ sessionTicket$Lnet/luminis/quic/QuicSessionTicket; \ ]& cipherSuites _ `aclientCertificate$Ljava/security/cert/X509Certificate; c declientCertificateKeyLjava/security/PrivateKey; g hi socketFactory(Lnet/luminis/quic/DatagramSocketFactory; klm no&net/luminis/quic/DatagramSocketFactorycreateDatagramSocket()Ljava/net/DatagramSocket; q rssocketLjava/net/DatagramSocket;unet/luminis/quic/IdleTimer tw xE(Lnet/luminis/quic/QuicConnectionImpl;Lnet/luminis/quic/log/Logger;)V z {| idleTimerLnet/luminis/quic/IdleTimer;~ net/luminis/quic/send/SenderImpl   quicVersion Lnet/luminis/quic/VersionHolder;  getMaxPacketSize()Ijava/net/InetSocketAddress (Ljava/net/InetAddress;I)V } (Lnet/luminis/quic/VersionHolder;ILjava/net/DatagramSocket;Ljava/net/InetSocketAddress;Lnet/luminis/quic/QuicConnectionImpl;Ljava/lang/Integer;Lnet/luminis/quic/log/Logger;)V  sender"Lnet/luminis/quic/send/SenderImpl; } enableAllLevels  java/util/ObjectsrequireNonNull&(Ljava/lang/Object;)Ljava/lang/Object; getAsIntD(Lnet/luminis/quic/send/SenderImpl;)Ljava/util/function/IntSupplier; t setPtoSupplier#(Ljava/util/function/IntSupplier;)V } getGlobalAckGenerator'()Lnet/luminis/quic/GlobalAckGenerator;   ackGenerator%Lnet/luminis/quic/GlobalAckGenerator;net/luminis/quic/Receiver acceptJ(Lnet/luminis/quic/QuicClientConnectionImpl;)Ljava/util/function/Consumer; V(Ljava/net/DatagramSocket;Lnet/luminis/quic/log/Logger;Ljava/util/function/Consumer;)V  receiverLnet/luminis/quic/Receiver;%net/luminis/quic/stream/StreamManager ^(Lnet/luminis/quic/QuicConnectionImpl;Lnet/luminis/quic/Role;Lnet/luminis/quic/log/Logger;II)V   streamManager'Lnet/luminis/quic/stream/StreamManager; L(Lnet/luminis/quic/QuicClientConnectionImpl;)Ljava/util/function/BiConsumer;(net/luminis/quic/cid/ConnectionIdManager q(Ljava/lang/Integer;ILnet/luminis/quic/send/Sender;Ljava/util/function/BiConsumer;Lnet/luminis/quic/log/Logger;)V  connectionIdManager*Lnet/luminis/quic/cid/ConnectionIdManager;  *net/luminis/quic/QuicConnectionImpl$StatusCreated,Lnet/luminis/quic/QuicConnectionImpl$Status;  connectionState)net/luminis/tls/handshake/TlsClientEngine+net/luminis/quic/QuicClientConnectionImpl$1 K(Lnet/luminis/quic/QuicClientConnectionImpl;Lnet/luminis/quic/log/Logger;)V c(Lnet/luminis/tls/handshake/ClientMessageSender;Lnet/luminis/tls/handshake/TlsStatusEventHandler;)V   tlsEngine+Lnet/luminis/tls/handshake/TlsClientEngine;  connect[(ILjava/lang/String;Lnet/luminis/quic/TransportParameters;Ljava/util/List;)Ljava/util/List;  java/lang/Stringtrim()Ljava/lang/String; isEmpty()Z"java/lang/IllegalArgumentExceptionALPN cannot be empty =java/lang/IllegalStateException 6@(Lnet/luminis/quic/QuicConnectionImpl$Status;)Ljava/lang/String; java/util/List-Cannot send early data without session ticket  HapplicationProtocol    transportParams&Lnet/luminis/quic/TransportParameters;    $net/luminis/quic/TransportParametersgetActiveConnectionIdLimit  setMaxPeerConnectionIds  getInitialConnectionId()[B   setInitialSourceConnectionId([B)V   emptyList()Ljava/util/List;  !"logLnet/luminis/quic/log/Logger;$1Original destination connection id: %s (scid: %s)&java/lang/Object ( )"getOriginalDestinationConnectionId +,- ./net/luminis/tls/util/ByteUtils bytesToHex([B)Ljava/lang/String; 1 23format9(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String; 5 6generateInitialKeys 8 9start ; <=connectionSecrets+Lnet/luminis/quic/crypto/ConnectionSecrets; }? 9@.(Lnet/luminis/quic/crypto/ConnectionSecrets;)V B CstartReceiverLoop E FGstartHandshake(Ljava/lang/String;Z)V I J" sendEarlyData LMN OPjava/util/concurrent/TimeUnit MILLISECONDSLjava/util/concurrent/TimeUnit; R STawait#(JLjava/util/concurrent/TimeUnit;)Z V WabortHandshakeYjava/net/ConnectException[ 6\(I)Ljava/lang/String; X _ ` Connected b cHhandshakeErroreg 6h&(Ljava/lang/String;)Ljava/lang/String;jjava/lang/InterruptedExceptionljava/lang/RuntimeException k (o p,Acceptedr:Server did not accept early data; retransmitting all data. t uviterator()Ljava/util/Iterator; xyz {java/util/IteratorhasNext x} ~next()Ljava/lang/Object;net/luminis/quic/QuicStream'net/luminis/quic/stream/EarlyDataStream  writeRemaining(Z)V    "net/luminis/quic/QuicSessionTicketcopyTo)(Lnet/luminis/quic/TransportParameters;)V  setZeroRttTransportParameters  getInitialMaxData()J5net/luminis/quic/QuicClientConnection$StreamEarlyData  createEarlyDataStream,(Z)Lnet/luminis/quic/stream/EarlyDataStream;  data[B  3 closeOutput  writeEarlyData([BZJ)V  java/lang/Longmax(JJ)J   getInitialMaxStreamsBidi 6(J)Ljava/lang/String;  add(Ljava/lang/Object;)Z ( , Requested  Failed } stop   terminate)keep alive can only be set when connected t  isEnablednet/luminis/quic/KeepAliveActor t getIdleTimeout  C(Lnet/luminis/quic/VersionHolder;IILnet/luminis/quic/send/Sender;)V  keepAliveActor!Lnet/luminis/quic/KeepAliveActor; net/luminis/quic/frame/PingFrame  net/luminis/quic/VersionHolder getVersion()Lnet/luminis/quic/Version;  (Lnet/luminis/quic/Version;)V   net/luminis/quic/EncryptionLevelApp"Lnet/luminis/quic/EncryptionLevel; } sendG(Lnet/luminis/quic/frame/QuicFrame;Lnet/luminis/quic/EncryptionLevel;)V } flush not connectedjava/lang/Thread runA(Lnet/luminis/quic/QuicClientConnectionImpl;)Ljava/lang/Runnable; receiver-loop  )(Ljava/lang/Runnable;Ljava/lang/String;)V  receiverThreadLjava/lang/Thread;   setDaemon 8   currentThread()Ljava/lang/Thread;   isInterrupted    get(I)Lnet/luminis/quic/RawPacket;   net/luminis/quic/RawPacketgetTimeReceived()Ljava/time/Instant;  java/time/Instantnow  java/time/DurationbetweenP(Ljava/time/temporal/Temporal;Ljava/time/temporal/Temporal;)Ljava/time/Duration;    getLength ! 6"(II)Ljava/lang/String;  $ %&getData()Ljava/nio/ByteBuffer; 9( )*raw,(Ljava/lang/String;Ljava/nio/ByteBuffer;II)V , -toMillis / 60(IJ)Ljava/lang/String; 92 3=debug 5 67parseAndProcessPacketsP(ILjava/time/Instant;Ljava/nio/ByteBuffer;Lnet/luminis/quic/packet/QuicPacket;)V 9 :hasMore }< =datagramProcessed?.Terminating receiver loop because of interruptAjava/lang/ExceptionC*Terminating receiver loop because of error 9E 3F*(Ljava/lang/String;Ljava/lang/Exception;)V H IJabortConnection(Ljava/lang/Throwable;)V L MgetCurrentPeerConnectionId OPQ R)net/luminis/quic/crypto/ConnectionSecretscomputeInitialKeys T U= setServerName W XYaddSupportedCiphers(Ljava/util/List;)V [ \]applyJ(Lnet/luminis/quic/QuicClientConnectionImpl;)Ljava/util/function/Function; _ `asetClientCertificateCallback (Ljava/util/function/Function;)V cde fnet/luminis/quic/Versionequalsh7net/luminis/quic/TransportParameters$VersionInformation j klof6(Ljava/lang/Object;Ljava/lang/Object;)Ljava/util/List; gn o-(Lnet/luminis/quic/Version;Ljava/util/List;)V  q rssetVersionInformation<(Lnet/luminis/quic/TransportParameters$VersionInformation;)V cu visV2 cx yAQUIC_version_2 c{ |AQUIC_version_1~5net/luminis/quic/tls/QuicTransportParametersExtension } Z(Lnet/luminis/quic/Version;Lnet/luminis/quic/TransportParameters;Lnet/luminis/quic/Role;)V  clientHelloEnlargementLjava/lang/Integer;  java/lang/IntegerintValue } addDiscardTransportParameter  ((Lnet/luminis/tls/extension/Extension;)VFnet/luminis/tls/extension/ApplicationLayerProtocolNegotiationExtension ,net/luminis/tls/extension/EarlyDataExtension   setNewSessionTicket%(Lnet/luminis/tls/NewSessionTicket;)V  Fjava/io/IOException   getCipher,()Lnet/luminis/tls/TlsConstants$CipherSuite; O computeEarlySecretsg(Lnet/luminis/tls/TrafficSecrets;Lnet/luminis/tls/TlsConstants$CipherSuite;Lnet/luminis/quic/Version;)V  getSelectedCipher O computeHandshakeSecretsM(Lnet/luminis/tls/TrafficSecrets;Lnet/luminis/tls/TlsConstants$CipherSuite;)V  hasHandshakeKeys  handshakeStateLockLjava/lang/Object;  handshakeState!Lnet/luminis/quic/HandshakeState;  net/luminis/quic/HandshakeStateHasHandshakeKeys  transitionAllowed$(Lnet/luminis/quic/HandshakeState;)Z  &handshakeStateListeners  forEach (Ljava/util/function/Consumer;)V1Handshake state cannot be set to HasHandshakeKeys  &postProcessingActions  O computeApplicationSecrets#(Lnet/luminis/tls/TrafficSecrets;)V   HasAppKeys 65(Lnet/luminis/quic/HandshakeState;)Ljava/lang/String; 9 =error   countDown  addNewSessionTicket } discard/(Lnet/luminis/quic/PnSpace;Ljava/lang/String;)V %net/luminis/quic/packet/InitialPacket  handleVersionNegotiation  getSourceConnectionId  registerInitialPeerCid   processFrames:(Lnet/luminis/quic/packet/QuicPacket;Ljava/time/Instant;)V  3ignoreVersionNegotiation  .net/luminis/quic/PacketProcessor$ProcessResultContinue0Lnet/luminis/quic/PacketProcessor$ProcessResult;  versionNegotiationStatus>Lnet/luminis/quic/QuicConnectionImpl$VersionNegotiationStatus;    6?F(Lnet/luminis/quic/VersionHolder;Ljava/lang/String;)Ljava/lang/String;A*net/luminis/quic/VersionNegotiationFailure @D#Ignoring Version Negotiation packet FGH IJ#net/luminis/quic/packet/RetryPacketvalidateIntegrityTag([B)Z FL M getRetryToken O Ptoken }R SsetInitialToken U VInitial X YZgetCryptoStreamC(Lnet/luminis/quic/EncryptionLevel;)Lnet/luminis/quic/CryptoStream; \]^ _net/luminis/quic/CryptoStreamreset F b cregisterRetrySourceConnectionIdg }f ghgetCongestionController,()Lnet/luminis/quic/cc/CongestionController; j]k(net/luminis/quic/cc/CongestionControllerm4Ignoring RetryPacket, because already processed one.o:Discarding Retry packet, because integrity tag is invalid. q rAbort t u Confirmedx*Handshake state cannot be set to Confirmed z{| }~net/luminis/quic/PnSpace HandshakeLnet/luminis/quic/PnSpace;HandshakeDone is received  process0(Lnet/luminis/quic/frame/NewConnectionIdFrame;)V "net/luminis/quic/packet/QuicPacket  5(Lnet/luminis/quic/frame/RetireConnectionIdFrame;[B)V  shutdown  immediateCloseWithErrorg(Lnet/luminis/quic/EncryptionLevel;JLnet/luminis/quic/QuicConnectionImpl$ErrorType;Ljava/lang/String;)V   Handshaking  $net/luminis/tls/TlsProtocolExceptiontoString$Processing crypto frame failed with 9 *(Ljava/lang/String;Ljava/lang/Throwable;)V  peerClosedWithError0(Lnet/luminis/quic/frame/ConnectionCloseFrame;)V  determineClosingErrorMessageA(Lnet/luminis/quic/frame/ConnectionCloseFrame;)Ljava/lang/String;g    java/net/DatagramSocketclose   interrupt }  changeAddress(Ljava/net/DatagramSocket;)V    getLocalPort[java/net/SocketExceptionChanging local address failed O  getClientAeadB(Lnet/luminis/quic/EncryptionLevel;)Lnet/luminis/quic/crypto/Aead;  net/luminis/quic/crypto/AeadcomputeKeyUpdate:Refusing key update because handshake is not yet confirmed   peerTransportParams  verifyConnectionIds)(Lnet/luminis/quic/TransportParameters;)Z  verifyVersionNegotiation  flowController%Lnet/luminis/quic/stream/FlowControl;#net/luminis/quic/stream/FlowControl      getInitialMaxStreamDataBidiLocal   !getInitialMaxStreamDataBidiRemote   getInitialMaxStreamDataUni  ;(Lnet/luminis/quic/Role;JJJJLnet/luminis/quic/log/Logger;)V  setFlowController((Lnet/luminis/quic/stream/FlowControl;)V6Updating flow controller with new transport parameters  updateInitialValues  setInitialMaxStreamsBidi(J)V   getInitialMaxStreamsUni  setInitialMaxStreamsUni   getMaxAckDelay } setReceiverMaxAckDelay  registerPeerCidLimit   getMaxIdleTimeout   determineIdleTimeout(JJ)V    getStatelessResetToken  setInitialStatelessResetToken   getRetrySourceConnectionId  JvalidateRetrySourceConnectionId  }  1net/luminis/quic/QuicConstants$TransportErrorCodeTRANSPORT_PARAMETER_ERROR3Lnet/luminis/quic/QuicConstants$TransportErrorCode;   !valueS#8incorrect retry_source_connection_id transport parameter % &8(Lnet/luminis/quic/EncryptionLevel;JLjava/lang/String;)V(9unexpected retry_source_connection_id transport parameter  * +getAckDelayExponent - .LpeerAckDelayExponent  0 1getMaxUdpPayloadSize }3 4registerMaxUdpPayloadSize 6 73$assertionsDisabled9java/lang/AssertionError 8  < =>getVersionInformation;()Lnet/luminis/quic/TransportParameters$VersionInformation; g@ AgetChosenVersionC/HIERO: connection version: %s, version info: %s E FVERSION_NEGOTIATION_ERRORH,Chosen version does not match packet version J KVersionNegotiatedM>Version negotiation resulted in changing version from %s to %s  O PgetInitialSourceConnectionId  (S5Missing connection id from server transport parameterU8missing initial_source_connection_id transport parameterW>missing original_destination_connection_id transport parameter YZ[ f\java/util/Arrays([B[B)Z^ESource connection id does not match corresponding transport parameter ` aPROTOCOL_VIOLATIONc?initial_source_connection_id transport parameter does not matcheSOriginal destination connection id does not match corresponding transport parametergEoriginal_destination_connection_id transport parameter does not match ijjava/lang/Throwable l mClosingo$Aborting connection because of error q rabortAll t u nextPeerIdgxMCannot switch to next destination connection id: no connection id's available z{| }java/nio/ByteBufferlimit z position(I)Ljava/nio/ByteBuffer; z  ([B)Ljava/nio/ByteBuffer;  JisStatelessResetToken  sendNewConnectionId*(I)Lnet/luminis/quic/cid/ConnectionIdInfo;  %net/luminis/quic/cid/ConnectionIdInfogetConnectionId"New generated source connection id 9 3(Ljava/lang/String;[B)V  retireConnectionId(Ljava/lang/Integer;)V  getConnectionIdLength  getCurrentConnectionId  getAllConnectionIds()Ljava/util/Map;  getAllPeerConnectionIds  setPeerInitiatedStreamCallback       setInitialMaxStreamData   net/luminis/tls/NewSessionTickethasEarlyDataExtension  getEarlyDataMaxSizeKInvalid quic new session ticket (invalid early data size); ignoring ticket.  K(Lnet/luminis/tls/NewSessionTicket;Lnet/luminis/quic/TransportParameters;)V java/net/URI 6'(Ljava/lang/String;I)Ljava/lang/String; java/net/URISyntaxException   getLocalSocketAddress()Ljava/net/SocketAddress;  (Ljava/lang/String;I)V  getServerCertificateChain+net/luminis/quic/QuicClientConnectionImpl$2  .(Lnet/luminis/quic/QuicClientConnectionImpl;)V  setTrustManager#(Ljavax/net/ssl/X509TrustManager;)V verify$()Lnet/luminis/tls/HostnameVerifier;  setHostnameVerifier%(Lnet/luminis/tls/HostnameVerifier;)V  valueOf(I)Ljava/lang/Integer;5net/luminis/quic/QuicClientConnectionImpl$BuilderImpl    getTlsEngine-()Lnet/luminis/tls/handshake/TlsClientEngine;  'net/luminis/quic/HandshakeStateListenerhandshakeStateChangedEvent$(Lnet/luminis/quic/HandshakeState;)V c  setEarlyDataStatus%(Lnet/luminis/quic/EarlyDataStatus;)VServer has accepted early data. } getTransportParameters(()Lnet/luminis/quic/TransportParameters;  setPeerTransportParameters z V~%first Handshake message is being sent      "java/security/cert/X509CertificategetIssuerX500Principal*()Ljavax/security/auth/x500/X500Principal; 6$(Ljava/util/List;)Ljava/lang/String; 9 =warn)net/luminis/tls/CertificateWithPrivateKey  A(Ljava/security/cert/X509Certificate;Ljava/security/PrivateKey;)V  java/lang/ClassdesiredAssertionStatus%net/luminis/quic/QuicClientConnection  net/luminis/quic/PacketProcessor"/net/luminis/tls/handshake/TlsStatusEventHandler$%net/luminis/quic/frame/FrameProcessor Signature6Ljava/util/List;;M(Ljava/lang/String;ILnet/luminis/quic/QuicSessionTicket;Lnet/luminis/quic/Version;Lnet/luminis/quic/Version;Lnet/luminis/quic/log/Logger;Ljava/lang/String;Ljava/nio/file/Path;Ljava/lang/Integer;Ljava/lang/Integer;Ljava/util/List;Ljava/security/cert/X509Certificate;Ljava/security/PrivateKey;Lnet/luminis/quic/DatagramSocketFactory;)VCodeLineNumberTableLocalVariableTablethis+Lnet/luminis/quic/QuicClientConnectionImpl; proxyHost secretsFileLjava/nio/file/Path; initialRtt cidLengthcloseWithErrorFunctionLjava/util/function/BiConsumer;LocalVariableTypeTableFLjava/util/function/BiConsumer; StackMapTable9java/nio/file/Path;java/security/PrivateKey Exceptions>java/net/UnknownHostExceptiony(Ljava/lang/String;ILnet/luminis/quic/QuicSessionTicket;Lnet/luminis/quic/Version;Lnet/luminis/quic/Version;Lnet/luminis/quic/log/Logger;Ljava/lang/String;Ljava/nio/file/Path;Ljava/lang/Integer;Ljava/lang/Integer;Ljava/util/List;Ljava/security/cert/X509Certificate;Ljava/security/PrivateKey;Lnet/luminis/quic/DatagramSocketFactory;)V(ILjava/lang/String;)VconnectionTimeoutalpn<(ILjava/lang/String;Lnet/luminis/quic/TransportParameters;)VtransportParametershandshakeFinishede Ljava/lang/InterruptedException;Lnet/luminis/quic/QuicStream; earlyDataearlyDataStreamsILjava/util/List;/Ljava/util/List;(ILjava/lang/String;Lnet/luminis/quic/TransportParameters;Ljava/util/List;)Ljava/util/List;earlyDataStream)Lnet/luminis/quic/stream/EarlyDataStream;streamEarlyData7Lnet/luminis/quic/QuicClientConnection$StreamEarlyData;rememberedTransportParametersearlyDataSizeLeftJstreamEarlyDataListz(Ljava/util/List;)Ljava/util/List; keepAlivesecondspingreceiveAndProcessPackets processDelayLjava/time/Duration; rawPacketLnet/luminis/quic/RawPacket;Ljava/lang/Exception;receivedPacketCounter withEarlyData tpExtension7Lnet/luminis/quic/tls/QuicTransportParametersExtension;earlySecretsKnowncipher*Lnet/luminis/tls/TlsConstants$CipherSuite;handshakeSecretsKnownnewSessionTicketReceivedticket"Lnet/luminis/tls/NewSessionTicket;extensionsReceived extensions7Ljava/util/List;:(Ljava/util/List;)VisEarlyDataAcceptedpnSpacereasonl(Lnet/luminis/quic/packet/InitialPacket;Ljava/time/Instant;)Lnet/luminis/quic/PacketProcessor$ProcessResult;packet'Lnet/luminis/quic/packet/InitialPacket;timeLjava/time/Instant; packetVersionn(Lnet/luminis/quic/packet/HandshakePacket;Ljava/time/Instant;)Lnet/luminis/quic/PacketProcessor$ProcessResult;)Lnet/luminis/quic/packet/HandshakePacket;p(Lnet/luminis/quic/packet/ShortHeaderPacket;Ljava/time/Instant;)Lnet/luminis/quic/PacketProcessor$ProcessResult;+Lnet/luminis/quic/packet/ShortHeaderPacket;w(Lnet/luminis/quic/packet/VersionNegotiationPacket;Ljava/time/Instant;)Lnet/luminis/quic/PacketProcessor$ProcessResult;vnPacket2Lnet/luminis/quic/packet/VersionNegotiationPacket;j(Lnet/luminis/quic/packet/RetryPacket;Ljava/time/Instant;)Lnet/luminis/quic/PacketProcessor$ProcessResult;peerConnectionId%Lnet/luminis/quic/packet/RetryPacket;l(Lnet/luminis/quic/packet/ZeroRttPacket;Ljava/time/Instant;)Lnet/luminis/quic/PacketProcessor$ProcessResult;'Lnet/luminis/quic/packet/ZeroRttPacket;e(Lnet/luminis/quic/frame/HandshakeDoneFrame;Lnet/luminis/quic/packet/QuicPacket;Ljava/time/Instant;)VhandshakeDoneFrame+Lnet/luminis/quic/frame/HandshakeDoneFrame;$Lnet/luminis/quic/packet/QuicPacket; timeReceivedg(Lnet/luminis/quic/frame/NewConnectionIdFrame;Lnet/luminis/quic/packet/QuicPacket;Ljava/time/Instant;)VnewConnectionIdFrame-Lnet/luminis/quic/frame/NewConnectionIdFrame;`(Lnet/luminis/quic/frame/NewTokenFrame;Lnet/luminis/quic/packet/QuicPacket;Ljava/time/Instant;)V newTokenFrame&Lnet/luminis/quic/frame/NewTokenFrame;j(Lnet/luminis/quic/frame/RetireConnectionIdFrame;Lnet/luminis/quic/packet/QuicPacket;Ljava/time/Instant;)VretireConnectionIdFrame0Lnet/luminis/quic/frame/RetireConnectionIdFrame;level errorType/Lnet/luminis/quic/QuicConnectionImpl$ErrorType; errorReasoncryptoProcessingErrorOcurred)(Lnet/luminis/tls/TlsProtocolException;)V exception&Lnet/luminis/tls/TlsProtocolException; closeFrame-Lnet/luminis/quic/frame/ConnectionCloseFrame; newSocketLjava/net/SocketException; updateKeysgetMaxShortHeaderPacketOverheadgetPeerTransportParametersversionInformation9Lnet/luminis/quic/TransportParameters$VersionInformation;Ljava/lang/Throwable;nextDestinationConnectionIdnewConnectionIdcheckForStatelessResetToken(Ljava/nio/ByteBuffer;)ZLjava/nio/ByteBuffer;tokenCandidateisStatelessResetnewConnectionIds(II)[[Bcid'Lnet/luminis/quic/cid/ConnectionIdInfo;icount retirePriorTo[[BretireDestinationConnectionIdsequenceNumber getSender$()Lnet/luminis/quic/send/SenderImpl;getAckGeneratorgetStreamManager)()Lnet/luminis/quic/stream/StreamManager;getSourceConnectionIdLengthgetSourceConnectionIdsM()Ljava/util/Map;getDestinationConnectionIdsstreamProcessorLjava/util/function/Consumer;;?(Ljava/util/function/Consumer;)VgetInitialMaxStreamData!setMaxAllowedBidirectionalStreams"setMaxAllowedUnidirectionalStreams!setDefaultStreamReceiveBufferSizesizegetFlowController'()Lnet/luminis/quic/stream/FlowControl;tlsSessionTicketgetNewSessionTickets8()Ljava/util/List;getEarlyDataStatus$()Lnet/luminis/quic/EarlyDataStatus;getUri()Ljava/net/URI;Ljava/net/URISyntaxException;getLocalAddress()Ljava/net/InetSocketAddress;getServerAddress8()Ljava/util/List; isConnectedtrustAnyServerCertificate trustAllCerts Ljavax/net/ssl/X509TrustManager;enableQuantumReadinessTest nrDummyBytes newBuilder1()Lnet/luminis/quic/QuicClientConnection$Builder;'()Lnet/luminis/tls/handshake/TlsEngine;"lambda$trustAnyServerCertificate$89(Ljava/lang/String;Ljava/security/cert/X509Certificate;)ZhostnameserverCertificatelambda$process$7,(Lnet/luminis/quic/HandshakeStateListener;)Vl)Lnet/luminis/quic/HandshakeStateListener;lambda$process$6.(Lnet/luminis/quic/Version;)Ljava/lang/String;vlambda$extensionsReceived$5ex%Lnet/luminis/tls/extension/Extension;lambda$handshakeFinished$4lambda$hasHandshakeKeys$3lambda$hasHandshakeKeys$2lambda$startHandshake$1=(Ljava/util/List;)Lnet/luminis/tls/CertificateWithPrivateKey; authorities lambda$new$0((Ljava/lang/Integer;Ljava/lang/String;)V SourceFileQuicClientConnectionImpl.java NestMembersBootstrapMethods  6$java/lang/invoke/StringConcatFactory(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/invoke/CallSite;#Creating connection with : with   "java/lang/invoke/LambdaMetafactory metafactory(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite; }  getPto(Ljava/lang/Object;)VGJ'(Ljava/lang/Object;Ljava/lang/Object;)V  .Cannot connect a connection that is in state Connection timed out after  msHandshake error: 7Creating early data stream failed, max bidi streams = " # Z%#Start processing packet  ( bytes)'$Processing delay for packet #:  ms* + . / 2 3 5 6 8?Handshake state cannot be set to HasAppKeys; current state is : ; > ? B%Server doesn't support , but only: D*Changing destination connection id into: F G IServer closed connection: KChanged local address to M.Switching to next destination connection id: O//:R S UGClient certificate is not signed by one of the requested authorities:  InnerClassesStatusStreamEarlyDataVersionInformation[(net/luminis/tls/TlsConstants$CipherSuite]net/luminis/tls/TlsConstants CipherSuite ProcessResultVersionNegotiationStatusb-net/luminis/quic/QuicConnectionImpl$ErrorType ErrorTypeenet/luminis/quic/QuicConstantsTransportErrorCode BuilderImpli-net/luminis/quic/QuicClientConnection$BuilderBuilderl%java/lang/invoke/MethodHandles$Lookupnjava/lang/invoke/MethodHandlesLookup!!#GHKLYZhirsUV`ade@ADABPB H%&%&3B/,]&%'BBcHB2373W () W** Y*Y#*'-*0+48*>*B*+E*I*+MS*-W* [* ^* b*f*jp*tY*vy*}Y**pY*S* **y*YW***Y*p**Y*  *:*Y *ǵ*ε*YY**޵*vg QU'W.3hCiIjOkTlYmknpovp|qstvwyz{}~#9@V+W,-WGHWKLWYZW@AWDAW!"W.HW/0W1 W2 W]& W`a Wde Whi#4345W]' #4367odcc98:kcc98:k<=%?@)L *,W*  +  ,- AL BH<C)V *,-W*  +* ,- AL BH D <!), Y*ԲΥY*Ժ*WY*,-*-** **ʶ:*#%Y*ʶ'*SY*ʶ*S08*4*7**:>*A*,D*H:*KQ6*UXYZ]*Բ^%*UXY*a *adf]:*UkYmW*-n*q8s:w.|:*-n8;i*' /EPUY^lz 8;=AIS]i+\ CE3= FG&H,-ALHD I&J&5IKJL7 V  /  Bi x- x x<%MJ") + YM*W,*,*WBY:+s:w^|:*:$! !eB*,8W*-*F  & / MW\l}+HWBNOMLPQR &ST/wJ&,-U&5/wJLUK7)7 xE <%VW)I****!"#$+ ,-W)<*Բ^Y÷*yř*Y**yʈ*͵б*( ),-;/+<,-<XL7%Y)|8*Բ^%*Y*ַܲ߶*Y*2 3"4,779+ 8,-7, C)Z$*Y****<=>#?+ $,-Z)zL=+o*N-^- :*- -#-'*+.1*- -#4**8;&N*>1N*B-D*-Gy|iy@*NBCF GHI'JFKZMhNvPyX|R}SXUVWY+H'O[\_]^} FG_,-`L7oBiO@6)=*:*ʶKN* \]+ ,-FG)**ES**[V*^*b**Z^*B1*B*>b#*gY*>*B*>imp**ֶt*gYwwzimp}Y**N*-**-*Y+*Y*W**W*:*f` ab$c1kFlZm`lfospqpstuwxyz|}+*,-Ha3Zbc714&'}(Id)l#*W*WL*:*+*ֶ*"+ef#,-7"g)I*:****+ ,-)T*YL*****ʹ1+çM+,**W;>>A>*"-9CS+ T,-7-% DiE)c*:**YL*Զ*Ե****+çM+,*^*ޱLOORO**  &8JT[b+ c,-78%Dih)>*+* +,-ijkY)W +**  + ,- l&5  lm%no),*+ ,-)L *+,*  +  ,- p~ qHr)0+*b *+*+*+,**!',+ 0,-0st0uv7)7+*b.+*Bb#** *+*:*  '/6+7,-7wA76x)L *+,* +  ,- sy uvz)[*+*+,* + ,-s{uv|)e*Q+*ֹ!>**+$(+139=8@YB*C1*MUa+ e,-e}~euv7U)X+*ʶ'E*0k*0*+KN**NQ*TW[+`N*-*-a*-*d1*4*ei*:*l*nnux*N "-7<DL^bn!u$x"z%}&*,+*<>,-suv7xF )Bp*2+ ,-suv)V*Y:*s*s**v*w1ç :*y=@@E@*"789:.<:>H?UC+*V,-VVsVv7.% Ei)U *+* HI+* ,-  s v)I*M+*,-sv)Y *+,* Q R+* ,-  s v)* *ж*+ *VWYZ+4,-TH7)m#*Բ*+a*+*^ _b"d+#,-#7 )g*+*Բ**+a*hijl+,-7)s(****p* **tu vwx y'{+ (,-7')>*fjL*+*+*+8L*+,/*" ,/0=+  "s0 F>,-7o )j**s*:߶*ȹ* )+ *,-7 )B*ʶK```*+ ,-)/**+ ,-)/*ʰ*+ ,-) 4*+͚* *+*+*?*Y*ʶ*ʶ*ʶ*ʶ***Զ*1**ʶ**ʶ**ʶ**ʶ**ʶ ***ʶ**ʶ  *02*ʶ**ʶ2*"$*ʶ*'$*+),*+/2*r $7>ER`lw (3+4,-4D 7  Gy) ^**+*Y++++***Զ*+*+*+ *.  $1<GR]+^,-^R )5* 8Y:+;M,,?*ֶb5*B%Y*SY,S0*DG$+*I*L%Y*>SY*S08*"2Pdk+ ,-D p7 g1')$+N +Q=*R+N*T$*V$*ʶK+NX"*]*_b$*ʶ'+QX"*d*_f$*>!5 F HYevx+,-D 7&//IJ)D*Բ *+ha*k+*n+****p** ' (*,-*/1081<2C3+D,-D7)/*ʶsL+*+*v1*w1+*9: ;!>-@+/,-'7 ! )z"M++yd~W+,W*,>*EFGH I+*",-" 3)FN62*:-S**-*& MOPQR&S7O=VDX+>5LF,-FLFLA7 .)A *+* \]+ ,- )/**a+ ,-)/**f+ ,-)/**k+ ,-)/**p+ ,-)2*ʶ*u+ ,-)2*ʶ*z+ ,-)2*ʶ*~+ ,-%)2*ʶK*+ ,-)2*ʶ*+ ,-%)S *+* + ,- 5  %)2*ۭ*+ ,-)B **  + ,- L)B **  + ,- L)A ** + ,- T)/*԰*+ ,-)5++**#Y+*ʷW*4+5,-5j7)/*#*+ ,-%)/*-*+ ,-)>*+-* +,-/,)nY*E*IİLYǿ*+F,-7U)5 *p*+  ,-):Y*E*Ḭ*+ ,-)2*ϰ*+ ,-%)E*Բ^*+ ,-7@)^Y*L*+*߱* +,- )A ** + ,- L ) Y*D)/**?+ ,- )6*+Ha)? +**:+ ,-  )/**+ A)0+*n*8+}*+}*$/+0,-07)? +**+ ,- )9 **  +  ,-)? +**+ ,- )t/+*^!*+ Y*^*b*deg+/,-/&7)P*+,$*  + ,-qH)45*?7 @    ! $&(),-0 1 4079<(=@ACE0HJLNPQPTVj W@X g Y Z\^@_@`@ac@df@g hj kmo