public class org.apache.commons.math3.optimization.general.GaussNewtonOptimizer extends org.apache.commons.math3.optimization.general.AbstractLeastSquaresOptimizer
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.apache.commons.math3.optimization.general.GaussNewtonOptimizer
  super_class: org.apache.commons.math3.optimization.general.AbstractLeastSquaresOptimizer
{
  private final boolean useLU;
    descriptor: Z
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.apache.commons.math3.optimization.general.GaussNewtonOptimizer this
         0: .line 62
            aload 0 /* this */
            iconst_1
            invokespecial org.apache.commons.math3.optimization.general.GaussNewtonOptimizer.<init>:(Z)V
         1: .line 63
            return
        end local 0 // org.apache.commons.math3.optimization.general.GaussNewtonOptimizer this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/apache/commons/math3/optimization/general/GaussNewtonOptimizer;
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()

  public void <init>(org.apache.commons.math3.optimization.ConvergenceChecker<org.apache.commons.math3.optimization.PointVectorValuePair>);
    descriptor: (Lorg/apache/commons/math3/optimization/ConvergenceChecker;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.apache.commons.math3.optimization.general.GaussNewtonOptimizer this
        start local 1 // org.apache.commons.math3.optimization.ConvergenceChecker checker
         0: .line 72
            aload 0 /* this */
            iconst_1
            aload 1 /* checker */
            invokespecial org.apache.commons.math3.optimization.general.GaussNewtonOptimizer.<init>:(ZLorg/apache/commons/math3/optimization/ConvergenceChecker;)V
         1: .line 73
            return
        end local 1 // org.apache.commons.math3.optimization.ConvergenceChecker checker
        end local 0 // org.apache.commons.math3.optimization.general.GaussNewtonOptimizer this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    2     0     this  Lorg/apache/commons/math3/optimization/general/GaussNewtonOptimizer;
            0    2     1  checker  Lorg/apache/commons/math3/optimization/ConvergenceChecker<Lorg/apache/commons/math3/optimization/PointVectorValuePair;>;
    Signature: (Lorg/apache/commons/math3/optimization/ConvergenceChecker<Lorg/apache/commons/math3/optimization/PointVectorValuePair;>;)V
    MethodParameters:
         Name  Flags
      checker  

  public void <init>(boolean);
    descriptor: (Z)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // org.apache.commons.math3.optimization.general.GaussNewtonOptimizer this
        start local 1 // boolean useLU
         0: .line 87
            aload 0 /* this */
            iload 1 /* useLU */
            new org.apache.commons.math3.optimization.SimpleVectorValueChecker
            dup
            invokespecial org.apache.commons.math3.optimization.SimpleVectorValueChecker.<init>:()V
            invokespecial org.apache.commons.math3.optimization.general.GaussNewtonOptimizer.<init>:(ZLorg/apache/commons/math3/optimization/ConvergenceChecker;)V
         1: .line 88
            return
        end local 1 // boolean useLU
        end local 0 // org.apache.commons.math3.optimization.general.GaussNewtonOptimizer this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    2     0   this  Lorg/apache/commons/math3/optimization/general/GaussNewtonOptimizer;
            0    2     1  useLU  Z
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()
    MethodParameters:
       Name  Flags
      useLU  final

  public void <init>(boolean, org.apache.commons.math3.optimization.ConvergenceChecker<org.apache.commons.math3.optimization.PointVectorValuePair>);
    descriptor: (ZLorg/apache/commons/math3/optimization/ConvergenceChecker;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // org.apache.commons.math3.optimization.general.GaussNewtonOptimizer this
        start local 1 // boolean useLU
        start local 2 // org.apache.commons.math3.optimization.ConvergenceChecker checker
         0: .line 98
            aload 0 /* this */
            aload 2 /* checker */
            invokespecial org.apache.commons.math3.optimization.general.AbstractLeastSquaresOptimizer.<init>:(Lorg/apache/commons/math3/optimization/ConvergenceChecker;)V
         1: .line 99
            aload 0 /* this */
            iload 1 /* useLU */
            putfield org.apache.commons.math3.optimization.general.GaussNewtonOptimizer.useLU:Z
         2: .line 100
            return
        end local 2 // org.apache.commons.math3.optimization.ConvergenceChecker checker
        end local 1 // boolean useLU
        end local 0 // org.apache.commons.math3.optimization.general.GaussNewtonOptimizer this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    3     0     this  Lorg/apache/commons/math3/optimization/general/GaussNewtonOptimizer;
            0    3     1    useLU  Z
            0    3     2  checker  Lorg/apache/commons/math3/optimization/ConvergenceChecker<Lorg/apache/commons/math3/optimization/PointVectorValuePair;>;
    Signature: (ZLorg/apache/commons/math3/optimization/ConvergenceChecker<Lorg/apache/commons/math3/optimization/PointVectorValuePair;>;)V
    MethodParameters:
         Name  Flags
      useLU    final
      checker  

  public org.apache.commons.math3.optimization.PointVectorValuePair doOptimize();
    descriptor: ()Lorg/apache/commons/math3/optimization/PointVectorValuePair;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=8, locals=30, args_size=1
        start local 0 // org.apache.commons.math3.optimization.general.GaussNewtonOptimizer this
         0: .line 106
            aload 0 /* this */
            invokevirtual org.apache.commons.math3.optimization.general.GaussNewtonOptimizer.getConvergenceChecker:()Lorg/apache/commons/math3/optimization/ConvergenceChecker;
         1: .line 105
            astore 1 /* checker */
        start local 1 // org.apache.commons.math3.optimization.ConvergenceChecker checker
         2: .line 109
            aload 1 /* checker */
            ifnonnull 4
         3: .line 110
            new org.apache.commons.math3.exception.NullArgumentException
            dup
            invokespecial org.apache.commons.math3.exception.NullArgumentException.<init>:()V
            athrow
         4: .line 113
      StackMap locals: org.apache.commons.math3.optimization.ConvergenceChecker
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.apache.commons.math3.optimization.general.GaussNewtonOptimizer.getTarget:()[D
            astore 2 /* targetValues */
        start local 2 // double[] targetValues
         5: .line 114
            aload 2 /* targetValues */
            arraylength
            istore 3 /* nR */
        start local 3 // int nR
         6: .line 116
            aload 0 /* this */
            invokevirtual org.apache.commons.math3.optimization.general.GaussNewtonOptimizer.getWeight:()Lorg/apache/commons/math3/linear/RealMatrix;
            astore 4 /* weightMatrix */
        start local 4 // org.apache.commons.math3.linear.RealMatrix weightMatrix
         7: .line 118
            iload 3 /* nR */
            newarray 7
            astore 5 /* residualsWeights */
        start local 5 // double[] residualsWeights
         8: .line 119
            iconst_0
            istore 6 /* i */
        start local 6 // int i
         9: goto 12
        10: .line 120
      StackMap locals: org.apache.commons.math3.optimization.general.GaussNewtonOptimizer org.apache.commons.math3.optimization.ConvergenceChecker double[] int org.apache.commons.math3.linear.RealMatrix double[] int
      StackMap stack:
            aload 5 /* residualsWeights */
            iload 6 /* i */
            aload 4 /* weightMatrix */
            iload 6 /* i */
            iload 6 /* i */
            invokeinterface org.apache.commons.math3.linear.RealMatrix.getEntry:(II)D
            dastore
        11: .line 119
            iinc 6 /* i */ 1
      StackMap locals:
      StackMap stack:
        12: iload 6 /* i */
            iload 3 /* nR */
            if_icmplt 10
        end local 6 // int i
        13: .line 123
            aload 0 /* this */
            invokevirtual org.apache.commons.math3.optimization.general.GaussNewtonOptimizer.getStartPoint:()[D
            astore 6 /* currentPoint */
        start local 6 // double[] currentPoint
        14: .line 124
            aload 6 /* currentPoint */
            arraylength
            istore 7 /* nC */
        start local 7 // int nC
        15: .line 127
            aconst_null
            astore 8 /* current */
        start local 8 // org.apache.commons.math3.optimization.PointVectorValuePair current
        16: .line 128
            iconst_0
            istore 9 /* iter */
        start local 9 // int iter
        17: .line 129
            iconst_0
            istore 10 /* converged */
        start local 10 // boolean converged
        18: goto 71
        19: .line 130
      StackMap locals: org.apache.commons.math3.optimization.general.GaussNewtonOptimizer org.apache.commons.math3.optimization.ConvergenceChecker double[] int org.apache.commons.math3.linear.RealMatrix double[] double[] int org.apache.commons.math3.optimization.PointVectorValuePair int int
      StackMap stack:
            iinc 9 /* iter */ 1
        20: .line 133
            aload 8 /* current */
            astore 11 /* previous */
        start local 11 // org.apache.commons.math3.optimization.PointVectorValuePair previous
        21: .line 135
            aload 0 /* this */
            aload 6 /* currentPoint */
            invokevirtual org.apache.commons.math3.optimization.general.GaussNewtonOptimizer.computeObjectiveValue:([D)[D
            astore 12 /* currentObjective */
        start local 12 // double[] currentObjective
        22: .line 136
            aload 0 /* this */
            aload 12 /* currentObjective */
            invokevirtual org.apache.commons.math3.optimization.general.GaussNewtonOptimizer.computeResiduals:([D)[D
            astore 13 /* currentResiduals */
        start local 13 // double[] currentResiduals
        23: .line 137
            aload 0 /* this */
            aload 6 /* currentPoint */
            invokevirtual org.apache.commons.math3.optimization.general.GaussNewtonOptimizer.computeWeightedJacobian:([D)Lorg/apache/commons/math3/linear/RealMatrix;
            astore 14 /* weightedJacobian */
        start local 14 // org.apache.commons.math3.linear.RealMatrix weightedJacobian
        24: .line 138
            new org.apache.commons.math3.optimization.PointVectorValuePair
            dup
            aload 6 /* currentPoint */
            aload 12 /* currentObjective */
            invokespecial org.apache.commons.math3.optimization.PointVectorValuePair.<init>:([D[D)V
            astore 8 /* current */
        25: .line 141
            iload 7 /* nC */
            newarray 7
            astore 15 /* b */
        start local 15 // double[] b
        26: .line 142
            iload 7 /* nC */
            iload 7 /* nC */
            multianewarray [[D 2
            astore 16 /* a */
        start local 16 // double[][] a
        27: .line 143
            iconst_0
            istore 17 /* i */
        start local 17 // int i
        28: goto 50
        29: .line 145
      StackMap locals: org.apache.commons.math3.optimization.general.GaussNewtonOptimizer org.apache.commons.math3.optimization.ConvergenceChecker double[] int org.apache.commons.math3.linear.RealMatrix double[] double[] int org.apache.commons.math3.optimization.PointVectorValuePair int int org.apache.commons.math3.optimization.PointVectorValuePair double[] double[] org.apache.commons.math3.linear.RealMatrix double[] double[][] int
      StackMap stack:
            aload 14 /* weightedJacobian */
            iload 17 /* i */
            invokeinterface org.apache.commons.math3.linear.RealMatrix.getRow:(I)[D
            astore 18 /* grad */
        start local 18 // double[] grad
        30: .line 146
            aload 5 /* residualsWeights */
            iload 17 /* i */
            daload
            dstore 19 /* weight */
        start local 19 // double weight
        31: .line 147
            aload 13 /* currentResiduals */
            iload 17 /* i */
            daload
            dstore 21 /* residual */
        start local 21 // double residual
        32: .line 150
            dload 19 /* weight */
            dload 21 /* residual */
            dmul
            dstore 23 /* wr */
        start local 23 // double wr
        33: .line 151
            iconst_0
            istore 25 /* j */
        start local 25 // int j
        34: goto 37
        35: .line 152
      StackMap locals: org.apache.commons.math3.optimization.general.GaussNewtonOptimizer org.apache.commons.math3.optimization.ConvergenceChecker double[] int org.apache.commons.math3.linear.RealMatrix double[] double[] int org.apache.commons.math3.optimization.PointVectorValuePair int int org.apache.commons.math3.optimization.PointVectorValuePair double[] double[] org.apache.commons.math3.linear.RealMatrix double[] double[][] int double[] double double double int
      StackMap stack:
            aload 15 /* b */
            iload 25 /* j */
            dup2
            daload
            dload 23 /* wr */
            aload 18 /* grad */
            iload 25 /* j */
            daload
            dmul
            dadd
            dastore
        36: .line 151
            iinc 25 /* j */ 1
      StackMap locals:
      StackMap stack:
        37: iload 25 /* j */
            iload 7 /* nC */
            if_icmplt 35
        end local 25 // int j
        38: .line 156
            iconst_0
            istore 25 /* k */
        start local 25 // int k
        39: goto 48
        40: .line 157
      StackMap locals:
      StackMap stack:
            aload 16 /* a */
            iload 25 /* k */
            aaload
            astore 26 /* ak */
        start local 26 // double[] ak
        41: .line 158
            dload 19 /* weight */
            aload 18 /* grad */
            iload 25 /* k */
            daload
            dmul
            dstore 27 /* wgk */
        start local 27 // double wgk
        42: .line 159
            iconst_0
            istore 29 /* l */
        start local 29 // int l
        43: goto 46
        44: .line 160
      StackMap locals: double[] double int
      StackMap stack:
            aload 26 /* ak */
            iload 29 /* l */
            dup2
            daload
            dload 27 /* wgk */
            aload 18 /* grad */
            iload 29 /* l */
            daload
            dmul
            dadd
            dastore
        45: .line 159
            iinc 29 /* l */ 1
      StackMap locals:
      StackMap stack:
        46: iload 29 /* l */
            iload 7 /* nC */
            if_icmplt 44
        end local 29 // int l
        end local 27 // double wgk
        end local 26 // double[] ak
        47: .line 156
            iinc 25 /* k */ 1
      StackMap locals:
      StackMap stack:
        48: iload 25 /* k */
            iload 7 /* nC */
            if_icmplt 40
        end local 25 // int k
        end local 23 // double wr
        end local 21 // double residual
        end local 19 // double weight
        end local 18 // double[] grad
        49: .line 143
            iinc 17 /* i */ 1
      StackMap locals: org.apache.commons.math3.optimization.general.GaussNewtonOptimizer org.apache.commons.math3.optimization.ConvergenceChecker double[] int org.apache.commons.math3.linear.RealMatrix double[] double[] int org.apache.commons.math3.optimization.PointVectorValuePair int int org.apache.commons.math3.optimization.PointVectorValuePair double[] double[] org.apache.commons.math3.linear.RealMatrix double[] double[][] int
      StackMap stack:
        50: iload 17 /* i */
            iload 3 /* nR */
            if_icmplt 29
        end local 17 // int i
        51: .line 167
            new org.apache.commons.math3.linear.BlockRealMatrix
            dup
            aload 16 /* a */
            invokespecial org.apache.commons.math3.linear.BlockRealMatrix.<init>:([[D)V
            astore 17 /* mA */
        start local 17 // org.apache.commons.math3.linear.RealMatrix mA
        52: .line 168
            aload 0 /* this */
            getfield org.apache.commons.math3.optimization.general.GaussNewtonOptimizer.useLU:Z
            ifeq 54
        53: .line 169
            new org.apache.commons.math3.linear.LUDecomposition
            dup
            aload 17 /* mA */
            invokespecial org.apache.commons.math3.linear.LUDecomposition.<init>:(Lorg/apache/commons/math3/linear/RealMatrix;)V
            invokevirtual org.apache.commons.math3.linear.LUDecomposition.getSolver:()Lorg/apache/commons/math3/linear/DecompositionSolver;
            goto 55
        54: .line 170
      StackMap locals: org.apache.commons.math3.optimization.general.GaussNewtonOptimizer org.apache.commons.math3.optimization.ConvergenceChecker double[] int org.apache.commons.math3.linear.RealMatrix double[] double[] int org.apache.commons.math3.optimization.PointVectorValuePair int int org.apache.commons.math3.optimization.PointVectorValuePair double[] double[] org.apache.commons.math3.linear.RealMatrix double[] double[][] org.apache.commons.math3.linear.RealMatrix
      StackMap stack:
            new org.apache.commons.math3.linear.QRDecomposition
            dup
            aload 17 /* mA */
            invokespecial org.apache.commons.math3.linear.QRDecomposition.<init>:(Lorg/apache/commons/math3/linear/RealMatrix;)V
            invokevirtual org.apache.commons.math3.linear.QRDecomposition.getSolver:()Lorg/apache/commons/math3/linear/DecompositionSolver;
        55: .line 168
      StackMap locals:
      StackMap stack: org.apache.commons.math3.linear.DecompositionSolver
            astore 18 /* solver */
        start local 18 // org.apache.commons.math3.linear.DecompositionSolver solver
        56: .line 171
            aload 18 /* solver */
            new org.apache.commons.math3.linear.ArrayRealVector
            dup
            aload 15 /* b */
            iconst_0
            invokespecial org.apache.commons.math3.linear.ArrayRealVector.<init>:([DZ)V
            invokeinterface org.apache.commons.math3.linear.DecompositionSolver.solve:(Lorg/apache/commons/math3/linear/RealVector;)Lorg/apache/commons/math3/linear/RealVector;
            invokevirtual org.apache.commons.math3.linear.RealVector.toArray:()[D
            astore 19 /* dX */
        start local 19 // double[] dX
        57: .line 173
            iconst_0
            istore 20 /* i */
        start local 20 // int i
        58: goto 61
        59: .line 174
      StackMap locals: org.apache.commons.math3.linear.DecompositionSolver double[] int
      StackMap stack:
            aload 6 /* currentPoint */
            iload 20 /* i */
            dup2
            daload
            aload 19 /* dX */
            iload 20 /* i */
            daload
            dadd
            dastore
        60: .line 173
            iinc 20 /* i */ 1
      StackMap locals:
      StackMap stack:
        61: iload 20 /* i */
            iload 7 /* nC */
            if_icmplt 59
        end local 20 // int i
        end local 19 // double[] dX
        end local 18 // org.apache.commons.math3.linear.DecompositionSolver solver
        end local 17 // org.apache.commons.math3.linear.RealMatrix mA
        62: .line 176
            goto 65
      StackMap locals: org.apache.commons.math3.optimization.general.GaussNewtonOptimizer org.apache.commons.math3.optimization.ConvergenceChecker double[] int org.apache.commons.math3.linear.RealMatrix double[] double[] int org.apache.commons.math3.optimization.PointVectorValuePair int int org.apache.commons.math3.optimization.PointVectorValuePair double[] double[] org.apache.commons.math3.linear.RealMatrix double[] double[][]
      StackMap stack: org.apache.commons.math3.linear.SingularMatrixException
        63: pop
        64: .line 177
            new org.apache.commons.math3.exception.ConvergenceException
            dup
            getstatic org.apache.commons.math3.exception.util.LocalizedFormats.UNABLE_TO_SOLVE_SINGULAR_PROBLEM:Lorg/apache/commons/math3/exception/util/LocalizedFormats;
            iconst_0
            anewarray java.lang.Object
            invokespecial org.apache.commons.math3.exception.ConvergenceException.<init>:(Lorg/apache/commons/math3/exception/util/Localizable;[Ljava/lang/Object;)V
            athrow
        65: .line 181
      StackMap locals:
      StackMap stack:
            aload 11 /* previous */
            ifnull 71
        66: .line 182
            aload 1 /* checker */
            iload 9 /* iter */
            aload 11 /* previous */
            aload 8 /* current */
            invokeinterface org.apache.commons.math3.optimization.ConvergenceChecker.converged:(ILjava/lang/Object;Ljava/lang/Object;)Z
            istore 10 /* converged */
        67: .line 183
            iload 10 /* converged */
            ifeq 71
        68: .line 184
            aload 0 /* this */
            aload 0 /* this */
            aload 13 /* currentResiduals */
            invokevirtual org.apache.commons.math3.optimization.general.GaussNewtonOptimizer.computeCost:([D)D
            putfield org.apache.commons.math3.optimization.general.GaussNewtonOptimizer.cost:D
        69: .line 186
            aload 0 /* this */
            aload 8 /* current */
            invokevirtual org.apache.commons.math3.optimization.PointVectorValuePair.getPoint:()[D
            putfield org.apache.commons.math3.optimization.general.GaussNewtonOptimizer.point:[D
        70: .line 187
            aload 8 /* current */
            areturn
        end local 16 // double[][] a
        end local 15 // double[] b
        end local 14 // org.apache.commons.math3.linear.RealMatrix weightedJacobian
        end local 13 // double[] currentResiduals
        end local 12 // double[] currentObjective
        end local 11 // org.apache.commons.math3.optimization.PointVectorValuePair previous
        71: .line 129
      StackMap locals: org.apache.commons.math3.optimization.general.GaussNewtonOptimizer org.apache.commons.math3.optimization.ConvergenceChecker double[] int org.apache.commons.math3.linear.RealMatrix double[] double[] int org.apache.commons.math3.optimization.PointVectorValuePair int int
      StackMap stack:
            iload 10 /* converged */
            ifeq 19
        end local 10 // boolean converged
        72: .line 192
            new org.apache.commons.math3.exception.MathInternalError
            dup
            invokespecial org.apache.commons.math3.exception.MathInternalError.<init>:()V
            athrow
        end local 9 // int iter
        end local 8 // org.apache.commons.math3.optimization.PointVectorValuePair current
        end local 7 // int nC
        end local 6 // double[] currentPoint
        end local 5 // double[] residualsWeights
        end local 4 // org.apache.commons.math3.linear.RealMatrix weightMatrix
        end local 3 // int nR
        end local 2 // double[] targetValues
        end local 1 // org.apache.commons.math3.optimization.ConvergenceChecker checker
        end local 0 // org.apache.commons.math3.optimization.general.GaussNewtonOptimizer this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0   73     0              this  Lorg/apache/commons/math3/optimization/general/GaussNewtonOptimizer;
            2   73     1           checker  Lorg/apache/commons/math3/optimization/ConvergenceChecker<Lorg/apache/commons/math3/optimization/PointVectorValuePair;>;
            5   73     2      targetValues  [D
            6   73     3                nR  I
            7   73     4      weightMatrix  Lorg/apache/commons/math3/linear/RealMatrix;
            8   73     5  residualsWeights  [D
            9   13     6                 i  I
           14   73     6      currentPoint  [D
           15   73     7                nC  I
           16   73     8           current  Lorg/apache/commons/math3/optimization/PointVectorValuePair;
           17   73     9              iter  I
           18   72    10         converged  Z
           21   71    11          previous  Lorg/apache/commons/math3/optimization/PointVectorValuePair;
           22   71    12  currentObjective  [D
           23   71    13  currentResiduals  [D
           24   71    14  weightedJacobian  Lorg/apache/commons/math3/linear/RealMatrix;
           26   71    15                 b  [D
           27   71    16                 a  [[D
           28   51    17                 i  I
           30   49    18              grad  [D
           31   49    19            weight  D
           32   49    21          residual  D
           33   49    23                wr  D
           34   38    25                 j  I
           39   49    25                 k  I
           41   47    26                ak  [D
           42   47    27               wgk  D
           43   47    29                 l  I
           52   62    17                mA  Lorg/apache/commons/math3/linear/RealMatrix;
           56   62    18            solver  Lorg/apache/commons/math3/linear/DecompositionSolver;
           57   62    19                dX  [D
           58   62    20                 i  I
      Exception table:
        from    to  target  type
          51    62      63  Class org.apache.commons.math3.linear.SingularMatrixException
}
SourceFile: "GaussNewtonOptimizer.java"
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()