// File: travisdowns[P]avx-turbo/./args.hxx
// Function: bool args::ArgumentParser::ParseShort<__gnu_cxx::__normal_iterator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const*, 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>>>>>>(__gnu_cxx::__normal_iterator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const*, 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>>>>>&, __gnu_cxx::__normal_iterator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const*, 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>>>>>)
bool ParseShort(It &it, It end)
            {
                const auto &chunk = *it;
                const auto argchunk = chunk.substr(shortprefix.size());
                for (auto argit = std::begin(argchunk); argit != std::end(argchunk); ++argit)
                {
                    const auto arg = *argit;

                    if (auto flag = Match(arg))
                    {
                        const std::string value(argit + 1, std::end(argchunk));
                        std::vector<std::string> values;
                        if (!ParseArgsValues(*flag, std::string(1, arg), it, end,
                                             allowSeparateShortValue, allowJoinedShortValue,
                                             !value.empty(), value, !value.empty(), values))
                        {
                            return false;
                        }

                        flag->ParseValue(values);

                        if (flag->KickOut())
                        {
                            ++it;
                            return false;
                        }

                        if (!values.empty())
                        {
                            break;
                        }
                    } else
                    {
                        return RaiseParseError("Flag could not be matched: '" + std::string(1, arg) + "'");
                    }
                }

                return true;
            }

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r14
pushq %rbx
subq $0x230, %rsp            # imm = 0x230
movq %rdx, -0x20(%rbp)
movq %rdi, -0x28(%rbp)
movq %rsi, -0x30(%rbp)
movq -0x28(%rbp), %rax
movq %rax, -0x198(%rbp)
movq -0x30(%rbp), %rdi
callq 0x1ae50
movq -0x198(%rbp), %rdi
movq %rax, -0x38(%rbp)
movq -0x38(%rbp), %rax
movq %rax, -0x190(%rbp)
addq $0x108, %rdi            # imm = 0x108
callq 0x7320
movq -0x190(%rbp), %rsi
movq %rax, %rdx
leaq -0x58(%rbp), %rdi
movq %rdi, -0x188(%rbp)
movq $-0x1, %rcx
callq 0x74a0
movq -0x188(%rbp), %rdi
callq 0x24d90
movq %rax, -0x180(%rbp)
jmp 0x23396
movq -0x180(%rbp), %rax
movq %rax, -0x60(%rbp)
leaq -0x58(%rbp), %rdi
callq 0x24e00
movq %rax, -0x1a0(%rbp)
jmp 0x233b3
movq -0x1a0(%rbp), %rax
movq %rax, -0x78(%rbp)
leaq -0x60(%rbp), %rdi
leaq -0x78(%rbp), %rsi
callq 0x24dc0
testb $0x1, %al
jne 0x233d4
jmp 0x23890
leaq -0x60(%rbp), %rdi
callq 0x24e30
movq -0x198(%rbp), %rdi
movb (%rax), %al
movb %al, -0x79(%rbp)
leaq -0x79(%rbp), %rsi
callq 0x24e50
movq %rax, -0x1a8(%rbp)
jmp 0x233fb
movq -0x1a8(%rbp), %rax
movq %rax, -0x88(%rbp)
cmpq $0x0, -0x88(%rbp)
je 0x2373e
leaq -0x60(%rbp), %rdi
movl $0x1, %esi
callq 0x24fc0
movq %rax, -0xb0(%rbp)
leaq -0x58(%rbp), %rdi
callq 0x24e00
movq %rax, -0x1b0(%rbp)
jmp 0x2343e
movq -0x1b0(%rbp), %rax
movq %rax, -0xb8(%rbp)
leaq -0xb9(%rbp), %rdi
movq %rdi, -0x1b8(%rbp)
callq 0x77c0
movq -0x1b8(%rbp), %rcx
movq -0xb0(%rbp), %rsi
movq -0xb8(%rbp), %rdx
leaq -0xa8(%rbp), %rdi
callq 0x25000
jmp 0x23482
leaq -0xb9(%rbp), %rdi
callq 0x74d0
leaq -0xd8(%rbp), %rdi
callq 0x1a000
movq -0x88(%rbp), %rax
movq %rax, -0x1d0(%rbp)
movsbl -0x79(%rbp), %eax
movl %eax, -0x1c4(%rbp)
leaq -0xf9(%rbp), %rdi
movq %rdi, -0x1c0(%rbp)
callq 0x77c0
movl -0x1c4(%rbp), %edx
movq -0x1c0(%rbp), %rcx
leaq -0xf8(%rbp), %rdi
movl $0x1, %esi
callq 0x7300
jmp 0x234e5
movq -0x198(%rbp), %rax
movq -0x30(%rbp), %rcx
movq %rcx, -0x1e0(%rbp)
movq -0x20(%rbp), %rcx
movq %rcx, -0x108(%rbp)
movzbl 0x16a(%rax), %ecx
movl %ecx, -0x1e4(%rbp)
movzbl 0x168(%rax), %eax
movl %eax, -0x1e8(%rbp)
leaq -0xa8(%rbp), %rdi
movq %rdi, -0x1f8(%rbp)
callq 0x7760
movq -0x1f8(%rbp), %rdi
xorb $0x1, %al
movb %al, -0x1e9(%rbp)
callq 0x7760
movq -0x1f8(%rbp), %r11
movb -0x1e9(%rbp), %r10b
movl -0x1e8(%rbp), %edx
movl -0x1e4(%rbp), %r9d
movq -0x198(%rbp), %rdi
movq -0x1d0(%rbp), %rsi
movq -0x1e0(%rbp), %rcx
movb %al, %bl
xorb $0x1, %bl
movq -0x108(%rbp), %r8
movq %rsp, %rax
leaq -0xd8(%rbp), %r14
movq %r14, 0x20(%rax)
movzbl %bl, %ebx
movl %ebx, 0x18(%rax)
movq %r11, 0x10(%rax)
movzbl %r10b, %r10d
movl %r10d, 0x8(%rax)
andl $0x1, %edx
movl %edx, (%rax)
andl $0x1, %r9d
leaq -0xf8(%rbp), %rdx
callq 0x23c70
movb %al, -0x1d1(%rbp)
jmp 0x235bc
movb -0x1d1(%rbp), %al
xorb $-0x1, %al
movb %al, -0x1f9(%rbp)
leaq -0xf8(%rbp), %rdi
callq 0x7290
leaq -0xf9(%rbp), %rdi
callq 0x74d0
movb -0x1f9(%rbp), %al
testb $0x1, %al
jne 0x235ee
jmp 0x23666
movb $0x0, -0x11(%rbp)
movl $0x1, -0x10c(%rbp)
jmp 0x236de
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x68(%rbp)
movl %eax, -0x6c(%rbp)
jmp 0x238b8
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x68(%rbp)
movl %eax, -0x6c(%rbp)
leaq -0xb9(%rbp), %rdi
callq 0x74d0
jmp 0x238b8
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x68(%rbp)
movl %eax, -0x6c(%rbp)
jmp 0x23655
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x68(%rbp)
movl %eax, -0x6c(%rbp)
leaq -0xf8(%rbp), %rdi
callq 0x7290
leaq -0xf9(%rbp), %rdi
callq 0x74d0
jmp 0x23721
movq -0x88(%rbp), %rdi
movq (%rdi), %rax
movq 0x50(%rax), %rax
leaq -0xd8(%rbp), %rsi
callq *%rax
jmp 0x2367f
movq -0x88(%rbp), %rdi
callq 0x23a00
testb $0x1, %al
jne 0x23691
jmp 0x236b8
movq -0x30(%rbp), %rdi
callq 0x1ae70
movb $0x0, -0x11(%rbp)
movl $0x1, -0x10c(%rbp)
jmp 0x236de
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x68(%rbp)
movl %eax, -0x6c(%rbp)
jmp 0x23721
leaq -0xd8(%rbp), %rdi
callq 0x25080
testb $0x1, %al
jne 0x236d4
movl $0x2, -0x10c(%rbp)
jmp 0x236de
movl $0x0, -0x10c(%rbp)
leaq -0xd8(%rbp), %rdi
callq 0x110d0
leaq -0xa8(%rbp), %rdi
callq 0x7290
movl -0x10c(%rbp), %eax
movl %eax, -0x200(%rbp)
testl %eax, %eax
je 0x2371c
jmp 0x23708
movl -0x200(%rbp), %eax
subl $0x2, %eax
je 0x23890
jmp 0x2389e
jmp 0x23880
leaq -0xd8(%rbp), %rdi
callq 0x110d0
leaq -0xa8(%rbp), %rdi
callq 0x7290
jmp 0x238b8
movsbl -0x79(%rbp), %eax
movl %eax, -0x20c(%rbp)
leaq -0x171(%rbp), %rdi
movq %rdi, -0x208(%rbp)
callq 0x77c0
movl -0x20c(%rbp), %edx
movq -0x208(%rbp), %rcx
leaq -0x170(%rbp), %rdi
movl $0x1, %esi
callq 0x7300
jmp 0x2377b
leaq 0x1dfc4(%rip), %rsi     # 0x41746
leaq -0x150(%rbp), %rdi
leaq -0x170(%rbp), %rdx
callq 0x250c0
jmp 0x23797
leaq 0x1dfc3(%rip), %rdx     # 0x41761
leaq -0x130(%rbp), %rdi
leaq -0x150(%rbp), %rsi
callq 0x11470
jmp 0x237b3
movq -0x198(%rbp), %rdi
leaq -0x130(%rbp), %rsi
callq 0x23a20
movb %al, -0x20d(%rbp)
jmp 0x237ce
movb -0x20d(%rbp), %al
andb $0x1, %al
movb %al, -0x11(%rbp)
leaq -0x130(%rbp), %rdi
callq 0x7290
leaq -0x150(%rbp), %rdi
callq 0x7290
leaq -0x170(%rbp), %rdi
callq 0x7290
leaq -0x171(%rbp), %rdi
callq 0x74d0
movl $0x1, -0x10c(%rbp)
jmp 0x2389e
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x68(%rbp)
movl %eax, -0x6c(%rbp)
jmp 0x23872
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x68(%rbp)
movl %eax, -0x6c(%rbp)
jmp 0x23866
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x68(%rbp)
movl %eax, -0x6c(%rbp)
jmp 0x2385a
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x68(%rbp)
movl %eax, -0x6c(%rbp)
leaq -0x130(%rbp), %rdi
callq 0x7290
leaq -0x150(%rbp), %rdi
callq 0x7290
leaq -0x170(%rbp), %rdi
callq 0x7290
leaq -0x171(%rbp), %rdi
callq 0x74d0
jmp 0x238b8
jmp 0x23882
leaq -0x60(%rbp), %rdi
callq 0x25110
jmp 0x233a1
movb $0x1, -0x11(%rbp)
movl $0x1, -0x10c(%rbp)
leaq -0x58(%rbp), %rdi
callq 0x7290
movb -0x11(%rbp), %al
andb $0x1, %al
addq $0x230, %rsp            # imm = 0x230
popq %rbx
popq %r14
popq %rbp
retq
leaq -0x58(%rbp), %rdi
callq 0x7290
movq -0x68(%rbp), %rdi
callq 0x77b0
nopw (%rax,%rax)