// File: /workspace/github_cpp_makefile_star2_O3/whitefusion[P]Jaipur_cardgame-/AllBonus.cpp
// Function: All_Bonus::pBonus()
void All_Bonus::pBonus()
{
      int i, c, ts, tf;
    cout << ">>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>BONUS<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<" << endl;
 //   cout << "============================================================================================================================================================================================" << endl;


	ts = 3;  
	tf = 6;
	for (i = ts; i < tf; ++i){
	    cout << "  "; 
	    for(c = 0; c < getSize(i)-1; ++c)
		cout << "  * *";
	    if (getSize(i) > 0){
		cout << "  * * *";
		cout << "           ";
	    }
	}
	cout << endl;

	for (i = ts; i < tf; ++i){
	    cout << "  ";
	    for (c = 0; c < getSize(i)-1; ++c)
		cout << "*    ";
	    if (getSize(i) > 0){
		cout << "*       *";
		cout << "         ";
	    }
	}
	cout << endl;

	for (i = ts; i < tf; ++i){
	    cout << " ";
	    for (c = 0; c < getSize(i)-1; ++c)
			cout << "*    "; // comment this line if test
            //for test
            /*
		    if (allBonus.at(i-3).at(c).getVal() == 10)
                cout << allBonus.at(i-3).at(c).getVal() << "   "; // for test to visualize
		    else 
                cout << allBonus.at(i-3).at(c).getVal() << "    "; // for test to visualize
            */
            

	    if (getSize(i) > 0){
		    cout << "*  " << allBonus.at(i-3).at(c).getType() << " *";
		    cout << "        ";
	    }
	    else
		    cout << " ";
	}
	cout << endl;

	for (i = ts; i < tf; ++i){
	    cout << " ";
	    for (c = 0; c < getSize(i)-1; ++c)
		    cout << "*    ";
	    if (getSize(i) > 0){
            cout << "*         *"; // comment this line if test
            //for test
            /*
            if (allBonus.at(i-3).at(c).getVal()==10)
                cout << "*   -" << allBonus.at(i-3).at(c).getVal() << "-  *"; // for test to visualize
            else 
                cout << "*   -" << allBonus.at(i-3).at(c).getVal() << "-   *"; // for test to visualize
            */
            
		    cout << "        ";
	    }
	    else
		    cout << " ";
	}
	cout << endl;

	for (i = ts; i < tf; ++i){
	    cout << "  ";
	    for (c = 0; c < getSize(i)-1; ++c)
		cout << "*    ";
	    if (getSize(i) > 0){
		cout << "*       *";
		cout << "         ";
	    }
	}
	cout << endl;

	for (i = ts; i < tf; ++i){
	    cout << "  "; 
	    for(c = 0; c < getSize(i)-1; ++c)
		cout << "  * *";
	    if (getSize(i) > 0){
		cout << "  * * *";
		cout << "           ";
	    }
	}
	cout << endl;

//    cout << "============================================================================================================================================================================================" << endl;
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x28, %rsp
movq %rdi, %r14
movq 0xea0a(%rip), %rbx      # 0x15fd0
leaq 0x8ee1(%rip), %rsi      # 0x104ae
movl $0xbb, %edx
movq %rbx, %rdi
callq 0x21d0
movq (%rbx), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x2180
movsbl %al, %esi
movq %rbx, %rdi
callq 0x2030
movq %rax, %rdi
callq 0x20f0
movl $0x3, %ebp
leaq 0x8cf7(%rip), %r15      # 0x10304
leaq 0x8cd9(%rip), %r12      # 0x102ed
movl $0x2, %edx
movq %rbx, %rdi
movq %r15, %rsi
callq 0x21d0
movq %r14, %rdi
movl %ebp, %esi
callq 0x73b2
cmpl $0x2, %eax
jl 0x765a
xorl %r13d, %r13d
movl $0x5, %edx
movq %rbx, %rdi
movq %r12, %rsi
callq 0x21d0
incl %r13d
movq %r14, %rdi
movl %ebp, %esi
callq 0x73b2
decl %eax
cmpl %eax, %r13d
jl 0x7636
movq %r14, %rdi
movl %ebp, %esi
callq 0x73b2
testl %eax, %eax
jle 0x7690
movl $0x7, %edx
movq %rbx, %rdi
leaq 0x8c7c(%rip), %rsi      # 0x102f3
callq 0x21d0
movl $0xb, %edx
movq %rbx, %rdi
leaq 0x8c70(%rip), %rsi      # 0x102fb
callq 0x21d0
incl %ebp
cmpl $0x6, %ebp
jne 0x7614
movq (%rbx), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x2180
movsbl %al, %esi
movq %rbx, %rdi
callq 0x2030
movq %rax, %rdi
callq 0x20f0
movl $0x3, %ebp
leaq 0x8c36(%rip), %r15      # 0x10304
leaq 0x8c32(%rip), %r12      # 0x10307
movl $0x2, %edx
movq %rbx, %rdi
movq %r15, %rsi
callq 0x21d0
movq %r14, %rdi
movl %ebp, %esi
callq 0x73b2
cmpl $0x2, %eax
jl 0x771b
xorl %r13d, %r13d
movl $0x5, %edx
movq %rbx, %rdi
movq %r12, %rsi
callq 0x21d0
incl %r13d
movq %r14, %rdi
movl %ebp, %esi
callq 0x73b2
decl %eax
cmpl %eax, %r13d
jl 0x76f7
movq %r14, %rdi
movl %ebp, %esi
callq 0x73b2
testl %eax, %eax
jle 0x7751
movl $0x9, %edx
movq %rbx, %rdi
leaq 0x8bd5(%rip), %rsi      # 0x1030d
callq 0x21d0
movl $0x9, %edx
movq %rbx, %rdi
leaq 0x8bb1(%rip), %rsi      # 0x102fd
callq 0x21d0
incl %ebp
cmpl $0x6, %ebp
jne 0x76d5
movq (%rbx), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x2180
movsbl %al, %esi
movq %rbx, %rdi
callq 0x2030
movq %rax, %rdi
callq 0x20f0
movl $0x3, %r15d
leaq 0x8b75(%rip), %r12      # 0x10305
leaq 0x8b70(%rip), %r13      # 0x10307
movl $0x1, %edx
movq %rbx, %rdi
movq %r12, %rsi
callq 0x21d0
movq %r14, %rdi
movl %r15d, %esi
callq 0x73b2
xorl %ebp, %ebp
cmpl $0x2, %eax
jl 0x77dd
movl $0x5, %edx
movq %rbx, %rdi
movq %r13, %rsi
callq 0x21d0
movq %r14, %rdi
movl %r15d, %esi
callq 0x73b2
decl %eax
incq %rbp
cmpl %eax, %ebp
jl 0x77b9
movq %r14, %rdi
movl %r15d, %esi
callq 0x73b2
testl %eax, %eax
jle 0x78c4
movl $0x3, %edx
movq %rbx, %rdi
leaq 0x8b18(%rip), %rsi      # 0x10317
callq 0x21d0
leaq -0x3(%r15), %rsi
movq (%r14), %rax
movq 0x8(%r14), %rdx
subq %rax, %rdx
sarq $0x3, %rdx
movabsq $-0x5555555555555555, %rcx # imm = 0xAAAAAAAAAAAAAAAB
imulq %rcx, %rdx
cmpq %rsi, %rdx
jbe 0x7b73
leaq (%rsi,%rsi,2), %rdx
movq (%rax,%rdx,8), %rcx
movq 0x8(%rax,%rdx,8), %rdx
subq %rcx, %rdx
sarq $0x3, %rdx
movabsq $-0x3333333333333333, %rax # imm = 0xCCCCCCCCCCCCCCCD
imulq %rax, %rdx
cmpq %rbp, %rdx
jbe 0x7b67
leaq (,%rbp,4), %rax
addq %rbp, %rax
leaq (%rcx,%rax,8), %rsi
leaq 0x8(%rsp), %rdi
callq 0x4362
movq 0x8(%rsp), %rsi
movq 0x10(%rsp), %rdx
movq %rbx, %rdi
callq 0x21d0
movl $0x2, %edx
movq %rax, %rdi
leaq 0x8ce1(%rip), %rsi      # 0x10573
callq 0x21d0
movq 0x8(%rsp), %rdi
leaq 0x18(%rsp), %rax
cmpq %rax, %rdi
je 0x78b3
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x21a0
movl $0x8, %edx
movq %rbx, %rdi
leaq 0x8a3c(%rip), %rsi      # 0x102fe
jmp 0x78cf
movl $0x1, %edx
movq %rbx, %rdi
movq %r12, %rsi
callq 0x21d0
incq %r15
cmpq $0x6, %r15
jne 0x7797
movq (%rbx), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x2180
movsbl %al, %esi
movq %rbx, %rdi
callq 0x2030
movq %rax, %rdi
callq 0x20f0
movl $0x3, %ebp
leaq 0x89f1(%rip), %r15      # 0x10305
leaq 0x89ec(%rip), %r12      # 0x10307
movl $0x1, %edx
movq %rbx, %rdi
movq %r15, %rsi
callq 0x21d0
movq %r14, %rdi
movl %ebp, %esi
callq 0x73b2
cmpl $0x2, %eax
jl 0x7961
xorl %r13d, %r13d
movl $0x5, %edx
movq %rbx, %rdi
movq %r12, %rsi
callq 0x21d0
incl %r13d
movq %r14, %rdi
movl %ebp, %esi
callq 0x73b2
decl %eax
cmpl %eax, %r13d
jl 0x793d
movq %r14, %rdi
movl %ebp, %esi
callq 0x73b2
testl %eax, %eax
jle 0x7994
movl $0xb, %edx
movq %rbx, %rdi
leaq 0x8bec(%rip), %rsi      # 0x1056a
callq 0x21d0
movl $0x8, %edx
movq %rbx, %rdi
leaq 0x896c(%rip), %rsi      # 0x102fe
jmp 0x799f
movl $0x1, %edx
movq %rbx, %rdi
movq %r15, %rsi
callq 0x21d0
incl %ebp
cmpl $0x6, %ebp
jne 0x791b
movq (%rbx), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x2180
movsbl %al, %esi
movq %rbx, %rdi
callq 0x2030
movq %rax, %rdi
callq 0x20f0
movl $0x3, %ebp
leaq 0x8922(%rip), %r15      # 0x10304
leaq 0x891e(%rip), %r12      # 0x10307
movl $0x2, %edx
movq %rbx, %rdi
movq %r15, %rsi
callq 0x21d0
movq %r14, %rdi
movl %ebp, %esi
callq 0x73b2
cmpl $0x2, %eax
jl 0x7a2f
xorl %r13d, %r13d
movl $0x5, %edx
movq %rbx, %rdi
movq %r12, %rsi
callq 0x21d0
incl %r13d
movq %r14, %rdi
movl %ebp, %esi
callq 0x73b2
decl %eax
cmpl %eax, %r13d
jl 0x7a0b
movq %r14, %rdi
movl %ebp, %esi
callq 0x73b2
testl %eax, %eax
jle 0x7a65
movl $0x9, %edx
movq %rbx, %rdi
leaq 0x88c1(%rip), %rsi      # 0x1030d
callq 0x21d0
movl $0x9, %edx
movq %rbx, %rdi
leaq 0x889d(%rip), %rsi      # 0x102fd
callq 0x21d0
incl %ebp
cmpl $0x6, %ebp
jne 0x79e9
movq (%rbx), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x2180
movsbl %al, %esi
movq %rbx, %rdi
callq 0x2030
movq %rax, %rdi
callq 0x20f0
movl $0x3, %ebp
leaq 0x8861(%rip), %r15      # 0x10304
leaq 0x8843(%rip), %r12      # 0x102ed
movl $0x2, %edx
movq %rbx, %rdi
movq %r15, %rsi
callq 0x21d0
movq %r14, %rdi
movl %ebp, %esi
callq 0x73b2
cmpl $0x2, %eax
jl 0x7af0
xorl %r13d, %r13d
movl $0x5, %edx
movq %rbx, %rdi
movq %r12, %rsi
callq 0x21d0
incl %r13d
movq %r14, %rdi
movl %ebp, %esi
callq 0x73b2
decl %eax
cmpl %eax, %r13d
jl 0x7acc
movq %r14, %rdi
movl %ebp, %esi
callq 0x73b2
testl %eax, %eax
jle 0x7b26
movl $0x7, %edx
movq %rbx, %rdi
leaq 0x87e6(%rip), %rsi      # 0x102f3
callq 0x21d0
movl $0xb, %edx
movq %rbx, %rdi
leaq 0x87da(%rip), %rsi      # 0x102fb
callq 0x21d0
incl %ebp
cmpl $0x6, %ebp
jne 0x7aaa
movq (%rbx), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x2180
movsbl %al, %esi
movq %rbx, %rdi
callq 0x2030
movq %rax, %rdi
callq 0x20f0
addq $0x28, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
leaq 0x87ea(%rip), %rdi      # 0x10358
movq %rbp, %rsi
jmp 0x7b7a
leaq 0x87de(%rip), %rdi      # 0x10358
xorl %eax, %eax
callq 0x21f0
movq %rax, %rbx
movq 0x8(%rsp), %rdi
leaq 0x18(%rsp), %rax
cmpq %rax, %rdi
je 0x7ba0
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x21a0
movq %rbx, %rdi
callq 0x2280