+
    ni*                         ^ RI t ^ RIt^ RIt^ RIt^ RIt^ RIt^ RIt^ RIt^ RI	t^ RI
t^ RIt^ RIt^ RIt^ RIHtHtHtHtHt ]P                  t ! R R]4      t ! R R]4      t ! R R]4      tR# )	    N)QUIC_MAX_DATAGRAMBaseQuicConnectionBaseQuicManagerBaseQuicStreamUnexpectedEOFc                   j   a a ] tR t^t oV 3R ltR tR tRR ltRR ltR t	R t
R tR	 tR
tVtV ;t# )SyncQuicStreamc                   < \         SV `  W4       \        P                  ! 4       V n        \        P
                  ! 4       V n        R # N)super__init__	threading	Condition_wake_upLock_lock)self
connection	stream_id	__class__s   &&&hC:\Users\petid\OneDrive\Desktop\Maestro\MAESTRO\maestro-backend\venv\Lib\site-packages\dns/quic/_sync.pyr   SyncQuicStream.__init__    s.    /!++-^^%
    c                    V P                  V4      pV P                  ;_uu_ 4        V P                  P                  V4      '       d    RRR4       R# Wn        RRR4       V P
                  ;_uu_ 4        V P
                  P                  V4      '       g   \        P                  P                  h RRR4       ^ V n        K    + '       g   i     Lr; i  + '       g   i     L,; iTN)
_timeout_from_expirationr   _bufferhave
_expectingr   waitdns	exceptionTimeout)r   amount
expirationtimeouts   &&& r   wait_forSyncQuicStream.wait_for%   s    33J?G<<$$V,,  #)  }}))'22--/// 3   DO  s   #CC6<CC	C'	c                    V P                  V4      pV P                  ;_uu_ 4        V P                  P                  4       '       d    RRR4       R#  RRR4       V P                  ;_uu_ 4        V P                  P                  V4      '       g   \        P                  P                  h RRR4       K    + '       g   i     Lk; i  + '       g   i     K  ; ir   )	r   r   r   seen_endr   r    r!   r"   r#   )r   r%   r&   s   && r   wait_for_endSyncQuicStream.wait_for_end1   s    33J?G<<((** *  }}))'22--/// 3   s   "B70<C
7C	
C	c                   V P                  V4      pV P                  P                  4       '       dK   V P                  V4       V P                  ;_uu_ 4        V P
                  P                  4       uuR R R 4       # V P                  ^V4       V P                  ;_uu_ 4        \        P                  ! RV P
                  P                  ^4      4      w  pR R R 4       V P                  XV4       V P                  ;_uu_ 4        V P
                  P                  V4      uuR R R 4       #   + '       g   i     R # ; i  + '       g   i     Lp; i  + '       g   i     R # ; i)Nz!H)_expiration_from_timeout_connectionis_h3r+   r   r   get_allr'   structunpackget)r   r&   r%   sizes   &&  r   receiveSyncQuicStream.receive;   s    227;
!!##j)||++-  MM!Z( --dll.>.>q.AB MM$
+||''-    s$   D)"3D=E)D:	=E	E!	c                t    V P                  V4      pV P                  P                  V P                  W24       R # r   )_encapsulater/   write
_stream_id)r   datagramis_enddatas   &&& r   sendSyncQuicStream.sendI   s,      *t=r   c                    V P                  W4      '       d:   V P                  ;_uu_ 4        V P                  P                  4        R R R 4       R # R #   + '       g   i     R # ; ir   )_common_add_inputr   notify)r   r>   r=   s   &&&r   
_add_inputSyncQuicStream._add_inputM   s@    !!$//$$&  0s   AA$	c                    V P                   ;_uu_ 4        V P                  4        R R R 4       R #   + '       g   i     R # ; ir   )r   _closer   s   &r   closeSyncQuicStream.closeR   s     ZZZKKM ZZZs	   0A	c                    V # r    rH   s   &r   	__enter__SyncQuicStream.__enter__V       r   c                    V P                  4        V P                  ;_uu_ 4        V P                  P                  4        R R R 4       R#   + '       g   i     R# ; i)NF)rI   r   rC   )r   exc_typeexc_valexc_tbs   &&&&r   __exit__SyncQuicStream.__exit__Y   s7    

]]]MM  "  ]s   A

