// File: akitsu-sanae[P]adtpp/./include/utility.hpp
// Function: std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> format<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const&>(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const&)
inline static std::string format(std::string const& str, Arg&& arg, Args&& ... args) {
    auto pos = str.find("{}");
    if (pos == std::string::npos)
        throw format_too_many_args{};
    std::string after = str.substr(pos+2, str.length());
    std::stringstream ss;
    ss << std::forward<Arg>(arg);
    return str.substr(0, pos) + ss.str() + format(after, args ...);

}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x280, %rsp            # imm = 0x280
movq %rdi, -0x268(%rbp)
movq %rdi, %rax
movq %rax, -0x260(%rbp)
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq %rdx, -0x18(%rbp)
movq -0x10(%rbp), %rdi
leaq 0x4fbe(%rip), %rsi      # 0xb321
xorl %eax, %eax
movl %eax, %edx
callq 0x33f0
movq %rax, -0x20(%rbp)
cmpq $-0x1, -0x20(%rbp)
jne 0x6394
movl $0x1, %edi
callq 0x3100
movq %rax, %rdi
leaq 0x89ed(%rip), %rsi      # 0xed78
xorl %eax, %eax
movl %eax, %edx
callq 0x3370
movq -0x10(%rbp), %rdi
movq %rdi, -0x278(%rbp)
movq -0x20(%rbp), %rax
addq $0x2, %rax
movq %rax, -0x270(%rbp)
callq 0x3330
movq -0x278(%rbp), %rsi
movq -0x270(%rbp), %rdx
movq %rax, %rcx
leaq -0x40(%rbp), %rdi
callq 0x3260
leaq -0x1c8(%rbp), %rdi
callq 0x3170
jmp 0x63db
leaq -0x1b8(%rbp), %rdi
movq -0x18(%rbp), %rsi
callq 0x3200
jmp 0x63ed
movq -0x10(%rbp), %rsi
movq -0x20(%rbp), %rcx
xorl %eax, %eax
movl %eax, %edx
leaq -0x218(%rbp), %rdi
callq 0x3260
jmp 0x6407
leaq -0x238(%rbp), %rdi
leaq -0x1c8(%rbp), %rsi
callq 0x3210
jmp 0x641c
leaq -0x1f8(%rbp), %rdi
leaq -0x218(%rbp), %rsi
leaq -0x238(%rbp), %rdx
callq 0x7a30
jmp 0x6438
leaq -0x258(%rbp), %rdi
leaq -0x40(%rbp), %rsi
callq 0x7170
jmp 0x644a
movq -0x268(%rbp), %rdi
leaq -0x1f8(%rbp), %rsi
leaq -0x258(%rbp), %rdx
callq 0x7a30
jmp 0x6466
leaq -0x258(%rbp), %rdi
callq 0x3140
leaq -0x1f8(%rbp), %rdi
callq 0x3140
leaq -0x238(%rbp), %rdi
callq 0x3140
leaq -0x218(%rbp), %rdi
callq 0x3140
leaq -0x1c8(%rbp), %rdi
callq 0x31a0
leaq -0x40(%rbp), %rdi
callq 0x3140
movq -0x260(%rbp), %rax
addq $0x280, %rsp            # imm = 0x280
popq %rbp
retq
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x1d0(%rbp)
movl %eax, -0x1d4(%rbp)
jmp 0x6570
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x1d0(%rbp)
movl %eax, -0x1d4(%rbp)
jmp 0x6564
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x1d0(%rbp)
movl %eax, -0x1d4(%rbp)
jmp 0x6558
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x1d0(%rbp)
movl %eax, -0x1d4(%rbp)
jmp 0x654c
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x1d0(%rbp)
movl %eax, -0x1d4(%rbp)
jmp 0x6540
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x1d0(%rbp)
movl %eax, -0x1d4(%rbp)
leaq -0x258(%rbp), %rdi
callq 0x3140
leaq -0x1f8(%rbp), %rdi
callq 0x3140
leaq -0x238(%rbp), %rdi
callq 0x3140
leaq -0x218(%rbp), %rdi
callq 0x3140
leaq -0x1c8(%rbp), %rdi
callq 0x31a0
leaq -0x40(%rbp), %rdi
callq 0x3140
movq -0x1d0(%rbp), %rdi
callq 0x3380
nopw %cs:(%rax,%rax)