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

  1. import java.applet.Applet;
  2. import java.awt.Color;
  3. import java.awt.Component;
  4. import java.awt.Container;
  5. import java.awt.Event;
  6. import java.awt.Frame;
  7. import java.awt.Graphics;
  8. import java.awt.Image;
  9. import java.awt.Label;
  10. import java.awt.LayoutManager;
  11. import java.awt.MediaTracker;
  12. import java.awt.Panel;
  13. import java.awt.Toolkit;
  14. import java.awt.image.ImageObserver;
  15. import java.awt.image.IndexColorModel;
  16. import java.awt.image.MemoryImageSource;
  17. import java.awt.image.PixelGrabber;
  18. import java.io.ByteArrayOutputStream;
  19. import java.io.DataInputStream;
  20. import java.io.FilterInputStream;
  21. import java.io.IOException;
  22. import java.io.InputStream;
  23. import java.io.OutputStream;
  24. import java.net.MalformedURLException;
  25. import java.net.URL;
  26.  
  27. public class solidscr extends Applet implements Runnable, ImageObserver {
  28.    // $FF: renamed from: a int
  29.    private int field_0;
  30.    // $FF: renamed from: b java.awt.Frame
  31.    Frame field_1;
  32.    // $FF: renamed from: c boolean
  33.    boolean field_2 = false;
  34.    // $FF: renamed from: d java.lang.String
  35.    final String field_3 = method_22("[\u001c\n\u0017KnL\u0018\u0002\u000e\\\r\u0018\u0012A:/\u0013\u000eMy\u0005ZSYm\u001bT\u001a@|");
  36.    // $FF: renamed from: e java.awt.Image
  37.    private Image field_4;
  38.    // $FF: renamed from: f java.awt.Color
  39.    private Color field_5;
  40.    // $FF: renamed from: g int
  41.    int field_6;
  42.    // $FF: renamed from: h int
  43.    private int field_7;
  44.    // $FF: renamed from: i java.lang.String
  45.    private String field_8 = method_22("*\u0014JK\u001e*\\J");
  46.    // $FF: renamed from: j java.lang.String
  47.    private String field_9 = method_22("x\r\bIHu\u0002\u000eUO|\u0018");
  48.    // $FF: renamed from: k java.lang.String
  49.    private String field_10 = method_22("C))");
  50.    // $FF: renamed from: l java.lang.String
  51.    private String field_11 = "0";
  52.    // $FF: renamed from: m java.lang.String
  53.    private String field_12 = method_22("^%):lV)>");
  54.    // $FF: renamed from: n java.lang.String
  55.    private String field_13 = method_22("l\t\b\u000fGy\r\u0016");
  56.    // $FF: renamed from: o java.lang.String
  57.    private String field_14 = "3";
  58.    // $FF: renamed from: p java.lang.String
  59.    private String field_15 = method_22("T#Z/kB8Z+oH-7>z_>ZZ\u000e:L");
  60.    // $FF: renamed from: q java.lang.String
  61.    private String field_16 = "0";
  62.    // $FF: renamed from: r java.lang.String
  63.    private String field_17 = "0";
  64.    // $FF: renamed from: s java.lang.String
  65.    private String field_18 = "0";
  66.    // $FF: renamed from: t java.lang.String
  67.    private String field_19 = method_22("m\r\f\u0012@}");
  68.    // $FF: renamed from: u java.lang.String
  69.    private String field_20 = "10";
  70.    // $FF: renamed from: v java.lang.String
  71.    private String field_21 = method_22("i\u001b\u0013\u0015I");
  72.    // $FF: renamed from: w java.lang.String
  73.    private String field_22 = "5";
  74.    // $FF: renamed from: x long
  75.    long field_23;
  76.    // $FF: renamed from: y int
  77.    static int field_24 = 1;
  78.    // $FF: renamed from: z int
  79.    private int field_25;
  80.    // $FF: renamed from: A int
  81.    private int field_26;
  82.    // $FF: renamed from: B int
  83.    private int field_27;
  84.    // $FF: renamed from: C int
  85.    private int field_28;
  86.    // $FF: renamed from: D int
  87.    private int field_29;
  88.    // $FF: renamed from: E java.lang.String
  89.    private String field_30 = " ";
  90.    // $FF: renamed from: F java.awt.image.IndexColorModel
  91.    private IndexColorModel field_31;
  92.    // $FF: renamed from: G int
  93.    private int field_32;
  94.    // $FF: renamed from: H int
  95.    private int field_33;
  96.    // $FF: renamed from: I int
  97.    private int field_34;
  98.    // $FF: renamed from: J int
  99.    private int field_35;
  100.    // $FF: renamed from: K int
  101.    private int field_36;
  102.    // $FF: renamed from: L int
  103.    static int field_37;
  104.    // $FF: renamed from: M java.net.URL
  105.    URL field_38;
  106.    // $FF: renamed from: N float
  107.    private float field_39;
  108.    // $FF: renamed from: O float
  109.    private float field_40;
  110.    // $FF: renamed from: P int
  111.    int field_41;
  112.    // $FF: renamed from: Q float
  113.    private float field_42;
  114.    // $FF: renamed from: R float
  115.    private float field_43;
  116.    // $FF: renamed from: S int
  117.    int field_44;
  118.    // $FF: renamed from: T int
  119.    private int field_45;
  120.    // $FF: renamed from: U int
  121.    private int field_46;
  122.    // $FF: renamed from: V int
  123.    private int field_47;
  124.    // $FF: renamed from: W boolean
  125.    boolean field_48 = false;
  126.    // $FF: renamed from: X java.awt.Graphics
  127.    private Graphics field_49;
  128.    // $FF: renamed from: Y java.awt.Image
  129.    private Image field_50;
  130.    // $FF: renamed from: Z boolean
  131.    boolean field_51 = false;
  132.    // $FF: renamed from: ba int
  133.    private int field_52;
  134.    // $FF: renamed from: bb java.awt.Image
  135.    private Image field_53;
  136.    // $FF: renamed from: bc int
  137.    int field_54;
  138.    // $FF: renamed from: bd int
  139.    int field_55;
  140.    // $FF: renamed from: be int
  141.    private int field_56;
  142.    // $FF: renamed from: bf java.awt.image.PixelGrabber
  143.    private PixelGrabber field_57;
  144.    // $FF: renamed from: bg int[]
  145.    protected int[] field_58;
  146.    // $FF: renamed from: bh int
  147.    int field_59;
  148.    // $FF: renamed from: bi int
  149.    int field_60;
  150.    // $FF: renamed from: bj int
  151.    int field_61;
  152.    // $FF: renamed from: bk boolean
  153.    boolean field_62 = false;
  154.    // $FF: renamed from: bl java.lang.String
  155.    String field_63;
  156.    // $FF: renamed from: bm int
  157.    private int field_64;
  158.    // $FF: renamed from: bn java.awt.Image
  159.    public Image field_65;
  160.    // $FF: renamed from: bo java.lang.String
  161.    private String field_66;
  162.    // $FF: renamed from: bp float[]
  163.    private float[] field_67;
  164.    // $FF: renamed from: bq float[]
  165.    private float[] field_68;
  166.    // $FF: renamed from: br int
  167.    private int field_69;
  168.    // $FF: renamed from: bs int
  169.    private int field_70;
  170.    // $FF: renamed from: bt java.awt.Image
  171.    protected Image field_71;
  172.    // $FF: renamed from: bu java.lang.String
  173.    private String field_72;
  174.    // $FF: renamed from: bv java.lang.String
  175.    private String field_73;
  176.    // $FF: renamed from: bw java.lang.String
  177.    private String field_74;
  178.    // $FF: renamed from: bx java.awt.Image
  179.    private Image field_75;
  180.    // $FF: renamed from: by java.lang.String
  181.    private String field_76;
  182.    // $FF: renamed from: bz java.lang.String
  183.    private String field_77;
  184.    // $FF: renamed from: bA java.lang.String
  185.    private String field_78;
  186.    // $FF: renamed from: bB java.lang.String
  187.    private String field_79;
  188.    // $FF: renamed from: bC int
  189.    private int field_80;
  190.    // $FF: renamed from: bD java.lang.String
  191.    private String field_81;
  192.    // $FF: renamed from: bE java.lang.String
  193.    private String field_82;
  194.    // $FF: renamed from: bF java.lang.String
  195.    private String field_83;
  196.    // $FF: renamed from: bG java.lang.String
  197.    private String field_84;
  198.    // $FF: renamed from: bH java.lang.String
  199.    private String field_85;
  200.    // $FF: renamed from: bI java.lang.String
  201.    private String field_86;
  202.    // $FF: renamed from: bJ java.lang.String
  203.    private String field_87;
  204.    // $FF: renamed from: bK java.lang.String
  205.    private String field_88;
  206.    // $FF: renamed from: bL java.lang.String
  207.    private String field_89;
  208.    // $FF: renamed from: bM java.lang.String
  209.    private String field_90;
  210.    // $FF: renamed from: bN java.lang.String
  211.    private String field_91;
  212.    // $FF: renamed from: bO java.lang.String
  213.    private String field_92;
  214.    // $FF: renamed from: bP java.awt.Toolkit
  215.    Toolkit field_93;
  216.    // $FF: renamed from: bQ java.lang.Thread
  217.    Thread field_94;
  218.    // $FF: renamed from: bR int[]
  219.    private int[] field_95;
  220.    // $FF: renamed from: bS int
  221.    private int field_96;
  222.    // $FF: renamed from: bT java.awt.Image[]
  223.    private Image[] field_97;
  224.    // $FF: renamed from: bU int
  225.    private int field_98;
  226.    // $FF: renamed from: bV int
  227.    private int field_99;
  228.    // $FF: renamed from: bW int
  229.    private int field_100;
  230.    // $FF: renamed from: bX int
  231.    private int field_101;
  232.    // $FF: renamed from: bY int
  233.    private int field_102;
  234.    // $FF: renamed from: bZ int
  235.    private int field_103;
  236.    // $FF: renamed from: ca Lware
  237.    Lware field_104;
  238.    // $FF: renamed from: cb int
  239.    private int field_105;
  240.    // $FF: renamed from: cc int
  241.    private int field_106;
  242.    // $FF: renamed from: cd int
  243.    private int field_107;
  244.    // $FF: renamed from: ce int
  245.    private int field_108;
  246.    // $FF: renamed from: cf int
  247.    private int field_109;
  248.    // $FF: renamed from: cg int
  249.    private int field_110;
  250.  
  251.    // $FF: renamed from: a () void
  252.    private final void method_0() {
  253.       while(true) {
  254.          ((Applet)this).showStatus(method_22("^\u0003\u0014\\Z:\u001e\u001f\u0016Al\tZ\fYmB\u001b\u0015Hc\u0006\u001b\rO4\u000f\u0015\u0016\u000ey\u001e\u001f\u001fGn\u001fZ\u0017Gt\tZ\u0012@:$.6b;"));
  255.  
  256.          try {
  257.             Thread.sleep(500L);
  258.          } catch (InterruptedException var1) {
  259.          }
  260.       }
  261.    }
  262.  
  263.    // $FF: renamed from: b () boolean
  264.    public synchronized boolean method_1() {
  265.       ((Component)this).prepareImage(this.field_53, this);
  266.  
  267.       for(int var1 = 0; var1 < 3; ++var1) {
  268.          this.notifyAll();
  269.          Thread.yield();
  270.  
  271.          try {
  272.             Thread.sleep(100L);
  273.          } catch (InterruptedException var2) {
  274.          }
  275.       }
  276.  
  277.       return this.field_51;
  278.    }
  279.  
  280.    public void destroy() {
  281.       if (this.field_53 != null) {
  282.          this.field_53.flush();
  283.       }
  284.  
  285.       this.field_53 = null;
  286.       if (this.field_50 != null) {
  287.          this.field_50.flush();
  288.       }
  289.  
  290.       this.field_50 = null;
  291.       if (this.field_49 != null) {
  292.          this.field_49.dispose();
  293.       }
  294.  
  295.       this.field_49 = null;
  296.       System.gc();
  297.    }
  298.  
  299.    // $FF: renamed from: a (java.lang.String) java.awt.Image
  300.    Image method_2(String var1) {
  301.       try {
  302.          return this.method_3(var1);
  303.       } catch (NoSuchMethodError var2) {
  304.          return this.method_3(var1);
  305.       }
  306.    }
  307.  
  308.    // $FF: renamed from: b (java.lang.String) java.awt.Image
  309.    synchronized Image method_3(String var1) {
  310.       URL var2 = null;
  311.       Image var3 = null;
  312.  
  313.       try {
  314.          var2 = new URL(((Applet)this).getDocumentBase(), var1);
  315.       } catch (MalformedURLException var14) {
  316.       }
  317.  
  318.       try {
  319.          try {
  320.             InputStream var4 = this.getClass().getResourceAsStream(var2.toString());
  321.             if (var4 != null) {
  322.                ByteArrayOutputStream var5 = new ByteArrayOutputStream(1024);
  323.                byte[] var6 = new byte[512];
  324.                boolean var8 = false;
  325.                Object var9 = null;
  326.  
  327.                try {
  328.                   while(!var8) {
  329.                      int var7 = var4.read(var6, 0, 512);
  330.                      if (var7 != -1) {
  331.                         var5.write(var6, 0, var7);
  332.                         ((OutputStream)var5).flush();
  333.                      } else {
  334.                         var8 = true;
  335.                      }
  336.                   }
  337.  
  338.                   var21 = var5.toByteArray();
  339.                   ((OutputStream)var5).close();
  340.                   var4.close();
  341.                } catch (IOException var15) {
  342.                   var21 = null;
  343.                }
  344.  
  345.                System.gc();
  346.                if (var21 != null) {
  347.                   var3 = ((Component)this).getToolkit().createImage(var21);
  348.                   ((Component)this).prepareImage(var3, this);
  349.                }
  350.             }
  351.          } catch (NoSuchMethodError var16) {
  352.          }
  353.       } catch (SecurityException var17) {
  354.       }
  355.  
  356.       if (var3 == null) {
  357.          int var18 = 0;
  358.  
  359.          while(var18 < 5) {
  360.             try {
  361.                if (var18 % 2 == 0) {
  362.                   var3 = Toolkit.getDefaultToolkit().getImage(var2);
  363.                } else {
  364.                   var3 = ((Applet)this).getImage(var2);
  365.                }
  366.  
  367.                ++var18;
  368.                MediaTracker var20 = new MediaTracker(this);
  369.                this.notifyAll();
  370.                Thread.currentThread();
  371.                Thread.yield();
  372.  
  373.                try {
  374.                   var20.addImage(var3, 0);
  375.                   var20.waitForID(0);
  376.                } catch (InterruptedException var12) {
  377.                   var3 = null;
  378.                }
  379.  
  380.                if (var20.isErrorID(0)) {
  381.                   var3 = null;
  382.                } else {
  383.                   var18 = 6;
  384.                }
  385.             } catch (NullPointerException var13) {
  386.                System.gc();
  387.             }
  388.          }
  389.       }
  390.  
  391.       if (var3 == null) {
  392.          for(int var19 = 0; var19 < 25; ++var19) {
  393.             ((Applet)this).showStatus(method_22("S\u0001\u001b\u001cK:") + var1 + method_22(":\u0002\u0015\u000f\u000e|\u0003\u000f\u0015J;"));
  394.  
  395.             try {
  396.                Thread.currentThread();
  397.                Thread.sleep(250L);
  398.             } catch (InterruptedException var11) {
  399.             }
  400.          }
  401.       } else {
  402.          while(var3.getWidth(this) < 0) {
  403.             this.notifyAll();
  404.             Thread.currentThread();
  405.             Thread.yield();
  406.  
  407.             try {
  408.                Thread.currentThread();
  409.                Thread.sleep(100L);
  410.             } catch (InterruptedException var10) {
  411.             }
  412.          }
  413.       }
  414.  
  415.       return var3;
  416.    }
  417.  
  418.    // $FF: renamed from: c () java.awt.Image
  419.    public Image method_4() {
  420.       return this.field_71;
  421.    }
  422.  
  423.    // $FF: renamed from: d () float
  424.    public float method_5() {
  425.       float var1 = this.field_67[0];
  426.  
  427.       for(int var2 = 0; var2 < this.field_96 + this.field_99 - 1; ++var2) {
  428.          if (this.field_67[var2] > var1) {
  429.             var1 = this.field_67[var2];
  430.          }
  431.       }
  432.  
  433.       return var1;
  434.    }
  435.  
  436.    // $FF: renamed from: e () float
  437.    public float method_6() {
  438.       float var1 = this.field_67[0];
  439.  
  440.       for(int var2 = 0; var2 < this.field_96 + this.field_99 - 1; ++var2) {
  441.          if (this.field_67[var2] < var1) {
  442.             var1 = this.field_67[var2];
  443.          }
  444.       }
  445.  
  446.       return var1;
  447.    }
  448.  
  449.    // $FF: renamed from: f () int
  450.    public int method_7() {
  451.       return this.field_95[this.field_7];
  452.    }
  453.  
  454.    // $FF: renamed from: g () int[]
  455.    public int[] method_8() {
  456.       return this.field_58;
  457.    }
  458.  
  459.    // $FF: renamed from: h () int
  460.    public int method_9() {
  461.       return this.field_26;
  462.    }
  463.  
  464.    // $FF: renamed from: i () int
  465.    public int method_10() {
  466.       return this.field_66.length() * this.field_28;
  467.    }
  468.  
  469.    // $FF: renamed from: j () float[]
  470.    public float[] method_11() {
  471.       return this.field_67;
  472.    }
  473.  
  474.    // $FF: renamed from: a (java.lang.String, int) java.lang.String
  475.    public String method_12(String var1, int var2) {
  476.       String var3 = "";
  477.  
  478.       try {
  479.          var3 = this.method_13(var1, var2);
  480.       } catch (NoSuchMethodError var4) {
  481.          this.method_13(var1, var2);
  482.       }
  483.  
  484.       return var3;
  485.    }
  486.  
  487.    // $FF: renamed from: b (java.lang.String, int) java.lang.String
  488.    public String method_13(String var1, int var2) {
  489.       String var3 = "";
  490.  
  491.       try {
  492.          URL var4 = new URL(((Applet)this).getDocumentBase(), var1);
  493.  
  494.          try {
  495.             DataInputStream var5 = new DataInputStream(var4.openStream());
  496.             if (var5 != null) {
  497.                ByteArrayOutputStream var6 = new ByteArrayOutputStream(1024);
  498.                byte[] var7 = new byte[512];
  499.                int var8 = 0;
  500.                int var9 = 0;
  501.                boolean var10 = false;
  502.  
  503.                try {
  504.                   while(!var10) {
  505.                      var8 = var5.read(var7, 0, 512);
  506.                      if (var8 == -1) {
  507.                         var10 = true;
  508.                      } else {
  509.                         var6.write(var7, 0, var8);
  510.                         ((OutputStream)var6).flush();
  511.                         var9 += var8;
  512.                      }
  513.                   }
  514.  
  515.                   byte[] var11 = var6.toByteArray();
  516.                   ((OutputStream)var6).close();
  517.                   Object var18 = null;
  518.                   ((FilterInputStream)var5).close();
  519.                   System.gc();
  520.                   int var13 = 0;
  521.                   if (var2 == 0) {
  522.                      for(int var14 = 0; var14 < var9; ++var14) {
  523.                         byte var12 = var11[var14];
  524.                         if (var12 != 13) {
  525.                            if (var12 == 10) {
  526.                               var11[var13] = 32;
  527.                            } else {
  528.                               var11[var13] = var11[var14];
  529.                            }
  530.  
  531.                            ++var13;
  532.                         }
  533.                      }
  534.  
  535.                      var3 = new String(var11, 0, 0, var13);
  536.                   } else {
  537.                      for(int var21 = 0; var21 < var9; ++var21) {
  538.                         byte var20 = var11[var21];
  539.                         if (var20 != 13) {
  540.                            if (var20 == 10) {
  541.                               var11[var13] = 30;
  542.                            } else {
  543.                               var11[var13] = var11[var21];
  544.                            }
  545.  
  546.                            ++var13;
  547.                         }
  548.                      }
  549.  
  550.                      var3 = new String(var11, 0, 0, var13);
  551.                   }
  552.                } catch (IOException var15) {
  553.                }
  554.             }
  555.          } catch (IOException var16) {
  556.          }
  557.       } catch (MalformedURLException var17) {
  558.       }
  559.  
  560.       return var3;
  561.    }
  562.  
  563.    public boolean imageUpdate(Image var1, int var2, int var3, int var4, int var5, int var6) {
  564.       if (var1 == this.field_53) {
  565.          if (var2 == 16) {
  566.             this.field_51 = true;
  567.          }
  568.  
  569.          return true;
  570.       } else {
  571.          return true;
  572.       }
  573.    }
  574.  
  575.    public void init() {
  576.       ((Container)this).setLayout((LayoutManager)null);
  577.       ((Panel)this).addNotify();
  578.       this.field_93 = ((Component)this).getToolkit();
  579.       this.field_63 = ((Applet)this).getParameter(method_22("i\u0018\u001b\u000f[i\u0001\t\u001c"));
  580.       Object var1 = null;
  581.       String var37 = ((Applet)this).getParameter(method_22("y\u001e\u001f\u001fGn\u001f"));
  582.       if (var37 != null) {
  583.          if (!var37.startsWith(method_22("[\u001c\n\u0017KnL\u0018\u0002\u000e\\\r\u0018\u0012A:/\u0013\u000eMy\u0005ZSYm\u001bT\u001a@|"))) {
  584.             this.method_0();
  585.          }
  586.       } else {
  587.          this.method_0();
  588.       }
  589.  
  590.       Object var2 = null;
  591.       Object var3 = null;
  592.  
  593.       try {
  594.          var38 = ((Applet)this).getDocumentBase().getProtocol();
  595.       } catch (SecurityException var34) {
  596.          var38 = method_22("|\u0005\u0016\u001e");
  597.       }
  598.  
  599.       try {
  600.          var39 = ((Applet)this).getDocumentBase().getHost();
  601.       } catch (SecurityException var33) {
  602.          var39 = "";
  603.       }
  604.  
  605.       if (!var38.equalsIgnoreCase(method_22("|\u0005\u0016\u001e")) && var39.length() != 0 && !var39.equalsIgnoreCase(method_22("v\u0003\u0019\u001aBr\u0003\t\u000f")) && !var39.equals(method_22("+^MU\u001e4\\TJ"))) {
  606.          if (var39.startsWith(method_22("m\u001b\rU"))) {
  607.             var39 = var39.substring(4);
  608.          }
  609.  
  610.          Object var4 = null;
  611.          String var40 = ((Applet)this).getParameter(method_22("h\t\u001d\u0018A~\t"));
  612.          if (var40 != null && !var40.equals("NO") && var40.length() > 10) {
  613.             int var5 = 1;
  614.  
  615.             try {
  616.                for(int var6 = 0; var6 < var40.length(); ++var6) {
  617.                   if (var40.charAt(var6) == '+') {
  618.                      ++var5;
  619.                   }
  620.                }
  621.             } catch (StringIndexOutOfBoundsException var36) {
  622.             }
  623.  
  624.             int[] var43 = new int[var5];
  625.             if (var5 == 1) {
  626.                var43[0] = var40.length();
  627.             } else {
  628.                int var7 = 0;
  629.  
  630.                try {
  631.                   for(int var8 = 0; var8 < var40.length(); ++var8) {
  632.                      if (var40.charAt(var8) == '+') {
  633.                         var43[var7] = var8;
  634.                         ++var7;
  635.                      }
  636.                   }
  637.                } catch (StringIndexOutOfBoundsException var35) {
  638.                }
  639.  
  640.                var43[var7] = var40.length();
  641.             }
  642.  
  643.             String[] var45 = new String[var5];
  644.             int var47 = 0;
  645.  
  646.             for(int var9 = 0; var9 < var5; ++var9) {
  647.                try {
  648.                   var45[var9] = var40.substring(var47, var43[var9]);
  649.                } catch (StringIndexOutOfBoundsException var32) {
  650.                }
  651.  
  652.                var47 = var43[var9] + 1;
  653.             }
  654.  
  655.             for(int var10 = 0; var10 < var5; ++var10) {
  656.                int var11 = var45[var10].length() - 8;
  657.                byte[] var15 = new byte[var11];
  658.                byte[] var16 = new byte[8];
  659.                var45[var10].getBytes(0, var11, var15, 0);
  660.                var45[var10].getBytes(var11, var11 + 8, var16, 0);
  661.                int var13 = var11 % 7;
  662.                int var14 = var11 % 3;
  663.  
  664.                for(int var17 = 0; var17 < var11; ++var17) {
  665.                   byte var12 = var15[var17];
  666.                   if (var12 >= 48 && var12 <= 57) {
  667.                      var15[var17] = this.method_16(var12, var13, 48, 57);
  668.                   } else if (var12 >= 65 && var12 <= 90) {
  669.                      var15[var17] = this.method_16(var12, var13, 65, 90);
  670.                   } else if (var12 >= 97 && var12 <= 122) {
  671.                      var15[var17] = this.method_16(var12, var13, 97, 122);
  672.                   } else if (var12 == 45) {
  673.                      var15[var17] = 46;
  674.                   } else if (var12 == 46) {
  675.                      var15[var17] = 45;
  676.                   }
  677.  
  678.                   if ((var13 += var14) > 7) {
  679.                      var13 = 1;
  680.                   }
  681.                }
  682.  
  683.                int var18 = 0;
  684.                int var19 = 0;
  685.  
  686.                for(int var20 = 0; var20 < 4; ++var20) {
  687.                   var16[var20] = (byte)(var16[var20] - 52);
  688.                }
  689.  
  690.                for(int var21 = 4; var21 < 8; ++var21) {
  691.                   var16[var21] = (byte)(var16[var21] - 55);
  692.                }
  693.  
  694.                for(int var22 = 0; var22 < var11; var22 += 2) {
  695.                   var18 += var15[var22];
  696.                }
  697.  
  698.                for(int var23 = 1; var23 < var11; var23 += 2) {
  699.                   var19 += var15[var23];
  700.                }
  701.  
  702.                String var24 = String.valueOf(var18);
  703.  
  704.                String var25;
  705.                for(var25 = String.valueOf(var19); var24.length() < 4; var24 = "0" + var24) {
  706.                }
  707.  
  708.                while(var25.length() < 4) {
  709.                   var25 = "0" + var25;
  710.                }
  711.  
  712.                byte[] var26 = new byte[8];
  713.                var24.getBytes(0, 4, var26, 0);
  714.                var25.getBytes(0, 4, var26, 4);
  715.                String var27 = new String(var26, 0);
  716.                if (var27.equals(new String(var16, 0))) {
  717.                   String var28 = new String(var15, 0);
  718.                   Object var29 = null;
  719.                   String var88;
  720.                   if (var28.startsWith(method_22("m\u001b\rU"))) {
  721.                      var88 = var28.substring(4);
  722.                   } else {
  723.                      var88 = var28;
  724.                   }
  725.  
  726.                   if (var39.equalsIgnoreCase(var88)) {
  727.                      this.field_62 = true;
  728.                   }
  729.                }
  730.             }
  731.          }
  732.       } else {
  733.          this.field_62 = true;
  734.       }
  735.  
  736.       String var41 = ((Applet)this).getParameter(method_22("h\t\u001d\u0017Gt\u0007"));
  737.       if (var41 != null && !var41.equalsIgnoreCase("NO")) {
  738.          try {
  739.             this.field_38 = new URL(((Applet)this).getDocumentBase(), var41);
  740.          } catch (MalformedURLException var31) {
  741.             this.field_38 = null;
  742.          }
  743.       }
  744.  
  745.       String var42 = ((Applet)this).getParameter(method_22("h\t\u001d\u0015Km\n\b\u001aC\u007f"));
  746.       if (var42.equalsIgnoreCase(method_22("C))"))) {
  747.          this.field_48 = true;
  748.       }
  749.  
  750.       Container var44;
  751.       for(var44 = ((Component)this).getParent(); !(var44 instanceof Frame); var44 = ((Component)var44).getParent()) {
  752.       }
  753.  
  754.       this.field_1 = (Frame)var44;
  755.       this.field_1.setCursor(3);
  756.       String var46 = ((Applet)this).getParameter(method_22("u\u001a\u001f\tGw\u000b"));
  757.       if (var46 != null && !var46.equalsIgnoreCase("NO")) {
  758.          this.field_53 = this.method_2(var46);
  759.          if (this.field_53 != null) {
  760.             String var48 = ((Applet)this).getParameter(method_22("u\u001a\u001f\tGw\u000b\""));
  761.             if (var48 == null) {
  762.                var48 = "0";
  763.             }
  764.  
  765.             this.field_54 = Integer.valueOf(var48);
  766.             String var50 = ((Applet)this).getParameter(method_22("u\u001a\u001f\tGw\u000b#"));
  767.             if (var50 == null) {
  768.                var50 = "0";
  769.             }
  770.  
  771.             this.field_55 = Integer.valueOf(var50);
  772.          }
  773.       }
  774.  
  775.       String var49 = ((Applet)this).getParameter(method_22("w\t\u0017\u001fKv\r\u0003"));
  776.       String var51 = ((Applet)this).getParameter(method_22("j\u001e\u0013\u0014\\s\u0018\u0003"));
  777.       this.field_41 = Integer.valueOf(var49);
  778.       this.field_59 = Integer.valueOf(var51);
  779.       Object var52 = null;
  780.       String var53 = ((Applet)this).getParameter(method_22("W\u0005\u0014(wT/"));
  781.       this.field_44 = Integer.valueOf(var53);
  782.       if (this.field_41 < 0) {
  783.          this.field_41 = 0;
  784.       }
  785.  
  786.       if (this.field_59 > 10) {
  787.          this.field_59 = 10;
  788.       } else if (this.field_59 < 1) {
  789.          this.field_59 = 1;
  790.       }
  791.  
  792.       this.field_88 = ((Applet)this).getParameter(method_22("n\t\u0002\u000fZc\u001c\u001f"));
  793.       if (this.field_88 == null) {
  794.          this.field_88 = this.field_19;
  795.       }
  796.  
  797.       this.field_88 = this.field_88.toUpperCase();
  798.       this.field_91 = ((Applet)this).getParameter(method_22("m\r\f\u001eCu\b\u001f"));
  799.       if (this.field_91 == null) {
  800.          this.field_91 = this.field_13;
  801.       }
  802.  
  803.       this.field_91 = this.field_91.toUpperCase();
  804.       this.field_84 = ((Applet)this).getParameter(method_22("n\t\u0002\u000f]y\u001e\u0015\u0017B"));
  805.       if (this.field_84 == null) {
  806.          this.field_83 = this.field_15;
  807.       } else if (this.field_88.equals(method_22("L)(/gY-6"))) {
  808.          this.field_83 = this.method_12(this.field_84, 1);
  809.       } else {
  810.          this.field_83 = this.method_12(this.field_84, 0);
  811.       }
  812.  
  813.       this.field_83 = this.field_83.toUpperCase();
  814.       this.field_85 = ((Applet)this).getParameter(method_22("N\t\u0002\u000fdo\u0001\n:Cj"));
  815.       if (this.field_85 == null) {
  816.          this.field_85 = this.field_16;
  817.       }
  818.  
  819.       this.field_34 = Integer.parseInt(this.field_85);
  820.       this.field_86 = ((Applet)this).getParameter(method_22("N\t\u0002\u000fdo\u0001\n(^~"));
  821.       if (this.field_86 == null) {
  822.          this.field_86 = this.field_17;
  823.       }
  824.  
  825.       this.field_36 = Integer.parseInt(this.field_86);
  826.       this.field_87 = ((Applet)this).getParameter(method_22("n\t\u0002\u000fA|\n\t\u001eZ"));
  827.       if (this.field_87 == null) {
  828.          this.field_87 = this.field_18;
  829.       }
  830.  
  831.       this.field_107 = Integer.parseInt(this.field_87);
  832.       this.field_89 = ((Applet)this).getParameter(method_22("n\t\u0002\u000fXi\u001c\u001b\u0018K"));
  833.       if (this.field_89 == null) {
  834.          this.field_89 = this.field_20;
  835.       }
  836.  
  837.       this.field_69 = Integer.parseInt(this.field_89);
  838.       this.field_79 = ((Applet)this).getParameter(method_22("w\u0005\b\tAh\u0001\u0015\u001fK"));
  839.       if (this.field_79 == null) {
  840.          this.field_79 = this.field_12;
  841.       }
  842.  
  843.       this.field_79 = this.field_79.toUpperCase();
  844.       this.field_78 = ((Applet)this).getParameter(method_22("w\u0005\b\tAh\u0004\u001f\u0012Ir\u0018"));
  845.       if (this.field_78 == null) {
  846.          this.field_78 = this.field_11;
  847.       }
  848.  
  849.       this.field_45 = Math.abs(Integer.parseInt(this.field_78));
  850.       this.field_73 = ((Applet)this).getParameter(method_22("|\u0003\u0014\u000fGt\b\u001f\u0003"));
  851.       if (this.field_73 == null) {
  852.          this.field_73 = this.field_9;
  853.       }
  854.  
  855.       this.field_77 = this.method_12(this.field_73, 1);
  856.       if (this.field_77 != null) {
  857.          int var54 = 0;
  858.          int var60 = 0;
  859.          var60 = this.field_77.indexOf(30, var54);
  860.          this.field_74 = this.field_77.substring(var54, var60);
  861.          this.field_74 = this.field_74 + method_22("4\u000b\u0013\u001d");
  862.          var54 = var60 + 1;
  863.          var60 = this.field_77.indexOf(30, var54);
  864.          this.field_27 = Math.abs(Integer.parseInt(this.field_77.substring(var54, var60)));
  865.          var54 = var60 + 1;
  866.          var60 = this.field_77.indexOf(30, var54);
  867.          this.field_25 = Math.abs(Integer.parseInt(this.field_77.substring(var54, var60)));
  868.          var54 = var60 + 1;
  869.          var60 = this.field_77.indexOf(30, var54);
  870.          this.field_110 = Math.abs(Integer.parseInt(this.field_77.substring(var54, var60)));
  871.          var54 = var60 + 1;
  872.          var60 = this.field_77.indexOf(30, var54);
  873.          if (var60 == -1) {
  874.             var60 = this.field_77.length();
  875.          }
  876.  
  877.          this.field_73 = this.field_77.substring(var54, var60);
  878.       }
  879.  
  880.       this.field_82 = ((Applet)this).getParameter(method_22("i\u001c\u001f\u001eJ"));
  881.       if (this.field_82 == null) {
  882.          this.field_82 = this.field_14;
  883.       }
  884.  
  885.       this.field_64 = Math.abs(Integer.parseInt(this.field_82));
  886.       this.field_90 = ((Applet)this).getParameter(method_22("m\r\f\u001eZc\u001c\u001f"));
  887.       if (this.field_90 == null) {
  888.          this.field_90 = this.field_21;
  889.       }
  890.  
  891.       this.field_90 = this.field_90.toUpperCase();
  892.       this.field_92 = ((Applet)this).getParameter(method_22("m\r\f\u001e]j\t\u001f\u001f"));
  893.       if (this.field_92 == null) {
  894.          this.field_92 = this.field_22;
  895.       }
  896.  
  897.       this.field_100 = Math.abs(Integer.parseInt(this.field_92));
  898.       this.field_72 = ((Applet)this).getParameter(method_22("x\u000b\u0019\u0014Bu\u001e"));
  899.       if (this.field_72 == null) {
  900.          this.field_72 = this.field_8;
  901.       }
  902.  
  903.       this.field_5 = new Color(Integer.parseInt(this.field_72, 16));
  904.       this.field_81 = ((Applet)this).getParameter(method_22("h\t\f\u001e\\i\t\u001c\u0003"));
  905.       if (this.field_81 == null) {
  906.          this.field_81 = this.field_10;
  907.       }
  908.  
  909.       this.field_81 = this.field_81.toUpperCase();
  910.       if (this.field_81.equals(method_22("C))"))) {
  911.          this.field_29 = field_24;
  912.       } else {
  913.          this.field_29 = field_37;
  914.       }
  915.  
  916.       if (this.field_88.equals(method_22("M-,2`]"))) {
  917.          if (this.field_91.equals(method_22("R#(2tU\".:b"))) {
  918.             this.field_105 = ((Component)this).size().width + 2 * this.field_27;
  919.             this.field_52 = 2 * this.field_27;
  920.          } else {
  921.             this.field_105 = ((Component)this).size().width;
  922.             this.field_52 = 0;
  923.          }
  924.       } else {
  925.          this.field_105 = ((Component)this).size().width;
  926.          this.field_52 = 0;
  927.       }
  928.  
  929.       if (this.field_79.equals(method_22("^%):lV)>"))) {
  930.          this.field_45 = 0;
  931.       }
  932.  
  933.       this.field_103 = ((Component)this).size().height + this.field_25;
  934.       this.field_106 = 0;
  935.       this.field_108 = this.field_103 - this.field_64;
  936.       if (this.field_107 < 0) {
  937.          this.field_107 = 0;
  938.       }
  939.  
  940.       if (this.field_107 > this.field_103 - 2 * this.field_25 - this.field_45) {
  941.          this.field_107 = this.field_103 - 2 * this.field_25 - this.field_45;
  942.       }
  943.  
  944.       this.field_47 = Math.round((float)(this.field_105 / this.field_27)) + 1;
  945.  
  946.       for(int var59 = 0; var59 < this.field_47; ++var59) {
  947.          this.field_30 = this.field_30 + " ";
  948.       }
  949.  
  950.       if (this.field_88.equals(method_22("M-,2`]"))) {
  951.          if (this.field_91.equals(method_22("R#(2tU\".:b"))) {
  952.             this.field_70 = 180;
  953.             this.field_102 = this.field_25;
  954.             this.field_0 = this.field_27;
  955.          } else {
  956.             this.field_70 = this.field_105;
  957.             this.field_102 = this.field_105;
  958.             this.field_0 = (this.field_103 - this.field_25 - this.field_45) / 2 - this.field_25 / 2;
  959.          }
  960.  
  961.          if (this.field_90.equals(method_22("I;35i"))) {
  962.             int[] var66 = new int[]{this.field_70};
  963.             int var73 = this.field_0;
  964.             this.method_21(var66, this.field_102, (float)(-var73), (float)var73, this.field_100, this.field_29);
  965.             this.field_68 = this.method_11();
  966.          } else if (this.field_90.equals(method_22("I$5)z"))) {
  967.             int[] var67 = new int[]{this.field_70, this.field_70 / 2, this.field_70 / 3};
  968.             int var74 = this.field_0;
  969.             this.method_21(var67, this.field_102, (float)(-var74), (float)var74, this.field_100, this.field_29);
  970.             this.field_68 = this.method_11();
  971.          } else if (this.field_90.equals(method_22("V#4<"))) {
  972.             int[] var68 = new int[]{2 * this.field_70, this.field_70};
  973.             int var75 = this.field_0;
  974.             this.method_21(var68, this.field_102, (float)(-var75), (float)var75, this.field_100, this.field_29);
  975.             this.field_68 = this.method_11();
  976.          } else if (this.field_90.equals(method_22("Y ;(}S/"))) {
  977.             int[] var69 = new int[]{this.field_70 / 2};
  978.             int var76 = this.field_0;
  979.             this.method_21(var69, this.field_102, (float)(-var76), (float)var76, this.field_100, this.field_29);
  980.             this.field_68 = this.method_11();
  981.          } else if (this.field_90.equals(method_22("I!54zR"))) {
  982.             int[] var70 = new int[]{4 * this.field_70, this.field_70 / 2};
  983.             int var77 = this.field_0;
  984.             this.method_21(var70, this.field_102, (float)(-var77), (float)var77, this.field_100, this.field_29);
  985.             this.field_68 = this.method_11();
  986.          } else {
  987.             int[] var71 = new int[]{2 * this.field_70, this.field_70 / 4};
  988.             int var78 = this.field_0;
  989.             this.method_21(var71, this.field_102, (float)(-var78), (float)var78, this.field_100, this.field_29);
  990.             this.field_68 = this.method_11();
  991.          }
  992.       }
  993.  
  994.       this.field_50 = ((Component)this).createImage(this.field_105, this.field_103);
  995.       this.field_49 = this.field_50.getGraphics();
  996.       MediaTracker var72 = new MediaTracker(this);
  997.       this.field_75 = ((Applet)this).getImage(((Applet)this).getDocumentBase(), this.field_74);
  998.       var72.addImage(this.field_75, 0);
  999.  
  1000.       try {
  1001.          var72.waitForAll();
  1002.       } catch (Exception var30) {
  1003.       }
  1004.  
  1005.       var72.isErrorAny();
  1006.       if (this.field_88.equals(method_22("L)(/gY-6"))) {
  1007.          int var79 = 0;
  1008.          int var82 = 0;
  1009.          boolean var86 = true;
  1010.  
  1011.          while(var86) {
  1012.             var82 = this.field_83.indexOf(30, var79);
  1013.             var79 = var82 + 1;
  1014.             if (var82 == -1) {
  1015.                var86 = false;
  1016.             } else {
  1017.                ++this.field_46;
  1018.             }
  1019.          }
  1020.  
  1021.          this.field_97 = new Image[++this.field_46];
  1022.          var79 = 0;
  1023.          var82 = 0;
  1024.  
  1025.          for(int var87 = 0; var87 < this.field_46; ++var87) {
  1026.             var82 = this.field_83.indexOf(30, var79);
  1027.             if (var82 == -1) {
  1028.                var82 = this.field_83.length();
  1029.             }
  1030.  
  1031.             if (var79 == var82) {
  1032.                ++var79;
  1033.                this.field_97[var87] = this.method_19(this.field_73, this.field_75, this.field_27, this.field_25, this.field_110, " ", this.field_5);
  1034.             } else {
  1035.                this.field_97[var87] = this.method_19(this.field_73, this.field_75, this.field_27, this.field_25, this.field_110, this.field_83.substring(var79, var82), this.field_5);
  1036.                var79 = var82 + 1;
  1037.             }
  1038.          }
  1039.       } else {
  1040.          this.method_18(this.field_73, this.field_75, this.field_27, this.field_25, this.field_110, this.field_30 + this.field_83 + this.field_30, this.field_5);
  1041.          this.field_4 = this.method_4();
  1042.          this.field_80 = this.method_10();
  1043.       }
  1044.  
  1045.       if (!this.field_62) {
  1046.          Label var81 = new Label(method_22("\\\u0000\u0015\u0001As\b\t[Oj\u001c\u0016\u001eZ:\u000e\u0003[h{\u000e\u0013\u0014\u000eY\u0005\u000f\u0018MsLKB\u0017-CCC\u0000"));
  1047.          this.field_104 = new Lware(((Applet)this).getAppletContext(), var81);
  1048.          this.field_104.setTitle(method_22("\\\u0000\u0015\u0001As\b\t[oj\u001c\u0016\u001eZ:\u000e\u0003[h{\u000e\u0013\u0014\u000eY\u0005\u000f\u0018Ms"));
  1049.          this.field_104.hide();
  1050.       }
  1051.  
  1052.    }
  1053.  
  1054.    public final boolean mouseDown(Event var1, int var2, int var3) {
  1055.       if (!this.field_62) {
  1056.          this.field_104.show();
  1057.          this.field_104.toFront();
  1058.          this.field_104.requestFocus();
  1059.       } else if (this.field_38 != null) {
  1060.          if (this.field_48) {
  1061.             ((Applet)this).getAppletContext().showDocument(this.field_38, ((Applet)this).getParameter(method_22("h\t\u001d\u001d\\{\u0001\u001f\u0015Ow\t")));
  1062.          } else {
  1063.             ((Applet)this).getAppletContext().showDocument(this.field_38);
  1064.          }
  1065.       }
  1066.  
  1067.       return true;
  1068.    }
  1069.  
  1070.    public final boolean mouseEnter(Event var1, int var2, int var3) {
  1071.       ((Applet)this).showStatus(this.field_63);
  1072.       return true;
  1073.    }
  1074.  
  1075.    public final boolean mouseExit(Event var1, int var2, int var3) {
  1076.       ((Applet)this).showStatus("");
  1077.       return true;
  1078.    }
  1079.  
  1080.    public void paint(Graphics var1) {
  1081.       var1.drawImage(this.field_50, 0, 0, this);
  1082.    }
  1083.  
  1084.    // $FF: renamed from: k () void
  1085.    public synchronized void method_14() {
  1086.       if (this.field_2) {
  1087.          this.notifyAll();
  1088.  
  1089.          while(!this.field_51) {
  1090.             Thread.yield();
  1091.  
  1092.             try {
  1093.                Thread.sleep(8L);
  1094.             } catch (InterruptedException var1) {
  1095.             }
  1096.          }
  1097.  
  1098.          this.field_51 = false;
  1099.       }
  1100.  
  1101.       this.field_49.drawImage(this.field_53, this.field_54, this.field_55, this);
  1102.    }
  1103.  
  1104.    // $FF: renamed from: l () void
  1105.    public void method_15() {
  1106.       if (this.field_7 < this.field_56 - this.field_98) {
  1107.          this.field_7 += this.field_98;
  1108.       } else {
  1109.          this.field_7 = 0;
  1110.       }
  1111.    }
  1112.  
  1113.    public void run() {
  1114.       this.field_94.setPriority(this.field_59);
  1115.       ((Applet)this).showStatus("");
  1116.       System.gc();
  1117.       this.field_23 = System.currentTimeMillis();
  1118.       Graphics var1 = ((Component)this).getGraphics();
  1119.       if (this.field_53 != null && !this.field_2) {
  1120.          this.field_2 = this.method_1();
  1121.       }
  1122.  
  1123.       if (this.field_38 != null) {
  1124.          this.field_1.setCursor(12);
  1125.       } else {
  1126.          this.field_1.setCursor(0);
  1127.       }
  1128.  
  1129.       while(this.field_94 != null) {
  1130.          this.method_17();
  1131.          if (++this.field_6 == this.field_41) {
  1132.             System.gc();
  1133.             this.field_6 = 0;
  1134.          }
  1135.  
  1136.          if (this.field_53 != null) {
  1137.             this.method_14();
  1138.          }
  1139.  
  1140.          var1.drawImage(this.field_50, 0, 0, this);
  1141.          this.method_20();
  1142.       }
  1143.  
  1144.    }
  1145.  
  1146.    // $FF: renamed from: a (int, int, int, int) byte
  1147.    byte method_16(int var1, int var2, int var3, int var4) {
  1148.       int var5 = var1 - var2;
  1149.       if (var5 >= var3) {
  1150.          return (byte)var5;
  1151.       } else {
  1152.          int var6 = var3 - var5 - 1;
  1153.          return (byte)(var4 - var6);
  1154.       }
  1155.    }
  1156.  
  1157.    // $FF: renamed from: m () void
  1158.    public void method_17() {
  1159.       if (this.field_88.equals(method_22("L)(/gY-6"))) {
  1160.          this.field_49.setColor(this.field_5);
  1161.          this.field_49.fillRect(0, 0, this.field_105, this.field_103 - this.field_25);
  1162.  
  1163.          for(int var1 = 0; var1 < this.field_46 && this.field_108 + var1 * (this.field_25 + this.field_69) <= this.field_103 - this.field_25; ++var1) {
  1164.             this.field_49.drawImage(this.field_97[var1], this.field_105 / 2 - this.field_97[var1].getWidth(this) / 2, this.field_108 + var1 * (this.field_25 + this.field_69), this.field_97[var1].getWidth(this), this.field_25, this);
  1165.          }
  1166.  
  1167.          if (this.field_108 > -(this.field_46 * (this.field_25 + this.field_69))) {
  1168.             this.field_108 -= this.field_64;
  1169.          } else {
  1170.             this.field_108 = this.field_108 = this.field_103 - this.field_64;
  1171.          }
  1172.       } else if (this.field_88.equals(method_22("R#(2tU\".:b"))) {
  1173.          if (this.field_25 != this.field_103 - this.field_25) {
  1174.             this.field_49.setColor(this.field_5);
  1175.             this.field_49.fillRect(0, 0, this.field_105, this.field_103 - this.field_25);
  1176.          }
  1177.  
  1178.          this.field_49.drawImage(this.field_4, this.field_106, this.field_107, this.field_80, this.field_25, this);
  1179.       } else if (this.field_88.equals(method_22("P97+gT+"))) {
  1180.          int var4 = 0;
  1181.          this.field_49.setColor(this.field_5);
  1182.          this.field_49.fillRect(0, 0, this.field_105, this.field_103 - this.field_25);
  1183.          if (this.field_34 == 0) {
  1184.             var4 = this.field_107;
  1185.          } else {
  1186.             this.field_35 += this.field_36;
  1187.             var4 = this.field_107 - (int)Math.abs((double)this.field_34 * Math.sin((double)this.field_35 / (double)90.0F * Math.PI));
  1188.          }
  1189.  
  1190.          this.field_49.drawImage(this.field_4, this.field_106, var4, this.field_80, this.field_25, this);
  1191.       } else {
  1192.          this.field_49.drawImage(this.field_4, this.field_106, this.field_103 - this.field_25, this.field_80, this.field_25, this);
  1193.          if (this.field_91.equals(method_22("R#(2tU\".:b"))) {
  1194.             if (this.field_25 != this.field_103 - this.field_25) {
  1195.                this.field_49.setColor(this.field_5);
  1196.                this.field_49.fillRect(0, 0, this.field_105, this.field_103 - this.field_25);
  1197.             }
  1198.  
  1199.             for(int var7 = 0; var7 < this.field_25; ++var7) {
  1200.                this.field_49.copyArea(0, this.field_103 - this.field_25 + var7, this.field_105, 1, -this.field_27 + Math.round(this.field_68[var7 + this.method_7()]), -(this.field_103 - this.field_25) + this.field_107);
  1201.             }
  1202.          } else {
  1203.             this.field_49.setColor(this.field_5);
  1204.             this.field_49.fillRect(0, 0, this.field_105, this.field_103 - this.field_25);
  1205.  
  1206.             for(int var6 = 0; var6 < this.field_105; ++var6) {
  1207.                this.field_49.copyArea(var6, this.field_103 - this.field_25, 1, this.field_25, 0, -((this.field_103 - this.field_25 + this.field_45) / 2) - this.field_25 / 2 + Math.round(this.field_68[var6 + this.method_7()]));
  1208.             }
  1209.          }
  1210.  
  1211.          this.method_15();
  1212.       }
  1213.  
  1214.       if (this.field_79.equals(method_22("T#(6oV"))) {
  1215.          for(int var8 = 0; var8 <= this.field_103 - this.field_25 - this.field_45; ++var8) {
  1216.             int var3 = var8 + var8 + 1;
  1217.             if (var8 >= this.field_45 || this.field_103 - this.field_25 - this.field_45 - var8 < 0) {
  1218.                break;
  1219.             }
  1220.  
  1221.             this.field_49.copyArea(0, this.field_103 - this.field_25 - this.field_45 - var8 - 1, this.field_105 - this.field_52, 1, 0, var3);
  1222.          }
  1223.       } else {
  1224.          int var9 = 0;
  1225.          int var2 = 0;
  1226.  
  1227.          for(int var11 = 0; var11 < this.field_45 && this.field_103 - this.field_25 - this.field_45 - var9 >= 0; ++var11) {
  1228.             if (this.field_45 - 1 > 30) {
  1229.                var9 = (int)Math.round((double)(this.field_103 - this.field_25 - this.field_45 - 1) * Math.pow((double)var11, 0.65) / Math.pow((double)(this.field_45 - 1), 0.65));
  1230.             } else {
  1231.                var9 = Math.round((float)((this.field_103 - this.field_25 - this.field_45 - 1) * var11 / (this.field_45 - 1)));
  1232.             }
  1233.  
  1234.             var2 = var9 + var11 + 1;
  1235.             this.field_49.copyArea(0, this.field_103 - this.field_25 - this.field_45 - var9 - 1, this.field_105 - this.field_52, 1, 0, var2);
  1236.          }
  1237.       }
  1238.  
  1239.       if (this.field_106 > -this.field_80 + this.field_105 + this.field_64) {
  1240.          this.field_106 -= this.field_64;
  1241.       } else {
  1242.          this.field_106 = 0;
  1243.       }
  1244.    }
  1245.  
  1246.    public void start() {
  1247.       if (this.field_94 == null) {
  1248.          this.field_94 = new Thread(this);
  1249.          this.field_94.start();
  1250.       }
  1251.  
  1252.    }
  1253.  
  1254.    public void stop() {
  1255.       if (this.field_94 != null && this.field_94.isAlive()) {
  1256.          this.field_94.stop();
  1257.       }
  1258.  
  1259.       this.field_94 = null;
  1260.    }
  1261.  
  1262.    // $FF: renamed from: a (java.lang.String, java.awt.Image, int, int, int, java.lang.String, java.awt.Color) void
  1263.    public void method_18(String var1, Image var2, int var3, int var4, int var5, String var6, Color var7) {
  1264.       this.field_28 = var3;
  1265.       this.field_26 = var4;
  1266.       this.field_109 = var5;
  1267.       this.field_66 = var6;
  1268.       this.field_75 = var2;
  1269.       this.field_33 = this.field_75.getWidth(this);
  1270.       this.field_32 = this.field_75.getHeight(this);
  1271.       this.field_58 = new int[this.field_66.length() * var3 * var4];
  1272.       int var8 = 0;
  1273.  
  1274.       int var9;
  1275.       for(var9 = 0; var9 < var1.length() && var1.charAt(var9) != ' '; ++var9) {
  1276.       }
  1277.  
  1278.       if (var9 < var1.length()) {
  1279.          var8 = var9;
  1280.       }
  1281.  
  1282.       for(int var10 = 0; var10 < this.field_66.length(); ++var10) {
  1283.          int var11 = 0;
  1284.          int var12 = 0;
  1285.          int var13 = 0;
  1286.          int var14 = 0;
  1287.          int var15 = 0;
  1288.  
  1289.          int var16;
  1290.          for(var16 = (int)Math.rint((double)(this.field_33 / var3)); var15 < var1.length() && this.field_66.charAt(var10) != var1.charAt(var15); ++var15) {
  1291.          }
  1292.  
  1293.          if (var15 < var1.length()) {
  1294.             var13 = var15 % var16;
  1295.             var14 = var15 - var13;
  1296.             var11 = var13 * var3;
  1297.             var12 = var14 / var16 * var4 + var14 / var16 * this.field_109;
  1298.          } else {
  1299.             var13 = var8 % var16;
  1300.             var14 = var8 - var13;
  1301.             var11 = var13 * var3;
  1302.             var12 = var14 / var16 * var4 + var14 / var16 * this.field_109;
  1303.          }
  1304.  
  1305.          this.field_57 = new PixelGrabber(this.field_75, var11, var12, var3, var4, this.field_58, var10 * var3, this.field_66.length() * var3);
  1306.  
  1307.          try {
  1308.             this.field_57.grabPixels();
  1309.          } catch (InterruptedException var17) {
  1310.          }
  1311.       }
  1312.  
  1313.       int var19 = var7.getRed();
  1314.       int var21 = var7.getBlue();
  1315.       int var24 = var7.getGreen();
  1316.       int var27 = -16777216 | var19 << 16 | var24 << 8 | var21;
  1317.  
  1318.       for(int var28 = 0; var28 < this.field_66.length() * var3 * var4; ++var28) {
  1319.          if ((this.field_58[var28] & 16777215) == 0) {
  1320.             this.field_58[var28] = var27;
  1321.          }
  1322.       }
  1323.  
  1324.       this.field_71 = ((Component)this).createImage(new MemoryImageSource(this.field_66.length() * var3, var4, this.field_58, 0, this.field_66.length() * var3));
  1325.    }
  1326.  
  1327.    // $FF: renamed from: b (java.lang.String, java.awt.Image, int, int, int, java.lang.String, java.awt.Color) java.awt.Image
  1328.    public Image method_19(String var1, Image var2, int var3, int var4, int var5, String var6, Color var7) {
  1329.       this.field_28 = var3;
  1330.       this.field_26 = var4;
  1331.       this.field_109 = var5;
  1332.       this.field_66 = var6;
  1333.       this.field_75 = var2;
  1334.       this.field_33 = this.field_75.getWidth(this);
  1335.       this.field_32 = this.field_75.getHeight(this);
  1336.       this.field_58 = new int[this.field_66.length() * var3 * var4];
  1337.       int var8 = 0;
  1338.  
  1339.       int var9;
  1340.       for(var9 = 0; var9 < var1.length() && var1.charAt(var9) != ' '; ++var9) {
  1341.       }
  1342.  
  1343.       if (var9 < var1.length()) {
  1344.          var8 = var9;
  1345.       }
  1346.  
  1347.       for(int var10 = 0; var10 < this.field_66.length(); ++var10) {
  1348.          int var11 = 0;
  1349.          int var12 = 0;
  1350.          int var13 = 0;
  1351.          int var14 = 0;
  1352.          int var15 = 0;
  1353.  
  1354.          int var16;
  1355.          for(var16 = (int)Math.rint((double)(this.field_33 / var3)); var15 < var1.length() && this.field_66.charAt(var10) != var1.charAt(var15); ++var15) {
  1356.          }
  1357.  
  1358.          if (var15 < var1.length()) {
  1359.             var13 = var15 % var16;
  1360.             var14 = var15 - var13;
  1361.             var11 = var13 * var3;
  1362.             var12 = var14 / var16 * var4 + var14 / var16 * this.field_109;
  1363.          } else {
  1364.             var13 = var8 % var16;
  1365.             var14 = var8 - var13;
  1366.             var11 = var13 * var3;
  1367.             var12 = var14 / var16 * var4 + var14 / var16 * this.field_109;
  1368.          }
  1369.  
  1370.          this.field_57 = new PixelGrabber(this.field_75, var11, var12, var3, var4, this.field_58, var10 * var3, this.field_66.length() * var3);
  1371.  
  1372.          try {
  1373.             this.field_57.grabPixels();
  1374.          } catch (InterruptedException var17) {
  1375.          }
  1376.       }
  1377.  
  1378.       int var19 = var7.getRed();
  1379.       int var21 = var7.getBlue();
  1380.       int var24 = var7.getGreen();
  1381.       int var27 = -16777216 | var19 << 16 | var24 << 8 | var21;
  1382.  
  1383.       for(int var28 = 0; var28 < this.field_66.length() * var3 * var4; ++var28) {
  1384.          if ((this.field_58[var28] & 16777215) == 0) {
  1385.             this.field_58[var28] = var27;
  1386.          }
  1387.       }
  1388.  
  1389.       return ((Component)this).createImage(new MemoryImageSource(this.field_66.length() * var3, var4, this.field_58, 0, this.field_66.length() * var3));
  1390.    }
  1391.  
  1392.    public void update(Graphics var1) {
  1393.       this.paint(var1);
  1394.    }
  1395.  
  1396.    // $FF: renamed from: n () void
  1397.    public synchronized void method_20() {
  1398.       Thread.yield();
  1399.       this.field_93.sync();
  1400.       long var1 = 10L - (System.currentTimeMillis() - this.field_23);
  1401.       if (var1 > 0L) {
  1402.          try {
  1403.             Thread.sleep(var1);
  1404.          } catch (InterruptedException var5) {
  1405.          }
  1406.       } else {
  1407.          try {
  1408.             Thread.sleep(1L);
  1409.          } catch (InterruptedException var4) {
  1410.          }
  1411.       }
  1412.  
  1413.       this.field_23 = System.currentTimeMillis();
  1414.  
  1415.       try {
  1416.          Thread.sleep((long)this.field_44);
  1417.       } catch (InterruptedException var3) {
  1418.       }
  1419.    }
  1420.  
  1421.    // $FF: renamed from: a (int[], int, float, float, int, int) void
  1422.    public void method_21(int[] var1, int var2, float var3, float var4, int var5, int var6) {
  1423.       this.field_96 = var1[0];
  1424.       this.field_99 = var2;
  1425.       this.field_42 = var3;
  1426.       this.field_39 = var4;
  1427.       this.field_67 = new float[this.field_96 + this.field_99 - 1];
  1428.  
  1429.       for(int var8 = 0; var8 < var1.length; ++var8) {
  1430.          float var7 = ((float)Math.PI * 2F) / (float)var1[var8];
  1431.  
  1432.          for(int var9 = 0; var9 < this.field_96 + this.field_99 - 1; ++var9) {
  1433.             this.field_67[var9] += (float)Math.sin((double)(var7 * (float)var9));
  1434.          }
  1435.       }
  1436.  
  1437.       this.field_40 = this.field_67[0];
  1438.       this.field_43 = this.field_67[0];
  1439.  
  1440.       for(int var16 = 0; var16 < this.field_96 + this.field_99 - 1; ++var16) {
  1441.          if (this.field_67[var16] > this.field_40) {
  1442.             this.field_40 = this.field_67[var16];
  1443.          }
  1444.  
  1445.          if (this.field_67[var16] < this.field_43) {
  1446.             this.field_43 = this.field_67[var16];
  1447.          }
  1448.       }
  1449.  
  1450.       float var10 = (this.field_39 - this.field_42) / (this.field_40 - this.field_43);
  1451.       float var11 = this.field_42 - var10 * this.field_43;
  1452.  
  1453.       for(int var12 = 0; var12 < this.field_96 + this.field_99 - 1; ++var12) {
  1454.          this.field_67[var12] = var10 * this.field_67[var12] + var11;
  1455.       }
  1456.  
  1457.       this.field_7 = 0;
  1458.       this.field_98 = var5;
  1459.       if (var6 == field_37) {
  1460.          this.field_56 = this.field_96;
  1461.          this.field_95 = new int[this.field_96];
  1462.  
  1463.          for(int var13 = 0; var13 < this.field_96; this.field_95[var13] = var13++) {
  1464.          }
  1465.       }
  1466.  
  1467.       if (var6 == field_24) {
  1468.          this.field_56 = 360;
  1469.          this.field_95 = new int[360];
  1470.          int var17 = Math.round((float)((this.field_96 - 3) / 2));
  1471.          int var14 = 1 + var17;
  1472.  
  1473.          for(int var15 = 0; var15 < 360; ++var15) {
  1474.             this.field_95[var15] = (int)Math.round((double)var17 * Math.cos((double)((float)var15 * (float)Math.PI / 180.0F)) + (double)var14);
  1475.          }
  1476.       }
  1477.  
  1478.    }
  1479.  
  1480.    // $FF: renamed from: c (java.lang.String) java.lang.String
  1481.    private static String method_22(String var0) {
  1482.       char[] var1 = var0.toCharArray();
  1483.       int var2 = var1.length;
  1484.       int var3 = 0;
  1485.  
  1486.       label32:
  1487.       while(true) {
  1488.          int var4 = 0;
  1489.          byte var10000 = 26;
  1490.          char[] var10001 = var1;
  1491.          int var10002 = var3;
  1492.  
  1493.          label30:
  1494.          while(true) {
  1495.             var10001[var10002] ^= var10000;
  1496.  
  1497.             while(true) {
  1498.                ++var3;
  1499.                ++var4;
  1500.                if (var2 == var3) {
  1501.                   return new String(var1);
  1502.                }
  1503.  
  1504.                switch (var4) {
  1505.                   case 1:
  1506.                      var10000 = 108;
  1507.                      var10001 = var1;
  1508.                      var10002 = var3;
  1509.                      continue label30;
  1510.                   case 2:
  1511.                      var10000 = 122;
  1512.                      var10001 = var1;
  1513.                      var10002 = var3;
  1514.                      continue label30;
  1515.                   case 3:
  1516.                      var10000 = 123;
  1517.                      var10001 = var1;
  1518.                      var10002 = var3;
  1519.                      continue label30;
  1520.                   case 4:
  1521.                      var10000 = 46;
  1522.                      var10001 = var1;
  1523.                      var10002 = var3;
  1524.                      continue label30;
  1525.                   case 5:
  1526.                      continue label32;
  1527.                }
  1528.             }
  1529.          }
  1530.       }
  1531.    }
  1532. }
  1533.