final class org.jcp.xml.dsig.internal.dom.DOMKeyValue$EC extends org.jcp.xml.dsig.internal.dom.DOMKeyValue<java.security.interfaces.ECPublicKey>
  minor version: 0
  major version: 59
  flags: flags: (0x0030) ACC_FINAL, ACC_SUPER
  this_class: org.jcp.xml.dsig.internal.dom.DOMKeyValue$EC
  super_class: org.jcp.xml.dsig.internal.dom.DOMKeyValue
{
  private byte[] ecPublicKey;
    descriptor: [B
    flags: (0x0002) ACC_PRIVATE

  private java.security.KeyFactory eckf;
    descriptor: Ljava/security/KeyFactory;
    flags: (0x0002) ACC_PRIVATE

  private java.security.spec.ECParameterSpec ecParams;
    descriptor: Ljava/security/spec/ECParameterSpec;
    flags: (0x0002) ACC_PRIVATE

  private static final org.jcp.xml.dsig.internal.dom.DOMKeyValue$EC$Curve SECP256R1;
    descriptor: Lorg/jcp/xml/dsig/internal/dom/DOMKeyValue$EC$Curve;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final org.jcp.xml.dsig.internal.dom.DOMKeyValue$EC$Curve SECP384R1;
    descriptor: Lorg/jcp/xml/dsig/internal/dom/DOMKeyValue$EC$Curve;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final org.jcp.xml.dsig.internal.dom.DOMKeyValue$EC$Curve SECP521R1;
    descriptor: Lorg/jcp/xml/dsig/internal/dom/DOMKeyValue$EC$Curve;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=9, locals=0, args_size=0
         0: .line 348
            ldc "secp256r1 [NIST P-256, X9.62 prime256v1]"
         1: .line 349
            ldc "1.2.840.10045.3.1.7"
         2: .line 350
            ldc "FFFFFFFF00000001000000000000000000000000FFFFFFFFFFFFFFFFFFFFFFFF"
         3: .line 351
            ldc "FFFFFFFF00000001000000000000000000000000FFFFFFFFFFFFFFFFFFFFFFFC"
         4: .line 352
            ldc "5AC635D8AA3A93E7B3EBBD55769886BC651D06B0CC53B0F63BCE3C3E27D2604B"
         5: .line 353
            ldc "6B17D1F2E12C4247F8BCE6E563A440F277037D812DEB33A0F4A13945D898C296"
         6: .line 354
            ldc "4FE342E2FE1A7F9B8EE7EB4A7C0F9E162BCE33576B315ECECBB6406837BF51F5"
         7: .line 355
            ldc "FFFFFFFF00000000FFFFFFFFFFFFFFFFBCE6FAADA7179E84F3B9CAC2FC632551"
         8: .line 356
            iconst_1
         9: .line 347
            invokestatic org.jcp.xml.dsig.internal.dom.DOMKeyValue$EC.initializeCurve:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;I)Lorg/jcp/xml/dsig/internal/dom/DOMKeyValue$EC$Curve;
            putstatic org.jcp.xml.dsig.internal.dom.DOMKeyValue$EC.SECP256R1:Lorg/jcp/xml/dsig/internal/dom/DOMKeyValue$EC$Curve;
        10: .line 361
            ldc "secp384r1 [NIST P-384]"
        11: .line 362
            ldc "1.3.132.0.34"
        12: .line 363
            ldc "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFFFFFFFF0000000000000000FFFFFFFF"
        13: .line 364
            ldc "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFFFFFFFF0000000000000000FFFFFFFC"
        14: .line 365
            ldc "B3312FA7E23EE7E4988E056BE3F82D19181D9C6EFE8141120314088F5013875AC656398D8A2ED19D2A85C8EDD3EC2AEF"
        15: .line 366
            ldc "AA87CA22BE8B05378EB1C71EF320AD746E1D3B628BA79B9859F741E082542A385502F25DBF55296C3A545E3872760AB7"
        16: .line 367
            ldc "3617DE4A96262C6F5D9E98BF9292DC29F8F41DBD289A147CE9DA3113B5F0B8C00A60B1CE1D7E819D7A431D7C90EA0E5F"
        17: .line 368
            ldc "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC7634D81F4372DDF581A0DB248B0A77AECEC196ACCC52973"
        18: .line 369
            iconst_1
        19: .line 360
            invokestatic org.jcp.xml.dsig.internal.dom.DOMKeyValue$EC.initializeCurve:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;I)Lorg/jcp/xml/dsig/internal/dom/DOMKeyValue$EC$Curve;
            putstatic org.jcp.xml.dsig.internal.dom.DOMKeyValue$EC.SECP384R1:Lorg/jcp/xml/dsig/internal/dom/DOMKeyValue$EC$Curve;
        20: .line 374
            ldc "secp521r1 [NIST P-521]"
        21: .line 375
            ldc "1.3.132.0.35"
        22: .line 376
            ldc "01FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"
        23: .line 377
            ldc "01FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC"
        24: .line 378
            ldc "0051953EB9618E1C9A1F929A21A0B68540EEA2DA725B99B315F3B8B489918EF109E156193951EC7E937B1652C0BD3BB1BF073573DF883D2C34F1EF451FD46B503F00"
        25: .line 379
            ldc "00C6858E06B70404E9CD9E3ECB662395B4429C648139053FB521F828AF606B4D3DBAA14B5E77EFE75928FE1DC127A2FFA8DE3348B3C1856A429BF97E7E31C2E5BD66"
        26: .line 380
            ldc "011839296A789A3BC0045C8A5FB42C7D1BD998F54449579B446817AFBD17273E662C97EE72995EF42640C550B9013FAD0761353C7086A272C24088BE94769FD16650"
        27: .line 381
            ldc "01FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA51868783BF2F966B7FCC0148F709A5D03BB5C9B8899C47AEBB6FB71E91386409"
        28: .line 382
            iconst_1
        29: .line 373
            invokestatic org.jcp.xml.dsig.internal.dom.DOMKeyValue$EC.initializeCurve:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;I)Lorg/jcp/xml/dsig/internal/dom/DOMKeyValue$EC$Curve;
            putstatic org.jcp.xml.dsig.internal.dom.DOMKeyValue$EC.SECP521R1:Lorg/jcp/xml/dsig/internal/dom/DOMKeyValue$EC$Curve;
        30: .line 383
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  private static org.jcp.xml.dsig.internal.dom.DOMKeyValue$EC$Curve initializeCurve(java.lang.String, java.lang.String, java.lang.String, java.lang.String, java.lang.String, java.lang.String, java.lang.String, java.lang.String, int);
    descriptor: (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;I)Lorg/jcp/xml/dsig/internal/dom/DOMKeyValue$EC$Curve;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=8, locals=13, args_size=9
        start local 0 // java.lang.String name
        start local 1 // java.lang.String oid
        start local 2 // java.lang.String sfield
        start local 3 // java.lang.String a
        start local 4 // java.lang.String b
        start local 5 // java.lang.String x
        start local 6 // java.lang.String y
        start local 7 // java.lang.String n
        start local 8 // int h
         0: .line 388
            aload 2 /* sfield */
            invokestatic org.jcp.xml.dsig.internal.dom.DOMKeyValue.bigInt:(Ljava/lang/String;)Ljava/math/BigInteger;
            astore 9 /* p */
        start local 9 // java.math.BigInteger p
         1: .line 389
            new java.security.spec.ECFieldFp
            dup
            aload 9 /* p */
            invokespecial java.security.spec.ECFieldFp.<init>:(Ljava/math/BigInteger;)V
            astore 10 /* field */
        start local 10 // java.security.spec.ECField field
         2: .line 390
            new java.security.spec.EllipticCurve
            dup
            aload 10 /* field */
            aload 3 /* a */
            invokestatic org.jcp.xml.dsig.internal.dom.DOMKeyValue.bigInt:(Ljava/lang/String;)Ljava/math/BigInteger;
         3: .line 391
            aload 4 /* b */
            invokestatic org.jcp.xml.dsig.internal.dom.DOMKeyValue.bigInt:(Ljava/lang/String;)Ljava/math/BigInteger;
         4: .line 390
            invokespecial java.security.spec.EllipticCurve.<init>:(Ljava/security/spec/ECField;Ljava/math/BigInteger;Ljava/math/BigInteger;)V
            astore 11 /* curve */
        start local 11 // java.security.spec.EllipticCurve curve
         5: .line 392
            new java.security.spec.ECPoint
            dup
            aload 5 /* x */
            invokestatic org.jcp.xml.dsig.internal.dom.DOMKeyValue.bigInt:(Ljava/lang/String;)Ljava/math/BigInteger;
            aload 6 /* y */
            invokestatic org.jcp.xml.dsig.internal.dom.DOMKeyValue.bigInt:(Ljava/lang/String;)Ljava/math/BigInteger;
            invokespecial java.security.spec.ECPoint.<init>:(Ljava/math/BigInteger;Ljava/math/BigInteger;)V
            astore 12 /* g */
        start local 12 // java.security.spec.ECPoint g
         6: .line 393
            new org.jcp.xml.dsig.internal.dom.DOMKeyValue$EC$Curve
            dup
            aload 0 /* name */
            aload 1 /* oid */
            aload 11 /* curve */
            aload 12 /* g */
            aload 7 /* n */
            invokestatic org.jcp.xml.dsig.internal.dom.DOMKeyValue.bigInt:(Ljava/lang/String;)Ljava/math/BigInteger;
            iload 8 /* h */
            invokespecial org.jcp.xml.dsig.internal.dom.DOMKeyValue$EC$Curve.<init>:(Ljava/lang/String;Ljava/lang/String;Ljava/security/spec/EllipticCurve;Ljava/security/spec/ECPoint;Ljava/math/BigInteger;I)V
            areturn
        end local 12 // java.security.spec.ECPoint g
        end local 11 // java.security.spec.EllipticCurve curve
        end local 10 // java.security.spec.ECField field
        end local 9 // java.math.BigInteger p
        end local 8 // int h
        end local 7 // java.lang.String n
        end local 6 // java.lang.String y
        end local 5 // java.lang.String x
        end local 4 // java.lang.String b
        end local 3 // java.lang.String a
        end local 2 // java.lang.String sfield
        end local 1 // java.lang.String oid
        end local 0 // java.lang.String name
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    7     0    name  Ljava/lang/String;
            0    7     1     oid  Ljava/lang/String;
            0    7     2  sfield  Ljava/lang/String;
            0    7     3       a  Ljava/lang/String;
            0    7     4       b  Ljava/lang/String;
            0    7     5       x  Ljava/lang/String;
            0    7     6       y  Ljava/lang/String;
            0    7     7       n  Ljava/lang/String;
            0    7     8       h  I
            1    7     9       p  Ljava/math/BigInteger;
            2    7    10   field  Ljava/security/spec/ECField;
            5    7    11   curve  Ljava/security/spec/EllipticCurve;
            6    7    12       g  Ljava/security/spec/ECPoint;
    MethodParameters:
        Name  Flags
      name    
      oid     
      sfield  
      a       
      b       
      x       
      y       
      n       
      h       

  void <init>(java.security.interfaces.ECPublicKey);
    descriptor: (Ljava/security/interfaces/ECPublicKey;)V
    flags: (0x0000) 
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // org.jcp.xml.dsig.internal.dom.DOMKeyValue$EC this
        start local 1 // java.security.interfaces.ECPublicKey ecKey
         0: .line 397
            aload 0 /* this */
            aload 1 /* ecKey */
            invokespecial org.jcp.xml.dsig.internal.dom.DOMKeyValue.<init>:(Ljava/security/PublicKey;)V
         1: .line 398
            aload 1 /* ecKey */
            invokeinterface java.security.interfaces.ECPublicKey.getW:()Ljava/security/spec/ECPoint;
            astore 2 /* ecPoint */
        start local 2 // java.security.spec.ECPoint ecPoint
         2: .line 399
            aload 0 /* this */
            aload 1 /* ecKey */
            invokeinterface java.security.interfaces.ECPublicKey.getParams:()Ljava/security/spec/ECParameterSpec;
            putfield org.jcp.xml.dsig.internal.dom.DOMKeyValue$EC.ecParams:Ljava/security/spec/ECParameterSpec;
         3: .line 400
            aload 0 /* this */
            aload 2 /* ecPoint */
            aload 0 /* this */
            getfield org.jcp.xml.dsig.internal.dom.DOMKeyValue$EC.ecParams:Ljava/security/spec/ECParameterSpec;
            invokevirtual java.security.spec.ECParameterSpec.getCurve:()Ljava/security/spec/EllipticCurve;
            invokestatic org.jcp.xml.dsig.internal.dom.DOMKeyValue$EC.encodePoint:(Ljava/security/spec/ECPoint;Ljava/security/spec/EllipticCurve;)[B
            putfield org.jcp.xml.dsig.internal.dom.DOMKeyValue$EC.ecPublicKey:[B
         4: .line 401
            return
        end local 2 // java.security.spec.ECPoint ecPoint
        end local 1 // java.security.interfaces.ECPublicKey ecKey
        end local 0 // org.jcp.xml.dsig.internal.dom.DOMKeyValue$EC this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    5     0     this  Lorg/jcp/xml/dsig/internal/dom/DOMKeyValue$EC;
            0    5     1    ecKey  Ljava/security/interfaces/ECPublicKey;
            2    5     2  ecPoint  Ljava/security/spec/ECPoint;
    Exceptions:
      throws java.security.KeyException
    MethodParameters:
       Name  Flags
      ecKey  

  void <init>(Element);
    descriptor: (LElement;)V
    flags: (0x0000) 
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.jcp.xml.dsig.internal.dom.DOMKeyValue$EC this
         0: .line 59
            new java.lang.Error
            dup
            ldc "Unresolved compilation problems: \n\tThe import org.w3c cannot be resolved\n\tThe import org.w3c cannot be resolved\n\tThe import org.w3c cannot be resolved\n\tElement cannot be resolved to a type\n\tElement cannot be resolved to a type\n\tElement cannot be resolved to a type\n\tNode cannot be resolved to a type\n\tDocument cannot be resolved to a type\n\tElement cannot be resolved to a type\n\tNode cannot be resolved to a type\n\tDocument cannot be resolved to a type\n\tElement cannot be resolved to a type\n\tElement cannot be resolved to a type\n\tThe type DOMKeyValue.RSA must implement the inherited abstract method DOMKeyValue<RSAPublicKey>.marshalPublicKey(Node, Document, String, DOMCryptoContext)\n\tThe type DOMKeyValue.RSA must implement the inherited abstract method DOMStructure.marshal(Node, String, DOMCryptoContext)\n\tThe type DOMKeyValue.RSA must implement the inherited abstract method DOMKeyValue<RSAPublicKey>.unmarshalKeyValue(Element)\n\tElement cannot be resolved to a type\n\tNode cannot be resolved to a type\n\tDocument cannot be resolved to a type\n\tElement cannot be resolved to a type\n\tElement cannot be resolved to a type\n\tElement cannot be resolved to a type\n\tElement cannot be resolved to a type\n\tElement cannot be resolved to a type\n\tElement cannot be resolved to a type\n\tThe type DOMKeyValue.DSA must implement the inherited abstract method DOMKeyValue<DSAPublicKey>.marshalPublicKey(Node, Document, String, DOMCryptoContext)\n\tThe type DOMKeyValue.DSA must implement the inherited abstract method DOMStructure.marshal(Node, String, DOMCryptoContext)\n\tThe type DOMKeyValue.DSA must implement the inherited abstract method DOMKeyValue<DSAPublicKey>.unmarshalKeyValue(Element)\n\tElement cannot be resolved to a type\n\tNode cannot be resolved to a type\n\tDocument cannot be resolved to a type\n\tElement cannot be resolved to a type\n\tElement cannot be resolved to a type\n\tElement cannot be resolved to a type\n\tElement cannot be resolved to a type\n\tElement cannot be resolved to a type\n\tElement cannot be resolved to a type\n\tElement cannot be resolved to a type\n\tThe type DOMKeyValue.EC must implement the inherited abstract method DOMKeyValue<ECPublicKey>.marshalPublicKey(Node, Document, String, DOMCryptoContext)\n\tThe type DOMKeyValue.EC must implement the inherited abstract method DOMStructure.marshal(Node, String, DOMCryptoContext)\n\tThe type DOMKeyValue.EC must implement the inherited abstract method DOMKeyValue<ECPublicKey>.unmarshalKeyValue(Element)\n\tElement cannot be resolved to a type\n\tNode cannot be resolved to a type\n\tDocument cannot be resolved to a type\n\tElement cannot be resolved to a type\n\tElement cannot be resolved to a type\n\tElement cannot be resolved to a type\n\tElement cannot be resolved to a type\n\tElement cannot be resolved to a type\n\tThe type DOMKeyValue.Unknown must implement the inherited abstract method DOMKeyValue<PublicKey>.marshalPublicKey(Node, Document, String, DOMCryptoContext)\n\tThe type DOMKeyValue.Unknown must implement the inherited abstract method DOMStructure.marshal(Node, String, DOMCryptoContext)\n\tThe type DOMKeyValue.Unknown must implement the inherited abstract method DOMKeyValue<PublicKey>.unmarshalKeyValue(Element)\n\tElement cannot be resolved to a type\n\tElement cannot be resolved to a type\n\tNode cannot be resolved to a type\n\tDocument cannot be resolved to a type\n\tThe method getNode() from the type DOMStructure refers to the missing type Node\n"
            invokespecial java.lang.Error.<init>:(Ljava/lang/String;)V
            athrow
        end local 0 // org.jcp.xml.dsig.internal.dom.DOMKeyValue$EC this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/jcp/xml/dsig/internal/dom/DOMKeyValue$EC;
    Exceptions:
      throws javax.xml.crypto.MarshalException
    MethodParameters:
        Name  Flags
      dmElem  

  private static java.security.spec.ECPoint decodePoint(byte[], java.security.spec.EllipticCurve);
    descriptor: ([BLjava/security/spec/EllipticCurve;)Ljava/security/spec/ECPoint;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=7, locals=5, args_size=2
        start local 0 // byte[] data
        start local 1 // java.security.spec.EllipticCurve curve
         0: .line 409
            aload 0 /* data */
            arraylength
            ifeq 1
            aload 0 /* data */
            iconst_0
            baload
            iconst_4
            if_icmpeq 2
         1: .line 410
      StackMap locals:
      StackMap stack:
            new java.io.IOException
            dup
            ldc "Only uncompressed point format supported"
            invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 415
      StackMap locals:
      StackMap stack:
            aload 0 /* data */
            arraylength
            iconst_1
            isub
            iconst_2
            idiv
            istore 2 /* n */
        start local 2 // int n
         3: .line 416
            iload 2 /* n */
            aload 1 /* curve */
            invokevirtual java.security.spec.EllipticCurve.getField:()Ljava/security/spec/ECField;
            invokeinterface java.security.spec.ECField.getFieldSize:()I
            bipush 7
            iadd
            iconst_3
            ishr
            if_icmpeq 5
         4: .line 417
            new java.io.IOException
            dup
            ldc "Point does not match field size"
            invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
            athrow
         5: .line 420
      StackMap locals: int
      StackMap stack:
            aload 0 /* data */
            iconst_1
            iconst_1
            iload 2 /* n */
            iadd
            invokestatic java.util.Arrays.copyOfRange:([BII)[B
            astore 3 /* xb */
        start local 3 // byte[] xb
         6: .line 421
            aload 0 /* data */
            iload 2 /* n */
            iconst_1
            iadd
            iload 2 /* n */
            iconst_1
            iadd
            iload 2 /* n */
            iadd
            invokestatic java.util.Arrays.copyOfRange:([BII)[B
            astore 4 /* yb */
        start local 4 // byte[] yb
         7: .line 423
            new java.security.spec.ECPoint
            dup
            new java.math.BigInteger
            dup
            iconst_1
            aload 3 /* xb */
            invokespecial java.math.BigInteger.<init>:(I[B)V
            new java.math.BigInteger
            dup
            iconst_1
            aload 4 /* yb */
            invokespecial java.math.BigInteger.<init>:(I[B)V
            invokespecial java.security.spec.ECPoint.<init>:(Ljava/math/BigInteger;Ljava/math/BigInteger;)V
            areturn
        end local 4 // byte[] yb
        end local 3 // byte[] xb
        end local 2 // int n
        end local 1 // java.security.spec.EllipticCurve curve
        end local 0 // byte[] data
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    8     0   data  [B
            0    8     1  curve  Ljava/security/spec/EllipticCurve;
            3    8     2      n  I
            6    8     3     xb  [B
            7    8     4     yb  [B
    Exceptions:
      throws java.io.IOException
    MethodParameters:
       Name  Flags
      data   
      curve  

  private static byte[] encodePoint(java.security.spec.ECPoint, java.security.spec.EllipticCurve);
    descriptor: (Ljava/security/spec/ECPoint;Ljava/security/spec/EllipticCurve;)[B
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=5, locals=6, args_size=2
        start local 0 // java.security.spec.ECPoint point
        start local 1 // java.security.spec.EllipticCurve curve
         0: .line 428
            aload 1 /* curve */
            invokevirtual java.security.spec.EllipticCurve.getField:()Ljava/security/spec/ECField;
            invokeinterface java.security.spec.ECField.getFieldSize:()I
            bipush 7
            iadd
            iconst_3
            ishr
            istore 2 /* n */
        start local 2 // int n
         1: .line 429
            aload 0 /* point */
            invokevirtual java.security.spec.ECPoint.getAffineX:()Ljava/math/BigInteger;
            invokevirtual java.math.BigInteger.toByteArray:()[B
            invokestatic org.jcp.xml.dsig.internal.dom.DOMKeyValue$EC.trimZeroes:([B)[B
            astore 3 /* xb */
        start local 3 // byte[] xb
         2: .line 430
            aload 0 /* point */
            invokevirtual java.security.spec.ECPoint.getAffineY:()Ljava/math/BigInteger;
            invokevirtual java.math.BigInteger.toByteArray:()[B
            invokestatic org.jcp.xml.dsig.internal.dom.DOMKeyValue$EC.trimZeroes:([B)[B
            astore 4 /* yb */
        start local 4 // byte[] yb
         3: .line 431
            aload 3 /* xb */
            arraylength
            iload 2 /* n */
            if_icmpgt 4
            aload 4 /* yb */
            arraylength
            iload 2 /* n */
            if_icmple 5
         4: .line 432
      StackMap locals: int byte[] byte[]
      StackMap stack:
            new java.lang.RuntimeException
            dup
            ldc "Point coordinates do not match field size"
            invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/String;)V
            athrow
         5: .line 435
      StackMap locals:
      StackMap stack:
            iconst_1
            iload 2 /* n */
            iconst_1
            ishl
            iadd
            newarray 8
            astore 5 /* b */
        start local 5 // byte[] b
         6: .line 436
            aload 5 /* b */
            iconst_0
            iconst_4
            bastore
         7: .line 437
            aload 3 /* xb */
            iconst_0
            aload 5 /* b */
            iload 2 /* n */
            aload 3 /* xb */
            arraylength
            isub
            iconst_1
            iadd
            aload 3 /* xb */
            arraylength
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
         8: .line 438
            aload 4 /* yb */
            iconst_0
            aload 5 /* b */
            aload 5 /* b */
            arraylength
            aload 4 /* yb */
            arraylength
            isub
            aload 4 /* yb */
            arraylength
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
         9: .line 439
            aload 5 /* b */
            areturn
        end local 5 // byte[] b
        end local 4 // byte[] yb
        end local 3 // byte[] xb
        end local 2 // int n
        end local 1 // java.security.spec.EllipticCurve curve
        end local 0 // java.security.spec.ECPoint point
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   10     0  point  Ljava/security/spec/ECPoint;
            0   10     1  curve  Ljava/security/spec/EllipticCurve;
            1   10     2      n  I
            2   10     3     xb  [B
            3   10     4     yb  [B
            6   10     5      b  [B
    MethodParameters:
       Name  Flags
      point  
      curve  

  private static byte[] trimZeroes(byte[]);
    descriptor: ([B)[B
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=2, args_size=1
        start local 0 // byte[] b
         0: .line 443
            iconst_0
            istore 1 /* i */
        start local 1 // int i
         1: .line 444
            goto 3
         2: .line 445
      StackMap locals: int
      StackMap stack:
            iinc 1 /* i */ 1
         3: .line 444
      StackMap locals:
      StackMap stack:
            iload 1 /* i */
            aload 0 /* b */
            arraylength
            iconst_1
            isub
            if_icmpge 4
            aload 0 /* b */
            iload 1 /* i */
            baload
            ifeq 2
         4: .line 447
      StackMap locals:
      StackMap stack:
            iload 1 /* i */
            ifne 6
         5: .line 448
            aload 0 /* b */
            areturn
         6: .line 450
      StackMap locals:
      StackMap stack:
            aload 0 /* b */
            iload 1 /* i */
            aload 0 /* b */
            arraylength
            invokestatic java.util.Arrays.copyOfRange:([BII)[B
            areturn
        end local 1 // int i
        end local 0 // byte[] b
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     0     b  [B
            1    7     1     i  I
    MethodParameters:
      Name  Flags
      b     

  private static java.lang.String getCurveOid(java.security.spec.ECParameterSpec);
    descriptor: (Ljava/security/spec/ECParameterSpec;)Ljava/lang/String;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // java.security.spec.ECParameterSpec params
         0: .line 458
            aload 0 /* params */
            getstatic org.jcp.xml.dsig.internal.dom.DOMKeyValue$EC.SECP256R1:Lorg/jcp/xml/dsig/internal/dom/DOMKeyValue$EC$Curve;
            invokestatic org.jcp.xml.dsig.internal.dom.DOMKeyValue$EC.matchCurve:(Ljava/security/spec/ECParameterSpec;Lorg/jcp/xml/dsig/internal/dom/DOMKeyValue$EC$Curve;)Z
            ifeq 3
         1: .line 459
            getstatic org.jcp.xml.dsig.internal.dom.DOMKeyValue$EC.SECP256R1:Lorg/jcp/xml/dsig/internal/dom/DOMKeyValue$EC$Curve;
            astore 1 /* match */
        start local 1 // org.jcp.xml.dsig.internal.dom.DOMKeyValue$EC$Curve match
         2: .line 460
            goto 10
        end local 1 // org.jcp.xml.dsig.internal.dom.DOMKeyValue$EC$Curve match
      StackMap locals:
      StackMap stack:
         3: aload 0 /* params */
            getstatic org.jcp.xml.dsig.internal.dom.DOMKeyValue$EC.SECP384R1:Lorg/jcp/xml/dsig/internal/dom/DOMKeyValue$EC$Curve;
            invokestatic org.jcp.xml.dsig.internal.dom.DOMKeyValue$EC.matchCurve:(Ljava/security/spec/ECParameterSpec;Lorg/jcp/xml/dsig/internal/dom/DOMKeyValue$EC$Curve;)Z
            ifeq 6
         4: .line 461
            getstatic org.jcp.xml.dsig.internal.dom.DOMKeyValue$EC.SECP384R1:Lorg/jcp/xml/dsig/internal/dom/DOMKeyValue$EC$Curve;
            astore 1 /* match */
        start local 1 // org.jcp.xml.dsig.internal.dom.DOMKeyValue$EC$Curve match
         5: .line 462
            goto 10
        end local 1 // org.jcp.xml.dsig.internal.dom.DOMKeyValue$EC$Curve match
      StackMap locals:
      StackMap stack:
         6: aload 0 /* params */
            getstatic org.jcp.xml.dsig.internal.dom.DOMKeyValue$EC.SECP521R1:Lorg/jcp/xml/dsig/internal/dom/DOMKeyValue$EC$Curve;
            invokestatic org.jcp.xml.dsig.internal.dom.DOMKeyValue$EC.matchCurve:(Ljava/security/spec/ECParameterSpec;Lorg/jcp/xml/dsig/internal/dom/DOMKeyValue$EC$Curve;)Z
            ifeq 9
         7: .line 463
            getstatic org.jcp.xml.dsig.internal.dom.DOMKeyValue$EC.SECP521R1:Lorg/jcp/xml/dsig/internal/dom/DOMKeyValue$EC$Curve;
            astore 1 /* match */
        start local 1 // org.jcp.xml.dsig.internal.dom.DOMKeyValue$EC$Curve match
         8: .line 464
            goto 10
        end local 1 // org.jcp.xml.dsig.internal.dom.DOMKeyValue$EC$Curve match
         9: .line 465
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
        start local 1 // org.jcp.xml.dsig.internal.dom.DOMKeyValue$EC$Curve match
        10: .line 467
      StackMap locals: org.jcp.xml.dsig.internal.dom.DOMKeyValue$EC$Curve
      StackMap stack:
            aload 1 /* match */
            invokevirtual org.jcp.xml.dsig.internal.dom.DOMKeyValue$EC$Curve.getObjectId:()Ljava/lang/String;
            areturn
        end local 1 // org.jcp.xml.dsig.internal.dom.DOMKeyValue$EC$Curve match
        end local 0 // java.security.spec.ECParameterSpec params
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   11     0  params  Ljava/security/spec/ECParameterSpec;
            2    3     1   match  Lorg/jcp/xml/dsig/internal/dom/DOMKeyValue$EC$Curve;
            5    6     1   match  Lorg/jcp/xml/dsig/internal/dom/DOMKeyValue$EC$Curve;
            8    9     1   match  Lorg/jcp/xml/dsig/internal/dom/DOMKeyValue$EC$Curve;
           10   11     1   match  Lorg/jcp/xml/dsig/internal/dom/DOMKeyValue$EC$Curve;
    MethodParameters:
        Name  Flags
      params  

  private static boolean matchCurve(java.security.spec.ECParameterSpec, org.jcp.xml.dsig.internal.dom.DOMKeyValue$EC$Curve);
    descriptor: (Ljava/security/spec/ECParameterSpec;Lorg/jcp/xml/dsig/internal/dom/DOMKeyValue$EC$Curve;)Z
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // java.security.spec.ECParameterSpec params
        start local 1 // org.jcp.xml.dsig.internal.dom.DOMKeyValue$EC$Curve curve
         0: .line 471
            aload 0 /* params */
            invokevirtual java.security.spec.ECParameterSpec.getCurve:()Ljava/security/spec/EllipticCurve;
            invokevirtual java.security.spec.EllipticCurve.getField:()Ljava/security/spec/ECField;
            invokeinterface java.security.spec.ECField.getFieldSize:()I
            istore 2 /* fieldSize */
        start local 2 // int fieldSize
         1: .line 472
            aload 1 /* curve */
            invokevirtual org.jcp.xml.dsig.internal.dom.DOMKeyValue$EC$Curve.getCurve:()Ljava/security/spec/EllipticCurve;
            invokevirtual java.security.spec.EllipticCurve.getField:()Ljava/security/spec/ECField;
            invokeinterface java.security.spec.ECField.getFieldSize:()I
            iload 2 /* fieldSize */
            if_icmpne 7
         2: .line 473
            aload 1 /* curve */
            invokevirtual org.jcp.xml.dsig.internal.dom.DOMKeyValue$EC$Curve.getCurve:()Ljava/security/spec/EllipticCurve;
            aload 0 /* params */
            invokevirtual java.security.spec.ECParameterSpec.getCurve:()Ljava/security/spec/EllipticCurve;
            invokevirtual java.security.spec.EllipticCurve.equals:(Ljava/lang/Object;)Z
            ifeq 7
         3: .line 474
            aload 1 /* curve */
            invokevirtual org.jcp.xml.dsig.internal.dom.DOMKeyValue$EC$Curve.getGenerator:()Ljava/security/spec/ECPoint;
            aload 0 /* params */
            invokevirtual java.security.spec.ECParameterSpec.getGenerator:()Ljava/security/spec/ECPoint;
            invokevirtual java.security.spec.ECPoint.equals:(Ljava/lang/Object;)Z
            ifeq 7
         4: .line 475
            aload 1 /* curve */
            invokevirtual org.jcp.xml.dsig.internal.dom.DOMKeyValue$EC$Curve.getOrder:()Ljava/math/BigInteger;
            aload 0 /* params */
            invokevirtual java.security.spec.ECParameterSpec.getOrder:()Ljava/math/BigInteger;
            invokevirtual java.math.BigInteger.equals:(Ljava/lang/Object;)Z
            ifeq 7
         5: .line 476
            aload 1 /* curve */
            invokevirtual org.jcp.xml.dsig.internal.dom.DOMKeyValue$EC$Curve.getCofactor:()I
            aload 0 /* params */
            invokevirtual java.security.spec.ECParameterSpec.getCofactor:()I
            if_icmpne 7
         6: .line 477
            iconst_1
            ireturn
         7: .line 479
      StackMap locals: int
      StackMap stack:
            iconst_0
            ireturn
        end local 2 // int fieldSize
        end local 1 // org.jcp.xml.dsig.internal.dom.DOMKeyValue$EC$Curve curve
        end local 0 // java.security.spec.ECParameterSpec params
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    8     0     params  Ljava/security/spec/ECParameterSpec;
            0    8     1      curve  Lorg/jcp/xml/dsig/internal/dom/DOMKeyValue$EC$Curve;
            1    8     2  fieldSize  I
    MethodParameters:
        Name  Flags
      params  
      curve   

  void marshalPublicKey(Node, Document, java.lang.String, javax.xml.crypto.dom.DOMCryptoContext);
    descriptor: (LNode;LDocument;Ljava/lang/String;Ljavax/xml/crypto/dom/DOMCryptoContext;)V
    flags: (0x0000) 
    Code:
      stack=3, locals=5, args_size=5
        start local 0 // org.jcp.xml.dsig.internal.dom.DOMKeyValue$EC this
         0: .line 484
            new java.lang.Error
            dup
            ldc "Unresolved compilation problems: \n\tNode cannot be resolved to a type\n\tDocument cannot be resolved to a type\n\tElement cannot be resolved to a type\n\tElement cannot be resolved to a type\n\tElement cannot be resolved to a type\n"
            invokespecial java.lang.Error.<init>:(Ljava/lang/String;)V
            athrow
        end local 0 // org.jcp.xml.dsig.internal.dom.DOMKeyValue$EC this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/jcp/xml/dsig/internal/dom/DOMKeyValue$EC;
    Exceptions:
      throws javax.xml.crypto.MarshalException
    MethodParameters:
          Name  Flags
      parent    
      doc       
      dsPrefix  
      context   

  java.security.interfaces.ECPublicKey unmarshalKeyValue(Element);
    descriptor: (LElement;)Ljava/security/interfaces/ECPublicKey;
    flags: (0x0000) 
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.jcp.xml.dsig.internal.dom.DOMKeyValue$EC this
         0: .line 516
            new java.lang.Error
            dup
            ldc "Unresolved compilation problems: \n\tElement cannot be resolved to a type\n\tElement cannot be resolved to a type\n"
            invokespecial java.lang.Error.<init>:(Ljava/lang/String;)V
            athrow
        end local 0 // org.jcp.xml.dsig.internal.dom.DOMKeyValue$EC this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/jcp/xml/dsig/internal/dom/DOMKeyValue$EC;
    Exceptions:
      throws javax.xml.crypto.MarshalException
    MethodParameters:
         Name  Flags
      kvtElem  

  private static java.security.spec.ECParameterSpec getECParameterSpec(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/security/spec/ECParameterSpec;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // java.lang.String oid
         0: .line 569
            aload 0 /* oid */
            getstatic org.jcp.xml.dsig.internal.dom.DOMKeyValue$EC.SECP256R1:Lorg/jcp/xml/dsig/internal/dom/DOMKeyValue$EC$Curve;
            invokevirtual org.jcp.xml.dsig.internal.dom.DOMKeyValue$EC$Curve.getObjectId:()Ljava/lang/String;
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 2
         1: .line 570
            getstatic org.jcp.xml.dsig.internal.dom.DOMKeyValue$EC.SECP256R1:Lorg/jcp/xml/dsig/internal/dom/DOMKeyValue$EC$Curve;
            areturn
         2: .line 571
      StackMap locals:
      StackMap stack:
            aload 0 /* oid */
            getstatic org.jcp.xml.dsig.internal.dom.DOMKeyValue$EC.SECP384R1:Lorg/jcp/xml/dsig/internal/dom/DOMKeyValue$EC$Curve;
            invokevirtual org.jcp.xml.dsig.internal.dom.DOMKeyValue$EC$Curve.getObjectId:()Ljava/lang/String;
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 4
         3: .line 572
            getstatic org.jcp.xml.dsig.internal.dom.DOMKeyValue$EC.SECP384R1:Lorg/jcp/xml/dsig/internal/dom/DOMKeyValue$EC$Curve;
            areturn
         4: .line 573
      StackMap locals:
      StackMap stack:
            aload 0 /* oid */
            getstatic org.jcp.xml.dsig.internal.dom.DOMKeyValue$EC.SECP521R1:Lorg/jcp/xml/dsig/internal/dom/DOMKeyValue$EC$Curve;
            invokevirtual org.jcp.xml.dsig.internal.dom.DOMKeyValue$EC$Curve.getObjectId:()Ljava/lang/String;
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 6
         5: .line 574
            getstatic org.jcp.xml.dsig.internal.dom.DOMKeyValue$EC.SECP521R1:Lorg/jcp/xml/dsig/internal/dom/DOMKeyValue$EC$Curve;
            areturn
         6: .line 576
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
        end local 0 // java.lang.String oid
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     0   oid  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      oid   

  java.security.interfaces.ECPublicKey unmarshalKeyValue(Element);
    descriptor: (LElement;)Ljava/security/interfaces/ECPublicKey;
    flags: (0x1000) ACC_SYNTHETIC
    Code:
      stack=3, locals=2, args_size=2
         0: .line 340
            new java.lang.Error
            dup
            ldc "Unresolved compilation problem: \n\tThe type DOMKeyValue.EC must implement the inherited abstract method DOMKeyValue<ECPublicKey>.unmarshalKeyValue(Element)\n"
            invokespecial java.lang.Error.<init>:(Ljava/lang/String;)V
            athrow
      LocalVariableTable:
        Start  End  Slot  Name  Signature
    Exceptions:
      throws javax.xml.crypto.MarshalException
    MethodParameters:
      Name  Flags
            

  public void marshal(Node, java.lang.String, javax.xml.crypto.dom.DOMCryptoContext);
    descriptor: (LNode;Ljava/lang/String;Ljavax/xml/crypto/dom/DOMCryptoContext;)V
    flags: (0x1001) ACC_PUBLIC, ACC_SYNTHETIC
    Code:
      stack=3, locals=4, args_size=4
         0: .line 340
            new java.lang.Error
            dup
            ldc "Unresolved compilation problem: \n\tThe type DOMKeyValue.EC must implement the inherited abstract method DOMStructure.marshal(Node, String, DOMCryptoContext)\n"
            invokespecial java.lang.Error.<init>:(Ljava/lang/String;)V
            athrow
      LocalVariableTable:
        Start  End  Slot  Name  Signature
    Exceptions:
      throws javax.xml.crypto.MarshalException
    MethodParameters:
      Name  Flags
            
            
            

  void marshalPublicKey(Node, Document, java.lang.String, javax.xml.crypto.dom.DOMCryptoContext);
    descriptor: (LNode;LDocument;Ljava/lang/String;Ljavax/xml/crypto/dom/DOMCryptoContext;)V
    flags: (0x1000) ACC_SYNTHETIC
    Code:
      stack=3, locals=5, args_size=5
         0: .line 340
            new java.lang.Error
            dup
            ldc "Unresolved compilation problem: \n\tThe type DOMKeyValue.EC must implement the inherited abstract method DOMKeyValue<ECPublicKey>.marshalPublicKey(Node, Document, String, DOMCryptoContext)\n"
            invokespecial java.lang.Error.<init>:(Ljava/lang/String;)V
            athrow
      LocalVariableTable:
        Start  End  Slot  Name  Signature
    Exceptions:
      throws javax.xml.crypto.MarshalException
    MethodParameters:
      Name  Flags
            
            
            
            
}
Signature: Lorg/jcp/xml/dsig/internal/dom/DOMKeyValue<Ljava/security/interfaces/ECPublicKey;>;
SourceFile: "DOMKeyValue.java"
NestHost: org.jcp.xml.dsig.internal.dom.DOMKeyValue
InnerClasses:
  final EC = org.jcp.xml.dsig.internal.dom.DOMKeyValue$EC of org.jcp.xml.dsig.internal.dom.DOMKeyValue
  final Curve = org.jcp.xml.dsig.internal.dom.DOMKeyValue$EC$Curve of org.jcp.xml.dsig.internal.dom.DOMKeyValue$EC