A	)r   r   r   r   F)__name__
__module____qualname____firstlineno__r   r'   r+   r6   r?   rD   rI   rM   rT   __static_attributes____classdictcell____classcell__r   __classdict__s   @@r   r	   r	      s7     &

 0.>'
 r   r	   c                      a a ] tR t^`t oV 3R ltR tR tR tR tRR lt	RV 3R llt
RV 3R lltR	 tRR
 ltV 3R ltR tRtVtV ;t# )SyncQuicConnectionc                  < \         SV `  WW4WV4       \        V P                  \        P
                  ^ 4      V n        V P                  eO    V P                  P                  \        P                  P                  V P                  V P                  4      4       V P                  P                  V P                  4       \        P                   ! 4       w  V n        V n        V P$                  P'                  R4       V P                  P'                  R4       \(        P*                  ! 4       V n        RV n        \(        P0                  ! 4       V n        R#   \         d    T P                  P                  4        h i ; i)r   NF)r   r   socket_factory_afsocket
SOCK_DGRAM_socket_sourcebindr!   inetlow_level_address_tuple	ExceptionrI   connect_peer
socketpair_send_wakeup_receive_wakeupsetblockingr   Event_handshake_complete_worker_threadr   r   )r   r   addressportsourcesource_portmanagerr   s   &&&&&&&r   r   SyncQuicConnection.__init__a   s   dKQ%dhh0A0A1E<<#!!HH44T\\488L 	TZZ(4:4E4E4G1	D0((/  '#,??#4 "^^%
  ""$s   AE 'E:c                f   ^ pV^
8  d   V^,          p V P                   P                  \        4      pT P                  ;_uu_ 4        T P
                  P                  Y P                  \        P                  ! 4       4       RRR4       K  R#   \         d     R# i ; i  + '       g   i     K  ; i)r   N)	rg   recvr   BlockingIOErrorr   r/   receive_datagramrn   time)r   countr<   s   &  r   _readSyncQuicConnection._readt   s    bjQJE<<,,->?   11(JJ		T   # s   B :BBBB0	c                d      V P                   P                  ^ 4       K    \         d     R# i ; ir   )rq   r}   r~   rH   s   &r   _drain_wakeup SyncQuicConnection._drain_wakeup   s0    $$))"-" s     //c           	         \         P                  ! 4       ;_uu_ 4       pVP                  V P                  \         P                  V P
                  4       VP                  V P                  \         P                  V P                  4       V P                  '       g   V P                  R 4      w  r#VP                  V4      pV F  w  rVVP                  4        K  	  V P                  ;_uu_ 4        V P                  V4       RRR4       V P                  4        V P                  ;_uu_ 4        V P                  P!                  \"        P"                  ! 4       4      pRRR4       X F!  w  r V P                  P%                  V4       K#  	  EK   RRR4       T P                  ;_uu_ 4        RT n        RRR4       T P                  P+                  4        T P,                  P/                  4        R#   + '       g   i     L; i  + '       g   i     L; i  \&         d     K  i ; i  + '       g   i     L; i  \(         d     Li ; i  + '       g   i     L; i  T P                  ;_uu_ 4        RT n        RRR4       M  + '       g   i     M; iT P                  P+                  4        T P,                  P/                  4        i ; i)FNT)	selectorsDefaultSelectorregisterrg   
EVENT_READr   rq   r   _done_get_timer_valuesselectr>   r   _handle_timer_handle_eventsr/   datagrams_to_sendr   r?   r~   rl   rI   rt   set)	r   selr%   intervalitemskey_	datagramsr<   s	   &        r   _workerSyncQuicConnection._worker   s   	+**,,T\\9+?+?L(()*>*>@R@R ***-1-C-CE-J*ZJJx0E"'
 #(**:6 $'')$($4$4$F$Ftyy{$S	 $'0! LL--h7 (1 % -4 !
 LL $$((*) $ $
  / ! !% -,*  	 	
 !
 LL $$((*s   H< A<H)AH)/G1	,H)-/H	H),HH)H< +I1H<H)HH)H&	"H)%H&	&H))H9	4H< 8I  9H< <I
I  	I

