// File: kobanium[P]Ray/./include/mcts/AnalysisData.hpp
// Function: CgosAnalyzeData::GetJsonData[abi:cxx11]() const
std::string
  GetJsonData( void ) const
  {
    std::ostringstream oss;
    std::vector<std::string> pv_str;

    for (const PrincipalVariationData &datum : pv_data) {
      pv_str.push_back(datum.GetJsonData());
    }
    oss << "{ ";
    oss << "\"winrate\": " << std::fixed << std::setprecision(4) << win_rate << ",";
    oss << "\"visits\": " << visits << ", ";
    if (!pv_str.empty()) {
      oss << "\"moves\": [" << JoinStrings(pv_str, ",") << "],";
    }
    oss << "\"ownership\": \"" << ownership << "\",";
    oss << "\"comment\" : \"" << comment << "\"";
    oss << "}";

    return oss.str();
  }

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x290, %rsp            # imm = 0x290
movq %rdi, -0x228(%rbp)
movq %rdi, %rax
movq %rax, -0x220(%rbp)
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq -0x10(%rbp), %rax
movq %rax, -0x218(%rbp)
leaq -0x188(%rbp), %rdi
callq 0x7750
leaq -0x1a0(%rbp), %rdi
callq 0x29b60
movq -0x218(%rbp), %rax
addq $0x10, %rax
movq %rax, -0x1a8(%rbp)
movq -0x1a8(%rbp), %rdi
callq 0x2c190
movq %rax, -0x1b0(%rbp)
movq -0x1a8(%rbp), %rdi
callq 0x2c1c0
movq %rax, -0x1b8(%rbp)
leaq -0x1b0(%rbp), %rdi
leaq -0x1b8(%rbp), %rsi
callq 0x2c1f0
testb $0x1, %al
jne 0x2879b
jmp 0x2882c
leaq -0x1b0(%rbp), %rdi
callq 0x2c230
movq %rax, -0x1c0(%rbp)
movq -0x1c0(%rbp), %rsi
leaq -0x1e0(%rbp), %rdi
callq 0x2c250
jmp 0x287c3
leaq -0x1a0(%rbp), %rdi
leaq -0x1e0(%rbp), %rsi
callq 0x29b80
jmp 0x287d8
leaq -0x1e0(%rbp), %rdi
callq 0x7ae8
leaq -0x1b0(%rbp), %rdi
callq 0x2c5d0
jmp 0x2877f
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x1e8(%rbp)
movl %eax, -0x1ec(%rbp)
jmp 0x28adc
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x1e8(%rbp)
movl %eax, -0x1ec(%rbp)
leaq -0x1e0(%rbp), %rdi
callq 0x7ae8
jmp 0x28adc
leaq 0x84257(%rip), %rsi     # 0xaca8a
leaq -0x188(%rbp), %rdi
callq 0x7530
jmp 0x28841
leaq 0x84245(%rip), %rsi     # 0xaca8d
leaq -0x188(%rbp), %rdi
callq 0x7530
movq %rax, -0x230(%rbp)
jmp 0x2885d
movq -0x230(%rbp), %rdi
leaq 0x3d85(%rip), %rsi      # 0x2c5f0
callq 0x7170
movq %rax, -0x238(%rbp)
jmp 0x28879
movl $0x4, %edi
callq 0x2c620
movl %eax, -0x23c(%rbp)
jmp 0x2888b
movq -0x238(%rbp), %rdi
movl -0x23c(%rbp), %eax
movl %eax, -0x1f0(%rbp)
movl -0x1f0(%rbp), %esi
callq 0x7880
movq %rax, -0x248(%rbp)
jmp 0x288b2
movq -0x248(%rbp), %rdi
movq -0x218(%rbp), %rax
movsd 0x8(%rax), %xmm0
callq 0x7a60
movq %rax, -0x250(%rbp)
jmp 0x288d3
movq -0x250(%rbp), %rdi
leaq 0x841e4(%rip), %rsi     # 0xacac5
callq 0x7530
jmp 0x288e8
leaq 0x841aa(%rip), %rsi     # 0xaca99
leaq -0x188(%rbp), %rdi
callq 0x7530
movq %rax, -0x258(%rbp)
jmp 0x28904
movq -0x258(%rbp), %rdi
movq -0x218(%rbp), %rax
movl (%rax), %esi
callq 0x7980
movq %rax, -0x260(%rbp)
jmp 0x28922
movq -0x260(%rbp), %rdi
leaq 0x84174(%rip), %rsi     # 0xacaa4
callq 0x7530
jmp 0x28937
leaq -0x1a0(%rbp), %rdi
callq 0x2c640
testb $0x1, %al
jne 0x289e5
leaq 0x84155(%rip), %rsi     # 0xacaa7
leaq -0x188(%rbp), %rdi
callq 0x7530
movq %rax, -0x268(%rbp)
jmp 0x28967
leaq 0x84157(%rip), %rdx     # 0xacac5
leaq -0x210(%rbp), %rdi
leaq -0x1a0(%rbp), %rsi
callq 0x2cee0
jmp 0x28983
movq -0x268(%rbp), %rdi
leaq -0x210(%rbp), %rsi
callq 0x7480
movq %rax, -0x270(%rbp)
jmp 0x2899f
movq -0x270(%rbp), %rdi
leaq 0x84105(%rip), %rsi     # 0xacab2
callq 0x7530
jmp 0x289b4
leaq -0x210(%rbp), %rdi
callq 0x7ae8
jmp 0x289e5
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x1e8(%rbp)
movl %eax, -0x1ec(%rbp)
leaq -0x210(%rbp), %rdi
callq 0x7ae8
jmp 0x28adc
leaq 0x840c9(%rip), %rsi     # 0xacab5
leaq -0x188(%rbp), %rdi
callq 0x7530
movq %rax, -0x278(%rbp)
jmp 0x28a01
movq -0x278(%rbp), %rdi
movq -0x218(%rbp), %rsi
addq $0x68, %rsi
callq 0x7480
movq %rax, -0x280(%rbp)
jmp 0x28a21
movq -0x280(%rbp), %rdi
leaq 0x84095(%rip), %rsi     # 0xacac4
callq 0x7530
jmp 0x28a36
leaq 0x8408a(%rip), %rsi     # 0xacac7
leaq -0x188(%rbp), %rdi
callq 0x7530
movq %rax, -0x288(%rbp)
jmp 0x28a52
movq -0x288(%rbp), %rdi
movq -0x218(%rbp), %rsi
addq $0x88, %rsi
callq 0x7480
movq %rax, -0x290(%rbp)
jmp 0x28a75
movq -0x290(%rbp), %rdi
leaq 0x84050(%rip), %rsi     # 0xacad3
callq 0x7530
jmp 0x28a8a
leaq 0x84044(%rip), %rsi     # 0xacad5
leaq -0x188(%rbp), %rdi
callq 0x7530
jmp 0x28a9f
movq -0x228(%rbp), %rdi
leaq -0x188(%rbp), %rsi
callq 0x7580
jmp 0x28ab4
leaq -0x1a0(%rbp), %rdi
callq 0x29bd0
leaq -0x188(%rbp), %rdi
callq 0x7110
movq -0x220(%rbp), %rax
addq $0x290, %rsp            # imm = 0x290
popq %rbp
retq
leaq -0x1a0(%rbp), %rdi
callq 0x29bd0
leaq -0x188(%rbp), %rdi
callq 0x7110
movq -0x1e8(%rbp), %rdi
callq 0x79b0