// File: mahdibohloul[P]SnapTrip/./Business-Logic/Backend.cpp
// Function: Backend::fill_manual_weights_info(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>>>> const&)
Database::User::Weights Backend::fill_manual_weights_info(const data_t& data)
{
    auto weights = Database::Hotel::RatingInfo();
    auto activity_status = (find_info(ConstNames::Active, data) == ConstNames::True) ? ConstNames::Active_Mode : (find_info(ConstNames::Active, data) == ConstNames::False) ?  ConstNames::Inactive_Mode : throw Exception(ConstNames::Bad_Request_msg);
    if(activity_status)
        weights = fill_rating_info(data, ConstNames::Manual_Weights_Order);
    return Database::User::Weights(weights, activity_status);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x240, %rsp            # imm = 0x240
movq %rdi, -0x218(%rbp)
movq %rdi, %rax
movq %rax, -0x210(%rbp)
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq %rdx, -0x18(%rbp)
movq -0x10(%rbp), %rax
movq %rax, -0x208(%rbp)
leaq -0xb0(%rbp), %rdi
callq 0x57fb0
movq -0x208(%rbp), %rsi
movq -0x18(%rbp), %rcx
movb $0x0, -0x109(%rbp)
movb $0x0, -0x119(%rbp)
movb $0x0, -0x141(%rbp)
leaq 0x9aa8a(%rip), %rdx     # 0x117ba0
leaq -0xd8(%rbp), %rdi
callq 0x7bad0
jmp 0x7d124
leaq -0xd8(%rbp), %rdi
leaq 0x9aa8e(%rip), %rsi     # 0x117bc0
callq 0x55080
testb $0x1, %al
jne 0x7d13d
jmp 0x7d14a
movb $0x1, %al
movb %al, -0x219(%rbp)
jmp 0x7d20f
movq -0x208(%rbp), %rsi
movq -0x18(%rbp), %rcx
leaq 0x9aa44(%rip), %rdx     # 0x117ba0
leaq -0x108(%rbp), %rdi
callq 0x7bad0
jmp 0x7d16a
movb $0x1, -0x109(%rbp)
leaq -0x108(%rbp), %rdi
leaq 0x9aa61(%rip), %rsi     # 0x117be0
callq 0x55080
testb $0x1, %al
jne 0x7d18a
jmp 0x7d18c
jmp 0x7d205
movl $0x28, %edi
callq 0x6210
movq %rax, %rcx
movq %rcx, -0x228(%rbp)
movq %rax, -0x118(%rbp)
movb $0x1, -0x119(%rbp)
leaq 0x9a1cb(%rip), %rsi     # 0x117380
leaq -0x140(%rbp), %rdi
callq 0x61d0
jmp 0x7d1c3
movq -0x228(%rbp), %rdi
movb $0x1, -0x141(%rbp)
leaq -0x140(%rbp), %rsi
callq 0xabc90
jmp 0x7d1df
movq -0x228(%rbp), %rdi
movb $0x0, -0x119(%rbp)
leaq 0x8aa74(%rip), %rsi     # 0x107c68
leaq 0x2eb05(%rip), %rdx     # 0xabd00
callq 0x6710
jmp 0x7d3fe
xorl %eax, %eax
movb %al, -0x219(%rbp)
jmp 0x7d20f
movb -0x219(%rbp), %al
movb %al, -0x229(%rbp)
testb $0x1, -0x141(%rbp)
jne 0x7d226
jmp 0x7d232
leaq -0x140(%rbp), %rdi
callq 0x6828
testb $0x1, -0x109(%rbp)
jne 0x7d23d
jmp 0x7d249
leaq -0x108(%rbp), %rdi
callq 0x6828
leaq -0xd8(%rbp), %rdi
callq 0x6828
movb -0x229(%rbp), %al
andb $0x1, %al
movb %al, -0xb1(%rbp)
testb $0x1, -0xb1(%rbp)
je 0x7d3ab
movq -0x18(%rbp), %rax
movq %rax, -0x238(%rbp)
leaq 0x9a3de(%rip), %rsi     # 0x117660
leaq -0x200(%rbp), %rdi
callq 0x61d0
jmp 0x7d290
movq -0x238(%rbp), %rdx
movq -0x208(%rbp), %rsi
leaq -0x1e0(%rbp), %rdi
leaq -0x200(%rbp), %rcx
callq 0x7bdf0
jmp 0x7d2b3
leaq -0xb0(%rbp), %rdi
leaq -0x1e0(%rbp), %rsi
callq 0x5a660
leaq -0x1e0(%rbp), %rdi
callq 0x5a6b0
leaq -0x200(%rbp), %rdi
callq 0x6828
jmp 0x7d3ab
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xe0(%rbp)
movl %eax, -0xe4(%rbp)
jmp 0x7d3e6
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xe0(%rbp)
movl %eax, -0xe4(%rbp)
jmp 0x7d37d
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xe0(%rbp)
movl %eax, -0xe4(%rbp)
jmp 0x7d34d
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xe0(%rbp)
movl %eax, -0xe4(%rbp)
testb $0x1, -0x141(%rbp)
jne 0x7d33f
jmp 0x7d34b
leaq -0x140(%rbp), %rdi
callq 0x6828
jmp 0x7d34d
testb $0x1, -0x119(%rbp)
jne 0x7d358
jmp 0x7d364
movq -0x118(%rbp), %rdi
callq 0x6360
testb $0x1, -0x109(%rbp)
jne 0x7d36f
jmp 0x7d37b
leaq -0x108(%rbp), %rdi
callq 0x6828
jmp 0x7d37d
leaq -0xd8(%rbp), %rdi
callq 0x6828
jmp 0x7d3e6
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xe0(%rbp)
movl %eax, -0xe4(%rbp)
leaq -0x200(%rbp), %rdi
callq 0x6828
jmp 0x7d3e6
movq -0x218(%rbp), %rdi
movzbl -0xb1(%rbp), %edx
andl $0x1, %edx
leaq -0xb0(%rbp), %rsi
callq 0x690f0
jmp 0x7d3ca
leaq -0xb0(%rbp), %rdi
callq 0x5a6b0
movq -0x210(%rbp), %rax
addq $0x240, %rsp            # imm = 0x240
popq %rbp
retq
leaq -0xb0(%rbp), %rdi
callq 0x5a6b0
movq -0xe0(%rbp), %rdi
callq 0x6750
nop