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