katetem
import java.awt.*;
import java.awt.event.KeyEvent;
import java.awt.event.MouseEvent;
import java.awt.image.*;
import java.util.Random;
import javax.swing.JFrame;

public class A extends JFrame
{

    private static boolean a_boolean_array1d_static_fld[] = new boolean[0x10000];
    private static int a_int_static_fld;
    private static int b;
    private static int c;

    public A()
    {
    }

    public final void processEvent(AWTEvent awtevent)
    {
        switch(awtevent.getID())
        {
        case 201:
            System.exit(0);
            // fall through

        case 502:
            c = 0;
            return;

        case 501:
            c = ((MouseEvent)awtevent).getButton();
            // fall through

        case 503:
        case 506:
            a_int_static_fld = ((MouseEvent)awtevent).getX();
            b = ((MouseEvent)awtevent).getY();
            return;

        case 401:
        case 402:
            a_boolean_array1d_static_fld[((KeyEvent)awtevent).getKeyCode()] = awtevent.getID() == 401;
            // fall through

        default:
            return;
        }
    }

    public static void main(String args[])
        throws Throwable
    {
        char ac[];
        Graphics g;
        BufferedImage bufferedimage;
        int ai[];
        Image image;
        Graphics g1;
        Random random;
        int ai1[];
        String args1[];
        String args2[];
        int ai2[];
        int i;
        ac = " !!!!   !oooo  !oooo   **     **XX   o*XX   **     **     **     ooo    !     !!" +
"!!   !oooo   oooo   **XXX  *oXXX  ****  ** ** **   oooo       !!!   !oooo !!oooo" +
"   ** XX  ***oX  ** XX  ***   ***** o** ** o    oo !!!!  !!oooo  !oooo   **     " +
"**XXX  *oXXX  **    o***    o**      oo                !!!!   !oooo  !oooo   ** " +
"    **XX   o*XX  #*# #   ###                                        #   #!!!! # " +
"!oooo  #o#o#  #####                                                            #" +
"   #     #"
.toCharArray();
        A a1;
        (a1 = new A()).setSize(640, 500);
        a1.setResizable(false);
        a1.enableEvents(511L);
        a1.setVisible(true);
        g = a1.getGraphics();
        ai = ((DataBufferInt)(bufferedimage = new BufferedImage(640, 480, 1)).getRaster().getDataBuffer()).getData();
        (g1 = (image = a1.createImage(640, 480)).getGraphics()).setColor(new Color(255, 255, 255));
        random = new Random();
        ai1 = new int[0x200000];
        args1 = (new String[] {
            "Level 1: Miners4k", "Level 2: Rocks", "Level 3: Descent", "Level 4: Slime", "Level 5: Massive", "Level 6: Riiiight", "You won!"
        });
        args2 = (new String[] {
            "Bring the gold home!", "Rocks are impenetrable.", "Use arrow keys to scroll.", "Slime explodes on contact!", "Wide level!", "Timekiller!", "Bonus level!"
        });
        ai2 = (new int[] {
            0, 0, 0, 6, 10, 25, 0
        });
        i = 0;
_L60:
        int j;
        char c1;
        int k;
        int l;
        int i1;
        int j1;
        int k1;
        if(a_boolean_array1d_static_fld[27])
        {
            break MISSING_BLOCK_LABEL_4146;
        }
        j = (i / 4) * 384 + 640;
        c1 = i <= 1 ? '\u01E0' : '\u0400';
        k = ((i - 1) / 2) * 100;
        l = i * 500;
        i1 = i * i * 50;
        j1 = i * i * 50;
        if(i == 0)
        {
            k = 0;
            l = 100;
            i1 = 50;
            j1 = 10;
        }
        if(i == 1)
        {
            k = 10;
            l = 200;
            j1 = 30;
        }
        if(i == 2)
        {
            k = 50;
        }
        if(i == 6)
        {
            c1 = '\u0800';
            l = 0x1869f;
            i1 = 800;
        }
        k1 = l * 2;
        ai1[0] = 200;
        ai1[512] = 200;
        512;
_L6:
        JVM INSTR dup ;
        int l1;
        l1;
        1;
        JVM INSTR icmple 516;
           goto _L1 _L2
_L1:
        0;
_L5:
        JVM INSTR dup ;
        int i2;
        i2;
        1024;
        JVM INSTR icmpge 509;
           goto _L3 _L4
_L3:
        int j2 = ai1[i2];
        int l2 = ai1[i2 + l1 & 0x3ff];
        ai1[i2 + l1 / 2] = (j2 + l2) / 2 + (random.nextInt(l1) - l1 / 2) / 4;
        i2 + l1;
          goto _L5
_L4:
        l1 / 2;
          goto _L6
_L2:
        for(l1 = 0; l1 < 88; l1++)
        {
            ai1[l1] = ai1[88] - 2;
            ai1[j - l1 - 1] = ai1[j - 88 - 1] - 2;
        }

        l1 = 1;
_L17:
        if(l1 >= c1)
        {
            break; /* Loop/switch isn't completed */
        }
        i2 = 0;
_L15:
        if(i2 >= j) goto _L8; else goto _L7
_L7:
        int k2;
        double d;
        k2 = i2 | l1 << 10;
        d = (d = 1.2D - (random.nextDouble() - 0.5D) * random.nextDouble() * random.nextDouble() * 0.59999999999999998D) * (1.0D - (double)k2 / 6193152D);
        if(i2 >= 8 && i2 < j - 8 && l1 < c1 - 8) goto _L10; else goto _L9
_L9:
        int k3 = (int)(180D * d);
        ai1;
        k2;
        k3 << 16 | k3 << 8;
        k3;
          goto _L11
_L10:
        if(l1 >= ai1[k2 % 1024]) goto _L13; else goto _L12
_L12:
        ai1;
        k2;
        0;
          goto _L14
_L13:
        int l3;
        int i4;
        k3 = (int)(111D * d);
        l3 = (int)(92D * d);
        i4 = (int)(51D * d);
        if(l1 < ai1[i2] + 4)
        {
            k3 = (int)(44D * d);
            l3 = (int)(148D * d);
            i4 = (int)(49D * d);
            if(i2 < 88 || i2 > j - 89)
            {
                k3 = i4 = l3;
            }
        }
        ai1;
        k2;
        k3 << 16 | l3 << 8;
        i4;
_L11:
        JVM INSTR ior ;
_L14:
        JVM INSTR iastore ;
        if(l1 >= c1 - 10 && ai2[i] > 0)
        {
            ai1[k2] = 65280;
        }
        i2++;
          goto _L15
_L8:
        l1++;
        if(true) goto _L17; else goto _L16
_L16:
        l1 = 0;
_L28:
        if(l1 >= j1 + k + ai2[i]) goto _L19; else goto _L18
_L18:
        long l4;
        i2 = random.nextInt(j - 40) + 20;
        k2 = random.nextInt(c1 - 240) + 200;
        d = random.nextInt(c1 - 240) + 200;
        int i3 = random.nextInt(c1 - 240) + 200;
        k3 = d <= k2 ? k2 : ((int) (d));
        if(i3 > k3)
        {
            k3 = i3;
        }
        l3 = 0;
        i4 = random.nextInt(8) + 4;
        if(l1 >= j1)
        {
            i4 = random.nextInt(32) + 8;
            l3 = 1;
            if(l1 - j1 >= k)
            {
                l3 = 2;
                i4 = 6;
            }
        }
        l4 = i2 - i4;
_L27:
        int j4;
        if(l4 > i2 + i4)
        {
            continue; /* Loop/switch isn't completed */
        }
        j4 = k3 - i4;
_L25:
        if(j4 > k3 + i4) goto _L21; else goto _L20
_L20:
        int k4 = (l4 - i2) * (l4 - i2) + (j4 - k3) * (j4 - k3);
        if(l4 < 0 || j4 < 0 || l4 >= 1024 || j4 >= 2048 || k4 >= i4 * i4)
        {
            continue; /* Loop/switch isn't completed */
        }
        if(l3 != 1) goto _L23; else goto _L22
_L22:
        int j5;
        int i5 = (int)(((((double)(l4 - i2) + (double)i4 / 3D) * ((double)(l4 - i2) + (double)i4 / 3D)) / (double)i4 / (double)i4 + (((double)(j4 - k3) + (double)i4 / 3D) * ((double)(j4 - k3) + (double)i4 / 3D)) / (double)i4 / (double)i4) * 64D);
        j5 = 200 - i5 - random.nextInt(16);
        if(ai1[l4 | j4 << 10] == 0)
        {
            continue; /* Loop/switch isn't completed */
        }
        ai1;
        l4 | j4 << 10;
        j5 << 16 | j5 << 8 | j5;
          goto _L24
_L23:
        if(ai1[l4 | j4 << 10] == 0)
        {
            continue; /* Loop/switch isn't completed */
        }
        ai1;
        l4 | j4 << 10;
        l3 * 128 - l3 / 2 << 16 ^ 0xffff00;
_L24:
        JVM INSTR iastore ;
        j4++;
          goto _L25
_L21:
        l4++;
        if(true) goto _L27; else goto _L26
_L26:
        l1++;
          goto _L28
_L19:
        int ai3[][];
        int j3;
        boolean flag;
        boolean flag1;
        long l5;
        ai3 = new int[i1][8];
        for(i2 = 0; i2 < ai3.length; i2++)
        {
            ai3[i2][0] = random.nextInt(48) + 24;
            if(i2 < ai3.length / 2)
            {
                ai3[i2][0] = j - ai3[i2][0];
            }
            ai3[i2][1] = -random.nextInt(400);
            ai3[i2][2] = random.nextInt(2) * 2 - 1;
            ai3[i2][7] = -640;
        }

        i2 = 0;
        k2 = 0;
        c = 0;
        d = 0;
        j3 = 0;
        k3 = 0;
        flag = false;
        flag1 = false;
        l5 = l4 = System.currentTimeMillis();
_L58:
        int k5;
        int i6;
        int k6;
        if(flag || a_boolean_array1d_static_fld[27])
        {
            break; /* Loop/switch isn't completed */
        }
        j5 = a_int_static_fld + d;
        k5 = b + j3;
        if(!flag1 || c <= 0)
        {
            break MISSING_BLOCK_LABEL_1915;
        }
        i6 = (int)Math.sqrt((j5 - i2) * (j5 - i2) + (k5 - k2) * (k5 - k2)) + 1;
        k6 = 0;
_L39:
        if(k6 >= i6) goto _L30; else goto _L29
_L29:
        int i8;
        int k9;
        int l10;
        i8 = j5 + ((i2 - j5) * k6) / i6;
        k9 = k5 + ((k2 - k5) * k6) / i6;
        l10 = -3;
_L38:
        int l11;
        if(l10 > 3)
        {
            continue; /* Loop/switch isn't completed */
        }
        l11 = -3;
_L36:
        if(l11 > 3) goto _L32; else goto _L31
_L31:
        int k12;
        int k13;
        if((l10 == -3 || l10 == 3) && (l11 == -3 || l11 == 3))
        {
            continue; /* Loop/switch isn't completed */
        }
        k12 = i8 + l10;
        k13 = k9 + l11;
        if(k12 < 0 || k13 < 0 || k12 >= 1024 || k13 >= 2048)
        {
            continue; /* Loop/switch isn't completed */
        }
        if(c != 3 && !a_boolean_array1d_static_fld[17]) goto _L34; else goto _L33
_L33:
        int i14 = ai1[k12 | k13 << 10] >> 16 & 0xff;
        int k14 = ai1[k12 | k13 << 10] >> 8 & 0xff;
        int i15 = ai1[k12 | k13 << 10] >> 0 & 0xff;
        if(i14 == k14 || i14 == i15)
        {
            continue; /* Loop/switch isn't completed */
        }
        ai1;
        k12 | k13 << 10;
        0;
          goto _L35
_L34:
        int j15;
        int l15;
        int i16;
        if(ai1[k12 | k13 << 10] != 0)
        {
            continue; /* Loop/switch isn't completed */
        }
        double d1;
        d1 = (d1 = 1.6000000000000001D - (random.nextDouble() - 0.5D) * random.nextDouble() * random.nextDouble() * 0.59999999999999998D) * (1.0D - (double)(k12 | k13 << 10) / 6193152D);
        j15 = (int)(111D * d1);
        l15 = (int)(92D * d1);
        i16 = (int)(51D * d1);
        ai1;
        k12 | k13 << 10;
        j15 << 16 | l15 << 8 | i16;
_L35:
        JVM INSTR iastore ;
        l11++;
          goto _L36
_L32:
        l10++;
        if(true) goto _L38; else goto _L37
_L37:
        k6++;
          goto _L39
_L30:
        i2 = j5;
        k2 = k5;
        for(i6 = 0; i6 < 480; i6++)
        {
            System.arraycopy(ai1, d | j3 + i6 << 10, ai, i6 * 640, 640);
        }

label0:
        for(i6 = 0; i6 < ai3.length; i6++)
        {
            if(ai3[i6][6] >= 16)
            {
                continue;
            }
            int l6 = -3;
            do
            {
                if(l6 > 3)
                {
                    continue label0;
                }
                for(int j8 = -8; j8 <= 1; j8++)
                {
                    int l9 = (ai3[i6][0] - d) + l6 * ai3[i6][2];
                    int i11 = (ai3[i6][1] - j3) + j8;
                    if(l9 < 0 || i11 < 0 || l9 >= 640 || i11 >= 480)
                    {
                        continue;
                    }
                    char c2 = ac[l6 + 3 + (j8 + 8) * 7 + (ai3[i6][3] / 4) * 7 * 10];
                    if(ai3[i6][6] > 0)
                    {
                        c2 = ac[l6 + 3 + (j8 + 8) * 7 + (ai3[i6][6] / 4 + 3) * 7 * 10];
                    }
                    if(c2 == 'X' && ai3[i6][5] == 1)
                    {
                        ai[l9 + i11 * 640] = 0xffff00;
                    }
                    if(c2 == 'o')
                    {
                        ai[l9 + i11 * 640] = 0xdb8eaf;
                    }
                    if(c2 == '!')
                    {
                        ai[l9 + i11 * 640] = 65280;
                    }
                    if(c2 == '*')
                    {
                        ai[l9 + i11 * 640] = 255;
                    }
                    if(c2 == '#')
                    {
                        ai[l9 + i11 * 640] = 0xff0000;
                    }
                }

                l6++;
            } while(true);
        }

_L56:
        if(!flag1 || l5 >= System.currentTimeMillis())
        {
            break; /* Loop/switch isn't completed */
        }
        l5 += 25L;
label1:
        for(i6 = 0; i6 < 400; i6++)
        {
            int i7 = random.nextInt(1021) + 1;
            int k8 = random.nextInt(1021) + 1;
            int i10 = (i7 + random.nextInt(3)) - 1;
            int j11 = (k8 + random.nextInt(3)) - 1;
            if(ai1[i10 | j11 << 10] != 65280)
            {
                continue;
            }
            int i12 = -1;
            do
            {
                if(i12 > 1)
                {
                    continue label1;
                }
                for(int l12 = -1; l12 <= 1; l12++)
                {
                    ai1[i7 + i12 | k8 + l12 << 10] = 65280;
                }

                i12++;
            } while(true);
        }

        i6 = 0;
_L54:
        if(i6 >= ai3.length) goto _L41; else goto _L40
_L40:
        if(ai3[i6][6] != 0)
        {
            break MISSING_BLOCK_LABEL_3647;
        }
        if(ai3[i6][4] <= 1 || ai3[i6][1] <= 1) goto _L43; else goto _L42
_L42:
        if(ai1[ai3[i6][0] + ai3[i6][2] | ai3[i6][1] - ai3[i6][4] / 8 << 10] != 0) goto _L45; else goto _L44
_L44:
        ai3[i6][0] += ai3[i6][2];
        ai3[i6][1] -= ai3[i6][4] / 8;
        ai3[i6][3] = ai3[i6][3] + 1 & 0xf;
        ai3[i6];
        4;
        JVM INSTR dup2 ;
        JVM INSTR iaload ;
        1;
        JVM INSTR isub ;
          goto _L46
_L45:
        ai3[i6];
        4;
        false;
          goto _L46
_L43:
        if(ai3[i6][1] > 0 && ai1[ai3[i6][0] | ai3[i6][1] << 10] == 0xffff00)
        {
            ai3[i6][1]--;
        }
        if(ai3[i6][1] >= 4 && ai1[ai3[i6][0] | ai3[i6][1] + 1 << 10] != 0) goto _L48; else goto _L47
_L47:
        if(ai3[i6][4] != -1 || random.nextInt(3) == 0) goto _L50; else goto _L49
_L50:
        for(int j7 = 0; j7 < 2; j7++)
        {
            if(ai3[i6][1] < 4 || ai1[ai3[i6][0] | ai3[i6][1] + 1 << 10] == 0)
            {
                ai3[i6][1]++;
                ai3[i6][4] = 0;
                ai3[i6][7]++;
            }
        }

          goto _L51
_L48:
        if(ai3[i6][7] > 100)
        {
            ai3[i6][6] = 1;
            i1--;
            ai3[i6][0] -= ai3[i6][2];
        }
        ai3[i6][7] = 0;
        ai3[i6][4] = -1;
        if(random.nextInt(20) == 0) goto _L51; else goto _L52
_L52:
        boolean flag2;
        flag2 = true;
        int l8 = 2;
        do
        {
            if(l8 < -4)
            {
                break;
            }
            if(ai1[ai3[i6][0] + ai3[i6][2] | ai3[i6][1] + l8 << 10] == 0)
            {
                ai3[i6][0] += ai3[i6][2];
                ai3[i6][1] += l8;
                ai3[i6][3] = ai3[i6][3] + 1 & 0xf;
                flag2 = false;
                break;
            }
            l8--;
        } while(true);
        if(random.nextInt(flag2 ? 10 : 4000) != 0) goto _L51; else goto _L53
_L53:
        ai3[i6][2] *= -1;
        if(!flag2 || random.nextInt(3) == 0) goto _L51; else goto _L49
_L49:
        ai3[i6];
        4;
        16;
_L46:
        JVM INSTR iastore ;
_L51:
        if(ai3[i6][5] == 1 && ai3[i6][1] <= ai1[ai3[i6][0]] && (ai3[i6][0] == 40 || ai3[i6][0] == j - 8 - 32))
        {
            k3++;
            for(int k7 = 0; k7 < 4; k7++)
            {
                int i9 = ai3[i6][0];
                int j10 = ai3[i6][1] - 5;
                boolean flag3 = false;
                while(!flag3)
                {
                    if(ai1[i9 + 0 | j10 + 1 << 10] == 0)
                    {
                        j10++;
                    } else
                    if(ai1[i9 - 1 | j10 + 1 << 10] == 0)
                    {
                        i9--;
                        j10++;
                    } else
                    if(ai1[i9 + 1 | j10 + 1 << 10] == 0)
                    {
                        i9++;
                        j10++;
                    } else
                    {
                        flag3 = true;
                    }
                }
                if(j10 < ai1[i9])
                {
                    ai1[i9 | j10 << 10] = 0xfefe00;
                }
            }

            ai3[i6][5] = 0;
        }
        int l7 = -3;
        do
        {
            if(l7 > 3)
            {
                continue; /* Loop/switch isn't completed */
            }
            for(int j9 = -8; j9 <= 1; j9++)
            {
                int k10 = ai3[i6][0] + l7 * ai3[i6][2];
                int k11 = ai3[i6][1] + j9;
                if(k10 < 0 || k11 < 0 || k10 >= j || k11 >= c1 || ac[l7 + 3 + (j9 + 8) * 7 + (ai3[i6][3] / 4) * 7 * 10] == ' ')
                {
                    continue;
                }
                if(ai1[k10 | k11 << 10] == 65280)
                {
                    ai3[i6][6] = 1;
                    i1--;
                    for(int i13 = -16; i13 <= 16; i13++)
                    {
                        for(int l13 = -16; l13 <= 16; l13++)
                        {
                            int j14 = i13 * i13 + l13 * l13;
                            int l14 = i13 + ai3[i6][0];
                            int k15 = (l13 + ai3[i6][1]) - 4;
                            if(l14 >= 4 && k15 >= 4 && l14 < j - 4 && k15 < c1 - 4 && j14 < 256)
                            {
                                ai1[l14 | k15 << 10] = 0;
                            }
                        }

                    }

                }
                if(ai3[i6][5] != 0 || ai1[k10 | k11 << 10] != 0xffff00)
                {
                    continue;
                }
                for(int j12 = -1; j12 <= 1; j12++)
                {
                    for(int j13 = -1; j13 <= 1; j13++)
                    {
                        if(ai1[k10 + j12 & 0x3ff | (k11 + j13 & 0x3ff) << 10] == 0xffff00)
                        {
                            ai1[k10 + j12 & 0x3ff | (k11 + j13 & 0x3ff) << 10] = 0;
                        }
                    }

                }

                ai3[i6][5] = 1;
            }

            l7++;
        } while(true);
        if(ai3[i6][6] < 16)
        {
            ai3[i6][6]++;
        }
        i6++;
          goto _L54
_L41:
        if(a_boolean_array1d_static_fld[37] && d > 8)
        {
            d -= 8;
        }
        if(a_boolean_array1d_static_fld[39] && d < j - 640)
        {
            d += 8;
        }
        if(a_boolean_array1d_static_fld[38] && j3 > 8)
        {
            j3 -= 8;
        }
        if(a_boolean_array1d_static_fld[40] && j3 < c1 - 480)
        {
            j3 += 8;
        }
        if(true) goto _L56; else goto _L55
_L55:
        g1.drawImage(bufferedimage, 0, 0, null);
        if(!flag1)
        {
            g1.setFont(new Font("Sans-Serif", 1, 30));
            g1.drawString(args1[i], 200, 100);
            g1.setFont(new Font("Sans-Serif", 0, 12));
            g1.drawString(args2[i], 200, 116);
            g1.drawString("(click to start)", 200, 132);
            if(c > 0)
            {
                flag1 = true;
                c = 0;
            }
            l5 = l4 = System.currentTimeMillis();
        }
        int j6 = (int)((System.currentTimeMillis() - l4) / 1000L);
        g1.drawString("Miners: " + i1, 10, 36);
        g1.drawString("Gold: " + k3 + " / " + l, 10, 48);
        g1.drawString("Time left: " + (k1 - j6), 10, 60);
        g.drawImage(image, 0, 0, null);
        if(k3 >= l)
        {
            if(i < 6)
            {
                i++;
            }
            g1.setFont(new Font("Sans-Serif", 1, 30));
            g1.drawString("LEVEL PASSED!", 200, 100);
            g.drawImage(image, 0, 0, null);
            Thread.sleep(2000L);
            flag = true;
        }
        if(i1 <= 0 || k1 - j6 <= 0 || a_boolean_array1d_static_fld[75])
        {
            g1.setFont(new Font("Sans-Serif", 1, 30));
            g1.drawString("LEVEL FAILED!", 200, 100);
            g.drawImage(image, 0, 0, null);
            Thread.sleep(2000L);
            flag = true;
        }
        Thread.sleep(10L);
        if(true) goto _L58; else goto _L57
_L57:
        if(true) goto _L60; else goto _L59
_L59:
        System.exit(0);
        return;
    }

}



