home *** CD-ROM | disk | FTP | other *** search
/ CD Actual Thematic 7: Programming / CDAT7.iso / Share / Java / AnfyJava14 / data1.cab / Program_Files / Applet / warp / Warp.jar / Warp.class (.txt) < prev   
Encoding:
Java Class File  |  1998-11-29  |  19.1 KB  |  1,643 lines

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