// File: /workspace/github_cpp_makefile_star2_O2/errantlinguist[P]Forecast/src/main.cpp
// Function: main
int main(int argc, char** argv)
{
	int result(EXIT_FAILURE);

	if(argc > 2)
	{
		std::cerr << createUsageMessage(argv[0]);
		result = common::getSysExitCode(common::SysExit::INVALID_COMMAND_LINE);
	}
	else if(argc > 1)
	{
		const char* const& input = argv[1];
		std::ifstream infile(input);
		if(infile)
		{
			std::cerr << "Reading from file path \"" << input
					  << "\"..." << std::endl;
			result = readJsonStream(infile);
		}
		else
		{
			std::cerr << "Reading from URL \"" << input
					  << "\"..." << std::endl;
			result = readUrl(input);
		}
		infile.close();
	}
	else
	{
		std::cerr << createUsageMessage(argv[0]);
		result = common::getSysExitCode(common::SysExit::INVALID_COMMAND_LINE);
	}

	return result;
}

// Assembly:
pushq %r14
pushq %rbx
subq $0x268, %rsp            # imm = 0x268
movq %rsi, %rbx
cmpl $0x3, %edi
jl 0xaa61
leaq 0x60(%rsp), %r14
movq %r14, %rdi
movq %rbx, %rsi
callq 0xaec0
movq 0x2e56c(%rip), %rdi     # 0x38fc0
movq %r14, %rsi
callq 0x9170
jmp 0xab34
cmpl $0x2, %edi
jne 0xab15
movq 0x8(%rbx), %rsi
leaq 0x60(%rsp), %r14
pushq $0x8
popq %rdx
movq %r14, %rdi
callq 0x9040
movq (%r14), %rax
movq -0x18(%rax), %rax
testb $0x5, 0x80(%rsp,%rax)
je 0xab46
movq 0x2e526(%rip), %rdi     # 0x38fc0
leaq 0x17669(%rip), %rsi     # 0x2210a
callq 0x9360
movq 0x8(%rbx), %rsi
movq %rax, %rdi
callq 0x9360
leaq 0x1764c(%rip), %rsi     # 0x22105
movq %rax, %rdi
callq 0x9360
movq %rax, %rdi
callq 0x9610
movq 0x8(%rbx), %rbx
pushq $0x3
popq %rdi
callq 0x9120
testl %eax, %eax
je 0xabb7
movl %eax, %edi
callq 0x9240
movq %rax, %rbx
movq 0x2e4d2(%rip), %rdi     # 0x38fc0
leaq 0x176cf(%rip), %rsi     # 0x221c4
callq 0x9360
movq %rax, %rdi
movq %rbx, %rsi
callq 0x9360
movq %rax, %rdi
callq 0x9610
pushq $0x46
popq %rbx
jmp 0xac94
leaq 0x60(%rsp), %r14
movq %r14, %rdi
movq %rbx, %rsi
callq 0xaec0
movq 0x2e494(%rip), %rdi     # 0x38fc0
movq %r14, %rsi
callq 0x9170
leaq 0x60(%rsp), %rdi
callq 0x9710
pushq $0x40
popq %rbx
jmp 0xaca8
movq 0x2e473(%rip), %rdi     # 0x38fc0
leaq 0x17598(%rip), %rsi     # 0x220ec
callq 0x9360
movq 0x8(%rbx), %rsi
movq %rax, %rdi
callq 0x9360
leaq 0x17599(%rip), %rsi     # 0x22105
movq %rax, %rdi
callq 0x9360
movq %rax, %rdi
callq 0x9610
leaq 0x38(%rsp), %rbx
pushq $0x1
popq %rsi
movq %rbx, %rdi
movl $0x10000, %edx          # imm = 0x10000
callq 0x152c8
leaq 0x18(%rsp), %rdi
leaq 0x60(%rsp), %rdx
movq %rbx, %rsi
callq 0x15316
movq 0x18(%rsp), %rdi
testq %rdi, %rdi
je 0xac29
callq 0xaf44
jmp 0xac44
movl $0x100, %edi            # imm = 0x100
callq 0x9280
movq %rax, 0x8(%rsp)
leaq 0x38(%rsp), %rsi
movq %rax, (%rsi)
leaq 0x18(%rsp), %rdi
callq 0x162a4
leaq 0x175c1(%rip), %rax     # 0x221a0
leaq 0x38(%rsp), %rsi
movq %rax, (%rsi)
leaq 0x18(%rsp), %rdi
callq 0x163a2
leaq 0x38(%rsp), %r14
leaq 0x18(%rsp), %rsi
pushq $0x1
popq %rdx
movq %r14, %rdi
callq 0x150c0
leaq 0x10(%rsp), %rdi
movq %r14, %rsi
movq %rbx, %rdx
callq 0x150c8
movq 0x10(%rsp), %rdi
testq %rdi, %rdi
je 0xac5c
xorl %ebx, %ebx
callq 0xaf44
jmp 0xac71
movq 0x2e390(%rip), %rdi     # 0x38fc0
leaq 0x17501(%rip), %rsi     # 0x22138
callq 0x9360
movq %rax, %rdi
callq 0x9610
leaq 0x18(%rsp), %rdi
callq 0xb138
leaq 0x40(%rsp), %rdi
callq 0xb54a
xorl %ebx, %ebx
jmp 0xac94
movq 0x8(%rsp), %rax
leaq 0x58(%rsp), %rdi
movq %rax, (%rdi)
callq 0xb02c
pushq $0x44
popq %rbx
leaq 0x10(%rsp), %rdi
callq 0xb138
leaq 0x18(%rsp), %rdi
callq 0x1635c
leaq 0x8(%rsp), %rdi
callq 0xb54a
callq 0x9590
leaq 0x60(%rsp), %rdi
callq 0x93a0
leaq 0x60(%rsp), %rdi
callq 0x9030
movl %ebx, %eax
addq $0x268, %rsp            # imm = 0x268
popq %rbx
popq %r14
retq
jmp 0xacb7
movq %rdx, %r14
movq %rax, %rbx
leaq 0x10(%rsp), %rdi
callq 0xb138
jmp 0xaccf
movq %rdx, %r14
movq %rax, %rbx
cmpl $0x1, %r14d
jne 0xad0b
movq %rbx, %rdi
callq 0x9060
movq 0x8(%rsp), %rcx
movq %rcx, 0x38(%rsp)
cmpb $0x0, (%rcx)
jne 0xacf8
movl (%rax), %edi
callq 0x9240
movq %rax, 0x38(%rsp)
leaq 0x38(%rsp), %rdi
callq 0xb02c
callq 0x94c0
pushq $0x46
jmp 0xad65
cmpl $0x2, %r14d
jne 0xada6
movq %rbx, %rdi
callq 0x9060
leaq 0x38(%rsp), %rdi
movq %rax, %rsi
callq 0xafa1
movq 0x2e28f(%rip), %rdi     # 0x38fc0
leaq 0x38(%rsp), %rsi
callq 0x9170
movq %rax, %rdi
callq 0x9610
leaq 0x38(%rsp), %rdi
callq 0x9710
leaq 0x18(%rsp), %rdi
movl $0x100012, %esi         # imm = 0x100012
xorl %edx, %edx
callq 0x163c4
callq 0x94c0
pushq $0x1
popq %rbx
jmp 0xac7b
jmp 0xada0
jmp 0xad6f
movq %rdx, %r14
movq %rax, %rbx
jmp 0xad87
movq %rdx, %r14
movq %rax, %rbx
leaq 0x38(%rsp), %rdi
callq 0x9710
callq 0x94c0
jmp 0xada6
jmp 0xae92
movq %rdx, %r14
movq %rax, %rbx
callq 0x94c0
jmp 0xada6
movq %rdx, %r14
movq %rax, %rbx
leaq 0x18(%rsp), %rdi
callq 0x1635c
jmp 0xadb8
movq %rdx, %r14
movq %rax, %rbx
leaq 0x8(%rsp), %rdi
callq 0xb54a
jmp 0xadca
movq %rdx, %r14
movq %rax, %rbx
cmpl $0x1, %r14d
jne 0xaeae
movq %rbx, %rdi
callq 0x9060
movl (%rax), %edi
callq 0x9240
leaq 0x18(%rsp), %rdi
movq %rax, (%rdi)
callq 0xb02c
callq 0x94c0
pushq $0x46
popq %rbx
jmp 0xac8f
movq %rax, %rbx
callq 0x94c0
jmp 0xaeae
movq %rdx, %r14
movq %rax, %rbx
jmp 0xae22
movq %rdx, %r14
movq %rax, %rbx
leaq 0x18(%rsp), %rdi
callq 0xb138
cmpl $0x2, %r14d
jne 0xae86
movq %rbx, %rdi
callq 0x9060
leaq 0x18(%rsp), %rdi
movq %rax, %rsi
callq 0xafa1
movq 0x2e17c(%rip), %rdi     # 0x38fc0
leaq 0x18(%rsp), %rsi
callq 0x9170
movq %rax, %rdi
callq 0x9610
leaq 0x18(%rsp), %rdi
callq 0x9710
callq 0x94c0
jmp 0xac4e
movq %rax, %rbx
jmp 0xae86
movq %rax, %rbx
jmp 0xae81
movq %rax, %rbx
leaq 0x18(%rsp), %rdi
callq 0x9710
callq 0x94c0
leaq 0x40(%rsp), %rdi
callq 0xb54a
jmp 0xaeae
movq %rax, %rdi
callq 0xb12c
jmp 0xae9c
movq %rax, %rbx
leaq 0x60(%rsp), %rdi
callq 0x9710
jmp 0xaeb8
movq %rax, %rbx
leaq 0x60(%rsp), %rdi
callq 0x9030
movq %rbx, %rdi
callq 0x93b0