// File: /workspace/github_cpp_makefile_star2_O2/menhits[P]phplus/src/utils/stringDrawing.cpp
// Function: str::makeList(std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>>>&)
string makeList(vector<string>& data)
{
	vector<string> ary;
	
	for (int i=0; i<int(data.size()); i++)
	{
		vector<string> elemAry;
		str::splitByLine(elemAry, data[i]);
		int xPos=str::getGlyphPosOf(elemAry[0], "┴");
		if (xPos>=0)
		{
			ary.push_back("┠─"+str::pad("", xPos, str::ALIGNMENT_LEFT, "─")+"╮");
		}
		for (auto i: elemAry)
		{
			ary.push_back("┃ "+i);
		}
	}
	
	padWidths(ary);
	
	for (int i=0; i<int(ary.size()); i++)
	{
		ary[i]=ary[i]+" ┃";
	}
	
	int width=str::getMaxWidth(ary);
	
	ary.insert(ary.begin(), "┏━┴"+padString("", width-4, str::ALIGNMENT_LEFT, "━")+"┓");
	ary.push_back("┗"+padString("", width-2, str::ALIGNMENT_LEFT, "━")+"┛");
	
	return str::join(ary);
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x2a8, %rsp            # imm = 0x2A8
movq %rsi, 0xd8(%rsp)
movq %rdi, 0xd0(%rsp)
xorps %xmm0, %xmm0
leaq 0x10(%rsp), %r15
movaps %xmm0, (%r15)
andq $0x0, 0x10(%r15)
xorl %ecx, %ecx
leaq 0x30(%rsp), %rbx
leaq 0xb0(%rsp), %r13
leaq 0x97f1(%rip), %r12      # 0x5a448
movq 0xd8(%rsp), %rax
movq (%rax), %rsi
movq 0x8(%rax), %rax
subq %rsi, %rax
shrq $0x5, %rax
cltq
cmpq %rax, %rcx
jge 0x50e54
andq $0x0, 0x60(%rsp)
xorps %xmm0, %xmm0
movaps %xmm0, 0x50(%rsp)
movq %rcx, 0xe0(%rsp)
movq %rcx, %rax
shlq $0x5, %rax
addq %rax, %rsi
leaq 0x50(%rsp), %rdi
callq 0x53173
movq 0x50(%rsp), %rbp
leaq 0x288(%rsp), %r14
movq %r14, %rdi
leaq 0x97e8(%rip), %rsi      # 0x5a4a1
movq %rbx, %rdx
callq 0xa150
movq %rbp, %rdi
movq %r14, %rsi
callq 0x53c87
movl %eax, %ebp
movq %r14, %rdi
callq 0xa558
testl %ebp, %ebp
js 0x50df1
leaq 0x70(%rsp), %rdi
leaq 0x3d35(%rip), %rsi      # 0x54a1f
leaq 0xe(%rsp), %rdx
callq 0xa150
leaq 0x228(%rsp), %rdi
leaq 0x9794(%rip), %rsi      # 0x5a497
leaq 0xd(%rsp), %rdx
callq 0xa150
leaq 0x208(%rsp), %rdi
leaq 0x3d03(%rip), %r14      # 0x54a1f
movq %r14, %rsi
leaq 0xc(%rsp), %rdx
callq 0xa150
leaq 0x1e8(%rsp), %rdi
movq %r14, %rsi
leaq 0xf(%rsp), %rdx
callq 0xa150
leaq 0x1e8(%rsp), %rax
movq %rax, (%rsp)
leaq 0x90(%rsp), %r14
movq %r14, %rdi
leaq 0x70(%rsp), %rsi
movl %ebp, %edx
pushq $0x1
popq %rcx
leaq 0x228(%rsp), %r8
leaq 0x208(%rsp), %r9
callq 0x535ca
movq %r13, %rdi
leaq 0x9716(%rip), %rsi      # 0x5a494
movq %r14, %rdx
callq 0x11ff8
movq %rbx, %rdi
movq %r13, %rsi
leaq 0x4a0e(%rip), %rdx      # 0x557a1
callq 0xc882
movq %r15, %rdi
movq %rbx, %rsi
callq 0x13632
movq %rbx, %rdi
callq 0xa558
movq %r13, %rdi
callq 0xa558
leaq 0x90(%rsp), %rdi
callq 0xa558
leaq 0x1e8(%rsp), %rdi
callq 0xa558
leaq 0x208(%rsp), %rdi
callq 0xa558
leaq 0x228(%rsp), %rdi
callq 0xa558
leaq 0x70(%rsp), %rdi
callq 0xa558
movq 0x50(%rsp), %rbp
movq 0x58(%rsp), %r14
cmpq %r14, %rbp
je 0x50e3a
movq %rbx, %rdi
movq %rbp, %rsi
callq 0xa3b0
movq %r13, %rdi
movq %r12, %rsi
movq %rbx, %rdx
callq 0xc8a1
movq %r15, %rdi
movq %r13, %rsi
callq 0x13632
movq %r13, %rdi
callq 0xa558
movq %rbx, %rdi
callq 0xa558
addq $0x20, %rbp
jmp 0x50dfb
leaq 0x50(%rsp), %rdi
callq 0x11670
movq 0xe0(%rsp), %rcx
incq %rcx
jmp 0x50c57
leaq 0x3c11(%rip), %rsi      # 0x54a6c
leaq 0x1c8(%rsp), %rdi
leaq 0x30(%rsp), %rdx
callq 0xa150
leaq 0x3bab(%rip), %rsi      # 0x54a1f
leaq 0x1a8(%rsp), %rdi
leaq 0xb0(%rsp), %rdx
callq 0xa150
leaq 0x3b8f(%rip), %rsi      # 0x54a1f
leaq 0x188(%rsp), %rdi
leaq 0x90(%rsp), %rdx
callq 0xa150
leaq 0x10(%rsp), %rdi
pushq $-0x1
popq %rsi
pushq $0x1
popq %rdx
leaq 0x1c8(%rsp), %rcx
leaq 0x1a8(%rsp), %r8
leaq 0x188(%rsp), %r9
callq 0x4f95a
leaq 0x188(%rsp), %rdi
callq 0xa558
leaq 0x1a8(%rsp), %rdi
callq 0xa558
leaq 0x1c8(%rsp), %rdi
callq 0xa558
xorl %r15d, %r15d
leaq 0x955f(%rip), %rbx      # 0x5a45d
leaq 0x30(%rsp), %r14
xorl %r12d, %r12d
movq 0x10(%rsp), %rsi
movq 0x18(%rsp), %rax
subq %rsi, %rax
shrq $0x5, %rax
cltq
cmpq %rax, %r12
jge 0x50f4d
addq %r15, %rsi
movq %r14, %rdi
movq %rbx, %rdx
callq 0x11fb8
movq 0x10(%rsp), %rdi
addq %r15, %rdi
movq %r14, %rsi
callq 0xa350
movq %r14, %rdi
callq 0xa558
incq %r12
addq $0x20, %r15
jmp 0x50f06
leaq 0x10(%rsp), %rdi
callq 0x4f910
movl %eax, %ebx
movq 0x10(%rsp), %r14
leaq 0x3aba(%rip), %rsi      # 0x54a1f
leaq 0x70(%rsp), %rdi
leaq 0x50(%rsp), %rdx
callq 0xa150
movq 0xd0(%rsp), %r12
leaq 0x94ce(%rip), %rsi      # 0x5a451
leaq 0x168(%rsp), %rdi
leaq 0xe(%rsp), %rdx
callq 0xa150
leaq 0x3a83(%rip), %rsi      # 0x54a1f
leaq 0x148(%rsp), %rdi
leaq 0xd(%rsp), %rdx
callq 0xa150
leaq 0x3a6a(%rip), %rsi      # 0x54a1f
leaq 0x268(%rsp), %r15
leaq 0xc(%rsp), %rdx
movq %r15, %rdi
callq 0xa150
leal -0x4(%rbx), %edx
movq %r15, (%rsp)
leaq 0x90(%rsp), %rdi
leaq 0x70(%rsp), %rsi
pushq $0x1
popq %rcx
leaq 0x168(%rsp), %r8
leaq 0x148(%rsp), %r9
callq 0x41e9e
leaq 0x949e(%rip), %rsi      # 0x5a49b
leaq 0xb0(%rsp), %rdi
leaq 0x90(%rsp), %rdx
callq 0x11ff8
leaq 0x948c(%rip), %rdx      # 0x5a4a5
leaq 0x30(%rsp), %rdi
leaq 0xb0(%rsp), %rsi
callq 0xc882
leaq 0x10(%rsp), %rdi
leaq 0x30(%rsp), %rdx
movq %r14, %rsi
callq 0x532ee
leaq 0x30(%rsp), %rdi
callq 0xa558
leaq 0xb0(%rsp), %rdi
callq 0xa558
leaq 0x90(%rsp), %rdi
callq 0xa558
leaq 0x268(%rsp), %rdi
callq 0xa558
leaq 0x148(%rsp), %rdi
callq 0xa558
leaq 0x168(%rsp), %rdi
callq 0xa558
leaq 0x70(%rsp), %rdi
callq 0xa558
leaq 0x3986(%rip), %rsi      # 0x54a1f
leaq 0x70(%rsp), %rdi
leaq 0x50(%rsp), %rdx
callq 0xa150
leaq 0x93a2(%rip), %rsi      # 0x5a451
leaq 0x128(%rsp), %rdi
leaq 0xe(%rsp), %rdx
callq 0xa150
leaq 0x3957(%rip), %rsi      # 0x54a1f
leaq 0x108(%rsp), %rdi
leaq 0xd(%rsp), %rdx
callq 0xa150
leaq 0x393e(%rip), %rsi      # 0x54a1f
leaq 0x248(%rsp), %r14
leaq 0xc(%rsp), %rdx
movq %r14, %rdi
callq 0xa150
addl $-0x2, %ebx
movq %r14, (%rsp)
leaq 0x90(%rsp), %rdi
leaq 0x70(%rsp), %rsi
pushq $0x1
popq %rcx
leaq 0x128(%rsp), %r8
leaq 0x108(%rsp), %r9
movl %ebx, %edx
callq 0x41e9e
leaq 0x937e(%rip), %rsi      # 0x5a4a9
leaq 0xb0(%rsp), %rdi
leaq 0x90(%rsp), %rdx
callq 0x11ff8
leaq 0x9366(%rip), %rdx      # 0x5a4ad
leaq 0x30(%rsp), %rdi
leaq 0xb0(%rsp), %rsi
callq 0xc882
leaq 0x10(%rsp), %rdi
leaq 0x30(%rsp), %rsi
callq 0x13632
leaq 0x30(%rsp), %rdi
callq 0xa558
leaq 0xb0(%rsp), %rdi
callq 0xa558
leaq 0x90(%rsp), %rdi
callq 0xa558
leaq 0x248(%rsp), %rdi
callq 0xa558
leaq 0x108(%rsp), %rdi
callq 0xa558
leaq 0x128(%rsp), %rdi
callq 0xa558
leaq 0x70(%rsp), %rdi
callq 0xa558
leaq 0x3d34(%rip), %rsi      # 0x54ef8
leaq 0xe8(%rsp), %rdi
leaq 0x30(%rsp), %rdx
callq 0xa150
leaq 0x10(%rsp), %rsi
leaq 0xe8(%rsp), %rdx
pushq $0x1
popq %rcx
movq %r12, %rdi
callq 0x4faac
leaq 0xe8(%rsp), %rdi
callq 0xa558
leaq 0x10(%rsp), %rdi
callq 0x11670
movq %r12, %rax
addq $0x2a8, %rsp            # imm = 0x2A8
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
movq %rax, %rbx
leaq 0xe8(%rsp), %rdi
jmp 0x51301
jmp 0x513c7
movq %rax, %rbx
leaq 0x30(%rsp), %rdi
callq 0xa558
jmp 0x51241
movq %rax, %rbx
leaq 0xb0(%rsp), %rdi
callq 0xa558
jmp 0x51253
movq %rax, %rbx
leaq 0x90(%rsp), %rdi
callq 0xa558
jmp 0x51265
movq %rax, %rbx
leaq 0x248(%rsp), %rdi
callq 0xa558
jmp 0x51277
movq %rax, %rbx
leaq 0x108(%rsp), %rdi
callq 0xa558
leaq 0x128(%rsp), %rdi
jmp 0x512f7
movq %rax, %rbx
jmp 0x51284
jmp 0x51310
jmp 0x513c7
movq %rax, %rbx
leaq 0x30(%rsp), %rdi
callq 0xa558
jmp 0x512ac
movq %rax, %rbx
leaq 0xb0(%rsp), %rdi
callq 0xa558
jmp 0x512be
movq %rax, %rbx
leaq 0x90(%rsp), %rdi
callq 0xa558
jmp 0x512d0
movq %rax, %rbx
leaq 0x268(%rsp), %rdi
callq 0xa558
jmp 0x512e2
movq %rax, %rbx
leaq 0x148(%rsp), %rdi
callq 0xa558
leaq 0x168(%rsp), %rdi
callq 0xa558
leaq 0x70(%rsp), %rdi
callq 0xa558
jmp 0x5140b
movq %rax, %rbx
jmp 0x512ef
movq %rax, %rbx
jmp 0x512fc
jmp 0x513c7
jmp 0x513c7
movq %rax, %rbx
leaq 0x188(%rsp), %rdi
callq 0xa558
jmp 0x51334
movq %rax, %rbx
leaq 0x1a8(%rsp), %rdi
callq 0xa558
jmp 0x51346
movq %rax, %rbx
leaq 0x1c8(%rsp), %rdi
jmp 0x51301
jmp 0x513c7
movq %rax, %rbx
jmp 0x51399
movq %rax, %rbx
jmp 0x5138c
jmp 0x513dd
movq %rax, %rbx
jmp 0x513b3
movq %rax, %rbx
jmp 0x513a6
movq %rax, %rbx
leaq 0x30(%rsp), %rdi
callq 0xa558
jmp 0x5137f
movq %rax, %rbx
jmp 0x513c0
movq %rax, %rbx
leaq 0xb0(%rsp), %rdi
callq 0xa558
leaq 0x90(%rsp), %rdi
callq 0xa558
leaq 0x1e8(%rsp), %rdi
callq 0xa558
leaq 0x208(%rsp), %rdi
callq 0xa558
leaq 0x228(%rsp), %rdi
callq 0xa558
leaq 0x70(%rsp), %rdi
jmp 0x513fc
movq %rax, %rbx
jmp 0x5140b
movq %rax, %rbx
leaq 0x288(%rsp), %rdi
jmp 0x513fc
jmp 0x513dd
jmp 0x513dd
movq %rax, %rbx
jmp 0x51401
movq %rax, %rbx
jmp 0x513f7
movq %rax, %rbx
leaq 0xb0(%rsp), %rdi
callq 0xa558
leaq 0x30(%rsp), %rdi
callq 0xa558
leaq 0x50(%rsp), %rdi
callq 0x11670
leaq 0x10(%rsp), %rdi
callq 0x11670
movq %rbx, %rdi
callq 0xa500