// File: /workspace/github_cpp_makefile_star2_O3/aempirei[P]Chat-Art/calibration.cc
// Function: display_calibration()
void display_calibration() {

	/////////////////////////////////////////////
	// calibration text is 8 lines and 32 columns
	/////////////////////////////////////////////
	// 0.32 prefix code
	// 1.08 background colors
	// 2.08 foreground colors
	// 3.08 bold foreground colors
	// 4.26 uppercase alphabet
	// 5.26 lowercase alphabet
	// 6.10 numbers
	// 7.32 suffix code

	//////////////
	// prefix code

	display_code(prefix_code);

	////////////////////
	// background colors

	for(int i = ansi::first_color; i <= ansi::last_color; i++)
		std::cout << ansi::bg(i) << ' ';

	std::cout << std::endl;

	////////////////////
	// foreground colors

	std::cout << ansi::bg(ansi::black);

	for(int i = ansi::first_color; i <= ansi::last_color; i++)
		std::cout << ansi::fg(i) << '#';

	std::cout << std::endl;

	/////////////////////////
	// bold foreground colors

	std::cout << ansi::bg(ansi::black);

	for(int i = ansi::first_color; i <= ansi::last_color; i++)
		std::cout << ansi::bold << ansi::fg(i) << '#';

	std::cout << std::endl;

	///////
	// font

	std::cout << ansi::fg(ansi::white) << ansi::bg(ansi::black);

	std::cout << "ABCDEFGHIJKLMNOPQRSTUVWXYZ" << std::endl;
	std::cout << "abcdefghijklmnopqrstuvwxyz" << std::endl;
	std::cout << "0123456789" << std::endl;

	//////////////
	// suffix code

	display_code(suffix_code);

}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x48, %rsp
movl $0xa55faced, %edi       # imm = 0xA55FACED
callq 0x3988
movl $0x28, %ebp
leaq 0x18(%rsp), %r13
leaq 0x8(%rsp), %r14
movq 0x4514(%rip), %rbx      # 0x7fd0
leaq 0x28(%rsp), %r15
movq %r14, %rdi
movl %ebp, %esi
movl $0x6d, %edx
callq 0x250c
movq 0x8(%rsp), %rsi
movq 0x10(%rsp), %rdx
movq %rbx, %rdi
callq 0x21f0
movb $0x20, 0x28(%rsp)
movl $0x1, %edx
movq %rax, %rdi
movq %r15, %rsi
callq 0x21f0
movq 0x8(%rsp), %rdi
cmpq %r13, %rdi
je 0x3b0e
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x21d0
incl %ebp
cmpl $0x30, %ebp
jne 0x3ac1
movq (%rbx), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x21a0
movsbl %al, %esi
movq %rbx, %rdi
callq 0x2040
movq %rax, %rdi
callq 0x2100
leaq 0x8(%rsp), %r14
movq %r14, %rdi
movl $0x28, %esi
movl $0x6d, %edx
callq 0x250c
movq (%r14), %rsi
movq 0x8(%r14), %rdx
movq %rbx, %rdi
callq 0x21f0
movq 0x8(%rsp), %rdi
cmpq %r13, %rdi
je 0x3b79
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x21d0
movl $0x1e, %ebp
leaq 0x8(%rsp), %r14
movq 0x4446(%rip), %rbx      # 0x7fd0
leaq 0x28(%rsp), %r15
movq %r14, %rdi
movl %ebp, %esi
movl $0x6d, %edx
callq 0x250c
movq 0x8(%rsp), %rsi
movq 0x10(%rsp), %rdx
movq %rbx, %rdi
callq 0x21f0
movb $0x23, 0x28(%rsp)
movl $0x1, %edx
movq %rax, %rdi
movq %r15, %rsi
callq 0x21f0
movq 0x8(%rsp), %rdi
cmpq %r13, %rdi
je 0x3bdc
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x21d0
incl %ebp
cmpl $0x26, %ebp
jne 0x3b8f
movq (%rbx), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x21a0
movsbl %al, %esi
movq %rbx, %rdi
callq 0x2040
movq %rax, %rdi
callq 0x2100
leaq 0x8(%rsp), %r14
movq %r14, %rdi
movl $0x28, %esi
movl $0x6d, %edx
callq 0x250c
movq (%r14), %rsi
movq 0x8(%r14), %rdx
movq %rbx, %rdi
callq 0x21f0
movq 0x8(%rsp), %rdi
cmpq %r13, %rdi
je 0x3c47
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x21d0
movl $0x1e, %ebp
movq 0x437d(%rip), %rbx      # 0x7fd0
leaq 0x8(%rsp), %r14
leaq 0x28(%rsp), %r15
movq 0x45c4(%rip), %rsi      # 0x8228
movq 0x45c5(%rip), %rdx      # 0x8230
movq %rbx, %rdi
callq 0x21f0
movq %rax, %r12
movq %r14, %rdi
movl %ebp, %esi
movl $0x6d, %edx
callq 0x250c
movq 0x8(%rsp), %rsi
movq 0x10(%rsp), %rdx
movq %r12, %rdi
callq 0x21f0
movb $0x23, 0x28(%rsp)
movl $0x1, %edx
movq %rax, %rdi
movq %r15, %rsi
callq 0x21f0
movq 0x8(%rsp), %rdi
cmpq %r13, %rdi
je 0x3cc3
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x21d0
incl %ebp
cmpl $0x26, %ebp
jne 0x3c5d
movq (%rbx), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x21a0
movsbl %al, %esi
movq %rbx, %rdi
callq 0x2040
movq %rax, %rdi
callq 0x2100
leaq 0x8(%rsp), %r14
movq %r14, %rdi
movl $0x25, %esi
movl $0x6d, %edx
callq 0x250c
movq (%r14), %rsi
movq 0x8(%r14), %rdx
movq %rbx, %rdi
callq 0x21f0
movq %rax, %r14
leaq 0x28(%rsp), %rdi
movl $0x28, %esi
movl $0x6d, %edx
callq 0x250c
movq 0x28(%rsp), %rsi
movq 0x30(%rsp), %rdx
movq %r14, %rdi
callq 0x21f0
leaq 0x38(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x3d5b
movq 0x38(%rsp), %rsi
incq %rsi
callq 0x21d0
movq 0x8(%rsp), %rdi
cmpq %r13, %rdi
je 0x3d72
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x21d0
leaq 0x143a(%rip), %rsi      # 0x51b3
movl $0x1a, %edx
movq %rbx, %rdi
callq 0x21f0
movq (%rbx), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x21a0
movsbl %al, %esi
movq %rbx, %rdi
callq 0x2040
movq %rax, %rdi
callq 0x2100
leaq 0x141a(%rip), %rsi      # 0x51ce
movl $0x1a, %edx
movq %rbx, %rdi
callq 0x21f0
movq (%rbx), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x21a0
movsbl %al, %esi
movq %rbx, %rdi
callq 0x2040
movq %rax, %rdi
callq 0x2100
leaq 0x13fa(%rip), %rsi      # 0x51e9
movl $0xa, %edx
movq %rbx, %rdi
callq 0x21f0
movq (%rbx), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x21a0
movsbl %al, %esi
movq %rbx, %rdi
callq 0x2040
movq %rax, %rdi
callq 0x2100
movl $0x1deadfed, %edi       # imm = 0x1DEADFED
callq 0x3988
addq $0x48, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
movq %rax, %rbx
leaq 0x38(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x3e6b
movq 0x38(%rsp), %rsi
incq %rsi
callq 0x21d0
jmp 0x3e6b
jmp 0x3e68
jmp 0x3e68
jmp 0x3e68
jmp 0x3e68
jmp 0x3e68
jmp 0x3e68
movq %rax, %rbx
movq 0x8(%rsp), %rdi
cmpq %r13, %rdi
je 0x3e82
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x21d0
movq %rbx, %rdi
callq 0x2300