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

  1. import java.applet.Applet;
  2. import java.applet.AppletContext;
  3. import java.awt.Color;
  4. import java.awt.Component;
  5. import java.awt.Container;
  6. import java.awt.Event;
  7. import java.awt.Font;
  8. import java.awt.FontMetrics;
  9. import java.awt.Frame;
  10. import java.awt.Graphics;
  11. import java.awt.Image;
  12. import java.awt.Insets;
  13. import java.awt.Label;
  14. import java.awt.LayoutManager;
  15. import java.awt.MediaTracker;
  16. import java.awt.Panel;
  17. import java.awt.Toolkit;
  18. import java.awt.image.DirectColorModel;
  19. import java.awt.image.ImageObserver;
  20. import java.awt.image.MemoryImageSource;
  21. import java.awt.image.PixelGrabber;
  22. import java.io.ByteArrayOutputStream;
  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 treemenu extends Applet implements Runnable, ImageObserver {
  30.    // $FF: renamed from: a float
  31.    float field_0 = 1.0F;
  32.    // $FF: renamed from: b java.awt.Frame
  33.    Frame field_1;
  34.    // $FF: renamed from: c boolean
  35.    boolean field_2 = false;
  36.    // $FF: renamed from: d java.lang.String
  37.    final String field_3 = "Applet by Anfy Team (www.anfyjava.com)";
  38.    // $FF: renamed from: e boolean
  39.    boolean field_4 = false;
  40.    // $FF: renamed from: f java.awt.Image
  41.    Image field_5;
  42.    // $FF: renamed from: g java.awt.Color
  43.    Color field_6;
  44.    // $FF: renamed from: h int
  45.    int field_7;
  46.    // $FF: renamed from: i java.awt.Color
  47.    Color field_8;
  48.    // $FF: renamed from: j int
  49.    int field_9;
  50.    // $FF: renamed from: k java.lang.String
  51.    String 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 int
  59.    int field_14 = 4;
  60.    // $FF: renamed from: p int
  61.    int field_15 = 4;
  62.    // $FF: renamed from: q int
  63.    int field_16 = 1;
  64.    // $FF: renamed from: r int
  65.    int field_17;
  66.    // $FF: renamed from: s int
  67.    int 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 java.awt.Image
  73.    Image field_21;
  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 int
  81.    int 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 boolean
  91.    private boolean field_30 = false;
  92.    // $FF: renamed from: F int
  93.    int field_31;
  94.    // $FF: renamed from: G int
  95.    int field_32 = -1;
  96.    // $FF: renamed from: H int
  97.    int field_33;
  98.    // $FF: renamed from: I int
  99.    int field_34;
  100.    // $FF: renamed from: J long
  101.    long field_35;
  102.    // $FF: renamed from: K int
  103.    int field_36 = -1;
  104.    // $FF: renamed from: L boolean
  105.    boolean field_37 = false;
  106.    // $FF: renamed from: M java.awt.Color
  107.    Color field_38;
  108.    // $FF: renamed from: N int
  109.    int field_39;
  110.    // $FF: renamed from: O int
  111.    int field_40;
  112.    // $FF: renamed from: P boolean
  113.    boolean field_41 = false;
  114.    // $FF: renamed from: Q boolean
  115.    boolean field_42 = false;
  116.    // $FF: renamed from: R int
  117.    int field_43;
  118.    // $FF: renamed from: S java.awt.Color
  119.    Color field_44;
  120.    // $FF: renamed from: T int
  121.    int field_45;
  122.    // $FF: renamed from: U java.awt.Color
  123.    Color field_46;
  124.    // $FF: renamed from: V int
  125.    int field_47;
  126.    // $FF: renamed from: W java.awt.Frame
  127.    Frame field_48;
  128.    // $FF: renamed from: X int
  129.    final int field_49 = 1;
  130.    // $FF: renamed from: Y int
  131.    final int field_50 = 2;
  132.    // $FF: renamed from: Z int
  133.    final int field_51 = 3;
  134.    // $FF: renamed from: ba int
  135.    final int field_52;
  136.    // $FF: renamed from: bb int[][]
  137.    int[][] field_53;
  138.    // $FF: renamed from: bc int[]
  139.    int[] field_54;
  140.    // $FF: renamed from: bd int[]
  141.    int[] field_55;
  142.    // $FF: renamed from: be java.awt.Image
  143.    private Image field_56;
  144.    // $FF: renamed from: bf int[][]
  145.    int[][] field_57;
  146.    // $FF: renamed from: bg int[][]
  147.    int[][] field_58;
  148.    // $FF: renamed from: bh boolean[][]
  149.    boolean[][] field_59;
  150.    // $FF: renamed from: bi int[]
  151.    int[] field_60;
  152.    // $FF: renamed from: bj int
  153.    private int field_61 = 600;
  154.    // $FF: renamed from: bk int[]
  155.    int[] field_62;
  156.    // $FF: renamed from: bl boolean[][]
  157.    boolean[][] field_63;
  158.    // $FF: renamed from: bm int[]
  159.    int[] field_64;
  160.    // $FF: renamed from: bn boolean[]
  161.    boolean[] field_65;
  162.    // $FF: renamed from: bo int[]
  163.    int[] field_66;
  164.    // $FF: renamed from: bp boolean[]
  165.    boolean[] 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 int
  171.    int field_70;
  172.    // $FF: renamed from: bt int
  173.    int field_71;
  174.    // $FF: renamed from: bu java.lang.String[]
  175.    String[] field_72;
  176.    // $FF: renamed from: bv java.lang.String[]
  177.    String[] field_73;
  178.    // $FF: renamed from: bw int
  179.    private int field_74 = 600;
  180.    // $FF: renamed from: bx boolean
  181.    boolean field_75 = false;
  182.    // $FF: renamed from: by int
  183.    final int field_76 = 6;
  184.    // $FF: renamed from: bz int
  185.    final int field_77 = 7;
  186.    // $FF: renamed from: bA int
  187.    final int field_78 = 11;
  188.    // $FF: renamed from: bB int
  189.    final int field_79 = 9;
  190.    // $FF: renamed from: bC int
  191.    final int field_80 = 8;
  192.    // $FF: renamed from: bD int
  193.    final int field_81 = 12;
  194.    // $FF: renamed from: bE int
  195.    final int field_82 = 10;
  196.    // $FF: renamed from: bF java.net.URL
  197.    URL field_83;
  198.    // $FF: renamed from: bG boolean
  199.    private boolean field_84 = false;
  200.    // $FF: renamed from: bH int
  201.    final int field_85 = 5;
  202.    // $FF: renamed from: bI java.lang.String
  203.    String field_86;
  204.    // $FF: renamed from: bJ int
  205.    final int field_87 = 4;
  206.    // $FF: renamed from: bK int
  207.    int field_88;
  208.    // $FF: renamed from: bL java.lang.Thread
  209.    Thread field_89;
  210.    // $FF: renamed from: bM int
  211.    int field_90;
  212.    // $FF: renamed from: bN java.awt.Font
  213.    Font field_91;
  214.    // $FF: renamed from: bO int
  215.    int field_92;
  216.    // $FF: renamed from: bP boolean
  217.    boolean field_93 = true;
  218.    // $FF: renamed from: bQ int
  219.    int field_94;
  220.    // $FF: renamed from: bR int
  221.    int 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 boolean
  229.    boolean field_99 = false;
  230.    // $FF: renamed from: bW int
  231.    int field_100 = -1;
  232.    // $FF: renamed from: bX int
  233.    int field_101 = -1;
  234.    // $FF: renamed from: bY java.awt.MediaTracker
  235.    MediaTracker field_102;
  236.    // $FF: renamed from: bZ int
  237.    int field_103;
  238.    // $FF: renamed from: ca boolean
  239.    boolean field_104 = false;
  240.    // $FF: renamed from: cb boolean
  241.    boolean field_105 = false;
  242.    // $FF: renamed from: cc int[]
  243.    int[] field_106;
  244.    // $FF: renamed from: cd boolean[]
  245.    boolean[] field_107;
  246.    // $FF: renamed from: ce short[]
  247.    short[] 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.    final int field_116 = 13;
  264.    // $FF: renamed from: cn int
  265.    final int field_117 = 5;
  266.    // $FF: renamed from: co java.awt.Graphics
  267.    private Graphics field_118;
  268.    // $FF: renamed from: cp java.awt.Image
  269.    private Image field_119;
  270.    // $FF: renamed from: cq boolean
  271.    boolean field_120 = false;
  272.    // $FF: renamed from: cr int
  273.    int field_121;
  274.    // $FF: renamed from: cs int
  275.    int field_122;
  276.    // $FF: renamed from: ct int
  277.    int field_123;
  278.    // $FF: renamed from: cu int
  279.    int field_124;
  280.    // $FF: renamed from: cv int
  281.    int 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 boolean[]
  289.    boolean[] field_129;
  290.    // $FF: renamed from: cA short[]
  291.    short[] field_130;
  292.    // $FF: renamed from: cB int
  293.    int field_131;
  294.    // $FF: renamed from: cC java.awt.Image
  295.    private Image field_132;
  296.    // $FF: renamed from: cD int
  297.    int field_133;
  298.    // $FF: renamed from: cE int
  299.    int field_134;
  300.    // $FF: renamed from: cF int
  301.    int field_135;
  302.    // $FF: renamed from: cG anfy
  303.    anfy field_136;
  304.    // $FF: renamed from: cH java.awt.image.MemoryImageSource
  305.    MemoryImageSource 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 java.lang.String
  315.    String field_142;
  316.    // $FF: renamed from: cN boolean
  317.    boolean field_143 = false;
  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 int
  323.    final int field_146 = -4;
  324.    // $FF: renamed from: cR int
  325.    int field_147;
  326.    // $FF: renamed from: cS int
  327.    final int field_148 = -3;
  328.    // $FF: renamed from: cT int
  329.    final int field_149 = -2;
  330.    // $FF: renamed from: cU int
  331.    int field_150;
  332.    // $FF: renamed from: cV int
  333.    final int field_151 = -5;
  334.    // $FF: renamed from: cW int
  335.    int field_152 = 11;
  336.    // $FF: renamed from: cX int
  337.    int field_153 = 1;
  338.    // $FF: renamed from: cY int
  339.    final int field_154 = -8;
  340.    // $FF: renamed from: cZ int
  341.    int field_155;
  342.    // $FF: renamed from: da int
  343.    final int field_156 = -9;
  344.    // $FF: renamed from: db int
  345.    final int field_157 = -7;
  346.    // $FF: renamed from: dc int
  347.    int field_158;
  348.    // $FF: renamed from: dd int
  349.    final int field_159 = -6;
  350.    // $FF: renamed from: de int
  351.    int field_160;
  352.    // $FF: renamed from: df int
  353.    int field_161;
  354.    // $FF: renamed from: dg int
  355.    int field_162 = -1;
  356.    // $FF: renamed from: dh int[]
  357.    int[] field_163;
  358.    // $FF: renamed from: di boolean[]
  359.    boolean[] field_164;
  360.    // $FF: renamed from: dj int
  361.    int field_165;
  362.    // $FF: renamed from: dk short[]
  363.    short[] field_166;
  364.    // $FF: renamed from: dl int[][]
  365.    int[][] field_167;
  366.    // $FF: renamed from: dm boolean[][]
  367.    boolean[][] field_168;
  368.    // $FF: renamed from: dn java.awt.Color[]
  369.    Color[] field_169;
  370.    // $FF: renamed from: do int[]
  371.    int[] field_170;
  372.    // $FF: renamed from: dp int
  373.    int field_171;
  374.    // $FF: renamed from: dq java.awt.Toolkit
  375.    private Toolkit field_172;
  376.    // $FF: renamed from: dr java.lang.Thread
  377.    Thread field_173;
  378.    // $FF: renamed from: ds int
  379.    int field_174;
  380.    // $FF: renamed from: dt int
  381.    int field_175;
  382.    // $FF: renamed from: du float[]
  383.    float[] field_176;
  384.    // $FF: renamed from: dv float[]
  385.    float[] field_177;
  386.    // $FF: renamed from: dw int
  387.    int field_178;
  388.    // $FF: renamed from: dx int
  389.    int field_179;
  390.    // $FF: renamed from: dy int
  391.    int field_180;
  392.    // $FF: renamed from: dz int
  393.    int field_181;
  394.    // $FF: renamed from: dA int
  395.    int field_182;
  396.    // $FF: renamed from: dB int
  397.    int field_183;
  398.    // $FF: renamed from: dC int
  399.    int field_184;
  400.    // $FF: renamed from: dD int
  401.    int field_185;
  402.    // $FF: renamed from: dE boolean
  403.    boolean field_186 = false;
  404.    // $FF: renamed from: dF float[]
  405.    float[] field_187;
  406.    // $FF: renamed from: dG float[]
  407.    float[] field_188;
  408.    // $FF: renamed from: dH int
  409.    int field_189;
  410.    // $FF: renamed from: dI int
  411.    int field_190;
  412.    // $FF: renamed from: dJ int
  413.    private int field_191 = -1;
  414.    // $FF: renamed from: dK Lware
  415.    Lware field_192;
  416.  
  417.    // $FF: renamed from: a (int, int) void
  418.    final void method_0(int var1, int var2) {
  419.       int[] var3 = new int[this.field_64[var1]];
  420.       int var5 = this.field_64[var1];
  421.       int[] var6 = this.field_57[var1];
  422.  
  423.       for(int var4 = 0; var4 < var5; ++var4) {
  424.          var3[var4] = var6[var4];
  425.       }
  426.  
  427.       int var10002 = this.field_64[var1]++;
  428.       var5 = this.field_64[var1];
  429.       this.field_57[var1] = new int[var5];
  430.       var6 = this.field_57[var1];
  431.       --var5;
  432.  
  433.       for(int var7 = 0; var7 < var5; ++var7) {
  434.          var6[var7] = var3[var7];
  435.       }
  436.  
  437.       var6[this.field_64[var1] - 1] = var2;
  438.    }
  439.  
  440.    // $FF: renamed from: a (int) void
  441.    private final void method_1(int var1) {
  442.       ++this.field_33;
  443.       int var4 = this.field_64[var1];
  444.       if (this.field_88 <= this.field_33) {
  445.          this.field_88 = this.field_33 + 1;
  446.       }
  447.  
  448.       for(int var2 = 0; var2 < var4; ++var2) {
  449.          int var3 = this.field_57[var1][var2];
  450.          if (var2 == var4 - 1) {
  451.             this.method_2(var3, this.field_33, true);
  452.          } else {
  453.             this.method_2(var3, this.field_33, false);
  454.          }
  455.  
  456.          if (this.field_65[var3]) {
  457.             this.method_1(var3);
  458.          }
  459.       }
  460.  
  461.       --this.field_33;
  462.    }
  463.  
  464.    // $FF: renamed from: a (int, int, boolean) void
  465.    private final void method_2(int var1, int var2, boolean var3) {
  466.       int[] var5 = new int[this.field_115];
  467.       short[] var6 = new short[this.field_115];
  468.       boolean[] var7 = new boolean[this.field_115];
  469.  
  470.       for(int var4 = 0; var4 < this.field_115; ++var4) {
  471.          var5[var4] = this.field_163[var4];
  472.          var6[var4] = this.field_166[var4];
  473.          var7[var4] = this.field_164[var4];
  474.       }
  475.  
  476.       ++this.field_115;
  477.       this.field_163 = new int[this.field_115];
  478.       this.field_166 = new short[this.field_115];
  479.       this.field_164 = new boolean[this.field_115];
  480.  
  481.       for(int var8 = 0; var8 < this.field_115 - 1; ++var8) {
  482.          this.field_163[var8] = var5[var8];
  483.          this.field_166[var8] = var6[var8];
  484.          this.field_164[var8] = var7[var8];
  485.       }
  486.  
  487.       this.field_163[this.field_115 - 1] = var1;
  488.       this.field_166[this.field_115 - 1] = (short)var2;
  489.       this.field_164[this.field_115 - 1] = var3;
  490.    }
  491.  
  492.    // $FF: renamed from: a () void
  493.    private final void method_3() {
  494.       this.field_113 = this.field_115;
  495.       this.field_106 = new int[this.field_113];
  496.       this.field_108 = new short[this.field_113];
  497.       this.field_107 = new boolean[this.field_113];
  498.  
  499.       for(int var1 = 0; var1 < this.field_113; ++var1) {
  500.          this.field_106[var1] = this.field_163[var1];
  501.          this.field_108[var1] = this.field_166[var1];
  502.          this.field_107[var1] = this.field_164[var1];
  503.       }
  504.  
  505.    }
  506.  
  507.    // $FF: renamed from: b () void
  508.    private final void method_4() {
  509.       while(true) {
  510.          ((Applet)this).showStatus("Don't remove www.anfyjava.com credits line in HTML!");
  511.  
  512.          try {
  513.             Thread.sleep(500L);
  514.          } catch (InterruptedException var1) {
  515.          }
  516.       }
  517.    }
  518.  
  519.    // $FF: renamed from: c () boolean
  520.    public synchronized boolean method_5() {
  521.       ((Component)this).prepareImage(this.field_132, this);
  522.       if (!this.field_75) {
  523.          return false;
  524.       } else {
  525.          for(int var1 = 0; var1 < 3; ++var1) {
  526.             this.notifyAll();
  527.             Thread.yield();
  528.  
  529.             try {
  530.                Thread.sleep(100L);
  531.             } catch (InterruptedException var2) {
  532.             }
  533.          }
  534.  
  535.          return this.field_120;
  536.       }
  537.    }
  538.  
  539.    // $FF: renamed from: d () void
  540.    private final void method_6() {
  541.       if (!(this.field_114 < 1 | this.field_114 == this.field_115)) {
  542.          this.field_191 = 0;
  543.          this.method_3();
  544.          int var2 = -1;
  545.          int var3 = -1;
  546.          if (this.field_114 > this.field_115) {
  547.             var2 = this.field_115 - 1;
  548.  
  549.             for(int var6 = 0; var6 < this.field_115; ++var6) {
  550.                if (this.field_163[var6] != this.field_128[var6]) {
  551.                   var2 = var6 - 1;
  552.                   var6 = this.field_115;
  553.                }
  554.             }
  555.  
  556.             var3 = this.field_114 - 1;
  557.             short var12 = this.field_130[var2];
  558.  
  559.             for(int var7 = var2 + 1; var7 < this.field_114; ++var7) {
  560.                if (this.field_130[var7] <= var12) {
  561.                   var3 = var7 - 1;
  562.                   var7 = this.field_114;
  563.                }
  564.             }
  565.  
  566.             this.field_109 = var2;
  567.             this.field_103 = var2;
  568.             this.field_131 = var2;
  569.             this.field_121 = var3;
  570.          } else {
  571.             var2 = this.field_114 - 1;
  572.  
  573.             for(int var1 = 0; var1 < this.field_114; ++var1) {
  574.                if (this.field_163[var1] != this.field_128[var1]) {
  575.                   var2 = var1 - 1;
  576.                   var1 = this.field_114;
  577.                }
  578.             }
  579.  
  580.             var3 = this.field_115 - 1;
  581.             short var4 = this.field_166[var2];
  582.  
  583.             for(int var5 = var2 + 1; var5 < this.field_115; ++var5) {
  584.                if (this.field_166[var5] <= var4) {
  585.                   var3 = var5 - 1;
  586.                   var5 = this.field_115;
  587.                }
  588.             }
  589.  
  590.             this.field_109 = var2;
  591.             this.field_103 = var3;
  592.             this.field_131 = var2;
  593.             this.field_121 = var2;
  594.          }
  595.       }
  596.    }
  597.  
  598.    // $FF: renamed from: e () void
  599.    private void method_7() {
  600.       for(int var1 = 0; var1 < this.field_112; ++var1) {
  601.          int var2 = this.field_62[var1];
  602.          if (this.field_64[var1] < 1 & this.field_67[var2]) {
  603.             ((Applet)this).showStatus("Menu Item: " + var1 + " contains a map Icon (32x16) instead of a normal Icon (16x16)");
  604.             this.stop();
  605.          }
  606.       }
  607.  
  608.    }
  609.  
  610.    // $FF: renamed from: f () void
  611.    private void method_8() {
  612.       if (this.field_4 && this.field_100 > -1 & this.field_100 < this.field_23 & this.field_101 > -1 & this.field_101 < this.field_20) {
  613.          this.field_32 = this.field_60[this.field_100 + this.field_101 * this.field_23];
  614.       }
  615.  
  616.       if (this.field_186) {
  617.          if (this.field_94 > -1 & this.field_94 < this.field_23 & this.field_96 > -1 & this.field_96 < this.field_20) {
  618.             this.field_162 = this.field_60[this.field_94 + this.field_96 * this.field_23];
  619.             this.field_36 = this.field_162;
  620.          }
  621.  
  622.          this.field_186 = false;
  623.       }
  624.  
  625.       if ((this.field_94 != this.field_95 | this.field_96 != this.field_97) & this.field_99 & (this.field_36 == -8 | this.field_36 == -4)) {
  626.          if (this.field_36 == -8) {
  627.             this.field_27 = (int)(-((double)((this.field_158 + this.field_96 - this.field_97) * this.field_139) / (double)(this.field_144 - this.field_152 * 2)));
  628.             this.field_95 = this.field_94;
  629.             this.field_97 = this.field_96;
  630.          }
  631.  
  632.          if (this.field_36 == -4) {
  633.             this.field_24 = (int)(-((double)((this.field_150 + this.field_94 - this.field_95) * this.field_140) / (double)(this.field_145 - this.field_152 * 2)));
  634.             this.field_95 = this.field_94;
  635.             this.field_97 = this.field_96;
  636.          }
  637.  
  638.          this.field_93 = true;
  639.       } else if (!this.field_93) {
  640.          this.field_98 = false;
  641.          if (this.field_162 > -1) {
  642.             this.field_65[this.field_162] = !this.field_65[this.field_162];
  643.             this.field_93 = true;
  644.             this.field_32 = this.field_162;
  645.             if (this.field_73[this.field_162] != null) {
  646.                this.method_45(this.field_162);
  647.             }
  648.  
  649.          } else {
  650.             this.field_93 = true;
  651.             switch (this.field_162) {
  652.                case -9:
  653.                   this.method_53(1);
  654.                   this.field_93 = false;
  655.                   return;
  656.                case -8:
  657.                case -4:
  658.                default:
  659.                   return;
  660.                case -7:
  661.                   this.method_53(0);
  662.                   this.field_93 = false;
  663.                   return;
  664.                case -6:
  665.                   this.method_53(-1);
  666.                   this.field_93 = false;
  667.                   return;
  668.                case -5:
  669.                   this.method_52(1);
  670.                   this.field_93 = false;
  671.                   return;
  672.                case -3:
  673.                   this.method_52(0);
  674.                   this.field_93 = false;
  675.                   return;
  676.                case -2:
  677.                   this.method_52(-1);
  678.                   this.field_93 = false;
  679.             }
  680.          }
  681.       }
  682.    }
  683.  
  684.    // $FF: renamed from: g () void
  685.    public void method_9() {
  686.       System.arraycopy(this.field_12, 0, this.field_19, 0, this.field_23 * this.field_20);
  687.       System.arraycopy(this.field_13, 0, this.field_60, 0, this.field_23 * this.field_20);
  688.    }
  689.  
  690.    // $FF: renamed from: h () void
  691.    private final void method_10() {
  692.       this.field_163 = new int[0];
  693.       this.field_166 = new short[0];
  694.       this.field_115 = 0;
  695.    }
  696.  
  697.    // $FF: renamed from: a (java.lang.String, boolean) boolean
  698.    public boolean method_11(String var1, boolean var2) {
  699.       if (var1 == null) {
  700.          return var2;
  701.       } else if (var1.length() < 1) {
  702.          return var2;
  703.       } else {
  704.          boolean var3;
  705.          if (var1.equalsIgnoreCase("YES")) {
  706.             var3 = true;
  707.          } else {
  708.             var3 = false;
  709.          }
  710.  
  711.          return var3;
  712.       }
  713.    }
  714.  
  715.    // $FF: renamed from: a (java.lang.String) int
  716.    public int method_12(String var1) {
  717.       if (var1 == null) {
  718.          return 0;
  719.       } else if (var1.length() < 1) {
  720.          return 0;
  721.       } else {
  722.          int var2;
  723.          try {
  724.             var2 = Integer.parseInt(var1, 16);
  725.          } catch (Exception var3) {
  726.             var2 = 0;
  727.          }
  728.  
  729.          return var2;
  730.       }
  731.    }
  732.  
  733.    // $FF: renamed from: a (java.awt.Color) int
  734.    public int method_13(Color var1) {
  735.       int var2 = -16777216 | var1.getRed() << 16 | var1.getGreen() << 8 | var1.getBlue();
  736.       return var2;
  737.    }
  738.  
  739.    // $FF: renamed from: a (java.lang.String, int) int
  740.    public int method_14(String var1, int var2) {
  741.       if (var1 == null) {
  742.          return var2;
  743.       } else if (var1.length() < 1) {
  744.          return var2;
  745.       } else {
  746.          int var3;
  747.          try {
  748.             var3 = Integer.parseInt(var1);
  749.          } catch (Exception var4) {
  750.             var3 = var2;
  751.          }
  752.  
  753.          return var3;
  754.       }
  755.    }
  756.  
  757.    // $FF: renamed from: a (java.lang.String[], int, int, int) void
  758.    private void method_15(String[] var1, int var2, int var3, int var4) {
  759.       boolean[] var9 = this.field_168[var2];
  760.       int[] var10 = this.field_167[var2];
  761.  
  762.       for(int var6 = 0; var6 < var4; ++var6) {
  763.          for(int var5 = 0; var5 < var3; ++var5) {
  764.             int var7 = var1[var6].charAt(var5) - 48;
  765.             int var8 = var6 * var3 + var5;
  766.             if (var7 > -1) {
  767.                var10[var8] = this.field_170[var7];
  768.                var9[var8] = true;
  769.             } else {
  770.                var9[var8] = false;
  771.             }
  772.          }
  773.       }
  774.  
  775.    }
  776.  
  777.    // $FF: renamed from: a (int[], int, int, int, int, int[], int, int, int, int) void
  778.    public void method_16(int[] var1, int var2, int var3, int var4, int var5, int[] var6, int var7, int var8, int var9, int var10) {
  779.       int var11 = var4;
  780.       int var12 = var5;
  781.       if (var7 < 0) {
  782.          var2 -= var7;
  783.          var11 = var4 + var7;
  784.          var7 = 0;
  785.       }
  786.  
  787.       if (var8 < 0) {
  788.          var3 -= var8;
  789.          var12 = var5 + var8;
  790.          var8 = 0;
  791.       }
  792.  
  793.       if (var7 + var11 > var9) {
  794.          var11 = var9 - var7;
  795.       }
  796.  
  797.       if (var8 + var12 > var10) {
  798.          var12 = var10 - var8;
  799.       }
  800.  
  801.       for(int var13 = 0; var13 < var12; ++var13) {
  802.          int var14 = (var3 + var13) * var4 + var2;
  803.          int var15 = (var8 + var13) * var9 + var7;
  804.          System.arraycopy(var1, var14, var6, var15, var11);
  805.       }
  806.  
  807.    }
  808.  
  809.    // $FF: renamed from: a (int, int, int, int) void
  810.    final void method_17(int var1, int var2, int var3, int var4) {
  811.       int var7 = 0;
  812.       int var8 = 0;
  813.       int var5 = this.field_70;
  814.       int var6 = this.field_69;
  815.       int var9 = var1;
  816.       int var10 = var2;
  817.       if (var1 < 0) {
  818.          var7 = -var1;
  819.          var5 += var1;
  820.          var9 = 0;
  821.       }
  822.  
  823.       if (var2 < 0) {
  824.          var8 = -var2;
  825.          var6 += var2;
  826.          var10 = 0;
  827.       }
  828.  
  829.       if (var9 + var5 > this.field_23 - 1) {
  830.          var5 = this.field_23 - 1 - var9;
  831.       }
  832.  
  833.       if (var10 + var6 > this.field_20 - 1) {
  834.          var6 = this.field_20 - 1 - var10;
  835.       }
  836.  
  837.       if (!(var5 < 0 | var6 < 0)) {
  838.          this.method_20(this.field_167[var3], this.field_168[var3], var7, var8, this.field_70, this.field_19, var9, var10, this.field_23, var5, var6);
  839.          if (var4 != -1) {
  840.             this.method_21(this.field_60, var9, var10, this.field_23, var5, var6, var4);
  841.          }
  842.  
  843.       }
  844.    }
  845.  
  846.    // $FF: renamed from: a (int[], int, int, int, int[], int, int, int, int, int) void
  847.    private final void method_18(int[] var1, int var2, int var3, int var4, int[] var5, int var6, int var7, int var8, int var9, int var10) {
  848.       int var12 = var3 * var4 + var2;
  849.       int var13 = var7 * var8 + var6;
  850.  
  851.       for(int var11 = 0; var11 < var10; ++var11) {
  852.          System.arraycopy(var1, var12, var5, var13, var9);
  853.          var12 += var4;
  854.          var13 += var8;
  855.       }
  856.  
  857.    }
  858.  
  859.    // $FF: renamed from: a (int[], boolean[], int, int, int, int[], int, int, int, int, int) void
  860.    private final void method_19(int[] var1, boolean[] var2, int var3, int var4, int var5, int[] var6, int var7, int var8, int var9, int var10, int var11) {
  861.       boolean var13 = false;
  862.       int var14 = var4 * var5 + var3;
  863.       int var15 = var8 * var9 + var7;
  864.       if (!(var10 < 1 | var11 < 1)) {
  865.          int var19 = this.field_9 & 16711680;
  866.          int var20 = this.field_9 & '\uff00';
  867.          int var21 = this.field_9 & 255;
  868.  
  869.          for(int var12 = 0; var12 < var11; ++var12) {
  870.             for(int var22 = 0; var22 < var10; ++var22) {
  871.                if (var2[var14 + var22]) {
  872.                   var6[var15 + var22] = this.field_47;
  873.                } else {
  874.                   int var16 = (var6[var15 + var22] & 16711680) + var19 >> 1 & 16711680;
  875.                   int var17 = (var6[var15 + var22] & '\uff00') + var20 >> 1 & '\uff00';
  876.                   int var18 = (var6[var15 + var22] & 255) + var21 >> 1 & 255;
  877.                   var6[var15 + var22] = -16777216 | var16 | var17 | var18;
  878.                }
  879.             }
  880.  
  881.             var14 += var5;
  882.             var15 += var9;
  883.          }
  884.  
  885.       }
  886.    }
  887.  
  888.    // $FF: renamed from: b (int[], boolean[], int, int, int, int[], int, int, int, int, int) void
  889.    private final void method_20(int[] var1, boolean[] var2, int var3, int var4, int var5, int[] var6, int var7, int var8, int var9, int var10, int var11) {
  890.       int var14 = var4 * var5 + var3;
  891.       int var15 = var8 * var9 + var7;
  892.  
  893.       for(int var12 = 0; var12 < var11; ++var12) {
  894.          for(int var13 = 0; var13 < var10; ++var13) {
  895.             int var16 = var14 + var13;
  896.             if (var2[var16]) {
  897.                var6[var15 + var13] = var1[var16];
  898.             }
  899.          }
  900.  
  901.          var14 += var5;
  902.          var15 += var9;
  903.       }
  904.  
  905.    }
  906.  
  907.    // $FF: renamed from: a (int[], int, int, int, int, int, int) void
  908.    private final void method_21(int[] var1, int var2, int var3, int var4, int var5, int var6, int var7) {
  909.       int var10 = var3 * var4;
  910.  
  911.       for(int var9 = 0; var9 < var6; ++var9) {
  912.          int var11 = var10 + var2;
  913.  
  914.          for(int var8 = 0; var8 < var5; ++var8) {
  915.             var1[var11++] = var7;
  916.          }
  917.  
  918.          var10 += var4;
  919.       }
  920.  
  921.    }
  922.  
  923.    // $FF: renamed from: a (int, int, int) void
  924.    final void method_22(int var1, int var2, int var3) {
  925.       int var7 = 0;
  926.       int var8 = 0;
  927.       int var4 = this.field_55[var3];
  928.       int var5 = this.field_54[var3];
  929.       int var9 = var1;
  930.       int var10 = var2;
  931.       if (var1 < 0) {
  932.          var7 = -var1;
  933.          var4 += var1;
  934.          var9 = 0;
  935.       }
  936.  
  937.       if (var2 < 0) {
  938.          var8 = -var2;
  939.          var5 += var2;
  940.          var10 = 0;
  941.       }
  942.  
  943.       if (var9 + var4 > this.field_23 - 1) {
  944.          var4 = this.field_23 - 1 - var9;
  945.       }
  946.  
  947.       if (var10 + var5 > this.field_20 - 1) {
  948.          var5 = this.field_20 - 1 - var10;
  949.       }
  950.  
  951.       if (!(var4 < 0 | var5 < 0)) {
  952.          if (this.field_32 != var3) {
  953.             this.method_20(this.field_53[var3], this.field_63[var3], var7, var8, this.field_55[var3], this.field_19, var9, var10, this.field_23, var4, var5);
  954.          } else {
  955.             this.method_19(this.field_53[var3], this.field_63[var3], var7, var8, this.field_55[var3], this.field_19, var9, var10, this.field_23, var4, var5);
  956.          }
  957.  
  958.          this.method_21(this.field_60, var9, var10, this.field_23, var4, var5, var3);
  959.       }
  960.    }
  961.  
  962.    // $FF: renamed from: a (int, int, int, int, int) void
  963.    final void method_23(int var1, int var2, int var3, int var4, int var5) {
  964.       byte var8 = 0;
  965.       if (var5 == 1) {
  966.          var8 = 16;
  967.       }
  968.  
  969.       int var9 = 0;
  970.       int var10 = 0;
  971.       int var6 = this.field_69;
  972.       int var7 = this.field_69;
  973.       int var11 = var1;
  974.       int var12 = var2;
  975.       if (var1 < 0) {
  976.          var9 = -var1;
  977.          var6 += var1;
  978.          var11 = 0;
  979.       }
  980.  
  981.       if (var2 < 0) {
  982.          var10 = -var2;
  983.          var7 += var2;
  984.          var12 = 0;
  985.       }
  986.  
  987.       if (var11 + var6 > this.field_23 - 1) {
  988.          var6 = this.field_23 - 1 - var11;
  989.       }
  990.  
  991.       if (var12 + var7 > this.field_20 - 1) {
  992.          var7 = this.field_20 - 1 - var12;
  993.       }
  994.  
  995.       if (!(var6 < 0 | var7 < 0)) {
  996.          this.method_20(this.field_58[var3], this.field_59[var3], var9 + var8, var10, 32, this.field_19, var11, var12, this.field_23, var6, var7);
  997.          if (var4 != -1) {
  998.             this.method_21(this.field_60, var11, var12, this.field_23, var6, var7, var4);
  999.          }
  1000.  
  1001.       }
  1002.    }
  1003.  
  1004.    // $FF: renamed from: b (int, int, int, int) void
  1005.    final void method_24(int var1, int var2, int var3, int var4) {
  1006.       int var7 = 0;
  1007.       int var8 = 0;
  1008.       int var5 = this.field_69;
  1009.       int var6 = this.field_69;
  1010.       int var9 = var1;
  1011.       int var10 = var2;
  1012.       if (var1 < 0) {
  1013.          var7 = -var1;
  1014.          var5 += var1;
  1015.          var9 = 0;
  1016.       }
  1017.  
  1018.       if (var2 < 0) {
  1019.          var8 = -var2;
  1020.          var6 += var2;
  1021.          var10 = 0;
  1022.       }
  1023.  
  1024.       if (var9 + var5 > this.field_23 - 1) {
  1025.          var5 = this.field_23 - 1 - var9;
  1026.       }
  1027.  
  1028.       if (var10 + var6 > this.field_20 - 1) {
  1029.          var6 = this.field_20 - 1 - var10;
  1030.       }
  1031.  
  1032.       if (!(var5 < 0 | var6 < 0)) {
  1033.          this.method_20(this.field_58[var3], this.field_59[var3], var7, var8, this.field_69, this.field_19, var9, var10, this.field_23, var5, var6);
  1034.          if (var4 != -1) {
  1035.             this.method_21(this.field_60, var9, var10, this.field_23, var5, var6, var4);
  1036.          }
  1037.  
  1038.       }
  1039.    }
  1040.  
  1041.    // $FF: renamed from: i () void
  1042.    public void method_25() {
  1043.       if (this.field_10 == null) {
  1044.          this.field_10 = "";
  1045.       }
  1046.  
  1047.       if (this.field_10.length() <= 2) {
  1048.          this.method_21(this.field_12, 0, 0, this.field_23, this.field_23, this.field_20, this.field_7);
  1049.       } else {
  1050.          Image var1 = this.method_39(this.field_10);
  1051.          int var2 = 0;
  1052.          int var3 = 0;
  1053.          var2 = var1.getWidth(this);
  1054.          var3 = var1.getHeight(this);
  1055.          this.method_42(0, 0, var2, var3, var1);
  1056.          int var6 = this.field_23 / var2 + 2;
  1057.          int var7 = this.field_20 / var3 + 2;
  1058.          int var8 = -(var6 * var2 - this.field_23) / 2;
  1059.          int var9 = -(var7 * var3 - this.field_20) / 2;
  1060.  
  1061.          for(int var4 = 0; var4 < var6; ++var4) {
  1062.             for(int var5 = 0; var5 < var7; ++var5) {
  1063.                this.method_16(this.field_11, 0, 0, var2, var3, this.field_12, var8 + var4 * var2, var9 + var5 * var3, this.field_23, this.field_20);
  1064.             }
  1065.          }
  1066.  
  1067.       }
  1068.    }
  1069.  
  1070.    // $FF: renamed from: j () void
  1071.    public void method_26() {
  1072.       byte var1 = 0;
  1073.       int var2 = 0;
  1074.  
  1075.       try {
  1076.          for(int var4 = 1; var4 < this.field_112; ++var4) {
  1077.             var2 = this.field_66[var4];
  1078.             this.method_0(var2, var4);
  1079.          }
  1080.  
  1081.       } catch (ArrayIndexOutOfBoundsException var3) {
  1082.          ((Applet)this).showStatus("Error reading configuration ; itemId: " + var1 + " parentId : " + var2);
  1083.          this.stop();
  1084.       }
  1085.    }
  1086.  
  1087.    // $FF: renamed from: k () void
  1088.    private final void method_27() {
  1089.       this.field_33 = 0;
  1090.       this.field_34 = 0;
  1091.       System.arraycopy(this.field_19, 0, this.field_22, 0, this.field_23 * this.field_20);
  1092.       this.field_29 = this.field_27;
  1093.       this.field_26 = this.field_24;
  1094.       this.field_114 = this.field_115;
  1095.       this.field_128 = new int[this.field_114];
  1096.       this.field_130 = new short[this.field_114];
  1097.       this.field_129 = new boolean[this.field_114];
  1098.  
  1099.       for(int var2 = 0; var2 < this.field_114; ++var2) {
  1100.          this.field_128[var2] = this.field_163[var2];
  1101.          this.field_130[var2] = this.field_166[var2];
  1102.          this.field_129[var2] = this.field_164[var2];
  1103.       }
  1104.  
  1105.       this.method_10();
  1106.       byte var1 = 0;
  1107.       this.field_122 = this.field_88;
  1108.       this.field_88 = 1;
  1109.       this.method_2(var1, this.field_33, true);
  1110.       if (this.field_65[var1]) {
  1111.          this.method_1(var1);
  1112.       }
  1113.  
  1114.       this.field_165 = 0;
  1115.    }
  1116.  
  1117.    // $FF: renamed from: l () void
  1118.    private void method_28() {
  1119.       this.field_167 = new int[13][];
  1120.       this.field_168 = new boolean[13][];
  1121.  
  1122.       for(int var2 = 0; var2 < 13; ++var2) {
  1123.          this.field_167[var2] = new int[this.field_70 * this.field_69];
  1124.          this.field_168[var2] = new boolean[this.field_70 * this.field_69];
  1125.       }
  1126.  
  1127.       int var3 = this.field_152 * this.field_152;
  1128.       this.field_167[0] = new int[var3];
  1129.       this.field_167[1] = new int[var3];
  1130.       this.field_167[2] = new int[var3];
  1131.       this.field_167[3] = new int[var3];
  1132.       int var4 = this.field_152 - 1;
  1133.       this.method_34(this.field_167[0], 0, 0, var4, var4);
  1134.       this.method_34(this.field_167[1], 0, 0, var4, var4);
  1135.       this.method_34(this.field_167[2], 0, 0, var4, var4);
  1136.       this.method_34(this.field_167[3], 0, 0, var4, var4);
  1137.       String[] var1 = new String[this.field_152];
  1138.       int var5 = 0;
  1139.       var5 = 0;
  1140.       if (this.field_152 == 11) {
  1141.          var1[var5++] = "...........";
  1142.          var1[var5++] = "...........";
  1143.          var1[var5++] = "...........";
  1144.          var1[var5++] = "...........";
  1145.          var1[var5++] = "....00.....";
  1146.          var1[var5++] = "...0000....";
  1147.          var1[var5++] = "..000000...";
  1148.          var1[var5++] = "...........";
  1149.          var1[var5++] = "...........";
  1150.          var1[var5++] = "...........";
  1151.          var1[var5++] = "...........";
  1152.       } else {
  1153.          var1[var5++] = "................";
  1154.          var1[var5++] = "................";
  1155.          var1[var5++] = "................";
  1156.          var1[var5++] = "................";
  1157.          var1[var5++] = "................";
  1158.          var1[var5++] = "................";
  1159.          var1[var5++] = ".......0........";
  1160.          var1[var5++] = "......000.......";
  1161.          var1[var5++] = ".....00000......";
  1162.          var1[var5++] = "....0000000.....";
  1163.          var1[var5++] = "................";
  1164.          var1[var5++] = "................";
  1165.          var1[var5++] = "................";
  1166.          var1[var5++] = "................";
  1167.          var1[var5++] = "................";
  1168.          var1[var5++] = "................";
  1169.       }
  1170.  
  1171.       this.method_15(var1, 0, this.field_152, this.field_152);
  1172.       var5 = 0;
  1173.       if (this.field_152 == 11) {
  1174.          var1[var5++] = "...........";
  1175.          var1[var5++] = "...........";
  1176.          var1[var5++] = "...........";
  1177.          var1[var5++] = "...........";
  1178.          var1[var5++] = "..000000...";
  1179.          var1[var5++] = "...0000....";
  1180.          var1[var5++] = "....00.....";
  1181.          var1[var5++] = "...........";
  1182.          var1[var5++] = "...........";
  1183.          var1[var5++] = "...........";
  1184.          var1[var5++] = "...........";
  1185.       } else {
  1186.          var1[var5++] = "................";
  1187.          var1[var5++] = "................";
  1188.          var1[var5++] = "................";
  1189.          var1[var5++] = "................";
  1190.          var1[var5++] = "................";
  1191.          var1[var5++] = "................";
  1192.          var1[var5++] = "....0000000.....";
  1193.          var1[var5++] = ".....00000......";
  1194.          var1[var5++] = "......000.......";
  1195.          var1[var5++] = ".......0........";
  1196.          var1[var5++] = "................";
  1197.          var1[var5++] = "................";
  1198.          var1[var5++] = "................";
  1199.          var1[var5++] = "................";
  1200.          var1[var5++] = "................";
  1201.          var1[var5++] = "................";
  1202.       }
  1203.  
  1204.       this.method_15(var1, 1, this.field_152, this.field_152);
  1205.       var5 = 0;
  1206.       if (this.field_152 == 11) {
  1207.          var1[var5++] = "...........";
  1208.          var1[var5++] = "...........";
  1209.          var1[var5++] = ".....0.....";
  1210.          var1[var5++] = "....00.....";
  1211.          var1[var5++] = "...000.....";
  1212.          var1[var5++] = "...000.....";
  1213.          var1[var5++] = "....00.....";
  1214.          var1[var5++] = ".....0.....";
  1215.          var1[var5++] = "...........";
  1216.          var1[var5++] = "...........";
  1217.          var1[var5++] = "...........";
  1218.       } else {
  1219.          var1[var5++] = "................";
  1220.          var1[var5++] = "................";
  1221.          var1[var5++] = "................";
  1222.          var1[var5++] = "................";
  1223.          var1[var5++] = "........0.......";
  1224.          var1[var5++] = ".......00.......";
  1225.          var1[var5++] = "......000.......";
  1226.          var1[var5++] = ".....0000.......";
  1227.          var1[var5++] = "......000.......";
  1228.          var1[var5++] = ".......00.......";
  1229.          var1[var5++] = "........0.......";
  1230.          var1[var5++] = "................";
  1231.          var1[var5++] = "................";
  1232.          var1[var5++] = "................";
  1233.          var1[var5++] = "................";
  1234.          var1[var5++] = "................";
  1235.       }
  1236.  
  1237.       this.method_15(var1, 2, this.field_152, this.field_152);
  1238.       var5 = 0;
  1239.       if (this.field_152 == 11) {
  1240.          var1[var5++] = "...........";
  1241.          var1[var5++] = "...........";
  1242.          var1[var5++] = "....0......";
  1243.          var1[var5++] = "....00.....";
  1244.          var1[var5++] = "....000....";
  1245.          var1[var5++] = "....000....";
  1246.          var1[var5++] = "....00.....";
  1247.          var1[var5++] = "....0......";
  1248.          var1[var5++] = "...........";
  1249.          var1[var5++] = "...........";
  1250.          var1[var5++] = "...........";
  1251.       } else {
  1252.          var1[var5++] = "................";
  1253.          var1[var5++] = "................";
  1254.          var1[var5++] = "................";
  1255.          var1[var5++] = "................";
  1256.          var1[var5++] = "......0.........";
  1257.          var1[var5++] = "......00........";
  1258.          var1[var5++] = "......000.......";
  1259.          var1[var5++] = "......0000......";
  1260.          var1[var5++] = "......000.......";
  1261.          var1[var5++] = "......00........";
  1262.          var1[var5++] = "......0.........";
  1263.          var1[var5++] = "................";
  1264.          var1[var5++] = "................";
  1265.          var1[var5++] = "................";
  1266.          var1[var5++] = "................";
  1267.          var1[var5++] = "................";
  1268.       }
  1269.  
  1270.       this.method_15(var1, 3, this.field_152, this.field_152);
  1271.       int var8 = this.field_70 * this.field_69;
  1272.  
  1273.       for(int var7 = 6; var7 < 13; ++var7) {
  1274.          for(int var6 = 0; var6 < var8; ++var6) {
  1275.             this.field_168[var7][var6] = false;
  1276.          }
  1277.       }
  1278.  
  1279.       var1 = new String[this.field_69];
  1280.       var1[0] = "........3..........";
  1281.       var1[1] = "...................";
  1282.       var1[2] = "........3..........";
  1283.       var1[3] = "...................";
  1284.       var1[4] = "........3..........";
  1285.       var1[5] = "...................";
  1286.       var1[6] = "........3..........";
  1287.       var1[7] = "...................";
  1288.       var1[8] = "........3..........";
  1289.       var1[9] = "...................";
  1290.       var1[10] = "........3..........";
  1291.       var1[11] = "...................";
  1292.       var1[12] = "........3..........";
  1293.       var1[13] = "...................";
  1294.       var1[14] = "........3..........";
  1295.       var1[15] = "...................";
  1296.       this.method_15(var1, 6, this.field_70, this.field_69);
  1297.       var1[0] = "........3..........";
  1298.       var1[1] = "...................";
  1299.       var1[2] = "........3..........";
  1300.       var1[3] = "...................";
  1301.       var1[4] = "........3..........";
  1302.       var1[5] = "...................";
  1303.       var1[6] = "........3..........";
  1304.       var1[7] = "...................";
  1305.       var1[8] = "........3.3.3.3.3..";
  1306.       var1[9] = "...................";
  1307.       var1[10] = "........3..........";
  1308.       var1[11] = "...................";
  1309.       var1[12] = "........3..........";
  1310.       var1[13] = "...................";
  1311.       var1[14] = "........3..........";
  1312.       var1[15] = "...................";
  1313.       this.method_15(var1, 7, this.field_70, this.field_69);
  1314.       var1[0] = "........3..........";
  1315.       var1[1] = "...................";
  1316.       var1[2] = "........3..........";
  1317.       var1[3] = "...................";
  1318.       var1[4] = "........3..........";
  1319.       var1[5] = "...................";
  1320.       var1[6] = "........3..........";
  1321.       var1[7] = "...................";
  1322.       var1[8] = "........3.3.3.3.3..";
  1323.       var1[9] = "...................";
  1324.       var1[10] = "...................";
  1325.       var1[11] = "...................";
  1326.       var1[12] = "...................";
  1327.       var1[13] = "...................";
  1328.       var1[14] = "...................";
  1329.       var1[15] = "...................";
  1330.       this.method_15(var1, 8, this.field_70, this.field_69);
  1331.       var1[0] = "........3..........";
  1332.       var1[1] = "...................";
  1333.       var1[2] = "........3..........";
  1334.       var1[3] = "...................";
  1335.       var1[4] = "....333333333......";
  1336.       var1[5] = "....3.......3......";
  1337.       var1[6] = "....3...0...3......";
  1338.       var1[7] = "....3...0...3......";
  1339.       var1[8] = "....3.00000.3.3.3.3";
  1340.       var1[9] = "....3...0...3......";
  1341.       var1[10] = "....3...0...3......";
  1342.       var1[11] = "....3.......3......";
  1343.       var1[12] = "....333333333......";
  1344.       var1[13] = "...................";
  1345.       var1[14] = "........3..........";
  1346.       var1[15] = "...................";
  1347.       this.method_15(var1, 9, this.field_70, this.field_69);
  1348.       var1[0] = "........3..........";
  1349.       var1[1] = "...................";
  1350.       var1[2] = "........3..........";
  1351.       var1[3] = "...................";
  1352.       var1[4] = "....333333333......";
  1353.       var1[5] = "....3.......3......";
  1354.       var1[6] = "....3...0...3......";
  1355.       var1[7] = "....3...0...3......";
  1356.       var1[8] = "....3.00000.3.3.3.3";
  1357.       var1[9] = "....3...0...3......";
  1358.       var1[10] = "....3...0...3......";
  1359.       var1[11] = "....3.......3......";
  1360.       var1[12] = "....333333333......";
  1361.       var1[13] = "...................";
  1362.       var1[14] = "...................";
  1363.       var1[15] = "...................";
  1364.       this.method_15(var1, 10, this.field_70, this.field_69);
  1365.       var1[0] = "........3..........";
  1366.       var1[1] = "...................";
  1367.       var1[2] = "........3..........";
  1368.       var1[3] = "...................";
  1369.       var1[4] = "....333333333......";
  1370.       var1[5] = "....3.......3......";
  1371.       var1[6] = "....3.......3......";
  1372.       var1[7] = "....3.......3......";
  1373.       var1[8] = "....3.00000.3.3.3.3";
  1374.       var1[9] = "....3.......3......";
  1375.       var1[10] = "....3.......3......";
  1376.       var1[11] = "....3.......3......";
  1377.       var1[12] = "....333333333......";
  1378.       var1[13] = "...................";
  1379.       var1[14] = "........3..........";
  1380.       var1[15] = "...................";
  1381.       this.method_15(var1, 11, this.field_70, this.field_69);
  1382.       var1[0] = "........3..........";
  1383.       var1[1] = "...................";
  1384.       var1[2] = "........3..........";
  1385.       var1[3] = "...................";
  1386.       var1[4] = "....333333333......";
  1387.       var1[5] = "....3.......3......";
  1388.       var1[6] = "....3.......3......";
  1389.       var1[7] = "....3.......3......";
  1390.       var1[8] = "....3.00000.3.3.3.3";
  1391.       var1[9] = "....3.......3......";
  1392.       var1[10] = "....3.......3......";
  1393.       var1[11] = "....3.......3......";
  1394.       var1[12] = "....333333333......";
  1395.       var1[13] = "...................";
  1396.       var1[14] = "...................";
  1397.       var1[15] = "...................";
  1398.       this.method_15(var1, 12, this.field_70, this.field_69);
  1399.    }
  1400.  
  1401.    // $FF: renamed from: m () void
  1402.    final void method_29() {
  1403.       int var2 = 20;
  1404.       int var7 = this.field_69;
  1405.       Image var3 = ((Component)this).createImage(var2, var7);
  1406.       Graphics var4 = var3.getGraphics();
  1407.       var4.setFont(this.field_91);
  1408.       FontMetrics var5 = var4.getFontMetrics();
  1409.       var2 = 0;
  1410.  
  1411.       for(int var6 = 0; var6 < this.field_112; ++var6) {
  1412.          int var8 = var5.stringWidth(this.field_72[var6]) + 8;
  1413.          if (var8 > var2) {
  1414.             var2 = var8;
  1415.          }
  1416.       }
  1417.  
  1418.       byte var26 = 0;
  1419.       if (this.field_71 < 10) {
  1420.          var26 = 0;
  1421.       }
  1422.  
  1423.       if (this.field_71 >= 10) {
  1424.          var26 = 1;
  1425.       }
  1426.  
  1427.       if (this.field_71 > 11) {
  1428.          var26 = 2;
  1429.       }
  1430.  
  1431.       for(int var25 = 0; var25 < this.field_112; ++var25) {
  1432.          int var1 = var25;
  1433.          var3 = ((Component)this).createImage(var2, var7);
  1434.          var4 = var3.getGraphics();
  1435.          var4.setFont(this.field_91);
  1436.          var5 = var4.getFontMetrics();
  1437.          this.field_174 = var5.getAscent() - var26 + (this.field_69 - this.field_71) / 2;
  1438.          var4.drawString(this.field_72[var25], 2, this.field_174);
  1439.          this.field_55[var25] = var5.stringWidth(this.field_72[var25]) + 8;
  1440.          this.field_54[var25] = var7;
  1441.          if (this.field_55[var25] > var2) {
  1442.             this.field_55[var25] = var2 + 8;
  1443.          }
  1444.  
  1445.          this.method_43(0, 0, var3, var25);
  1446.          this.field_63[var25] = new boolean[this.field_55[var25] * this.field_54[var25]];
  1447.          boolean[] var9 = this.field_63[var25];
  1448.          int[] var10 = this.field_53[var25];
  1449.          int var11 = this.field_55[var25] * this.field_54[var25];
  1450.  
  1451.          for(int var12 = 0; var12 < var11; ++var12) {
  1452.             var9[var12] = true;
  1453.          }
  1454.  
  1455.          int var13 = var10[0];
  1456.  
  1457.          for(int var15 = 0; var15 < var7; ++var15) {
  1458.             int var17 = var15 * this.field_55[var1];
  1459.  
  1460.             for(int var14 = 0; var14 < this.field_55[var1]; ++var14) {
  1461.                int var18 = var14 + var17;
  1462.                int var16 = var10[var18];
  1463.                if (var16 == var13 | (var16 & -16777216) == 0) {
  1464.                   var9[var18] = false;
  1465.                } else {
  1466.                   var10[var18] = this.field_45;
  1467.                }
  1468.             }
  1469.          }
  1470.       }
  1471.  
  1472.       Object var23 = null;
  1473.       Object var21 = null;
  1474.    }
  1475.  
  1476.    // $FF: renamed from: n () void
  1477.    private void method_30() {
  1478.       float var2 = (float)this.field_18 / 100.0F;
  1479.       this.field_0 = (float)this.field_17 / 100.0F;
  1480.       this.field_177 = new float[this.field_183];
  1481.       this.field_177[0] = 1.0F;
  1482.  
  1483.       for(int var1 = 1; var1 < this.field_183; ++var1) {
  1484.          this.field_177[var1] = this.field_177[var1 - 1] * var2;
  1485.       }
  1486.  
  1487.       this.field_176 = new float[this.field_182];
  1488.       this.field_176[0] = 1.0F;
  1489.  
  1490.       for(int var3 = 1; var3 < this.field_182; ++var3) {
  1491.          this.field_176[var3] = this.field_176[var3 - 1] * var2;
  1492.       }
  1493.  
  1494.    }
  1495.  
  1496.    // $FF: renamed from: o () void
  1497.    private void method_31() {
  1498.       this.field_184 = 1000 / this.field_160;
  1499.       this.field_187 = new float[this.field_184 * 2];
  1500.       this.field_185 = 1000 / this.field_161;
  1501.       this.field_188 = new float[this.field_185 * 2];
  1502.       double var2 = (Math.PI / 2D) / (double)this.field_184;
  1503.  
  1504.       for(int var1 = 0; var1 < this.field_184; ++var1) {
  1505.          this.field_187[var1] = (float)Math.sin((double)var1 * var2 + (Math.PI / 2D));
  1506.       }
  1507.  
  1508.       var2 = (Math.PI / 2D) / (double)this.field_185;
  1509.  
  1510.       for(int var4 = 0; var4 < this.field_185; ++var4) {
  1511.          this.field_188[var4] = (float)Math.sin((double)var4 * var2 + (Math.PI / 2D));
  1512.       }
  1513.  
  1514.       for(int var5 = 0; var5 < this.field_184; ++var5) {
  1515.          this.field_187[this.field_184 + var5] = this.field_187[this.field_184 - var5];
  1516.       }
  1517.  
  1518.       for(int var6 = 0; var6 < this.field_185; ++var6) {
  1519.          this.field_188[this.field_185 + var6] = this.field_188[this.field_185 - var6];
  1520.       }
  1521.  
  1522.    }
  1523.  
  1524.    // $FF: renamed from: p () void
  1525.    private void method_32() {
  1526.       for(this.field_110 = 0; ((Applet)this).getParameter("Icon" + this.field_110) != null; ++this.field_110) {
  1527.       }
  1528.  
  1529.       this.field_58 = new int[this.field_110][];
  1530.       this.field_59 = new boolean[this.field_110][];
  1531.       this.field_67 = new boolean[this.field_110];
  1532.  
  1533.       for(int var2 = 0; var2 < this.field_110; ++var2) {
  1534.          String var3 = ((Applet)this).getParameter("Icon" + var2);
  1535.          Image var1 = this.method_39(var3);
  1536.          int var4 = 0;
  1537.          int var5 = 0;
  1538.          var4 = var1.getWidth(this);
  1539.          var5 = var1.getHeight(this);
  1540.          if (var4 != 32 & var4 != 16 | var5 != 16) {
  1541.             ((Applet)this).showStatus("Size of Icon" + var2 + " is incorrect." + var4 + "x" + var5);
  1542.             this.stop();
  1543.          }
  1544.  
  1545.          if (var4 == 32) {
  1546.             this.field_67[var2] = true;
  1547.          } else {
  1548.             this.field_67[var2] = false;
  1549.          }
  1550.  
  1551.          int var6 = var4 * var5;
  1552.          this.field_58[var2] = new int[var6];
  1553.          this.field_59[var2] = new boolean[var6];
  1554.          this.method_42(0, 0, var4, var5, var1);
  1555.          boolean[] var9 = new boolean[var6];
  1556.          int var10 = 0;
  1557.  
  1558.          for(int var8 = 0; var8 < var5; ++var8) {
  1559.             var10 = var8 * var4;
  1560.  
  1561.             for(int var7 = 0; var7 < var4; ++var7) {
  1562.                int var11 = var7 + var10;
  1563.                int var12 = this.field_11[var11];
  1564.                if (var12 == this.field_39 | (var12 & -16777216) == 0) {
  1565.                   this.field_11[var11] = 0;
  1566.                   var9[var11] = false;
  1567.                } else {
  1568.                   var9[var11] = true;
  1569.                }
  1570.             }
  1571.          }
  1572.  
  1573.          System.arraycopy(this.field_11, 0, this.field_58[var2], 0, var6);
  1574.          System.arraycopy(var9, 0, this.field_59[var2], 0, var6);
  1575.       }
  1576.  
  1577.    }
  1578.  
  1579.    public void destroy() {
  1580.       this.field_132 = null;
  1581.       this.field_56 = null;
  1582.       if (this.field_118 != null) {
  1583.          this.field_118.dispose();
  1584.       }
  1585.  
  1586.       this.field_118 = null;
  1587.       System.gc();
  1588.    }
  1589.  
  1590.    // $FF: renamed from: q () void
  1591.    private void method_33() {
  1592.       this.field_66 = new int[this.field_68];
  1593.       this.field_62 = new int[this.field_68];
  1594.       this.field_72 = new String[this.field_68];
  1595.       this.field_73 = new String[this.field_68];
  1596.       this.field_57 = new int[this.field_68][];
  1597.       this.field_64 = new int[this.field_68];
  1598.       this.field_53 = new int[this.field_68][];
  1599.       this.field_63 = new boolean[this.field_68][];
  1600.       this.field_55 = new int[this.field_68];
  1601.       this.field_54 = new int[this.field_68];
  1602.       this.field_65 = new boolean[this.field_68];
  1603.    }
  1604.  
  1605.    // $FF: renamed from: a (int[], int, int, int, int) void
  1606.    private void method_34(int[] var1, int var2, int var3, int var4, int var5) {
  1607.       int var6 = this.field_170[3];
  1608.       this.method_21(var1, var2, var3, this.field_152, var4 - var2, 1, var6);
  1609.       this.method_21(var1, var2, var3, this.field_152, 1, var5 - var3, var6);
  1610.       var6 = this.field_170[4];
  1611.       this.method_21(var1, var2 + 1, var3 + 1, this.field_152, var4 - 1 - (var2 + 1), 1, var6);
  1612.       this.method_21(var1, var2 + 1, var3 + 1, this.field_152, 1, var5 - 1 - (var3 + 1), var6);
  1613.       var6 = this.field_170[2];
  1614.       this.method_21(var1, var2 + 2, var3 + 2, this.field_152, var4 - 1 - (var2 + 1), var5 - 1 - (var3 + 2), var6);
  1615.       var6 = this.field_170[1];
  1616.       this.method_21(var1, var2 + 1, var5 - 1, this.field_152, var4 - (var2 + 1), 1, var6);
  1617.       this.method_21(var1, var4 - 1, var3 + 1, this.field_152, 1, var5 - var3 - 1, var6);
  1618.       var6 = this.field_170[0];
  1619.       this.method_21(var1, var2, var5, this.field_152, var4 - var2 + 1, 1, var6);
  1620.       this.method_21(var1, var4, var3, this.field_152, 1, var5 - var3, var6);
  1621.    }
  1622.  
  1623.    // $FF: renamed from: r () void
  1624.    private final void method_35() {
  1625.       int[] var7 = new int[]{this.field_170[2], this.field_170[4]};
  1626.       byte var5 = 0;
  1627.       int var6 = this.field_145;
  1628.       int var3 = this.field_144;
  1629.       int var4 = this.field_144 + this.field_152;
  1630.  
  1631.       for(int var2 = var3; var2 < var4; ++var2) {
  1632.          int var8 = var2 * this.field_23;
  1633.  
  1634.          for(int var1 = var5; var1 < var6; ++var1) {
  1635.             this.field_19[var8 + var1] = var7[var1 + var2 & 1];
  1636.             this.field_60[var8 + var1] = -3;
  1637.          }
  1638.       }
  1639.  
  1640.       this.method_18(this.field_167[2], 0, 0, this.field_152, this.field_19, var5, var3, this.field_23, this.field_152, var4 - var3);
  1641.       this.method_21(this.field_60, var5, var3, this.field_23, this.field_152, this.field_152, -2);
  1642.       this.method_18(this.field_167[3], 0, 0, this.field_152, this.field_19, var6 - this.field_152, var3, this.field_23, this.field_152, this.field_152);
  1643.       this.method_21(this.field_60, var6 - this.field_152, var3, this.field_23, this.field_152, this.field_152, -5);
  1644.       int var13 = (int)((double)(this.field_145 * (this.field_145 - this.field_152 * 2)) / (double)this.field_140);
  1645.       if (var13 < 6) {
  1646.          var13 = 6;
  1647.       }
  1648.  
  1649.       this.field_147 = var13;
  1650.       this.field_150 = (int)((double)(-this.field_24 * (this.field_145 - this.field_152 * 2)) / (double)this.field_140);
  1651.       int var9 = this.field_152 + this.field_150;
  1652.       int var10 = var4 - this.field_152;
  1653.       int var11 = this.field_152 + this.field_150 + var13;
  1654.       int var12 = var4 - 1;
  1655.       this.method_36(var9, var10, var11, var12);
  1656.       this.method_21(this.field_60, var9, var10, this.field_23, var11 - var9, var12 - var10, -4);
  1657.    }
  1658.  
  1659.    // $FF: renamed from: c (int, int, int, int) void
  1660.    private void method_36(int var1, int var2, int var3, int var4) {
  1661.       int var5 = this.field_170[3];
  1662.       this.method_21(this.field_19, var1, var2, this.field_23, var3 - var1, 1, var5);
  1663.       this.method_21(this.field_19, var1, var2, this.field_23, 1, var4 - var2, var5);
  1664.       var5 = this.field_170[4];
  1665.       this.method_21(this.field_19, var1 + 1, var2 + 1, this.field_23, var3 - 1 - (var1 + 1), 1, var5);
  1666.       this.method_21(this.field_19, var1 + 1, var2 + 1, this.field_23, 1, var4 - 1 - (var2 + 1), var5);
  1667.       var5 = this.field_170[2];
  1668.       this.method_21(this.field_19, var1 + 2, var2 + 2, this.field_23, var3 - 1 - (var1 + 1), var4 - 1 - (var2 + 2), var5);
  1669.       var5 = this.field_170[1];
  1670.       this.method_21(this.field_19, var1 + 1, var4 - 1, this.field_23, var3 - (var1 + 1), 1, var5);
  1671.       this.method_21(this.field_19, var3 - 1, var2 + 1, this.field_23, 1, var4 - var2 - 1, var5);
  1672.       var5 = -16777216;
  1673.       this.method_21(this.field_19, var1, var4, this.field_23, var3 - var1 + 1, 1, var5);
  1674.       this.method_21(this.field_19, var3, var2, this.field_23, 1, var4 - var2, var5);
  1675.    }
  1676.  
  1677.    // $FF: renamed from: s () void
  1678.    private final void method_37() {
  1679.       this.method_21(this.field_19, this.field_145, this.field_144, this.field_23, this.field_152, this.field_152, this.field_170[2]);
  1680.    }
  1681.  
  1682.    // $FF: renamed from: t () void
  1683.    private void method_38() {
  1684.       int[] var7 = new int[]{this.field_170[2], this.field_170[4]};
  1685.       int var5 = this.field_145;
  1686.       int var6 = this.field_145 + this.field_152;
  1687.       byte var3 = 0;
  1688.       int var4 = this.field_144;
  1689.  
  1690.       for(int var2 = var3; var2 < var4; ++var2) {
  1691.          int var8 = var2 * this.field_23;
  1692.  
  1693.          for(int var1 = var5; var1 < var6; ++var1) {
  1694.             this.field_19[var8 + var1] = var7[var1 + var2 & 1];
  1695.             this.field_60[var8 + var1] = -7;
  1696.          }
  1697.       }
  1698.  
  1699.       this.method_18(this.field_167[0], 0, 0, this.field_152, this.field_19, var5, var3, this.field_23, this.field_152, this.field_152);
  1700.       this.method_21(this.field_60, var5, var3, this.field_23, this.field_152, this.field_152, -6);
  1701.       this.method_18(this.field_167[1], 0, 0, this.field_152, this.field_19, var5, var4 - this.field_152, this.field_23, this.field_152, this.field_152);
  1702.       this.method_21(this.field_60, var5, var4 - this.field_152, this.field_23, this.field_152, this.field_152, -9);
  1703.       int var13 = (int)((float)(this.field_144 * (this.field_144 - this.field_152 * 2)) / (float)this.field_139);
  1704.       if (var13 < 6) {
  1705.          var13 = 6;
  1706.       }
  1707.  
  1708.       this.field_155 = var13;
  1709.       this.field_158 = (int)((float)(-this.field_27 * (this.field_144 - this.field_152 * 2)) / (float)this.field_139);
  1710.       int var10 = this.field_152 + this.field_158;
  1711.       int var11 = var6 - 1;
  1712.       int var12 = this.field_152 + this.field_158 + var13;
  1713.       this.method_36(var5, var10, var11, var12);
  1714.       this.method_21(this.field_60, var5, var10, this.field_23, var11 - var5, var12 - var10, -8);
  1715.    }
  1716.  
  1717.    // $FF: renamed from: b (java.lang.String) java.awt.Image
  1718.    Image method_39(String var1) {
  1719.       try {
  1720.          return this.method_40(var1);
  1721.       } catch (NoSuchMethodError var2) {
  1722.          return this.method_40(var1);
  1723.       }
  1724.    }
  1725.  
  1726.    // $FF: renamed from: c (java.lang.String) java.awt.Image
  1727.    synchronized Image method_40(String var1) {
  1728.       URL var2 = null;
  1729.       Image var3 = null;
  1730.  
  1731.       try {
  1732.          var2 = new URL(((Applet)this).getDocumentBase(), var1);
  1733.       } catch (MalformedURLException var14) {
  1734.       }
  1735.  
  1736.       try {
  1737.          try {
  1738.             InputStream var4 = this.getClass().getResourceAsStream(var2.toString());
  1739.             if (var4 != null) {
  1740.                ByteArrayOutputStream var5 = new ByteArrayOutputStream(1024);
  1741.                byte[] var6 = new byte[512];
  1742.                boolean var8 = false;
  1743.                Object var9 = null;
  1744.  
  1745.                try {
  1746.                   while(!var8) {
  1747.                      int var7 = var4.read(var6, 0, 512);
  1748.                      if (var7 != -1) {
  1749.                         var5.write(var6, 0, var7);
  1750.                         ((OutputStream)var5).flush();
  1751.                      } else {
  1752.                         var8 = true;
  1753.                      }
  1754.                   }
  1755.  
  1756.                   var21 = var5.toByteArray();
  1757.                   ((OutputStream)var5).close();
  1758.                   var4.close();
  1759.                } catch (IOException var15) {
  1760.                   var21 = null;
  1761.                }
  1762.  
  1763.                System.gc();
  1764.                if (var21 != null) {
  1765.                   var3 = ((Component)this).getToolkit().createImage(var21);
  1766.                   ((Component)this).prepareImage(var3, this);
  1767.                }
  1768.             }
  1769.          } catch (NoSuchMethodError var16) {
  1770.          }
  1771.       } catch (SecurityException var17) {
  1772.       }
  1773.  
  1774.       if (var3 == null) {
  1775.          int var18 = 0;
  1776.  
  1777.          while(var18 < 5) {
  1778.             try {
  1779.                if (var18 % 2 == 0) {
  1780.                   var3 = Toolkit.getDefaultToolkit().getImage(var2);
  1781.                } else {
  1782.                   var3 = ((Applet)this).getImage(var2);
  1783.                }
  1784.  
  1785.                ++var18;
  1786.                MediaTracker var20 = new MediaTracker(this);
  1787.                this.notifyAll();
  1788.                Thread.currentThread();
  1789.                Thread.yield();
  1790.  
  1791.                try {
  1792.                   var20.addImage(var3, 0);
  1793.                   var20.waitForID(0);
  1794.                } catch (InterruptedException var12) {
  1795.                   var3 = null;
  1796.                }
  1797.  
  1798.                if (var20.isErrorID(0)) {
  1799.                   var3 = null;
  1800.                } else {
  1801.                   var18 = 6;
  1802.                }
  1803.             } catch (NullPointerException var13) {
  1804.                System.gc();
  1805.             }
  1806.          }
  1807.       }
  1808.  
  1809.       if (var3 == null) {
  1810.          for(int var19 = 0; var19 < 25; ++var19) {
  1811.             ((Applet)this).showStatus("Image " + var1 + " not found!");
  1812.  
  1813.             try {
  1814.                Thread.currentThread();
  1815.                Thread.sleep(250L);
  1816.             } catch (InterruptedException var11) {
  1817.             }
  1818.          }
  1819.       } else {
  1820.          while(var3.getWidth(this) < 0) {
  1821.             this.notifyAll();
  1822.             Thread.currentThread();
  1823.             Thread.yield();
  1824.  
  1825.             try {
  1826.                Thread.currentThread();
  1827.                Thread.sleep(100L);
  1828.             } catch (InterruptedException var10) {
  1829.             }
  1830.          }
  1831.       }
  1832.  
  1833.       return var3;
  1834.    }
  1835.  
  1836.    // $FF: renamed from: u () void
  1837.    void method_41() {
  1838.       Insets var1 = this.field_48.insets();
  1839.       this.field_48.setResizable(true);
  1840.       this.field_48.resize(this.field_43 + var1.left + var1.right, this.field_40 + var1.bottom + var1.top);
  1841.       this.field_48.repaint();
  1842.       this.field_48.validate();
  1843.       this.field_48.setResizable(false);
  1844.       this.field_48.move(Integer.valueOf(((Applet)this).getParameter("floatx")), Integer.valueOf(((Applet)this).getParameter("floaty")));
  1845.    }
  1846.  
  1847.    // $FF: renamed from: a (int, int, int, int, java.awt.Image) void
  1848.    public void method_42(int var1, int var2, int var3, int var4, Image var5) {
  1849.       this.field_11 = new int[var3 * var4];
  1850.       PixelGrabber var6 = new PixelGrabber(var5, var1, var2, var3, var4, this.field_11, 0, var3);
  1851.       var5.getSource().addConsumer(var6);
  1852.       boolean var7 = false;
  1853.  
  1854.       try {
  1855.          var7 = var6.grabPixels();
  1856.       } catch (InterruptedException var8) {
  1857.          return;
  1858.       }
  1859.  
  1860.       if ((var6.status() & 128) == 0) {
  1861.          ;
  1862.       }
  1863.    }
  1864.  
  1865.    // $FF: renamed from: a (int, int, java.awt.Image, int) void
  1866.    public void method_43(int var1, int var2, Image var3, int var4) {
  1867.       int var7 = this.field_55[var4];
  1868.       int var8 = this.field_54[var4];
  1869.       this.field_53[var4] = new int[var7 * var8];
  1870.       this.field_63[var4] = new boolean[var7 * var8];
  1871.       int[] var6 = this.field_53[var4];
  1872.       PixelGrabber var5 = new PixelGrabber(var3, var1, var2, var7, var8, var6, 0, var7);
  1873.       var3.getSource().addConsumer(var5);
  1874.       boolean var9 = false;
  1875.  
  1876.       try {
  1877.          var9 = var5.grabPixels();
  1878.       } catch (InterruptedException var10) {
  1879.          return;
  1880.       }
  1881.  
  1882.       if ((var5.status() & 128) == 0) {
  1883.          ;
  1884.       }
  1885.    }
  1886.  
  1887.    public boolean imageUpdate(Image var1, int var2, int var3, int var4, int var5, int var6) {
  1888.       if (var1 == this.field_132) {
  1889.          if (var2 == 16) {
  1890.             this.field_120 = true;
  1891.          }
  1892.  
  1893.          return true;
  1894.       } else {
  1895.          return true;
  1896.       }
  1897.    }
  1898.  
  1899.    public void init() {
  1900.       ((Container)this).setLayout((LayoutManager)null);
  1901.       ((Panel)this).addNotify();
  1902.       this.field_172 = ((Component)this).getToolkit();
  1903.       Object var1 = null;
  1904.       String var36 = ((Applet)this).getParameter("credits");
  1905.       if (var36 != null) {
  1906.          if (!var36.equals("Applet by Anfy Team (www.anfyjava.com)")) {
  1907.             this.method_4();
  1908.          }
  1909.       } else {
  1910.          this.method_4();
  1911.       }
  1912.  
  1913.       Object var2 = null;
  1914.       Object var3 = null;
  1915.  
  1916.       try {
  1917.          var37 = ((Applet)this).getDocumentBase().getProtocol();
  1918.       } catch (SecurityException var33) {
  1919.          var37 = "file";
  1920.       }
  1921.  
  1922.       try {
  1923.          var38 = ((Applet)this).getDocumentBase().getHost();
  1924.       } catch (SecurityException var32) {
  1925.          var38 = "";
  1926.       }
  1927.  
  1928.       if (!var37.equalsIgnoreCase("file") && var38.length() != 0 && !var38.equalsIgnoreCase("localhost") && !var38.equals("127.0.0.1")) {
  1929.          if (var38.startsWith("www.")) {
  1930.             var38 = var38.substring(4);
  1931.          }
  1932.  
  1933.          Object var4 = null;
  1934.          String var39 = ((Applet)this).getParameter("regcode");
  1935.          if (var39 != null && !var39.equals("NO") && var39.length() > 10) {
  1936.             int var5 = 1;
  1937.  
  1938.             try {
  1939.                for(int var6 = 0; var6 < var39.length(); ++var6) {
  1940.                   if (var39.charAt(var6) == '+') {
  1941.                      ++var5;
  1942.                   }
  1943.                }
  1944.             } catch (StringIndexOutOfBoundsException var35) {
  1945.             }
  1946.  
  1947.             int[] var44 = new int[var5];
  1948.             if (var5 == 1) {
  1949.                var44[0] = var39.length();
  1950.             } else {
  1951.                int var7 = 0;
  1952.  
  1953.                try {
  1954.                   for(int var8 = 0; var8 < var39.length(); ++var8) {
  1955.                      if (var39.charAt(var8) == '+') {
  1956.                         var44[var7] = var8;
  1957.                         ++var7;
  1958.                      }
  1959.                   }
  1960.                } catch (StringIndexOutOfBoundsException var34) {
  1961.                }
  1962.  
  1963.                var44[var7] = var39.length();
  1964.             }
  1965.  
  1966.             String[] var47 = new String[var5];
  1967.             int var49 = 0;
  1968.  
  1969.             for(int var9 = 0; var9 < var5; ++var9) {
  1970.                try {
  1971.                   var47[var9] = var39.substring(var49, var44[var9]);
  1972.                } catch (StringIndexOutOfBoundsException var31) {
  1973.                }
  1974.  
  1975.                var49 = var44[var9] + 1;
  1976.             }
  1977.  
  1978.             for(int var10 = 0; var10 < var5; ++var10) {
  1979.                int var11 = var47[var10].length() - 8;
  1980.                byte[] var15 = new byte[var11];
  1981.                byte[] var16 = new byte[8];
  1982.                var47[var10].getBytes(0, var11, var15, 0);
  1983.                var47[var10].getBytes(var11, var11 + 8, var16, 0);
  1984.                int var13 = var11 % 7;
  1985.                int var14 = var11 % 3;
  1986.  
  1987.                for(int var17 = 0; var17 < var11; ++var17) {
  1988.                   byte var12 = var15[var17];
  1989.                   if (var12 >= 48 && var12 <= 57) {
  1990.                      var15[var17] = this.method_51(var12, var13, 48, 57);
  1991.                   } else if (var12 >= 65 && var12 <= 90) {
  1992.                      var15[var17] = this.method_51(var12, var13, 65, 90);
  1993.                   } else if (var12 >= 97 && var12 <= 122) {
  1994.                      var15[var17] = this.method_51(var12, var13, 97, 122);
  1995.                   } else if (var12 == 45) {
  1996.                      var15[var17] = 46;
  1997.                   } else if (var12 == 46) {
  1998.                      var15[var17] = 45;
  1999.                   }
  2000.  
  2001.                   if ((var13 += var14) > 7) {
  2002.                      var13 = 1;
  2003.                   }
  2004.                }
  2005.  
  2006.                int var18 = 0;
  2007.                int var19 = 0;
  2008.  
  2009.                for(int var20 = 0; var20 < 4; ++var20) {
  2010.                   var16[var20] = (byte)(var16[var20] - 52);
  2011.                }
  2012.  
  2013.                for(int var21 = 4; var21 < 8; ++var21) {
  2014.                   var16[var21] = (byte)(var16[var21] - 55);
  2015.                }
  2016.  
  2017.                for(int var22 = 0; var22 < var11; var22 += 2) {
  2018.                   var18 += var15[var22];
  2019.                }
  2020.  
  2021.                for(int var23 = 1; var23 < var11; var23 += 2) {
  2022.                   var19 += var15[var23];
  2023.                }
  2024.  
  2025.                String var24 = String.valueOf(var18);
  2026.  
  2027.                String var25;
  2028.                for(var25 = String.valueOf(var19); var24.length() < 4; var24 = "0" + var24) {
  2029.                }
  2030.  
  2031.                while(var25.length() < 4) {
  2032.                   var25 = "0" + var25;
  2033.                }
  2034.  
  2035.                byte[] var26 = new byte[8];
  2036.                var24.getBytes(0, 4, var26, 0);
  2037.                var25.getBytes(0, 4, var26, 4);
  2038.                String var27 = new String(var26, 0);
  2039.                if (var27.equals(new String(var16, 0))) {
  2040.                   String var28 = new String(var15, 0);
  2041.                   Object var29 = null;
  2042.                   String var62;
  2043.                   if (var28.startsWith("www.")) {
  2044.                      var62 = var28.substring(4);
  2045.                   } else {
  2046.                      var62 = var28;
  2047.                   }
  2048.  
  2049.                   if (var38.equalsIgnoreCase(var62)) {
  2050.                      this.field_143 = true;
  2051.                   }
  2052.                }
  2053.             }
  2054.          }
  2055.       } else {
  2056.          this.field_143 = true;
  2057.       }
  2058.  
  2059.       String var40 = ((Applet)this).getParameter("overimg");
  2060.       if (var40 != null && !var40.equalsIgnoreCase("NO")) {
  2061.          this.field_132 = this.method_39(var40);
  2062.          if (this.field_132 != null) {
  2063.             String var41 = ((Applet)this).getParameter("overimgX");
  2064.             if (var41 == null) {
  2065.                var41 = "0";
  2066.             }
  2067.  
  2068.             this.field_133 = Integer.valueOf(var41);
  2069.             String var45 = ((Applet)this).getParameter("overimgY");
  2070.             if (var45 == null) {
  2071.                var45 = "0";
  2072.             }
  2073.  
  2074.             this.field_134 = Integer.valueOf(var45);
  2075.          }
  2076.       }
  2077.  
  2078.       String var42 = ((Applet)this).getParameter("floatmode");
  2079.       if (var42 == null) {
  2080.          var42 = "NO";
  2081.       }
  2082.  
  2083.       if (var42.equalsIgnoreCase("YES")) {
  2084.          this.field_42 = true;
  2085.          this.field_43 = Integer.valueOf(((Applet)this).getParameter("floatw"));
  2086.          this.field_40 = Integer.valueOf(((Applet)this).getParameter("floath"));
  2087.          var42 = ((Applet)this).getParameter("floatinfront");
  2088.          if (var42 == null) {
  2089.             var42 = "NO";
  2090.          }
  2091.  
  2092.          if (var42.equalsIgnoreCase("YES")) {
  2093.             this.field_41 = true;
  2094.          }
  2095.       } else {
  2096.          this.field_42 = false;
  2097.       }
  2098.  
  2099.       if (this.field_42) {
  2100.          this.field_141 = this.field_43;
  2101.          this.field_138 = this.field_40;
  2102.       } else {
  2103.          this.field_141 = ((Component)this).size().width;
  2104.          this.field_138 = ((Component)this).size().height;
  2105.       }
  2106.  
  2107.       this.field_74 = this.field_141;
  2108.       this.field_61 = this.field_138;
  2109.       this.field_56 = ((Component)this).createImage(this.field_74, this.field_61);
  2110.       this.field_118 = this.field_56.getGraphics();
  2111.       this.field_30 = true;
  2112.       this.field_169 = new Color[5];
  2113.       this.field_170 = new int[5];
  2114.       Color var46 = new Color(this.method_12(((Applet)this).getParameter("systemColor")));
  2115.       int var48 = var46.getRed();
  2116.       int var50 = var46.getGreen();
  2117.       int var51 = var46.getBlue();
  2118.       this.field_169[0] = new Color(0, 0, 0);
  2119.       double var52 = 0.4980392156862745;
  2120.       this.field_169[1] = new Color((int)((double)var48 * var52), (int)((double)var50 * var52), (int)((double)var51 * var52));
  2121.       var52 = 0.7490196078431373;
  2122.       this.field_169[2] = new Color((int)((double)var48 * var52), (int)((double)var50 * var52), (int)((double)var51 * var52));
  2123.       var52 = 0.4823529411764706;
  2124.       this.field_169[3] = new Color((int)((double)var48 * var52), (int)((double)var50 * var52), (int)((double)var51 * var52));
  2125.       var52 = (double)1.0F;
  2126.       this.field_169[4] = new Color((int)((double)var48 * var52), (int)((double)var50 * var52), (int)((double)var51 * var52));
  2127.  
  2128.       for(int var56 = 0; var56 < 5; ++var56) {
  2129.          this.field_170[var56] = this.method_13(this.field_169[var56]);
  2130.       }
  2131.  
  2132.       this.field_38 = new Color(this.method_12(((Applet)this).getParameter("filterColor")));
  2133.       this.field_6 = new Color(this.method_12(((Applet)this).getParameter("backgroundColor")));
  2134.       this.field_44 = new Color(this.method_12(((Applet)this).getParameter("foregroundColor")));
  2135.       this.field_8 = new Color(this.method_12(((Applet)this).getParameter("backgroundColorSelection")));
  2136.       this.field_46 = new Color(this.method_12(((Applet)this).getParameter("foregroundColorSelection")));
  2137.       this.field_39 = this.method_13(this.field_38);
  2138.       this.field_7 = this.method_13(this.field_6);
  2139.       this.field_45 = this.method_13(this.field_44);
  2140.       this.field_9 = this.method_13(this.field_8);
  2141.       this.field_47 = this.method_13(this.field_46);
  2142.       this.field_4 = this.method_11(((Applet)this).getParameter("autoHighLight"), false);
  2143.       this.field_90 = this.method_14(((Applet)this).getParameter("memdelay"), 1000);
  2144.       this.field_135 = this.method_14(((Applet)this).getParameter("priority"), 3);
  2145.       if (this.field_135 < 1) {
  2146.          this.field_135 = 1;
  2147.       }
  2148.  
  2149.       this.field_92 = this.method_14(((Applet)this).getParameter("MinSYNC"), 10);
  2150.       this.field_142 = ((Applet)this).getParameter("regframename");
  2151.       if (this.field_142 == null) {
  2152.          this.field_142 = "_self";
  2153.       }
  2154.  
  2155.       String var57 = ((Applet)this).getParameter("regnewframe");
  2156.       if (var57.equalsIgnoreCase("YES")) {
  2157.          this.field_104 = true;
  2158.       }
  2159.  
  2160.       this.field_160 = this.method_14(((Applet)this).getParameter("scrollSpeedInGoing"), 128);
  2161.       this.field_161 = this.method_14(((Applet)this).getParameter("scrollSpeedOutGoing"), 128);
  2162.       this.field_182 = this.method_14(((Applet)this).getParameter("numberOfBouncesInGoing"), 0) + 1;
  2163.       this.field_183 = this.method_14(((Applet)this).getParameter("numberOfBouncesOutGoing"), 0) + 1;
  2164.       this.field_18 = this.method_14(((Applet)this).getParameter("bounceGravity"), 5);
  2165.       this.field_17 = this.method_14(((Applet)this).getParameter("bounceAmplitude"), 100);
  2166.       this.field_16 = this.method_14(((Applet)this).getParameter("BorderStyle"), 1);
  2167.       switch (this.field_16) {
  2168.          case 0:
  2169.             this.field_15 = 0;
  2170.             this.field_14 = 0;
  2171.             break;
  2172.          case 1:
  2173.             this.field_15 = 1;
  2174.             this.field_14 = 1;
  2175.             break;
  2176.          case 2:
  2177.             this.field_15 = 4;
  2178.             this.field_14 = 4;
  2179.       }
  2180.  
  2181.       this.field_153 = this.method_14(((Applet)this).getParameter("scrollBarStyle"), 1);
  2182.       if (this.field_153 == 0) {
  2183.          this.field_152 = 11;
  2184.       } else {
  2185.          this.field_152 = 16;
  2186.       }
  2187.  
  2188.       this.field_10 = ((Applet)this).getParameter("backimage");
  2189.       if (this.field_90 < 0) {
  2190.          this.field_90 = 0;
  2191.       }
  2192.  
  2193.       if (this.field_135 > 10) {
  2194.          this.field_135 = 10;
  2195.       } else if (this.field_135 < 1) {
  2196.          this.field_135 = 1;
  2197.       }
  2198.  
  2199.       int var58 = 0;
  2200.       if (((Applet)this).getParameter("treeBold").equalsIgnoreCase("YES")) {
  2201.          var58 |= 1;
  2202.       }
  2203.  
  2204.       String var59 = ((Applet)this).getParameter("treeItalic");
  2205.       if (var59 != null && var59.equalsIgnoreCase("YES")) {
  2206.          var58 |= 2;
  2207.       }
  2208.  
  2209.       this.field_71 = this.method_14(((Applet)this).getParameter("treeFontSize"), 11);
  2210.       this.field_91 = new Font(((Applet)this).getParameter("treeFont"), var58, this.field_71);
  2211.       this.field_69 = 16;
  2212.       this.field_70 = 19;
  2213.       this.method_28();
  2214.       this.method_32();
  2215.       this.method_49();
  2216.       this.method_26();
  2217.       this.method_29();
  2218.       this.method_7();
  2219.       this.method_31();
  2220.       this.method_30();
  2221.       this.field_23 = this.field_74 - 2 * this.field_15;
  2222.       this.field_20 = this.field_61 - 2 * this.field_14;
  2223.       this.field_22 = new int[this.field_23 * this.field_20];
  2224.       this.field_19 = new int[this.field_23 * this.field_20];
  2225.       this.field_60 = new int[this.field_23 * this.field_20];
  2226.       this.field_12 = new int[this.field_23 * this.field_20];
  2227.       this.field_13 = new int[this.field_23 * this.field_20];
  2228.  
  2229.       for(int var60 = 0; var60 < this.field_23 * this.field_20; ++var60) {
  2230.          this.field_13[var60] = -1;
  2231.       }
  2232.  
  2233.       this.method_25();
  2234.  
  2235.       try {
  2236.          this.method_44();
  2237.       } catch (NoSuchMethodError var30) {
  2238.          this.method_44();
  2239.       }
  2240.  
  2241.       if (this.field_42) {
  2242.          this.field_48 = new Frame(((Applet)this).getParameter("floatitle"));
  2243.          this.field_48.add("Center", this);
  2244.       }
  2245.  
  2246.       if (!this.field_143) {
  2247.          Label var61 = new Label("Tree Menu applet by Anfy Team 1998.");
  2248.          this.field_192 = new Lware(((Applet)this).getAppletContext(), var61);
  2249.          this.field_192.setTitle("Tree Menu Applet by Anfy Team");
  2250.          this.field_192.hide();
  2251.       }
  2252.  
  2253.    }
  2254.  
  2255.    // $FF: renamed from: v () void
  2256.    void method_44() {
  2257.       this.field_137 = new MemoryImageSource(this.field_23, this.field_20, new DirectColorModel(24, 16711680, 65280, 255), this.field_19, 0, this.field_23);
  2258.  
  2259.       String var1;
  2260.       try {
  2261.          var1 = System.getProperty("java.version");
  2262.       } catch (SecurityException var3) {
  2263.          var1 = "unk";
  2264.       }
  2265.  
  2266.       if (!var1.startsWith("1.0")) {
  2267.          try {
  2268.             this.field_137.setAnimated(true);
  2269.             this.field_137.setFullBufferUpdates(true);
  2270.             this.field_21 = ((Component)this).createImage(this.field_137);
  2271.             this.field_137.newPixels();
  2272.             this.field_75 = true;
  2273.          } catch (NoSuchMethodError var2) {
  2274.             this.field_75 = false;
  2275.          }
  2276.       }
  2277.  
  2278.       if (!this.field_75) {
  2279.          this.field_137 = null;
  2280.          this.field_136 = new anfy(this.field_23, this.field_20, new DirectColorModel(24, 16711680, 65280, 255), this.field_19, 0, this.field_23);
  2281.          this.field_21 = ((Component)this).createImage(this.field_136);
  2282.       }
  2283.  
  2284.    }
  2285.  
  2286.    // $FF: renamed from: b (int) void
  2287.    private void method_45(int var1) {
  2288.       if (this.field_73[var1] != null && this.field_73[var1].length() > 1) {
  2289.          try {
  2290.             URL var2 = new URL(((Applet)this).getDocumentBase(), this.field_73[var1]);
  2291.             AppletContext var3 = ((Applet)this).getAppletContext();
  2292.             if (this.field_104) {
  2293.                var3.showDocument(var2, this.field_142);
  2294.             } else {
  2295.                var3.showDocument(var2);
  2296.             }
  2297.          } catch (MalformedURLException var4) {
  2298.          }
  2299.       }
  2300.    }
  2301.  
  2302.    public final synchronized boolean mouseDown(Event var1, int var2, int var3) {
  2303.       if (!this.field_143) {
  2304.          this.field_192.show();
  2305.          this.field_192.toFront();
  2306.          this.field_192.requestFocus();
  2307.       } else {
  2308.          this.field_98 = true;
  2309.          this.field_93 = false;
  2310.          this.field_94 = -1;
  2311.          this.field_96 = -1;
  2312.          boolean var4 = false;
  2313.          if (!(var2 < this.field_15 | var2 > this.field_15 + this.field_23 | var3 < this.field_14 | var3 > this.field_14 + this.field_20)) {
  2314.             this.field_94 = var2 - this.field_15;
  2315.             this.field_96 = var3 - this.field_14;
  2316.             this.field_95 = this.field_94;
  2317.             this.field_97 = this.field_96;
  2318.             this.field_186 = true;
  2319.             var4 = true;
  2320.          }
  2321.       }
  2322.  
  2323.       return true;
  2324.    }
  2325.  
  2326.    public final boolean mouseDrag(Event var1, int var2, int var3) {
  2327.       this.field_99 = true;
  2328.       this.field_98 = true;
  2329.       this.field_94 = -1;
  2330.       this.field_96 = -1;
  2331.       if (!(var2 < this.field_15 | var2 > this.field_15 + this.field_23 | var3 < this.field_14 | var3 > this.field_14 + this.field_20)) {
  2332.          this.field_94 = var2 - this.field_15;
  2333.          this.field_96 = var3 - this.field_14;
  2334.       }
  2335.  
  2336.       return true;
  2337.    }
  2338.  
  2339.    public final synchronized boolean mouseMove(Event var1, int var2, int var3) {
  2340.       this.field_100 = var2;
  2341.       this.field_101 = var3;
  2342.       return true;
  2343.    }
  2344.  
  2345.    public final synchronized boolean mouseUp(Event var1, int var2, int var3) {
  2346.       if (this.field_143) {
  2347.          this.field_98 = false;
  2348.          this.field_99 = false;
  2349.          this.field_162 = -1;
  2350.          this.field_36 = -1;
  2351.          this.field_94 = -1;
  2352.          this.field_96 = -1;
  2353.          if (!(var2 < this.field_15 | var2 > this.field_15 + this.field_23 | var3 < this.field_14 | var3 > this.field_14 + this.field_20)) {
  2354.             this.field_94 = var2 - this.field_15;
  2355.             this.field_96 = var3 - this.field_14;
  2356.             this.field_95 = this.field_94;
  2357.             this.field_97 = this.field_96;
  2358.          }
  2359.       }
  2360.  
  2361.       return true;
  2362.    }
  2363.  
  2364.    public void paint(Graphics var1) {
  2365.       if (this.field_30) {
  2366.          if (this.field_132 != null) {
  2367.             this.method_46();
  2368.          }
  2369.  
  2370.          var1.drawImage(this.field_56, 0, 0, this);
  2371.       }
  2372.  
  2373.    }
  2374.  
  2375.    // $FF: renamed from: w () void
  2376.    public synchronized void method_46() {
  2377.       if (this.field_2) {
  2378.          this.notifyAll();
  2379.  
  2380.          while(!this.field_120) {
  2381.             Thread.yield();
  2382.  
  2383.             try {
  2384.                Thread.sleep(8L);
  2385.             } catch (InterruptedException var1) {
  2386.             }
  2387.          }
  2388.  
  2389.          this.field_120 = false;
  2390.       }
  2391.  
  2392.       this.field_118.drawImage(this.field_132, this.field_133, this.field_134, this);
  2393.    }
  2394.  
  2395.    // $FF: renamed from: x () void
  2396.    public final void method_47() {
  2397.       try {
  2398.          if (this.field_75) {
  2399.             this.field_137.newPixels();
  2400.          } else {
  2401.             this.field_136.startProduction(this.field_136.getConsumer());
  2402.          }
  2403.       } catch (NoSuchMethodError var1) {
  2404.       }
  2405.    }
  2406.  
  2407.    // $FF: renamed from: b (int, int, boolean) void
  2408.    private void method_48(int var1, int var2, boolean var3) {
  2409.       int[] var6;
  2410.       short[] var7;
  2411.       boolean[] var8;
  2412.       if (var3) {
  2413.          var6 = this.field_163;
  2414.          var7 = this.field_166;
  2415.          var8 = this.field_164;
  2416.       } else {
  2417.          var6 = this.field_128;
  2418.          var7 = this.field_130;
  2419.          var8 = this.field_129;
  2420.       }
  2421.  
  2422.       int var10 = this.field_88;
  2423.       if (this.field_122 > this.field_88) {
  2424.          var10 = this.field_122;
  2425.       }
  2426.  
  2427.       boolean[] var9 = new boolean[var10];
  2428.  
  2429.       for(int var4 = 0; var4 < var10; ++var4) {
  2430.          var9[var4] = false;
  2431.       }
  2432.  
  2433.       this.field_165 = var1;
  2434.  
  2435.       for(int var12 = 1; var12 < var1; ++var12) {
  2436.          short var11 = var7[var12];
  2437.          if (!var8[var12]) {
  2438.             var9[var11 - 1] = false;
  2439.          } else {
  2440.             var9[var11 - 1] = true;
  2441.          }
  2442.       }
  2443.  
  2444.       while(this.field_165 < var2) {
  2445.          int var5 = var6[this.field_165];
  2446.          short var14 = var7[this.field_165];
  2447.          this.field_33 = (short)(var14 * this.field_70);
  2448.          if (this.field_165 != 0) {
  2449.             if (!var8[this.field_165]) {
  2450.                var9[var14 - 1] = false;
  2451.                if (this.field_64[var5] < 1) {
  2452.                   this.method_17(this.field_24 + (var14 - 1) * this.field_70, this.field_34, 7, -1);
  2453.                } else if (this.field_65[var5]) {
  2454.                   this.method_17(this.field_24 + (var14 - 1) * this.field_70, this.field_34, 11, var5);
  2455.                } else {
  2456.                   this.method_17(this.field_24 + (var14 - 1) * this.field_70, this.field_34, 9, var5);
  2457.                }
  2458.             } else {
  2459.                var9[var14 - 1] = true;
  2460.                if (this.field_64[var5] < 1) {
  2461.                   this.method_17(this.field_24 + (var14 - 1) * this.field_70, this.field_34, 8, -1);
  2462.                } else if (this.field_65[var5]) {
  2463.                   this.method_17(this.field_24 + (var14 - 1) * this.field_70, this.field_34, 12, var5);
  2464.                } else {
  2465.                   this.method_17(this.field_24 + (var14 - 1) * this.field_70, this.field_34, 10, var5);
  2466.                }
  2467.             }
  2468.  
  2469.             for(int var13 = 0; var13 < var14 - 1; ++var13) {
  2470.                if (!var9[var13]) {
  2471.                   this.method_17(this.field_24 + var13 * this.field_70, this.field_34, 6, -1);
  2472.                }
  2473.             }
  2474.          }
  2475.  
  2476.          if (this.field_67[this.field_62[var5]]) {
  2477.             if (this.field_65[var5] & this.field_64[var5] > 0) {
  2478.                this.method_23(this.field_33 + this.field_24, this.field_34, this.field_62[var5], var5, 0);
  2479.             } else {
  2480.                this.method_23(this.field_33 + this.field_24, this.field_34, this.field_62[var5], var5, 1);
  2481.             }
  2482.          } else {
  2483.             this.method_24(this.field_33 + this.field_24, this.field_34, this.field_62[var5], var5);
  2484.          }
  2485.  
  2486.          this.method_22(this.field_33 + this.field_24 + this.field_70, this.field_34, var5);
  2487.          this.field_34 += this.field_69;
  2488.          if (this.field_34 > this.field_20) {
  2489.             return;
  2490.          }
  2491.  
  2492.          ++this.field_165;
  2493.       }
  2494.  
  2495.    }
  2496.  
  2497.    // $FF: renamed from: y () void
  2498.    private void method_49() {
  2499.       this.field_68 = 0;
  2500.       int var1 = 0;
  2501.  
  2502.       for(boolean var2 = false; ((Applet)this).getParameter("config" + var1) != null; ++var1) {
  2503.       }
  2504.  
  2505.       this.field_68 = var1;
  2506.       this.method_33();
  2507.  
  2508.       for(int var8 = 0; var8 < this.field_68; ++var8) {
  2509.          int var9 = 0;
  2510.          String var3 = ((Applet)this).getParameter("config" + var8);
  2511.          int var5 = 0;
  2512.  
  2513.          for(int var6 = 0; var9 != -1; ++var6) {
  2514.             var9 = var3.indexOf(44, var5);
  2515.             int var7 = var9;
  2516.             if (var9 == -1) {
  2517.                var7 = var3.length();
  2518.             }
  2519.  
  2520.             String var4 = var3.substring(var5, var7);
  2521.             var5 = var9 + 1;
  2522.             switch (var6) {
  2523.                case 0:
  2524.                   this.field_66[var8] = this.method_14(var4, 0);
  2525.                   break;
  2526.                case 1:
  2527.                   this.field_72[var8] = var4;
  2528.                   break;
  2529.                case 2:
  2530.                   this.field_62[var8] = this.method_14(var4, 0);
  2531.                   break;
  2532.                case 3:
  2533.                   this.field_73[var8] = var4;
  2534.             }
  2535.          }
  2536.       }
  2537.  
  2538.       this.field_112 = this.field_68;
  2539.    }
  2540.  
  2541.    // $FF: renamed from: z () void
  2542.    final void method_50() {
  2543.       int var1;
  2544.       int var2;
  2545.       if (this.field_109 != this.field_103) {
  2546.          var1 = this.field_109 * this.field_69;
  2547.          var2 = (this.field_103 + 1) * this.field_69;
  2548.       } else {
  2549.          var1 = this.field_131 * this.field_69;
  2550.          var2 = (this.field_121 + 1) * this.field_69;
  2551.       }
  2552.  
  2553.       if (var2 > this.field_144 - this.field_27) {
  2554.          if (var2 - var1 > this.field_144) {
  2555.             this.field_27 = -var1;
  2556.             return;
  2557.          }
  2558.  
  2559.          this.field_27 = -(var2 - this.field_144);
  2560.       }
  2561.  
  2562.    }
  2563.  
  2564.    public void run() {
  2565.       if (this.field_42) {
  2566.          this.method_41();
  2567.       }
  2568.  
  2569.       Thread var1 = Thread.currentThread();
  2570.       var1.setPriority(this.field_135);
  2571.       Graphics var2 = ((Component)this).getGraphics();
  2572.       if (this.field_132 != null && !this.field_2) {
  2573.          this.field_2 = this.method_5();
  2574.       }
  2575.  
  2576.       System.gc();
  2577.       this.field_35 = System.currentTimeMillis();
  2578.       this.field_172 = ((Component)this).getToolkit();
  2579.       int var3 = 0;
  2580.       this.field_118.setColor(this.field_6);
  2581.       this.field_118.fillRect(0, 0, this.field_74, this.field_61);
  2582.       this.method_54();
  2583.       ((Component)this).repaint();
  2584.       int var4 = 0;
  2585.       if (this.field_112 > 0) {
  2586.          this.field_65[0] = true;
  2587.       }
  2588.  
  2589.       for(; this.field_173 != null; this.method_58()) {
  2590.          if (this.field_191 == -1) {
  2591.             this.method_8();
  2592.             this.method_27();
  2593.          }
  2594.  
  2595.          this.method_9();
  2596.          if (this.field_41) {
  2597.             ++var4;
  2598.             if (var4 == 100) {
  2599.                this.field_48.show();
  2600.                var4 = 0;
  2601.             }
  2602.          }
  2603.  
  2604.          this.method_55();
  2605.          if (this.field_191 != 1) {
  2606.             try {
  2607.                this.method_47();
  2608.             } catch (NoSuchMethodError var5) {
  2609.             }
  2610.          }
  2611.  
  2612.          this.field_118.drawImage(this.field_21, this.field_15, this.field_14, this);
  2613.          if (this.field_132 != null) {
  2614.             this.method_46();
  2615.          }
  2616.  
  2617.          this.field_118.setColor(this.field_44);
  2618.          if (this.field_30) {
  2619.             var2.drawImage(this.field_56, 0, 0, this);
  2620.          }
  2621.  
  2622.          ++var3;
  2623.          if (var3 == this.field_90) {
  2624.             System.gc();
  2625.             var3 = 0;
  2626.          }
  2627.       }
  2628.  
  2629.    }
  2630.  
  2631.    // $FF: renamed from: d (int, int, int, int) byte
  2632.    byte method_51(int var1, int var2, int var3, int var4) {
  2633.       int var5 = var1 - var2;
  2634.       if (var5 >= var3) {
  2635.          return (byte)var5;
  2636.       } else {
  2637.          int var6 = var3 - var5 - 1;
  2638.          return (byte)(var4 - var6);
  2639.       }
  2640.    }
  2641.  
  2642.    // $FF: renamed from: c (int) void
  2643.    private final void method_52(int var1) {
  2644.       switch (var1) {
  2645.          case -1:
  2646.             this.field_24 += this.field_69;
  2647.             return;
  2648.          case 0:
  2649.             if (this.field_94 < this.field_150 + this.field_69) {
  2650.                this.field_24 += this.field_145;
  2651.                return;
  2652.             }
  2653.  
  2654.             this.field_24 -= this.field_145;
  2655.             return;
  2656.          case 1:
  2657.             this.field_24 -= this.field_69;
  2658.             return;
  2659.          default:
  2660.       }
  2661.    }
  2662.  
  2663.    // $FF: renamed from: d (int) void
  2664.    private final synchronized void method_53(int var1) {
  2665.       switch (var1) {
  2666.          case -1:
  2667.             this.field_27 += this.field_69;
  2668.             return;
  2669.          case 0:
  2670.             if (this.field_96 < this.field_158 + this.field_69) {
  2671.                this.field_27 += this.field_144;
  2672.             } else {
  2673.                this.field_27 -= this.field_144;
  2674.             }
  2675.  
  2676.             this.field_162 = -1;
  2677.             return;
  2678.          case 1:
  2679.             this.field_27 -= this.field_69;
  2680.             return;
  2681.          default:
  2682.       }
  2683.    }
  2684.  
  2685.    // $FF: renamed from: A () void
  2686.    private void method_54() {
  2687.       if (this.field_16 != 0) {
  2688.          this.field_118.setColor(this.field_169[4]);
  2689.          this.field_118.drawLine(0, 0, this.field_74, 0);
  2690.          if (this.field_16 == 2) {
  2691.             this.field_118.setColor(this.field_169[2]);
  2692.             this.field_118.drawLine(1, 1, this.field_74 - 1, 1);
  2693.             this.field_118.setColor(this.field_169[1]);
  2694.             this.field_118.drawLine(2, 2, this.field_74 - 2, 2);
  2695.             this.field_118.setColor(this.field_169[0]);
  2696.             this.field_118.drawLine(3, 3, this.field_74 - 3, 3);
  2697.          }
  2698.  
  2699.          this.field_118.setColor(this.field_169[3]);
  2700.          this.field_118.drawLine(0, 0, 0, this.field_61);
  2701.          if (this.field_16 == 2) {
  2702.             this.field_118.setColor(this.field_169[4]);
  2703.             this.field_118.drawLine(1, 1, 1, this.field_61 - 1);
  2704.             this.field_118.setColor(this.field_169[1]);
  2705.             this.field_118.drawLine(2, 2, 2, this.field_61 - 2);
  2706.             this.field_118.setColor(this.field_169[0]);
  2707.             this.field_118.drawLine(3, 3, 3, this.field_61 - 3);
  2708.          }
  2709.  
  2710.          this.field_118.setColor(this.field_169[1]);
  2711.          this.field_118.drawLine(0, this.field_61 - 1, this.field_74, this.field_61 - 1);
  2712.          if (this.field_16 == 2) {
  2713.             this.field_118.setColor(this.field_169[2]);
  2714.             this.field_118.drawLine(1, this.field_61 - 2, this.field_74 - 1, this.field_61 - 2);
  2715.             this.field_118.setColor(this.field_169[4]);
  2716.             this.field_118.drawLine(2, this.field_61 - 3, this.field_74 - 2, this.field_61 - 3);
  2717.             this.field_118.setColor(this.field_169[3]);
  2718.             this.field_118.drawLine(3, this.field_61 - 4, this.field_74 - 3, this.field_61 - 4);
  2719.          }
  2720.  
  2721.          this.field_118.setColor(this.field_169[1]);
  2722.          this.field_118.drawLine(this.field_74 - 1, 0, this.field_74 - 1, this.field_61 - 1);
  2723.          if (this.field_16 == 2) {
  2724.             this.field_118.setColor(this.field_169[2]);
  2725.             this.field_118.drawLine(this.field_74 - 2, 1, this.field_74 - 2, this.field_61 - 2);
  2726.             this.field_118.setColor(this.field_169[4]);
  2727.             this.field_118.drawLine(this.field_74 - 3, 2, this.field_74 - 3, this.field_61 - 3);
  2728.             this.field_118.setColor(this.field_169[3]);
  2729.             this.field_118.drawLine(this.field_74 - 4, 3, this.field_74 - 4, this.field_61 - 4);
  2730.          }
  2731.  
  2732.       }
  2733.    }
  2734.  
  2735.    // $FF: renamed from: B () void
  2736.    final synchronized void method_55() {
  2737.       boolean var1 = false;
  2738.       this.field_145 = this.field_23;
  2739.       this.field_144 = this.field_20;
  2740.       this.field_123 = this.field_139;
  2741.       if (this.field_191 < 1) {
  2742.          this.field_139 = this.field_115 * this.field_69;
  2743.       } else {
  2744.          this.field_139 = this.method_57();
  2745.       }
  2746.  
  2747.       this.field_140 = 0;
  2748.  
  2749.       for(int var3 = 0; var3 < this.field_115; ++var3) {
  2750.          int var2 = this.field_55[this.field_163[var3]] + this.field_166[var3] * this.field_70 + this.field_69;
  2751.          if (var2 > this.field_140) {
  2752.             this.field_140 = var2;
  2753.          }
  2754.       }
  2755.  
  2756.       boolean var4 = false;
  2757.       if (this.field_140 > this.field_145) {
  2758.          this.field_144 -= this.field_152;
  2759.          var4 = true;
  2760.       }
  2761.  
  2762.       if (this.field_139 > this.field_144) {
  2763.          this.field_145 -= this.field_152;
  2764.       }
  2765.  
  2766.       if (!var4 & this.field_140 > this.field_145) {
  2767.          this.field_144 -= this.field_152;
  2768.       }
  2769.  
  2770.       if (this.field_191 == -1) {
  2771.          this.method_6();
  2772.       } else {
  2773.          this.method_50();
  2774.       }
  2775.  
  2776.       if (this.field_27 > 0) {
  2777.          this.field_27 = 0;
  2778.       }
  2779.  
  2780.       if (this.field_27 + this.field_139 < this.field_144) {
  2781.          this.field_27 = this.field_144 - this.field_139;
  2782.       }
  2783.  
  2784.       if (this.field_139 < this.field_144) {
  2785.          this.field_27 = 0;
  2786.       }
  2787.  
  2788.       if (this.field_24 > 0) {
  2789.          this.field_24 = 0;
  2790.       }
  2791.  
  2792.       if (this.field_24 + this.field_140 < this.field_145) {
  2793.          this.field_24 = this.field_145 - this.field_140;
  2794.       }
  2795.  
  2796.       if (this.field_140 < this.field_145) {
  2797.          this.field_24 = 0;
  2798.       }
  2799.  
  2800.       if (this.field_191 == -1) {
  2801.          this.field_28 = this.field_27;
  2802.          this.field_25 = this.field_24;
  2803.       }
  2804.  
  2805.       this.field_34 = this.field_27;
  2806.       if (this.field_191 == -1) {
  2807.          this.method_48(0, this.field_115, true);
  2808.       } else {
  2809.          this.method_56();
  2810.       }
  2811.  
  2812.       if (this.field_140 > this.field_145) {
  2813.          this.method_35();
  2814.       }
  2815.  
  2816.       if (this.field_139 > this.field_144) {
  2817.          this.method_38();
  2818.       }
  2819.  
  2820.       if (this.field_140 > this.field_145 & this.field_139 > this.field_144) {
  2821.          this.method_37();
  2822.       }
  2823.  
  2824.    }
  2825.  
  2826.    public synchronized void start() {
  2827.       if (this.field_173 == null) {
  2828.          this.field_173 = new Thread(this);
  2829.          this.field_173.start();
  2830.          if (this.field_42) {
  2831.             this.method_41();
  2832.             this.field_48.show();
  2833.          }
  2834.       }
  2835.  
  2836.    }
  2837.  
  2838.    public synchronized void stop() {
  2839.       if (this.field_173 != null && this.field_173.isAlive()) {
  2840.          this.field_173.stop();
  2841.       }
  2842.  
  2843.       if (this.field_42) {
  2844.          this.field_48.hide();
  2845.       }
  2846.  
  2847.       this.field_173 = null;
  2848.    }
  2849.  
  2850.    public final void update(Graphics var1) {
  2851.       this.paint(var1);
  2852.    }
  2853.  
  2854.    // $FF: renamed from: C () void
  2855.    private void method_56() {
  2856.       if (this.field_191 == 0) {
  2857.          this.field_178 = 1;
  2858.          this.field_175 = 0;
  2859.          this.field_181 = this.field_121 - this.field_131;
  2860.          this.field_180 = this.field_103 - this.field_109;
  2861.          if (this.field_180 != 0) {
  2862.             this.field_189 = this.field_180 * this.field_69;
  2863.             this.field_190 = -this.field_189;
  2864.          } else {
  2865.             this.field_189 = this.field_181 * this.field_69;
  2866.             this.field_190 = this.field_189;
  2867.          }
  2868.       }
  2869.  
  2870.       ++this.field_191;
  2871.       int var1;
  2872.       if (this.field_180 != 0) {
  2873.          var1 = this.field_109;
  2874.          int var2 = this.field_103;
  2875.          this.field_34 = this.field_27 + (var1 + 1) * this.field_69 + this.field_190;
  2876.          this.method_48(var1 + 1, var2 + 1, true);
  2877.       } else {
  2878.          var1 = this.field_131;
  2879.          int var5 = this.field_121;
  2880.          this.field_34 = this.field_27 + (var1 + 1) * this.field_69 + this.field_190 - this.field_181 * this.field_69;
  2881.          this.method_48(var1 + 1, var5 + 1, false);
  2882.       }
  2883.  
  2884.       int var3 = this.field_27;
  2885.       int var4 = this.field_27 + (var1 + 1) * this.field_69;
  2886.       if (var3 < 0) {
  2887.          var3 = 0;
  2888.       }
  2889.  
  2890.       if (var4 >= this.field_20) {
  2891.          var4 = this.field_20 - 1;
  2892.       }
  2893.  
  2894.       System.arraycopy(this.field_12, var3 * this.field_23, this.field_19, var3 * this.field_23, (var4 - var3) * this.field_23);
  2895.       this.field_34 = this.field_27;
  2896.       this.method_48(0, var1 + 1, true);
  2897.       this.field_34 += this.field_180 * this.field_69 + this.field_190;
  2898.       this.method_48(this.field_103 + 1, this.field_115, true);
  2899.       if (this.field_180 != 0) {
  2900.          this.field_190 = (int)(-this.field_188[this.field_178] * (float)this.field_189 * this.field_177[this.field_175] * this.field_0);
  2901.          ++this.field_178;
  2902.          if (this.field_178 >= this.field_185 - 1 & this.field_179 < this.field_185 - 1) {
  2903.             ++this.field_175;
  2904.          }
  2905.  
  2906.          if (this.field_178 >= this.field_185 * 2 - 1) {
  2907.             this.field_178 = 0;
  2908.          }
  2909.  
  2910.          this.field_179 = this.field_178;
  2911.          if (this.field_175 >= this.field_183) {
  2912.             this.field_191 = -1;
  2913.          }
  2914.       } else {
  2915.          this.field_190 = (int)(this.field_187[this.field_178] * (float)this.field_189 * this.field_176[this.field_175] * this.field_0);
  2916.          ++this.field_178;
  2917.          if (this.field_178 >= this.field_184 - 1 & this.field_179 < this.field_184 - 1) {
  2918.             ++this.field_175;
  2919.          }
  2920.  
  2921.          if (this.field_178 >= this.field_184 * 2 - 1) {
  2922.             this.field_178 = 0;
  2923.          }
  2924.  
  2925.          this.field_179 = this.field_178;
  2926.          if (this.field_175 >= this.field_182) {
  2927.             this.field_191 = -1;
  2928.          }
  2929.       }
  2930.  
  2931.       ++this.field_178;
  2932.       if (this.field_191 == -1) {
  2933.          this.field_190 = 0;
  2934.       }
  2935.  
  2936.    }
  2937.  
  2938.    // $FF: renamed from: D () int
  2939.    private int method_57() {
  2940.       int var1;
  2941.       if (this.field_191 > 0) {
  2942.          var1 = this.field_115 * this.field_69 + this.field_190;
  2943.       } else {
  2944.          var1 = this.field_123;
  2945.       }
  2946.  
  2947.       return var1;
  2948.    }
  2949.  
  2950.    // $FF: renamed from: E () void
  2951.    public synchronized void method_58() {
  2952.       Thread.yield();
  2953.       this.field_172.sync();
  2954.       long var1 = 10L - (System.currentTimeMillis() - this.field_35);
  2955.       if (var1 > 0L) {
  2956.          try {
  2957.             Thread.sleep(var1);
  2958.          } catch (InterruptedException var5) {
  2959.          }
  2960.       } else {
  2961.          try {
  2962.             Thread.sleep(1L);
  2963.          } catch (InterruptedException var4) {
  2964.          }
  2965.       }
  2966.  
  2967.       this.field_35 = System.currentTimeMillis();
  2968.  
  2969.       try {
  2970.          Thread.sleep((long)this.field_92);
  2971.       } catch (InterruptedException var3) {
  2972.       }
  2973.    }
  2974. }
  2975.