I  I	 K5J	=	KJ=Kc                	    V P                   ;_uu_ 4        V P                  P                  4       pRRR4       Xf   R# \        V\        P
                  P                  P                  4      '       EdX   V P                  4       '       Ed   V P                  f   Q hV P                  P                  V4      pV EF  p\        V\        P                  P                  P                  4      '       d   V P                   ;_uu_ 4        V P                  P                  VP                  4      pRRR4       X'       dh   VP                   f   VP"                  Vn        MVP$                  f   VP"                  Vn        VP&                  '       d   VP)                  RR 4       K  K  K  \        V\        P                  P                  P*                  4      '       g   EK"  V P                   ;_uu_ 4        V P                  P                  VP                  4      pRRR4       X'       g   EKo  VP)                  VP,                  VP&                  4       EK  	  EKT  V P                   ;_uu_ 4        V P                  P                  VP                  4      pRRR4       X'       d*   VP)                  VP,                  VP.                  4       EK  EK  \        V\        P
                  P                  P0                  4      '       d   V P2                  P5                  4        EK  \        V\        P
                  P                  P6                  4      '       d(   V P                   ;_uu_ 4        R V n        RRR4       EKv  \        V\        P
                  P                  P:                  4      '       g   EK  V P                   ;_uu_ 4        V P                  P                  VP                  4      pRRR4       X'       g   EK  VP)                  RR 4       EK    + '       g   i     EL; i  + '       g   i     EL; i  + '       g   i     EL-; i  + '       g   i     EL; i  + '       g   i     EKq  ; i  + '       g   i     L; i)TNr   )r   r/   
next_event
isinstanceaioquicquiceventsStreamDataReceivedr0   _h3_connhandle_eventh3HeadersReceived_streamsr4   r   _headersheaders	_trailersstream_endedrD   DataReceivedr>   
end_streamHandshakeCompletedrt   r   ConnectionTerminatedr   StreamReset)r   event	h3_eventsh3_eventstreams   &    r   r   !SyncQuicConnection._handle_events   s   ((335 }%!4!4!G!GHH::<<==444 $ : :5 AI$-%h

0A0A0Q0QRR!%)-):):5??)K ",%#)??#:6>6F6FFO%+%5%5%=7?7G7GF$4#+#8#8#8$*$5$5c4$@ $9  & ('**2C2C2P2PQQ!%)-):):5??)K ",%v & 1 1(--AVAV W %." !%!2!25??!C $))%**e6F6FG E7<<#6#6#I#IJJ((,,.E7<<#6#6#K#KLLZZZ!%DJ  ZE7<<#6#6#B#BCCZZZ!]]..u?F  6%%c40M  ", ",
 $  ZZ  ZsG   P&P$.&P8)&Q$Q &Q5P!	$P58Q	Q	 Q2	5R	c                    V P                   ;_uu_ 4        V P                  P                  WV4       R R R 4       V P                  P	                  R4       R #   + '       g   i     L-; iN   )r   r/   send_stream_datarp   r?   )r   r   r>   r=   s   &&&&r   r:   SyncQuicConnection.write   sB    ZZZ--fFC w' Zs   AA'	c                   < V P                   ;_uu_ 4        \        SV `	  WV4       R R R 4       V'       d   V P                  P	                  R4       R # R #   + '       g   i     L7; ir   )r   r   send_headersrp   r?   )r   r   r   r=   r   s   &&&&r   r   SyncQuicConnection.send_headers   sD    ZZZG V< ""7+  Z   AA&	c                   < V P                   ;_uu_ 4        \        SV `	  WV4       R R R 4       V'       d   V P                  P	                  R4       R # R #   + '       g   i     L7; ir   )r   r   	send_datarp   r?   )r   r   r>   r=   r   s   &&&&r   r   SyncQuicConnection.send_data   sD    ZZZGiv6 ""7+  Zr   c                    V P                   '       d   R # \        P                  ! V P                  R7      V n        V P                  P                  4        R # )N)target)_closedr   Threadr   ru   startrH   s   &r   runSyncQuicConnection.run   s7    <<<'..dllC!!#r   c                v   V P                   P                  V4      '       g   \        P                  P                  hV P
                  ;_uu_ 4        V P                  '       d   \        hV P                  P                  R 4      p\        W4      pW0P                  V&   RRR4       V#   + '       g   i     X# ; i)FN)rt   r    r!   r"   r#   r   r   r   r/   get_next_available_stream_idr	   r   )r   r&   r   r   s   &&  r   make_streamSyncQuicConnection.make_stream   s    '',,W55--'''ZZZzzz##((EEeLI#D4F'-MM)$   Z s   AB''B8	c                   < V P                   ;_uu_ 4        \        SV `	  V4       R R R 4       R #   + '       g   i     R # ; ir   )r   r   close_stream)r   r   r   s   &&r   r   SyncQuicConnection.close_stream   s%    ZZZG + ZZZ	   0A	c                   V P                   ;_uu_ 4        V P                  '       d    R R R 4       R # V P                  e?   V P                  P                  V P                  ^ ,          V P                  ^,          4       RV n        V P
                  P                  4        V P                  P                  R4       R R R 4       V P                  e   V P                  P                  4        R # R #   + '       g   i     L<; i)NTr   )r   r   _managerclosedrn   r/   rI   rp   r?   ru   joinrH   s   &r   rI   SyncQuicConnection.close   s    ZZZ||| Z }}($$TZZ]DJJqMBDL""$""7+  *$$& + Zs   C/BC//C?	)r   r   rt   r   rq   rp   rg   ru   rV   r   )rW   rX   rY   rZ   r   r   r   r   r   r:   r   r   r   r   r   rI   r[   r\   r]   r^   s   @@r   ra   ra   `   sI     &&	U +D(1T(
