
public class Class205 {

   int[] anIntArray2417;
   float[][] aFloatArrayArray2418;
   int[] anIntArray2419;
   int anInt2420;
   int anInt2421;
   int[] anIntArray2422;


   static int method3467(int var0, int var1) {
      int var2;
      for(var2 = (int)Math.pow((double)var0, 1.0D / (double)var1) + 1; Class569.method12159(var2, var1, (short)29050) > var0; --var2) {
         ;
      }

      return var2;
   }

   Class205() {
      Class225_Sub20.method13646(24);
      this.anInt2421 = Class225_Sub20.method13646(16);
      this.anInt2420 = Class225_Sub20.method13646(24);
      this.anIntArray2419 = new int[this.anInt2420];
      boolean var1 = Class225_Sub20.method13645() != 0;
      int var2;
      int var3;
      int var5;
      if(var1) {
         var2 = 0;

         for(var3 = Class225_Sub20.method13646(5) + 1; var2 < this.anInt2420; ++var3) {
            int var4 = Class225_Sub20.method13646(Class188.method3314(this.anInt2420 - var2, 618396345));

            for(var5 = 0; var5 < var4; ++var5) {
               this.anIntArray2419[var2++] = var3;
            }
         }
      } else {
         boolean var14 = Class225_Sub20.method13645() != 0;

         for(var3 = 0; var3 < this.anInt2420; ++var3) {
            if(var14 && Class225_Sub20.method13645() == 0) {
               this.anIntArray2419[var3] = 0;
            } else {
               this.anIntArray2419[var3] = Class225_Sub20.method13646(5) + 1;
            }
         }
      }

      this.method3468();
      var2 = Class225_Sub20.method13646(4);
      if(var2 > 0) {
         float var16 = Class225_Sub20.method13672(Class225_Sub20.method13646(32));
         float var15 = Class225_Sub20.method13672(Class225_Sub20.method13646(32));
         var5 = Class225_Sub20.method13646(4) + 1;
         boolean var6 = Class225_Sub20.method13645() != 0;
         int var7;
         if(var2 == 1) {
            var7 = method3467(this.anInt2420, this.anInt2421);
         } else {
            var7 = this.anInt2420 * this.anInt2421;
         }

         this.anIntArray2417 = new int[var7];

         int var8;
         for(var8 = 0; var8 < var7; ++var8) {
            this.anIntArray2417[var8] = Class225_Sub20.method13646(var5);
         }

         this.aFloatArrayArray2418 = new float[this.anInt2420][this.anInt2421];
         float var9;
         int var10;
         int var11;
         if(var2 == 1) {
            for(var8 = 0; var8 < this.anInt2420; ++var8) {
               var9 = 0.0F;
               var10 = 1;

               for(var11 = 0; var11 < this.anInt2421; ++var11) {
                  int var12 = var8 / var10 % var7;
                  float var13 = (float)this.anIntArray2417[var12] * var15 + var16 + var9;
                  this.aFloatArrayArray2418[var8][var11] = var13;
                  if(var6) {
                     var9 = var13;
                  }

                  var10 *= var7;
               }
            }
         } else {
            for(var8 = 0; var8 < this.anInt2420; ++var8) {
               var9 = 0.0F;
               var10 = var8 * this.anInt2421;

               for(var11 = 0; var11 < this.anInt2421; ++var11) {
                  float var17 = (float)this.anIntArray2417[var10] * var15 + var16 + var9;
                  this.aFloatArrayArray2418[var8][var11] = var17;
                  if(var6) {
                     var9 = var17;
                  }

                  ++var10;
               }
            }
         }
      }

   }

   void method3468() {
      int[] var1 = new int[this.anInt2420];
      int[] var2 = new int[33];

      int var3;
      int var4;
      int var5;
      int var6;
      int var7;
      int var8;
      int var10;
      for(var3 = 0; var3 < this.anInt2420; ++var3) {
         var4 = this.anIntArray2419[var3];
         if(var4 != 0) {
            var5 = 1 << 32 - var4;
            var6 = var2[var4];
            var1[var3] = var6;
            int var9;
            if((var6 & var5) != 0) {
               var7 = var2[var4 - 1];
            } else {
               var7 = var6 | var5;

               for(var8 = var4 - 1; var8 >= 1; --var8) {
                  var9 = var2[var8];
                  if(var9 != var6) {
                     break;
                  }

                  var10 = 1 << 32 - var8;
                  if((var9 & var10) != 0) {
                     var2[var8] = var2[var8 - 1];
                     break;
                  }

                  var2[var8] = var9 | var10;
               }
            }

            var2[var4] = var7;

            for(var8 = var4 + 1; var8 <= 32; ++var8) {
               var9 = var2[var8];
               if(var9 == var6) {
                  var2[var8] = var7;
               }
            }
         }
      }

      this.anIntArray2422 = new int[8];
      int var11 = 0;

      for(var3 = 0; var3 < this.anInt2420; ++var3) {
         var4 = this.anIntArray2419[var3];
         if(var4 != 0) {
            var5 = var1[var3];
            var6 = 0;

            for(var7 = 0; var7 < var4; ++var7) {
               var8 = Integer.MIN_VALUE >>> var7;
               if((var5 & var8) != 0) {
                  if(this.anIntArray2422[var6] == 0) {
                     this.anIntArray2422[var6] = var11;
                  }

                  var6 = this.anIntArray2422[var6];
               } else {
                  ++var6;
               }

               if(var6 >= this.anIntArray2422.length) {
                  int[] var12 = new int[this.anIntArray2422.length * 2];

                  for(var10 = 0; var10 < this.anIntArray2422.length; ++var10) {
                     var12[var10] = this.anIntArray2422[var10];
                  }

                  this.anIntArray2422 = var12;
               }

               var8 >>>= 1;
            }

            this.anIntArray2422[var6] = ~var3;
            if(var6 >= var11) {
               var11 = var6 + 1;
            }
         }
      }

   }

