// File: /workspace/github_cpp_makefile_star2_O1/oknenavin[P]cxon/test/../src/cxon/lang/json/tidy.hxx
// Function: bool cxon::json::indenter<cxon::JSON<cxon::JSON<cxon::json::format_traits>>, std::ostreambuf_iterator<char, std::char_traits<char>>>::append<cxon::json::indenter<cxon::JSON<cxon::JSON<cxon::json::format_traits>>, std::ostreambuf_iterator<char, std::char_traits<char>>>::append(char const*, char const*)::'lambda'(std::ostreambuf_iterator<char, std::char_traits<char>>)>(cxon::json::indenter<cxon::JSON<cxon::JSON<cxon::json::format_traits>>, std::ostreambuf_iterator<char, std::char_traits<char>>>::append(char const*, char const*)::'lambda'(std::ostreambuf_iterator<char, std::char_traits<char>>))
bool append(A append) {
                    using cio::poke;
                    switch (cur()) {
                        case stt::lst:
                            return  (mut(stt::scl),     poke(o_, '\n') && poke(o_, lvl_ += tab_, pad_)   && append(o_));
                        case stt::qst: case stt::ast:
                            return  (                                                                       append(o_));
                        case stt::com:
                            return  (mut(stt::grn),     poke(o_, '\n') && poke(o_, lvl_, pad_)           && append(o_));
                        default:
                            return pre() == stt::scl ?
                                    (mut(stt::scl),     poke(o_, '\n') && poke(o_, lvl_, pad_)           && append(o_)) :
                                    (mut(stt::scl),                                                         append(o_))
                            ;
                    }
                }

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r12
pushq %rbx
movq %rdx, %r14
movq %rsi, %r15
movq %rdi, %rbx
movl 0x10(%rdi), %eax
leal -0x2(%rax), %ecx
cmpl $0x2, %ecx
jb 0x20fec
cmpl $0x6, %eax
je 0x21042
cmpl $0x1, %eax
jne 0x210cb
movl %eax, 0x14(%rbx)
movl $0x4, 0x10(%rbx)
movq %rbx, %rdi
movl $0xa, %esi
callq 0x1a032
movl 0x18(%rbx), %r12d
addl 0x1c(%rbx), %r12d
movl %r12d, 0x18(%rbx)
je 0x20f96
movsbl 0x20(%rbx), %ebp
movq %rbx, %rdi
movl %ebp, %esi
callq 0x1a032
decl %r12d
jne 0x20f87
movq (%r15), %r15
movq (%r14), %r12
cmpq %r12, %r15
je 0x211a6
movq (%rbx), %r14
movb 0x8(%rbx), %bl
movl $0x1, %ebp
testb $0x1, %bl
jne 0x20fc8
movb (%r15), %al
movq 0x28(%r14), %rcx
cmpq 0x30(%r14), %rcx
jae 0x20fd5
movb %al, (%rcx)
incq 0x28(%r14)
incq %r15
cmpq %r12, %r15
jne 0x20fb0
jmp 0x211a6
movzbl %al, %esi
movq (%r14), %rax
movq %r14, %rdi
callq *0x68(%rax)
cmpl $-0x1, %eax
movzbl %bl, %ebx
cmovel %ebp, %ebx
jmp 0x20fc8
movq (%r15), %r15
movq (%r14), %r12
cmpq %r12, %r15
je 0x211a6
movq (%rbx), %r14
movb 0x8(%rbx), %bl
movl $0x1, %ebp
testb $0x1, %bl
jne 0x2101e
movb (%r15), %al
movq 0x28(%r14), %rcx
cmpq 0x30(%r14), %rcx
jae 0x2102b
movb %al, (%rcx)
incq 0x28(%r14)
incq %r15
cmpq %r12, %r15
jne 0x21006
jmp 0x211a6
movzbl %al, %esi
movq (%r14), %rax
movq %r14, %rdi
callq *0x68(%rax)
cmpl $-0x1, %eax
movzbl %bl, %ebx
cmovel %ebp, %ebx
jmp 0x2101e
movl %eax, 0x14(%rbx)
movl $0x0, 0x10(%rbx)
movq %rbx, %rdi
movl $0xa, %esi
callq 0x1a032
movl 0x18(%rbx), %r12d
testl %r12d, %r12d
je 0x21075
movsbl 0x20(%rbx), %ebp
movq %rbx, %rdi
movl %ebp, %esi
callq 0x1a032
decl %r12d
jne 0x21066
movq (%r15), %r15
movq (%r14), %r12
cmpq %r12, %r15
je 0x211a6
movq (%rbx), %r14
movb 0x8(%rbx), %bl
movl $0x1, %ebp
testb $0x1, %bl
jne 0x210a7
movb (%r15), %al
movq 0x28(%r14), %rcx
cmpq 0x30(%r14), %rcx
jae 0x210b4
movb %al, (%rcx)
incq 0x28(%r14)
incq %r15
cmpq %r12, %r15
jne 0x2108f
jmp 0x211a6
movzbl %al, %esi
movq (%r14), %rax
movq %r14, %rdi
callq *0x68(%rax)
cmpl $-0x1, %eax
movzbl %bl, %ebx
cmovel %ebp, %ebx
jmp 0x210a7
cmpl $0x4, 0x14(%rbx)
movl %eax, 0x14(%rbx)
movl $0x4, 0x10(%rbx)
jne 0x21157
movq %rbx, %rdi
movl $0xa, %esi
callq 0x1a032
movl 0x18(%rbx), %r12d
testl %r12d, %r12d
je 0x21104
movsbl 0x20(%rbx), %ebp
movq %rbx, %rdi
movl %ebp, %esi
callq 0x1a032
decl %r12d
jne 0x210f5
movq (%r15), %r15
movq (%r14), %r12
cmpq %r12, %r15
je 0x211a6
movq (%rbx), %r14
movb 0x8(%rbx), %bl
movl $0x1, %ebp
testb $0x1, %bl
jne 0x21136
movb (%r15), %al
movq 0x28(%r14), %rcx
cmpq 0x30(%r14), %rcx
jae 0x21140
movb %al, (%rcx)
incq 0x28(%r14)
incq %r15
cmpq %r12, %r15
jne 0x2111e
jmp 0x211a6
movzbl %al, %esi
movq (%r14), %rax
movq %r14, %rdi
callq *0x68(%rax)
cmpl $-0x1, %eax
movzbl %bl, %ebx
cmovel %ebp, %ebx
jmp 0x21136
movq (%r15), %r15
movq (%r14), %r12
cmpq %r12, %r15
je 0x211a6
movq (%rbx), %r14
movb 0x8(%rbx), %bl
movl $0x1, %ebp
testb $0x1, %bl
jne 0x21185
movb (%r15), %al
movq 0x28(%r14), %rcx
cmpq 0x30(%r14), %rcx
jae 0x2118f
movb %al, (%rcx)
incq 0x28(%r14)
incq %r15
cmpq %r12, %r15
jne 0x2116d
jmp 0x211a6
movzbl %al, %esi
movq (%r14), %rax
movq %r14, %rdi
callq *0x68(%rax)
cmpl $-0x1, %eax
movzbl %bl, %ebx
cmovel %ebp, %ebx
jmp 0x21185
movb $0x1, %al
popq %rbx
popq %r12
popq %r14
popq %r15
popq %rbp
retq
nop