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>(org.w3c.dom.Element);
    descriptor: (Lorg/w3c/dom/Element;)V
    flags: (0x0000) 
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.jcp.xml.dsig.internal.dom.DOMKeyValue$EC this
        start local 1 // org.w3c.dom.Element dmElem
         0: .line 404
            aload 0 /* this */
            aload 1 /* dmElem */
            invokespecial org.jcp.xml.dsig.internal.dom.DOMKeyValue.<init>:(Lorg/w3c/dom/Element;)V
         1: .line 405
            return
        end local 1 // org.w3c.dom.Element dmElem
        end local 0 // org.jcp.xml.dsig.internal.dom.DOMKeyValue$EC this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    2     0    this  Lorg/jcp/xml/dsig/internal/dom/DOMKeyValue$EC;
            0    2     1  dmElem  Lorg/w3c/dom/Element;
    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(org.w3c.dom.Node, org.w3c.dom.Document, java.lang.String, javax.xml.crypto.dom.DOMCryptoContext);
    descriptor: (Lorg/w3c/dom/Node;Lorg/w3c/dom/Document;Ljava/lang/String;Ljavax/xml/crypto/dom/DOMCryptoContext;)V
    flags: (0x0000) 
    Code:
      stack=5, locals=12, args_size=5
        start local 0 // org.jcp.xml.dsig.internal.dom.DOMKeyValue$EC this
        start local 1 // org.w3c.dom.Node parent
        start local 2 // org.w3c.dom.Document doc
        start local 3 // java.lang.String dsPrefix
        start local 4 // javax.xml.crypto.dom.DOMCryptoContext context
         0: .line 488
            aload 4 /* context */
            ldc "http://www.w3.org/2009/xmldsig11#"
            invokestatic org.jcp.xml.dsig.internal.dom.DOMUtils.getNSPrefix:(Ljavax/xml/crypto/XMLCryptoContext;Ljava/lang/String;)Ljava/lang/String;
            astore 5 /* prefix */
        start local 5 // java.lang.String prefix
         1: .line 489
            aload 2 /* doc */
            ldc "ECKeyValue"
         2: .line 490
            ldc "http://www.w3.org/2009/xmldsig11#"
         3: .line 491
            aload 5 /* prefix */
         4: .line 489
            invokestatic org.jcp.xml.dsig.internal.dom.DOMUtils.createElement:(Lorg/w3c/dom/Document;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Lorg/w3c/dom/Element;
            astore 6 /* ecKeyValueElem */
        start local 6 // org.w3c.dom.Element ecKeyValueElem
         5: .line 492
            aload 2 /* doc */
            ldc "NamedCurve"
         6: .line 493
            ldc "http://www.w3.org/2009/xmldsig11#"
         7: .line 494
            aload 5 /* prefix */
         8: .line 492
            invokestatic org.jcp.xml.dsig.internal.dom.DOMUtils.createElement:(Lorg/w3c/dom/Document;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Lorg/w3c/dom/Element;
            astore 7 /* namedCurveElem */
        start local 7 // org.w3c.dom.Element namedCurveElem
         9: .line 495
            aload 2 /* doc */
            ldc "PublicKey"
        10: .line 496
            ldc "http://www.w3.org/2009/xmldsig11#"
        11: .line 497
            aload 5 /* prefix */
        12: .line 495
            invokestatic org.jcp.xml.dsig.internal.dom.DOMUtils.createElement:(Lorg/w3c/dom/Document;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Lorg/w3c/dom/Element;
            astore 8 /* publicKeyElem */
        start local 8 // org.w3c.dom.Element publicKeyElem
        13: .line 498
            aload 0 /* this */
            getfield org.jcp.xml.dsig.internal.dom.DOMKeyValue$EC.ecParams:Ljava/security/spec/ECParameterSpec;
            invokestatic org.jcp.xml.dsig.internal.dom.DOMKeyValue$EC.getCurveOid:(Ljava/security/spec/ECParameterSpec;)Ljava/lang/String;
            astore 9 /* oid */
        start local 9 // java.lang.String oid
        14: .line 499
            aload 9 /* oid */
            ifnonnull 16
        15: .line 500
            new javax.xml.crypto.MarshalException
            dup
            ldc "Invalid ECParameterSpec"
            invokespecial javax.xml.crypto.MarshalException.<init>:(Ljava/lang/String;)V
            athrow
        16: .line 502
      StackMap locals: org.jcp.xml.dsig.internal.dom.DOMKeyValue$EC org.w3c.dom.Node org.w3c.dom.Document java.lang.String javax.xml.crypto.dom.DOMCryptoContext java.lang.String org.w3c.dom.Element org.w3c.dom.Element org.w3c.dom.Element java.lang.String
      StackMap stack:
            aload 7 /* namedCurveElem */
            ldc "URI"
            new java.lang.StringBuilder
            dup
            ldc "urn:oid:"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 9 /* oid */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokestatic org.jcp.xml.dsig.internal.dom.DOMUtils.setAttribute:(Lorg/w3c/dom/Element;Ljava/lang/String;Ljava/lang/String;)V
        17: .line 503
            aload 5 /* prefix */
            ifnull 18
            aload 5 /* prefix */
            invokevirtual java.lang.String.length:()I
            ifne 19
        18: .line 504
      StackMap locals:
      StackMap stack:
            ldc "xmlns"
            goto 20
      StackMap locals:
      StackMap stack:
        19: new java.lang.StringBuilder
            dup
            ldc "xmlns:"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 5 /* prefix */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        20: .line 503
      StackMap locals:
      StackMap stack: java.lang.String
            astore 10 /* qname */
        start local 10 // java.lang.String qname
        21: .line 505
            aload 7 /* namedCurveElem */
            ldc "http://www.w3.org/2000/xmlns/"
        22: .line 506
            aload 10 /* qname */
            ldc "http://www.w3.org/2009/xmldsig11#"
        23: .line 505
            invokeinterface org.w3c.dom.Element.setAttributeNS:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
        24: .line 507
            aload 6 /* ecKeyValueElem */
            aload 7 /* namedCurveElem */
            invokeinterface org.w3c.dom.Element.appendChild:(Lorg/w3c/dom/Node;)Lorg/w3c/dom/Node;
            pop
        25: .line 508
            aload 0 /* this */
            getfield org.jcp.xml.dsig.internal.dom.DOMKeyValue$EC.ecPublicKey:[B
            invokestatic com.sun.org.apache.xml.internal.security.utils.XMLUtils.encodeToString:([B)Ljava/lang/String;
            astore 11 /* encoded */
        start local 11 // java.lang.String encoded
        26: .line 509
            aload 8 /* publicKeyElem */
        27: .line 510
            aload 8 /* publicKeyElem */
            invokestatic org.jcp.xml.dsig.internal.dom.DOMUtils.getOwnerDocument:(Lorg/w3c/dom/Node;)Lorg/w3c/dom/Document;
            aload 11 /* encoded */
            invokeinterface org.w3c.dom.Document.createTextNode:(Ljava/lang/String;)Lorg/w3c/dom/Text;
        28: .line 509
            invokeinterface org.w3c.dom.Element.appendChild:(Lorg/w3c/dom/Node;)Lorg/w3c/dom/Node;
            pop
        29: .line 511
            aload 6 /* ecKeyValueElem */
            aload 8 /* publicKeyElem */
            invokeinterface org.w3c.dom.Element.appendChild:(Lorg/w3c/dom/Node;)Lorg/w3c/dom/Node;
            pop
        30: .line 512
            aload 1 /* parent */
            aload 6 /* ecKeyValueElem */
            invokeinterface org.w3c.dom.Node.appendChild:(Lorg/w3c/dom/Node;)Lorg/w3c/dom/Node;
            pop
        31: .line 513
            return
        end local 11 // java.lang.String encoded
        end local 10 // java.lang.String qname
        end local 9 // java.lang.String oid
        end local 8 // org.w3c.dom.Element publicKeyElem
        end local 7 // org.w3c.dom.Element namedCurveElem
        end local 6 // org.w3c.dom.Element ecKeyValueElem
        end local 5 // java.lang.String prefix
        end local 4 // javax.xml.crypto.dom.DOMCryptoContext context
        end local 3 // java.lang.String dsPrefix
        end local 2 // org.w3c.dom.Document doc
        end local 1 // org.w3c.dom.Node parent
        end local 0 // org.jcp.xml.dsig.internal.dom.DOMKeyValue$EC this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   32     0            this  Lorg/jcp/xml/dsig/internal/dom/DOMKeyValue$EC;
            0   32     1          parent  Lorg/w3c/dom/Node;
            0   32     2             doc  Lorg/w3c/dom/Document;
            0   32     3        dsPrefix  Ljava/lang/String;
            0   32     4         context  Ljavax/xml/crypto/dom/DOMCryptoContext;
            1   32     5          prefix  Ljava/lang/String;
            5   32     6  ecKeyValueElem  Lorg/w3c/dom/Element;
            9   32     7  namedCurveElem  Lorg/w3c/dom/Element;
           13   32     8   publicKeyElem  Lorg/w3c/dom/Element;
           14   32     9             oid  Ljava/lang/String;
           21   32    10           qname  Ljava/lang/String;
           26   32    11         encoded  Ljava/lang/String;
    Exceptions:
      throws javax.xml.crypto.MarshalException
    MethodParameters:
          Name  Flags
      parent    
      doc       
      dsPrefix  
      context   

  java.security.interfaces.ECPublicKey unmarshalKeyValue(org.w3c.dom.Element);
    descriptor: (Lorg/w3c/dom/Element;)Ljava/security/interfaces/ECPublicKey;
    flags: (0x0000) 
    Code:
      stack=5, locals=6, args_size=2
        start local 0 // org.jcp.xml.dsig.internal.dom.DOMKeyValue$EC this
        start local 1 // org.w3c.dom.Element kvtElem
         0: .line 519
            aload 0 /* this */
            getfield org.jcp.xml.dsig.internal.dom.DOMKeyValue$EC.eckf:Ljava/security/KeyFactory;
            ifnonnull 7
         1: .line 521
            aload 0 /* this */
            ldc "EC"
            invokestatic java.security.KeyFactory.getInstance:(Ljava/lang/String;)Ljava/security/KeyFactory;
            putfield org.jcp.xml.dsig.internal.dom.DOMKeyValue$EC.eckf:Ljava/security/KeyFactory;
         2: .line 522
            goto 7
      StackMap locals:
      StackMap stack: java.security.NoSuchAlgorithmException
         3: astore 2 /* e */
        start local 2 // java.security.NoSuchAlgorithmException e
         4: .line 523
            new java.lang.RuntimeException
            dup
         5: .line 524
            new java.lang.StringBuilder
            dup
            ldc "unable to create EC KeyFactory: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 2 /* e */
            invokevirtual java.security.NoSuchAlgorithmException.getMessage:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
         6: .line 523
            invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/String;)V
            athrow
        end local 2 // java.security.NoSuchAlgorithmException e
         7: .line 527
      StackMap locals:
      StackMap stack:
            aconst_null
            astore 2 /* ecParams */
        start local 2 // java.security.spec.ECParameterSpec ecParams
         8: .line 528
            aload 1 /* kvtElem */
            invokestatic org.jcp.xml.dsig.internal.dom.DOMUtils.getFirstChildElement:(Lorg/w3c/dom/Node;)Lorg/w3c/dom/Element;
            astore 3 /* curElem */
        start local 3 // org.w3c.dom.Element curElem
         9: .line 529
            aload 3 /* curElem */
            ifnonnull 11
        10: .line 530
            new javax.xml.crypto.MarshalException
            dup
            ldc "KeyValue must contain at least one type"
            invokespecial javax.xml.crypto.MarshalException.<init>:(Ljava/lang/String;)V
            athrow
        11: .line 533
      StackMap locals: java.security.spec.ECParameterSpec org.w3c.dom.Element
      StackMap stack:
            aload 3 /* curElem */
            invokeinterface org.w3c.dom.Element.getLocalName:()Ljava/lang/String;
            ldc "ECParameters"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 16
        12: .line 534
            ldc "http://www.w3.org/2009/xmldsig11#"
            aload 3 /* curElem */
            invokeinterface org.w3c.dom.Element.getNamespaceURI:()Ljava/lang/String;
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 16
        13: .line 535
            new java.lang.UnsupportedOperationException
            dup
        14: .line 536
            ldc "ECParameters not supported"
        15: .line 535
            invokespecial java.lang.UnsupportedOperationException.<init>:(Ljava/lang/String;)V
            athrow
        16: .line 537
      StackMap locals:
      StackMap stack:
            aload 3 /* curElem */
            invokeinterface org.w3c.dom.Element.getLocalName:()Ljava/lang/String;
            ldc "NamedCurve"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 25
        17: .line 538
            ldc "http://www.w3.org/2009/xmldsig11#"
            aload 3 /* curElem */
            invokeinterface org.w3c.dom.Element.getNamespaceURI:()Ljava/lang/String;
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 25
        18: .line 539
            aload 3 /* curElem */
            ldc "URI"
            invokestatic org.jcp.xml.dsig.internal.dom.DOMUtils.getAttributeValue:(Lorg/w3c/dom/Element;Ljava/lang/String;)Ljava/lang/String;
            astore 4 /* uri */
        start local 4 // java.lang.String uri
        19: .line 541
            aload 4 /* uri */
            ldc "urn:oid:"
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifeq 24
        20: .line 542
            aload 4 /* uri */
            ldc "urn:oid:"
            invokevirtual java.lang.String.length:()I
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
            astore 5 /* oid */
        start local 5 // java.lang.String oid
        21: .line 543
            aload 5 /* oid */
            invokestatic org.jcp.xml.dsig.internal.dom.DOMKeyValue$EC.getECParameterSpec:(Ljava/lang/String;)Ljava/security/spec/ECParameterSpec;
            astore 2 /* ecParams */
        22: .line 544
            aload 2 /* ecParams */
            ifnonnull 26
        23: .line 545
            new javax.xml.crypto.MarshalException
            dup
            ldc "Invalid curve OID"
            invokespecial javax.xml.crypto.MarshalException.<init>:(Ljava/lang/String;)V
            athrow
        end local 5 // java.lang.String oid
        24: .line 548
      StackMap locals: java.lang.String
      StackMap stack:
            new javax.xml.crypto.MarshalException
            dup
            ldc "Invalid NamedCurve URI"
            invokespecial javax.xml.crypto.MarshalException.<init>:(Ljava/lang/String;)V
            athrow
        end local 4 // java.lang.String uri
        25: .line 551
      StackMap locals:
      StackMap stack:
            new javax.xml.crypto.MarshalException
            dup
            ldc "Invalid ECKeyValue"
            invokespecial javax.xml.crypto.MarshalException.<init>:(Ljava/lang/String;)V
            athrow
        26: .line 553
      StackMap locals:
      StackMap stack:
            aload 3 /* curElem */
            ldc "PublicKey"
            ldc "http://www.w3.org/2009/xmldsig11#"
            invokestatic org.jcp.xml.dsig.internal.dom.DOMUtils.getNextSiblingElement:(Lorg/w3c/dom/Node;Ljava/lang/String;Ljava/lang/String;)Lorg/w3c/dom/Element;
            astore 3 /* curElem */
        27: .line 554
            aconst_null
            astore 4 /* ecPoint */
        start local 4 // java.security.spec.ECPoint ecPoint
        28: .line 557
            aload 3 /* curElem */
            invokestatic com.sun.org.apache.xml.internal.security.utils.XMLUtils.getFullTextChildrenFromNode:(Lorg/w3c/dom/Node;)Ljava/lang/String;
            astore 5 /* content */
        start local 5 // java.lang.String content
        29: .line 558
            aload 5 /* content */
            invokestatic com.sun.org.apache.xml.internal.security.utils.XMLUtils.decode:(Ljava/lang/String;)[B
        30: .line 559
            aload 2 /* ecParams */
            invokevirtual java.security.spec.ECParameterSpec.getCurve:()Ljava/security/spec/EllipticCurve;
        31: .line 558
            invokestatic org.jcp.xml.dsig.internal.dom.DOMKeyValue$EC.decodePoint:([BLjava/security/spec/EllipticCurve;)Ljava/security/spec/ECPoint;
            astore 4 /* ecPoint */
        end local 5 // java.lang.String content
        32: .line 560
            goto 35
      StackMap locals: org.jcp.xml.dsig.internal.dom.DOMKeyValue$EC org.w3c.dom.Element java.security.spec.ECParameterSpec org.w3c.dom.Element java.security.spec.ECPoint
      StackMap stack: java.io.IOException
        33: astore 5 /* ioe */
        start local 5 // java.io.IOException ioe
        34: .line 561
            new javax.xml.crypto.MarshalException
            dup
            ldc "Invalid EC Point"
            aload 5 /* ioe */
            invokespecial javax.xml.crypto.MarshalException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
        end local 5 // java.io.IOException ioe
        35: .line 564
      StackMap locals:
      StackMap stack:
            new java.security.spec.ECPublicKeySpec
            dup
            aload 4 /* ecPoint */
            aload 2 /* ecParams */
            invokespecial java.security.spec.ECPublicKeySpec.<init>:(Ljava/security/spec/ECPoint;Ljava/security/spec/ECParameterSpec;)V
            astore 5 /* spec */
        start local 5 // java.security.spec.ECPublicKeySpec spec
        36: .line 565
            aload 0 /* this */
            getfield org.jcp.xml.dsig.internal.dom.DOMKeyValue$EC.eckf:Ljava/security/KeyFactory;
            aload 5 /* spec */
            invokestatic org.jcp.xml.dsig.internal.dom.DOMKeyValue.generatePublicKey:(Ljava/security/KeyFactory;Ljava/security/spec/KeySpec;)Ljava/security/PublicKey;
            checkcast java.security.interfaces.ECPublicKey
            areturn
        end local 5 // java.security.spec.ECPublicKeySpec spec
        end local 4 // java.security.spec.ECPoint ecPoint
        end local 3 // org.w3c.dom.Element curElem
        end local 2 // java.security.spec.ECParameterSpec ecParams
        end local 1 // org.w3c.dom.Element kvtElem
        end local 0 // org.jcp.xml.dsig.internal.dom.DOMKeyValue$EC this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   37     0      this  Lorg/jcp/xml/dsig/internal/dom/DOMKeyValue$EC;
            0   37     1   kvtElem  Lorg/w3c/dom/Element;
            4    7     2         e  Ljava/security/NoSuchAlgorithmException;
            8   37     2  ecParams  Ljava/security/spec/ECParameterSpec;
            9   37     3   curElem  Lorg/w3c/dom/Element;
           19   25     4       uri  Ljava/lang/String;
           21   24     5       oid  Ljava/lang/String;
           28   37     4   ecPoint  Ljava/security/spec/ECPoint;
           29   32     5   content  Ljava/lang/String;
           34   35     5       ioe  Ljava/io/IOException;
           36   37     5      spec  Ljava/security/spec/ECPublicKeySpec;
      Exception table:
        from    to  target  type
           1     2       3  Class java.security.NoSuchAlgorithmException
          28    32      33  Class java.io.IOException
    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.PublicKey unmarshalKeyValue(org.w3c.dom.Element);
    descriptor: (Lorg/w3c/dom/Element;)Ljava/security/PublicKey;
    flags: (0x1040) ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=2, locals=2, args_size=2
         0: .line 1
            aload 0
            aload 1
            invokevirtual org.jcp.xml.dsig.internal.dom.DOMKeyValue$EC.unmarshalKeyValue:(Lorg/w3c/dom/Element;)Ljava/security/interfaces/ECPublicKey;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
    Exceptions:
      throws javax.xml.crypto.MarshalException
}
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