// File: /workspace/github_cpp_makefile_star2_O3/XxAdi101xX[P]ChamberCrawler/TextDisplay/TextDisplay.cc
// Function: operator<<(std::ostream&, TextDisplay const&)
std::ostream &operator<<(std::ostream &out, const TextDisplay &td) {

    for (auto &row: td.theDisplay) {
        for (auto &c: row) {
            out << c;
        }
        out << std::endl;
    }
		std::string spaces(55, ' ');
    out << "Race: " << raceToText(td.info.race) << " Gold: " << td.info.gold
				<< spaces << "Floor " << td.floorNumber << std::endl;
    out << "HP: " << td.info.HP << std::endl;
    out << "Atk: " << td.info.attackValue << std::endl;
    out << "Def: " << td.info.defenceValue << std::endl;
    out << "Action: " << std::endl;
	out << td.info.lastAction << std::endl;

    return out;
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x48, %rsp
movq %rdi, %rbx
movq 0x20(%rsi), %r12
movq %rsi, 0x20(%rsp)
movq 0x28(%rsi), %r13
cmpq %r13, %r12
je 0x1c666
movq %rsp, %r15
movq (%r12), %rbp
movq 0x8(%r12), %r14
cmpq %r14, %rbp
je 0x1c636
movb (%rbp), %al
movb %al, (%rsp)
movl $0x1, %edx
movq %rbx, %rdi
movq %r15, %rsi
callq 0x52c0
incq %rbp
jmp 0x1c616
movq (%rbx), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x5260
movsbl %al, %esi
movq %rbx, %rdi
callq 0x5030
movq %rax, %rdi
callq 0x51b0
addq $0x18, %r12
cmpq %r13, %r12
jne 0x1c60d
leaq 0x10(%rsp), %r12
movq %r12, -0x10(%r12)
movq %rsp, %rdi
movl $0x37, %esi
movl $0x20, %edx
callq 0x52d0
leaq 0x3c34(%rip), %rsi      # 0x202bd
movl $0x6, %edx
movq %rbx, %rdi
callq 0x52c0
movq 0x20(%rsp), %r14
movl 0x1c0(%r14), %esi
leaq 0x28(%rsp), %rdi
callq 0x1a9a4
movq 0x28(%rsp), %rsi
movq 0x30(%rsp), %rdx
movq %rbx, %rdi
callq 0x52c0
movq %rax, %r15
leaq 0x3bfc(%rip), %rsi      # 0x202c4
movl $0x7, %edx
movq %rax, %rdi
callq 0x52c0
movl 0x1c4(%r14), %esi
movq %r15, %rdi
callq 0x53d0
movq (%rsp), %rsi
movq 0x8(%rsp), %rdx
movq %rax, %rdi
callq 0x52c0
movq %rax, %r15
leaq 0x3bcd(%rip), %rsi      # 0x202cc
movl $0x6, %edx
movq %rax, %rdi
callq 0x52c0
movl 0x220(%r14), %esi
movq %r15, %rdi
callq 0x53d0
movq %rax, %r15
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %r15, %rdi
movl $0xa, %esi
callq 0x5260
movsbl %al, %esi
movq %r15, %rdi
callq 0x5030
movq %rax, %rdi
callq 0x51b0
leaq 0x38(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x1c760
movq 0x38(%rsp), %rsi
incq %rsi
callq 0x5280
leaq 0x3b6c(%rip), %rsi      # 0x202d3
movl $0x4, %edx
movq %rbx, %rdi
callq 0x52c0
movl 0x1c8(%r14), %esi
movq %rbx, %rdi
callq 0x53d0
movq %rax, %r15
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %r15, %rdi
movl $0xa, %esi
callq 0x5260
movsbl %al, %esi
movq %r15, %rdi
callq 0x5030
movq %rax, %rdi
callq 0x51b0
leaq 0x3b24(%rip), %rsi      # 0x202d8
movl $0x5, %edx
movq %rbx, %rdi
callq 0x52c0
movl 0x1cc(%r14), %esi
movq %rbx, %rdi
callq 0x53d0
movq %rax, %r15
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %r15, %rdi
movl $0xa, %esi
callq 0x5260
movsbl %al, %esi
movq %r15, %rdi
callq 0x5030
movq %rax, %rdi
callq 0x51b0
leaq 0x3add(%rip), %rsi      # 0x202de
movl $0x5, %edx
movq %rbx, %rdi
callq 0x52c0
movl 0x1d0(%r14), %esi
movq %rbx, %rdi
callq 0x53d0
movq %rax, %r15
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %r15, %rdi
movl $0xa, %esi
callq 0x5260
movsbl %al, %esi
movq %r15, %rdi
callq 0x5030
movq %rax, %rdi
callq 0x51b0
leaq 0x3a96(%rip), %rsi      # 0x202e4
movl $0x8, %edx
movq %rbx, %rdi
callq 0x52c0
movq (%rbx), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x5260
movsbl %al, %esi
movq %rbx, %rdi
callq 0x5030
movq %rax, %rdi
callq 0x51b0
movq 0x1f8(%r14), %rsi
movq 0x200(%r14), %rdx
movq %rbx, %rdi
callq 0x52c0
movq %rax, %r14
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %r14, %rdi
movl $0xa, %esi
callq 0x5260
movsbl %al, %esi
movq %r14, %rdi
callq 0x5030
movq %rax, %rdi
callq 0x51b0
movq (%rsp), %rdi
cmpq %r12, %rdi
je 0x1c8d8
movq 0x10(%rsp), %rsi
incq %rsi
callq 0x5280
movq %rbx, %rax
addq $0x48, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
jmp 0x1c90c
movq %rax, %rbx
leaq 0x38(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x1c90f
movq 0x38(%rsp), %rsi
incq %rsi
callq 0x5280
jmp 0x1c90f
movq %rax, %rbx
movq (%rsp), %rdi
cmpq %r12, %rdi
je 0x1c925
movq 0x10(%rsp), %rsi
incq %rsi
callq 0x5280
movq %rbx, %rdi
callq 0x53e0
nop