PK Hs> META-INF/PK Gs>-ۦMETA-INF/MANIFEST.MFManifest-Version: 1.0 Ant-Version: Apache Ant 1.8.2 Created-By: 1.6.0_18-b07 (Sun Microsystems Inc.) X-COMMENT: Main-Class will be added automatically by build PK Hs>com/PK Hs>com/sun/PK Hs>com/sun/javacard/PK Hs>$com/sun/javacard/jcapiandbcprofiler/PK Hs>com/sun/javacard/jcasm/PK Hs>$com/sun/javacard/jcbytecodeprofiler/PK Hs>3com/sun/javacard/jcbytecodeprofiler/cryptoanalyzer/PK Hs>^1nQnQ>com/sun/javacard/jcapiandbcprofiler/ClassicCAPProcesssor.class1 rs r t u v wx r y z{ | }~ r                                 ?r ?   ?            P         Z                                                                !" #  $ % & ' () (* + ,  -./ 012 UNABLE_TO_DETERMINE_CRYPTO_ALGOSLjava/lang/String; ConstantValuecryptoMethodFinderPatternLjava/util/Vector; SignatureLjava/util/Vector<[I>; usedByteCodes&Ljava/util/Vector;unUsedByteCodesusedCryptoAlgosusedAPI-Lcom/sun/javacard/jcapiandbcprofiler/UsedAPI; capProcessedZ apiPkgsList(LOOK_BACK_FOR_CIPHER_GET_INSTNACE_CIPHERI%LOOK_BACK_FOR_CIPHER_GET_INSTNACE_PAD#LOOK_BACK_FOR_KEY_BUILDER_ALGORITHMLOOK_BACK_FOR_KEY_BUILDER_MEM LOOK_BACK_FOR_KEY_BUILDER_LENGTHLOOK_BACK_FOR_SIGNATURE_MD_ALGO#LOOK_BACK_FOR_SIGNATURE_CIPHER_ALGO LOOK_BACK_FOR_SIGNATURE_PAD_ALGO$assertionsDisabled5(Ljava/io/File;Ljava/util/Vector;Ljava/util/Vector;)VCodeLineNumberTableLocalVariableTableeLjava/lang/Exception;this:Lcom/sun/javacard/jcapiandbcprofiler/ClassicCAPProcesssor;capFileLjava/io/File; exportFiles apiPkgListfisLjava/io/FileInputStream;LocalVariableTypeTable"Ljava/util/Vector; ExceptionsY(Ljava/io/File;Ljava/util/Vector;Ljava/util/Vector;)V isApiClass(Ljava/lang/String;)Z apiPkgNamei$Ljava/util/Iterator; classNamecheckAPICryptoMethod(IIILjava/lang/String;)VpkgToken classToken methodTokenfullMethodNameAndSigprocessConstantPool()Vef5Lcom/sun/javacard/offcardverifier/exportfile/EfField;em6Lcom/sun/javacard/offcardverifier/exportfile/EfMethod;afieldpkgTok8Lcom/sun/javacard/offcardverifier/exportfile/ExportFile;ec5Lcom/sun/javacard/offcardverifier/exportfile/EfClass;entry4Lcom/sun/javacard/offcardverifier/ConstantPoolEntry;tagi entryCountclassrefaddExnHandlersX(Lcom/sun/javacard/offcardverifier/Safeptr;[Lcom/sun/javacard/offcardverifier/Instr;II)V hdlrClassinstr(Lcom/sun/javacard/offcardverifier/Instr;jexn1Lcom/sun/javacard/offcardverifier/ExnHandlerInfo;startPc*Lcom/sun/javacard/offcardverifier/Safeptr;endPc handlerPchdlrType startCodeinstrs)[Lcom/sun/javacard/offcardverifier/Instr;firstExnHandlernumExnHandlersprocessMethodComponent5(Lcom/sun/javacard/offcardverifier/ClassDescriptor;)VtySelf,Lcom/sun/javacard/offcardverifier/TypeClass; numParamsbyteCodesFromCAPmaxStack maxLocalstokenmcpe interfaceRefalgoNameresult[IinstructionNamemd3Lcom/sun/javacard/offcardverifier/MethodDescriptor;mty-Lcom/sun/javacard/offcardverifier/TypeMethod;flagsisInitmi-Lcom/sun/javacard/offcardverifier/MethodInfo;methodFlagFromCap isExtendedcdesc2Lcom/sun/javacard/offcardverifier/ClassDescriptor; methodCountisValidIntermediateInstruction+(Lcom/sun/javacard/offcardverifier/Instr;)ZanInstrgetInstrU(II[Lcom/sun/javacard/offcardverifier/Instr;)Lcom/sun/javacard/offcardverifier/Instr;countindexlookbacklistCryptoAlgorithmUsed/([Lcom/sun/javacard/offcardverifier/Instr;[II)ZinfonamelistFlexCipherAlgorithms/([Lcom/sun/javacard/offcardverifier/Instr;III)ZinstrForCipherinstrForPaddingcipherAlgoNamepaddingAlgoNamefullNamelistFlexKeyBuilderAlgorithms instrForAlgo instrForMeminstrForLengthmemTypelengthlistFlexSignatureAlgorithmsinstrForMDAlgoinstrForCipherAlgoinstrForPadAlgo MDAlgoName padAlgoNamegetConstantValue+(Lcom/sun/javacard/offcardverifier/Instr;)IgetConstantFieldNameO(Lcom/sun/javacard/offcardverifier/Instr;Ljava/lang/String;I)Ljava/lang/String;typevalue?(Lcom/sun/javacard/offcardverifier/Instr;III)Ljava/lang/String;-getImplementedInterfacesForExternalSuperClass8(Lcom/sun/javacard/offcardverifier/exportfile/EfClass;)V superName superClasscheckImplentedInterfaceMehods:(Lcom/sun/javacard/offcardverifier/ImplementedInterface;)V tokenValueintfc7Lcom/sun/javacard/offcardverifier/ImplementedInterface;refCheckAPIInterfacesForClass/(Lcom/sun/javacard/offcardverifier/ClassInfo;)Vcinfo,Lcom/sun/javacard/offcardverifier/ClassInfo;superRefCheckAPIInterfacesForInterface processSuperClassesAndInterfacesci processCAPlistUsedByteCodes()Ljava/util/Vector;(()Ljava/util/Vector;listUnUsedByteCodes listUsedJCAPI/()Lcom/sun/javacard/jcapiandbcprofiler/UsedAPI;listUsedCryptoAlgos SourceFileClassicCAPProcesssor.java java/util/Vector +com/sun/javacard/jcapiandbcprofiler/UsedAPI java/io/FileInputStream 3 java/lang/AssertionError4 56java/lang/Exception 7 89: ;< =>java/lang/String ?Ajavacard.security.KeyBuilder.buildKey(BSZ)Ljavacard/security/Key; @A BABjavacard.security.KeyBuilder.buildKey(BBSZ)Ljavacard/security/Key;Pjavacard.security.MessageDigest.getInstance(BZ)Ljavacard/security/MessageDigest;sjavacard.security.MessageDigest.getInitializedMessageDigestInstance(BZ)Ljavacard/security/InitializedMessageDigest;Hjavacard.security.Signature.getInstance(BZ)Ljavacard/security/Signature;Jjavacard.security.Signature.getInstance(BBBZ)Ljavacard/security/Signature;Fjavacard.security.Checksum.getInstance(BZ)Ljavacard/security/Checksum;Njavacard.security.KeyAgreement.getInstance(BZ)Ljavacard/security/KeyAgreement;Ijavacard.security.RandomData.getInstance(B)Ljavacard/security/RandomData;%javacard.security.KeyPair.(BS)V@javacardx.crypto.Cipher.getInstance(BZ)Ljavacardx/crypto/Cipher;Ajavacardx.crypto.Cipher.getInstance(BBZ)Ljavacardx/crypto/Cipher;C DEF 4G HI G JGK LM NOP QR BS TG UG VWX YZ[ \< ]G ^G _`a bcd ef gGjava/lang/StringBuilder hi. :R jR klm nop qG rs tG uG vG wx y+com/sun/javacard/offcardverifier/ExnHandlerz {| }~ .G   RG s  &G*com/sun/javacard/offcardverifier/TypeClass G  G   G G G  G G G G    A   Z 78  G G    B 0* Unable to determine all crypto algorithms used GG /0 B< H< ;< 23  PTjavacardx.crypto.Cipher  PQ , javacard.security.KeyBuilder  ,javacard.security.MessageDigestjavacard.security.Signature NO  R     W  UV G  G G  YZ =    d` _`   G  e g&List created from a different jar file8com/sun/javacard/jcapiandbcprofiler/ClassicCAPProcesssor <java/lang/Object(Ljava/io/File;)V)com/sun/javacard/offcardverifier/Verifier verifyCap@(Ljava/io/FileInputStream;Ljava/lang/String;Ljava/util/Vector;)VprintStackTraceiterator()Ljava/util/Iterator;java/util/IteratorhasNext()Znext()Ljava/lang/Object; startsWithequals(Ljava/lang/Object;)Zadd$com/sun/javacard/offcardverifier/Cap ConstantPool8Lcom/sun/javacard/offcardverifier/ConstantPoolComponent;6com/sun/javacard/offcardverifier/ConstantPoolComponent()I7(I)Lcom/sun/javacard/offcardverifier/ConstantPoolEntry;2com/sun/javacard/offcardverifier/ConstantPoolEntryclassRef)com/sun/javacard/offcardverifier/Classref isExternal(I)Z checkExternal8(I)Lcom/sun/javacard/offcardverifier/exportfile/EfClass;3com/sun/javacard/offcardverifier/exportfile/EfClasstoString()Ljava/lang/String;'(Ljava/lang/String;Ljava/lang/String;)VclassRefVirtualReftokenVirtualRefgetFieldForTokenAndFlag9(IZ)Lcom/sun/javacard/offcardverifier/exportfile/EfField;3com/sun/javacard/offcardverifier/exportfile/EfFieldgetMethodForTokenAndFlag:(IZ)Lcom/sun/javacard/offcardverifier/exportfile/EfMethod;4com/sun/javacard/offcardverifier/exportfile/EfMethodisExternalStaticRefexternalStaticRefPackageTokenexternalStaticRefClassTokenImport2Lcom/sun/javacard/offcardverifier/ImportComponent;0com/sun/javacard/offcardverifier/ImportComponentexportfileForPackageToken;(I)Lcom/sun/javacard/offcardverifier/exportfile/ExportFile;6com/sun/javacard/offcardverifier/exportfile/ExportFilefindClassByToken8(S)Lcom/sun/javacard/offcardverifier/exportfile/EfClass;tokenStaticRefappend-(Ljava/lang/String;)Ljava/lang/StringBuilder;sigMethod2Lcom/sun/javacard/offcardverifier/MethodComponent;0com/sun/javacard/offcardverifier/MethodComponentexceptionHandler4(I)Lcom/sun/javacard/offcardverifier/ExnHandlerInfo;/com/sun/javacard/offcardverifier/ExnHandlerInfo startOffset methodCode-(I)Lcom/sun/javacard/offcardverifier/Safeptr; endOffset handlerOffset catchType Throwable(com/sun/javacard/offcardverifier/Safeptrofs&com/sun/javacard/offcardverifier/Instrhandler-Lcom/sun/javacard/offcardverifier/ExnHandler;2(IILcom/sun/javacard/offcardverifier/ExnHandler;)V0com/sun/javacard/offcardverifier/ClassDescriptor methodDescr6(I)Lcom/sun/javacard/offcardverifier/MethodDescriptor; TypeDescr1Lcom/sun/javacard/offcardverifier/TypeDescriptor;1com/sun/javacard/offcardverifier/MethodDescriptor/com/sun/javacard/offcardverifier/TypeDescriptorat+com/sun/javacard/offcardverifier/TypeMethodparseCapY(Lcom/sun/javacard/offcardverifier/Safeptr;)Lcom/sun/javacard/offcardverifier/TypeMethod; thisClass(I)V methodOffset methodInfo0(I)Lcom/sun/javacard/offcardverifier/MethodInfo;+com/sun/javacard/offcardverifier/MethodInfobytecodeExtended,()Lcom/sun/javacard/offcardverifier/Safeptr;maxStackExtendednumArgsExtendedmaxLocalsExtendedbytecodeCompactmaxStackCompactnumArgsCompactmaxLocalsCompact bytecodeCount instrsBetweenV(Lcom/sun/javacard/offcardverifier/Safeptr;I)[Lcom/sun/javacard/offcardverifier/Instr; instrName[Ljava/lang/String;opcodecontainsargarg2getMethodFromSupers6com/sun/javacard/jcapiandbcprofiler/CryptoCallAnalyzerccpexnHandlerIndexexnHandlerCountsimulate([Lcom/sun/javacard/offcardverifier/Instr;IILcom/sun/javacard/offcardverifier/TypeMethod;Lcom/sun/javacard/offcardverifier/TypeClass;ZLcom/sun/javacard/offcardverifier/TypeClass;Lcom/sun/javacard/offcardverifier/MethodDescriptor;)VcryptoAlgoNames(ILjava/lang/Object;)VallCryptoAlgosFound7com/sun/javacard/jcapiandbcprofiler/CryptoAlgorithmInfo TYPE_NON_FLEXTYPE_FLEX_CIPHER_ALGTYPE_FLEX_PAD_ALG TYPE_FLEX_MEMTYPE_FLEX_KEY_LENGTH7com/sun/javacard/jcapiandbcprofiler/CryptoAlgorithmList getAlgoName((ILjava/lang/String;I)Ljava/lang/String;thisNamereplace(CC)Ljava/lang/String; interfaces interfaceName(I)Ljava/lang/String;supersexportclassForNameI(Ljava/lang/String;)Lcom/sun/javacard/offcardverifier/exportfile/EfClass;5com/sun/javacard/offcardverifier/ImplementedInterface interfaceImpl indexMethod(I)I*com/sun/javacard/offcardverifier/ClassInfo superclassinterfaceCountfirstImplementedInterface9()Lcom/sun/javacard/offcardverifier/ImplementedInterface;Class1Lcom/sun/javacard/offcardverifier/ClassComponent;/com/sun/javacard/offcardverifier/ClassComponentinfoOfs/(I)Lcom/sun/javacard/offcardverifier/ClassInfo;superinterface Descriptor6Lcom/sun/javacard/offcardverifier/DescriptorComponent;4com/sun/javacard/offcardverifier/DescriptorComponentfirstClassDescriptor4()Lcom/sun/javacard/offcardverifier/ClassDescriptor; classCountjava/lang/ClassdesiredAssertionStatus!zB**Y*Y*Y*Y*Y * Y+ : Y, Y, :*-ovyB%0;@ J!]"o%v(y&{')*>{J<~**M,,N+--.#/(2*  **!* YOYOYOYOW!* YOYOYOYOW!* YOYOYOYOWj!* YOYOYOYOWB !* YOYOYOYOW!"* YOYOYOYOW"!* YOYOYOYOW#!* YOYOYOYOW$!* YOYOYOYOWy%!* YOYOYOYOWQ&!* YOYOYOYOW)'* YOYOYOYOWf6 7(829P:Z;x<=>?@ABCD#EAFKGiHsIJKLMO4 ()<6(*:+6f%TTT,=-7.N*-/0$* -/12=-.N*-/0"-34:* -/51-36:* -/71896:6;<:  :=N*-/0w"->4: * -/ 51R->6: *>?Y@-/ABA CA DAEF* -/ 71~'RUVW!XHZN[U]Z^e_hawg}hijknopqrstyz{|}~'7:FyU' FC  Z/o!h NB  6G`H:GIJ:GKJ:GLJ:M6  ( *,6 N6 O6  O6+ *Od2:   PYO*Od  QRQ Ƅ_B "/<CHX]ny~U y" d= " /r  <e  C^ ]D    e+S>6Y+T:UVWX:Y6  ~6  ~ZY+[\: :  @~@G]^:  _6  ~6+ `M a6 b6 c`6 `:( dM e6 f6 g`6 d:,hi:6oj2k2:*l *W2kq(2m*:,6-O.:*/0<2n66: o:* /712k(2m*:8*:p:.9k.:_.>S*q6B*rs6t6u  ZY+[\vw:(:*l *xԲyB*zl6*zx):w:(:*l *xԲy*zl*zx:w:(:*l *xԲy*zl*zxyv2{`6)E)EFQ&-=EUXbery $4;CJV`joy~ )Eco|      , 2 > KN[^d,R "    `/j%JE4[;TcM///4-Dt [!tH"#&8$%X -1& =!' r() y* +  w \ee,-`./0T+kNLLLLLLNNNNNNNLLP'R)TT123A66--d2*-d2| -d2:& -. /0$1'20.65>6H04AA5A6A>>178z,.@3&*+,.,.}*+,.,.~*+,.,.**,.+,.,.:*l *W* :<)>6@CD[F`GbJnKxM4zzz9 z5[:;<' w*+:*+:*:*:?Y@AAAE: * l * W2 U VWX[+]8`BaDc_dkeugf www5ww n=e>+L?8?@_A B<m *+:*+:*+: *:*: *:    ?Y@AA AA AE: * l * W:o pqs*t,w9yF{S~bdz 5 CDE9hF[F SNG A H<m *+:*+:*+: *:*: *:   ?Y@AA AA AE: * l * W: *,9FSbdz 5 IJK9hLF[? SNM A NOl++k`TVXZ\^```````JO+m+m2 TY^`bdfhjll1PQ+*+6, 41R SPT ?+*+6;<:=:/.:&  '5\ ??1???R 2S!'5 UVL=+ +N*-0 * -1=++N-:*.  "(39?EKH:&9 W?X*!LLYZ]+=+>.:6F+626: o:* /716  !'16@EV\R1%!5[I]]\]X4 S^M_`E+=+>M+:-,.:*/0* /1*)-L+=.:* ~Z  ) 5 B HKOTX^emu{ !H)D\]{  z4abcd`B+=>8+6-#.:*/0* /1ɱ& $% &'(").*;%A.>"(^:BBab=4e\+[M,>/-.:*/0* /1,~ *,*,6 2 5678#9/:2<?=BANBVE[G4#\\,- QfbLcgW*L=*+*++=j%*j2l*j2Wٱ. KN OPS O*W4XCYPWV\*,*W L,-hiK* ** *_` bc jkiK* ** *gh jk jlmK* ** * op rs niY* **W* *wx z{| jo*pqPK Hs>#}}3com/sun/javacard/jcapiandbcprofiler/Constants.class1<)* LISTBYTECODESLjava/lang/String; ConstantValue+LISTAPI,LISTALL-SHORT_IN.LONG_IN/SHORT_EXPORTPATH0LONG_EXPORTPATH1SHORT_EXPORTFILE2LONG_EXPORTFILE3 SHORT_API_OUT4 LONG_API_OUT5 SHORT_BC_OUT6 LONG_BC_OUT7SHORT_API_PKGS8 LONG_API_PKGS9SHORT_CRYPTO_OUT:LONG_CRYPTO_OUT; SourceFileConstants.java-com/sun/javacard/jcapiandbcprofiler/Constantsjava/lang/Object listbytecodeslistapilistalliinp exportpathf exportfileaapioutbbcoutg apipkglistc cryptoout      !"#$%&'(PK Hs> ((=com/sun/javacard/jcapiandbcprofiler/CryptoAlgorithmInfo.class13 ' ( ) * + , - . / 012 TYPE_NON_FLEXITYPE_FLEX_CIPHER_ALGTYPE_FLEX_PAD_ALG TYPE_FLEX_MEMTYPE_FLEX_KEY_LENGTHTYPE_FLEX_MD_ALGalgorhtimConstantValue algorithmNameLjava/lang/String; valueType(Ljava/lang/String;I)VCodeLineNumberTableLocalVariableTablethis9Lcom/sun/javacard/jcapiandbcprofiler/CryptoAlgorithmInfo;namevalue(Ljava/lang/String;II)Vtype()V SourceFileCryptoAlgorithmInfo.java $         7com/sun/javacard/jcapiandbcprofiler/CryptoAlgorithmInfojava/lang/Object!      d****+   !w****+*  !* "#$E    %&PK Hs>t?com/sun/javacard/jcapiandbcprofiler/CryptoAlgorithmList$1.class1 \lmn o [pqrstuvwxyz{|}~    ()VCodeLineNumberTableLocalVariableTablethis InnerClasses;Lcom/sun/javacard/jcapiandbcprofiler/CryptoAlgorithmList$1; SignatureMLjava/util/Vector; SourceFileCryptoAlgorithmList.javaEnclosingMethod ]^7com/sun/javacard/jcapiandbcprofiler/CryptoAlgorithmInfoTYPE_DES_TRANSIENT_RESET ] TYPE_DES_TRANSIENT_DESELECTTYPE_DESTYPE_RSA_PUBLICTYPE_RSA_PRIVATETYPE_RSA_CRT_PRIVATETYPE_DSA_PUBLICTYPE_DSA_PRIVATETYPE_EC_F2M_PUBLICTYPE_EC_F2M_PRIVATETYPE_EC_FP_PUBLICTYPE_EC_FP_PRIVATETYPE_AES_TRANSIENT_RESETTYPE_AES_TRANSIENT_DESELECTTYPE_AES TYPE_KOREAN_SEED_TRANSIENT_RESET#TYPE_KOREAN_SEED_TRANSIENT_DESELECTTYPE_KOREAN_SEEDTYPE_HMAC_TRANSIENT_RESETTYPE_HMAC_TRANSIENT_DESELECT TYPE_HMAC TYPE_RSA_PRIVATE_TRANSIENT_RESET#TYPE_RSA_PRIVATE_TRANSIENT_DESELECT$TYPE_RSA_CRT_PRIVATE_TRANSIENT_RESET'TYPE_RSA_CRT_PRIVATE_TRANSIENT_DESELECT TYPE_DSA_PRIVATE_TRANSIENT_RESET#TYPE_DSA_PRIVATE_TRANSIENT_DESELECT#TYPE_EC_F2M_PRIVATE_TRANSIENT_RESET&TYPE_EC_F2M_PRIVATE_TRANSIENT_DESELECT"TYPE_EC_FP_PRIVATE_TRANSIENT_RESET%TYPE_EC_FP_PRIVATE_TRANSIENT_DESELECT ALG_TYPE_DES ] ALG_TYPE_AESALG_TYPE_DSA_PUBLICALG_TYPE_DSA_PRIVATEALG_TYPE_EC_F2M_PUBLICALG_TYPE_EC_F2M_PRIVATEALG_TYPE_EC_FP_PUBLICALG_TYPE_EC_FP_PRIVATE ALG_TYPE_HMACALG_TYPE_KOREAN_SEEDALG_TYPE_RSA_PUBLICALG_TYPE_RSA_PRIVATEALG_TYPE_RSA_CRT_PRIVATE LENGTH_DES LENGTH_DES3_2KEYLENGTH_DES3_3KEYLENGTH_RSA_512LENGTH_RSA_736LENGTH_RSA_768LENGTH_RSA_896LENGTH_RSA_1024LENGTH_RSA_1280LENGTH_RSA_1536LENGTH_RSA_1984LENGTH_RSA_2048LENGTH_RSA_4096LENGTH_DSA_512LENGTH_DSA_768LENGTH_DSA_1024LENGTH_EC_FP_112LENGTH_EC_F2M_113LENGTH_EC_FP_128LENGTH_EC_F2M_131LENGTH_EC_FP_160LENGTH_EC_F2M_163LENGTH_EC_FP_192LENGTH_EC_F2M_193LENGTH_EC_FP_224LENGTH_EC_FP_256LENGTH_EC_FP_384LENGTH_AES_128LENGTH_AES_192LENGTH_AES_256LENGTH_KOREAN_SEED_128LENGTH_HMAC_SHA_1_BLOCK_64LENGTH_HMAC_SHA_256_BLOCK_64LENGTH_HMAC_SHA_384_BLOCK_128LENGTH_HMAC_SHA_512_BLOCK_128MEMORY_TYPE_PERSISTENT MEMORY_TYPE_TRANSIENT_DESELECTMEMORY_TYPE_TRANSIENT_RESET9com/sun/javacard/jcapiandbcprofiler/CryptoAlgorithmList$1java/util/Vector7com/sun/javacard/jcapiandbcprofiler/CryptoAlgorithmList(Ljava/lang/String;I)V addElement(Ljava/lang/Object;)VTYPE_FLEX_CIPHER_ALGI(Ljava/lang/String;II)VTYPE_FLEX_KEY_LENGTH TYPE_FLEX_MEM0[\]^_}**Y*Y*Y*Y*Y *Y *Y *Y *Y  *Y *Y *Y *Y *Y*Y*Y*Y*Y*Y*Y*Y*Y*Y*Y*Y*Y*Y*Y *Y!*Y"*Y#*Y$%&*Y'%&*Y(%&*Y)%&*Y*%&*Y+%&*Y,%&*Y-%&*Y. %&*Y/ %&*Y0 %&*Y1 %&*Y2 %&*Y3@4&*Y54&*Y64&*Y74&*Y84&*Y94&*Y:4&*Y;4&*Y<4&*Y=4&*Y>4&*Y?4&*Y@4&*YA4&*YB4&*YC4&*YDp4&*YEq4&*YF4&*YG4&*YH4&*YI4&*YJ4&*YK4&*YL4&*YM4&*YN4&*YO4&*YP4&*YQ4&*YR4&*YS@4&*YT@4&*YU4&*YV4&*YWX&*YYX&*YZX&`RT .<JYhw !"#$%&' ()+*:+I,X-g.v/012346789:%;7<I=[>m?@ABDEFGHI&J9KLL_MrNOPQRSTUVW.XAYTZg[z\]^_`abcd#e6fIhZikj|ka }befghijkd [PK Hs>` ?com/sun/javacard/jcapiandbcprofiler/CryptoAlgorithmList$2.class10  ! "#$%&'()*+()VCodeLineNumberTableLocalVariableTablethis InnerClasses;Lcom/sun/javacard/jcapiandbcprofiler/CryptoAlgorithmList$2; SignatureMLjava/util/Vector; SourceFileCryptoAlgorithmList.javaEnclosingMethod, 7com/sun/javacard/jcapiandbcprofiler/CryptoAlgorithmInfoALG_NULL - ./ALG_SHAALG_MD5 ALG_RIPEMD160 ALG_SHA_256 ALG_SHA_384 ALG_SHA_512 ALG_SHA_2249com/sun/javacard/jcapiandbcprofiler/CryptoAlgorithmList$2java/util/Vector7com/sun/javacard/jcapiandbcprofiler/CryptoAlgorithmList(Ljava/lang/String;I)V addElement(Ljava/lang/Object;)V0 w**Y*Y*Y*Y*Y *Y *Y *Y * oqr s.t<uJvXwgxvy w  PK Hs>E**?com/sun/javacard/jcapiandbcprofiler/CryptoAlgorithmList$3.class1$   ()VCodeLineNumberTableLocalVariableTablethis InnerClasses;Lcom/sun/javacard/jcapiandbcprofiler/CryptoAlgorithmList$3; SignatureMLjava/util/Vector; SourceFileCryptoAlgorithmList.javaEnclosingMethod 7com/sun/javacard/jcapiandbcprofiler/CryptoAlgorithmInfoALG_PSEUDO_RANDOM ! "#ALG_SECURE_RANDOM9com/sun/javacard/jcapiandbcprofiler/CryptoAlgorithmList$3java/util/Vector7com/sun/javacard/jcapiandbcprofiler/CryptoAlgorithmList(Ljava/lang/String;I)V addElement(Ljava/lang/Object;)V0  W!**Y*Y } ! PK Hs>@Yл ?com/sun/javacard/jcapiandbcprofiler/CryptoAlgorithmList$4.class1 >NOP Q =RSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~  ()VCodeLineNumberTableLocalVariableTablethis InnerClasses;Lcom/sun/javacard/jcapiandbcprofiler/CryptoAlgorithmList$4; SignatureMLjava/util/Vector; SourceFileCryptoAlgorithmList.javaEnclosingMethod ?@7com/sun/javacard/jcapiandbcprofiler/CryptoAlgorithmInfoALG_DES_MAC4_NOPAD ? ALG_DES_MAC8_NOPADALG_DES_MAC4_ISO9797_M1ALG_DES_MAC8_ISO9797_M1ALG_DES_MAC4_ISO9797_M2ALG_DES_MAC8_ISO9797_M2ALG_DES_MAC4_PKCS5ALG_DES_MAC8_PKCS5ALG_RSA_SHA_ISO9796ALG_RSA_SHA_PKCS1ALG_RSA_MD5_PKCS1ALG_RSA_RIPEMD160_ISO9796ALG_RSA_RIPEMD160_PKCS1 ALG_DSA_SHAALG_RSA_SHA_RFC2409ALG_RSA_MD5_RFC2409 ALG_ECDSA_SHAALG_AES_MAC_128_NOPADALG_DES_MAC4_ISO9797_1_M2_ALG3ALG_DES_MAC8_ISO9797_1_M2_ALG3ALG_RSA_SHA_PKCS1_PSSALG_RSA_MD5_PKCS1_PSSALG_RSA_RIPEMD160_PKCS1_PSS ALG_HMAC_SHA1ALG_HMAC_SHA_256ALG_HMAC_SHA_384ALG_HMAC_SHA_512 ALG_HMAC_MD5ALG_HMAC_RIPEMD160ALG_RSA_SHA_ISO9796_MRALG_RSA_RIPEMD160_ISO9796_MRALG_KOREAN_SEED_MAC_NOPADALG_ECDSA_SHA_256ALG_ECDSA_SHA_384ALG_AES_MAC_192_NOPADALG_AES_MAC_256_NOPADALG_ECDSA_SHA_224ALG_ECDSA_SHA_512ALG_RSA_SHA_224_PKCS1ALG_RSA_SHA_256_PKCS1ALG_RSA_SHA_384_PKCS1ALG_RSA_SHA_512_PKCS1ALG_RSA_SHA_224_PKCS1_PSSALG_RSA_SHA_256_PKCS1_PSSALG_RSA_SHA_384_PKCS1_PSSALG_RSA_SHA_512_PKCS1_PSSALG_DES_MAC4_ISO9797_1_M1_ALG3ALG_DES_MAC8_ISO9797_1_M1_ALG3SIG_CIPHER_DES_MAC4 ?SIG_CIPHER_DES_MAC8SIG_CIPHER_RSASIG_CIPHER_DSASIG_CIPHER_ECDSASIG_CIPHER_AES_MAC1289com/sun/javacard/jcapiandbcprofiler/CryptoAlgorithmList$4java/util/Vector7com/sun/javacard/jcapiandbcprofiler/CryptoAlgorithmList(Ljava/lang/String;I)V addElement(Ljava/lang/Object;)VTYPE_FLEX_CIPHER_ALGI(Ljava/lang/String;II)V0=>?@A=7**Y*Y*Y*Y*Y *Y *Y *Y *Y  *Y *Y *Y *Y *Y*Y*Y*Y*Y*Y*Y*Y*Y*Y*Y*Y*Y*Y*Y *Y!*Y"*Y#*Y$ *Y%!*Y&"*Y'#*Y($*Y)%*Y*&*Y+'*Y,(*Y-)*Y.**Y/+*Y0,*Y1-*Y2.*Y3/*Y40*Y567*Y867*Y967*Y:67*Y;67*Y<67B8 .<JYhw +:IXgv *9HWfu$6C 7DGHIJKLMF =PK Hs>**?com/sun/javacard/jcapiandbcprofiler/CryptoAlgorithmList$5.class1$   ()VCodeLineNumberTableLocalVariableTablethis InnerClasses;Lcom/sun/javacard/jcapiandbcprofiler/CryptoAlgorithmList$5; SignatureMLjava/util/Vector; SourceFileCryptoAlgorithmList.javaEnclosingMethod 7com/sun/javacard/jcapiandbcprofiler/CryptoAlgorithmInfoALG_ISO3309_CRC16 ! "#ALG_ISO3309_CRC329com/sun/javacard/jcapiandbcprofiler/CryptoAlgorithmList$5java/util/Vector7com/sun/javacard/jcapiandbcprofiler/CryptoAlgorithmList(Ljava/lang/String;I)V addElement(Ljava/lang/Object;)V0  W!**Y*Y  ! PK Hs>EM||?com/sun/javacard/jcapiandbcprofiler/CryptoAlgorithmList$6.class1*    !"#$%()VCodeLineNumberTableLocalVariableTablethis InnerClasses;Lcom/sun/javacard/jcapiandbcprofiler/CryptoAlgorithmList$6; SignatureMLjava/util/Vector; SourceFileCryptoAlgorithmList.javaEnclosingMethod& 7com/sun/javacard/jcapiandbcprofiler/CryptoAlgorithmInfoALG_RSA ' () ALG_RSA_CRTALG_DSA ALG_EC_F2M ALG_EC_FP9com/sun/javacard/jcapiandbcprofiler/CryptoAlgorithmList$6java/util/Vector7com/sun/javacard/jcapiandbcprofiler/CryptoAlgorithmList(Ljava/lang/String;I)V addElement(Ljava/lang/Object;)V0  K**Y*Y*Y*Y*Y  .<J K  PK Hs>r,?com/sun/javacard/jcapiandbcprofiler/CryptoAlgorithmList$7.class1,   !"#$%&'()VCodeLineNumberTableLocalVariableTablethis InnerClasses;Lcom/sun/javacard/jcapiandbcprofiler/CryptoAlgorithmList$7; SignatureMLjava/util/Vector; SourceFileCryptoAlgorithmList.javaEnclosingMethod( 7com/sun/javacard/jcapiandbcprofiler/CryptoAlgorithmInfoALG_EC_SVDP_DH ) *+ALG_EC_SVDP_DH_KDFALG_EC_SVDP_DHCALG_EC_SVDP_DHC_KDFALG_EC_SVDP_DH_PLAINALG_EC_SVDP_DHC_PLAIN9com/sun/javacard/jcapiandbcprofiler/CryptoAlgorithmList$7java/util/Vector7com/sun/javacard/jcapiandbcprofiler/CryptoAlgorithmList(Ljava/lang/String;I)V addElement(Ljava/lang/Object;)V0  Y**Y*Y*Y*Y*Y *Y " .<JX Y  PK Hs>)i|M M ?com/sun/javacard/jcapiandbcprofiler/CryptoAlgorithmList$8.class1 8HIJ K 7LMNOPQRSTUVWXYZ[\]^_`abcdefg h ijklmnop qrstuvwxyz{|}~()VCodeLineNumberTableLocalVariableTablethis InnerClasses;Lcom/sun/javacard/jcapiandbcprofiler/CryptoAlgorithmList$8; SignatureMLjava/util/Vector; SourceFileCryptoAlgorithmList.javaEnclosingMethod 9:7com/sun/javacard/jcapiandbcprofiler/CryptoAlgorithmInfoALG_DES_CBC_NOPAD 9 ALG_DES_CBC_ISO9797_M1ALG_DES_CBC_ISO9797_M2ALG_DES_CBC_PKCS5ALG_DES_ECB_NOPADALG_DES_ECB_ISO9797_M1ALG_DES_ECB_ISO9797_M2ALG_DES_ECB_PKCS5ALG_RSA_ISO14888 ALG_RSA_PKCS1ALG_RSA_ISO9796 ALG_RSA_NOPADALG_AES_BLOCK_128_CBC_NOPADALG_AES_BLOCK_128_ECB_NOPADALG_RSA_PKCS1_OAEPALG_KOREAN_SEED_ECB_NOPADALG_KOREAN_SEED_CBC_NOPADALG_AES_BLOCK_192_CBC_NOPADALG_AES_BLOCK_192_ECB_NOPADALG_AES_BLOCK_256_CBC_NOPADALG_AES_BLOCK_256_ECB_NOPADALG_AES_CBC_ISO9797_M1ALG_AES_CBC_ISO9797_M2ALG_AES_CBC_PKCS5ALG_AES_ECB_ISO9797_M1ALG_AES_ECB_ISO9797_M2ALG_AES_ECB_PKCS5CIPHER_AES_CBC 9CIPHER_AES_ECBCIPHER_DES_CBCCIPHER_DES_ECBCIPHER_KOREAN_SEED_CBCCIPHER_KOREAN_SEED_ECB CIPHER_RSAPAD_NULL  PAD_NOPADPAD_ISO9797_M1PAD_ISO9797_M2PAD_ISO9797_1_M1_ALG3PAD_ISO9797_1_M2_ALG3 PAD_PKCS5 PAD_PKCS1 PAD_PKCS1_PSSPAD_PKCS1_OAEP PAD_ISO9796PAD_ISO9796_MR PAD_RFC24099com/sun/javacard/jcapiandbcprofiler/CryptoAlgorithmList$8java/util/Vector7com/sun/javacard/jcapiandbcprofiler/CryptoAlgorithmList(Ljava/lang/String;I)V addElement(Ljava/lang/Object;)VTYPE_FLEX_CIPHER_ALGI(Ljava/lang/String;II)VTYPE_FLEX_PAD_ALG0789:;**Y*Y*Y*Y*Y *Y *Y *Y *Y  *Y *Y *Y *Y *Y*Y*Y*Y*Y*Y*Y*Y*Y*Y*Y*Y*Y*Y*Y !"*Y#!"*Y$!"*Y%!"*Y&!"*Y'!"*Y(!"*Y)*"*Y+*"*Y,*"*Y-*"*Y.*"*Y/*"*Y0*"*Y1*"*Y2*"*Y3 *"*Y4 *"*Y5 *"*Y6 *"<1 .<JYhw +:IXgv /@Qb s    = >ABCDEFG@ 7PK Hs>Z =com/sun/javacard/jcapiandbcprofiler/CryptoAlgorithmList.class1 )O (P QR S TU TVW X Y Z[\ O] O_ `a Obc Ode Ofg Ohi Ojk "Olm %Onop cryptoAlgosLjava/util/Hashtable; SignaturevLjava/util/Hashtable;>;()VCodeLineNumberTableLocalVariableTablethis9Lcom/sun/javacard/jcapiandbcprofiler/CryptoAlgorithmList; getAlgoName((ILjava/lang/String;I)Ljava/lang/String;info9Lcom/sun/javacard/jcapiandbcprofiler/CryptoAlgorithmInfo;i$Ljava/util/Iterator; constantValueI classNameLjava/lang/String;typelistLjava/util/Vector;LocalVariableTypeTableMLjava/util/Vector;keyBuilderInfoMessageDigestInforandomDataInfo signatureInfo checksumInfo keyPairInfokeyAgreementInfo cipherInfo SourceFileCryptoAlgorithmList.java ./ *+ qrjava/util/Vector stu vw xy7com/sun/javacard/jcapiandbcprofiler/CryptoAlgorithmInfo z< {< |>java/util/Hashtable9com/sun/javacard/jcapiandbcprofiler/CryptoAlgorithmList$1 InnerClassesjavacard.security.KeyBuilder }~9com/sun/javacard/jcapiandbcprofiler/CryptoAlgorithmList$2javacard.security.MessageDigest9com/sun/javacard/jcapiandbcprofiler/CryptoAlgorithmList$3javacard.security.RandomData9com/sun/javacard/jcapiandbcprofiler/CryptoAlgorithmList$4javacard.security.Signature9com/sun/javacard/jcapiandbcprofiler/CryptoAlgorithmList$5javacard.security.Checksum9com/sun/javacard/jcapiandbcprofiler/CryptoAlgorithmList$6javacard.security.KeyPair9com/sun/javacard/jcapiandbcprofiler/CryptoAlgorithmList$7javacard.security.KeyAgreement9com/sun/javacard/jcapiandbcprofiler/CryptoAlgorithmList$8javacardx.crypto.Cipher7com/sun/javacard/jcapiandbcprofiler/CryptoAlgorithmListjava/lang/Objectget&(Ljava/lang/Object;)Ljava/lang/Object;iterator()Ljava/util/Iterator;java/util/IteratorhasNext()Znext()Ljava/lang/Object;algorhtimConstantValue valueType algorithmNameput8(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;!()*+,-./0/*12 34 560E+N-:*:     1 '9B2>'7819:E;<E=>E?< :@AB  :@CD/0 YYK*WYL+WYM,WYN-WY:WY :!W"Y#:$W%Y&:'W1J mo${.}6@HR[foz2REA$~FA6lGAHZHA[GIAo3JAKA LABREC$~FC6lGCHZHC[GICo3JCKC LCMN^B"%PK Hs>'-,i,i<com/sun/javacard/jcapiandbcprofiler/CryptoCallAnalyzer.class1             2                   / '    ' /  2 1   1         B              !               b b   b   b            s s v v         !"# $ % & ' ( ) * +, +- . / 0 1 2 3 4 56 789 : ; < = > ? @ AB C D EF GH IJK LMN IOP QR STU V WX IY Z [ \ ]^ _` ab _c _defg _hij _k l m n op qrccp:Lcom/sun/javacard/jcapiandbcprofiler/ClassicCAPProcesssor;REGULAR_METHODI ConstantValue INIT_METHODINIT_METHOD_IN_INITIALIZERactualSelfType'Lcom/sun/javacard/offcardverifier/Type;methodResultType currentClass,Lcom/sun/javacard/offcardverifier/TypeClass;methodInitStatus printTraceZ seenStatesLjava/util/Hashtable; SignaturegLjava/util/Hashtable; pendingStatesLjava/util/Stack;;Ljava/util/Stack; stackEffect)[[Lcom/sun/javacard/offcardverifier/Type;cryptoAlgoNamesLjava/util/Vector;&Ljava/util/Vector;allCryptoAlgosFoundmd3Lcom/sun/javacard/offcardverifier/MethodDescriptor; showVerbose WARNING_MSG_1Ljava/lang/String; WARNING_MSG_2 WARNING_MSG_3 WARNING_MSG_4WARNING_MSG_NON_VERBOSE_1WARNING_MSG_NON_VERBOSE_2()VCodeLineNumberTableLocalVariableTablethis8Lcom/sun/javacard/jcapiandbcprofiler/CryptoCallAnalyzer;simulate([Lcom/sun/javacard/offcardverifier/Instr;IILcom/sun/javacard/offcardverifier/TypeMethod;Lcom/sun/javacard/offcardverifier/TypeClass;ZLcom/sun/javacard/offcardverifier/TypeClass;Lcom/sun/javacard/offcardverifier/MethodDescriptor;)Velementarr$([Lcom/sun/javacard/offcardverifier/Type;len$i$s(Lcom/sun/javacard/offcardverifier/State; initStack initLocalicode)[Lcom/sun/javacard/offcardverifier/Instr;maxStackmaxLocaltymeth-Lcom/sun/javacard/offcardverifier/TypeMethod;selfisInit currClass currentMethodvalue transitionT([Lcom/sun/javacard/offcardverifier/Instr;Lcom/sun/javacard/offcardverifier/State;)VstackEffectAaloadstackEffectAastoremntyrefClass initStatus successful valueType+Lcom/sun/javacard/offcardverifier/TypeBase;theValue typeOnStackentry[ILjava/util/Iterator;5Lcom/sun/javacard/offcardverifier/MethodTypeAndFlags;crefflagstyElttyResintValuevalue1value2cpe4Lcom/sun/javacard/offcardverifier/ConstantPoolEntry;ts3Lcom/sun/javacard/offcardverifier/InstrTableSwitch;ls4Lcom/sun/javacard/offcardverifier/InstrLookupSwitch;exnStacke-Lcom/sun/javacard/offcardverifier/ExnHandler;beforeinstr(Lcom/sun/javacard/offcardverifier/Instr;newStack newLocalsnewSpty2 shortTypeintTypeint2Type matchStack|([Lcom/sun/javacard/offcardverifier/Type;[Lcom/sun/javacard/offcardverifier/Type;ILcom/sun/javacard/offcardverifier/Instr;)IeffectstackspnargspushS([Lcom/sun/javacard/offcardverifier/Type;ILcom/sun/javacard/offcardverifier/Type;)IpopMatch|([Lcom/sun/javacard/offcardverifier/Type;ILcom/sun/javacard/offcardverifier/Type;ZLcom/sun/javacard/offcardverifier/Instr;)IcheckInternalFieldmatchArgumentsAndPushResult([Lcom/sun/javacard/offcardverifier/Type;ILcom/sun/javacard/offcardverifier/TypeMethod;Lcom/sun/javacard/offcardverifier/TypeClass;I)ImatchedactualTy expectedTyjmtyselftynumArgsinitializeInstanceS([Lcom/sun/javacard/offcardverifier/Type;I)[Lcom/sun/javacard/offcardverifier/Type;newty initialized updateLocalsz([Lcom/sun/javacard/offcardverifier/Type;ILcom/sun/javacard/offcardverifier/Type;)[Lcom/sun/javacard/offcardverifier/Type; oldLocalsidx([Lcom/sun/javacard/offcardverifier/Type;ILcom/sun/javacard/offcardverifier/Type;Lcom/sun/javacard/offcardverifier/Type;)[Lcom/sun/javacard/offcardverifier/Type;ty1findCpoolReferenceType*(I)Lcom/sun/javacard/offcardverifier/Type;tyIdx*Lcom/sun/javacard/offcardverifier/Safeptr;findCpoolReferenceMethodtype0(I)Lcom/sun/javacard/offcardverifier/TypeMethod;findCpoolReferenceClass/(I)Lcom/sun/javacard/offcardverifier/TypeClass;cmdesc;Lcom/sun/javacard/offcardverifier/ClassAndMethodDescriptor;cpfindCpoolReferenceClassref(I)I enterState(ILcom/sun/javacard/offcardverifier/Contour;[Lcom/sun/javacard/offcardverifier/Type;[Lcom/sun/javacard/offcardverifier/Type;I)Vmergedtyoldtypccontour*Lcom/sun/javacard/offcardverifier/Contour;locals cloneCreatednewstateoldstate unchangedconstructAndAddWarningMessage([II)V classNameinfoef8Lcom/sun/javacard/offcardverifier/exportfile/ExportFile;ec5Lcom/sun/javacard/offcardverifier/exportfile/EfClass;em6Lcom/sun/javacard/offcardverifier/exportfile/EfMethod;msglistCryptoAlgorithmUsednamelistFlexAlgorithms.(I[I[Lcom/sun/javacard/offcardverifier/Type;)ZgetValueFromStack-([Lcom/sun/javacard/offcardverifier/Type;II)IoffsetlistFlexKeyBuilderAlgorithms,([Lcom/sun/javacard/offcardverifier/Type;I)ZcipherAlgorithmValuememValue lengthValuealgoNamememTypelengthfullNamelistFlexSignatureAlgorithmsMDAlgorithmValue padAlgValue MDAlgoNamecipherAlgoName padAlgoNamelistFlexCipherAlgorithmspaddingAlgoNamese SourceFileCryptoCallAnalyzer.java JC_TRIMMING_TOOL_CRYPTO_VERBOSEs tutruev wx y java/util/Hashtable z java/util/Stack %com/sun/javacard/offcardverifier/Type)com/sun/javacard/offcardverifier/TypeInit { |} ~  o ij   &com/sun/javacard/offcardverifier/State  m A  p )com/sun/javacard/offcardverifier/TypeBase    B DE  java/lang/Integer (*com/sun/javacard/offcardverifier/TypeArray*com/sun/javacard/offcardverifier/TypeClass    >? )com/sun/javacard/offcardverifier/TypeNull  VW FG  VZ  ,com/sun/javacard/offcardverifier/TypeRetaddr  \] bc `a IJ  RS              uv v gh  O h  java/lang/StringBuilder  no  :      --> 1com/sun/javacard/offcardverifier/InstrTableSwitch ! 2com/sun/javacard/offcardverifier/InstrLookupSwitch 3   3   .com/sun/javacard/offcardverifier/VerifierErrorAbstrInterp.50     h          AbstrInterp.51   j   D AbstrInterp.101     * Please verify usage of method   of class  of method  at PC * Please verify  algorithm use  B     javacard.security.KeyBuilder     , ,javacard.security.MessageDigest  javacard.security.Signaturejavacardx.crypto.Cipher     java/util/Vector6com/sun/javacard/jcapiandbcprofiler/CryptoCallAnalyzerjava/lang/Objectjava/lang/Systemgetenv&(Ljava/lang/String;)Ljava/lang/String;java/lang/StringequalsIgnoreCase(Ljava/lang/String;)Zclear(I)Vclassref(II)V+com/sun/javacard/offcardverifier/TypeMethodargs normalize)()Lcom/sun/javacard/offcardverifier/Type;(com/sun/javacard/offcardverifier/Contouremptyres()Zpop()Ljava/lang/Object;clone&com/sun/javacard/offcardverifier/InstropcodeargvalueOf(I)Ljava/lang/Integer;(ILjava/lang/Object;)Varg2Ljava/lang/Object;()I)com/sun/javacard/offcardverifier/ClassrefObject*(Lcom/sun/javacard/offcardverifier/Type;)VShorteltTypeNullInt arraycopy*(Ljava/lang/Object;ILjava/lang/Object;II)Varg36com/sun/javacard/offcardverifier/ConstantPoolComponent methodIsInit(I)Z$com/sun/javacard/offcardverifier/Cap ConstantPool8Lcom/sun/javacard/offcardverifier/ConstantPoolComponent;7(I)Lcom/sun/javacard/offcardverifier/ConstantPoolEntry;2com/sun/javacard/offcardverifier/ConstantPoolEntryisExternalStaticRef8com/sun/javacard/jcapiandbcprofiler/ClassicCAPProcesssorcryptoMethodFinderPatterniterator()Ljava/util/Iterator;java/util/IteratorhasNextnextexternalStaticRefPackageTokenexternalStaticRefClassTokentokenStaticRef*com/sun/javacard/offcardverifier/Methodref findByToken:(IIZ)Lcom/sun/javacard/offcardverifier/MethodTypeAndFlags;3com/sun/javacard/offcardverifier/MethodTypeAndFlagscheckAndGetAccessFlagsByteoutLjava/io/PrintStream;append(I)Ljava/lang/StringBuilder;toString()Ljava/lang/String;-(Ljava/lang/String;)Ljava/lang/StringBuilder; instrName[Ljava/lang/String;java/io/PrintStreamprintln(Ljava/lang/String;)Vprint printLocals+([Lcom/sun/javacard/offcardverifier/Type;)V printStack,([Lcom/sun/javacard/offcardverifier/Type;I)V(C)Voffsetsdflhandler+com/sun/javacard/offcardverifier/ExnHandler catchTypetargetInt2 isSubtype*(Lcom/sun/javacard/offcardverifier/Type;)Z isSameOrSuper(II)Z:(Ljava/lang/String;ILjava/lang/Object;Ljava/lang/Object;)VVoidequals(Ljava/lang/Object;)Z TypeDescr1Lcom/sun/javacard/offcardverifier/TypeDescriptor;/com/sun/javacard/offcardverifier/TypeDescriptorconstantPoolTypeat-(I)Lcom/sun/javacard/offcardverifier/Safeptr;parseCapS(Lcom/sun/javacard/offcardverifier/Safeptr;)Lcom/sun/javacard/offcardverifier/Type;Y(Lcom/sun/javacard/offcardverifier/Safeptr;)Lcom/sun/javacard/offcardverifier/TypeMethod;tagclassRefVirtualRefclassStaticRefinternalStaticRef findDescr>(I)Lcom/sun/javacard/offcardverifier/ClassAndMethodDescriptor;9com/sun/javacard/offcardverifier/ClassAndMethodDescriptor classDescr2Lcom/sun/javacard/offcardverifier/ClassDescriptor;0com/sun/javacard/offcardverifier/ClassDescriptor thisClassclassRefget&(Ljava/lang/Object;)Ljava/lang/Object;put8(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;lubP(Lcom/sun/javacard/offcardverifier/Type;)Lcom/sun/javacard/offcardverifier/Type;Import2Lcom/sun/javacard/offcardverifier/ImportComponent;0com/sun/javacard/offcardverifier/ImportComponentexportfileForPackageToken;(I)Lcom/sun/javacard/offcardverifier/exportfile/ExportFile;6com/sun/javacard/offcardverifier/exportfile/ExportFilefindClassByToken8(S)Lcom/sun/javacard/offcardverifier/exportfile/EfClass;3com/sun/javacard/offcardverifier/exportfile/EfClassgetMethodForTokenAndFlag:(IZ)Lcom/sun/javacard/offcardverifier/exportfile/EfMethod;4com/sun/javacard/offcardverifier/exportfile/EfMethodthisName1com/sun/javacard/offcardverifier/MethodDescriptorreplace(CC)Ljava/lang/String;containsadd"getConstantFieldNameByValueAndDesc'(ILjava/lang/String;)Ljava/lang/String;7com/sun/javacard/jcapiandbcprofiler/CryptoAlgorithmInfoTYPE_FLEX_CIPHER_ALG7com/sun/javacard/jcapiandbcprofiler/CryptoAlgorithmList getAlgoName((ILjava/lang/String;I)Ljava/lang/String; TYPE_FLEX_MEMTYPE_FLEX_KEY_LENGTH TYPE_NON_FLEXTYPE_FLEX_PAD_ALG ByteArray ShortArrayIntArray Throwable      /* i :   Y3 Y: : 6 "  YS-:  6 6  2:  S  -: *  : "    %1;AGJOn!"#$'()*+'()* , t) y$ |! A G J              *+!2M+"#$$N+%:6,&   ( mx [0  m Jg { Q m [   'Y,()*:-++,6 'Y,()*: 'Y,-)*: -++ ,6-++ ,6 +"++d2':++d6.//06 'Y)*: 'Y )*: - ,6- ,6 W+"++d2': ++d6 .//06 'Y )*:- ,6 +%,(2:-++,6+%,(2:-++,6+%,(2:+%,(`2:-++,6-,6Y1Y2Y345SY6SYSYS:  -++,76+"++d2:118:9::-,6=+"++d2:+%,(;:++d6+"++d2':+"++6,<6+%,(;:+"++d2': +"++d2': +"++=,<6+%,(  >:Y1Y2Y345SY6SY2Y34SYSYS:  -++,76W++d6L++d6A-++-++d2S++`6(-++-++d2S-++`-++d2S++`6,(6 ,-6 +"++ d-++ d ` ?+"++ d-++ d ?++ `6,(6 ,-6 +"++ d-++ d d ?+"++ d d-++ d ?++6i+%,(2':.?+%,(2'./06  ,-`6 +%,('Y )*[S:+%,(2:++6+%,(2':.H,-x,@6  +%,(2'./0`6 +%,('Y )*[S:+%,(2:++6,-6 +%,(2'./06 +%,(`2'./06  x`6 +%,('Y zA~)*[S:+%,(`'Y A~)*[S:++6 ,-x,@6 +%,(2'./06 +%,(`2'./06  x`6 +%,('Y zA~)*[S:+%,(`'Y A~)*[S:++6z-++BY+!,C`D,6]+%,(2:++6I+"++d2:66+"++d2:6#+"++d2:+"++d2:66-++,(E,6+"++,(E,<6,(F:+"++,<6-,(E,6,(F:+"++,(E,<6+",<6s-++,(G,(FH6W6,(I `6-++,(G,(FH6$-JNJ:K,(L:M˲NOP:QRS:.T.U.V.'++-W6  +!XX6-++.d2:'<':.&.//06Y+!X  F-++,(GH6,(Z,-[:-++\2Y34H6,(Z6]6-++Y+!,6-++6,<6:,(3 &.^:6:=:-1Y5,6i-++6,<61Y2Y,(Z45:-,63++d6+"2:-6,6+"++2Y34,<6:,(J]]l{2Y,-Z4:G1Y^5:81Y65:)1Y=5:1Y2Y,-Z45:-,6C-++,(E,6/+"++,(E,<6_,&2-++,76`uabYc+!d+efghgi,&2gjkalm+%n+"++oapaqmna r-oap,&#`1111111111111111^##vv    ######################## ####1111111111111111^+!,C`+e-+!,(`+e-+!,(`+e-,s:  t:  6 6 # .6+!`+e-+! u`+e-p,v:  w:  66# .6+!`+e-+! x`+e-+!,C`+e-,y:  4+":   z,W {+e  |: ͱ01239<=>@AB#C/D2FBGJHZIhJxKLMOPQRSTZ[\bdeklm+n5o8q`rmtzuvwxz{$6GJ&/28>Ytz}">IORXo&Ecil      0! ?" B. K/ a0 p1 s4 6 8 9 : < > ? @ E F G H I #J /K 6L BM GN NP WR ZS ]T jV rW yX Y Z [ ] _ ` b i l n o q t u v w z /{ 2| T Y \ a d i z }           < L O [ ^ j m y |           " ) 4 : B G O U [ '*0M`f|  4`I  E ? 8E >? Zu d6 # K( D B y/ ]R jE  ! " # !$ % 2K& & 'X( ot) [* +,/! * 'M7/! <*?'-. 0g/0 1 623 456789I : ; <  = >?766*2 d=*2+*2S& ! "!%'%(,)/'5,>7@7A7B75641C DEd*,S,=*`},`01 24 AB FGq,=*}<<d9:<4ABH56 IJ ,6-6~-*d2:6q%K-6O-6~)-6~66,=*d`2:,2:  Y d<,*,,<rBC DFGIJ!K$L@OHPKTiUnVq[]`cdefikcmoprz !y$vK)LM DNABO PQ RS?*$$M2Y~4N6~,2,-S,} ~%27=4?? 4T#U VWa*$$N-,S- *XY 8 VZy*$$:,S`-S 4XY[: 8 \]^<M, Y^_ `a[<M, Y ^_ bctKLL+^(((^^42Y+4+M2Y+4+M2Y,4Y"4@GS[j [detYlf, ghE KLL+  Yf, ij 6Y+,-: : WW66  %% 2: % 2:     :   ' ' '../     %$%6%  S  6 Y66  +" 2: " 2:   :  Y     ' ' '..   "$"6"  S  6 b W($/89<JT^cu +8HWgj t unk Tl ^T ? l  }T tk  mnopABqrs<ctuv0*.M,*.N-*.::BbYcggg-gg ggdj:+-/.:bYcgggj: W.   & e"r#%&(Hrwx!m yz{|}~ v1*.M,*.N-: W+ ,-.'/0141x!1 'yz{|~0+.+%,,,46"8(:.< 0B0 !07?*d2N6-'+-':..//06  * AB DEFG1I5K8L<N>?7?B?9 6D *=*>*6 ::: bYcgggggj: W:RSTV&W(Z3\>^J`Ya[cdeg\ 7B3c>XJLD *=*>*6 ::¸: bYcgggggj: W:klmo&p(s3u>wJzY{[}\ 7B3c>XJLm*=*>:¸:bYcgggj: W2 %0:<WbkHm7mBf_%H0=W `$YYSYSSYYSY:SYSSYYSY'Y)*SYSSYYSY'Y)*SYSSYYSY'Y)*SYSSYYSY'Y)*SYSSYYSY'Y)*SYSSYYSY'Y)*SYSSYYSY'Y)*SYSSY YSY'Y)*SY'Y)*SYSSY YSY'Y)*SY'Y)*SYSSY YSY'Y)*SY'Y)*SYSSY YSY'Y)*SY'Y)*SYSSY YSY'Y)*SY'Y)*SYSSYYSY'Y)*SY'Y)*SYSSYYSY'Y)*SY'Y)*SYSSYYSY6SYSSYYSY6SYSSYYSY=SY}SYSSYYSY=SY}SYSSYYSY=SY}SYSSYSYSYSYSYSYSYSYSYSYSYSY SY!SY"SY#SY$SY%YSY6SYSY6SYSSY&YSY6SYSY6SYSSY'YSY6SYSY=SY}SYSSY(SY)SY*SY+SY,SY-SY.SY/SY0SY1SY2SY3SY4SY5SY6SY7SY8YSY6SY6SYSYSSY9YSY6SY6SYSYSSY:YSY6SY=SY}SYSYSSY;SY<SY=SY>SY?SY@SYAY6SY6SYSY6SYSSYBY=SY}SY=SY}SYSY=SY}SYSSYCY6SY6SYSY6SYSSYDY=SY}SY=SY}SYSY=SY}SYSSYEY6SY6SYSY6SYSSYFY=SY}SY=SY}SYSY=SY}SYSSYGY6SY6SYSY6SYSSYHY=SY}SY=SY}SYSY=SY}SYSSYIY6SY6SYSY6SYSSYJY=SY}SY=SY}SYSY=SY}SYSSYKY6SYSY6SYSSYLY=SY}SYSY=SY}SYSSYMY6SY6SYSY6SYSSYNY=SY}SY=SY}SYSY=SY}SYSSYOY6SY6SYSY6SYSSYPY=SY}SY=SY}SYSY=SY}SYSSYQY6SY6SYSY6SYSSYRY=SY}SY=SY}SYSY=SY}SYSSYSY6SY6SYSY6SYSSYTY=SY}SY=SY}SYSY=SY}SYSSYUY6SY6SYSY6SYSSYVY=SY}SY=SY}SYSY=SY}SYSSYWY6SY6SYSY6SYSSYXY=SY}SY=SY}SYSY=SY}SYSSYYSYZSY[Y6SYSY6SYSSY\Y6SYSY=SY}SYSSY]Y=SY}SYSY6SYSSY^Y=SY}SYSY6SYSSY_Y=SY}SY=SY}SYSY6SYSSY`Y6SYSYSSYaY6SYSYSSYbY6SYSYSSYcY6SYSYSSYdY6SYSYSSYeY6SYSYSSYfY2Y34SYSYSSYgY2Y34SYSYSSYhY2Y34SY2Y34SYSYSSYiY2Y34SY2Y34SYSYSSYjY6SY6SYSYSSYkY6SY6SYSYSSYlY6SY6SYSYSSYmY6SY6SYSYSSYnY6SY6SYSYSSYoY6SY6SYSYSSYpYSYSSYqSYrSYsY6SYSYSSYtY=SY}SYSYSSYuY6SYSYSSYvY=SY}SYSYSSYwSYxSYySYzSY{SY|SY}SY~SYSYSYSYSYSYSYSYSYSYSYSYSYSYSYSYSYSYSYSYSYY2YƷ4SYSYSSYSYY2Y34SYSY6SYSSYSYSYY6SYSYSSYY6SYSYSSYY6SYSYSSYY6SYSYSSYY6SYSYSSYY6SYSYSSYY2Y34SYSYSSYY2Y34SYSYSSYY2Y34SY2Y34SYSYSSYY2Y34SY2Y34SYSYSSYY6SY6SYSYSSYY6SY6SYSYSSYY6SY6SYSYSSYY6SY6SYSYSSYY6SY6SYSYSSYY6SY6SYSYSSYYSYSSYSYSYSYSYSYSYSYSYSYSYSYSYSYSYSYSK*_Yȳ 0< PK Hs>!1com/sun/javacard/jcapiandbcprofiler/ListAPI.class1C$ % & ' ()*+ , % -. - /0 123()VCodeLineNumberTableLocalVariableTablethis-Lcom/sun/javacard/jcapiandbcprofiler/ListAPI;execute()IusedAPI-Lcom/sun/javacard/jcapiandbcprofiler/UsedAPI;osLjava/io/BufferedOutputStream;pwLjava/io/PrintWriter; Exceptions4 SourceFile ListAPI.javalistapi 5 6 789 :;java/io/BufferedOutputStreamjava/io/FileOutputStream <= >java/io/PrintWriter? @A B+com/sun/javacard/jcapiandbcprofiler/ListAPI8com/sun/javacard/jcapiandbcprofiler/TrimmerHelperCommandjava/lang/Exception(Ljava/lang/String;)VprocessCommandLine capProcessor:Lcom/sun/javacard/jcapiandbcprofiler/ClassicCAPProcesssor;8com/sun/javacard/jcapiandbcprofiler/ClassicCAPProcesssor listUsedJCAPI/()Lcom/sun/javacard/jcapiandbcprofiler/UsedAPI; apiOutputFileLjava/lang/String;(Ljava/io/OutputStream;)V+com/sun/javacard/jcapiandbcprofiler/UsedAPIprint(Ljava/io/PrintWriter;)Vflush!5*  3**LYY* M Y, N+- - (!-"1#*3 '(  !"#PK Hs>Ho/8com/sun/javacard/jcapiandbcprofiler/ListAllCommand.class1q8 9 : ; <= <> <? <@AB C 9 DE D FG H I JK LM LNO P QRS()VCodeLineNumberTableLocalVariableTablethis4Lcom/sun/javacard/jcapiandbcprofiler/ListAllCommand;execute()IstrLjava/lang/String;i$Ljava/util/Iterator;usedAPI-Lcom/sun/javacard/jcapiandbcprofiler/UsedAPI;usedBCLjava/util/Vector;unUsedBCusedCryptoAlgososLjava/io/BufferedOutputStream;pwLjava/io/PrintWriter;LocalVariableTypeTable&Ljava/util/Vector; ExceptionsT SourceFileListAllCommand.javalistall U V WXY Z[ \] ^] _]java/io/BufferedOutputStreamjava/io/FileOutputStream `% ajava/io/PrintWriterb cd e f%g hij kl mnjava/lang/String oU p%2com/sun/javacard/jcapiandbcprofiler/ListAllCommand8com/sun/javacard/jcapiandbcprofiler/TrimmerHelperCommandjava/lang/Exception(Ljava/lang/String;)VprocessCommandLine capProcessor:Lcom/sun/javacard/jcapiandbcprofiler/ClassicCAPProcesssor;8com/sun/javacard/jcapiandbcprofiler/ClassicCAPProcesssor listUsedJCAPI/()Lcom/sun/javacard/jcapiandbcprofiler/UsedAPI;listUsedByteCodes()Ljava/util/Vector;listUnUsedByteCodeslistUsedCryptoAlgos apiOutputFile(Ljava/io/OutputStream;)V+com/sun/javacard/jcapiandbcprofiler/UsedAPIprint(Ljava/io/PrintWriter;)Vflush bcOutputFilejava/util/Vectoriterator()Ljava/util/Iterator;java/util/IteratorhasNext()Znext()Ljava/lang/Object;printlncryptOutputFileName!5*   !"# **L*M*N*: Y Y* :Y:+ Y Y* :Y:,:: Y Y* :Y:::R %9DJO"c#n$%')*,-/1p $%t &'$% &' ! ()*+,+%-+9./D012 *3,3%-34567PK Hs>-->com/sun/javacard/jcapiandbcprofiler/ListByteCodesCommand.class1_2 3 4 5 67 689: ; 3 <= <> ? @A BC BDEF GHI()VCodeLineNumberTableLocalVariableTablethis:Lcom/sun/javacard/jcapiandbcprofiler/ListByteCodesCommand;execute()IstrLjava/lang/String;i$Ljava/util/Iterator;usedBCLjava/util/Vector;unUsedBCosLjava/io/BufferedOutputStream;pwLjava/io/PrintWriter;LocalVariableTypeTable&Ljava/util/Vector; ExceptionsJ SourceFileListByteCodesCommand.java listbytecodes K L MNO PQ RQjava/io/BufferedOutputStreamjava/io/FileOutputStream S" Tjava/io/PrintWriter)------------ Used Bytecodes ------------- UKV WXY Z[ \]java/lang/String+------------ Unused Bytecodes ------------- ^8com/sun/javacard/jcapiandbcprofiler/ListByteCodesCommand8com/sun/javacard/jcapiandbcprofiler/TrimmerHelperCommandjava/lang/Exception(Ljava/lang/String;)VprocessCommandLine capProcessor:Lcom/sun/javacard/jcapiandbcprofiler/ClassicCAPProcesssor;8com/sun/javacard/jcapiandbcprofiler/ClassicCAPProcesssorlistUsedByteCodes()Ljava/util/Vector;listUnUsedByteCodes bcOutputFile(Ljava/io/OutputStream;)Vprintlnjava/util/Vectoriterator()Ljava/util/Iterator;java/util/IteratorhasNext()Znext()Ljava/lang/Object;flush!5*   X**L*MYY* N Y- :+::,::6  '18 T!^#e$%'(\ T!"> #$!"k #$ %&~'&'k()1a*+, %-~'-./01PK Hs>OHWNN.com/sun/javacard/jcapiandbcprofiler/Main.class1> *+ , -./ 01 023 456789execute([Ljava/lang/String;)ICodeLineNumberTableLocalVariableTableargs[Ljava/lang/String; Exceptions([Ljava/lang/String;Z)Itool*Lcom/sun/javacard/jcapiandbcprofiler/Main;eLjava/lang/Exception;suppressHeaderZexitCodeI()Vthismain([Ljava/lang/String;)V SourceFile Main.java (com/sun/javacard/jcapiandbcprofiler/Main #$ :java/lang/Exception5Exception happened,Failed to generate appsgroups data #;com/sun/jctrimmer/messages listbytecodes8com/sun/javacard/jcapiandbcprofiler/ListByteCodesCommand <=listapi+com/sun/javacard/jcapiandbcprofiler/ListAPIlistall2com/sun/javacard/jcapiandbcprofiler/ListAllCommandcom/sun/javacard/cli/ToolrunTool(Ljava/lang/String;)VregisterSubCommand&(Ljava/lang/String;Ljava/lang/Class;)V! 0*  !=YN-*=NY 4  !! !"#$\"* *  *  * "$%&!' "% &'5*W -. ()PK Hs>Ackk5com/sun/javacard/jcapiandbcprofiler/OptionNames.class1E 3 45 6 7 8 9 : ; < = > ? @AIN1Lcom/sun/javacard/jcapiandbcprofiler/OptionNames; EXPORTPATH EXPORTFILEAPIOUTBCOUT CRYPTOOUT APIPKGLIST$VALUES2[Lcom/sun/javacard/jcapiandbcprofiler/OptionNames;values4()[Lcom/sun/javacard/jcapiandbcprofiler/OptionNames;CodeLineNumberTablevalueOfE(Ljava/lang/String;)Lcom/sun/javacard/jcapiandbcprofiler/OptionNames;LocalVariableTablenameLjava/lang/String;(Ljava/lang/String;I)Vthis Signature()VCLjava/lang/Enum; SourceFileOptionNames.java   BC/com/sun/javacard/jcapiandbcprofiler/OptionNames %D *+ *+       java/lang/Enumclone()Ljava/lang/Object;5(Ljava/lang/Class;Ljava/lang/String;)Ljava/lang/Enum;@1@@@@@@@  !"#" $ %&#5 *$'  ()*+#1*+$' ,-./.#Y Y  Y  YYYYY SY SY SYSYSYSYS$"  ' 4 AN\-012PK Hs>NeE@com/sun/javacard/jcapiandbcprofiler/TrimmerHelperCommand$1.class15   ! "# $%&'(this$0:Lcom/sun/javacard/jcapiandbcprofiler/TrimmerHelperCommand;=(Lcom/sun/javacard/jcapiandbcprofiler/TrimmerHelperCommand;)VCodeLineNumberTableLocalVariableTablethis InnerClassesпoo@com/sun/javacard/jcapiandbcprofiler/TrimmerHelperCommand$2.class19     ! " # $ % &'*:$SwitchMap$com$sun$javacard$jcapiandbcprofiler$OptionNames[I()VCodeLineNumberTableLocalVariableTableexLjava/lang/NoSuchFieldError; SourceFileTrimmerHelperCommand.javaEnclosingMethod+, -.  /0 12java/lang/NoSuchFieldError 30 40 50 60 70 80:com/sun/javacard/jcapiandbcprofiler/TrimmerHelperCommand$2 InnerClassesjava/lang/Object8com/sun/javacard/jcapiandbcprofiler/TrimmerHelperCommand/com/sun/javacard/jcapiandbcprofiler/OptionNamesvalues4()[Lcom/sun/javacard/jcapiandbcprofiler/OptionNames;IN1Lcom/sun/javacard/jcapiandbcprofiler/OptionNames;ordinal()I EXPORTPATH EXPORTFILEAPIOUTBCOUT CRYPTOOUT APIPKGLIST u OKOKOKOK OK OK OK #&'256ADEPST`cdps7H'6ETdt)  PK Hs>hk66>com/sun/javacard/jcapiandbcprofiler/TrimmerHelperCommand.class1 U T T T  T T} T V 3  " T % T " T T   " T 8 8 8 > T " " 3 E " I H H 3 3 3 H InnerClassesinFileLjava/io/File; exportFilesLjava/util/Vector; Signature"Ljava/util/Vector;apiPkgsListFile capProcessor:Lcom/sun/javacard/jcapiandbcprofiler/ClassicCAPProcesssor; apiOutputFileLjava/lang/String; bcOutputFilecryptOutputFileName apiPkgsList&Ljava/util/Vector;(Ljava/lang/String;)VCodeLineNumberTableLocalVariableTablethis:Lcom/sun/javacard/jcapiandbcprofiler/TrimmerHelperCommand; commandNamesetup()VprocessCommandLineoptionLorg/apache/commons/cli/Option;arr$ [Lorg/apache/commons/cli/Option;len$Ii$foldersLjava/util/Iterator;f inFileNameexportPathNamesexportFileNamesLocalVariableTypeTable ExceptionspopulateExportFiles#(Ljava/util/Vector;Ljava/io/File;)Vx[Ljava/io/File;files3(Ljava/util/Vector;Ljava/io/File;)VprocessAPIPkgsListFilereaderLjava/io/BufferedReader;lineeLjava/io/FileNotFoundException;Ljava/io/IOException; SourceFileTrimmerHelperCommand.java hi. bc dc ecjava/util/Vector hq f\"com/sun/javacard/cli/CommandOptioniin h p exportpath exportfileaapioutbbcoutc cryptooutg apipkglist v    java/io/File _Zjava/lang/ExceptionCAP file not provided YZ  Provided CAP file does not exist#API packages list file not provided/Proivided API packages list file does not exist'Invalid API packages list file provided q [\  java/lang/String#Provided export path does not exist 'Provided export path is not a directory java/lang/StringBuilderProvided export file  does not exist 8com/sun/javacard/jcapiandbcprofiler/ClassicCAPProcesssor h `a  .exp  :com/sun/javacard/jcapiandbcprofiler/TrimmerHelperCommand$1 h   java/io/BufferedReaderjava/io/FileReader h h     qjava/io/FileNotFoundExceptionjava/io/IOException8com/sun/javacard/jcapiandbcprofiler/TrimmerHelperCommandcom/sun/javacard/cli/SubCommand:com/sun/javacard/jcapiandbcprofiler/TrimmerHelperCommand$2'(Ljava/lang/String;Ljava/lang/String;)V addOption"(Lorg/apache/commons/cli/Option;)V optionsArray:$SwitchMap$com$sun$javacard$jcapiandbcprofiler$OptionNames[Iorg/apache/commons/cli/Option getLongOpt()Ljava/lang/String; toUpperCase/com/sun/javacard/jcapiandbcprofiler/OptionNamesvalueOfE(Ljava/lang/String;)Lcom/sun/javacard/jcapiandbcprofiler/OptionNames;ordinal()IgetValue addElement(Ljava/lang/Object;)Vexists()Ziterator()Ljava/util/Iterator;java/util/IteratorhasNextnext()Ljava/lang/Object; isDirectoryappend-(Ljava/lang/String;)Ljava/lang/StringBuilder;toString5(Ljava/io/File;Ljava/util/Vector;Ljava/util/Vector;)VisFilegetNameendsWith(Ljava/lang/String;)Z=(Lcom/sun/javacard/jcapiandbcprofiler/TrimmerHelperCommand;)V listFiles%(Ljava/io/FileFilter;)[Ljava/io/File;(Ljava/io/File;)V(Ljava/io/Reader;)VreadLinelength startsWithtrimclose!TUYZ[\]^_Z`abcdcecf\]ghijk#*+****Yk! ""l#mn#ocpqjj* Y  * Y * Y * Y * Y * Y * Y k"&')-+<,K-Z.i/l jmnrqj LYMYN*:662:.,5AMYeq LO, !C- !7* +* * *"Y #$\+ %Y&'*"Y+#(*() %Y*'*$ %Y+'*$) %Y,'*$) %Y-'*.*Y/,0:1K23:"Y#:) %Y4'5 %Y6'**/7-0:1O23:"Y#:)$%Y8Y9:;;<;='*/!*>Y*(*/*?@k023 46.7l9r:u<~=?@BCEFHIK6PQSTUXY\]`$a.d2f=hYidjlkvm~npqstuvxyz{l.stuvwx yxd.zZY9{cCRy|2}Z={cVy| mn~c \\ gg%jM,A,BCD+,!,EY*FGN-:662:*+7k& ~&?FLlR?Z)#u.wx1yxMmnM[\M}Z&' M[^]qjYHYIY*$JKL+LYM3,M,NO*8Y9,P;;=!+QLLPSRPWSk* ,LPSTWXl4=7cTXYmnXVTEPK Hs>A`1 1 1com/sun/javacard/jcapiandbcprofiler/UsedAPI.class1 FG F HI JK L MN F O P Q RS T U VW VXY Z[ U\ F] ^ _`aapisLjava/util/Hashtable; SignatureOLjava/util/Hashtable;>;()VCodeLineNumberTableLocalVariableTablethis-Lcom/sun/javacard/jcapiandbcprofiler/UsedAPI;add'(Ljava/lang/String;Ljava/lang/String;)VsiIpiclsLjava/lang/String;methodvLjava/util/Vector;LocalVariableTypeTable&Ljava/util/Vector;print(Ljava/io/PrintWriter;)Vmi$Ljava/util/Iterator;strpwLjava/io/PrintWriter;keysLjava/util/Set; sortedKeysLjava/util/TreeSet;#Ljava/util/Set;'Ljava/util/TreeSet; SourceFile UsedAPI.java #$java/util/Hashtable   bc( de fgjava/util/Vector hi jk lm nojava/util/TreeSet #p qrs tu vwjava/lang/Stringx yzjava/lang/StringBuilder {| }~+com/sun/javacard/jcapiandbcprofiler/UsedAPIjava/lang/ObjectindexOf(Ljava/lang/String;)I substring(I)Ljava/lang/String;get&(Ljava/lang/Object;)Ljava/lang/Object;put8(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;contains(Ljava/lang/Object;)Z addElement(Ljava/lang/Object;)VkeySet()Ljava/util/Set;(Ljava/util/Collection;)Viterator()Ljava/util/Iterator;java/util/IteratorhasNext()Znext()Ljava/lang/Object;java/io/PrintWriterprintln(Ljava/lang/String;)Vappend-(Ljava/lang/String;)Ljava/lang/StringBuilder;toString()Ljava/lang/String;! !"#$%>**Y& ' ()*+%[,&,>,6 ,`M*+ N- Y N*+- W,-, -,&: '3 7!?#I%M&U'Z*'> ,-.-[()[/0[103(234 3(2567%y*MY,N-:Z:+* :*:+Yҧ&-.0-132Z3x6'RZ80D19:-H;0a9:y()y<=q>?h@A4q>Bh@CDEPK Hs>46com/sun/javacard/jcasm/ASCII_UCodeESC_CharStream.class1  5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 # " 5 5 + 5 5 / 1 1 1 staticFlagZ ConstantValuebufposIbufsize available tokenBeginbufline[I bufcolumncolumnline inputStreamLjava/io/Reader; prevCharIsCR prevCharIsLF nextCharBuf[CbuffermaxNextCharInd nextCharIndinBufhexval(C)ICodeLineNumberTableLocalVariableTablecC Exceptions ExpandBuff(Z)VtLjava/lang/Throwable; wrapAround newbuffer newbufline newbufcolumnFillBuff()VeLjava/io/IOException;iReadByte()C BeginTokenAdjustBuffSizeUpdateLineColumn(C)VreadCharargs[Ljava/lang/Object; backSlashCnt getColumn()I DeprecatedRuntimeVisibleAnnotationsLjava/lang/Deprecated;getLine getEndColumn getEndLinegetBeginColumn getBeginLinebackup(I)Vamount(Ljava/io/Reader;III)Vthis2Lcom/sun/javacard/jcasm/ASCII_UCodeESC_CharStream;dstream startline startcolumn buffersize(Ljava/io/Reader;II)VReInit(Ljava/io/InputStream;III)VLjava/io/InputStream;(Ljava/io/InputStream;II)VGetImage()Ljava/lang/String; GetSuffix(I)[ClenretDoneadjustBeginLineColumn(II)VnewLinenewColstartjk nextColDiff columnDiff SourceFileASCII_UCodeESC_CharStream.javajava/io/IOException z_ <; JI >; :; ?@ A@java/lang/Throwablejava/lang/Error z =; K; L; DE HI _ wx C; B; ^_ M; id VW G7 F7 f_ cd gh NOjava/lang/Objectjava/lang/Integer zx parser.60  ERROR: Second call to the constructor of a static ASCII_UCodeESC_CharStream. You must either use ReInit() or set the JavaCC option STATIC to false during the generation of this class. z{ {java/io/InputStreamReader z z java/lang/String zjava/lang/StringBuilder 0com/sun/javacard/jcasm/ASCII_UCodeESC_CharStreamjava/lang/System arraycopy*(Ljava/lang/Object;ILjava/lang/Object;II)V getMessage(Ljava/lang/String;)Vjava/io/Readerread([CII)Iclosecom/sun/javacard/jcasm/Msg9(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;(Ljava/io/InputStream;)V([CII)Vappend-(Ljava/lang/String;)Ljava/lang/StringBuilder;toString15"6789 :;<;=;>; ?@ A@ B; C; DE F7 G7 HI JI K; L; M;NOP0f         YQJ!#%), / 258;R STUVWP`L` M` N+d+d+,d,d, -d -d- d`O+d+,d, -d- d: Y `Y QnT UVY"Z4[F\J^\_n`rbcdfhiklnoqust wxyR4 XYZ7 [I\@]@^_Pm YdY;Y`LdO O+@AQ:} ~*08@ABHPWakRB+`a&Gb;UcdP:`Y4QUedPk?0dd Y `YY4Q37;Uf_PS 6/ d  Q. &/8ELRghP`Y`&  Y`L 1*LL#%d~d`O OQR!'+18Dhlosv~R STidPus,dd Y `Y4`Y~Y;[U\ <`Y~Y;[U\2 u!~dY d$\M\ ~Y;u`! x~!x~!x~!Y;U`1M"Y#Y$SY#Y$SN Y%-& d\ p,/Q'/>AX\^mp  $,/0O]bd!j"m%q&R4 `aOjk0-`a^l;Q"STUmnP  .Q1opqrnP .Q;opqsnP  .Q?tnP .QCunP  .QGvnP .QKwxPU`dY `QPQRTR y;z{PI*' Y( +dY  Q2 VW X]^_"a+b2c9d@eHfR4I|}I~EI;I;I;zPW *+)Q i jR* |} ~E ; ;{P`+d )Y  YYYYQ6 mnoqr&s-t4u;vCxKyWz_{R4`|}`~E`;`;`;PW *+*Q ~ R* |} ~E ; ;zPh*+Y+,)Q R4|}~;;;zPW *+-Q  R* |} ~ ; ;Ph*+Y+,*Q R4|}~;;;PW *+.Q  R* |} ~ ; ;PuU/Yd`01Y2/Yd03/Y`034Q  PPL`d`+1ddd+dd+dd`+Q  :NRP;LI _P9 Q  P =d``>d```>66666NpY6.pY6.0O .` .d6 `O6RO `O5pY6.p.OҲOȲ. .QZ 09?cj|Rf ;;;;0;3b;6;9;<;?;_PU!Q">EF JKOPQPK Hs>%t com/sun/javacard/jcasm/Aid.class1L 4 567 89 : ;<=U >? @ABaid[B$assertionsDisabledZ([B)VCodeLineNumberTableLocalVariableTablethisLcom/sun/javacard/jcasm/Aid;getSize()I toByteArray()[Bequals(Ljava/lang/Object;)ZiIobjLjava/lang/Object;bid ridEquals(Lcom/sun/javacard/jcasm/Aid;)ZhashCodeelementBarr$len$i$hashtoString()Ljava/lang/String;()V SourceFileAid.java 1 java/lang/AssertionError aid != null C aid.length  DEcom/sun/javacard/jcasm/AidF GHI JKjava/lang/Object(Ljava/lang/Object;)Vclone()Ljava/lang/Object;com/sun/javacard/jcasm/Msg toHexString([B)Ljava/lang/String;java/lang/ClassdesiredAssertionStatus()Z! ;*+ Y+ + Y*+  5:;;0* 5 *   D+ + *+ M>**3,3*  "#% &+':(<&B+*" !DD"# $$%&n =+3*323427  !  "'' <*M,>6,36`<?@A@%C>()* +!,!'$-!./2* H 01* 23PK Hs>p0 -com/sun/javacard/jcasm/AppletDeclarator.class1m F G H I J K LMN OP FQ R ST U SV W X YZ V[ \]^aidLcom/sun/javacard/jcasm/Aid;nameLjava/lang/String; installMethodinstallMethodAddrS resolvedTo!Lcom/sun/javacard/jcasm/JCMethod;$assertionsDisabledZC(Lcom/sun/javacard/jcasm/Aid;Ljava/lang/String;Ljava/lang/String;)VCodeLineNumberTableLocalVariableTablethis)Lcom/sun/javacard/jcasm/AppletDeclarator;getAid()Lcom/sun/javacard/jcasm/Aid;getName()Ljava/lang/String;getInstallMethodNamesetInstallMethodAddr(S)VaddrgetInstallMethodAddr()Sresolve$(Lcom/sun/javacard/jcasm/JCMethod;)Vmethod#()Lcom/sun/javacard/jcasm/JCMethod; toByteArray()[BeLjava/io/IOException;bosLjava/io/ByteArrayOutputStream;dosLjava/io/DataOutputStream;()V SourceFileAppletDeclarator.java %C     !" #$java/lang/AssertionErrorresolvedTo != null %_java/io/ByteArrayOutputStreamjava/io/DataOutputStream %`a bc de :; fg he iCjava/io/IOException'com/sun/javacard/jcasm/AppletDeclaratorj kljava/lang/Object(Ljava/lang/Object;)V(Ljava/io/OutputStream;)Vcom/sun/javacard/jcasm/AidgetSize()I writeByte(I)Vwrite([B)V writeShortflushjava/lang/ClassdesiredAssertionStatus()Z! !"#$ %&'l**+*,*-( )**+,-'/*() *+./'/*() *+0/'/*(#) *+12'>*( '()*+3 45'/*(+) *+67'>*+( /0)*+8"69'J* Y *( 34) *+:;'> Y L Y+M,*,*,*,N+36(* 89<='>/?3B6@7A9C)*7<=>*+6>?-@ABC'*( DEPK Hs>wҶ,com/sun/javacard/jcasm/ClassIdentifier.class1> * + ,- ./ .01 * 23 4 5 67packageIdentifier*Lcom/sun/javacard/jcasm/PackageIdentifier; classTokenI.(Lcom/sun/javacard/jcasm/PackageIdentifier;I)VCodeLineNumberTableLocalVariableTablethis(Lcom/sun/javacard/jcasm/ClassIdentifier;pidgetPackageIdentifier,()Lcom/sun/javacard/jcasm/PackageIdentifier; getClassToken()Iequals(Ljava/lang/Object;)ZobjLjava/lang/Object;cidhashCodehashtoString()Ljava/lang/String; SourceFileClassIdentifier.java 8  &com/sun/javacard/jcasm/ClassIdentifier9  $java/lang/StringBuilder :; :< := &'java/lang/Object()V(com/sun/javacard/jcasm/PackageIdentifierappend-(Ljava/lang/Object;)Ljava/lang/StringBuilder;-(Ljava/lang/String;)Ljava/lang/StringBuilder;(I)Ljava/lang/StringBuilder;!Y**+*  /* /*  }+++M*,,* ! #$'%)' ++!"#$M*<*`</01 %&'HY*  * < ()PK Hs>dҧ)com/sun/javacard/jcasm/ClassRefInfo.class1= # $ % & ' () * +, -./?(Lcom/sun/javacard/jcasm/PackageIdentifier;Ljava/lang/String;)VCodeLineNumberTableLocalVariableTablethis%Lcom/sun/javacard/jcasm/ClassRefInfo; packageId*Lcom/sun/javacard/jcasm/PackageIdentifier;nameLjava/lang/String;.(Lcom/sun/javacard/jcasm/PackageIdentifier;I)V classTokenI toByteArray&(Lcom/sun/javacard/jcasm/JCPackage;)[Baddrp"Lcom/sun/javacard/jcasm/JCPackage;array[B SourceFileClassRefInfo.java 0 1  23 456 78 9: ;< #com/sun/javacard/jcasm/ClassRefInfocom/sun/javacard/jcasm/InfoR(ILcom/sun/javacard/jcasm/PackageIdentifier;Ljava/lang/String;Ljava/lang/String;)VA(ILcom/sun/javacard/jcasm/PackageIdentifier;ILjava/lang/String;)VisPackageInternal()Z resolvedToLcom/sun/javacard/jcasm/Member;com/sun/javacard/jcasm/Member getRelocAddr()IpackageIdentifier com/sun/javacard/jcasm/JCPackagegetPackageToken-(Lcom/sun/javacard/jcasm/PackageIdentifier;)I!  K *+,      K *+     M*+M*#*>,z~T,~T!,+*T,\3T,* T,* !" #$!%*&-'9(C)K+*MMG !"PK Hs>{u )com/sun/javacard/jcasm/ConstantPool.class1 R &ST R &U &VWX Y Z [ &\] ^_` abc de fg Rh Ri j ak l m n op oq rst lu vwcpVectorLjava/util/Vector; Signature1Ljava/util/Vector;jPackage"Lcom/sun/javacard/jcasm/JCPackage; printedErrorZ$assertionsDisabled%(Lcom/sun/javacard/jcasm/JCPackage;)VCodeLineNumberTableLocalVariableTablethis%Lcom/sun/javacard/jcasm/ConstantPool;paddConstantPoolEntry (Lcom/sun/javacard/jcasm/Info;)Vargs[Ljava/lang/Object;infoLcom/sun/javacard/jcasm/Info;getConstantPoolEntry (I)Lcom/sun/javacard/jcasm/Info;indexIelements()Ljava/util/Enumeration;8()Ljava/util/Enumeration;getCount()ItoString()Ljava/lang/String;i$Ljava/util/Iterator;sbLjava/lang/StringBuffer;()V SourceFileConstantPool.java 1O ,-java/util/Vector () 0/java/lang/AssertionError info != null 1x yx zG ./java/lang/Object{ |I package.2} ~ index >= 0 com/sun/javacard/jcasm/Info CDjava/lang/StringBufferjava/lang/StringBuilder.constantPool { HI  ;}#com/sun/javacard/jcasm/ConstantPool (Ljava/lang/Object;)V addElementsize com/sun/javacard/jcasm/JCPackagegetNamecom/sun/javacard/jcasm/Msgerror((Ljava/lang/String;[Ljava/lang/Object;)V elementAt(I)Ljava/lang/Object;append-(Ljava/lang/String;)Ljava/lang/StringBuilder;eolLjava/lang/String;,(Ljava/lang/String;)Ljava/lang/StringBuffer;iterator()Ljava/util/Iterator;java/util/IteratorhasNext()Znext()Ljava/lang/Object;-(Ljava/lang/Object;)Ljava/lang/StringBuilder;java/lang/ClassdesiredAssertionStatus!&()*+,-./0/123U**+*Y4 5678-9:3J+ Y *+ *  $* Y*SM,* 4 /!>"D#I%5 > ;<J67J=>?@3m- Y * *4+,-!/5-67-ABCD32*465 67*EFG32* 4=5 67HI3jYL+YW*M, .,!N+Y-"#W+$W+%4BC"D=E^GeH5*==>*4JKj67bLMNO3*&'4PQPK Hs>>66$com/sun/javacard/jcasm/EfNames.class1 P ' O ' ' ' O '  U ' O L O ' '  O    OZ L LreservedIdentifiersLjava/util/HashSet; Signature'Ljava/util/HashSet;()VCodeLineNumberTableLocalVariableTablethis Lcom/sun/javacard/jcasm/EfNames;validClassName(Ljava/lang/String;)ZslashIsLjava/lang/String;validSrcFileNamedotvalidPackageNameisFieldReferenceTypevalidFieldNamevalidMethodNamevalidIdentifierivalidFieldDescriptorvalidMethodDescriptorlencheckDescriptor(Ljava/lang/String;I)I semicolonpos prettyClass&(Ljava/lang/String;)Ljava/lang/String;name prettyField8(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;descrsbLjava/lang/StringBuffer; prettyMethodprettyDescriptor.(Ljava/lang/String;ILjava/lang/StringBuffer;)Ielementarr$[Ljava/lang/String;len$i$reserved SourceFile EfNames.java UV h] \] java/lang/RuntimeExceptionjava/lang/StringBuilderInvalid Descriptor U  QR mn java/lang/StringBuffer z{ ,byteintshortbooleanvoid qr[]java/lang/Stringabstractbreakcasecatchclasscontinuedefaultdoelseextendsfinalfinallyforgotoif implementsimport instanceof interfacenewpackageprivate protectedpublicreturnstaticsuperswitchthrowthrowstrywhiletruefalsenulljava/util/HashSet com/sun/javacard/jcasm/EfNamesjava/lang/ObjectindexOf(I)I substring(II)Ljava/lang/String;(I)Ljava/lang/String;length()IcharAt(I)Cappend-(Ljava/lang/String;)Ljava/lang/StringBuilder;toString()Ljava/lang/String;(Ljava/lang/String;)Vequals(Ljava/lang/Object;)Zjava/lang/CharacterisJavaIdentifierStart(C)ZisJavaIdentifierPartcontains(II)Ireplace(CC)Ljava/lang/String;(C)Ljava/lang/StringBuffer;,(Ljava/lang/String;)Ljava/lang/StringBuffer;add!OP QRSTUVW/*XY Z[ \]Wu)*/<***`KX &Y^_)`a b]Wu)*.<***`KX#$ %'(*&,Yc_)`a d]W>* *X1Y `a e]W_*?B;I;L=S;Z;[= Y Y  * X>@CBFDJY _`a f]W/*XOY `a g]W@* *XTY `a h]WC**<***X& YZ \]_ `+a-_3dYi_C`a j]W<**XzY `a k]W^*<*(=*)*=d*V*XF  *-379<MOY ^`aYl_Ei_ mnWx**gB9I9L=S9Z9[_`*;`=*``*`X*  HLVhlnvY V"o_x`axp_qrW3 */.XY  satuWo!YM+,W, W,*W,XY !sa!vawx yuW`YM++)`,W, W,*W,(W>+)!+,>+) ,W,)W,X6 #*,6=GJT[Y*`sa`vaXwx,4p_ z{W=*BCINLzSYVoZd[, W`,!W`,"W`,#W`,$W`*;`>,*`%W`*`,<,&WXJHOSZ^eipt{Y*(o_vap_wx|VW!)'Y(SY#SY)SY SY*SY+SY,SY-SY.SY /SY 0SY 1SY 2SY 3SY4SY5SY6SY7SY8SY9SY!SY:SY;SYSY?SY@SY"SYASYBSYCSY DSY!ESY"FSY#GSY$$SY%HSY&ISY'JSY(KSKLYM*L+=>+2:NWXnrsts vY4 }a~__*PK Hs>`=+com/sun/javacard/jcasm/ExceptionTable.class1 *j (kl j (m n o p p (q (r (stu v w xy xz{ | } ~   (p   j j       entryVectorLjava/util/Vector; Signature@Ljava/util/Vector; relocAddrI relocatedZ parentMethod!Lcom/sun/javacard/jcasm/JCMethod;$assertionsDisabled$(Lcom/sun/javacard/jcasm/JCMethod;)VCodeLineNumberTableLocalVariableTablethis'Lcom/sun/javacard/jcasm/ExceptionTable;parentaddExceptionEntry/(Lcom/sun/javacard/jcasm/ExceptionTableEntry;)Ventry,Lcom/sun/javacard/jcasm/ExceptionTableEntry;elements()Ljava/util/Enumeration;G()Ljava/util/Enumeration;size()Icountrelocate(I)Vaddress isRelocated()Z getRelocAddrfixup(Ljava/util/Hashtable;)Vexei$Ljava/util/Iterator;following_entryjbase_is_outside base_entryi symbolTableLjava/util/Hashtable;LocalVariableTypeTable;?(Ljava/util/Hashtable;)V toByteArray()[B[BarrayoffsettoString()Ljava/lang/String;sbLjava/lang/StringBuffer;()V SourceFileExceptionTable.java 6g 34java/util/Vector +, BC EF /0 12 52java/lang/AssertionError !relocated 6  L *com/sun/javacard/jcasm/ExceptionTableEntry NO F F 2 ]^ java/lang/StringBufferjava/lang/StringBuilder.exceptionTable {  bc }%com/sun/javacard/jcasm/ExceptionTable Ljava/lang/Object addElement(Ljava/lang/Object;)Viterator()Ljava/util/Iterator;java/util/IteratorhasNextnext()Ljava/lang/Object;get(I)Ljava/lang/Object;getStartOffsetgetActiveLength isOuterMostjava/lang/System arraycopy*(Ljava/lang/Object;ILjava/lang/Object;II)Vappend-(Ljava/lang/String;)Ljava/lang/StringBuilder;com/sun/javacard/jcasm/MsgeolLjava/lang/String;,(Ljava/lang/String;)Ljava/lang/StringBuffer;java/lang/ClassdesiredAssertionStatus!(*+,-./0123452 678U**+*Y9 :;<=4>?8A *+9 : ;< @ABC82*9$: ;<-DEF86 * h9+:  ;<GF82*92: ;<HI8G * * 9:; <: ;< J0KL8/* 9B: ;<MF8J * Y* 9 IJ: ;<NO8h**M,,N-+=*k>*:`6*?*:``>9>R S U&V.Z;]=_Jb[cidjbrZu:\ &PAQRi(SAOHT0=`U2JSVA0sW0;<XYZ X[-\]^8B*L=*N-)-::+`=+9"{| }%~,7=@:>,@_%PA/QRB;<;`_ 9a0bc8hYL+Y !"!#$W*M,,,N+Y-%!"!#$W+&$W+'9"=\c:*=PA*2QRh;<`defg8*() 9 hiPK Hs>=\k330com/sun/javacard/jcasm/ExceptionTableEntry.class1 }~  7 7 7 7 7 7 7 7 7 7   7 7  7   " 7   *} -} - - *  * parent!Lcom/sun/javacard/jcasm/JCMethod; startBlockLjava/lang/String; startOffsetIendBlock endOffset catchBlock catchOffsetindex Lcom/sun/javacard/jcasm/Operand; catchType>Lcom/sun/javacard/jcbytecodeprofiler/cryptoanalyzer/TypeClass; isOuterMostZ$assertionsDisabled(Lcom/sun/javacard/jcasm/JCMethod;Ljava/lang/String;Lcom/sun/javacard/jcasm/Operand;Ljava/lang/String;Lcom/sun/javacard/jcasm/Operand;Ljava/lang/String;Lcom/sun/javacard/jcasm/Operand;Lcom/sun/javacard/jcasm/Operand;)VCodeLineNumberTableLocalVariableTablethis,Lcom/sun/javacard/jcasm/ExceptionTableEntry;getStartOffset()IgetActiveLengthgetHandlerOffset getCatchIndexjclass Lcom/sun/javacard/jcasm/JCClass;infoLcom/sun/javacard/jcasm/Info; catchIndex()Zfixup(Ljava/util/Hashtable;)V arguments[Ljava/lang/Object; symbolTableLjava/util/Hashtable;LocalVariableTypeTable; Signature?(Ljava/util/Hashtable;)Vlookup*(Ljava/util/Hashtable;Ljava/lang/String;)IsymboldatumLjava/lang/Integer;Q(Ljava/util/Hashtable;Ljava/lang/String;)Isize toByteArray()[Barray[BlengthcpIndexbaseisInstructionInTryCatchBlocktoString()Ljava/lang/String;sbLjava/lang/StringBuffer;()V SourceFileExceptionTableEntry.java Jz ?< @> A< B> CD sR > R  [ com/sun/javacard/jcasm/JCClass GH IHjava/lang/AssertionErrorsymbolTable != null J fgjava/lang/Object vexceptiontable.1  java/lang/Integerexceptiontable.0 R lR R n [java/lang/StringBufferjava/lang/StringBuilder  uv ;*com/sun/javacard/jcasm/ExceptionTableEntry [(I)Vjava/lang/String toLowerCasecom/sun/javacard/jcasm/OperandgetValuecom/sun/javacard/jcasm/GlobalsmodegetTyperesolve()Lcom/sun/javacard/jcasm/Info;com/sun/javacard/jcasm/Info isResolved!()Lcom/sun/javacard/jcasm/Member;(Ljava/lang/Object;)Vcom/sun/javacard/jcasm/JCMethodgetNamecom/sun/javacard/jcasm/Msgerror((Ljava/lang/String;[Ljava/lang/Object;)Vjava/util/Hashtableget&(Ljava/lang/Object;)Ljava/lang/Object;intValue getRelocAddrgetMethodHeader isRelocated toHexString(S)Ljava/lang/String;append-(Ljava/lang/String;)Ljava/lang/StringBuilder;,(Ljava/lang/String;)Ljava/lang/StringBuffer;java/lang/ClassdesiredAssertionStatus!7 9:;<=>?<@>A<B>CDEFGHIHJKL  ^**Y*+*,- *- *  * *  * *M: !!")$2%7&@(I)N*W,]-N\ ^OP^9:^;<^=D^?<^@D^A<^BD^CDQRL4 * *`M3N  OPSRL4 * * dM=N  OPTRL4 * *`MFN  OPURLS<<<*7*<%*M,,N *<M6 PQ RTV]$^/`7a>bFhIiQmN*FVW7XYSOPQZ>G[L/*MxN OP\]Lq+ Y***+* * **+*  * **+*  * * Y*SM, M. (/<CP[jpN j^_qOPq`ab q`cdefgL/+,!"N- Y,SY*S:# -$M !(*N4! ^_/OP/`a/h< &ijb /`cdk lRLMmnL%L* * d=+* *`zT+* *`~T+z* T+~T+* *`zT+* *`~T*>+z~T+~T_*S*:+:+&zT+&~T+z~T+~T+MZ 1HQarzN>VWGXYOPopq>zr>sRL_*'<*( *)`<M NOP s>t[L,MN OPuvL*Y+L* * d=*,=+-Y.* *`/01023W+-Y./01023W+-Y.* *`/01023W*S*N-1-:4+&/3W +/3W+*/3W +/3W+53W+6MN"FbN4"VWEXYOPwxq>yzL*78M {|PK Hs>hh"com/sun/javacard/jcasm/Field.class1 -d +efg h +i +j +k +l +m +n op oq or st suv wx7y@z { o| }~ {   +   + w w + s  fieldIdentifier(Lcom/sun/javacard/jcasm/FieldIdentifier; parentClass Lcom/sun/javacard/jcasm/JCClass; descriptor(Lcom/sun/javacard/jcasm/FieldDescriptor; initializer/Lcom/sun/javacard/jcasm/StaticFieldInitializer;$assertionsDisabledZ(Lcom/sun/javacard/jcasm/JCClass;ILcom/sun/javacard/jcasm/FieldDescriptor;Ljava/lang/String;Lcom/sun/javacard/jcasm/StaticFieldInitializer;I)VCodeLineNumberTableLocalVariableTablethisLcom/sun/javacard/jcasm/Field; attributesInameLjava/lang/String;initline(Lcom/sun/javacard/jcasm/JCClass;ILcom/sun/javacard/jcasm/FieldDescriptor;Ljava/lang/String;Lcom/sun/javacard/jcasm/FieldIdentifier;Lcom/sun/javacard/jcasm/StaticFieldInitializer;I)VgetFieldIdentifier*()Lcom/sun/javacard/jcasm/FieldIdentifier;getParentClass"()Lcom/sun/javacard/jcasm/JCClass; getDescriptor*()Lcom/sun/javacard/jcasm/FieldDescriptor;getFieldInitializer1()Lcom/sun/javacard/jcasm/StaticFieldInitializer;isExportCompCandidate()Zsize()I descStringtoString()Ljava/lang/String;sbLjava/lang/StringBuffer;getFormattedField&(Ljava/lang/String;)Ljava/lang/String;ds classIndex fieldNameaattributeStringdesc()V SourceFile Field.java 8 67java/lang/AssertionErrordescriptor != null 8 01 23 45 89 ./ ?@  O TB Sjava/lang/StringBuffer 8a S java/lang/StringBuilder AB ST <> T Q Q com/sun/javacard/jcasm/Field Ocom/sun/javacard/jcasm/Member(ILjava/lang/String;II)V(Ljava/lang/Object;)Vjava/lang/reflect/ModifierisStatic(I)ZisPublic isProtected&com/sun/javacard/jcasm/FieldDescriptor isPrimitivegetDescriptorStringjava/lang/Stringequals(Ljava/lang/Object;)Z(I)Ljava/lang/String;append,(Ljava/lang/String;)Ljava/lang/StringBuffer;-(Ljava/lang/String;)Ljava/lang/StringBuilder;-(Ljava/lang/Object;)Ljava/lang/StringBuilder;getNamecom/sun/javacard/jcasm/JCClasslength substring getAttributescom/sun/javacard/jcasm/EfNames prettyField8(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;java/lang/ClassdesiredAssertionStatus!+-./01234567 89:/*- Y*+*-*;" #$#%(&.'<H/=>/01/?@/23/AB/C5/D@8E:*+- * ;5 67<R=>01?@23AB./C5D@FG:/* ;=< =>HI:/*;D< =>JK:/*;K< =>LM:/*;R< =>NO:T"* * * ;VW Y< "=>PQ:]<*<M*M, ,<.,< ,< Y,;2 bc dfg+h0i9j>kGlLn[q< BRB]=>[P@ST:gYL+* W+Y** W* #+Y!* " W+#;wxy;zB{b}<g=>_UVWX:]*$M*%&`>,'M,:*(6:*):*+:Y* ;* !(1;><R]=>]YBXZBK[@B\B!<]@(5^B1,_B`a:*+,; bcPK Hs>/,com/sun/javacard/jcasm/FieldDescriptor.class1F 1 2 3 4 56 78 98 7: 9:; 1< = 9>? >@ descriptorLjava/lang/String;classIdentifier(Lcom/sun/javacard/jcasm/ClassIdentifier;isArrayZ isPrimitive(Ljava/lang/String;ZZ)VCodeLineNumberTableLocalVariableTablethis(Lcom/sun/javacard/jcasm/FieldDescriptor;,(Lcom/sun/javacard/jcasm/ClassIdentifier;Z)V()ZgetClassIdentifier*()Lcom/sun/javacard/jcasm/ClassIdentifier;getDescriptorString()Ljava/lang/String;equals(Ljava/lang/Object;)ZobjLjava/lang/Object;fdhashCode()ItoString SourceFileFieldDescriptor.java A    &com/sun/javacard/jcasm/FieldDescriptorB '(C ,-java/lang/StringBuilder< DE .&>java/lang/Object()Vjava/lang/String&com/sun/javacard/jcasm/ClassIdentifierappend-(Ljava/lang/String;)Ljava/lang/StringBuilder;! l**+** * !b**+**"# $%&  "/*,  "/*3  #$/*:  %&/*A  '(7++M**,*,"IJ LM#N%O3P5R 7 7)*)+ ,-I* * * Z[]  .&]+** Y  *gh j + /0PK Hs>! O,com/sun/javacard/jcasm/FieldIdentifier.class1@ + , - ./ 01 023 + 45 6 7 89classIdentifier(Lcom/sun/javacard/jcasm/ClassIdentifier; fieldTokenIisStaticZ-(Lcom/sun/javacard/jcasm/ClassIdentifier;IZ)VCodeLineNumberTableLocalVariableTablethis(Lcom/sun/javacard/jcasm/FieldIdentifier;getClassIdentifier*()Lcom/sun/javacard/jcasm/ClassIdentifier; getFieldToken()Iequals(Ljava/lang/Object;)ZobjLjava/lang/Object;fidhashCodetoString()Ljava/lang/String; SourceFileFieldIdentifier.java :   &com/sun/javacard/jcasm/FieldIdentifier; !" & java/lang/StringBuilder <= <> <? '(java/lang/Object()V&com/sun/javacard/jcasm/ClassIdentifierappend-(Ljava/lang/Object;)Ljava/lang/StringBuilder;-(Ljava/lang/String;)Ljava/lang/StringBuilder;(I)Ljava/lang/StringBuilder;!l**+** */*  /* !"6++M*,,*,*#$ &'2(4* 66#$(%& 7 **`2  '(HY *  * = )*PK Hs>(ݟ$com/sun/javacard/jcasm/Globals.class1( %&' MAJOR_VERSIONI ConstantValue MINOR_VERSION7debugZ debugLevelverboseerrorswarningsoutputDebugData[Bmodetarget MODE_CAPGEN MODE_MASKGENCREFJREF()VCodeLineNumberTableLocalVariableTablethis Lcom/sun/javacard/jcasm/Globals; SourceFile Globals.java com/sun/javacard/jcasm/Globalsjava/lang/Object!      /* !"#$PK Hs> !com/sun/javacard/jcasm/Info.class1 !c d e f g h ij c kl mn op l qrs t uv w xy c z{ |} ~  l  CLASS_REFI ConstantValueINSTANCE_FIELD_REFVIRTUAL_METHOD_REFSUPER_METHOD_REFSTATIC_FIELD_REFSTATIC_METHOD_REF INFO_SIZEtagisPackageInternalZnameLjava/lang/String;packageIdentifier*Lcom/sun/javacard/jcasm/PackageIdentifier; classToken resolvedToLcom/sun/javacard/jcasm/Member; lineNumber descriptor$assertionsDisabledR(ILcom/sun/javacard/jcasm/PackageIdentifier;Ljava/lang/String;Ljava/lang/String;)VCodeLineNumberTableLocalVariableTablethisLcom/sun/javacard/jcasm/Info;A(ILcom/sun/javacard/jcasm/PackageIdentifier;ILjava/lang/String;)V getDescriptor()Ljava/lang/String;resolve"(Lcom/sun/javacard/jcasm/Member;)Vmember!()Lcom/sun/javacard/jcasm/Member; isResolved()Zsize()IgetTypegetName getLineNumbergetPackageIdentifier,()Lcom/sun/javacard/jcasm/PackageIdentifier; getClassToken toByteArray&(Lcom/sun/javacard/jcasm/JCPackage;)[Bp"Lcom/sun/javacard/jcasm/JCPackage;array[BtoStringsbLjava/lang/StringBuffer;()V SourceFile Info.java >` 1# 67 45 <5 23 8#java/lang/StringBuilder \G   \ =3java/lang/AssertionErrormember != null > 9:resolvedTo != null ;# NOjava/lang/StringBuffer QG ?? com/sun/javacard/jcasm/Info Mjava/lang/Object(com/sun/javacard/jcasm/PackageIdentifierappend-(Ljava/lang/String;)Ljava/lang/StringBuilder;java/lang/Integer(I)Ljava/lang/String;(Ljava/lang/Object;)Vcom/sun/javacard/jcasm/Member,(Ljava/lang/String;)Ljava/lang/StringBuffer;-(Ljava/lang/Object;)Ljava/lang/StringBuilder;(I)Ljava/lang/StringBuilder;java/lang/ClassdesiredAssertionStatus!!"#$%&#$'(#$)*#$+,#$-.#$/0#$+1#2345678#9:;#<5=3>?@***,*-**A89 :;<=>B4CD1#6745<5>E@;***,***Y ,   A@A BCDE:FB4;CD;1#;67;8#;<5FG@/*AIB CDHI@V+ Y*+AUVWBCDJ:HK@J* Y*A `aB CDLM@7 *AhB  CDNO@,AqB CDPO@/*AzB CDQG@/*A~B CDRO@/*AB CDST@/*AB CDUO@/*AB CD2M@/*AB CDVW@W*M,*T,AB CDXY Z[\G@iYL*+*WI* *+*W/+W%+Y * *W+A& %,8BdBiCDa]^_`@* A abPK Hs>˦ 1com/sun/javacard/jcasm/InstanceFieldRefInfo.class1r = > ? @ A BC D EF G HI J KL MN O P QR OS T UV P PWXinstanceFieldTokenIQ(Lcom/sun/javacard/jcasm/PackageIdentifier;Ljava/lang/String;Ljava/lang/String;)VCodeLineNumberTableLocalVariableTablethis-Lcom/sun/javacard/jcasm/InstanceFieldRefInfo; packageId*Lcom/sun/javacard/jcasm/PackageIdentifier;nameLjava/lang/String; descriptorA(Lcom/sun/javacard/jcasm/PackageIdentifier;IILjava/lang/String;)V classTokengetInstanceFieldToken()I toByteArray&(Lcom/sun/javacard/jcasm/JCPackage;)[BfieldLcom/sun/javacard/jcasm/Field;addrp"Lcom/sun/javacard/jcasm/JCPackage;array[BtoString()Ljava/lang/String;sbLjava/lang/StringBuffer; SourceFileInstanceFieldRefInfo.java Y Z  ./ [\ ]^com/sun/javacard/jcasm/Field _`a b- cde f- g&h ij +java/lang/StringBuffer k 78 lmjava/lang/StringBuilder. lno pq+com/sun/javacard/jcasm/InstanceFieldRefInfocom/sun/javacard/jcasm/InfoR(ILcom/sun/javacard/jcasm/PackageIdentifier;Ljava/lang/String;Ljava/lang/String;)VA(ILcom/sun/javacard/jcasm/PackageIdentifier;ILjava/lang/String;)VisPackageInternal()Z resolvedToLcom/sun/javacard/jcasm/Member;getParentClass"()Lcom/sun/javacard/jcasm/JCClass;com/sun/javacard/jcasm/JCClass getRelocAddrgetFieldIdentifier*()Lcom/sun/javacard/jcasm/FieldIdentifier;&com/sun/javacard/jcasm/FieldIdentifier getFieldTokenpackageIdentifier com/sun/javacard/jcasm/JCPackagegetPackageToken-(Lcom/sun/javacard/jcasm/PackageIdentifier;)I()Vappend,(Ljava/lang/String;)Ljava/lang/StringBuffer;-(Ljava/lang/String;)Ljava/lang/StringBuilder;java/lang/Integer toHexString(I)Ljava/lang/String;! U *+,-! "* #$ %& '( )(* i*+*! "4#$%&+)(,- /*! " #$./ k*+M*9*N- 6,z~T,~T,- T),+* T,\3T,*T,*T,!6 )* +,-+.5/@0C1O2Y3a4i6"4+01"2k#$k34e5678 t4YL+*W+Y*W+!;<=/>"4#$,9:;~.com/sun/javacard/jcasm/InstrLookupSwitch.class1H - . / 01 234 5 6 7 28 9 :8;<instr$Lcom/sun/javacard/jcasm/Instruction;dflIncaseskeys[IoffsetsK(ILcom/sun/javacard/jcasm/Instruction;[Lcom/sun/javacard/jcasm/Statement;)VCodeLineNumberTableLocalVariableTablethis*Lcom/sun/javacard/jcasm/InstrLookupSwitch;pccode#[Lcom/sun/javacard/jcasm/Statement;setupInstruction'(I[Lcom/sun/javacard/jcasm/Statement;)VijopSize switchSizegetJumpInstructionOffset((II[Lcom/sun/javacard/jcasm/Statement;)IrequiredJumpSizejumpSize SourceFileInstrLookupSwitch.java =  !"> ?@A BCcom/sun/javacard/jcasm/Operand DE '(  FE G(com/sun/javacard/jcasm/InstrLookupSwitchjava/lang/Object()V"com/sun/javacard/jcasm/Instruction operandVectorLjava/util/Vector;java/util/Vector elementAt(I)Ljava/lang/Object;getValue()Isize com/sun/javacard/jcasm/Statement! d**,*- * !"l***, * >dl6* 66-* **`,Oӱ" !&"-#5$A%b$k'H83#;0$lll &F%-?&'(~6-2 `6*+ ,-/4) *+,PK Hs>a?-com/sun/javacard/jcasm/InstrTableSwitch.class1G , - . /0 123 4 5 6 17 8 97:;dflIlowhighoffsets[Iinstr$Lcom/sun/javacard/jcasm/Instruction;K(ILcom/sun/javacard/jcasm/Instruction;[Lcom/sun/javacard/jcasm/Statement;)VCodeLineNumberTableLocalVariableTablethis)Lcom/sun/javacard/jcasm/InstrTableSwitch;pccode#[Lcom/sun/javacard/jcasm/Statement;setupInstruction'(I[Lcom/sun/javacard/jcasm/Statement;)VijopSizegetJumpInstructionOffset((II[Lcom/sun/javacard/jcasm/Statement;)IrequiredJumpSizejumpSize SourceFileInstrTableSwitch.java <  !"= >?@ ABcom/sun/javacard/jcasm/Operand CD &'  ED F'com/sun/javacard/jcasm/InstrTableSwitchjava/lang/Object()V"com/sun/javacard/jcasm/Instruction operandVectorLjava/util/Vector;java/util/Vector elementAt(I)Ljava/lang/Object;getValue()Isize com/sun/javacard/jcasm/Statement! d**,*- * !"d***, * >*d 66+* **,Oձ!"&#/$;%Z$c'>21#5.$ddd &>%&'~6-2 `6*+ ,-/4( )*+PK Hs>K-= :com/sun/javacard/jcasm/Instruction$OperandEnumerator.class1< ( )* + ,- . /0 1345 enumeratorLjava/util/Enumeration; Signature9Ljava/util/Enumeration;(Ljava/util/Vector;)VCodeLineNumberTableLocalVariableTablethisOperandEnumerator InnerClasses6Lcom/sun/javacard/jcasm/Instruction$OperandEnumerator;vLjava/util/Vector;LocalVariableTypeTable4Ljava/util/Vector;7(Ljava/util/Vector;)VhasMoreElements()Z nextElement"()Lcom/sun/javacard/jcasm/Operand;()Ljava/lang/Object;KLjava/lang/Object;Ljava/util/Enumeration; SourceFileInstruction.java 67 89  ! java/util/NoSuchElementException : "$com/sun/javacard/jcasm/Operand "#;4com/sun/javacard/jcasm/Instruction$OperandEnumeratorjava/lang/Objectjava/util/Enumeration()Vjava/util/Vectorelements()Ljava/util/Enumeration;(Ljava/lang/String;)V"com/sun/javacard/jcasm/Instruction  c*+ *+lmnp  !E**st v "#P* Y* z{} A"$/* h %&'  2PK Hs>8s99(com/sun/javacard/jcasm/Instruction.class1 " !  !  ! !    !      !  !            !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~OperandEnumerator InnerClassesNOPI ConstantValue ACONST_NULL SCONST_M1SCONST_0SCONST_1SCONST_2SCONST_3SCONST_4SCONST_5 ICONST_M1 ICONST_0 ICONST_1 ICONST_2 ICONST_3 ICONST_4ICONST_5BSPUSHSSPUSHBIPUSHSIPUSHIIPUSHALOADSLOADILOADALOAD_0ALOAD_1ALOAD_2ALOAD_3SLOAD_0SLOAD_1SLOAD_2SLOAD_3ILOAD_0 ILOAD_1!ILOAD_2"ILOAD_3#AALOAD$BALOAD%SALOAD&IALOAD'ASTORE(SSTORE)ISTORE*ASTORE_0+ASTORE_1,ASTORE_2-ASTORE_3.SSTORE_0/SSTORE_10SSTORE_21SSTORE_32ISTORE_03ISTORE_14ISTORE_25ISTORE_36AASTORE7BASTORE8SASTORE9IASTORE:POP;POP2<DUP=DUP2>DUP_X?SWAP_X@SADDAIADDBSSUBCISUBDSMULEIMULFSDIVGIDIVHSREMIIREMJSNEGKINEGLSSHLMISHLNSSHROISHRPSUSHRQIUSHRRSANDSIANDTSORUIORVSXORWIXORXSINCYIINCZS2B[S2I\I2B]I2S^ICMP_IFEQ`IFNEaIFLTbIFGEcIFGTdIFLEeIFNULLf IFNONNULLg IF_ACMPEQh IF_ACMPNEi IF_SCMPEQj IF_SCMPNEk IF_SCMPLTl IF_SCMPGEm IF_SCMPGTn IF_SCMPLEoGOTOpJSRqRETr STABLESWITCHs ITABLESWITCHt SLOOKUPSWITCHu ILOOKUPSWITCHvARETURNwSRETURNxIRETURNyRETURNz GETSTATIC_A{ GETSTATIC_B| GETSTATIC_S} GETSTATIC_I~ PUTSTATIC_A PUTSTATIC_B PUTSTATIC_S PUTSTATIC_I GETFIELD_A GETFIELD_B GETFIELD_S GETFIELD_I PUTFIELD_A PUTFIELD_B PUTFIELD_S PUTFIELD_I INVOKEVIRTUAL INVOKESPECIAL INVOKESTATICINVOKEINTERFACENEWNEWARRAY ANEWARRAY ARRAYLENGTHATHROW CHECKCAST INSTANCEOFSINC_WIINC_WIFEQ_WIFNE_WIFLT_WIFGE_WIFGT_WIFLE_WIFNULL_W IFNONNULL_W IF_ACMPEQ_W IF_ACMPNE_W IF_SCMPEQ_W IF_SCMPNE_W IF_SCMPLT_W IF_SCMPGE_W IF_SCMPGT_W IF_SCMPLE_WGOTO_W GETFIELD_A_W GETFIELD_B_W GETFIELD_S_W GETFIELD_I_WGETFIELD_A_THISGETFIELD_B_THISGETFIELD_S_THISGETFIELD_I_THIS PUTFIELD_A_W PUTFIELD_B_W PUTFIELD_S_W PUTFIELD_I_WPUTFIELD_A_THISPUTFIELD_B_THISPUTFIELD_S_THISPUTFIELD_I_THISIMPDEP1IMPDEP2 mnemonicTable[Ljava/lang/String;opcode lineNumbercolumn operandVectorLjava/util/Vector; Signature4Ljava/util/Vector;"(ILcom/sun/javacard/jcasm/Token;)VCodeLineNumberTableLocalVariableTablethis$Lcom/sun/javacard/jcasm/Instruction;tokLcom/sun/javacard/jcasm/Token; addOperand#(Lcom/sun/javacard/jcasm/Operand;)Vo Lcom/sun/javacard/jcasm/Operand;operandElements()Ljava/util/Enumeration;;()Ljava/util/Enumeration; getOpcode()IsizeeLjava/util/Enumeration;LocalVariableTypeTable9Ljava/util/Enumeration; methodFixup(Ljava/util/Hashtable;I)VsymtabLjava/util/Hashtable;relPc;@(Ljava/util/Hashtable;I)Velements getOperands()Ljava/util/Vector;6()Ljava/util/Vector; getOperand#(I)Lcom/sun/javacard/jcasm/Operand;i getMnemonic()Ljava/lang/String;(I)Ljava/lang/String;toStringsbLjava/lang/StringBuffer;()V SourceFileInstruction.java  & & & & & java/util/Vector  4com/sun/javacard/jcasm/Instruction$OperandEnumerator    com/sun/javacard/jcasm/Operand    java/lang/StringBuffer  java/lang/StringBuilder  java/lang/Stringnop aconst_null sconst_m1sconst_0sconst_1sconst_2sconst_3sconst_4sconst_5 iconst_m1iconst_0iconst_1iconst_2iconst_3iconst_4iconst_5bspushsspushbipushsipushiipushaloadsloadiloadaload_0aload_1aload_2aload_3sload_0sload_1sload_2sload_3iload_0iload_1iload_2iload_3aaloadbaloadsaloadialoadastoresstoreistoreastore_0astore_1astore_2astore_3sstore_0sstore_1sstore_2sstore_3istore_0istore_1istore_2istore_3aastorebastoresastoreiastorepoppop2dupdup2dup_xswap_xsaddiaddssubisubsmulimulsdividivsremiremsneginegsshlishlsshrishrsushriushrsandiandsoriorsxorixorsinciincs2bs2ii2bi2sicmpifeqifneifltifgeifgtifleifnull ifnonnull if_acmpeq if_acmpne if_scmpeq if_scmpne if_scmplt if_scmpge if_scmpgt if_scmplegotojsrret stableswitch itableswitch slookupswitch ilookupswitchareturnsreturnireturnreturn getstatic_a getstatic_b getstatic_s getstatic_i putstatic_a putstatic_b putstatic_s putstatic_i getfield_a getfield_b getfield_s getfield_i putfield_a putfield_b putfield_s putfield_i invokevirtual invokespecial invokestaticinvokeinterfacenewnewarray anewarray arraylengthathrow checkcast instanceofsinc_wiinc_wifeq_wifne_wiflt_wifge_wifgt_wifle_wifnull_w ifnonnull_w if_acmpeq_w if_acmpne_w if_scmpeq_w if_scmpne_w if_scmplt_w if_scmpge_w if_scmpgt_w if_scmple_wgoto_w getfield_a_w getfield_b_w getfield_s_w getfield_i_wgetfield_a_thisgetfield_b_thisgetfield_s_thisgetfield_i_this putfield_a_w putfield_b_w putfield_s_w putfield_i_wputfield_a_thisputfield_b_thisputfield_s_thisputfield_i_this reserved185 reserved186 reserved187 reserved188 reserved189 reserved190 reserved191 reserved192 reserved193 reserved194 reserved195 reserved196 reserved197 reserved198 reserved199 reserved200 reserved201 reserved202 reserved203 reserved204 reserved205 reserved206 reserved207 reserved208 reserved209 reserved210 reserved211 reserved212 reserved213 reserved214 reserved215 reserved216 reserved217 reserved218 reserved219 reserved220 reserved221 reserved222 reserved223 reserved224 reserved225 reserved226 reserved227 reserved228 reserved229 reserved230 reserved231 reserved232 reserved233 reserved234 reserved235 reserved236 reserved237 reserved238 reserved239 reserved240 reserved241 reserved242 reserved243 reserved244 reserved245 reserved246 reserved247 reserved248 reserved249 reserved250 reserved251 reserved252 reserved253impdep1impdep2"com/sun/javacard/jcasm/Instructionjava/lang/Objectcom/sun/javacard/jcasm/Token beginLine beginColumn(I)V addElement(Ljava/lang/Object;)V(Ljava/util/Vector;)Vjava/util/EnumerationhasMoreElements()Z nextElement()Ljava/lang/Object; elementAt(I)Ljava/lang/Object;append,(Ljava/lang/String;)Ljava/lang/StringBuffer;-(Ljava/lang/String;)Ljava/lang/StringBuilder;!!"%&'()&'*+&',-&'./&'01&'23&'45&'67&'89&':;&'<=&'>?&'@A&'BC&'DE&'FG&'HI&'JK&'LM&'NO&'PQ&'RS&'TU&'VW&'XY&'Z[&'\]&'^_&'`a&'bc&'de&'fg&'hi&'jk&'lm&'no&'pq&'rs&'tu&'vw&'xy&'z{&'|}&'~&'&'&'&'&'&'&'&'&'&'&'&'&'&'&'&'&'&'&'&'&'&'&'&'&'&'&'&'&'&'&'&'&'&'&'&'&'&'&'&'&'&'&'&'&'&'&'&'&'&'&'&'&'&'&'&'&'&'&'&'&'&'&'&'&'&'&'&'&' &'  &'  &'&'&'&'&'&'&'&'&'&' !&'"#&'$%&'&'&'()&'*+&',-&'./&'01&'23&'45&'67&'89&':;&'<=&'>?&'@A&'BC&'DE&'FG&'HI&'JK&'LM&'NO&'PQ&'RS&'TU&'VW&'XY&'Z[&'\]&'^_&'`a&'bc&'de&'fg&'hi&'jk&'lm&'no&'pq&'rs&'tu&'vw&'xy&'z{&'|}&'~&'&'&'&'&'&'&'&'&'&'&'&'&'&'&'&&& h***,*,  &\**Y *+ 6 Y*   /* $<* M,,`<" $"& $* N--:+)*+ ,#-4$$$&$6 Y* 5  /*9 @ *=  &3 *2F   02O &LYL+*W* M,+,N+Y-W+Y[\])^D_G`*)1LD 1 Y!SY"SY#SY$SY%SY&SY'SY(SY)SY *SY +SY ,SY -SY .SY/SY0SY1SY2SY3SY4SY5SY6SY7SY8SY9SY:SY;SYSY?SY@SY ASY!BSY"CSY#DSY$ESY%FSY&GSY'HSY(ISY)JSY*KSY+LSY,MSY-NSY.OSY/PSY0QSY1RSY2SSY3TSY4USY5VSY6WSY7XSY8YSY9ZSY:[SY;\SY<]SY=^SY>_SY?`SY@aSYAbSYBcSYCdSYDeSYEfSYFgSYGhSYHiSYIjSYJkSYKlSYLmSYMnSYNoSYOpSYPqSYQrSYRsSYStSYTuSYUvSYVwSYWxSYXySYYzSYZ{SY[|SY\}SY]~SY^SY_SY`SYaSYbSYcSYdSYeSYfSYgSYhSYiSYjSYkSYlSYmSYnSYoSYpSYqSYrSYsSYtSYuSYvSYwSYxSYySYzSY{SY|SY}SY~SYSYSYSYSYSYSYSYSYSYSYSYSYSYSYSYSYSYSYSYSYSYSYSYSYSYSYSYSYSYSYSYSYSYSYSYSYSYSYSYSYSYSYSYSYSYSYSYSYSYSYSYSYSYSYSYSYSYSYSYSYSYSYSYSYSYSYSYSYSYSYSYSYSYSYSYSYSYSYSYSYSYSYSYSYSYSYSYSYSYSYSYSYSYSYSYSYSYSYSYSYSYSYSYSYSY SY SY SY SY SYSYSYSYSYSYSYSYSYSYSYSYSYSYSYSYSYSYSY S$  !#PK Hs>/+com/sun/javacard/jcasm/InterfaceTable.class1  3  3 3 3 3 3 3    3 3 3  $ $  ) ) )  $  MAX_ENTRIESI ConstantValue lineNumberclassIdentifier(Lcom/sun/javacard/jcasm/ClassIdentifier; classNameLjava/lang/String; indexVectorLjava/util/Vector; Signature'Ljava/util/Vector;nameDescrVector&Ljava/util/Vector; parentClass Lcom/sun/javacard/jcasm/JCClass; resolvedTo$assertionsDisabledZL(Lcom/sun/javacard/jcasm/JCClass;Lcom/sun/javacard/jcasm/ClassIdentifier;I)VCodeLineNumberTableLocalVariableTablethis'Lcom/sun/javacard/jcasm/InterfaceTable;6(Lcom/sun/javacard/jcasm/JCClass;Ljava/lang/String;I)VaddInterfaceIndex(I)Vargs[Ljava/lang/Object;indexaddRemoteMethodInfo(Ljava/lang/String;I)V name_descrgetName()Ljava/lang/String;getClassIdentifier*()Lcom/sun/javacard/jcasm/ClassIdentifier;getParentClass"()Lcom/sun/javacard/jcasm/JCClass;resolve#(Lcom/sun/javacard/jcasm/JCClass;)Vc isResolved()ZgetNameDescrVector()Ljava/util/Vector;(()Ljava/util/Vector;getIndexVector)()Ljava/util/Vector; toByteArray()[Baddrp"Lcom/sun/javacard/jcasm/JCPackage;pid*Lcom/sun/javacard/jcasm/PackageIdentifier;iLjava/lang/Integer;i$Ljava/util/Iterator;table[BremoteInterfaceToByteArraysize()ItoStringsbLjava/lang/StringBuffer;()V SourceFileInterfaceTable.java I} GHjava/lang/AssertionErrorclassIdentifier != null I DE :; 96java/util/Vector >? B?className != null <= wxjava/lang/Objectjava/lang/Integer IRitable.0  c != null FEresolvedTo != null bc x   x  c xjava/lang/StringBuffer.interfaceTable yZjava/lang/StringBuilder { = ;}%com/sun/javacard/jcasm/InterfaceTable c(Ljava/lang/Object;)Vcom/sun/javacard/jcasm/Msgerror((Ljava/lang/String;[Ljava/lang/Object;)V addElementcom/sun/javacard/jcasm/JCClass getRelocAddrgetParentPackage$()Lcom/sun/javacard/jcasm/JCPackage;&com/sun/javacard/jcasm/ClassIdentifiergetPackageIdentifier,()Lcom/sun/javacard/jcasm/PackageIdentifier; com/sun/javacard/jcasm/JCPackagegetPackageToken-(Lcom/sun/javacard/jcasm/PackageIdentifier;)I getClassTokeniterator()Ljava/util/Iterator;java/util/IteratorhasNextnext()Ljava/lang/Object;intValueappend,(Ljava/lang/String;)Ljava/lang/StringBuffer;-(Ljava/lang/String;)Ljava/lang/StringBuilder;eol toHexString(B)Ljava/lang/String;java/lang/ClassdesiredAssertionStatus!3 567896:;<=>?@AB?@CDEFEGHIJK>*, Y*+*,** Y * Y L"()*+",'-2.=/M*>NO>DE>:;>96IPK>*, Y *+*,** Y * Y L"1234"5'627=8M*>NO>DE><=>96QRK9* YY*SM,* YL> ? @&A)B8DM  ST9NO9U6VWKA* YY*SN-* Y* +LG H I&J)K8L@NM* STANOAX=AU6YZK/*LTM NO[\K/*L[M NO]^K/*LbM NO_`KV+ Y*+LjklMNOaE_^KJ* Y*L uvM NObcK7 *L}M  NOdeK/* LM NO@fgeK/* LM NO@hijKI*L=*)*>+z~T+~T3*N*:+-T+*T+* T* N-!-":+#T+L> '36>GXftMRk6>(lmGno pq|#rsNOtu U6vjKeL=*)*>+z~T+~T3*N*:+-T+*T+L2  $03;DUcM>k6;(lmDnoeNOatu_U6wxK4 * `LM  NOyZK$Y%L+&'W+* *(*'W+)Y*+,-,.'W* M,!5,"N+)Y*-#/,0,-,.'W+1'W+2L")C^M*^%pqK;rsNOz{|}K*34L~PK Hs>HH$com/sun/javacard/jcasm/JCClass.class1   V V V V  V V  V V V  V V V V V  V V     " V %  V V % +  V V V V V +  V  V +  "  +   Z Z   Z  V V    V V V V 6J    Z   Z Z Z  j j V  V V j j V j    ! ! ! V     V       +    V %         !"# $% V&'() *+,-. /  0  ! Z 1234MAX_INTERFACESI ConstantValue MAX_FIELDS ACC_INTERFACE ACC_SHAREABLE@ ACC_REMOTE classId(Lcom/sun/javacard/jcasm/ClassIdentifier; parentPackage"Lcom/sun/javacard/jcasm/JCPackage; superClass Lcom/sun/javacard/jcasm/JCClass;superClassNameLjava/lang/String;superClassIdentifier fieldVectorLjava/util/Vector; Signature2Ljava/util/Vector; isShareableZ remoteFlagpublicMethodTable$Lcom/sun/javacard/jcasm/MethodTable;packageMethodTableinterfaceVector;Ljava/util/Vector;remoteInterfaceVectorsuperInterfaceVector;Ljava/util/Vector;referenceCountfirstReferenceToken instanceSize methodVector5Ljava/util/Vector;methodSymbolTableLjava/util/Hashtable;JLjava/util/Hashtable;fieldSymbolTableGLjava/util/Hashtable; remoteMethods=Ljava/util/Vector; methodhashes%Ljava/util/Vector;hashAntiCollisionString STRING_MAXB STRING_MINnoMethodHashCollisions$assertionsDisableda(Lcom/sun/javacard/jcasm/JCPackage;ILjava/lang/String;Lcom/sun/javacard/jcasm/ClassIdentifier;I)VCodeLineNumberTableLocalVariableTablethismodifiernameidlineprocessRemoteMethodInfo()Vrmi)Lcom/sun/javacard/jcasm/RemoteMethodInfo; nameAndDescrtokenjinter'Lcom/sun/javacard/jcasm/InterfaceTable;nameDescVector tokenVectoriLocalVariableTypeTable&Ljava/util/Vector;'Ljava/util/Vector;findRemoteMethodWithToken(I)ZrmtfindMethodWithToken$(I)Lcom/sun/javacard/jcasm/JCMethod;m!Lcom/sun/javacard/jcasm/JCMethod;mTokengetClassIdentifier*()Lcom/sun/javacard/jcasm/ClassIdentifier;getParentPackage$()Lcom/sun/javacard/jcasm/JCPackage; setSuperClass#(Lcom/sun/javacard/jcasm/JCClass;)Vc getSuperClass"()Lcom/sun/javacard/jcasm/JCClass;setSuperClassName(Ljava/lang/String;)VstrgetSuperClassName()Ljava/lang/String;setSuperClassIdentifier+(Lcom/sun/javacard/jcasm/ClassIdentifier;)VgetSuperClassIdentifier addMethod$(Lcom/sun/javacard/jcasm/JCMethod;)V arguments[Ljava/lang/Object;jcMethodmid)Lcom/sun/javacard/jcasm/MethodIdentifier;methodElements()Ljava/util/Enumeration;<()Ljava/util/Enumeration;addField!(Lcom/sun/javacard/jcasm/Field;)VfieldLcom/sun/javacard/jcasm/Field;fid(Lcom/sun/javacard/jcasm/FieldIdentifier; fieldElements9()Ljava/util/Enumeration;getInstanceSize()IgetFirstReferenceTokengetReferenceCount()Z isExportedexported makeShareablegetInstanceBasebasecompare(Ljava/lang/Object;)I currentClassotherLjava/lang/Object; otherClass sortFieldsargsmodi$Ljava/util/Iterator;nsizearr$[Lcom/sun/javacard/jcasm/Field;len$maxField staticFields [[Lcom/sun/javacard/jcasm/Field;instanceFieldsklnVec expectedToken addInterface*(Lcom/sun/javacard/jcasm/InterfaceTable;)VaddRemoteInterfaceaddSuperInterfacecidinterfaceElementsB()Ljava/util/Enumeration;remoteInterfaceElementssuperInterfaceElementsB()Ljava/util/Enumeration; setRemote(Z)Vflag isInterfaceisRemote toByteArray()[Baddrpid*Lcom/sun/javacard/jcasm/PackageIdentifier;s'Lcom/sun/javacard/jcasm/SuperInterface;element[B interfaceName utf8ByteseLjava/util/Enumeration;table stringData className nameBytesclassNameLengthrecordindexflags:Ljava/util/Enumeration;sortRemoteMethods()Ljava/util/Vector; sortedVector?()Ljava/util/Vector;getMethodWithSmallestHash+()Lcom/sun/javacard/jcasm/RemoteMethodInfo;newHashsmallestHashMethodoldHashtoStringfsbLjava/lang/StringBuffer;7Ljava/util/Enumeration;getAntiHashCollisionStringresolveMethodHashes(getPrimitiveConstantFieldWithValueAndSig3(ILjava/lang/String;)Lcom/sun/javacard/jcasm/Field;fd(Lcom/sun/javacard/jcasm/FieldDescriptor;valuesig SourceFile JCClass.java 5java/util/Vector java/lang/AssertionError id != null 6 java/util/Hashtable 7 8 ] D/ 9:%com/sun/javacard/jcasm/InterfaceTable ;v <vNameTableSize == TokenTableSizejava/lang/Stringjava/lang/Integer =/ 'com/sun/javacard/jcasm/RemoteMethodInfo > ?@  uv Acom/sun/javacard/jcasm/JCMethod BCD E/ F   jcMethod != null G@java/lang/Object class.1H IJ K L/ Mclass.9class.2 NO P Q6 R$ field != nullclass.3 S Tclass.10 UVW X/class.4 Y Z[ \/ 2  ./com/sun/javacard/jcasm/JCClass ]@com/sun/javacard/jcasm/Field ^_` a2 bc def g2 h2 ij kclass.7class.8l mn inter != nullclass.5 !isInterface%com/sun/javacard/jcasm/SuperInterface o p q ^2 r2 s t/u vw xy z// {| }~ `  / /  2 cm!= null _`  ` yz  @java/lang/StringBuffer .interface .classjava/lang/StringBuilder  ~ < > {  .fields { ,$;}public method table base: , public method table count: package method table base: package method table count:  g 2com/sun/javacard/jcasm/Membercom/sun/javacard/jcasm/Sortable(ILjava/lang/String;II)V(Ljava/lang/Object;)V(I)Vjava/lang/reflect/Modifier elementAt(I)Ljava/lang/Object;getNameDescrVectorgetIndexVectorintValue6(Ljava/lang/String;ILcom/sun/javacard/jcasm/JCClass;)Vadd(Ljava/lang/Object;)Z flagAndTokengetMethodIdentifier+()Lcom/sun/javacard/jcasm/MethodIdentifier;'com/sun/javacard/jcasm/MethodIdentifiergetMethodTokengetName containsKeycom/sun/javacard/jcasm/Msgerror((Ljava/lang/String;[Ljava/lang/Object;)V attributes getAttributes isAbstractput8(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; methodFixup addElementelementsisFinalisStaticgetFieldIdentifier*()Lcom/sun/javacard/jcasm/FieldIdentifier;&com/sun/javacard/jcasm/FieldIdentifier getFieldTokenisPublic isProtected com/sun/javacard/jcasm/JCPackage appletCountequalsiterator()Ljava/util/Iterator;java/util/IteratorhasNextnext()Ljava/lang/Object; getDescriptor*()Lcom/sun/javacard/jcasm/FieldDescriptor;&com/sun/javacard/jcasm/FieldDescriptor isPrimitiveisArraygetFieldInitializer1()Lcom/sun/javacard/jcasm/StaticFieldInitializer;getParentClassjava/lang/Mathmax(II)I5(Lcom/sun/javacard/jcasm/JCClass;Ljava/lang/String;)VK(Lcom/sun/javacard/jcasm/JCClass;Lcom/sun/javacard/jcasm/ClassIdentifier;)V set22Flag isResolvedresolve getRelocAddr&com/sun/javacard/jcasm/ClassIdentifiergetPackageIdentifier,()Lcom/sun/javacard/jcasm/PackageIdentifier;getPackageToken-(Lcom/sun/javacard/jcasm/PackageIdentifier;)I getClassToken lastIndexOf(Ljava/lang/String;)I substring(I)Ljava/lang/String;getBytes"com/sun/javacard/jcasm/MethodTablegetBasegetCountjava/util/EnumerationhasMoreElements nextElementjava/lang/System arraycopy*(Ljava/lang/Object;ILjava/lang/Object;II)VremoteInterfaceToByteArrayremoteMethodHashS removeElementappend,(Ljava/lang/String;)Ljava/lang/StringBuffer;-(Ljava/lang/String;)Ljava/lang/StringBuilder;-(Ljava/lang/Object;)Ljava/lang/StringBuilder;eol(I)Ljava/lang/StringBuilder;,(Ljava/lang/Object;)Ljava/lang/StringBuffer;java/lang/ClassdesiredAssertionStatus!V,P*-*Y** Y *+ * * Y* Y*Y*Y*Y*Y***Y*YN 38>IT_kw>s <**M,N,:- Y 6D-!:"#6*$%Y*&:*'Wq*(**)B $@MXgp~\ ~ X0g!CKup$jp$j+=**%*> !#)*'++2=*&*+N-,-6- "(*04 " .22  /*   /*  V*+.*+/0*+12 /*. >*+0 /*0 >*+2  /*2 w+ Y3 +4M*,56Y,SY*7SN8-9*:'+;<6Y+4SY*7SN=-9+,N-;*-5&6Y"Y-->SY*7S:?9*-+@W+A*,+@W*+BV$4:;O b!h"i$n%r&}()*,./01H4b  nS!"#$2*C9 %&'yDz+ YD +EM*,56Y,SY*7SNF-9*:1+GH +GI6Y+ESY*7SNJ-9+KN-;*-5&6Y"Y-L>SY*7S:M9*-+@W*,+@W*+BRCDE$G4H:I;KYNlOrPsRxS|TVWXZ\]^H4l()xO*+,$2*Cf -.//*Np 0//*z 1//*O 2/* 327<*:P*:Q<* R*S*:<3575454*  6/n<*TM,,U`<,TM  789c+VM,W*W,W*W,N--*X-TN*N--,X-TNB/137?AIKOWYa*3.:cc;<^=>*N**O*h<YMZN6666*[:\]Z:  G6  Ia ^_2 ^` a,2 S,2 S a,2 St,2 Sf KL6  &6Y ESY b/S: c 93- 2&6Y ESY b/S: d 9 -  SY*:6  16  ,2, 2 2, 2 2Bބ 6 -:  6 6     2:   KL6 efl6 #6Y ESY b/S:c9`6  ^_*YO`O* **YN`N B n*6 "'*-03RYal "%5>ATfl#o$%'()*+-012367 $:;? ? Y Y@ R() <ABA%C 84 ?reD() rEF wG zA H"IJ'KF*-0L3M5NoO  5NPQ;+ Yg *6Y*7SMh,9*+BDE G,H2K:L ,;;RQ;+ Yg *6Y*7SMh,9*+BOP R,S2V:W ,;;Sg+*: Yi *jY*+kBab*c++Sg+*: Yi *jY*+lBmn*o++TU$2*Cw VW$2*C{ VX$2*C YZ[Q*m * n \]22*: ^2/*m _` *oL=*@>*p >*:>+*~T*[:\r]j:q-rs6+z~T+~T1t:u:+* vT+wT*p*/:xy`z:{:+T:6636 + T+*~T*.*2+T+T^*.1*2u:+* vT+*2wT)*.s6+z~T+~T+*NT+*T+*OT+*|}T+*|~T+*}T+*~T*|:L+:*6+z~T+~T+T+T*:K+: Y 6+z~T+~T*[:\*]::+`=*p+*T*5*{:+T6+3T +T*/:xy`z:{:6+T6+3T+*T*[:\*]::  +  `=+z^ #-3Femw!4BISZcw&+2BORY`cv   '2=CFMScjox!#$%&'*`#wa'T bce`deOyABf $EgGAIh2igc"bca2a&: Sjk9 alRjklg1AB*&mg{lg 1ABSnjqogolpqg rsSjtlRjtuvqYL*+*B+./02w wxyzU*%L+~=>*,*%:~6 L=*+W+. 6 7<!=.>8@>AABD<JESF>.8 {4U I|A}D/~*:5*h`<*p *7*7xy`zM,{``< *~h`*|~h`<*[M,\,]N-`<*pV*7*7xy`zM*h``<**{``<,{``<*h``<JN OPS0T:V<XSYnZx\]adegkoqH0 h&Dn[AB@nSD~V8YL*: +W +W+Y*W* #+Y* W+YW+YW*M,.,ZN+Y-W+YW*|e+Y*|}W+Y*|~W*|M, ,W*e+Y*}W+Y*~W*|M, ,W*[M,\),]N+Y-W*[M,\,]+N+-W+YW+z~#>Ee:KU\3f )4jkBjkjk/AB AB80 4jBjtjt/* + X*[N-\H-]Z:^:,HI"#.:PSV>#07)NABXXX*VPK Hs>\Iw,w,%com/sun/javacard/jcasm/JCMethod.class1                     !" # $ %& ' ( )*+ ! !,- ./ !0 1 )2 3 4 567 ,89 / /: /0 ; <=> <? <@ <AB <C <DE ?F <GH BI <J <K <L <MN ( )O )P Q )R STU VW XY Z f[ \ ]^ f_ XF` a b fa fc d ef g hi hjk fl m no p q rs ct n u pv w px fy pz{ nc| ny} 0 /~ ! V V /  ACC_REMOTEI ConstantValue methodIdentifier)Lcom/sun/javacard/jcasm/MethodIdentifier; parentClass Lcom/sun/javacard/jcasm/JCClass;statementVectorLjava/util/Vector; Signature6Ljava/util/Vector;exceptionTable'Lcom/sun/javacard/jcasm/ExceptionTable;stacklocals symbolTableLjava/util/Hashtable;;relPcsize abstractErrorZ nativeError sizeError nativeTokenS headerSize$assertionsDisabled7(Lcom/sun/javacard/jcasm/JCClass;ILjava/lang/String;I)VCodeLineNumberTableLocalVariableTablethis!Lcom/sun/javacard/jcasm/JCMethod; attributesnameLjava/lang/String;line`(Lcom/sun/javacard/jcasm/JCClass;ILjava/lang/String;Lcom/sun/javacard/jcasm/MethodIdentifier;I)VidgetMethodIdentifier+()Lcom/sun/javacard/jcasm/MethodIdentifier;getParentClass"()Lcom/sun/javacard/jcasm/JCClass;addExceptionTableEntry/(Lcom/sun/javacard/jcasm/ExceptionTableEntry;)Ventry,Lcom/sun/javacard/jcasm/ExceptionTableEntry;getExceptionTable)()Lcom/sun/javacard/jcasm/ExceptionTable;statementElements()Ljava/util/Enumeration;=()Ljava/util/Enumeration; getStatements()Ljava/util/Vector;8()Ljava/util/Vector;setStack(I)V setLocalsgetFormattedMethod()Ljava/lang/String;s className classIndex methodName methodDescraattributeString getParams()IparamsindexcCgetMethodReturnType;()Lcom/sun/javacard/jcbytecodeprofiler/cryptoanalyzer/Type; returnTypeLjava/lang/StringBuffer;nameSizetypeStrsetMethodLocals=([Lcom/sun/javacard/jcbytecodeprofiler/cryptoanalyzer/Type;)V:[Lcom/sun/javacard/jcbytecodeprofiler/cryptoanalyzer/Type;iisInit()ZgetMethodHeader()[Bheader[Bheader2 addStatement%(Lcom/sun/javacard/jcasm/Statement;)Vargs[Ljava/lang/Object; argumentskey"Lcom/sun/javacard/jcasm/Statement; methodFixup()Vi$Ljava/util/Iterator;setNativeToken(S)VtkgetNativeToken()S checkForInts(Ljava/lang/String;)V toByteArrayarraysmt methodHeadereLjava/io/IOException;bosLjava/io/ByteArrayOutputStream;dosLjava/io/DataOutputStream;toStringsbisRemote getHeaderSizeisGRTCandidate SourceFile JCMethod.java java/util/Vector java/util/Hashtable %com/sun/javacard/jcasm/ExceptionTable      (   /   java/lang/StringBuilder       java/lang/AssertionError getParams() java/lang/StringBuffer   B   V   { method_header:  // }com/sun/javacard/jcasm/JCMethod com/sun/javacard/jcasm/Member(ILjava/lang/String;II)V$(Lcom/sun/javacard/jcasm/JCMethod;)VaddExceptionEntryelementsgetNamecom/sun/javacard/jcasm/JCClassjava/lang/Stringlength substring(I)Ljava/lang/String;indexOf(Ljava/lang/String;)I(II)Ljava/lang/String;equals(Ljava/lang/Object;)Z lastIndexOf getAttributesjava/lang/reflect/Modifierappend-(Ljava/lang/String;)Ljava/lang/StringBuilder;com/sun/javacard/jcasm/EfNames prettyMethod8(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;isStatic(I)ZcharAt(I)C(Ljava/lang/Object;)V(C)Ljava/lang/StringBuffer; startsWith(Ljava/lang/String;)Z7com/sun/javacard/jcbytecodeprofiler/cryptoanalyzer/TypeInt9Lcom/sun/javacard/jcbytecodeprofiler/cryptoanalyzer/Type;ByteShortBooleanVoid ReferenceInt2<(Lcom/sun/javacard/jcbytecodeprofiler/cryptoanalyzer/Type;)V ByteArray ShortArray BooleanArrayIntArray isInterface isAbstractisNativecom/sun/javacard/jcasm/Msgerror((Ljava/lang/String;[Ljava/lang/Object;)V addElementlabel toLowerCase containsKey lineNumberput8(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;iterator()Ljava/util/Iterator;java/util/IteratorhasNextnext()Ljava/lang/Object;(Ljava/util/Hashtable;)Vfixupcom/sun/javacard/jcasm/GlobalsdebuggetParentPackage$()Lcom/sun/javacard/jcasm/JCPackage; com/sun/javacard/jcasm/JCPackage usesIntegers(Z)V(Ljava/io/OutputStream;)Vwrite([BII)Vflush,(Ljava/lang/String;)Ljava/lang/StringBuffer;-(Ljava/lang/Object;)Ljava/lang/StringBuilder;eol toHexString([B)Ljava/lang/String;,(Ljava/lang/Object;)Ljava/lang/StringBuffer;java/lang/ClassdesiredAssertionStatus!/*-*Y*Y*+*- * h ijk$l)m.n4/////}*+- * * y z{|>/*  /* \* *Y* * +/*  2* /* >* >* w*L*M,`>+L++:,,`:++:*6 :!Y"#$#%#&.  '1?KQXRwr jc'PK,Q&X*'(<=*)*(*)*Y>)B<IBLS<Z<[H*)*>LBFIFL3SFZF*)*;O+I,Y-.*)*;&+ ,Y-.R%7twz}*2#/Y0L*)=>*)*)+*)*1W+2:345647849:4;<4=>J% * =CMQ[_imw{4}{CJv=*'(+?Y@S>*)*(*)*Y6)\GB<I`L#SHZT[u+7S+9S+;S+5S+ASy*)*6B_IL4SkZw*)*;+BY?Y@CS +DS+ES+FS+GS۲+ջ,YH.*)*;+?Y@S+,YH.##$ %'(/-B.0134679:;=>@C$D'G0H3J<K?MHNKPTQWSgXz[\^b4=_/*L*M,`>+L++:ef ghj'l4/* "'I*IJ*K*L=* *$L+T+*T+T+*T!L+*~T+x*~T*'K +\3@T*'MN-+3T-\3 T-+Rvwz {8|<}A~INY]hw4<]N *'K"*NOY*)SMP,Q*N*'M"*ROY*)SMS,Q*R*+T+UG+UVM*,W OY,SYXY+YZSN[-Q*,XY*\Z]W+*\^*Y\+_`\*Y`+_``*`!*aOY*)SMb,Q*af#():FLQRZaitH F i< U*IJ*K*'M *``*L<* * *``*``"#*/GNU/&L**cL+d+efM,*g* * *hi*& #.5@FK #L>*j /*j ^=+*(+*Y>)?8IL(*kl+*;& !<GJZ ]*^^\B:*mnYoLpY+qM*rN,--s*c:d#ef:t:,s,uN+*m+w ,Yx.+y`cvB !)HO Y!\"`%c#d$f&'RO H2*!?dsj/Y0L+!Y"z#*{#&|W* #+!Y"}#* ~#&|W+!Y"##&|W+!Y"#*r##&|W*cM,d,efN+-W* +!Y"* ~#&|Wi+*$+!Y"#*~#&|W+!Y"##&|W+2:24#5*6J8d9:;=>@ACD*:* ~H G* **r * LMO ,d *+  PK Hs>Ӧ~1com/sun/javacard/jcasm/JCPackage$Descriptor.class1!    packageTokenI classToken(Ljava/lang/String;II)VCodeLineNumberTableLocalVariableTablethis Descriptor InnerClasses-Lcom/sun/javacard/jcasm/JCPackage$Descriptor;nameLjava/lang/String;getPackageToken()I getClassToken SourceFileJCPackage.java    +com/sun/javacard/jcasm/JCPackage$Descriptorjava/lang/Object()V com/sun/javacard/jcasm/JCPackage   c***   * /*   /*   PK Hs>6((&com/sun/javacard/jcasm/JCPackage.class1 - t  t t t   t   t t  t  t t  t    t   # ! " # $ !% #& '() *+ #,- ./ 101 #2 3 $ #4 #5 !6 ;7 8 ;9: ? ?;< ?= #>? ;/@A HBC *D HEF G ?HI JKL M ?NO P QR QSTU = P HV H=W aX Y8Z d> a[\ g] i^ i_ a` ia ibc g` td te tfg hi Descriptor InnerClasses inputSpecLjava/lang/String;packageIdentifier*Lcom/sun/javacard/jcasm/PackageIdentifier;namelineI importVectorLjava/util/Vector; Signature>Ljava/util/Vector; appletVector=Ljava/util/Vector; constantPool%Lcom/sun/javacard/jcasm/ConstantPool; classVector'Lcom/sun/javacard/jcasm/SortableVector;ILcom/sun/javacard/jcasm/SortableVector; symbolTableLjava/util/Hashtable;ILjava/util/Hashtable; usesIntegersZdescriptorTableVLjava/util/Hashtable;sigPool&Lcom/sun/javacard/jcasm/SignaturePool; createdFrom22packageStartAddresspackageEndAddress$assertionsDisabled@(Ljava/lang/String;Lcom/sun/javacard/jcasm/PackageIdentifier;I)VCodeLineNumberTableLocalVariableTablethis"Lcom/sun/javacard/jcasm/JCPackage; packageIdgetName()Ljava/lang/String; getIdentifier,()Lcom/sun/javacard/jcasm/PackageIdentifier;-(I)Lcom/sun/javacard/jcasm/PackageIdentifier;tokengetPackageToken-(Lcom/sun/javacard/jcasm/PackageIdentifier;)Imatchipsize()Z hasRemote(Z)VvalueconstantPoolElements()Ljava/util/Enumeration;8()Ljava/util/Enumeration;getConstantPool'()Lcom/sun/javacard/jcasm/ConstantPool;getConstantPoolEntry (I)Lcom/sun/javacard/jcasm/Info;addConstantPoolEntry (Lcom/sun/javacard/jcasm/Info;)VinfoLcom/sun/javacard/jcasm/Info; addApplet,(Lcom/sun/javacard/jcasm/AppletDeclarator;)Vapplet)Lcom/sun/javacard/jcasm/AppletDeclarator; appletCount()IappletElementsD()Ljava/util/Enumeration; addImport-(Lcom/sun/javacard/jcasm/PackageIdentifier;)V importPackageimportElementsE()Ljava/util/Enumeration;addClass#(Lcom/sun/javacard/jcasm/JCClass;)V arguments[Ljava/lang/Object;jcClass Lcom/sun/javacard/jcasm/JCClass;cid(Lcom/sun/javacard/jcasm/ClassIdentifier; classElements;()Ljava/util/Enumeration; addDescriptor(Ljava/lang/String;II)V packageToken classTokengetDescriptorPackageToken(Ljava/lang/String;)Iaddrcdesc-Lcom/sun/javacard/jcasm/JCPackage$Descriptor;getDescriptorClassTokentoStringi$Ljava/util/Iterator;sbLjava/lang/StringBuffer;resolveAppletInstallAddrs'(Lcom/sun/javacard/jcasm/SymbolTable;)VinstNameadmst$Lcom/sun/javacard/jcasm/SymbolTable;LocalVariableTypeTableYLcom/sun/javacard/jcasm/SymbolTable;\(Lcom/sun/javacard/jcasm/SymbolTable;)VgetAppletTableByteArray(B)[B adByteArray[BeLjava/io/IOException;pkgSlotBbosLjava/io/ByteArrayOutputStream;dosLjava/io/DataOutputStream;setPackageStart(I)Vaddress setPackageEndgetPackageStart getPackageEndcreateSignaturePool()V set22Flag is22Package SourceFileJCPackage.java java/lang/AssertionError name != null jpackageId != null |y z{ }~%com/sun/javacard/jcasm/SortableVector java/util/Vector  #com/sun/javacard/jcasm/ConstantPool k java/util/Hashtable $com/sun/javacard/jcasm/SignaturePool  token >= 0 lm(com/sun/javacard/jcasm/PackageIdentifier no com/sun/javacard/jcasm/JCClass p q rjjcClass != null sojava/lang/Object package.0t uv wxjava/lang/Integery z  package.1 { |} ~ +com/sun/javacard/jcasm/JCPackage$Descriptor  java/lang/StringBuilder /  package.3 package.4java/lang/StringBuffer .package  { y  .version  .  ;.aid   .imports {   ;} 'com/sun/javacard/jcasm/AppletDeclarator com/sun/javacard/jcasm/JCMethod java/io/ByteArrayOutputStreamjava/io/DataOutputStream     java/io/IOException ~ ~  com/sun/javacard/jcasm/JCPackage (Ljava/lang/Object;)V%(Lcom/sun/javacard/jcasm/JCPackage;)V elementAt(I)Ljava/lang/Object;equals(Ljava/lang/Object;)ZisRemoteelements addElement containsKeycom/sun/javacard/jcasm/Msgerror((Ljava/lang/String;[Ljava/lang/Object;)VgetClassIdentifier*()Lcom/sun/javacard/jcasm/ClassIdentifier;&com/sun/javacard/jcasm/ClassIdentifier getClassToken sortFieldsput8(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; isInterfaceprocessRemoteMethodInfoget&(Ljava/lang/Object;)Ljava/lang/Object;append-(Ljava/lang/String;)Ljava/lang/StringBuilder; getRelocAddreol,(Ljava/lang/String;)Ljava/lang/StringBuffer;getMajorVersion(I)Ljava/lang/StringBuilder;getMinorVersiongetAid()Lcom/sun/javacard/jcasm/Aid;-(Ljava/lang/Object;)Ljava/lang/StringBuilder;iterator()Ljava/util/Iterator;java/util/IteratorhasNextnext()Ljava/lang/Object;,(Ljava/lang/Object;)Ljava/lang/StringBuffer;getInstallMethodName"com/sun/javacard/jcasm/SymbolTablesetInstallMethodAddr(S)V(Ljava/io/OutputStream;)V writeByte toByteArray()[Bwrite([B)Vflushjava/lang/ClassdesiredAssertionStatus!t-xyz{|y}~~~!*+ Y, Y*+*,* * Y * Y* Y*Y**Y*Y*Y*:WXY,Z1[6\;]F^Q_\`hasb~cd*|y{}~/*l /*s m- Y**z{|!~--~/*=>!*:+%'-4 { #~//{'~/*  l(<* !* "#$  &$~(I * *   2*% /* = *& ~A *+'  A *+(  2* 2*) A *+(  {2*) A+ Y*++M*,,-Y,SY*SN.-/+0N*-,&-Y1Y-23SY*S:4/+5*,+6W*-+6W* +7+8+$+9J$4:;@Kfmnr |    >4f|y@a2* : `*+;Y+<6W *|y~~s*+=;M, ,>*?Y@*ABA+AC=#N-*+=#N--D6z~-Y+SNE-/2 ' ().>/B0N2R3X4b9k:q;>X ~>$ss|y gkl*+=;M,,F*?Y@*ABA+AC=#N-*+=#N--D6~-Y+SNG-/2 E FGL:M>NJPNQTR[WdXjY>T~:!ll|y `daHYIL+?Y@JA*AKALACMW+?Y@NA*OPQA*RPSALACMW+?Y@TA*UVSALACMW+?Y@WALACMW*XM,Y.,ZN+?Y@-V[ALACMW+?Y@\ALACMW+?Y@*]ALACMW* ^M,Y,Z#N+-_W+?Y@\ALACMW+`6 eg.hfjklmopq9rBt\u>{49&aY7>*,*aM,b:,+cdefϱ 064y4~77 7`gYhMiY,jN6*>-k*a:l: -m-n:,p IQoJNQo> %3:?HJNQSU[R3:SG~``XO>*q ~>*r ~/*q /*r + 4*s  /*s *tuw ;tvPK Hs>""+com/sun/javacard/jcasm/JavaCharStream.class1  8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 # # # # 9 8 8 / / 8 8 8 8 6 staticFlagZ ConstantValuebufposIbufsize available tokenBeginbufline[I bufcolumncolumnline prevCharIsCR prevCharIsLF inputStreamLjava/io/Reader; nextCharBuf[CbuffermaxNextCharInd nextCharIndinBuftabSizehexval(C)ICodeLineNumberTableLocalVariableTablecC Exceptions setTabSize(I)Vi getTabSize(I)I ExpandBuff(Z)VtLjava/lang/Throwable; wrapAround newbuffer newbufline newbufcolumnFillBuff()VeLjava/io/IOException;ReadByte()C BeginTokenAdjustBuffSizeUpdateLineColumn(C)VreadChar backSlashCnt getColumn()I DeprecatedgetLine getEndColumn getEndLinegetBeginColumn getBeginLinebackupamount(Ljava/io/Reader;III)Vthis'Lcom/sun/javacard/jcasm/JavaCharStream;dstream startline startcolumn buffersize(Ljava/io/Reader;II)V(Ljava/io/Reader;)VReInit-(Ljava/io/InputStream;Ljava/lang/String;III)VLjava/io/InputStream;encodingLjava/lang/String;(Ljava/io/InputStream;III)V,(Ljava/io/InputStream;Ljava/lang/String;II)V(Ljava/io/InputStream;II)V*(Ljava/io/InputStream;Ljava/lang/String;)V(Ljava/io/InputStream;)VGetImage()Ljava/lang/String; GetSuffix(I)[ClenretDoneadjustBeginLineColumn(II)VnewLinenewColstartjk nextColDiff columnDiff SourceFileJavaCharStream.javajava/io/IOException ~i R? @? NM B? >? CD EDjava/lang/Throwablejava/lang/Error ~ A? O? P? JK LM i |\ G? F? hi Q? rm `a I; H; oi lm pq STjava/lang/StringBuilder!Invalid escape character at line  column .  ERROR: Second call to the constructor of a static JavaCharStream. You must either use ReInit() or set the JavaCC option STATIC to false during the generation of this class. ~ java/io/InputStreamReader ~ ~ ~ ~ java/lang/String ~%com/sun/javacard/jcasm/JavaCharStreamjava/lang/Object$java/io/UnsupportedEncodingExceptionjava/lang/System arraycopy*(Ljava/lang/Object;ILjava/lang/Object;II)V getMessage(Ljava/lang/String;)Vjava/io/Readerread([CII)Icloseappend-(Ljava/lang/String;)Ljava/lang/StringBuilder;(I)Ljava/lang/StringBuilder;toString([CII)V!89:;<= >?@?A?B? CD ED F? G? H; I; JK LM NM O? P? Q? R?(STU0f         YVJ!#%')+/2 5 8;>AW XYZ [\U/V[W ]? ^_U.V\W ]? `aU`L` M` N+d+d+ ,d ,d, -d -d- d`O+d+ ,d, -d- d: Y `Y Vn` abf"h4iFjJl\mnnrpqrtxy{|~ W4 bcd; eMfDgD hiUm YdY;Y`Ld O O+@AV: *08@ABHPWakWB+jk&G]?Z lmU:`Y4VZ nmUs;,d`Y4V& !'/37Z oiUS 6/ d  V. &/8ELR pqU`Y`&  Y`N 1*NN#' dpd` O OVR!'+18Dhlosv~W XY rmUMQ&d`Y4`Y Y;[U\!<`Y Y;[U\2!u!~dY d&\M d\! Y;u`" x "x "x "Y;U`1M Y#Y$%&'(&')&*d\!e  V(   !)8;MQSb e$w&{(*+-01;478:=>DEGL R NP;T@UBXHYK^O_W*jk-jkSs?F XYZ tuU  .Vhv wuU  .Vpv xuU  .Vu yuU  .Vz zuU  .V {uU  .V |\UU`dY `VW }?~UI*+ Y,+dY  V2  "+29@HW4IIKI?I?I?~UW *+-V  W* K ? ?~UC *+-V  W KU`+d )Y  YYYYV6 &-4;CKW_W4``K`?`?`?UW *+.V  W* K ? ?UC *+.V  W K~U"*,/Y+0 /Y+,1-V !W>""""?"?"?Z~Uh*/Y+0-V W4???~Uc *+,2V  W4   ? ?Z~UW *+3V  W*  ? ?~UN *+,2V  W   Z~UC *+3V  W U"*,/Y+0 /Y+,1.V !W>""""?"?"?ZUg*/Y+0.V W4???Uc *+,4V   W4   ? ?ZUW *+5V  W*  ? ?UN *+,4V  W   ZUC *+5V  W  UuU6Yd`7#Y$6Yd7&6Y`7&*V  " UPL`d`+1ddd+dd+dd`+V)+ , /:1N4WP?LM iU9  V:;< => U =d``>d```>66666N pY6. pY6.0 O .` .d6 `O6R O `O5 pY6. p. OҲ OȲ . .VZEH JN0Q9R?TcVjW|XYZ]_`bdegklmWf ????0?3]?6?9?<???iU^&V& ELM OPVWX YPK Hs>#com/sun/javacard/jcasm/Member.class1\ < =>? @ A B C D E FGH <I < JK LM N O NP QRS attributesInameLjava/lang/String;linecolumn relocAddr relocatedZ$assertionsDisabled(ILjava/lang/String;II)VCodeLineNumberTableLocalVariableTablethisLcom/sun/javacard/jcasm/Member; getAttributes()IgetName()Ljava/lang/String;relocate(I)Vaddress isRelocated()Z getRelocAddrtoStringsbLjava/lang/StringBuffer;()V SourceFile Member.java $9 #"java/lang/AssertionError name != null $T      !" !relocatedjava/lang/StringBufferjava/lang/StringBuilderU 5V WX 5. WYcom/sun/javacard/jcasm/MemberZ [3java/lang/Object(Ljava/lang/Object;)Vjava/lang/reflect/Modifier(I)Ljava/lang/String;append-(Ljava/lang/String;)Ljava/lang/StringBuilder;,(Ljava/lang/String;)Ljava/lang/StringBuffer;java/lang/ClassdesiredAssertionStatus! !"#"$%&.*, Y**,** ')*+,"-'.-/(4.)*....+,&/*'2( )*-.&/*';( )*/0&G * * '?@ A( )* 123&/* 'D( )*4,&J* Y * ' HI( )*5.&n2 YL+Y**W+'NP-Q(2)**6789&*':;PK Hs>Ӻ`Ke0e00com/sun/javacard/jcasm/MessagesBundle.properties# # Copyright (c) 2009 Sun Microsystems, Inc. # All rights reserved. # Use is subject to license terms. # # Assert assert.0=Assertion (precondition) [{0}] failed at: assert.1=Assertion [{0}] failed at: assert.2=Assertion (postcondition) [{0}] failed at: # Msg Msg.error=error: Msg.warning=warning: # Parser.java, Parser.jj parser.Pairs=Incorrect number of match/jump pairs to instruction {1} in file {0} at line number {2}. parser.Limit=Lower limit exceeds upper limit to instruction {1} in file {0} at line number {2}. parser.Offsets=Incorrect number of jump offsets to instruction {1} in file {0} at line number {2}. parser.Byte=Byte value ({1}) out of range in file {0} at line {2}, column {3}. parser.UnsignedByte=Unsigned byte value ({1}) out of range in file {0} at line {2}, column {3}. parser.Short=Short value ({1}) out of range in file {0} at line {2}, column {3}. parser.UnsignedShort=Unsigned short value ({1}) out of range in file {0} at line {2}, column {3}. parser.Integer=Integer value ({1}) out of range in file {0} at line {2}, column {3}. parser.ByteBranch=Byte branch displacement ({1}) out of range in file {0} at line {2}, column {3}. parser.ShortBranch=Short branch displacement ({1}) out of range in file {0} at line {2}, column {3}. parser.ArrayType=Invalid array type ({1}) in file {0} at line {2}, column {3}. parser.ConstantPoolIndex=Invalid constant pool index {1} in file {0} at line {2}, column {3}. parser.LocalIndex=Local index {1} out of range in file {0} at line {2}, column {3}. parser.Operand=Invalid operand to {1} in file {0} at line {2}. parser.Aid=Invalid AID in file {0} at line {1}, column {2}. parser.Attributes=Conflicting {1} attributes in file {0} at line {2}, column {3}. parser.ConstantPoolType=Constant pool entry at index ({1}) in file {0} at line {2}, column {3} not of type {4}. parser.17=Invalid package token in super class declaration of class {1} in file {0} at line {2}. parser.18=Invalid package token in constant pool of package {1} in file {0} at line {2}. parser.19=Interface method index in file {0} at line {1} is inconsistent with class {2}. parser.20=Invalid package token in interface class declaration of class {1} in file {0} at line {2}. parser.21=Field {1} declared in file {0} at line number {2} requires a token. parser.22=Method {1} declared in file {0} at line number {2} requires a token. parser.23=Invalid field initializer in field {1} declared in file {0} at line {2}. parser.24=Missing static field initializer in field {1} declared in file {0} at line {2}. parser.25=Invalid package token in field declaration of class {1} in file {0} at line {2}. parser.26=Method {1} declared in file {0} at line number {2} contains an invalid token. parser.27=Method {1} declared in file {0} at line number {2} should not have a token. parser.28=Invalid package token in super interface declaration of interface {1} in file {0} at line {2}. parser.29=Invalid package token in constant pool descriptor of package {1} in file {0} at line {2}. parser.30=Invalid method descriptor in method {1} of file {0} at line {2}. parser.31=Invalid descriptor in constant pool of file {0} at line {1}. parser.50=Encountered "{0}" at line {1}, column {2}. parser.51=Was expecting: {0} parser.52=Was expecting one of: {0} parser.53=Lexical error at line {0}, column {1}. Encountered {2} after "{3}". parser.54=Parse error in file : {0}. parser.60=Invalid escape character at line {0} column {1}. maskMain.0=Mask Builder (version {0}). maskMain.1=illegal flag: {0} maskMain.2=Mask generation completed with {0} warnings and {1} errors. maskMain.10=usage: maskgen [-options] generator filename [filename...] maskMain.11=where options include: maskMain.12= -help Print this message and exit. maskMain.13= -c Name of generator specific configuration file maskMain.14= -nobanner Do not display informational messages. maskMain.15= -o Output filename. default: a.out maskMain.16= -debuginfo Generate location debug info for mask. maskMain.17= -version Print version number and exit. maskMain.18=generator = [a51 | cref | jref | size] maskMain.20=Unsupported back-end generator {0}. maskMain.21=The -debuginfo option can only be used with the jref back-end generator. maskMain.22= [-16bit | -32bit] Generate a 16-bit or 32-bit(default) version mask for cref main.0=CAP File Builder (version {0}.{1}) main.1=illegal flag: {0} main.2=Copyright (c) 2009 Sun Microsystems, Inc. All rights reserved.\nUse is subject to license terms. main.3= main.10=usage: capgen [-options] filename main.11=where options include: main.12= -help Print this message and exit. main.13= -nobanner Do not display informational messages. main.14= -o Output filename. default: a.jar main.15= -version Print version number and exit. main.16=Input jca file not found : {0}. # Operand operand.0=Undefined symbol ({0}) at line {1}, column {2}. # JCPackage package.0=Duplicate class declaration {0} in package {1}. package.1=Duplicate class/interface token {0} in package {1}. package.2=Too many entries in constant pool of package {0}. package.3=Unable to determine package token for {0} while constructing descriptor component. package.4=Unable to determine class token for {0} while constructing descriptor component. package.5=Package contains more than 255 exception handlers. # JCMethod method.0=Duplicate local label ({0}) at line {1}. method.1=Abstract method {0} cannot have statements. method.2=Native method {0} cannot have statements. method.3=Method {0} exceeds maximum method size. # JCClass class.1=Duplicate method declaration {0} in class {1}. class.2=Duplicate method token {0} in class {1}. class.3=Duplicate field declaration {0} in class {1}. class.4=Duplicate field token {0} in class {1}. class.5=Too many interfaces implemented in class {0}. class.6=Too many virtual methods in virtual method table at line {0}. class.7=Invalid field token in field {0} of class {1}. class.8=Duplicate field token in filed {0} of class {1}. class.9=Non-abstract method {0} in interface {1}. class.10=Non-static final field {0} in interface {1}. # MethodTable methodTable.0=Too many virtual methods in {0} method table of class {1}. methodTable.1=Invalid {0} method table in class {1}. methodTable.2=Unable to resolve virtual method {0} of class {1}. methodTable.3=Method token {0} of method {1} is inconsistent with {2} method table in class {3}. methodTable.public=public methodTable.package=package # MaskLinker # # Note: CapLinker also refers to the following messages. # mlink.0=Package {0} imported by {1} is missing. mlink.1=Unable to locate java/lang/Object! mlink.2=Unable to locate super class of class {0}. mlink.3=Unable to resolve constant pool entry at line {0}. mlink.4=Constant pool entry at line {0} refers to static method {1} which is not static. mlink.5=Constant pool entry at line {0} refers to virtual method {1} which is not a virtual method. #mlink.6=Unable to resolve virtual method {0} of class {1}. mlink.7=Unable to locate javacard/framework/Shareable. mlink.12=Unable to resolve interface {0} declared in class {1}. mlink.13=Unable to resolve install method {0}. mlink.14=Install method {0} is not static. #mlink.15=Method token {0} of method {1} is inconsistent with method table in class {2}. mlink.16=Unable to locate super interface {0} of class {1}. mlink.17=Initialization of static field {0} is not permitted in library package {1}. mlink.21=Unable to resolve classRefInfo {0} at line {1}. mlink.22=Unable to resolve instanceFieldRefInfo {0} at line {1}. mlink.23=Unable to resolve virtualMethodRefInfo {0} at line {1}. mlink.24=Unable to resolve superMethodRefInfo {0} at line {1}. mlink.25=Unable to resolve staticFieldRefInfo {0} at line {1}. mlink.26=Unable to resolve staticMethodRefInfo {0} at line {1}. mlink.32=Field {0} referenced in instanceFieldRefInfo {1} is static. mlink.33=Method {0} referenced in virtualMethodRefInfo {1} is static. mlink.34=Field {0} referenced in superMethodRefInfo {1} is static. mlink.35=Field {0} referenced in staticFieldRefInfo {1} is not static. mlink.36=Method {0} referenced in staticMethodRefInfo {1} is not static. mlink.42=Access error resolving instanceFieldRefInfo {0} to field {1} at line number {2}. mlink.43=Access error resolving virtualMethodRefInfo {0} to method {1} at line number {2}. mlink.44=Access error resolving superMethodRefInfo {0} to method {1} at line number {2}. mlink.45=Access error resolving staticFieldRefInfo {0} to field {1} at line number {2}. mlink.46=Access error resolving staticMethodRefInfo {0} to method {1} at line number {2}. mlink.47=Could not find method identifier for method {0}. Try compiling again # RomMask mask.1=Duplicate package declaration: {0}. # InterfaceTable itable.0=Too many interface table entries in interface table declared at line {0}. # SizeOutputFormatter size.1=Mask Summary Information size.2=Total number of packages: {0}. size.3=Total number of classes: {0}. size.4=Total number of non-native methods: {0}. size.5=Total number of native methods: {0}. size.6=Total number of static fields: {0} of which {1} are final. size.7=Total size of all class bodies: {0} (in bytes). size.8=Total size of all method bodies: {0} (in bytes, not including native methods). size.9=Packages in mask size.91=Aid: {0}, major version: {1}, minor version {2} size.10=Class Size Information size.11=Method Size Information size.12=Total size of mask exception table: {0} bytes ({1} entries) size.13=Total size of mask export components: {0} bytes # ExceptionTable and ExceptionTableEntry exceptiontable.0=Undefined label ({0}) in exception table of method {1}. exceptiontable.1=Start offset is greater than end offset in exception table of method {0}. # CapLinker cap.1=Illegal native method: {0}. cap.3=Unable to resolve SuperMethodref_info {0} in constant pool of package {1}. # CapGen cap.4=Unable to resolve method hash collisions for remote class {0}. cap.5=Package has more than 255 clases. # ClassDescriptorInfo cap.2=No matching constant pool entry found for field: {0}. # CrefOutputFormatter crefbanner.1=Java Card Mask for the C-JCRE crefbanner.2=Generated by cref.0=Invalid specification of ROMBASE in configuration file. cref.1=Invalid specification of E2BASE in configuration file. cref.2=Not enough ROM available in the mask to continue operation.\nChange ROM size in configuration file and try again. cref.3=Too many super interfaces for {0}. cref.4=Entry PACKAGE_TABLE and/or PACKAGE_CONTEXT_TABLE missing from the configuration file.\nAdd the required entry and try again. cref.5=Too many packages cref.6=Too many applet packages cref.7=Class javacard/framework/AID not found # JrefOutputFormatter jref.1=error writing debug info. jref.2=error writing to DataOutputStream. jref.3=Invalid value for ROM size provided. Continuing with default value of 32K. jref.4=Not enough ROM available in the mask to continue operation.\nChange ROM size in configuration file and try again. jref.5=Not enough EEPROM available in the mask to complete operation. jref.6=ROM size provided in the configuration is too big to fit in 64K of total memory.\nContinuing with default size. # generic OutputFormatter output.0=Initialization of static field {0} is not supported in this version of maskgen. # Component component.0={0} Component exceeds maximum size (65535 bytes). header=Header directory=Directory import=Import applet=Applet class=Class method=Method field=Field staticfield=Static Field export=export constantpool=Constant Pool referencelocation=Reference Location descriptor=Descriptor debug=Debug # ExportComponent export.1=Class tokens in package {0} are not numbered consecutively starting at 0. export.2=Field tokens in class {0} are not numbered consecutively starting at 0. export.3=Method tokens in class {0} are not numbered consecutively starting at 0. # StaticComponent static.1=Static array initialization in class {0} in library package not allowed. # Cap Writer capWriter.1=Unable to open output file for writing : {0}. ver.err=Verifier Error: PK Hs>H-com/sun/javacard/jcasm/MethodIdentifier.class1A , - . /0 12 134 , 56 7 8 9:classIdentifier(Lcom/sun/javacard/jcasm/ClassIdentifier; methodTokenIisStaticZ-(Lcom/sun/javacard/jcasm/ClassIdentifier;IZ)VCodeLineNumberTableLocalVariableTablethis)Lcom/sun/javacard/jcasm/MethodIdentifier;getClassIdentifier*()Lcom/sun/javacard/jcasm/ClassIdentifier;getMethodToken()Iequals(Ljava/lang/Object;)ZobjLjava/lang/Object;midhashCodehashtoString()Ljava/lang/String; SourceFileMethodIdentifier.java ;   'com/sun/javacard/jcasm/MethodIdentifier< !" & java/lang/StringBuilder => =? =@ ()java/lang/Object()V&com/sun/javacard/jcasm/ClassIdentifierappend-(Ljava/lang/Object;)Ljava/lang/StringBuilder;-(Ljava/lang/String;)Ljava/lang/StringBuilder;(I)Ljava/lang/StringBuilder;!l**+** */*  /* !"6++M*,,*,*#$ &'2(4* 66#$(%& M*<*`<234 '()HY *  * ? *+PK Hs>a6>com/sun/javacard/jcasm/MethodTable$MethodTableEnumerator.class1. ! " #$ % &()*indexItable"[Lcom/sun/javacard/jcasm/JCMethod;%([Lcom/sun/javacard/jcasm/JCMethod;)VCodeLineNumberTableLocalVariableTablethisMethodTableEnumerator InnerClasses:Lcom/sun/javacard/jcasm/MethodTable$MethodTableEnumerator;hasMoreElements()Z nextElement#()Lcom/sun/javacard/jcasm/JCMethod;()Ljava/lang/Object; SignatureLLjava/lang/Object;Ljava/util/Enumeration; SourceFileMethodTable.java +   java/util/NoSuchElementException , -8com/sun/javacard/jcasm/MethodTable$MethodTableEnumeratorjava/lang/Objectjava/util/Enumeration()V(Ljava/lang/String;)V"com/sun/javacard/jcasm/MethodTable     F **+   I*** `.*** Y**YZ`2 .A/*    'PK Hs>׎~l(com/sun/javacard/jcasm/MethodTable.class1  E E E  E E E E     E E         +   1 3 3 E  E 3  E MethodTableEnumerator InnerClassesoptimizeZ MAX_ENTRIESI ConstantValue parentClass Lcom/sun/javacard/jcasm/JCClass;baseisPublic nameVectorLjava/util/Vector; Signature&Ljava/util/Vector;methods"[Lcom/sun/javacard/jcasm/JCMethod;fixedPkgMethodTableBase$assertionsDisabled%(Lcom/sun/javacard/jcasm/JCClass;IZ)VCodeLineNumberTableLocalVariableTablethis$Lcom/sun/javacard/jcasm/MethodTable; addMethod(Ljava/lang/String;)VtableLjava/lang/String;args[Ljava/lang/Object;mresolve((Lcom/sun/javacard/jcasm/SymbolTable;Z)Vi methodName currentClass!Lcom/sun/javacard/jcasm/JCMethod;tokensymtab$Lcom/sun/javacard/jcasm/SymbolTable; isCapFileeLjava/util/Enumeration;index expectedTokenLocalVariableTypeTableYLcom/sun/javacard/jcasm/SymbolTable;+Ljava/util/Enumeration;](Lcom/sun/javacard/jcasm/SymbolTable;Z)VgetBase()IgetCountcountelements()Ljava/util/Enumeration;<()Ljava/util/Enumeration; nameElements-()Ljava/util/Enumeration;toString()Ljava/lang/String;sbLjava/lang/StringBuffer;getFixedPkgMethodTableBase superClass isPkgMethod$(Lcom/sun/javacard/jcasm/JCMethod;)Zelementarr$len$i$()V SourceFileMethodTable.java [ IJ YL ZJjava/lang/AssertionErrorbase <= MAX_ENTRIES [ OP QL RJjava/util/Vector ST |methodTable.public methodTable.packagejava/lang/Object  methodTable.0  methodTable.1  }|com/sun/javacard/jcasm/JCMethod WX java/lang/Stringjava/lang/StringBuilder /   methodTable.2 |  |java/lang/Integer [  methodTable.3 count < 0: 8com/sun/javacard/jcasm/MethodTable$MethodTableEnumerator [java/lang/StringBuffer.publicMethodTable .packageMethodTable {|  { e  } P   a |"com/sun/javacard/jcasm/MethodTable (Ljava/lang/Object;)V addElementsizecom/sun/javacard/jcasm/Msg getMessage&(Ljava/lang/String;)Ljava/lang/String;com/sun/javacard/jcasm/JCClassgetNameerror((Ljava/lang/String;[Ljava/lang/Object;)Vjava/util/Enumeration nextElement()Ljava/lang/Object;hasMoreElements()Zappend-(Ljava/lang/String;)Ljava/lang/StringBuilder;"com/sun/javacard/jcasm/SymbolTableget&(Ljava/lang/Object;)Ljava/lang/Object; getSuperClass"()Lcom/sun/javacard/jcasm/JCClass; getAttributesjava/lang/reflect/ModifierisStatic(I)ZgetMethodIdentifier+()Lcom/sun/javacard/jcasm/MethodIdentifier;'com/sun/javacard/jcasm/MethodIdentifiergetMethodToken(I)VgetParentClass%([Lcom/sun/javacard/jcasm/JCMethod;)V,(Ljava/lang/String;)Ljava/lang/StringBuffer;(I)Ljava/lang/StringBuilder;eol parentPackage"Lcom/sun/javacard/jcasm/JCPackage;equals(Ljava/lang/Object;)ZpackageMethodTablejava/lang/ClassdesiredAssertionStatus!E IJKLMNOPQLRJSTUVWXYLZJ [\]@*** Y*+* * * Y ^& B 6C%D*E/F4G?H_*@`a@OP@QL@RJbc]D* +* 1* MY,SY*SN-^QRT*U=VCX_**de=fgD`aDheij]_ * * 4* NY-SY*S:* N*6* -W**6* d6-I-:*:+Y !"!!#$:n%::,* %YSY*S: & y+Y !"!!#$:'(%YSY*S: & $)*6  ~P* : Y+Y ,SY-SY SY.S: / *S^,fh#i7j>k?mGnNqZraqgurvuw}xyz|}~/:OVY\fp_#de7fgQkL fg O fg 7de  fg 8le/mP hnfcoL `apqrJGstuXuL}PvLwpxGsyUz{|]@** ^ _ `a}|]L** * d< * <($YY 0!*!#^J_ ~LL`a-~L]6 1Y*2^_  `aU]2* ^_ `aU]3Y4L* +56W +76W+Y *89:!;!#6W*!;!#6W+?^&  AOx_ F2st`aw F2sy|]n* ***@L+** ?+A*AB** +CD`** +CD`+C`*^.  "->Qi_n`aPP]3* *M,>6,2:+B^  )+1_> n#X LL3`a3hn]*EF^H 1EGPK Hs>  com/sun/javacard/jcasm/Msg.class1 5u 4v 4w xyz u 4{| }~   x   4 4 4 %u % % % % } 4 v wmessagesLjava/util/ResourceBundle;eolLjava/lang/String;outLjava/io/PrintStream;err()VCodeLineNumberTableLocalVariableTablethisLcom/sun/javacard/jcasm/Msg;setOut(Ljava/io/PrintStream;)VnewOutsetErrnewErrwarn(Ljava/lang/String;)Vmsg((Ljava/lang/String;[Ljava/lang/Object;)Vkeyargs[Ljava/lang/Object;error(Ljava/lang/Exception;)VeLjava/lang/Exception;info getMessage&(Ljava/lang/String;)Ljava/lang/String;9(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String; toHexString(B)Ljava/lang/String;valueBnvalueI(S)Ljava/lang/String;S(I)Ljava/lang/String;to16BitHexStringsto24BitHexStringto32BitHexStringtoAddressStringaddress([B)Ljava/lang/String;array[B(([BLjava/lang/String;)Ljava/lang/String;elementarr$len$i$ delimitersbLjava/lang/StringBuffer; SourceFileMsg.java => :; <; ]java/lang/StringBuilder 67 Msg.warning V   J J W ] Msg.error U0x X`0x00x000x0000x00000x000000x000000 0x0000000 XY, : Xjjava/lang/StringBuffer  %com/sun/javacard/jcasm/MessagesBundle line.separator  89com/sun/javacard/jcasm/Msgjava/lang/Objectcom/sun/javacard/jcasm/Globalswarningsjava/util/ResourceBundle getStringappend-(Ljava/lang/String;)Ljava/lang/StringBuilder;toString()Ljava/lang/String;java/io/PrintStreamprintprintlnjava/text/MessageFormatformaterrorsjava/lang/Exceptionjava/lang/Integer,(Ljava/lang/String;)Ljava/lang/StringBuffer;length()Ijava/lang/String setLength(I)V getBundle.(Ljava/lang/String;)Ljava/util/ResourceBundle;java/lang/System getProperty8(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;!456789 :; <;=>?/*@A BC DE?3*@  A F; GE?3*@ )*A H; IJ?f0`Y  *@12(3/4A 0K9 IL?z:`Y  * +@;<(=9>A:M9:NO PJ?f0`Y  *@EF(G/HA 0K9 PQ?i3`Y  *@OP(Q2RA 3RS PL?z:`Y  * +@YZ([9\A:M9:NO TJ?6*@ bcA K9 TL?J* +@ ijAM9NO UV?2* @pA M9 UW?@ * +@wA M9 NO XY?z:~<Y  Y  @ #A:Z[4\] X^?u~<Y  Y  Y  Y  @" #*AG^AuZ_p\] X`?DY  Y  Y  Y  Y  Y  Y  Y  @>!8>U[ryA Z] a`?eY  zLY+  LY+  LY+  L+@$8OcA$Ab9eZ] c`?Y  zLY+  LY+ z LY+  LY+  LY+  L+@& $8Rf}A$ob9Z] d`?zLY+  LY+ z LY+  LY+ z LY+  LY+  LY+  L+@& 7KeyAZ] b9 e`?/!@A f] Xg?1*"#@A hi Xj?X*$%Y&M*N-66*-36,Y + 'W,,(+)d*,+@"%@FSAH%k[5li1m].n]XhiXo9Ipqr>?C,-./0123@stPK Hs>!TL$com/sun/javacard/jcasm/Operand.class1 y %z %{ |} %~ | % % % % C %     y %    TYPE_BYTEI ConstantValueTYPE_UNSIGNED_BYTE TYPE_SHORTTYPE_UNSIGNED_SHORT TYPE_INTEGERTYPE_UNSIGNED_INTEGERTYPE_BYTE_CONSTANT_POOL_INDEXTYPE_CONSTANT_POOL_INDEXTYPE_LOCAL_INDEX TYPE_BYTE_BRANCH TYPE_SHORT_BRANCH  TYPE_ARRAY  lineNumbercolumntypeintValue stringValueLjava/lang/String; needsFixupZ resolvedToLcom/sun/javacard/jcasm/Info;$assertionsDisabled#(IILcom/sun/javacard/jcasm/Token;)VCodeLineNumberTableLocalVariableTablethis Lcom/sun/javacard/jcasm/Operand;datatokLcom/sun/javacard/jcasm/Token;4(Ljava/lang/String;ILcom/sun/javacard/jcasm/Token;)VgetValue()IgetTypegetLine getColumnresolve (Lcom/sun/javacard/jcasm/Info;)Vinfo()Lcom/sun/javacard/jcasm/Info; isResolved()Z methodFixup(Ljava/util/Hashtable;I)V arguments[Ljava/lang/Object;symtabLjava/util/Hashtable;relPcdatumLjava/lang/Integer; targetAddrLocalVariableTypeTable; Signature@(Ljava/util/Hashtable;I)VsizetoString()Ljava/lang/String;sbLjava/lang/StringBuffer;()V SourceFile Operand.java Lv D( C( ( A( ( B( r EF GH KHjava/lang/AssertionError info != null L IJresolvedTo != null java/lang/Integerjava/lang/Object L operand.0 DX?parser.ShortBranchparser.ByteBranch (java/lang/StringBuffer pX qrcom/sun/javacard/jcasm/Operand acom/sun/javacard/jcasm/Token beginLine beginColumnjava/lang/String toLowerCase(Ljava/lang/Object;)Vjava/util/Hashtableget&(Ljava/lang/Object;)Ljava/lang/Object;(I)Vcom/sun/javacard/jcasm/Msgerror((Ljava/lang/String;[Ljava/lang/Object;)Vcom/sun/javacard/jcasm/Globalserrors toHexString(B)Ljava/lang/String;append,(Ljava/lang/String;)Ljava/lang/StringBuffer;(S)Ljava/lang/String;(I)Ljava/lang/String;java/lang/ClassdesiredAssertionStatus!%'()*+(),-()./()01()23()45()67()89():;()<=()>?()@A(B(C(D(EFGHIJKH LMN#***-*-*-O@A BCDE"GP*#QR#S(#C(#TULVN+**+ *-*-*-* O"QR STUV%X*YP*+QR+SF+C(+TUWXN/*OaP QRYXN/*OjP QRZXN/*OqP QR[XN/*OxP QR\]N|< + Y  ** Y*+O|}6~;P<QR<^J\_Np> * Y ** Y*O9P >QR`aN7 *OP  QRbcN/* +* N-4Y* SYY*SYY*S:-6* w *d* *=*YSY* SYY*SYY*S:* g*d* *E*YSY* SYY*SYY*S:`* OfAHIOlt&+.PRAdedede/QR/fg/h(ijOk(l /fmnopXNe<*M >>CCHH>C>>C><<< YO* DFIKNPScPeQRcp(qrN]YL*L 0L@+* !W+*"!W+*#!W+$O",9<ILXP]QRUstuvN*%& O wxPK Hs>x__.com/sun/javacard/jcasm/PackageIdentifier.class1d A BCD EFGHI J K L MN O PQ PRS A PT UV WX T YZ[ majorVersionI minorVersionaidLcom/sun/javacard/jcasm/Aid;ecaS$assertionsDisabledZ!(Lcom/sun/javacard/jcasm/Aid;II)VCodeLineNumberTableLocalVariableTablethis*Lcom/sun/javacard/jcasm/PackageIdentifier;getMajorVersion()IgetMinorVersiongetAid()Lcom/sun/javacard/jcasm/Aid;setECA(S)VaddrgetECA()Sequals(Ljava/lang/Object;)ZobjLjava/lang/Object;hashCodetoString()Ljava/lang/String;()V SourceFilePackageIdentifier.java %> #$java/lang/AssertionError aid != null %\majorVersion >= 0majorVersion <= 255minorVersion >= 0minorVersion <= 255    !"(com/sun/javacard/jcasm/PackageIdentifier /0] 67 :-java/lang/StringBuilder ;< ^_ ^`.a bcjava/lang/Object(Ljava/lang/Object;)Vcom/sun/javacard/jcasm/Aidappend-(Ljava/lang/String;)Ljava/lang/StringBuilder;(I)Ljava/lang/StringBuilder;java/lang/ClassdesiredAssertionStatus()Z! !"#$ %&'~*+ Y Y Y Y Y *+ * * (*  ,!C"W#n$s%x&}')*~*+~ ~~,-'/* (-) *+.-'/* (4) *+/0'/* (;) *+12'>* ( BC)*+3"45'/* (I) *+67'~:++* !+ * + * (QR T6V8X):*+:89:-'<* * `* `(a) *+;<'W-Y* * * (f) -*+=>'*( ?@PK Hs>n +com/sun/javacard/jcasm/ParseException.class1 3a 4bcd ef 3g 3h 3i 3j 4kl k m nopq rst k uv w rxy rz 3{| r} ~ r w   serialVersionUIDJ ConstantValue currentTokenLcom/sun/javacard/jcasm/Token;expectedTokenSequences[[I tokenImage[Ljava/lang/String;eolLjava/lang/String;7(Lcom/sun/javacard/jcasm/Token;[[I[Ljava/lang/String;)VCodeLineNumberTableLocalVariableTablethis'Lcom/sun/javacard/jcasm/ParseException;currentTokenValexpectedTokenSequencesVal tokenImageVal()V(Ljava/lang/String;)Vmessage initialiseH(Lcom/sun/javacard/jcasm/Token;[[I[Ljava/lang/String;)Ljava/lang/String;jIiexpectedLjava/lang/StringBuffer;maxSizeretvaltok add_escapes&(Ljava/lang/String;)Ljava/lang/String;schCstr SourceFileParseException.java OP BMline.separator  @A :; <= >? BLjava/lang/StringBuffer ...  Encountered " ;java/lang/StringBuilder  R " A YZ " at line R  , column R.Was expecting:Was expecting one of: \b\t\n\f\r\"\'\\0000 \u %com/sun/javacard/jcasm/ParseExceptionjava/lang/Exceptionjava/lang/System getProperty8(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;append,(Ljava/lang/String;)Ljava/lang/StringBuffer;(C)Ljava/lang/StringBuffer;com/sun/javacard/jcasm/Tokennext-(Ljava/lang/String;)Ljava/lang/StringBuilder;toString()Ljava/lang/String;kindimage beginLine(I)Ljava/lang/StringBuilder; beginColumnjava/lang/Stringlength()IcharAt(I)Cjava/lang/Integer(II)Ljava/lang/String; substring!345678:;<=>?@ABCD%*+,-**+*,*- E' ()*$+F*%GH%I;%J=%K?BLDB* *E89F GHBMDM*+*E=>FGHNA OPD N Y :66+d+2 +266+2,+2.2  W+2+2d.  W-  W:*:6Y:Y,2:xY,2:Y:Y:Y::JY** :Y!-:+%Y"-:"Y#-:Y$:E!`abcd(e/g<hPgVjekmmycopqrstuwxy"z8{?qE}t~Fp 2$QRhSRSR:;<=>?@ATUVRnWAhX;YZD# Y L>*%*& QT ^ h r |"'\+' W+( W+) W+* W++ W~+, Wt+- Wj+. W`*&Y= ~HY/0:+Y1%d%2 W +W+$Enhkru|F4([AV\] SR#^AWU_`PK Hs>-MZG%com/sun/javacard/jcasm/Parser$1.class1   SourceFile Parser.javaEnclosingMethod com/sun/javacard/jcasm/Parser$1 InnerClassesjava/lang/Objectcom/sun/javacard/jcasm/Parser  PK Hs>@+com/sun/javacard/jcasm/Parser$JJCalls.class1 genIfirstLcom/sun/javacard/jcasm/Token;argnextJJCalls InnerClasses'Lcom/sun/javacard/jcasm/Parser$JJCalls;()VCodeLineNumberTableLocalVariableTablethis SourceFile Parser.java %com/sun/javacard/jcasm/Parser$JJCallsjava/lang/Objectcom/sun/javacard/jcasm/Parser0  /*    PK Hs> ZQcc4com/sun/javacard/jcasm/Parser$LookaheadSuccess.class1  ()VCodeLineNumberTableLocalVariableTablethisLookaheadSuccess InnerClasses0Lcom/sun/javacard/jcasm/Parser$LookaheadSuccess;$(Lcom/sun/javacard/jcasm/Parser$1;)Vx0!Lcom/sun/javacard/jcasm/Parser$1; SourceFile Parser.java .com/sun/javacard/jcasm/Parser$LookaheadSuccessjava/lang/Errorcom/sun/javacard/jcasm/Parser$1com/sun/javacard/jcasm/Parser0/*  9*    PK Hs>cۙ#com/sun/javacard/jcasm/Parser.class1   O    O   O                 !       (   -  (   5 5  9 9 <  ? ?  C C       M P P P P P P   P  P  P P  P  P P f f f f k k k k   !T t"# $ % &'( &)*+ &, &- t./  0 12 P3 45 6 7 P8 9: &;<=>? @A 4 B C D E F G H IJK L MNO PQ R S T U V WX YZ [ \ ] ^ _` a b c d e f gh ijk l mn o Opq &rstuv wxy z{ t| } ~  - - - -                                          @ @ a "l@Hl,@!          ,    D F  J L  O L O  T  F L F F  T T T                f   ! T            InnerClassesJJCallsLookaheadSuccess usesIntegersZinternalClassTokenI inputSpecLjava/lang/String;jj_initialized_once token_source+Lcom/sun/javacard/jcasm/ParserTokenManager;jj_input_stream'Lcom/sun/javacard/jcasm/JavaCharStream;tokenLcom/sun/javacard/jcasm/Token;jj_nt jj_scanpos jj_lastposjj_lajj_genjj_la1[Ijj_la1_0jj_la1_1jj_la1_2jj_la1_3jj_la1_4jj_la1_5jj_la1_6jj_la1_7jj_la1_8 jj_2_rtns([Lcom/sun/javacard/jcasm/Parser$JJCalls; jj_rescanjj_gcjj_ls0Lcom/sun/javacard/jcasm/Parser$LookaheadSuccess; jj_expentriesLjava/util/List; SignatureLjava/util/List<[I>; jj_expentryjj_kind jj_lasttokens jj_endpos getInputSpec()Ljava/lang/String;CodeLineNumberTablePackageDeclaration$()Lcom/sun/javacard/jcasm/JCPackage;LocalVariableTableapplet)Lcom/sun/javacard/jcasm/AppletDeclarator;infoLcom/sun/javacard/jcasm/Info;e'Lcom/sun/javacard/jcasm/ParseException;p"Lcom/sun/javacard/jcasm/JCPackage;c Lcom/sun/javacard/jcasm/JCClass;tokaidLcom/sun/javacard/jcasm/Aid;major Lcom/sun/javacard/jcasm/Operand;minormicro ExceptionsconstantPoolEntryA(Lcom/sun/javacard/jcasm/JCPackage;)Lcom/sun/javacard/jcasm/Info;args[Ljava/lang/Object;descpid*Lcom/sun/javacard/jcasm/PackageIdentifier;op0op1packIdtok2op2ClassDeclarationD(Lcom/sun/javacard/jcasm/JCPackage;)Lcom/sun/javacard/jcasm/JCClass;cid(Lcom/sun/javacard/jcasm/ClassIdentifier;scidi'Lcom/sun/javacard/jcasm/InterfaceTable;rim!Lcom/sun/javacard/jcasm/JCMethod; classNamemodifieroperand packageIdclassIdInterfaceDeclarationicidPublicVirtualMethodTableF(Lcom/sun/javacard/jcasm/JCClass;)Lcom/sun/javacard/jcasm/MethodTable;base methodTable$Lcom/sun/javacard/jcasm/MethodTable;PackageVirtualMethodTable InterfaceListk(Lcom/sun/javacard/jcasm/JCPackage;Lcom/sun/javacard/jcasm/JCClass;)Lcom/sun/javacard/jcasm/InterfaceTable;tableitablelimit name_descr ClassFieldsE(Lcom/sun/javacard/jcasm/JCPackage;Lcom/sun/javacard/jcasm/JCClass;)Vfid(Lcom/sun/javacard/jcasm/FieldIdentifier;fLcom/sun/javacard/jcasm/Field; fieldNamefInit/Lcom/sun/javacard/jcasm/StaticFieldInitializer; descriptor(Lcom/sun/javacard/jcasm/FieldDescriptor;modright_descriptorarrayFieldInit fieldInitMethodDeclaratione(Lcom/sun/javacard/jcasm/JCPackage;Lcom/sun/javacard/jcasm/JCClass;)Lcom/sun/javacard/jcasm/JCMethod;tvalmid)Lcom/sun/javacard/jcasm/MethodIdentifier;s"Lcom/sun/javacard/jcasm/Statement; argumentsexEntry,Lcom/sun/javacard/jcasm/ExceptionTableEntry;indexstaticNameSpace methodName methodToken startTokenendToken catchToken startOffset endOffset catchOffsetcpIndexMethodDirectivef(Lcom/sun/javacard/jcasm/JCPackage;Lcom/sun/javacard/jcasm/JCClass;Lcom/sun/javacard/jcasm/JCMethod;)Voperand2 statement(Lcom/sun/javacard/jcasm/JCPackage;Lcom/sun/javacard/jcasm/JCClass;Lcom/sun/javacard/jcasm/JCMethod;)Lcom/sun/javacard/jcasm/Statement;ins$Lcom/sun/javacard/jcasm/Instruction; instruction(Lcom/sun/javacard/jcasm/JCPackage;Lcom/sun/javacard/jcasm/JCClass;Lcom/sun/javacard/jcasm/JCMethod;)Lcom/sun/javacard/jcasm/Instruction;methoperand3opVecLjava/util/Vector;n classModifier()IinterfaceModifiermethodModifier fieldModifierfieldDescriptorl(Lcom/sun/javacard/jcasm/JCPackage;Lcom/sun/javacard/jcasm/JCClass;)Lcom/sun/javacard/jcasm/FieldDescriptor; classToken packageTokenfieldDescriptorString6(Lcom/sun/javacard/jcasm/JCPackage;)Ljava/lang/String; byteValue"()Lcom/sun/javacard/jcasm/Operand;ivalvalueLjava/lang/Integer;unsignedByteValue shortValueunsignedShortValue integerValuebyteBranchDisplacement displacementshortBranchDisplacementshortBranchDisplacementList()Ljava/util/Vector;vLocalVariableTypeTable4Ljava/util/Vector;ilookupswitchMatchListslookupswitchMatchListprimitiveArrayTypetypebyteConstantPoolIndexE(Lcom/sun/javacard/jcasm/JCPackage;I)Lcom/sun/javacard/jcasm/Operand;constantPoolIndexF(Lcom/sun/javacard/jcasm/JCPackage;IZ)Lcom/sun/javacard/jcasm/Operand;check localIndexarray()[IoLjava/util/Enumeration;()Lcom/sun/javacard/jcasm/Aid;linecolumn[Bsize error_skipto(I)Vkindtjj_2_1(I)Zlsxlajj_2_2jj_2_3jj_2_4jj_2_5jj_2_6jj_2_7jj_2_8jj_2_9jj_2_10jj_2_11jj_3R_39()Zjj_3R_27jj_3_5jj_3_1jj_3_7jj_3_3jj_3_10jj_3_9jj_3R_37jj_3R_36jj_3R_38jj_3R_35jj_3R_29jj_3R_34jj_3R_33jj_3R_32jj_3R_31jj_3R_30jj_3R_26xspjj_3_4jj_3R_28jj_3_2jj_3_6jj_3_11jj_3_8 jj_la1_init_0()V jj_la1_init_1 jj_la1_init_2 jj_la1_init_3 jj_la1_init_4 jj_la1_init_5 jj_la1_init_6 jj_la1_init_7 jj_la1_init_8(Ljava/io/InputStream;)VthisLcom/sun/javacard/jcasm/Parser;streamLjava/io/InputStream;*(Ljava/io/InputStream;Ljava/lang/String;)V&Ljava/io/UnsupportedEncodingException;encodingReInit(Ljava/io/Reader;)VLjava/io/Reader;.(Lcom/sun/javacard/jcasm/ParserTokenManager;)Vtmjj_consume_token!(I)Lcom/sun/javacard/jcasm/Token;'Lcom/sun/javacard/jcasm/Parser$JJCalls;oldToken jj_scan_token getNextToken ()Lcom/sun/javacard/jcasm/Token;getTokenjj_add_error_token(II)VoldentryitLjava/util/Iterator;posgenerateParseException)()Lcom/sun/javacard/jcasm/ParseException;j la1tokens[Z exptokseq[[Ienable_tracingdisable_tracingjj_rescan_tokenjj_save SourceFile Parser.java   X  Q 73 com/sun/javacard/jcasm/JCPackage  (com/sun/javacard/jcasm/PackageIdentifier  (       'com/sun/javacard/jcasm/AppletDeclaratorjava/lang/StringBuilder   //install([BSB)V        %com/sun/javacard/jcasm/ParseException    VW Z[#com/sun/javacard/jcasm/ClassRefInfo  ! "java/lang/Objectjava/lang/Integer # W parser.18 $ % ^[ 01+com/sun/javacard/jcasm/InstanceFieldRefInfo & ' _[+com/sun/javacard/jcasm/VirtualMethodRefInfo)com/sun/javacard/jcasm/SuperMethodRefInfo `[)com/sun/javacard/jcasm/StaticFieldRefInfo a[*com/sun/javacard/jcasm/StaticMethodRefInfoL( )* parser.31 +, -. '( b[&com/sun/javacard/jcasm/ClassIdentifier com/sun/javacard/jcasm/JCClass / 01 parser.17 23 4 5   6  7  89 :9  ;< )( =1 parser.28 =3"com/sun/javacard/jcasm/MethodTable > ;1 ?( @(%com/sun/javacard/jcasm/InterfaceTable A parser.20 B parser.19 CD EW +( ,-&com/sun/javacard/jcasm/FieldDescriptor F[S MN :3G H[ parser.23 I[ parser.24 parser.21 J[ K[ Li-com/sun/javacard/jcasm/StaticFieldInitializer M NO&com/sun/javacard/jcasm/FieldIdentifier PQ Rcom/sun/javacard/jcasm/Field S T UV *(( W[ parser.27 parser.22 parser.26com/sun/javacard/jcasm/JCMethod X'com/sun/javacard/jcasm/MethodIdentifier Y   Z[ 93 \] ^( _(parser.ConstantPoolIndexcom/sun/javacard/jcasm/Operand `a b(parser.ConstantPoolType c*com/sun/javacard/jcasm/ExceptionTableEntry d ef gW hW parser.30  ! com/sun/javacard/jcasm/Statement i"com/sun/javacard/jcasm/Instruction j L3 kl IJ 23parser.Operand GH ;3 =3 83 C? U( mn parser.Pairs >? parser.Limitparser.Offsets E3 D?class op qparser.Attributes r[methodfieldBS c[[L; d[ parser.25 s e[ f[ parser.29. tu v(0 parser.Byte 2wparser.UnsignedByte parser.Short 8xparser.UnsignedShortparser.Integer yparser.ByteBranchparser.ShortBranchjava/util/Vector z{parser.ArrayTypeparser.LocalIndex g[ |}~ i  S parser.Aidcom/sun/javacard/jcasm/Aid       li .com/sun/javacard/jcasm/Parser$LookaheadSuccess i ni }i ki i mi i pi oi i ji [ zi yi xi wi vi ti ri qi si hi {i ~i ui            5ERROR: Second call to constructor of static parser.  1L You must either use ReInit() or set the JavaCC option STATIC to false during parser generation.java/lang/Error%com/sun/javacard/jcasm/JavaCharStream  $java/io/UnsupportedEncodingExceptionjava/lang/RuntimeException )com/sun/javacard/jcasm/ParserTokenManager  com/sun/javacard/jcasm/Token  %com/sun/javacard/jcasm/Parser$JJCalls   4ERROR: Second call to constructor of static parser.                 i     n             java/util/ArrayListcom/sun/javacard/jcasm/Parser&com/sun/javacard/jcasm/ParserConstantscom/sun/javacard/jcasm/Parser$1imagegetValue!(Lcom/sun/javacard/jcasm/Aid;II)V beginLine@(Ljava/lang/String;Lcom/sun/javacard/jcasm/PackageIdentifier;I)V addImport-(Lcom/sun/javacard/jcasm/PackageIdentifier;)VgetNameappend-(Ljava/lang/String;)Ljava/lang/StringBuilder;toStringC(Lcom/sun/javacard/jcasm/Aid;Ljava/lang/String;Ljava/lang/String;)V addApplet,(Lcom/sun/javacard/jcasm/AppletDeclarator;)VaddConstantPoolEntry (Lcom/sun/javacard/jcasm/Info;)VaddClass#(Lcom/sun/javacard/jcasm/JCClass;)V(Z)Vcom/sun/javacard/jcasm/Msgerror(Ljava/lang/Exception;)V getIdentifier,()Lcom/sun/javacard/jcasm/PackageIdentifier;?(Lcom/sun/javacard/jcasm/PackageIdentifier;Ljava/lang/String;)V-(I)Lcom/sun/javacard/jcasm/PackageIdentifier; lineNumber((Ljava/lang/String;[Ljava/lang/Object;)V.(Lcom/sun/javacard/jcasm/PackageIdentifier;I)VQ(Lcom/sun/javacard/jcasm/PackageIdentifier;Ljava/lang/String;Ljava/lang/String;)VA(Lcom/sun/javacard/jcasm/PackageIdentifier;IILjava/lang/String;)Vjava/lang/String startsWith(Ljava/lang/String;)Z substring(I)Ljava/lang/String; addDescriptor(Ljava/lang/String;II)Va(Lcom/sun/javacard/jcasm/JCPackage;ILjava/lang/String;Lcom/sun/javacard/jcasm/ClassIdentifier;I)VsetSuperClassName(Ljava/lang/String;)VsetSuperClassIdentifier+(Lcom/sun/javacard/jcasm/ClassIdentifier;)V makeShareable setRemotepublicMethodTablepackageMethodTable addInterface*(Lcom/sun/javacard/jcasm/InterfaceTable;)VaddRemoteInterface addMethod$(Lcom/sun/javacard/jcasm/JCMethod;)VaddSuperInterface%(Lcom/sun/javacard/jcasm/JCClass;IZ)VgetBasegetCount6(Lcom/sun/javacard/jcasm/JCClass;Ljava/lang/String;I)VL(Lcom/sun/javacard/jcasm/JCClass;Lcom/sun/javacard/jcasm/ClassIdentifier;I)VaddRemoteMethodInfo(Ljava/lang/String;I)VaddInterfaceIndex(Ljava/lang/String;ZZ)Vjava/lang/reflect/ModifierisStaticisFinalisPublic isProtected isPrimitive([I)VsetType+(Lcom/sun/javacard/jcasm/FieldDescriptor;)VgetClassIdentifier*()Lcom/sun/javacard/jcasm/ClassIdentifier;-(Lcom/sun/javacard/jcasm/ClassIdentifier;IZ)V(Lcom/sun/javacard/jcasm/JCClass;ILcom/sun/javacard/jcasm/FieldDescriptor;Ljava/lang/String;Lcom/sun/javacard/jcasm/FieldIdentifier;Lcom/sun/javacard/jcasm/StaticFieldInitializer;I)V(Lcom/sun/javacard/jcasm/JCClass;ILcom/sun/javacard/jcasm/FieldDescriptor;Ljava/lang/String;Lcom/sun/javacard/jcasm/StaticFieldInitializer;I)VaddField!(Lcom/sun/javacard/jcasm/Field;)V isPrivate7(Lcom/sun/javacard/jcasm/JCClass;ILjava/lang/String;I)V`(Lcom/sun/javacard/jcasm/JCClass;ILjava/lang/String;Lcom/sun/javacard/jcasm/MethodIdentifier;I)V addStatement%(Lcom/sun/javacard/jcasm/Statement;)VgetConstantPoolEntry (I)Lcom/sun/javacard/jcasm/Info;getLine getColumn#(IILcom/sun/javacard/jcasm/Token;)Vcom/sun/javacard/jcasm/InfogetTyperesolve(Lcom/sun/javacard/jcasm/JCMethod;Ljava/lang/String;Lcom/sun/javacard/jcasm/Operand;Ljava/lang/String;Lcom/sun/javacard/jcasm/Operand;Ljava/lang/String;Lcom/sun/javacard/jcasm/Operand;Lcom/sun/javacard/jcasm/Operand;)VaddExceptionTableEntry/(Lcom/sun/javacard/jcasm/ExceptionTableEntry;)VsetStack setLocals9(Ljava/lang/String;Lcom/sun/javacard/jcasm/Instruction;)V"(ILcom/sun/javacard/jcasm/Token;)V addOperand#(Lcom/sun/javacard/jcasm/Operand;)V elementAt(I)Ljava/lang/Object; getMessage&(Ljava/lang/String;)Ljava/lang/String; beginColumn isAbstract,(Lcom/sun/javacard/jcasm/ClassIdentifier;Z)Vdecode'(Ljava/lang/String;)Ljava/lang/Integer;intValue()B()S4(Ljava/lang/String;ILcom/sun/javacard/jcasm/Token;)V addElement(Ljava/lang/Object;)Velements()Ljava/util/Enumeration;java/util/EnumerationhasMoreElements nextElement()Ljava/lang/Object;([B)Vjava/lang/SystemoutLjava/io/PrintStream;java/io/PrintStreamprintln,(Ljava/io/InputStream;Ljava/lang/String;II)V(Ljava/lang/Throwable;)V*(Lcom/sun/javacard/jcasm/JavaCharStream;)Vnext(Ljava/io/Reader;II)Vgenfirstjava/util/Listiterator()Ljava/util/Iterator;java/util/IteratorhasNextadd(Ljava/lang/Object;)Zclearget tokenImage[Ljava/lang/String;7(Lcom/sun/javacard/jcasm/Token;[[I[Ljava/lang/String;)Varg$(Lcom/sun/javacard/jcasm/Parser$1;)V!,                           d  *L:WN)W W:+WW:,W:+WY- Y  - L+W)WO8::,W:+W+ Y  W OW)WOO:N+WYY+--: + W OW)WEBBBBBB9BO+:+W O O\= ,+M,+,+ M,+,OW!Y"W+#$+WOW!Y":  %&!!!^W!$#*$1%7&='B(H)N*S+Y,^-d./02369;<>?@ABCEFH K8M>NDQ\T_VgWjYoZv[|\]^_`beghk4t7v?wByHzM{V~\_g#(f  H  (m1BS^%! |:'CWM+W(Y*)Y*,*:$|W:,W:+W* +L+/,YSY*SY-Y./S: 0 1(Y+ 2: O3KW*4:M+W5Y*)Y*,6:IW*4::,W:,W:+W* +L+/,YSY*SY-Y./S: 0 1˻5Y+  7: O8CWM+W9Y*)Y*,::bW:,W:,W:N+W* +L+/,YSY*SY-Y./S: 0 1ڻ9Y+  -;:WM+WKW*4:M+W?Y*)Y*,@:&W*4::,W:,W:+W* +L+/,YSY*SY-Y./S: 0 1?Y+  A: OBCWM+WCY*)Y*,D:>9W:,W:,W:N+W* +L+/,YSY*SY-Y./S: 0 1CY+  -E:9WM+W:,W:+W* +:  ,FG',YSY-Y, /S: H 12*,I  J OW!Y":  %+&mn!" Jdjouz%<BHMSX^cisw ,27= B H M T Zdh ! "#$H&`(f)l*q+w,|-./0134568:;<=>?0APCVD[EaFfGlHqIxJ~KLNOPQSUVWXYZ[\]_2`9a<cReUg^hcikvnypzu{z~3 5< 3 H 3 2 d ozp  |T(ycl!L:::: WK=:: Op L W:S+  W:,W:"OW!Y"OY*:MY*)NY`NO: MY*) O: PY*  QL(+Y*R_ZU* +:  /,YSY+SSY-Y./S:T1MY  O: + U)W&00W+V+W O&//W+W+W O *+X O++YZ++[\bW)WO*+]:  + ^W OeW)WO*+]:  + _W O O*+`N-+-aW+:%&+!c  8=@I`gmx+0U_jo !8=@IQYpv|   #,25>X ["d#g%m&q'y*-0125  jG   m  w o w ! L:::Wb=:: O)W=Y*: MY*)NY`NO: MY*) O: PY*   QL%00W+V+W O&//W+W+W O-W)WO۲N:+W+Y*c:,W:+W* +:  /,YSY+SSY-Y./S: d 12MY  O: + eOW!Y"W O *+X O  O*+`N-+-aW+:  %&+ !6M=ABC FGHI4K9L<NEQKRQTqUvWY[\^_`acfhi jkmp4r:s@v`zc|l}o %+.7<GMPYpux   % `  qP   7 . !RNWMfY*, gN)W!OL-+h+Wħ:%+&-W-:%&- _b!ox!pwx!^  8;DGNV_bdinpvxz>Nd z  z!RNWMfY*, gN)W"OL-+h+Wħ:%+&-W-:%&- _b!ox!pwx!^  8 ; DGNV_bdinpv x#z$%(>Nd z  z! =MN::+Zi+Zj`d6 :R:kY+Y* l:M,WN*, +:  3,YSY+SSY-Y /S: m 1&MY - O:kY+ n:#OW!Y")W$Ov: :  /,YSY-Y./SY+SS: o 1  p+WX:  /,YSY-Y./SY+SS: o 1  q+W %OW!Y":  %+&W:  %&!/!./!=0134 7:$;D=L>y?|ABCDEGHILPQRTUVX\(`+b4c7eXg`heiojklmoprstuvwyz| }~!&,/16;     1  ==;9e6$ 3e   ` ! 2::::  W)W%&'(-.1234578&Oar6*+sNM: 'O`  W-)<-<1<4<7<%-*1*4*7*-V1*4p7@1WtYuv:h7WtYwv:R-W#tYxv:84WtYyv:"(OW!Y")O)Wz:*{:"*OW!Y"+OY+S,: |6,,YSY SY-Y, /S: } 1C|;~3.),YSY SY-Y, /S:  1|1 ,,YSY SY-Y, /S:  1U E|=~ -. ),YSY SY-Y, /S:  1: Y : Y:   4Y+ |: Y+-   , :Y+-  , :+W+: :::  %+&W:  %& ! "%!jZ  Hx #).169BGOXw    %(Tsz"}#$%&'*+,-.01234 5 9678:">%;'<,=1?   s  w } LSY  '  22/, ) & ! [ ;M:::: : : : :  W>:: ,O)W|6G6Y+S:2-,YSYSY-Y /S:1 92-,YSYSY-Y /S:1 6 5-,YSYSY-Y /S:1@92*,YSYSY-Y /S:1Y+ M*Y+ :Y+ M&9###-O *+,²1;...........................................................................111................................................................................................................111111111..O*+,:,:W)W/O).&:!: 0OW!Y",$:!: 1OW!Y",$: !: 2OW!Y": * :O,YSY-Y /SY-Y/SY-Y/S:1Y: * O,YSY-Y /SY-Y/SY-Y/S:1Y: Y :  Y: +WY,      :,:: :: : : : :WW":W3OW!Y",:%:&,,-!yBFHI JKLMNQ R$S,TDVIWLYU\[]a^n_qbeghlo pst&v<x\yc||~ $XW[YdZg\o]t^}acdgkmnprsuv xyz!|@~HKPS\ai*cjv  #+-/49 \&}o   c   Ga/ ;;9$,63 0- * ' $ ! !9Z">WN+W,- WN+W,- 9W:+WN,W:+W*- +:FG/,YSY,SY-Y /S:12*I-  J4OW!Y":%+&!!(/39ADKOU]`fntx~ \ m 3n!nN$N*W 5O*+,:+W-YY-:%+&Q`!R_`!>#) , 5=CGR`bgl">b nnnl=1! !. t;T '%^wc * C d I h: nT !5 I=]7n XA +Nq jttt "j)D_K x _ z <Sjy2M@"b D  = - O X/;`n _ q 3 $,|Rk;az.s}Ft:Y$Nq:Y7NZظ:YNDg::YN-#:YN :YN:YN:YN:*:YN-:YwN׸:YNrx::Y(N-Q:Y+N::Y,N#:Y-N :Y.N|:YNu:Y%N:Y8Nq::YN-#o::YN-k::*:YN- OOOK# -,YSYSY-Y /S:  1-YE-<,YSYSY-Y /S:  1-YfF:Y=NPj::Y?N z6  ~6    =    `-,YSYSY-Y /S:  1    `#-H:Y>NŸ:*:YN-Ƹ:*:YN-^ȸ:*:YN-#5Ǹ:*:YN-:*:YN-:*:YN-:*:YN-#:*:YN-x:*:YN-R:*:YN-,:*:YN-#:*:YN-ٸ:*:Y{N-ڸ:*:Y|N-ܸ:*:Y~N-#i۸:*:Y}N-DT::YpN-#::YN-C:Y]N#D:Y^N#V:YBN#w:Y'N#f:YTN#~:Y:N#cM:Y_N#I:Y N#.:Y N#:Y N#:Y N#:Y N#:YN#:YN#\:YHN#r::YhN-P::YiN-.ϸ::YN- и::YN-::YjN-::YkN-::YlN-¸::YmN-`ø::YnN->ĸ::YoN-Ѹ::YN-Ҹ::YN-Ӹ::YN-Ը::YN-ո::YN-mָ::YN-JN::Y`N-)O::YaN-P::YbN-Q::YcN-R::YdN-S::YeN-::YN-b::YN-?::YN-::YN-::YN-::YN-::YgN-θ::YN-nn::YfN-M::YN-*L:::YZN--#~:::YN--#s:{:YN-#i::YN-#:Y N#d:Y!N#I:Y"N#.:Y#N#::::YvN--6  -  h-,YSYSY-Y /S:  1# :YN k:YN SZ:YFN# 9`:YLN# ͸::*:YN- OOOK# -,YSYSY-Y /S:  1-YE-<-Y,YSYSY-Y /S:  1 ::*::YN--- ,YSYSY-Y /S:  1 :*:YN- :*:YN- _:*:YN- 9@:YVN# ^:YJN# :YyN# b:YNN# d:YPN# z::Y*N-# :Y3N# v:Y4N# [:Y5N# @:Y6N# %X:YDN# ::{:{::YtN---6  -   0,YSYSY-Y /S:  1B  d`-,YSYSY-Y /S:  1# 0l:YRN# J:YXN#<::YqN->:*:YN-::YN-;:YN~E:Y;NhG:Y<NRɸ:*:YN--ʸ:*:YN-̸:*:YN-#˸:*:YN-:*:YN-:*:YN-p:*:YN-#G:*:YN-":*:YN-:*:YN-:*:YN-#:*:YN-ݸ:*:YN-a޸:*:YN-;:*:YN-#߸:*:YN-=::YrN-{:YzNA:Y[NB:Y\N#U:YANnv:Y&NXe:YSNB:Y9N+:YN:YN:YN:YN:YN:YN:YN[:YGNxK:::YYN--L}:::YN--r::YN-#h::YN-:YN:YN:YN:YN}::::YuN--6  -  h,YSYSY-Y /S:  1Y:YEN_:YKN?:YUN]:YIN:YxNa:YMNlc:YONVp::YN-5y::Y)N-:Y/N:Y0N:Y1N:Y2NW:YCN:::::YsN---6  -   0,YSYSY-Y /S:  1   d`,YSYSY-Y /S:  1k:YQNm::Y@N z6  ~6      -,YSYSY-Y /S:  1   #-/I:YWN6OW!Y"-J/ 123"5*66799A:L;O=V>[?g@mApCxDEGHIKLMOPQSTUVWYZ[ ]^_!a(b-c9d?eBgJhViYkalmmpoxpqstuwxy{|}%(05=JP*-4@CJO[dn ,25=DQW[^fmz#+8>AIQ^dgow      ! " # #$ '% *' 2( :) F* L+ O- V. [/ g0 m1 p3 x4 }5 6 7 9 : ; < > ? @ A C D E F H I J K M N O P R S )T -U 0W 7X CY GZ J\ R] ^^ b_ ea mb yc }d f g h i k l m n p q r s u v w x z { | }     ! ) . : @ C K P \ b e m r                          * 0 3 ; @ L R U ] b n t w                        # & . 3 @ F I P U a g j q v                       ( . 19>KQT\antw !"#$&'()*,-./02 345"6%8,91:=;C<F>N?S@`AfBiDpEuFzGHIJKMNOPQRSTVWXYZ[]^_` abde(f,g/i7jCkGlJnRo^pbqesmtyu}vxyz{|}~  %(0=@GSWZamqt|"14:=Lovy  +14<DQWZamqt{    % 1 5 8 @ L P S [ g k n u             ! " ! % ' ( )2 +U ,\ .` /c 1j 2v 3z 4} 6 7 8 9 ; < = > ? A B C D E G H I J K M N O Q R( S+ U2 V> WA YI ZP [] \c ]f _n `u a b c e f g h i j l m n o p r s t u v x y z { |# ~+ 2 ? E I L T [ h n q y                       ) / 2 : B O U X ` h u {                        " % , 8 ; B N Q Y e h p { ~                      " ' , 8 > D G N S X e k q t {              ! " # % & ' ) * + - .# /( 0- 19 2? 3E 4R 5` 4f 8u : ; < ? @ A C D E G H I K L M O P Q S T$ U' W. X: Y= [D \I ]U ^[ _^ ae bj cv d| e g h i k l m o p q s t u w x y { | } ~    % + 8 F L Y |              ! D K W [ a d k w z               o       U  H   . |    D  "s [7=U # $%d. n$& !'(<,M,S,ŸS<.89<<<99<99<97Oo.8soooao;o$6K<~a,-Y* /S,-Y*Ƿ/S,1<.K<ə*,-Y* /S,-Y*Ƿ/S,13K< ,-Y* /S,-Y*Ƿ/S,15K< ,-Y* /S,-Y*Ƿ/S,18K< s,-Y* /S,-Y*Ƿ/S,1N2K<@8OW!Y".    T W ` c     + 9 G P V Z h v                F!)(<369OV736(3K<6K<:OW!Y"B  $ ' 0 3 T Z ^ a g !m "p $y %~ & +Z.!*(8.<,M,S,ʸSL.I/I2I3I5I6I8II;O./2q356K846K<~A,-Y* /S,-Y*Ƿ/S,1.K<ə ,-Y* /S,-Y*Ƿ/S,13K< ,-Y* /S,-Y*Ƿ/S,15K< ,-Y* /S,-Y*Ƿ/S,1k8K< S,-Y* /S,-Y*Ƿ/S,1.2K< K</K <<OW!Y"4 3 4 5 6 9d Cg Ep Fs H J K L M N O S T U V W* X3 \9 ]= ^K _Y `g ap ev fz g h i j n o p q r s w x y { | }     $ ,  d,'!+(]<,M,S,˸S<.89<<<99<9<<9=O-.8;x3K< \,-Y* /S,-Y*Ƿ/S,175K< ,-Y* /S,-Y*Ƿ/S,18K< ,-Y* /S,-Y*Ƿ/S,12K<.K<>OW!Y"%    T W ` c    $ ( 6 D R [ a f i o t w     !,- %7Z~l&WtYv1WtYuv(WtYv7WtYwv%W#tYv-W#tYxv'WtYv4WtYyv?OЙ8:WtYYѶҶv?:tYYFҶv@OәkN,WMW*- +:-,YSY+SSY-Y-/S:1MY, O:tYհuN,WM*- +:-,YSY+SSY-Y-/S:1MY, O:tYհAOW!Y"6 ` f r x          ! $= (T *\ - 2 3 4 5 6 7 8 9 ; < ? C F J L M N" O, P1 RR SY V[ Zj ]u b~ c d- I Z.d/R ,_j!"i.s/\/!01I%7~lZuc(WͰ7Ww&W̰1Wu%W#ΰ-W#x'Wϰ4WyBO֙-LWYѶ+Ҷ7LYF+ҶCOיyM,WNW*, +:-,YSY*SY-Y,/S:1YѶ,ٶڶ-ٶҶM,WN*, +:-,YSY*SY-Y,/S:1YF,ٶڶ-ٶҶDOW!Y"4 p` rf ui zo }r x {   ' 0 7 ; A E L V [ |             3 < A p #| VW;r/Eh. mI >/w.!236K*M,<*ݶGI,YSY-Y/SY-Y* /SY-Y*Ƿ/SN-1G ;,YSY-Y/SY-Y* /SY-Y*Ƿ/SN-1Y,*2     + ] c f r   4]  456!73dK*M,<=,YSY-Y/SY-Y* /SY-Y*Ƿ/SN-1<Y*"  ! " # %Q &W 'Y +*Q ]P4U56!837K*M,<*ݶGH,YSY-Y/SY-Y* /SY-Y*Ƿ/SN-1I ;,YSY-Y/SY-Y* /SY-Y*Ƿ/SN-1Y,*2 4 5 6 7 8* :\ ;b <e >s @ A F4\  456!93cK*M,<=,YSY-Y/SY-Y* /SY-Y*Ƿ/SN-1<Y*" O P Q R TP UV VX Z*P \O4T56!:3eK*M,< =,YSY-Y/SY-Y* /SY-Y*Ƿ/SN-1<Y*" c d e f hR iX jZ o*R ^Q4V56!;3.0KY* *K*M,< =,YSY-Y/SY-Y* /SY-Y*Ƿ/SN-1<Y *EOW!Y": { }' 6 = E J V * Em56'Jh<!=300KY* *K*M,< =,YSY-Y/SY-Y* /SY-Y*Ƿ/SN-1<Y *FOW!Y": ' 6 = E J X * Eo56'Jj<!>?EYKGOL*+*"  ( + 4 7 ; C ;=@%A =@B!C?FYKHO{LM*+*,**  # , / 3 7 < D  37 >@%A >@B!D?FYKIOLM*+*,**  #,/37<D  37 >@%A >@B!E3--1472K*L+ܪ? ,Y+ *#Y+ *,YSY+SY-Y* /SY-Y*Ƿ/SM,1Y *7KY  *1KY  *4KY  *-K#Y  *JOW!Y"Z8?Ghw {"'(*038;@CHI LQ R%S  ?GF6!GHM,:>*:H,YSY-Y/SY-Y, /SY-Y,Ƿ/S:1Y,S,YSY-Y/SY-Y, /SY-Y,Ƿ/SY-Y/S:1Y,Y,:>\]^_`"bUc\fgjplmptux\ U  F 56!IJ N-:6*:I,YSY-Y/SY-Y- /SY-Y-Ƿ/S:1Y-a*T,YSY-Y/SY-Y- /SY-Y-Ƿ/SY-Y/S:1Y-Y-:>$X_j{f X  FK 56!L3eK*M,<=,YSY-Y/SY-Y* /SY-Y*Ƿ/SN-1<Y *"QWY*Q ^QV56!MN޻YLL{M+,W{M+,زKOWT5,{M+,W"WLOW!Y"+ K>+::* O*v#(@CLOXx|HE O$P.M@%|b,A @B!QYMN,-*MO*WN,-,< S,.6,6,YSY-Y/SY-Y/S:1YK6,::* TݻY*b (+47=AINYfs f fCRs6S  O&P8TNU@% 5A @B!VWI L+"# $ X Y! Z[3Y<L=N-!+!$++,+'(*.!+",$." \3] ^[3Y<L=N-!+!$++,+346:!7"8$:" \3] _[3Y<L=N-!+!$++,+?@BF!C"D$F" \3] `[3Y<L=N-!+!$++,+KLNR!O"P$R" \3] a[3Y<L=N-!+!$++,+WXZ^!["\$^" \3] b[3Y<L=N-!+!$++,+cdfj!g"h$j" \3] c[6Y<L=N-"-"%--.-oprv"s#t%v# \6] d[6Y<L=N-"-"%--.-{|~"#%# \6] e[6Y<L=N-"-"%--.-"#%# \6] f[6Y< L= N -"-"%--.-"#%# \6] g[6Y < L= N -"-"%--.-"#%# \6] hiL ,   ji-     ki?    li?    mi@     ni?    oi_' ,   & #% pi@     qi, 4   ri, '   si-     ti, -   ui-     vi, % $% ' wi, 1 +, . xi, & 23 5 yi, 7 9: < zi, ( @A C {i |K s* i*_*U*K*A*7*-*#***jHI JKLMN"O(P,Q2R6S<T@UFVJWPXTYZZ^[d\h]n^r_x`zm x| }ia)  + & qr tuwxz%{'} ~i-     ia)  + &  %' i?     im#K*& ! | i_' ,   & #% N YOYOYOY@OYOYOYOYOYOY OY OY  OY !OY "OYOYOYOYOYOYOY#OY$OY#OY%OY OYOYOYOYOYOY&OYOY  OY!OY"OY#OY$OY%OY&OY'OY(OY)OY*OY+OY,OY-OY.OY/OY0OY1OY2OY3OY4OY5OY6OY7OY8OY9OY:OY;OY<OY=OY>OY?OY@OYAOYBOYCOYDOYEOYFOYGOYHOYIOYJOYKOYLOYMO'  N YOYOYOYOYOYOYOYOYOY OY OY OY OY OYOYOYOY(OYOYOYOYOYOYOYOYOY(OYOYOYOYOYOY OY!OY"OY#OY$OY%OY&)OY'OY(*OY)*OY*+OY+OY,OY-OY.,OY/OY0OY1OY2OY3-OY4OY5OY6,OY7.OY8.OY9/OY:/OY;0OY<0OY=1OY>1OY?2OY@OYAOYB2OYCOYDOYEOYFOYGOYHOYIOYJ*OYKOYLOYMO3  N YOYOYOYOYOYOYOYOYOY OY OY OY OY OYOYOYOYOYOYOYOYOYOYOYOYOYOYOYOYOYOYOY OY!OY"OY#OY$OY%OY&OY'OY(OY)OY*OY+OY,OY-OY.OY/OY0OY1OY2OY3OY4OY5OY6OY7OY8OY9OY:OY;OY<OY=OY>OY?OY@OYAOYBOYCOYDOYEOYFOYGOYHOYIOYJOYKOYLOYMO4  N YOYOYOYOYOYOYOYOYOY OY OY OY OY OYOYOYOYOYOYOYOYOYOYOYOYOYOYOYOYOYOYOY OY!OY"OY#OY$OY%OY&OY'OY(OY)OY*OY+OY,OY-OY.OY/OY0OY1OY2OY3OY4OY5OY6OY7OY8OY9OY:OY;OY<OY=OY>OY?OY@OYAOYBOYCOYDOYEOYFOYGOYHOYIOYJOYKOYLOYMO5  N YOYOYOYOYOYOYOYOYOY OY OY OY OY OYOYOYOYOYOYOYOYOYOYOYOYOYOYOYOYOYOYOY OY!OY"OY#OY$OY%OY&OY'OY(OY)OY*OY+OY,OY-@OY.?OY/OY0OY1OY2OY3OY4@OY5OY6?OY7OY8OY9OY:OY;OY<OY=OY>OY?OY@OYAOYBOYCOYDOYEOYFOYGOYHOYIOYJOYKOYLOYMO6  N YOYOYOYOYOYOYOYOYOY OY OY OY OY OYOYOYOYOYOYOYOYOYOYOYOYOYOYOYOYOYOYOY OY!OY"OY#OY$OY%OY&OY'OY(OY)OY*OY+OY,OY-OY.OY/OY0OY1OY2OY3OY4OY5OY6OY7OY8OY9OY:OY;OY<OY=OY>OY?OY@OYAOYBOYCOYDOYEOYFOYGOYHOYIOYJOYKOYLOYMO7  N YOYOYOYOYOYOYOYOYOY OY OY OY OY OYOYOYOYOYOYOYOYOYOYOYOYOYOYOYOYOYOYOY OY!OY"OY#OY$OY%OY&OY'OY(OY)OY*OY+OY,OY-OY.OY/OY0OY1OY2OY3OY4OY5OY6OY7OY8OY9OY:OY;OY<OY=OY>OY?OY@OYAOYBOYCOYDOYEOYFOYGOYHOYIOYJOYKOYLOYMO8  N Y-OYOY-OYOYOYOYOYOYOY OY OY OY OY OY-OYOYOYOYOYOYOYOYOYOYOY-OYOYOY-OY-OYOYOY OY!OY"OY#-OY$-OY%-OY&-OY'-OY(OY)OY*-OY+OY,-OY-OY.9OY/-OY0-OY1-OY2-OY3OY4OY5OY69OY7OY8OY9OY:OY;OY<OY=OY>OY?OY@OYA-OYBOYCOYD-OYE-OYF-OYG-OYH-OYI-OYJ-OYKOYL-OYMO:  N YOYOYOYOYOYOYOYOYOY OY OY OY OY OYOYOYOYOYOYOYOYOYOYOYOYOYOYOYOYOYOYOY OY!OY"OY#OY$OY%OY&OY'OY(OY)OY*OY+OY,OY-OY.OY/OY0OY1OY2OY3OY4OY5OY6OY7OY8OY9OY:OY;OY<OY=OY>OY?OY@OYAOYBOYCOYDOYEOYFOYGOYHOYIOYJOYKOYLOYMO; ?*+< a*=>&?@A?BA?CADYE>FY+,GH NJY-KLYHMNOYPNWQYR>NO>SSTYUS1?BIZ %-1?BCLY c!t"x#$#&'&)>C z 4*V -.  iH*+W MJY,KHXOYPQYR=NO=SSTYUS I>3 6 4578'94:8;@<F;L>V?b>hA4 :Nii'*=>&?YA?BA?CADYE>FY+ZHLYHMNOYPQYR=NO=SSTYUSNDE FGH%I-K1L>MKNUObPfQnRtQzTUTW*h| [H*[HXOYPQYR<NO<SSTYUS2 [ \]^&_*`2a8`>cHdTcZf ,@[ *=>&?YA?BA?CADYE>+NOYPQYR=NO=SSTYUSJij klm%n-p1q5r?sLtPuXv^udxnyzx{*RfP+NOYPQYR=NO=SSTYUS. '-3=IO*!5PP )LYRRQZRR`\`Y\d8\=S*S2N--]-^-_NԲ+`aR*4<JNX^blqy*^P/X! [8dRQZRYRY Rb(<M,,,RM,cdN .>GMOS^aimr|~ O#SXZ2YRRQZR` &.+L=!+R +RL +QZRL+ #) #+'Y ede`feY`eOee g=egf.OhiM,jM,kllN-g46g-.g.ȄhgmWfYedOZ!'/8BHZgp|>1sg:QSX iihnK` *`T`<Nϲ.= '.x~*T3.x~ * `T4.x~ *@`T5.x~ *``T6.x~ *`T7.x~ *`T8.x~ *`T:.x~ *`T;.x~ *`TJ1<'*3 ggOhgmWeochplL=hp+hqlS!Y+rs*    &19EIU\ho{ !#$&')*/012 3/6#7&8+97:E;T:Z=>3 +9![72BF b; S2L+]+t+^Y 9@GNU\cjqxWFW?W8W1W*W#WWWW W+_L+ZLDb #IJ LNO#P.QhSlToVsWvYzZ}\]_`bcefhiklnoquvxwJz{ \ IS2M,]",_,TYUZ_M ,_M,`d],^,t* ~$'/<CH II]C]N>N uvwxyz{|} TSb\Y~dYh`d fN  #&),4 8 <GQUTPK Hs>@ U,J,J com/sun/javacard/jcasm/Parser.jj/* * Copyright (c) 2009 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. */ /* * @(#)Parser.jj 1.16 06/01/03 */ options { JAVA_UNICODE_ESCAPE = true; OPTIMIZE_TOKEN_MANAGER = true; CACHE_TOKENS = true; } PARSER_BEGIN(Parser) /* * Copyright (c) 2009 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. */ package com.sun.javacard.jcasm; import java.util.Enumeration; import java.util.Vector; import java.util.TreeSet; import java.lang.reflect.Modifier; public class Parser { private static boolean usesIntegers; private static int internalClassToken = Short.MAX_VALUE; // name of file we are currently parsing. Set by main before calling in. public static String inputSpec; public static String getInputSpec() { return inputSpec; } } PARSER_END(Parser) // keep the tokens ordered by length. It makes the TokenManager smaller. See the FAQ. SKIP : /* WHITESPACE */ { " " | "\t" | "\n" | "\r" | "\f" } SPECIAL_TOKEN : /* COMMENTS */ { | | } TOKEN [ IGNORE_CASE ] : /* RESERVED WORDS AND LITERALS */ { < AID: ".aid" > | < CLASS: ".class" > | < FIELDS: ".fields" > | < EXTENDS: "extends" > | < METHOD: ".method" > : METHOD_BODY | < APPLET: ".applet" > | < CLASSREF: ".classref" > | < PACKAGE: ".package" > | < VERSION: ".version" > | < IMPORTS: ".imports" > | < INTERFACE: ".interface" > | < CONSTANTPOOL: ".constantpool" > | < SUPERMETHODREF: "supermethodref" > | < STATICFIELDREF: "staticfieldref" > | < STATICMETHODREF: "staticmethodref" > | < SUPER_INTERFACE: ".superinterfaces" > | < INSTANCEFIELDREF: "instancefieldref" > | < VIRTUALMETHODREF: "virtualmethodref" > | < PUBLIC_METHODTABLE: ".publicmethodtable" > | < PACKAGE_METHODTABLE: ".packagemethodtable" > | < INTERFACE_TABLE: ".implementedinterfaceinfotable" > | < REMOTE_INTERFACE_TABLE: ".implementedremoteinterfaceinfotable" > } TOKEN: { < RBRACE: "}" > | < EQUALS: "=" > | < LPAREN: "(" > | < RPAREN: ")" > | < LBRACKET: "[" > | < RBRACKET: "]" > | < INTEGER: "int"> | < BYTE: "byte"> | < SHORT: "short"> | < BOOLEAN: "boolean"> } TOKEN : { < LBRACE: "{" > | < COLON: ":" > | < SEMICOLON: ";" > | < DOT: "." > /* | < GT: ">" > | < LT: "<" > | < COMMA: "," > */ | < INTEGERARRAY: "int[]" > | < FINAL: "final" > | < REMOTE: ".remote" > | < SHAREABLE: ".shareable" > | < BYTEARRAY: "byte[]" > | < STATIC: "static" > | < PUBLIC: "public" > | < SHORTARRAY: "short[]" > | < PRIVATE: "private" > | < ABSTRACT: "abstract" > | < BOOLEANARRAY: "boolean[]" > | < PROTECTED: "protected" > | < DESCRIPTOR: ".descriptor" > } TOKEN [ IGNORE_CASE ] : /* JavaCard 2.1 ByteCodes, et. al. */ { < END_METHOD: "}" > : DEFAULT | < NOP: "nop" > | < JSR: "jsr" > | < RET: "ret" > | < NEW: "new" > | < SOR: "sor" > | < IOR: "ior" > | < S2B: "s2b" > | < S2I: "s2i" > | < I2B: "i2b" > | < I2S: "i2s" > | < POP: "pop" > | < DUP: "dup" > | < POP2: "pop2" > | < DUP2: "dup2" > | < SXOR: "sxor" > | < IXOR: "ixor" > | < SINC: "sinc" > | < IINC: "iinc" > | < ICMP: "icmp" > | < IFEQ: "ifeq" > | < IFNE: "ifne" > | < IFLT: "iflt" > | < IFGE: "ifge" > | < IFGT: "ifgt" > | < IFLE: "ifle" > | < GOTO: "goto" > | < SADD: "sadd" > | < IADD: "iadd" > | < SSUB: "ssub" > | < ISUB: "isub" > | < SMUL: "smul" > | < IMUL: "imul" > | < SDIV: "sdiv" > | < IDIV: "idiv" > | < SREM: "srem" > | < IREM: "irem" > | < SNEG: "sneg" > | < INEG: "ineg" > | < SSHL: "sshl" > | < ISHL: "ishl" > | < SSHR: "sshr" > | < ISHR: "ishr" > | < SAND: "sand" > | < IAND: "iand" > | < ALOAD: "aload" > | < SLOAD: "sload" > | < ILOAD: "iload" > | < DUP_X: "dup_x" > | < SUSHR: "sushr" > | < IUSHR: "iushr" > | < SWAP_X: "swap_x" > | < IFNULL: "ifnull" > | < BSPUSH: "bspush" > | < SSPUSH: "sspush" > | < BIPUSH: "bipush" > | < SIPUSH: "sipush" > | < IIPUSH: "iipush" > | < AALOAD: "aaload" > | < BALOAD: "baload" > | < SALOAD: "saload" > | < IALOAD: "iaload" > | < ASTORE: "astore" > | < SSTORE: "sstore" > | < ISTORE: "istore" > | < RETURN: "return" > | < ATHROW: "athrow" > | < SINC_W: "sinc_w" > | < IINC_W: "iinc_w" > | < IFEQ_W: "ifeq_w" > | < IFNE_W: "ifne_w" > | < IFLT_W: "iflt_w" > | < IFGE_W: "ifge_w" > | < IFGT_W: "ifgt_w" > | < IFLE_W: "ifle_w" > | < GOTO_W: "goto_w" > | < STACK: ".stack" > | < NATIVE: "native" > | < LOCALS: ".locals" > | < IMPDEP1: "impdep1" > | < IMPDEP2: "impdep2" > | < ALOAD_0: "aload_0" > | < ALOAD_1: "aload_1" > | < ALOAD_2: "aload_2" > | < ALOAD_3: "aload_3" > | < SLOAD_0: "sload_0" > | < SLOAD_1: "sload_1" > | < SLOAD_2: "sload_2" > | < SLOAD_3: "sload_3" > | < ILOAD_0: "iload_0" > | < ILOAD_1: "iload_1" > | < ILOAD_2: "iload_2" > | < ILOAD_3: "iload_3" > | < AASTORE: "aastore" > | < BASTORE: "bastore" > | < SASTORE: "sastore" > | < IASTORE: "iastore" > | < ARETURN: "areturn" > | < SRETURN: "sreturn" > | < IRETURN: "ireturn" > | < SCONST_0: "sconst_0" > | < SCONST_1: "sconst_1" > | < SCONST_2: "sconst_2" > | < SCONST_3: "sconst_3" > | < SCONST_4: "sconst_4" > | < SCONST_5: "sconst_5" > | < ICONST_0: "iconst_0" > | < ICONST_1: "iconst_1" > | < ICONST_2: "iconst_2" > | < ICONST_3: "iconst_3" > | < ICONST_4: "iconst_4" > | < ICONST_5: "iconst_5" > | < ASTORE_0: "astore_0" > | < ASTORE_1: "astore_1" > | < ASTORE_2: "astore_2" > | < ASTORE_3: "astore_3" > | < SSTORE_0: "sstore_0" > | < SSTORE_1: "sstore_1" > | < SSTORE_2: "sstore_2" > | < SSTORE_3: "sstore_3" > | < ISTORE_0: "istore_0" > | < ISTORE_1: "istore_1" > | < ISTORE_2: "istore_2" > | < ISTORE_3: "istore_3" > | < NEWARRAY: "newarray" > | < IFNULL_W: "ifnull_w" > | < ANEWARRAY: "anewarray" > | < CHECKCAST: "checkcast" > | < SCONST_M1: "sconst_m1" > | < ICONST_M1: "iconst_m1" > | < IFNONNULL: "ifnonnull" > | < IF_ACMPEQ: "if_acmpeq" > | < IF_ACMPNE: "if_acmpne" > | < IF_SCMPEQ: "if_scmpeq" > | < IF_SCMPNE: "if_scmpne" > | < IF_SCMPLT: "if_scmplt" > | < IF_SCMPGE: "if_scmpge" > | < IF_SCMPGT: "if_scmpgt" > | < IF_SCMPLE: "if_scmple" > | < GETFIELD_A: "getfield_a" > | < GETFIELD_B: "getfield_b" > | < GETFIELD_S: "getfield_s" > | < GETFIELD_I: "getfield_i" > | < PUTFIELD_A: "putfield_a" > | < PUTFIELD_B: "putfield_b" > | < PUTFIELD_S: "putfield_s" > | < PUTFIELD_I: "putfield_i" > | < INSTANCEOF: "instanceof" > | < IFNONNULL_W: "ifnonnull_w" > | < IF_ACMPEQ_W: "if_acmpeq_w" > | < IF_ACMPNE_W: "if_acmpne_w" > | < IF_SCMPEQ_W: "if_scmpeq_w" > | < IF_SCMPNE_W: "if_scmpne_w" > | < IF_SCMPLT_W: "if_scmplt_w" > | < IF_SCMPGE_W: "if_scmpge_w" > | < IF_SCMPGT_W: "if_scmpgt_w" > | < IF_SCMPLE_W: "if_scmple_w" > | < ARRAYLENGTH: "arraylength" > | < ACONST_NULL: "aconst_null" > | < GETSTATIC_A: "getstatic_a" > | < GETSTATIC_B: "getstatic_b" > | < GETSTATIC_S: "getstatic_s" > | < GETSTATIC_I: "getstatic_i" > | < PUTSTATIC_A: "putstatic_a" > | < PUTSTATIC_B: "putstatic_b" > | < PUTSTATIC_S: "putstatic_s" > | < PUTSTATIC_I: "putstatic_i" > | < STABLESWITCH: "stableswitch" > | < ITABLESWITCH: "itableswitch" > | < PUTFIELD_A_W: "putfield_a_w" > | < PUTFIELD_B_W: "putfield_b_w" > | < PUTFIELD_S_W: "putfield_s_w" > | < PUTFIELD_I_W: "putfield_i_w" > | < GETFIELD_A_W: "getfield_a_w" > | < GETFIELD_B_W: "getfield_b_w" > | < GETFIELD_S_W: "getfield_s_w" > | < GETFIELD_I_W: "getfield_i_w" > | < INVOKESTATIC: "invokestatic" > | < SLOOKUPSWITCH: "slookupswitch" > | < ILOOKUPSWITCH: "ilookupswitch" > | < INVOKEVIRTUAL: "invokevirtual" > | < INVOKESPECIAL: "invokespecial" > | < INVOKEINTERFACE: "invokeinterface" > | < GETFIELD_A_THIS: "getfield_a_this" > | < GETFIELD_B_THIS: "getfield_b_this" > | < GETFIELD_S_THIS: "getfield_s_this" > | < GETFIELD_I_THIS: "getfield_i_this" > | < PUTFIELD_A_THIS: "putfield_a_this" > | < PUTFIELD_B_THIS: "putfield_b_this" > | < PUTFIELD_S_THIS: "putfield_s_this" > | < PUTFIELD_I_THIS: "putfield_i_this" > | < EXCEPTIONTABLE: ".exceptiontable" > } TOKEN : /* LITERALS */ { < INTEGER_LITERAL: | | > | < #DECIMAL_LITERAL: ("-")? ["1"-"9"] (["0"-"9"])* > | < #HEX_LITERAL: "0" ["x","X"] (["0"-"9","a"-"f","A"-"F"])+ > | < #OCTAL_LITERAL: "0" (["0"-"7"])* > | < CHARACTER_LITERAL: "'" ( (~["'","\\","\n","\r"]) | ("\\" ( ["n","t","b","r","f","\\","'","\""] | ["0"-"7"] ( ["0"-"7"] )? | ["0"-"3"] ["0"-"7"] ["0"-"7"] ) ) ) "'" > | < STRING_LITERAL: "\"" ( (~["\"","\\","\n","\r"]) | ("\\" ( ["n","t","b","r","f","\\","'","\""] | ["0"-"7"] ( ["0"-"7"] )? | ["0"-"3"] ["0"-"7"] ["0"-"7"] ) ) )* "\"" > } TOKEN : /* IDENTIFIERS */ { < METHODNAME: ( "/")* ( "" | ) > | < METHODDESCRIPTOR: "(" ( "B"|"I"|"S"|"Z"|"[B"|"[I"|"[S"|"[Z"|)* ")" ( "B"|"I"|"S"|"Z"|"V"|"[B"|"[I"|"[S"|"[Z"|) > | < IDENTIFIER: (||"_"|"/")* > | < #OBJECT: ("[")? "L" ( "/" )* ";" > | < #LETTER: [ "\u0024", "\u0041"-"\u005a", "\u005f", "\u0061"-"\u007a", "\u00c0"-"\u00d6", "\u00d8"-"\u00f6", "\u00f8"-"\u00ff", "\u0100"-"\u1fff", "\u3040"-"\u318f", "\u3300"-"\u337f", "\u3400"-"\u3d2d", "\u4e00"-"\u9fff", "\uf900"-"\ufaff" ] > | < #DIGIT: [ "\u0030"-"\u0039", "\u0660"-"\u0669", "\u06f0"-"\u06f9", "\u0966"-"\u096f", "\u09e6"-"\u09ef", "\u0a66"-"\u0a6f", "\u0ae6"-"\u0aef", "\u0b66"-"\u0b6f", "\u0be7"-"\u0bef", "\u0c66"-"\u0c6f", "\u0ce6"-"\u0cef", "\u0d66"-"\u0d6f", "\u0e50"-"\u0e59", "\u0ed0"-"\u0ed9", "\u1040"-"\u1049" ] > } JCPackage PackageDeclaration() : { PackageIdentifier packageId; JCPackage p = null; JCClass c; Token tok; Aid aid; Operand major, minor; Operand micro = null; Info info; } { try { ( tok = // package aid and version ( ( aid = aid() ) ( major = unsignedByteValue() minor = unsignedByteValue() ) { p = new JCPackage(tok.image, new PackageIdentifier(aid, major.getValue(), minor.getValue()), tok.beginLine); p.inputSpec = inputSpec; } ) // package imports block ( (aid=aid() major=unsignedByteValue() minor=unsignedByteValue() { p.addImport(new PackageIdentifier(aid, major.getValue(), minor.getValue())); } )* )? // declared applets ( (aid=aid() tok= { AppletDeclarator applet = new AppletDeclarator(aid, p.getName() + "/" + tok.image + "/install([BSB)V", tok.image); p.addApplet(applet); } )* )? // constant pool ( (info = constantPoolEntry(p) { if (info != null) { p.addConstantPoolEntry(info); }} )* )? // classes and interfaces ( ( c = ClassDeclaration(p) { if (c != null) { p.addClass(c); }} ) | ( c = InterfaceDeclaration(p) { if (c != null) { p.addClass(c); }} ) )* { p.usesIntegers(usesIntegers); return p; } ) | { return null; } } catch (ParseException e) { Msg.error(e); error_skipto(RBRACE); return null; } } Info constantPoolEntry(JCPackage p) : { PackageIdentifier packId; Token tok, tok2; Info info = null; Operand op0, op1, op2; String desc; } { try { ( // internal class reference LOOKAHEAD (2) ( tok = { info = new ClassRefInfo(p.getIdentifier(), p.getName() + "/" + tok.image); } ) // external class reference | ( op0 = unsignedByteValue() op1 = unsignedByteValue() { packId = p.getIdentifier(op0.getValue()); if (packId == null) { // Invalid package token in constant pool of package {0} at line {1}. Object[] args = { inputSpec, p.getName(), new Integer(op0.lineNumber) }; Msg.error("parser.18", args); } else { info = new ClassRefInfo(packId, op1.getValue()); } } ) // internal instance field reference | LOOKAHEAD (6) ( desc = fieldDescriptorString(p) tok = { info = new InstanceFieldRefInfo(p.getIdentifier(), p.getName() + "/" + tok.image, desc); } ) // external instance field reference | ( desc = fieldDescriptorString(p) op0 = unsignedByteValue() op1 = unsignedByteValue() op2 = unsignedByteValue() { packId = p.getIdentifier(op0.getValue()); if (packId == null) { // Invalid package token in constant pool of package {0} at line {1}. Object[] args = { inputSpec, p.getName(), new Integer(op0.lineNumber) }; Msg.error("parser.18", args); } else { info = new InstanceFieldRefInfo(packId, op1.getValue(), op2.getValue(), desc); } } ) // internal virtual method reference | LOOKAHEAD (2) ( tok = { info = new VirtualMethodRefInfo(p.getIdentifier(), p.getName() + "/" + tok.image); } ) // external virtual method reference | ( op0 = unsignedByteValue() op1 = unsignedByteValue() op2 = unsignedByteValue() tok2 = { packId = p.getIdentifier(op0.getValue()); if (packId == null) { // Invalid package token in constant pool of package {0} at line {1}. Object[] args = { inputSpec, p.getName(), new Integer(op0.lineNumber) }; Msg.error("parser.18", args); } else { info = new VirtualMethodRefInfo(packId, op1.getValue(), op2.getValue(), tok2.image); } } ) // internal super class method reference | ( tok = { info = new SuperMethodRefInfo(p.getIdentifier(), p.getName() + "/" + tok.image); } ) // N.B. external super class method references don't exist. // internal static field reference | LOOKAHEAD (6) ( desc = fieldDescriptorString(p) tok = { info = new StaticFieldRefInfo(p.getIdentifier(), p.getName() + "/" + tok.image, desc); } ) // external static field reference | ( desc = fieldDescriptorString(p) op0 = unsignedByteValue() op1 = unsignedByteValue() op2 = unsignedByteValue() { packId = p.getIdentifier(op0.getValue()); if (packId == null) { // Invalid package token in constant pool of package {0} at line {1}. Object[] args = { inputSpec, p.getName(), new Integer(op0.lineNumber) }; Msg.error("parser.18", args); } else { info = new StaticFieldRefInfo(packId, op1.getValue(), op2.getValue(), desc); } } ) // internal static method reference | LOOKAHEAD (2) ( tok = { info = new StaticMethodRefInfo(p.getIdentifier(), p.getName() + "/" + tok.image); } ) // external static method reference | ( op0 = unsignedByteValue() op1 = unsignedByteValue() op2 = unsignedByteValue() tok2 = { packId = p.getIdentifier(op0.getValue()); if (packId == null) { // Invalid package token in constant pool of package {0} at line {1}. Object[] args = { inputSpec, p.getName(), new Integer(op0.lineNumber) }; Msg.error("parser.18", args); } else { info = new StaticMethodRefInfo(packId, op1.getValue(), op2.getValue(), tok2.image); } } ) | tok= op0 = unsignedByteValue() op1 = unsignedByteValue() { PackageIdentifier pid = p.getIdentifier(op0.getValue()); if (pid == null || !tok.image.startsWith("L")) { // Invalid descriptor in constant pool of file {0} at line {1}. Object[] args = { inputSpec, new Integer(tok.beginLine) }; Msg.error("parser.31", args); } else { // drop the "L" p.addDescriptor(tok.image.substring(1), op0.getValue(), op1.getValue()); } } ) { return info; } } catch (ParseException e) { Msg.error(e); error_skipto(SEMICOLON); return null; } } JCClass ClassDeclaration(JCPackage p) : { JCClass c = null; int modifier; JCMethod m; Token tok, tok2 = null; Operand operand = null; Operand packageId = null; Operand classId = null; ClassIdentifier cid, scid; PackageIdentifier pid; InterfaceTable i,ri; } { try { ( modifier = classModifier() tok = (operand = unsignedByteValue())? ( LOOKAHEAD (2) ( tok2=) | ( packageId = unsignedByteValue() classId = unsignedByteValue()) )? { String className = p.getName() + "/" + tok.image; if (operand == null) { // classes and interfaces must always have a ClassIdentifier cid = new ClassIdentifier(p.getIdentifier(), internalClassToken++); } else { cid = new ClassIdentifier(p.getIdentifier(), operand.getValue()); } c = new JCClass(p, modifier, className, cid, tok.beginLine); if (tok2 != null) { c.setSuperClassName(p.getName() + "/" + tok2.image); } else if (packageId != null && classId != null) { pid = p.getIdentifier(packageId.getValue()); if (pid == null) { // Invalid package token in super class declaration of {0} at line {1}. Object[] args = { inputSpec, c.getName(), new Integer(packageId.lineNumber) }; Msg.error("parser.17", args); } else { scid = new ClassIdentifier(pid, classId.getValue()); c.setSuperClassIdentifier(scid); } } } ( { c.makeShareable(); } )? ( { c.setRemote(true); } )? ( ClassFields(p, c) )? ( c.publicMethodTable = PublicVirtualMethodTable(c) ) ( c.packageMethodTable = PackageVirtualMethodTable(c) ) ( ( i = InterfaceList(p, c) { if (i != null) { c.addInterface(i); } } )* )? ( ( ri = InterfaceList(p, c) { if (ri != null) { c.addRemoteInterface(ri); } } )* )? ( m = MethodDeclaration(p, c) { if (m != null) { c.addMethod(m); } } )* { return c; } ) } catch (ParseException e) { Msg.error(e); error_skipto(RBRACE); return c; } } JCClass InterfaceDeclaration(JCPackage p) : { JCClass i = null; int modifier; JCMethod m; Token tok, tok2; Operand operand = null; Operand packageId = null; Operand classId = null; ClassIdentifier cid; } { try { ( modifier = interfaceModifier() tok = (operand = unsignedByteValue())? { modifier |= Modifier.INTERFACE; String className = p.getName() + "/" + tok.image; if (operand == null) { // classes and interfaces must always have a ClassIdentifier cid = new ClassIdentifier(p.getIdentifier(), internalClassToken++); } else { cid = new ClassIdentifier(p.getIdentifier(), operand.getValue()); } i = new JCClass(p, modifier, className, cid, tok.beginLine); } ( { i.makeShareable(); } )? ( { i.setRemote(true); } )? ( ( ( tok2= { i.addSuperInterface(p.getName() + "/" + tok2.image); } ) | ( packageId = unsignedByteValue() classId = unsignedByteValue() { PackageIdentifier pid = p.getIdentifier(packageId.getValue()); if (pid == null) { // Invalid package token in super interface declaration of interface {1} in file {0} at line {2}. Object[] args = { inputSpec, i.getName(), new Integer(packageId.lineNumber) }; Msg.error("parser.28", args); } else { ClassIdentifier icid = new ClassIdentifier(pid, classId.getValue()); i.addSuperInterface(icid); } } ) )* )? ( ClassFields(p, i) )? ( m = MethodDeclaration(p, i) { if (m != null) { i.addMethod(m); } } )* { return i; } ) } catch (ParseException e) { Msg.error(e); error_skipto(RBRACE); return i; } } MethodTable PublicVirtualMethodTable(JCClass c) : { Token tok; Operand base; MethodTable methodTable = null; } { try { ( base = unsignedByteValue() { methodTable = new MethodTable(c, base.getValue(), true); } ) ( try { ( tok= { methodTable.addMethod(tok.image); } ";" )* } catch (ParseException e) { Msg.error(e); error_skipto(SEMICOLON); return methodTable; } { return methodTable; } ) } catch (ParseException e) { Msg.error(e); error_skipto(RBRACE); return methodTable; } } MethodTable PackageVirtualMethodTable(JCClass c) : { Token tok; Operand base; MethodTable methodTable = null; } { try { ( base = unsignedByteValue() { methodTable = new MethodTable(c, base.getValue(), false); } ) ( try { ( tok= { methodTable.addMethod(tok.image); } ";" )* } catch (ParseException e) { Msg.error(e); error_skipto(SEMICOLON); return methodTable; } { return methodTable; } ) } catch (ParseException e) { Msg.error(e); error_skipto(RBRACE); return methodTable; } } InterfaceTable InterfaceList(JCPackage p, JCClass c) : { Operand packageId = null; Operand classId = null; Operand operand; Token tok = null, table; InterfaceTable itable = null; ClassIdentifier cid; PackageIdentifier pid; int limit = c.publicMethodTable.getBase() + c.publicMethodTable.getCount() - 1; Token name_descr; } { try { ( table= ( (tok= { itable = new InterfaceTable(c, p.getName() + "/" + tok.image, table.beginLine); } ) | (packageId = unsignedByteValue() classId = unsignedByteValue() { pid = p.getIdentifier(packageId.getValue()); if (pid == null) { // Invalid package token in interface class declaration of class {0} at line {1}. Object[] args = { inputSpec, c.getName(), new Integer(table.beginLine) }; Msg.error("parser.20", args); error_skipto(RBRACE); return null; } cid = new ClassIdentifier(pid, classId.getValue()); itable = new InterfaceTable(c, cid, table.beginLine); } ) ) ( try { ( ( ( name_descr = operand = unsignedByteValue() { if (operand.getValue() > limit) { Object[] args = { inputSpec, new Integer(operand.lineNumber), c.getName() }; Msg.error("parser.19", args); } else { itable.addRemoteMethodInfo(name_descr.image, operand.getValue()); } } ) | ( operand = unsignedByteValue() { if (operand.getValue() > limit) { Object[] args = { inputSpec, new Integer(operand.lineNumber), c.getName() }; Msg.error("parser.19", args); } else { itable.addInterfaceIndex(operand.getValue()); } } ) )* ) } catch (ParseException e) { Msg.error(e); error_skipto(SEMICOLON); } ) { return itable; } ) } catch (ParseException e) { Msg.error(e); error_skipto(RBRACE); return null; } } void ClassFields(JCPackage p, JCClass c) : { Token tok; FieldDescriptor descriptor, right_descriptor = null; int mod; Field f; int[] arrayFieldInit = null; Operand fieldInit = null; Operand token = null; } { try { ( try { ( // [ ] [ = ] ; mod=fieldModifier() descriptor=fieldDescriptor(p,c) tok= ( token = unsignedByteValue() )? ( ( ( // start changes here ( ( { right_descriptor = new FieldDescriptor("[B", false, true); }) | ( { right_descriptor = new FieldDescriptor("[Z", false, true); }) | ( { usesIntegers = true; right_descriptor = new FieldDescriptor("[I", false, true); }) | ( { right_descriptor = new FieldDescriptor("[S", false, true); }) )? // end changes here arrayFieldInit = array() ) | fieldInit = integerValue() ) )? { String fieldName = c.getName() + "/" + tok.image; // only static fields may have an initializer. if (!Modifier.isStatic(mod) && (fieldInit != null || arrayFieldInit != null)) { // Invalid field initializer in field {1} declared in file {0} at line {2}. Object[] args = { inputSpec, fieldName, new Integer(tok.beginLine) }; Msg.error("parser.23", args); } // static final fields must always have an initializer else if (Modifier.isStatic(mod) && Modifier.isFinal(mod) && fieldInit == null && arrayFieldInit == null) { // Missing static field initializer in field {1} declared in file {0} at line {2}. Object[] args = { inputSpec, fieldName, new Integer(tok.beginLine) }; Msg.error("parser.24", args); } // All instance fields must have a token. if (!Modifier.isStatic(mod) && token == null) { // Field {1} declared in file {0} at line {2} must have a token. Object[] args = { inputSpec, fieldName, new Integer(tok.beginLine) }; Msg.error("parser.21", args); } // all public/protected static fields must have a token, except for // public/protected static final primitive fields. else if ((Modifier.isPublic(mod) || Modifier.isProtected(mod)) && Modifier.isStatic(mod) && !(Modifier.isFinal(mod) && descriptor.isPrimitive()) && token == null) { // Field {1} declared in file {0} at line {2} must have a token. Object[] args = { inputSpec, fieldName, new Integer(tok.beginLine) }; Msg.error("parser.21", args); } StaticFieldInitializer fInit = null; if (fieldInit != null) { fInit = new StaticFieldInitializer(fieldInit.getValue()); } else if (arrayFieldInit != null) { fInit = new StaticFieldInitializer(arrayFieldInit); fInit.setType(right_descriptor); } if (token != null) { FieldIdentifier fid = new FieldIdentifier(c.getClassIdentifier(), token.getValue(), Modifier.isStatic(mod)); f = new Field(c, mod, descriptor, fieldName, fid, fInit, tok.beginLine); } else { f = new Field(c, mod, descriptor, fieldName, fInit, tok.beginLine); } } { c.addField(f); token = null; fieldInit = null; arrayFieldInit = null; } )* } catch (ParseException e) { Msg.error(e); error_skipto(SEMICOLON); } ) } catch (ParseException e) { Msg.error(e); error_skipto(RBRACE); } } JCMethod MethodDeclaration(JCPackage p, JCClass c) : { JCMethod m = null; int mod; Statement s; Token methodToken; Operand operand = null; Token startToken = null; Token endToken = null; Token catchToken = null; Operand startOffset = null; Operand endOffset = null; Operand catchOffset = null; Operand cpIndex = null; Operand index; } { try { ( ( mod = methodModifier() methodToken = (operand = unsignedByteValue())? { boolean staticNameSpace = Modifier.isStatic(mod); if (methodToken.image.startsWith("(")) { // methods need to fall into the staticNameSpace = true; // static method name space. they are never // invoked with the invokevirtual instruction. } String methodName = c.getName() + "/" + methodToken.image; // private methods do not have tokens. if (Modifier.isPrivate(mod) && operand != null) { // method {1} declared in file {0} at line number {2} should not have a token. Object[] args = { inputSpec, methodName, new Integer(methodToken.beginLine) }; Msg.error("parser.27", args); // public and protected methods must always have a token. Likewise for virtual methods, // the exception being private methods and constructors... } else if ( ((Modifier.isPublic(mod) || Modifier.isProtected(mod)) && operand == null) || (!staticNameSpace && !Modifier.isPrivate(mod) && operand == null)) { // method {1} declared in file {0} at line number {2} requires a token. Object[] args = { inputSpec, methodName, new Integer(methodToken.beginLine) }; Msg.error("parser.22", args); // virtual method tokens have additional constraints } else if (operand != null && !staticNameSpace) { int tval = operand.getValue(); // public and protected method tokens must be less than 0x80 if ((Modifier.isPublic(mod) || Modifier.isProtected(mod)) && tval >= 0x80) { // method {1} declared in file {0} at line number {2} has an invalid token value. Object[] args = { inputSpec, methodName, new Integer(methodToken.beginLine) }; Msg.error("parser.26", args); // otherwise, they must be greater or equal to 0x80 } else if (!(Modifier.isPublic(mod) || Modifier.isProtected(mod)) && tval < 0x80) { // method {1} declared in file {0} at line number {2} has an invalid token value. Object[] args = { inputSpec, methodName, new Integer(methodToken.beginLine) }; Msg.error("parser.26", args); } } if (operand == null) { m = new JCMethod(c, mod, methodName, methodToken.beginLine); } else { MethodIdentifier mid = new MethodIdentifier(c.getClassIdentifier(), operand.getValue(), staticNameSpace); m = new JCMethod(c, mod, methodName, mid, methodToken.beginLine); } } ) ( MethodDirective(p,c,m) )* // method header ( s = statement(p,c,m) { if (s != null) { m.addStatement(s); }} )* // zero or more statements ( ( // start_offset length handler_offset catch_type_index ; ( ( startToken = | startOffset = unsignedShortValue() ) ( endToken = | endOffset = unsignedShortValue() ) ( catchToken = | catchOffset = unsignedShortValue() ) ( index = unsignedShortValue() { if (index.getValue() != 0) { Info info = p.getConstantPoolEntry(index.getValue()); if (info == null) { // constant pool index ({0}) out of range at line {1}, column {2}. Object[] arguments = { inputSpec, new Integer(index.getValue()), new Integer(index.getLine()), new Integer(index.getColumn()) }; Msg.error("parser.ConstantPoolIndex", arguments); cpIndex = new Operand(0, Operand.TYPE_SHORT, null); // keep the parse going... } if (p.getConstantPoolEntry(index.getValue()).getType() != Info.CLASS_REF) { // constant pool entry at index ({0}) at line {1}, column {2} not of type {3}. Object[] arguments = { inputSpec, new Integer(index.getValue()), new Integer(index.getLine()), new Integer(index.getColumn()) }; Msg.error("parser.ConstantPoolType", arguments); cpIndex = new Operand(0, Operand.TYPE_SHORT, null); // keep the parse going... } cpIndex = new Operand(index.getValue(), Operand.TYPE_CONSTANT_POOL_INDEX, null); cpIndex.resolve(info); } else { cpIndex = new Operand(0, Operand.TYPE_UNSIGNED_SHORT, null); } } ) { ExceptionTableEntry exEntry = new ExceptionTableEntry(m, startToken == null ? null : startToken.image, startOffset, endToken == null ? null : endToken.image, endOffset, catchToken == null ? null : catchToken.image, catchOffset, cpIndex); m.addExceptionTableEntry(exEntry); startToken = null; startOffset = null; endToken = null; endOffset = null; catchToken = null; catchOffset = null; cpIndex = null; } )* ) | ) { return m; } ) } catch (ParseException e) { Msg.error(e); error_skipto(END_METHOD); return m; } } void MethodDirective(JCPackage p, JCClass c, JCMethod m) : { Operand operand, operand2; Token tok; } { try { ( operand = unsignedByteValue() { m.setStack(operand.getValue()); } | operand = unsignedByteValue() { m.setLocals(operand.getValue()); } | tok= operand = unsignedByteValue() operand2 = unsignedByteValue() { PackageIdentifier pid = p.getIdentifier(operand.getValue()); if (pid == null || !tok.image.startsWith("L")) { // Invalid method descriptor in method {1} of file {0} at line {2}. Object[] args = { inputSpec, m.getName(), new Integer(tok.beginLine) }; Msg.error("parser.30", args); } else { // drop the "L" p.addDescriptor(tok.image.substring(1), operand.getValue(), operand2.getValue()); } } ) } catch (ParseException e) { Msg.error(e); error_skipto(SEMICOLON); } } Statement statement(JCPackage p, JCClass c, JCMethod m) : { Token tok = null; Instruction ins; } { try { (tok = )? ins = instruction(p,c,m) { if (tok == null) { return new Statement(null, ins); } else { return new Statement(tok.image, ins); } } } catch (ParseException e) { Msg.error(e); error_skipto(SEMICOLON); return null; } } Instruction instruction(JCPackage p, JCClass c, JCMethod meth) : { Instruction instruction; Operand operand, operand2, operand3; Vector opVec; Token tok; int m, n; } { ( tok = { instruction = new Instruction(Instruction.AALOAD, tok); } | tok = { instruction = new Instruction(Instruction.AASTORE, tok); } | tok = { instruction = new Instruction(Instruction.ACONST_NULL, tok); } | tok = operand = localIndex() { instruction = new Instruction(Instruction.ALOAD, tok); instruction.addOperand(operand); } | tok = { instruction = new Instruction(Instruction.ALOAD_0, tok); } | tok = { instruction = new Instruction(Instruction.ALOAD_1, tok); } | tok = { instruction = new Instruction(Instruction.ALOAD_2, tok); } | tok = { instruction = new Instruction(Instruction.ALOAD_3, tok); } | tok = operand = constantPoolIndex(p, Info.CLASS_REF, true) { instruction = new Instruction(Instruction.ANEWARRAY, tok); instruction.addOperand(operand); } | tok = { instruction = new Instruction(Instruction.ARETURN, tok); } | tok = { instruction = new Instruction(Instruction.ARRAYLENGTH, tok); } | tok = operand = localIndex() { instruction = new Instruction(Instruction.ASTORE, tok); instruction.addOperand(operand); } | tok = { instruction = new Instruction(Instruction.ASTORE_0, tok); } | tok = { instruction = new Instruction(Instruction.ASTORE_1, tok); } | tok = { instruction = new Instruction(Instruction.ASTORE_2, tok); } | tok = { instruction = new Instruction(Instruction.ASTORE_3, tok); } | tok = { instruction = new Instruction(Instruction.ATHROW, tok); } | tok = { instruction = new Instruction(Instruction.BALOAD, tok); } | tok = { instruction = new Instruction(Instruction.BASTORE, tok); } | tok = operand = byteValue() { instruction = new Instruction(Instruction.BIPUSH, tok); instruction.addOperand(operand); usesIntegers = true; } | tok = operand = byteValue() { instruction = new Instruction(Instruction.BSPUSH, tok); instruction.addOperand(operand); } | tok = operand = unsignedByteValue() operand2 = constantPoolIndex(p, Info.CLASS_REF, false) { instruction = new Instruction(Instruction.CHECKCAST, tok); instruction.addOperand(operand); switch (operand.getValue()) { case 13: usesIntegers = true; // fall into... case 10: case 11: case 12: if (operand2.getValue() != 0) { // parser.Operand=Invalid operand in {0} at line number {1}. Object[] arguments = { inputSpec, tok.image, new Integer(tok.beginLine) }; Msg.error("parser.Operand", arguments); } instruction.addOperand(new Operand(0, Operand.TYPE_SHORT, tok)); break; case 0: case 14: instruction.addOperand(operand2); break; default: // parser.Operand=Invalid operand in {0} at line number {1}. Object[] arguments = { inputSpec, tok.image, new Integer(tok.beginLine) }; Msg.error("parser.Operand", arguments); instruction.addOperand(new Operand(0, Operand.TYPE_SHORT, tok)); } } | tok = { instruction = new Instruction(Instruction.DUP, tok); } | tok = operand = unsignedByteValue() { instruction = new Instruction(Instruction.DUP_X, tok); m = operand.getValue() >> 4; n = operand.getValue() & 0xf; if (m < 1 || m > 4 || ( n != 0 && (n < m || n > m+4))) { // parser.Operand=Invalid operand in {0} at line {1}. Object[] arguments = { inputSpec, tok.image, new Integer(tok.beginLine) }; Msg.error("parser.Operand", arguments); } if (m > 2 || n > m+2) { usesIntegers = true; } instruction.addOperand(operand); } | tok = { instruction = new Instruction(Instruction.DUP2, tok); } | tok = operand = byteConstantPoolIndex(p, Info.INSTANCE_FIELD_REF) { instruction = new Instruction(Instruction.GETFIELD_A, tok); instruction.addOperand(operand); } | tok = operand = byteConstantPoolIndex(p, Info.INSTANCE_FIELD_REF) { instruction = new Instruction(Instruction.GETFIELD_B, tok); instruction.addOperand(operand); } | tok = operand = byteConstantPoolIndex(p, Info.INSTANCE_FIELD_REF) { instruction = new Instruction(Instruction.GETFIELD_I, tok); instruction.addOperand(operand); usesIntegers = true; } | tok = operand = byteConstantPoolIndex(p, Info.INSTANCE_FIELD_REF) { instruction = new Instruction(Instruction.GETFIELD_S, tok); instruction.addOperand(operand); } | tok = operand = byteConstantPoolIndex(p, Info.INSTANCE_FIELD_REF) { instruction = new Instruction(Instruction.GETFIELD_A_THIS, tok); instruction.addOperand(operand); } | tok = operand = byteConstantPoolIndex(p, Info.INSTANCE_FIELD_REF) { instruction = new Instruction(Instruction.GETFIELD_B_THIS, tok); instruction.addOperand(operand); } | tok = operand = byteConstantPoolIndex(p, Info.INSTANCE_FIELD_REF) { instruction = new Instruction(Instruction.GETFIELD_I_THIS, tok); instruction.addOperand(operand); usesIntegers = true; } | tok = operand = byteConstantPoolIndex(p, Info.INSTANCE_FIELD_REF) { instruction = new Instruction(Instruction.GETFIELD_S_THIS, tok); instruction.addOperand(operand); } | tok = operand = constantPoolIndex(p, Info.INSTANCE_FIELD_REF, true) { instruction = new Instruction(Instruction.GETFIELD_A_W, tok); instruction.addOperand(operand); } | tok = operand = constantPoolIndex(p, Info.INSTANCE_FIELD_REF, true) { instruction = new Instruction(Instruction.GETFIELD_B_W, tok); instruction.addOperand(operand); } | tok = operand = constantPoolIndex(p, Info.INSTANCE_FIELD_REF, true) { instruction = new Instruction(Instruction.GETFIELD_I_W, tok); instruction.addOperand(operand); usesIntegers = true; } | tok = operand = constantPoolIndex(p, Info.INSTANCE_FIELD_REF, true) { instruction = new Instruction(Instruction.GETFIELD_S_W, tok); instruction.addOperand(operand); } | tok = operand = constantPoolIndex(p, Info.STATIC_FIELD_REF, true) { instruction = new Instruction(Instruction.GETSTATIC_A, tok); instruction.addOperand(operand); } | tok = operand = constantPoolIndex(p, Info.STATIC_FIELD_REF, true) { instruction = new Instruction(Instruction.GETSTATIC_B, tok); instruction.addOperand(operand); } | tok = operand = constantPoolIndex(p, Info.STATIC_FIELD_REF, true) { instruction = new Instruction(Instruction.GETSTATIC_I, tok); instruction.addOperand(operand); usesIntegers = true; } | tok = operand = constantPoolIndex(p, Info.STATIC_FIELD_REF, true) { instruction = new Instruction(Instruction.GETSTATIC_S, tok); instruction.addOperand(operand); } | tok = operand = byteBranchDisplacement() { instruction = new Instruction(Instruction.GOTO, tok); instruction.addOperand(operand); } | tok = operand = shortBranchDisplacement() { instruction = new Instruction(Instruction.GOTO_W, tok); instruction.addOperand(operand); } | tok = { instruction = new Instruction(Instruction.I2B, tok); usesIntegers = true; } | tok = { instruction = new Instruction(Instruction.I2S, tok); usesIntegers = true; } | tok = { instruction = new Instruction(Instruction.IADD, tok); usesIntegers = true; } | tok = { instruction = new Instruction(Instruction.IALOAD, tok); usesIntegers = true; } | tok = { instruction = new Instruction(Instruction.IAND, tok); usesIntegers = true; } | tok = { instruction = new Instruction(Instruction.IASTORE, tok); usesIntegers = true; } | tok = { instruction = new Instruction(Instruction.ICMP, tok); usesIntegers = true; } | tok = { instruction = new Instruction(Instruction.ICONST_M1, tok); usesIntegers = true; } | tok = { instruction = new Instruction(Instruction.ICONST_0, tok); usesIntegers = true; } | tok = { instruction = new Instruction(Instruction.ICONST_1, tok); usesIntegers = true; } | tok = { instruction = new Instruction(Instruction.ICONST_2, tok); usesIntegers = true; } | tok = { instruction = new Instruction(Instruction.ICONST_3, tok); usesIntegers = true; } | tok = { instruction = new Instruction(Instruction.ICONST_4, tok); usesIntegers = true; } | tok = { instruction = new Instruction(Instruction.ICONST_5, tok); usesIntegers = true; } | tok = { instruction = new Instruction(Instruction.IDIV, tok); usesIntegers = true; } | tok = operand = byteBranchDisplacement() { instruction = new Instruction(Instruction.IF_ACMPEQ, tok); instruction.addOperand(operand); } | tok = operand = byteBranchDisplacement() { instruction = new Instruction(Instruction.IF_ACMPNE, tok); instruction.addOperand(operand); } | tok = operand = shortBranchDisplacement() { instruction = new Instruction(Instruction.IF_ACMPEQ_W, tok); instruction.addOperand(operand); } | tok = operand = shortBranchDisplacement() { instruction = new Instruction(Instruction.IF_ACMPNE_W, tok); instruction.addOperand(operand); } | tok = operand = byteBranchDisplacement() { instruction = new Instruction(Instruction.IF_SCMPEQ, tok); instruction.addOperand(operand); } | tok = operand = byteBranchDisplacement() { instruction = new Instruction(Instruction.IF_SCMPNE, tok); instruction.addOperand(operand); } | tok = operand = byteBranchDisplacement() { instruction = new Instruction(Instruction.IF_SCMPLT, tok); instruction.addOperand(operand); } | tok = operand = byteBranchDisplacement() { instruction = new Instruction(Instruction.IF_SCMPGE, tok); instruction.addOperand(operand); } | tok = operand = byteBranchDisplacement() { instruction = new Instruction(Instruction.IF_SCMPGT, tok); instruction.addOperand(operand); } | tok = operand = byteBranchDisplacement() { instruction = new Instruction(Instruction.IF_SCMPLE, tok); instruction.addOperand(operand); } | tok = operand = shortBranchDisplacement() { instruction = new Instruction(Instruction.IF_SCMPEQ_W, tok); instruction.addOperand(operand); } | tok = operand = shortBranchDisplacement() { instruction = new Instruction(Instruction.IF_SCMPNE_W, tok); instruction.addOperand(operand); } | tok = operand = shortBranchDisplacement() { instruction = new Instruction(Instruction.IF_SCMPLT_W, tok); instruction.addOperand(operand); } | tok = operand = shortBranchDisplacement() { instruction = new Instruction(Instruction.IF_SCMPGE_W, tok); instruction.addOperand(operand); } | tok = operand = shortBranchDisplacement() { instruction = new Instruction(Instruction.IF_SCMPGT_W, tok); instruction.addOperand(operand); } | tok = operand = shortBranchDisplacement() { instruction = new Instruction(Instruction.IF_SCMPLE_W, tok); instruction.addOperand(operand); } | tok = operand = byteBranchDisplacement() { instruction = new Instruction(Instruction.IFEQ, tok); instruction.addOperand(operand); } | tok = operand = byteBranchDisplacement() { instruction = new Instruction(Instruction.IFNE, tok); instruction.addOperand(operand); } | tok = operand = byteBranchDisplacement() { instruction = new Instruction(Instruction.IFLT, tok); instruction.addOperand(operand); } | tok = operand = byteBranchDisplacement() { instruction = new Instruction(Instruction.IFGE, tok); instruction.addOperand(operand); } | tok = operand = byteBranchDisplacement() { instruction = new Instruction(Instruction.IFGT, tok); instruction.addOperand(operand); } | tok = operand = byteBranchDisplacement() { instruction = new Instruction(Instruction.IFLE, tok); instruction.addOperand(operand); } | tok = operand = shortBranchDisplacement() { instruction = new Instruction(Instruction.IFEQ_W, tok); instruction.addOperand(operand); } | tok = operand = shortBranchDisplacement() { instruction = new Instruction(Instruction.IFNE_W, tok); instruction.addOperand(operand); } | tok = operand = shortBranchDisplacement() { instruction = new Instruction(Instruction.IFLT_W, tok); instruction.addOperand(operand); } | tok = operand = shortBranchDisplacement() { instruction = new Instruction(Instruction.IFGE_W, tok); instruction.addOperand(operand); } | tok = operand = shortBranchDisplacement() { instruction = new Instruction(Instruction.IFGT_W, tok); instruction.addOperand(operand); } | tok = operand = shortBranchDisplacement() { instruction = new Instruction(Instruction.IFLE_W, tok); instruction.addOperand(operand); } | tok = operand = byteBranchDisplacement() { instruction = new Instruction(Instruction.IFNONNULL, tok); instruction.addOperand(operand); } | tok = operand = shortBranchDisplacement() { instruction = new Instruction(Instruction.IFNONNULL_W, tok); instruction.addOperand(operand); } | tok = operand = byteBranchDisplacement() { instruction = new Instruction(Instruction.IFNULL, tok); instruction.addOperand(operand); } | tok = operand = shortBranchDisplacement() { instruction = new Instruction(Instruction.IFNULL_W, tok); instruction.addOperand(operand); } | tok = operand = localIndex() operand2 = byteValue() { instruction = new Instruction(Instruction.IINC, tok); instruction.addOperand(operand); instruction.addOperand(operand2); usesIntegers = true; } | tok = operand = localIndex() operand2 = shortValue() { instruction = new Instruction(Instruction.IINC_W, tok); instruction.addOperand(operand); instruction.addOperand(operand2); usesIntegers = true; } | tok = operand = integerValue() { instruction = new Instruction(Instruction.IIPUSH, tok); instruction.addOperand(operand); usesIntegers = true; } | tok = operand = localIndex() { instruction = new Instruction(Instruction.ILOAD, tok); instruction.addOperand(operand); usesIntegers = true; } | tok = { instruction = new Instruction(Instruction.ILOAD_0, tok); usesIntegers = true; } | tok = { instruction = new Instruction(Instruction.ILOAD_1, tok); usesIntegers = true; } | tok = { instruction = new Instruction(Instruction.ILOAD_2, tok); usesIntegers = true; } | tok = { instruction = new Instruction(Instruction.ILOAD_3, tok); usesIntegers = true; } | tok = operand = shortBranchDisplacement() operand2 = unsignedShortValue() opVec = ilookupswitchMatchList() { instruction = new Instruction(Instruction.ILOOKUPSWITCH, tok); instruction.addOperand(operand); instruction.addOperand(operand2); for (int i = 0; i < opVec.size(); i++) instruction.addOperand((Operand)opVec.elementAt(i)); if ((operand2.getValue() * 2) != opVec.size()) { // parser.Pairs=Incorrect number of match/jump pairs in {0} at line number {1}. Object[] arguments = { inputSpec, tok.image, new Integer(tok.beginLine) }; Msg.error("parser.Pairs", arguments); } usesIntegers = true; } | tok = { instruction = new Instruction(Instruction.IMPDEP1, tok); } | tok = { instruction = new Instruction(Instruction.IMPDEP2, tok); } | tok = { instruction = new Instruction(Instruction.IMUL, tok); usesIntegers = true; } | tok = { instruction = new Instruction(Instruction.INEG, tok); usesIntegers = true; } | tok = operand = unsignedByteValue() operand2 = constantPoolIndex(p, Info.CLASS_REF, false) { instruction = new Instruction(Instruction.INSTANCEOF, tok); instruction.addOperand(operand); switch (operand.getValue()) { case 13: usesIntegers = true; // fall into... case 10: case 11: case 12: if (operand2.getValue() != 0) { // parser.Operand=Invalid operand in {0} at line number {1}. Object[] arguments = { inputSpec, tok.image, new Integer(tok.beginLine) }; Msg.error("parser.Operand", arguments); } instruction.addOperand(new Operand(0, Operand.TYPE_SHORT, tok)); break; case 0: case 14: instruction.addOperand(operand2); break; default: instruction.addOperand(new Operand(0, Operand.TYPE_SHORT, tok)); // parser.Operand=Invalid operand in {0} at line number {1}. Object[] arguments = { inputSpec, tok.image, new Integer(tok.beginLine) }; Msg.error("parser.Operand", arguments); } } | tok = operand = unsignedByteValue() operand2 = constantPoolIndex(p, Info.CLASS_REF, true) operand3 = unsignedByteValue() { instruction = new Instruction(Instruction.INVOKEINTERFACE, tok); instruction.addOperand(operand); instruction.addOperand(operand2); instruction.addOperand(operand3); if (operand.getValue() == 0) { // parser.Operand=Invalid operand in {0} at line number {1}. Object[] arguments = { inputSpec, tok.image, new Integer(tok.beginLine) }; Msg.error("parser.Operand", arguments); } } | tok = operand = constantPoolIndex(p, 0, false) { instruction = new Instruction(Instruction.INVOKESPECIAL, tok); instruction.addOperand(operand); } | tok = operand = constantPoolIndex(p, Info.STATIC_METHOD_REF, true) { instruction = new Instruction(Instruction.INVOKESTATIC, tok); instruction.addOperand(operand); } | tok = operand = constantPoolIndex(p, Info.VIRTUAL_METHOD_REF, true) { instruction = new Instruction(Instruction.INVOKEVIRTUAL, tok); instruction.addOperand(operand); } | tok = { instruction = new Instruction(Instruction.IOR, tok); usesIntegers = true; } | tok = { instruction = new Instruction(Instruction.IREM, tok); usesIntegers = true; } | tok = { instruction = new Instruction(Instruction.IRETURN, tok); usesIntegers = true; } | tok = { instruction = new Instruction(Instruction.ISHL, tok); usesIntegers = true; } | tok = { instruction = new Instruction(Instruction.ISHR, tok); usesIntegers = true; } | tok = operand = localIndex() { instruction = new Instruction(Instruction.ISTORE, tok); instruction.addOperand(operand); usesIntegers = true; } | tok = { instruction = new Instruction(Instruction.ISTORE_0, tok); usesIntegers = true; } | tok = { instruction = new Instruction(Instruction.ISTORE_1, tok); usesIntegers = true; } | tok = { instruction = new Instruction(Instruction.ISTORE_2, tok); usesIntegers = true; } | tok = { instruction = new Instruction(Instruction.ISTORE_3, tok); usesIntegers = true; } | tok = { instruction = new Instruction(Instruction.ISUB, tok); usesIntegers = true; } | tok = operand = shortBranchDisplacement() operand2 = integerValue() operand3 = integerValue() opVec = shortBranchDisplacementList() { instruction = new Instruction(Instruction.ITABLESWITCH, tok); instruction.addOperand(operand); instruction.addOperand(operand2); instruction.addOperand(operand3); for (int i = 0; i < opVec.size(); i++) instruction.addOperand((Operand)opVec.elementAt(i)); if (operand2.getValue() > operand3.getValue()) { // lower limit is greater than upper limit in {0} at line number {1}. ); Object[] arguments = { inputSpec, tok.image, new Integer(tok.beginLine) }; Msg.error("parser.Limit", arguments); } else if ((operand3.getValue() - operand2.getValue() + 1) != opVec.size()) { // incorrect number of jump offsets in {0} at line number {1}. Object[] arguments = { inputSpec, tok.image, new Integer(tok.beginLine) }; Msg.error("parser.Offsets", arguments); } usesIntegers = true; } | tok = { instruction = new Instruction(Instruction.IUSHR, tok); usesIntegers = true; } | tok = { instruction = new Instruction(Instruction.IXOR, tok); usesIntegers = true; } | tok = operand = shortBranchDisplacement() { instruction = new Instruction(Instruction.JSR, tok); instruction.addOperand(operand); } | tok = operand = constantPoolIndex(p, Info.CLASS_REF, true) { instruction = new Instruction(Instruction.NEW, tok); instruction.addOperand(operand); } | tok = operand = primitiveArrayType() { instruction = new Instruction(Instruction.NEWARRAY, tok); instruction.addOperand(operand); } | tok = { instruction = new Instruction(Instruction.NOP, tok); } | tok = { instruction = new Instruction(Instruction.POP, tok); } | tok = { instruction = new Instruction(Instruction.POP2, tok); } | tok = operand = byteConstantPoolIndex(p, Info.INSTANCE_FIELD_REF) { instruction = new Instruction(Instruction.PUTFIELD_A, tok); instruction.addOperand(operand); } | tok = operand = byteConstantPoolIndex(p, Info.INSTANCE_FIELD_REF) { instruction = new Instruction(Instruction.PUTFIELD_B, tok); instruction.addOperand(operand); } | tok = operand = byteConstantPoolIndex(p, Info.INSTANCE_FIELD_REF) { instruction = new Instruction(Instruction.PUTFIELD_I, tok); instruction.addOperand(operand); usesIntegers = true; } | tok = operand = byteConstantPoolIndex(p, Info.INSTANCE_FIELD_REF) { instruction = new Instruction(Instruction.PUTFIELD_S, tok); instruction.addOperand(operand); } | tok = operand = byteConstantPoolIndex(p, Info.INSTANCE_FIELD_REF) { instruction = new Instruction(Instruction.PUTFIELD_A_THIS, tok); instruction.addOperand(operand); } | tok = operand = byteConstantPoolIndex(p, Info.INSTANCE_FIELD_REF) { instruction = new Instruction(Instruction.PUTFIELD_B_THIS, tok); instruction.addOperand(operand); } | tok = operand = byteConstantPoolIndex(p, Info.INSTANCE_FIELD_REF) { instruction = new Instruction(Instruction.PUTFIELD_I_THIS, tok); instruction.addOperand(operand); usesIntegers = true; } | tok = operand = byteConstantPoolIndex(p, Info.INSTANCE_FIELD_REF) { instruction = new Instruction(Instruction.PUTFIELD_S_THIS, tok); instruction.addOperand(operand); } | tok = operand = constantPoolIndex(p, Info.INSTANCE_FIELD_REF, true) { instruction = new Instruction(Instruction.PUTFIELD_A_W, tok); instruction.addOperand(operand); } | tok = operand = constantPoolIndex(p, Info.INSTANCE_FIELD_REF, true) { instruction = new Instruction(Instruction.PUTFIELD_B_W, tok); instruction.addOperand(operand); } | tok = operand = constantPoolIndex(p, Info.INSTANCE_FIELD_REF, true) { instruction = new Instruction(Instruction.PUTFIELD_I_W, tok); instruction.addOperand(operand); usesIntegers = true; } | tok = operand = constantPoolIndex(p, Info.INSTANCE_FIELD_REF, true) { instruction = new Instruction(Instruction.PUTFIELD_S_W, tok); instruction.addOperand(operand); } | tok = operand = constantPoolIndex(p, Info.STATIC_FIELD_REF, true) { instruction = new Instruction(Instruction.PUTSTATIC_A, tok); instruction.addOperand(operand); } | tok = operand = constantPoolIndex(p, Info.STATIC_FIELD_REF, true) { instruction = new Instruction(Instruction.PUTSTATIC_B, tok); instruction.addOperand(operand); } | tok = operand = constantPoolIndex(p, Info.STATIC_FIELD_REF, true) { instruction = new Instruction(Instruction.PUTSTATIC_I, tok); instruction.addOperand(operand); usesIntegers = true; } | tok = operand = constantPoolIndex(p, Info.STATIC_FIELD_REF, true) { instruction = new Instruction(Instruction.PUTSTATIC_S, tok); instruction.addOperand(operand); } | tok = operand = localIndex() { instruction = new Instruction(Instruction.RET, tok); instruction.addOperand(operand); } | tok = { instruction = new Instruction(Instruction.RETURN, tok); } | tok = { instruction = new Instruction(Instruction.S2B, tok); } | tok = { instruction = new Instruction(Instruction.S2I, tok); usesIntegers = true; } | tok = { instruction = new Instruction(Instruction.SADD, tok); } | tok = { instruction = new Instruction(Instruction.SALOAD, tok); } | tok = { instruction = new Instruction(Instruction.SAND, tok); } | tok = { instruction = new Instruction(Instruction.SASTORE, tok); } | tok = { instruction = new Instruction(Instruction.SCONST_M1, tok); } | tok = { instruction = new Instruction(Instruction.SCONST_0, tok); } | tok = { instruction = new Instruction(Instruction.SCONST_1, tok); } | tok = { instruction = new Instruction(Instruction.SCONST_2, tok); } | tok = { instruction = new Instruction(Instruction.SCONST_3, tok); } | tok = { instruction = new Instruction(Instruction.SCONST_4, tok); } | tok = { instruction = new Instruction(Instruction.SCONST_5, tok); } | tok = { instruction = new Instruction(Instruction.SDIV, tok); } | tok = operand = localIndex() operand2 = byteValue() { instruction = new Instruction(Instruction.SINC, tok); instruction.addOperand(operand); instruction.addOperand(operand2); } | tok = operand = localIndex() operand2 = shortValue() { instruction = new Instruction(Instruction.SINC_W, tok); instruction.addOperand(operand); instruction.addOperand(operand2); } | tok = operand = shortValue() { instruction = new Instruction(Instruction.SIPUSH, tok); instruction.addOperand(operand); usesIntegers = true; } | tok = operand = localIndex() { instruction = new Instruction(Instruction.SLOAD, tok); instruction.addOperand(operand); } | tok = { instruction = new Instruction(Instruction.SLOAD_0, tok); } | tok = { instruction = new Instruction(Instruction.SLOAD_1, tok); } | tok = { instruction = new Instruction(Instruction.SLOAD_2, tok); } | tok = { instruction = new Instruction(Instruction.SLOAD_3, tok); } | tok = operand = shortBranchDisplacement() operand2 = unsignedShortValue() opVec = slookupswitchMatchList() { instruction = new Instruction(Instruction.SLOOKUPSWITCH, tok); instruction.addOperand(operand); instruction.addOperand(operand2); for (int i = 0; i < opVec.size(); i++) instruction.addOperand((Operand)opVec.elementAt(i)); if ((operand2.getValue() * 2) != opVec.size()) { // parser.Pairs=Incorrect number of match/jump pairs in {0} at line number {1}. Object[] arguments = { inputSpec, tok.image, new Integer(tok.beginLine) }; Msg.error("parser.Pairs", arguments); } } | tok = { instruction = new Instruction(Instruction.SMUL, tok); } | tok = { instruction = new Instruction(Instruction.SNEG, tok); } | tok = { instruction = new Instruction(Instruction.SOR, tok); } | tok = { instruction = new Instruction(Instruction.SREM, tok); } | tok = { instruction = new Instruction(Instruction.SRETURN, tok); } | tok = { instruction = new Instruction(Instruction.SSHL, tok); } | tok = { instruction = new Instruction(Instruction.SSHR, tok); } | tok = operand = shortValue() { instruction = new Instruction(Instruction.SSPUSH, tok); instruction.addOperand(operand); } | tok = operand = localIndex() { instruction = new Instruction(Instruction.SSTORE, tok); instruction.addOperand(operand); } | tok = { instruction = new Instruction(Instruction.SSTORE_0, tok); } | tok = { instruction = new Instruction(Instruction.SSTORE_1, tok); } | tok = { instruction = new Instruction(Instruction.SSTORE_2, tok); } | tok = { instruction = new Instruction(Instruction.SSTORE_3, tok); } | tok = { instruction = new Instruction(Instruction.SSUB, tok); } | tok = operand = shortBranchDisplacement() operand2 = shortValue() operand3 = shortValue() opVec = shortBranchDisplacementList() { instruction = new Instruction(Instruction.STABLESWITCH, tok); instruction.addOperand(operand); instruction.addOperand(operand2); instruction.addOperand(operand3); for (int i = 0; i < opVec.size(); i++) instruction.addOperand((Operand)opVec.elementAt(i)); if (operand2.getValue() > operand3.getValue()) { // lower limit exceeds upper limit in {0} at line number {1}. ); Object[] arguments = { inputSpec, tok.image, new Integer(tok.beginLine) }; Msg.error("parser.Limit", arguments); } else if ((operand3.getValue() - operand2.getValue() + 1) != opVec.size()) { // incorrect number of jump offsets in {0} at line number {1}. Object[] arguments = { inputSpec, tok.image, new Integer(tok.beginLine) }; Msg.error("parser.Offsets", arguments); } } | tok = { instruction = new Instruction(Instruction.SUSHR, tok); } | tok = operand = unsignedByteValue() { instruction = new Instruction(Instruction.SWAP_X, tok); m = operand.getValue() >> 4; n = operand.getValue() & 0xf; if (m < 1 || m > 2 || n < 1 || n > 2) { // parser.Operand=Invalid operand in {0} at line {1}. Object[] arguments = { inputSpec, tok.image, new Integer(tok.beginLine) }; Msg.error("parser.Operand", arguments); } if (m > 1 || n > 1) { usesIntegers = true; } instruction.addOperand(operand); } | tok = { instruction = new Instruction(Instruction.SXOR, tok); } ) { return instruction; } } int classModifier() : { Token tok; int mod = 0; Object[] args = new Object[4]; args[0] = inputSpec; args[1] = Msg.getMessage("class"); } { ( ( tok= { mod |= Modifier.ABSTRACT; if (Modifier.isFinal(mod)) { args[2] = new Integer(tok.beginLine); args[3] = new Integer(tok.beginColumn); Msg.error("parser.Attributes", args); } } ) | ( tok= { mod |= Modifier.FINAL; if (Modifier.isAbstract(mod)) { args[2] = new Integer(tok.beginLine); args[3] = new Integer(tok.beginColumn); Msg.error("parser.Attributes", args); } } ) | ( tok= { mod |= Modifier.PUBLIC; if (Modifier.isPrivate(mod) || Modifier.isProtected(mod)) { args[2] = new Integer(tok.beginLine); args[3] = new Integer(tok.beginColumn); Msg.error("parser.Attributes", args); } } ) | ( tok= { mod |= Modifier.PRIVATE; if (Modifier.isPublic(mod) || Modifier.isProtected(mod)) { args[2] = new Integer(tok.beginLine); args[3] = new Integer(tok.beginColumn); Msg.error("parser.Attributes", args); } } ) | ( tok= { mod |= Modifier.PROTECTED; if (Modifier.isPrivate(mod) || Modifier.isPublic(mod)) { args[2] = new Integer(tok.beginLine); args[3] = new Integer(tok.beginColumn); Msg.error("parser.Attributes", args); } } ) | ( tok= { mod |= Modifier.STATIC; } ) )* { return mod; } } int interfaceModifier() : { Token tok; int mod = 0; } { ( ( tok= { mod |= Modifier.PUBLIC; } ) | ( tok= { mod |= Modifier.ABSTRACT; } ) )* { return mod; } } int methodModifier() : { Token tok; int mod = 0; Object[] args = new Object[4]; args[0] = inputSpec; args[1] = Msg.getMessage("method"); } { ( ( tok= { mod |= Modifier.ABSTRACT; if (Modifier.isFinal(mod)) { args[2] = new Integer(tok.beginLine); args[3] = new Integer(tok.beginColumn); Msg.error("parser.Attributes", args); } } ) | ( tok= { mod |= Modifier.FINAL; if (Modifier.isAbstract(mod)) { args[2] = new Integer(tok.beginLine); args[3] = new Integer(tok.beginColumn); Msg.error("parser.Attributes", args); } } ) | ( tok= { mod |= Modifier.PUBLIC; if (Modifier.isPrivate(mod) || Modifier.isProtected(mod)) { args[2] = new Integer(tok.beginLine); args[3] = new Integer(tok.beginColumn); Msg.error("parser.Attributes", args); } } ) | ( tok= { mod |= Modifier.PRIVATE; if (Modifier.isPublic(mod) || Modifier.isProtected(mod)) { args[2] = new Integer(tok.beginLine); args[3] = new Integer(tok.beginColumn); Msg.error("parser.Attributes", args); } } ) | ( tok= { mod |= Modifier.PROTECTED; if (Modifier.isPrivate(mod) || Modifier.isPublic(mod)) { args[2] = new Integer(tok.beginLine); args[3] = new Integer(tok.beginColumn); Msg.error("parser.Attributes", args); } } ) | ( tok= { mod |= Modifier.STATIC; } ) | ( tok= { mod |= Modifier.NATIVE; } ) | ( tok= { mod |= 0x0020; /*ACC_REMOTE*/ } ) // | ( tok= { mod |= 0x0800; /*ACC_SHAREABLE*/ } ) )* { return mod; } } int fieldModifier() : { Token tok; int mod = 0; Object[] args = new Object[4]; args[0] = inputSpec; args[1] = Msg.getMessage("field"); } { ( ( tok= { mod |= Modifier.PUBLIC; if (Modifier.isPrivate(mod) || Modifier.isProtected(mod)) { args[2] = new Integer(tok.beginLine); args[3] = new Integer(tok.beginColumn); Msg.error("parser.Attributes", args); } } ) | ( tok= { mod |= Modifier.PRIVATE; if (Modifier.isPublic(mod) || Modifier.isProtected(mod)) { args[2] = new Integer(tok.beginLine); args[3] = new Integer(tok.beginColumn); Msg.error("parser.Attributes", args); } } ) | ( tok= { mod |= Modifier.PROTECTED; if (Modifier.isPrivate(mod) || Modifier.isPublic(mod)) { args[2] = new Integer(tok.beginLine); args[3] = new Integer(tok.beginColumn); Msg.error("parser.Attributes", args); } } ) | ( tok= { mod |= Modifier.STATIC; } ) | ( tok= { mod |= Modifier.FINAL; } ) )* { return mod; } } FieldDescriptor fieldDescriptor(JCPackage p, JCClass c) : { Operand classToken, packageToken; FieldDescriptor fd; Token tok; } { ( ( { return new FieldDescriptor("B", true, false); }) | ( { return new FieldDescriptor("[B", false, true); }) | ( { return new FieldDescriptor("Z", true, false); }) | ( { return new FieldDescriptor("[Z", false, true); }) | ( { usesIntegers = true; return new FieldDescriptor("I", true, false); }) | ( { usesIntegers = true; return new FieldDescriptor("[I", false, true); }) | ( { return new FieldDescriptor("S", true, false); }) | ( { return new FieldDescriptor("[S", false, true); }) | LOOKAHEAD (2) ( tok= "[]" { return new FieldDescriptor("[L" + tok.image + ";", false, true); } ) | ( tok= { return new FieldDescriptor("L" + tok.image + ";", false, false); }) | LOOKAHEAD (4) ( packageToken = unsignedByteValue() classToken = unsignedByteValue() "[]" { PackageIdentifier pid = p.getIdentifier(packageToken.getValue()); if (pid == null) { // Invalid package token in field declaration of class {1} in file {0} at line {2}. Object[] args = { inputSpec, c.getName(), new Integer(packageToken.getLine()) }; Msg.error("parser.25", args); return null; } ClassIdentifier cid = new ClassIdentifier(pid, classToken.getValue()); return new FieldDescriptor(cid, true); } ) | ( packageToken = unsignedByteValue() classToken = unsignedByteValue() { PackageIdentifier pid = p.getIdentifier(packageToken.getValue()); if (pid == null) { // Invalid package token in field declaration of class {1} in file {0} at line {2}. Object[] args = { inputSpec, c.getName(), new Integer(packageToken.getLine()) }; Msg.error("parser.25", args); return null; } ClassIdentifier cid = new ClassIdentifier(pid, classToken.getValue()); return new FieldDescriptor(cid, false); } ) ) } String fieldDescriptorString(JCPackage p) : { Token tok; Operand packageToken, classToken; } { ( ( { return "Z"; }) | ( { return "[Z"; }) | ( { return "B"; }) | ( { return "[B"; }) | ( { usesIntegers = true; return "I"; }) | ( { usesIntegers = true; return "[I";}) | ( { return "S"; }) | ( { return "[S"; }) | LOOKAHEAD (2)(tok = "[]" { return "[L" + tok.image + ";" ; }) | (tok = { return "L" + tok.image + ";"; }) | LOOKAHEAD (4)(packageToken = unsignedByteValue() classToken = unsignedByteValue() "[]" { PackageIdentifier pid = p.getIdentifier(packageToken.getValue()); if (pid == null) { // Invalid package token in constant pool descriptor of package {1} in file {0} at line {2}. Object[] args = { inputSpec, p.getName(), new Integer(packageToken.getLine()) }; Msg.error("parser.29", args); return null; } return "[L" + packageToken.toString() + "." + classToken.toString() + ";"; }) | (packageToken = unsignedByteValue() classToken = unsignedByteValue() { PackageIdentifier pid = p.getIdentifier(packageToken.getValue()); if (pid == null) { // Invalid package token in constant pool descriptor of package {1} in file {0} at line {2}. Object[] args = { inputSpec, p.getName(), new Integer(packageToken.getLine()) }; Msg.error("parser.29", args); return null; } return "L" + packageToken.toString() + "." + classToken.toString() + ";"; }) ) } Operand byteValue() : { Token tok; int ival; } { ( tok = { Integer value = Integer.decode(tok.image); ival = value.intValue(); } ) { if (tok.image.startsWith("0")) { // test octal and hex numbers as unsigned if (ival > 255 || ival < 0) { // byte value ({0}) out of range at line {1}, column {2}. Object[] arguments = { inputSpec, new Integer(ival), new Integer(tok.beginLine), new Integer(tok.beginColumn) }; Msg.error("parser.Byte", arguments); } } else { if (ival > Byte.MAX_VALUE || ival < Byte.MIN_VALUE) { // byte value ({0}) out of range at line {1}, column {2}. Object[] arguments = { inputSpec, new Integer(ival), new Integer(tok.beginLine), new Integer(tok.beginColumn) }; Msg.error("parser.Byte", arguments); } } return new Operand(value.byteValue(), Operand.TYPE_BYTE, tok); } } Operand unsignedByteValue() : { Token tok; int ival; } { ( tok = { Integer value = Integer.decode(tok.image); ival = value.intValue(); } ) { if (ival > 255 || ival < 0) { // unsigned byte value ({0}) out of range at line {1}, column {2}. Object[] arguments = { inputSpec, new Integer(ival), new Integer(tok.beginLine), new Integer(tok.beginColumn) }; Msg.error("parser.UnsignedByte", arguments); ival = 0; } return new Operand(ival, Operand.TYPE_UNSIGNED_BYTE, tok); } } Operand shortValue() : { Token tok; int ival; } { ( tok = { Integer value = Integer.decode(tok.image); ival = value.intValue(); } ) { if (tok.image.startsWith("0")) { // test octal and hex numbers as unsigned if (ival > 65535 || ival < 0) { // short value ({0}) out of range at line {1}, column {2}. Object[] arguments = { inputSpec, new Integer(ival), new Integer(tok.beginLine), new Integer(tok.beginColumn) }; Msg.error("parser.Short", arguments); } } else { if (ival > Short.MAX_VALUE || ival < Short.MIN_VALUE) { // short value ({0}) out of range at line {1}, column {2}. Object[] arguments = { inputSpec, new Integer(ival), new Integer(tok.beginLine), new Integer(tok.beginColumn) }; Msg.error("parser.Short", arguments); } } return new Operand(value.shortValue(), Operand.TYPE_SHORT, tok); } } Operand unsignedShortValue() : { Token tok; int ival; } { ( tok = { Integer value = Integer.decode(tok.image); ival = value.intValue(); } ) { if (ival > 65535 || ival < 0) { // unsigned short value ({0}) out of range at line {1}, column {2}. Object[] arguments = { inputSpec, new Integer(ival), new Integer(tok.beginLine), new Integer(tok.beginColumn) }; Msg.error("parser.UnsignedShort", arguments); ival = 0; } return new Operand(ival, Operand.TYPE_UNSIGNED_SHORT, tok); } } Operand integerValue() : { Token tok; int ival; } { ( tok = { Integer value = Integer.decode(tok.image); ival = value.intValue(); } ) { if (ival > Integer.MAX_VALUE || ival < Integer.MIN_VALUE) { // integer value ({0}) out of range at line {1}, column {2}. Object[] arguments = { inputSpec, new Integer(ival), new Integer(tok.beginLine), new Integer(tok.beginColumn) }; Msg.error("parser.Integer", arguments); ival = 0; } // usesIntegers = true; return new Operand(ival, Operand.TYPE_INTEGER, tok); } } /* * byte branch (1 byte) addresses. used by goto, jsr, et.al. */ Operand byteBranchDisplacement() : { Token tok; int displacement; } { tok = { return new Operand(tok.image, Operand.TYPE_BYTE_BRANCH, tok); } | ( tok = { Integer value = Integer.decode(tok.image); displacement = value.intValue(); } ) { if (displacement > Byte.MAX_VALUE || displacement < Byte.MIN_VALUE) { // byte branch displacement ({0}) out of range at line {1}, column {2}. Object[] arguments = { inputSpec, new Integer(displacement), new Integer(tok.beginLine), new Integer(tok.beginColumn) }; Msg.error("parser.ByteBranch", arguments); displacement = 0; } return new Operand(displacement, Operand.TYPE_BYTE_BRANCH, tok); } } /* * short branch (2 bytes) addresses. used by goto_w, {i,s}{lookup,table}switch, et.al. */ Operand shortBranchDisplacement() : { Token tok; int displacement; } { tok = { return new Operand(tok.image, Operand.TYPE_SHORT_BRANCH, tok); } | ( tok = { Integer value = Integer.decode(tok.image); displacement = value.intValue(); } ) { if (displacement > Short.MAX_VALUE || displacement < Short.MIN_VALUE) { // short branch displacement ({0}) out of range at line {1}, column {2}. Object[] arguments = { inputSpec, new Integer(displacement), new Integer(tok.beginLine), new Integer(tok.beginColumn) }; Msg.error("parser.ShortBranch", arguments); displacement = 0; } return new Operand(displacement, Operand.TYPE_SHORT_BRANCH, tok); } } Vector shortBranchDisplacementList() : { Vector v = new Vector(); Operand operand; } { ( operand = shortBranchDisplacement() { v.addElement(operand); } )* { return v; } } Vector ilookupswitchMatchList() : { Vector v = new Vector(); Operand operand, operand2; } { ( operand = integerValue() operand2 = shortBranchDisplacement() { v.addElement(operand); v.addElement(operand2); } )* { return v; } } Vector slookupswitchMatchList() : { Vector v = new Vector(); Operand operand, operand2; } { ( operand = shortValue() operand2 = shortBranchDisplacement() { v.addElement(operand); v.addElement(operand2); } )* { return v; } } Operand primitiveArrayType() : { Token tok; Integer type; } { ( tok = { type = Integer.decode(tok.image); } ) { switch (type.intValue()) { case 10: case 11: case 12: return new Operand(type.intValue(), Operand.TYPE_ARRAY, tok); case 13: usesIntegers = true; return new Operand(type.intValue(), Operand.TYPE_ARRAY, tok); default: // invalid Array Type ({0}) at line {1}, column {2}. Object[] arguments = { inputSpec, type, new Integer(tok.beginLine), new Integer(tok.beginColumn) }; Msg.error("parser.ArrayType", arguments); return new Operand(0, Operand.TYPE_ARRAY, tok); } } | tok = { return new Operand(10, Operand.TYPE_ARRAY, tok); } | tok = { return new Operand(11, Operand.TYPE_ARRAY, tok); } | tok = { return new Operand(12, Operand.TYPE_ARRAY, tok); } | tok = { usesIntegers = true; return new Operand(13, Operand.TYPE_ARRAY, tok); } } Operand byteConstantPoolIndex(JCPackage p, int type) : { Token tok; int index; Operand operand; } { ( tok = { Integer value = Integer.decode(tok.image); index = value.intValue(); } ) { Info info = p.getConstantPoolEntry(index); if (info == null) { // constant pool index ({0}) out of range at line {1}, column {2}. Object[] arguments = { inputSpec, new Integer(index), new Integer(tok.beginLine), new Integer(tok.beginColumn) }; Msg.error("parser.ConstantPoolIndex", arguments); return new Operand(0, Operand.TYPE_BYTE, tok); // keep the parse going... } if (info.getType() != type) { // constant pool entry at index ({0}) at line {1}, column {2} not of type {3}. Object[] arguments = { inputSpec, new Integer(index), new Integer(tok.beginLine), new Integer(tok.beginColumn), new Integer(type) }; Msg.error("parser.ConstantPoolType", arguments); return new Operand(0, Operand.TYPE_BYTE, tok); // keep the parse going... } operand = new Operand(index, Operand.TYPE_BYTE_CONSTANT_POOL_INDEX, tok); operand.resolve(info); return operand; } } Operand constantPoolIndex(JCPackage p, int type, boolean check) : { Token tok; int index; Operand operand; } { ( tok = { Integer value = Integer.decode(tok.image); index = value.intValue(); } ) { Info info = p.getConstantPoolEntry(index); if (info == null) { // constant pool index ({0}) out of range at line {1}, column {2}. Object[] arguments = { inputSpec, new Integer(index), new Integer(tok.beginLine), new Integer(tok.beginColumn) }; Msg.error("parser.ConstantPoolIndex", arguments); return new Operand(0, Operand.TYPE_SHORT, tok); // keep the parse going... } if (check && p.getConstantPoolEntry(index).getType() != type) { // constant pool entry at index ({0}) at line {1}, column {2} not of type {3}. Object[] arguments = { inputSpec, new Integer(index), new Integer(tok.beginLine), new Integer(tok.beginColumn), new Integer(type) }; Msg.error("parser.ConstantPoolType", arguments); return new Operand(0, Operand.TYPE_SHORT, tok); // keep the parse going... } operand = new Operand(index, Operand.TYPE_CONSTANT_POOL_INDEX, tok); operand.resolve(info); return operand; } } Operand localIndex() : { Token tok; int index; } { ( tok = { Integer value = Integer.decode(tok.image); index = value.intValue(); } ) { if (index > 255 || index < 0) { // local index ({0}) out of range at line {1}, column {2}. Object[] arguments = { inputSpec, new Integer(index), new Integer(tok.beginLine), new Integer(tok.beginColumn) }; Msg.error("parser.LocalIndex", arguments); index = 0; } // to do: verify local offset is within current method's locals return new Operand(index, Operand.TYPE_LOCAL_INDEX, tok); } } // used to initialize static primitive fields int[] array() : { int[] array; Vector v = new Vector(); Operand operand; } { // array init expression ( LOOKAHEAD (2) ( operand = integerValue() { v.addElement(operand); } ) ("," operand = integerValue() { v.addElement(operand); } )+ | (operand = integerValue() {v.addElement(operand);}) | ) { array = new int[v.size()]; int i = 0; for (Enumeration e = v.elements(); e.hasMoreElements(); ) { Operand o = (Operand) e.nextElement(); array[i++] = o.getValue(); } return array; } } Aid aid() : { byte[] aid; int size; Vector v = new Vector(16); Operand operand; } { ( ( operand = unsignedByteValue() { v.addElement(operand); } ) (":" operand = unsignedByteValue() { v.addElement(operand); } )* ) { size = v.size(); if (size < 5 || size > 16) { int line = ((Operand) v.elementAt(0)).lineNumber; int column = ((Operand) v.elementAt(0)).column; Object[] arguments = { inputSpec, new Integer(line), new Integer(column) }; Msg.error("parser.Aid", arguments); return (new Aid (new byte[5])); // return a null AID so we can keep the parse going. } aid = new byte[size]; int i = 0; for (Enumeration e = v.elements(); e.hasMoreElements(); ) { Operand o = (Operand) e.nextElement(); aid[i++] = (byte) o.getValue(); } return new Aid(aid); } } JAVACODE void error_skipto(int kind) { // ParseException e = generateParseException(); // generate the exception object. // Msg.error(e.toString()); // print the error message Token t; do { t = getNextToken(); } while (t.kind != kind); // The above loop consumes tokens all the way upto a token of // "kind". We use a do-while loop rather than a while because the // current token is the one immediately before the erroneous token // (in our case the token immediately before what should have been // "if"/"while". } PK Hs>qm88,com/sun/javacard/jcasm/ParserConstants.class1& !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"  #$%EOFI ConstantValueSINGLE_LINE_COMMENTFORMAL_COMMENTMULTI_LINE_COMMENTAID CLASS FIELDS EXTENDS METHOD APPLETCLASSREFPACKAGEVERSIONIMPORTS INTERFACE CONSTANTPOOLSUPERMETHODREFSTATICFIELDREFSTATICMETHODREFSUPER_INTERFACEINSTANCEFIELDREFVIRTUALMETHODREFPUBLIC_METHODTABLEPACKAGE_METHODTABLEINTERFACE_TABLEREMOTE_INTERFACE_TABLERBRACEEQUALS LPAREN!RPAREN"LBRACKET#RBRACKET$INTEGER%BYTE&SHORT'BOOLEAN(LBRACE)COLON* SEMICOLON+DOT, INTEGERARRAY-FINAL.REMOTE/ SHAREABLE0 BYTEARRAY1STATIC2PUBLIC3 SHORTARRAY4PRIVATE5ABSTRACT6 BOOLEANARRAY7 PROTECTED8 DESCRIPTOR9 END_METHOD:NOP;JSR<RET=NEW>SOR?IOR@S2BAS2IBI2BCI2SDPOPEDUPFPOP2GDUP2HSXORIIXORJSINCKIINCLICMPMIFEQNIFNEOIFLTPIFGEQIFGTRIFLESGOTOTSADDUIADDVSSUBWISUBXSMULYIMULZSDIV[IDIV\SREM]IREM^SNEG_INEG`SSHLaISHLbSSHRcISHRdSANDeIANDfALOADgSLOADhILOADiDUP_XjSUSHRkIUSHRlSWAP_XmIFNULLnBSPUSHoSSPUSHpBIPUSHqSIPUSHrIIPUSHsAALOADtBALOADuSALOADvIALOADwASTORExSSTOREyISTOREzRETURN{ATHROW|SINC_W}IINC_W~IFEQ_WIFNE_WIFLT_WIFGE_WIFGT_WIFLE_WGOTO_WSTACKNATIVELOCALSIMPDEP1IMPDEP2ALOAD_0ALOAD_1ALOAD_2ALOAD_3SLOAD_0SLOAD_1SLOAD_2SLOAD_3ILOAD_0ILOAD_1ILOAD_2ILOAD_3AASTOREBASTORESASTOREIASTOREARETURNSRETURNIRETURNSCONST_0SCONST_1SCONST_2SCONST_3SCONST_4SCONST_5ICONST_0ICONST_1ICONST_2ICONST_3ICONST_4ICONST_5ASTORE_0ASTORE_1ASTORE_2ASTORE_3SSTORE_0SSTORE_1SSTORE_2SSTORE_3ISTORE_0ISTORE_1ISTORE_2ISTORE_3NEWARRAYIFNULL_W ANEWARRAY CHECKCAST SCONST_M1 ICONST_M1 IFNONNULL IF_ACMPEQ IF_ACMPNE IF_SCMPEQ IF_SCMPNE IF_SCMPLT IF_SCMPGE IF_SCMPGT IF_SCMPLE GETFIELD_A GETFIELD_B GETFIELD_S GETFIELD_I PUTFIELD_A PUTFIELD_B PUTFIELD_S PUTFIELD_I INSTANCEOF IFNONNULL_W IF_ACMPEQ_W IF_ACMPNE_W IF_SCMPEQ_W IF_SCMPNE_W IF_SCMPLT_W IF_SCMPGE_W IF_SCMPGT_W IF_SCMPLE_W ARRAYLENGTH ACONST_NULL GETSTATIC_A GETSTATIC_B GETSTATIC_S GETSTATIC_I PUTSTATIC_A PUTSTATIC_B PUTSTATIC_S PUTSTATIC_I STABLESWITCH ITABLESWITCH PUTFIELD_A_W PUTFIELD_B_W PUTFIELD_S_W PUTFIELD_I_W GETFIELD_A_W GETFIELD_B_W GETFIELD_S_W GETFIELD_I_W INVOKESTATIC SLOOKUPSWITCH ILOOKUPSWITCH INVOKEVIRTUAL INVOKESPECIALINVOKEINTERFACEGETFIELD_A_THISGETFIELD_B_THISGETFIELD_S_THISGETFIELD_I_THISPUTFIELD_A_THISPUTFIELD_B_THISPUTFIELD_S_THISPUTFIELD_I_THISEXCEPTIONTABLEINTEGER_LITERALDECIMAL_LITERAL HEX_LITERAL OCTAL_LITERALCHARACTER_LITERALSTRING_LITERAL METHODNAMEMETHODDESCRIPTOR IDENTIFIEROBJECTLETTERDIGITDEFAULT METHOD_BODY tokenImage[Ljava/lang/String;()VCodeLineNumberTable SourceFileParserConstants.javajava/lang/String" ""\t""\n""\r""\f"".aid"".class" ".fields" "extends" ".method" ".applet" ".classref" ".package" ".version" ".imports" ".interface"".constantpool""supermethodref""staticfieldref""staticmethodref"".superinterfaces""instancefieldref""virtualmethodref"".publicmethodtable"".packagemethodtable" ".implementedinterfaceinfotable"&".implementedremoteinterfaceinfotable""}""=""("")""[""]""int""byte""short" "boolean""{"":"";"".""int[]""final" ".remote" ".shareable""byte[]""static""public" "short[]" "private" "abstract" "boolean[]" "protected" ".descriptor""nop""jsr""ret""new""sor""ior""s2b""s2i""i2b""i2s""pop""dup""pop2""dup2""sxor""ixor""sinc""iinc""icmp""ifeq""ifne""iflt""ifge""ifgt""ifle""goto""sadd""iadd""ssub""isub""smul""imul""sdiv""idiv""srem""irem""sneg""ineg""sshl""ishl""sshr""ishr""sand""iand""aload""sload""iload""dup_x""sushr""iushr""swap_x""ifnull""bspush""sspush""bipush""sipush""iipush""aaload""baload""saload""iaload""astore""sstore""istore""return""athrow""sinc_w""iinc_w""ifeq_w""ifne_w""iflt_w""ifge_w""ifgt_w""ifle_w""goto_w"".stack""native" ".locals" "impdep1" "impdep2" "aload_0" "aload_1" "aload_2" "aload_3" "sload_0" "sload_1" "sload_2" "sload_3" "iload_0" "iload_1" "iload_2" "iload_3" "aastore" "bastore" "sastore" "iastore" "areturn" "sreturn" "ireturn" "sconst_0" "sconst_1" "sconst_2" "sconst_3" "sconst_4" "sconst_5" "iconst_0" "iconst_1" "iconst_2" "iconst_3" "iconst_4" "iconst_5" "astore_0" "astore_1" "astore_2" "astore_3" "sstore_0" "sstore_1" "sstore_2" "sstore_3" "istore_0" "istore_1" "istore_2" "istore_3" "newarray" "ifnull_w" "anewarray" "checkcast" "sconst_m1" "iconst_m1" "ifnonnull" "if_acmpeq" "if_acmpne" "if_scmpeq" "if_scmpne" "if_scmplt" "if_scmpge" "if_scmpgt" "if_scmple" "getfield_a" "getfield_b" "getfield_s" "getfield_i" "putfield_a" "putfield_b" "putfield_s" "putfield_i" "instanceof" "ifnonnull_w" "if_acmpeq_w" "if_acmpne_w" "if_scmpeq_w" "if_scmpne_w" "if_scmplt_w" "if_scmpge_w" "if_scmpgt_w" "if_scmple_w" "arraylength" "aconst_null" "getstatic_a" "getstatic_b" "getstatic_s" "getstatic_i" "putstatic_a" "putstatic_b" "putstatic_s" "putstatic_i""stableswitch""itableswitch""putfield_a_w""putfield_b_w""putfield_s_w""putfield_i_w""getfield_a_w""getfield_b_w""getfield_s_w""getfield_i_w""invokestatic""slookupswitch""ilookupswitch""invokevirtual""invokespecial""invokeinterface""getfield_a_this""getfield_b_this""getfield_s_this""getfield_i_this""putfield_a_this""putfield_b_this""putfield_s_this""putfield_i_this"".exceptiontable"   "[]""," &com/sun/javacard/jcasm/ParserConstantsjava/lang/Object              !" #$ %& '( )* +, -. /0 12 34 56 78 9: ;< => ?@ AB CD EF GH IJ KL MN OP QR ST UV WX YZ [\ ]^ _` ab cd ef gh ij kl mn op qr st uv wx yz {| }~                                                                                        !" #$ %& '( )* +, -. /0 12 34 56 78 9: ;< => ?@ AB CD EF GH IJ KL MN OP QR ST UV WX YZ [\ ]^ _` ab cd ef gh ij kl mn op qr st uv wx yz {| }~                                                                                YSYSYSYSYSYSYSY SY SY  SY  SY  SY SY SYSYSYSYSYSYSYSYSYSYSYSYSYSYSYSYSY SY!SY "SY!#SY"$SY#%SY$&SY%'SY&(SY')SY(*SY)+SY*,SY+-SY,.SY-/SY.0SY/1SY02SY13SY24SY35SY46SY57SY68SY79SY8:SY9;SY:!SY;SY>?SY?@SY@ASYABSYBCSYCDSYDESYEFSYFGSYGHSYHISYIJSYJKSYKLSYLMSYMNSYNOSYOPSYPQSYQRSYRSSYSTSYTUSYUVSYVWSYWXSYXYSYYZSYZ[SY[\SY\]SY]^SY^_SY_`SY`aSYabSYbcSYcdSYdeSYefSYfgSYghSYhiSYijSYjkSYklSYlmSYmnSYnoSYopSYpqSYqrSYrsSYstSYtuSYuvSYvwSYwxSYxySYyzSYz{SY{|SY|}SY}~SY~SYSYSYSYSYSYSYSYSYSYSYSYSYSYSYSYSYSYSYSYSYSYSYSYSYSYSYSYSYSYSYSYSYSYSYSYSYSYSYSYSYSYSYSYSYSYSYSYSYSYSYSYSYSYSYSYSYSYSYSYSYSYSYSYSYSYSYSYSYSYSYSYSYSYSYSYSYSYSYSYSYSYSYSYSYSYSYSYSYSYSYSYSYSYSYSYSYSYSYSYSYSYSYSYSYSYSYSYSYSYSYSYSYSYSYSYSYSYSYSYSYSYSYSYSYSYSYSYSYSYSYSYSYSYSYSYSYS PK Hs>҈ /com/sun/javacard/jcasm/ParserTokenManager.class1     y @@@@ (  B d   @d   @   ` @   @@  @  a@  @@ D  hH  A  `@ `@    H`@@  r@ r  @` l ` b    @  @0                      +        ${@DH~~      @  <x"@ ĈRUUO$xH@y "E)*   `` `@`0 8?@@  @8  `@` 0?@ `@@  ? @~? @D @ ? A ?`@? @ 0 0 @H@  U (" D4@ H 0             !" # $ % & ' ( )*  + , -. / 0 1 2 3 4 5 67 68 69 6: 6; < = 6> ? @ A B C 6DE F G HI?JKLMNOPQRSTUVWXYZ[\]^_`abcdefghi j klmn debugStreamLjava/io/PrintStream; jjbitVec0[J jjbitVec2 jjbitVec3 jjbitVec4 jjbitVec5 jjbitVec6 jjbitVec7 jjbitVec8 jjnextStates[IjjstrLiteralImages[Ljava/lang/String; lexStateNames jjnewLexState jjtoTokenjjtoSkip jjtoSpecial input_stream'Lcom/sun/javacard/jcasm/JavaCharStream;jjrounds jjstateSetcurCharC curLexStateIdefaultLexState jjnewStateCntjjround jjmatchedPos jjmatchedKindsetDebugStream(Ljava/io/PrintStream;)VCodeLineNumberTableLocalVariableTableds jjStopAtPos(II)IposkindjjMoveStringLiteralDfa0_0()IjjMoveStringLiteralDfa1_0(JJ)IeLjava/io/IOException;active0Jactive4jjMoveStringLiteralDfa2_0(JJJJ)Iold0old4jjMoveStringLiteralDfa3_0jjMoveStringLiteralDfa4_0jjMoveStringLiteralDfa5_0jjMoveStringLiteralDfa6_0jjMoveStringLiteralDfa7_0jjMoveStringLiteralDfa8_0jjMoveStringLiteralDfa9_0jjMoveStringLiteralDfa10_0jjMoveStringLiteralDfa11_0jjMoveStringLiteralDfa12_0jjMoveStringLiteralDfa13_0jjMoveStringLiteralDfa14_0jjMoveStringLiteralDfa15_0jjMoveStringLiteralDfa16_0jjMoveStringLiteralDfa17_0jjMoveStringLiteralDfa18_0jjMoveStringLiteralDfa19_0jjMoveStringLiteralDfa20_0jjMoveStringLiteralDfa21_0jjMoveStringLiteralDfa22_0jjMoveStringLiteralDfa23_0jjMoveStringLiteralDfa24_0jjMoveStringLiteralDfa25_0jjMoveStringLiteralDfa26_0jjMoveStringLiteralDfa27_0jjMoveStringLiteralDfa28_0jjMoveStringLiteralDfa29_0jjMoveStringLiteralDfa30_0jjMoveStringLiteralDfa31_0jjMoveStringLiteralDfa32_0jjMoveStringLiteralDfa33_0jjMoveStringLiteralDfa34_0jjMoveStringLiteralDfa35_0 jjMoveNfa_0lhiBytei1l1i2l2 startStatecurPosstrKindstrPosseenUptostartsAtitoRetjjMoveStringLiteralDfa0_1jjMoveStringLiteralDfa1_1active1active2active3jjMoveStringLiteralDfa2_1 (JJJJJJJJ)Iold1old2old3jjMoveStringLiteralDfa3_1jjMoveStringLiteralDfa4_1jjMoveStringLiteralDfa5_1jjMoveStringLiteralDfa6_1jjMoveStringLiteralDfa7_1 (JJJJJJ)IjjMoveStringLiteralDfa8_1jjMoveStringLiteralDfa9_1jjMoveStringLiteralDfa10_1jjMoveStringLiteralDfa11_1jjMoveStringLiteralDfa12_1jjMoveStringLiteralDfa13_1jjMoveStringLiteralDfa14_1 jjMoveNfa_1 jjCanMove_0(IIIJJ)Z jjCanMove_1*(Lcom/sun/javacard/jcasm/JavaCharStream;)Vthis+Lcom/sun/javacard/jcasm/ParserTokenManager;stream+(Lcom/sun/javacard/jcasm/JavaCharStream;I)VlexStateReInit ReInitRounds()VSwitchTo(I)V jjFillToken ()Lcom/sun/javacard/jcasm/Token;tLcom/sun/javacard/jcasm/Token; curTokenImageLjava/lang/String; beginLineendLine beginColumn endColumnim getNextToken matchedTokene1 error_line error_column error_afterEOFSeenZ specialToken jjCheckNAddstate jjAddStates(II)VstartendjjCheckNAddTwoStatesstate1state2jjCheckNAddStates SourceFileParserTokenManager.java  ;6 :6 34 tC HI /0o pqjava/io/IOException OP SI TI UI VI WI XI YI ZI [I \I ]I ^I _I `I aI bI cI dI eI fI gI hI iI jI kI lI mI nI oI pI qI rI sI rjava/lang/ErrorInternal Error s 86 2' 96       t uC vC*Internal Error : Please send a bug report. C P         P P I I I   ! " # $ %   $com/sun/javacard/jcasm/TokenMgrErrorlERROR: Second call to constructor of static lexer. You must use ReInit() to initialize the static variables. w   76 56 1' java/lang/StringBuilder(Error: Ignoring invalid lexical state : xy xz. State unchanged. {| () }| ~G G G G  6 6 6 6 q   FG G , +' .   &' java/lang/String}=()[]intbyteshortboolean{:;.int[]final.remote .shareablebyte[]staticpublicshort[]privateabstract boolean[] protected .descriptor[],DEFAULT METHOD_BODY *) -)com/sun/javacard/jcasm/ParserTokenManagerjava/lang/Object&com/sun/javacard/jcasm/ParserConstants%com/sun/javacard/jcasm/JavaCharStreamreadChar()Cbackup(Ljava/lang/String;)Vjava/lang/Mathmaxmin(Ljava/lang/String;I)Vappend-(Ljava/lang/String;)Ljava/lang/StringBuilder;(I)Ljava/lang/StringBuilder;toString()Ljava/lang/String;GetImage getBeginLinegetBeginColumn getEndLine getEndColumncom/sun/javacard/jcasm/TokennewToken3(ILjava/lang/String;)Lcom/sun/javacard/jcasm/Token; BeginTokennext(ZIIILjava/lang/String;CI)Vjava/lang/Systemout!  !"#$%&'()*)+',-. /01'2' 3456768696:6;6F <=>/*?@ A BC>H `?@ D6 E6 FG> } )5BMXcks{!", *+     # $        )?. !#$&')* ,-/0!2&3,52688=9E;J<P>U?[A`BfDnFvH~JLMOPRTVXZ\^`bcefh HI>3UW  :7Ay77777777&7077:DNX7b7777l7777777777#-" $% $' $) $+ $ $- $/ $1 $3 $5 $ $  " $ $% $7 $' $9 $; $+ $ $= $- $? $A $C $E $5 $ $G $ !?'m p noq tv x*z4|>~HR\fpz '1;EO@ JKULMUNM OP>  \A\7 W  :Au #+3;CKS[cks{ IK LK NK PK RK TK VK XK K  K  K ZK \K ^K `K bK dK PK RK fK hK XK K jK l % nK ZK#&!?%#&(.$,4<DLT\dlt|@4(JKQMLMRMNM SI> \A W  :Av&.6>FNV^t Pp qp sp u   wp Vp yp 5p {p }p p qp sp u j ^  & p p p Vp yp p 7p p p!?&   %  (27>FNV!^#f%n'v)~+-/04679;=?ACEGIM@ JKQMLM TI> \A W  :Au $,4<DZbjrz   + 1 s    3    } -  7  +  s  .       '  !?*Q RSVTU%W Z\^$`,b4d<fDhLjTl\ndplrvt{uy{}@ JKQMLM UI>%+ \A W  :At (CKSiq  1    3  +      V   1   2 ^ 3     3  +      !?. % (08@HPZ_cks{ %@ JK+QM+LM VI> \A W  :At'/7?Gu "*FNV Vì ĸì +   3ì Ƹì sì /ì ì ȸì 5ì ì '  E   ; .   ì  4 ̸ì θì +    /  5 3ì Ƹì sì иì ì ȸì  ( Ըì 5ì ì '  6   ,    ָì!?C %" ' /7?GOW_goy!~"$&'+-.02459;=?@DFGIKL"N*P2R:TBVJXRZ\\a]f_navc~eghjlmqstvz@ JKQMLM WI>  \A W  :At .EMU]e Tج   ۸ج ݸج ߸ج 5  ج   3ج Ըج Tج bج   ج ݸج ߸ج 5  ج 7ج  ,  6 3ج!?,~  '$,4<FKPXbgow @  JKQMLM XI> \A W  :Ct "9AX`| T     3     {7n T  \8O     3 b   !?#  '$,4<DLV[ckuz   @  JKQMLM YI>l \A W  :}Et}}}}}} }}}}}}}}}}}}}}}}}}}}}MU}}]}}em}}}u T      ݸ 3 V  T   b 0     ݸ  V  !?~  ' "# %')$+,-4/<1D3N5S6[8e:j;o=w?ACEGIM@  JKQMLM ZI>w \A  W  : FDtFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFF"F>   ߸  /    ߸  7 9  /  !?^Q RSVT U'WZ\ ^`b$d,f4h<jDlLnVp[q`shupy@  JKwQMwLM [I>[ \A  W  : *Dr**************************** *******" ȸ /      ȸ /      !?R} ~ ' $,4<DLT@  JK[QM[LM \I>? \A  W  : dArddddddddd dddddddddddddddddd%-ddd5dd=ddTdd\ /    V g Z    /    V      !?j  ' */7?GOW_gqv~@  JKQMLM ]I> \A  W  : Ct$,4<DLz /    3     y    q /    3  2  (     q  !?   '"'/9>FNV^fnv @  JKQMLM ^I> \A  W  :  AZEbFjMTaefmt q   WJ   q     !?Z  '!#%'(,.02467;=A@  JKQMLM _I>/e \A W  :4 AjBrEzFOSabefos  q        / uh  q    9  /"  / !?"E FGJH I'KNPRTVWY[\`bdeik moq r(t2v7w?{G}QV^@  JKeQMeLM `I>= \A W  :BJLRRZTbbjlrrzt  q    q  !?B  't|@  JKQMLM aI>U \A W  :E:FVL^effl q     q    !?R  'dnsx@  JKQMLM bI>C \A W  :A:EBIYaaeii   ?2     !?J  'dlv{@  JKQMLM cI>{ \A W  :JC*N2c:nB    !?2   'T\dlt@  JK{QM{LM dI>{ \A W  :JE*T2e:tB    !?2     'T\dlt@  JK{QM{LM eI>{ \A W  :JE*I2e:iB    !?2 ! "#&$ %''T*\,d.l0t4@  JK{QM{LM fI>{ \A W  :JN*R2n:rB    !?2 8 9:=; <'>TA\CdElGtK@  JK{QM{LM gI>[ \A W  :*Ff"  !?* O PQTR S'UDXLZT^@  JK[QM[LM hI>{ \A W  :JA*O2a:oB    !?2 b cdge f'hTk\mdolqtu@  JK{QM{LM iI>{ \A W  :JC*T2c:tB     !?2 y z{~| }'T\dlt@  JK{QM{LM jI>{ \A W  :JA*E2a:eB ! ! ! !!?2   'T\dlt@  JK{QM{LM kI>{ \A W  :JB*I2b:iB " " " "!?2   'T\dlt@  JK{QM{LM lI>{ \A W  :JL*N2l:nB # # # #!?2   'T\dlt@  JK{QM{LM mI> \A W  :hE*FAeIf`  7* $   $!?B  'T^cks}@  JKQMLM nI>[ \A W  :*Oo" % %!?*   'DLT@  JK[QM[LM oI>[ \A W  :*Tt" & &!?*      'DLT@  JK[QM[LM pI>[ \A W  :*Aa" ' ' !?*  !  '"D%L'T+@  JK[QM[LM qI>[ \A  W  : *Bb" ( (!!?* / 0142 3'5D8L:T>@  JK[QM[LM rI>[ \A !W  :!*Ll" ) )"!?* B CDGE F'HDKLMTQ@  JK[QM[LM sI>y \A "W  :"HEe1  '#  ##!?:U VWZX Y'[D^N`Sa[eegjhrn@  JKyQMyLM tC>ز=>W`Y6*W :+Y,-<6t.6/O061`Y102@ ] y7/. @s  @4FZl @7JZ @ @ @l~ @ @ @ 9K` @ @ @ @ @ @ @ @ @ @ @ @ @ @x @ @ @  @ @ @0BWq @ @ @ @ @ @ @ @ @ @ @"3EZs6H]o  3 65E$66(/ 706XZ8(  6</.Y`.7O̲"  6' 7-/.Y`.O3 65m9 _65K'C79; .5''6= 5?  8? 5A ̲/.Y`. O?  5" 6C  6= u 6k"c[6S? H6>? 3 6)A /.Y`.O ? 5>5(6ײ$6E 6//.Y`.O$ 6E y 6o;g6])U!$7K$C%'69E .%'6$//.Y`.'O $(*6E (*6;6˲<ò/.Y`.7O( 6$+-6E +-6x/p/.Y`.@O^$V.06LE A.067;/ 6%)147$ 576E 576//.Y`.JOҲ$8:6E 8:6;606XZ8q9 c6/.Y`.YOD? 66Z5!/7/;=6G ;=6I 6в 6 /.Y`._O*bc8K bc8y*q>@6gM \ec8RK Gec8=/5.6'*/.Y`.aO *ij8K ij8*AC6M lj8K lj8/6$66tE iop8_/WDE7M$EFI6;E 0r8&E 6s5 r ?~y7/.s$6K]r**??Tf~ :Tn &@@UUj|$6IlvO 66Q 5\JL7S 5Q  6\MO7S  6U 6|[t5lLd/.Y`.ORO G6=O 2 6(W 6 [/.Y`.#OL/.Y`.$OO %'6O (*6[PS7B6I}u6mSe]6UZME6=[5TW7+B#6I6S6Z6t۲/.Y`.Oɲi/.Y`.4On/.Y`.5Oi/.Y`.6O{U p 6f[^<5VLN/.Y`.=O<O 1+-6'O .06W 6[/.Y`.FOݲLղ/.Y`.GOO 576O 8:6[X[7Bw6oIg_6WSOG6?Z7/6'[\_7B  6I 6S 6߲Z 6Y Y5[ 6Y5;=7bc8ec8yij8olj8eO Zop8PO EFI6;O 0r8&O 6s5Lz6z6 ?~y7 ~z6 ?~y7 /. s           )            CC ]]     ww                                                 - GG   a {{       ]66    ^/.Y`.O    ^ 7    ]6    ] 6    ]%'6}    ]m(*6c    ]S+-6I    ]9.06/    ]576    ]8:6    ^;=7    ^bc8    ^ec8    ^ij8    ^lj8y    ]iop8_    ]OFI6E    ]5r8+    ]6s5006.Y6tY.dY6W :_60`d6W : +Ya-"![eh!!?/149<BGVYahP[chow %03;@DGRU]bfiq{ *4?IYalv     !$&%0(;)E,M-W0_1i4q5{89<=@ADEHILMP QTU'X2Y<\D]V`^ahdse}hilmpqtuxy|} !),49@CNQY^mp{~&1;CMXbmw     ( + 3 8 = @ K U ] g o y                       ! " % & ") ** 4- ?. I1 T2 ^5 f6 n9 v: > ? C D G H K L O P T U Y !Z +] 3^ =a Mb Ue ef mi }j m n q r u v y z } ~    +3EM_jt|",7AISck{  +.6;@CJMTW^ahk r u                   ! $ ' ( ) * + , .0 /A 2Q 3[ 7k 8u < = A B F G K L P Q U V Z! [+ ^; _E bU c_ go hy k l p q t u x y | }      # * 2 7 ; @ C X [ e m t v ~          @$ JKh PuM uMAv6:w6 1xM %y6 zM jJK JK {6|6}6~6646<6GE6~Z6 G>E}t }ttttttttttttttttttt tttttttttttttttttttttttt&1ttttt<JV`ttjtxttttttttttttttttttttttt(t4tBNttttttt^tibbbbb,c e7g*b+b hjlg n/ g 7 g p g Vrtg vxzg| g~  g  g gghjlgn/ g 7 g p g g Vrtg}vxzg| g~  g g gg)b:bb?-             ) . 4 9 ? M Y c m {             ! + 7 E Q a f l q w P> W  :b2y0@Rfv"6HZjz$6L`v      +/      7          r  |   | ø   }           +/7      7        }  r ?    | ø^   }        b !?+    H X j ~         & : !N #` %r ' ) + - / 1 3 5 7 9( ;< =N ?d Ax C E G I K M O S@4JKLMMMM >K \A\7 \7  \7 bW  :bAx.?Rev=#4G\ /F]+Ufw } øˬ A C   ˬ   ˬ   ˬ   ˬ B   ˬ   ˬ +  ˬ  ʸˬ  ˬ  ;.r E F   ˬ | <+  ?  @   ˬ D  +ˬ  =  ˬ   ˬ   ˬ  >    ˬ   7ˬ   ˬ } øˬ A C ^   ˬ   ˬ   ˬ   ˬ b  ˬ B   ˬ   ˬ +  ˬ  ʸˬ  ˬ  ;.r E F   ˬ | <+  ?  @   ˬ D  +ˬ  =  ˬ   ˬ   ˬ  >    ˬ   7ˬb+58!?v W% X+ Y5 \8 Z: [@ ]0 `C bN dS eZ ge ij jq n p r t v x y { }   , 6 ; B M R Y d i m                    1 B L Q U f w             ' 2 7 ; N a r                   ) . 2 C N S W n x }        " $ (@\ :JKQMLMMMMM M M >  \A\7 \7  \7 bW  :b A2w% A A A A A A A A A A A A A AShN A A^| A A A A A A0 AAX> A A^  0 G H     W/ X   ø' K  L  73 UE V.l e f     O.5 QT S        _{ p`d         Y+ Z a b ] ^   /V T  !+ M }   N   u IE J.# c% d |     ' P R   )+ +  q [M B\6     }    -   /    W/ X   ø' K  L  73 UE V.l e f     O.5 QT S        _ ~`r         YE Z. a b 1    ] ^       /V T  !+ M }   N   u IE J.# c% d |   7  ' P R 3  )+ +  q [ \        b+58!? ,% -+ .5 18 /: 0@ 2h 5s 7x 8 : < = A C E F H J K M O Q R T V W Y' [2 ]7 ^> `I bN cU e` ge hl jw l| m o q s t v x y { } ~        # 4 E P U \ g l s ~                    0 ; @ D U ` e l w |                 # . 3 : E J Q b s                 " !' ". $9 &> 'E )P +U ,\ .g 0l 1p 3 5 7 8 : < = ? A B D F H J K M O P T& V7 XB ZG [N ]Y _^ `e bp du e| g i j l n p q s u v x z | ~   $ ) - > I N R c n s z                 $ 7 B G N Y ^ b s @\ :JK QM LM M M M M M M > \A\7 \7  \7 bW  :bAyl1BSd{EZm%8IZq 5 7+9   :9 g. h< i   > 9   79   9   7@9  ø9   |ʸ9 |  9B kD l F H 9 J /9   L9    9    9- j   9    9 } - N P 9 5 7+9 7  :9 g. h< i   > 9 R  79 T  9   7@9  .  ø9   |ʸ9 |  9B kD l VF H 9 J /9   L9    9    9- j   9b+58!?JR % + 5 8 : @ 4 I \ g l s ~            ! , 1 8 C H L _ t              5 !@ #E $L &W (\ )c +n -s .w 0 2 4 6 8 : ; = ? A C E# F* H5 J: K> MS Oh Q{ S U W Y Z ^ b@\ :JKQMLMMMMM M M >  \A\7 \7  \7 bW  :bAxkKc  4EX_$K^q   LX   7 X tu u^ vG <w0 xF7 y/Y z     []X ob p q~ rg^ \sP  E8 n   _X   X {   |aX   7X   c X   /X   X| |x }a ~J 3           r } m    X  s1g   > X e  LX  2 ^ 3   7 X t u v w xF7 y/Y z   b  []X o%b p q r^ s   n   _X   X {   |aX   7X 7  c X g  /X   X| | } ~     z  b  J  2 r '} mb+58!?& f% g+ h5 k8 i: j@ l0 oA qR s] ub vi xt zy { }                   & + 2 = B I T Y ` k p w                 + > O Z _ f q v }                   !,2 9 DIPakpw!#$&()+-/024579:<'>,?3C>ECFJHUJZKaMlOqPxRTUWY[\^`acefhjkm opt v&w-{8}=~ATgrw{*/6?ELW]dou|@\ :JKQMLMMMMM M M >  \A\7 \7  \7 bW  :b0v)t< .y.?O] ' p  W T L> u %       V    +  5  3 v  ]  D  9+  i k  +k  K / 2       k  bk  k q k  R  G9  lk   k    nk  pk  |ʸk  k  4  r/k b i k  +k  /{  5d  K / 2       k 7 bk  k q 2       k  lk   k    nk  pk  |ʸk  kb+58!?%+58:@lw} &,4 ? E MX^fqw!"$&'+-/124 679#;)<1><@BAGCUEcGqI|KLNPQSUVZ\^`ace gi*k4m9nArQtavqx{z{},7=EPV^iot@\ :JKQMLMMMMM M M >  \A\7 \7 bW  : b0y82,^$2Vo}#Ei 4% -    l B  l^ aS : !D b    }  r gY @ 5'# <   t   t u wt   yt   {t | }t  t  t   t 7 t   Bt    øt $   t  t b  t   t u wt   yt   {t | }t  t  t 7  t 7 t  6   Bt    øt b#-0!?y#-029t #.4<GMU`fny    !#%&((*.+6-A/G0O2Z4`5h9s;y<>@AEGHJLMQSUWY[$]2_BaPc`engyijlnpquwy{}!/?O_ins@H2JK QMLMMMMM >i C \A\7 \7 bW  : b1y4ft /=z*8FTk(esY     B   L I  2  ³  ij         ø|    ʸ           7 2    ó      /      7      B   L  8 I  2  ³  ij         ø|  b  ʸ           7 2    ó 7     /    b#-0!?o#-029p{+9GRX]ky (6A G OY^ft"$%')*,./13468":0<;>A?FAVCdEoGuH}JLMOQSUVXZ[]_`bdf#h.j4k<q@H2JK CQMCLMCMCMCMCM >{  \A\7 \7 bW  : bzAtTz_jzzzzzzzzz zzzzzzzzzzz#]zzzzzz*zzz5o r ų  u ɳ     Ƴ   ʳ       b + ͳ   ȳ    ̳     /  7  dz  ' ˳        r ų  u ɳ     Ƴ   ʳ      b 0   b + ͳ   ȳ    ̳     /  7 7   dz  ' ˳      b#-0!?VUuv#w-z0x2y9{~'-5@FKVagoz (39>IT_jpx!'/:@EP[fq| @H2JK QMLMMMMM P> ` \A\7  bW  : b&AwM&&&&Xq&&&&&&& &&&&&&&&&5g&&&&r&&&&&&&/:&E  ٳ ' ݳ  ڳ  ޳  ø ׳  ܳ    / sس e bq ۳ A 6߳ (   γ  ϳ  г 5 ѳ  ҳ T ӳ |V Գ c3 ճ J ?ֳ 1   ٳ   ݳ  ڳ  ޳  ø ׳  ܳ    / Yس K 7 9  bq ۳  ߳    γ  ϳ  г 5 ѳ  ҳ gT ӳ NV Գ 53 ճ  ֳ  b$'!?"$')0'-5@F N$Y&_'g)r+x,02459;<>@ACEGHLN PQS&U,V4Z?\J^U`[accnetf|hjkmoprtuwyz|~ #+6AGOZ`hsy  %0;AITZbmx'28@KQY @4)JK`QM`LM`M`M P>  \A\7  bW  : b AiCrFHTWacfhtw B  b  !  #  %  l        i<  P- E 7B  b    #  %  l    g  N  5<  -   b$'!?JR$')0!#%&(*+/134!6,829:;E=K>S@^BdClEwG}HJLMOQRTVW[]_`bdf hik%m+n3r<tGvMwUy`{f|n~y@4)JK QM LM M M I>?e \A  bW  : b4AJBRHZLabhl b 7 D   }         x b 7 D   }          b!?&  't| !&.8>FPV^@  JKeMeM I> \A  bW  : bjC:IBLJcRiZlb b  7 b  7 b!?:  'dlt|@  JKMM I>; \A  bW  : b E*SZesJ b  7      ^ k  S  ;  #     b  7      ^ {  c  K  3    b!?D    ' T^dlv| "#%'(*,-/1246 79;$<,>6@<ADENGTH\JfLlMtQ~STVXY[]^`bceghjlmoqrt&v,w4}@  JK;M;M C>ز=>W`Y6*W :+Y,-<6t.6/O061`Y102@ ] y7/. @s  @4FZl @7JZ @ @ @l~ @ @ @ 9K` @ @ @ @ @ @ @ @ @ @ @ @ @ @x @ @ @  @ @ @0BWq @ @ @ @ @ @ @ @ @ @ @"3EZs6H]o  3 65E$66(/ 706XZ8(  6</.Y`.7O̲"  6' 7-/.Y`.O3 65m9 _65K'C79; .5''6= 5?  8? 5A ̲/.Y`. O?  5" 6C  6= u 6k"c[6S? H6>? 3 6)A /.Y`.O ? 5>5(6ײ$6E 6//.Y`.O$ 6E y 6o;g6])U!$7K$C%'69E .%'6$//.Y`.'O $(*6E (*6;6˲<ò/.Y`.7O( 6$+-6E +-6x/p/.Y`.@O^$V.06LE A.067;/ 6%)147$ 576E 576//.Y`.JOҲ$8:6E 8:6;606XZ8q9 c6/.Y`.YOD? 66Z5!/7/;=6G ;=6I 6в 6 /.Y`._O*bc8K bc8y*q>@6gM \ec8RK Gec8=/5.6'*/.Y`.aO *ij8K ij8*AC6M lj8K lj8/6$66tE iop8_/WDE7M$EFI6;E 0r8&E 6s5 r ?~y7/.s$6K]r**??Tf~ :Tn &@@UUj|$6IlvO 66Q 5\JL7S 5Q  6\MO7S  6U 6|[t5lLd/.Y`.ORO G6=O 2 6(W 6 [/.Y`.#OL/.Y`.$OO %'6O (*6[PS7B6I}u6mSe]6UZME6=[5TW7+B#6I6S6Z6t۲/.Y`.Oɲi/.Y`.4On/.Y`.5Oi/.Y`.6O{U p 6f[^<5VLN/.Y`.=O<O 1+-6'O .06W 6[/.Y`.FOݲLղ/.Y`.GOO 576O 8:6[X[7Bw6oIg_6WSOG6?Z7/6'[\_7B  6I 6S 6߲Z 6Y Y5[ 6Y5;=7bc8ec8yij8olj8eO Zop8PO EFI6;O 0r8&O 6s5Lz6z6 ?~y7 ~z6 ?~y7 /. s           )            CC ]]     ww                                                 - GG   a {{       ]66    ^/.Y`.O    ^ 7    ]6    ] 6    ]%'6}    ]m(*6c    ]S+-6I    ]9.06/    ]576    ]8:6    ^;=7    ^bc8    ^ec8    ^ij8    ^lj8y    ]iop8_    ]OFI6E    ]5r8+    ]6s5006.Y6tY.dY6W :_60`d6W : +Ya-"![eh!!?/149<BGVYahP[chow %03;@DGRU]bfiq{ *4?IYalv   &0; E#M$W'_(i+q,{/03478;<?@CDG HKL'O2P<SDTVW^Xh[s\}_`cdghklopstwx {|!),49@CNQY^mp{~&1;CMXbmw     ( + 3 8 = @ K U ] g o y                           " *! 4$ ?% I( T) ^, f- n0 v1 5 6 : ; > ? B C F G K L P !Q +T 3U =X MY U\ e] m` }a d e h i l m p q t u x y | }+3EM_jt|",7AISck{  +.6;@CJMTW^ahkru       !"# %0&A)Q*[.k/u3489=>BCGHLMQ!R+U;VEYUZ_^o_ybcghklopstw xyz{ |#*27;@CX[emtv~@$ JKh PuM uMAv6:w6 1xM %y6 zM jJK JK {6|6}6~6646<6GE6~Z6>7&/ /! ?'35@47v67w67y67xM7zM>30F1Y3l=/ / / / / /! ?& 4GZm@4v6w6y6xMzM>_*Y+?    @0>P *+? @   0 6 >PY.*2?@ 0 >R1t;O?!"#$@  6 >E *?)*+@ 0 6 >g1&YY?0 1,304@ 16 >]²2: WçLW=W6W>W6+K*****?2 > ?@#A,B4C=DEFJGOHUI[K@HEB#:64)6,16= 6 T > K=WͳNL+*+;-0=0=0`Wdd*Ҳz/ ?~y #L+*ϲӲ. Ӳ.+Բz/ ?~y L*+K+**+ZKӲ.Ӳ.W>W6:6W WW*8:6 ֧ W:  6W* ֧ W:Y׿!'*!?3XZaicefgh!k@nFoJpNqQsWt[u_xhzq{|~'*,/CSV\_dl@p JK,3K66|6 >X".1/.Y`.O1O? !@ "6 >W/.Y`..O?@66 >E 55?@ 6 6 >M.5?@66>Hٳ YPYPYPYP Y PY PYPYP YPYPYPYP Y PY PY PYP Y PYPYPYP YPYPYPY P YPYPY PY P YPY PY PY P` YoOYpOYrOYOYsOY\OYgOYhOY:OY ;OY OY,?OY-BOY.?OY/AOY0BOY1DOY2EOY3FOY4MOY5HOY6IOY7LOY8IOY9KOY:LOY;]OY<^OY=`OY>cOY?dOY@fOYAjOYBkOYCmOYD8OYEqOYFoOYGpOYHrOYIOYJOYKOYL OYMOYNOYOOYP+OYQ,OYR-OYS.OYT0OYU1OYV2OYW3OYXNOYYOOYZPOY[QOY\SOY]TOY^UOY_VOYSYSYSYSYSYSYSYSYSY SY SY SY SY SYSYSYSYSYSYSYSYSYSYSYSYSYSYSYSYSYSYSY SY!SY"SY#SY$SY%SY&SY'SY(SY)SY*SY+SY,SY-SY.SY/SY0SY1SY2SY3SY4SY5SY6SY7SY8SY9SY:SY;SY<SY=SY>SY?SY@SYASYBSYCSYDSYESYFSYGSYHSYISYJSYKSYLSYMSYNSYOSYPSYQSYRSYSSYTSYUSYVSYWSYXSYYSYZSY[SY\SY]SY^SY_SY`SYaSYbSYcSYdSYeSYfSYgSYhSYiSYjSYkSYlSYmSYnSYoSYpSYqSYrSYsSYtSYuSYvSYwSYxSYySYzSY{SY|SY}SY~SYSYSYSYSYSYSYSYSYSYSYSYSYSYSYSYSYSYSYSYSYSYSYSYSYSYSYSYSYSYSYSYSYSYSYSYSYSYSYSYSYSYSYSYSYSYSYSYSYSYSYSYSYSYSYSYSYSYSYSYSYSYSYSYSYSYSYSYSYSYSYSYSYSYSYSYSYSYSYSYSYSYSYSYSYSYSYSYSYSYSYSYSYSYSYSYSYSYSYSYSYSYSYSYSYSYSYSYSYSYSYSYSYSYSYSYSYSYSYSYSYSYSYSYSYSYSYSYSYSYSYSYSYSYSYSYSY SY SY S  YOYOYOYOYOYOYOYOYOY OY OY OY OY OYOYOYOYOYOYOYOYOYOYOYOYOYOYOYOYOYOYOY OY!OY"OY#OY$OY%OY&OY'OY(OY)OY*OY+OY,OY-OY.OY/OY0OY1OY2OY3OY4OY5OY6OY7OY8OY9OY:OY;OY<OY=OY>OY?OY@OYAOYBOYCOYDOYEOYFOYGOYHOYIOYJOYKOYLOYMOYNOYOOYPOYQOYROYSOYTOYUOYVOYWOYXOYYOYZOY[OY\OY]OY^OY_OY`OYaOYbOYcOYdOYeOYfOYgOYhOYiOYjOYkOYlOYmOYnOYoOYpOYqOYrOYsOYtOYuOYvOYwOYxOYyOYzOY{OY|OY}OY~OYOYOYOYOYOYOYOYOYOYOYOYOYOYOYOYOYOYOYOYOYOYOYOYOYOYOYOYOYOYOYOYOYOYOYOYOYOYOYOYOYOYOYOYOYOYOYOYOYOYOYOYOYOYOYOYOYOYOYOYOYOYOYOYOYOYOYOYOYOYOYOYOYOYOYOYOYOYOYOYOYOYOYOYOYOYOYOYOYOYOYOYOYOYOYOYOYOYOYOYOYOYOYOYOYOYOYOYOYOYOYOYOYOYOYOYOYOYOYOYOYOYOYOYOYOYOYOYOYOYOYOYOYOYOYOYOYO Y PYPYPYPYP YPY PY PY PY P YPY PY PY PY Pt  /?Rp$s>v\yt|  "07?NCOPK Hs>K!com/sun/javacard/jcasm/Readme.txt The files Parser.java, ParserConstants.java and ParserTokenManager.java are produced by JavaCC. You only need to recreate these files if you modify the parser source file (Parser.jj). -- wrk PK Hs>@-com/sun/javacard/jcasm/RemoteMethodInfo.class1, % & ' ()*REMOTE_METHOD_INFO_SIZES ConstantValueremoteMethodHashmethodSigOffset flagAndTokenB parentClass Lcom/sun/javacard/jcasm/JCClass;methodNameAndDescLjava/lang/String;6(Ljava/lang/String;ILcom/sun/javacard/jcasm/JCClass;)VCodeLineNumberTableLocalVariableTablethis)Lcom/sun/javacard/jcasm/RemoteMethodInfo; methodTokenIsetMethodSigOffset(S)VoffsetsetRemoteMethodHash hashValuetoBinary()[B SourceFileRemoteMethodInfo.java +   'com/sun/javacard/jcasm/RemoteMethodInfojava/lang/Object()V!     Z ** *    >* !">* %& !",) #$PK Hs>R*com/sun/javacard/jcasm/SignaturePool.class1- ' ( )*+ parentPackage"Lcom/sun/javacard/jcasm/JCPackage; relocAddressI%(Lcom/sun/javacard/jcasm/JCPackage;)VCodeLineNumberTableLocalVariableTablethis&Lcom/sun/javacard/jcasm/SignaturePool;paddMethodToSignaturePool5(Ljava/lang/String;Lcom/sun/javacard/jcasm/JCClass;)SmethodNameDescrLjava/lang/String; parentClass Lcom/sun/javacard/jcasm/JCClass;getMethodSignatureOffset$(Lcom/sun/javacard/jcasm/JCMethod;)Sm!Lcom/sun/javacard/jcasm/JCMethod;relocate(I)VaddressgetAddressForOffset(I)IoffsetgetSize()Isize SourceFileSignaturePool.java ,   $com/sun/javacard/jcasm/SignaturePooljava/lang/Object()V!   F **+     @ %  6 9 >* >?   ;*` B! "# << FM$ %&PK Hs>j͢%com/sun/javacard/jcasm/Sortable.class1 compare(Ljava/lang/Object;)I SourceFile Sortable.javacom/sun/javacard/jcasm/Sortablejava/lang/ObjectPK Hs>()VCodeLineNumberTableLocalVariableTablethis'Lcom/sun/javacard/jcasm/SortableVector;LocalVariableTypeTable,Lcom/sun/javacard/jcasm/SortableVector;sort quicksort(II)V leftBoundI rightBoundpivot!Lcom/sun/javacard/jcasm/Sortable; leftIndex rightIndexswapijtmpLjava/lang/Object; Signature-Ljava/util/Vector; SourceFileSortableVector.java /  01com/sun/javacard/jcasm/Sortable 23 %com/sun/javacard/jcasm/SortableVectorjava/util/Vector elementCount elementData[Ljava/lang/Object;compare(Ljava/lang/Object;)I!   A*   1  ]***d     5*2N6d6U*2- *2- ***d*` B./1234798?=Y>_BfCqGxIJK>{xs  *2N**2S*-S VWXY* ! "#$%PK Hs>R~~&com/sun/javacard/jcasm/Statement.class1 +j *k *l mn *no j *p *q mr ms tu vw xy xz{ | } ~ *r m mw  r j j j    labelLjava/lang/String;ins$Lcom/sun/javacard/jcasm/Instruction;relPcI lineNumber exceptionsLjava/util/Vector; Signature@Ljava/util/Vector;9(Ljava/lang/String;Lcom/sun/javacard/jcasm/Instruction;)VCodeLineNumberTableLocalVariableTablethis"Lcom/sun/javacard/jcasm/Statement;:(Ljava/lang/String;Lcom/sun/javacard/jcasm/Instruction;I)Vline'(Lcom/sun/javacard/jcasm/Instruction;)VgetInstruction&()Lcom/sun/javacard/jcasm/Instruction;getRelPc()Isize methodFixup(Ljava/util/Hashtable;)VsymtabLjava/util/Hashtable;LocalVariableTypeTable;?(Ljava/util/Hashtable;)VgetExceptionHandlers()Ljava/util/Vector;B()Ljava/util/Vector;processForExceptionHandlers$(Lcom/sun/javacard/jcasm/JCMethod;)Vete,Lcom/sun/javacard/jcasm/ExceptionTableEntry;m!Lcom/sun/javacard/jcasm/JCMethod;et'Lcom/sun/javacard/jcasm/ExceptionTable;eLjava/util/Enumeration;ELjava/util/Enumeration; toByteArray()[Boperand Lcom/sun/javacard/jcasm/Operand;valuearray[Bindex9Ljava/util/Enumeration;toString()Ljava/lang/String;sbLjava/lang/StringBuffer; SourceFileStatement.java 7 ,- ./ 21java/util/Vector 34 01 ED F   *com/sun/javacard/jcasm/ExceptionTableEntry 1 1 Dcom/sun/javacard/jcasm/Operand Djava/lang/InternalErrorjava/lang/StringBufferjava/lang/StringBuilder : de ; - com/sun/javacard/jcasm/Statementjava/lang/Object()V"com/sun/javacard/jcasm/Instruction(Ljava/util/Hashtable;I)Vcom/sun/javacard/jcasm/JCMethodgetExceptionTable)()Lcom/sun/javacard/jcasm/ExceptionTable;%com/sun/javacard/jcasm/ExceptionTableelements()Ljava/util/Enumeration;java/util/EnumerationhasMoreElements()Z nextElement()Ljava/lang/Object; startOffset endOffsetadd(Ljava/lang/Object;)Z getOpcodegetValueappend-(Ljava/lang/String;)Ljava/lang/StringBuilder;,(Ljava/lang/String;)Ljava/lang/StringBuffer;-(Ljava/lang/Object;)Ljava/lang/StringBuilder;com/sun/javacard/jcasm/Msgeol!*+,-./01213456 789t"**+*,*,*Y:./ 012!3; "<=",-"./7>9{**+*,**Y:?@ ABCD;*<=,-./?17@9U**+*Y:LM NO;<=./AB9/*:U; <=CD9/* :\; <=ED92* :e; <=FG9W *+* : p q; <= HIJ  HK5LMN9/*:t; <=5OPQ9I+ M,, N-3-:* * *Wʱ:* xy z |}~#;EH;4#"RSI<=ITUDVW:XYJ :XZ[\9*L+*T=*N--:6 ,H+Ta+zT+~TE+zT+~zT+~zT+~T YV+:R%07\eht;>0]^7_1XY<=`ab1J Xcde9PYL*+ Y!*"#"$%W+ Y!*&'"("$%W+):*K;P<=HfghiPK Hs>`2''3com/sun/javacard/jcasm/StaticFieldInitializer.class1@ 0 1 2 3 456 7 89 :;< isPrimitiveZ primitiveDataI arrayData[IrightFieldDesc(Lcom/sun/javacard/jcasm/FieldDescriptor;$assertionsDisabled(I)VCodeLineNumberTableLocalVariableTablethis/Lcom/sun/javacard/jcasm/StaticFieldInitializer;primitiveInitializer([I)VarrayInitializer()ZgetPrimitiveData()I getArrayData()[IisArrayDataNullsetType+(Lcom/sun/javacard/jcasm/FieldDescriptor;)VfdgetType*()Lcom/sun/javacard/jcasm/FieldDescriptor;()V SourceFileStaticFieldInitializer.java -    java/lang/AssertionError !isPrimitive = -com/sun/javacard/jcasm/StaticFieldInitializer> ?!java/lang/Object(Ljava/lang/Object;)Vjava/lang/ClassdesiredAssertionStatus!  O*** F **+   !/*# "#J* Y* '( $%J* Y * ,- &!7 *1  '(>*+  56)*+/* 9 ,-*  ./PK Hs>~ zz/com/sun/javacard/jcasm/StaticFieldRefInfo.class1` 6 7 8 9 : ; <= > ?@ AB C D EF CG H IJ D DKLstaticFieldTokenIQ(Lcom/sun/javacard/jcasm/PackageIdentifier;Ljava/lang/String;Ljava/lang/String;)VCodeLineNumberTableLocalVariableTablethis+Lcom/sun/javacard/jcasm/StaticFieldRefInfo; packageId*Lcom/sun/javacard/jcasm/PackageIdentifier;nameLjava/lang/String; descriptorA(Lcom/sun/javacard/jcasm/PackageIdentifier;IILjava/lang/String;)V classTokengetStaticFieldToken()I toByteArray&(Lcom/sun/javacard/jcasm/JCPackage;)[Bp"Lcom/sun/javacard/jcasm/JCPackage;array[BtoString()Ljava/lang/String;sbLjava/lang/StringBuffer; SourceFileStaticFieldRefInfo.java M N  *+ OP QRS T) U"V WX 'java/lang/StringBuffer Y 01 Z[java/lang/StringBuilder. Z\] ^_)com/sun/javacard/jcasm/StaticFieldRefInfocom/sun/javacard/jcasm/InfoR(ILcom/sun/javacard/jcasm/PackageIdentifier;Ljava/lang/String;Ljava/lang/String;)VA(ILcom/sun/javacard/jcasm/PackageIdentifier;ILjava/lang/String;)VisPackageInternal()Z resolvedToLcom/sun/javacard/jcasm/Member;com/sun/javacard/jcasm/Member getRelocAddrpackageIdentifier com/sun/javacard/jcasm/JCPackagegetPackageToken-(Lcom/sun/javacard/jcasm/PackageIdentifier;)I()Vappend,(Ljava/lang/String;)Ljava/lang/StringBuffer;-(Ljava/lang/String;)Ljava/lang/StringBuilder;java/lang/Integer toHexString(I)Ljava/lang/String;!U *+,-  *  !" #$ %$&i*+* 4 !"'%$()/*  *+]*+M*+,T,*z~T,*~T),+* T,\3T,* T,*T,*  !"##5%A&K'S([* ] ],-W./01t4 Y L+* W+Y*W+/01/24 ,2345PK Hs>t  0com/sun/javacard/jcasm/StaticMethodRefInfo.class1k :; :< = > ? @ A B CD E FG H IJ K LM KN O PQ I IRSstaticMethodTokenI?(Lcom/sun/javacard/jcasm/PackageIdentifier;Ljava/lang/String;)VCodeLineNumberTableLocalVariableTablethis,Lcom/sun/javacard/jcasm/StaticMethodRefInfo; packageId*Lcom/sun/javacard/jcasm/PackageIdentifier;nameLjava/lang/String;A(Lcom/sun/javacard/jcasm/PackageIdentifier;IILjava/lang/String;)V classToken descriptorgetStaticMethodToken()I toByteArray&(Lcom/sun/javacard/jcasm/JCPackage;)[Boffsetp"Lcom/sun/javacard/jcasm/JCPackage;array[BgetName()Ljava/lang/String;toStringsbLjava/lang/StringBuffer; SourceFileStaticMethodRefInfo.javaT UV WX Y Z  ,- [\ ]^_ `+ a$b cd ( 54java/lang/StringBuffer e fgjava/lang/StringBuilder. fhi jX*com/sun/javacard/jcasm/StaticMethodRefInfocom/sun/javacard/jcasm/Infojava/lang/String lastIndexOf(I)I substring(I)Ljava/lang/String;R(ILcom/sun/javacard/jcasm/PackageIdentifier;Ljava/lang/String;Ljava/lang/String;)VA(ILcom/sun/javacard/jcasm/PackageIdentifier;ILjava/lang/String;)VisPackageInternal()Z resolvedToLcom/sun/javacard/jcasm/Member;com/sun/javacard/jcasm/Member getRelocAddrpackageIdentifier com/sun/javacard/jcasm/JCPackagegetPackageToken-(Lcom/sun/javacard/jcasm/PackageIdentifier;)I()Vappend,(Ljava/lang/String;)Ljava/lang/StringBuffer;-(Ljava/lang/String;)Ljava/lang/StringBuilder;java/lang/Integer toHexString!U*+,,,(   !"#$%&'j*+*  4!"#$()&*+/* !",-Y*+M*'* >,T,z~T,~T),+* T,\3T,* T,*T,2  !"#%$.%1&='G(O)W+ *.Y!"Y/0S1234/* / !"54t4YL+* W+Y*W+456/7 4!",6789PK Hs>nWF+com/sun/javacard/jcasm/SuperInterface.class1B / 012 3 4 56 78 9:; <=>classIdentifier(Lcom/sun/javacard/jcasm/ClassIdentifier; classNameLjava/lang/String; parentClass Lcom/sun/javacard/jcasm/JCClass; resolvedTo$assertionsDisabledZK(Lcom/sun/javacard/jcasm/JCClass;Lcom/sun/javacard/jcasm/ClassIdentifier;)VCodeLineNumberTableLocalVariableTablethis'Lcom/sun/javacard/jcasm/SuperInterface;5(Lcom/sun/javacard/jcasm/JCClass;Ljava/lang/String;)VgetName()Ljava/lang/String;getClassIdentifier*()Lcom/sun/javacard/jcasm/ClassIdentifier;resolve#(Lcom/sun/javacard/jcasm/JCClass;)Vc"()Lcom/sun/javacard/jcasm/JCClass; isResolved()Z()V SourceFileSuperInterface.java , java/lang/AssertionErrorclassIdentifier != null ?  className != null  c != null resolvedTo != null%com/sun/javacard/jcasm/SuperInterface@ A*java/lang/Object(Ljava/lang/Object;)Vjava/lang/ClassdesiredAssertionStatus! q#*, Y*+*,"  ### q#*, Y*+*, "#$%"& ###!"/* , #$/*3 %&V+ Y *+ :;<'%(J* Y *  DE )*7 * L  +,* -.PK Hs>Ľ)/com/sun/javacard/jcasm/SuperMethodRefInfo.class1^ 56 57 8 9 : ; <= > ?@ A BCD E F G FHItheClass Lcom/sun/javacard/jcasm/JCClass;superMethodTokenI?(Lcom/sun/javacard/jcasm/PackageIdentifier;Ljava/lang/String;)VCodeLineNumberTableLocalVariableTablethis+Lcom/sun/javacard/jcasm/SuperMethodRefInfo; packageId*Lcom/sun/javacard/jcasm/PackageIdentifier;nameLjava/lang/String;resolve$(Lcom/sun/javacard/jcasm/JCClass;I)Vtoken toByteArray&(Lcom/sun/javacard/jcasm/JCPackage;)[Baddrp"Lcom/sun/javacard/jcasm/JCPackage;array[Bmethod!Lcom/sun/javacard/jcasm/JCMethod;toString()Ljava/lang/String;sbLjava/lang/StringBuffer; SourceFileSuperMethodRefInfo.javaJ KL MN O   &' PQcom/sun/javacard/jcasm/JCMethod RST UV WXY ZVjava/lang/StringBuffer [ /0 \])com/sun/javacard/jcasm/SuperMethodRefInfocom/sun/javacard/jcasm/Infojava/lang/String lastIndexOf(I)I substring(I)Ljava/lang/String;R(ILcom/sun/javacard/jcasm/PackageIdentifier;Ljava/lang/String;Ljava/lang/String;)V resolvedToLcom/sun/javacard/jcasm/Member;getParentClass"()Lcom/sun/javacard/jcasm/JCClass;com/sun/javacard/jcasm/JCClass getRelocAddr()IgetMethodIdentifier+()Lcom/sun/javacard/jcasm/MethodIdentifier;'com/sun/javacard/jcasm/MethodIdentifiergetMethodToken()Vappend,(Ljava/lang/String;)Ljava/lang/StringBuffer;!T*+,,,(   !"#$Q *+*     %&'Z*+M*N-)- 6,zT,T,- T#* 6,zT,T,*T,6  !"$#*$5%8&A'J(P)X+>(A(ZZ)*T+,L-./0R YL+*W+6791234PK Hs>Zh!!(com/sun/javacard/jcasm/SymbolTable.class1J - . /0 /1 2 3 245 6 78 9:;$assertionsDisabledZ()VCodeLineNumberTableLocalVariableTablethis$Lcom/sun/javacard/jcasm/SymbolTable;LocalVariableTypeTable,Lcom/sun/javacard/jcasm/SymbolTable;merge(Ljava/util/Hashtable;)VkeyLjava/lang/Object;dataeLjava/util/Enumeration;tableLjava/util/Hashtable;TK;TV;Ljava/util/Enumeration;Ljava/util/Hashtable; Signature (Ljava/util/Hashtable;)VGLjava/util/Hashtable; SourceFileSymbolTable.java  <=> ?@ AB CD java/lang/AssertionErrorget(key) != null E FG"com/sun/javacard/jcasm/SymbolTableH I@java/util/Hashtablekeys()Ljava/util/Enumeration;java/util/EnumerationhasMoreElements()Z nextElement()Ljava/lang/Object;get&(Ljava/lang/Object;)Ljava/lang/Object;(Ljava/lang/Object;)Vput8(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;java/lang/ClassdesiredAssertionStatus! A*   T+YM+N-8-:+:* Y * W,ç :,ILLPL& ";DGS4*"" > TT!"4*#""$ >%TT!&'()*  '*+,PK Hs>(g"com/sun/javacard/jcasm/Token.class13 + , - ./ 012serialVersionUIDJ ConstantValuekindI beginLine beginColumnendLine endColumnimageLjava/lang/String;nextLcom/sun/javacard/jcasm/Token; specialTokengetValue()Ljava/lang/Object;CodeLineNumberTableLocalVariableTablethis()V(I)V(ILjava/lang/String;)VtoString()Ljava/lang/String;newToken3(ILjava/lang/String;)Lcom/sun/javacard/jcasm/Token;ofKind!(I)Lcom/sun/javacard/jcasm/Token; SourceFile Token.java  "  com/sun/javacard/jcasm/Token %&java/lang/Objectjava/io/Serializable!    ,M  /*S !?* Z["Y***,ab cd #$/*k  %&N Y+ | ~' %(0 ')*PK Hs>!v *com/sun/javacard/jcasm/TokenMgrError.class1\ ] ^_ ^`a bcdefghij ]k l mn op ^q r os tuvwx ^y )z{|} *~ *] * ) ) )serialVersionUIDJ ConstantValue LEXICAL_ERRORISTATIC_LEXER_ERRORINVALID_LEXICAL_STATE LOOP_DETECTED errorCode addEscapes&(Ljava/lang/String;)Ljava/lang/String;CodeLineNumberTableLocalVariableTablesLjava/lang/String;chCistrretvalLjava/lang/StringBuffer; LexicalError+(ZIIILjava/lang/String;C)Ljava/lang/String;EOFSeenZlexState errorLine errorColumn errorAftercurChar getMessage()Ljava/lang/String;this&Lcom/sun/javacard/jcasm/TokenMgrError;()V(Ljava/lang/String;I)Vmessagereason(ZIIILjava/lang/String;CI)V SourceFileTokenMgrError.javajava/lang/StringBuffer TU \b \t\n\f\r\"\'\\java/lang/StringBuilder0000  Q\u Lexical error at line  , column . Encountered:  " :; (),  after : " PQ T 91 GH TV$com/sun/javacard/jcasm/TokenMgrErrorjava/lang/Errorjava/lang/Stringlength()IcharAt(I)Cappend,(Ljava/lang/String;)Ljava/lang/StringBuffer;-(Ljava/lang/String;)Ljava/lang/StringBuilder;java/lang/IntegertoString(II)Ljava/lang/String; substring(C)Ljava/lang/StringBuffer;(I)Ljava/lang/StringBuilder;valueOf(C)Ljava/lang/String;(Ljava/lang/String;)V!)*+,-.01-231-451-671-891:;<#YL>** QT ^ h r |"'\+W+W+W+ W+ W~+ Wt+ Wj+ W`*Y= ~HY:+YdW +W+=n8:;h>k@rAuC|DFGIJLMOPRSUVXYZ[\:a>4(?@VAB C1#D@EF GH<nY1Y !"=q>>nIJnK1nL1nM1nN@nOBPQ</*#=> RSTU<3*$= > RSTV<Q *+%*&= >  RS W@ X1TY<*'(= >RRSIJK1L1M1N@OBX1Z[PK Hs>e4  1com/sun/javacard/jcasm/VirtualMethodRefInfo.class1{ ?@ ?A B C D E F GH I JK L MN O PQ RS T U VW TX Y Z[ U U\]virtualMethodTokenI?(Lcom/sun/javacard/jcasm/PackageIdentifier;Ljava/lang/String;)VCodeLineNumberTableLocalVariableTablethis-Lcom/sun/javacard/jcasm/VirtualMethodRefInfo; packageId*Lcom/sun/javacard/jcasm/PackageIdentifier;nameLjava/lang/String;A(Lcom/sun/javacard/jcasm/PackageIdentifier;IILjava/lang/String;)V classToken descriptorgetVirtualMethodToken()I toByteArray&(Lcom/sun/javacard/jcasm/JCPackage;)[Bmethod!Lcom/sun/javacard/jcasm/JCMethod;addrp"Lcom/sun/javacard/jcasm/JCPackage;array[BtoString()Ljava/lang/String;sbLjava/lang/StringBuffer; SourceFileVirtualMethodRefInfo.java^ _` ab c d  01 ef ghcom/sun/javacard/jcasm/JCMethod ijk l/ mno p/ q(r st ,java/lang/StringBuffer u 9: vwjava/lang/StringBuilder. vxy zb+com/sun/javacard/jcasm/VirtualMethodRefInfocom/sun/javacard/jcasm/Infojava/lang/String lastIndexOf(I)I substring(I)Ljava/lang/String;R(ILcom/sun/javacard/jcasm/PackageIdentifier;Ljava/lang/String;Ljava/lang/String;)VA(ILcom/sun/javacard/jcasm/PackageIdentifier;ILjava/lang/String;)VisPackageInternal()Z resolvedToLcom/sun/javacard/jcasm/Member;getParentClass"()Lcom/sun/javacard/jcasm/JCClass;com/sun/javacard/jcasm/JCClass getRelocAddrgetMethodIdentifier+()Lcom/sun/javacard/jcasm/MethodIdentifier;'com/sun/javacard/jcasm/MethodIdentifiergetMethodTokenpackageIdentifier com/sun/javacard/jcasm/JCPackagegetPackageToken-(Lcom/sun/javacard/jcasm/PackageIdentifier;)I()Vappend,(Ljava/lang/String;)Ljava/lang/StringBuffer;-(Ljava/lang/String;)Ljava/lang/StringBuilder;java/lang/Integer toHexString! !"T*+,,,(#  $ %&'()* +"i*+*# $4%&'(,-*./"/*#$ %&01"k*+M*9* N- 6,z~T,~T,- T),+*T,\3T,*T,*T,#6  !"#+$5%@&C'O(Y)a*i,$4+23"4k%&k56e789:"t4YL+*W+Y*W+#123/4$4%&,;<=>PK Hs>fU8((=com/sun/javacard/jcbytecodeprofiler/CryptoAlgorithmInfo.class13 ' ( ) * + , - . / 012 TYPE_NON_FLEXITYPE_FLEX_CIPHER_ALGTYPE_FLEX_PAD_ALG TYPE_FLEX_MEMTYPE_FLEX_KEY_LENGTHTYPE_FLEX_MD_ALGalgorhtimConstantValue algorithmNameLjava/lang/String; valueType(Ljava/lang/String;I)VCodeLineNumberTableLocalVariableTablethis9Lcom/sun/javacard/jcbytecodeprofiler/CryptoAlgorithmInfo;namevalue(Ljava/lang/String;II)Vtype()V SourceFileCryptoAlgorithmInfo.java $         7com/sun/javacard/jcbytecodeprofiler/CryptoAlgorithmInfojava/lang/Object!      d****+   !w****+*  !* "#$E    %&PK Hs>0?com/sun/javacard/jcbytecodeprofiler/CryptoAlgorithmList$1.class1 \lmn o [pqrstuvwxyz{|}~    ()VCodeLineNumberTableLocalVariableTablethis InnerClasses;Lcom/sun/javacard/jcbytecodeprofiler/CryptoAlgorithmList$1; SignatureMLjava/util/Vector; SourceFileCryptoAlgorithmList.javaEnclosingMethod ]^7com/sun/javacard/jcbytecodeprofiler/CryptoAlgorithmInfoTYPE_DES_TRANSIENT_RESET ] TYPE_DES_TRANSIENT_DESELECTTYPE_DESTYPE_RSA_PUBLICTYPE_RSA_PRIVATETYPE_RSA_CRT_PRIVATETYPE_DSA_PUBLICTYPE_DSA_PRIVATETYPE_EC_F2M_PUBLICTYPE_EC_F2M_PRIVATETYPE_EC_FP_PUBLICTYPE_EC_FP_PRIVATETYPE_AES_TRANSIENT_RESETTYPE_AES_TRANSIENT_DESELECTTYPE_AES TYPE_KOREAN_SEED_TRANSIENT_RESET#TYPE_KOREAN_SEED_TRANSIENT_DESELECTTYPE_KOREAN_SEEDTYPE_HMAC_TRANSIENT_RESETTYPE_HMAC_TRANSIENT_DESELECT TYPE_HMAC TYPE_RSA_PRIVATE_TRANSIENT_RESET#TYPE_RSA_PRIVATE_TRANSIENT_DESELECT$TYPE_RSA_CRT_PRIVATE_TRANSIENT_RESET'TYPE_RSA_CRT_PRIVATE_TRANSIENT_DESELECT TYPE_DSA_PRIVATE_TRANSIENT_RESET#TYPE_DSA_PRIVATE_TRANSIENT_DESELECT#TYPE_EC_F2M_PRIVATE_TRANSIENT_RESET&TYPE_EC_F2M_PRIVATE_TRANSIENT_DESELECT"TYPE_EC_FP_PRIVATE_TRANSIENT_RESET%TYPE_EC_FP_PRIVATE_TRANSIENT_DESELECT ALG_TYPE_DES ] ALG_TYPE_AESALG_TYPE_DSA_PUBLICALG_TYPE_DSA_PRIVATEALG_TYPE_EC_F2M_PUBLICALG_TYPE_EC_F2M_PRIVATEALG_TYPE_EC_FP_PUBLICALG_TYPE_EC_FP_PRIVATE ALG_TYPE_HMACALG_TYPE_KOREAN_SEEDALG_TYPE_RSA_PUBLICALG_TYPE_RSA_PRIVATEALG_TYPE_RSA_CRT_PRIVATE LENGTH_DES LENGTH_DES3_2KEYLENGTH_DES3_3KEYLENGTH_RSA_512LENGTH_RSA_736LENGTH_RSA_768LENGTH_RSA_896LENGTH_RSA_1024LENGTH_RSA_1280LENGTH_RSA_1536LENGTH_RSA_1984LENGTH_RSA_2048LENGTH_RSA_4096LENGTH_DSA_512LENGTH_DSA_768LENGTH_DSA_1024LENGTH_EC_FP_112LENGTH_EC_F2M_113LENGTH_EC_FP_128LENGTH_EC_F2M_131LENGTH_EC_FP_160LENGTH_EC_F2M_163LENGTH_EC_FP_192LENGTH_EC_F2M_193LENGTH_EC_FP_224LENGTH_EC_FP_256LENGTH_EC_FP_384LENGTH_AES_128LENGTH_AES_192LENGTH_AES_256LENGTH_KOREAN_SEED_128LENGTH_HMAC_SHA_1_BLOCK_64LENGTH_HMAC_SHA_256_BLOCK_64LENGTH_HMAC_SHA_384_BLOCK_128LENGTH_HMAC_SHA_512_BLOCK_128MEMORY_TYPE_PERSISTENT MEMORY_TYPE_TRANSIENT_DESELECTMEMORY_TYPE_TRANSIENT_RESET9com/sun/javacard/jcbytecodeprofiler/CryptoAlgorithmList$1java/util/Vector7com/sun/javacard/jcbytecodeprofiler/CryptoAlgorithmList(Ljava/lang/String;I)V addElement(Ljava/lang/Object;)VTYPE_FLEX_CIPHER_ALGI(Ljava/lang/String;II)VTYPE_FLEX_KEY_LENGTH TYPE_FLEX_MEM0[\]^_}**Y*Y*Y*Y*Y *Y *Y *Y *Y  *Y *Y *Y *Y *Y*Y*Y*Y*Y*Y*Y*Y*Y*Y*Y*Y*Y*Y*Y *Y!*Y"*Y#*Y$%&*Y'%&*Y(%&*Y)%&*Y*%&*Y+%&*Y,%&*Y-%&*Y. %&*Y/ %&*Y0 %&*Y1 %&*Y2 %&*Y3@4&*Y54&*Y64&*Y74&*Y84&*Y94&*Y:4&*Y;4&*Y<4&*Y=4&*Y>4&*Y?4&*Y@4&*YA4&*YB4&*YC4&*YDp4&*YEq4&*YF4&*YG4&*YH4&*YI4&*YJ4&*YK4&*YL4&*YM4&*YN4&*YO4&*YP4&*YQ4&*YR4&*YS@4&*YT@4&*YU4&*YV4&*YWX&*YYX&*YZX&`RT .<JYh w!"#$%&'()* +,+-:.I/X0g1v2345679:;<=%>7?I@[AmBCDEGHIJKL&M9NLO_PrQRSTUVWXYZ.[A\T]g^z_`abcdefg#h6iIkZlkm|na }befghijkd [PK Hs>QZ$?com/sun/javacard/jcbytecodeprofiler/CryptoAlgorithmList$2.class10  ! "#$%&'()*+()VCodeLineNumberTableLocalVariableTablethis InnerClasses;Lcom/sun/javacard/jcbytecodeprofiler/CryptoAlgorithmList$2; SignatureMLjava/util/Vector; SourceFileCryptoAlgorithmList.javaEnclosingMethod, 7com/sun/javacard/jcbytecodeprofiler/CryptoAlgorithmInfoALG_NULL - ./ALG_SHAALG_MD5 ALG_RIPEMD160 ALG_SHA_256 ALG_SHA_384 ALG_SHA_512 ALG_SHA_2249com/sun/javacard/jcbytecodeprofiler/CryptoAlgorithmList$2java/util/Vector7com/sun/javacard/jcbytecodeprofiler/CryptoAlgorithmList(Ljava/lang/String;I)V addElement(Ljava/lang/Object;)V0 w**Y*Y*Y*Y*Y *Y *Y *Y * rtu v.w<xJyXzg{v| w  PK Hs>iT**?com/sun/javacard/jcbytecodeprofiler/CryptoAlgorithmList$3.class1$   ()VCodeLineNumberTableLocalVariableTablethis InnerClasses;Lcom/sun/javacard/jcbytecodeprofiler/CryptoAlgorithmList$3; SignatureMLjava/util/Vector; SourceFileCryptoAlgorithmList.javaEnclosingMethod 7com/sun/javacard/jcbytecodeprofiler/CryptoAlgorithmInfoALG_PSEUDO_RANDOM ! "#ALG_SECURE_RANDOM9com/sun/javacard/jcbytecodeprofiler/CryptoAlgorithmList$3java/util/Vector7com/sun/javacard/jcbytecodeprofiler/CryptoAlgorithmList(Ljava/lang/String;I)V addElement(Ljava/lang/Object;)V0  W!**Y*Y  ! PK Hs>]w ?com/sun/javacard/jcbytecodeprofiler/CryptoAlgorithmList$4.class1 >NOP Q =RSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~  ()VCodeLineNumberTableLocalVariableTablethis InnerClasses;Lcom/sun/javacard/jcbytecodeprofiler/CryptoAlgorithmList$4; SignatureMLjava/util/Vector; SourceFileCryptoAlgorithmList.javaEnclosingMethod ?@7com/sun/javacard/jcbytecodeprofiler/CryptoAlgorithmInfoALG_DES_MAC4_NOPAD ? ALG_DES_MAC8_NOPADALG_DES_MAC4_ISO9797_M1ALG_DES_MAC8_ISO9797_M1ALG_DES_MAC4_ISO9797_M2ALG_DES_MAC8_ISO9797_M2ALG_DES_MAC4_PKCS5ALG_DES_MAC8_PKCS5ALG_RSA_SHA_ISO9796ALG_RSA_SHA_PKCS1ALG_RSA_MD5_PKCS1ALG_RSA_RIPEMD160_ISO9796ALG_RSA_RIPEMD160_PKCS1 ALG_DSA_SHAALG_RSA_SHA_RFC2409ALG_RSA_MD5_RFC2409 ALG_ECDSA_SHAALG_AES_MAC_128_NOPADALG_DES_MAC4_ISO9797_1_M2_ALG3ALG_DES_MAC8_ISO9797_1_M2_ALG3ALG_RSA_SHA_PKCS1_PSSALG_RSA_MD5_PKCS1_PSSALG_RSA_RIPEMD160_PKCS1_PSS ALG_HMAC_SHA1ALG_HMAC_SHA_256ALG_HMAC_SHA_384ALG_HMAC_SHA_512 ALG_HMAC_MD5ALG_HMAC_RIPEMD160ALG_RSA_SHA_ISO9796_MRALG_RSA_RIPEMD160_ISO9796_MRALG_KOREAN_SEED_MAC_NOPADALG_ECDSA_SHA_256ALG_ECDSA_SHA_384ALG_AES_MAC_192_NOPADALG_AES_MAC_256_NOPADALG_ECDSA_SHA_224ALG_ECDSA_SHA_512ALG_RSA_SHA_224_PKCS1ALG_RSA_SHA_256_PKCS1ALG_RSA_SHA_384_PKCS1ALG_RSA_SHA_512_PKCS1ALG_RSA_SHA_224_PKCS1_PSSALG_RSA_SHA_256_PKCS1_PSSALG_RSA_SHA_384_PKCS1_PSSALG_RSA_SHA_512_PKCS1_PSSALG_DES_MAC4_ISO9797_1_M1_ALG3ALG_DES_MAC8_ISO9797_1_M1_ALG3SIG_CIPHER_DES_MAC4 ?SIG_CIPHER_DES_MAC8SIG_CIPHER_RSASIG_CIPHER_DSASIG_CIPHER_ECDSASIG_CIPHER_AES_MAC1289com/sun/javacard/jcbytecodeprofiler/CryptoAlgorithmList$4java/util/Vector7com/sun/javacard/jcbytecodeprofiler/CryptoAlgorithmList(Ljava/lang/String;I)V addElement(Ljava/lang/Object;)VTYPE_FLEX_CIPHER_ALGI(Ljava/lang/String;II)V0=>?@A=7**Y*Y*Y*Y*Y *Y *Y *Y *Y  *Y *Y *Y *Y *Y*Y*Y*Y*Y*Y*Y*Y*Y*Y*Y*Y*Y*Y*Y *Y!*Y"*Y#*Y$ *Y%!*Y&"*Y'#*Y($*Y)%*Y*&*Y+'*Y,(*Y-)*Y.**Y/+*Y0,*Y1-*Y2.*Y3/*Y40*Y567*Y867*Y967*Y:67*Y;67*Y<67B8 .<JYhw +:IXgv *9HWfu$6C 7DGHIJKLMF =PK Hs>7_,**?com/sun/javacard/jcbytecodeprofiler/CryptoAlgorithmList$5.class1$   ()VCodeLineNumberTableLocalVariableTablethis InnerClasses;Lcom/sun/javacard/jcbytecodeprofiler/CryptoAlgorithmList$5; SignatureMLjava/util/Vector; SourceFileCryptoAlgorithmList.javaEnclosingMethod 7com/sun/javacard/jcbytecodeprofiler/CryptoAlgorithmInfoALG_ISO3309_CRC16 ! "#ALG_ISO3309_CRC329com/sun/javacard/jcbytecodeprofiler/CryptoAlgorithmList$5java/util/Vector7com/sun/javacard/jcbytecodeprofiler/CryptoAlgorithmList(Ljava/lang/String;I)V addElement(Ljava/lang/Object;)V0  W!**Y*Y  ! PK Hs>||?com/sun/javacard/jcbytecodeprofiler/CryptoAlgorithmList$6.class1*    !"#$%()VCodeLineNumberTableLocalVariableTablethis InnerClasses;Lcom/sun/javacard/jcbytecodeprofiler/CryptoAlgorithmList$6; SignatureMLjava/util/Vector; SourceFileCryptoAlgorithmList.javaEnclosingMethod& 7com/sun/javacard/jcbytecodeprofiler/CryptoAlgorithmInfoALG_RSA ' () ALG_RSA_CRTALG_DSA ALG_EC_F2M ALG_EC_FP9com/sun/javacard/jcbytecodeprofiler/CryptoAlgorithmList$6java/util/Vector7com/sun/javacard/jcbytecodeprofiler/CryptoAlgorithmList(Ljava/lang/String;I)V addElement(Ljava/lang/Object;)V0  K**Y*Y*Y*Y*Y  .<J K  PK Hs>/&?com/sun/javacard/jcbytecodeprofiler/CryptoAlgorithmList$7.class1,   !"#$%&'()VCodeLineNumberTableLocalVariableTablethis InnerClasses;Lcom/sun/javacard/jcbytecodeprofiler/CryptoAlgorithmList$7; SignatureMLjava/util/Vector; SourceFileCryptoAlgorithmList.javaEnclosingMethod( 7com/sun/javacard/jcbytecodeprofiler/CryptoAlgorithmInfoALG_EC_SVDP_DH ) *+ALG_EC_SVDP_DH_KDFALG_EC_SVDP_DHCALG_EC_SVDP_DHC_KDFALG_EC_SVDP_DH_PLAINALG_EC_SVDP_DHC_PLAIN9com/sun/javacard/jcbytecodeprofiler/CryptoAlgorithmList$7java/util/Vector7com/sun/javacard/jcbytecodeprofiler/CryptoAlgorithmList(Ljava/lang/String;I)V addElement(Ljava/lang/Object;)V0  Y**Y*Y*Y*Y*Y *Y " .<JX Y  PK Hs>M M ?com/sun/javacard/jcbytecodeprofiler/CryptoAlgorithmList$8.class1 8HIJ K 7LMNOPQRSTUVWXYZ[\]^_`abcdefg h ijklmnop qrstuvwxyz{|}~()VCodeLineNumberTableLocalVariableTablethis InnerClasses;Lcom/sun/javacard/jcbytecodeprofiler/CryptoAlgorithmList$8; SignatureMLjava/util/Vector; SourceFileCryptoAlgorithmList.javaEnclosingMethod 9:7com/sun/javacard/jcbytecodeprofiler/CryptoAlgorithmInfoALG_DES_CBC_NOPAD 9 ALG_DES_CBC_ISO9797_M1ALG_DES_CBC_ISO9797_M2ALG_DES_CBC_PKCS5ALG_DES_ECB_NOPADALG_DES_ECB_ISO9797_M1ALG_DES_ECB_ISO9797_M2ALG_DES_ECB_PKCS5ALG_RSA_ISO14888 ALG_RSA_PKCS1ALG_RSA_ISO9796 ALG_RSA_NOPADALG_AES_BLOCK_128_CBC_NOPADALG_AES_BLOCK_128_ECB_NOPADALG_RSA_PKCS1_OAEPALG_KOREAN_SEED_ECB_NOPADALG_KOREAN_SEED_CBC_NOPADALG_AES_BLOCK_192_CBC_NOPADALG_AES_BLOCK_192_ECB_NOPADALG_AES_BLOCK_256_CBC_NOPADALG_AES_BLOCK_256_ECB_NOPADALG_AES_CBC_ISO9797_M1ALG_AES_CBC_ISO9797_M2ALG_AES_CBC_PKCS5ALG_AES_ECB_ISO9797_M1ALG_AES_ECB_ISO9797_M2ALG_AES_ECB_PKCS5CIPHER_AES_CBC 9CIPHER_AES_ECBCIPHER_DES_CBCCIPHER_DES_ECBCIPHER_KOREAN_SEED_CBCCIPHER_KOREAN_SEED_ECB CIPHER_RSAPAD_NULL  PAD_NOPADPAD_ISO9797_M1PAD_ISO9797_M2PAD_ISO9797_1_M1_ALG3PAD_ISO9797_1_M2_ALG3 PAD_PKCS5 PAD_PKCS1 PAD_PKCS1_PSSPAD_PKCS1_OAEP PAD_ISO9796PAD_ISO9796_MR PAD_RFC24099com/sun/javacard/jcbytecodeprofiler/CryptoAlgorithmList$8java/util/Vector7com/sun/javacard/jcbytecodeprofiler/CryptoAlgorithmList(Ljava/lang/String;I)V addElement(Ljava/lang/Object;)VTYPE_FLEX_CIPHER_ALGI(Ljava/lang/String;II)VTYPE_FLEX_PAD_ALG0789:;**Y*Y*Y*Y*Y *Y *Y *Y *Y  *Y *Y *Y *Y *Y*Y*Y*Y*Y*Y*Y*Y*Y*Y*Y*Y*Y*Y*Y !"*Y#!"*Y$!"*Y%!"*Y&!"*Y'!"*Y(!"*Y)*"*Y+*"*Y,*"*Y-*"*Y.*"*Y/*"*Y0*"*Y1*"*Y2*"*Y3 *"*Y4 *"*Y5 *"*Y6 *"<1 .<JYhw +:IXgv / @ Q b s = >ABCDEFG@ 7PK Hs>'EE=com/sun/javacard/jcbytecodeprofiler/CryptoAlgorithmList.class1 :f g 9h 9i jk l mn mop q r st 9uvw fx fz {| f}~ f f f #f &f )f  cryptoAlgosLjava/util/Hashtable; SignaturevLjava/util/Hashtable;>;methodBCLookBack;()VCodeLineNumberTableLocalVariableTablethis9Lcom/sun/javacard/jcbytecodeprofiler/CryptoAlgorithmList; getAlgoName'(ILjava/lang/String;)Ljava/lang/String; constantValueI classNameLjava/lang/String;((ILjava/lang/String;I)Ljava/lang/String;info9Lcom/sun/javacard/jcbytecodeprofiler/CryptoAlgorithmInfo;i$Ljava/util/Iterator;typelistLjava/util/Vector;LocalVariableTypeTableMLjava/util/Vector; getBCLookBack'(Ljava/lang/String;)Ljava/lang/Integer; methodNamekeyBuilderInfoMessageDigestInforandomDataInfo signatureInfo checksumInfo keyPairInfokeyAgreementInfo cipherInfo SourceFileCryptoAlgorithmList.java AB K HN ;< java/util/Vector  7com/sun/javacard/jcbytecodeprofiler/CryptoAlgorithmInfo K K M ?<java/lang/Integerjava/util/Hashtable9com/sun/javacard/jcbytecodeprofiler/CryptoAlgorithmList$1 InnerClassesjavacard.security.KeyBuilder 9com/sun/javacard/jcbytecodeprofiler/CryptoAlgorithmList$2javacard.security.MessageDigest9com/sun/javacard/jcbytecodeprofiler/CryptoAlgorithmList$3javacard.security.RandomData9com/sun/javacard/jcbytecodeprofiler/CryptoAlgorithmList$4javacard.security.Signature9com/sun/javacard/jcbytecodeprofiler/CryptoAlgorithmList$5javacard.security.Checksum9com/sun/javacard/jcbytecodeprofiler/CryptoAlgorithmList$6javacard.security.KeyPair9com/sun/javacard/jcbytecodeprofiler/CryptoAlgorithmList$7javacard.security.KeyAgreement9com/sun/javacard/jcbytecodeprofiler/CryptoAlgorithmList$8javacardx.crypto.CipherAjavacard/security/KeyBuilder/buildKey(BSZ)Ljavacard/security/Key; Bjavacard/security/KeyBuilder/buildKey(BBSZ)Ljavacard/security/Key;Pjavacard/security/MessageDigest/getInstance(BZ)Ljavacard/security/MessageDigest;sjavacard/security/MessageDigest/getInitializedMessageDigestInstance(BZ)Ljavacard/security/InitializedMessageDigest;Hjavacard/security/Signature/getInstance(BZ)Ljavacard/security/Signature;Jjavacard/security/Signature/getInstance(BBBZ)Ljavacard/security/Signature;Fjavacard/security/Checksum/getInstance(BZ)Ljavacard/security/Checksum;Njavacard/security/KeyAgreement/getInstance(BZ)Ljavacard/security/KeyAgreement;Ijavacard/security/RandomData/getInstance(B)Ljavacard/security/RandomData;%javacard/security/KeyPair/(BS)V@javacardx/crypto/Cipher/getInstance(BZ)Ljavacardx/crypto/Cipher;Ajavacardx/crypto/Cipher/getInstance(BBZ)Ljavacardx/crypto/Cipher;7com/sun/javacard/jcbytecodeprofiler/CryptoAlgorithmListjava/lang/Object TYPE_NON_FLEXget&(Ljava/lang/Object;)Ljava/lang/Object;iterator()Ljava/util/Iterator;java/util/IteratorhasNext()Znext()Ljava/lang/Object;algorhtimConstantValue valueType algorithmNameput8(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;valueOf(I)Ljava/lang/Integer;!9:;<=>?<=@ABC/*DE FG HIC= +D(E JK LM HNCE+N-:*  :    D, -'.9/B2E>'OP1QREJKELMESK :TUV  :TW XYC5 *D6E  ZM[BCKYYYK*WYL+WYM,WYN-W Y!:"W#Y$:%W&Y':(W)Y*:+W,-W.-W/-W0-W1-W2-W3-W4-W5-W6-W7-W8-WD~ p&r.~8@JR\epy !""/#<$J%ER.\U.]U@ ^UR_Ue`UyaUbUcUVR.\W.]W@ ^WR_We`WyaWbWcWdeyB #&)PK Hs>zCC:com/sun/javacard/jcbytecodeprofiler/InputPackageInfo.class1 [\ [ #]^ [ #_ #` #a b #cd efg hi j #k l m n o pq prs t u v wx wyz e{ |{ } ~ packageVectorLjava/util/Vector; Signature6Ljava/util/Vector;classSymbolTable$Lcom/sun/javacard/jcasm/SymbolTable;XLcom/sun/javacard/jcasm/SymbolTable;methodSymbolTableYLcom/sun/javacard/jcasm/SymbolTable;fieldSymbolTableVLcom/sun/javacard/jcasm/SymbolTable;()VCodeLineNumberTableLocalVariableTablethis6Lcom/sun/javacard/jcbytecodeprofiler/InputPackageInfo; addPackage%(Lcom/sun/javacard/jcasm/JCPackage;)Vargs[Ljava/lang/Object;c Lcom/sun/javacard/jcasm/JCClass;eLjava/util/Enumeration;p"Lcom/sun/javacard/jcasm/JCPackage;LocalVariableTypeTable9Ljava/util/Enumeration;containsPackage-(Lcom/sun/javacard/jcasm/PackageIdentifier;)Zqi$Ljava/util/Iterator;id*Lcom/sun/javacard/jcasm/PackageIdentifier;(Ljava/lang/String;)ZpkgNameLjava/lang/String;packageElements()Ljava/util/Enumeration;=()Ljava/util/Enumeration; getPackages()Ljava/util/Vector;8()Ljava/util/Vector;getClassSymbolTable&()Lcom/sun/javacard/jcasm/SymbolTable;Z()Lcom/sun/javacard/jcasm/SymbolTable;getMethodSymbolTable[()Lcom/sun/javacard/jcasm/SymbolTable;getSymbolCount()I SourceFileInputPackageInfo.java /0java/util/Vector $%"com/sun/javacard/jcasm/SymbolTable () +) -) BCjava/lang/Object mask.1 BI M com/sun/javacard/jcasm/JCClass + -   com/sun/javacard/jcasm/JCPackage  M X4com/sun/javacard/jcbytecodeprofiler/InputPackageInfo getIdentifier,()Lcom/sun/javacard/jcasm/PackageIdentifier;(com/sun/javacard/jcasm/PackageIdentifiertoString()Ljava/lang/String;com/sun/javacard/jcasm/Msgerror((Ljava/lang/String;[Ljava/lang/Object;)VgetName addElement(Ljava/lang/Object;)V symbolTableLjava/util/Hashtable;merge(Ljava/util/Hashtable;)V classElementsjava/util/EnumerationhasMoreElements()Z nextElement()Ljava/lang/Object;iterator()Ljava/util/Iterator;java/util/IteratorhasNextnextequals(Ljava/lang/Object;)Zjava/lang/Stringelementssize!# $%&'()&*+)&,-)&. /01o1**Y*Y*Y*Y 22345%6073 145671;+*+  Y+ SM,*+ Y+SM,*+*++M,&,N*-* -ױ2J@ADEG%H&K1M=NCODQLSWUeVoWzXYZ3>89=89o:;\,<=45>?@ \,<ABC1-*M,,N- +2de&f+i3* D?#EF-45-GHBI1-*M,,N-+ 2tu&v+y3* D?#EF-45-JKLM12*!23 45&NOP1/*23 45&QRS1/*23 45&TUS1/*23 45&VWX1B*"* "`*"`23 45YZPK Hs>{#33Bcom/sun/javacard/jcbytecodeprofiler/JCAllCodeNMethodProfiler.class15 L  K K K       K          " " " (   . . (   7 7 7 ( =   . .allNativeMethodsLjava/util/Hashtable; SignatureOLjava/util/Hashtable;>; allClassespkgsLjava/util/Vector;6Ljava/util/Vector;()VCodeLineNumberTableLocalVariableTablethis>Lcom/sun/javacard/jcbytecodeprofiler/JCAllCodeNMethodProfiler;generateAllReportG(Lcom/sun/javacard/jcbytecodeprofiler/InputPackageInfo;Ljava/io/File;)VfLcom/sun/javacard/jcasm/Field; descriptorLjava/lang/String;formatFfieldsLjava/util/Enumeration;m!Lcom/sun/javacard/jcasm/JCMethod; classMethodsc Lcom/sun/javacard/jcasm/JCClass; nativeMethodsmembers pkgClassesp"Lcom/sun/javacard/jcasm/JCPackage;i$Ljava/util/Iterator;methodsmethod classNamememberf3Ljava/io/File;f2keys sortedKeysLjava/util/ArrayList;exLjava/io/IOException;Ljava/lang/Exception; inputPkgs6Lcom/sun/javacard/jcbytecodeprofiler/InputPackageInfo;folder fos_allnativeLjava/io/FileOutputStream; fos_allcodeLocalVariableTypeTable7Ljava/util/Enumeration;:Ljava/util/Enumeration;&Ljava/util/Vector;9Ljava/util/Enumeration;+Ljava/util/Enumeration;)Ljava/util/ArrayList;getFieldDescriptorString2(Lcom/sun/javacard/jcasm/Field;)Ljava/lang/String;cid(Lcom/sun/javacard/jcasm/ClassIdentifier;pid*Lcom/sun/javacard/jcasm/PackageIdentifier;fd(Lcom/sun/javacard/jcasm/FieldDescriptor;fdStr SourceFileJCAllCodeNMethodProfiler.java UVjava/util/Hashtable MN QN RS   com/sun/javacard/jcasm/JCPackage  com/sun/javacard/jcasm/JCClassjava/util/Vector com/sun/javacard/jcasm/Field  com/sun/javacard/jcasm/JCMethod          java/io/Fileallnativemethods.list U    allcode.infojava/io/FileOutputStream U x   java/lang/String/.      java/lang/StringBuilder !" # $Vjava/io/IOException %Vjava/lang/Exception& '( )*+ ,- .-/ 0L 12 34;p<h:>^: @--< :>@<8:>.: --< :>< :> == ?== ==Xz^'($)5*A+J,S.d/p0s1~245689:;<>?@BCEF IJ/K9NBOIPNQUR_SkU{VWYZ\]_bdefghik#l-m>oHpTrps}uz|}~wxz|}~z|}~YV"p'^_ s$`a ba Z@cd ef 9gd AhiJjSSkS+ld$mnop=qd 'ra kjsa>?kd T)ta cuv/QwvnsaB>xdI7yz {|{|{}{|{|{|{|Z[~v \ Z@c 9g JjSk+l=q >?k B>xI7y Wt +M,N-,A:B:*: y  :CD] : L:  EF0 N7Y8G:--/H`I:J:;N-X> :GXdqwYf d:hi NSld:gmn$opZ[^_ a NSlPK Hs>b44<com/sun/javacard/jcbytecodeprofiler/JCByteCodeProfiler.class1 w   v v v  v v d X          ! "# $% & v' "( 8) v* +, v- v. v/ v0 v12 34 v5 36 378 + +9:; +< => 3?@A 3B "CD GE EF GH I J +K LMN AO PQ PRS ETU GV WX GY Z G[ \ 8]^ OF +_ d` va Ob vc vd ef Xghi Zj Zk Zlmnop bqr "s t buv w xy xz x{| } ~  b t UNABLE_TO_DETERMINE_CRYPTO_ALGOSLjava/lang/String; ConstantValueallInstructionsLjava/util/Hashtable; Signature=Ljava/util/Hashtable; usedByteCodesLjava/util/Vector;'Ljava/util/Vector;unusedByteCodesusedCryptoAlgorithms&Ljava/util/Vector;usedNativeMethodsOLjava/util/Hashtable;>;#LOOK_BACK_FOR_KEY_BUILDER_ALGORITHMILOOK_BACK_FOR_KEY_BUILDER_MEM LOOK_BACK_FOR_KEY_BUILDER_LENGTHLOOK_BACK_FOR_SIGNATURE_MD_ALGO#LOOK_BACK_FOR_SIGNATURE_CIPHER_ALGO LOOK_BACK_FOR_SIGNATURE_PAD_ALGO(LOOK_BACK_FOR_CIPHER_GET_INSTNACE_CIPHER%LOOK_BACK_FOR_CIPHER_GET_INSTNACE_PAD()VCodeLineNumberTableLocalVariableTableithis8Lcom/sun/javacard/jcbytecodeprofiler/JCByteCodeProfiler; callSimulatorD(Lcom/sun/javacard/jcasm/JCMethod;Lcom/sun/javacard/jcasm/JCClass;)ValgoNamei$Ljava/util/Iterator; callingMethod!Lcom/sun/javacard/jcasm/JCMethod; callingClass Lcom/sun/javacard/jcasm/JCClass;isValidIntermediateInstruction'(Lcom/sun/javacard/jcasm/Instruction;)ZanInstr$Lcom/sun/javacard/jcasm/Instruction; areIntermediateInstructionsValid(Ljava/util/Vector;II)Zst"Lcom/sun/javacard/jcasm/Statement;methodStatementsindexlookbackLocalVariableTypeTable6Ljava/util/Vector;;(Ljava/util/Vector;II)ZgetInstr:(IILjava/util/Vector;)Lcom/sun/javacard/jcasm/Instruction;count^(IILjava/util/Vector;)Lcom/sun/javacard/jcasm/Instruction;getConstantValue'(Lcom/sun/javacard/jcasm/Instruction;)IgetConstantFieldNameK(Lcom/sun/javacard/jcasm/Instruction;Ljava/lang/String;I)Ljava/lang/String; classNametypevalue listFlexibleCryptoAlgorithmsUsedy(ILjava/util/Vector;Lcom/sun/javacard/jcasm/JCMethod;Lcom/sun/javacard/jcasm/JCMethod;Lcom/sun/javacard/jcasm/JCClass;I)VmidsuccessZ(ILjava/util/Vector;Lcom/sun/javacard/jcasm/JCMethod;Lcom/sun/javacard/jcasm/JCMethod;Lcom/sun/javacard/jcasm/JCClass;I)VlistFlexKeyBuilderAlgorithms(ILjava/util/Vector;)Zinstrs instrForAlgo instrForMeminstrForLengthmemTypelengthfullName:(ILjava/util/Vector;)ZlistFlexSignatureAlgorithmsinstrForMDAlgoinstrForCipherAlgoinstrForPadAlgo MDAlgoNamecipherAlgoName padAlgoNamelistFlexCipherAlgorithmsinstrForCipherinstrForPaddingpaddingAlgoNamelistCryptoAlgorithmUsed(Lcom/sun/javacard/jcasm/Instruction;Lcom/sun/javacard/jcasm/JCMethod;Lcom/sun/javacard/jcasm/JCMethod;Lcom/sun/javacard/jcasm/JCClass;)Vop Lcom/sun/javacard/jcasm/Operand;fullCryptoClassNamelastDotgenerateReportG(Lcom/sun/javacard/jcbytecodeprofiler/InputPackageInfo;Ljava/io/File;)VcalledMethodInfo,Lcom/sun/javacard/jcasm/StaticMethodRefInfo;Ljava/lang/Integer;stmtopCode classMethodsLjava/util/Enumeration;cmethods pkgClassesp"Lcom/sun/javacard/jcasm/JCPackage;usedmethodnamef1Ljava/io/File;f2f3f4keys sortedKeysLjava/util/ArrayList;exLjava/lang/Exception;Ljava/io/IOException; inputPkgs6Lcom/sun/javacard/jcbytecodeprofiler/InputPackageInfo;folderpkgsfos_usedLjava/io/FileOutputStream; fos_unusedfos_usednativefos_usedCryptoAlgos:Ljava/util/Enumeration;9Ljava/util/Enumeration;+Ljava/util/Enumeration;)Ljava/util/ArrayList;6Ljava/util/Vector; SourceFileJCByteCodeProfiler.java java/util/Vector  java/util/Hashtable | {|        java/lang/String   0* Unable to determine all crypto algorithms used   com/sun/javacard/jcasm/Statement      javacard.security.KeyBuilder   java/lang/StringBuilder , ,  javacard.security.MessageDigest javacard.security.Signaturejavacardx.crypto.Cipher  com/sun/javacard/jcasm/Operand   .     com/sun/javacard/jcasm/JCPackage   com/sun/javacard/jcasm/JCClass com/sun/javacard/jcasm/JCMethod       *com/sun/javacard/jcasm/StaticMethodRefInfo    java/lang/Boolean  java/io/Fileusedbytecodes.list   unusedbytecodes.listusednativemethods.listcryptoalgorithms.listjava/io/FileOutputStream java/lang/Integer       /   java/lang/Exception  java/io/IOException 6com/sun/javacard/jcbytecodeprofiler/JCByteCodeProfilerjava/lang/ObjectvalueOf(I)Ljava/lang/Integer;(Z)Ljava/lang/Boolean;put8(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;Ecom/sun/javacard/jcbytecodeprofiler/cryptoanalyzer/CryptoCallAnalyzersimulateD(Lcom/sun/javacard/jcasm/JCClass;Lcom/sun/javacard/jcasm/JCMethod;)VcryptoAlgoNamesiterator()Ljava/util/Iterator;java/util/IteratorhasNext()Znext()Ljava/lang/Object;contains(Ljava/lang/Object;)Zadd(ILjava/lang/Object;)VallCryptoAlgosFound"com/sun/javacard/jcasm/Instruction getOpcode()I elementAt(I)Ljava/lang/Object;getInstruction&()Lcom/sun/javacard/jcasm/Instruction; getOperand#(I)Lcom/sun/javacard/jcasm/Operand;getValue7com/sun/javacard/jcbytecodeprofiler/CryptoAlgorithmList getAlgoName((ILjava/lang/String;I)Ljava/lang/String;7com/sun/javacard/jcbytecodeprofiler/CryptoAlgorithmInfoTYPE_FLEX_CIPHER_ALG TYPE_FLEX_MEMTYPE_FLEX_KEY_LENGTHappend-(Ljava/lang/String;)Ljava/lang/StringBuilder;toString()Ljava/lang/String; TYPE_NON_FLEXTYPE_FLEX_PAD_ALG getOperands()Ljava/util/Vector;getParentClass"()Lcom/sun/javacard/jcasm/JCClass;getNamereplace(CC)Ljava/lang/String; lastIndexOf(Ljava/lang/String;)I substring(I)Ljava/lang/String;'(ILjava/lang/String;)Ljava/lang/String;4com/sun/javacard/jcbytecodeprofiler/InputPackageInfo getPackages classElements()Ljava/util/Enumeration;java/util/EnumerationhasMoreElements nextElementmethodElements getAttributesjava/lang/reflect/ModifierisNative(I)ZgetFormattedMethod addElement(Ljava/lang/Object;)V getStatementssizeresolve()Lcom/sun/javacard/jcasm/Info; getBCLookBack'(Ljava/lang/String;)Ljava/lang/Integer;intValue!()Lcom/sun/javacard/jcasm/Member;get&(Ljava/lang/Object;)Ljava/lang/Object; booleanValue#(Ljava/io/File;Ljava/lang/String;)VgetAbsoluteFile()Ljava/io/File;getCanonicalFile(Ljava/io/File;)V getMnemonicgetBytes()[Bwrite([B)Vjava/util/Collectionslist.(Ljava/util/Enumeration;)Ljava/util/ArrayList;sort(Ljava/util/List;)V enumeration/(Ljava/util/Collection;)Ljava/util/Enumeration;D(Ljava/lang/CharSequence;Ljava/lang/CharSequence;)Ljava/lang/String;elementsjava/lang/Systemexit(I)VcloseprintStackTrace!vwxyz{|}~}}}|}zzzzzzzz [**Y*Y*Y*Y *Y <*   W* '"#$%%0(;)D*T)Z,=[V,+N-'-:* *ֲ* *"/0 1,295?7K8U;4 y -VVVT+NLLLLLLNNNNNNNLL@PIRKTTG>>>6$+d:*. OQ RSTVY$Z1[?YE]>1'GGGG G}N6:65-d:* . abcde!f/g2h;cAkHlH 8NNNNKH N}t++h\^`bdfhhhhhhhJS++2 pqtTv]xfzh|j~lnprtt+*+6,  4y <6*,!6*,"6 *,#6 *$" &.;R<<<<<<<9 <}h *,%N*,%:*,%:- *-&'(:*&)(:*&*(: +Y,-.--/--0: *  * 1W:(*6CP_af 6hyC[yPNyy }h *,%N*,%:*,%:- *-23(:*4'(:*56(: +Y,-.--/--0: *  * 1W:(*6CP_af 6hyC[yPNyy }"t*,%N*,%:-*-5'(:*56(:+Y,-.--0:* *1W2 (5?A\hrRtttlc(Ly5?y\y t} + *-$6+\bhntzE+78:6(6"6666 6 *-$,9:/.;:<=6+Y,`>-<-?-0:* *1Wz Xelorux{ ~   !f e/Gy>y+@N-:\A:B:C<DE:Y:F:  C DG:  HI  JK L: 6   M  :  6 78:NO:PQ:e*  RS* $[R*  TG RU&*  RdTG V*   W 8M* : W6?*  WXY6* 1W* 1W::::ZY,[\]^:ZY,_\]^: ZY,`\]^: ZY,a\]^: bYc:bY c:bY c:bY c:*:  , dR6  efghfg*:  , dR6  efghfg* i:  j:kl:  C} D:  m<nfghfg*  Wo:C8D:+Y,p--0fghfgħ*:&:fghfg֨l: r_::s :us :us :us :uqttttc$%!&2'>(G)X*d+o,y./012456789:<=@7FH/NHQIYJhLnNyOPQSNWXYZ\]^_ `ab*c5dWedfqhijmnopqrstu wx!z={J}M~lv,{qg  d N >*G!(C!J c"qDW >3  z3  ?!)yny lyV-   z  ;852R N G!(C ?   PK Hs>0_|  .com/sun/javacard/jcbytecodeprofiler/Main.class1 G    F  F F F  F         !   ( ( ( (    0  4 4 7 7 F   ? > >   >noBannerZall()VCodeLineNumberTableLocalVariableTablethis*Lcom/sun/javacard/jcbytecodeprofiler/Main;main([Ljava/lang/String;)VfNameLjava/lang/String;exLjava/io/FileNotFoundException;Ljava/io/IOException;pack"Lcom/sun/javacard/jcasm/JCPackage;'Lcom/sun/javacard/jcasm/ParseException;inSpeci$Ljava/util/Iterator;profiler8Lcom/sun/javacard/jcbytecodeprofiler/JCByteCodeProfiler;nativeProfiler>Lcom/sun/javacard/jcbytecodeprofiler/JCAllCodeNMethodProfiler;argv[Ljava/lang/String; outputFile inputListLjava/util/Vector;iIfolderLjava/io/File; inputPackages6Lcom/sun/javacard/jcbytecodeprofiler/InputPackageInfo;mask-Lcom/sun/javacard/jcbytecodeprofiler/RomMask;parserLcom/sun/javacard/jcasm/Parser;bisLjava/io/BufferedInputStream;LocalVariableTypeTable&Ljava/util/Vector; printStatususage(Z)VisErrorbannerreadListFromFile'(Ljava/util/Vector;Ljava/lang/String;)VreaderLjava/io/BufferedReader;lineelist Signature;(Ljava/util/Vector;Ljava/lang/String;)V SourceFile Main.java KLa.outjava/util/Vector- -help wx -o-a JI HI zL@ {| java/io/File K 4com/sun/javacard/jcbytecodeprofiler/InputPackageInfo+com/sun/javacard/jcbytecodeprofiler/RomMask  java/lang/Stringjava/io/BufferedInputStreamjava/io/FileInputStream Kjava/io/FileNotFoundException   icom/sun/javacard/jcasm/Parser U Ljava/io/IOException L%com/sun/javacard/jcasm/ParseException 6com/sun/javacard/jcbytecodeprofiler/JCByteCodeProfiler *[*2P*2  4*2 * *2L *2  :*K*2:",Y:,Y:, Y:Y:::,:   : Y!Y "#:: % &'`'(Y):* +,:  - ./ :  1: % &'`'l'53 4Y5:  67Y8:  9:$^cf0Kmp2N@#$ & '))*-+4,?-H.O0V2a3e'k6q7t9w;}<=>?ABDEFJKLMNPUQR#S+T.W3XAZF\K`PaWb^dcgfehfmkphrizjkopqstuvwz|O=TUVW hVX PYZ rV[ ~\U ]^  _`  ab cdeU fg hiwJjklmnopqrst  fuvLMN wxMG;<= N O yI zLMN{|M U>Y?Y+@AM,BYN-CN-D*-,E#M%,&'`'M,1'`'14$1G0N>%-145<DGHLTO>!}~U5WH XUgUTUt UuLM NPK Hs>[+<<4com/sun/javacard/jcbytecodeprofiler/MaskLinker.class1. 6 78 79 7: 7; <= <>? @A 7BC D EF GH IJC KLMNO P QR STUVWXY !Z [ \ ]^ _ &` &a &b &c &d e f 7g h E i jk lmn Go pq :rs Dt <u vwx :y u vz {| FE F\} F~ !D &      R        a dE d\ d~ T TE T T TD T o T Z ZE Z Z Z y ZD Z vu v v vE Z \ \E \ \ \  \D \ <E \ ^E <  <    ^D ^     ^ X XE X X X XD X X V VE V V V VD V v  V $assertionsDisabledZ()VCodeLineNumberTableLocalVariableTablethis0Lcom/sun/javacard/jcbytecodeprofiler/MaskLinker;link0(Lcom/sun/javacard/jcbytecodeprofiler/RomMask;)Vargs[Ljava/lang/Object;pi*Lcom/sun/javacard/jcasm/PackageIdentifier;fLjava/util/Enumeration;p"Lcom/sun/javacard/jcasm/JCPackage;ecid(Lcom/sun/javacard/jcasm/ClassIdentifier;c Lcom/sun/javacard/jcasm/JCClass;iIsc classNameLjava/lang/String; superNamesuperIdapplet)Lcom/sun/javacard/jcasm/AppletDeclarator; installMethodm!Lcom/sun/javacard/jcasm/JCMethod;ics'Lcom/sun/javacard/jcasm/SuperInterface;superInterfaceNamesIdinfoLcom/sun/javacard/jcasm/Info;e1r-Lcom/sun/javacard/jcbytecodeprofiler/RomMask;classSymbolTable$Lcom/sun/javacard/jcasm/SymbolTable;methodSymbolTablefieldSymbolTableobjaidData[Bpid arrayPackage arrayClasses[Ljava/lang/String; shareableLocalVariableTypeTableCLjava/util/Enumeration;;Ljava/util/Enumeration;+Ljava/util/Enumeration;9Ljava/util/Enumeration;BLjava/util/Enumeration;@Ljava/util/Enumeration;6Ljava/util/Enumeration;XLcom/sun/javacard/jcasm/SymbolTable;YLcom/sun/javacard/jcasm/SymbolTable;VLcom/sun/javacard/jcasm/SymbolTable;linkInterfaceInfo^(Lcom/sun/javacard/jcasm/SymbolTable;Lcom/sun/javacard/jcasm/JCClass;Ljava/util/Enumeration;)Vitable'Lcom/sun/javacard/jcasm/InterfaceTable; interfaceNameiId@Ljava/util/Enumeration; Signature(Lcom/sun/javacard/jcasm/SymbolTable;Lcom/sun/javacard/jcasm/JCClass;Ljava/util/Enumeration;)VlinkClassRefInfoL(Lcom/sun/javacard/jcasm/ClassRefInfo;Lcom/sun/javacard/jcasm/SymbolTable;)V%Lcom/sun/javacard/jcasm/ClassRefInfo;(Lcom/sun/javacard/jcasm/ClassRefInfo;Lcom/sun/javacard/jcasm/SymbolTable;)VlinkInstanceFieldRefInfoT(Lcom/sun/javacard/jcasm/InstanceFieldRefInfo;Lcom/sun/javacard/jcasm/SymbolTable;)VLcom/sun/javacard/jcasm/Field;fid(Lcom/sun/javacard/jcasm/FieldIdentifier;-Lcom/sun/javacard/jcasm/InstanceFieldRefInfo;(Lcom/sun/javacard/jcasm/InstanceFieldRefInfo;Lcom/sun/javacard/jcasm/SymbolTable;)VlinkVirtualMethodRefInfox(Lcom/sun/javacard/jcasm/VirtualMethodRefInfo;Lcom/sun/javacard/jcasm/SymbolTable;Lcom/sun/javacard/jcasm/SymbolTable;)Vmycmid)Lcom/sun/javacard/jcasm/MethodIdentifier;-Lcom/sun/javacard/jcasm/VirtualMethodRefInfo;(Lcom/sun/javacard/jcasm/VirtualMethodRefInfo;Lcom/sun/javacard/jcasm/SymbolTable;Lcom/sun/javacard/jcasm/SymbolTable;)VlinkSuperMethodRefInfov(Lcom/sun/javacard/jcasm/SuperMethodRefInfo;Lcom/sun/javacard/jcasm/SymbolTable;Lcom/sun/javacard/jcasm/SymbolTable;)V tableNamenamesinfoName methodNamemethodSignaturesid+Lcom/sun/javacard/jcasm/SuperMethodRefInfo; currentClass methodToken(Lcom/sun/javacard/jcasm/SuperMethodRefInfo;Lcom/sun/javacard/jcasm/SymbolTable;Lcom/sun/javacard/jcasm/SymbolTable;)VlinkStaticFieldRefInfoR(Lcom/sun/javacard/jcasm/StaticFieldRefInfo;Lcom/sun/javacard/jcasm/SymbolTable;)V+Lcom/sun/javacard/jcasm/StaticFieldRefInfo;(Lcom/sun/javacard/jcasm/StaticFieldRefInfo;Lcom/sun/javacard/jcasm/SymbolTable;)VlinkStaticMethodRefInfoS(Lcom/sun/javacard/jcasm/StaticMethodRefInfo;Lcom/sun/javacard/jcasm/SymbolTable;)V,Lcom/sun/javacard/jcasm/StaticMethodRefInfo;(Lcom/sun/javacard/jcasm/StaticMethodRefInfo;Lcom/sun/javacard/jcasm/SymbolTable;)V SourceFileMaskLinker.java     com/sun/javacard/jcasm/JCPackage (com/sun/javacard/jcasm/PackageIdentifier java/lang/Object  mlink.0   com/sun/javacard/jcasm/JCClassmlink.1com/sun/javacard/jcasm/Aid  VM Array Implementation java/lang/String[S[Z[L;[I&com/sun/javacard/jcasm/ClassIdentifier    "com/sun/javacard/jcasm/MethodTable            mlink.2 javacard/framework/Shareablemlink.7  'com/sun/javacard/jcasm/AppletDeclarator com/sun/javacard/jcasm/JCMethodmlink.13  mlink.14   %com/sun/javacard/jcasm/SuperInterfacemlink.16         com/sun/javacard/jcasm/Info  #com/sun/javacard/jcasm/ClassRefInfo  *com/sun/javacard/jcasm/StaticMethodRefInfo /0)com/sun/javacard/jcasm/StaticFieldRefInfo +,+com/sun/javacard/jcasm/InstanceFieldRefInfo +com/sun/javacard/jcasm/VirtualMethodRefInfo )com/sun/javacard/jcasm/SuperMethodRefInfo  java/lang/AssertionErrorinfo.getType()  %com/sun/javacard/jcasm/InterfaceTablemlink.12 info != null    java/lang/Integer  mlink.21 com/sun/javacard/jcasm/Field&com/sun/javacard/jcasm/FieldIdentifier  mlink.22  mlink.42mlink.32'com/sun/javacard/jcasm/MethodIdentifier mlink.23mlink.43mlink.33      ! "mlink.24 #  $ %& 'mlink.34 (mlink.25mlink.45mlink.35 )mlink.26mlink.46 */( +mlink.36.com/sun/javacard/jcbytecodeprofiler/MaskLinker, -+com/sun/javacard/jcbytecodeprofiler/RomMaskpackageElements()Ljava/util/Enumeration;java/util/EnumerationhasMoreElements()Z nextElement()Ljava/lang/Object;importElementscontainsPackage-(Lcom/sun/javacard/jcasm/PackageIdentifier;)ZtoString()Ljava/lang/String;getNamecom/sun/javacard/jcasm/Msgerror((Ljava/lang/String;[Ljava/lang/Object;)Vcom/sun/javacard/jcasm/Globalserrors"com/sun/javacard/jcasm/SymbolTableget&(Ljava/lang/Object;)Ljava/lang/Object;([B)V!(Lcom/sun/javacard/jcasm/Aid;II)V@(Ljava/lang/String;Lcom/sun/javacard/jcasm/PackageIdentifier;I)V.(Lcom/sun/javacard/jcasm/PackageIdentifier;I)Va(Lcom/sun/javacard/jcasm/JCPackage;ILjava/lang/String;Lcom/sun/javacard/jcasm/ClassIdentifier;I)VgetClassIdentifier*()Lcom/sun/javacard/jcasm/ClassIdentifier;setSuperClassIdentifier+(Lcom/sun/javacard/jcasm/ClassIdentifier;)VpublicMethodTable$Lcom/sun/javacard/jcasm/MethodTable;getBase()IgetCount%(Lcom/sun/javacard/jcasm/JCClass;IZ)V nameElements addMethod(Ljava/lang/String;)VpackageMethodTableaddClass#(Lcom/sun/javacard/jcasm/JCClass;)V addPackage%(Lcom/sun/javacard/jcasm/JCPackage;)V classElementsgetSuperClassNamegetSuperClassIdentifier setSuperClasswarnappletElementsgetInstallMethodName getAttributesjava/lang/reflect/ModifierisStatic(I)Zresolve$(Lcom/sun/javacard/jcasm/JCMethod;)V isInterfacesuperInterfaceElements((Lcom/sun/javacard/jcasm/SymbolTable;Z)VinterfaceElementsisRemoteremoteInterfaceElementsconstantPoolElementsgetType(Ljava/lang/Object;)VisPackageInternalgetPackageIdentifier,()Lcom/sun/javacard/jcasm/PackageIdentifier; getClassToken getLineNumber(I)V"(Lcom/sun/javacard/jcasm/Member;)VgetInstanceFieldToken-(Lcom/sun/javacard/jcasm/ClassIdentifier;IZ)VisPublic isProtectedgetVirtualMethodTokengetMethodIdentifier+()Lcom/sun/javacard/jcasm/MethodIdentifier;getMethodTokengetParentClass"()Lcom/sun/javacard/jcasm/JCClass;indexOf(I)I substring(II)Ljava/lang/String; lastIndexOflength(I)Ljava/lang/String;equals(Ljava/lang/Object;)Z getSuperClassgetStaticFieldTokengetStaticMethodToken isPrivate(Ljava/lang/String;)Ijava/lang/ClassdesiredAssertionStatus  /*&  *L*M*N*:X: :8 :*  Y SYS:ħ+:  YTYTYTYTYbTYTYTYTYT: YY:Y:YSYSYSYSY S:6  λ!Y ": Y 2 #:  $% &Y '(')`*''+:   ' , &Y -(-)`*--+:   - , . 0*/*:   :  0:   :  1:  2: 3:2+: Y S:4  54/+: Y S:4  5pP+6:  78*:  : :  9:  m ::  ;:,<:  YSY =S:>*?@ YS:A  B 0:   :  CD E:F:G:H::+:  YSY 1S:IJ?:+:# YKSY 1S:InJd9 ',L -,L+  MN O+  PN Q:   R:  Sr(LXe@4 T+UQ V,WE X-Y9 Z-[- \,+]  ^,+_` aYbcc±|*+ ,./+2<3H4Q6g7n9q:t;z<{@ACDHIJLM NO/P9RYTmUWYZ\M^abc dfg%h,k1l<mAoLpSqVr]uevpwuyz{|%07:ADUal})4<GJ[g3gH&2?+F_c   /  L<!p!z s %l,e   0[ TIt  ) ,xsa K g Q ( A  o4 S 2?_c    t sK Q A   ,,dN-e:-f:8*: YSY+1S:g-h=8*:" YKSY+1S:gv-hmR  $ / 4FMPV^in !f F /' i*zt     n`* aYic*j+*kM!Y*l*m"N+-M,$ Y*nSYoY*pqSNr-*,s. $&'*):*C,G.a/g0h2m3>': annC+ n  `* aYic*t+*uvM,!Y*w*x"NyY-*z{:+vM,$ Y*|SYoY*}qSN~-*t?,5,+ Y*|SY,SYoY*}qSN-,@ Y,SY*uSN-*,R689*;:<I=S?WAqBwCxFJKLNPQRTU\ ':I qS    `* aYic*+*Y`ahv ! )" ! )" * B#Q$`% Yh&v ' #(&)*)" )"  * +,`* aYic*+*vM,!Y**"NyY-*{:+vM,$ Y*SYoY*qSN-*?,5,+ Y*SY,SYoY*qSN-,@ Y,SY*SN-*,R*:ISWqwx\ ':I q-S  . /0`* aYic*+*!1com/sun/javacard/jcbytecodeprofiler/RomMask.class1 XY X #Z[ X #\ #] #^ _ #`a bcd ef g #h i j k l mn mop q r s tu tvw bx yx z {| packageVectorLjava/util/Vector; Signature6Ljava/util/Vector;classSymbolTable$Lcom/sun/javacard/jcasm/SymbolTable;XLcom/sun/javacard/jcasm/SymbolTable;methodSymbolTableYLcom/sun/javacard/jcasm/SymbolTable;fieldSymbolTableVLcom/sun/javacard/jcasm/SymbolTable;()VCodeLineNumberTableLocalVariableTablethis-Lcom/sun/javacard/jcbytecodeprofiler/RomMask; addPackage%(Lcom/sun/javacard/jcasm/JCPackage;)Vargs[Ljava/lang/Object;c Lcom/sun/javacard/jcasm/JCClass;eLjava/util/Enumeration;p"Lcom/sun/javacard/jcasm/JCPackage;LocalVariableTypeTable9Ljava/util/Enumeration;containsPackage-(Lcom/sun/javacard/jcasm/PackageIdentifier;)Zqi$Ljava/util/Iterator;id*Lcom/sun/javacard/jcasm/PackageIdentifier;(Ljava/lang/String;)ZpkgNameLjava/lang/String;packageElements()Ljava/util/Enumeration;=()Ljava/util/Enumeration;getClassSymbolTable&()Lcom/sun/javacard/jcasm/SymbolTable;Z()Lcom/sun/javacard/jcasm/SymbolTable;getMethodSymbolTable[()Lcom/sun/javacard/jcasm/SymbolTable;getSymbolCount()I SourceFile RomMask.java /0java/util/Vector $%"com/sun/javacard/jcasm/SymbolTable () +) -) }~ BCjava/lang/Object mask.1 BI M com/sun/javacard/jcasm/JCClass + -   com/sun/javacard/jcasm/JCPackage  M U+com/sun/javacard/jcbytecodeprofiler/RomMask getIdentifier,()Lcom/sun/javacard/jcasm/PackageIdentifier;(com/sun/javacard/jcasm/PackageIdentifiertoString()Ljava/lang/String;com/sun/javacard/jcasm/Msgerror((Ljava/lang/String;[Ljava/lang/Object;)VgetName addElement(Ljava/lang/Object;)V symbolTableLjava/util/Hashtable;merge(Ljava/util/Hashtable;)V classElementsjava/util/EnumerationhasMoreElements()Z nextElement()Ljava/lang/Object;iterator()Ljava/util/Iterator;java/util/IteratorhasNextnextequals(Ljava/lang/Object;)Zjava/lang/Stringelementssize!# $%&'()&*+)&,-)&./01o1**Y*Y*Y*Y 21234%5063 145671;+*+  Y+ SM,*+ Y+SM,*+*++M,&,N*-* -ױ2J?@CDF%G&J1L=MCNDPLRWTeUoVzWXY3>89=89o:;\,<=45>?@ \,<ABC1-*M,,N- +2cd&e+h3* D?#EF-45-GHBI1-*M,,N-+ 2st&u+x3* D?#EF-45-JKLM12*!23 45&NOP1/*23 45&QRP1/*23 45&STU1B*"* "`*"`23 45VWPK Hs>a_ffKcom/sun/javacard/jcbytecodeprofiler/cryptoanalyzer/CryptoCallAnalyzer.class1 }~         T T Z    }  T T T    T  T     $ $  $    L 5 - $  - 5 8 7   7             L N    N    X Z    _ _ _ c c c     k k  T        w      $        }  T          Z            !" #$% & ' ( ) *+ },- WARNING_MSG_1Ljava/lang/String; ConstantValue WARNING_MSG_2 WARNING_MSG_3WARNING_MSG_NON_VERBOSE_1WARNING_MSG_NON_VERBOSE_2REGULAR_METHODI INIT_METHODactualSelfType9Lcom/sun/javacard/jcbytecodeprofiler/cryptoanalyzer/Type;methodInitStatus printTraceZ seenStatesLjava/util/Hashtable; SignatureLjava/util/Hashtable; currentPkg"Lcom/sun/javacard/jcasm/JCPackage; pendingStatesLjava/util/Stack;MLjava/util/Stack; stackEffect;[[Lcom/sun/javacard/jcbytecodeprofiler/cryptoanalyzer/Type; currentClass Lcom/sun/javacard/jcasm/JCClass; currentMethod!Lcom/sun/javacard/jcasm/JCMethod; showVerbosecryptoAlgoNamesLjava/util/Vector;&Ljava/util/Vector;allCryptoAlgosFound()VCodeLineNumberTableLocalVariableTablethisGLcom/sun/javacard/jcbytecodeprofiler/cryptoanalyzer/CryptoCallAnalyzer;simulateD(Lcom/sun/javacard/jcasm/JCClass;Lcom/sun/javacard/jcasm/JCMethod;)Vstmt"Lcom/sun/javacard/jcasm/Statement;is:Lcom/sun/javacard/jcbytecodeprofiler/cryptoanalyzer/State;cmvaluemethodStatements initStack:[Lcom/sun/javacard/jcbytecodeprofiler/cryptoanalyzer/Type; initLocal numStatementscode#[Lcom/sun/javacard/jcasm/Statement;LocalVariableTypeTable6Ljava/util/Vector; transition`([Lcom/sun/javacard/jcasm/Statement;Lcom/sun/javacard/jcbytecodeprofiler/cryptoanalyzer/State;)VstackEffectAaloadstackEffectAastorenty initStatus successfultheValue valueType=Lcom/sun/javacard/jcbytecodeprofiler/cryptoanalyzer/TypeBase; typeOnStackcinfo%Lcom/sun/javacard/jcasm/ClassRefInfo;tyElttyResintValuevalue1value2op Lcom/sun/javacard/jcasm/Operand;calledMethodInfo,Lcom/sun/javacard/jcasm/StaticMethodRefInfo;lookbackLjava/lang/Integer;elementarr$[Ilen$i$ts)Lcom/sun/javacard/jcasm/InstrTableSwitch;ls*Lcom/sun/javacard/jcasm/InstrLookupSwitch;exnStacke,Lcom/sun/javacard/jcasm/ExceptionTableEntry;Ljava/util/Iterator;beforeinstrnewStack newLocalsnewSpty2 shortTypeintTypeint2Type matchStackx([Lcom/sun/javacard/jcbytecodeprofiler/cryptoanalyzer/Type;[Lcom/sun/javacard/jcbytecodeprofiler/cryptoanalyzer/Type;I)Ieffectstackspnargspushw([Lcom/sun/javacard/jcbytecodeprofiler/cryptoanalyzer/Type;ILcom/sun/javacard/jcbytecodeprofiler/cryptoanalyzer/Type;)IpopMatchpopArgumentsAndPushResult_([Lcom/sun/javacard/jcbytecodeprofiler/cryptoanalyzer/Type;ILcom/sun/javacard/jcasm/JCMethod;)InumArgs returnTypeinitializeInstancew([Lcom/sun/javacard/jcbytecodeprofiler/cryptoanalyzer/Type;I)[Lcom/sun/javacard/jcbytecodeprofiler/cryptoanalyzer/Type;newty initialized updateLocals([Lcom/sun/javacard/jcbytecodeprofiler/cryptoanalyzer/Type;ILcom/sun/javacard/jcbytecodeprofiler/cryptoanalyzer/Type;)[Lcom/sun/javacard/jcbytecodeprofiler/cryptoanalyzer/Type; oldLocalsidx([Lcom/sun/javacard/jcbytecodeprofiler/cryptoanalyzer/Type;ILcom/sun/javacard/jcbytecodeprofiler/cryptoanalyzer/Type;Lcom/sun/javacard/jcbytecodeprofiler/cryptoanalyzer/Type;)[Lcom/sun/javacard/jcbytecodeprofiler/cryptoanalyzer/Type;ty1findCpoolReferenceFieldType<(I)Lcom/sun/javacard/jcbytecodeprofiler/cryptoanalyzer/Type;descfLcom/sun/javacard/jcasm/Field;fd(Lcom/sun/javacard/jcasm/FieldDescriptor;findCpoolReferenceMethod$(I)Lcom/sun/javacard/jcasm/JCMethod;getJumpInstructionOffset((II[Lcom/sun/javacard/jcasm/Statement;)IpcrequiredJumpSizejumpSizegetPCForInstructionOffset'(I[Lcom/sun/javacard/jcasm/Statement;)IinstructionOffset enterStatey(I[Lcom/sun/javacard/jcbytecodeprofiler/cryptoanalyzer/Type;[Lcom/sun/javacard/jcbytecodeprofiler/cryptoanalyzer/Type;I)Vmergedtyoldtylocals cloneCreatednewstateoldstate unchangedconstructAndAddWarningMessageS(I[Lcom/sun/javacard/jcasm/Statement;Lcom/sun/javacard/jcasm/StaticMethodRefInfo;)V methodNameindex classNamemsglistCryptoAlgorithmUsed%(Lcom/sun/javacard/jcasm/JCMethod;I)VfullCryptoClassNamelastDotnamelistFlexAlgorithms?(II[Lcom/sun/javacard/jcbytecodeprofiler/cryptoanalyzer/Type;)ZidgetValueFromStack?([Lcom/sun/javacard/jcbytecodeprofiler/cryptoanalyzer/Type;II)IoffsetlistFlexKeyBuilderAlgorithms>([Lcom/sun/javacard/jcbytecodeprofiler/cryptoanalyzer/Type;I)ZcipherAlgorithmValuememValue lengthValuealgoNamememTypelengthfullNamelistFlexSignatureAlgorithmsMDAlgorithmValue padAlgValue MDAlgoNamecipherAlgoName padAlgoNamelistFlexCipherAlgorithmspaddingAlgoNamese SourceFileCryptoCallAnalyzer.java JC_TRIMMING_TOOL_CRYPTO_VERBOSE. /0true1 23 4 56 78 9: java/util/Hashtable ; java/util/Stack )7com/sun/javacard/jcbytecodeprofiler/cryptoanalyzer/Type R <= >= com/sun/javacard/jcasm/Statement ?@ AB CD NO EF GF HI8com/sun/javacard/jcbytecodeprofiler/cryptoanalyzer/State H ) JI R KLM N=;com/sun/javacard/jcbytecodeprofiler/cryptoanalyzer/TypeBase OP Q= RS T * ,- Ujava/lang/Integer = ] DE /0 34 ^6com/sun/javacard/jcasm/Operand _`*com/sun/javacard/jcasm/StaticMethodRefInfo abc de bc WX _fcom/sun/javacard/jcasm/JCMethod ]^g hij kl#com/sun/javacard/jcasm/ClassRefInfocom/sun/javacard/jcasm/JCClass mE n FG'com/sun/javacard/jcasm/InstrTableSwitch o p q(com/sun/javacard/jcasm/InstrLookupSwitch r6 stu vF wI*com/sun/javacard/jcasm/ExceptionTableEntry xy z { |} ~  com/sun/javacard/jcasm/Field  F bSB  O   ,  KLjava/lang/StringBuilder* Please verify usage of  for more algorithms in  at PC  b    * Please verify  algorithm use  .    hi qi wi efjavacard.security.KeyBuilder    , ,javacard.security.MessageDigest javacard.security.Signaturejavacardx.crypto.Cipher    java/util/VectorEcom/sun/javacard/jcbytecodeprofiler/cryptoanalyzer/CryptoCallAnalyzerjava/lang/Objectjava/lang/Systemgetenv&(Ljava/lang/String;)Ljava/lang/String;java/lang/StringequalsIgnoreCase(Ljava/lang/String;)Zclear getStatements()Ljava/util/Vector;getParentClass"()Lcom/sun/javacard/jcasm/JCClass;getParentPackage$()Lcom/sun/javacard/jcasm/JCPackage;(I)V getParams()Isize elementAt(I)Ljava/lang/Object;processForExceptionHandlers$(Lcom/sun/javacard/jcasm/JCMethod;)VsetMethodLocals=([Lcom/sun/javacard/jcbytecodeprofiler/cryptoanalyzer/Type;)VisInit()Zemptypop()Ljava/lang/Object;clonegetInstruction&()Lcom/sun/javacard/jcasm/Instruction;"com/sun/javacard/jcasm/Instruction getOpcode getOperand#(I)Lcom/sun/javacard/jcasm/Operand;getValuevalueOf(I)Ljava/lang/Integer;(ILjava/lang/Object;)VLjava/lang/Object;<(Lcom/sun/javacard/jcbytecodeprofiler/cryptoanalyzer/Type;)VShorteltTypeNullInt arraycopy*(Ljava/lang/Object;ILjava/lang/Object;II)V Reference getOperandsresolve()Lcom/sun/javacard/jcasm/Info;getName()Ljava/lang/String;7com/sun/javacard/jcbytecodeprofiler/CryptoAlgorithmList getBCLookBack'(Ljava/lang/String;)Ljava/lang/Integer;!()Lcom/sun/javacard/jcasm/Member; com/sun/javacard/jcasm/JCPackagegetConstantPool'()Lcom/sun/javacard/jcasm/ConstantPool;#com/sun/javacard/jcasm/ConstantPoolgetConstantPoolEntry (I)Lcom/sun/javacard/jcasm/Info;findMethodWithTokenByteK(ILcom/sun/javacard/jcasm/Instruction;[Lcom/sun/javacard/jcasm/Statement;)VoffsetsdflgetExceptionHandlersiterator()Ljava/util/Iterator;java/util/IteratorhasNextnext catchType>Lcom/sun/javacard/jcbytecodeprofiler/cryptoanalyzer/TypeClass; catchOffsetInt2getMethodReturnType;()Lcom/sun/javacard/jcbytecodeprofiler/cryptoanalyzer/Type;Voidequals(Ljava/lang/Object;)Zcom/sun/javacard/jcasm/Info getDescriptor*()Lcom/sun/javacard/jcasm/FieldDescriptor;&com/sun/javacard/jcasm/FieldDescriptor isPrimitivegetDescriptorStringBooleanget&(Ljava/lang/Object;)Ljava/lang/Object;put8(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;lubt(Lcom/sun/javacard/jcbytecodeprofiler/cryptoanalyzer/Type;)Lcom/sun/javacard/jcbytecodeprofiler/cryptoanalyzer/Type;append-(Ljava/lang/String;)Ljava/lang/StringBuilder;(I)Ljava/lang/StringBuilder;toStringindexOf(I)I substring(II)Ljava/lang/String;replace(CC)Ljava/lang/String; lastIndexOfcontainsadd(Ljava/lang/String;)I(I)Ljava/lang/String; getAlgoName'(ILjava/lang/String;)Ljava/lang/String;7com/sun/javacard/jcbytecodeprofiler/CryptoAlgorithmInfoTYPE_FLEX_CIPHER_ALG((ILjava/lang/String;I)Ljava/lang/String; TYPE_FLEX_MEMTYPE_FLEX_KEY_LENGTH TYPE_NON_FLEXTYPE_FLEX_PAD_ALG ByteArray ShortArrayIntArray!      /*   M, , * + + N+ Y3Y+:++`:-6:6!-:  + S++ !"#$:%:  :    !%*4 @ J S agnx#!"$p q%*Sagn *(*+&2M+'())N+*:6,+,D-e|)R{@d 8gQ  T _ j  ^ & - 3 3 3 3 N N N N l l l l /DT , l l l l -Y,+./01:-+236>-Y,+./01: -Y,+./01: -+2 36-+2 36 +'+2d2-:+2d645566 -Y01: -Y 01: - 36- 36 +'+2d2-: +2d6 45566 -Y 01:- 36 Q+*,+./2:-+236 0+*2:-+236 +*2:-+236 +*2:-+236 +*2:-+236 +*,+./2:-+236 +*2:-+236 +*2:-+236 +*2:-+236 n+*2:-+236 W+*,+./2:+*,+./`2:-+236-36 +*2:+*2:-+236-36 +*2:+*2:-+236-36 +*2:+*2:-+236-36 +*2:+*2:-+236-36 tY7Y8Y9:SY;SYSYS:  -+2<6+'+2d2:77=:>?:-36 +'+2d2:+*,+./@:+2d6 +'+2d2:+*@:+2d6 +'+2d2:+*@:+2d6 +'+2d2:+*@:+2d6 l+'+2d2:+*@:+2d6 H+'+2d2-:+'+2;A6+*,+./@: +'+2d2-:+'+2;A6+*@: +'+2d2-:+'+2;A6+*@: +'+2d2-:+'+2;A6+*@: +'+2d2-:+'+2;A6+*@: S+'+2d2-: +'+2d2-: +'+2BA6+*,+./  C: +'+2d2-: +'+2d2-: +'+2BA6+*  C:+'+2d2-: +'+2d2-: +'+2BA6+*  C:+'+2d2-: +'+2d2-: +'+2BA6+*  C:E+'+2d2-: +'+2d2-: +'+2BA6+*  C:Y7Y8Y9:SY;SY8Y9SYSYS:  -+2<6+2d6+2d6-+2-+2d2S+2`6-+2-+2d2S-+2`-+2d2S+2`6l,+./6 ,+./6 +'+2 d-+2 d ` D+'+2 d-+2 d D+2 `6,+./6 ,+./6 +'+2 d-+2 d d D+'+2 d d-+2 d D+26+*,+./2-:4T+*,+./2-4566  ,+./`6 +*,+./-Y 01[S:+*,+./2:+261+*,+./2-:4d,+./x,+./6  +*,+./2-456`6 +*,+./-Y 01[S:+*,+./2:+26,+./6 +*,+./2-4566 +*,+./`2-4566  x`6 +*,+./-Y zE~01[S:+*,+./`-Y E~01[S:+26,+./x,+./6 +*,+./2-4566 +*,+./`2-4566  x`6 +*,+./-Y zE~01[S:+*,+./`-Y E~01[S:+261+'+2d2:6+'+2d2:6 +'+2d2:+'+2d2:66-+2,+./F36+'+2,+./FA6+'+2GA6-,+./F36+'+2,+./FA6+'GA6W-+2,+./HI6<6,+./H: !`6-+2,+./HI6-JNJ:,+KL:MN:OP:6++26-Q6  +&*R]-+26d2:-C-:4-45566STU+&*R  -+2,+./HI6V,+./WXX:YZ:,+./[:-+2I6-+2G36-+2;A6:,+./5 (0\:;:B:-7Y:36`-+2;A67Y8Y9::-365+2d6+'2:-;36+'+28Y9A6:,+./JWWfu8Y9:A7Y\::27Y;::#7YB::7Y8Y9::-36Q-+2,+./F366+'+2,+./FA6],+,2-+2<6,+,`3333333333333333_}}3333333333333333_+&`-+&,+./*^-+&,+./*^-_Y+&,+*`:  a:  6 6  .6- b-ccY+&,+*d:  e:  66 .6- f-+&`-,gh:  i: jk: +':   l3W m*^ ±NS'()*03457809<:H;K=[>c?s@ABCDFGHIJKMN O QR!S$U,V8W;YCZO[R]Z^f_ia{bcefgijkmnoqrsuv wx"y%{-|5}A~KNV^jtw%*47DZber~+.>NZ]m} 25EUesv   ( 6 9 j v y                ' * 7 D _ z       ! # $ & !' )( F) g* , . / 1 2 3 4 5 #6 H7 N8 Q: m; < = > ? @ A D E F H ,I /J 2L ?M LN OO RR US XZ p[ sb c l m n z { |  #;@GTdnx}">HZfivy$'<?"%:t%&'+,01214 5 9:<;F:L=Y>\E_HmMNOPQR 4H j L ? 7L D? s~  FD P@6L>+H!ZT ?  j J d  n  x & ! < && +!. N  ( vA  !  "#$ 0% &'3>6*2 d=*2+*2S& W XW[]"^(_+]1b43(3)3*1.+ ,-d*,S,B*`n3`fg hj )* .-Z,B *nA<dopr )* /0!,>d<,o:p *3<wx z{|~4!)!*!12 34B8Y9q*r))M8Y9N6q,2s,-S," (5:@4"BB,5#6 78a*t))N-,S- *9:   7;y*u)):,S`-S 49:<"   =>ZVWvwL+xM,y<,zN-{|B-}|;-~|\-|G6 "+/8<EIRV*"4?Z:I@ADBC DEKVWvTL+ : FGp>,2`>*HIJ KLv=>+2`= *MH NO 6$Y+,:$:WW66**2: *2:     :   - - -44/     s*)*6* S  s6Y662'2: '2:   :   - - -44   s')'6' S  s6w W&"-67:HR\as ! 1 @ P S]sy~snP RQ \5 =rQ  h5 _P HR)*SxTkU:NVWX=N<+6Y,O NL,O:(6/.:.:YN- -W6 >AGP a!p"$%'R/HGCYP:Zp[M  \]^N* /.M,>Y,`,: W*+,9-D.M04NN?_8`9abc~0-'!,,,24"6(8.: 0*0d0ef?*d2N6--+--:445566  * ?@ BCDE1G5I8J<L>??*?g9 6hiD *=*>*6 ::: Y: W:PQRT&U(X3Z>\J^Y_[abce\ *jkl3cm>XnJLopqiD *=*>*6 ::: Y: W:ijkm&n(q3s>uJxYy[{}~\ *rjs3ct>XuJLvpwim*=*>::Y: W2 %0:<WbkHmm*fj_s%Hu0=xWpy )YYSYSSYYSY?SYSSYYSY-Y01SYSSYYSY-Y01SYSSYYSY-Y01SYSSYYSY-Y01SYSSYYSY-Y01SYSSYYSY-Y01SYSSYYSY-Y01SYSSY YSY-Y01SY-Y01SYSSY YSY-Y01SY-Y01SYSSY YSY-Y01SY-Y01SYSSY YSY-Y01SY-Y01SYSSY YSY-Y01SY-Y01SYSSYYSY-Y01SY-Y01SYSSYYSY-Y01SY-Y01SYSSYYSY;SYSSYYSY;SYSSYYSYBSYnSYSSYYSYBSYnSYSSYYSYBSYnSYSSYSYSYSYSYSYSYSYSYSYSYSY SY!SY"SY#SY$SY%YSY;SYSY;SYSSY&YSY;SYSY;SYSSY'YSY;SYSYBSYnSYSSY(SY)SY*SY+SY,SY-SY.SY/SY0SY1SY2SY3SY4SY5SY6SY7SY8YSY;SY;SYSYSSY9YSY;SY;SYSYSSY:YSY;SYBSYnSYSYSSY;SY<SY=SY>SY?SY@SYAY;SY;SYSY;SYSSYBYBSYnSYBSYnSYSYBSYnSYSSYCY;SY;SYSY;SYSSYDYBSYnSYBSYnSYSYBSYnSYSSYEY;SY;SYSY;SYSSYFYBSYnSYBSYnSYSYBSYnSYSSYGY;SY;SYSY;SYSSYHYBSYnSYBSYnSYSYBSYnSYSSYIY;SY;SYSY;SYSSYJYBSYnSYBSYnSYSYBSYnSYSSYKY;SYSY;SYSSYLYBSYnSYSYBSYnSYSSYMY;SY;SYSY;SYSSYNYBSYnSYBSYnSYSYBSYnSYSSYOY;SY;SYSY;SYSSYPYBSYnSYBSYnSYSYBSYnSYSSYQY;SY;SYSY;SYSSYRYBSYnSYBSYnSYSYBSYnSYSSYSY;SY;SYSY;SYSSYTYBSYnSYBSYnSYSYBSYnSYSSYUY;SY;SYSY;SYSSYVYBSYnSYBSYnSYSYBSYnSYSSYWY;SY;SYSY;SYSSYXYBSYnSYBSYnSYSYBSYnSYSSYYSYZSY[Y;SYSY;SYSSY\Y;SYSYBSYnSYSSY]YBSYnSYSY;SYSSY^YBSYnSYSY;SYSSY_YBSYnSYBSYnSYSY;SYSSY`Y;SYSYSSYaY;SYSYSSYbY;SYSYSSYcY;SYSYSSYdY;SYSYSSYeY;SYSYSSYfY8Y9SYSYSSYgY8Y9SYSYSSYhY8Y9SY8Y9SYSYSSYiY8Y9SY8Y9SYSYSSYjY;SY;SYSYSSYkY;SY;SYSYSSYlY;SY;SYSYSSYmY;SY;SYSYSSYnY;SY;SYSYSSYoY;SY;SYSYSSYpYSYSSYqSYrSYsY;SYSYSSYtYBSYnSYSYSSYuY;SYSYSSYvYBSYnSYSYSSYwSYxSYySYzSY{SY|SY}SY~SYSYSYSYSYSYSYSYSYSYSYSYSYSYSYSYSYSYSYSYSYY8Y9SYSYSSYSYY8Y9SYSY;SYSSYSYSYY;SYSYSSYY;SYSYSSYY;SYSYSSYY;SYSYSSYY;SYSYSSYY;SYSYSSYY8Y9SYSYSSYY8Y9SYSYSSYY8Y9SY8Y9SYSYSSYY8Y9SY8Y9SYSYSSYY;SY;SYSYSSYY;SY;SYSYSSYY;SY;SYSYSSYY;SY;SYSYSSYY;SY;SYSYSSYY;SY;SYSYSSYYSYSSYSYSYSYSYSYSYSYSYSYSYSYSYSYSYSYSK*]Y *8 z{|PK Hs>8;>com/sun/javacard/jcbytecodeprofiler/cryptoanalyzer/State.class1) ! " # $ %&'pcIlocals:[Lcom/sun/javacard/jcbytecodeprofiler/cryptoanalyzer/Type;stackspy(I[Lcom/sun/javacard/jcbytecodeprofiler/cryptoanalyzer/Type;[Lcom/sun/javacard/jcbytecodeprofiler/cryptoanalyzer/Type;I)VCodeLineNumberTableLocalVariableTablethis:Lcom/sun/javacard/jcbytecodeprofiler/cryptoanalyzer/State;plstsequals(Ljava/lang/Object;)ZobjLjava/lang/Object;hashCode()I SourceFile State.java (  8com/sun/javacard/jcbytecodeprofiler/cryptoanalyzer/Statejava/lang/Object()V!    ***,*-*  !4    m#+ ++M*,+ , ./ ##/*8  PK Hs>0i<<=com/sun/javacard/jcbytecodeprofiler/cryptoanalyzer/Type.class1M 5 67 8 9 : ; < = >? @ A B C DE 5 FG 8 HIJbeforeNormalization9Lcom/sun/javacard/jcbytecodeprofiler/cryptoanalyzer/Type;ByteShortIntInt2BooleanVoid BooleanArray ByteArray ShortArrayIntArrayNull Reference()VCodeLineNumberTableLocalVariableTablethis isSubtype<(Lcom/sun/javacard/jcbytecodeprofiler/cryptoanalyzer/Type;)Ztylubt(Lcom/sun/javacard/jcbytecodeprofiler/cryptoanalyzer/Type;)Lcom/sun/javacard/jcbytecodeprofiler/cryptoanalyzer/Type; SourceFile Type.java '( ;com/sun/javacard/jcbytecodeprofiler/cryptoanalyzer/TypeBase 'K      `t8Bcom/sun/javacard/jcbytecodeprofiler/cryptoanalyzer/TypeArray.class12 # $% &' ( )* +, &-.eltType9Lcom/sun/javacard/jcbytecodeprofiler/cryptoanalyzer/Type;<(Lcom/sun/javacard/jcbytecodeprofiler/cryptoanalyzer/Type;)VCodeLineNumberTableLocalVariableTablethis>Lcom/sun/javacard/jcbytecodeprofiler/cryptoanalyzer/TypeArray;tyequals(Ljava/lang/Object;)ZLjava/lang/Object;lubt(Lcom/sun/javacard/jcbytecodeprofiler/cryptoanalyzer/Type;)Lcom/sun/javacard/jcbytecodeprofiler/cryptoanalyzer/Type;lubElthashCode()I normalize;()Lcom/sun/javacard/jcbytecodeprofiler/cryptoanalyzer/Type; SourceFileTypeArray.java / <Acom/sun/javacard/jcbytecodeprofiler/cryptoanalyzer/TypeBase.class1; 2 3 45 6 78valueLjava/lang/Object;kindIVOID ConstantValueBOOLEANBYTESHORTINTINT2(I)VCodeLineNumberTableLocalVariableTablethis=Lcom/sun/javacard/jcbytecodeprofiler/cryptoanalyzer/TypeBase;k(ILjava/lang/Object;)Vvequals(Ljava/lang/Object;)Zty isSubtype<(Lcom/sun/javacard/jcbytecodeprofiler/cryptoanalyzer/Type;)Z9Lcom/sun/javacard/jcbytecodeprofiler/cryptoanalyzer/Type;lubt(Lcom/sun/javacard/jcbytecodeprofiler/cryptoanalyzer/Type;)Lcom/sun/javacard/jcbytecodeprofiler/cryptoanalyzer/Type;hashCode()IwordSize normalize;()Lcom/sun/javacard/jcbytecodeprofiler/cryptoanalyzer/Type; SourceFile TypeBase.java 9  ;com/sun/javacard/jcbytecodeprofiler/cryptoanalyzer/TypeBase  :(7com/sun/javacard/jcbytecodeprofiler/cryptoanalyzer/Type()VbeforeNormalization!              F **'( )  !Y***,+, -.  " #$S+++*3% &'O++*;%()*U++**@AC%(+,/*J -,8*R ./v2*,YL+*+*[ ^)_.`0b) %(201PK Hs>LkEEBcom/sun/javacard/jcbytecodeprofiler/cryptoanalyzer/TypeClass.class1!  classrefI(I)VCodeLineNumberTableLocalVariableTablethis>Lcom/sun/javacard/jcbytecodeprofiler/cryptoanalyzer/TypeClass;crefequals(Ljava/lang/Object;)ZtyLjava/lang/Object; isSubtype<(Lcom/sun/javacard/jcbytecodeprofiler/cryptoanalyzer/Type;)Z9Lcom/sun/javacard/jcbytecodeprofiler/cryptoanalyzer/Type;lubt(Lcom/sun/javacard/jcbytecodeprofiler/cryptoanalyzer/Type;)Lcom/sun/javacard/jcbytecodeprofiler/cryptoanalyzer/Type;hashCode()I SourceFileTypeClass.java  ꔠAcom/sun/javacard/jcbytecodeprofiler/cryptoanalyzer/TypeNull.class1 ()VCodeLineNumberTableLocalVariableTablethis=Lcom/sun/javacard/jcbytecodeprofiler/cryptoanalyzer/TypeNull;equals(Ljava/lang/Object;)ZtyLjava/lang/Object; isSubtype<(Lcom/sun/javacard/jcbytecodeprofiler/cryptoanalyzer/Type;)Z9Lcom/sun/javacard/jcbytecodeprofiler/cryptoanalyzer/Type;lubt(Lcom/sun/javacard/jcbytecodeprofiler/cryptoanalyzer/Type;)Lcom/sun/javacard/jcbytecodeprofiler/cryptoanalyzer/Type;hashCode()I SourceFile TypeNull.java ;com/sun/javacard/jcbytecodeprofiler/cryptoanalyzer/TypeNull AMETA-INF/PK Gs>-ۦ+META-INF/MANIFEST.MFPK Hs>Acom/PK Hs>A%com/sun/PK Hs>AKcom/sun/javacard/PK Hs>$Azcom/sun/javacard/jcapiandbcprofiler/PK Hs>Acom/sun/javacard/jcasm/PK Hs>$Acom/sun/javacard/jcbytecodeprofiler/PK Hs>3A3com/sun/javacard/jcbytecodeprofiler/cryptoanalyzer/PK Hs>^1nQnQ>com/sun/javacard/jcapiandbcprofiler/ClassicCAPProcesssor.classPK Hs>#}}3NTcom/sun/javacard/jcapiandbcprofiler/Constants.classPK Hs> ((=Xcom/sun/javacard/jcapiandbcprofiler/CryptoAlgorithmInfo.classPK Hs>t?\com/sun/javacard/jcapiandbcprofiler/CryptoAlgorithmList$1.classPK Hs>` ?ocom/sun/javacard/jcapiandbcprofiler/CryptoAlgorithmList$2.classPK Hs>E**?scom/sun/javacard/jcapiandbcprofiler/CryptoAlgorithmList$3.classPK Hs>@Yл ?dwcom/sun/javacard/jcapiandbcprofiler/CryptoAlgorithmList$4.classPK Hs>**?|com/sun/javacard/jcapiandbcprofiler/CryptoAlgorithmList$5.classPK Hs>EM||?com/sun/javacard/jcapiandbcprofiler/CryptoAlgorithmList$6.classPK Hs>r,?܋com/sun/javacard/jcapiandbcprofiler/CryptoAlgorithmList$7.classPK Hs>)i|M M ? com/sun/javacard/jcapiandbcprofiler/CryptoAlgorithmList$8.classPK Hs>Z =com/sun/javacard/jcapiandbcprofiler/CryptoAlgorithmList.classPK Hs>'-,i,i<com/sun/javacard/jcapiandbcprofiler/CryptoCallAnalyzer.classPK Hs>!1com/sun/javacard/jcapiandbcprofiler/ListAPI.classPK Hs>Ho/8com/sun/javacard/jcapiandbcprofiler/ListAllCommand.classPK Hs>-->com/sun/javacard/jcapiandbcprofiler/ListByteCodesCommand.classPK Hs>OHWNN.a'com/sun/javacard/jcapiandbcprofiler/Main.classPK Hs>Ackk5,com/sun/javacard/jcapiandbcprofiler/OptionNames.classPK Hs>NeE@2com/sun/javacard/jcapiandbcprofiler/TrimmerHelperCommand$1.classPK Hs>пoo@)7com/sun/javacard/jcapiandbcprofiler/TrimmerHelperCommand$2.classPK Hs>hk66>;com/sun/javacard/jcapiandbcprofiler/TrimmerHelperCommand.classPK Hs>A`1 1 1Qcom/sun/javacard/jcapiandbcprofiler/UsedAPI.classPK Hs>46[com/sun/javacard/jcasm/ASCII_UCodeESC_CharStream.classPK Hs>%t ,ycom/sun/javacard/jcasm/Aid.classPK Hs>p0 -com/sun/javacard/jcasm/AppletDeclarator.classPK Hs>wҶ,pcom/sun/javacard/jcasm/ClassIdentifier.classPK Hs>dҧ)pcom/sun/javacard/jcasm/ClassRefInfo.classPK Hs>{u )^com/sun/javacard/jcasm/ConstantPool.classPK Hs>>66$Icom/sun/javacard/jcasm/EfNames.classPK Hs>`=+com/sun/javacard/jcasm/ExceptionTable.classPK Hs>=\k330com/sun/javacard/jcasm/ExceptionTableEntry.classPK Hs>hh"Hcom/sun/javacard/jcasm/Field.classPK Hs>/,com/sun/javacard/jcasm/FieldDescriptor.classPK Hs>! O,8com/sun/javacard/jcasm/FieldIdentifier.classPK Hs>(ݟ$Icom/sun/javacard/jcasm/Globals.classPK Hs> !*com/sun/javacard/jcasm/Info.classPK Hs>˦ 1fcom/sun/javacard/jcasm/InstanceFieldRefInfo.classPK Hs>~.com/sun/javacard/jcasm/InstrLookupSwitch.classPK Hs>a?-com/sun/javacard/jcasm/InstrTableSwitch.classPK Hs>K-= :com/sun/javacard/jcasm/Instruction$OperandEnumerator.classPK Hs>8s99($#com/sun/javacard/jcasm/Instruction.classPK Hs>/+h]com/sun/javacard/jcasm/InterfaceTable.classPK Hs>HH$1rcom/sun/javacard/jcasm/JCClass.classPK Hs>\Iw,w,%hcom/sun/javacard/jcasm/JCMethod.classPK Hs>Ӧ~1"com/sun/javacard/jcasm/JCPackage$Descriptor.classPK Hs>6((&Scom/sun/javacard/jcasm/JCPackage.classPK Hs>""+{com/sun/javacard/jcasm/JavaCharStream.classPK Hs>#7com/sun/javacard/jcasm/Member.classPK Hs>Ӻ`Ke0e00>com/sun/javacard/jcasm/MessagesBundle.propertiesPK Hs>H-ocom/sun/javacard/jcasm/MethodIdentifier.classPK Hs>a6>ucom/sun/javacard/jcasm/MethodTable$MethodTableEnumerator.classPK Hs>׎~l(zcom/sun/javacard/jcasm/MethodTable.classPK Hs>  com/sun/javacard/jcasm/Msg.classPK Hs>!TL$com/sun/javacard/jcasm/Operand.classPK Hs>x__.com/sun/javacard/jcasm/PackageIdentifier.classPK Hs>n +kcom/sun/javacard/jcasm/ParseException.classPK Hs>-MZG%]com/sun/javacard/jcasm/Parser$1.classPK Hs>@+wcom/sun/javacard/jcasm/Parser$JJCalls.classPK Hs> ZQcc4com/sun/javacard/jcasm/Parser$LookaheadSuccess.classPK Hs>cۙ#Rcom/sun/javacard/jcasm/Parser.classPK Hs>@ U,J,J ,com/sun/javacard/jcasm/Parser.jjPK Hs>qm88,com/sun/javacard/jcasm/ParserConstants.classPK Hs>҈ /Qcom/sun/javacard/jcasm/ParserTokenManager.classPK Hs>K!lcom/sun/javacard/jcasm/Readme.txtPK Hs>@-mcom/sun/javacard/jcasm/RemoteMethodInfo.classPK Hs>R*rcom/sun/javacard/jcasm/SignaturePool.classPK Hs>j͢% wcom/sun/javacard/jcasm/Sortable.classPK Hs>R~~&}com/sun/javacard/jcasm/Statement.classPK Hs>`2''3dcom/sun/javacard/jcasm/StaticFieldInitializer.classPK Hs>~ zz/ܔcom/sun/javacard/jcasm/StaticFieldRefInfo.classPK Hs>t  0com/sun/javacard/jcasm/StaticMethodRefInfo.classPK Hs>nWF+com/sun/javacard/jcasm/SuperInterface.classPK Hs>Ľ)/Acom/sun/javacard/jcasm/SuperMethodRefInfo.classPK Hs>Zh!!(com/sun/javacard/jcasm/SymbolTable.classPK Hs>(g"com/sun/javacard/jcasm/Token.classPK Hs>!v *com/sun/javacard/jcasm/TokenMgrError.classPK Hs>e4  1com/sun/javacard/jcasm/VirtualMethodRefInfo.classPK Hs>fU8((=kcom/sun/javacard/jcbytecodeprofiler/CryptoAlgorithmInfo.classPK Hs>0?com/sun/javacard/jcbytecodeprofiler/CryptoAlgorithmList$1.classPK Hs>QZ$?com/sun/javacard/jcbytecodeprofiler/CryptoAlgorithmList$2.classPK Hs>iT**?,com/sun/javacard/jcbytecodeprofiler/CryptoAlgorithmList$3.classPK Hs>]w ?com/sun/javacard/jcbytecodeprofiler/CryptoAlgorithmList$4.classPK Hs>7_,**?com/sun/javacard/jcbytecodeprofiler/CryptoAlgorithmList$5.classPK Hs>||?Rcom/sun/javacard/jcbytecodeprofiler/CryptoAlgorithmList$6.classPK Hs>/&?+ com/sun/javacard/jcbytecodeprofiler/CryptoAlgorithmList$7.classPK Hs>M M ?[com/sun/javacard/jcbytecodeprofiler/CryptoAlgorithmList$8.classPK Hs>'EE=com/sun/javacard/jcbytecodeprofiler/CryptoAlgorithmList.classPK Hs>zCC:-com/sun/javacard/jcbytecodeprofiler/InputPackageInfo.classPK Hs>{#33B@=com/sun/javacard/jcbytecodeprofiler/JCAllCodeNMethodProfiler.classPK Hs>b44<Wcom/sun/javacard/jcbytecodeprofiler/JCByteCodeProfiler.classPK Hs>0_|  .com/sun/javacard/jcbytecodeprofiler/Main.classPK Hs>[+<<49com/sun/javacard/jcbytecodeprofiler/MaskLinker.classPK Hs>!1Vcom/sun/javacard/jcbytecodeprofiler/RomMask.classPK Hs>a_ffK(com/sun/javacard/jcbytecodeprofiler/cryptoanalyzer/CryptoCallAnalyzer.classPK Hs>8;>-S com/sun/javacard/jcbytecodeprofiler/cryptoanalyzer/State.classPK Hs>0i<<=fW com/sun/javacard/jcbytecodeprofiler/cryptoanalyzer/Type.classPK Hs>`t8B] com/sun/javacard/jcbytecodeprofiler/cryptoanalyzer/TypeArray.classPK Hs><Ad com/sun/javacard/jcbytecodeprofiler/cryptoanalyzer/TypeBase.classPK Hs>LkEEBk com/sun/javacard/jcbytecodeprofiler/cryptoanalyzer/TypeClass.classPK Hs>ꔠA8p com/sun/javacard/jcbytecodeprofiler/cryptoanalyzer/TypeNull.classPKnn|(Du