home *** CD-ROM | disk | FTP | other *** search
/ CD Actual Thematic 7: Programming / CDAT7.iso / Share / Java / AnfyJava14 / data1.cab / Program_Files / Applet / water / AnWater.class (.txt) < prev    next >
Encoding:
Java Class File  |  1999-04-19  |  24.3 KB  |  2,281 lines

  1. import java.applet.Applet;
  2. import java.awt.Color;
  3. import java.awt.Component;
  4. import java.awt.Container;
  5. import java.awt.Event;
  6. import java.awt.Font;
  7. import java.awt.FontMetrics;
  8. import java.awt.Frame;
  9. import java.awt.Graphics;
  10. import java.awt.Image;
  11. import java.awt.Label;
  12. import java.awt.LayoutManager;
  13. import java.awt.MediaTracker;
  14. import java.awt.Panel;
  15. import java.awt.Toolkit;
  16. import java.awt.image.DirectColorModel;
  17. import java.awt.image.ImageObserver;
  18. import java.awt.image.MemoryImageSource;
  19. import java.awt.image.PixelGrabber;
  20. import java.io.ByteArrayOutputStream;
  21. import java.io.DataInputStream;
  22. import java.io.FilterInputStream;
  23. import java.io.IOException;
  24. import java.io.InputStream;
  25. import java.io.OutputStream;
  26. import java.net.MalformedURLException;
  27. import java.net.URL;
  28.  
  29. public class AnWater extends Applet implements Runnable, ImageObserver {
  30.    // $FF: renamed from: a int
  31.    private int field_0;
  32.    // $FF: renamed from: b java.awt.Frame
  33.    Frame field_1;
  34.    // $FF: renamed from: c double
  35.    double field_2;
  36.    // $FF: renamed from: d double
  37.    double field_3 = -0.6;
  38.    // $FF: renamed from: e boolean
  39.    boolean field_4 = false;
  40.    // $FF: renamed from: f java.lang.String
  41.    final String field_5 = method_23("!\u0013\r\r\u000f\u0014C\u001f\u0018J&\u0002\u001f\b\u0005@ \u0014\u0014\t\u0003\n]I\u001d\u0017\u0014S\u0000\u0004\u0006");
  42.    // $FF: renamed from: g int
  43.    int field_6;
  44.    // $FF: renamed from: h int
  45.    int field_7;
  46.    // $FF: renamed from: i int
  47.    int field_8;
  48.    // $FF: renamed from: j int
  49.    int field_9;
  50.    // $FF: renamed from: k int
  51.    int field_10;
  52.    // $FF: renamed from: l int
  53.    int field_11;
  54.    // $FF: renamed from: m int
  55.    int field_12;
  56.    // $FF: renamed from: n int
  57.    int field_13;
  58.    // $FF: renamed from: o boolean
  59.    boolean field_14;
  60.    // $FF: renamed from: p int
  61.    int field_15;
  62.    // $FF: renamed from: q int
  63.    int field_16;
  64.    // $FF: renamed from: r int
  65.    int field_17;
  66.    // $FF: renamed from: s long
  67.    long field_18;
  68.    // $FF: renamed from: t int
  69.    int field_19;
  70.    // $FF: renamed from: u int
  71.    int field_20;
  72.    // $FF: renamed from: v boolean
  73.    boolean field_21 = false;
  74.    // $FF: renamed from: w int[]
  75.    int[] field_22;
  76.    // $FF: renamed from: x int
  77.    int field_23;
  78.    // $FF: renamed from: y int
  79.    int field_24;
  80.    // $FF: renamed from: z boolean
  81.    boolean field_25;
  82.    // $FF: renamed from: A int
  83.    int field_26;
  84.    // $FF: renamed from: B int
  85.    int field_27;
  86.    // $FF: renamed from: C int
  87.    int field_28;
  88.    // $FF: renamed from: D int
  89.    int field_29;
  90.    // $FF: renamed from: E java.awt.Font
  91.    Font field_30;
  92.    // $FF: renamed from: F int
  93.    int field_31;
  94.    // $FF: renamed from: G java.awt.Graphics
  95.    private Graphics field_32;
  96.    // $FF: renamed from: H int
  97.    int field_33;
  98.    // $FF: renamed from: I float[]
  99.    float[] field_34;
  100.    // $FF: renamed from: J float[]
  101.    float[] field_35;
  102.    // $FF: renamed from: K float
  103.    float field_36;
  104.    // $FF: renamed from: L float
  105.    float field_37;
  106.    // $FF: renamed from: M int
  107.    int field_38;
  108.    // $FF: renamed from: N int
  109.    int field_39;
  110.    // $FF: renamed from: O java.awt.Image
  111.    private Image field_40;
  112.    // $FF: renamed from: P boolean
  113.    boolean field_41;
  114.    // $FF: renamed from: Q int
  115.    int field_42;
  116.    // $FF: renamed from: R boolean
  117.    boolean field_43 = false;
  118.    // $FF: renamed from: S int
  119.    int field_44;
  120.    // $FF: renamed from: T boolean
  121.    boolean field_45;
  122.    // $FF: renamed from: U java.lang.String[]
  123.    String[] field_46;
  124.    // $FF: renamed from: V java.net.URL
  125.    URL field_47;
  126.    // $FF: renamed from: W int
  127.    int field_48;
  128.    // $FF: renamed from: X int
  129.    int field_49;
  130.    // $FF: renamed from: Y int
  131.    int field_50;
  132.    // $FF: renamed from: Z int
  133.    int field_51;
  134.    // $FF: renamed from: ba java.lang.String
  135.    String field_52;
  136.    // $FF: renamed from: bb java.lang.String
  137.    String field_53;
  138.    // $FF: renamed from: bc java.lang.String
  139.    String field_54;
  140.    // $FF: renamed from: bd java.lang.String
  141.    String field_55;
  142.    // $FF: renamed from: be java.lang.String
  143.    String field_56;
  144.    // $FF: renamed from: bf java.lang.String
  145.    String field_57;
  146.    // $FF: renamed from: bg java.lang.String
  147.    String field_58;
  148.    // $FF: renamed from: bh java.lang.String
  149.    String field_59;
  150.    // $FF: renamed from: bi java.lang.String
  151.    String field_60;
  152.    // $FF: renamed from: bj java.lang.String
  153.    String field_61;
  154.    // $FF: renamed from: bk java.lang.String
  155.    String field_62;
  156.    // $FF: renamed from: bl java.lang.String
  157.    String field_63;
  158.    // $FF: renamed from: bm java.lang.String
  159.    String field_64;
  160.    // $FF: renamed from: bn java.lang.String
  161.    String field_65;
  162.    // $FF: renamed from: bo java.lang.String
  163.    String field_66;
  164.    // $FF: renamed from: bp int
  165.    int field_67;
  166.    // $FF: renamed from: bq int
  167.    int field_68;
  168.    // $FF: renamed from: br int
  169.    int field_69;
  170.    // $FF: renamed from: bs boolean
  171.    boolean field_70 = false;
  172.    // $FF: renamed from: bt int
  173.    int field_71;
  174.    // $FF: renamed from: bu int
  175.    int field_72;
  176.    // $FF: renamed from: bv int
  177.    int field_73;
  178.    // $FF: renamed from: bw java.awt.Graphics
  179.    private Graphics field_74;
  180.    // $FF: renamed from: bx java.awt.Image
  181.    private Image field_75;
  182.    // $FF: renamed from: by boolean
  183.    boolean field_76;
  184.    // $FF: renamed from: bz boolean
  185.    boolean field_77 = false;
  186.    // $FF: renamed from: bA int
  187.    int field_78;
  188.    // $FF: renamed from: bB int
  189.    int field_79;
  190.    // $FF: renamed from: bC java.awt.Image
  191.    private Image field_80;
  192.    // $FF: renamed from: bD int
  193.    int field_81;
  194.    // $FF: renamed from: bE int
  195.    int field_82;
  196.    // $FF: renamed from: bF int
  197.    int field_83;
  198.    // $FF: renamed from: bG int
  199.    int field_84;
  200.    // $FF: renamed from: bH float
  201.    float field_85;
  202.    // $FF: renamed from: bI int
  203.    int field_86;
  204.    // $FF: renamed from: bJ int
  205.    int field_87;
  206.    // $FF: renamed from: bK anfy
  207.    anfy field_88;
  208.    // $FF: renamed from: bL java.awt.image.MemoryImageSource
  209.    MemoryImageSource field_89;
  210.    // $FF: renamed from: bM int
  211.    int field_90;
  212.    // $FF: renamed from: bN int
  213.    int field_91;
  214.    // $FF: renamed from: bO int
  215.    int field_92;
  216.    // $FF: renamed from: bP int
  217.    int field_93;
  218.    // $FF: renamed from: bQ int
  219.    int field_94;
  220.    // $FF: renamed from: bR float
  221.    float field_95;
  222.    // $FF: renamed from: bS int
  223.    int field_96;
  224.    // $FF: renamed from: bT int
  225.    int field_97;
  226.    // $FF: renamed from: bU boolean
  227.    boolean field_98 = false;
  228.    // $FF: renamed from: bV int
  229.    int field_99 = 1;
  230.    // $FF: renamed from: bW int
  231.    int field_100;
  232.    // $FF: renamed from: bX java.lang.String
  233.    String field_101;
  234.    // $FF: renamed from: bY int
  235.    int field_102;
  236.    // $FF: renamed from: bZ int
  237.    int field_103;
  238.    // $FF: renamed from: ca int
  239.    int field_104;
  240.    // $FF: renamed from: cb java.awt.Color
  241.    Color field_105;
  242.    // $FF: renamed from: cc int
  243.    int field_106;
  244.    // $FF: renamed from: cd int
  245.    int field_107;
  246.    // $FF: renamed from: ce int
  247.    int field_108;
  248.    // $FF: renamed from: cf int
  249.    int field_109;
  250.    // $FF: renamed from: cg int
  251.    int field_110;
  252.    // $FF: renamed from: ch int
  253.    int field_111;
  254.    // $FF: renamed from: ci int[]
  255.    int[] field_112;
  256.    // $FF: renamed from: cj int[]
  257.    int[] field_113;
  258.    // $FF: renamed from: ck int[]
  259.    int[] field_114;
  260.    // $FF: renamed from: cl int
  261.    int field_115;
  262.    // $FF: renamed from: cm int
  263.    int field_116;
  264.    // $FF: renamed from: cn int
  265.    int field_117;
  266.    // $FF: renamed from: co java.lang.String
  267.    String field_118;
  268.    // $FF: renamed from: cp java.awt.Color
  269.    Color field_119;
  270.    // $FF: renamed from: cq int
  271.    int field_120;
  272.    // $FF: renamed from: cr int
  273.    int field_121;
  274.    // $FF: renamed from: cs boolean
  275.    boolean field_122;
  276.    // $FF: renamed from: ct boolean
  277.    boolean field_123;
  278.    // $FF: renamed from: cu java.awt.Toolkit
  279.    Toolkit field_124;
  280.    // $FF: renamed from: cv java.lang.Thread
  281.    Thread field_125;
  282.    // $FF: renamed from: cw int
  283.    int field_126;
  284.    // $FF: renamed from: cx int
  285.    int field_127;
  286.    // $FF: renamed from: cy int
  287.    int field_128;
  288.    // $FF: renamed from: cz int
  289.    int field_129;
  290.    // $FF: renamed from: cA int
  291.    int field_130;
  292.    // $FF: renamed from: cB int
  293.    int field_131;
  294.    // $FF: renamed from: cC short[]
  295.    short[] field_132;
  296.    // $FF: renamed from: cD short[]
  297.    short[] field_133;
  298.    // $FF: renamed from: cE short[]
  299.    short[] field_134;
  300.    // $FF: renamed from: cF int[]
  301.    int[] field_135;
  302.    // $FF: renamed from: cG int
  303.    int field_136;
  304.    // $FF: renamed from: cH Lware
  305.    Lware field_137;
  306.    // $FF: renamed from: cI int
  307.    int field_138;
  308.    // $FF: renamed from: cJ int
  309.    int field_139;
  310.    // $FF: renamed from: cK int
  311.    int field_140;
  312.    // $FF: renamed from: cL int
  313.    int field_141;
  314.    // $FF: renamed from: cM int
  315.    int field_142;
  316.    // $FF: renamed from: cN int
  317.    int field_143;
  318.    // $FF: renamed from: cO int
  319.    int field_144;
  320.    // $FF: renamed from: cP int
  321.    int field_145;
  322.    // $FF: renamed from: cQ java.awt.Font[]
  323.    Font[] field_146;
  324.  
  325.    // $FF: renamed from: a () void
  326.    private final void method_0() {
  327.       while(true) {
  328.          ((Applet)this).showStatus(method_23("$\f\u0013F\u001e@\u0011\u0018\f\u0005\u0016\u0006]\u0016\u001d\u0017M\u001c\u000f\f\u0019\t\u001c\u0017\u000bN\u0000\u0012\fJ\u0003\u0011\u0018\u0005\u0003\u0014\u0010]\r\u0003\u000e\u0006]\b\u0004@+),&A"));
  329.  
  330.          try {
  331.             Thread.sleep(500L);
  332.          } catch (InterruptedException var1) {
  333.          }
  334.       }
  335.    }
  336.  
  337.    // $FF: renamed from: b () boolean
  338.    public synchronized boolean method_1() {
  339.       ((Component)this).prepareImage(this.field_80, this);
  340.       if (!this.field_43) {
  341.          return false;
  342.       } else {
  343.          for(int var1 = 0; var1 < 3; ++var1) {
  344.             this.notifyAll();
  345.             Thread.yield();
  346.  
  347.             try {
  348.                Thread.sleep(100L);
  349.             } catch (InterruptedException var2) {
  350.             }
  351.          }
  352.  
  353.          return this.field_77;
  354.       }
  355.    }
  356.  
  357.    // $FF: renamed from: c () void
  358.    final void method_2() {
  359.       float var2 = this.field_85;
  360.       float[] var1;
  361.       if (this.field_38 == 1) {
  362.          var1 = this.field_35;
  363.       } else {
  364.          var1 = this.field_34;
  365.       }
  366.  
  367.       boolean var3 = true;
  368.       float var4 = 0.0F;
  369.       this.field_90 = 6 + (int)(Math.random() * (double)this.field_136) % (this.field_136 - 12);
  370.       this.field_91 = 6 + (int)(Math.random() * (double)this.field_33) % (this.field_33 - 14);
  371.  
  372.       for(int var5 = -2; var5 < 3; ++var5) {
  373.          for(this.field_140 = 0; this.field_140 < this.field_33; ++this.field_140) {
  374.             if (var5 == 0) {
  375.                var4 = var2;
  376.             } else if (var5 == 1) {
  377.                var4 = var2 / 2.0F;
  378.             } else if (var5 == 2) {
  379.                var4 = var2 / 4.0F;
  380.             } else if (var5 == -1) {
  381.                var4 = var2 / 2.0F;
  382.             } else if (var5 == -2) {
  383.                var4 = var2 / 4.0F;
  384.             }
  385.  
  386.             int var10001 = this.field_136 * this.field_140 + this.field_90 + var5;
  387.             var1[var10001] += var4;
  388.          }
  389.       }
  390.  
  391.       for(int var6 = -2; var6 < 3; ++var6) {
  392.          for(this.field_138 = 0; this.field_138 < this.field_136; ++this.field_138) {
  393.             if (var6 == 0) {
  394.                var4 = var2;
  395.             } else if (var6 == 1) {
  396.                var4 = var2 / 2.0F;
  397.             } else if (var6 == 2) {
  398.                var4 = var2 / 4.0F;
  399.             } else if (var6 == -1) {
  400.                var4 = var2 / 2.0F;
  401.             } else if (var6 == -2) {
  402.                var4 = var2 / 4.0F;
  403.             }
  404.  
  405.             int var7 = this.field_136 * (this.field_91 + var6) + this.field_138;
  406.             var1[var7] += var4;
  407.          }
  408.       }
  409.  
  410.    }
  411.  
  412.    public void destroy() {
  413.       if (this.field_80 != null) {
  414.          this.field_80.flush();
  415.       }
  416.  
  417.       this.field_80 = null;
  418.       if (this.field_75 != null) {
  419.          this.field_75.flush();
  420.       }
  421.  
  422.       this.field_75 = null;
  423.       if (this.field_74 != null) {
  424.          this.field_74.dispose();
  425.       }
  426.  
  427.       this.field_74 = null;
  428.       System.gc();
  429.    }
  430.  
  431.    // $FF: renamed from: a (int) void
  432.    final synchronized void method_3(int var1) {
  433.       ++var1;
  434.       float var3 = this.field_85;
  435.       float[] var2;
  436.       if (this.field_38 == 1) {
  437.          var2 = this.field_35;
  438.       } else {
  439.          var2 = this.field_34;
  440.       }
  441.  
  442.       float var5 = (float)var1 - 1.5F;
  443.       this.field_138 = this.field_28;
  444.       this.field_140 = this.field_29;
  445.       if (var1 == 2) {
  446.          var2[this.field_136 * this.field_140 + this.field_138] = (float)((int)(Math.random() * (double)var3)) % var3;
  447.       } else {
  448.          this.field_100 = var1 * var1;
  449.          float var4 = var5 * var5;
  450.          float var7 = (float)this.field_100 - var4;
  451.  
  452.          for(this.field_16 = -var1; this.field_16 < var1; ++this.field_16) {
  453.             this.field_17 = this.field_16 * this.field_16;
  454.  
  455.             for(this.field_15 = -var1; this.field_15 < var1; ++this.field_15) {
  456.                int var6 = this.field_15 * this.field_15 + this.field_17;
  457.                if (var6 < this.field_100) {
  458.                   if ((float)var6 > var4) {
  459.                      float var8 = (float)var6 - var4;
  460.                      var8 /= var7;
  461.                      int var10001 = this.field_136 * (this.field_16 + this.field_140) + this.field_15 + this.field_138;
  462.                      var2[var10001] += var3 - var8 * var3;
  463.                   } else {
  464.                      int var11 = this.field_136 * (this.field_16 + this.field_140) + this.field_15 + this.field_138;
  465.                      var2[var11] += var3;
  466.                   }
  467.                }
  468.             }
  469.          }
  470.  
  471.       }
  472.    }
  473.  
  474.    // $FF: renamed from: a (java.lang.String) java.awt.Image
  475.    Image method_4(String var1) {
  476.       try {
  477.          return this.method_5(var1);
  478.       } catch (NoSuchMethodError var2) {
  479.          return this.method_5(var1);
  480.       }
  481.    }
  482.  
  483.    // $FF: renamed from: b (java.lang.String) java.awt.Image
  484.    synchronized Image method_5(String var1) {
  485.       URL var2 = null;
  486.       Image var3 = null;
  487.  
  488.       try {
  489.          var2 = new URL(((Applet)this).getDocumentBase(), var1);
  490.       } catch (MalformedURLException var14) {
  491.       }
  492.  
  493.       try {
  494.          try {
  495.             InputStream var4 = this.getClass().getResourceAsStream(var2.toString());
  496.             if (var4 != null) {
  497.                ByteArrayOutputStream var5 = new ByteArrayOutputStream(1024);
  498.                byte[] var6 = new byte[512];
  499.                boolean var8 = false;
  500.                Object var9 = null;
  501.  
  502.                try {
  503.                   while(!var8) {
  504.                      int var7 = var4.read(var6, 0, 512);
  505.                      if (var7 != -1) {
  506.                         var5.write(var6, 0, var7);
  507.                         ((OutputStream)var5).flush();
  508.                      } else {
  509.                         var8 = true;
  510.                      }
  511.                   }
  512.  
  513.                   var21 = var5.toByteArray();
  514.                   ((OutputStream)var5).close();
  515.                   var4.close();
  516.                } catch (IOException var15) {
  517.                   var21 = null;
  518.                }
  519.  
  520.                System.gc();
  521.                if (var21 != null) {
  522.                   var3 = ((Component)this).getToolkit().createImage(var21);
  523.                   ((Component)this).prepareImage(var3, this);
  524.                }
  525.             }
  526.          } catch (NoSuchMethodError var16) {
  527.          }
  528.       } catch (SecurityException var17) {
  529.       }
  530.  
  531.       if (var3 == null) {
  532.          int var18 = 0;
  533.  
  534.          while(var18 < 5) {
  535.             try {
  536.                if (var18 % 2 == 0) {
  537.                   var3 = Toolkit.getDefaultToolkit().getImage(var2);
  538.                } else {
  539.                   var3 = ((Applet)this).getImage(var2);
  540.                }
  541.  
  542.                ++var18;
  543.                MediaTracker var20 = new MediaTracker(this);
  544.                this.notifyAll();
  545.                Thread.currentThread();
  546.                Thread.yield();
  547.  
  548.                try {
  549.                   var20.addImage(var3, 0);
  550.                   var20.waitForID(0);
  551.                } catch (InterruptedException var12) {
  552.                   var3 = null;
  553.                }
  554.  
  555.                if (var20.isErrorID(0)) {
  556.                   var3 = null;
  557.                } else {
  558.                   var18 = 6;
  559.                }
  560.             } catch (NullPointerException var13) {
  561.                System.gc();
  562.             }
  563.          }
  564.       }
  565.  
  566.       if (var3 == null) {
  567.          for(int var19 = 0; var19 < 25; ++var19) {
  568.             ((Applet)this).showStatus(method_23(")\u000e\u001c\u0006\u000f@") + var1 + method_23("@\r\u0012\u0015J\u0006\f\b\u000f\u000eA"));
  569.  
  570.             try {
  571.                Thread.currentThread();
  572.                Thread.sleep(250L);
  573.             } catch (InterruptedException var11) {
  574.             }
  575.          }
  576.       } else {
  577.          while(var3.getWidth(this) < 0) {
  578.             this.notifyAll();
  579.             Thread.currentThread();
  580.             Thread.yield();
  581.  
  582.             try {
  583.                Thread.currentThread();
  584.                Thread.sleep(100L);
  585.             } catch (InterruptedException var10) {
  586.             }
  587.          }
  588.       }
  589.  
  590.       return var3;
  591.    }
  592.  
  593.    // $FF: renamed from: a (java.lang.String, int) void
  594.    public void method_6(String var1, int var2) {
  595.       try {
  596.          this.method_7(var1, var2);
  597.       } catch (NoSuchMethodError var3) {
  598.          this.method_7(var1, var2);
  599.       }
  600.    }
  601.  
  602.    // $FF: renamed from: b (java.lang.String, int) void
  603.    public void method_7(String var1, int var2) {
  604.       try {
  605.          URL var3 = new URL(((Applet)this).getDocumentBase(), var1);
  606.  
  607.          try {
  608.             DataInputStream var4 = new DataInputStream(var3.openStream());
  609.             if (var4 != null) {
  610.                ByteArrayOutputStream var5 = new ByteArrayOutputStream(1024);
  611.                byte[] var6 = new byte[512];
  612.                int var7 = 0;
  613.                int var8 = 0;
  614.                boolean var9 = false;
  615.  
  616.                try {
  617.                   while(!var9) {
  618.                      var7 = var4.read(var6, 0, 512);
  619.                      if (var7 == -1) {
  620.                         var9 = true;
  621.                      } else {
  622.                         var5.write(var6, 0, var7);
  623.                         ((OutputStream)var5).flush();
  624.                         var8 += var7;
  625.                      }
  626.                   }
  627.  
  628.                   byte[] var10 = var5.toByteArray();
  629.                   ((OutputStream)var5).close();
  630.                   Object var26 = null;
  631.                   ((FilterInputStream)var4).close();
  632.                   System.gc();
  633.                   if (var2 != 0) {
  634.                      int var29 = 1;
  635.  
  636.                      for(int var13 = 0; var13 < var8; ++var13) {
  637.                         if (var10[var13] == 10) {
  638.                            ++var29;
  639.                         }
  640.                      }
  641.  
  642.                      this.field_46 = new String[var29 - 1];
  643.                      int[] var14 = new int[var29 + 1];
  644.                      int[] var15 = new int[var29 + 1];
  645.                      var14[0] = 0;
  646.                      int var16 = 0;
  647.                      byte var17 = 0;
  648.  
  649.                      for(int var18 = 0; var18 < var8; ++var18) {
  650.                         byte var28 = var10[var18];
  651.                         if (var28 == 10) {
  652.                            var14[var16 + 1] = var18 + 1;
  653.                            if (var17 == 13) {
  654.                               var15[var16] = var18 - var14[var16] - 1;
  655.                            } else {
  656.                               var15[var16] = var18 - var14[var16];
  657.                            }
  658.  
  659.                            ++var16;
  660.                         }
  661.  
  662.                         var17 = var28;
  663.                      }
  664.  
  665.                      var15[var16] = var8 - var14[var16 + 1] - 1;
  666.  
  667.                      try {
  668.                         for(int var19 = 0; var19 < var29 - 1; ++var19) {
  669.                            try {
  670.                               this.field_46[var19] = new String(var10, var14[var19], var15[var19]);
  671.                            } catch (NoSuchMethodError var20) {
  672.                               this.field_46[var19] = new String(var10, 0, var14[var19], var15[var19]);
  673.                            }
  674.                         }
  675.  
  676.                         return;
  677.                      } catch (StringIndexOutOfBoundsException var22) {
  678.                         this.field_46 = null;
  679.                         return;
  680.                      }
  681.                   }
  682.  
  683.                   for(int var12 = 0; var12 < var8; ++var12) {
  684.                      byte var11 = var10[var12];
  685.                      if (var11 == 13 || var11 == 10) {
  686.                         var10[var12] = 32;
  687.                      }
  688.                   }
  689.  
  690.                   try {
  691.                      this.field_101 = new String(var10);
  692.                      return;
  693.                   } catch (NoSuchMethodError var21) {
  694.                      this.field_101 = new String(var10, 0);
  695.                      return;
  696.                   }
  697.                } catch (IOException var23) {
  698.                   return;
  699.                }
  700.             }
  701.          } catch (IOException var24) {
  702.             return;
  703.          }
  704.       } catch (MalformedURLException var25) {
  705.       }
  706.  
  707.    }
  708.  
  709.    // $FF: renamed from: a (java.awt.Graphics) void
  710.    public void method_8(Graphics var1) {
  711.       var1.setFont(this.field_30);
  712.       if (this.field_0 == 0) {
  713.          this.field_141 = this.field_142;
  714.       } else {
  715.          this.field_42 += this.field_127;
  716.          this.field_141 = this.field_142 - (int)Math.abs((double)this.field_0 * Math.sin((double)this.field_42 / (double)90.0F * Math.PI));
  717.       }
  718.  
  719.       if (this.field_107 != 0) {
  720.          for(int var2 = 0; var2 < this.field_129; ++var2) {
  721.             int var3 = this.field_112[this.field_106 + var2];
  722.             var1.copyArea(var2, var3, 1, this.field_109, 0, this.field_96 - var3);
  723.          }
  724.  
  725.          if (this.field_123) {
  726.             var1.setColor(this.field_105);
  727.             var1.drawString(this.field_101, this.field_139 + 1, this.field_96 + this.field_102 + 1);
  728.          }
  729.  
  730.          var1.setColor(this.field_119);
  731.          var1.drawString(this.field_101, this.field_139, this.field_96 + this.field_102);
  732.  
  733.          for(int var4 = 0; var4 < this.field_129; ++var4) {
  734.             var1.copyArea(var4, this.field_96, 1, this.field_110, 0, this.field_113[this.field_106 + var4]);
  735.          }
  736.  
  737.          this.field_106 -= this.field_111;
  738.          if (this.field_106 < 0) {
  739.             this.field_106 += 360;
  740.          }
  741.       } else {
  742.          if (this.field_123) {
  743.             var1.setColor(this.field_105);
  744.             var1.drawString(this.field_101, this.field_139 + 1, this.field_141 + 1);
  745.          }
  746.  
  747.          var1.setColor(this.field_119);
  748.          var1.drawString(this.field_101, this.field_139, this.field_141);
  749.       }
  750.  
  751.       this.field_139 -= this.field_128;
  752.       if (this.field_139 < -this.field_103) {
  753.          this.field_139 = this.field_129;
  754.       }
  755.  
  756.    }
  757.  
  758.    public boolean imageUpdate(Image var1, int var2, int var3, int var4, int var5, int var6) {
  759.       if (var1 == this.field_80) {
  760.          if (var2 == 16) {
  761.             this.field_77 = true;
  762.          }
  763.  
  764.          return true;
  765.       } else {
  766.          return true;
  767.       }
  768.    }
  769.  
  770.    public void init() {
  771.       ((Container)this).setLayout((LayoutManager)null);
  772.       ((Panel)this).addNotify();
  773.       this.field_124 = ((Component)this).getToolkit();
  774.       this.field_118 = ((Applet)this).getParameter(method_23("\u0013\u0017\u001c\u0015\u001f\u0013\u000e\u000e\u0006"));
  775.       Object var1 = null;
  776.       String var38 = ((Applet)this).getParameter(method_23("\u0003\u0011\u0018\u0005\u0003\u0014\u0010"));
  777.       if (var38 != null) {
  778.          if (!var38.startsWith(method_23("!\u0013\r\r\u000f\u0014C\u001f\u0018J&\u0002\u001f\b\u0005@ \u0014\u0014\t\u0003\n]I\u001d\u0017\u0014S\u0000\u0004\u0006"))) {
  779.             this.method_0();
  780.          }
  781.       } else {
  782.          this.method_0();
  783.       }
  784.  
  785.       Object var2 = null;
  786.       Object var3 = null;
  787.  
  788.       try {
  789.          var39 = ((Applet)this).getDocumentBase().getProtocol();
  790.       } catch (SecurityException var35) {
  791.          var39 = method_23("\u0006\n\u0011\u0004");
  792.       }
  793.  
  794.       try {
  795.          var40 = ((Applet)this).getDocumentBase().getHost();
  796.       } catch (SecurityException var34) {
  797.          var40 = "";
  798.       }
  799.  
  800.       if (!var39.equalsIgnoreCase(method_23("\u0006\n\u0011\u0004")) && var40.length() != 0 && !var40.equalsIgnoreCase(method_23("\f\f\u001e\u0000\u0006\b\f\u000e\u0015")) && !var40.equals(method_23("QQJOZNSSP"))) {
  801.          if (var40.startsWith(method_23("\u0017\u0014\nO"))) {
  802.             var40 = var40.substring(4);
  803.          }
  804.  
  805.          Object var4 = null;
  806.          String var41 = ((Applet)this).getParameter(method_23("\u0012\u0006\u001a\u0002\u0005\u0004\u0006"));
  807.          if (var41 != null && !var41.equals("NO") && var41.length() > 10) {
  808.             int var5 = 1;
  809.  
  810.             try {
  811.                for(int var6 = 0; var6 < var41.length(); ++var6) {
  812.                   if (var41.charAt(var6) == '+') {
  813.                      ++var5;
  814.                   }
  815.                }
  816.             } catch (StringIndexOutOfBoundsException var37) {
  817.             }
  818.  
  819.             int[] var44 = new int[var5];
  820.             if (var5 == 1) {
  821.                var44[0] = var41.length();
  822.             } else {
  823.                int var7 = 0;
  824.  
  825.                try {
  826.                   for(int var8 = 0; var8 < var41.length(); ++var8) {
  827.                      if (var41.charAt(var8) == '+') {
  828.                         var44[var7] = var8;
  829.                         ++var7;
  830.                      }
  831.                   }
  832.                } catch (StringIndexOutOfBoundsException var36) {
  833.                }
  834.  
  835.                var44[var7] = var41.length();
  836.             }
  837.  
  838.             String[] var46 = new String[var5];
  839.             int var48 = 0;
  840.  
  841.             for(int var9 = 0; var9 < var5; ++var9) {
  842.                try {
  843.                   var46[var9] = var41.substring(var48, var44[var9]);
  844.                } catch (StringIndexOutOfBoundsException var33) {
  845.                }
  846.  
  847.                var48 = var44[var9] + 1;
  848.             }
  849.  
  850.             for(int var10 = 0; var10 < var5; ++var10) {
  851.                int var11 = var46[var10].length() - 8;
  852.                byte[] var15 = new byte[var11];
  853.                byte[] var16 = new byte[8];
  854.                var46[var10].getBytes(0, var11, var15, 0);
  855.                var46[var10].getBytes(var11, var11 + 8, var16, 0);
  856.                int var13 = var11 % 7;
  857.                int var14 = var11 % 3;
  858.  
  859.                for(int var17 = 0; var17 < var11; ++var17) {
  860.                   byte var12 = var15[var17];
  861.                   if (var12 >= 48 && var12 <= 57) {
  862.                      var15[var17] = this.method_15(var12, var13, 48, 57);
  863.                   } else if (var12 >= 65 && var12 <= 90) {
  864.                      var15[var17] = this.method_15(var12, var13, 65, 90);
  865.                   } else if (var12 >= 97 && var12 <= 122) {
  866.                      var15[var17] = this.method_15(var12, var13, 97, 122);
  867.                   } else if (var12 == 45) {
  868.                      var15[var17] = 46;
  869.                   } else if (var12 == 46) {
  870.                      var15[var17] = 45;
  871.                   }
  872.  
  873.                   if ((var13 += var14) > 7) {
  874.                      var13 = 1;
  875.                   }
  876.                }
  877.  
  878.                int var18 = 0;
  879.                int var19 = 0;
  880.  
  881.                for(int var20 = 0; var20 < 4; ++var20) {
  882.                   var16[var20] = (byte)(var16[var20] - 52);
  883.                }
  884.  
  885.                for(int var21 = 4; var21 < 8; ++var21) {
  886.                   var16[var21] = (byte)(var16[var21] - 55);
  887.                }
  888.  
  889.                for(int var22 = 0; var22 < var11; var22 += 2) {
  890.                   var18 += var15[var22];
  891.                }
  892.  
  893.                for(int var23 = 1; var23 < var11; var23 += 2) {
  894.                   var19 += var15[var23];
  895.                }
  896.  
  897.                String var24 = String.valueOf(var18);
  898.  
  899.                String var25;
  900.                for(var25 = String.valueOf(var19); var24.length() < 4; var24 = "0" + var24) {
  901.                }
  902.  
  903.                while(var25.length() < 4) {
  904.                   var25 = "0" + var25;
  905.                }
  906.  
  907.                byte[] var26 = new byte[8];
  908.                var24.getBytes(0, 4, var26, 0);
  909.                var25.getBytes(0, 4, var26, 4);
  910.                String var27 = new String(var26, 0);
  911.                if (var27.equals(new String(var16, 0))) {
  912.                   String var28 = new String(var15, 0);
  913.                   Object var29 = null;
  914.                   String var57;
  915.                   if (var28.startsWith(method_23("\u0017\u0014\nO"))) {
  916.                      var57 = var28.substring(4);
  917.                   } else {
  918.                      var57 = var28;
  919.                   }
  920.  
  921.                   if (var40.equalsIgnoreCase(var57)) {
  922.                      this.field_98 = true;
  923.                   }
  924.                }
  925.             }
  926.          }
  927.       } else {
  928.          this.field_98 = true;
  929.       }
  930.  
  931.       String var42 = ((Applet)this).getParameter(method_23("\u0012\u0006\u001a\r\u0003\u000e\b"));
  932.       if (var42 != null && !var42.equalsIgnoreCase("NO")) {
  933.          try {
  934.             this.field_47 = new URL(((Applet)this).getDocumentBase(), var42);
  935.          } catch (MalformedURLException var32) {
  936.             this.field_47 = null;
  937.          }
  938.       }
  939.  
  940.       String var43 = ((Applet)this).getParameter(method_23("\u0012\u0006\u001a\u000f\u000f\u0017\u0005\u000f\u0000\u0007\u0005"));
  941.       if (var43.equalsIgnoreCase(method_23("9&."))) {
  942.          this.field_70 = true;
  943.       }
  944.  
  945.       Container var45;
  946.       for(var45 = ((Component)this).getParent(); !(var45 instanceof Frame); var45 = ((Component)var45).getParent()) {
  947.       }
  948.  
  949.       this.field_1 = (Frame)var45;
  950.       this.field_1.setCursor(3);
  951.       String var47 = ((Applet)this).getParameter(method_23("\u000f\u0015\u0018\u0013\u0003\r\u0004"));
  952.       if (var47 != null && !var47.equalsIgnoreCase("NO")) {
  953.          this.field_80 = this.method_4(var47);
  954.          if (this.field_80 != null) {
  955.             String var49 = ((Applet)this).getParameter(method_23("\u000f\u0015\u0018\u0013\u0003\r\u0004%"));
  956.             if (var49 == null) {
  957.                var49 = "0";
  958.             }
  959.  
  960.             this.field_81 = Integer.valueOf(var49);
  961.             String var51 = ((Applet)this).getParameter(method_23("\u000f\u0015\u0018\u0013\u0003\r\u0004$"));
  962.             if (var51 == null) {
  963.                var51 = "0";
  964.             }
  965.  
  966.             this.field_82 = Integer.valueOf(var51);
  967.          }
  968.       }
  969.  
  970.       this.field_63 = ((Applet)this).getParameter(method_23("-\n\u001323. "));
  971.       if (this.field_63 == null) {
  972.          this.field_63 = "10";
  973.       }
  974.  
  975.       this.field_51 = Integer.valueOf(this.field_63);
  976.       this.field_52 = ((Applet)this).getParameter(method_23("\t\u000e\u001c\u0006\u000f"));
  977.       this.field_53 = ((Applet)this).getParameter(method_23("\u0012\u0006\u000e"));
  978.       if (this.field_53 == null) {
  979.          this.field_53 = "1";
  980.       }
  981.  
  982.       this.field_136 = ((Component)this).size().width / this.field_99;
  983.       this.field_33 = ((Component)this).size().height / this.field_99;
  984.       this.field_58 = ((Applet)this).getParameter(method_23("\f\n\u001a\t\u001e"));
  985.       if (this.field_58.equalsIgnoreCase(method_23("9&."))) {
  986.          this.field_45 = true;
  987.       } else {
  988.          this.field_45 = false;
  989.       }
  990.  
  991.       this.field_58 = ((Applet)this).getParameter(method_23("\u0006\u000f\b\b\u000e\r\f\u0019\u0004"));
  992.       if (this.field_58 == null) {
  993.          this.field_58 = method_23("\u000f\n\u0011");
  994.       }
  995.  
  996.       if (this.field_58.equalsIgnoreCase(method_23("\u0017\u0002\t\u0004\u0018"))) {
  997.          this.field_76 = false;
  998.       } else {
  999.          this.field_76 = true;
  1000.       }
  1001.  
  1002.       this.field_59 = ((Applet)this).getParameter(method_23("\u0001\u0016\t\u000e\u000e\u0005\u0010\u0014\u0006\u0004"));
  1003.       if (this.field_59.equalsIgnoreCase(method_23("9&."))) {
  1004.          this.field_21 = true;
  1005.       } else {
  1006.          this.field_21 = false;
  1007.       }
  1008.  
  1009.       this.field_60 = ((Applet)this).getParameter(method_23("\u0004\u0006\u0013\u0012\u0003\u0014\u001a"));
  1010.       if (this.field_60 == null) {
  1011.          this.field_60 = "4";
  1012.       }
  1013.  
  1014.       this.field_61 = ((Applet)this).getParameter(method_23("\u0006\n\u000e\t\u0004\u0015\u000e"));
  1015.       if (this.field_61 == null) {
  1016.          this.field_61 = "0";
  1017.       }
  1018.  
  1019.       this.field_62 = ((Applet)this).getParameter(method_23("\u0003\u0011\u0012\u0012\u0019"));
  1020.       if (this.field_62.equalsIgnoreCase(method_23("9&."))) {
  1021.          this.field_14 = true;
  1022.       } else {
  1023.          this.field_14 = false;
  1024.       }
  1025.  
  1026.       this.field_64 = ((Applet)this).getParameter(method_23("\u0003\u0011\u0012\u0012\u0019\u0006\u0002\u001e\u0015\u0005\u0012"));
  1027.       if (this.field_64 == null) {
  1028.          this.field_64 = "30";
  1029.       }
  1030.  
  1031.       this.field_65 = ((Applet)this).getParameter(method_23("\u0012\u0002\u0014\u000f\u0019\t\u0019\u0018"));
  1032.       if (this.field_65 == null) {
  1033.          this.field_65 = "0";
  1034.       }
  1035.  
  1036.       this.field_66 = ((Applet)this).getParameter(method_23("\u0012\u0002\u0014\u000f\f\u0001\u0000\t\u000e\u0018"));
  1037.       if (this.field_66 == null) {
  1038.          this.field_66 = "10";
  1039.       }
  1040.  
  1041.       this.field_54 = ((Applet)this).getParameter(method_23("\u0013\u0011\u001c\b\u0004\u0013\n\u0007\u0004"));
  1042.       if (this.field_54 == null) {
  1043.          this.field_54 = "0";
  1044.       }
  1045.  
  1046.       this.field_55 = ((Applet)this).getParameter(method_23("\u0013\u0011\u001c\b\u0004\u0006\u0002\u001e\u0015\u0005\u0012"));
  1047.       if (this.field_55 == null) {
  1048.          this.field_55 = "10";
  1049.       }
  1050.  
  1051.       this.field_56 = ((Applet)this).getParameter(method_23("\r\u0006\u0010\u0005\u000f\f\u0002\u0004"));
  1052.       this.field_57 = ((Applet)this).getParameter(method_23("\u0010\u0011\u0014\u000e\u0018\t\u0017\u0004"));
  1053.       this.field_99 = Integer.valueOf(this.field_53);
  1054.       this.field_19 = Integer.valueOf(this.field_60);
  1055.       this.field_24 = Integer.valueOf(this.field_61);
  1056.       this.field_13 = Integer.valueOf(this.field_64);
  1057.       this.field_93 = Integer.valueOf(this.field_65);
  1058.       this.field_92 = Integer.valueOf(this.field_66);
  1059.       this.field_116 = Integer.valueOf(this.field_54);
  1060.       this.field_115 = Integer.valueOf(this.field_55);
  1061.       this.field_49 = Integer.valueOf(this.field_56);
  1062.       this.field_87 = Integer.valueOf(this.field_57);
  1063.       if (this.field_49 < 0) {
  1064.          this.field_49 = 0;
  1065.       }
  1066.  
  1067.       if (this.field_87 > 10) {
  1068.          this.field_87 = 10;
  1069.       } else if (this.field_87 < 1) {
  1070.          this.field_87 = 1;
  1071.       }
  1072.  
  1073.       this.field_62 = ((Applet)this).getParameter(method_23("\u0006\n\u0005\u0005\u0018\u000f\u0013"));
  1074.       if (this.field_62 == null) {
  1075.          this.field_62 = "NO";
  1076.       }
  1077.  
  1078.       if (this.field_62.equalsIgnoreCase(method_23("9&."))) {
  1079.          this.field_25 = true;
  1080.       } else {
  1081.          this.field_25 = false;
  1082.       }
  1083.  
  1084.       this.field_55 = ((Applet)this).getParameter(method_23("\u0006\n\u0005\u0005\u0018\u000f\u0013%"));
  1085.       if (this.field_55 == null) {
  1086.          this.field_55 = "0";
  1087.       }
  1088.  
  1089.       this.field_28 = Integer.valueOf(this.field_55);
  1090.       this.field_55 = ((Applet)this).getParameter(method_23("\u0006\n\u0005\u0005\u0018\u000f\u0013$"));
  1091.       if (this.field_55 == null) {
  1092.          this.field_55 = "0";
  1093.       }
  1094.  
  1095.       this.field_29 = Integer.valueOf(this.field_55);
  1096.       this.field_55 = ((Applet)this).getParameter(method_23("\u0006\n\u0005\u0005\u0018\u000f\u0013;"));
  1097.       if (this.field_55 == null) {
  1098.          this.field_55 = "0";
  1099.       }
  1100.  
  1101.       this.field_26 = Integer.valueOf(this.field_55);
  1102.       this.field_23 = this.field_26 - 10;
  1103.       this.field_55 = ((Applet)this).getParameter(method_23("\u0006\n\u0005\u0005\u0018\u000f\u0013."));
  1104.       if (this.field_55 == null) {
  1105.          this.field_55 = "0";
  1106.       }
  1107.  
  1108.       this.field_27 = Integer.valueOf(this.field_55);
  1109.       this.field_55 = ((Applet)this).getParameter(method_23("\u0010\u0011\u0018\u0012\u0019\u0015\u0011\u0018"));
  1110.       if (this.field_55 == null) {
  1111.          this.field_55 = method_23("TSM");
  1112.       }
  1113.  
  1114.       this.field_85 = Float.valueOf(this.field_55);
  1115.       this.field_55 = ((Applet)this).getParameter(method_23("\r\n\u0013\r\u0003\u0007\u000b\t"));
  1116.       if (this.field_55 == null) {
  1117.          this.field_55 = method_23("MQM");
  1118.       }
  1119.  
  1120.       this.field_50 = Integer.valueOf(this.field_55);
  1121.       this.field_55 = ((Applet)this).getParameter(method_23("\r\u0002\u0005\r\u0003\u0007\u000b\t"));
  1122.       if (this.field_55 == null) {
  1123.          this.field_55 = method_23("QSM");
  1124.       }
  1125.  
  1126.       this.field_48 = Integer.valueOf(this.field_55);
  1127.       String var50 = ((Applet)this).getParameter(method_23("\t\r\t\u0004\u0018\u0001\u0000\t\b\u001c\u0005"));
  1128.       if (var50 == null) {
  1129.          var50 = "no";
  1130.       }
  1131.  
  1132.       if (var50.equalsIgnoreCase(method_23("9&."))) {
  1133.          this.field_41 = true;
  1134.       } else {
  1135.          this.field_41 = false;
  1136.       }
  1137.  
  1138.       if (this.field_99 > 8) {
  1139.          this.field_99 = 8;
  1140.       } else if (this.field_99 < 1) {
  1141.          this.field_99 = 1;
  1142.       }
  1143.  
  1144.       this.field_97 = this.field_136 * this.field_99;
  1145.       this.field_96 = this.field_33 * this.field_99;
  1146.       if (this.field_19 > 6) {
  1147.          this.field_19 = 6;
  1148.       } else if (this.field_19 < 2) {
  1149.          this.field_19 = 2;
  1150.       }
  1151.  
  1152.       if (this.field_24 > 2) {
  1153.          this.field_24 = 2;
  1154.       } else if (this.field_24 < 0) {
  1155.          this.field_24 = 0;
  1156.       }
  1157.  
  1158.       if (this.field_13 < 0) {
  1159.          this.field_13 = 0;
  1160.       }
  1161.  
  1162.       if (this.field_92 < 0) {
  1163.          this.field_92 = 0;
  1164.       }
  1165.  
  1166.       if (this.field_115 < 0) {
  1167.          this.field_115 = 0;
  1168.       }
  1169.  
  1170.       if (this.field_93 > this.field_136) {
  1171.          this.field_93 = this.field_136 - 1;
  1172.       } else if (this.field_93 < 0) {
  1173.          this.field_93 = 0;
  1174.       }
  1175.  
  1176.       if (this.field_116 > this.field_136) {
  1177.          this.field_116 = this.field_136 - 1;
  1178.       } else if (this.field_116 < 0) {
  1179.          this.field_116 = 0;
  1180.       }
  1181.  
  1182.       if (this.field_21) {
  1183.          this.field_85 = 10.0F;
  1184.          this.field_24 = 0;
  1185.          this.field_93 = 0;
  1186.          this.field_116 = 0;
  1187.          this.field_14 = false;
  1188.       }
  1189.  
  1190.       ((Applet)this).showStatus(method_23(",\f\u001c\u0005\u0003\u000e\u0004]\b\u0007\u0001\u0004\u0018ODN"));
  1191.       this.field_40 = this.method_4(this.field_52);
  1192.       this.field_95 = (float)Math.pow((double)2.0F, (double)this.field_19);
  1193.       this.field_126 = this.field_136 * this.field_33;
  1194.       int var52 = this.field_136 + 1;
  1195.       int var10000 = this.field_126 - var52;
  1196.       int var53 = this.field_126 - 1;
  1197.       this.field_34 = new float[this.field_136 * (this.field_33 + 2) + var52 + 1];
  1198.       this.field_35 = new float[this.field_136 * (this.field_33 + 2) + var52 + 1];
  1199.       this.field_114 = new int[this.field_136 * this.field_33];
  1200.       this.field_22 = new int[this.field_136 * this.field_33 + 2];
  1201.       PixelGrabber var54 = new PixelGrabber(this.field_40, 0, 0, this.field_136, this.field_33, this.field_114, 0, this.field_136);
  1202.  
  1203.       try {
  1204.          var54.grabPixels();
  1205.       } catch (InterruptedException var31) {
  1206.       }
  1207.  
  1208.       if (this.field_45) {
  1209.          this.field_134 = new short[this.field_136 * this.field_33 + 2];
  1210.          this.field_133 = new short[this.field_136 * this.field_33 + 2];
  1211.          this.field_132 = new short[this.field_136 * this.field_33 + 2];
  1212.  
  1213.          for(this.field_39 = 0; this.field_39 < this.field_126; ++this.field_39) {
  1214.             int var55 = this.field_114[this.field_39];
  1215.             this.field_134[this.field_39] = (short)(var55 >> 16 & 255);
  1216.             this.field_133[this.field_39] = (short)(var55 >> 8 & 255);
  1217.             this.field_132[this.field_39] = (short)(var55 & 255);
  1218.          }
  1219.       }
  1220.  
  1221.       try {
  1222.          this.method_9();
  1223.       } catch (NoSuchMethodError var30) {
  1224.          this.method_9();
  1225.       }
  1226.  
  1227.       this.method_16();
  1228.       this.field_75 = ((Component)this).createImage(this.field_97, this.field_96 + this.field_109);
  1229.       this.field_74 = this.field_75.getGraphics();
  1230.       if (!this.field_98) {
  1231.          Label var56 = new Label(method_23("7\u0002\t\u0004\u0018@\u0002\r\u0011\u0006\u0005\u0017]\u0003\u0013@%\u001c\u0003\u0003\u000fC>\b\u001f\u0003\u0000\u0014A[YZKNSXM"));
  1232.          this.field_137 = new Lware(((Applet)this).getAppletContext(), var56);
  1233.          this.field_137.setTitle(method_23("7\u0002\t\u0004\u0018@\"\r\u0011\u0006\u0005\u0017]\u0003\u0013@%\u001c\u0003\u0003\u000fC>\b\u001f\u0003\u0000\u0014"));
  1234.          this.field_137.hide();
  1235.       }
  1236.  
  1237.    }
  1238.  
  1239.    // $FF: renamed from: d () void
  1240.    void method_9() {
  1241.       this.field_89 = new MemoryImageSource(this.field_136, this.field_33, new DirectColorModel(24, 16711680, 65280, 255), this.field_22, 0, this.field_136);
  1242.  
  1243.       String var1;
  1244.       try {
  1245.          var1 = System.getProperty(method_23("\n\u0002\u000b\u0000D\u0016\u0006\u000f\u0012\u0003\u000f\r"));
  1246.       } catch (SecurityException var3) {
  1247.          var1 = method_23("\u0015\r\u0016");
  1248.       }
  1249.  
  1250.       if (!var1.startsWith(method_23("QMM"))) {
  1251.          try {
  1252.             this.field_89.setAnimated(true);
  1253.             this.field_89.setFullBufferUpdates(true);
  1254.             this.field_40 = ((Component)this).createImage(this.field_89);
  1255.             this.field_89.newPixels();
  1256.             this.field_43 = true;
  1257.          } catch (NoSuchMethodError var2) {
  1258.             this.field_43 = false;
  1259.          }
  1260.       }
  1261.  
  1262.       if (!this.field_43) {
  1263.          this.field_89 = null;
  1264.          this.field_88 = new anfy(this.field_136, this.field_33, new DirectColorModel(24, 16711680, 65280, 255), this.field_22, 0, this.field_136);
  1265.          this.field_40 = ((Component)this).createImage(this.field_88);
  1266.       }
  1267.  
  1268.    }
  1269.  
  1270.    public final synchronized boolean mouseDown(Event var1, int var2, int var3) {
  1271.       if (this.field_41) {
  1272.          if (var2 < 6) {
  1273.             var2 = 6;
  1274.          } else if (var2 > this.field_136 - 6) {
  1275.             var2 = this.field_136 - 6;
  1276.          }
  1277.  
  1278.          if (var3 < 6) {
  1279.             var3 = 6;
  1280.          } else if (var3 > this.field_33 - 6) {
  1281.             var3 = this.field_33 - 6;
  1282.          }
  1283.  
  1284.          int var4 = this.field_28;
  1285.          int var5 = this.field_29;
  1286.          float var6 = this.field_85;
  1287.          this.field_28 = var2;
  1288.          this.field_29 = var3;
  1289.          this.field_85 = 400.0F;
  1290.          this.method_3(3);
  1291.          this.field_28 = var4;
  1292.          this.field_29 = var5;
  1293.          this.field_85 = var6;
  1294.       }
  1295.  
  1296.       if (!this.field_98) {
  1297.          this.field_137.show();
  1298.          this.field_137.toFront();
  1299.          this.field_137.requestFocus();
  1300.       } else if (this.field_47 != null) {
  1301.          if (this.field_70) {
  1302.             ((Applet)this).getAppletContext().showDocument(this.field_47, ((Applet)this).getParameter(method_23("\u0012\u0006\u001a\u0007\u0018\u0001\u000e\u0018\u000f\u000b\r\u0006")));
  1303.          } else {
  1304.             ((Applet)this).getAppletContext().showDocument(this.field_47);
  1305.          }
  1306.       }
  1307.  
  1308.       return true;
  1309.    }
  1310.  
  1311.    public final boolean mouseEnter(Event var1, int var2, int var3) {
  1312.       ((Applet)this).showStatus(this.field_118);
  1313.       return true;
  1314.    }
  1315.  
  1316.    public final boolean mouseExit(Event var1, int var2, int var3) {
  1317.       ((Applet)this).showStatus("");
  1318.       return true;
  1319.    }
  1320.  
  1321.    public synchronized boolean mouseMove(Event var1, int var2, int var3) {
  1322.       if (this.field_41) {
  1323.          if (var2 < 6) {
  1324.             var2 = 6;
  1325.          } else if (var2 > this.field_136 - 6) {
  1326.             var2 = this.field_136 - 6;
  1327.          }
  1328.  
  1329.          if (var3 < 6) {
  1330.             var3 = 6;
  1331.          } else if (var3 > this.field_33 - 6) {
  1332.             var3 = this.field_33 - 6;
  1333.          }
  1334.  
  1335.          int var4 = this.field_28;
  1336.          int var5 = this.field_29;
  1337.          float var6 = this.field_85;
  1338.          this.field_28 = var2;
  1339.          this.field_29 = var3;
  1340.          this.field_85 = 90.0F;
  1341.          this.method_3(2);
  1342.          this.field_28 = var4;
  1343.          this.field_29 = var5;
  1344.          this.field_85 = var6;
  1345.       }
  1346.  
  1347.       return true;
  1348.    }
  1349.  
  1350.    public final void paint(Graphics var1) {
  1351.       if (this.field_40 != null) {
  1352.          if (this.field_99 == 1) {
  1353.             this.field_74.drawImage(this.field_40, 0, 0, this);
  1354.          } else {
  1355.             this.method_13();
  1356.             this.field_74.drawImage(this.field_40, 0, 0, this.field_97, this.field_96, this);
  1357.          }
  1358.  
  1359.          if (this.field_80 != null) {
  1360.             this.method_12();
  1361.          }
  1362.  
  1363.          if (this.field_122) {
  1364.             this.method_17(this.field_74);
  1365.          }
  1366.  
  1367.          var1.drawImage(this.field_75, 0, 0, this);
  1368.       }
  1369.  
  1370.    }
  1371.  
  1372.    // $FF: renamed from: b (int) void
  1373.    final void method_10(int var1) {
  1374.       ++var1;
  1375.       float var3 = this.field_85;
  1376.       float[] var2;
  1377.       if (this.field_38 == 1) {
  1378.          var2 = this.field_35;
  1379.       } else {
  1380.          var2 = this.field_34;
  1381.       }
  1382.  
  1383.       float var5 = (float)var1 - 1.5F;
  1384.       int var6 = this.field_136 - var1 - 1;
  1385.       int var7 = this.field_33 - var1 - 1;
  1386.       this.field_138 = (int)(Math.random() * (double)this.field_136);
  1387.       this.field_140 = (int)(Math.random() * (double)this.field_33);
  1388.       if (this.field_138 < var1) {
  1389.          this.field_138 = var1;
  1390.       } else if (this.field_138 > var6) {
  1391.          this.field_138 = var6;
  1392.       }
  1393.  
  1394.       if (this.field_140 < var1) {
  1395.          this.field_140 = var1;
  1396.       } else if (this.field_140 > var7) {
  1397.          this.field_140 = var7;
  1398.       }
  1399.  
  1400.       if (var1 == 2) {
  1401.          var2[this.field_136 * this.field_140 + this.field_138] = (float)((int)(Math.random() * (double)var3)) % var3;
  1402.       } else {
  1403.          this.field_100 = var1 * var1;
  1404.          float var4 = var5 * var5;
  1405.          float var9 = (float)this.field_100 - var4;
  1406.  
  1407.          for(this.field_16 = -var1; this.field_16 < var1; ++this.field_16) {
  1408.             this.field_17 = this.field_16 * this.field_16;
  1409.  
  1410.             for(this.field_15 = -var1; this.field_15 < var1; ++this.field_15) {
  1411.                int var8 = this.field_15 * this.field_15 + this.field_17;
  1412.                if (var8 < this.field_100) {
  1413.                   if ((float)var8 > var4) {
  1414.                      float var10 = (float)var8 - var4;
  1415.                      var10 /= var9;
  1416.                      int var10001 = this.field_136 * (this.field_16 + this.field_140) + this.field_15 + this.field_138;
  1417.                      var2[var10001] += var3 - var10 * var3;
  1418.                   } else {
  1419.                      int var13 = this.field_136 * (this.field_16 + this.field_140) + this.field_15 + this.field_138;
  1420.                      var2[var13] += var3;
  1421.                   }
  1422.                }
  1423.             }
  1424.          }
  1425.  
  1426.       }
  1427.    }
  1428.  
  1429.    // $FF: renamed from: c (int) void
  1430.    final void method_11(int var1) {
  1431.       float var3 = this.field_85;
  1432.       float[] var2;
  1433.       if (this.field_38 == 1) {
  1434.          var2 = this.field_35;
  1435.       } else {
  1436.          var2 = this.field_34;
  1437.       }
  1438.  
  1439.       int var6 = this.field_136 - var1 * 2 - 1;
  1440.       int var7 = this.field_33 - var1 * 2 - 1;
  1441.       this.field_138 = (int)(Math.random() * (double)this.field_136);
  1442.       this.field_140 = (int)(Math.random() * (double)this.field_33);
  1443.       if (this.field_138 < 1) {
  1444.          this.field_138 = 1;
  1445.       } else if (this.field_138 > var6) {
  1446.          this.field_138 = var6;
  1447.       }
  1448.  
  1449.       if (this.field_140 < 1) {
  1450.          this.field_140 = 1;
  1451.       } else if (this.field_140 > var7) {
  1452.          this.field_140 = var7;
  1453.       }
  1454.  
  1455.       int var8 = var1 * 2;
  1456.       int var9 = var8 - 1;
  1457.  
  1458.       for(int var5 = this.field_140 + 1; var5 < this.field_140 + var9; ++var5) {
  1459.          for(int var4 = this.field_138 + 1; var4 < this.field_138 + var9; ++var4) {
  1460.             int var10001 = this.field_136 * var5 + var4;
  1461.             var2[var10001] += var3;
  1462.          }
  1463.       }
  1464.  
  1465.       float var10 = var3 / 2.0F;
  1466.       int var11 = this.field_138 + var9;
  1467.  
  1468.       for(int var16 = this.field_140; var16 < this.field_140 + var8; ++var16) {
  1469.          int var18 = this.field_136 * var16 + this.field_138;
  1470.          var2[var18] += var10;
  1471.       }
  1472.  
  1473.       for(int var17 = this.field_140; var17 < this.field_140 + var8; ++var17) {
  1474.          int var19 = this.field_136 * var17 + var11;
  1475.          var2[var19] += var10;
  1476.       }
  1477.  
  1478.       int var12 = this.field_136 * this.field_140;
  1479.       int var13 = this.field_136 * (this.field_140 + var9);
  1480.  
  1481.       for(int var14 = this.field_138; var14 < this.field_138 + var8; ++var14) {
  1482.          var2[var12 + var14] += var10;
  1483.       }
  1484.  
  1485.       for(int var15 = this.field_138; var15 < this.field_138 + var8; ++var15) {
  1486.          var2[var13 + var15] += var10;
  1487.       }
  1488.  
  1489.    }
  1490.  
  1491.    // $FF: renamed from: e () void
  1492.    public synchronized void method_12() {
  1493.       if (this.field_4) {
  1494.          this.notifyAll();
  1495.  
  1496.          while(!this.field_77) {
  1497.             Thread.yield();
  1498.  
  1499.             try {
  1500.                Thread.sleep(8L);
  1501.             } catch (InterruptedException var1) {
  1502.             }
  1503.          }
  1504.  
  1505.          this.field_77 = false;
  1506.       }
  1507.  
  1508.       this.field_74.drawImage(this.field_80, this.field_81, this.field_82, this);
  1509.    }
  1510.  
  1511.    // $FF: renamed from: f () void
  1512.    public synchronized void method_13() {
  1513.       int var1 = 0;
  1514.       ((Component)this).prepareImage(this.field_40, this.field_97, this.field_96, this);
  1515.       this.notifyAll();
  1516.  
  1517.       while((var1 & 240) == 0) {
  1518.          Thread.yield();
  1519.          var1 = ((Component)this).checkImage(this.field_40, this.field_97, this.field_96, this);
  1520.       }
  1521.  
  1522.    }
  1523.  
  1524.    // $FF: renamed from: g () void
  1525.    public final void method_14() {
  1526.       try {
  1527.          if (this.field_43) {
  1528.             this.field_89.newPixels();
  1529.          } else {
  1530.             this.field_88.startProduction(this.field_88.getConsumer());
  1531.          }
  1532.       } catch (NoSuchMethodError var1) {
  1533.       }
  1534.    }
  1535.  
  1536.    public void run() {
  1537.       this.field_125.setPriority(this.field_87);
  1538.       ((Applet)this).showStatus("");
  1539.       System.gc();
  1540.       this.field_18 = System.currentTimeMillis();
  1541.       Graphics var1 = ((Component)this).getGraphics();
  1542.       if (this.field_80 != null && !this.field_4) {
  1543.          this.field_4 = this.method_1();
  1544.       }
  1545.  
  1546.       if (this.field_47 != null) {
  1547.          this.field_1.setCursor(12);
  1548.       } else {
  1549.          this.field_1.setCursor(0);
  1550.       }
  1551.  
  1552.       while(this.field_125 != null) {
  1553.          this.method_21();
  1554.          if (this.field_21) {
  1555.             if (this.field_10 < 50) {
  1556.                this.field_85 = 50.0F;
  1557.                this.field_93 = 1;
  1558.                this.field_92 = 5;
  1559.             }
  1560.  
  1561.             if (this.field_10 < 100) {
  1562.                this.field_85 = 100.0F;
  1563.                this.field_93 = 2;
  1564.                this.field_92 = 5;
  1565.             } else if (this.field_10 < 200) {
  1566.                this.field_85 = 200.0F;
  1567.                this.field_93 = 3;
  1568.                this.field_92 = 4;
  1569.             } else if (this.field_10 < 300) {
  1570.                this.field_85 = 300.0F;
  1571.                this.field_93 = 3;
  1572.                this.field_92 = 5;
  1573.             } else if (this.field_10 < 400) {
  1574.                this.field_85 = 350.0F;
  1575.                this.field_93 = 4;
  1576.                this.field_92 = 3;
  1577.             } else if (this.field_10 < 500) {
  1578.                this.field_85 = 380.0F;
  1579.                this.field_93 = 2;
  1580.                this.field_92 = 20;
  1581.             } else if (this.field_10 < 600) {
  1582.                this.field_85 = 400.0F;
  1583.                this.field_93 = 0;
  1584.                this.field_24 = 1;
  1585.             } else if (this.field_10 < 700) {
  1586.                this.field_24 = 2;
  1587.                this.field_116 = 2;
  1588.                this.field_115 = 20;
  1589.             } else if (this.field_10 < 800) {
  1590.                this.field_24 = 1;
  1591.                this.field_116 = 4;
  1592.                this.field_115 = 10;
  1593.             } else if (this.field_10 < 900) {
  1594.                this.field_24 = 0;
  1595.                this.field_116 = 2;
  1596.                this.field_115 = 20;
  1597.             } else if (this.field_10 < 1000) {
  1598.                this.field_93 = 1;
  1599.             } else if (this.field_10 < 1100) {
  1600.                this.field_24 = 1;
  1601.                this.field_93 = 2;
  1602.                this.field_92 = 30;
  1603.                this.field_10 = 1200;
  1604.             }
  1605.  
  1606.             ++this.field_10;
  1607.          }
  1608.  
  1609.          if (this.field_25 && ++this.field_23 > this.field_26) {
  1610.             this.method_3(this.field_27);
  1611.             this.field_23 = 0;
  1612.          }
  1613.  
  1614.          if (!this.field_25) {
  1615.             if (this.field_24 > 0) {
  1616.                this.method_18(this.field_24);
  1617.             }
  1618.  
  1619.             if (this.field_93 > 0 && this.field_94++ >= this.field_92) {
  1620.                this.method_10(this.field_93);
  1621.                this.field_94 = 0;
  1622.             }
  1623.  
  1624.             if (this.field_116 > 0 && this.field_117++ >= this.field_115) {
  1625.                this.method_11(this.field_116);
  1626.                this.field_117 = 0;
  1627.             }
  1628.  
  1629.             if (this.field_14 && this.field_12++ >= this.field_13) {
  1630.                this.method_2();
  1631.                this.field_12 = 0;
  1632.             }
  1633.          }
  1634.  
  1635.          if (++this.field_6 == this.field_49) {
  1636.             System.gc();
  1637.             this.field_6 = 0;
  1638.          }
  1639.  
  1640.          try {
  1641.             this.method_14();
  1642.          } catch (NoSuchMethodError var2) {
  1643.          }
  1644.  
  1645.          if (this.field_99 == 1) {
  1646.             this.field_74.drawImage(this.field_40, 0, 0, this);
  1647.          } else {
  1648.             this.method_13();
  1649.             this.field_74.drawImage(this.field_40, 0, 0, this.field_97, this.field_96, this);
  1650.          }
  1651.  
  1652.          if (this.field_80 != null) {
  1653.             this.method_12();
  1654.          }
  1655.  
  1656.          if (this.field_122) {
  1657.             this.method_17(this.field_74);
  1658.          }
  1659.  
  1660.          var1.drawImage(this.field_75, 0, 0, this);
  1661.          this.method_20();
  1662.       }
  1663.  
  1664.    }
  1665.  
  1666.    // $FF: renamed from: a (int, int, int, int) byte
  1667.    byte method_15(int var1, int var2, int var3, int var4) {
  1668.       int var5 = var1 - var2;
  1669.       if (var5 >= var3) {
  1670.          return (byte)var5;
  1671.       } else {
  1672.          int var6 = var3 - var5 - 1;
  1673.          return (byte)(var4 - var6);
  1674.       }
  1675.    }
  1676.  
  1677.    // $FF: renamed from: h () void
  1678.    public void method_16() {
  1679.       Object var1 = null;
  1680.       this.field_122 = false;
  1681.       String var18 = ((Applet)this).getParameter(method_23("\u0014\u0006\u0005\u0015\u0019\u0003\u0011\u0012\r\u0006"));
  1682.       if (var18 != null && !var18.equalsIgnoreCase("NO")) {
  1683.          Object var2 = null;
  1684.          String var19 = ((Applet)this).getParameter(method_23("\u0014\u0006\u0005\u0015\u001e\u0019\u0013\u0018"));
  1685.          if (var19 == null) {
  1686.             var19 = method_23("\b\f\u000f\b\u0010\u000f\r\t\u0000\u0006");
  1687.          }
  1688.  
  1689.          if (var19.equals(method_23("\b\f\u000f\b\u0010\u000f\r\t\u0000\u0006"))) {
  1690.             this.field_104 = 0;
  1691.          } else if (var19.equals(method_23("\u0016\u0006\u000f\u0015\u0003\u0003\u0002\u0011"))) {
  1692.             this.field_104 = 1;
  1693.          } else if (var19.equals(method_23("\u001a\f\u0012\f\u0003\u000e\u0004"))) {
  1694.             this.field_104 = 2;
  1695.          } else if (var19.equals(method_23("\t\r\u000b\u001b\u0005\u000f\u000e\u0014\u000f\r"))) {
  1696.             this.field_104 = 3;
  1697.          }
  1698.  
  1699.          if (this.field_104 == 0) {
  1700.             this.method_6(var18, 0);
  1701.             if (this.field_101 != null) {
  1702.                this.field_122 = true;
  1703.             }
  1704.          } else {
  1705.             this.method_6(var18, 1);
  1706.             if (this.field_46 != null) {
  1707.                this.field_122 = true;
  1708.             }
  1709.          }
  1710.       }
  1711.  
  1712.       if (this.field_122) {
  1713.          Object var20 = null;
  1714.          String var21 = ((Applet)this).getParameter(method_23("\u0014\u0006\u0005\u0015\u0019\u0010\u0006\u0018\u0005"));
  1715.          if (var21 == null) {
  1716.             var21 = "0";
  1717.          }
  1718.  
  1719.          this.field_128 = Integer.valueOf(var21);
  1720.          Object var3 = null;
  1721.          String var22 = ((Applet)this).getParameter(method_23("\u0014\u0006\u0005\u0015\f\u000f\r\t"));
  1722.          if (var22 == null) {
  1723.             var22 = method_23("!\u0011\u0014\u0000\u0006");
  1724.          }
  1725.  
  1726.          int var4 = 0;
  1727.          Object var5 = null;
  1728.          String var23 = ((Applet)this).getParameter(method_23("\u0014\u0006\u0005\u0015\b\u000f\u000f\u0019"));
  1729.          if (var23.equalsIgnoreCase(method_23("9&."))) {
  1730.             ++var4;
  1731.          }
  1732.  
  1733.          Object var6 = null;
  1734.          String var24 = ((Applet)this).getParameter(method_23("\u0014\u0006\u0005\u0015\u0003\u0014\u0002\u0011\b\t"));
  1735.          if (var24 == null) {
  1736.             var24 = "NO";
  1737.          }
  1738.  
  1739.          if (var24.equalsIgnoreCase(method_23("9&."))) {
  1740.             var4 += 2;
  1741.          }
  1742.  
  1743.          Object var7 = null;
  1744.          String var25 = ((Applet)this).getParameter(method_23("\u0014\u0006\u0005\u0015\u0019\t\u0019\u0018"));
  1745.          if (var25 == null) {
  1746.             var25 = "12";
  1747.          }
  1748.  
  1749.          int var8 = Integer.valueOf(var25);
  1750.          this.field_30 = new Font(var22, var4, var8);
  1751.          Object var9 = null;
  1752.          String var26 = ((Applet)this).getParameter(method_23("\u0014\u0006\u0005\u0015\u0019\b\u0002\u0019\u000e\u001d"));
  1753.          if (var26.equalsIgnoreCase(method_23("9&."))) {
  1754.             this.field_123 = true;
  1755.          } else {
  1756.             this.field_123 = false;
  1757.          }
  1758.  
  1759.          this.field_119 = new Color(Integer.valueOf(((Applet)this).getParameter(method_23("4\u0006\u0005\u0015)\u000f\u000f/"))), Integer.valueOf(((Applet)this).getParameter(method_23("4\u0006\u0005\u0015)\u000f\u000f:"))), Integer.valueOf(((Applet)this).getParameter(method_23("4\u0006\u0005\u0015)\u000f\u000f?"))));
  1760.          this.field_105 = new Color(Integer.valueOf(((Applet)this).getParameter(method_23("4\u0006\u0005\u00159#\f\u00113"))), Integer.valueOf(((Applet)this).getParameter(method_23("4\u0006\u0005\u00159#\f\u0011&"))), Integer.valueOf(((Applet)this).getParameter(method_23("4\u0006\u0005\u00159#\f\u0011#"))));
  1761.          this.field_129 = ((Component)this).size().width;
  1762.          this.field_130 = ((Component)this).size().height;
  1763.          if (this.field_104 == 0) {
  1764.             Object var10 = null;
  1765.             String var27 = ((Applet)this).getParameter(method_23("\u0014\u0006\u0005\u0015\u0005\u0006\u0005\u000e\u0004\u001e"));
  1766.             if (var27 == null) {
  1767.                var27 = "0";
  1768.             }
  1769.  
  1770.             this.field_142 = Integer.valueOf(var27);
  1771.             if (this.field_142 < 0) {
  1772.                this.field_142 = 0;
  1773.             }
  1774.  
  1775.             Object var11 = null;
  1776.             String var32 = ((Applet)this).getParameter(method_23("4\u0006\u0005\u0015 \u0015\u000e\r \u0007\u0010"));
  1777.             if (var32 == null) {
  1778.                var32 = "0";
  1779.             }
  1780.  
  1781.             this.field_0 = Integer.valueOf(var32);
  1782.             Object var12 = null;
  1783.             String var36 = ((Applet)this).getParameter(method_23("4\u0006\u0005\u0015 \u0015\u000e\r2\u001a\u0004"));
  1784.             if (var36 == null) {
  1785.                var36 = "0";
  1786.             }
  1787.  
  1788.             this.field_127 = Integer.valueOf(var36);
  1789.             Object var13 = null;
  1790.             String var39 = ((Applet)this).getParameter(method_23("4\u0006\u0005\u00159\t\r\u0018 \u0007\u0010"));
  1791.             if (var39 == null) {
  1792.                var39 = "0";
  1793.             }
  1794.  
  1795.             this.field_107 = Integer.valueOf(var39);
  1796.             Object var14 = null;
  1797.             String var40 = ((Applet)this).getParameter(method_23("4\u0006\u0005\u00159\t\r\u00182\u001a\u0004"));
  1798.             if (var40 == null) {
  1799.                var40 = "0";
  1800.             }
  1801.  
  1802.             this.field_111 = Integer.valueOf(var40);
  1803.             Object var15 = null;
  1804.             String var41 = ((Applet)this).getParameter(method_23("4\u0006\u0005\u00159\t\r\u0018 \u0004\u0007\u000f\u0018"));
  1805.             if (var41 == null) {
  1806.                var41 = "0";
  1807.             }
  1808.  
  1809.             this.field_108 = Integer.valueOf(var41);
  1810.             FontMetrics var16 = ((Component)this).getGraphics().getFontMetrics(this.field_30);
  1811.             this.field_103 = var16.stringWidth(this.field_101);
  1812.             this.field_102 = var16.getHeight();
  1813.             this.field_20 = var16.getMaxDescent();
  1814.             this.field_139 = this.field_129;
  1815.             if (this.field_142 < this.field_102 - this.field_20) {
  1816.                this.field_142 = this.field_102 - this.field_20;
  1817.             } else if (this.field_142 > this.field_130 - this.field_20) {
  1818.                this.field_142 = this.field_130 - this.field_20;
  1819.             }
  1820.  
  1821.             if (this.field_107 != 0) {
  1822.                this.field_112 = new int[this.field_129 + 360];
  1823.                this.field_113 = new int[this.field_129 + 360];
  1824.  
  1825.                for(int var17 = 0; var17 < this.field_129 + 360; ++var17) {
  1826.                   this.field_112[var17] = (int)((double)this.field_107 * Math.sin((double)this.field_108 * (double)var17 * Math.PI / (double)180.0F)) - this.field_102 - this.field_20 + this.field_142;
  1827.                   this.field_113[var17] = this.field_112[var17] - this.field_96;
  1828.                }
  1829.  
  1830.                this.field_106 = 360;
  1831.                this.field_109 = this.field_102 + this.field_20 + 1;
  1832.                this.field_110 = this.field_109 - 1;
  1833.                return;
  1834.             }
  1835.          } else {
  1836.             if (this.field_104 == 1) {
  1837.                Object var30 = null;
  1838.                String var31 = ((Applet)this).getParameter(method_23("\u0014\u0006\u0005\u0015\u001c\u0013\u0013\u001c\u0002\u000f"));
  1839.                if (var31 == null) {
  1840.                   var31 = "10";
  1841.                }
  1842.  
  1843.                int var35 = Integer.valueOf(var31);
  1844.                FontMetrics var38 = ((Component)this).getGraphics().getFontMetrics(this.field_30);
  1845.                this.field_31 = var38.getHeight() + var35;
  1846.                this.field_135 = new int[this.field_46.length];
  1847.  
  1848.                for(this.field_39 = 0; this.field_39 < this.field_46.length; ++this.field_39) {
  1849.                   this.field_135[this.field_39] = (this.field_129 - var38.stringWidth(this.field_46[this.field_39])) / 2;
  1850.                }
  1851.  
  1852.                this.field_68 = -this.field_31;
  1853.                return;
  1854.             }
  1855.  
  1856.             if (this.field_104 >= 2) {
  1857.                Object var28 = null;
  1858.                String var29 = ((Applet)this).getParameter(method_23("\u0014\u0006\u0005\u0015\u0007\t\r\u001b\u000e\u0004\u0014"));
  1859.                if (var29 == null) {
  1860.                   var29 = "2";
  1861.                }
  1862.  
  1863.                this.field_121 = Integer.valueOf(var29);
  1864.                Object var33 = null;
  1865.                String var34 = ((Applet)this).getParameter(method_23("\u0014\u0006\u0005\u0015\u0007\u0001\u001b\u001b\u000e\u0004\u0014"));
  1866.                if (var34 == null) {
  1867.                   var34 = "72";
  1868.                }
  1869.  
  1870.                this.field_120 = Integer.valueOf(var34);
  1871.                this.field_72 = this.field_120 - this.field_121;
  1872.                this.field_30 = null;
  1873.                this.field_146 = new Font[this.field_72];
  1874.                int var37 = this.field_121;
  1875.  
  1876.                for(this.field_39 = 0; this.field_39 < this.field_72; ++this.field_39) {
  1877.                   this.field_146[this.field_39] = new Font(var22, var4, var37++);
  1878.                }
  1879.  
  1880.                this.field_37 = (float)this.field_129 / 2.0F;
  1881.                this.field_36 = (float)this.field_130 / 2.0F;
  1882.                if (this.field_104 == 3) {
  1883.                   this.field_145 = this.field_72 - 1;
  1884.                   return;
  1885.                }
  1886.  
  1887.                this.field_145 = 0;
  1888.             }
  1889.          }
  1890.       }
  1891.  
  1892.    }
  1893.  
  1894.    // $FF: renamed from: b (java.awt.Graphics) void
  1895.    public void method_17(Graphics var1) {
  1896.       switch (this.field_104) {
  1897.          case 0:
  1898.             this.method_8(var1);
  1899.             return;
  1900.          case 1:
  1901.             this.method_19(var1);
  1902.             return;
  1903.          default:
  1904.             this.method_22(var1);
  1905.       }
  1906.    }
  1907.  
  1908.    public void start() {
  1909.       if (this.field_125 == null) {
  1910.          this.field_125 = new Thread(this);
  1911.          this.field_125.start();
  1912.       }
  1913.  
  1914.    }
  1915.  
  1916.    public void stop() {
  1917.       if (this.field_125 != null && this.field_125.isAlive()) {
  1918.          this.field_125.stop();
  1919.       }
  1920.  
  1921.       this.field_125 = null;
  1922.    }
  1923.  
  1924.    // $FF: renamed from: d (int) void
  1925.    final void method_18(int var1) {
  1926.       float var3 = this.field_85;
  1927.       float var4 = this.field_85 / 2.0F;
  1928.       float[] var2;
  1929.       if (this.field_38 == 1) {
  1930.          var2 = this.field_35;
  1931.       } else {
  1932.          var2 = this.field_34;
  1933.       }
  1934.  
  1935.       int var5 = this.field_136 / 2;
  1936.       int var6 = this.field_33 / 2;
  1937.       double var7 = (double)this.field_136 / (double)3.0F;
  1938.       double var9 = (double)this.field_33 / (double)2.5F;
  1939.       int var11 = var5 + (int)(var7 * Math.cos(this.field_2));
  1940.       int var12 = var6 + (int)(var9 * Math.sin(this.field_2 * 1.2 + (double)1.0F));
  1941.       this.field_2 += 0.05;
  1942.       int var13 = this.field_136 * var12;
  1943.       var2[var13 + var11] = var3;
  1944.       int var10001 = this.field_136 * (var12 - 1) + var11;
  1945.       var2[var10001] += var4;
  1946.       var10001 = this.field_136 * (var12 + 1) + var11;
  1947.       var2[var10001] += var4;
  1948.       var10001 = var13 + var11 + this.field_136;
  1949.       var2[var10001] += var4;
  1950.       var10001 = var13 + var11 - this.field_136;
  1951.       var2[var10001] += var4;
  1952.       if (var1 != 1) {
  1953.          var11 = var5 + (int)(var7 * Math.cos(this.field_3 * 1.3 + (double)1.0F));
  1954.          var12 = var6 + (int)(var9 * Math.sin(this.field_3));
  1955.          var13 = this.field_136 * var12;
  1956.          this.field_3 += 0.05;
  1957.          var2[var13 + var11] = var3;
  1958.          var10001 = this.field_136 * (var12 - 1) + var11;
  1959.          var2[var10001] += var4;
  1960.          var10001 = this.field_136 * (var12 + 1) + var11;
  1961.          var2[var10001] += var4;
  1962.          var10001 = var13 + var11 + this.field_136;
  1963.          var2[var10001] += var4;
  1964.          var10001 = var13 + var11 - this.field_136;
  1965.          var2[var10001] += var4;
  1966.       }
  1967.    }
  1968.  
  1969.    public final void update(Graphics var1) {
  1970.       this.paint(var1);
  1971.    }
  1972.  
  1973.    // $FF: renamed from: c (java.awt.Graphics) void
  1974.    public void method_19(Graphics var1) {
  1975.       var1.setFont(this.field_30);
  1976.       this.field_68 += this.field_128;
  1977.       if (this.field_68 > this.field_130 + this.field_46.length * this.field_31) {
  1978.          this.field_68 = -this.field_31;
  1979.       }
  1980.  
  1981.       if (this.field_123) {
  1982.          for(int var6 = 0; var6 < this.field_46.length; ++var6) {
  1983.             String var5 = this.field_46[var6];
  1984.             int var3 = this.field_135[var6];
  1985.             int var4 = this.field_130 - this.field_68 + var6 * this.field_31;
  1986.             var1.setColor(this.field_105);
  1987.             var1.drawString(var5, var3 + 1, var4 + 1);
  1988.             var1.setColor(this.field_119);
  1989.             var1.drawString(var5, var3, var4);
  1990.          }
  1991.  
  1992.       } else {
  1993.          var1.setColor(this.field_119);
  1994.  
  1995.          for(int var2 = 0; var2 < this.field_46.length; ++var2) {
  1996.             var1.drawString(this.field_46[var2], this.field_135[var2], this.field_130 - this.field_68 + var2 * this.field_31);
  1997.          }
  1998.  
  1999.       }
  2000.    }
  2001.  
  2002.    // $FF: renamed from: i () void
  2003.    public synchronized void method_20() {
  2004.       Thread.yield();
  2005.       this.field_124.sync();
  2006.       long var1 = 10L - (System.currentTimeMillis() - this.field_18);
  2007.       if (var1 > 0L) {
  2008.          try {
  2009.             Thread.sleep(var1);
  2010.          } catch (InterruptedException var5) {
  2011.          }
  2012.       } else {
  2013.          try {
  2014.             Thread.sleep(1L);
  2015.          } catch (InterruptedException var4) {
  2016.          }
  2017.       }
  2018.  
  2019.       this.field_18 = System.currentTimeMillis();
  2020.  
  2021.       try {
  2022.          Thread.sleep((long)this.field_51);
  2023.       } catch (InterruptedException var3) {
  2024.       }
  2025.    }
  2026.  
  2027.    // $FF: renamed from: j () void
  2028.    public final void method_21() {
  2029.       int[] var1 = this.field_22;
  2030.       int[] var2 = this.field_114;
  2031.       float[] var3 = this.field_34;
  2032.       float[] var4 = this.field_35;
  2033.       if (this.field_38 == 1) {
  2034.          var3 = this.field_35;
  2035.          var4 = this.field_34;
  2036.       }
  2037.  
  2038.       short[] var5 = this.field_134;
  2039.       short[] var6 = this.field_133;
  2040.       short[] var7 = this.field_132;
  2041.       int var9 = this.field_136;
  2042.       int var10 = this.field_136 + 1;
  2043.       int var11 = this.field_126 - var10;
  2044.       int var12 = this.field_126 - 1;
  2045.       int var13 = this.field_136 * 2;
  2046.       int var17 = this.field_50;
  2047.       int var18 = this.field_48;
  2048.       if (this.field_45) {
  2049.          int var19 = var9;
  2050.  
  2051.          for(int var8 = 0; var8 < var10; ++var8) {
  2052.             float var14 = var4[var8 + var19] - var4[var8 + var19 + 2];
  2053.             int var16 = var9 * (int)((var4[var8 + var19] - var4[var8 + var13]) / 2.8F) + (int)(var14 / 13.0F) + var8;
  2054.             var16 %= var12;
  2055.             if (var16 < 0) {
  2056.                var16 = -var16;
  2057.             }
  2058.  
  2059.             int var15 = (int)(var14 / 1.7F);
  2060.             var15 <<= 1;
  2061.             if (var15 < var17) {
  2062.                var15 = var17;
  2063.             } else if (var15 > var18) {
  2064.                var15 = var18;
  2065.             }
  2066.  
  2067.             int var20 = var5[var16] + var15;
  2068.             int var21 = var6[var16] + var15;
  2069.             int var22 = var7[var16] + var15;
  2070.             if (var20 > 255) {
  2071.                var20 = 255;
  2072.             } else if (var20 < 0) {
  2073.                var20 = 0;
  2074.             }
  2075.  
  2076.             if (var21 > 255) {
  2077.                var21 = 255;
  2078.             } else if (var21 < 0) {
  2079.                var21 = 0;
  2080.             }
  2081.  
  2082.             if (var22 > 255) {
  2083.                var22 = 255;
  2084.             } else if (var22 < 0) {
  2085.                var22 = 0;
  2086.             }
  2087.  
  2088.             var1[var8] = var20 << 16 | var21 << 8 | var22;
  2089.             var3[var8] = 0.0F;
  2090.          }
  2091.  
  2092.          for(int var23 = var10; var23 < var12; ++var23) {
  2093.             float var30 = var4[var23] - var4[var23 + 2];
  2094.             int var36 = var9 * (int)((var4[var23] - var4[var23 + var13]) / 8.0F) + (int)(var30 / 8.0F) + var23;
  2095.             var36 %= var12;
  2096.             if (var36 < 0) {
  2097.                var36 = -var36;
  2098.             }
  2099.  
  2100.             int var33 = (int)var30;
  2101.             var33 <<= 1;
  2102.             if (var33 < var17) {
  2103.                var33 = var17;
  2104.             } else if (var33 > var18) {
  2105.                var33 = var18;
  2106.             }
  2107.  
  2108.             int var43 = var5[var36] + var33;
  2109.             int var44 = var6[var36] + var33;
  2110.             int var45 = var7[var36] + var33;
  2111.             if (var43 > 255) {
  2112.                var43 = 255;
  2113.             } else if (var43 < 0) {
  2114.                var43 = 0;
  2115.             }
  2116.  
  2117.             if (var44 > 255) {
  2118.                var44 = 255;
  2119.             } else if (var44 < 0) {
  2120.                var44 = 0;
  2121.             }
  2122.  
  2123.             if (var45 > 255) {
  2124.                var45 = 255;
  2125.             } else if (var45 < 0) {
  2126.                var45 = 0;
  2127.             }
  2128.  
  2129.             var1[var23] = var43 << 16 | var44 << 8 | var45;
  2130.             var3[var23] = (var4[var23 + var9] + var4[var23 - var9] + var4[var23 + 1] + var4[var23 - 1]) / 2.0F - var3[var23];
  2131.             var3[var23] -= var3[var23] / this.field_95;
  2132.          }
  2133.       } else {
  2134.          int var42 = var9 + 1;
  2135.  
  2136.          for(int var24 = 0; var24 < var10; ++var24) {
  2137.             float var31 = var4[var24 + var42] - var4[var24 + var42 + 2];
  2138.             int var38 = var9 * (int)((var4[var24] - var4[var24 + var13]) / 8.0F) + (int)(var31 / 8.0F) + var24;
  2139.             var38 %= var12;
  2140.             if (var38 < 0) {
  2141.                var38 = -var38;
  2142.             }
  2143.  
  2144.             var1[var24] = var2[var38];
  2145.             var3[var24] = (var4[var24 + var9] + var4[var24 + 1]) / 2.0F - var3[var24];
  2146.             var3[var24] -= var3[var24] / this.field_95;
  2147.          }
  2148.  
  2149.          for(int var25 = var10; var25 < var12; ++var25) {
  2150.             int var40 = var9 * (int)((var4[var25] - var4[var25 + var13]) / 8.0F) + (int)((var4[var25] - var4[var25 + 2]) / 8.0F) + var25;
  2151.             var40 %= var12;
  2152.             if (var40 < 0) {
  2153.                var40 = -var40;
  2154.             }
  2155.  
  2156.             var1[var25] = var2[var40];
  2157.             var3[var25] = (var4[var25 + var9] + var4[var25 - var9] + var4[var25 + 1] + var4[var25 - 1]) / 2.0F - var3[var25];
  2158.             var3[var25] -= var3[var25] / this.field_95;
  2159.          }
  2160.       }
  2161.  
  2162.       var1[var12] = var2[var12];
  2163.  
  2164.       for(int var26 = var11 + var9; var26 < this.field_126; ++var26) {
  2165.          var3[var26 + var9] = 0.0F;
  2166.          var3[var26] /= 8.0F;
  2167.       }
  2168.  
  2169.       if (!this.field_76) {
  2170.          for(int var27 = 0; var27 < var10; ++var27) {
  2171.             var4[var27] = 0.0F;
  2172.          }
  2173.  
  2174.          for(int var28 = var10; var28 < this.field_126; ++var28) {
  2175.             var4[var28] = (var3[var28 + var9] + var3[var28 - var9] + var3[var28 + 1] + var3[var28 - 1]) / 2.0F - var4[var28];
  2176.             var4[var28] -= var4[var28] / this.field_95;
  2177.          }
  2178.  
  2179.          for(int var29 = var11 + var9; var29 < this.field_126; ++var29) {
  2180.             var4[var29 + var9] = 0.0F;
  2181.             var4[var29] /= 8.0F;
  2182.          }
  2183.       }
  2184.  
  2185.       if (this.field_76) {
  2186.          this.field_38 ^= 1;
  2187.       }
  2188.  
  2189.    }
  2190.  
  2191.    // $FF: renamed from: d (java.awt.Graphics) void
  2192.    public void method_22(Graphics var1) {
  2193.       String var2 = this.field_46[this.field_144];
  2194.       var1.setFont(this.field_146[this.field_145]);
  2195.       FontMetrics var3 = var1.getFontMetrics(this.field_146[this.field_145]);
  2196.       int var4 = (int)(this.field_37 - (float)var3.stringWidth(var2) / 2.0F);
  2197.       int var5 = (int)(this.field_36 + (float)var3.getHeight() / 4.0F);
  2198.       if (this.field_123) {
  2199.          var1.setColor(this.field_105);
  2200.          var1.drawString(var2, var4 + 1, var5 + 1);
  2201.       }
  2202.  
  2203.       var1.setColor(this.field_119);
  2204.       var1.drawString(var2, var4, var5);
  2205.       if (this.field_104 == 3) {
  2206.          this.field_145 -= this.field_128;
  2207.          if (this.field_145 <= 1) {
  2208.             this.field_145 = this.field_72 - 1;
  2209.             ++this.field_144;
  2210.             if (this.field_144 >= this.field_46.length) {
  2211.                this.field_144 = 0;
  2212.                return;
  2213.             }
  2214.          }
  2215.       } else {
  2216.          this.field_145 += this.field_128;
  2217.          if (this.field_145 >= this.field_72) {
  2218.             this.field_145 = 0;
  2219.             ++this.field_144;
  2220.             if (this.field_144 >= this.field_46.length) {
  2221.                this.field_144 = 0;
  2222.             }
  2223.          }
  2224.       }
  2225.  
  2226.    }
  2227.  
  2228.    // $FF: renamed from: c (java.lang.String) java.lang.String
  2229.    private static String method_23(String var0) {
  2230.       char[] var1 = var0.toCharArray();
  2231.       int var2 = var1.length;
  2232.       int var3 = 0;
  2233.  
  2234.       label32:
  2235.       while(true) {
  2236.          int var4 = 0;
  2237.          byte var10000 = 96;
  2238.          char[] var10001 = var1;
  2239.          int var10002 = var3;
  2240.  
  2241.          label30:
  2242.          while(true) {
  2243.             var10001[var10002] ^= var10000;
  2244.  
  2245.             while(true) {
  2246.                ++var3;
  2247.                ++var4;
  2248.                if (var2 == var3) {
  2249.                   return new String(var1);
  2250.                }
  2251.  
  2252.                switch (var4) {
  2253.                   case 1:
  2254.                      var10000 = 99;
  2255.                      var10001 = var1;
  2256.                      var10002 = var3;
  2257.                      continue label30;
  2258.                   case 2:
  2259.                      var10000 = 125;
  2260.                      var10001 = var1;
  2261.                      var10002 = var3;
  2262.                      continue label30;
  2263.                   case 3:
  2264.                      var10000 = 97;
  2265.                      var10001 = var1;
  2266.                      var10002 = var3;
  2267.                      continue label30;
  2268.                   case 4:
  2269.                      var10000 = 106;
  2270.                      var10001 = var1;
  2271.                      var10002 = var3;
  2272.                      continue label30;
  2273.                   case 5:
  2274.                      continue label32;
  2275.                }
  2276.             }
  2277.          }
  2278.       }
  2279.    }
  2280. }
  2281.