// File: 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:
subq $0x198, %rsp            # imm = 0x198
movq %rdi, 0x190(%rsp)
movq 0x190(%rsp), %rdi
movq %rdi, 0x80(%rsp)
addq $0x8, %rdi
movq %rdi, 0x88(%rsp)
leaq 0x72a47(%rip), %rsi     # 0x16ac19
callq 0xe9eb0
movq %rax, %rsi
leaq 0x170(%rsp), %rdi
callq 0xe2e90
movq 0x88(%rsp), %rdi
leaq 0x72a2f(%rip), %rsi     # 0x16ac25
callq 0xe9eb0
movq %rax, 0x90(%rsp)
jmp 0xf8205
movq 0x90(%rsp), %rsi
leaq 0x150(%rsp), %rdi
callq 0xe2e90
jmp 0xf821c
movq 0x80(%rsp), %rdi
addq $0x8, %rdi
leaq 0x72a03(%rip), %rsi     # 0x16ac32
callq 0xe9eb0
movq %rax, 0x78(%rsp)
jmp 0xf823b
movq 0x78(%rsp), %rdi
callq 0xe9f30
movb %al, 0x77(%rsp)
jmp 0xf824b
movq 0x80(%rsp), %rdi
movb 0x77(%rsp), %al
andb $0x1, %al
movb %al, 0x143(%rsp)
addq $0x8, %rdi
leaq 0x729df(%rip), %rsi     # 0x16ac4a
callq 0xe9eb0
movq %rax, 0x68(%rsp)
jmp 0xf8277
movq 0x68(%rsp), %rdi
callq 0xe9f30
movb %al, 0x67(%rsp)
jmp 0xf8287
movq 0x80(%rsp), %rdi
movb 0x67(%rsp), %al
andb $0x1, %al
movb %al, 0x142(%rsp)
addq $0x8, %rdi
leaq 0x729b8(%rip), %rsi     # 0x16ac5f
callq 0xe9eb0
movq %rax, 0x58(%rsp)
jmp 0xf82b3
movq 0x58(%rsp), %rdi
callq 0xe9f30
movb %al, 0x57(%rsp)
jmp 0xf82c3
movq 0x80(%rsp), %rdi
movb 0x57(%rsp), %al
andb $0x1, %al
movb %al, 0x141(%rsp)
addq $0x8, %rdi
leaq 0x7298d(%rip), %rsi     # 0x16ac70
callq 0xe9eb0
movq %rax, 0x48(%rsp)
jmp 0xf82ef
movq 0x48(%rsp), %rdi
callq 0xee300
movl %eax, 0x44(%rsp)
jmp 0xf82ff
movl 0x44(%rsp), %eax
movl %eax, 0x13c(%rsp)
movl $0x2, 0x138(%rsp)
leaq 0x7295e(%rip), %rsi     # 0x16ac7a
leaq 0x150(%rsp), %rdi
callq 0xfa250
movb %al, 0x43(%rsp)
jmp 0xf832f
movb 0x43(%rsp), %al
testb $0x1, %al
jne 0xf8339
jmp 0xf837b
movl $0x2, 0x138(%rsp)
jmp 0xf8452
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x148(%rsp)
movl %eax, 0x144(%rsp)
jmp 0xf8740
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x148(%rsp)
movl %eax, 0x144(%rsp)
jmp 0xf8733
leaq 0x728fc(%rip), %rsi     # 0x16ac7e
leaq 0x150(%rsp), %rdi
callq 0xfa250
movb %al, 0x42(%rsp)
jmp 0xf8395
movb 0x42(%rsp), %al
testb $0x1, %al
jne 0xf839f
jmp 0xf83af
movl $0x0, 0x138(%rsp)
jmp 0xf8450
leaq 0x117(%rsp), %rdi
movq %rdi, 0x38(%rsp)
callq 0x12c30
movq 0x38(%rsp), %rdx
leaq 0x728b6(%rip), %rsi     # 0x16ac83
leaq 0x118(%rsp), %rdi
callq 0x22830
jmp 0xf83dc
leaq 0x118(%rsp), %rdi
callq 0xe0b60
jmp 0xf83eb
leaq 0x118(%rsp), %rdi
callq 0x12430
leaq 0x117(%rsp), %rdi
callq 0x12760
jmp 0xf8450
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x148(%rsp)
movl %eax, 0x144(%rsp)
jmp 0xf843e
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x148(%rsp)
movl %eax, 0x144(%rsp)
leaq 0x118(%rsp), %rdi
callq 0x12430
leaq 0x117(%rsp), %rdi
callq 0x12760
jmp 0xf8733
jmp 0xf8452
leaq 0xef(%rsp), %rdi
movq %rdi, 0x30(%rsp)
callq 0x12c30
movq 0x30(%rsp), %rdx
leaq 0x7279c(%rip), %rsi     # 0x16ac0c
leaq 0xf0(%rsp), %rdi
callq 0x22830
jmp 0xf847f
leaq 0xef(%rsp), %rdi
callq 0x12760
testb $0x1, 0x143(%rsp)
je 0xf84ed
leaq 0x72770(%rip), %rsi     # 0x16ac0d
leaq 0xf0(%rsp), %rdi
callq 0x129a0
jmp 0xf84ac
jmp 0xf851a
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x148(%rsp)
movl %eax, 0x144(%rsp)
leaq 0xef(%rsp), %rdi
callq 0x12760
jmp 0xf8733
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x148(%rsp)
movl %eax, 0x144(%rsp)
jmp 0xf8726
leaq 0x170(%rsp), %rdi
callq 0x12ba0
testb $0x1, %al
jne 0xf8500
jmp 0xf8518
leaq 0x726fe(%rip), %rsi     # 0x16ac05
leaq 0xf0(%rsp), %rdi
callq 0x129a0
jmp 0xf8516
jmp 0xf8518
jmp 0xf851a
leaq 0xc7(%rsp), %rdi
movq %rdi, 0x28(%rsp)
callq 0x12c30
movq 0x28(%rsp), %rdx
leaq 0x72695(%rip), %rsi     # 0x16abcd
leaq 0xc8(%rsp), %rdi
callq 0x22830
jmp 0xf8547
leaq 0xc7(%rsp), %rdi
callq 0x12760
testb $0x1, 0x142(%rsp)
je 0xf85b5
leaq 0x6f09a(%rip), %rsi     # 0x1675ff
leaq 0xc8(%rsp), %rdi
callq 0x129a0
jmp 0xf8574
jmp 0xf85b5
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x148(%rsp)
movl %eax, 0x144(%rsp)
leaq 0xc7(%rsp), %rdi
callq 0x12760
jmp 0xf8726
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x148(%rsp)
movl %eax, 0x144(%rsp)
jmp 0xf8719
cmpl $0x11, 0x13c(%rsp)
jbe 0xf85ca
movl $0x11, 0x13c(%rsp)
leaq 0x9f(%rsp), %rdi
movq %rdi, 0x20(%rsp)
callq 0x12c30
movq 0x20(%rsp), %rdx
leaq 0x6f017(%rip), %rsi     # 0x1675ff
leaq 0xa0(%rsp), %rdi
callq 0x22830
jmp 0xf85f7
leaq 0x9f(%rsp), %rdi
callq 0x12760
movl $0xe0, %edi
callq 0x126d0
movq %rax, 0x18(%rsp)
jmp 0xf8615
movq 0x18(%rsp), %rdi
movl 0x138(%rsp), %edx
movl 0x13c(%rsp), %esi
movzbl 0x141(%rsp), %ecx
movq %rsp, %rax
movl %esi, 0x8(%rax)
andl $0x1, %ecx
movl %ecx, (%rax)
leaq 0x170(%rsp), %rsi
leaq 0xf0(%rsp), %rcx
leaq 0xc8(%rsp), %r8
leaq 0xa0(%rsp), %r9
callq 0xf67a0
jmp 0xf8662
leaq 0xa0(%rsp), %rdi
callq 0x12430
leaq 0xc8(%rsp), %rdi
callq 0x12430
leaq 0xf0(%rsp), %rdi
callq 0x12430
leaq 0x150(%rsp), %rdi
callq 0x12430
leaq 0x170(%rsp), %rdi
callq 0x12430
movq 0x18(%rsp), %rax
addq $0x198, %rsp            # imm = 0x198
retq
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x148(%rsp)
movl %eax, 0x144(%rsp)
leaq 0x9f(%rsp), %rdi
callq 0x12760
jmp 0xf8719
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x148(%rsp)
movl %eax, 0x144(%rsp)
jmp 0xf870c
movq 0x18(%rsp), %rdi
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x148(%rsp)
movl %eax, 0x144(%rsp)
movl $0xe0, %esi
callq 0x126e0
leaq 0xa0(%rsp), %rdi
callq 0x12430
leaq 0xc8(%rsp), %rdi
callq 0x12430
leaq 0xf0(%rsp), %rdi
callq 0x12430
leaq 0x150(%rsp), %rdi
callq 0x12430
leaq 0x170(%rsp), %rdi
callq 0x12430
movq 0x148(%rsp), %rdi
callq 0x12c20
nopw (%rax,%rax)