// File: /workspace/github_cpp_makefile_star2_O3/hzy1754785321[P]warehouse-manage-system/menu.cpp
// Function: MenuMain::menuShow()
void MenuMain::menuShow()
{
	int flag,x;
/*	readStop();
     while(stop>0)
	{
			system("clear");
			cout << "\033[31m limit login!" << endl << "\033[31m countdown:" << "\033[37m" << stop << endl;
			stop--;
			writeStop();
			sleep(1);
	}
*/
	Person* pt;
	while(1)
	{
			system("clear");
			showTime();
//			printf("\033[5mhhhhhhhh\033[5m\n");
		cout << "\t\t\t\t\t\033[31m★★★★★★★★★★★★★★★★★★★★★★★★★★★★\033[37m\n"
			 << "\t\t\t\t\t\033[5;34m欢迎来到何朝阳の仓库管理系统!\033[37m\n"
		     << "\t\t\t\t\t\033[31m★★★★★★★★★★★★★★★★★★★★★★★★★★★★\033[37m\n"
	         << "\t\t\t\t\t▶        1:admin            ◀\n"
			 <<	"\t\t\t\t\t▶        2:inPeople         ◀\n"
			 << "\t\t\t\t\t▶        3:outPeople        ◀\n"
			 << "\t\t\t\t\t▶        4:commonPeople     ◀\n" 
			 << "\t\t\t\t\t▶        5:exit             ◀\n"
			 << "\t\t\t\t\t▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲\n"
			 << "\t\t\t\t\t☛ please input your choice(1-5):" ;
	//	flashShow();
		cin >> flag;
		pp.readPeople();
		switch(flag)
		{
			case 1://pp.readPeople();
				   x=adminLogin();
				   if(x==0)
						   break;
				   if(ps!=NULL)
				   {
						   MenuAdmin m1(ps);
						   cout << "\033[1m \t\t\t\t\twelcome admin login" << endl;
						   cout << "\033[22m";
						   sleep(1);
						   m1.menuShow();
						   delete(ps);
						   ps=NULL;
				   }
				   else
						   cout << "error" << endl;
				   break;
			case 2://pp.readPeople();
				   pt=login();
				   if(pt!=NULL)
				   {
						   cout << "\033[1m \t\t\t\t\twelcome inPeople login" << endl;
						   cout << "\033[22m";
						   sleep(1);
						   ps=new InPeople(pt);
						   MenuIn m2(ps);
						   m2.menuShow();
						   delete(ps);
						   ps=NULL;
				   }
				   break;
			case 3://pp.readPeople();
				   pt=login();
				   if(pt!=NULL)
				   {
						   cout << "\033[1m \t\t\t\t\twelcome outPeople login" << endl;
						   cout << "\033[22m";
						   sleep(1);
						   ps=new OutPeople(pt);
						   MenuOut m3(ps);
						   m3.menuShow();
						   delete(ps);
						   ps=NULL;
				   }
				   break;
			case 4://pp.readPeople();
				   pt=login();
				   if(pt!=NULL)
				   {
						   cout << "\033[1m \t\t\t\t\twelcome commonPeople login" << endl;
						   cout << "\033[22m";
						   sleep(1);
						   ps=new CommonPeople(pt);
						   MenuCommon m4(ps);
						   m4.menuShow();
						   delete(ps);
						   ps=NULL;
				   }
				   break;
			case 5:cout << "\t\t\t\t\tbye!" << endl;
				   exit(0);
			default:
				   cout << "\t\t\t\t\tinput error!" << endl;
				   break;
		}
	}
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x48, %rsp
movq %rdi, %rbx
leaq 0x10(%rdi), %r14
movq 0x783f(%rip), %r12      # 0xefd0
leaq 0x306e(%rip), %r13      # 0xa806
movq %r14, -0x60(%rbp)
leaq 0x305d(%rip), %rdi      # 0xa800
callq 0x2170
callq 0x7cc6
movl $0x64, %edx
movq %r12, %rdi
movq %r13, %rsi
callq 0x2240
movl $0x3d, %edx
movq %r12, %rdi
leaq 0x309f(%rip), %rsi      # 0xa86b
callq 0x2240
movl $0x64, %edx
movq %r12, %rdi
movq %r13, %rsi
callq 0x2240
movl $0x27, %edx
movq %r12, %rdi
leaq 0x30b9(%rip), %rsi      # 0xa8a9
callq 0x2240
movl $0x27, %edx
movq %r12, %rdi
leaq 0x30cd(%rip), %rsi      # 0xa8d1
callq 0x2240
movl $0x27, %edx
movq %r12, %rdi
leaq 0x30e1(%rip), %rsi      # 0xa8f9
callq 0x2240
movl $0x27, %edx
movq %r12, %rdi
leaq 0x30f5(%rip), %rsi      # 0xa921
callq 0x2240
movl $0x27, %edx
movq %r12, %rdi
leaq 0x3109(%rip), %rsi      # 0xa949
callq 0x2240
movl $0x5d, %edx
movq %r12, %rdi
leaq 0x311d(%rip), %rsi      # 0xa971
callq 0x2240
movl $0x27, %edx
movq %r12, %rdi
leaq 0x3167(%rip), %rsi      # 0xa9cf
callq 0x2240
movq 0x776c(%rip), %rdi      # 0xefe0
leaq -0x64(%rbp), %rsi
callq 0x20f0
movq %r14, %rdi
callq 0x470e
movl -0x64(%rbp), %eax
decl %eax
cmpl $0x4, %eax
ja 0x7b48
leaq 0x2e66(%rip), %rcx      # 0xa700
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
movq %rbx, %rdi
callq 0x7f0e
testq %rax, %rax
je 0x779c
movq %rax, %r15
movl $0x20, %edx
movq %r12, %rdi
leaq 0x315b(%rip), %rsi      # 0xaa21
callq 0x2240
movq (%r12), %rax
movq -0x18(%rax), %rdi
addq %r12, %rdi
movl $0xa, %esi
callq 0x21c0
movsbl %al, %esi
movq %r12, %rdi
callq 0x2030
movq %rax, %rdi
callq 0x2110
movl $0x5, %edx
movq %r12, %rdi
leaq 0x3113(%rip), %rsi      # 0xaa15
callq 0x2240
movl $0x1, %edi
callq 0x2130
movl $0xb8, %edi
callq 0x21e0
movq %rax, %r14
movq %rax, %rdi
movq %r15, %rsi
callq 0x54d2
movq %r14, 0x40(%rbx)
movl $0x0, -0x50(%rbp)
leaq 0x73ad(%rip), %r15      # 0xece8
movq %r15, -0x58(%rbp)
leaq -0x40(%rbp), %rdi
callq 0x3648
movq %r14, %rdi
leaq 0x72ce(%rip), %rsi      # 0xec20
leaq 0x72d7(%rip), %rdx      # 0xec30
xorl %ecx, %ecx
callq 0x2220
movq %rax, -0x48(%rbp)
leaq -0x58(%rbp), %rdi
callq 0x8716
jmp 0x7b0b
movq %rbx, %rdi
callq 0x7f0e
testq %rax, %rax
je 0x779c
movq %rax, %r15
movl $0x24, %edx
movq %r12, %rdi
leaq 0x30cf(%rip), %rsi      # 0xaa64
callq 0x2240
movq (%r12), %rax
movq -0x18(%rax), %rdi
addq %r12, %rdi
movl $0xa, %esi
callq 0x21c0
movsbl %al, %esi
movq %r12, %rdi
callq 0x2030
movq %rax, %rdi
callq 0x2110
movl $0x5, %edx
movq %r12, %rdi
leaq 0x3044(%rip), %rsi      # 0xaa15
callq 0x2240
movl $0x1, %edi
callq 0x2130
movl $0xb8, %edi
callq 0x21e0
movq %rax, %r14
movq %rax, %rdi
movq %r15, %rsi
callq 0x5538
movq %r14, 0x40(%rbx)
movl $0x0, -0x50(%rbp)
leaq 0x730e(%rip), %r15      # 0xed18
movq %r15, -0x58(%rbp)
leaq -0x40(%rbp), %rdi
callq 0x3648
movq %r14, %rdi
leaq 0x71ff(%rip), %rsi      # 0xec20
leaq 0x7238(%rip), %rdx      # 0xec60
xorl %ecx, %ecx
callq 0x2220
movq %rax, -0x48(%rbp)
leaq -0x58(%rbp), %rdi
callq 0x8b46
jmp 0x7b0b
movq %rbx, %rdi
callq 0x7f0e
testq %rax, %rax
je 0x779c
movq %rax, %r15
movl $0x21, %edx
movq %r12, %rdi
leaq 0x2fde(%rip), %rsi      # 0xaa42
callq 0x2240
movq (%r12), %rax
movq -0x18(%rax), %rdi
addq %r12, %rdi
movl $0xa, %esi
callq 0x21c0
movsbl %al, %esi
movq %r12, %rdi
callq 0x2030
movq %rax, %rdi
callq 0x2110
movl $0x5, %edx
movq %r12, %rdi
leaq 0x2f75(%rip), %rsi      # 0xaa15
callq 0x2240
movl $0x1, %edi
callq 0x2130
movl $0xb8, %edi
callq 0x21e0
movq %rax, %r14
movq %rax, %rdi
movq %r15, %rsi
callq 0x5504
movq %r14, 0x40(%rbx)
movl $0x0, -0x50(%rbp)
leaq 0x7227(%rip), %r15      # 0xed00
movq %r15, -0x58(%rbp)
leaq -0x40(%rbp), %rdi
callq 0x3648
movq %r14, %rdi
leaq 0x7130(%rip), %rsi      # 0xec20
leaq 0x7151(%rip), %rdx      # 0xec48
xorl %ecx, %ecx
callq 0x2220
movq %rax, -0x48(%rbp)
leaq -0x58(%rbp), %rdi
callq 0x8952
movq 0x40(%rbx), %rdi
testq %rdi, %rdi
je 0x7b1a
movq (%rdi), %rax
callq *0x8(%rax)
movq $0x0, 0x40(%rbx)
movq %r15, -0x58(%rbp)
movq -0x40(%rbp), %rdi
testq %rdi, %rdi
movq -0x60(%rbp), %r14
je 0x779c
movq -0x30(%rbp), %rsi
subq %rdi, %rsi
callq 0x21f0
jmp 0x779c
movl $0x11, %edx
movq %r12, %rdi
leaq 0x2632(%rip), %rsi      # 0xa189
callq 0x2240
movq (%r12), %rax
movq -0x18(%rax), %rdi
addq %r12, %rdi
movl $0xa, %esi
callq 0x21c0
movsbl %al, %esi
movq %r12, %rdi
callq 0x2030
movq %rax, %rdi
callq 0x2110
jmp 0x779c
movq %rbx, %rdi
callq 0x2840
testl %eax, %eax
je 0x779c
movq 0x40(%rbx), %rsi
testq %rsi, %rsi
je 0x7c46
leaq -0x58(%rbp), %rdi
callq 0x8d3e
movl $0x1d, %edx
movq %r12, %rdi
leaq 0x2e39(%rip), %rsi      # 0xa9f7
callq 0x2240
movq (%r12), %rax
movq -0x18(%rax), %rdi
addq %r12, %rdi
movl $0xa, %esi
callq 0x21c0
movsbl %al, %esi
movq %r12, %rdi
callq 0x2030
movq %rax, %rdi
callq 0x2110
movl $0x5, %edx
movq %r12, %rdi
leaq 0x2e1b(%rip), %rsi      # 0xaa15
callq 0x2240
movl $0x1, %edi
callq 0x2130
leaq -0x58(%rbp), %rdi
callq 0x7d62
movq 0x40(%rbx), %rdi
testq %rdi, %rdi
je 0x7c21
movq (%rdi), %rax
callq *0x8(%rax)
movq $0x0, 0x40(%rbx)
leaq 0x70a0(%rip), %rax      # 0xecd0
movq %rax, -0x58(%rbp)
movq -0x40(%rbp), %rdi
testq %rdi, %rdi
jne 0x7b37
jmp 0x779c
movl $0x5, %edx
movq %r12, %rdi
leaq 0x2dc6(%rip), %rsi      # 0xaa1b
jmp 0x7b57
movq 0x736f(%rip), %rdi      # 0xefd0
leaq 0x2e21(%rip), %rsi      # 0xaa89
callq 0x21d0
movq %rax, %rdi
callq 0x20d0
xorl %edi, %edi
callq 0x2250
movq %rax, %rbx
leaq 0x704a(%rip), %rax      # 0xecd0
movq %rax, -0x58(%rbp)
jmp 0x7c97
jmp 0x7c90
jmp 0x7c90
movq %rax, %rbx
movq %r15, -0x58(%rbp)
movq -0x40(%rbp), %rdi
testq %rdi, %rdi
je 0x7cbd
movq -0x30(%rbp), %rsi
subq %rdi, %rsi
jmp 0x7cb8
jmp 0x7cad
jmp 0x7cad
movq %rax, %rbx
movl $0xb8, %esi
movq %r14, %rdi
callq 0x21f0
movq %rbx, %rdi
callq 0x2350
nop