2021.12 数据,可能有更多内容import java.awt.*;
import java.awt.event.KeyEvent;
import java.awt.event.MouseEvent;
import java.awt.image.*;
import java.util.Random;
import javax.swing.JFrame;


public class A extends JFrame
{


    private static boolean a_boolean_array1d_static_fld[] = new boolean[0x10000];
    private static int a_int_static_fld;
    private static int b;
    private static int c;


    public A()
    {
    }


    public final void processEvent(AWTEvent awtevent)
    {
  switch(awtevent.getID())
  {
  case 201:
   System.exit(0);
   // fall through


  case 502:
   c = 0;
   return;


  case 501:
   c = ((MouseEvent)awtevent).getButton();
   // fall through


  case 503:
  case 506:
   a_int_static_fld = ((MouseEvent)awtevent).getX();
   b = ((MouseEvent)awtevent).getY();
   return;


  case 401:
  case 402:
   a_boolean_array1d_static_fld[((KeyEvent)awtevent).getKeyCode()] = awtevent.getID() == 401;
   // fall through


  default:
   return;
  }
    }


    public static void main(String args[])
  throws Throwable
    {
  char ac[];
  Graphics g;
  BufferedImage bufferedimage;
  int ai[];
  Image image;
  Graphics g1;
  Random random;
  int ai1[];
  String args1[];
  String args2[];
  int ai2[];
  int i;
  ac = &quot; !!!!   !oooo!oooo   **  **XX   o*XX   **  **  **  ooo    !  !!&quot; +
&quot;!!   !oooo   oooo   **XXX*oXXX****** ** **   oooo    !!!   !oooo !!oooo&quot; +
&quot;   ** XX***oX** XX***   ***** o** ** o    oo !!!!!!oooo!oooo   **  &quot; +
&quot;**XXX*oXXX**    o***    o**   oo    !!!!   !oooo!oooo   ** &quot; +
&quot;    **XX   o*XX#*# #   ###    #   #!!!! # &quot; +
&quot;!oooo#o#o######   #&quot; +
&quot;   #  #&quot;
.toCharArray();
  A a1;
  (a1 = new A()).setSize(640, 500);
  a1.setResizable(false);
  a1.enableEvents(511L);
  a1.setVisible(true);
  g = a1.getGraphics();
  ai = ((DataBufferInt)(bufferedimage = new BufferedImage(640, 480, 1)).getRaster().getDataBuffer()).getData();
  (g1 = (image = a1.createImage(640, 480)).getGraphics()).setColor(new Color(255, 255, 255));
  random = new Random();
  ai1 = new int[0x200000];
  args1 = (new String[] {
   &quot;Level 1: Miners4k&quot;, &quot;Level 2: Rocks&quot;, &quot;Level 3: Descent&quot;, &quot;Level 4: Slime&quot;, &quot;Level 5: Massive&quot;, &quot;Level 6: Riiiight&quot;, &quot;You won!&quot;
  });
  args2 = (new String[] {
   &quot;Bring the gold home!&quot;, &quot;Rocks are impenetrable.&quot;, &quot;Use arrow keys to scroll.&quot;, &quot;Slime explodes on contact!&quot;, &quot;Wide level!&quot;, &quot;Timekiller!&quot;, &quot;Bonus level!&quot;
  });
  ai2 = (new int[] {
   0, 0, 0, 6, 10, 25, 0
  });
  i = 0;
_L60:
  int j;
  char c1;
  int k;
  int l;
  int i1;
  int j1;
  int k1;
  if(a_boolean_array1d_static_fld[27])
  {
   break MISSING_BLOCK_LABEL_4146;
  }
  j = (i / 4) * 384 + 640;
  c1 = i &lt;= 1 ? '\u01E0' : '\u0400';
  k = ((i - 1) / 2) * 100;
  l = i * 500;
  i1 = i * i * 50;
  j1 = i * i * 50;
  if(i == 0)
  {
   k = 0;
   l = 100;
   i1 = 50;
   j1 = 10;
  }
  if(i == 1)
  {
   k = 10;
   l = 200;
   j1 = 30;
  }
  if(i == 2)
  {
   k = 50;
  }
  if(i == 6)
  {
   c1 = '\u0800';
   l = 0x1869f;
   i1 = 800;
  }
  k1 = l * 2;
  ai1[0] = 200;
  ai1[512] = 200;
  512;
_L6:
  JVM INSTR dup ;
  int l1;
  l1;
  1;
  JVM INSTR icmple 516;
  goto _L1 _L2
_L1:
  0;
_L5:
  JVM INSTR dup ;
  int i2;
  i2;
  1024;
  JVM INSTR icmpge 509;
  goto _L3 _L4
_L3:
  int j2 = ai1[i2];
  int l2 = ai1[i2 + l1 &amp; 0x3ff];
  ai1[i2 + l1 / 2] = (j2 + l2) / 2 + (random.nextInt(l1) - l1 / 2) / 4;
  i2 + l1;
    goto _L5
_L4:
  l1 / 2;
    goto _L6
_L2:
  for(l1 = 0; l1 &lt; 88; l1++)
  {
   ai1[l1] = ai1[88] - 2;
   ai1[j - l1 - 1] = ai1[j - 88 - 1] - 2;
  }


  l1 = 1;
_L17:
  if(l1 &gt;= c1)
  {
   break; /* Loop/switch isn't completed */
  }
  i2 = 0;
_L15:
  if(i2 &gt;= j) goto _L8; else goto _L7
_L7:
  int k2;
  double d;
  k2 = i2 | l1 &lt;&lt; 10;
  d = (d = 1.2D - (random.nextDouble() - 0.5D) * random.nextDouble() * random.nextDouble() * 0.59999999999999998D) * (1.0D - (double)k2 / 6193152D);
  if(i2 &gt;= 8 &amp;&amp; i2 &lt; j - 8 &amp;&amp; l1 &lt; c1 - 8) goto _L10; else goto _L9
_L9:
  int k3 = (int)(180D * d);
  ai1;
  k2;
  k3 &lt;&lt; 16 | k3 &lt;&lt; 8;
  k3;
    goto _L11
_L10:
  if(l1 &gt;= ai1[k2 % 1024]) goto _L13; else goto _L12
_L12:
  ai1;
  k2;
  0;
    goto _L14
_L13:
  int l3;
  int i4;
  k3 = (int)(111D * d);
  l3 = (int)(92D * d);
  i4 = (int)(51D * d);
  if(l1 &lt; ai1[i2] + 4)
  {
   k3 = (int)(44D * d);
   l3 = (int)(148D * d);
   i4 = (int)(49D * d);
   if(i2 &lt; 88 || i2 &gt; j - 89)
   {
    k3 = i4 = l3;
   }
  }
  ai1;
  k2;
  k3 &lt;&lt; 16 | l3 &lt;&lt; 8;
  i4;
_L11:
  JVM INSTR ior ;
_L14:
  JVM INSTR iastore ;
  if(l1 &gt;= c1 - 10 &amp;&amp; ai2[i] &gt; 0)
  {
   ai1[k2] = 65280;
  }
  i2++;
    goto _L15
_L8:
  l1++;
  if(true) goto _L17; else goto _L16
_L16:
  l1 = 0;
_L28:
  if(l1 &gt;= j1 + k + ai2[i]) goto _L19; else goto _L18
_L18:
  long l4;
  i2 = random.nextInt(j - 40) + 20;
  k2 = random.nextInt(c1 - 240) + 200;
  d = random.nextInt(c1 - 240) + 200;
  int i3 = random.nextInt(c1 - 240) + 200;
  k3 = d &lt;= k2 ? k2 : ((int) (d));
  if(i3 &gt; k3)
  {
   k3 = i3;
  }
  l3 = 0;
  i4 = random.nextInt(8) + 4;
  if(l1 &gt;= j1)
  {
   i4 = random.nextInt(32) + 8;
   l3 = 1;
   if(l1 - j1 &gt;= k)
   {
    l3 = 2;
    i4 = 6;
   }
  }
  l4 = i2 - i4;
_L27:
  int j4;
  if(l4 &gt; i2 + i4)
  {
   continue; /* Loop/switch isn't completed */
  }
  j4 = k3 - i4;
_L25:
  if(j4 &gt; k3 + i4) goto _L21; else goto _L20
_L20:
  int k4 = (l4 - i2) * (l4 - i2) + (j4 - k3) * (j4 - k3);
  if(l4 &lt; 0 || j4 &lt; 0 || l4 &gt;= 1024 || j4 &gt;= 2048 || k4 &gt;= i4 * i4)
  {
   continue; /* Loop/switch isn't completed */
  }
  if(l3 != 1) goto _L23; else goto _L22
_L22:
  int j5;
  int i5 = (int)(((((double)(l4 - i2) + (double)i4 / 3D) * ((double)(l4 - i2) + (double)i4 / 3D)) / (double)i4 / (double)i4 + (((double)(j4 - k3) + (double)i4 / 3D) * ((double)(j4 - k3) + (double)i4 / 3D)) / (double)i4 / (double)i4) * 64D);
  j5 = 200 - i5 - random.nextInt(16);
  if(ai1[l4 | j4 &lt;&lt; 10] == 0)
  {
   continue; /* Loop/switch isn't completed */
  }
  ai1;
  l4 | j4 &lt;&lt; 10;
  j5 &lt;&lt; 16 | j5 &lt;&lt; 8 | j5;
    goto _L24
_L23:
  if(ai1[l4 | j4 &lt;&lt; 10] == 0)
  {
   continue; /* Loop/switch isn't completed */
  }
  ai1;
  l4 | j4 &lt;&lt; 10;
  l3 * 128 - l3 / 2 &lt;&lt; 16 ^ 0xffff00;
_L24:
  JVM INSTR iastore ;
  j4++;
    goto _L25
_L21:
  l4++;
  if(true) goto _L27; else goto _L26
_L26:
  l1++;
    goto _L28
_L19:
  int ai3[][];
  int j3;
  boolean flag;
  boolean flag1;
  long l5;
  ai3 = new int[i1][8];
  for(i2 = 0; i2 &lt; ai3.length; i2++)
  {
   ai3[i2][0] = random.nextInt(48) + 24;
   if(i2 &lt; ai3.length / 2)
   {
    ai3[i2][0] = j - ai3[i2][0];
   }
   ai3[i2][1] = -random.nextInt(400);
   ai3[i2][2] = random.nextInt(2) * 2 - 1;
   ai3[i2][7] = -640;
  }


  i2 = 0;
  k2 = 0;
  c = 0;
  d = 0;
  j3 = 0;
  k3 = 0;
  flag = false;
  flag1 = false;
  l5 = l4 = System.currentTimeMillis();
_L58:
  int k5;
  int i6;
  int k6;
  if(flag || a_boolean_array1d_static_fld[27])
  {
   break; /* Loop/switch isn't completed */
  }
  j5 = a_int_static_fld + d;
  k5 = b + j3;
  if(!flag1 || c &lt;= 0)
  {
   break MISSING_BLOCK_LABEL_1915;
  }
  i6 = (int)Math.sqrt((j5 - i2) * (j5 - i2) + (k5 - k2) * (k5 - k2)) + 1;
  k6 = 0;
_L39:
  if(k6 &gt;= i6) goto _L30; else goto _L29
_L29:
  int i8;
  int k9;
  int l10;
  i8 = j5 + ((i2 - j5) * k6) / i6;
  k9 = k5 + ((k2 - k5) * k6) / i6;
  l10 = -3;
_L38:
  int l11;
  if(l10 &gt; 3)
  {
   continue; /* Loop/switch isn't completed */
  }
  l11 = -3;
_L36:
  if(l11 &gt; 3) goto _L32; else goto _L31
_L31:
  int k12;
  int k13;
  if((l10 == -3 || l10 == 3) &amp;&amp; (l11 == -3 || l11 == 3))
  {
   continue; /* Loop/switch isn't completed */
  }
  k12 = i8 + l10;
  k13 = k9 + l11;
  if(k12 &lt; 0 || k13 &lt; 0 || k12 &gt;= 1024 || k13 &gt;= 2048)
  {
   continue; /* Loop/switch isn't completed */
  }
  if(c != 3 &amp;&amp; !a_boolean_array1d_static_fld[17]) goto _L34; else goto _L33
_L33:
  int i14 = ai1[k12 | k13 &lt;&lt; 10] &gt;&gt; 16 &amp; 0xff;
  int k14 = ai1[k12 | k13 &lt;&lt; 10] &gt;&gt; 8 &amp; 0xff;
  int i15 = ai1[k12 | k13 &lt;&lt; 10] &gt;&gt; 0 &amp; 0xff;
  if(i14 == k14 || i14 == i15)
  {
   continue; /* Loop/switch isn't completed */
  }
  ai1;
  k12 | k13 &lt;&lt; 10;
  0;
    goto _L35
_L34:
  int j15;
  int l15;
  int i16;
  if(ai1[k12 | k13 &lt;&lt; 10] != 0)
  {
   continue; /* Loop/switch isn't completed */
  }
  double d1;
  d1 = (d1 = 1.6000000000000001D - (random.nextDouble() - 0.5D) * random.nextDouble() * random.nextDouble() * 0.59999999999999998D) * (1.0D - (double)(k12 | k13 &lt;&lt; 10) / 6193152D);
  j15 = (int)(111D * d1);
  l15 = (int)(92D * d1);
  i16 = (int)(51D * d1);
  ai1;
  k12 | k13 &lt;&lt; 10;
  j15 &lt;&lt; 16 | l15 &lt;&lt; 8 | i16;
_L35:
  JVM INSTR iastore ;
  l11++;
    goto _L36
_L32:
  l10++;
  if(true) goto _L38; else goto _L37
_L37:
  k6++;
    goto _L39
_L30:
  i2 = j5;
  k2 = k5;
  for(i6 = 0; i6 &lt; 480; i6++)
  {
   System.arraycopy(ai1, d | j3 + i6 &lt;&lt; 10, ai, i6 * 640, 640);
  }


label0:
  for(i6 = 0; i6 &lt; ai3.length; i6++)
  {
   if(ai3[i6][6] &gt;= 16)
   {
    continue;
   }
   int l6 = -3;
   do
   {
    if(l6 &gt; 3)
    {
  continue label0;
    }
    for(int j8 = -8; j8 &lt;= 1; j8++)
    {
  int l9 = (ai3[i6][0] - d) + l6 * ai3[i6][2];
  int i11 = (ai3[i6][1] - j3) + j8;
  if(l9 &lt; 0 || i11 &lt; 0 || l9 &gt;= 640 || i11 &gt;= 480)
  {
   continue;
  }
  char c2 = ac[l6 + 3 + (j8 + 8) * 7 + (ai3[i6][3] / 4) * 7 * 10];
  if(ai3[i6][6] &gt; 0)
  {
   c2 = ac[l6 + 3 + (j8 + 8) * 7 + (ai3[i6][6] / 4 + 3) * 7 * 10];
  }
  if(c2 == 'X' &amp;&amp; ai3[i6][5] == 1)
  {
   ai[l9 + i11 * 640] = 0xffff00;
  }
  if(c2 == 'o')
  {
   ai[l9 + i11 * 640] = 0xdb8eaf;
  }
  if(c2 == '!')
  {
   ai[l9 + i11 * 640] = 65280;
  }
  if(c2 == '*')
  {
   ai[l9 + i11 * 640] = 255;
  }
  if(c2 == '#')
  {
   ai[l9 + i11 * 640] = 0xff0000;
  }
    }


    l6++;
   } while(true);
  }


_L56:
  if(!flag1 || l5 &gt;= System.currentTimeMillis())
  {
   break; /* Loop/switch isn't completed */
  }
  l5 += 25L;
label1:
  for(i6 = 0; i6 &lt; 400; i6++)
  {
   int i7 = random.nextInt(1021) + 1;
   int k8 = random.nextInt(1021) + 1;
   int i10 = (i7 + random.nextInt(3)) - 1;
   int j11 = (k8 + random.nextInt(3)) - 1;
   if(ai1[i10 | j11 &lt;&lt; 10] != 65280)
   {
    continue;
   }
   int i12 = -1;
   do
   {
    if(i12 &gt; 1)
    {
  continue label1;
    }
    for(int l12 = -1; l12 &lt;= 1; l12++)
    {
  ai1[i7 + i12 | k8 + l12 &lt;&lt; 10] = 65280;
    }


    i12++;
   } while(true);
  }


  i6 = 0;
_L54:
  if(i6 &gt;= ai3.length) goto _L41; else goto _L40
_L40:
  if(ai3[i6][6] != 0)
  {
   break MISSING_BLOCK_LABEL_3647;
  }
  if(ai3[i6][4] &lt;= 1 || ai3[i6][1] &lt;= 1) goto _L43; else goto _L42
_L42:
  if(ai1[ai3[i6][0] + ai3[i6][2] | ai3[i6][1] - ai3[i6][4] / 8 &lt;&lt; 10] != 0) goto _L45; else goto _L44
_L44:
  ai3[i6][0] += ai3[i6][2];
  ai3[i6][1] -= ai3[i6][4] / 8;
  ai3[i6][3] = ai3[i6][3] + 1 &amp; 0xf;
  ai3[i6];
  4;
  JVM INSTR dup2 ;
  JVM INSTR iaload ;
  1;
  JVM INSTR isub ;
    goto _L46
_L45:
  ai3[i6];
  4;
  false;
    goto _L46
_L43:
  if(ai3[i6][1] &gt; 0 &amp;&amp; ai1[ai3[i6][0] | ai3[i6][1] &lt;&lt; 10] == 0xffff00)
  {
   ai3[i6][1]--;
  }
  if(ai3[i6][1] &gt;= 4 &amp;&amp; ai1[ai3[i6][0] | ai3[i6][1] + 1 &lt;&lt; 10] != 0) goto _L48; else goto _L47
_L47:
  if(ai3[i6][4] != -1 || random.nextInt(3) == 0) goto _L50; else goto _L49
_L50:
  for(int j7 = 0; j7 &lt; 2; j7++)
  {
   if(ai3[i6][1] &lt; 4 || ai1[ai3[i6][0] | ai3[i6][1] + 1 &lt;&lt; 10] == 0)
   {
    ai3[i6][1]++;
    ai3[i6][4] = 0;
    ai3[i6][7]++;
   }
  }


    goto _L51
_L48:
  if(ai3[i6][7] &gt; 100)
  {
   ai3[i6][6] = 1;
   i1--;
   ai3[i6][0] -= ai3[i6][2];
  }
  ai3[i6][7] = 0;
  ai3[i6][4] = -1;
  if(random.nextInt(20) == 0) goto _L51; else goto _L52
_L52:
  boolean flag2;
  flag2 = true;
  int l8 = 2;
  do
  {
   if(l8 &lt; -4)
   {
    break;
   }
   if(ai1[ai3[i6][0] + ai3[i6][2] | ai3[i6][1] + l8 &lt;&lt; 10] == 0)
   {
    ai3[i6][0] += ai3[i6][2];
    ai3[i6][1] += l8;
    ai3[i6][3] = ai3[i6][3] + 1 &amp; 0xf;
    flag2 = false;
    break;
   }
   l8--;
  } while(true);
  if(random.nextInt(flag2 ? 10 : 4000) != 0) goto _L51; else goto _L53
_L53:
  ai3[i6][2] *= -1;
  if(!flag2 || random.nextInt(3) == 0) goto _L51; else goto _L49
_L49:
  ai3[i6];
  4;
  16;
_L46:
  JVM INSTR iastore ;
_L51:
  if(ai3[i6][5] == 1 &amp;&amp; ai3[i6][1] &lt;= ai1[ai3[i6][0]] &amp;&amp; (ai3[i6][0] == 40 || ai3[i6][0] == j - 8 - 32))
  {
   k3++;
   for(int k7 = 0; k7 &lt; 4; k7++)
   {
    int i9 = ai3[i6][0];
    int j10 = ai3[i6][1] - 5;
    boolean flag3 = false;
    while(!flag3)
    {
  if(ai1[i9 + 0 | j10 + 1 &lt;&lt; 10] == 0)
  {
   j10++;
  } else
  if(ai1[i9 - 1 | j10 + 1 &lt;&lt; 10] == 0)
  {
   i9--;
   j10++;
  } else
  if(ai1[i9 + 1 | j10 + 1 &lt;&lt; 10] == 0)
  {
   i9++;
   j10++;
  } else
  {
   flag3 = true;
  }
    }
    if(j10 &lt; ai1[i9])
    {
  ai1[i9 | j10 &lt;&lt; 10] = 0xfefe00;
    }
   }


   ai3[i6][5] = 0;
  }
  int l7 = -3;
  do
  {
   if(l7 &gt; 3)
   {
    continue; /* Loop/switch isn't completed */
   }
   for(int j9 = -8; j9 &lt;= 1; j9++)
   {
    int k10 = ai3[i6][0] + l7 * ai3[i6][2];
    int k11 = ai3[i6][1] + j9;
    if(k10 &lt; 0 || k11 &lt; 0 || k10 &gt;= j || k11 &gt;= c1 || ac[l7 + 3 + (j9 + 8) * 7 + (ai3[i6][3] / 4) * 7 * 10] == ' ')
    {
  continue;
    }
    if(ai1[k10 | k11 &lt;&lt; 10] == 65280)
    {
  ai3[i6][6] = 1;
  i1--;
  for(int i13 = -16; i13 &lt;= 16; i13++)
  {
   for(int l13 = -16; l13 &lt;= 16; l13++)
   {
    int j14 = i13 * i13 + l13 * l13;
    int l14 = i13 + ai3[i6][0];
    int k15 = (l13 + ai3[i6][1]) - 4;
    if(l14 &gt;= 4 &amp;&amp; k15 &gt;= 4 &amp;&amp; l14 &lt; j - 4 &amp;&amp; k15 &lt; c1 - 4 &amp;&amp; j14 &lt; 256)
    {
  ai1[l14 | k15 &lt;&lt; 10] = 0;
    }
   }


  }


    }
    if(ai3[i6][5] != 0 || ai1[k10 | k11 &lt;&lt; 10] != 0xffff00)
    {
  continue;
    }
    for(int j12 = -1; j12 &lt;= 1; j12++)
    {
  for(int j13 = -1; j13 &lt;= 1; j13++)
  {
   if(ai1[k10 + j12 &amp; 0x3ff | (k11 + j13 &amp; 0x3ff) &lt;&lt; 10] == 0xffff00)
   {
    ai1[k10 + j12 &amp; 0x3ff | (k11 + j13 &amp; 0x3ff) &lt;&lt; 10] = 0;
   }
  }


    }


    ai3[i6][5] = 1;
   }


   l7++;
  } while(true);
  if(ai3[i6][6] &lt; 16)
  {
   ai3[i6][6]++;
  }
  i6++;
    goto _L54
_L41:
  if(a_boolean_array1d_static_fld[37] &amp;&amp; d &gt; 8)
  {
   d -= 8;
  }
  if(a_boolean_array1d_static_fld[39] &amp;&amp; d &lt; j - 640)
  {
   d += 8;
  }
  if(a_boolean_array1d_static_fld[38] &amp;&amp; j3 &gt; 8)
  {
   j3 -= 8;
  }
  if(a_boolean_array1d_static_fld[40] &amp;&amp; j3 &lt; c1 - 480)
  {
   j3 += 8;
  }
  if(true) goto _L56; else goto _L55
_L55:
  g1.drawImage(bufferedimage, 0, 0, null);
  if(!flag1)
  {
   g1.setFont(new Font(&quot;Sans-Serif&quot;, 1, 30));
   g1.drawString(args1[i], 200, 100);
   g1.setFont(new Font(&quot;Sans-Serif&quot;, 0, 12));
   g1.drawString(args2[i], 200, 116);
   g1.drawString(&quot;(click to start)&quot;, 200, 132);
   if(c &gt; 0)
   {
    flag1 = true;
    c = 0;
   }
   l5 = l4 = System.currentTimeMillis();
  }
  int j6 = (int)((System.currentTimeMillis() - l4) / 1000L);
  g1.drawString(&quot;Miners: &quot; + i1, 10, 36);
  g1.drawString(&quot;Gold: &quot; + k3 + &quot; / &quot; + l, 10, 48);
  g1.drawString(&quot;Time left: &quot; + (k1 - j6), 10, 60);
  g.drawImage(image, 0, 0, null);
  if(k3 &gt;= l)
  {
   if(i &lt; 6)
   {
    i++;
   }
   g1.setFont(new Font(&quot;Sans-Serif&quot;, 1, 30));
   g1.drawString(&quot;LEVEL PASSED!&quot;, 200, 100);
   g.drawImage(image, 0, 0, null);
   Thread.sleep(2000L);
   flag = true;
  }
  if(i1 &lt;= 0 || k1 - j6 &lt;= 0 || a_boolean_array1d_static_fld[75])
  {
   g1.setFont(new Font(&quot;Sans-Serif&quot;, 1, 30));
   g1.drawString(&quot;LEVEL FAILED!&quot;, 200, 100);
   g.drawImage(image, 0, 0, null);
   Thread.sleep(2000L);
   flag = true;
  }
  Thread.sleep(10L);
  if(true) goto _L58; else goto _L57
_L57:
  if(true) goto _L60; else goto _L59
_L59:
  System.exit(0);
  return;
    }


}