+
    :i  c                   s   ^ RI t ^ RIt^ RIHt ^ RIHtHt ^ RIHtH	t	H
t
 ^ RIHtHt ^ RIHt ^ RIHtHtHtHt ^ RIHt ^R	IHtHt ] P4                  ! ]4      t]	t]P<                  ]n        ]P@                  ! ]4        ! R
 R]	]4      t!R# )    N)Event)CallableIterator)STATUS
CtapDevice	CtapError)
CAPABILITYCTAPHID)Version)AID	ApduErrorSmartCardConnectionSmartCardProtocol)ScpKeyParams)USB_INTERFACE
Connectionc                   s   a  ] tR t^9t o ]P
                  tRV 3R lR llt]V 3R lR l4       t	V 3R lR lt
RV 3R lR	 llt]V 3R
 lR l4       tRtV tR# )SmartCardCtapDeviceNc                s4   < V ^8  d   QhRS[ RS[R,          /# )   
connectionscp_key_paramsN)r   r   Zformat__classdict__   "6/usr/lib/python3.14/site-packages/yubikit/core/fido.py__annotate__ SmartCardCtapDevice.__annotate__<   s$     1 1'1 %t+1    c                s   \        ^ 4      V n        \        V4      V n        V P                  P	                  \
        P                  4      pVR8X  d(   V ;P                  \         P                  ,          un        V'       dB   V P                  P                  \        ^^^ 4      4       V P                  P                  V4        V P                  \        P                  R4       V ;P                  \         P                  ,          un        \         P#                  R4       R#   \         d!    T P                  '       g   \        R4      h LAi ; i)r    s   U2F_V2s   zUnsupported devicezFIDO session initializedN)r   _capabilitiesr   protocolZselectr
   FIDOZNMSGZ	configurer	   Zinit_scpcallr   CBORr   Z
ValueErrorloggerdebug)selfr   r   Zresps   &&& r   __init__ZSmartCardCtapDevice.__init__<   s    
 (])*5}}##CHH-9*//1 MM##GAq!$45MM"">2	7IIgllG,*//1
 	/0	  	7%%% !566 &	7s   AD   E=E
Ec                s    < V ^8  d   QhRS[ /# r   return)r   r   r   r   r   r   X   s     " "j "r   c                s    V P                   # N)r   r#      &r   capabilitiesZ SmartCardCtapDevice.capabilitiesW   s    !!!r   c                s   < V ^8  d   QhRR/# )r   r&   N r   r   r   r   r   [   s      t r   c                s:    V P                   P                  4        R # r'   )r   closer(   r)   r   r,   ZSmartCardCtapDevice.close[   s    r   c          
      sj   < V ^8  d   QhRS[ RS[RS[R,          RS[S[.R3,          R,          RS[/# )r   cmddataeventNon_keepaliver&   )ZintZbytesr   r   r   r   r   r   r   r   ^   sQ     + ++ + t|	+
 x~.5+ 
+r   c                s   T;\         P                  8X  db    VR ,          w  rVrxV^,          ^ 8X  d3   \        P                  ! RVR,          4      ^ ,          p	V^^V	,            pMRV^^V^,          ,            pM>\         P                  8X  d   Rw  rVrxM$ \        \
        P                  P                  4      hT;'       g    \        4       pRp
   V P                  P                  WVWxV4      #   \         d   pTP                  R8X  dW   ^^ rv\        TP                  ^ ,          4      pT'       d   Y8w  d   Tp
T! T4       TP                  R4      '       d   ^p Rp?K  \        \
        P                  P                   4      hRp?ii ; i  \"         d<    T^8X  d3   \$        P'                  R4       T P                  P                  YV^T4       h i ; i):Ni   Nz>H:i   i   NNi   g?z!Keyboard interrupt, cancelling...)   i   r1   r    )r   ZMSGstructZunpackr    r   ZERRZINVALID_COMMANDr   r   Z	send_apdur   Zswr   r.   ZwaitZOTHERZKeyboardInterruptr!   r"   )r#   r-   r.   r/   r0   ZclaZinsZp1Zp2ZlnZlast_kaZeZ	ka_statuss   &&&&&        r   r   ZSmartCardCtapDevice.call^   s{    #'8 "7a<tT#Y7:BAF+DAQK0D#9 "b	 = =>>  	9==223RTJJ  
9ttv~"&R$*166!9$5	'G,@&/G(3 ::c??!%B #IMM$7$788
9 ! 	d{@A''$;		s>   F	 C, ,F7AFFF	 #FFF	 	AGc                s0   < V ^8  d   QhRS[ S[,          /# r%   )r   r   r   r   r   r   r      s      Xj1 r   c                s    \        . 4      # r'   )Ziter)Zclsr)   r   list_devicesZ SmartCardCtapDevice.list_devices   s    Bxr   )r   r   r'   )r   NN)__name__Z
__module__Z__qualname__Z__firstlineno__r   ZCCIDusb_interfacer$   Zpropertyr*   r,   r   Zclassmethodr3   Z__static_attributes__Z__classdictcell__)r   s   @r   r   r   9   sW     !&&M1 16 " " + +Z  r   r   )"Zloggingr2   Z	threadingr   Ztypingr   r   Z
fido2.ctapr   r   r   Z	fido2.hidr   r   Zyubikit.corer	   Zyubikit.core.smartcardr
   r   r   r   Zyubikit.core.smartcard.scpr   Z r   r   Z	getLoggerr4   r!   ZFidoConnectionr   r5   Zregisterr   r+   r   r   <module>r6      st   8    % 4 4 )    4 '			8	$ ,11  
  N #T*j Tr   