+
     h  c                   s   R t ^ RIt^ RIHt ^c]P
                  P                  P                  / ^ Rb^Rb^Rb^Rb^Rb^Rb^R	b^R
b^Rb^Rb^Rb^Rb^Rb^Rb^Rb^Rb^Rb3^e]P
                  P                  P                  ^R/3^f]P
                  P                  P                  ^ R^R^R/3^g]P
                  P                  P                  ^ R/3^h]P
                  P                  P                  ^R^R/3^i]P
                  P                  P                  ^R^R^R^R/3^j]P
                  P                  P                  ^R^R ^R!^R"/3/t ! R# R$]4      t]R%8X  d*    ]! 4       t]! . ^^ 4       ]! . ^j^4        ]! . ^f^4       R# R#   ]P
                  P                  P                   d=   t]! ]! ]4      R&]P$                  R' R&]P&                  R' 2,           4        RtAR# RtAii ; i)(an  ISO7816-8 error checker.

__author__ = "https://www.gemalto.com/"

Copyright 2001-2012 gemalto
Author: Jean-Daniel Aussel, mailto:jean-daniel.aussel@gemalto.com

This file is part of pyscard.

pyscard is free software; you can redistribute it and/or modify
it under the terms of the GNU Lesser General Public License as published by
the Free Software Foundation; either version 2.1 of the License, or
(at your option) any later version.

pyscard is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
GNU Lesser General Public License for more details.

You should have received a copy of the GNU Lesser General Public License
along with pyscard; if not, write to the Free Software
Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
N)ErrorCheckerzAuthentication failedz6PIN verification failed. 0 retries before blocking PINz6PIN verification failed. 1 retries before blocking PINz6PIN verification failed. 2 retries before blocking PINz6PIN verification failed. 3 retries before blocking PINz6PIN verification failed. 4 retries before blocking PINz6PIN verification failed. 5 retries before blocking PINz6PIN verification failed. 6 retries before blocking PINz6PIN verification failed. 7 retries before blocking PINz6PIN verification failed. 8 retries before blocking PINz6PIN verification failed. 9 retries before blocking PINz7PIN verification failed. 10 retries before blocking PINz7PIN verification failed. 11 retries before blocking PINz7PIN verification failed. 12 retries before blocking PINz7PIN verification failed. 13 retries before blocking PINz7PIN verification failed. 14 retries before blocking PINz7PIN verification failed. 15 retries before blocking PINz&Memory failure (unsuccessful changing)z)The environment cannot be set or modifiedz Expected SM data objects missingzSM data objects incorrectzWrong length (empty Lc field)zFinal command expectedzCommand chaining not supportedzSecurity status not satisfiedzAuthentication method blockedzReferenced data invalidatedzConditions of use not satisfiedzFunction not supportedzFile not foundzIncorrect parameters P1-P2zReferenced data not foundc                   s*   a  ] tR t^\t o RtR tRtV tR# )ISO7816_8ErrorCheckera  ISO7816-8 error checker.

This error checker raises the following exceptions:
  - sw1 sw2
  - 63  00,c0-cf    L{WarningProcessingException}
  - 65  81          L{ExecutionErrorException}
  - 66  00,87,88    L{SecurityRelatedException}
  - 67  00          L{CheckingErrorException}
  - 68  82,84       L{CheckingErrorException}
  - 69  82,83,84,85 L{CheckingErrorException}
  - 6A  81,82,86,88 L{CheckingErrorException}

This checker does not raise exceptions on undefined sw1 values, e.g.:
  - sw1 sw2
  - 62  any
  - 6f  any

and on undefined sw2 values, e.g.:
  - sw1 sw2
  - 66  81 82
  - 67  any except 00


Use another checker in the error checking chain, e.g., the
L{ISO7816_4_SW1ErrorChecker} or L{ISO7816_4ErrorChecker}, to raise
exceptions on these undefined values.
c                s    V\         9   d=   \         V,          w  rE\        V4      \        / 4      8X  d    WS,          pV! WW64      hR# R#   \         d     R# i ; i)zCalled to test data, sw1 and sw2 for error.

Derived classes must raise a L{smartcard.sw.SWExceptions} upon error.

@param data:       apdu response data
@param sw1:        apdu data status word 1
@param sw2:        apdu data status word 2
N)iso7816_8SWZtypeZKeyError)ZselfZdatasw1sw2Z	exceptionZsw2dirZmessages   &&&&   I/usr/lib64/python3.14/site-packages/smartcard/sw/ISO7816_8ErrorChecker.py__call__ZISO7816_8ErrorChecker.__call__y   s`     + +C 0IF|tBx'$kG#Ds<< (    s   A
 
AA N)__name__Z
__module__Z__qualname__Z__firstlineno____doc__r   Z__static_attributes__Z__classdictcell__)Z__classdict__s   @r   r   r   \   s     8     r   Z__main__Z Zx)r	   Zsmartcard.sw.SWExceptionsZ	smartcardZsmartcard.sw.ErrorCheckerr    ZswZSWExceptionsZWarningProcessingExceptionZExecutionErrorExceptionZSecurityRelatedExceptionZCheckingErrorExceptionr   r   r   ZecsZeZprintZstrr   r   r   r
   r   <module>r      s  0 ! 2 	!!<<	
)	
J	
 J	
 J		

 J	
 J	
 J	
 J	
 J	
 J	
 J	
 K	
 K	
 K	
 K	
  K!	
" K#	
, 	!!99	78 	!!::=4-	
 	!!88	./ 	!!88	'/OP 	!!8811/3		
 	!!88*".-		
i=@-L -` zE

!CD$D$0Bd  <<$$== 0c!f155)1QUU1I..//0s   =
F %G,01G''G,