// File: /workspace/github_cpp_makefile_star2_O2/tomfunkhouser[P]gaps/pkgs/RNBasics/json.cpp
// Function: Json::StreamWriterBuilder::newStreamWriter() const
StreamWriter* StreamWriterBuilder::newStreamWriter() const
{
  std::string indentation = settings_["indentation"].asString();
  std::string cs_str = settings_["commentStyle"].asString();
  bool eyc = settings_["enableYAMLCompatibility"].asBool();
  bool dnp = settings_["dropNullPlaceholders"].asBool();
  bool usf = settings_["useSpecialFloats"].asBool(); 
  unsigned int pre = settings_["precision"].asUInt();
  CommentStyle::Enum cs = CommentStyle::All;
  if (cs_str == "All") {
    cs = CommentStyle::All;
  } else if (cs_str == "None") {
    cs = CommentStyle::None;
  } else {
    throwRuntimeError("commentStyle must be 'All' or 'None'");
  }
  std::string colonSymbol = " : ";
  if (eyc) {
    colonSymbol = ": ";
  } else if (indentation.empty()) {
    colonSymbol = ":";
  }
  std::string nullSymbol = "null";
  if (dnp) {
    nullSymbol = "";
  }
  if (pre > 17) pre = 17;
  std::string endingLineFeedSymbol = "";
  return new BuiltStyledStreamWriter(
      indentation, cs,
      colonSymbol, nullSymbol, endingLineFeedSymbol, usf, pre);
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0xa8, %rsp
movq %rdi, %r14
addq $0x8, %r14
leaq 0x331a1(%rip), %rsi     # 0xac976
movq %r14, %rdi
callq 0x73596
leaq 0x88(%rsp), %rdi
movq %rax, %rsi
callq 0x7012a
leaq 0x3318e(%rip), %rsi     # 0xac982
movq %r14, %rdi
callq 0x73596
leaq 0x68(%rsp), %rdi
movq %rax, %rsi
callq 0x7012a
leaq 0x3317f(%rip), %rsi     # 0xac98f
movq %r14, %rdi
callq 0x73596
movq %rax, %rdi
callq 0x735ce
movl %eax, %r15d
leaq 0x3317d(%rip), %rsi     # 0xac9a7
movq %r14, %rdi
callq 0x73596
movq %rax, %rdi
callq 0x735ce
movl %eax, %ebp
leaq 0x33179(%rip), %rsi     # 0xac9bc
movq %r14, %rdi
callq 0x73596
movq %rax, %rdi
callq 0x735ce
movl %eax, %ebx
leaq 0x33171(%rip), %rsi     # 0xac9cd
movq %r14, %rdi
callq 0x73596
movq %rax, %rdi
callq 0x751a2
movl %eax, %r12d
leaq 0x33161(%rip), %rsi     # 0xac9d7
leaq 0x68(%rsp), %rdi
callq 0x7a130
testb %al, %al
je 0x7988a
pushq $0x2
popq %r14
jmp 0x798a6
leaq 0x3314a(%rip), %rsi     # 0xac9db
leaq 0x68(%rsp), %rdi
callq 0x7a130
xorl %r14d, %r14d
testb %al, %al
je 0x799b5
leaq 0x330bc(%rip), %rsi     # 0xac969
leaq 0x8(%rsp), %rdi
leaq 0x28(%rsp), %rdx
callq 0x196d0
testb %r15b, %r15b
je 0x798ca
leaq 0x330a2(%rip), %rsi     # 0xac96a
jmp 0x798dc
cmpq $0x0, 0x90(%rsp)
jne 0x798e6
leaq 0x33086(%rip), %rsi     # 0xac962
leaq 0x8(%rsp), %rdi
callq 0x11b80
leaq 0x3303d(%rip), %rsi     # 0xac92a
leaq 0x28(%rsp), %rdi
leaq 0x48(%rsp), %rdx
callq 0x196d0
testb %bpl, %bpl
je 0x79912
leaq 0x2fc5c(%rip), %rsi     # 0xa9564
leaq 0x28(%rsp), %rdi
callq 0x11b80
cmpl $0x11, %r12d
pushq $0x11
popq %r13
cmovbl %r12d, %r13d
leaq 0x2fc3f(%rip), %rsi     # 0xa9564
leaq 0x48(%rsp), %rdi
leaq 0x7(%rsp), %rdx
callq 0x196d0
movl $0xe0, %edi
callq 0x115c0
movq %rax, %r15
movzbl %bl, %eax
leaq 0x88(%rsp), %rsi
leaq 0x8(%rsp), %rcx
leaq 0x28(%rsp), %r8
leaq 0x48(%rsp), %r9
movq %r15, %rdi
movl %r14d, %edx
pushq %r13
pushq %rax
callq 0x78a9c
popq %rax
popq %rcx
leaq 0x48(%rsp), %rdi
callq 0x11270
leaq 0x28(%rsp), %rdi
callq 0x11270
leaq 0x8(%rsp), %rdi
callq 0x11270
leaq 0x68(%rsp), %rdi
callq 0x11270
leaq 0x88(%rsp), %rdi
callq 0x11270
movq %r15, %rax
addq $0xa8, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
leaq 0x33024(%rip), %rsi     # 0xac9e0
leaq 0x8(%rsp), %rdi
leaq 0x28(%rsp), %rdx
callq 0x196d0
leaq 0x8(%rsp), %rdi
callq 0x6f0a2
movq %rax, %rbx
jmp 0x79a13
jmp 0x79a27
jmp 0x79a01
jmp 0x79a10
movq %rax, %rbx
movl $0xe0, %esi
movq %r15, %rdi
callq 0x115d0
jmp 0x799f5
movq %rax, %rbx
leaq 0x48(%rsp), %rdi
callq 0x11270
jmp 0x79a04
movq %rax, %rbx
leaq 0x28(%rsp), %rdi
callq 0x11270
jmp 0x79a13
movq %rax, %rbx
leaq 0x8(%rsp), %rdi
callq 0x11270
jmp 0x79a2a
jmp 0x79a27
jmp 0x79a27
jmp 0x79a27
jmp 0x79a27
movq %rax, %rbx
leaq 0x68(%rsp), %rdi
callq 0x11270
leaq 0x88(%rsp), %rdi
callq 0x11270
movq %rbx, %rdi
callq 0x11a80
movq %rax, %rbx
jmp 0x79a34