// File: /workspace/github_cpp_makefile_star2_O3/errantlinguist[P]Forecast/src/console_weather/writers/FlagsConsoleWriter.cpp
// Function: console_weather::writers::FlagsConsoleWriter::write(forecast_io::Flags const&, std::ostream&)
void FlagsConsoleWriter::write(const forecast_io::Flags& value, std::ostream& output)
{
	output << "Measurement system: ";
	static const forecast_io::MeasurementSystemNameArray& measurementNames = *forecast_io::MeasurementSystemDefaultNameArrayHolder::getInstance();
	const std::string measurementName =
			measurementNames[static_cast<size_t>(value.getUnits())];
	output << measurementName << '\n';

	output << "Dark Sky service is available: ";
	const std::string darkskyAvailableStr = common::to_string(
			!value.isDarkskyUnavailable());
	output << darkskyAvailableStr << '\n';

	output << "met.no license is present: ";
	const std::string metnoLicenseStr = common::to_string(
			value.hasMetnoLicense());
	output << metnoLicenseStr << '\n';

	const std::unordered_set<std::string>& sources = value.getSources();
	output << "Sources used: " << sources.size() << '\n';

	const std::unordered_multimap<std::string, std::string>& stations =
			value.getStations();
	output << "Stations used: " << stations.size() << '\n';

}

// Assembly:
pushq %r15
pushq %r14
pushq %r12
pushq %rbx
subq $0x68, %rsp
movq %rdx, %rbx
movq %rsi, %r14
leaq 0x10d2e(%rip), %rsi     # 0x2b25a
movl $0x14, %edx
movq %rbx, %rdi
callq 0x95c0
movb 0x25599(%rip), %al      # 0x3fad8
testb %al, %al
je 0x1a705
movq 0x25582(%rip), %rax     # 0x3fad0
movq 0x80(%r14), %rcx
shlq $0x5, %rcx
leaq 0x58(%rsp), %r12
movq %r12, -0x10(%r12)
movq (%rax,%rcx), %rsi
movq 0x8(%rax,%rcx), %rdx
addq %rsi, %rdx
leaq 0x48(%rsp), %r15
movq %r15, %rdi
callq 0x1424a
movq (%r15), %rsi
movq 0x8(%r15), %rdx
movq %rbx, %rdi
callq 0x95c0
leaq 0x28(%rsp), %rsi
movb $0xa, (%rsi)
movl $0x1, %edx
movq %rax, %rdi
callq 0x95c0
leaq 0x10cc8(%rip), %rsi     # 0x2b26f
movl $0x1f, %edx
movq %rbx, %rdi
callq 0x95c0
movb 0x8(%r14), %al
xorb $0x1, %al
leaq 0x8(%rsp), %rsi
movb %al, (%rsi)
leaq 0x28(%rsp), %rdi
callq 0x19f66
movq 0x28(%rsp), %rsi
movq 0x30(%rsp), %rdx
movq %rbx, %rdi
callq 0x95c0
leaq 0x8(%rsp), %rsi
movb $0xa, (%rsi)
movl $0x1, %edx
movq %rax, %rdi
callq 0x95c0
leaq 0x10c96(%rip), %rsi     # 0x2b28f
movl $0x1b, %edx
movq %rbx, %rdi
callq 0x95c0
movb 0x9(%r14), %al
leaq 0x7(%rsp), %rsi
movb %al, (%rsi)
leaq 0x8(%rsp), %rdi
callq 0x19f66
movq 0x8(%rsp), %rsi
movq 0x10(%rsp), %rdx
movq %rbx, %rdi
callq 0x95c0
leaq 0x7(%rsp), %rsi
movb $0xa, (%rsi)
movl $0x1, %edx
movq %rax, %rdi
callq 0x95c0
leaq 0x10c62(%rip), %rsi     # 0x2b2ab
movl $0xe, %edx
movq %rbx, %rdi
callq 0x95c0
movq 0x28(%r14), %rsi
movq %rbx, %rdi
callq 0x92d0
leaq 0x7(%rsp), %rsi
movb $0xa, (%rsi)
movl $0x1, %edx
movq %rax, %rdi
callq 0x95c0
leaq 0x10c3c(%rip), %rsi     # 0x2b2ba
movl $0xf, %edx
movq %rbx, %rdi
callq 0x95c0
movq 0x60(%r14), %rsi
movq %rbx, %rdi
callq 0x92d0
leaq 0x7(%rsp), %rsi
movb $0xa, (%rsi)
movl $0x1, %edx
movq %rax, %rdi
callq 0x95c0
leaq 0x18(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x1a6c7
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x90a0
leaq 0x38(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x1a6e2
movq 0x38(%rsp), %rsi
incq %rsi
callq 0x90a0
movq 0x48(%rsp), %rdi
cmpq %r12, %rdi
je 0x1a6f9
movq 0x58(%rsp), %rsi
incq %rsi
callq 0x90a0
addq $0x68, %rsp
popq %rbx
popq %r12
popq %r14
popq %r15
retq
leaq 0x253cc(%rip), %rdi     # 0x3fad8
callq 0x91a0
testl %eax, %eax
je 0x1a547
callq 0x1a7b4
movq (%rax), %rax
movq %rax, 0x253a8(%rip)     # 0x3fad0
leaq 0x253a9(%rip), %rdi     # 0x3fad8
callq 0x9340
jmp 0x1a547
movq %rax, %rbx
leaq 0x25395(%rip), %rdi     # 0x3fad8
callq 0x91f0
jmp 0x1a7ac
jmp 0x1a772
jmp 0x1a792
jmp 0x1a752
jmp 0x1a752
movq %rax, %rbx
leaq 0x18(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x1a775
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x90a0
jmp 0x1a775
movq %rax, %rbx
leaq 0x38(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x1a795
movq 0x38(%rsp), %rsi
incq %rsi
callq 0x90a0
jmp 0x1a795
movq %rax, %rbx
movq 0x48(%rsp), %rdi
cmpq %r12, %rdi
je 0x1a7ac
movq 0x58(%rsp), %rsi
incq %rsi
callq 0x90a0
movq %rbx, %rdi
callq 0x9390