   void method3469() {
      int[] var1 = new int[this.anInt2420];
      int[] var2 = new int[33];

      int var3;
      int var4;
      int var5;
      int var6;
      int var7;
      int var8;
      int var10;
      for(var3 = 0; var3 < this.anInt2420; ++var3) {
         var4 = this.anIntArray2419[var3];
         if(var4 != 0) {
            var5 = 1 << 32 - var4;
            var6 = var2[var4];
            var1[var3] = var6;
            int var9;
            if((var6 & var5) != 0) {
               var7 = var2[var4 - 1];
            } else {
               var7 = var6 | var5;

               for(var8 = var4 - 1; var8 >= 1; --var8) {
                  var9 = var2[var8];
                  if(var9 != var6) {
                     break;
                  }

                  var10 = 1 << 32 - var8;
                  if((var9 & var10) != 0) {
                     var2[var8] = var2[var8 - 1];
                     break;
                  }

                  var2[var8] = var9 | var10;
               }
            }

            var2[var4] = var7;

            for(var8 = var4 + 1; var8 <= 32; ++var8) {
               var9 = var2[var8];
               if(var9 == var6) {
                  var2[var8] = var7;
               }
            }
         }
      }

      this.anIntArray2422 = new int[8];
      int var11 = 0;

      for(var3 = 0; var3 < this.anInt2420; ++var3) {
         var4 = this.anIntArray2419[var3];
         if(var4 != 0) {
            var5 = var1[var3];
            var6 = 0;

            for(var7 = 0; var7 < var4; ++var7) {
               var8 = Integer.MIN_VALUE >>> var7;
               if((var5 & var8) != 0) {
                  if(this.anIntArray2422[var6] == 0) {
                     this.anIntArray2422[var6] = var11;
                  }

                  var6 = this.anIntArray2422[var6];
               } else {
                  ++var6;
               }

               if(var6 >= this.anIntArray2422.length) {
                  int[] var12 = new int[this.anIntArray2422.length * 2];

                  for(var10 = 0; var10 < this.anIntArray2422.length; ++var10) {
                     var12[var10] = this.anIntArray2422[var10];
                  }

                  this.anIntArray2422 = var12;
               }

               var8 >>>= 1;
            }

            this.anIntArray2422[var6] = ~var3;
            if(var6 >= var11) {
               var11 = var6 + 1;
            }
         }
      }

   }

   float[] method3470() {
      return this.aFloatArrayArray2418[this.method3472()];
   }

   static int method3471(int var0, int var1) {
      int var2;
      for(var2 = (int)Math.pow((double)var0, 1.0D / (double)var1) + 1; Class569.method12159(var2, var1, (short)16661) > var0; --var2) {
         ;
      }

      return var2;
   }

   int method3472() {
      int var1;
      for(var1 = 0; this.anIntArray2422[var1] >= 0; var1 = Class225_Sub20.method13645() != 0?this.anIntArray2422[var1]:var1 + 1) {
         ;
      }

      return ~this.anIntArray2422[var1];
   }