,,$	,
' 
'r   ra   c                      a a ] tR tRt oR]P
                  RR3V 3R lltRR ltV 3R ltV 3R lt	V 3R lt
R	 tR
 tRtVtV ;t# )SyncQuicManageri  NFc                f   < \         SV `  W\        W44       \        P                  ! 4       V n        R # r   )r   r   ra   r   r   r   )r   confverify_modeserver_namer   r   s   &&&&&r   r   SyncQuicManager.__init__  s%     	,>P^^%
r   c           
         V P                   ;_uu_ 4        V P                  WW4WV4      w  rxV'       d   VP                  4        VuuR R R 4       #   + '       g   i     R # ; ir   )r   _connectr   )	r   rv   rw   rx   ry   want_session_ticket
want_tokenr   r   s	   &&&&&&&  r   rm   SyncQuicManager.connect  sD     ZZZ"&--v4G#Z   ZZZs   /AA 	c                   < V P                   ;_uu_ 4        \        SV `	  W4       R R R 4       R #   + '       g   i     R # ; ir   )r   r   r   )r   rv   rw   r   s   &&&r   r   SyncQuicManager.closed  s$    ZZZGN7) ZZZr   c                   < V P                   ;_uu_ 4        \        SV `	  WV4       R R R 4       R #   + '       g   i     R # ; ir   )r   r   save_session_ticket)r   rv   rw   ticketr   s   &&&&r   r   #SyncQuicManager.save_session_ticket!  s'    ZZZG'v> ZZZ	   1A	c                   < V P                   ;_uu_ 4        \        SV `	  WV4       R R R 4       R #   + '       g   i     R # ; ir   )r   r   
save_token)r   rv   rw   tokenr   s   &&&&r   r   SyncQuicManager.save_token%  s'    ZZZGwe4 ZZZr   c                    V # r   rL   rH   s   &r   rM   SyncQuicManager.__enter__)  rO   r   c                ~    \        V P                  P                  4       4      pV F  pVP                  4        K  	  R # rV   )list_connectionsvaluesrI   )r   rQ   rR   rS   connectionsr   s   &&&&  r   rT   SyncQuicManager.__exit__,  s6     4,,3356%J &r   )r   )iU  Nr   TT)rW   rX   rY   rZ   sslCERT_REQUIREDr   rm   r   r   r   rM   rT   r[   r\   r]   r^   s   @@r   r   r     s<     S%6%6DU&"*?5 r   r   )r   re   r   r2   r   r   aioquic.h3.connectionr   aioquic.h3.eventsaioquic.quic.configurationaioquic.quic.connectionaioquic.quic.eventsdns.exceptionr!   dns.inetdns.quic._commonr   r   r   r   r   rc   r	   ra   r   rL   r   r   <module>r      sl      
      !      >^ >Bb'+ b'J-o -r   