   void method3473() {
      int[] var1 = new int[this.anInt2420];
      int[] var2 = new int[33];

      int var3;
      int var4;
      int var5;
      int var6;
      int var7;
      int var8;
      int var10;
      for(var3 = 0; var3 < this.anInt2420; ++var3) {
         var4 = this.anIntArray2419[var3];
         if(var4 != 0) {
            var5 = 1 << 32 - var4;
            var6 = var2[var4];
            var1[var3] = var6;
            int var9;
            if((var6 & var5) != 0) {
               var7 = var2[var4 - 1];
            } else {
               var7 = var6 | var5;

               for(var8 = var4 - 1; var8 >= 1; --var8) {
                  var9 = var2[var8];
                  if(var9 != var6) {
                     break;
                  }

                  var10 = 1 << 32 - var8;
                  if((var9 & var10) != 0) {
                     var2[var8] = var2[var8 - 1];
                     break;
                  }

                  var2[var8] = var9 | var10;
               }
            }

            var2[var4] = var7;

            for(var8 = var4 + 1; var8 <= 32; ++var8) {
               var9 = var2[var8];
               if(var9 == var6) {
                  var2[var8] = var7;
               }
            }
         }
      }

      this.anIntArray2422 = new int[8];
      int var11 = 0;

      for(var3 = 0; var3 < this.anInt2420; ++var3) {
         var4 = this.anIntArray2419[var3];
         if(var4 != 0) {
            var5 = var1[var3];
            var6 = 0;

            for(var7 = 0; var7 < var4; ++var7) {
               var8 = Integer.MIN_VALUE >>> var7;
               if((var5 & var8) != 0) {
                  if(this.anIntArray2422[var6] == 0) {
                     this.anIntArray2422[var6] = var11;
                  }

                  var6 = this.anIntArray2422[var6];
               } else {
                  ++var6;
               }

               if(var6 >= this.anIntArray2422.length) {
                  int[] var12 = new int[this.anIntArray2422.length * 2];

                  for(var10 = 0; var10 < this.anIntArray2422.length; ++var10) {
                     var12[var10] = this.anIntArray2422[var10];
                  }

                  this.anIntArray2422 = var12;
               }

               var8 >>>= 1;
            }

            this.anIntArray2422[var6] = ~var3;
            if(var6 >= var11) {
               var11 = var6 + 1;
            }
         }
      }

   }

   int method3474() {
      int var1;
      for(var1 = 0; this.anIntArray2422[var1] >= 0; var1 = Class225_Sub20.method13645() != 0?this.anIntArray2422[var1]:var1 + 1) {
         ;
      }

      return ~this.anIntArray2422[var1];
   }

   static int method3475(int var0, int var1) {
      int var2;
      for(var2 = (int)Math.pow((double)var0, 1.0D / (double)var1) + 1; Class569.method12159(var2, var1, (short)7129) > var0; --var2) {
         ;
      }

      return var2;
   }

   void method3476() {
      int[] var1 = new int[this.anInt2420];
      int[] var2 = new int[33];

      int var3;
      int var4;
      int var5;
      int var6;
      int var7;
      int var8;
      int var10;
      for(var3 = 0; var3 < this.anInt2420; ++var3) {
         var4 = this.anIntArray2419[var3];
         if(var4 != 0) {
            var5 = 1 << 32 - var4;
            var6 = var2[var4];
            var1[var3] = var6;
            int var9;
            if((var6 & var5) != 0) {
               var7 = var2[var4 - 1];
            } else {
               var7 = var6 | var5;

               for(var8 = var4 - 1; var8 >= 1; --var8) {
                  var9 = var2[var8];
                  if(var9 != var6) {
                     break;
                  }

                  var10 = 1 << 32 - var8;
                  if((var9 & var10) != 0) {
                     var2[var8] = var2[var8 - 1];
                     break;
                  }

                  var2[var8] = var9 | var10;
               }
            }

            var2[var4] = var7;

            for(var8 = var4 + 1; var8 <= 32; ++var8) {
               var9 = var2[var8];
               if(var9 == var6) {
                  var2[var8] = var7;
               }
            }
         }
      }

      this.anIntArray2422 = new int[8];
      int var11 = 0;

      for(var3 = 0; var3 < this.anInt2420; ++var3) {
         var4 = this.anIntArray2419[var3];
         if(var4 != 0) {
            var5 = var1[var3];
            var6 = 0;

            for(var7 = 0; var7 < var4; ++var7) {
               var8 = Integer.MIN_VALUE >>> var7;
               if((var5 & var8) != 0) {
                  if(this.anIntArray2422[var6] == 0) {
                     this.anIntArray2422[var6] = var11;
                  }

                  var6 = this.anIntArray2422[var6];
               } else {
                  ++var6;
               }

               if(var6 >= this.anIntArray2422.length) {
                  int[] var12 = new int[this.anIntArray2422.length * 2];

                  for(var10 = 0; var10 < this.anIntArray2422.length; ++var10) {
                     var12[var10] = this.anIntArray2422[var10];
                  }

                  this.anIntArray2422 = var12;
               }

               var8 >>>= 1;
            }

            this.anIntArray2422[var6] = ~var3;
            if(var6 >= var11) {
               var11 = var6 + 1;
            }
         }
      }

   }

   float[] method3477() {
      return this.aFloatArrayArray2418[this.method3472()];
   }

   float[] method3478() {
      return this.aFloatArrayArray2418[this.method3472()];
   }
}
