From 74999d37496bee707fa111c90c781878424d7847 Mon Sep 17 00:00:00 2001 From: Giuseppe Gorgoglione Date: Tue, 5 Apr 2016 13:20:04 +0200 Subject: [PATCH 001/122] Fix Windows rendering after post-fx snapshot or video recording In Windows OSD, when post-processing effects are enabled, after taking a post-fx screenshot (L-ALT + F12) or enabling post-fx video recording (L-SHIFT + L-ALT + F12) the window is not updated anymore while the emulation goes on normally. This patch fixes that. --- src/osd/modules/render/d3d/d3dhlsl.cpp | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) mode change 100644 => 100755 src/osd/modules/render/d3d/d3dhlsl.cpp diff --git a/src/osd/modules/render/d3d/d3dhlsl.cpp b/src/osd/modules/render/d3d/d3dhlsl.cpp old mode 100644 new mode 100755 index 712b80b71af..b49c5d15483 --- a/src/osd/modules/render/d3d/d3dhlsl.cpp +++ b/src/osd/modules/render/d3d/d3dhlsl.cpp @@ -1562,18 +1562,30 @@ int shaders::screen_pass(d3d_render_target *rt, int source_index, poly_info *pol curr_effect->set_texture("Diffuse", rt->target_texture[next_index]); - // we do not clear the backbuffe here because multiple screens might be rendered into + // we do not clear the backbuffer here because multiple screens might be rendered into blit(backbuffer, false, poly->get_type(), vertnum, poly->get_count()); if (avi_output_file != nullptr) { blit(avi_final_target, false, poly->get_type(), vertnum, poly->get_count()); + + HRESULT result = (*d3dintf->device.set_render_target)(d3d->get_device(), 0, backbuffer); + if (result != D3D_OK) + { + osd_printf_verbose("Direct3D: Error %08X during device set_render_target call\n", (int)result); + } } if (render_snap) { blit(snap_target, false, poly->get_type(), vertnum, poly->get_count()); + HRESULT result = (*d3dintf->device.set_render_target)(d3d->get_device(), 0, backbuffer); + if (result != D3D_OK) + { + osd_printf_verbose("Direct3D: Error %08X during device set_render_target call\n", (int)result); + } + snap_rendered = true; } From 990476526c911892baaa3a5c483126e194a864e1 Mon Sep 17 00:00:00 2001 From: Giuseppe Gorgoglione Date: Tue, 5 Apr 2016 13:35:12 +0200 Subject: [PATCH 002/122] Save Windows post-fx scheenshots as a single .png Currently in Windows post-fx screenshots (L-ALT + F12) are split in 4 chunks and saved as 4 separate .png files. This was probably done to facilitate fx code debugging, since post-fx screenshots are usually very big and old monitors were low in resolution. With current monitors this shouldn't be a problem any more. --- src/osd/modules/render/d3d/d3dhlsl.cpp | 227 ++++--------------------- 1 file changed, 34 insertions(+), 193 deletions(-) diff --git a/src/osd/modules/render/d3d/d3dhlsl.cpp b/src/osd/modules/render/d3d/d3dhlsl.cpp index b49c5d15483..c7705ac2063 100755 --- a/src/osd/modules/render/d3d/d3dhlsl.cpp +++ b/src/osd/modules/render/d3d/d3dhlsl.cpp @@ -38,7 +38,6 @@ //============================================================ static slider_state *g_slider_list; -static osd_file::error open_next(renderer_d3d9 *d3d, emu_file &file, const char *templ, const char *extension, int idx); //============================================================ // PROTOTYPES @@ -237,9 +236,9 @@ void shaders::render_snapshot(surface *surface) render_snap = false; // if we don't have a bitmap, or if it's not the right size, allocate a new one - if (!avi_snap.valid() || snap_width != (avi_snap.width() / 2) || snap_height != (avi_snap.height() / 2)) + if (!avi_snap.valid() || snap_width != avi_snap.width() || snap_height != avi_snap.height()) { - avi_snap.allocate(snap_width / 2, snap_height / 2); + avi_snap.allocate(snap_width, snap_height); } // copy the texture @@ -256,52 +255,42 @@ void shaders::render_snapshot(surface *surface) return; } - for (int cy = 0; cy < 2; cy++) + // loop over Y + for (int srcy = 0; srcy < snap_height; srcy++) { - for (int cx = 0; cx < 2; cx++) + DWORD *src = (DWORD *)((BYTE *)rect.pBits + srcy * rect.Pitch); + UINT32 *dst = &avi_snap.pix32(srcy); + + for (int x = 0; x < snap_width; x++) { - // loop over Y - for (int srcy = 0; srcy < snap_height / 2; srcy++) - { - int toty = (srcy + cy * (snap_height / 2)); - int totx = cx * (snap_width / 2); - DWORD *src = (DWORD *)((BYTE *)rect.pBits + toty * rect.Pitch + totx * 4); - UINT32 *dst = &avi_snap.pix32(srcy); - - for (int x = 0; x < snap_width / 2; x++) - { - *dst++ = *src++; - } - } - - int idx = cy * 2 + cx; - - emu_file file(machine->options().snapshot_directory(), OPEN_FLAG_WRITE | OPEN_FLAG_CREATE | OPEN_FLAG_CREATE_PATHS); - osd_file::error filerr = open_next(d3d, file, nullptr, "png", idx); - if (filerr != osd_file::error::NONE) - { - return; - } - - // add two text entries describing the image - std::string text1 = std::string(emulator_info::get_appname()).append(" ").append(build_version); - std::string text2 = std::string(machine->system().manufacturer).append(" ").append(machine->system().description); - png_info pnginfo = { 0 }; - png_add_text(&pnginfo, "Software", text1.c_str()); - png_add_text(&pnginfo, "System", text2.c_str()); - - // now do the actual work - png_error error = png_write_bitmap(file, &pnginfo, avi_snap, 1 << 24, nullptr); - if (error != PNGERR_NONE) - { - osd_printf_error("Error generating PNG for HLSL snapshot: png_error = %d\n", error); - } - - // free any data allocated - png_free(&pnginfo); + *dst++ = *src++; } } + emu_file file(machine->options().snapshot_directory(), OPEN_FLAG_WRITE | OPEN_FLAG_CREATE | OPEN_FLAG_CREATE_PATHS); + osd_file::error filerr = machine->video().open_next(file, "png"); + if (filerr != osd_file::error::NONE) + { + return; + } + + // add two text entries describing the image + std::string text1 = std::string(emulator_info::get_appname()).append(" ").append(build_version); + std::string text2 = std::string(machine->system().manufacturer).append(" ").append(machine->system().description); + png_info pnginfo = { 0 }; + png_add_text(&pnginfo, "Software", text1.c_str()); + png_add_text(&pnginfo, "System", text2.c_str()); + + // now do the actual work + png_error error = png_write_bitmap(file, &pnginfo, avi_snap, 1 << 24, nullptr); + if (error != PNGERR_NONE) + { + osd_printf_error("Error generating PNG for HLSL snapshot: png_error = %d\n", error); + } + + // free any data allocated + png_free(&pnginfo); + // unlock result = (*d3dintf->surface.unlock_rect)(snap_copy_target); if (result != D3D_OK) osd_printf_verbose("Direct3D: Error %08X during texture unlock_rect call\n", (int)result); @@ -483,7 +472,7 @@ void shaders::begin_avi_recording(const char *name) } else { - filerr = open_next(d3d, tempfile, nullptr, "avi", 0); + filerr = machine->video().open_next(tempfile, "avi"); } // compute the frame time @@ -3076,151 +3065,3 @@ slider_state *renderer_d3d9::get_slider_list() } return g_slider_list; } - - -// NOTE: The function below is taken directly from src/emu/video.c and should likely be moved into a global helper function. -//------------------------------------------------- -// open_next - open the next non-existing file of -// type filetype according to our numbering -// scheme -//------------------------------------------------- - -static osd_file::error open_next(renderer_d3d9 *d3d, emu_file &file, const char *templ, const char *extension, int idx) -{ - UINT32 origflags = file.openflags(); - - // handle defaults - const char *snapname = templ ? templ : d3d->window().machine().options().snap_name(); - - if (snapname == nullptr || snapname[0] == 0) - { - snapname = "%g/%i"; - } - std::string snapstr(snapname); - - // strip any extension in the provided name - int index = snapstr.find_last_of('.'); - if (index != -1) - { - snapstr.substr(0, index); - } - - // handle %d in the template (for image devices) - std::string snapdev("%d_"); - int pos = snapstr.find(snapdev,0); - - if (pos != -1) - { - // if more %d are found, revert to default and ignore them all - if (snapstr.find(snapdev, pos + 3) != -1) - { - snapstr.assign("%g/%i"); - } - // else if there is a single %d, try to create the correct snapname - else - { - int name_found = 0; - - // find length of the device name - int end1 = snapstr.find("/", pos + 3); - int end2 = snapstr.find("%", pos + 3); - int end; - - if ((end1 != -1) && (end2 != -1)) - { - end = MIN(end1, end2); - } - else if (end1 != -1) - { - end = end1; - } - else if (end2 != -1) - { - end = end2; - } - else - { - end = snapstr.length(); - } - - if (end - pos < 3) - { - fatalerror("Something very wrong is going on!!!\n"); - } - - // copy the device name to a string - std::string snapdevname; - snapdevname.assign(snapstr.substr(pos + 3, end - pos - 3)); - - // verify that there is such a device for this system - image_interface_iterator iter(d3d->window().machine().root_device()); - for (device_image_interface *image = iter.first(); image != nullptr; iter.next()) - { - // get the device name - std::string tempdevname(image->brief_instance_name()); - - if (snapdevname.compare(tempdevname) == 0) - { - // verify that such a device has an image mounted - if (image->basename() != nullptr) - { - std::string filename(image->basename()); - - // strip extension - filename.substr(0, filename.find_last_of('.')); - - // setup snapname and remove the %d_ - strreplace(snapstr, snapdevname.c_str(), filename.c_str()); - snapstr.erase(pos, 3); - - name_found = 1; - } - } - } - - // or fallback to default - if (name_found == 0) - { - snapstr.assign("%g/%i"); - } - } - } - - // add our own index - // add our own extension - snapstr.append(".").append(extension); - - // substitute path and gamename up front - strreplace(snapstr, "/", PATH_SEPARATOR); - strreplace(snapstr, "%g", d3d->window().machine().basename()); - - // determine if the template has an index; if not, we always use the same name - std::string fname; - if (snapstr.find("%i") == -1) - { - fname.assign(snapstr); - } - - // otherwise, we scan for the next available filename - else - { - // try until we succeed - file.set_openflags(OPEN_FLAG_READ); - for (int seq = 0; ; seq++) - { - // build up the filename - strreplace(fname.assign(snapstr), "%i", string_format("%04d_%d", seq, idx).c_str()); - - // try to open the file; stop when we fail - osd_file::error filerr = file.open(fname.c_str()); - if (filerr != osd_file::error::NONE) - { - break; - } - } - } - - // create the final file - file.set_openflags(origflags); - return file.open(fname.c_str()); -} From 277220295929e95ddc3aaa432c5e67174349402e Mon Sep 17 00:00:00 2001 From: rfka01 Date: Tue, 12 Apr 2016 23:05:23 +0200 Subject: [PATCH 003/122] Added older ROM revision of a Color DMV --- src/mame/drivers/dmv.cpp | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/src/mame/drivers/dmv.cpp b/src/mame/drivers/dmv.cpp index 6683abc3ab2..1579ffb1055 100644 --- a/src/mame/drivers/dmv.cpp +++ b/src/mame/drivers/dmv.cpp @@ -824,19 +824,22 @@ MACHINE_CONFIG_END ROM_START( dmv ) ROM_REGION( 0x2000, "boot", 0 ) ROM_SYSTEM_BIOS(0, "c07", "C.07.00") // ROM bears the handwritten note "Color 7.0", this is from the machine that originally had Color, 68K and internal 8088 - ROM_SYSTEM_BIOS(1, "m07", "M.07.00") // Mono machine with internal 8088 and internal HD - ROM_SYSTEM_BIOS(2, "m06", "M.06.00") // Mono machine - ROM_SYSTEM_BIOS(3, "m05", "M.05.00") // Mono machine, marked "updated" + ROM_SYSTEM_BIOS(1, "c06", "C.06.00") // Color machine with older BIOS revision + ROM_SYSTEM_BIOS(2, "m07", "M.07.00") // Mono machine with internal 8088 and internal HD + ROM_SYSTEM_BIOS(3, "m06", "M.06.00") // Mono machine + ROM_SYSTEM_BIOS(4, "m05", "M.05.00") // Mono machine, marked "updated" ROMX_LOAD( "dmv_mb_rom_33610.bin", 0x00000, 0x02000, CRC(bf25f3f0) SHA1(0c7dd37704db4799e340cc836f887cd543e5c964), ROM_BIOS(1) ) - ROMX_LOAD( "dmv_mb_rom_33609.bin", 0x00000, 0x02000, CRC(120951b6) SHA1(57bef9cc6379dea5730bc1477e8896508e00a349), ROM_BIOS(2) ) - ROMX_LOAD( "dmv_mb_rom_32676.bin", 0x00000, 0x02000, CRC(7796519e) SHA1(8d5dd9c1e66c96fcca271b6f673d6a0e784acb33), ROM_BIOS(3) ) - ROMX_LOAD( "dmv_mb_rom_32664.bin", 0x00000, 0x02000, CRC(6624610e) SHA1(e9226be897d2c5f875784ab77dad8807f14c7714), ROM_BIOS(4) ) + ROMX_LOAD( "dmv_mb_rom_32838.bin", 0x00000, 0x02000, CRC(d5ceb559) SHA1(e3a05e43aa1b09f0a857b8d54b00bcd321215bf6), ROM_BIOS(2) ) + ROMX_LOAD( "dmv_mb_rom_33609.bin", 0x00000, 0x02000, CRC(120951b6) SHA1(57bef9cc6379dea5730bc1477e8896508e00a349), ROM_BIOS(3) ) + ROMX_LOAD( "dmv_mb_rom_32676.bin", 0x00000, 0x02000, CRC(7796519e) SHA1(8d5dd9c1e66c96fcca271b6f673d6a0e784acb33), ROM_BIOS(4) ) + ROMX_LOAD( "dmv_mb_rom_32664.bin", 0x00000, 0x02000, CRC(6624610e) SHA1(e9226be897d2c5f875784ab77dad8807f14c7714), ROM_BIOS(5) ) ROM_REGION(0x400, "kb_ctrl_mcu", 0) ROMX_LOAD( "dmv_mb_8741_32678.bin", 0x00000, 0x00400, CRC(50d1dc4c) SHA1(2c8251d6c8df9f507e11bf920869657f4d074db1), ROM_BIOS(1) ) ROMX_LOAD( "dmv_mb_8741_32678.bin", 0x00000, 0x00400, CRC(50d1dc4c) SHA1(2c8251d6c8df9f507e11bf920869657f4d074db1), ROM_BIOS(2) ) ROMX_LOAD( "dmv_mb_8741_32678.bin", 0x00000, 0x00400, CRC(50d1dc4c) SHA1(2c8251d6c8df9f507e11bf920869657f4d074db1), ROM_BIOS(3) ) + ROMX_LOAD( "dmv_mb_8741_32678.bin", 0x00000, 0x00400, CRC(50d1dc4c) SHA1(2c8251d6c8df9f507e11bf920869657f4d074db1), ROM_BIOS(4) ) ROMX_LOAD( "dmv_mb_8741_32121.bin", 0x00000, 0x00400, CRC(a03af298) SHA1(144cba41294c46f5ca79b7ad8ced0e4408168775), ROM_BIOS(4) ) ROM_REGION(0x800, "chargen", 0) From 4422b2cf84c555ef238746cc88adbdf9974637e6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jind=C5=99ich=20Makovi=C4=8Dka?= Date: Wed, 13 Apr 2016 09:44:42 +0200 Subject: [PATCH 004/122] Fix type mismatch --- src/lib/netlist/solver/nld_solver.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/lib/netlist/solver/nld_solver.cpp b/src/lib/netlist/solver/nld_solver.cpp index 5dd0af53313..ff877152ca4 100644 --- a/src/lib/netlist/solver/nld_solver.cpp +++ b/src/lib/netlist/solver/nld_solver.cpp @@ -494,7 +494,7 @@ NETLIB_UPDATE(solver) if (m_mat_solvers[i]->is_timestep()) { // Ignore return value - ATTR_UNUSED const nl_double ts = m_mat_solvers[i]->solve(); + ATTR_UNUSED const netlist_time ts = m_mat_solvers[i]->solve(); } } } @@ -503,7 +503,7 @@ NETLIB_UPDATE(solver) if (m_mat_solvers[i]->is_timestep()) { // Ignore return value - ATTR_UNUSED const nl_double ts = m_mat_solvers[i]->solve(); + ATTR_UNUSED const netlist_time ts = m_mat_solvers[i]->solve(); } #else for (auto & solver : m_mat_solvers) From 658a4b1862a9f9c54c5fed0eafe1a3c265832071 Mon Sep 17 00:00:00 2001 From: Santiago Vila Date: Fri, 15 Apr 2016 11:29:30 +0200 Subject: [PATCH 005/122] Show mame's program name lowercase in help output. As the name of the binary is normally installed lowercase, the help output should also reflect this. --- src/emu/clifront.cpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/emu/clifront.cpp b/src/emu/clifront.cpp index 803b8a4db76..e2fe703adca 100644 --- a/src/emu/clifront.cpp +++ b/src/emu/clifront.cpp @@ -1713,14 +1713,14 @@ void cli_frontend::display_help() osd_printf_info("This software reproduces, more or less faithfully, the behaviour of a wide range\n" "of machines. But hardware is useless without software, so images of the ROMs and\n" "other media which run on that hardware are also required.\n\n"); - osd_printf_info("Usage: %s [machine] [media] [software] [options]",emulator_info::get_appname()); + osd_printf_info("Usage: %s [machine] [media] [software] [options]",emulator_info::get_appname_lower()); osd_printf_info("\n\n" " %s -showusage for a brief list of options\n" " %s -showconfig for a list of configuration options\n" " %s -listmedia for a full list of supported media\n" " %s -createconfig to create a %s.ini\n\n" - "For usage instructions, please consult the files config.txt and windows.txt.\n",emulator_info::get_appname(), - emulator_info::get_appname(),emulator_info::get_appname(),emulator_info::get_appname(),emulator_info::get_configname()); + "For usage instructions, please consult the files config.txt and windows.txt.\n",emulator_info::get_appname_lower(), + emulator_info::get_appname_lower(),emulator_info::get_appname_lower(),emulator_info::get_appname_lower(),emulator_info::get_configname()); } From 3176347abcb8751becdca0889107fae061fb30f9 Mon Sep 17 00:00:00 2001 From: Sune Vuorela Date: Fri, 15 Apr 2016 11:43:52 +0200 Subject: [PATCH 006/122] Pass explicit -qt5 to all moc and qmake calls. Some systems like Debian, Ubuntu and other derivatives, expect qtchooser will be used to select the appropriate Qt version, as Qt5 and Qt4 can co-exist. As MAME's build system does calls to moc and qmake directly, and Qt5 is now the required version for the debugger, pass -qt5 to all moc and qmake calls to avoid the build fail. --- scripts/src/osd/modules.lua | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/scripts/src/osd/modules.lua b/scripts/src/osd/modules.lua index 11c69108ec2..f3d6879355c 100644 --- a/scripts/src/osd/modules.lua +++ b/scripts/src/osd/modules.lua @@ -286,14 +286,14 @@ function qtdebuggerbuild() MOC = "moc" else if _OPTIONS["QT_HOME"]~=nil then - QMAKETST = backtick(_OPTIONS["QT_HOME"] .. "/bin/qmake --version 2>/dev/null") + QMAKETST = backtick(_OPTIONS["QT_HOME"] .. "/bin/qmake -qt5 --version 2>/dev/null") if (QMAKETST=='') then print("Qt's Meta Object Compiler (moc) wasn't found!") os.exit(1) end - MOC = _OPTIONS["QT_HOME"] .. "/bin/moc" + MOC = _OPTIONS["QT_HOME"] .. "/bin/moc -qt5" else - MOCTST = backtick("which moc-qt5 2>/dev/null") + MOCTST = backtick("which moc 2>/dev/null") if (MOCTST=='') then MOCTST = backtick("which moc 2>/dev/null") end @@ -301,7 +301,7 @@ function qtdebuggerbuild() print("Qt's Meta Object Compiler (moc) wasn't found!") os.exit(1) end - MOC = MOCTST + MOC = MOCTST .. " -qt5" end end @@ -322,17 +322,17 @@ function qtdebuggerbuild() if _OPTIONS["targetos"]=="windows" then configuration { "mingw*" } buildoptions { - "-I$(shell qmake -query QT_INSTALL_HEADERS)", + "-I$(shell qmake -qt5 -query QT_INSTALL_HEADERS)", } configuration { } elseif _OPTIONS["targetos"]=="macosx" then buildoptions { - "-F" .. backtick("qmake -query QT_INSTALL_LIBS"), + "-F" .. backtick("qmake -qt5 -query QT_INSTALL_LIBS"), } else if _OPTIONS["QT_HOME"]~=nil then buildoptions { - "-I" .. backtick(_OPTIONS["QT_HOME"] .. "/bin/qmake -query QT_INSTALL_HEADERS"), + "-I" .. backtick(_OPTIONS["QT_HOME"] .. "/bin/qmake -qt5 -query QT_INSTALL_HEADERS"), } else buildoptions { @@ -384,7 +384,7 @@ function osdmodulestargetconf() if _OPTIONS["USE_QTDEBUG"]=="1" then if _OPTIONS["targetos"]=="windows" then linkoptions { - "-L$(shell qmake -query QT_INSTALL_LIBS)", + "-L$(shell qmake -qt5 -query QT_INSTALL_LIBS)", } links { "qtmain", @@ -394,7 +394,7 @@ function osdmodulestargetconf() } elseif _OPTIONS["targetos"]=="macosx" then linkoptions { - "-F" .. backtick("qmake -query QT_INSTALL_LIBS"), + "-F" .. backtick("qmake -qt5 -query QT_INSTALL_LIBS"), } links { "Qt5Core.framework", @@ -404,7 +404,7 @@ function osdmodulestargetconf() else if _OPTIONS["QT_HOME"]~=nil then linkoptions { - "-L" .. backtick(_OPTIONS["QT_HOME"] .. "/bin/qmake -query QT_INSTALL_LIBS"), + "-L" .. backtick(_OPTIONS["QT_HOME"] .. "/bin/qmake -qt5 -query QT_INSTALL_LIBS"), } links { "Qt5Core", From a83a3c4497f2e5c09d0deb7468bde645ffb3e89e Mon Sep 17 00:00:00 2001 From: Miodrag Milanovic Date: Fri, 15 Apr 2016 14:00:01 +0200 Subject: [PATCH 007/122] lower deps on clifront.h (nw) --- src/emu/clifront.cpp | 1 + src/emu/cliopts.cpp | 1 - src/emu/cliopts.h | 2 +- src/emu/softlist.cpp | 3 +-- src/emu/ui/sndmenu.cpp | 1 - src/emu/validity.cpp | 3 ++- src/emu/validity.h | 4 +++- src/osd/sdl/osdsdl.h | 1 - src/osd/windows/winmain.h | 1 - 9 files changed, 8 insertions(+), 9 deletions(-) diff --git a/src/emu/clifront.cpp b/src/emu/clifront.cpp index 803b8a4db76..4a718febd0e 100644 --- a/src/emu/clifront.cpp +++ b/src/emu/clifront.cpp @@ -1602,6 +1602,7 @@ void cli_frontend::execute_commands(const char *exename) if (strcmp(m_options.command(), CLICOMMAND_VALIDATE) == 0) { validity_checker valid(m_options); + valid.set_validate_all(true); const char *sysname = m_options.system_name(); bool result = valid.check_all_matching((sysname[0] == 0) ? "*" : sysname); if (!result) diff --git a/src/emu/cliopts.cpp b/src/emu/cliopts.cpp index ba2cb33afe9..48df5cf00d9 100644 --- a/src/emu/cliopts.cpp +++ b/src/emu/cliopts.cpp @@ -6,7 +6,6 @@ ***************************************************************************/ -#include "clifront.h" #include "cliopts.h" //************************************************************************** diff --git a/src/emu/cliopts.h b/src/emu/cliopts.h index ce0cb7a9c58..d7a0a938d49 100644 --- a/src/emu/cliopts.h +++ b/src/emu/cliopts.h @@ -2,7 +2,7 @@ // copyright-holders:Aaron Giles /*************************************************************************** - clifront.h + cliopts.h Command-line interface frontend for MAME. diff --git a/src/emu/softlist.cpp b/src/emu/softlist.cpp index e86415b3d35..4288fa93f90 100644 --- a/src/emu/softlist.cpp +++ b/src/emu/softlist.cpp @@ -11,7 +11,6 @@ #include "emu.h" #include "emuopts.h" #include "softlist.h" -#include "clifront.h" #include "validity.h" #include "expat.h" @@ -508,7 +507,7 @@ void software_list_device::device_validity_check(validity_checker &valid) const return; // do device validation only in case of validate command - if (strcmp(mconfig().options().command(), CLICOMMAND_VALIDATE) != 0) + if (!valid.validate_all()) return; // actually do the validate diff --git a/src/emu/ui/sndmenu.cpp b/src/emu/ui/sndmenu.cpp index dd3e717d98a..52768c09b3a 100644 --- a/src/emu/ui/sndmenu.cpp +++ b/src/emu/ui/sndmenu.cpp @@ -13,7 +13,6 @@ #include "ui/menu.h" #include "ui/sndmenu.h" #include "ui/selector.h" -#include "cliopts.h" #include "../osd/modules/lib/osdobj_common.h" // TODO: remove const int ui_menu_sound_options::m_sound_rate[] = { 11025, 22050, 44100, 48000 }; diff --git a/src/emu/validity.cpp b/src/emu/validity.cpp index 2397ad444a6..e4200759952 100644 --- a/src/emu/validity.cpp +++ b/src/emu/validity.cpp @@ -116,7 +116,8 @@ validity_checker::validity_checker(emu_options &options) m_current_driver(nullptr), m_current_config(nullptr), m_current_device(nullptr), - m_current_ioport(nullptr) + m_current_ioport(nullptr), + m_validate_all(false) { // pre-populate the defstr map with all the default strings for (int strnum = 1; strnum < INPUT_STRING_COUNT; strnum++) diff --git a/src/emu/validity.h b/src/emu/validity.h index 66eaffd533b..eec10069aaa 100644 --- a/src/emu/validity.h +++ b/src/emu/validity.h @@ -39,9 +39,11 @@ public: // getters int errors() const { return m_errors; } int warnings() const { return m_warnings; } + int validate_all() const { return m_validate_all; } // setter void set_verbose(bool verbose) { m_print_verbose = verbose; } + void set_validate_all(bool all) { m_validate_all = all; } // operations void check_driver(const game_driver &driver); @@ -110,7 +112,7 @@ private: const char * m_current_ioport; int_map m_region_map; std::unordered_set m_already_checked; - + bool m_validate_all; }; #endif diff --git a/src/osd/sdl/osdsdl.h b/src/osd/sdl/osdsdl.h index d3ce734b4d2..c239966c7ab 100644 --- a/src/osd/sdl/osdsdl.h +++ b/src/osd/sdl/osdsdl.h @@ -4,7 +4,6 @@ #define _osdsdl_h_ #include "watchdog.h" -#include "clifront.h" #include "modules/lib/osdobj_common.h" #include "modules/osdmodule.h" #include "modules/font/font_module.h" diff --git a/src/osd/windows/winmain.h b/src/osd/windows/winmain.h index f4d1a611191..7bd2917a2a7 100644 --- a/src/osd/windows/winmain.h +++ b/src/osd/windows/winmain.h @@ -10,7 +10,6 @@ #define __WINDOWS_WINMAIN_H__ #include -#include "clifront.h" #include "osdepend.h" #include "modules/lib/osdobj_common.h" From 59662e6c71625d3783bbdc351613f77358d57679 Mon Sep 17 00:00:00 2001 From: Miodrag Milanovic Date: Fri, 15 Apr 2016 15:19:24 +0200 Subject: [PATCH 008/122] moved osdsync to root of OSD, removed osdmini (nw) --- makefile | 21 +- scripts/src/osd/osdmini.lua | 133 ------------- scripts/src/osd/osdmini_cfg.lua | 12 -- scripts/src/osd/sdl.lua | 5 +- scripts/src/osd/windows.lua | 5 +- src/osd/modules/lib/osdlib.h | 13 -- src/osd/modules/sync/osdsync.cpp | 14 -- src/osd/osdcore.cpp | 9 - src/osd/osdmini/minidir.cpp | 44 ----- src/osd/osdmini/minimain.cpp | 179 ------------------ src/osd/osdmini/minimisc.cpp | 109 ----------- src/osd/osdmini/minitime.cpp | 51 ----- src/osd/osdmini/osdmini.h | 57 ------ .../sync/work_osd.cpp => osdsync.cpp} | 15 +- src/osd/{modules/sync => }/osdsync.h | 0 src/osd/sdl/watchdog.h | 2 +- 16 files changed, 17 insertions(+), 652 deletions(-) delete mode 100644 scripts/src/osd/osdmini.lua delete mode 100644 scripts/src/osd/osdmini_cfg.lua delete mode 100644 src/osd/modules/sync/osdsync.cpp delete mode 100644 src/osd/osdmini/minidir.cpp delete mode 100644 src/osd/osdmini/minimain.cpp delete mode 100644 src/osd/osdmini/minimisc.cpp delete mode 100644 src/osd/osdmini/minitime.cpp delete mode 100644 src/osd/osdmini/osdmini.h rename src/osd/{modules/sync/work_osd.cpp => osdsync.cpp} (98%) rename src/osd/{modules/sync => }/osdsync.h (100%) diff --git a/makefile b/makefile index 7ee690d18b3..df813945c4c 100644 --- a/makefile +++ b/makefile @@ -345,7 +345,7 @@ CXX:= $(SILENT)g++ ifndef OSD -OSD := osdmini +OSD := sdl ifeq ($(TARGETOS),windows) OSD := windows @@ -874,7 +874,6 @@ else FULLTARGET := $(TARGET)$(SUBTARGET) endif PROJECTDIR := $(BUILDDIR)/projects/$(OSD)/$(FULLTARGET) -PROJECTDIR_MINI := $(BUILDDIR)/projects/osdmini/$(FULLTARGET) PROJECTDIR_SDL := $(BUILDDIR)/projects/sdl/$(FULLTARGET) PROJECTDIR_WIN := $(BUILDDIR)/projects/windows/$(FULLTARGET) @@ -1157,24 +1156,6 @@ endif $(SILENT) $(MAKE) $(MAKEPARAMS) -C $(PROJECTDIR)/gmake-asmjs config=$(CONFIG) precompile $(SILENT) $(MAKE) $(MAKEPARAMS) -C $(PROJECTDIR)/gmake-asmjs config=$(CONFIG) -#------------------------------------------------- -# PNaCl -#------------------------------------------------- - -$(PROJECTDIR_MINI)/gmake-pnacl/Makefile: makefile $(SCRIPTS) $(GENIE) -ifndef NACL_SDK_ROOT - $(error NACL_SDK_ROOT is not set) -endif - $(SILENT) $(GENIE) $(PARAMS) --gcc=pnacl --gcc_version=3.7.0 --osd=osdmini --targetos=pnacl --NOASM=1 --USE_LIBUV=0 gmake - -.PHONY: pnacl -pnacl: generate $(PROJECTDIR_MINI)/gmake-pnacl/Makefile -ifndef NACL_SDK_ROOT - $(error NACL_SDK_ROOT is not set) -endif - $(SILENT) $(MAKE) $(MAKEPARAMS) -C $(PROJECTDIR_MINI)/gmake-pnacl config=$(CONFIG) precompile - $(SILENT) $(MAKE) $(MAKEPARAMS) -C $(PROJECTDIR_MINI)/gmake-pnacl config=$(CONFIG) - #------------------------------------------------- # gmake-linux #------------------------------------------------- diff --git a/scripts/src/osd/osdmini.lua b/scripts/src/osd/osdmini.lua deleted file mode 100644 index efdb28bd9c0..00000000000 --- a/scripts/src/osd/osdmini.lua +++ /dev/null @@ -1,133 +0,0 @@ --- license:BSD-3-Clause --- copyright-holders:MAMEdev Team - ---------------------------------------------------------------------------- --- --- osdmini.lua --- --- Rules for the building of osdmini --- ---------------------------------------------------------------------------- - -function maintargetosdoptions(_target,_subtarget) -end - -project ("qtdbg_" .. _OPTIONS["osd"]) - uuid (os.uuid("qtdbg_" .. _OPTIONS["osd"])) - kind (LIBTYPE) - - dofile("osdmini_cfg.lua") - includedirs { - MAME_DIR .. "src/emu", - MAME_DIR .. "src/devices", -- accessing imagedev from debugger - MAME_DIR .. "src/osd", - MAME_DIR .. "src/lib", - MAME_DIR .. "src/lib/util", - MAME_DIR .. "src/osd/modules/render", - MAME_DIR .. "3rdparty", - } - removeflags { - "SingleOutputDir", - } - - files { - MAME_DIR .. "src/osd/modules/debugger/debugqt.cpp", - } - -project ("osd_" .. _OPTIONS["osd"]) - uuid (os.uuid("osd_" .. _OPTIONS["osd"])) - kind (LIBTYPE) - - removeflags { - "SingleOutputDir", - } - - dofile("osdmini_cfg.lua") - - includedirs { - MAME_DIR .. "src/emu", - MAME_DIR .. "src/osd", - MAME_DIR .. "src/lib", - MAME_DIR .. "src/lib/util", - MAME_DIR .. "src/osd/sdl", - MAME_DIR .. "src/osd/modules/render", - MAME_DIR .. "3rdparty", - MAME_DIR .. "3rdparty/winpcap/Include", - MAME_DIR .. "3rdparty/bgfx/include", - MAME_DIR .. "3rdparty/bx/include", - } - - files { - MAME_DIR .. "src/osd/osdmini/minimain.cpp", - MAME_DIR .. "src/osd/osdmini/osdmini.h", - MAME_DIR .. "src/osd/osdepend.h", - MAME_DIR .. "src/osd/modules/lib/osdobj_common.cpp", - MAME_DIR .. "src/osd/modules/lib/osdobj_common.h", - MAME_DIR .. "src/osd/modules/font/font_sdl.cpp", - MAME_DIR .. "src/osd/modules/font/font_windows.cpp", - MAME_DIR .. "src/osd/modules/font/font_dwrite.cpp", - MAME_DIR .. "src/osd/modules/font/font_osx.cpp", - MAME_DIR .. "src/osd/modules/font/font_none.cpp", - MAME_DIR .. "src/osd/modules/netdev/taptun.cpp", - MAME_DIR .. "src/osd/modules/netdev/pcap.cpp", - MAME_DIR .. "src/osd/modules/netdev/none.cpp", - MAME_DIR .. "src/osd/modules/midi/portmidi.cpp", - MAME_DIR .. "src/osd/modules/midi/none.cpp", - MAME_DIR .. "src/osd/modules/sound/js_sound.cpp", - MAME_DIR .. "src/osd/modules/sound/direct_sound.cpp", - MAME_DIR .. "src/osd/modules/sound/coreaudio_sound.cpp", - MAME_DIR .. "src/osd/modules/sound/sdl_sound.cpp", - MAME_DIR .. "src/osd/modules/sound/none.cpp", - MAME_DIR .. "src/osd/modules/sound/xaudio2_sound.cpp", - MAME_DIR .. "src/osd/modules/input/input_module.h", - MAME_DIR .. "src/osd/modules/input/input_common.cpp", - MAME_DIR .. "src/osd/modules/input/input_common.h", - MAME_DIR .. "src/osd/modules/input/input_dinput.cpp", - MAME_DIR .. "src/osd/modules/input/input_none.cpp", - MAME_DIR .. "src/osd/modules/input/input_rawinput.cpp", - MAME_DIR .. "src/osd/modules/input/input_win32.cpp", - MAME_DIR .. "src/osd/modules/input/input_sdl.cpp", - MAME_DIR .. "src/osd/modules/input/input_sdlcommon.cpp", - MAME_DIR .. "src/osd/modules/input/input_sdlcommon.h", - MAME_DIR .. "src/osd/modules/input/input_x11.cpp", - MAME_DIR .. "src/osd/modules/input/input_windows.cpp", - MAME_DIR .. "src/osd/modules/input/input_windows.h", - MAME_DIR .. "src/osd/modules/input/input_xinput.cpp", - MAME_DIR .. "src/osd/modules/output/output_module.h", - MAME_DIR .. "src/osd/modules/output/none.cpp", - MAME_DIR .. "src/osd/modules/output/console.cpp", - MAME_DIR .. "src/osd/modules/output/network.cpp", - } - -project ("ocore_" .. _OPTIONS["osd"]) - uuid (os.uuid("ocore_" .. _OPTIONS["osd"])) - kind (LIBTYPE) - - removeflags { - "SingleOutputDir", - } - - dofile("osdmini_cfg.lua") - - includedirs { - MAME_DIR .. "src/emu", - MAME_DIR .. "src/osd", - MAME_DIR .. "src/lib", - MAME_DIR .. "src/lib/util", - } - - files { - MAME_DIR .. "src/osd/osdnet.cpp", - MAME_DIR .. "src/osd/osdnet.h", - MAME_DIR .. "src/osd/osdcore.cpp", - MAME_DIR .. "src/osd/osdcore.h", - MAME_DIR .. "src/osd/modules/osdmodule.cpp", - MAME_DIR .. "src/osd/modules/osdmodule.h", - MAME_DIR .. "src/osd/osdmini/minidir.cpp", - MAME_DIR .. "src/osd/osdmini/minimisc.cpp", - MAME_DIR .. "src/osd/osdmini/minitime.cpp", - MAME_DIR .. "src/osd/modules/file/stdfile.cpp", - MAME_DIR .. "src/osd/modules/sync/osdsync.cpp", - MAME_DIR .. "src/osd/modules/sync/osdsync.h", - MAME_DIR .. "src/osd/modules/sync/work_osd.cpp", - } diff --git a/scripts/src/osd/osdmini_cfg.lua b/scripts/src/osd/osdmini_cfg.lua deleted file mode 100644 index 586075d3cac..00000000000 --- a/scripts/src/osd/osdmini_cfg.lua +++ /dev/null @@ -1,12 +0,0 @@ --- license:BSD-3-Clause --- copyright-holders:MAMEdev Team - -defines { - "OSD_MINI", - "USE_QTDEBUG=0", - "USE_SDL", - "SDLMAME_NOASM=1", - "USE_OPENGL=0", - "NO_USE_MIDI=1", - "USE_XAUDIO2=0", -} diff --git a/scripts/src/osd/sdl.lua b/scripts/src/osd/sdl.lua index c42d9ab23ad..15da1878de5 100644 --- a/scripts/src/osd/sdl.lua +++ b/scripts/src/osd/sdl.lua @@ -459,14 +459,13 @@ project ("ocore_" .. _OPTIONS["osd"]) MAME_DIR .. "src/osd/osdcore.h", MAME_DIR .. "src/osd/strconv.cpp", MAME_DIR .. "src/osd/strconv.h", + MAME_DIR .. "src/osd/osdsync.cpp", + MAME_DIR .. "src/osd/osdsync.h", MAME_DIR .. "src/osd/sdl/sdldir.cpp", MAME_DIR .. "src/osd/modules/osdmodule.cpp", MAME_DIR .. "src/osd/modules/osdmodule.h", MAME_DIR .. "src/osd/modules/lib/osdlib_" .. SDLOS_TARGETOS .. ".cpp", MAME_DIR .. "src/osd/modules/lib/osdlib.h", - MAME_DIR .. "src/osd/modules/sync/osdsync.cpp", - MAME_DIR .. "src/osd/modules/sync/osdsync.h", - MAME_DIR .. "src/osd/modules/sync/work_osd.cpp", } if BASE_TARGETOS=="unix" then diff --git a/scripts/src/osd/windows.lua b/scripts/src/osd/windows.lua index e4be22d6e55..b4be2dc7ce4 100644 --- a/scripts/src/osd/windows.lua +++ b/scripts/src/osd/windows.lua @@ -243,10 +243,10 @@ project ("ocore_" .. _OPTIONS["osd"]) MAME_DIR .. "src/osd/osdcore.h", MAME_DIR .. "src/osd/strconv.cpp", MAME_DIR .. "src/osd/strconv.h", + MAME_DIR .. "src/osd/osdsync.cpp", + MAME_DIR .. "src/osd/osdsync.h", MAME_DIR .. "src/osd/windows/main.cpp", MAME_DIR .. "src/osd/windows/windir.cpp", - MAME_DIR .. "src/osd/modules/sync/osdsync.cpp", - MAME_DIR .. "src/osd/modules/sync/osdsync.h", MAME_DIR .. "src/osd/windows/winutf8.cpp", MAME_DIR .. "src/osd/windows/winutf8.h", MAME_DIR .. "src/osd/windows/winutil.cpp", @@ -258,5 +258,4 @@ project ("ocore_" .. _OPTIONS["osd"]) MAME_DIR .. "src/osd/modules/file/winptty.cpp", MAME_DIR .. "src/osd/modules/file/winsocket.cpp", MAME_DIR .. "src/osd/modules/lib/osdlib_win32.cpp", - MAME_DIR .. "src/osd/modules/sync/work_osd.cpp", } diff --git a/src/osd/modules/lib/osdlib.h b/src/osd/modules/lib/osdlib.h index dcba7a6bc81..f4a632dbbd1 100644 --- a/src/osd/modules/lib/osdlib.h +++ b/src/osd/modules/lib/osdlib.h @@ -19,19 +19,6 @@ #ifndef __OSDLIB__ #define __OSDLIB__ -/*----------------------------------------------------------------------------- - osd_num_processors: return the number of processors - - Parameters: - - None. - - Return value: - - Number of processors ------------------------------------------------------------------------------*/ -int osd_get_num_processors(void); - /*----------------------------------------------------------------------------- osd_process_kill: kill the current process diff --git a/src/osd/modules/sync/osdsync.cpp b/src/osd/modules/sync/osdsync.cpp deleted file mode 100644 index 98690149358..00000000000 --- a/src/osd/modules/sync/osdsync.cpp +++ /dev/null @@ -1,14 +0,0 @@ -// license:BSD-3-Clause -// copyright-holders:Aaron Giles,Miodrag Milanovic -//============================================================ -// -// osdsync.cpp -OSD core synchronization functions -// -//============================================================ -// MAME headers -#include "osdcore.h" -#include "osdsync.h" - -#include - - diff --git a/src/osd/osdcore.cpp b/src/osd/osdcore.cpp index 3e783159a9b..badda762e16 100644 --- a/src/osd/osdcore.cpp +++ b/src/osd/osdcore.cpp @@ -195,12 +195,3 @@ void osd_sleep(osd_ticks_t duration) std::this_thread::sleep_for(std::chrono::high_resolution_clock::duration(duration)); } -//============================================================ -// osd_num_processors -//============================================================ - -int osd_get_num_processors(void) -{ - // max out at 4 for now since scaling above that seems to do poorly - return MIN(std::thread::hardware_concurrency(), 4); -} diff --git a/src/osd/osdmini/minidir.cpp b/src/osd/osdmini/minidir.cpp deleted file mode 100644 index dde1448a694..00000000000 --- a/src/osd/osdmini/minidir.cpp +++ /dev/null @@ -1,44 +0,0 @@ -// license:BSD-3-Clause -// copyright-holders:Aaron Giles -//============================================================ -// -// minidir.c - Minimal core directory access functions -// -//============================================================ - -#include "osdcore.h" - - -//============================================================ -// osd_opendir -//============================================================ - -osd_directory *osd_opendir(const char *dirname) -{ - // since there are no standard C library routines for walking directories, - // we always return an error here - return nullptr; -} - - -//============================================================ -// osd_readdir -//============================================================ - -const osd_directory_entry *osd_readdir(osd_directory *dir) -{ - // since there are no standard C library routines for walking directories, - // we always return an error here - return nullptr; -} - - -//============================================================ -// osd_closedir -//============================================================ - -void osd_closedir(osd_directory *dir) -{ - // since there are no standard C library routines for walking directories, - // we do nothing -} diff --git a/src/osd/osdmini/minimain.cpp b/src/osd/osdmini/minimain.cpp deleted file mode 100644 index 18fbba1bc37..00000000000 --- a/src/osd/osdmini/minimain.cpp +++ /dev/null @@ -1,179 +0,0 @@ -// license:BSD-3-Clause -// copyright-holders:Aaron Giles -//============================================================ -// -// minimain.c - Main function for mini OSD -// -//============================================================ - -#include "emu.h" -#include "osdepend.h" -#include "render.h" -#include "clifront.h" -#include "osdmini.h" - - -//============================================================ -// CONSTANTS -//============================================================ - -// we fake a keyboard with the following keys -enum -{ - KEY_ESCAPE, - KEY_P1_START, - KEY_BUTTON_1, - KEY_BUTTON_2, - KEY_BUTTON_3, - KEY_JOYSTICK_U, - KEY_JOYSTICK_D, - KEY_JOYSTICK_L, - KEY_JOYSTICK_R, - KEY_TOTAL -}; - - -//============================================================ -// GLOBALS -//============================================================ - -// a single rendering target -static render_target *our_target; - -// a single input device -static input_device *keyboard_device; - -// the state of each key -static UINT8 keyboard_state[KEY_TOTAL]; - - -//============================================================ -// FUNCTION PROTOTYPES -//============================================================ - -static INT32 keyboard_get_state(void *device_internal, void *item_internal); - - -//============================================================ -// mini_osd_options -//============================================================ - -mini_osd_options::mini_osd_options() -: osd_options() -{ - //add_entries(s_option_entries); -} - -//============================================================ -// main -//============================================================ - -int main(int argc, char *argv[]) -{ - // cli_frontend does the heavy lifting; if we have osd-specific options, we - // create a derivative of cli_options and add our own - mini_osd_options options; - mini_osd_interface osd(options); - osd.register_options(); - cli_frontend frontend(options, osd); - return frontend.execute(argc, argv); -} - - -//============================================================ -// constructor -//============================================================ - -mini_osd_interface::mini_osd_interface(mini_osd_options &options) -: osd_common_t(options) -{ -} - - -//============================================================ -// destructor -//============================================================ - -mini_osd_interface::~mini_osd_interface() -{ -} - - -//============================================================ -// init -//============================================================ - -void mini_osd_interface::init(running_machine &machine) -{ - // call our parent - osd_common_t::init(machine); - - // initialize the video system by allocating a rendering target - our_target = machine.render().target_alloc(); - - // nothing yet to do to initialize sound, since we don't have any - // sound updates are handled by update_audio_stream() below - - // initialize the input system by adding devices - // let's pretend like we have a keyboard device - keyboard_device = machine.input().device_class(DEVICE_CLASS_KEYBOARD).add_device("Keyboard"); - if (keyboard_device == nullptr) - fatalerror("Error creating keyboard device\n"); - - // our faux keyboard only has a couple of keys (corresponding to the - // common defaults) - keyboard_device->add_item("Esc", ITEM_ID_ESC, keyboard_get_state, &keyboard_state[KEY_ESCAPE]); - keyboard_device->add_item("P1", ITEM_ID_1, keyboard_get_state, &keyboard_state[KEY_P1_START]); - keyboard_device->add_item("B1", ITEM_ID_LCONTROL, keyboard_get_state, &keyboard_state[KEY_BUTTON_1]); - keyboard_device->add_item("B2", ITEM_ID_LALT, keyboard_get_state, &keyboard_state[KEY_BUTTON_2]); - keyboard_device->add_item("B3", ITEM_ID_SPACE, keyboard_get_state, &keyboard_state[KEY_BUTTON_3]); - keyboard_device->add_item("JoyU", ITEM_ID_UP, keyboard_get_state, &keyboard_state[KEY_JOYSTICK_U]); - keyboard_device->add_item("JoyD", ITEM_ID_DOWN, keyboard_get_state, &keyboard_state[KEY_JOYSTICK_D]); - keyboard_device->add_item("JoyL", ITEM_ID_LEFT, keyboard_get_state, &keyboard_state[KEY_JOYSTICK_L]); - keyboard_device->add_item("JoyR", ITEM_ID_RIGHT, keyboard_get_state, &keyboard_state[KEY_JOYSTICK_R]); - - // hook up the debugger log -// add_logerror_callback(machine, output_oslog); -} - - -//============================================================ -// osd_update -//============================================================ - -void mini_osd_interface::update(bool skip_redraw) -{ - // get the minimum width/height for the current layout - int minwidth, minheight; - our_target->compute_minimum_size(minwidth, minheight); - - // make that the size of our target - our_target->set_bounds(minwidth, minheight); - - // get the list of primitives for the target at the current size - render_primitive_list &primlist = our_target->get_primitives(); - - // lock them, and then render them - primlist.acquire_lock(); - - // do the drawing here - primlist.release_lock(); - - // after 5 seconds, exit - if (machine().time() > attotime::from_seconds(5)) - machine().schedule_exit(); -} - - -//============================================================ -// keyboard_get_state -//============================================================ - -static INT32 keyboard_get_state(void *device_internal, void *item_internal) -{ - // this function is called by the input system to get the current key - // state; it is specified as a callback when adding items to input - // devices - UINT8 *keystate = (UINT8 *)item_internal; - return *keystate; -} diff --git a/src/osd/osdmini/minimisc.cpp b/src/osd/osdmini/minimisc.cpp deleted file mode 100644 index fb4901ca461..00000000000 --- a/src/osd/osdmini/minimisc.cpp +++ /dev/null @@ -1,109 +0,0 @@ -// license:BSD-3-Clause -// copyright-holders:Aaron Giles -//============================================================ -// -// minimisc.c - Minimal core miscellaneous functions -// -//============================================================ - -#include "osdcore.h" -#include - - -//============================================================ -// osd_malloc -//============================================================ - -void *osd_malloc(size_t size) -{ - return malloc(size); -} - - -//============================================================ -// osd_malloc_array -//============================================================ - -void *osd_malloc_array(size_t size) -{ - return malloc(size); -} - - -//============================================================ -// osd_free -//============================================================ - -void osd_free(void *ptr) -{ - free(ptr); -} - - -//============================================================ -// osd_alloc_executable -//============================================================ - -void *osd_alloc_executable(size_t size) -{ - // to use this version of the code, we have to assume that - // code injected into a malloc'ed region can be safely executed - return malloc(size); -} - - -//============================================================ -// osd_free_executable -//============================================================ - -void osd_free_executable(void *ptr, size_t size) -{ - free(ptr); -} - - -//============================================================ -// osd_break_into_debugger -//============================================================ - -void osd_break_into_debugger(const char *message) -{ - // there is no standard way to do this, so ignore it -} - - -//============================================================ -// osd_get_clipboard_text -//============================================================ - -char *osd_get_clipboard_text(void) -{ - // can't support clipboards generically - return nullptr; -} - -//============================================================ -// osd_getenv -//============================================================ - -const char *osd_getenv(const char *name) -{ - return nullptr; -} - -//============================================================ -// osd_setenv -//============================================================ - -int osd_setenv(const char *name, const char *value, int overwrite) -{ - return 0; -} - -//============================================================ -// osd_subst_env -//============================================================ -void osd_subst_env(std::string &dst, const std::string &src) -{ - dst = src; -} diff --git a/src/osd/osdmini/minitime.cpp b/src/osd/osdmini/minitime.cpp deleted file mode 100644 index b0d8ff17bb7..00000000000 --- a/src/osd/osdmini/minitime.cpp +++ /dev/null @@ -1,51 +0,0 @@ -// license:BSD-3-Clause -// copyright-holders:Aaron Giles -//============================================================ -// -// minitime.c - Minimal core timing functions -// -//============================================================ - -#include "osdepend.h" -#include - - -//============================================================ -// osd_num_processors -//============================================================ - -int osd_get_num_processors(void) -{ - return 1; -} - -//============================================================ -// osd_ticks -//============================================================ - -osd_ticks_t osd_ticks(void) -{ - // use the standard library clock function - return clock(); -} - - -//============================================================ -// osd_ticks_per_second -//============================================================ - -osd_ticks_t osd_ticks_per_second(void) -{ - return CLOCKS_PER_SEC; -} - - -//============================================================ -// osd_sleep -//============================================================ - -void osd_sleep(osd_ticks_t duration) -{ - // if there was a generic, cross-platform way to give up - // time, this is where we would do it -} diff --git a/src/osd/osdmini/osdmini.h b/src/osd/osdmini/osdmini.h deleted file mode 100644 index c0519c98b12..00000000000 --- a/src/osd/osdmini/osdmini.h +++ /dev/null @@ -1,57 +0,0 @@ -// license:BSD-3-Clause -// copyright-holders:Aaron Giles -//============================================================ -// -// osdmini.h - Core header -// -//============================================================ - -#include "options.h" -#include "osdepend.h" -#include "modules/lib/osdobj_common.h" - - -class mini_osd_options : public osd_options -{ -public: - // construction/destruction - mini_osd_options(); - -}; - -//============================================================ -// TYPE DEFINITIONS -//============================================================ - -class mini_osd_interface : public osd_common_t -{ -public: - // construction/destruction - mini_osd_interface(mini_osd_options &options); - virtual ~mini_osd_interface(); - - // general overridables - virtual void init(running_machine &machine); - virtual void update(bool skip_redraw); -}; - - - -//============================================================ -// GLOBAL VARIABLES -//============================================================ - -extern const options_entry mame_win_options[]; - -// defined in winwork.c -extern int osd_num_processors; - - - -//============================================================ -// FUNCTION PROTOTYPES -//============================================================ - -// use this to ping the watchdog -void winmain_watchdog_ping(void); -void winmain_dump_stack(); diff --git a/src/osd/modules/sync/work_osd.cpp b/src/osd/osdsync.cpp similarity index 98% rename from src/osd/modules/sync/work_osd.cpp rename to src/osd/osdsync.cpp index 3afe4e6c273..84c8bac6ccb 100644 --- a/src/osd/modules/sync/work_osd.cpp +++ b/src/osd/osdsync.cpp @@ -2,7 +2,7 @@ // copyright-holders:Aaron Giles //============================================================ // -// sdlwork.c - SDL OSD core work item functions +// osdsync.c - OSD core work item functions // //============================================================ #if defined(OSD_WINDOWS) || defined(SDLMAME_WIN32) @@ -24,9 +24,7 @@ // MAME headers #include "osdcore.h" - -#include "modules/sync/osdsync.h" -#include "modules/lib/osdlib.h" +#include "osdsync.h" #include "eminline.h" @@ -84,6 +82,15 @@ static void spin_while_not(const volatile _AtomType * volatile atom, const _Main spin_while<_AtomType, _MainType>(atom, val, timeout, 1); } +//============================================================ +// osd_num_processors +//============================================================ + +int osd_get_num_processors(void) +{ + // max out at 4 for now since scaling above that seems to do poorly + return MIN(std::thread::hardware_concurrency(), 4); +} //============================================================ // TYPE DEFINITIONS diff --git a/src/osd/modules/sync/osdsync.h b/src/osd/osdsync.h similarity index 100% rename from src/osd/modules/sync/osdsync.h rename to src/osd/osdsync.h diff --git a/src/osd/sdl/watchdog.h b/src/osd/sdl/watchdog.h index 9cc2ee03322..f9c06e72bb0 100644 --- a/src/osd/sdl/watchdog.h +++ b/src/osd/sdl/watchdog.h @@ -10,7 +10,7 @@ // //============================================================ -#include "modules/sync/osdsync.h" +#include "osdsync.h" #include #include From bd04e5b17dcf679cd8618a02e97ce957d2c62865 Mon Sep 17 00:00:00 2001 From: hap Date: Fri, 15 Apr 2016 15:31:33 +0200 Subject: [PATCH 009/122] tms1000: added TMS1700/1730 mcu types --- src/devices/cpu/tms1000/tms1000.cpp | 23 ++++++++++++++++++++++- src/devices/cpu/tms1000/tms1000.h | 15 +++++++++++++++ 2 files changed, 37 insertions(+), 1 deletion(-) diff --git a/src/devices/cpu/tms1000/tms1000.cpp b/src/devices/cpu/tms1000/tms1000.cpp index fbe1cb3c299..3058e9f8c04 100644 --- a/src/devices/cpu/tms1000/tms1000.cpp +++ b/src/devices/cpu/tms1000/tms1000.cpp @@ -2,7 +2,10 @@ // copyright-holders:hap /* - TMS1000 family - TMS1000, TMS1070, TMS1040, TMS1200 + TMS1000 family - TMS1000, TMS1070, TMS1040, TMS1200, TMS1700, TMS1730 + + TODO: + - which O pins are connected on TMS1730? */ @@ -23,6 +26,8 @@ const device_type TMS1070 = &device_creator; // high voltage const device_type TMS1040 = &device_creator; // same as TMS1070 with just a different pinout? const device_type TMS1200 = &device_creator; // 40-pin DIP, 13 R pins // TMS1270 has 10 O pins, how does that work? +const device_type TMS1700 = &device_creator; // 28-pin DIP, RAM/ROM size halved, 9 R pins +const device_type TMS1730 = &device_creator; // 20-pin DIP, same die as TMS1700, package has less pins: 6 R pins, 5 O pins // internal memory maps @@ -30,10 +35,18 @@ static ADDRESS_MAP_START(program_10bit_8, AS_PROGRAM, 8, tms1k_base_device) AM_RANGE(0x000, 0x3ff) AM_ROM ADDRESS_MAP_END +static ADDRESS_MAP_START(program_9bit_8, AS_PROGRAM, 8, tms1k_base_device) + AM_RANGE(0x000, 0x1ff) AM_ROM +ADDRESS_MAP_END + static ADDRESS_MAP_START(data_64x4, AS_DATA, 8, tms1k_base_device) AM_RANGE(0x00, 0x3f) AM_RAM ADDRESS_MAP_END +static ADDRESS_MAP_START(data_32x4, AS_DATA, 8, tms1k_base_device) + AM_RANGE(0x00, 0x1f) AM_RAM +ADDRESS_MAP_END + // device definitions tms1000_cpu_device::tms1000_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock) @@ -56,6 +69,14 @@ tms1200_cpu_device::tms1200_cpu_device(const machine_config &mconfig, const char : tms1000_cpu_device(mconfig, TMS1200, "TMS1200", tag, owner, clock, 8, 13, 6, 8, 2, 10, ADDRESS_MAP_NAME(program_10bit_8), 6, ADDRESS_MAP_NAME(data_64x4), "tms1200", __FILE__) { } +tms1700_cpu_device::tms1700_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock) + : tms1000_cpu_device(mconfig, TMS1700, "TMS1700", tag, owner, clock, 8, 9, 5, 8, 1, 10, ADDRESS_MAP_NAME(program_9bit_8), 6, ADDRESS_MAP_NAME(data_32x4), "tms1700", __FILE__) +{ } + +tms1730_cpu_device::tms1730_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock) + : tms1000_cpu_device(mconfig, TMS1730, "TMS1730", tag, owner, clock, 8, 9, 5, 8, 1, 10, ADDRESS_MAP_NAME(program_9bit_8), 6, ADDRESS_MAP_NAME(data_32x4), "tms1730", __FILE__) +{ } + // machine configs static MACHINE_CONFIG_FRAGMENT(tms1000) diff --git a/src/devices/cpu/tms1000/tms1000.h b/src/devices/cpu/tms1000/tms1000.h index 361e4e6fe83..af8dc3fd7ee 100644 --- a/src/devices/cpu/tms1000/tms1000.h +++ b/src/devices/cpu/tms1000/tms1000.h @@ -47,9 +47,24 @@ public: }; +class tms1700_cpu_device : public tms1000_cpu_device +{ +public: + tms1700_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock); +}; + +class tms1730_cpu_device : public tms1000_cpu_device +{ +public: + tms1730_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock); +}; + + extern const device_type TMS1000; extern const device_type TMS1070; extern const device_type TMS1040; extern const device_type TMS1200; +extern const device_type TMS1700; +extern const device_type TMS1730; #endif /* _TMS1000_H_ */ From 37c94e3373e18bd71095bf736ba5105bf3b04e2e Mon Sep 17 00:00:00 2001 From: Miodrag Milanovic Date: Fri, 15 Apr 2016 16:01:35 +0200 Subject: [PATCH 010/122] Update windows to use platform independent watchdog implementation (nw) --- scripts/src/osd/modules.lua | 2 + scripts/src/osd/sdl.lua | 2 - src/osd/modules/lib/osdobj_common.cpp | 18 ++++++- src/osd/modules/lib/osdobj_common.h | 16 +++--- src/osd/sdl/osdsdl.h | 3 -- src/osd/sdl/sdlmain.cpp | 12 +---- src/osd/sdl/video.cpp | 9 +--- src/osd/{sdl => }/watchdog.cpp | 0 src/osd/{sdl => }/watchdog.h | 0 src/osd/windows/video.cpp | 5 +- src/osd/windows/winmain.cpp | 77 --------------------------- src/osd/windows/winmain.h | 2 - 12 files changed, 32 insertions(+), 114 deletions(-) rename src/osd/{sdl => }/watchdog.cpp (100%) rename src/osd/{sdl => }/watchdog.h (100%) diff --git a/scripts/src/osd/modules.lua b/scripts/src/osd/modules.lua index 11c69108ec2..fb48d20a2d5 100644 --- a/scripts/src/osd/modules.lua +++ b/scripts/src/osd/modules.lua @@ -44,6 +44,8 @@ function osdmodulesbuild() files { MAME_DIR .. "src/osd/osdnet.cpp", MAME_DIR .. "src/osd/osdnet.h", + MAME_DIR .. "src/osd/watchdog.cpp", + MAME_DIR .. "src/osd/watchdog.h", MAME_DIR .. "src/osd/modules/debugger/debug_module.h", MAME_DIR .. "src/osd/modules/font/font_module.h", MAME_DIR .. "src/osd/modules/midi/midi_module.h", diff --git a/scripts/src/osd/sdl.lua b/scripts/src/osd/sdl.lua index 15da1878de5..d1a83229698 100644 --- a/scripts/src/osd/sdl.lua +++ b/scripts/src/osd/sdl.lua @@ -425,8 +425,6 @@ project ("osd_" .. _OPTIONS["osd"]) MAME_DIR .. "src/osd/sdl/window.h", MAME_DIR .. "src/osd/modules/osdwindow.cpp", MAME_DIR .. "src/osd/modules/osdwindow.h", - MAME_DIR .. "src/osd/sdl/watchdog.cpp", - MAME_DIR .. "src/osd/sdl/watchdog.h", MAME_DIR .. "src/osd/modules/render/drawsdl.cpp", } files { diff --git a/src/osd/modules/lib/osdobj_common.cpp b/src/osd/modules/lib/osdobj_common.cpp index 32f1a6047ac..adc202ce4db 100644 --- a/src/osd/modules/lib/osdobj_common.cpp +++ b/src/osd/modules/lib/osdobj_common.cpp @@ -175,7 +175,8 @@ osd_common_t::osd_common_t(osd_options &options) m_mouse_input(nullptr), m_lightgun_input(nullptr), m_joystick_input(nullptr), - m_output(nullptr) + m_output(nullptr), + m_watchdog(nullptr) { osd_output::push(this); } @@ -420,6 +421,16 @@ void osd_common_t::init(running_machine &machine) // ensure we get called on the way out machine.add_notifier(MACHINE_NOTIFY_EXIT, machine_notify_delegate(FUNC(osd_common_t::osd_exit), this)); + + + /* now setup watchdog */ + int watchdog_timeout = options.watchdog(); + + if (watchdog_timeout != 0) + { + m_watchdog = std::make_unique(); + m_watchdog->setTimeout(watchdog_timeout); + } } @@ -437,6 +448,11 @@ void osd_common_t::update(bool skip_redraw) // irregular intervals in some circumstances (e.g., multi-screen games // or games with asynchronous updates). // + if (m_watchdog != NULL) + m_watchdog->reset(); + + update_slider_list(); + } diff --git a/src/osd/modules/lib/osdobj_common.h b/src/osd/modules/lib/osdobj_common.h index cd83ba61e7b..9afce249eb1 100644 --- a/src/osd/modules/lib/osdobj_common.h +++ b/src/osd/modules/lib/osdobj_common.h @@ -14,6 +14,7 @@ #define MAME_OSD_LIB_OSDOBJ_COMMON_H #include "osdepend.h" +#include "watchdog.h" #include "modules/osdmodule.h" #include "modules/font/font_module.h" #include "modules/input/input_module.h" @@ -273,14 +274,15 @@ private: } protected: - sound_module* m_sound; - debug_module* m_debugger; - midi_module* m_midi; - input_module* m_keyboard_input; - input_module* m_mouse_input; - input_module* m_lightgun_input; - input_module* m_joystick_input; + sound_module* m_sound; + debug_module* m_debugger; + midi_module* m_midi; + input_module* m_keyboard_input; + input_module* m_mouse_input; + input_module* m_lightgun_input; + input_module* m_joystick_input; output_module* m_output; + std::unique_ptr m_watchdog; std::vector m_sliders; private: diff --git a/src/osd/sdl/osdsdl.h b/src/osd/sdl/osdsdl.h index c239966c7ab..d7d4a1a4a3c 100644 --- a/src/osd/sdl/osdsdl.h +++ b/src/osd/sdl/osdsdl.h @@ -3,7 +3,6 @@ #ifndef _osdsdl_h_ #define _osdsdl_h_ -#include "watchdog.h" #include "modules/lib/osdobj_common.h" #include "modules/osdmodule.h" #include "modules/font/font_module.h" @@ -168,8 +167,6 @@ private: void extract_video_config(); sdl_options &m_options; - - watchdog *m_watchdog; }; //============================================================ diff --git a/src/osd/sdl/sdlmain.cpp b/src/osd/sdl/sdlmain.cpp index 270bc714320..43b1052df01 100644 --- a/src/osd/sdl/sdlmain.cpp +++ b/src/osd/sdl/sdlmain.cpp @@ -53,8 +53,6 @@ #include #endif -#include "watchdog.h" - //============================================================ // OPTIONS //============================================================ @@ -250,7 +248,7 @@ static void output_oslog(const running_machine &machine, const char *buffer) //============================================================ sdl_osd_interface::sdl_osd_interface(sdl_options &options) -: osd_common_t(options), m_options(options), m_watchdog(nullptr) +: osd_common_t(options), m_options(options) { } @@ -505,15 +503,7 @@ void sdl_osd_interface::init(running_machine &machine) if (options().oslog()) machine.add_logerror_callback(output_oslog); - /* now setup watchdog */ - int watchdog_timeout = options().watchdog(); - - if (watchdog_timeout != 0) - { - m_watchdog = auto_alloc(machine, watchdog); - m_watchdog->setTimeout(watchdog_timeout); - } #ifdef SDLMAME_EMSCRIPTEN SDL_EventState(SDL_TEXTINPUT, SDL_FALSE); diff --git a/src/osd/sdl/video.cpp b/src/osd/sdl/video.cpp index 582836f0c8e..8a8402e44b3 100644 --- a/src/osd/sdl/video.cpp +++ b/src/osd/sdl/video.cpp @@ -134,18 +134,13 @@ void sdl_monitor_info::refresh() void sdl_osd_interface::update(bool skip_redraw) { - sdl_window_info *window; - - if (m_watchdog != NULL) - m_watchdog->reset(); - - update_slider_list(); + osd_common_t::update(skip_redraw); // if we're not skipping this redraw, update all windows if (!skip_redraw) { // profiler_mark(PROFILER_BLIT); - for (window = sdl_window_list; window != NULL; window = window->m_next) + for (sdl_window_info *window = sdl_window_list; window != NULL; window = window->m_next) window->update(); // profiler_mark(PROFILER_END); } diff --git a/src/osd/sdl/watchdog.cpp b/src/osd/watchdog.cpp similarity index 100% rename from src/osd/sdl/watchdog.cpp rename to src/osd/watchdog.cpp diff --git a/src/osd/sdl/watchdog.h b/src/osd/watchdog.h similarity index 100% rename from src/osd/sdl/watchdog.h rename to src/osd/watchdog.h diff --git a/src/osd/windows/video.cpp b/src/osd/windows/video.cpp index f6de9222c50..b0f28ee7d13 100644 --- a/src/osd/windows/video.cpp +++ b/src/osd/windows/video.cpp @@ -166,10 +166,7 @@ osd_monitor_info *win_monitor_info::monitor_from_handle(HMONITOR hmonitor) void windows_osd_interface::update(bool skip_redraw) { - // ping the watchdog on each update - winmain_watchdog_ping(); - - update_slider_list(); + osd_common_t::update(skip_redraw); // if we're not skipping this redraw, update all windows if (!skip_redraw) diff --git a/src/osd/windows/winmain.cpp b/src/osd/windows/winmain.cpp index 7249c9ee747..0d0a8ed7b1c 100644 --- a/src/osd/windows/winmain.cpp +++ b/src/osd/windows/winmain.cpp @@ -280,10 +280,6 @@ static int timeresult = !TIMERR_NOERROR; static TIMECAPS timecaps; #endif -static HANDLE watchdog_reset_event; -static HANDLE watchdog_exit_event; -static HANDLE watchdog_thread; - static running_machine *g_current_machine; @@ -293,7 +289,6 @@ static running_machine *g_current_machine; static BOOL WINAPI control_handler(DWORD type); static int is_double_click_start(int argc); -static DWORD WINAPI watchdog_thread_entry(LPVOID lpParameter); static LONG WINAPI exception_filter(struct _EXCEPTION_POINTERS *info); @@ -702,17 +697,6 @@ void windows_osd_interface::init(running_machine &machine) timeBeginPeriod(timecaps.wPeriodMin); #endif - // if a watchdog thread is requested, create one - int watchdog = options.watchdog(); - if (watchdog != 0) - { - watchdog_reset_event = CreateEvent(nullptr, FALSE, FALSE, nullptr); - assert_always(watchdog_reset_event != nullptr, "Failed to create watchdog reset event"); - watchdog_exit_event = CreateEvent(nullptr, TRUE, FALSE, nullptr); - assert_always(watchdog_exit_event != nullptr, "Failed to create watchdog exit event"); - watchdog_thread = CreateThread(nullptr, 0, watchdog_thread_entry, (LPVOID)(FPTR)watchdog, 0, nullptr); - assert_always(watchdog_thread != nullptr, "Failed to create watchdog thread"); - } // create and start the profiler #if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) @@ -745,18 +729,6 @@ void windows_osd_interface::osd_exit() osd_common_t::osd_exit(); - // take down the watchdog thread if it exists - if (watchdog_thread != nullptr) - { - SetEvent(watchdog_exit_event); - WaitForSingleObject(watchdog_thread, INFINITE); - CloseHandle(watchdog_reset_event); - CloseHandle(watchdog_exit_event); - CloseHandle(watchdog_thread); - watchdog_reset_event = nullptr; - watchdog_exit_event = nullptr; - watchdog_thread = nullptr; - } #if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) // stop the profiler @@ -777,55 +749,6 @@ void windows_osd_interface::osd_exit() } -//============================================================ -// watchdog_thread_entry -//============================================================ - -static DWORD WINAPI watchdog_thread_entry(LPVOID lpParameter) -{ - DWORD timeout = (int)(FPTR)lpParameter * 1000; - - while (TRUE) - { - HANDLE handle_list[2]; - DWORD wait_result; - - // wait for either a reset or an exit, or a timeout - handle_list[0] = watchdog_reset_event; - handle_list[1] = watchdog_exit_event; - wait_result = WaitForMultipleObjects(2, handle_list, FALSE, timeout); - - // on a reset, just loop around and re-wait - if (wait_result == WAIT_OBJECT_0 + 0) - continue; - - // on an exit, break out - if (wait_result == WAIT_OBJECT_0 + 1) - break; - - // on a timeout, kill the process - if (wait_result == WAIT_TIMEOUT) - { - fprintf(stderr, "Terminating due to watchdog timeout\n"); - fflush(stderr); - TerminateProcess(GetCurrentProcess(), -1); - } - } - return EXCEPTION_CONTINUE_SEARCH; -} - - -//============================================================ -// winmain_watchdog_ping -//============================================================ - -void winmain_watchdog_ping(void) -{ - // if we have a watchdog, reset it - if (watchdog_reset_event != nullptr) - SetEvent(watchdog_reset_event); -} - #if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) diff --git a/src/osd/windows/winmain.h b/src/osd/windows/winmain.h index 7bd2917a2a7..b41092bf500 100644 --- a/src/osd/windows/winmain.h +++ b/src/osd/windows/winmain.h @@ -337,8 +337,6 @@ extern int osd_num_processors; // FUNCTION PROTOTYPES //============================================================ -// use this to ping the watchdog -void winmain_watchdog_ping(void); void winmain_dump_stack(); #endif From 1a83c84eaeede7f5a735ac1f299bb43a47ca4a47 Mon Sep 17 00:00:00 2001 From: Miodrag Milanovic Date: Fri, 15 Apr 2016 16:04:15 +0200 Subject: [PATCH 011/122] Removed problematic licensed files (nw) --- 3rdparty/rapidjson/bin/data/glossary.json | 22 - 3rdparty/rapidjson/bin/data/menu.json | 27 - 3rdparty/rapidjson/bin/data/readme.txt | 1 - 3rdparty/rapidjson/bin/data/sample.json | 3315 ----------------- 3rdparty/rapidjson/bin/data/webapp.json | 88 - 3rdparty/rapidjson/bin/data/widget.json | 26 - 3rdparty/rapidjson/bin/draft-04/schema | 150 - 3rdparty/rapidjson/bin/encodings/utf16be.json | Bin 368 -> 0 bytes .../rapidjson/bin/encodings/utf16bebom.json | Bin 370 -> 0 bytes 3rdparty/rapidjson/bin/encodings/utf16le.json | Bin 368 -> 0 bytes .../rapidjson/bin/encodings/utf16lebom.json | Bin 370 -> 0 bytes 3rdparty/rapidjson/bin/encodings/utf32be.json | Bin 736 -> 0 bytes .../rapidjson/bin/encodings/utf32bebom.json | Bin 740 -> 0 bytes 3rdparty/rapidjson/bin/encodings/utf32le.json | Bin 736 -> 0 bytes .../rapidjson/bin/encodings/utf32lebom.json | Bin 740 -> 0 bytes 3rdparty/rapidjson/bin/encodings/utf8.json | 7 - 3rdparty/rapidjson/bin/encodings/utf8bom.json | 7 - 3rdparty/rapidjson/bin/jsonchecker/fail1.json | 1 - .../rapidjson/bin/jsonchecker/fail10.json | 1 - .../rapidjson/bin/jsonchecker/fail11.json | 1 - .../rapidjson/bin/jsonchecker/fail12.json | 1 - .../rapidjson/bin/jsonchecker/fail13.json | 1 - .../rapidjson/bin/jsonchecker/fail14.json | 1 - .../rapidjson/bin/jsonchecker/fail15.json | 1 - .../rapidjson/bin/jsonchecker/fail16.json | 1 - .../rapidjson/bin/jsonchecker/fail17.json | 1 - .../rapidjson/bin/jsonchecker/fail18.json | 1 - .../rapidjson/bin/jsonchecker/fail19.json | 1 - 3rdparty/rapidjson/bin/jsonchecker/fail2.json | 1 - .../rapidjson/bin/jsonchecker/fail20.json | 1 - .../rapidjson/bin/jsonchecker/fail21.json | 1 - .../rapidjson/bin/jsonchecker/fail22.json | 1 - .../rapidjson/bin/jsonchecker/fail23.json | 1 - .../rapidjson/bin/jsonchecker/fail24.json | 1 - .../rapidjson/bin/jsonchecker/fail25.json | 1 - .../rapidjson/bin/jsonchecker/fail26.json | 1 - .../rapidjson/bin/jsonchecker/fail27.json | 2 - .../rapidjson/bin/jsonchecker/fail28.json | 2 - .../rapidjson/bin/jsonchecker/fail29.json | 1 - 3rdparty/rapidjson/bin/jsonchecker/fail3.json | 1 - .../rapidjson/bin/jsonchecker/fail30.json | 1 - .../rapidjson/bin/jsonchecker/fail31.json | 1 - .../rapidjson/bin/jsonchecker/fail32.json | 1 - .../rapidjson/bin/jsonchecker/fail33.json | 1 - 3rdparty/rapidjson/bin/jsonchecker/fail4.json | 1 - 3rdparty/rapidjson/bin/jsonchecker/fail5.json | 1 - 3rdparty/rapidjson/bin/jsonchecker/fail6.json | 1 - 3rdparty/rapidjson/bin/jsonchecker/fail7.json | 1 - 3rdparty/rapidjson/bin/jsonchecker/fail8.json | 1 - 3rdparty/rapidjson/bin/jsonchecker/fail9.json | 1 - 3rdparty/rapidjson/bin/jsonchecker/pass1.json | 58 - 3rdparty/rapidjson/bin/jsonchecker/pass2.json | 1 - 3rdparty/rapidjson/bin/jsonchecker/pass3.json | 6 - 3rdparty/rapidjson/bin/jsonchecker/readme.txt | 3 - 3rdparty/rapidjson/bin/jsonschema/.gitignore | 1 - 3rdparty/rapidjson/bin/jsonschema/.travis.yml | 4 - 3rdparty/rapidjson/bin/jsonschema/LICENSE | 19 - 3rdparty/rapidjson/bin/jsonschema/README.md | 148 - .../bin/jsonschema/bin/jsonschema_suite | 283 -- .../bin/jsonschema/remotes/.DS_Store | Bin 6148 -> 0 bytes .../remotes/folder/folderInteger.json | 3 - .../bin/jsonschema/remotes/integer.json | 3 - .../bin/jsonschema/remotes/subSchemas.json | 8 - .../rapidjson/bin/jsonschema/tests/.DS_Store | Bin 6148 -> 0 bytes .../tests/draft3/additionalItems.json | 82 - .../tests/draft3/additionalProperties.json | 88 - .../bin/jsonschema/tests/draft3/default.json | 49 - .../jsonschema/tests/draft3/dependencies.json | 108 - .../bin/jsonschema/tests/draft3/disallow.json | 80 - .../jsonschema/tests/draft3/divisibleBy.json | 60 - .../bin/jsonschema/tests/draft3/enum.json | 71 - .../bin/jsonschema/tests/draft3/extends.json | 94 - .../bin/jsonschema/tests/draft3/items.json | 46 - .../bin/jsonschema/tests/draft3/maxItems.json | 28 - .../jsonschema/tests/draft3/maxLength.json | 33 - .../bin/jsonschema/tests/draft3/maximum.json | 42 - .../bin/jsonschema/tests/draft3/minItems.json | 28 - .../jsonschema/tests/draft3/minLength.json | 33 - .../bin/jsonschema/tests/draft3/minimum.json | 42 - .../tests/draft3/optional/bignum.json | 107 - .../tests/draft3/optional/format.json | 222 -- .../tests/draft3/optional/jsregex.json | 18 - .../draft3/optional/zeroTerminatedFloats.json | 15 - .../bin/jsonschema/tests/draft3/pattern.json | 34 - .../tests/draft3/patternProperties.json | 110 - .../jsonschema/tests/draft3/properties.json | 92 - .../bin/jsonschema/tests/draft3/ref.json | 159 - .../jsonschema/tests/draft3/refRemote.json | 74 - .../bin/jsonschema/tests/draft3/required.json | 53 - .../bin/jsonschema/tests/draft3/type.json | 474 --- .../jsonschema/tests/draft3/uniqueItems.json | 79 - .../bin/jsonschema/tests/draft4/.DS_Store | Bin 6148 -> 0 bytes .../tests/draft4/additionalItems.json | 82 - .../tests/draft4/additionalProperties.json | 88 - .../bin/jsonschema/tests/draft4/allOf.json | 112 - .../bin/jsonschema/tests/draft4/anyOf.json | 68 - .../bin/jsonschema/tests/draft4/default.json | 49 - .../jsonschema/tests/draft4/definitions.json | 32 - .../jsonschema/tests/draft4/dependencies.json | 113 - .../bin/jsonschema/tests/draft4/enum.json | 72 - .../bin/jsonschema/tests/draft4/items.json | 46 - .../bin/jsonschema/tests/draft4/maxItems.json | 28 - .../jsonschema/tests/draft4/maxLength.json | 33 - .../tests/draft4/maxProperties.json | 28 - .../bin/jsonschema/tests/draft4/maximum.json | 42 - .../bin/jsonschema/tests/draft4/minItems.json | 28 - .../jsonschema/tests/draft4/minLength.json | 33 - .../tests/draft4/minProperties.json | 28 - .../bin/jsonschema/tests/draft4/minimum.json | 42 - .../jsonschema/tests/draft4/multipleOf.json | 60 - .../bin/jsonschema/tests/draft4/not.json | 96 - .../bin/jsonschema/tests/draft4/oneOf.json | 68 - .../tests/draft4/optional/bignum.json | 107 - .../tests/draft4/optional/format.json | 148 - .../draft4/optional/zeroTerminatedFloats.json | 15 - .../bin/jsonschema/tests/draft4/pattern.json | 34 - .../tests/draft4/patternProperties.json | 110 - .../jsonschema/tests/draft4/properties.json | 92 - .../bin/jsonschema/tests/draft4/ref.json | 159 - .../jsonschema/tests/draft4/refRemote.json | 74 - .../bin/jsonschema/tests/draft4/required.json | 39 - .../bin/jsonschema/tests/draft4/type.json | 330 -- .../jsonschema/tests/draft4/uniqueItems.json | 79 - 3rdparty/rapidjson/bin/jsonschema/tox.ini | 8 - 3rdparty/rapidjson/bin/types/booleans.json | 102 - 3rdparty/rapidjson/bin/types/floats.json | 102 - 3rdparty/rapidjson/bin/types/guids.json | 102 - 3rdparty/rapidjson/bin/types/integers.json | 102 - 3rdparty/rapidjson/bin/types/mixed.json | 592 --- 3rdparty/rapidjson/bin/types/nulls.json | 102 - 3rdparty/rapidjson/bin/types/paragraphs.json | 102 - 3rdparty/rapidjson/bin/types/readme.txt | 1 - 3rdparty/rapidjson/license.txt | 24 - 133 files changed, 10108 deletions(-) delete mode 100644 3rdparty/rapidjson/bin/data/glossary.json delete mode 100644 3rdparty/rapidjson/bin/data/menu.json delete mode 100644 3rdparty/rapidjson/bin/data/readme.txt delete mode 100644 3rdparty/rapidjson/bin/data/sample.json delete mode 100644 3rdparty/rapidjson/bin/data/webapp.json delete mode 100644 3rdparty/rapidjson/bin/data/widget.json delete mode 100644 3rdparty/rapidjson/bin/draft-04/schema delete mode 100644 3rdparty/rapidjson/bin/encodings/utf16be.json delete mode 100644 3rdparty/rapidjson/bin/encodings/utf16bebom.json delete mode 100644 3rdparty/rapidjson/bin/encodings/utf16le.json delete mode 100644 3rdparty/rapidjson/bin/encodings/utf16lebom.json delete mode 100644 3rdparty/rapidjson/bin/encodings/utf32be.json delete mode 100644 3rdparty/rapidjson/bin/encodings/utf32bebom.json delete mode 100644 3rdparty/rapidjson/bin/encodings/utf32le.json delete mode 100644 3rdparty/rapidjson/bin/encodings/utf32lebom.json delete mode 100644 3rdparty/rapidjson/bin/encodings/utf8.json delete mode 100644 3rdparty/rapidjson/bin/encodings/utf8bom.json delete mode 100644 3rdparty/rapidjson/bin/jsonchecker/fail1.json delete mode 100644 3rdparty/rapidjson/bin/jsonchecker/fail10.json delete mode 100644 3rdparty/rapidjson/bin/jsonchecker/fail11.json delete mode 100644 3rdparty/rapidjson/bin/jsonchecker/fail12.json delete mode 100644 3rdparty/rapidjson/bin/jsonchecker/fail13.json delete mode 100644 3rdparty/rapidjson/bin/jsonchecker/fail14.json delete mode 100644 3rdparty/rapidjson/bin/jsonchecker/fail15.json delete mode 100644 3rdparty/rapidjson/bin/jsonchecker/fail16.json delete mode 100644 3rdparty/rapidjson/bin/jsonchecker/fail17.json delete mode 100644 3rdparty/rapidjson/bin/jsonchecker/fail18.json delete mode 100644 3rdparty/rapidjson/bin/jsonchecker/fail19.json delete mode 100644 3rdparty/rapidjson/bin/jsonchecker/fail2.json delete mode 100644 3rdparty/rapidjson/bin/jsonchecker/fail20.json delete mode 100644 3rdparty/rapidjson/bin/jsonchecker/fail21.json delete mode 100644 3rdparty/rapidjson/bin/jsonchecker/fail22.json delete mode 100644 3rdparty/rapidjson/bin/jsonchecker/fail23.json delete mode 100644 3rdparty/rapidjson/bin/jsonchecker/fail24.json delete mode 100644 3rdparty/rapidjson/bin/jsonchecker/fail25.json delete mode 100644 3rdparty/rapidjson/bin/jsonchecker/fail26.json delete mode 100644 3rdparty/rapidjson/bin/jsonchecker/fail27.json delete mode 100644 3rdparty/rapidjson/bin/jsonchecker/fail28.json delete mode 100644 3rdparty/rapidjson/bin/jsonchecker/fail29.json delete mode 100644 3rdparty/rapidjson/bin/jsonchecker/fail3.json delete mode 100644 3rdparty/rapidjson/bin/jsonchecker/fail30.json delete mode 100644 3rdparty/rapidjson/bin/jsonchecker/fail31.json delete mode 100644 3rdparty/rapidjson/bin/jsonchecker/fail32.json delete mode 100644 3rdparty/rapidjson/bin/jsonchecker/fail33.json delete mode 100644 3rdparty/rapidjson/bin/jsonchecker/fail4.json delete mode 100644 3rdparty/rapidjson/bin/jsonchecker/fail5.json delete mode 100644 3rdparty/rapidjson/bin/jsonchecker/fail6.json delete mode 100644 3rdparty/rapidjson/bin/jsonchecker/fail7.json delete mode 100644 3rdparty/rapidjson/bin/jsonchecker/fail8.json delete mode 100644 3rdparty/rapidjson/bin/jsonchecker/fail9.json delete mode 100644 3rdparty/rapidjson/bin/jsonchecker/pass1.json delete mode 100644 3rdparty/rapidjson/bin/jsonchecker/pass2.json delete mode 100644 3rdparty/rapidjson/bin/jsonchecker/pass3.json delete mode 100644 3rdparty/rapidjson/bin/jsonchecker/readme.txt delete mode 100644 3rdparty/rapidjson/bin/jsonschema/.gitignore delete mode 100644 3rdparty/rapidjson/bin/jsonschema/.travis.yml delete mode 100644 3rdparty/rapidjson/bin/jsonschema/LICENSE delete mode 100644 3rdparty/rapidjson/bin/jsonschema/README.md delete mode 100644 3rdparty/rapidjson/bin/jsonschema/bin/jsonschema_suite delete mode 100644 3rdparty/rapidjson/bin/jsonschema/remotes/.DS_Store delete mode 100644 3rdparty/rapidjson/bin/jsonschema/remotes/folder/folderInteger.json delete mode 100644 3rdparty/rapidjson/bin/jsonschema/remotes/integer.json delete mode 100644 3rdparty/rapidjson/bin/jsonschema/remotes/subSchemas.json delete mode 100644 3rdparty/rapidjson/bin/jsonschema/tests/.DS_Store delete mode 100644 3rdparty/rapidjson/bin/jsonschema/tests/draft3/additionalItems.json delete mode 100644 3rdparty/rapidjson/bin/jsonschema/tests/draft3/additionalProperties.json delete mode 100644 3rdparty/rapidjson/bin/jsonschema/tests/draft3/default.json delete mode 100644 3rdparty/rapidjson/bin/jsonschema/tests/draft3/dependencies.json delete mode 100644 3rdparty/rapidjson/bin/jsonschema/tests/draft3/disallow.json delete mode 100644 3rdparty/rapidjson/bin/jsonschema/tests/draft3/divisibleBy.json delete mode 100644 3rdparty/rapidjson/bin/jsonschema/tests/draft3/enum.json delete mode 100644 3rdparty/rapidjson/bin/jsonschema/tests/draft3/extends.json delete mode 100644 3rdparty/rapidjson/bin/jsonschema/tests/draft3/items.json delete mode 100644 3rdparty/rapidjson/bin/jsonschema/tests/draft3/maxItems.json delete mode 100644 3rdparty/rapidjson/bin/jsonschema/tests/draft3/maxLength.json delete mode 100644 3rdparty/rapidjson/bin/jsonschema/tests/draft3/maximum.json delete mode 100644 3rdparty/rapidjson/bin/jsonschema/tests/draft3/minItems.json delete mode 100644 3rdparty/rapidjson/bin/jsonschema/tests/draft3/minLength.json delete mode 100644 3rdparty/rapidjson/bin/jsonschema/tests/draft3/minimum.json delete mode 100644 3rdparty/rapidjson/bin/jsonschema/tests/draft3/optional/bignum.json delete mode 100644 3rdparty/rapidjson/bin/jsonschema/tests/draft3/optional/format.json delete mode 100644 3rdparty/rapidjson/bin/jsonschema/tests/draft3/optional/jsregex.json delete mode 100644 3rdparty/rapidjson/bin/jsonschema/tests/draft3/optional/zeroTerminatedFloats.json delete mode 100644 3rdparty/rapidjson/bin/jsonschema/tests/draft3/pattern.json delete mode 100644 3rdparty/rapidjson/bin/jsonschema/tests/draft3/patternProperties.json delete mode 100644 3rdparty/rapidjson/bin/jsonschema/tests/draft3/properties.json delete mode 100644 3rdparty/rapidjson/bin/jsonschema/tests/draft3/ref.json delete mode 100644 3rdparty/rapidjson/bin/jsonschema/tests/draft3/refRemote.json delete mode 100644 3rdparty/rapidjson/bin/jsonschema/tests/draft3/required.json delete mode 100644 3rdparty/rapidjson/bin/jsonschema/tests/draft3/type.json delete mode 100644 3rdparty/rapidjson/bin/jsonschema/tests/draft3/uniqueItems.json delete mode 100644 3rdparty/rapidjson/bin/jsonschema/tests/draft4/.DS_Store delete mode 100644 3rdparty/rapidjson/bin/jsonschema/tests/draft4/additionalItems.json delete mode 100644 3rdparty/rapidjson/bin/jsonschema/tests/draft4/additionalProperties.json delete mode 100644 3rdparty/rapidjson/bin/jsonschema/tests/draft4/allOf.json delete mode 100644 3rdparty/rapidjson/bin/jsonschema/tests/draft4/anyOf.json delete mode 100644 3rdparty/rapidjson/bin/jsonschema/tests/draft4/default.json delete mode 100644 3rdparty/rapidjson/bin/jsonschema/tests/draft4/definitions.json delete mode 100644 3rdparty/rapidjson/bin/jsonschema/tests/draft4/dependencies.json delete mode 100644 3rdparty/rapidjson/bin/jsonschema/tests/draft4/enum.json delete mode 100644 3rdparty/rapidjson/bin/jsonschema/tests/draft4/items.json delete mode 100644 3rdparty/rapidjson/bin/jsonschema/tests/draft4/maxItems.json delete mode 100644 3rdparty/rapidjson/bin/jsonschema/tests/draft4/maxLength.json delete mode 100644 3rdparty/rapidjson/bin/jsonschema/tests/draft4/maxProperties.json delete mode 100644 3rdparty/rapidjson/bin/jsonschema/tests/draft4/maximum.json delete mode 100644 3rdparty/rapidjson/bin/jsonschema/tests/draft4/minItems.json delete mode 100644 3rdparty/rapidjson/bin/jsonschema/tests/draft4/minLength.json delete mode 100644 3rdparty/rapidjson/bin/jsonschema/tests/draft4/minProperties.json delete mode 100644 3rdparty/rapidjson/bin/jsonschema/tests/draft4/minimum.json delete mode 100644 3rdparty/rapidjson/bin/jsonschema/tests/draft4/multipleOf.json delete mode 100644 3rdparty/rapidjson/bin/jsonschema/tests/draft4/not.json delete mode 100644 3rdparty/rapidjson/bin/jsonschema/tests/draft4/oneOf.json delete mode 100644 3rdparty/rapidjson/bin/jsonschema/tests/draft4/optional/bignum.json delete mode 100644 3rdparty/rapidjson/bin/jsonschema/tests/draft4/optional/format.json delete mode 100644 3rdparty/rapidjson/bin/jsonschema/tests/draft4/optional/zeroTerminatedFloats.json delete mode 100644 3rdparty/rapidjson/bin/jsonschema/tests/draft4/pattern.json delete mode 100644 3rdparty/rapidjson/bin/jsonschema/tests/draft4/patternProperties.json delete mode 100644 3rdparty/rapidjson/bin/jsonschema/tests/draft4/properties.json delete mode 100644 3rdparty/rapidjson/bin/jsonschema/tests/draft4/ref.json delete mode 100644 3rdparty/rapidjson/bin/jsonschema/tests/draft4/refRemote.json delete mode 100644 3rdparty/rapidjson/bin/jsonschema/tests/draft4/required.json delete mode 100644 3rdparty/rapidjson/bin/jsonschema/tests/draft4/type.json delete mode 100644 3rdparty/rapidjson/bin/jsonschema/tests/draft4/uniqueItems.json delete mode 100644 3rdparty/rapidjson/bin/jsonschema/tox.ini delete mode 100644 3rdparty/rapidjson/bin/types/booleans.json delete mode 100644 3rdparty/rapidjson/bin/types/floats.json delete mode 100644 3rdparty/rapidjson/bin/types/guids.json delete mode 100644 3rdparty/rapidjson/bin/types/integers.json delete mode 100644 3rdparty/rapidjson/bin/types/mixed.json delete mode 100644 3rdparty/rapidjson/bin/types/nulls.json delete mode 100644 3rdparty/rapidjson/bin/types/paragraphs.json delete mode 100644 3rdparty/rapidjson/bin/types/readme.txt diff --git a/3rdparty/rapidjson/bin/data/glossary.json b/3rdparty/rapidjson/bin/data/glossary.json deleted file mode 100644 index d6e6ca15077..00000000000 --- a/3rdparty/rapidjson/bin/data/glossary.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "glossary": { - "title": "example glossary", - "GlossDiv": { - "title": "S", - "GlossList": { - "GlossEntry": { - "ID": "SGML", - "SortAs": "SGML", - "GlossTerm": "Standard Generalized Markup Language", - "Acronym": "SGML", - "Abbrev": "ISO 8879:1986", - "GlossDef": { - "para": "A meta-markup language, used to create markup languages such as DocBook.", - "GlossSeeAlso": ["GML", "XML"] - }, - "GlossSee": "markup" - } - } - } - } -} \ No newline at end of file diff --git a/3rdparty/rapidjson/bin/data/menu.json b/3rdparty/rapidjson/bin/data/menu.json deleted file mode 100644 index 539c3af2013..00000000000 --- a/3rdparty/rapidjson/bin/data/menu.json +++ /dev/null @@ -1,27 +0,0 @@ -{"menu": { - "header": "SVG Viewer", - "items": [ - {"id": "Open"}, - {"id": "OpenNew", "label": "Open New"}, - null, - {"id": "ZoomIn", "label": "Zoom In"}, - {"id": "ZoomOut", "label": "Zoom Out"}, - {"id": "OriginalView", "label": "Original View"}, - null, - {"id": "Quality"}, - {"id": "Pause"}, - {"id": "Mute"}, - null, - {"id": "Find", "label": "Find..."}, - {"id": "FindAgain", "label": "Find Again"}, - {"id": "Copy"}, - {"id": "CopyAgain", "label": "Copy Again"}, - {"id": "CopySVG", "label": "Copy SVG"}, - {"id": "ViewSVG", "label": "View SVG"}, - {"id": "ViewSource", "label": "View Source"}, - {"id": "SaveAs", "label": "Save As"}, - null, - {"id": "Help"}, - {"id": "About", "label": "About Adobe CVG Viewer..."} - ] -}} \ No newline at end of file diff --git a/3rdparty/rapidjson/bin/data/readme.txt b/3rdparty/rapidjson/bin/data/readme.txt deleted file mode 100644 index c53bfb8b726..00000000000 --- a/3rdparty/rapidjson/bin/data/readme.txt +++ /dev/null @@ -1 +0,0 @@ -sample.json is obtained from http://code.google.com/p/json-test-suite/downloads/detail?name=sample.zip diff --git a/3rdparty/rapidjson/bin/data/sample.json b/3rdparty/rapidjson/bin/data/sample.json deleted file mode 100644 index 80e26c1f79e..00000000000 --- a/3rdparty/rapidjson/bin/data/sample.json +++ /dev/null @@ -1,3315 +0,0 @@ -{ - "a": { - "6U閆崬밺뀫颒myj츥휘:$薈mY햚#rz飏+玭V㭢뾿愴YꖚX亥ᮉ푊\u0006垡㐭룝\"厓ᔧḅ^Sqpv媫\"⤽걒\"˽Ἆ?ꇆ䬔未tv{DV鯀Tἆl凸g\\㈭ĭ즿UH㽤": null, - "b茤z\\.N": [[ - "ZL:ᅣዎ*Y|猫劁櫕荾Oj为1糕쪥泏S룂w࡛Ᏺ⸥蚙)", - { - "\"䬰ỐwD捾V`邀⠕VD㺝sH6[칑.:醥葹*뻵倻aD\"": true, - "e浱up蔽Cr෠JK軵xCʨ<뜡癙Y獩ケ齈X/螗唻?<蘡+뷄㩤쳖3偑犾&\\첊xz坍崦ݻ鍴\"嵥B3㰃詤豺嚼aqJ⑆∥韼@\u000b㢊\u0015L臯.샥": false, - "l?Ǩ喳e6㔡$M꼄I,(3᝝縢,䊀疅뉲B㴔傳䂴\u0088㮰钘ꜵ!ᅛ韽>": -5514085325291784739, - "o㮚?\"춛㵉<\/﬊ࠃ䃪䝣wp6ἀ䱄[s*S嬈貒pᛥ㰉'돀": [{ - "(QP윤懊FI<ꃣ『䕷[\"珒嶮?%Ḭ壍಻䇟0荤!藲끹bd浶tl\u2049#쯀@僞": {"i妾8홫": { - ",M맃䞛K5nAㆴVN㒊햬$n꩑&ꎝ椞阫?/ṏ세뉪1x쥼㻤㪙`\"$쟒薟B煌܀쨝ଢ଼2掳7㙟鴙X婢\u0002": "Vዉ菈᧷⦌kﮞఈnz*﷜FM\"荭7ꍀ-VR<\/';䁙E9$䩉\f @s?퍪o3^衴cඎ䧪aK鼟q䆨c{䳠5mᒲՙ蘹ᮩ": { - "F㲷JGo⯍P덵x뒳p䘧☔\"+ꨲ吿JfR㔹)4n紬G练Q፞!C|": true, - "p^㫮솎oc.೚A㤠??r\u000f)⾽⌲們M2.䴘䩳:⫭胃\\፾@Fᭌ\\K": false, - "蟌Tk愙潦伩": { - "a<\/@ᾛ慂侇瘎": -7271305752851720826, - "艓藬/>၄ṯ,XW~㲆w": {"E痧郶)㜓ha朗!N赻瞉駠uC\u20ad辠x퓮⣫P1ࠫLMMX'M刼唳됤": null, - "P쓫晥%k覛ዩIUᇸ滨:噐혲lMR5䋈V梗>%幽u頖\\)쟟": null, - "eg+昉~矠䧞难\b?gQ쭷筝\\eꮠNl{ಢ哭|]Mn銌╥zꖘzⱷ⭤ᮜ^": [ - -1.30142114406914976E17, - -1.7555215491128452E-19, - null, - "渾㨝ߏ牄귛r?돌?w[⚞ӻ~廩輫㼧/", - -4.5737191805302129E18, - null, - "xy࿑M[oc셒竓Ⓔx?뜓y䊦>-D켍(&&?XKkc꩖ﺸᏋ뵞K伕6ী)딀P朁yW揙?훻魢傎EG碸9類៌g踲C⟌aEX舲:z꒸许", - 3808159498143417627, - null, - {"m試\u20df1{G8&뚈h홯J<\/": { - "3ஸ厠zs#1K7:rᥞoꅔꯧ&띇鵼鞫6跜#赿5l'8{7㕳(b/j\"厢aq籀ꏚ\u0015厼稥": [ - -2226135764510113982, - true, - null, - { - "h%'맞S싅Hs&dl슾W0j鿏MםD놯L~S-㇡R쭬%": null, - "⟓咔謡칲\u0000孺ꛭx旑檉㶆?": null, - "恇I転;￸B2Y`z\\獓w,놏濐撐埵䂄)!䶢D=ഭ㴟jyY": { - "$ࡘt厛毣ൢI芁<겿骫⫦6tr惺a": [ - 6.385779736989334E-20, - false, - true, - true, - [ - -6.891946211462334E-19, - null, - { - "]-\\Ꟑ1/薓❧Ὂ\\l牑\u0007A郃)阜ᇒᓌ-塯`W峬G}SDb㬨Q臉⮻빌O鞟톴첂B㺱<ƈmu챑J㴹㷳픷Oㆩs": { - "\"◉B\"pᶉt骔J꩸ᄇᛐi╰栛K쉷㉯鐩!㈐n칍䟅難>盥y铿e୔蒏M貹ヅ8嘋퀯䉶ጥ㏢殊뻳\"絧╿ꉑ䠥?∃蓊{}㣣Gk긔H1哵峱": false, - "6.瀫cN䇮F㧺?\\椯=ڈT䘆4␘8qv": -3.5687501019676885E-19, - "Q?yऴr혴{஀䳘p惭f1ﹸ䅷䕋贲<ྃᄊ繲hq\\b|#QSTs1c-7(䵢\u2069匏絘ꯉ:l毴汞t戀oෟᵶ뮱፣-醇Jx䙬䐁햢0࣫ᡁgrㄛ": "\u0011_xM/蘇Chv;dhA5.嗀绱V爤ﰦi뵲M", - "⏑[\"ugoy^儣횎~U\\섯겜論l2jw஌yD腅̂\u0019": true, - "ⵯɇ䐲᫿࢚!㯢l샅笶戮1꣖0Xe": null, - "劅f넀識b宁焊E찓橵G!ʱ獓뭔雩괛": [{"p⹣켙[q>燣䍃㞽ᩲx:쓤삘7玑퇼0<\/q璂ᑁ[Z\\3䅵䧳\u0011㤧|妱緒C['췓Yꞟ3Z鳱雼P錻BU씧U`ᢶg蓱>.1ӧ譫'L_5V䏵Ц": [ - false, - false, - {"22䂍盥N霂얢躰e9⑩_뵜斌n@B}$괻Yᐱ@䧋V\"☒-諯cV돯ʠ": true, - "Ű螧ᔼ檍鍎땒딜qꄃH뜣<獧ूCY吓⸏>XQ㵡趌o끬k픀빯a(ܵ甏끆୯/6Nᪧ}搚ᆚ짌P牰泱鈷^d꣟#L삀\"㕹襻;k㸊\\f+": true, - "쎣\",|⫝̸阊x庿k잣v庅$鈏괎炔k쬪O_": [ - "잩AzZGz3v愠ꉈⵎ?㊱}S尳௏p\r2>췝IP䘈M)w|\u000eE", - -9222726055990423201, - null, - [ - false, - {"´킮'뮤쯽Wx讐V,6ᩪ1紲aႈ\u205czD": [ - -930994432421097536, - 3157232031581030121, - "l貚PY䃛5@䭄귻m㎮琸f": 1.0318894506812084E-19, - "࢜⩢Ш䧔1肽씮+༎ᣰ闺馺窃䕨8Mƶq腽xc(៯夐J5굄䕁Qj_훨/~価.䢵慯틠퇱豠㼇Qﵘ$DuSp(8Uญ<\/ಟ룴𥳐ݩ$": 8350772684161555590, - "ㆎQ䄾\u001bpᩭ${[諟^^骴᤮b^ㅥI┧T㉇⾞\"绦r䰂f矩'-7䡭桥Dz兔V9谶居㺍ᔊ䩯덲.\u001eL0ὅㅷ釣": [{ - "<쯬J卷^숞u࠯䌗艞R9닪g㐾볎a䂈歖意:%鐔|ﵤ|y}>;2,覂⶚啵tb*仛8乒㓶B࿠㯉戩oX 貘5V嗆렽낁߼4h䧛ꍺM空\\b꿋貼": 8478577078537189402, - "VD*|吝z~h譺aᯒ": { - "YI췢K<\/濳xNne玗rJo쾘3핰鴊\"↱AR:ࢷ\"9?\"臁說)?誚ꊏe)_D翾W?&F6J@뺾ꍰNZ醊Z쾈വH嶿?炫㷱鬰M겈᭨b,⻁鈵P䕡䀠८ⱄ홎鄣": { - "@?k2鶖㋮\"Oರ K㨇廪儲\u0017䍾J?);\b*묀㗠섳햭1MC V": null, - "UIICP!BUA`ᢈ㋸~袩㗪⾒=fB﮴l1ꡛ죘R辂여ҳ7쮡<䩲`熕8頁": 4481809488267626463, - "Y?+8먙ᚔ鋳蜩럶1㥔y璜౩`": [ - null, - 1.2850335807501874E-19, - "~V2", - 2035406654801997866, - { - "<숻1>\"": -8062468865199390827, - "M㿣E]}qwG莎Gn᝶(ꔙ\\D⬲iꇲs寢t駇S뀡ꢜ": false, - "pꝤ㎏9W%>M;-U璏f(^j1?&RB隧 忓b똊E": "#G?C8.躬ꥯ'?냪#< 渟&헿란zpo왓Kj}鷧XﻘMツb䕖;㪻", - "vE풤幉xz뱕쫥Ug㦲aH} ᣟp:鬼YᰟH3镔ᴚ斦\\鏑r*2橱G⼔F/.j": true, - "RK좬뎂a홠f*f㱉ᮍ⦋潙㨋Gu곌SGI3I뿐\\F',)t`荁蘯囯ﮉ裲뇟쥼_ገ驪▵撏ᕤV": 1.52738225997956557E18, - "^k굲䪿꠹B逤%F㱢漥O披M㽯镞竇霒i꼂焅륓\u00059=皫之눃\u2047娤閍銤唫ၕb<\/w踲䔼u솆맚,䝒ᝳ'/it": "B餹饴is権ꖪ怯ꦂẉဎt\"!凢谵⧿0\\<=(uL䷍刨쑪>俆揓Cy襸Q힆䆭涷<\/ᐱ0ɧ䗾䚹\\ኜ?ꄢᇘ`䴢{囇}᠈䴥X4퓪檄]ꥷ/3謒ሴn+g騍X", - "GgG꽬[(嫓몍6\u0004궍宩㙻/>\u0011^辍dT腪hxǑ%ꊇk,8(W⧂結P鬜O": [{ - "M㴾c>\\ᓲ\u0019V{>ꤩ혙넪㭪躂TS-痴໸闓⍵/徯O.M㏥ʷD囎⧔쁳휤T??鉬뇙=#ꢫ숣BX䭼<\/d똬졬g榿)eꨋﯪ좇첻\u001a\u0011\";~쓆BH4坋攊7힪", - "iT:L闞椕윚*滛gI≀Wਟඊ'ꢆ縺뱹鮚Nꩁ᧬蕼21줧\\䋯``⍐\\㏱鳨": 1927052677739832894, - "쮁缦腃g]礿Y㬙 fヺSɪ꾾N㞈": [ - null, - null, - { - "!t,灝Y 1䗉罵?c饃호䉂Cᐭ쒘z(즽sZG㬣sഖE4뢜㓕䏞丮Qp簍6EZឪ겛fx'ꩱQ0罣i{k锩*㤴㯞r迎jTⲤ渔m炅肳": [ - -3.3325685522591933E18, - [{"㓁5]A䢕1룥BC?Ꙍ`r룔Ⳛ䙡u伲+\u0001്o": [ - null, - 4975309147809803991, - null, - null, - {"T팘8Dﯲ稟MM☻㧚䥧/8ﻥ⥯aXLaH\"顾S☟耲ît7fS෉놁뮔/ꕼ䓈쁺4\\霶䠴ᩢ<\/t4?죵>uD5➶༆쉌럮⢀秙䘥\u20972ETR3濡恆vB? ~鸆\u0005": { - "`閖m璝㥉b뜴?Wf;?DV콜\u2020퍉౓擝宏ZMj3mJ먡-傷뱙yח㸷꥿ ໘u=M읝!5吭L4v\\?ǎ7C홫": null, - "|": false, - "~Ztᛋ䚘\\擭㗝傪W陖+㗶qᵿ蘥ᙄp%䫎)}=⠔6ᮢS湟-螾-mXH?cp": 448751162044282216, - "\u209fad놹j檋䇌ᶾ梕㉝bוּ": {"?苴ꩠD䋓帘5騱qﱖPF?☸珗顒yU ᡫcb䫎 S@㥚gꮒ쎘泴멖\\:I鮱TZ듒ᶨQ3+f7캙\"?\f풾\\o杞紟﻽M.⏎靑OP": [ - -2.6990368911551596E18, - [{"䒖@<᰿<\/⽬tTr腞&G%᳊秩蜰擻f㎳?S㵧\r*k뎾-乢겹隷j軛겷0룁鮁": {")DO0腦:춍逿:1㥨่!蛍樋2": [{ - ",ꌣf侴笾m๫ꆽ?1?U?\u0011ꌈꂇ": { - "x捗甠nVq䅦w`CD⦂惺嘴0I#vỵ} \\귂S끴D얾?Ԓj溯\"v餄a": { - "@翙c⢃趚痋i\u0015OQ⍝lq돆Y0pࢥ3쉨䜩^<8g懥0w)]䊑n洺o5쭝QL댊랖L镈Qnt⪟㒅십q헎鳒⮤眉ᔹ梠@O縠u泌ㄘb榚癸XޔFtj;iC": false, - "I&뱋゘|蓔䔕측瓯%6ᗻHW\\N1貇#?僐ᗜgh᭪o'䗈꽹Rc욏/蔳迄༝!0邔䨷푪8疩)[쭶緄㇈୧ፐ": { - "B+:ꉰ`s쾭)빼C羍A䫊pMgjdx䐝Hf9᥸W0!C樃'蘿f䫤סи\u0017Jve? 覝f둀⬣퓉Whk\"஼=չﳐ皆笁BIW虨쫓F廰饞": -642906201042308791, - "sb,XcZ<\/m㉹ ;䑷@c䵀s奤⬷7`ꘖ蕘戚?Feb#輜}p4nH⬮eKL트}": [ - "RK鳗z=袤Pf|[,u욺", - "Ẏᏻ罯뉋⺖锅젯㷻{H䰞쬙-쩓D]~\u0013O㳢gb@揶蔉|kᦂ❗!\u001ebM褐sca쨜襒y⺉룓", - null, - null, - true, - -1.650777344339075E-19, - false, - "☑lꄆs힨꤇]'uTന⌳농].1⋔괁沰\"IWഩ\u0019氜8쟇䔻;3衲恋,窌z펏喁횗?4?C넁问?ᥙ橭{稻Ⴗ_썔", - "n?]讇빽嗁}1孅9#ꭨ靶v\u0014喈)vw祔}룼쮿I", - -2.7033457331882025E18, - { - ";⚃^㱋x:饬ኡj'꧵T☽O㔬RO婎?향ᒭ搩$渣y4i;(Q>꿘e8q": "j~錘}0g;L萺*;ᕭꄮ0l潛烢5H▄쳂ꏒוֹꙶT犘≫x閦웧v", - "~揯\u2018c4職렁E~ᑅቚꈂ?nq뎤.:慹`F햘+%鉎O瀜쟏敛菮⍌浢<\/㮺紿P鳆ࠉ8I-o?#jﮨ7v3Dt赻J9": null, - "ࣝW䌈0ꍎqC逖,횅c၃swj;jJS櫍5槗OaB>D踾Y": {"㒰䵝F%?59.㍈cᕨ흕틎ḏ㋩B=9IېⓌ{:9.yw}呰ㆮ肒᎒tI㾴62\"ዃ抡C﹬B<\/촋jo朣", - [ - -7675533242647793366, - {"ᙧ呃:[㒺쳀쌡쏂H稈㢤\u001dᶗGG-{GHྻຊꡃ哸䵬;$?&d\\⥬こN圴됤挨-'ꕮ$PU%?冕눖i魁q騎Q": [ - false, - [[ - 7929823049157504248, - [[ - true, - "Z菙\u0017'eꕤ᱕l,0\\X\u001c[=雿8蠬L<\/낲긯W99g톉4ퟋb㝺\u0007劁'!麕Q궈oW:@X၎z蘻m絙璩귓죉+3柚怫tS捇蒣䝠-擶D[0=퉿8)q0ٟ", - "唉\nFA椭穒巯\\䥴䅺鿤S#b迅獘 ﶗ꬘\\?q1qN犠pX꜅^䤊⛤㢌[⬛휖岺q唻ⳡ틍\"㙙Eh@oA賑㗠y必Nꊑᗘ", - -2154220236962890773, - -3.2442003245397908E18, - "Wᄿ筠:瘫퀩?o貸q⊻(᎞KWf宛尨h^残3[U(='橄", - -7857990034281549164, - 1.44283696979059942E18, - null, - {"ꫯAw跭喀 ?_9\"Aty背F=9缉ྦྷ@;?^鞀w:uN㘢Rỏ": [ - 7.393662029337442E15, - 3564680942654233068, - [ - false, - -5253931502642112194, - "煉\\辎ೆ罍5⒭1䪁䃑s䎢:[e5}峳ﴱn騎3?腳Hyꏃ膼N潭錖,Yᝋ˜YAၓ㬠bG렣䰣:", - true, - null, - { - "⒛'P&%죮|:⫶춞": -3818336746965687085, - "钖m<\/0ݎMtF2Pk=瓰୮洽겎.": [[ - -8757574841556350607, - -3045234949333270161, - null, - { - "Ꮬr輳>⫇9hU##w@귪A\\C 鋺㘓ꖐ梒뒬묹㹻+郸嬏윤'+g<\/碴,}ꙫ>손;情d齆J䬁ຩ撛챝탹/R澡7剌tꤼ?ặ!`⏲睤\u00002똥଴⟏": null, - "\u20f2ܹe\\tAꥍư\\x当뿖렉禛;G檳ﯪS૰3~㘠#[J<}{奲 5箉⨔{놁<\/釿抋,嚠/曳m&WaOvT赋皺璑텁": [[ - false, - null, - true, - -5.7131445659795661E18, - "萭m䓪D5|3婁ఞ>蠇晼6nﴺPp禽羱DS<睓닫屚삏姿", - true, - [ - -8759747687917306831, - { - ">ⓛ\t,odKr{䘠?b퓸C嶈=DyEᙬ@ᴔ쨺芛髿UT퓻春<\/yꏸ>豚W釺N뜨^?꽴﨟5殺ᗃ翐%>퍂ဿ䄸沂Ea;A_\u0005閹殀W+窊?Ꭼd\u0013P汴G5썓揘": 4.342729067882445E-18, - "Q^즾眆@AN\u0011Kb榰냎Y#䝀ꀒᳺ'q暇睵s\"!3#I⊆畼寤@HxJ9": false, - "⿾D[)袨㇩i]웪䀤ᛰMvR<蟏㣨": {"v퇓L㪱ꖣ豛톤\\곱#kDTN": [{ - "(쾴䡣,寴ph(C\"㳶w\"憳2s馆E!n!&柄<\/0Pꈗſ?㿳Qd鵔": {"娇堰孹L錮h嵅⛤躏顒?CglN束+쨣ﺜ\\MrH": {"獞䎇둃ቲ弭팭^ꄞ踦涟XK錆쳞ឌ`;੶S炥騞ଋ褂B៎{ڒ䭷ᶼ靜pI荗虶K$": [{"◖S~躘蒉꫿輜譝Q㽙闐@ᢗ¥E榁iء5┄^B[絮跉ᰥ遙PWi3wㄾⵀDJ9!w㞣ᄎ{듒ꓓb6\\篴??c⼰鶹⟧\\鮇ꮇ": [[ - 654120831325413520, - -1.9562073916357608E-19, - { - "DC(昐衵ἡ긙갵姭|֛[t": 7.6979110359897907E18, - "J␅))嫼❳9Xfd飉j7猬ᩉ+⤻眗벎E鰉Zᄊ63zၝ69}ZᶐL崭ᦥ⡦靚⋛ꎨ~i㨃咊ꧭo䰠阀3C(": -3.5844809362512589E17, - "p꣑팱쒬ꎑ뛡Ꙩ挴恍胔&7ᔈ묒4Hd硶훐㎖zꢼ豍㿢aሃ=<\/湉鵲EӅ%$F!퍶棌孼{O駍਺geu+": ")\u001b잓kŀX쩫A밁®ڣ癦狢)扔弒p}k縕ꩋ,䃉tࣼi", - "ァF肿輸<솄G-䢹䛸ꊏl`Tqꕗ蒞a氷⸅ᴉ蠰]S/{J왲m5{9.uέ~㕚㣹u>x8U讁B덺襪盎QhVS맅킃i识{벂磄Iහ䙅xZy/抍૭Z鲁-霳V据挦ℒ": null, - "㯛|Nꐸb7ⵐb?拠O\u0014ކ?-(EꞨ4ꕷᄤYᯕOW瞺~螸\"욿ќe㺰\"'㌢ƐW\u0004瞕>0?V鷵엳": true, - "뤥G\\迋䠿[庩'꼡\u001aiᩮV쯁ᳪ䦪Ô;倱ନ뛁誈": null, - "쥹䄆䚟Q榁䎐᢭<\/2㕣p}HW蟔|䃏꿈ꚉ锳2Pb7㙑Tⅹᵅ": { - "Y?֭$>#cVBꩨ:>eL蒁務": { - "86柡0po 䏚&-捑Ћ祌<\/휃-G*㶢הּ쩍s㶟餇c걺yu꽎還5*턧簕Og婥SꝐ": null, - "a+葞h٥ࠆ裈嗫ﵢ5輙퀟ᛜ,QDﹼ⟶Y騠锪E_|x죗j侵;m蜫轘趥?븅w5+mi콛L": { - ";⯭ﱢ!买F⽍柤鶂n䵣V㫚墱2렾ELEl⣆": [ - true, - -3.6479311868339015E-18, - -7270785619461995400, - 3.334081886177621E18, - 2.581457786298155E18, - -6.605252412954115E-20, - -3.9232347037744167E-20, - { - "B6㊕.k1": null, - "ZAꄮJ鮷ᳱo갘硥鈠䠒츼": { - "ᕅ}럡}.@y陪鶁r業'援퀉x䉴ﵴl퍘):씭脴ᥞhiꃰblﲂ䡲엕8߇M㶭0燋標挝-?PCwe⾕J碻Ᾱ䬈䈥뷰憵賣뵓痬+": {"a췩v礗X⋈耓ፊf罅靮!㔽YYᣓw澍33⎔芲F|\"䜏T↮輦挑6ᓘL侘?ᅥ]덆1R௯✎餘6ꏽ<\/௨\\?q喷ꁫj~@ulq": {"嗫欆뾔Xꆹ4H㌋F嵧]ࠎ]㠖1ꞤT<$m뫏O i댳0䲝i": {"?෩?\u20cd슮|ꯆjs{?d7?eNs⢚嫥氂䡮쎱:鑵롟2hJꎒﯭ鱢3춲亄:뼣v䊭諱Yj択cVmR䩃㘬T\"N홝*ै%x^F\\_s9보zz4淗?q": [ - null, - "?", - 2941869570821073737, - "{5{殇0䝾g6밖퍋臩綹R$䖭j紋釰7sXI繳漪행y", - false, - "aH磂?뛡#惇d婅?Fe,쐘+늵䍘\"3r瘆唊勐j⳧࠴ꇓ<\/唕윈x⬌讣䋵%拗ᛆⰿ妴᝔M2㳗必꧂淲?ゥ젯檢<8끒MidX䏒3᳻Q▮佐UT|⤪봦靏⊏", - [[{ - "颉(&뜸귙{y^\"P퟉춝Ჟ䮭D顡9=?}Y誱<$b뱣RvO8cH煉@tk~4ǂ⤧⩝屋SS;J{vV#剤餓ᯅc?#a6D,s": [ - -7.8781018564821536E16, - true, - [ - -2.28770899315832371E18, - false, - -1.0863912140143876E-20, - -6282721572097446995, - 6767121921199223078, - -2545487755405567831, - false, - null, - -9065970397975641765, - [ - -5.928721243413937E-20, - {"6촊\u001a홯kB0w撨燠룉{绎6⳹!턍贑y▾鱧ժ[;7ᨷ∀*땒䪮1x霆Hᩭ☔\"r䝐7毟ᝰr惃3ꉭE+>僒澐": [ - "Ta쎩aƝt쵯ⰪVb", - [ - -5222472249213580702, - null, - -2851641861541559595, - null, - 4808804630502809099, - 5657671602244269874, - "5犲﨣4mᥣ?yf젫꾯|䋬잁$`Iⳉﴷ扳兝,'c", - false, - [ - null, - { - "DyUIN쎾M仼惀⮥裎岶泭lh扠\u001e礼.tEC癯튻@_Qd4c5S熯A<\/\6U윲蹴Q=%푫汹\\\u20614b[௒C⒥Xe⊇囙b,服3ss땊뢍i~逇PA쇸1": -2.63273619193485312E17, - "Mq꺋貘k휕=nK硍뫞輩>㾆~἞ࡹ긐榵l⋙Hw뮢帋M엳뢯v⅃^": 1877913476688465125, - "ᶴ뻗`~筗免⚽টW˃⽝b犳䓺Iz篤p;乨A\u20ef쩏?疊m㝀컩뫡b탔鄃ᾈV(遢珳=뎲ିeF仢䆡谨8t0醄7㭧瘵⻰컆r厡궥d)a阄፷Ed&c﯄伮1p": null, - "⯁w4曢\"(欷輡": "\"M᭫]䣒頳B\\燧ࠃN㡇j姈g⊸⺌忉ꡥF矉স%^", - "㣡Oᄦ昵⫮Y祎S쐐級㭻撥>{I$": -378474210562741663, - "䛒掷留Q%쓗1*1J*끓헩ᦢ﫫哉쩧EↅIcꅡ\\?ⴊl귛顮4": false, - "寔愆샠5]䗄IH贈=d﯊/偶?ॊn%晥D視N򗘈'᫂⚦|X쵩넽z질tskxDQ莮Aoﱻ뛓": true, - "钣xp?&\u001e侉/y䴼~?U篔蘚缣/I畚?Q绊": -3034854258736382234, - "꺲໣眀)⿷J暘pИfAV삕쳭Nꯗ4々'唄ⶑ伻㷯騑倭D*Ok꧁3b␽_<\/챣Xm톰ၕ䆄`*fl㭀暮滠毡?": [ - "D男p`V뙸擨忝븪9c麺`淂⢦Yw⡢+kzܖ\fY1䬡H歁)벾Z♤溊-혰셢?1<-\u0005;搢Tᐁle\\ᛵߓﭩ榩訝-xJ;巡8깊蠝ﻓU$K": { - "Vꕡ諅搓W=斸s︪vﲜ츧$)iꡟ싉e寳?ጭムVથ嵬i楝Fg<\/Z|៪ꩆ-5'@ꃱ80!燱R쇤t糳]罛逇dṌ֣XHiͦ{": true, - "Ya矲C멗Q9膲墅携휻c\\딶G甔<\/.齵휴": -1.1456247877031811E-19, - "z#.OO￝J": -8263224695871959017, - "崍_3夼ᮟ1F븍뽯ᦓ鴭V豈Ь": [{ - "N蒬74": null, - "yuB?厅vK笗!ᔸcXQ旦컶P-녫mᄉ麟_": "1R@ 톘xa_|﩯遘s槞d!d껀筤⬫薐焵먑D{\\6k共倌☀G~AS_D\"딟쬚뮥馲렓쓠攥WTMܭ8nX㩴䕅檹E\u0007ﭨN 2 ℆涐ꥏ꠵3▙玽|됨_\u2048", - "恐A C䧩G": {":M큣5e들\\ꍀ恼ᔄ靸|I﨏$)n": { - "|U䬫㟯SKV6ꛤ㗮\bn봻䲄fXT:㾯쳤'笓0b/ೢC쳖?2浓uO.䰴": "ཐ꼋e?``,ᚇ慐^8ꜙNM䂱\u0001IᖙꝧM'vKdꌊH牮r\\O@䊷ᓵ쀆(fy聻i툺\"?<\/峧ࣞ⓺ᤤ쵒߯ꎺ騬?)刦\u2072l慪y꺜ﲖTj+u", - "뽫hh䈵w>1ⲏ쐭V[ⅎ\\헑벑F_㖝⠗㫇h恽;῝汰ᱼ瀖J옆9RR셏vsZ柺鶶툤r뢱橾/ꉇ囦FGm\"謗ꉦ⨶쒿⥡%]鵩#ᖣ_蹎 u5|祥?O", - null, - 2.0150326776036215E-19, - null, - true, - false, - true, - {"\fa᭶P捤WWc᠟f뚉ᬏ퓗ⳀW睹5:HXH=q7x찙X$)모r뚥ᆟ!Jﳸf": [ - -2995806398034583407, - [ - 6441377066589744683, - "Mﶒ醹i)Gἦ廃s6몞 KJ౹礎VZ螺费힀\u0000冺업{谥'꡾뱻:.ꘘ굄奉攼Di᷑K鶲y繈욊阓v㻘}枭캗e矮1c?휐\"4\u0005厑莔뀾墓낝⽴洗ṹ䇃糞@b1\u0016즽Y轹", - { - "1⽕⌰鉟픏M㤭n⧴ỼD#%鐘⊯쿼稁븣몐紧ᅇ㓕ᛖcw嬀~ഌ㖓(0r⧦Q䑕髍ര铂㓻R儮\"@ꇱm❈௿᦯頌8}㿹犴?xn잆꥽R": 2.07321075750427366E18, - "˳b18㗈䃟柵Z曆VTAu7+㛂cb0﯑Wp執<\/臋뭡뚋刼틮荋벲TLP预庰܈G\\O@VD'鱃#乖끺*鑪ꬳ?Mޞdﭹ{␇圯쇜㼞顄︖Y홡g": [{ - "0a,FZ": true, - "2z̬蝣ꧦ驸\u0006L↛Ḣ4๚뿀'?lcwᄧ㐮!蓚䃦-|7.飑挴.樵*+1ﮊ\u0010ꛌ%貨啺/JdM:똍!FBe?鰴㨗0O财I藻ʔWA᫓G쳛u`<\/I": [{ - "$τ5V鴐a뾆両環iZp頻යn븃v": -4869131188151215571, - "*즢[⦃b礞R◚nΰꕢH=귰燙[yc誘g䆌?ଜ臛": { - "洤湌鲒)⟻\\䥳va}PeAMnN[": "㐳ɪ/(軆lZR,Cp殍ȮN啷\"3B婴?i=r$펽ᤐ쀸", - "阄R4㒿㯔ڀ69ZᲦ2癁핌噗P崜#\\-쭍袛&鐑/$4童V꩑_ZHA澢fZ3": {"x;P{긳:G閉:9?活H": [ - "繺漮6?z犞焃슳\">ỏ[Ⳛ䌜녏䂹>聵⼶煜Y桥[泥뚩MvK$4jtロ", - "E#갶霠좭㦻ୗ먵F+䪀o蝒ba쮎4X㣵 h", - -335836610224228782, - null, - null, - [ - "r1᫩0>danjY짿bs{", - [ - -9.594464059325631E-23, - 1.0456894622831624E-20, - null, - 5.803973284253454E-20, - -8141787905188892123, - true, - -4735305442504973382, - 9.513150514479281E-20, - "7넳$螔忷㶪}䪪l짴\u0007鹁P鰚HF銏ZJﳴ/⍎1ᷓ忉睇ᜋ쓈x뵠m䷐窥Ꮤ^\u0019ᶌ偭#ヂt☆၃pᎍ臶䟱5$䰵&๵分숝]䝈뉍♂坎\u0011<>", - "C蒑貑藁lﰰ}X喇몛;t밿O7/᯹f\u0015kI嘦<ዴ㟮ᗎZ`GWퟩ瑹࡮ᅴB꿊칈??R校s脚", - { - "9珵戬+AU^洘拻ቒy柭床'粙XG鞕᠜繀伪%]hC,$輙?Ut乖Qm떚W8઼}~q⠪rU䤶CQ痗ig@#≲t샌f㈥酧l;y闥ZH斦e⸬]j⸗?ঢ拻퀆滌": null, - "畯}㧢J罚帐VX㨑>1ꢶkT⿄蘥㝑o|<嗸層沈挄GEOM@-䞚䧰$만峬輏䠱V✩5宸-揂D'㗪yP掶7b⠟J㕻SfP?d}v㼂Ꮕ'猘": { - "陓y잀v>╪": null, - "鬿L+7:됑Y=焠U;킻䯌잫!韎ஔ\f": { - "駫WmGጶ": { - "\\~m6狩K": -2586304199791962143, - "ႜࠀ%͑l⿅D.瑢Dk%0紪dḨTI픸%뗜☓s榗኉\"?V籄7w髄♲쟗翛歂E䤓皹t ?)ᄟ鬲鐜6C": { - "_췤a圷1\u000eB-XOy缿請∎$`쳌eZ~杁튻/蜞`塣৙\"⪰\"沒l}蕌\\롃荫氌.望wZ|o!)Hn獝qg}": null, - "kOSܧ䖨钨:಼鉝ꭝO醧S`십`ꓭ쭁ﯢN&Et㺪馻㍢ⅳ㢺崡ຊ蜚锫\\%ahx켨|ż劻ꎄ㢄쐟A躊᰹p譞綨Ir쿯\u0016ﵚOd럂*僨郀N*b㕷63z": { - ":L5r+T㡲": [{ - "VK泓돲ᮙRy㓤➙Ⱗ38oi}LJቨ7Ó㹡৘*q)1豢⛃e᫛뙪壥镇枝7G藯g㨛oI䄽 孂L缊ꋕ'EN`": -2148138481412096818, - "`⛝ᘑ$(खꊲ⤖ᄁꤒ䦦3=)]Y㢌跨NĴ驳줟秠++d孳>8ᎊ떩EꡣSv룃 쯫أ?#E|᭙㎐?zv:5祉^⋑V": [ - -1.4691944435285607E-19, - 3.4128661569395795E17, - "㐃촗^G9佭龶n募8R厞eEw⺡_ㆱ%⼨D뉄퉠2ꩵᛅⳍ搿L팹Lවn=\"慉념ᛮy>!`g!풲晴[/;?[v겁軇}⤳⤁핏∌T㽲R홓遉㓥", - "愰_⮹T䓒妒閤둥?0aB@㈧g焻-#~跬x<\/舁P݄ꐡ=\\׳P\u0015jᳪᢁq;㯏l%᭗;砢觨▝,謁ꍰGy?躤O黩퍋Y㒝a擯\n7覌똟_䔡]fJ晋IAS", - 4367930106786121250, - -4.9421193149720582E17, - null, - { - ";ᄌ똾柉곟ⰺKpፇ䱻ฺ䖝{o~h!eꁿ઻욄ښ\u0002y?xUd\u207c悜ꌭ": [ - 1.6010824122815255E-19, - [ - "宨︩9앉檥pr쇷?WxLb", - "氇9】J玚\u000f옛呲~ 輠1D嬛,*mW3?n휂糊γ虻*ᴫ꾠?q凐趗Ko↦GT铮", - "㶢ថmO㍔k'诔栀Z蛟}GZ钹D", - false, - -6.366995517736813E-20, - -4894479530745302899, - null, - "V%᫡II璅䅛䓎풹ﱢ/pU9se되뛞x梔~C)䨧䩻蜺(g㘚R?/Ự[忓C뾠ࢤc왈邠买?嫥挤풜隊枕", - ",v碍喔㌲쟚蔚톬៓ꭶ", - 3.9625444752577524E-19, - null, - [ - "kO8란뿒䱕馔b臻⍟隨\"㜮鲣Yq5m퐔K#ꢘug㼈ᝦ=P^6탲@䧔%$CqSw铜랊0&m⟭<\/a逎ym\u0013vᯗ": true, - "洫`|XN뤮\u0018詞=紩鴘_sX)㯅鿻Ố싹": 7.168252736947373E-20, - "ꛊ饤ﴏ袁(逊+~⽫얢鈮艬O힉7D筗S곯w操I斞᠈븘蓷x": [[[[ - -7.3136069426336952E18, - -2.13572396712722688E18, - { - "硢3㇩R:o칢行E<=\u0018ၬYuH!\u00044U%卝炼2>\u001eSi$⓷ꒈ'렢gᙫ番ꯒ㛹럥嶀澈v;葷鄕x蓎\\惩+稘UEᖸﳊ㊈壋N嫿⏾挎,袯苷ኢ\\x|3c": 7540762493381776411, - "?!*^ᢏ窯?\u0001ڔꙃw虜돳FgJ?&⨫*uo籤:?}ꃹ=ٴ惨瓜Z媊@ત戹㔏똩Ԛ耦Wt轁\\枒^\\ꩵ}}}ꀣD\\]6M_⌫)H豣:36섘㑜": { - ";홗ᰰU஋㙛`D왔ཿЃS회爁\u001b-㢈`봆?盂㛣듿ᦾ蒽_AD~EEຆ㊋(eNwk=Rɠ峭q\"5Ἠ婾^>'ls\n8QAK)- Q䲌mo펹L_칍樖庫9꩝쪹ᘹ䑖瀍aK ?*趤f뭓廝p=磕", - "哑z懅ᤏ-ꍹux쀭", - [ - true, - 3998739591332339511, - "ጻ㙙?᳸aK<\/囩U`B3袗ﱱ?\"/k鏔䍧2l@쿎VZ쨎/6ꃭ脥|B?31+on颼-ꮧ,O嫚m ࡭`KH葦:粘i]aSU쓙$쐂f+詛頖b", - [{"^<9<箝&絡;%i﫡2攑紴\\켉h쓙-柂䚝ven\u20f7浯-Ꮏ\r^훁䓚헬\u000e?\\ㅡֺJ떷VOt": [{ - "-௄卶k㘆혐஽y⎱㢬sS઄+^瞥h;ᾷj;抭\u0003밫f<\/5Ⱗ裏_朻%*[-撵䷮彈-芈": { - "㩩p3篊G|宮hz䑊o곥j^Co0": [ - 653239109285256503, - {"궲?|\":N1ۿ氃NZ#깩:쇡o8킗ࡊ[\"됸Po핇1(6鰏$膓}⽐*)渽J'DN<썙긘毦끲Ys칖": { - "2Pr?Xjㆠ?搮/?㓦柖馃5뚣Nᦼ|铢r衴㩖\"甝湗ܝ憍": "\"뾯i띇筝牻$珲/4ka $匝휴译zbAᩁꇸ瑅&뵲衯ꎀᆿ7@ꈋ'ᶨH@ᠴl+", - "7뢽뚐v?4^ꊥ_⪛.>pởr渲<\/⢕疻c\"g䇘vU剺dஔ鮥꒚(dv祴X⼹\\a8y5坆": true, - "o뼄B욞羁hr﷔폘뒚⿛U5pꪴfg!6\\\"爑쏍䢱W<ﶕ\\텣珇oI/BK뺡'谑♟[Ut븷亮g(\"t⡎有?ꬊ躺翁艩nl F⤿蠜": 1695826030502619742, - "ۊ깖>ࡹ햹^ⵕ쌾BnN〳2C䌕tʬ]찠?ݾ2饺蹳ぶꌭ訍\"◹ᬁD鯎4e滨T輀ﵣ੃3\u20f3킙D瘮g\\擦+泙ၧ 鬹ﯨַ肋7놷郟lP冝{ߒhড়r5,꓋": null, - "ΉN$y{}2\\N﹯ⱙK'8ɜͣwt,.钟廣䎘ꆚk媄_": null, - "䎥eᾆᝦ읉,Jުn岪㥐s搖謽䚔5t㯏㰳㱊ZhD䃭f絕s鋡篟a`Q鬃┦鸳n_靂(E4迠_觅뷝_宪D(NL疶hL追V熑%]v肫=惂!㇫5⬒\u001f喺4랪옑": { - "2a輍85먙R㮧㚪Sm}E2yꆣꫨrRym㐱膶ᔨ\\t綾A☰.焄뙗9<쫷챻䒵셴᭛䮜.<\/慌꽒9叻Ok䰊Z㥪幸k": [ - null, - true, - {"쌞쐍": { - "▟GL K2i뛱iQ\"̠.옛1X$}涺]靎懠ڦ늷?tf灟ݞゟ{": 1.227740268699265E-19, - "꒶]퓚%ฬK❅": [{ - "(ෛ@Ǯっ䧼䵤[aテൖvEnAdU렖뗈@볓yꈪ,mԴ|꟢캁(而첸죕CX4Y믅": "2⯩㳿ꢚ훀~迯?᪑\\啚;4X\u20c2襏B箹)俣eỻw䇄", - "75༂f詳䅫ꐧ鏿 }3\u20b5'∓䝱虀f菼Iq鈆﨤g퍩)BFa왢d0뮪痮M鋡nw∵謊;ꝧf美箈ḋ*\u001c`퇚퐋䳫$!V#N㹲抗ⱉ珎(V嵟鬒_b㳅\u0019": null, - "e_m@(i㜀3ꦗ䕯䭰Oc+-련0뭦⢹苿蟰ꂏSV䰭勢덥.ྈ爑Vd,ᕥ=퀍)vz뱊ꈊB_6듯\"?{㒲&㵞뵫疝돡믈%Qw限,?\r枮\"? N~癃ruࡗdn&": null, - "㉹&'Pfs䑜공j<\/?|8oc᧨L7\\pXᭁ 9᪘": -2.423073789014103E18, - "䝄瑄䢸穊f盈᥸,B뾧푗횵B1쟢f\u001f凄": "魖⚝2儉j꼂긾껢嗎0ࢇ纬xI4](੓`蕞;픬\fC\"斒\")2櫷I﹥迧", - "ퟯ詔x悝령+T?Bg⥄섅kOeQ큼㻴*{E靼6氿L缋\u001c둌๶-㥂2==-츫I즃㠐Lg踞ꙂEG貨鞠\"\u0014d'.缗gI-lIb䋱ᎂDy缦?": null, - "紝M㦁犿w浴詟棓쵫G:䜁?V2ힽ7N*n&㖊Nd-'ຊ?-樹DIv⊜)g䑜9뉂ㄹ푍阉~ꅐ쵃#R^\u000bB䌎䦾]p.䀳": [{"ϒ爛\"ꄱ︗竒G䃓-ま帳あ.j)qgu扐徣ਁZ鼗A9A鸦甈!k蔁喙:3T%&㠘+,䷞|챽v䚞문H<\/醯r셓㶾\\a볜卺zE䝷_죤ဵ뿰᎟CB": [ - 6233512720017661219, - null, - -1638543730522713294, - false, - -8901187771615024724, - [ - 3891351109509829590, - true, - false, - -1.03836679125188032E18, - { - "j랎:g曞ѕᘼ}链N", - -1.1103819473845426E-19, - true, - [ - true, - null, - -7.9091791735309888E17, - true, - {"}蔰鋈+ꐨ啵0?g*사%`J?*": [{ - "\"2wG?yn,癷BK\\龞䑞x?蠢": -3.7220345009853505E-19, - ";饹়❀)皋`噿焒j(3⿏w>偍5X薙婏聿3aFÆÝ": "2,ꓴg?_섦_>Y쪥션钺;=趘F~?D㨫\bX?㹤+>/믟kᠪ멅쬂Uzỵ]$珧`m雁瑊ඖ鯬cꙉ梢f묛bB", - "♽n$YjKiXX*GO贩鏃豮祴遞K醞眡}ꗨv嵎꼷0୸+M菋eH徸J꣆:⼐悥B켽迚㯃b諂\u000bjꠜ碱逮m8": [ - "푷᣺ﻯd8ﱖ嬇ភH鹎⡱᱅0g:果6$GQ췎{vᷧYy-脕x偹砡館⮸C蓼ꏚ=軄H犠G谖ES詤Z蠂3l봟hᅭ7䦹1GPQG癸숟~[#駥8zQ뛣J소obg,", - null, - 1513751096373485652, - null, - -6.851466660824754E-19, - {"䩂-⴮2ٰK솖풄꾚ႻP앳1H鷛wmR䗂皎칄?醜<\/&ࠧ㬍X濬䵈K`vJ륒Q/IC묛!;$vϑ": { - "@-ꚗxྐྵ@m瘬\u0010U絨ﮌ驐\\켑寛넆T=tQ㭤L연@脸삯e-:⩼u㎳VQ㋱襗ຓ<Ⅶ䌸cML3+\u001e_C)r\\9+Jn\\Pﺔ8蠱檾萅Pq鐳话T䄐I": -1.80683891195530061E18, - "ᷭዻU~ཷsgSJ`᪅'%㖔n5픆桪砳峣3獮枾䌷⊰呀": { - "Ş੉䓰邟自~X耤pl7间懑徛s첦5ਕXexh⬖鎥᐀nNr(J컗|ૃF\"Q겮葲놔엞^겄+㈆话〾희紐G'E?飕1f❼텬悚泬먐U睬훶Qs": false, - "(\u20dag8큽튣>^Y{뤋.袊䂓;_g]S\u202a꽬L;^'#땏bႌ?C緡<䝲䲝断ꏏ6\u001asD7IK5Wxo8\u0006p弊⼂ꯍ扵\u0003`뵂픋%ꄰ⫙됶l囏尛+䗅E쟇\\": [ - true, - { - "\n鱿aK㝡␒㼙2촹f;`쾏qIࡔG}㝷䐍瓰w늮*粅9뒪ㄊCj倡翑閳R渚MiUO~仨䜶RꙀA僈㉋⦋n{㖥0딿벑逦⥻0h薓쯴Ꝼ": [ - 5188716534221998369, - 2579413015347802508, - 9.010794400256652E-21, - -6.5327297761238093E17, - 1.11635352494065523E18, - -6656281618760253655, - { - "": ")?", - "TWKLꑙ裑꺔UE俸塑炌Ũ᜕-o\"徚#": {"M/癟6!oI51ni퐚=댡>xꍨ\u0004 ?": { - "皭": {"⢫䋖>u%w잼<䕏꘍P䋵$魋拝U䮎緧皇Y훂&|羋ꋕ잿cJ䨈跓齳5\u001a삱籷I꿾뤔S8㌷繖_Yឯ䲱B턼O歵F\\l醴o_欬6籏=D": [ - false, - true, - {"Mt|ꏞD|F궣MQ뵕T,띺k+?㍵i": [ - 7828094884540988137, - false, - { - "!༦鯠,&aﳑ>[euJꏽ綷搐B.h": -7648546591767075632, - "-n켧嘰{7挐毄Y,>❏螵煫乌pv醑Q嶚!|⌝責0왾덢ꏅ蛨S\\)竰'舓Q}A釡5#v": 3344849660672723988, - "8閪麁V=鈢1녈幬6棉⪮둌\u207d᚛驉ꛃ'r䆉惏ै|bἧﺢᒙ<=穊强s혧eꮿ慩⌡ \\槳W븧J檀C,ᘉ의0俯퀉M;筷ࣴ瓿{늊埂鄧_4揸Nn阼Jੵ˥(社": true, - "o뼀vw)4A뢵(a䵢)p姃뛸\u000fK#KiQp\u0005ꅍ芅쏅": null, - "砥$ꥸ┇耽u斮Gc{z빔깎밇\\숰\u001e괷各㶇쵿_ᴄ+h穢p촀Ნ䃬z䝁酳ӂ31xꔄ1_砚W렘G#2葊P ": [ - -3709692921720865059, - null, - [ - 6669892810652602379, - -135535375466621127, - "뎴iO}Z? 馢녱稹ᄾ䐩rSt帤넆&7i騏멗畖9誧鄜'w{Ͻ^2窭외b㑎粖i矪ꦨ탪跣)KEㆹ\u0015V8[W?⽉>'kc$䨘ᮛ뉻٬M5", - 1.10439588726055846E18, - false, - -4349729830749729097, - null, - [ - false, - "_蠢㠝^䟪/D녒㡋ỎC䒈판\u0006એq@O펢%;鹐쏌o戥~A[ꡉ濽ỳ&虃᩾荣唙藍茨Ig楡꒻M窓冉?", - true, - 2.17220752996421728E17, - -5079714907315156164, - -9.960375974658589E-20, - "ᾎ戞༒", - true, - false, - [[ - "ⶉᖌX⧕홇)g엃⹪x뚐癟\u0002", - -5185853871623955469, - { - "L㜤9ợㇶK鐰⋓V뽋˖!斫as|9"፬䆪?7胜&n薑~": -2.11545634977136992E17, - "O8뀩D}캖q萂6༣㏗䈓煮吽ਆᎼDᣘ폛;": false, - "YTᡅ^L㗎cbY$pᣞ縿#fh!ꘂb삵玊颟샞ဢ$䁗鼒몁~rkH^:닮먖츸륈⪺쒉砉?㙓扫㆕꣒`R䢱B酂?C뇞<5Iޚ讳騕S瞦z": null, - "\\RB?`mG댵鉡幐物䵎有5*e骄T㌓ᛪ琾駒Ku\u001a[柆jUq8⋈5鿋츿myﻗ?雍ux঴?": 5828963951918205428, - "n0晅:黯 xu씪^퓞cB㎊ᬍ⺘٤փ~B岚3㥕擄vᲂ~F?C䶖@$m~忔S왖㲚?챴⊟W#벌{'㰝I䝠縁s樘\\X뢻9핡I6菍ㄛ8쯶]wॽ0L\"q": null, - "x增줖j⦦t䏢᎙㛿Yf鼘~꫓恄4惊\u209c": "oOhbᤃ᛽z&Bi犑\\3B㩬劇䄑oŁ쨅孥멁ຖacA㖫借㞝vg싰샂㐜#譞⢤@k]鋰嘘䜾L熶塥_<\/⍾屈ﮊ_mY菹t뙺}Ox=w鮮4S1ꐩמּ'巑", - "㗓蟵ꂾe蠅匳(JP䗏෸\u0089耀왲": [{ - "ᤃ㵥韎뤽\r?挥O쯡⇔㞚3伖\u0005P⋪\"D궣QLn(⚘罩䩢Ŏv䤘尗뼤됛O淽鋋闚r崩a{4箙{煷m6〈": { - "l곺1L": { - "T'ਤ?砅|੬Km]䄩\"(࿶<\/6U爢䫈倔郴l2㴱^줣k'L浖L鰄Rp今鎗⒗C얨M훁㡧ΘX粜뫈N꤇輊㌻켑#㮮샶-䍗룲蠝癜㱐V>=\\I尬癤t=": 7648082845323511446, - "鋞EP:<\/_`ၧe混ㇹBd⯢㮂驋\\q碽饩跓྿ᴜ+j箿렏㗑yK毢宸p謹h䦹乕U媣\\炤": [[ - "3", - [ - true, - 3.4058271399411134E-20, - true, - "揀+憱f逮@먻BpW曉\u001a㣐⎊$n劈D枤㡞좾\u001aᛁ苔౩闝1B䷒Ṋ݋➐ꀞꐃ磍$t੤_:蘺⮼(#N", - 697483894874368636, - [ - "vᘯ锴)0訶}䳅⩚0O壱韈ߜ\u0018*U鍾䏖=䧉뽑单휻ID쿇嘗?ꌸῬ07", - -5.4858784319382006E18, - 7.5467775182251151E18, - -8911128589670029195, - -7531052386005780140, - null, - [ - null, - true, - [[{ - "1欯twG<\/Q:0怯押殃탷聫사<ỗꕧ蚨䡁nDꌕ\u001c녬~蓩鲃g儊>ꏡl㻿/⑷*챳6㻜W毤緛ﹺᨪ4\u0013뺚J髬e3쳸䘦伧?恪&{L掾p+꬜M䏊d娘6": { - "2p첼양棜h䜢﮶aQ*c扦v︥뮓kC寵횂S銩&ǝ{O*य़iH`U큅ࡓr䩕5ꄸ?`\\᧫?ᮼ?t〟崾훈k薐ì/iy꤃뵰z1<\/AQ#뿩8jJ1z@u䕥": 1.82135747285215155E18, - "ZdN &=d년ᅆ'쑏ⅉ:烋5&៏ᄂ汎来L㯄固{钧u\\㊏튚e摑&t嗄ꖄUb❌?m䴘熚9EW": [{ - "ଛ{i*a(": -8.0314147546006822E17, - "⫾ꃆY\u000e+W`௸ \"M뒶+\\뷐lKE}(NT킶Yj選篒쁶'jNQ硾(똡\\\"逌ⴍy? IRꜘ὞鄬﨧:M\\f⠋Cꚜ쫊ᚴNV^D䕗ㅖἔIao꿬C⍏8": [ - 287156137829026547, - { - "H丞N逕⯲": {"": { - "7-;枮阕梒9ᑄZ": [[[[ - null, - { - "": [[[[ - -7.365909561486078E-19, - 2948694324944243408, - null, - [ - true, - "荒\"并孷䂡쵼9o䀘F\u0002龬7⮹Wz%厖/*? a*R枈㌦됾g뒠䤈q딄㺿$쮸tᶎ릑弣^鏎<\/Y鷇驜L鿽<\/춋9Mᲆឨ^<\/庲3'l낢", - "c鮦\u001b두\\~?眾ಢu݆綑෪蘛轋◜gȃ<\/ⴃcpkDt誩܅\"Y", - [[ - null, - null, - [ - 3113744396744005402, - true, - "v(y", - { - "AQ幆h쾜O+꺷铀ꛉ練A蚗⼺螔j㌍3꽂楎䥯뎸먩?": null, - "蠗渗iz鱖w]擪E": 1.2927828494783804E-17, - "튷|䀭n*曎b✿~杤U]Gz鄭kW|㴚#㟗ഠ8u擨": [[ - true, - null, - null, - {"⾪壯톽g7?㥜ώQꑐ㦀恃㧽伓\\*᧰閖樧뢇赸N휶䎈pI氇镊maᬠ탷#X?A+kНM ༑᩟؝?5꧎鰜ṚY즫궔 =ঈ;ﳈ?*s|켦蜌wM笙莔": [ - null, - -3808207793125626469, - [ - -469910450345251234, - 7852761921290328872, - -2.7979740127017492E18, - 1.4458504352519893E-20, - true, - "㽙깹?먏䆢:䴎ۻg殠JBTU⇞}ꄹꗣi#I뵣鉍r혯~脀쏃#釯:场:䔁>䰮o'㼽HZ擓௧nd", - [ - 974441101787238751, - null, - -2.1647718292441327E-19, - 1.03602824249831488E18, - [ - null, - 1.0311977941822604E-17, - false, - true, - { - "": -3.7019778830816707E18, - "E峾恆茍6xLIm縂0n2视֯J-ᤜz+ᨣ跐mYD豍繹⹺䊓몓ﴀE(@詮(!Y膽#᎙2䟓섣A䈀㟎,囪QbK插wcG湎ꤧtG엝x⥏俎j'A一ᯥ뛙6ㅑ鬀": 8999803005418087004, - "よ殳\\zD⧅%Y泥簳Uꈩ*wRL{3#3FYHା[d岀䉯T稉駅䞘礄P:闈W怏ElB㤍喬赔bG䠼U଄Nw鰯闀楈ePsDꥷ꭬⊊": [ - 6.77723657904486E-20, - null, - [ - "ཚ_뷎꾑蹝q'㾱ꂓ钚蘞慵렜떆`ⴹ⎼櫯]J?[t9Ⓢ !컶躔I᮸uz>3a㠕i,錃L$氰텰@7녫W㸮?羧W뇧ꃞ,N鋮숪2ɼ콏┍䁲6", - "&y?뢶=킕올Za惻HZk>c\u20b58i?ꦶcfBv잉ET9j䡡", - "im珊Ճb칧校\\뼾쯀", - 9.555715121193197E-20, - true, - { - "<㫚v6腓㨭e1㕔&&V∌ᗈT奄5Lጥ>탤?튣瑦㳆ꉰ!(ᙪ㿬擇_n쌯IMΉ㕨␰櫈ᱷ5풔蟹&L.첽e鰷쯃劼﫭b#ﭶ퓀7뷄Wr㢈๧Tʴશ㶑澕鍍%": -1810142373373748101, - "fg晌o?߲ꗄ;>C>?=鑰監侯Kt굅": true, - "䫡蓺ꑷ]C蒹㦘\"1ః@呫\u0014NL䏾eg呮፳,r$裢k>/\\?ㄤᇰﻛ쉕1஥'Ċ\" \\_?쨔\"ʾr: 9S䘏禺ᪧꄂ㲄", - [[{ - "*硙^+E쌺I1䀖ju?:⦈Ꞓl๴竣迃xKC/饉:\fl\"XTFᄄ蟭,芢<\/骡軺띜hꏘ\u001f銿<棔햳▨(궆*=乥b8\\媦䷀뫝}닶ꇭ(Kej䤑M": [{ - "1Ꮼ?>옿I╅C<ގ?ꊌ冉SV5A㢊㶆z-๎玶绢2F뵨@㉌뀌o嶔f9-庒茪珓뷳4": null, - ";lᰳ": "CbB+肻a䄷苝*/볳+/4fq=㰁h6瘉샴4铢Y骐.⌖@哼猎㦞+'gꋸ㒕ߤ㞑(䶒跲ti⑴a硂#No볔", - "t?/jE幸YHT셵⩎K!Eq糦ꗣv刴w\"l$ο:=6:移": { - "z]鑪醊嫗J-Xm銌翁絨c里됏炙Ep㣋鏣똼嚌䀓GP﹖cmf4鹭T䅿꣭姧␸wy6ꦶ;S&(}ᎧKxᾂQ|t뻳k\"d6\"|Ml췆hwLt꼼4$&8Պ褵婶鯀9": {"嵃닢ᒯ'd᧫䳳#NXe3-붋鸿ଢ떓%dK\u0013䲎ꖍYV.裸R⍉rR3蟛\\:젯:南ĺLʆ넕>|텩鴷矔ꋅⒹ{t孶㓑4_": [ - true, - null, - [ - false, - "l怨콈lᏒ", - { - "0w䲏嬧-:`䉅쉇漧\\܂yㄨb%㽄j7ᦶ涶<": 3.7899452730383747E-19, - "ꯛTẀq纤q嶏V⿣?\"g}ი艹(쥯B T騠I=仵및X": {"KX6颠+&ᅃ^f畒y[": { - "H?뱜^?꤂-⦲1a㋞&ꍃ精Ii᤾챪咽쬘唂쫷<땡劈훫놡o㥂\\ KⴙD秼F氮[{'좴:례晰Iq+I쭥_T綺砸GO煝䟪ᚪ`↹l羉q쐼D꽁ᜅ훦: vUV": true, - "u^yﳍ0㱓#[y뜌앸ꊬL㷩?蕶蘾⻍KӼ": -7931695755102841701, - "䤬轉車>\u001c鴵惋\"$쯃྆⇻n뽀G氠S坪]ಲꨍ捇Qxኻ椕駔\\9ࣼ﫻읜磡煮뺪ᶚ볝l㕆t+sζ": [[[ - true, - false, - [ - null, - 3363739578828074923, - true, - { - "\"鸣詩 볰㑵gL㯦῅춝旫}ED辗ﮈI쀤-ꧤ|㠦Z\"娑ᕸ4爏騍㣐\"]쳝Af]茛⬻싦o蚁k䢯䩐菽3廇喑ޅ": 4.5017999150704666E17, - "TYႇ7ʠ值4챳唤~Zo&ݛ": false, - "`塄J袛㭆끺㳀N㺣`꽐嶥KﯝSVᶔ∲퀠獾N딂X\"ᤏhNﬨvI": {"\u20bb㭘I䖵䰼?sw䂷쇪](泒f\"~;꼪Fԝsᝦ": {"p,'ꉂ軿=A蚶?bƉ㏵䅰諬'LYKL6B깯⋩겦뎙(ᜭ\u0006噣d꾆㗼Z;䄝䚔cd<情@䞂3苼㸲U{)<6&ꩻ钛\u001au〷N숨囖愙j=BXW욕^x芜堏Ῑ爂뛷꒻t✘Q\b": [[ - "籛&ଃ䩹.ꃩ㦔\\C颫#暪&!勹ꇶ놽攺J堬镙~軌C'꾖䣹㮅岃ᙴ鵣", - 4.317829988264744E15, - 6.013585322002147E-20, - false, - true, - null, - null, - -3.084633632357326E-20, - false, - null, - { - "\"짫愔昻 X\"藣j\"\"먁ཅѻ㘤㬯0晲DU꟒㸃d벀윒l䦾c੻*3": null, - "谈Wm陧阦咟ฯ歖擓N喴㋐銭rCCnVࢥ^♼Ⅾ젲씗刊S༝+_t赔\\b䚍뉨ꬫ6펛cL䊘᜼<\/澤pF懽&H": [ - null, - { - "W\"HDUuΌ퀟M'P4࿰H똆ⰱﮯ<\/凐蘲\"C鴫ﭒж}ꭩ쥾t5yd诪ﮡ퍉ⴰ@?氐醳rj4I6Qt": 6.9090159359219891E17, - "絛ﳛ⺂": {"諰P㗮聦`ZQ?ꫦh*റcb⧱}埌茥h{棩렛툽o3钛5鮁l7Q榛6_g)ὄ\u0013kj뤬^爖eO4Ⱈ槞鉨ͺ订%qX0T썗嫷$?\\\"봅늆'%": [ - -2.348150870600346E-19, - [[ - true, - -6619392047819511778, - false, - [[ - -1.2929189982356161E-20, - 1.7417192219309838E-19, - {"?嵲2࿐2\u0001啑㷳c縯": [ - null, - [ - false, - true, - 2578060295690793218, - { - "?\"殃呎#㑑F": true, - "}F炊_殛oU헢兔Ꝉ,赭9703.B数gTz3⏬": { - "5&t3,햓Mݸᵣ㴵;꣫䩍↳#@뫷䠅+W-ࣇzᓃ鿕ಔ梭?T䮑ꥬ旴]u뫵막bB讍:왳둛lEh=숾鱠p咐$짏#?g⹷ᗊv㷵.斈u頻\u0018-G.": "뽙m-ouࣤ஫牷\"`Ksꕞ筼3HlȨvC堈\"I]㖡玎r먞#'W賜鴇k'c룼髋䆿飉㗆xg巤9;芔cጐ/ax䊨♢큓r吓㸫೼䢗da᩾\"]屣`", - ":M딪<䢥喠\u0013㖅x9蕐㑂XO]f*Q呰瞊吭VP@9,㨣 D\\穎vˤƩs㜂-曱唅L걬/롬j㈹EB8g<\/섩o渀\"u0y&룣": ">氍緩L/䕑돯Ꟙ蕞^aB뒣+0jK⪄瑨痜LXK^힦1qK{淚t츔X:Vm{2r獁B뾄H첚7氥?쉟䨗ꠂv팳圎踁齀\\", - "D彤5㢷Gꪻ[lㄆ@὜⓰絳[ଃ獽쮹☒[*0ꑚ㜳": 9022717159376231865, - "ҖaV銣tW+$魿\u20c3亜~뫡ᙰ禿쨽㏡fṼzE/h": "5臐㋇Ჯ쮺? 昨탰Wム밎#'\"崲钅U?幫뺀⍾@4kh>騧\\0ҾEV=爐͌U捀%ꉼ 㮋<{j]{R>:gԩL\u001c瀈锌ﯲﳡꚒ'⫿E4暍㌗뵉X\"H᝜", - "ᱚגּ;s醒}犍SἿ㦣&{T$jkB\\\tḮ앾䤹o<避(tW": "vb⯽䴪䮢@|)", - "⥒퐁껉%惀뗌+녣迺顀q條g⚯i⤭룐M琹j̈́⽜A": -8385214638503106917, - "逨ꊶZ<\/W⫟솪㎮ᘇb?ꠔi\"H㧺x෷韒Xꫨฟ|]窽\u001a熑}Agn?Mᶖa9韲4$3Ỵ^=쏍煤ፐ돷2䣃%鷠/eQ9頸쥎", - 2398360204813891033, - false, - 3.2658897259932633E-19, - null, - "?ꚃ8Nn㞷幵d䲳䱲뀙ꪛQ瑓鎴]䩋-鰾捡䳡??掊", - false, - -1309779089385483661, - "ᦲxu_/yecR.6芏.ᜇ過 ~", - -5658779764160586501, - "쒌:曠=l썜䢜wk#s蕚\"互㮉m䉤~0듐䋙#G;h숄옥顇෤勹(C7㢅雚㐯L⠅VV簅<", - null, - -4.664877097240962E18, - -4.1931322262828017E18, - { - ",": { - "v㮟麑䄠뤵g{M띮.\u001bzt뢜뵡0Ǥ龍떟Ᾰ怷ϓRT@Lꀌ樂U㏠⾕e扉|bJg(뵒㠶唺~ꂿ(땉x⻫싉쁊;%0鎻V(o\f,N鏊%nk郼螺": -1.73631993428376141E18, - "쟧摑繮Q@Rᕾ㭚㾣4隅待㓎3蒟": [ - 4971487283312058201, - 8973067552274458613, - { - "`a揙ᣗ\u0015iBo¸": 4.3236479112537999E18, - "HW&퉡ぁ圍Y?瑡Qy훍q!帰敏s舠㫸zꚗaS歲v`G株巷Jp6킼 (귶鍔⾏⡈>M汐㞍ቴ꙲dv@i㳓ᇆ?黍": [ - null, - 4997607199327183467, - "E㻎蠫ᐾ高䙟蘬洼旾﫠텛㇛?'M$㣒蔸=A_亀绉앭rN帮", - null, - [{ - "Eᑞ)8餧A5u&㗾q?": [ - -1.969987519306507E-19, - null, - [ - 3.42437673373841E-20, - true, - "e걷M墁\"割P␛퍧厀R䱜3ﻴO퓫r﹉⹊", - [ - -8164221302779285367, - [ - true, - null, - "爘y^-?蘞Ⲽꪓa␅ꍨ}I", - 1.4645984996724427E-19, - [{ - "tY좗⧑mrzﺝ㿥ⴖ᥷j諅\u0000q賋譁Ꞅ⮱S\nࡣB/큃굪3Zɑ复o<\/;롋": null, - "彟h浠_|V4䦭Dᙣ♞u쿻=삮㍦\u001e哀鬌": [{"6횣楠,qʎꗇ鎆빙]㱭R굋鈌%栲j分僅ペ䇰w폦p蛃N溈ꡐꏀ?@(GI뉬$ﮄ9誁ꓚ2e甸ڋ[䁺,\u0011\u001cࢃ=\\+衪䷨ᯕ鬸K": [[ - "ㅩ拏鈩勥\u000etgWVXs陂規p狵w퓼{뮵_i\u0002ퟑႢ⬐d6鋫F~챿搟\u0096䚼1ۼ칥0꣯儏=鋷牋ⅈꍞ龐", - -7283717290969427831, - true, - [ - 4911644391234541055, - { - "I鈒첽P릜朸W徨觘-Hᎄ퐟⓺>8kr1{겵䍃〛ᬡ̨O귑o䝕'쿡鉕p5": "fv粖RN瞖蛐a?q꤄\u001d⸥}'ꣴ犿ꦼ?뤋?鵆쥴덋䡫s矷̄?ඣ/;괱絢oWfV<\/\u202cC,㖦0䑾%n賹g&T;|lj_欂N4w", - "짨䠗;䌕u i+r๏0": [{"9䥁\\఩8\"馇z䇔<\/ႡY3e狚쐡\"ุ6ﰆZ遖c\"Ll:ꮾ疣<\/᭙O◌납୕湞9⡳Und㫜\u0018^4pj1;䧐儂䗷ୗ>@e톬": { - "a⑂F鋻Q螰'<퇽Q贝瀧{ᘪ,cP&~䮃Z?gI彃": [ - -1.69158726118025933E18, - [ - "궂z簽㔛㮨瘥⤜䛖Gℤ逆Y⪾j08Sn昞ꘔ캻禀鴚P謦b{ꓮmN靐Mᥙ5\"睏2냑I\u0011.L&=?6ᄠ뻷X鸌t刑\"#z)o꫚n쳟줋", - null, - 7517598198523963704, - "ኑQp襟`uᩄr方]*F48ꔵn俺ሙ9뇒", - null, - null, - 6645782462773449868, - 1219168146640438184, - null, - { - ")ယ넌竀Sd䰾zq⫣⏌ʥ\u0010ΐ' |磪&p牢蔑mV蘸૰짬꺵;K": [ - -7.539062290108008E-20, - [ - true, - false, - null, - true, - 6574577753576444630, - [[ - 1.2760162530699766E-19, - [ - null, - [ - "顊\\憎zXB,", - [{ - "㇆{CVC9-MN㜋ઘR눽#{h@ퟨ!鼚׼XOvXS\u0017ᝣ=cS+梽៲綆16s덽휐y屬?ᇳG2ᴭ\u00054쫖y룇nKcW̭炦s/鰘ᬽ?J|퓀髣n勌\u0010홠P>j": false, - "箴": [ - false, - "鍞j\"ꮾ*엇칬瘫xṬ⭽쩁䃳\"-⋵?ᦽ댎Ĝ": true, - "Pg帯佃籛n㔠⭹࠳뷏≻࿟3㞱!-쒾!}쭪䃕!籿n涻J5ਲ਼yvy;Rኂ%ᔡጀ裃;M⣼)쵂쑈": 1.80447711803435366E18, - "ꈑC⡂ᑆ㤉壂뎃Xub<\/쀆༈憓ق쨐ק\\": [ - 7706977185172797197, - {"": {"K╥踮砆NWࡆFy韣7ä밥{|紒︧䃀榫rᩛꦡTSy잺iH8}ퟴ,M?Ʂ勺ᴹ@T@~꾂=I㙕뾰_涀쑜嫴曣8IY?ҿo줫fऒ}\\S\"ᦨ뵼#nDX": { - "♘k6?଱癫d68?㽚乳䬳-V顷\u0005蝕?\u0018䞊V{邾zじl]雏k臤~ൖH뒐iꢥ]g?.G碄懺䔛pR$䅒X觨l봜A刊8R梒',}u邩퉕?;91Ea䈈믁G⊶芔h袪&廣㺄j;㡏綽\u001bN頸쳘橆": -2272208444812560733, - "拑Wﵚj鵼駳Oࣿ)#㾅顂N傓纝y僱栜'Bꐍ-!KF*ꭇK¦?䈴^:啤wG逭w᧯": "xᣱmYe1ۏ@霄F$ě꧘푫O䤕퀐Pq52憬ꀜ兴㑗ᡚ?L鷝ퟐ뭐zJꑙ}╆ᅨJB]\"袌㺲u8䯆f", - "꿽၅㔂긱Ǧ?SI": -1669030251960539193, - "쇝ɨ`!葎>瞺瘡驷錶❤ﻮ酜=": -6961311505642101651, - "?f7♄꫄Jᡔ훮e읇퍾፣䭴KhखT;Qty}O\\|뫁IῒNe(5惁ꥶㆷY9ﮡ\\ oy⭖-䆩婁m#x봉>Y鈕E疣s驇↙ᙰm<": {"퉻:dꂁ&efᅫ쫢[\"돈늖꺙|Ô剐1͖-K:ʚ᭕/;쏖㷛]I痐职4gZ4⍜kเꛘZ⥺\\Bʫᇩ鄨魢弞&幟ᓮ2̊盜", - -9006004849098116748, - -3118404930403695681, - { - "_彃Y艘-\"Xx㤩㳷瑃?%2䐡鵛o귵옔夘v*탋职&㳈챗|O钧": [ - false, - "daꧺdᗹ羞쯧H㍤鄳頳<型孒ン냆㹀f4㹰\u000f|C*ሟ鰠(O<ꨭ峹ipຠ*y೧4VQ蔔hV淬{?ᵌEfrI_", - "j;ꗣ밷邍副]ᗓ", - -4299029053086432759, - -5610837526958786727, - [ - null, - [ - -1.3958390678662759E-19, - { - "lh좈T_믝Y\"伨\u001cꔌG爔겕ꫳ晚踍⿻읐T䯎]~e#฽燇\"5hٔ嶰`泯r;ᗜ쮪Q):/t筑,榄&5懶뎫狝(": [{ - "2ፁⓛ]r3C攟וּ9賵s⛔6'ஂ|\"ⵈ鶆䐹禝3\"痰ࢤ霏䵩옆䌀?栕r7O簂Isd?K᫜`^讶}z8?z얰T:X倫⨎ꑹ": -6731128077618251511, - "|︦僰~m漿햭\\Y1'Vvخ굇ቍ챢c趖": [null] - }], - "虌魿閆5⛔煊뎰㞤ᗴꥰF䮥蘦䂪樳-K᝷-(^\u20dd_": 2.11318679791770592E17 - } - ] - ] - ]}, - "묗E䀳㧯᳀逞GMc\b墹㓄끖Ơ&U??펌鑍 媋k))ᄊ": null, - "묥7콽벼諌J_DɯﮪM殴䣏,煚ྼ`Y:씧<\/⩫%yf䦀!1Ჶk춎Q米W∠WC跉鬽*ᛱi㴕L꘻ꀏ쓪\"_g鿄'#t⽙?,Wg㥖|D鑆e⥏쪸僬h鯔咼ඡ;4TK聎졠嫞" - } - ] - ] - } - ] - ] - ]}} - } - ]} - }, - "뿋뀾淣截䔲踀&XJ펖꙯^Xb訅ꫥgᬐ>棟S\"혧騾밫겁7-": "擹8C憎W\"쵮yR뢩浗絆䠣簿9䏈引Wcy䤶孖ꯥ;퐌]輩䍐3@{叝 뽸0ᡈ쵡Ⲇ\u001dL匁꧐2F~ݕ㪂@W^靽L襒ᦘ~沦zZ棸!꒲栬R" - } - ] - ], - "Z:덃൛5Iz찇䅄駠㭧蓡K1": "e8᧤좱U%?ⵇ䯿鿝\u0013縮R∱骒EO\u000fg?幤@֗퉙vU`", - "䐃쪈埽້=Ij,쭗쓇చ": false - }]}} - ] - } - ]} - } - ] - ] - ], - "咰긖VM]᝼6䓑쇎琺etDҌ?㞏ꩄ퇫밉gj8蠃\"⩐5䛹1ࣚ㵪": "ക蹊?⎲⧘⾚̀I#\"䈈⦞돷`wo窭戕෱휾䃼)앷嵃꾞稧,Ⴆ윧9S?೗EMk3Მ3+e{⹔Te驨7䵒?타Ulg悳o43" - } - ], - "zQᤚ纂땺6#ٽ﹧v￿#ࠫ휊冟蹧텈ꃊʆ?&a䥯De潝|쿓pt瓞㭻啹^盚2Ꝋf醪,얏T窧\\Di䕎谄nn父ꋊE": -2914269627845628872, - "䉩跐|㨻ᷢ㝉B{蓧瞸`I!℄욃힕#ೲᙾ竛ᔺCjk췒늕貭词\u0017署?W딚%(pꍁ⤼띳^=on뺲l䆼bzrﳨ[&j狸䠠=ᜑꦦ\u2061յnj=牲攑)M\\龏": false, - "뎕y絬᫡⥮Ϙᯑ㌔/NF*˓.,QEzvK!Iwz?|쥾\"ꩻL꼗Bꔧ賴緜s뉣隤茛>ロ?(?^`>冺飒=噸泥⺭Ᲊ婓鎔븜z^坷裮êⓅ໗jM7ﶕ找\\O": 1.376745434746303E-19 - }, - "䐛r滖w㏤,|Nዜ": false - } - ]], - "@꿙?薕尬 gd晆(띄5躕ﻫS蔺4)떒錸瓍?~": 1665108992286702624, - "w믍nᏠ=`঺ᅥC>'從됐槷䤝眷螄㎻揰扰XᅧC贽uჍ낟jKD03T!lDV쀉Ӊy뢖,袛!终캨G?鉮Q)⑗1쾅庅O4ꁉH7?d\u0010蠈줘월ސ粯Q!낇껉6텝|{": null, - "~˷jg쿤촖쉯y": -5.5527605669177098E18, - "펅Wᶺzꐆと푭e?4j仪열[D<鈑皶婆䵽ehS?袪;HꍨM뗎ば[(嗏M3q퍟g4y╸鰧茀[Bi盤~﫝唎鋆彺⦊q?B4쉓癚O洙킋툈䶯_?ퟲ": null - } - ] - ]] - ]], - "꟱Ԕ㍤7曁聯ಃ錐V䷰?v㪃૦~K\"$%请|ꇹn\"k䫛㏨鲨\u2023䄢\u0004[︊VJ?䶟ាꮈ䗱=깘U빩": -4863152493797013264 - } - ]}]} - ] - }}} - ], - "쏷쐲۹퉃~aE唙a챑,9㮹gLHd'䔏|킗㍞䎥&KZYT맵7䥺Nⱳ同莞鿧w\\༌疣n/+ꎥU\"封랾○ퟙAJᭌ?9䛝$?驔9讐짘魡T֯c藳`虉C읇쐦T" - } - ], - "谶개gTR￐>ၵ͚dt晑䉇陏滺}9㉸P漄": -3350307268584339381 - }] - ] - ] - ]] - ] - ], - "0y꟭馋X뱔瑇:䌚￐廿jg-懲鸭䷭垤㒬茭u賚찶ಽ+\\mT땱\u20821殑㐄J쩩䭛ꬿNS潔*d\\X,壠뒦e殟%LxG9:摸": 3737064585881894882, - "풵O^-⧧ⅶvѪ8廸鉵㈉ר↝Q㿴뺟EႳvNM:磇>w/៻唎뷭୥!냹D䯙i뵱貁C#⼉NH6`柴ʗ#\\!2䂗Ⱨf?諳.P덈-返I꘶6?8ꐘ": -8934657287877777844, - "溎-蘍寃i诖ര\"汵\"\ftl,?d⼡쾪⺋h匱[,෩I8MҧF{k瓿PA'橸ꩯ綷퉲翓": null - } - ] - ], - "ោ係؁<元": 1.7926963090826924E-18 - }}] - } - ] - ]]}] - }] - ] - ] - ] - ], - "ጩV<\"ڸsOᤘ": 2.0527167903723048E-19 - }] - ]} - ] - ]], - "∳㙰3젴p᧗䱙?`yZA8Ez0,^ᙛ4_0븢\u001ft:~䎼s.bb룦明yNP8弆C偯;⪾짍'蕴뮛": -6976654157771105701, - "큵ꦀ\\㇑:nv+뒤燻䀪ﴣ﷍9ᚈ኷K㚊誦撪䚛,ꮪxሲ쳊\u0005HSf?asg昱dqꬌVꙇ㼺'k*'㈈": -5.937042203633044E-20 - } - ] - }], - "?}\u20e0],s嶳菋@#2u쒴sQS䩗=ꥮ;烌,|ꘔ䘆": "ᅩ영N璠kZ먕眻?2ቲ芋眑D륟渂⸑ﴃIRE]啗`K'" - }}, - "쨀jmV賂ﰊ姐䂦玞㬙ᏪM᪟Վ씜~`uOn*ॠ8\u000ef6??\\@/?9見d筜ﳋB|S䝬葫㽁o": true - }, - "즛ꄤ酳艚␂㺘봿㎨iG৕ࡿ?1\"䘓您\u001fSኝ⺿溏zៀ뻤B\u0019?윐a䳵᭱䉺膷d:<\/": 3935553551038864272 - } - ] - ]} - ]] - ]] - ]} - } - ] - } - ]]}}, - "᥺3h↛!ꋰy\"攜(ெl䪕oUkc1A㘞ᡲ촾ᣫ<\/䒌E㛝潨i{v?W౾H\\RჅpz蝬R脾;v:碽✘↯삞鷱o㸧瑠jcmK7㶧뾥찲n": true, - "ⶸ?x䊺⬝-䰅≁!e쩆2ꎿ准G踌XXᩯ1߁}0?.헀Z馟;稄\baDꟹ{-寪⚈ꉷ鮸_L7ƽᾚ<\u001bጨA䧆송뇵⨔\\礍뗔d设룱㶉cq{HyぱR㥽吢ſtp": -7985372423148569301, - "緫#콮IB6<\/=5Eh礹\t8럭@饹韠r㰛斣$甝LV췐a갵'请o0g:^": "䔨(.", - "띳℡圤pン௄ĝ倧訜B쁟G䙔\"Sb⓮;$$▏S1J뢙SF|赡g*\"Vu䲌y": "䪈&틐),\\kT鬜1풥;뷴'Zေ䩹@J鞽NぼM?坥eWb6榀ƩZڮ淽⺞삳煳xჿ絯8eⶍ羷V}ჿ쎱䄫R뱃9Z>'\u20f1ⓕ䏜齮" - } - ] - ]]] - }} - } - ] - ]}, - "펮b.h粔폯2npX詫g錰鷇㇒<쐙S値bBi@?镬矉`剔}c2壧ଭfhY깨R()痩⺃a\\⍔?M&ﯟ<劜꺄멊ᄟA\"_=": null - }, - "~潹Rqn榢㆓aR鬨侅?䜑亡V_翅㭔(䓷w劸ၳDp䀅<\/ﰎ鶊m䵱팱긽ꆘ긓准D3掱;o:_ќ)껚콥8곤d矦8nP倥ꃸI": null, - "뾎/Q㣩㫸벯➡㠦◕挮a鶧⋓偼\u00001뱓fm覞n?㛅\"": 2.8515592202045408E17 - }], - ",": -5426918750465854828, - "2櫫@0柡g䢻/gꆑ6演&D稒肩Y?艘/놘p{f투`飷ᒉ챻돎<늛䘍ﴡ줰쫄": false, - "8(鸑嵀⵹ퟡ<9㣎Tߗ┘d슒ل蘯&㠦뮮eࠍk砝g 엻": false, - "d-\u208b?0ﳮ嵙'(J`蔿d^踅⤔榥\\J⵲v7": 6.8002426206715341E17, - "ཎ耰큓ꐕ㱷\u0013y=詽I\"盈xm{0쾽倻䉚ષso#鰑/8㸴짯%ꀄ떸b츟*\\鲷礬ZQ兩?np㋄椂榨kc᡹醅3": false, - "싊j20": false - }]] - ]], - "俛\u0017n緽Tu뫉蜍鼟烬.ꭠIⰓ\"Ἀ᜾uC쎆J@古%ꛍm뻨ᾀ画蛐휃T:錖㑸ዚ9죡$": true - } - ] - ], - "㍵⇘ꦖ辈s}㱮慀밒s`\"㞟j:`i픻Z섫^諎0Ok{켿歁෣胰a2﨤[탳뚬쎼嫭뉮m": 409440660915023105, - "w墄#*ᢄ峠밮jLa`ㆪ꺊漓Lで끎!Agk'ꁛ뢃㯐岬D#㒦": false, - "ଦPGI䕺L몥罭ꃑ궩﮶#⮈ᢓӢ䚬p7웼臧%~S菠␌힀6&t䳙y㪘냏\\*;鉏ᅧ鿵'嗕pa\"oL쇿꬈Cg": "㶽1灸D⟸䴅ᆤ뉎﷛渤csx 䝔цꬃ锚捬?ຽ+x~꘩uI࡞\u0007栲5呚ẓem?袝\")=㥴䨃pac!/揎Y", - "ᷱo\\||뎂몷r篙|#X䦜I#딌媸픕叞RD斳X4t⯩夬=[뭲r=绥jh뷱츝⪘%]⚋܈㖴スH텹m(WO曝劉0~K3c柢Ր㏉着逳~": false, - "煽_qb[첑\\륌wE❽ZtCNﭝ+餌ᕜOꛭ": "{ﳾ쉌&s惧ᭁⵆ3䢫;䨞팑꒪흘褀࢖Q䠿V5뭀䎂澻%받u5텸oA⮥U㎦;B䳌wz䕙$ឿ\\௅婺돵⪾퐆\\`Kyौꋟ._\u0006L챯l뇠Hi䧈偒5", - "艊佁ࣃ롇䱠爬!*;⨣捎慓q靓|儑ᨋL+迥=6㒺딉6弄3辅J-㕎뛄듘SG㆛(\noAzQꝱ䰩X*ぢO퀌%펠낌mo틮a^<\/F&_눊ᾉ㨦ы4\"8H": 2974648459619059400, - "鬙@뎣䫳ၮ끡?){y?5K;TA*k溱䫜J汃ꂯ싔썍\u001dA}룖(<\/^,": false, - "몏@QꋦFꊩᒐ뎶lXl垨4^郣|ꮇ;䝴ᝓ}쵲z珖": null - } - ]]]], - ":_=닧弗D䙋暨鏛. 㱻붘䂍J儒&ZK/녩䪜r囁⽯D喠죥7⹌䪥c\u001a\u2076￞妈朹oLk菮F౟覛쐧㮏7T;}蛙2{9\"崓bB<\/⡷룀;즮鿹)丒툃୤뷠5W⊢嶜(fb뭳갣": "E{响1WM" - }}, - "䘨tjJ驳豨?y輊M*᳑梵瞻઻ofQG瑮e": 2.222802939724948E-19, - "䮴=❑➶T෋w䞜\"垦ꃼUt\u001dx;B$뵣䙶E↌艣ᡥ!᧟;䱀[䔯k쬃`੍8饙른熏'2_'袻tGf蒭J땟as꯳╖&啒zWࡇᒫYSᏬ\u0014ℑ첥鈤|cG~Pᓮ\">\"": "ႆl\f7V儊㦬nHꄬꨧC{쐢~C⮃⛓嶦vꄎ1w鰠嘩뿠魄&\"_qMⵖ釔녮ꝇ 㝚{糍J哋 cv?-jkﻯྌ鹑L舟r", - "龧葆yB✱H盋夔ﶉ?n*0(": "ꧣኆ㢓氥qZZ酒ຜ)鮢樛)X䣆gTSґG텞k.J圬疝롫쯭z L:\\ྤ@w炋塜쿖ᾳy뢀䶃뱝N䥨㚔勇겁#p", - "도畎Q娡\"@S/뼋:䵏!P衅촚fVHQs✜ᐫi㻑殡B䜇%믚k*U#濨낄~": "ꍟዕ쳸ꍈ敋&l妏\u0005憡멗瘌uPgᅪm<\/To쯬锩h뒓k" - } - ] - }], - "墥홞r绚<\/⸹ⰃB}<躅\\Y;๑@䔸>韫䜲뱀X뗩鿥쩗SI%ﴞ㳕䛇?<\/\u00018x\\&侂9鋙a[LR㋭W胕)⡿8㞙0JF,}?허d1cDMᐃ␛鄝ⱕ%X)!XQ": "ⳍꗳ=橇a;3t⦾꼑仈ူaᚯ⯋ꕃAs鴷N⍕_䎃ꙎAz\u0016䯷\\<࿫>8q{}キ?ᣰ}'0ᴕ펓B┦lF#趤厃T?㕊#撹圂䆲" - }, - "܋닐龫論c웑": false, - "ㇿ/q\"6-co髨휝C큦#\u001b4~?3䐹E삇<<": 7.600917488140322E-20, - "䁝E6?㣖ꃁ间t祗*鑠{ḣV(浾h逇큞=W?ૉ?nꇽ8ꅉຉj으쮺@Ꚅ㰤u]Oyr": "v≁᫸_*όAඤԆl)ۓᦇQ}폠z༏q滚", - "ソ᥊/넺I": true - }]] - ] - ] - ] - ]] - }, - "䭑Ik攑\u0002QV烄:芩.麑㟴㘨≕": true, - "坄꿕C쇻풉~崍%碼\\8\"䬦꣙": null, - "欌L圬䅘Y8c(♺2?ON}o椳s宥2䉀eJ%闹r冁O^K諭%凞⺉⡻,掜?$ꥉ?略焕찳㯊艼誜4?\"﯎<゛XፈINT:詓 +": -1.0750456770694562E-19, - "獒àc뜭싼ﺳ뎤K`]p隨LtE": null, - "甙8䵊神EIꩤ鐯ᢀ,ﵮU䝑u疒ử驺䚿≚ഋ梶秓F`覤譐#짾蔀묊4<媍쬦靪_Yzgcࡶ4k紥`kc[Lﮗ簐*I瀑[⾰L殽鑥_mGȠ<\/|囹灠g桰iri": true, - "챓ꖙꟻ좝菇ou,嗠0\\jK핻뜠qwQ?ഩ㼕3Y彦b\u009bJ榶N棨f?됦鏖綃6鳵M[OE봨u햏.Ꮁ癜蟳뽲ꩌ뻾rM豈R嗀羫 uDꎚ%": null - }, - "V傜2<": 7175127699521359521 - }], - "铫aG切<\/\"ী⊆e<^g࢛)D顝nאַ饼\u008c猪繩嵿ﱚCꡬ㻊g엺A엦\u000f暿_f꿤볝㦕桦`蒦䎔j甬%岝rj 糏": "䚢偎눴Au<4箞7礦Iﱔ坠eȧ䪸u䵁p|逹$嗫쨘ꖾ﷐!胠z寓팢^㨔|u8Nሇe텔ꅦ抷]،鹎㳁#༔繁 ", - "낂乕ꃻ볨ϱ-ꇋ㖍fs⿫)zꜦ/K?솞♞ꑌ宭hJ᤭瑥Fu": false, - "쟰ぜ魛G\u0003u?`㾕ℾ㣭5螠烶這趩ꖢ:@咕ꐶx뒘느m䰨b痃렐0鳊喵熬딃$摉_~7*ⱦ녯1錾GKhJ惎秴6'H妈Tᧅ窹㺒疄矤铟wላ": null, - "쯆q4!3錕㲏ⵆ㇛꘷Z瑩뭆\\◪NH\u001d\\㽰U~㯶<\"쑣낞3ᵤ'峉eꢬ;鬹o꣒木X*長PXᘱu\"䠹n惞": null, - "ᅸ祊\"&ꥴCjࢼ﴿?䡉`U效5殼㮞V昽ꏪ#ﺸ\\&t6x꠹盥꣰a[\u001aꪍSpe鎿蠹": -1.1564713893659811E-19 - } - ]] - ] - ] - ], - "羵䥳H,6ⱎ겾|@t\"#햊1|稃 섭)띜=뻔ꡜ???櫎~*ῡ꫌/繣ﻠq": null - } - ]} - ]}, - "츤": false - }}, - "s": 3.7339341963399598E18 - } - ], - "N,I?1+㢓|ࣱ嶃쩥V2\u0012(4EE虪朶$|w颇v步": "~읢~_,Mzr㐫YB溓E淚\"ⅹ䈔ᏺ抙 b,nt5V㐒J檶ꏨ⻔?", - "Q껑ꡡ}$넎qH煔惍/ez^!ẳF댙䝌馻剁8": "梲;yt钰$i冄}AL%a j뜐奷걳뚾d꿽*ሬuDY3?뮟鼯뮟w㍪틱V", - "o{Q/K O胟㍏zUdꀐm&⨺J舕⾏魸訟㌥[T籨櫉唐킝 aṭ뱫촙莛>碶覆⧬짙쭰ׯdAiH໥벤퐥_恸[ 0e:죃TC弼荎뵁DA:w唵ꣁ": null, - "὏樎䵮軧|?౗aWH쩃1 ꅭsu": null - } - ] - }, - "勂\\&m鰈J釮=Ⲽ鳋+䂡郑": null, - "殣b綊倶5㥗惢⳷萢ᑀ䬄镧M^ﱴ3⣢翣n櫻1㨵}ኯ뗙顖Z.Q➷ꮨ뗇\u0004": "ꔙ䁼>n^[GीA䨟AM琢ᒊS쨲w?d㶣젊嘶纝麓+愣a%気ྞSc됓ᔘ:8bM7Xd8㶑臌]Ꙥ0ꐭ쒙䫣挵C薽Dfⵃ떼᷸", - "?紡.셪_෨j\u0013Ox┠$Xᶨ-ᅇo薹-}軫;y毝㪜K㣁?.EV쮱4둽⛻䤜'2盡\u001f60(|e쐰㼎ᦀ㒧-$l@ﻑ坳\u0003䭱响巗WFo5c㧆T턁Y맸♤(": -2.50917882560589088E17 - }} - ], - "侸\\릩.᳠뎠狣살cs项䭩畳H1s瀉븇19?.w骴崖㤊h痠볭㞳㞳䁮Ql怠㦵": "@䟴-=7f", - "鹟1x௢+d ;vi䭴FSDS\u0004hꎹ㚍?⒍⦏ў6u,扩@됷Su)Pag휛TᒗV痩!瞏釀ꖞ蘥&ೞ蘐ꭰꞇᝎ": "ah懱Ժ&\u20f7䵅♎඀䞧鿪굛ౕ湚粎蚵ᯋ幌YOE)५襦㊝Y*^\"R+ඈ咷蝶9ꥂ榨艦멎헦閝돶v좛咊E)K㓷ྭr", - "搆q쮦4綱켙셁.f4<\/g<籽늷?#蚴픘:fF\u00051㹉뀭.ᰖ풎f֦Hv蔎㧤.!䭽=鞽]음H:?\"-4": 8.740133984938656E-20 - }]} - } - ], - "tVKn딩꘥⊾蹓᤹{\u0003lR꼽ᄲQFᅏ傅ﱋ猢⤊ᔁ,E㓒秤nTතv`♛I\u0000]꫔ṞD\"麵c踝杰X&濿또꣹깳౥葂鿎\\aꡨ?": 3900062609292104525 - } - ], - "ਉ샒⊩Lu@S䧰^g": -1.1487677090371648E18, - "⎢k⑊꬗yᏫ7^err糎Dt\u000bJ礯확ㆍ沑サꋽe赔㝢^J\u0004笲㿋idra剰-᪉C錇/Ĝ䂾ညS지?~콮gR敉⬹'䧭": 1901472137232418266, - "灗k䶥:?촽贍쓉꓈㒸g獘[뵎\\胕?\u0014_榙p.j稶,$`糉妋0>Fᡰly㘽$?": "]ꙛO赎&#㠃돱剳\"<◆>0誉齐_|z|裵씪>ᐌ㼍\"Z[琕}O?G뚇諦cs⠜撺5cu痑U圲\u001c?鴴計l춥/╓哼䄗茏ꮅ뫈댽A돌롖뤫V窗讬sHd&\nOi;_u" - } - ], - "Uﺗ\\Y\\梷䄬~\u0002": null, - "k\"Y磓ᗔ휎@U冈<\/w컑)[": false, - "曏J蝷⌻덦\u001f㙳s꥓⍟邫P늮쥄c∬ྡྷ舆렮칤Z趣5콡넛A쳨\\뀙骫(棻.*&輛LiIfi{@EA婳KᬰTXT": -4.3088230431977587E17 - }]} - ] - ], - "곃㲧<\/dఓꂟs其ࡧ&N葶=?c㠤Ჴ'횠숄臼#\u001a~": false - } - ] - ]}] - }] - }} - ], - "2f`⽰E쵟>J笂裭!〛觬囀ۺ쟰#桊l鹛ⲋ|RA_Vx፭gE됓h﵀mfỐ|?juTU档[d⢼⺻p濚7E峿": 5613688852456817133 - }, - "濘끶g忮7㏵殬W팕Q曁 뫰)惃廊5%-蹚zYZ樭ﴷQ锘쯤崫gg": true, - "絥ᇑ⦏쒓븣爚H.㗊߄o蘵貆ꂚ(쎔O᥉ﮓ]姨Wꁓ!RMA|o퉢THx轮7M껁U즨'i뾘舯o": "跥f꜃?" - }} - ], - "鷰鹮K-9k;ﰰ?_ݦѷ-ꅣ䩨Zꥱ\"mꠟ屎/콑Y╘2&鸞脇㏢ꀇ࠺ⰼ拾喭틮L꽩bt俸墶 [l/웄\"꾦\u20d3iও-&+\u000fQ+໱뵞": -1.296494662286671E-19 - }, - "HX੹/⨇୕붷Uﮘ旧\\쾜͔3l鄈磣糂̖䟎Eᐳw橖b῀_딕hu葰窳闹вU颵|染H죶.fP䗮:j䫢\\b뎖i燕ꜚG⮠W-≚뉗l趕": "ଊ칭Oa᡺$IV㷧L\u0019脴셀붿餲햪$迳向쐯켂PqfT\" ?I屉鴼쿕@硙z^鏕㊵M}㚛T젣쓌-W⩐-g%⺵<뮱~빅╴瑿浂脬\u0005왦燲4Ⴭb|D堧 <\/oEQh", - "䘶#㥘੐캔f巋ἡAJ䢚쭈ࣨ뫒*mᇊK,ࣺAꑱ\u000bR<\/A\"1a6鵌㯀bh곿w(\"$ꘁ*rಐ趣.d࿩k/抶면䒎9W⊃9": "漩b挋Sw藎\u0000", - "畀e㨼mK꙼HglKb,\"'䤜": null - }]}] - ] - ] - }] - ]} - ] - ]} - ], - "歙>駿ꣂ숰Q`J΋方樛(d鱾뼣(뫖턭\u20f9lচ9歌8o]8윶l얶?镖G摄탗6폋폵+g:䱫홊<멀뀿/س|ꭺs걐跶稚W々c㫣⎖": "㣮蔊깚Cꓔ舊|XRf遻㆚︆'쾉췝\\&言", - "殭\"cށɨꝙ䞘:嬮e潽Y펪㳅/\"O@ࠗ겴]췖YǞ(t>R\"N?梳LD恭=n氯T豰2R諸#N}*灧4}㶊G䍣b얚": null, - "襞<\/啧 B|싞W瓇)6簭鼡艆lN쩝`|펭佡\\間邝[z릶&쭟愱ꅅ\\T᰽1鯯偐栈4̸s윜R7⒝/똽?치X": "⏊躖Cﱰ2Qẫ脐&இ?%냝悊", - ",鰧偵셣싹xᎹ힨᯳EṬH㹖9": -4604276727380542356 - } - } - ]]]], - "웺㚑xs}q䭵䪠馯8?LB犯zK'os䚛HZ\"L?셎s^㿧㴘Cv2": null - }] - ] - ] - ], - "Kd2Kv+|z": 7367845130646124107, - "ᦂⶨ?ᝢ 祂些ഷ牢㋇操\"腭䙾㖪\\(y4cE뽺ㆷ쫺ᔖ%zfۻ$ў1柦,㶢9r漢": -3.133230960444846E-20, - "琘M焀q%㢟f鸯O⣏蓑맕鯊$O噷|)z褫^㢦⠮ꚯ꫞`毕1qꢚ{ĭ䎀বώT\"뱘3G൴?^^of": null - } - ], - "a8V᯺?:ﺃ/8ꉿBq|9啓댚;*i2": null, - "cpT瀇H珰Ừpೃi鎪Rr␣숬-鹸ҩ䠚z脚цGoN8入y%趌I┽2ឪЀiJNcN)槣/▟6S숆牟\"箑X僛G殱娇葱T%杻:J諹昰qV쨰": 8331037591040855245 - }], - "G5ᩜ䄗巢껳": true - } - }, - "Ồ巢ゕ@_譙A`碫鄐㡥砄㠓(^K": "?܃B혢▦@犑ὺD~T⧁|醁;o=J牌9냚⢽㨘{4觍蚔9#$∺\u0016p囅\\3Xk阖⪚\"UzA穕롬✎➁㭒춺C㣌ဉ\"2瓑员ᅽꝶ뫍}꽚ꞇ鶂舟彺]ꍽJC蝧銉", - "␆Ě膝\"b-퉐ACR言J謈53~V튥x䜢?ꃽɄY뮩ꚜ": "K/↾e萃}]Bs⾿q룅鷦-膋?m+死^魊镲6", - "粡霦c枋AHퟁo礼Ke?qWcA趸㡔ꂏ?\u000e춂8iতᦜ婪\u0015㢼nﵿꍻ!ᐴ関\u001d5j㨻gfῩUK5Ju丝tかTI'?㓏t>⼟o a>i}ᰗ;뤕ܝ": false, - "ꄮ匴껢ꂰ涽+䜨B蛹H䛓-k蕞fu7kL谖,'涃V~챳逋穞cT\"vQ쓕ObaCRQ㓡Ⲯ?轭⫦輢墳?vA餽=h䮇킵n폲퉅喙?\"'1疬V嬗Qd灗'Lự": "6v!s믁㭟㣯獃!磸餠ቂh0C뿯봗F鷭gꖶ~コkK<ᦈTt\\跓w㭣횋钘ᆹ듡䑚W䟾X'ꅔ4FL勉Vܴ邨y)2'〚쭉⽵-鞣E,Q.?块", - "?(˧쩯@崟吋歄K": null - }, - "Gc럃녧>?2DYI鴿\\륨)澔0ᔬlx'觔7젘⤡縷螩%Sv׫묈/]↱&S h\u0006歋ᑛxi̘}ひY蔯_醨鯘煑橾8?䵎쨋z儬ꁏ*@츾:": null - } - } - } - ] - ] - ]} - }, - "HO츧G": 3.694949578823609E17, - "QC\u0012(翻曇Tf㷟bGBJ옉53\\嚇ᛎD/\u001b夾၉4\"핀@祎)쫆yD\"i먎Vn㿿V1W᨝䶀": -6150931500380982286, - "Z㓮P翸鍱鉼K䋞꘺튿⭁Y": -7704503411315138850, - "]모开ꬖP븣c霤<[3aΠ\"黁䖖䰑뮋ꤦ秽∼㑷冹T+YUt\"싳F↭䖏&鋌": -2.7231911483181824E18, - "tꎖ": -4.9517948741799555E-19, - "䋘즊.⬅IꬃۣQ챢ꄑ黐|f?C⾺|兕읯sC鬸섾整腨솷V": "旆柩l쪦sᖸMy㦅울썉瘗㎜檵9ꍂ駓ૉᚿ/u3씅徐拉[Z䞸ࡗ1ꆱ&Q풘?ǂ8\u0011BCDY2볨;鸏": null, - "幫 n煥s쁇펇 왊-$C\"衝:\u0014㣯舼.3뙗Yl⋇\"K迎멎[꽵s}9鉳UK8쐥\"掄㹖h㙈!얄સ?Ꜳ봺R伕UTD媚I䜘W鏨蔮": -4.150842714188901E-17, - "ﺯ^㄄\b죵@fྉkf颡팋Ꞧ{/Pm0V둳⻿/落韒ꊔᚬ@5螺G\\咸a谆⊪ቧ慷绖?财(鷇u錝F=r၍橢ឳn:^iᴵtD볠覅N赴": null - }] - }] - } - ] - ]} - ]}, - "謯?w厓奰T李헗聝ឍ貖o⪇弒L!캶$ᆅ": -4299324168507841322, - "뺊奉_垐浸延몏孄Z舰2i$q붿좾껇d▵餏\"v暜Ҭ섁m￴g>": -1.60911932510533427E18 - } - ] - } - ] - ]], - "퉝꺔㠦楶Pꅱ": 7517896876489142899, - "": false - } - ]}, - "是u&I狻餼|谖j\"7c됮sסּ-踳鉷`䣷쉄_A艣鳞凃*m⯾☦椿q㎭N溔铉tlㆈ^": 1.93547720203604352E18, - "kⲨ\\%vr#\u000bⒺY\\t<\/3﬌R訤='﹠8蝤Ꞵ렴曔r": false - } - ]}, - "阨{c?C\u001d~K?鎌Ԭ8烫#뙣P초遗t㭱E­돒䆺}甗[R*1!\\~h㕅᰺@<9JꏏષI䳖栭6綘걹ᅩM\"▯是∔v鬽顭⋊譬": "운ﶁK敂(欖C취پ℄爦賾" - } - }} - }], - "鷨赼鸙+\\䭣t圙ڹx᜾ČN<\/踘\"S_맶a鷺漇T彚⎲i㈥LT-xA캔$\u001cUH=a0츺l릦": "溣㣂0濕=鉵氬駘>Pꌢpb솇쬤h힊줎獪㪬CrQ矠a&脍꼬爼M茴/΅\u0017弝轼y#Ꞡc6둴=?R崏뷠麖w?" - }, - "閕ᘜ]CT)䵞l9z'xZF{:ؐI/躅匽졁:䟇AGF૸\u001cퟗ9)駬慟ꡒꆒRS״툋A<>\u0010\"ꂔ炃7g덚E৏bꅰ輤]o㱏_뷕ܘ暂\"u": "芢+U^+㢩^鱆8*1鈶鮀\u0002뺰9⬳ꪮlL䃣괟,G8\u20a8DF㉪錖0ㄤ瓶8Nଷd?眡GLc陓\\_죌V쁰ल二?c띦捱 \u0019JC\u0011b⤉zẒT볕\"绣蘨뚋cꡉkI\u001e鳴", - "ꃣI'{6u^㡃#཰Kq4逹y൒䧠䵮!㱙/n??{L풓ZET㙠퍿X2᩟綳跠葿㚙w཮x캽扳B唕S|尾}촕%N?o䪨": null, - "ⰴFjෟ셈[\u0018辷px?椯\\1<ﲻ栘ᣁ봢憠뉴p": -5263694954586507640 - } - ] - ]] - ]} - ]}] - ] - ], - "?#癘82禩鋆ꊝty?&": -1.9419029518535086E-19 - } - ] - ] - ]} - ] - ] - ], - "훊榲.|῕戄&.㚏Zꛦ2\"䢥ሆ⤢fV_摕婔?≍Fji冀탆꜕i㏬_ẑKᅢ꫄蔻XWc|饡Siẘ^㲦?羡2ぴ1縁ᙅ?쐉Ou": false - }]] - ]}}}, - "慂뗄卓蓔ᐓ匐嚖/颹蘯/翻ㆼL?뇊,텵<\\獷ごCボ": null - }, - "p溉ᑟi짣z:䒤棇r^٫%G9缑r砌롧.물农g?0׼ሩ4ƸO㣥㯄쩞ጩ": null, - "껎繥YxK\"F젷쨹뤤1wq轫o?鱑뜀瘊?뎃h灑\\ꛣ}K峐^ኖ⤐林ꉓhy": null - } - ], - "᱀n肓ㄛ\"堻2>m殮'1橌%Ꞵ군=Ӳ鯨9耛<\/n據0u彘8㬇៩f᏿诙]嚊": "䋯쪦S럶匏ㅛ#)O`ሀX_鐪渲⛀㨻宅闩➈ꢙஶDR⪍" - }, - "tA썓龇 ⋥bj왎录r땽✒롰;羋^\\?툳*┎?썀ma䵳넅U䳆૘〹䆀LQ0\b疀U~u$M}(鵸g⳾i抦뛹?䤈땚검.鹆?ꩡtⶥGĒ;!ቹHS峻B츪켏f5≺": 2366175040075384032, - "전pJjleb]ួ": -7.5418493141528422E18, - "n.鎖ጲ\n?,$䪘": true - }, - "欈Ar㉣螵᪚茩?O)": null - }, - "쫸M#x}D秱欐K=侫们丐.KꕾxẠ\u001e㿯䣛F܍캗qq8꟞ṢFD훎⵳簕꭛^鳜\u205c٫~⑟~冫ऊ2쫰<\/戲윱o<\"": true - }, - "㷝聥/T뱂\u0010锕|内䞇x侁≦㭖:M?iM᣿IJe煜dG࣯尃⚩gPt*辂.{磼럾䝪@a\\袛?}ᓺB珼": true - } - } - ]]}]}}, - "tn\"6ꫤ샾䄄;銞^%VBPwu묪`Y僑N.↺Ws?3C⤻9唩S䠮ᐴm;sᇷ냞඘B/;툥B?lB∤)G+O9m裢0kC햪䪤": -4.5941249382502277E18, - "ᚔt'\\愫?鵀@\\びꂕP큠<<]煹G-b!S?\nꖽ鼫,ݛ&頺y踦?E揆릱H}햧캡b@手.p탻>췽㣬ꒅ`qe佭P>ᓂ&?u}毚ᜉ蟶頳졪ᎏzl2wO": -2.53561440423275936E17 - }]} - } - ] - ]], - "潈촒⿂叡": 5495738871964062986 - } - ]] - } - ] - ]} - ]] - ]] - ]} - ] - ]}, - "ႁq킍蓅R`謈蟐ᦏ儂槐僻ﹶ9婌櫞釈~\"%匹躾ɢ뤥>࢟瀴愅?殕节/냔O✬H鲽엢?ᮈੁ⋧d␽㫐zCe*": 2.15062231586689536E17, - "㶵Ui曚珰鋪ᾼ臧P{䍏䷪쨑̟A뼿T渠誈䏚D1!잶<\/㡍7?)2l≣穷᛾稝{:;㡹nemיּ訊`G": null, - "䀕\"飕辭p圁f#뫆䶷뛮;⛴ᩍ3灚덏ᰝ쎓⦷詵%᜖Մfs⇫(\u001e~P|ﭗCⲾផv湟W첋(텪બT<บSꏉ੗⋲X婵i ӵ⇮?L䬇|ꈏ?졸": 1.548341247351782E-19 - } - ] - }, - "t;:N\u0015q鐦Rt缆{ꮐC?஛㷱敪\\+鲊㉫㓪몗릙竏(氵kYS": "XᰂT?൮ô", - "碕飦幑|+ 㚦鏶`镥ꁩ B<\/加륙": -4314053432419755959, - "秌孳(p!G?V傫%8ሽ8w;5鲗㦙LI檸\u2098": "zG N볞䆭鎍흘\\ONK3횙<\/樚立圌Q튅k쩎Ff쁋aׂJK銆ઘ즐狩6༥✙䩜篥CzP(聻駇HHퟲ讃%,ά{렍p而刲vy䦅ክ^톺M楒鍢㹳]Mdg2>䤉洞", - "踛M젧>忔芿㌜Zk": 2215369545966507819, - "씐A`$槭頰퍻^U覒\bG毲aᣴU;8!팲f꜇E⸃_卵{嫏羃X쀳C7뗮m(嚼u N܁谟D劯9]#": true, - "ﻩ!뵸-筚P᭛}ἰ履lPh?౮ⶹꆛ穉뎃g萑㑓溢CX뾇G㖬A錟]RKaꄘ]Yo+@䘁's섎襠$^홰}F": null - }, - "粘ꪒ4HXᕘ蹵.$區\r\u001d묁77pPc^y笲Q<\/ꖶ 訍䃍ᨕG?*": 1.73773035935040224E17 - }, - "婅拳?bkU;#D矠❴vVN쩆t㜷A풃갮娪a%鮏絪3dAv룒#tm쑬⌛qYwc4|L8KZ;xU⓭㳔밆拓EZ7襨eD|隰ऌ䧼u9Ԣ+]贴P荿": 2.9628516456987075E18 - }]}}] - ]} - }} - ]}] - ], - "|g翉F*湹̶\u0005⏐1脉̀eI쩓ᖂ㫱0碞l䴨ꑅ㵽7AtἈ턧yq䳥塑:z:遀ᄐX눔擉)`N3昛oQ셖y-ڨ⾶恢ꈵq^<\/": null, - "菹\\랓G^璬x৴뭸ゆUS겧﮷Bꮤ ┉銜᯻0%N7}~f洋坄Xꔼ<\/4妟Vꄟ9:౟곡t킅冩䧉笭裟炂4봋ⱳ叺怊t+怯涗\"0㖈Hq": false, - "졬믟'ﺇফ圪쓬멤m邸QLব䗁愍4jvs翙 ྍ꧀艳H-|": null, - "컮襱⣱뗠 R毪/鹙꾀%헳8&": -5770986448525107020 - } - ], - "B䔚bꐻ뙏姓展槰T-똌鷺tc灿᫽^㓟䏀o3o$꘭趙萬I顩)뇭Ἑ䓝\f@{ᣨ`x3蔛": null - } - ] - ] - }], - "⦖扚vWꃱ꥙㾠壢輓{-⎳鹷贏璿䜑bG倛⋐磎c皇皩7a~ﳫU╣Q࠭ꎉS摅姽OW.홌ೞ.": null, - "蚪eVlH献r}ᮏ믠ﰩꔄ@瑄ⲱ": null, - "퀭$JWoꩢg역쁍䖔㑺h&ୢtXX愰㱇?㾫I_6 OaB瑈q裿": null, - "꽦ﲼLyr纛Zdu珍B絟쬴糔?㕂짹䏵e": "ḱ\u2009cX9멀i䶛簆㳀k" - } - ]]]], - "(_ꏮg່澮?ᩑyM<艷\u001aꪽ\\庼뙭Z맷㰩Vm\\lY筺]3㋲2㌩㄀Eਟ䝵⨄쐨ᔟgङHn鐖⤇놋瓇Q탚單oY\"♆臾jHᶈ征ቄ??uㇰA?#1侓": null - }, - "觓^~ሢ&iI띆g륎ḱ캀.ᓡꀮ胙鈉": 1.0664523593012836E-19, - "y詭Gbᔶऽs댁U:杜⤎ϲ쁗⮼D醄诿q뙰I#즧v蔎xHᵿt᡽[**?崮耖p缫쿃L菝,봬ꤦC쯵#=X1瞻@OZc鱗CQTx": null - } - ] - }}], - "剘紁\u0004\\Xn⊠6,တױ;嵣崇}讃iႽ)d1\\䔓": null - }, - "脨z\"{X,1u찜<'k&@?1}Yn$\u0015Rd輲ーa쮂굄+B$l": true, - "諳>*쭮괐䵟Ґ+<箁}빀䅱⡔檏臒hIH脟ꩪC핝ଗP좕\"0i<\/C褻D۞恗+^5?'ꂱ䚫^7}㡠cq6\\쨪ꔞꥢ?纖䫀氮蒫侲빦敶q{A煲G": -6880961710038544266 - }}] - }, - "5s⨲JvಽῶꭂᄢI.a৊": null, - "?1q꽏쿻ꛋDR%U娝>DgN乭G": -1.2105047302732358E-19 - } - ] - ]}, - "qZz`撋뙹둣j碇쁏\\ꆥ\u0018@藴疰Wz)O{F䶛l᷂绘訥$]뮍夻䢋䩇萿獰樧猵⣭j萶q)$꬚⵷0馢W:Ⱍ!Qoe": -1666634370862219540, - "t": "=wp|~碎Q鬳Ӎ\\l-<\/^ﳊhn퐖}䍔t碵ḛ혷?靻䊗", - "邙쇡㯇%#=,E4勃驆V繚q[Y댻XV㡸[逹ᰏ葢B@u=JS5?bLRn얮㍉⏅ﰳ?a6[&큟!藈": 1.2722786745736667E-19 - }, - "X블땨4{ph鵋ꉯ웸 5p簂䦭s_E徔濧d稝~No穔噕뽲)뉈c5M윅>⚋[岦䲟懷恁?鎐꓆ฬ爋獠䜔s{\u001bm鐚儸煛%bﯿXT>ꗘ@8G": 1157841540507770724, - "媤娪Q杸\u0011SAyᡈ쿯": true, - "灚^ಸ%걁<\/蛯?\"祴坓\\\\'흍": -3.4614808555942579E18, - "釴U:O湛㴑䀣렑縓\ta)(j:숾却䗌gCiB뽬Oyuq輥厁/7)?今hY︺Q": null - } - ] - ]]]}] - ], - "I笔趠Ph!<ཛྷ㸞诘X$畉F\u0005笷菟.Esr릙!W☆䲖뗷莾뒭U\"䀸犜Uo3Gꯌx4r蔇᡹㧪쨢準<䂀%ࡡꟼ瑍8炝Xs0䀝销?fi쥱ꆝલBB": -8571484181158525797, - "L⦁o#J|\"⽩-㱢d㌛8d\\㶤傩儻E[Y熯)r噤὘勇 }": "e(濨쓌K䧚僒㘍蠤Vᛸ\"络QJL2,嬓왍伢㋒䴿考澰@(㏾`kX$끑эE斡,蜍&~y", - "vj.|统圪ᵮPL?2oŶ`밧\"勃+0ue%⿥绬췈체$6:qa렐Q;~晘3㙘鹑": true, - "ශؙ4獄⶿c︋i⚅:ん閝Ⳙ苆籦kw{䙞셕pC췃ꍬ␜꟯ꚓ酄b힝hwk꭭M鬋8B耳쑘WQ\\偙ac'唀x᪌\u2048*h짎#ፇ鮠뾏ឿ뀌": false, - "⎀jꄒ牺3Ⓝ컴~?親ꕽぼܓ喏瘘!@<튋㐌꿱⩦{a?Yv%⪧笯Uܱ栅E搚i뚬:ꄃx7䙳ꦋ&䓹vq☶I䁘ᾘ涜\\썉뺌Lr%Bc㍜3?ꝭ砿裞]": null, - "⭤뙓z(㡂%亳K䌽꫿AԾ岺㦦㼴輞낚Vꦴw냟鬓㹈뽈+o3譻K1잞": 2091209026076965894, - "ㇲ\t⋇轑ꠤ룫X긒\"zoY읇희wj梐쐑l侸`e%s": -9.9240075473576563E17, - "啸ꮑ㉰!ᚓ}銏": -4.0694813896301194E18, - ">]囋੽EK뇜>_ꀣ緳碖{쐐裔[<ನ\"䇅\"5L?#xTwv#罐\u0005래t应\\N?빗;": "v쮽瞭p뭃" - } - ]], - "斴槾?Z翁\"~慍弞ﻆ=꜡o5鐋dw\"?K蠡i샾ogDﲰ_C*⬟iㇷ4nય蟏[㟉U꽌娛苸 ঢ়操贻洞펻)쿗૊許X⨪VY츚Z䍾㶭~튃ᵦ<\/E臭tve猑x嚢": null, - "锡⛩<\/칥ꈙᬙ蝀&Ꚑ籬■865?_>L詏쿨䈌浿弥爫̫lj&zx<\/C쉾?覯n?": null, - "꾳鑤/꼩d=ᘈn挫ᑩ䰬ZC": "3錢爋6Ƹ䴗v⪿Wr益G韠[\u0010屗9쁡钁u?殢c䳀蓃樄욂NAq赟c튒瘁렶Aૡɚ捍" - } - ] - ] - ]} - ] - ] - }]]]}} - ]}], - "Ej䗳U<\/Q=灒샎䞦,堰頠@褙g_\u0003ꤾfⶽ?퇋!łB〙ד3CC䌴鈌U:뭔咎(Qો臃䡬荋BO7㢝䟸\"Yb": 2.36010731779814E-20, - "逸'0岔j\u000e눘먷翌C츊秦=ꭣ棭ှ;鳸=麱$XP⩉駚橄A\\좱⛌jqv䰞3Ь踌v㳆¹gT┌gvLB賖烡m?@E঳i": null - }, - "曺v찘ׁ?&绫O័": 9107241066550187880 - } - ] - ], - "(e屄\u0019昜훕琖b蓘ᬄ0/۲묇Z蘮ဏ⨏蛘胯뢃@㘉8ሪWᨮ⦬ᅳ䅴HI၇쨳z囕陻엣1赳o": true, - ",b刈Z,ၠ晐T솝ŕB⩆ou'퐼≃绗雗d譊": null, - "a唥KB\"ﳝ肕$u\n^⅄P䟼냉䞸⩪u윗瀱ꔨ#yşs꒬=1|ﲤ爢`t౐튼쳫_Az(Ṋ擬㦷좕耈6": 2099309172767331582, - "?㴸U<\/䢔ꯡ阽扆㐤q鐋?f㔫wM嬙-;UV죫嚔픞G&\"Cᗍ䪏풊Q": "VM7疹+陕枡툩窲}翡䖶8欞čsT뮐}璤:jﺋ鎴}HfA൝⧻Zd#Qu茅J髒皣Y-︴[?-~쉜v딏璮㹚䅊﩯<-#\u000e걀h\u0004u抱﵊㼃U<㱷⊱IC進" - }, - "숌dee節鏽邺p넱蹓+e罕U": true - } - ], - "b⧴룏??ᔠ3ぱ>%郿劃翐ꏬꠛW瞳᫏누躨狀ໄy੽\"ីuS=㨞馸k乆E": "トz݈^9R䬑<ﮛGRꨳ\u000fTT泠纷꽀MRᴱ纊:㠭볮?%N56%鈕1䗍䜁a䲗j陇=뿻偂衋࿘ᓸ?ᕵZ+<\/}H耢b䀁z^f$&㝒LkꢳI脚뙛u": 5.694374481577558E-20 - }] - } - ]], - "obj": {"key": "wrong value"}, - "퓲꽪m{㶩/뇿#⼢&᭙硞㪔E嚉c樱㬇1a綑᝖DḾ䝩": null - }, - "key": "6.908319653520691E8", - "z": { - "6U閆崬밺뀫颒myj츥휘:$薈mY햚#rz飏+玭V㭢뾿愴YꖚX亥ᮉ푊\u0006垡㐭룝\"厓ᔧḅ^Sqpv媫\"⤽걒\"˽Ἆ?ꇆ䬔未tv{DV鯀Tἆl凸g\\㈭ĭ즿UH㽤": null, - "b茤z\\.N": [[ - "ZL:ᅣዎ*Y|猫劁櫕荾Oj为1糕쪥泏S룂w࡛Ᏺ⸥蚙)", - { - "\"䬰ỐwD捾V`邀⠕VD㺝sH6[칑.:醥葹*뻵倻aD\"": true, - "e浱up蔽Cr෠JK軵xCʨ<뜡癙Y獩ケ齈X/螗唻?<蘡+뷄㩤쳖3偑犾&\\첊xz坍崦ݻ鍴\"嵥B3㰃詤豺嚼aqJ⑆∥韼@\u000b㢊\u0015L臯.샥": false, - "l?Ǩ喳e6㔡$M꼄I,(3᝝縢,䊀疅뉲B㴔傳䂴\u0088㮰钘ꜵ!ᅛ韽>": -5514085325291784739, - "o㮚?\"춛㵉<\/﬊ࠃ䃪䝣wp6ἀ䱄[s*S嬈貒pᛥ㰉'돀": [{ - "(QP윤懊FI<ꃣ『䕷[\"珒嶮?%Ḭ壍಻䇟0荤!藲끹bd浶tl\u2049#쯀@僞": {"i妾8홫": { - ",M맃䞛K5nAㆴVN㒊햬$n꩑&ꎝ椞阫?/ṏ세뉪1x쥼㻤㪙`\"$쟒薟B煌܀쨝ଢ଼2掳7㙟鴙X婢\u0002": "Vዉ菈᧷⦌kﮞఈnz*﷜FM\"荭7ꍀ-VR<\/';䁙E9$䩉\f @s?퍪o3^衴cඎ䧪aK鼟q䆨c{䳠5mᒲՙ蘹ᮩ": { - "F㲷JGo⯍P덵x뒳p䘧☔\"+ꨲ吿JfR㔹)4n紬G练Q፞!C|": true, - "p^㫮솎oc.೚A㤠??r\u000f)⾽⌲們M2.䴘䩳:⫭胃\\፾@Fᭌ\\K": false, - "蟌Tk愙潦伩": { - "a<\/@ᾛ慂侇瘎": -7271305752851720826, - "艓藬/>၄ṯ,XW~㲆w": {"E痧郶)㜓ha朗!N赻瞉駠uC\u20ad辠x퓮⣫P1ࠫLMMX'M刼唳됤": null, - "P쓫晥%k覛ዩIUᇸ滨:噐혲lMR5䋈V梗>%幽u頖\\)쟟": null, - "eg+昉~矠䧞难\b?gQ쭷筝\\eꮠNl{ಢ哭|]Mn銌╥zꖘzⱷ⭤ᮜ^": [ - -1.30142114406914976E17, - -1.7555215491128452E-19, - null, - "渾㨝ߏ牄귛r?돌?w[⚞ӻ~廩輫㼧/", - -4.5737191805302129E18, - null, - "xy࿑M[oc셒竓Ⓔx?뜓y䊦>-D켍(&&?XKkc꩖ﺸᏋ뵞K伕6ী)딀P朁yW揙?훻魢傎EG碸9類៌g踲C⟌aEX舲:z꒸许", - 3808159498143417627, - null, - {"m試\u20df1{G8&뚈h홯J<\/": { - "3ஸ厠zs#1K7:rᥞoꅔꯧ&띇鵼鞫6跜#赿5l'8{7㕳(b/j\"厢aq籀ꏚ\u0015厼稥": [ - -2226135764510113982, - true, - null, - { - "h%'맞S싅Hs&dl슾W0j鿏MםD놯L~S-㇡R쭬%": null, - "⟓咔謡칲\u0000孺ꛭx旑檉㶆?": null, - "恇I転;￸B2Y`z\\獓w,놏濐撐埵䂄)!䶢D=ഭ㴟jyY": { - "$ࡘt厛毣ൢI芁<겿骫⫦6tr惺a": [ - 6.385779736989334E-20, - false, - true, - true, - [ - -6.891946211462334E-19, - null, - { - "]-\\Ꟑ1/薓❧Ὂ\\l牑\u0007A郃)阜ᇒᓌ-塯`W峬G}SDb㬨Q臉⮻빌O鞟톴첂B㺱<ƈmu챑J㴹㷳픷Oㆩs": { - "\"◉B\"pᶉt骔J꩸ᄇᛐi╰栛K쉷㉯鐩!㈐n칍䟅難>盥y铿e୔蒏M貹ヅ8嘋퀯䉶ጥ㏢殊뻳\"絧╿ꉑ䠥?∃蓊{}㣣Gk긔H1哵峱": false, - "6.瀫cN䇮F㧺?\\椯=ڈT䘆4␘8qv": -3.5687501019676885E-19, - "Q?yऴr혴{஀䳘p惭f1ﹸ䅷䕋贲<ྃᄊ繲hq\\b|#QSTs1c-7(䵢\u2069匏絘ꯉ:l毴汞t戀oෟᵶ뮱፣-醇Jx䙬䐁햢0࣫ᡁgrㄛ": "\u0011_xM/蘇Chv;dhA5.嗀绱V爤ﰦi뵲M", - "⏑[\"ugoy^儣횎~U\\섯겜論l2jw஌yD腅̂\u0019": true, - "ⵯɇ䐲᫿࢚!㯢l샅笶戮1꣖0Xe": null, - "劅f넀識b宁焊E찓橵G!ʱ獓뭔雩괛": [{"p⹣켙[q>燣䍃㞽ᩲx:쓤삘7玑퇼0<\/q璂ᑁ[Z\\3䅵䧳\u0011㤧|妱緒C['췓Yꞟ3Z鳱雼P錻BU씧U`ᢶg蓱>.1ӧ譫'L_5V䏵Ц": [ - false, - false, - {"22䂍盥N霂얢躰e9⑩_뵜斌n@B}$괻Yᐱ@䧋V\"☒-諯cV돯ʠ": true, - "Ű螧ᔼ檍鍎땒딜qꄃH뜣<獧ूCY吓⸏>XQ㵡趌o끬k픀빯a(ܵ甏끆୯/6Nᪧ}搚ᆚ짌P牰泱鈷^d꣟#L삀\"㕹襻;k㸊\\f+": true, - "쎣\",|⫝̸阊x庿k잣v庅$鈏괎炔k쬪O_": [ - "잩AzZGz3v愠ꉈⵎ?㊱}S尳௏p\r2>췝IP䘈M)w|\u000eE", - -9222726055990423201, - null, - [ - false, - {"´킮'뮤쯽Wx讐V,6ᩪ1紲aႈ\u205czD": [ - -930994432421097536, - 3157232031581030121, - "l貚PY䃛5@䭄귻m㎮琸f": 1.0318894506812084E-19, - "࢜⩢Ш䧔1肽씮+༎ᣰ闺馺窃䕨8Mƶq腽xc(៯夐J5굄䕁Qj_훨/~価.䢵慯틠퇱豠㼇Qﵘ$DuSp(8Uญ<\/ಟ룴𥳐ݩ$": 8350772684161555590, - "ㆎQ䄾\u001bpᩭ${[諟^^骴᤮b^ㅥI┧T㉇⾞\"绦r䰂f矩'-7䡭桥Dz兔V9谶居㺍ᔊ䩯덲.\u001eL0ὅㅷ釣": [{ - "<쯬J卷^숞u࠯䌗艞R9닪g㐾볎a䂈歖意:%鐔|ﵤ|y}>;2,覂⶚啵tb*仛8乒㓶B࿠㯉戩oX 貘5V嗆렽낁߼4h䧛ꍺM空\\b꿋貼": 8478577078537189402, - "VD*|吝z~h譺aᯒ": { - "YI췢K<\/濳xNne玗rJo쾘3핰鴊\"↱AR:ࢷ\"9?\"臁說)?誚ꊏe)_D翾W?&F6J@뺾ꍰNZ醊Z쾈വH嶿?炫㷱鬰M겈᭨b,⻁鈵P䕡䀠८ⱄ홎鄣": { - "@?k2鶖㋮\"Oರ K㨇廪儲\u0017䍾J?);\b*묀㗠섳햭1MC V": null, - "UIICP!BUA`ᢈ㋸~袩㗪⾒=fB﮴l1ꡛ죘R辂여ҳ7쮡<䩲`熕8頁": 4481809488267626463, - "Y?+8먙ᚔ鋳蜩럶1㥔y璜౩`": [ - null, - 1.2850335807501874E-19, - "~V2", - 2035406654801997866, - { - "<숻1>\"": -8062468865199390827, - "M㿣E]}qwG莎Gn᝶(ꔙ\\D⬲iꇲs寢t駇S뀡ꢜ": false, - "pꝤ㎏9W%>M;-U璏f(^j1?&RB隧 忓b똊E": "#G?C8.躬ꥯ'?냪#< 渟&헿란zpo왓Kj}鷧XﻘMツb䕖;㪻", - "vE풤幉xz뱕쫥Ug㦲aH} ᣟp:鬼YᰟH3镔ᴚ斦\\鏑r*2橱G⼔F/.j": true, - "RK좬뎂a홠f*f㱉ᮍ⦋潙㨋Gu곌SGI3I뿐\\F',)t`荁蘯囯ﮉ裲뇟쥼_ገ驪▵撏ᕤV": 1.52738225997956557E18, - "^k굲䪿꠹B逤%F㱢漥O披M㽯镞竇霒i꼂焅륓\u00059=皫之눃\u2047娤閍銤唫ၕb<\/w踲䔼u솆맚,䝒ᝳ'/it": "B餹饴is権ꖪ怯ꦂẉဎt\"!凢谵⧿0\\<=(uL䷍刨쑪>俆揓Cy襸Q힆䆭涷<\/ᐱ0ɧ䗾䚹\\ኜ?ꄢᇘ`䴢{囇}᠈䴥X4퓪檄]ꥷ/3謒ሴn+g騍X", - "GgG꽬[(嫓몍6\u0004궍宩㙻/>\u0011^辍dT腪hxǑ%ꊇk,8(W⧂結P鬜O": [{ - "M㴾c>\\ᓲ\u0019V{>ꤩ혙넪㭪躂TS-痴໸闓⍵/徯O.M㏥ʷD囎⧔쁳휤T??鉬뇙=#ꢫ숣BX䭼<\/d똬졬g榿)eꨋﯪ좇첻\u001a\u0011\";~쓆BH4坋攊7힪", - "iT:L闞椕윚*滛gI≀Wਟඊ'ꢆ縺뱹鮚Nꩁ᧬蕼21줧\\䋯``⍐\\㏱鳨": 1927052677739832894, - "쮁缦腃g]礿Y㬙 fヺSɪ꾾N㞈": [ - null, - null, - { - "!t,灝Y 1䗉罵?c饃호䉂Cᐭ쒘z(즽sZG㬣sഖE4뢜㓕䏞丮Qp簍6EZឪ겛fx'ꩱQ0罣i{k锩*㤴㯞r迎jTⲤ渔m炅肳": [ - -3.3325685522591933E18, - [{"㓁5]A䢕1룥BC?Ꙍ`r룔Ⳛ䙡u伲+\u0001്o": [ - null, - 4975309147809803991, - null, - null, - {"T팘8Dﯲ稟MM☻㧚䥧/8ﻥ⥯aXLaH\"顾S☟耲ît7fS෉놁뮔/ꕼ䓈쁺4\\霶䠴ᩢ<\/t4?죵>uD5➶༆쉌럮⢀秙䘥\u20972ETR3濡恆vB? ~鸆\u0005": { - "`閖m璝㥉b뜴?Wf;?DV콜\u2020퍉౓擝宏ZMj3mJ먡-傷뱙yח㸷꥿ ໘u=M읝!5吭L4v\\?ǎ7C홫": null, - "|": false, - "~Ztᛋ䚘\\擭㗝傪W陖+㗶qᵿ蘥ᙄp%䫎)}=⠔6ᮢS湟-螾-mXH?cp": 448751162044282216, - "\u209fad놹j檋䇌ᶾ梕㉝bוּ": {"?苴ꩠD䋓帘5騱qﱖPF?☸珗顒yU ᡫcb䫎 S@㥚gꮒ쎘泴멖\\:I鮱TZ듒ᶨQ3+f7캙\"?\f풾\\o杞紟﻽M.⏎靑OP": [ - -2.6990368911551596E18, - [{"䒖@<᰿<\/⽬tTr腞&G%᳊秩蜰擻f㎳?S㵧\r*k뎾-乢겹隷j軛겷0룁鮁": {")DO0腦:춍逿:1㥨่!蛍樋2": [{ - ",ꌣf侴笾m๫ꆽ?1?U?\u0011ꌈꂇ": { - "x捗甠nVq䅦w`CD⦂惺嘴0I#vỵ} \\귂S끴D얾?Ԓj溯\"v餄a": { - "@翙c⢃趚痋i\u0015OQ⍝lq돆Y0pࢥ3쉨䜩^<8g懥0w)]䊑n洺o5쭝QL댊랖L镈Qnt⪟㒅십q헎鳒⮤眉ᔹ梠@O縠u泌ㄘb榚癸XޔFtj;iC": false, - "I&뱋゘|蓔䔕측瓯%6ᗻHW\\N1貇#?僐ᗜgh᭪o'䗈꽹Rc욏/蔳迄༝!0邔䨷푪8疩)[쭶緄㇈୧ፐ": { - "B+:ꉰ`s쾭)빼C羍A䫊pMgjdx䐝Hf9᥸W0!C樃'蘿f䫤סи\u0017Jve? 覝f둀⬣퓉Whk\"஼=չﳐ皆笁BIW虨쫓F廰饞": -642906201042308791, - "sb,XcZ<\/m㉹ ;䑷@c䵀s奤⬷7`ꘖ蕘戚?Feb#輜}p4nH⬮eKL트}": [ - "RK鳗z=袤Pf|[,u욺", - "Ẏᏻ罯뉋⺖锅젯㷻{H䰞쬙-쩓D]~\u0013O㳢gb@揶蔉|kᦂ❗!\u001ebM褐sca쨜襒y⺉룓", - null, - null, - true, - -1.650777344339075E-19, - false, - "☑lꄆs힨꤇]'uTന⌳농].1⋔괁沰\"IWഩ\u0019氜8쟇䔻;3衲恋,窌z펏喁횗?4?C넁问?ᥙ橭{稻Ⴗ_썔", - "n?]讇빽嗁}1孅9#ꭨ靶v\u0014喈)vw祔}룼쮿I", - -2.7033457331882025E18, - { - ";⚃^㱋x:饬ኡj'꧵T☽O㔬RO婎?향ᒭ搩$渣y4i;(Q>꿘e8q": "j~錘}0g;L萺*;ᕭꄮ0l潛烢5H▄쳂ꏒוֹꙶT犘≫x閦웧v", - "~揯\u2018c4職렁E~ᑅቚꈂ?nq뎤.:慹`F햘+%鉎O瀜쟏敛菮⍌浢<\/㮺紿P鳆ࠉ8I-o?#jﮨ7v3Dt赻J9": null, - "ࣝW䌈0ꍎqC逖,횅c၃swj;jJS櫍5槗OaB>D踾Y": {"㒰䵝F%?59.㍈cᕨ흕틎ḏ㋩B=9IېⓌ{:9.yw}呰ㆮ肒᎒tI㾴62\"ዃ抡C﹬B<\/촋jo朣", - [ - -7675533242647793366, - {"ᙧ呃:[㒺쳀쌡쏂H稈㢤\u001dᶗGG-{GHྻຊꡃ哸䵬;$?&d\\⥬こN圴됤挨-'ꕮ$PU%?冕눖i魁q騎Q": [ - false, - [[ - 7929823049157504248, - [[ - true, - "Z菙\u0017'eꕤ᱕l,0\\X\u001c[=雿8蠬L<\/낲긯W99g톉4ퟋb㝺\u0007劁'!麕Q궈oW:@X၎z蘻m絙璩귓죉+3柚怫tS捇蒣䝠-擶D[0=퉿8)q0ٟ", - "唉\nFA椭穒巯\\䥴䅺鿤S#b迅獘 ﶗ꬘\\?q1qN犠pX꜅^䤊⛤㢌[⬛휖岺q唻ⳡ틍\"㙙Eh@oA賑㗠y必Nꊑᗘ", - -2154220236962890773, - -3.2442003245397908E18, - "Wᄿ筠:瘫퀩?o貸q⊻(᎞KWf宛尨h^残3[U(='橄", - -7857990034281549164, - 1.44283696979059942E18, - null, - {"ꫯAw跭喀 ?_9\"Aty背F=9缉ྦྷ@;?^鞀w:uN㘢Rỏ": [ - 7.393662029337442E15, - 3564680942654233068, - [ - false, - -5253931502642112194, - "煉\\辎ೆ罍5⒭1䪁䃑s䎢:[e5}峳ﴱn騎3?腳Hyꏃ膼N潭錖,Yᝋ˜YAၓ㬠bG렣䰣:", - true, - null, - { - "⒛'P&%죮|:⫶춞": -3818336746965687085, - "钖m<\/0ݎMtF2Pk=瓰୮洽겎.": [[ - -8757574841556350607, - -3045234949333270161, - null, - { - "Ꮬr輳>⫇9hU##w@귪A\\C 鋺㘓ꖐ梒뒬묹㹻+郸嬏윤'+g<\/碴,}ꙫ>손;情d齆J䬁ຩ撛챝탹/R澡7剌tꤼ?ặ!`⏲睤\u00002똥଴⟏": null, - "\u20f2ܹe\\tAꥍư\\x当뿖렉禛;G檳ﯪS૰3~㘠#[J<}{奲 5箉⨔{놁<\/釿抋,嚠/曳m&WaOvT赋皺璑텁": [[ - false, - null, - true, - -5.7131445659795661E18, - "萭m䓪D5|3婁ఞ>蠇晼6nﴺPp禽羱DS<睓닫屚삏姿", - true, - [ - -8759747687917306831, - { - ">ⓛ\t,odKr{䘠?b퓸C嶈=DyEᙬ@ᴔ쨺芛髿UT퓻春<\/yꏸ>豚W釺N뜨^?꽴﨟5殺ᗃ翐%>퍂ဿ䄸沂Ea;A_\u0005閹殀W+窊?Ꭼd\u0013P汴G5썓揘": 4.342729067882445E-18, - "Q^즾眆@AN\u0011Kb榰냎Y#䝀ꀒᳺ'q暇睵s\"!3#I⊆畼寤@HxJ9": false, - "⿾D[)袨㇩i]웪䀤ᛰMvR<蟏㣨": {"v퇓L㪱ꖣ豛톤\\곱#kDTN": [{ - "(쾴䡣,寴ph(C\"㳶w\"憳2s馆E!n!&柄<\/0Pꈗſ?㿳Qd鵔": {"娇堰孹L錮h嵅⛤躏顒?CglN束+쨣ﺜ\\MrH": {"獞䎇둃ቲ弭팭^ꄞ踦涟XK錆쳞ឌ`;੶S炥騞ଋ褂B៎{ڒ䭷ᶼ靜pI荗虶K$": [{"◖S~躘蒉꫿輜譝Q㽙闐@ᢗ¥E榁iء5┄^B[絮跉ᰥ遙PWi3wㄾⵀDJ9!w㞣ᄎ{듒ꓓb6\\篴??c⼰鶹⟧\\鮇ꮇ": [[ - 654120831325413520, - -1.9562073916357608E-19, - { - "DC(昐衵ἡ긙갵姭|֛[t": 7.6979110359897907E18, - "J␅))嫼❳9Xfd飉j7猬ᩉ+⤻眗벎E鰉Zᄊ63zၝ69}ZᶐL崭ᦥ⡦靚⋛ꎨ~i㨃咊ꧭo䰠阀3C(": -3.5844809362512589E17, - "p꣑팱쒬ꎑ뛡Ꙩ挴恍胔&7ᔈ묒4Hd硶훐㎖zꢼ豍㿢aሃ=<\/湉鵲EӅ%$F!퍶棌孼{O駍਺geu+": ")\u001b잓kŀX쩫A밁®ڣ癦狢)扔弒p}k縕ꩋ,䃉tࣼi", - "ァF肿輸<솄G-䢹䛸ꊏl`Tqꕗ蒞a氷⸅ᴉ蠰]S/{J왲m5{9.uέ~㕚㣹u>x8U讁B덺襪盎QhVS맅킃i识{벂磄Iහ䙅xZy/抍૭Z鲁-霳V据挦ℒ": null, - "㯛|Nꐸb7ⵐb?拠O\u0014ކ?-(EꞨ4ꕷᄤYᯕOW瞺~螸\"욿ќe㺰\"'㌢ƐW\u0004瞕>0?V鷵엳": true, - "뤥G\\迋䠿[庩'꼡\u001aiᩮV쯁ᳪ䦪Ô;倱ନ뛁誈": null, - "쥹䄆䚟Q榁䎐᢭<\/2㕣p}HW蟔|䃏꿈ꚉ锳2Pb7㙑Tⅹᵅ": { - "Y?֭$>#cVBꩨ:>eL蒁務": { - "86柡0po 䏚&-捑Ћ祌<\/휃-G*㶢הּ쩍s㶟餇c걺yu꽎還5*턧簕Og婥SꝐ": null, - "a+葞h٥ࠆ裈嗫ﵢ5輙퀟ᛜ,QDﹼ⟶Y騠锪E_|x죗j侵;m蜫轘趥?븅w5+mi콛L": { - ";⯭ﱢ!买F⽍柤鶂n䵣V㫚墱2렾ELEl⣆": [ - true, - -3.6479311868339015E-18, - -7270785619461995400, - 3.334081886177621E18, - 2.581457786298155E18, - -6.605252412954115E-20, - -3.9232347037744167E-20, - { - "B6㊕.k1": null, - "ZAꄮJ鮷ᳱo갘硥鈠䠒츼": { - "ᕅ}럡}.@y陪鶁r業'援퀉x䉴ﵴl퍘):씭脴ᥞhiꃰblﲂ䡲엕8߇M㶭0燋標挝-?PCwe⾕J碻Ᾱ䬈䈥뷰憵賣뵓痬+": {"a췩v礗X⋈耓ፊf罅靮!㔽YYᣓw澍33⎔芲F|\"䜏T↮輦挑6ᓘL侘?ᅥ]덆1R௯✎餘6ꏽ<\/௨\\?q喷ꁫj~@ulq": {"嗫欆뾔Xꆹ4H㌋F嵧]ࠎ]㠖1ꞤT<$m뫏O i댳0䲝i": {"?෩?\u20cd슮|ꯆjs{?d7?eNs⢚嫥氂䡮쎱:鑵롟2hJꎒﯭ鱢3춲亄:뼣v䊭諱Yj択cVmR䩃㘬T\"N홝*ै%x^F\\_s9보zz4淗?q": [ - null, - "?", - 2941869570821073737, - "{5{殇0䝾g6밖퍋臩綹R$䖭j紋釰7sXI繳漪행y", - false, - "aH磂?뛡#惇d婅?Fe,쐘+늵䍘\"3r瘆唊勐j⳧࠴ꇓ<\/唕윈x⬌讣䋵%拗ᛆⰿ妴᝔M2㳗必꧂淲?ゥ젯檢<8끒MidX䏒3᳻Q▮佐UT|⤪봦靏⊏", - [[{ - "颉(&뜸귙{y^\"P퟉춝Ჟ䮭D顡9=?}Y誱<$b뱣RvO8cH煉@tk~4ǂ⤧⩝屋SS;J{vV#剤餓ᯅc?#a6D,s": [ - -7.8781018564821536E16, - true, - [ - -2.28770899315832371E18, - false, - -1.0863912140143876E-20, - -6282721572097446995, - 6767121921199223078, - -2545487755405567831, - false, - null, - -9065970397975641765, - [ - -5.928721243413937E-20, - {"6촊\u001a홯kB0w撨燠룉{绎6⳹!턍贑y▾鱧ժ[;7ᨷ∀*땒䪮1x霆Hᩭ☔\"r䝐7毟ᝰr惃3ꉭE+>僒澐": [ - "Ta쎩aƝt쵯ⰪVb", - [ - -5222472249213580702, - null, - -2851641861541559595, - null, - 4808804630502809099, - 5657671602244269874, - "5犲﨣4mᥣ?yf젫꾯|䋬잁$`Iⳉﴷ扳兝,'c", - false, - [ - null, - { - "DyUIN쎾M仼惀⮥裎岶泭lh扠\u001e礼.tEC癯튻@_Qd4c5S熯A<\/\6U윲蹴Q=%푫汹\\\u20614b[௒C⒥Xe⊇囙b,服3ss땊뢍i~逇PA쇸1": -2.63273619193485312E17, - "Mq꺋貘k휕=nK硍뫞輩>㾆~἞ࡹ긐榵l⋙Hw뮢帋M엳뢯v⅃^": 1877913476688465125, - "ᶴ뻗`~筗免⚽টW˃⽝b犳䓺Iz篤p;乨A\u20ef쩏?疊m㝀컩뫡b탔鄃ᾈV(遢珳=뎲ିeF仢䆡谨8t0醄7㭧瘵⻰컆r厡궥d)a阄፷Ed&c﯄伮1p": null, - "⯁w4曢\"(欷輡": "\"M᭫]䣒頳B\\燧ࠃN㡇j姈g⊸⺌忉ꡥF矉স%^", - "㣡Oᄦ昵⫮Y祎S쐐級㭻撥>{I$": -378474210562741663, - "䛒掷留Q%쓗1*1J*끓헩ᦢ﫫哉쩧EↅIcꅡ\\?ⴊl귛顮4": false, - "寔愆샠5]䗄IH贈=d﯊/偶?ॊn%晥D視N򗘈'᫂⚦|X쵩넽z질tskxDQ莮Aoﱻ뛓": true, - "钣xp?&\u001e侉/y䴼~?U篔蘚缣/I畚?Q绊": -3034854258736382234, - "꺲໣眀)⿷J暘pИfAV삕쳭Nꯗ4々'唄ⶑ伻㷯騑倭D*Ok꧁3b␽_<\/챣Xm톰ၕ䆄`*fl㭀暮滠毡?": [ - "D男p`V뙸擨忝븪9c麺`淂⢦Yw⡢+kzܖ\fY1䬡H歁)벾Z♤溊-혰셢?1<-\u0005;搢Tᐁle\\ᛵߓﭩ榩訝-xJ;巡8깊蠝ﻓU$K": { - "Vꕡ諅搓W=斸s︪vﲜ츧$)iꡟ싉e寳?ጭムVથ嵬i楝Fg<\/Z|៪ꩆ-5'@ꃱ80!燱R쇤t糳]罛逇dṌ֣XHiͦ{": true, - "Ya矲C멗Q9膲墅携휻c\\딶G甔<\/.齵휴": -1.1456247877031811E-19, - "z#.OO￝J": -8263224695871959017, - "崍_3夼ᮟ1F븍뽯ᦓ鴭V豈Ь": [{ - "N蒬74": null, - "yuB?厅vK笗!ᔸcXQ旦컶P-녫mᄉ麟_": "1R@ 톘xa_|﩯遘s槞d!d껀筤⬫薐焵먑D{\\6k共倌☀G~AS_D\"딟쬚뮥馲렓쓠攥WTMܭ8nX㩴䕅檹E\u0007ﭨN 2 ℆涐ꥏ꠵3▙玽|됨_\u2048", - "恐A C䧩G": {":M큣5e들\\ꍀ恼ᔄ靸|I﨏$)n": { - "|U䬫㟯SKV6ꛤ㗮\bn봻䲄fXT:㾯쳤'笓0b/ೢC쳖?2浓uO.䰴": "ཐ꼋e?``,ᚇ慐^8ꜙNM䂱\u0001IᖙꝧM'vKdꌊH牮r\\O@䊷ᓵ쀆(fy聻i툺\"?<\/峧ࣞ⓺ᤤ쵒߯ꎺ騬?)刦\u2072l慪y꺜ﲖTj+u", - "뽫hh䈵w>1ⲏ쐭V[ⅎ\\헑벑F_㖝⠗㫇h恽;῝汰ᱼ瀖J옆9RR셏vsZ柺鶶툤r뢱橾/ꉇ囦FGm\"謗ꉦ⨶쒿⥡%]鵩#ᖣ_蹎 u5|祥?O", - null, - 2.0150326776036215E-19, - null, - true, - false, - true, - {"\fa᭶P捤WWc᠟f뚉ᬏ퓗ⳀW睹5:HXH=q7x찙X$)모r뚥ᆟ!Jﳸf": [ - -2995806398034583407, - [ - 6441377066589744683, - "Mﶒ醹i)Gἦ廃s6몞 KJ౹礎VZ螺费힀\u0000冺업{谥'꡾뱻:.ꘘ굄奉攼Di᷑K鶲y繈욊阓v㻘}枭캗e矮1c?휐\"4\u0005厑莔뀾墓낝⽴洗ṹ䇃糞@b1\u0016즽Y轹", - { - "1⽕⌰鉟픏M㤭n⧴ỼD#%鐘⊯쿼稁븣몐紧ᅇ㓕ᛖcw嬀~ഌ㖓(0r⧦Q䑕髍ര铂㓻R儮\"@ꇱm❈௿᦯頌8}㿹犴?xn잆꥽R": 2.07321075750427366E18, - "˳b18㗈䃟柵Z曆VTAu7+㛂cb0﯑Wp執<\/臋뭡뚋刼틮荋벲TLP预庰܈G\\O@VD'鱃#乖끺*鑪ꬳ?Mޞdﭹ{␇圯쇜㼞顄︖Y홡g": [{ - "0a,FZ": true, - "2z̬蝣ꧦ驸\u0006L↛Ḣ4๚뿀'?lcwᄧ㐮!蓚䃦-|7.飑挴.樵*+1ﮊ\u0010ꛌ%貨啺/JdM:똍!FBe?鰴㨗0O财I藻ʔWA᫓G쳛u`<\/I": [{ - "$τ5V鴐a뾆両環iZp頻යn븃v": -4869131188151215571, - "*즢[⦃b礞R◚nΰꕢH=귰燙[yc誘g䆌?ଜ臛": { - "洤湌鲒)⟻\\䥳va}PeAMnN[": "㐳ɪ/(軆lZR,Cp殍ȮN啷\"3B婴?i=r$펽ᤐ쀸", - "阄R4㒿㯔ڀ69ZᲦ2癁핌噗P崜#\\-쭍袛&鐑/$4童V꩑_ZHA澢fZ3": {"x;P{긳:G閉:9?活H": [ - "繺漮6?z犞焃슳\">ỏ[Ⳛ䌜녏䂹>聵⼶煜Y桥[泥뚩MvK$4jtロ", - "E#갶霠좭㦻ୗ먵F+䪀o蝒ba쮎4X㣵 h", - -335836610224228782, - null, - null, - [ - "r1᫩0>danjY짿bs{", - [ - -9.594464059325631E-23, - 1.0456894622831624E-20, - null, - 5.803973284253454E-20, - -8141787905188892123, - true, - -4735305442504973382, - 9.513150514479281E-20, - "7넳$螔忷㶪}䪪l짴\u0007鹁P鰚HF銏ZJﳴ/⍎1ᷓ忉睇ᜋ쓈x뵠m䷐窥Ꮤ^\u0019ᶌ偭#ヂt☆၃pᎍ臶䟱5$䰵&๵分숝]䝈뉍♂坎\u0011<>", - "C蒑貑藁lﰰ}X喇몛;t밿O7/᯹f\u0015kI嘦<ዴ㟮ᗎZ`GWퟩ瑹࡮ᅴB꿊칈??R校s脚", - { - "9珵戬+AU^洘拻ቒy柭床'粙XG鞕᠜繀伪%]hC,$輙?Ut乖Qm떚W8઼}~q⠪rU䤶CQ痗ig@#≲t샌f㈥酧l;y闥ZH斦e⸬]j⸗?ঢ拻퀆滌": null, - "畯}㧢J罚帐VX㨑>1ꢶkT⿄蘥㝑o|<嗸層沈挄GEOM@-䞚䧰$만峬輏䠱V✩5宸-揂D'㗪yP掶7b⠟J㕻SfP?d}v㼂Ꮕ'猘": { - "陓y잀v>╪": null, - "鬿L+7:됑Y=焠U;킻䯌잫!韎ஔ\f": { - "駫WmGጶ": { - "\\~m6狩K": -2586304199791962143, - "ႜࠀ%͑l⿅D.瑢Dk%0紪dḨTI픸%뗜☓s榗኉\"?V籄7w髄♲쟗翛歂E䤓皹t ?)ᄟ鬲鐜6C": { - "_췤a圷1\u000eB-XOy缿請∎$`쳌eZ~杁튻/蜞`塣৙\"⪰\"沒l}蕌\\롃荫氌.望wZ|o!)Hn獝qg}": null, - "kOSܧ䖨钨:಼鉝ꭝO醧S`십`ꓭ쭁ﯢN&Et㺪馻㍢ⅳ㢺崡ຊ蜚锫\\%ahx켨|ż劻ꎄ㢄쐟A躊᰹p譞綨Ir쿯\u0016ﵚOd럂*僨郀N*b㕷63z": { - ":L5r+T㡲": [{ - "VK泓돲ᮙRy㓤➙Ⱗ38oi}LJቨ7Ó㹡৘*q)1豢⛃e᫛뙪壥镇枝7G藯g㨛oI䄽 孂L缊ꋕ'EN`": -2148138481412096818, - "`⛝ᘑ$(खꊲ⤖ᄁꤒ䦦3=)]Y㢌跨NĴ驳줟秠++d孳>8ᎊ떩EꡣSv룃 쯫أ?#E|᭙㎐?zv:5祉^⋑V": [ - -1.4691944435285607E-19, - 3.4128661569395795E17, - "㐃촗^G9佭龶n募8R厞eEw⺡_ㆱ%⼨D뉄퉠2ꩵᛅⳍ搿L팹Lවn=\"慉념ᛮy>!`g!풲晴[/;?[v겁軇}⤳⤁핏∌T㽲R홓遉㓥", - "愰_⮹T䓒妒閤둥?0aB@㈧g焻-#~跬x<\/舁P݄ꐡ=\\׳P\u0015jᳪᢁq;㯏l%᭗;砢觨▝,謁ꍰGy?躤O黩퍋Y㒝a擯\n7覌똟_䔡]fJ晋IAS", - 4367930106786121250, - -4.9421193149720582E17, - null, - { - ";ᄌ똾柉곟ⰺKpፇ䱻ฺ䖝{o~h!eꁿ઻욄ښ\u0002y?xUd\u207c悜ꌭ": [ - 1.6010824122815255E-19, - [ - "宨︩9앉檥pr쇷?WxLb", - "氇9】J玚\u000f옛呲~ 輠1D嬛,*mW3?n휂糊γ虻*ᴫ꾠?q凐趗Ko↦GT铮", - "㶢ថmO㍔k'诔栀Z蛟}GZ钹D", - false, - -6.366995517736813E-20, - -4894479530745302899, - null, - "V%᫡II璅䅛䓎풹ﱢ/pU9se되뛞x梔~C)䨧䩻蜺(g㘚R?/Ự[忓C뾠ࢤc왈邠买?嫥挤풜隊枕", - ",v碍喔㌲쟚蔚톬៓ꭶ", - 3.9625444752577524E-19, - null, - [ - "kO8란뿒䱕馔b臻⍟隨\"㜮鲣Yq5m퐔K#ꢘug㼈ᝦ=P^6탲@䧔%$CqSw铜랊0&m⟭<\/a逎ym\u0013vᯗ": true, - "洫`|XN뤮\u0018詞=紩鴘_sX)㯅鿻Ố싹": 7.168252736947373E-20, - "ꛊ饤ﴏ袁(逊+~⽫얢鈮艬O힉7D筗S곯w操I斞᠈븘蓷x": [[[[ - -7.3136069426336952E18, - -2.13572396712722688E18, - { - "硢3㇩R:o칢行E<=\u0018ၬYuH!\u00044U%卝炼2>\u001eSi$⓷ꒈ'렢gᙫ番ꯒ㛹럥嶀澈v;葷鄕x蓎\\惩+稘UEᖸﳊ㊈壋N嫿⏾挎,袯苷ኢ\\x|3c": 7540762493381776411, - "?!*^ᢏ窯?\u0001ڔꙃw虜돳FgJ?&⨫*uo籤:?}ꃹ=ٴ惨瓜Z媊@ત戹㔏똩Ԛ耦Wt轁\\枒^\\ꩵ}}}ꀣD\\]6M_⌫)H豣:36섘㑜": { - ";홗ᰰU஋㙛`D왔ཿЃS회爁\u001b-㢈`봆?盂㛣듿ᦾ蒽_AD~EEຆ㊋(eNwk=Rɠ峭q\"5Ἠ婾^>'ls\n8QAK)- Q䲌mo펹L_칍樖庫9꩝쪹ᘹ䑖瀍aK ?*趤f뭓廝p=磕", - "哑z懅ᤏ-ꍹux쀭", - [ - true, - 3998739591332339511, - "ጻ㙙?᳸aK<\/囩U`B3袗ﱱ?\"/k鏔䍧2l@쿎VZ쨎/6ꃭ脥|B?31+on颼-ꮧ,O嫚m ࡭`KH葦:粘i]aSU쓙$쐂f+詛頖b", - [{"^<9<箝&絡;%i﫡2攑紴\\켉h쓙-柂䚝ven\u20f7浯-Ꮏ\r^훁䓚헬\u000e?\\ㅡֺJ떷VOt": [{ - "-௄卶k㘆혐஽y⎱㢬sS઄+^瞥h;ᾷj;抭\u0003밫f<\/5Ⱗ裏_朻%*[-撵䷮彈-芈": { - "㩩p3篊G|宮hz䑊o곥j^Co0": [ - 653239109285256503, - {"궲?|\":N1ۿ氃NZ#깩:쇡o8킗ࡊ[\"됸Po핇1(6鰏$膓}⽐*)渽J'DN<썙긘毦끲Ys칖": { - "2Pr?Xjㆠ?搮/?㓦柖馃5뚣Nᦼ|铢r衴㩖\"甝湗ܝ憍": "\"뾯i띇筝牻$珲/4ka $匝휴译zbAᩁꇸ瑅&뵲衯ꎀᆿ7@ꈋ'ᶨH@ᠴl+", - "7뢽뚐v?4^ꊥ_⪛.>pởr渲<\/⢕疻c\"g䇘vU剺dஔ鮥꒚(dv祴X⼹\\a8y5坆": true, - "o뼄B욞羁hr﷔폘뒚⿛U5pꪴfg!6\\\"爑쏍䢱W<ﶕ\\텣珇oI/BK뺡'谑♟[Ut븷亮g(\"t⡎有?ꬊ躺翁艩nl F⤿蠜": 1695826030502619742, - "ۊ깖>ࡹ햹^ⵕ쌾BnN〳2C䌕tʬ]찠?ݾ2饺蹳ぶꌭ訍\"◹ᬁD鯎4e滨T輀ﵣ੃3\u20f3킙D瘮g\\擦+泙ၧ 鬹ﯨַ肋7놷郟lP冝{ߒhড়r5,꓋": null, - "ΉN$y{}2\\N﹯ⱙK'8ɜͣwt,.钟廣䎘ꆚk媄_": null, - "䎥eᾆᝦ읉,Jުn岪㥐s搖謽䚔5t㯏㰳㱊ZhD䃭f絕s鋡篟a`Q鬃┦鸳n_靂(E4迠_觅뷝_宪D(NL疶hL追V熑%]v肫=惂!㇫5⬒\u001f喺4랪옑": { - "2a輍85먙R㮧㚪Sm}E2yꆣꫨrRym㐱膶ᔨ\\t綾A☰.焄뙗9<쫷챻䒵셴᭛䮜.<\/慌꽒9叻Ok䰊Z㥪幸k": [ - null, - true, - {"쌞쐍": { - "▟GL K2i뛱iQ\"̠.옛1X$}涺]靎懠ڦ늷?tf灟ݞゟ{": 1.227740268699265E-19, - "꒶]퓚%ฬK❅": [{ - "(ෛ@Ǯっ䧼䵤[aテൖvEnAdU렖뗈@볓yꈪ,mԴ|꟢캁(而첸죕CX4Y믅": "2⯩㳿ꢚ훀~迯?᪑\\啚;4X\u20c2襏B箹)俣eỻw䇄", - "75༂f詳䅫ꐧ鏿 }3\u20b5'∓䝱虀f菼Iq鈆﨤g퍩)BFa왢d0뮪痮M鋡nw∵謊;ꝧf美箈ḋ*\u001c`퇚퐋䳫$!V#N㹲抗ⱉ珎(V嵟鬒_b㳅\u0019": null, - "e_m@(i㜀3ꦗ䕯䭰Oc+-련0뭦⢹苿蟰ꂏSV䰭勢덥.ྈ爑Vd,ᕥ=퀍)vz뱊ꈊB_6듯\"?{㒲&㵞뵫疝돡믈%Qw限,?\r枮\"? N~癃ruࡗdn&": null, - "㉹&'Pfs䑜공j<\/?|8oc᧨L7\\pXᭁ 9᪘": -2.423073789014103E18, - "䝄瑄䢸穊f盈᥸,B뾧푗횵B1쟢f\u001f凄": "魖⚝2儉j꼂긾껢嗎0ࢇ纬xI4](੓`蕞;픬\fC\"斒\")2櫷I﹥迧", - "ퟯ詔x悝령+T?Bg⥄섅kOeQ큼㻴*{E靼6氿L缋\u001c둌๶-㥂2==-츫I즃㠐Lg踞ꙂEG貨鞠\"\u0014d'.缗gI-lIb䋱ᎂDy缦?": null, - "紝M㦁犿w浴詟棓쵫G:䜁?V2ힽ7N*n&㖊Nd-'ຊ?-樹DIv⊜)g䑜9뉂ㄹ푍阉~ꅐ쵃#R^\u000bB䌎䦾]p.䀳": [{"ϒ爛\"ꄱ︗竒G䃓-ま帳あ.j)qgu扐徣ਁZ鼗A9A鸦甈!k蔁喙:3T%&㠘+,䷞|챽v䚞문H<\/醯r셓㶾\\a볜卺zE䝷_죤ဵ뿰᎟CB": [ - 6233512720017661219, - null, - -1638543730522713294, - false, - -8901187771615024724, - [ - 3891351109509829590, - true, - false, - -1.03836679125188032E18, - { - "j랎:g曞ѕᘼ}链N", - -1.1103819473845426E-19, - true, - [ - true, - null, - -7.9091791735309888E17, - true, - {"}蔰鋈+ꐨ啵0?g*사%`J?*": [{ - "\"2wG?yn,癷BK\\龞䑞x?蠢": -3.7220345009853505E-19, - ";饹়❀)皋`噿焒j(3⿏w>偍5X薙婏聿3aFÆÝ": "2,ꓴg?_섦_>Y쪥션钺;=趘F~?D㨫\bX?㹤+>/믟kᠪ멅쬂Uzỵ]$珧`m雁瑊ඖ鯬cꙉ梢f묛bB", - "♽n$YjKiXX*GO贩鏃豮祴遞K醞眡}ꗨv嵎꼷0୸+M菋eH徸J꣆:⼐悥B켽迚㯃b諂\u000bjꠜ碱逮m8": [ - "푷᣺ﻯd8ﱖ嬇ភH鹎⡱᱅0g:果6$GQ췎{vᷧYy-脕x偹砡館⮸C蓼ꏚ=軄H犠G谖ES詤Z蠂3l봟hᅭ7䦹1GPQG癸숟~[#駥8zQ뛣J소obg,", - null, - 1513751096373485652, - null, - -6.851466660824754E-19, - {"䩂-⴮2ٰK솖풄꾚ႻP앳1H鷛wmR䗂皎칄?醜<\/&ࠧ㬍X濬䵈K`vJ륒Q/IC묛!;$vϑ": { - "@-ꚗxྐྵ@m瘬\u0010U絨ﮌ驐\\켑寛넆T=tQ㭤L연@脸삯e-:⩼u㎳VQ㋱襗ຓ<Ⅶ䌸cML3+\u001e_C)r\\9+Jn\\Pﺔ8蠱檾萅Pq鐳话T䄐I": -1.80683891195530061E18, - "ᷭዻU~ཷsgSJ`᪅'%㖔n5픆桪砳峣3獮枾䌷⊰呀": { - "Ş੉䓰邟自~X耤pl7间懑徛s첦5ਕXexh⬖鎥᐀nNr(J컗|ૃF\"Q겮葲놔엞^겄+㈆话〾희紐G'E?飕1f❼텬悚泬먐U睬훶Qs": false, - "(\u20dag8큽튣>^Y{뤋.袊䂓;_g]S\u202a꽬L;^'#땏bႌ?C緡<䝲䲝断ꏏ6\u001asD7IK5Wxo8\u0006p弊⼂ꯍ扵\u0003`뵂픋%ꄰ⫙됶l囏尛+䗅E쟇\\": [ - true, - { - "\n鱿aK㝡␒㼙2촹f;`쾏qIࡔG}㝷䐍瓰w늮*粅9뒪ㄊCj倡翑閳R渚MiUO~仨䜶RꙀA僈㉋⦋n{㖥0딿벑逦⥻0h薓쯴Ꝼ": [ - 5188716534221998369, - 2579413015347802508, - 9.010794400256652E-21, - -6.5327297761238093E17, - 1.11635352494065523E18, - -6656281618760253655, - { - "": ")?", - "TWKLꑙ裑꺔UE俸塑炌Ũ᜕-o\"徚#": {"M/癟6!oI51ni퐚=댡>xꍨ\u0004 ?": { - "皭": {"⢫䋖>u%w잼<䕏꘍P䋵$魋拝U䮎緧皇Y훂&|羋ꋕ잿cJ䨈跓齳5\u001a삱籷I꿾뤔S8㌷繖_Yឯ䲱B턼O歵F\\l醴o_欬6籏=D": [ - false, - true, - {"Mt|ꏞD|F궣MQ뵕T,띺k+?㍵i": [ - 7828094884540988137, - false, - { - "!༦鯠,&aﳑ>[euJꏽ綷搐B.h": -7648546591767075632, - "-n켧嘰{7挐毄Y,>❏螵煫乌pv醑Q嶚!|⌝責0왾덢ꏅ蛨S\\)竰'舓Q}A釡5#v": 3344849660672723988, - "8閪麁V=鈢1녈幬6棉⪮둌\u207d᚛驉ꛃ'r䆉惏ै|bἧﺢᒙ<=穊强s혧eꮿ慩⌡ \\槳W븧J檀C,ᘉ의0俯퀉M;筷ࣴ瓿{늊埂鄧_4揸Nn阼Jੵ˥(社": true, - "o뼀vw)4A뢵(a䵢)p姃뛸\u000fK#KiQp\u0005ꅍ芅쏅": null, - "砥$ꥸ┇耽u斮Gc{z빔깎밇\\숰\u001e괷各㶇쵿_ᴄ+h穢p촀Ნ䃬z䝁酳ӂ31xꔄ1_砚W렘G#2葊P ": [ - -3709692921720865059, - null, - [ - 6669892810652602379, - -135535375466621127, - "뎴iO}Z? 馢녱稹ᄾ䐩rSt帤넆&7i騏멗畖9誧鄜'w{Ͻ^2窭외b㑎粖i矪ꦨ탪跣)KEㆹ\u0015V8[W?⽉>'kc$䨘ᮛ뉻٬M5", - 1.10439588726055846E18, - false, - -4349729830749729097, - null, - [ - false, - "_蠢㠝^䟪/D녒㡋ỎC䒈판\u0006એq@O펢%;鹐쏌o戥~A[ꡉ濽ỳ&虃᩾荣唙藍茨Ig楡꒻M窓冉?", - true, - 2.17220752996421728E17, - -5079714907315156164, - -9.960375974658589E-20, - "ᾎ戞༒", - true, - false, - [[ - "ⶉᖌX⧕홇)g엃⹪x뚐癟\u0002", - -5185853871623955469, - { - "L㜤9ợㇶK鐰⋓V뽋˖!斫as|9"፬䆪?7胜&n薑~": -2.11545634977136992E17, - "O8뀩D}캖q萂6༣㏗䈓煮吽ਆᎼDᣘ폛;": false, - "YTᡅ^L㗎cbY$pᣞ縿#fh!ꘂb삵玊颟샞ဢ$䁗鼒몁~rkH^:닮먖츸륈⪺쒉砉?㙓扫㆕꣒`R䢱B酂?C뇞<5Iޚ讳騕S瞦z": null, - "\\RB?`mG댵鉡幐物䵎有5*e骄T㌓ᛪ琾駒Ku\u001a[柆jUq8⋈5鿋츿myﻗ?雍ux঴?": 5828963951918205428, - "n0晅:黯 xu씪^퓞cB㎊ᬍ⺘٤փ~B岚3㥕擄vᲂ~F?C䶖@$m~忔S왖㲚?챴⊟W#벌{'㰝I䝠縁s樘\\X뢻9핡I6菍ㄛ8쯶]wॽ0L\"q": null, - "x增줖j⦦t䏢᎙㛿Yf鼘~꫓恄4惊\u209c": "oOhbᤃ᛽z&Bi犑\\3B㩬劇䄑oŁ쨅孥멁ຖacA㖫借㞝vg싰샂㐜#譞⢤@k]鋰嘘䜾L熶塥_<\/⍾屈ﮊ_mY菹t뙺}Ox=w鮮4S1ꐩמּ'巑", - "㗓蟵ꂾe蠅匳(JP䗏෸\u0089耀왲": [{ - "ᤃ㵥韎뤽\r?挥O쯡⇔㞚3伖\u0005P⋪\"D궣QLn(⚘罩䩢Ŏv䤘尗뼤됛O淽鋋闚r崩a{4箙{煷m6〈": { - "l곺1L": { - "T'ਤ?砅|੬Km]䄩\"(࿶<\/6U爢䫈倔郴l2㴱^줣k'L浖L鰄Rp今鎗⒗C얨M훁㡧ΘX粜뫈N꤇輊㌻켑#㮮샶-䍗룲蠝癜㱐V>=\\I尬癤t=": 7648082845323511446, - "鋞EP:<\/_`ၧe混ㇹBd⯢㮂驋\\q碽饩跓྿ᴜ+j箿렏㗑yK毢宸p謹h䦹乕U媣\\炤": [[ - "3", - [ - true, - 3.4058271399411134E-20, - true, - "揀+憱f逮@먻BpW曉\u001a㣐⎊$n劈D枤㡞좾\u001aᛁ苔౩闝1B䷒Ṋ݋➐ꀞꐃ磍$t੤_:蘺⮼(#N", - 697483894874368636, - [ - "vᘯ锴)0訶}䳅⩚0O壱韈ߜ\u0018*U鍾䏖=䧉뽑单휻ID쿇嘗?ꌸῬ07", - -5.4858784319382006E18, - 7.5467775182251151E18, - -8911128589670029195, - -7531052386005780140, - null, - [ - null, - true, - [[{ - "1欯twG<\/Q:0怯押殃탷聫사<ỗꕧ蚨䡁nDꌕ\u001c녬~蓩鲃g儊>ꏡl㻿/⑷*챳6㻜W毤緛ﹺᨪ4\u0013뺚J髬e3쳸䘦伧?恪&{L掾p+꬜M䏊d娘6": { - "2p첼양棜h䜢﮶aQ*c扦v︥뮓kC寵횂S銩&ǝ{O*य़iH`U큅ࡓr䩕5ꄸ?`\\᧫?ᮼ?t〟崾훈k薐ì/iy꤃뵰z1<\/AQ#뿩8jJ1z@u䕥": 1.82135747285215155E18, - "ZdN &=d년ᅆ'쑏ⅉ:烋5&៏ᄂ汎来L㯄固{钧u\\㊏튚e摑&t嗄ꖄUb❌?m䴘熚9EW": [{ - "ଛ{i*a(": -8.0314147546006822E17, - "⫾ꃆY\u000e+W`௸ \"M뒶+\\뷐lKE}(NT킶Yj選篒쁶'jNQ硾(똡\\\"逌ⴍy? IRꜘ὞鄬﨧:M\\f⠋Cꚜ쫊ᚴNV^D䕗ㅖἔIao꿬C⍏8": [ - 287156137829026547, - { - "H丞N逕⯲": {"": { - "7-;枮阕梒9ᑄZ": [[[[ - null, - { - "": [[[[ - -7.365909561486078E-19, - 2948694324944243408, - null, - [ - true, - "荒\"并孷䂡쵼9o䀘F\u0002龬7⮹Wz%厖/*? a*R枈㌦됾g뒠䤈q딄㺿$쮸tᶎ릑弣^鏎<\/Y鷇驜L鿽<\/춋9Mᲆឨ^<\/庲3'l낢", - "c鮦\u001b두\\~?眾ಢu݆綑෪蘛轋◜gȃ<\/ⴃcpkDt誩܅\"Y", - [[ - null, - null, - [ - 3113744396744005402, - true, - "v(y", - { - "AQ幆h쾜O+꺷铀ꛉ練A蚗⼺螔j㌍3꽂楎䥯뎸먩?": null, - "蠗渗iz鱖w]擪E": 1.2927828494783804E-17, - "튷|䀭n*曎b✿~杤U]Gz鄭kW|㴚#㟗ഠ8u擨": [[ - true, - null, - null, - {"⾪壯톽g7?㥜ώQꑐ㦀恃㧽伓\\*᧰閖樧뢇赸N휶䎈pI氇镊maᬠ탷#X?A+kНM ༑᩟؝?5꧎鰜ṚY즫궔 =ঈ;ﳈ?*s|켦蜌wM笙莔": [ - null, - -3808207793125626469, - [ - -469910450345251234, - 7852761921290328872, - -2.7979740127017492E18, - 1.4458504352519893E-20, - true, - "㽙깹?먏䆢:䴎ۻg殠JBTU⇞}ꄹꗣi#I뵣鉍r혯~脀쏃#釯:场:䔁>䰮o'㼽HZ擓௧nd", - [ - 974441101787238751, - null, - -2.1647718292441327E-19, - 1.03602824249831488E18, - [ - null, - 1.0311977941822604E-17, - false, - true, - { - "": -3.7019778830816707E18, - "E峾恆茍6xLIm縂0n2视֯J-ᤜz+ᨣ跐mYD豍繹⹺䊓몓ﴀE(@詮(!Y膽#᎙2䟓섣A䈀㟎,囪QbK插wcG湎ꤧtG엝x⥏俎j'A一ᯥ뛙6ㅑ鬀": 8999803005418087004, - "よ殳\\zD⧅%Y泥簳Uꈩ*wRL{3#3FYHା[d岀䉯T稉駅䞘礄P:闈W怏ElB㤍喬赔bG䠼U଄Nw鰯闀楈ePsDꥷ꭬⊊": [ - 6.77723657904486E-20, - null, - [ - "ཚ_뷎꾑蹝q'㾱ꂓ钚蘞慵렜떆`ⴹ⎼櫯]J?[t9Ⓢ !컶躔I᮸uz>3a㠕i,錃L$氰텰@7녫W㸮?羧W뇧ꃞ,N鋮숪2ɼ콏┍䁲6", - "&y?뢶=킕올Za惻HZk>c\u20b58i?ꦶcfBv잉ET9j䡡", - "im珊Ճb칧校\\뼾쯀", - 9.555715121193197E-20, - true, - { - "<㫚v6腓㨭e1㕔&&V∌ᗈT奄5Lጥ>탤?튣瑦㳆ꉰ!(ᙪ㿬擇_n쌯IMΉ㕨␰櫈ᱷ5풔蟹&L.첽e鰷쯃劼﫭b#ﭶ퓀7뷄Wr㢈๧Tʴશ㶑澕鍍%": -1810142373373748101, - "fg晌o?߲ꗄ;>C>?=鑰監侯Kt굅": true, - "䫡蓺ꑷ]C蒹㦘\"1ః@呫\u0014NL䏾eg呮፳,r$裢k>/\\?ㄤᇰﻛ쉕1஥'Ċ\" \\_?쨔\"ʾr: 9S䘏禺ᪧꄂ㲄", - [[{ - "*硙^+E쌺I1䀖ju?:⦈Ꞓl๴竣迃xKC/饉:\fl\"XTFᄄ蟭,芢<\/骡軺띜hꏘ\u001f銿<棔햳▨(궆*=乥b8\\媦䷀뫝}닶ꇭ(Kej䤑M": [{ - "1Ꮼ?>옿I╅C<ގ?ꊌ冉SV5A㢊㶆z-๎玶绢2F뵨@㉌뀌o嶔f9-庒茪珓뷳4": null, - ";lᰳ": "CbB+肻a䄷苝*/볳+/4fq=㰁h6瘉샴4铢Y骐.⌖@哼猎㦞+'gꋸ㒕ߤ㞑(䶒跲ti⑴a硂#No볔", - "t?/jE幸YHT셵⩎K!Eq糦ꗣv刴w\"l$ο:=6:移": { - "z]鑪醊嫗J-Xm銌翁絨c里됏炙Ep㣋鏣똼嚌䀓GP﹖cmf4鹭T䅿꣭姧␸wy6ꦶ;S&(}ᎧKxᾂQ|t뻳k\"d6\"|Ml췆hwLt꼼4$&8Պ褵婶鯀9": {"嵃닢ᒯ'd᧫䳳#NXe3-붋鸿ଢ떓%dK\u0013䲎ꖍYV.裸R⍉rR3蟛\\:젯:南ĺLʆ넕>|텩鴷矔ꋅⒹ{t孶㓑4_": [ - true, - null, - [ - false, - "l怨콈lᏒ", - { - "0w䲏嬧-:`䉅쉇漧\\܂yㄨb%㽄j7ᦶ涶<": 3.7899452730383747E-19, - "ꯛTẀq纤q嶏V⿣?\"g}ი艹(쥯B T騠I=仵및X": {"KX6颠+&ᅃ^f畒y[": { - "H?뱜^?꤂-⦲1a㋞&ꍃ精Ii᤾챪咽쬘唂쫷<땡劈훫놡o㥂\\ KⴙD秼F氮[{'좴:례晰Iq+I쭥_T綺砸GO煝䟪ᚪ`↹l羉q쐼D꽁ᜅ훦: vUV": true, - "u^yﳍ0㱓#[y뜌앸ꊬL㷩?蕶蘾⻍KӼ": -7931695755102841701, - "䤬轉車>\u001c鴵惋\"$쯃྆⇻n뽀G氠S坪]ಲꨍ捇Qxኻ椕駔\\9ࣼ﫻읜磡煮뺪ᶚ볝l㕆t+sζ": [[[ - true, - false, - [ - null, - 3363739578828074923, - true, - { - "\"鸣詩 볰㑵gL㯦῅춝旫}ED辗ﮈI쀤-ꧤ|㠦Z\"娑ᕸ4爏騍㣐\"]쳝Af]茛⬻싦o蚁k䢯䩐菽3廇喑ޅ": 4.5017999150704666E17, - "TYႇ7ʠ值4챳唤~Zo&ݛ": false, - "`塄J袛㭆끺㳀N㺣`꽐嶥KﯝSVᶔ∲퀠獾N딂X\"ᤏhNﬨvI": {"\u20bb㭘I䖵䰼?sw䂷쇪](泒f\"~;꼪Fԝsᝦ": {"p,'ꉂ軿=A蚶?bƉ㏵䅰諬'LYKL6B깯⋩겦뎙(ᜭ\u0006噣d꾆㗼Z;䄝䚔cd<情@䞂3苼㸲U{)<6&ꩻ钛\u001au〷N숨囖愙j=BXW욕^x芜堏Ῑ爂뛷꒻t✘Q\b": [[ - "籛&ଃ䩹.ꃩ㦔\\C颫#暪&!勹ꇶ놽攺J堬镙~軌C'꾖䣹㮅岃ᙴ鵣", - 4.317829988264744E15, - 6.013585322002147E-20, - false, - true, - null, - null, - -3.084633632357326E-20, - false, - null, - { - "\"짫愔昻 X\"藣j\"\"먁ཅѻ㘤㬯0晲DU꟒㸃d벀윒l䦾c੻*3": null, - "谈Wm陧阦咟ฯ歖擓N喴㋐銭rCCnVࢥ^♼Ⅾ젲씗刊S༝+_t赔\\b䚍뉨ꬫ6펛cL䊘᜼<\/澤pF懽&H": [ - null, - { - "W\"HDUuΌ퀟M'P4࿰H똆ⰱﮯ<\/凐蘲\"C鴫ﭒж}ꭩ쥾t5yd诪ﮡ퍉ⴰ@?氐醳rj4I6Qt": 6.9090159359219891E17, - "絛ﳛ⺂": {"諰P㗮聦`ZQ?ꫦh*റcb⧱}埌茥h{棩렛툽o3钛5鮁l7Q榛6_g)ὄ\u0013kj뤬^爖eO4Ⱈ槞鉨ͺ订%qX0T썗嫷$?\\\"봅늆'%": [ - -2.348150870600346E-19, - [[ - true, - -6619392047819511778, - false, - [[ - -1.2929189982356161E-20, - 1.7417192219309838E-19, - {"?嵲2࿐2\u0001啑㷳c縯": [ - null, - [ - false, - true, - 2578060295690793218, - { - "?\"殃呎#㑑F": true, - "}F炊_殛oU헢兔Ꝉ,赭9703.B数gTz3⏬": { - "5&t3,햓Mݸᵣ㴵;꣫䩍↳#@뫷䠅+W-ࣇzᓃ鿕ಔ梭?T䮑ꥬ旴]u뫵막bB讍:왳둛lEh=숾鱠p咐$짏#?g⹷ᗊv㷵.斈u頻\u0018-G.": "뽙m-ouࣤ஫牷\"`Ksꕞ筼3HlȨvC堈\"I]㖡玎r먞#'W賜鴇k'c룼髋䆿飉㗆xg巤9;芔cጐ/ax䊨♢큓r吓㸫೼䢗da᩾\"]屣`", - ":M딪<䢥喠\u0013㖅x9蕐㑂XO]f*Q呰瞊吭VP@9,㨣 D\\穎vˤƩs㜂-曱唅L걬/롬j㈹EB8g<\/섩o渀\"u0y&룣": ">氍緩L/䕑돯Ꟙ蕞^aB뒣+0jK⪄瑨痜LXK^힦1qK{淚t츔X:Vm{2r獁B뾄H첚7氥?쉟䨗ꠂv팳圎踁齀\\", - "D彤5㢷Gꪻ[lㄆ@὜⓰絳[ଃ獽쮹☒[*0ꑚ㜳": 9022717159376231865, - "ҖaV銣tW+$魿\u20c3亜~뫡ᙰ禿쨽㏡fṼzE/h": "5臐㋇Ჯ쮺? 昨탰Wム밎#'\"崲钅U?幫뺀⍾@4kh>騧\\0ҾEV=爐͌U捀%ꉼ 㮋<{j]{R>:gԩL\u001c瀈锌ﯲﳡꚒ'⫿E4暍㌗뵉X\"H᝜", - "ᱚגּ;s醒}犍SἿ㦣&{T$jkB\\\tḮ앾䤹o<避(tW": "vb⯽䴪䮢@|)", - "⥒퐁껉%惀뗌+녣迺顀q條g⚯i⤭룐M琹j̈́⽜A": -8385214638503106917, - "逨ꊶZ<\/W⫟솪㎮ᘇb?ꠔi\"H㧺x෷韒Xꫨฟ|]窽\u001a熑}Agn?Mᶖa9韲4$3Ỵ^=쏍煤ፐ돷2䣃%鷠/eQ9頸쥎", - 2398360204813891033, - false, - 3.2658897259932633E-19, - null, - "?ꚃ8Nn㞷幵d䲳䱲뀙ꪛQ瑓鎴]䩋-鰾捡䳡??掊", - false, - -1309779089385483661, - "ᦲxu_/yecR.6芏.ᜇ過 ~", - -5658779764160586501, - "쒌:曠=l썜䢜wk#s蕚\"互㮉m䉤~0듐䋙#G;h숄옥顇෤勹(C7㢅雚㐯L⠅VV簅<", - null, - -4.664877097240962E18, - -4.1931322262828017E18, - { - ",": { - "v㮟麑䄠뤵g{M띮.\u001bzt뢜뵡0Ǥ龍떟Ᾰ怷ϓRT@Lꀌ樂U㏠⾕e扉|bJg(뵒㠶唺~ꂿ(땉x⻫싉쁊;%0鎻V(o\f,N鏊%nk郼螺": -1.73631993428376141E18, - "쟧摑繮Q@Rᕾ㭚㾣4隅待㓎3蒟": [ - 4971487283312058201, - 8973067552274458613, - { - "`a揙ᣗ\u0015iBo¸": 4.3236479112537999E18, - "HW&퉡ぁ圍Y?瑡Qy훍q!帰敏s舠㫸zꚗaS歲v`G株巷Jp6킼 (귶鍔⾏⡈>M汐㞍ቴ꙲dv@i㳓ᇆ?黍": [ - null, - 4997607199327183467, - "E㻎蠫ᐾ高䙟蘬洼旾﫠텛㇛?'M$㣒蔸=A_亀绉앭rN帮", - null, - [{ - "Eᑞ)8餧A5u&㗾q?": [ - -1.969987519306507E-19, - null, - [ - 3.42437673373841E-20, - true, - "e걷M墁\"割P␛퍧厀R䱜3ﻴO퓫r﹉⹊", - [ - -8164221302779285367, - [ - true, - null, - "爘y^-?蘞Ⲽꪓa␅ꍨ}I", - 1.4645984996724427E-19, - [{ - "tY좗⧑mrzﺝ㿥ⴖ᥷j諅\u0000q賋譁Ꞅ⮱S\nࡣB/큃굪3Zɑ复o<\/;롋": null, - "彟h浠_|V4䦭Dᙣ♞u쿻=삮㍦\u001e哀鬌": [{"6횣楠,qʎꗇ鎆빙]㱭R굋鈌%栲j分僅ペ䇰w폦p蛃N溈ꡐꏀ?@(GI뉬$ﮄ9誁ꓚ2e甸ڋ[䁺,\u0011\u001cࢃ=\\+衪䷨ᯕ鬸K": [[ - "ㅩ拏鈩勥\u000etgWVXs陂規p狵w퓼{뮵_i\u0002ퟑႢ⬐d6鋫F~챿搟\u0096䚼1ۼ칥0꣯儏=鋷牋ⅈꍞ龐", - -7283717290969427831, - true, - [ - 4911644391234541055, - { - "I鈒첽P릜朸W徨觘-Hᎄ퐟⓺>8kr1{겵䍃〛ᬡ̨O귑o䝕'쿡鉕p5": "fv粖RN瞖蛐a?q꤄\u001d⸥}'ꣴ犿ꦼ?뤋?鵆쥴덋䡫s矷̄?ඣ/;괱絢oWfV<\/\u202cC,㖦0䑾%n賹g&T;|lj_欂N4w", - "짨䠗;䌕u i+r๏0": [{"9䥁\\఩8\"馇z䇔<\/ႡY3e狚쐡\"ุ6ﰆZ遖c\"Ll:ꮾ疣<\/᭙O◌납୕湞9⡳Und㫜\u0018^4pj1;䧐儂䗷ୗ>@e톬": { - "a⑂F鋻Q螰'<퇽Q贝瀧{ᘪ,cP&~䮃Z?gI彃": [ - -1.69158726118025933E18, - [ - "궂z簽㔛㮨瘥⤜䛖Gℤ逆Y⪾j08Sn昞ꘔ캻禀鴚P謦b{ꓮmN靐Mᥙ5\"睏2냑I\u0011.L&=?6ᄠ뻷X鸌t刑\"#z)o꫚n쳟줋", - null, - 7517598198523963704, - "ኑQp襟`uᩄr方]*F48ꔵn俺ሙ9뇒", - null, - null, - 6645782462773449868, - 1219168146640438184, - null, - { - ")ယ넌竀Sd䰾zq⫣⏌ʥ\u0010ΐ' |磪&p牢蔑mV蘸૰짬꺵;K": [ - -7.539062290108008E-20, - [ - true, - false, - null, - true, - 6574577753576444630, - [[ - 1.2760162530699766E-19, - [ - null, - [ - "顊\\憎zXB,", - [{ - "㇆{CVC9-MN㜋ઘR눽#{h@ퟨ!鼚׼XOvXS\u0017ᝣ=cS+梽៲綆16s덽휐y屬?ᇳG2ᴭ\u00054쫖y룇nKcW̭炦s/鰘ᬽ?J|퓀髣n勌\u0010홠P>j": false, - "箴": [ - false, - "鍞j\"ꮾ*엇칬瘫xṬ⭽쩁䃳\"-⋵?ᦽ댎Ĝ": true, - "Pg帯佃籛n㔠⭹࠳뷏≻࿟3㞱!-쒾!}쭪䃕!籿n涻J5ਲ਼yvy;Rኂ%ᔡጀ裃;M⣼)쵂쑈": 1.80447711803435366E18, - "ꈑC⡂ᑆ㤉壂뎃Xub<\/쀆༈憓ق쨐ק\\": [ - 7706977185172797197, - {"": {"K╥踮砆NWࡆFy韣7ä밥{|紒︧䃀榫rᩛꦡTSy잺iH8}ퟴ,M?Ʂ勺ᴹ@T@~꾂=I㙕뾰_涀쑜嫴曣8IY?ҿo줫fऒ}\\S\"ᦨ뵼#nDX": { - "♘k6?଱癫d68?㽚乳䬳-V顷\u0005蝕?\u0018䞊V{邾zじl]雏k臤~ൖH뒐iꢥ]g?.G碄懺䔛pR$䅒X觨l봜A刊8R梒',}u邩퉕?;91Ea䈈믁G⊶芔h袪&廣㺄j;㡏綽\u001bN頸쳘橆": -2272208444812560733, - "拑Wﵚj鵼駳Oࣿ)#㾅顂N傓纝y僱栜'Bꐍ-!KF*ꭇK¦?䈴^:啤wG逭w᧯": "xᣱmYe1ۏ@霄F$ě꧘푫O䤕퀐Pq52憬ꀜ兴㑗ᡚ?L鷝ퟐ뭐zJꑙ}╆ᅨJB]\"袌㺲u8䯆f", - "꿽၅㔂긱Ǧ?SI": -1669030251960539193, - "쇝ɨ`!葎>瞺瘡驷錶❤ﻮ酜=": -6961311505642101651, - "?f7♄꫄Jᡔ훮e읇퍾፣䭴KhखT;Qty}O\\|뫁IῒNe(5惁ꥶㆷY9ﮡ\\ oy⭖-䆩婁m#x봉>Y鈕E疣s驇↙ᙰm<": {"퉻:dꂁ&efᅫ쫢[\"돈늖꺙|Ô剐1͖-K:ʚ᭕/;쏖㷛]I痐职4gZ4⍜kเꛘZ⥺\\Bʫᇩ鄨魢弞&幟ᓮ2̊盜", - -9006004849098116748, - -3118404930403695681, - { - "_彃Y艘-\"Xx㤩㳷瑃?%2䐡鵛o귵옔夘v*탋职&㳈챗|O钧": [ - false, - "daꧺdᗹ羞쯧H㍤鄳頳<型孒ン냆㹀f4㹰\u000f|C*ሟ鰠(O<ꨭ峹ipຠ*y೧4VQ蔔hV淬{?ᵌEfrI_", - "j;ꗣ밷邍副]ᗓ", - -4299029053086432759, - -5610837526958786727, - [ - null, - [ - -1.3958390678662759E-19, - { - "lh좈T_믝Y\"伨\u001cꔌG爔겕ꫳ晚踍⿻읐T䯎]~e#฽燇\"5hٔ嶰`泯r;ᗜ쮪Q):/t筑,榄&5懶뎫狝(": [{ - "2ፁⓛ]r3C攟וּ9賵s⛔6'ஂ|\"ⵈ鶆䐹禝3\"痰ࢤ霏䵩옆䌀?栕r7O簂Isd?K᫜`^讶}z8?z얰T:X倫⨎ꑹ": -6731128077618251511, - "|︦僰~m漿햭\\Y1'Vvخ굇ቍ챢c趖": [null] - }], - "虌魿閆5⛔煊뎰㞤ᗴꥰF䮥蘦䂪樳-K᝷-(^\u20dd_": 2.11318679791770592E17 - } - ] - ] - ]}, - "묗E䀳㧯᳀逞GMc\b墹㓄끖Ơ&U??펌鑍 媋k))ᄊ": null, - "묥7콽벼諌J_DɯﮪM殴䣏,煚ྼ`Y:씧<\/⩫%yf䦀!1Ჶk춎Q米W∠WC跉鬽*ᛱi㴕L꘻ꀏ쓪\"_g鿄'#t⽙?,Wg㥖|D鑆e⥏쪸僬h鯔咼ඡ;4TK聎졠嫞" - } - ] - ] - } - ] - ] - ]}} - } - ]} - }, - "뿋뀾淣截䔲踀&XJ펖꙯^Xb訅ꫥgᬐ>棟S\"혧騾밫겁7-": "擹8C憎W\"쵮yR뢩浗絆䠣簿9䏈引Wcy䤶孖ꯥ;퐌]輩䍐3@{叝 뽸0ᡈ쵡Ⲇ\u001dL匁꧐2F~ݕ㪂@W^靽L襒ᦘ~沦zZ棸!꒲栬R" - } - ] - ], - "Z:덃൛5Iz찇䅄駠㭧蓡K1": "e8᧤좱U%?ⵇ䯿鿝\u0013縮R∱骒EO\u000fg?幤@֗퉙vU`", - "䐃쪈埽້=Ij,쭗쓇చ": false - }]}} - ] - } - ]} - } - ] - ] - ], - "咰긖VM]᝼6䓑쇎琺etDҌ?㞏ꩄ퇫밉gj8蠃\"⩐5䛹1ࣚ㵪": "ക蹊?⎲⧘⾚̀I#\"䈈⦞돷`wo窭戕෱휾䃼)앷嵃꾞稧,Ⴆ윧9S?೗EMk3Მ3+e{⹔Te驨7䵒?타Ulg悳o43" - } - ], - "zQᤚ纂땺6#ٽ﹧v￿#ࠫ휊冟蹧텈ꃊʆ?&a䥯De潝|쿓pt瓞㭻啹^盚2Ꝋf醪,얏T窧\\Di䕎谄nn父ꋊE": -2914269627845628872, - "䉩跐|㨻ᷢ㝉B{蓧瞸`I!℄욃힕#ೲᙾ竛ᔺCjk췒늕貭词\u0017署?W딚%(pꍁ⤼띳^=on뺲l䆼bzrﳨ[&j狸䠠=ᜑꦦ\u2061յnj=牲攑)M\\龏": false, - "뎕y絬᫡⥮Ϙᯑ㌔/NF*˓.,QEzvK!Iwz?|쥾\"ꩻL꼗Bꔧ賴緜s뉣隤茛>ロ?(?^`>冺飒=噸泥⺭Ᲊ婓鎔븜z^坷裮êⓅ໗jM7ﶕ找\\O": 1.376745434746303E-19 - }, - "䐛r滖w㏤,|Nዜ": false - } - ]], - "@꿙?薕尬 gd晆(띄5躕ﻫS蔺4)떒錸瓍?~": 1665108992286702624, - "w믍nᏠ=`঺ᅥC>'從됐槷䤝眷螄㎻揰扰XᅧC贽uჍ낟jKD03T!lDV쀉Ӊy뢖,袛!终캨G?鉮Q)⑗1쾅庅O4ꁉH7?d\u0010蠈줘월ސ粯Q!낇껉6텝|{": null, - "~˷jg쿤촖쉯y": -5.5527605669177098E18, - "펅Wᶺzꐆと푭e?4j仪열[D<鈑皶婆䵽ehS?袪;HꍨM뗎ば[(嗏M3q퍟g4y╸鰧茀[Bi盤~﫝唎鋆彺⦊q?B4쉓癚O洙킋툈䶯_?ퟲ": null - } - ] - ]] - ]], - "꟱Ԕ㍤7曁聯ಃ錐V䷰?v㪃૦~K\"$%请|ꇹn\"k䫛㏨鲨\u2023䄢\u0004[︊VJ?䶟ាꮈ䗱=깘U빩": -4863152493797013264 - } - ]}]} - ] - }}} - ], - "쏷쐲۹퉃~aE唙a챑,9㮹gLHd'䔏|킗㍞䎥&KZYT맵7䥺Nⱳ同莞鿧w\\༌疣n/+ꎥU\"封랾○ퟙAJᭌ?9䛝$?驔9讐짘魡T֯c藳`虉C읇쐦T" - } - ], - "谶개gTR￐>ၵ͚dt晑䉇陏滺}9㉸P漄": -3350307268584339381 - }] - ] - ] - ]] - ] - ], - "0y꟭馋X뱔瑇:䌚￐廿jg-懲鸭䷭垤㒬茭u賚찶ಽ+\\mT땱\u20821殑㐄J쩩䭛ꬿNS潔*d\\X,壠뒦e殟%LxG9:摸": 3737064585881894882, - "풵O^-⧧ⅶvѪ8廸鉵㈉ר↝Q㿴뺟EႳvNM:磇>w/៻唎뷭୥!냹D䯙i뵱貁C#⼉NH6`柴ʗ#\\!2䂗Ⱨf?諳.P덈-返I꘶6?8ꐘ": -8934657287877777844, - "溎-蘍寃i诖ര\"汵\"\ftl,?d⼡쾪⺋h匱[,෩I8MҧF{k瓿PA'橸ꩯ綷퉲翓": null - } - ] - ], - "ោ係؁<元": 1.7926963090826924E-18 - }}] - } - ] - ]]}] - }] - ] - ] - ] - ], - "ጩV<\"ڸsOᤘ": 2.0527167903723048E-19 - }] - ]} - ] - ]], - "∳㙰3젴p᧗䱙?`yZA8Ez0,^ᙛ4_0븢\u001ft:~䎼s.bb룦明yNP8弆C偯;⪾짍'蕴뮛": -6976654157771105701, - "큵ꦀ\\㇑:nv+뒤燻䀪ﴣ﷍9ᚈ኷K㚊誦撪䚛,ꮪxሲ쳊\u0005HSf?asg昱dqꬌVꙇ㼺'k*'㈈": -5.937042203633044E-20 - } - ] - }], - "?}\u20e0],s嶳菋@#2u쒴sQS䩗=ꥮ;烌,|ꘔ䘆": "ᅩ영N璠kZ먕眻?2ቲ芋眑D륟渂⸑ﴃIRE]啗`K'" - }}, - "쨀jmV賂ﰊ姐䂦玞㬙ᏪM᪟Վ씜~`uOn*ॠ8\u000ef6??\\@/?9見d筜ﳋB|S䝬葫㽁o": true - }, - "즛ꄤ酳艚␂㺘봿㎨iG৕ࡿ?1\"䘓您\u001fSኝ⺿溏zៀ뻤B\u0019?윐a䳵᭱䉺膷d:<\/": 3935553551038864272 - } - ] - ]} - ]] - ]] - ]} - } - ] - } - ]]}}, - "᥺3h↛!ꋰy\"攜(ெl䪕oUkc1A㘞ᡲ촾ᣫ<\/䒌E㛝潨i{v?W౾H\\RჅpz蝬R脾;v:碽✘↯삞鷱o㸧瑠jcmK7㶧뾥찲n": true, - "ⶸ?x䊺⬝-䰅≁!e쩆2ꎿ准G踌XXᩯ1߁}0?.헀Z馟;稄\baDꟹ{-寪⚈ꉷ鮸_L7ƽᾚ<\u001bጨA䧆송뇵⨔\\礍뗔d设룱㶉cq{HyぱR㥽吢ſtp": -7985372423148569301, - "緫#콮IB6<\/=5Eh礹\t8럭@饹韠r㰛斣$甝LV췐a갵'请o0g:^": "䔨(.", - "띳℡圤pン௄ĝ倧訜B쁟G䙔\"Sb⓮;$$▏S1J뢙SF|赡g*\"Vu䲌y": "䪈&틐),\\kT鬜1풥;뷴'Zေ䩹@J鞽NぼM?坥eWb6榀ƩZڮ淽⺞삳煳xჿ絯8eⶍ羷V}ჿ쎱䄫R뱃9Z>'\u20f1ⓕ䏜齮" - } - ] - ]]] - }} - } - ] - ]}, - "펮b.h粔폯2npX詫g錰鷇㇒<쐙S値bBi@?镬矉`剔}c2壧ଭfhY깨R()痩⺃a\\⍔?M&ﯟ<劜꺄멊ᄟA\"_=": null - }, - "~潹Rqn榢㆓aR鬨侅?䜑亡V_翅㭔(䓷w劸ၳDp䀅<\/ﰎ鶊m䵱팱긽ꆘ긓准D3掱;o:_ќ)껚콥8곤d矦8nP倥ꃸI": null, - "뾎/Q㣩㫸벯➡㠦◕挮a鶧⋓偼\u00001뱓fm覞n?㛅\"": 2.8515592202045408E17 - }], - ",": -5426918750465854828, - "2櫫@0柡g䢻/gꆑ6演&D稒肩Y?艘/놘p{f투`飷ᒉ챻돎<늛䘍ﴡ줰쫄": false, - "8(鸑嵀⵹ퟡ<9㣎Tߗ┘d슒ل蘯&㠦뮮eࠍk砝g 엻": false, - "d-\u208b?0ﳮ嵙'(J`蔿d^踅⤔榥\\J⵲v7": 6.8002426206715341E17, - "ཎ耰큓ꐕ㱷\u0013y=詽I\"盈xm{0쾽倻䉚ષso#鰑/8㸴짯%ꀄ떸b츟*\\鲷礬ZQ兩?np㋄椂榨kc᡹醅3": false, - "싊j20": false - }]] - ]], - "俛\u0017n緽Tu뫉蜍鼟烬.ꭠIⰓ\"Ἀ᜾uC쎆J@古%ꛍm뻨ᾀ画蛐휃T:錖㑸ዚ9죡$": true - } - ] - ], - "㍵⇘ꦖ辈s}㱮慀밒s`\"㞟j:`i픻Z섫^諎0Ok{켿歁෣胰a2﨤[탳뚬쎼嫭뉮m": 409440660915023105, - "w墄#*ᢄ峠밮jLa`ㆪ꺊漓Lで끎!Agk'ꁛ뢃㯐岬D#㒦": false, - "ଦPGI䕺L몥罭ꃑ궩﮶#⮈ᢓӢ䚬p7웼臧%~S菠␌힀6&t䳙y㪘냏\\*;鉏ᅧ鿵'嗕pa\"oL쇿꬈Cg": "㶽1灸D⟸䴅ᆤ뉎﷛渤csx 䝔цꬃ锚捬?ຽ+x~꘩uI࡞\u0007栲5呚ẓem?袝\")=㥴䨃pac!/揎Y", - "ᷱo\\||뎂몷r篙|#X䦜I#딌媸픕叞RD斳X4t⯩夬=[뭲r=绥jh뷱츝⪘%]⚋܈㖴スH텹m(WO曝劉0~K3c柢Ր㏉着逳~": false, - "煽_qb[첑\\륌wE❽ZtCNﭝ+餌ᕜOꛭ": "{ﳾ쉌&s惧ᭁⵆ3䢫;䨞팑꒪흘褀࢖Q䠿V5뭀䎂澻%받u5텸oA⮥U㎦;B䳌wz䕙$ឿ\\௅婺돵⪾퐆\\`Kyौꋟ._\u0006L챯l뇠Hi䧈偒5", - "艊佁ࣃ롇䱠爬!*;⨣捎慓q靓|儑ᨋL+迥=6㒺딉6弄3辅J-㕎뛄듘SG㆛(\noAzQꝱ䰩X*ぢO퀌%펠낌mo틮a^<\/F&_눊ᾉ㨦ы4\"8H": 2974648459619059400, - "鬙@뎣䫳ၮ끡?){y?5K;TA*k溱䫜J汃ꂯ싔썍\u001dA}룖(<\/^,": false, - "몏@QꋦFꊩᒐ뎶lXl垨4^郣|ꮇ;䝴ᝓ}쵲z珖": null - } - ]]]], - ":_=닧弗D䙋暨鏛. 㱻붘䂍J儒&ZK/녩䪜r囁⽯D喠죥7⹌䪥c\u001a\u2076￞妈朹oLk菮F౟覛쐧㮏7T;}蛙2{9\"崓bB<\/⡷룀;즮鿹)丒툃୤뷠5W⊢嶜(fb뭳갣": "E{响1WM" - }}, - "䘨tjJ驳豨?y輊M*᳑梵瞻઻ofQG瑮e": 2.222802939724948E-19, - "䮴=❑➶T෋w䞜\"垦ꃼUt\u001dx;B$뵣䙶E↌艣ᡥ!᧟;䱀[䔯k쬃`੍8饙른熏'2_'袻tGf蒭J땟as꯳╖&啒zWࡇᒫYSᏬ\u0014ℑ첥鈤|cG~Pᓮ\">\"": "ႆl\f7V儊㦬nHꄬꨧC{쐢~C⮃⛓嶦vꄎ1w鰠嘩뿠魄&\"_qMⵖ釔녮ꝇ 㝚{糍J哋 cv?-jkﻯྌ鹑L舟r", - "龧葆yB✱H盋夔ﶉ?n*0(": "ꧣኆ㢓氥qZZ酒ຜ)鮢樛)X䣆gTSґG텞k.J圬疝롫쯭z L:\\ྤ@w炋塜쿖ᾳy뢀䶃뱝N䥨㚔勇겁#p", - "도畎Q娡\"@S/뼋:䵏!P衅촚fVHQs✜ᐫi㻑殡B䜇%믚k*U#濨낄~": "ꍟዕ쳸ꍈ敋&l妏\u0005憡멗瘌uPgᅪm<\/To쯬锩h뒓k" - } - ] - }], - "墥홞r绚<\/⸹ⰃB}<躅\\Y;๑@䔸>韫䜲뱀X뗩鿥쩗SI%ﴞ㳕䛇?<\/\u00018x\\&侂9鋙a[LR㋭W胕)⡿8㞙0JF,}?허d1cDMᐃ␛鄝ⱕ%X)!XQ": "ⳍꗳ=橇a;3t⦾꼑仈ူaᚯ⯋ꕃAs鴷N⍕_䎃ꙎAz\u0016䯷\\<࿫>8q{}キ?ᣰ}'0ᴕ펓B┦lF#趤厃T?㕊#撹圂䆲" - }, - "܋닐龫論c웑": false, - "ㇿ/q\"6-co髨휝C큦#\u001b4~?3䐹E삇<<": 7.600917488140322E-20, - "䁝E6?㣖ꃁ间t祗*鑠{ḣV(浾h逇큞=W?ૉ?nꇽ8ꅉຉj으쮺@Ꚅ㰤u]Oyr": "v≁᫸_*όAඤԆl)ۓᦇQ}폠z༏q滚", - "ソ᥊/넺I": true - }]] - ] - ] - ] - ]] - }, - "䭑Ik攑\u0002QV烄:芩.麑㟴㘨≕": true, - "坄꿕C쇻풉~崍%碼\\8\"䬦꣙": null, - "欌L圬䅘Y8c(♺2?ON}o椳s宥2䉀eJ%闹r冁O^K諭%凞⺉⡻,掜?$ꥉ?略焕찳㯊艼誜4?\"﯎<゛XፈINT:詓 +": -1.0750456770694562E-19, - "獒àc뜭싼ﺳ뎤K`]p隨LtE": null, - "甙8䵊神EIꩤ鐯ᢀ,ﵮU䝑u疒ử驺䚿≚ഋ梶秓F`覤譐#짾蔀묊4<媍쬦靪_Yzgcࡶ4k紥`kc[Lﮗ簐*I瀑[⾰L殽鑥_mGȠ<\/|囹灠g桰iri": true, - "챓ꖙꟻ좝菇ou,嗠0\\jK핻뜠qwQ?ഩ㼕3Y彦b\u009bJ榶N棨f?됦鏖綃6鳵M[OE봨u햏.Ꮁ癜蟳뽲ꩌ뻾rM豈R嗀羫 uDꎚ%": null - }, - "V傜2<": 7175127699521359521 - }], - "铫aG切<\/\"ী⊆e<^g࢛)D顝nאַ饼\u008c猪繩嵿ﱚCꡬ㻊g엺A엦\u000f暿_f꿤볝㦕桦`蒦䎔j甬%岝rj 糏": "䚢偎눴Au<4箞7礦Iﱔ坠eȧ䪸u䵁p|逹$嗫쨘ꖾ﷐!胠z寓팢^㨔|u8Nሇe텔ꅦ抷]،鹎㳁#༔繁 ", - "낂乕ꃻ볨ϱ-ꇋ㖍fs⿫)zꜦ/K?솞♞ꑌ宭hJ᤭瑥Fu": false, - "쟰ぜ魛G\u0003u?`㾕ℾ㣭5螠烶這趩ꖢ:@咕ꐶx뒘느m䰨b痃렐0鳊喵熬딃$摉_~7*ⱦ녯1錾GKhJ惎秴6'H妈Tᧅ窹㺒疄矤铟wላ": null, - "쯆q4!3錕㲏ⵆ㇛꘷Z瑩뭆\\◪NH\u001d\\㽰U~㯶<\"쑣낞3ᵤ'峉eꢬ;鬹o꣒木X*長PXᘱu\"䠹n惞": null, - "ᅸ祊\"&ꥴCjࢼ﴿?䡉`U效5殼㮞V昽ꏪ#ﺸ\\&t6x꠹盥꣰a[\u001aꪍSpe鎿蠹": -1.1564713893659811E-19 - } - ]] - ] - ] - ], - "羵䥳H,6ⱎ겾|@t\"#햊1|稃 섭)띜=뻔ꡜ???櫎~*ῡ꫌/繣ﻠq": null - } - ]} - ]}, - "츤": false - }}, - "s": 3.7339341963399598E18 - } - ], - "N,I?1+㢓|ࣱ嶃쩥V2\u0012(4EE虪朶$|w颇v步": "~읢~_,Mzr㐫YB溓E淚\"ⅹ䈔ᏺ抙 b,nt5V㐒J檶ꏨ⻔?", - "Q껑ꡡ}$넎qH煔惍/ez^!ẳF댙䝌馻剁8": "梲;yt钰$i冄}AL%a j뜐奷걳뚾d꿽*ሬuDY3?뮟鼯뮟w㍪틱V", - "o{Q/K O胟㍏zUdꀐm&⨺J舕⾏魸訟㌥[T籨櫉唐킝 aṭ뱫촙莛>碶覆⧬짙쭰ׯdAiH໥벤퐥_恸[ 0e:죃TC弼荎뵁DA:w唵ꣁ": null, - "὏樎䵮軧|?౗aWH쩃1 ꅭsu": null - } - ] - }, - "勂\\&m鰈J釮=Ⲽ鳋+䂡郑": null, - "殣b綊倶5㥗惢⳷萢ᑀ䬄镧M^ﱴ3⣢翣n櫻1㨵}ኯ뗙顖Z.Q➷ꮨ뗇\u0004": "ꔙ䁼>n^[GीA䨟AM琢ᒊS쨲w?d㶣젊嘶纝麓+愣a%気ྞSc됓ᔘ:8bM7Xd8㶑臌]Ꙥ0ꐭ쒙䫣挵C薽Dfⵃ떼᷸", - "?紡.셪_෨j\u0013Ox┠$Xᶨ-ᅇo薹-}軫;y毝㪜K㣁?.EV쮱4둽⛻䤜'2盡\u001f60(|e쐰㼎ᦀ㒧-$l@ﻑ坳\u0003䭱响巗WFo5c㧆T턁Y맸♤(": -2.50917882560589088E17 - }} - ], - "侸\\릩.᳠뎠狣살cs项䭩畳H1s瀉븇19?.w骴崖㤊h痠볭㞳㞳䁮Ql怠㦵": "@䟴-=7f", - "鹟1x௢+d ;vi䭴FSDS\u0004hꎹ㚍?⒍⦏ў6u,扩@됷Su)Pag휛TᒗV痩!瞏釀ꖞ蘥&ೞ蘐ꭰꞇᝎ": "ah懱Ժ&\u20f7䵅♎඀䞧鿪굛ౕ湚粎蚵ᯋ幌YOE)५襦㊝Y*^\"R+ඈ咷蝶9ꥂ榨艦멎헦閝돶v좛咊E)K㓷ྭr", - "搆q쮦4綱켙셁.f4<\/g<籽늷?#蚴픘:fF\u00051㹉뀭.ᰖ풎f֦Hv蔎㧤.!䭽=鞽]음H:?\"-4": 8.740133984938656E-20 - }]} - } - ], - "tVKn딩꘥⊾蹓᤹{\u0003lR꼽ᄲQFᅏ傅ﱋ猢⤊ᔁ,E㓒秤nTතv`♛I\u0000]꫔ṞD\"麵c踝杰X&濿또꣹깳౥葂鿎\\aꡨ?": 3900062609292104525 - } - ], - "ਉ샒⊩Lu@S䧰^g": -1.1487677090371648E18, - "⎢k⑊꬗yᏫ7^err糎Dt\u000bJ礯확ㆍ沑サꋽe赔㝢^J\u0004笲㿋idra剰-᪉C錇/Ĝ䂾ညS지?~콮gR敉⬹'䧭": 1901472137232418266, - "灗k䶥:?촽贍쓉꓈㒸g獘[뵎\\胕?\u0014_榙p.j稶,$`糉妋0>Fᡰly㘽$?": "]ꙛO赎&#㠃돱剳\"<◆>0誉齐_|z|裵씪>ᐌ㼍\"Z[琕}O?G뚇諦cs⠜撺5cu痑U圲\u001c?鴴計l춥/╓哼䄗茏ꮅ뫈댽A돌롖뤫V窗讬sHd&\nOi;_u" - } - ], - "Uﺗ\\Y\\梷䄬~\u0002": null, - "k\"Y磓ᗔ휎@U冈<\/w컑)[": false, - "曏J蝷⌻덦\u001f㙳s꥓⍟邫P늮쥄c∬ྡྷ舆렮칤Z趣5콡넛A쳨\\뀙骫(棻.*&輛LiIfi{@EA婳KᬰTXT": -4.3088230431977587E17 - }]} - ] - ], - "곃㲧<\/dఓꂟs其ࡧ&N葶=?c㠤Ჴ'횠숄臼#\u001a~": false - } - ] - ]}] - }] - }} - ], - "2f`⽰E쵟>J笂裭!〛觬囀ۺ쟰#桊l鹛ⲋ|RA_Vx፭gE됓h﵀mfỐ|?juTU档[d⢼⺻p濚7E峿": 5613688852456817133 - }, - "濘끶g忮7㏵殬W팕Q曁 뫰)惃廊5%-蹚zYZ樭ﴷQ锘쯤崫gg": true, - "絥ᇑ⦏쒓븣爚H.㗊߄o蘵貆ꂚ(쎔O᥉ﮓ]姨Wꁓ!RMA|o퉢THx轮7M껁U즨'i뾘舯o": "跥f꜃?" - }} - ], - "鷰鹮K-9k;ﰰ?_ݦѷ-ꅣ䩨Zꥱ\"mꠟ屎/콑Y╘2&鸞脇㏢ꀇ࠺ⰼ拾喭틮L꽩bt俸墶 [l/웄\"꾦\u20d3iও-&+\u000fQ+໱뵞": -1.296494662286671E-19 - }, - "HX੹/⨇୕붷Uﮘ旧\\쾜͔3l鄈磣糂̖䟎Eᐳw橖b῀_딕hu葰窳闹вU颵|染H죶.fP䗮:j䫢\\b뎖i燕ꜚG⮠W-≚뉗l趕": "ଊ칭Oa᡺$IV㷧L\u0019脴셀붿餲햪$迳向쐯켂PqfT\" ?I屉鴼쿕@硙z^鏕㊵M}㚛T젣쓌-W⩐-g%⺵<뮱~빅╴瑿浂脬\u0005왦燲4Ⴭb|D堧 <\/oEQh", - "䘶#㥘੐캔f巋ἡAJ䢚쭈ࣨ뫒*mᇊK,ࣺAꑱ\u000bR<\/A\"1a6鵌㯀bh곿w(\"$ꘁ*rಐ趣.d࿩k/抶면䒎9W⊃9": "漩b挋Sw藎\u0000", - "畀e㨼mK꙼HglKb,\"'䤜": null - }]}] - ] - ] - }] - ]} - ] - ]} - ], - "歙>駿ꣂ숰Q`J΋方樛(d鱾뼣(뫖턭\u20f9lচ9歌8o]8윶l얶?镖G摄탗6폋폵+g:䱫홊<멀뀿/س|ꭺs걐跶稚W々c㫣⎖": "㣮蔊깚Cꓔ舊|XRf遻㆚︆'쾉췝\\&言", - "殭\"cށɨꝙ䞘:嬮e潽Y펪㳅/\"O@ࠗ겴]췖YǞ(t>R\"N?梳LD恭=n氯T豰2R諸#N}*灧4}㶊G䍣b얚": null, - "襞<\/啧 B|싞W瓇)6簭鼡艆lN쩝`|펭佡\\間邝[z릶&쭟愱ꅅ\\T᰽1鯯偐栈4̸s윜R7⒝/똽?치X": "⏊躖Cﱰ2Qẫ脐&இ?%냝悊", - ",鰧偵셣싹xᎹ힨᯳EṬH㹖9": -4604276727380542356 - } - } - ]]]], - "웺㚑xs}q䭵䪠馯8?LB犯zK'os䚛HZ\"L?셎s^㿧㴘Cv2": null - }] - ] - ] - ], - "Kd2Kv+|z": 7367845130646124107, - "ᦂⶨ?ᝢ 祂些ഷ牢㋇操\"腭䙾㖪\\(y4cE뽺ㆷ쫺ᔖ%zfۻ$ў1柦,㶢9r漢": -3.133230960444846E-20, - "琘M焀q%㢟f鸯O⣏蓑맕鯊$O噷|)z褫^㢦⠮ꚯ꫞`毕1qꢚ{ĭ䎀বώT\"뱘3G൴?^^of": null - } - ], - "a8V᯺?:ﺃ/8ꉿBq|9啓댚;*i2": null, - "cpT瀇H珰Ừpೃi鎪Rr␣숬-鹸ҩ䠚z脚цGoN8入y%趌I┽2ឪЀiJNcN)槣/▟6S숆牟\"箑X僛G殱娇葱T%杻:J諹昰qV쨰": 8331037591040855245 - }], - "G5ᩜ䄗巢껳": true - } - }, - "Ồ巢ゕ@_譙A`碫鄐㡥砄㠓(^K": "?܃B혢▦@犑ὺD~T⧁|醁;o=J牌9냚⢽㨘{4觍蚔9#$∺\u0016p囅\\3Xk阖⪚\"UzA穕롬✎➁㭒춺C㣌ဉ\"2瓑员ᅽꝶ뫍}꽚ꞇ鶂舟彺]ꍽJC蝧銉", - "␆Ě膝\"b-퉐ACR言J謈53~V튥x䜢?ꃽɄY뮩ꚜ": "K/↾e萃}]Bs⾿q룅鷦-膋?m+死^魊镲6", - "粡霦c枋AHퟁo礼Ke?qWcA趸㡔ꂏ?\u000e춂8iতᦜ婪\u0015㢼nﵿꍻ!ᐴ関\u001d5j㨻gfῩUK5Ju丝tかTI'?㓏t>⼟o a>i}ᰗ;뤕ܝ": false, - "ꄮ匴껢ꂰ涽+䜨B蛹H䛓-k蕞fu7kL谖,'涃V~챳逋穞cT\"vQ쓕ObaCRQ㓡Ⲯ?轭⫦輢墳?vA餽=h䮇킵n폲퉅喙?\"'1疬V嬗Qd灗'Lự": "6v!s믁㭟㣯獃!磸餠ቂh0C뿯봗F鷭gꖶ~コkK<ᦈTt\\跓w㭣횋钘ᆹ듡䑚W䟾X'ꅔ4FL勉Vܴ邨y)2'〚쭉⽵-鞣E,Q.?块", - "?(˧쩯@崟吋歄K": null - }, - "Gc럃녧>?2DYI鴿\\륨)澔0ᔬlx'觔7젘⤡縷螩%Sv׫묈/]↱&S h\u0006歋ᑛxi̘}ひY蔯_醨鯘煑橾8?䵎쨋z儬ꁏ*@츾:": null - } - } - } - ] - ] - ]} - }, - "HO츧G": 3.694949578823609E17, - "QC\u0012(翻曇Tf㷟bGBJ옉53\\嚇ᛎD/\u001b夾၉4\"핀@祎)쫆yD\"i먎Vn㿿V1W᨝䶀": -6150931500380982286, - "Z㓮P翸鍱鉼K䋞꘺튿⭁Y": -7704503411315138850, - "]모开ꬖP븣c霤<[3aΠ\"黁䖖䰑뮋ꤦ秽∼㑷冹T+YUt\"싳F↭䖏&鋌": -2.7231911483181824E18, - "tꎖ": -4.9517948741799555E-19, - "䋘즊.⬅IꬃۣQ챢ꄑ黐|f?C⾺|兕읯sC鬸섾整腨솷V": "旆柩l쪦sᖸMy㦅울썉瘗㎜檵9ꍂ駓ૉᚿ/u3씅徐拉[Z䞸ࡗ1ꆱ&Q풘?ǂ8\u0011BCDY2볨;鸏": null, - "幫 n煥s쁇펇 왊-$C\"衝:\u0014㣯舼.3뙗Yl⋇\"K迎멎[꽵s}9鉳UK8쐥\"掄㹖h㙈!얄સ?Ꜳ봺R伕UTD媚I䜘W鏨蔮": -4.150842714188901E-17, - "ﺯ^㄄\b죵@fྉkf颡팋Ꞧ{/Pm0V둳⻿/落韒ꊔᚬ@5螺G\\咸a谆⊪ቧ慷绖?财(鷇u錝F=r၍橢ឳn:^iᴵtD볠覅N赴": null - }] - }] - } - ] - ]} - ]}, - "謯?w厓奰T李헗聝ឍ貖o⪇弒L!캶$ᆅ": -4299324168507841322, - "뺊奉_垐浸延몏孄Z舰2i$q붿좾껇d▵餏\"v暜Ҭ섁m￴g>": -1.60911932510533427E18 - } - ] - } - ] - ]], - "퉝꺔㠦楶Pꅱ": 7517896876489142899, - "": false - } - ]}, - "是u&I狻餼|谖j\"7c됮sסּ-踳鉷`䣷쉄_A艣鳞凃*m⯾☦椿q㎭N溔铉tlㆈ^": 1.93547720203604352E18, - "kⲨ\\%vr#\u000bⒺY\\t<\/3﬌R訤='﹠8蝤Ꞵ렴曔r": false - } - ]}, - "阨{c?C\u001d~K?鎌Ԭ8烫#뙣P초遗t㭱E­돒䆺}甗[R*1!\\~h㕅᰺@<9JꏏષI䳖栭6綘걹ᅩM\"▯是∔v鬽顭⋊譬": "운ﶁK敂(欖C취پ℄爦賾" - } - }} - }], - "鷨赼鸙+\\䭣t圙ڹx᜾ČN<\/踘\"S_맶a鷺漇T彚⎲i㈥LT-xA캔$\u001cUH=a0츺l릦": "溣㣂0濕=鉵氬駘>Pꌢpb솇쬤h힊줎獪㪬CrQ矠a&脍꼬爼M茴/΅\u0017弝轼y#Ꞡc6둴=?R崏뷠麖w?" - }, - "閕ᘜ]CT)䵞l9z'xZF{:ؐI/躅匽졁:䟇AGF૸\u001cퟗ9)駬慟ꡒꆒRS״툋A<>\u0010\"ꂔ炃7g덚E৏bꅰ輤]o㱏_뷕ܘ暂\"u": "芢+U^+㢩^鱆8*1鈶鮀\u0002뺰9⬳ꪮlL䃣괟,G8\u20a8DF㉪錖0ㄤ瓶8Nଷd?眡GLc陓\\_죌V쁰ल二?c띦捱 \u0019JC\u0011b⤉zẒT볕\"绣蘨뚋cꡉkI\u001e鳴", - "ꃣI'{6u^㡃#཰Kq4逹y൒䧠䵮!㱙/n??{L풓ZET㙠퍿X2᩟綳跠葿㚙w཮x캽扳B唕S|尾}촕%N?o䪨": null, - "ⰴFjෟ셈[\u0018辷px?椯\\1<ﲻ栘ᣁ봢憠뉴p": -5263694954586507640 - } - ] - ]] - ]} - ]}] - ] - ], - "?#癘82禩鋆ꊝty?&": -1.9419029518535086E-19 - } - ] - ] - ]} - ] - ] - ], - "훊榲.|῕戄&.㚏Zꛦ2\"䢥ሆ⤢fV_摕婔?≍Fji冀탆꜕i㏬_ẑKᅢ꫄蔻XWc|饡Siẘ^㲦?羡2ぴ1縁ᙅ?쐉Ou": false - }]] - ]}}}, - "慂뗄卓蓔ᐓ匐嚖/颹蘯/翻ㆼL?뇊,텵<\\獷ごCボ": null - }, - "p溉ᑟi짣z:䒤棇r^٫%G9缑r砌롧.물农g?0׼ሩ4ƸO㣥㯄쩞ጩ": null, - "껎繥YxK\"F젷쨹뤤1wq轫o?鱑뜀瘊?뎃h灑\\ꛣ}K峐^ኖ⤐林ꉓhy": null - } - ], - "᱀n肓ㄛ\"堻2>m殮'1橌%Ꞵ군=Ӳ鯨9耛<\/n據0u彘8㬇៩f᏿诙]嚊": "䋯쪦S럶匏ㅛ#)O`ሀX_鐪渲⛀㨻宅闩➈ꢙஶDR⪍" - }, - "tA썓龇 ⋥bj왎录r땽✒롰;羋^\\?툳*┎?썀ma䵳넅U䳆૘〹䆀LQ0\b疀U~u$M}(鵸g⳾i抦뛹?䤈땚검.鹆?ꩡtⶥGĒ;!ቹHS峻B츪켏f5≺": 2366175040075384032, - "전pJjleb]ួ": -7.5418493141528422E18, - "n.鎖ጲ\n?,$䪘": true - }, - "欈Ar㉣螵᪚茩?O)": null - }, - "쫸M#x}D秱欐K=侫们丐.KꕾxẠ\u001e㿯䣛F܍캗qq8꟞ṢFD훎⵳簕꭛^鳜\u205c٫~⑟~冫ऊ2쫰<\/戲윱o<\"": true - }, - "㷝聥/T뱂\u0010锕|内䞇x侁≦㭖:M?iM᣿IJe煜dG࣯尃⚩gPt*辂.{磼럾䝪@a\\袛?}ᓺB珼": true - } - } - ]]}]}}, - "tn\"6ꫤ샾䄄;銞^%VBPwu묪`Y僑N.↺Ws?3C⤻9唩S䠮ᐴm;sᇷ냞඘B/;툥B?lB∤)G+O9m裢0kC햪䪤": -4.5941249382502277E18, - "ᚔt'\\愫?鵀@\\びꂕP큠<<]煹G-b!S?\nꖽ鼫,ݛ&頺y踦?E揆릱H}햧캡b@手.p탻>췽㣬ꒅ`qe佭P>ᓂ&?u}毚ᜉ蟶頳졪ᎏzl2wO": -2.53561440423275936E17 - }]} - } - ] - ]], - "潈촒⿂叡": 5495738871964062986 - } - ]] - } - ] - ]} - ]] - ]] - ]} - ] - ]}, - "ႁq킍蓅R`謈蟐ᦏ儂槐僻ﹶ9婌櫞釈~\"%匹躾ɢ뤥>࢟瀴愅?殕节/냔O✬H鲽엢?ᮈੁ⋧d␽㫐zCe*": 2.15062231586689536E17, - "㶵Ui曚珰鋪ᾼ臧P{䍏䷪쨑̟A뼿T渠誈䏚D1!잶<\/㡍7?)2l≣穷᛾稝{:;㡹nemיּ訊`G": null, - "䀕\"飕辭p圁f#뫆䶷뛮;⛴ᩍ3灚덏ᰝ쎓⦷詵%᜖Մfs⇫(\u001e~P|ﭗCⲾផv湟W첋(텪બT<บSꏉ੗⋲X婵i ӵ⇮?L䬇|ꈏ?졸": 1.548341247351782E-19 - } - ] - }, - "t;:N\u0015q鐦Rt缆{ꮐC?஛㷱敪\\+鲊㉫㓪몗릙竏(氵kYS": "XᰂT?൮ô", - "碕飦幑|+ 㚦鏶`镥ꁩ B<\/加륙": -4314053432419755959, - "秌孳(p!G?V傫%8ሽ8w;5鲗㦙LI檸\u2098": "zG N볞䆭鎍흘\\ONK3횙<\/樚立圌Q튅k쩎Ff쁋aׂJK銆ઘ즐狩6༥✙䩜篥CzP(聻駇HHퟲ讃%,ά{렍p而刲vy䦅ክ^톺M楒鍢㹳]Mdg2>䤉洞", - "踛M젧>忔芿㌜Zk": 2215369545966507819, - "씐A`$槭頰퍻^U覒\bG毲aᣴU;8!팲f꜇E⸃_卵{嫏羃X쀳C7뗮m(嚼u N܁谟D劯9]#": true, - "ﻩ!뵸-筚P᭛}ἰ履lPh?౮ⶹꆛ穉뎃g萑㑓溢CX뾇G㖬A錟]RKaꄘ]Yo+@䘁's섎襠$^홰}F": null - }, - "粘ꪒ4HXᕘ蹵.$區\r\u001d묁77pPc^y笲Q<\/ꖶ 訍䃍ᨕG?*": 1.73773035935040224E17 - }, - "婅拳?bkU;#D矠❴vVN쩆t㜷A풃갮娪a%鮏絪3dAv룒#tm쑬⌛qYwc4|L8KZ;xU⓭㳔밆拓EZ7襨eD|隰ऌ䧼u9Ԣ+]贴P荿": 2.9628516456987075E18 - }]}}] - ]} - }} - ]}] - ], - "|g翉F*湹̶\u0005⏐1脉̀eI쩓ᖂ㫱0碞l䴨ꑅ㵽7AtἈ턧yq䳥塑:z:遀ᄐX눔擉)`N3昛oQ셖y-ڨ⾶恢ꈵq^<\/": null, - "菹\\랓G^璬x৴뭸ゆUS겧﮷Bꮤ ┉銜᯻0%N7}~f洋坄Xꔼ<\/4妟Vꄟ9:౟곡t킅冩䧉笭裟炂4봋ⱳ叺怊t+怯涗\"0㖈Hq": false, - "졬믟'ﺇফ圪쓬멤m邸QLব䗁愍4jvs翙 ྍ꧀艳H-|": null, - "컮襱⣱뗠 R毪/鹙꾀%헳8&": -5770986448525107020 - } - ], - "B䔚bꐻ뙏姓展槰T-똌鷺tc灿᫽^㓟䏀o3o$꘭趙萬I顩)뇭Ἑ䓝\f@{ᣨ`x3蔛": null - } - ] - ] - }], - "⦖扚vWꃱ꥙㾠壢輓{-⎳鹷贏璿䜑bG倛⋐磎c皇皩7a~ﳫU╣Q࠭ꎉS摅姽OW.홌ೞ.": null, - "蚪eVlH献r}ᮏ믠ﰩꔄ@瑄ⲱ": null, - "퀭$JWoꩢg역쁍䖔㑺h&ୢtXX愰㱇?㾫I_6 OaB瑈q裿": null, - "꽦ﲼLyr纛Zdu珍B絟쬴糔?㕂짹䏵e": "ḱ\u2009cX9멀i䶛簆㳀k" - } - ]]]], - "(_ꏮg່澮?ᩑyM<艷\u001aꪽ\\庼뙭Z맷㰩Vm\\lY筺]3㋲2㌩㄀Eਟ䝵⨄쐨ᔟgङHn鐖⤇놋瓇Q탚單oY\"♆臾jHᶈ征ቄ??uㇰA?#1侓": null - }, - "觓^~ሢ&iI띆g륎ḱ캀.ᓡꀮ胙鈉": 1.0664523593012836E-19, - "y詭Gbᔶऽs댁U:杜⤎ϲ쁗⮼D醄诿q뙰I#즧v蔎xHᵿt᡽[**?崮耖p缫쿃L菝,봬ꤦC쯵#=X1瞻@OZc鱗CQTx": null - } - ] - }}], - "剘紁\u0004\\Xn⊠6,တױ;嵣崇}讃iႽ)d1\\䔓": null - }, - "脨z\"{X,1u찜<'k&@?1}Yn$\u0015Rd輲ーa쮂굄+B$l": true, - "諳>*쭮괐䵟Ґ+<箁}빀䅱⡔檏臒hIH脟ꩪC핝ଗP좕\"0i<\/C褻D۞恗+^5?'ꂱ䚫^7}㡠cq6\\쨪ꔞꥢ?纖䫀氮蒫侲빦敶q{A煲G": -6880961710038544266 - }}] - }, - "5s⨲JvಽῶꭂᄢI.a৊": null, - "?1q꽏쿻ꛋDR%U娝>DgN乭G": -1.2105047302732358E-19 - } - ] - ]}, - "qZz`撋뙹둣j碇쁏\\ꆥ\u0018@藴疰Wz)O{F䶛l᷂绘訥$]뮍夻䢋䩇萿獰樧猵⣭j萶q)$꬚⵷0馢W:Ⱍ!Qoe": -1666634370862219540, - "t": "=wp|~碎Q鬳Ӎ\\l-<\/^ﳊhn퐖}䍔t碵ḛ혷?靻䊗", - "邙쇡㯇%#=,E4勃驆V繚q[Y댻XV㡸[逹ᰏ葢B@u=JS5?bLRn얮㍉⏅ﰳ?a6[&큟!藈": 1.2722786745736667E-19 - }, - "X블땨4{ph鵋ꉯ웸 5p簂䦭s_E徔濧d稝~No穔噕뽲)뉈c5M윅>⚋[岦䲟懷恁?鎐꓆ฬ爋獠䜔s{\u001bm鐚儸煛%bﯿXT>ꗘ@8G": 1157841540507770724, - "媤娪Q杸\u0011SAyᡈ쿯": true, - "灚^ಸ%걁<\/蛯?\"祴坓\\\\'흍": -3.4614808555942579E18, - "釴U:O湛㴑䀣렑縓\ta)(j:숾却䗌gCiB뽬Oyuq輥厁/7)?今hY︺Q": null - } - ] - ]]]}] - ], - "I笔趠Ph!<ཛྷ㸞诘X$畉F\u0005笷菟.Esr릙!W☆䲖뗷莾뒭U\"䀸犜Uo3Gꯌx4r蔇᡹㧪쨢準<䂀%ࡡꟼ瑍8炝Xs0䀝销?fi쥱ꆝલBB": -8571484181158525797, - "L⦁o#J|\"⽩-㱢d㌛8d\\㶤傩儻E[Y熯)r噤὘勇 }": "e(濨쓌K䧚僒㘍蠤Vᛸ\"络QJL2,嬓왍伢㋒䴿考澰@(㏾`kX$끑эE斡,蜍&~y", - "vj.|统圪ᵮPL?2oŶ`밧\"勃+0ue%⿥绬췈체$6:qa렐Q;~晘3㙘鹑": true, - "ශؙ4獄⶿c︋i⚅:ん閝Ⳙ苆籦kw{䙞셕pC췃ꍬ␜꟯ꚓ酄b힝hwk꭭M鬋8B耳쑘WQ\\偙ac'唀x᪌\u2048*h짎#ፇ鮠뾏ឿ뀌": false, - "⎀jꄒ牺3Ⓝ컴~?親ꕽぼܓ喏瘘!@<튋㐌꿱⩦{a?Yv%⪧笯Uܱ栅E搚i뚬:ꄃx7䙳ꦋ&䓹vq☶I䁘ᾘ涜\\썉뺌Lr%Bc㍜3?ꝭ砿裞]": null, - "⭤뙓z(㡂%亳K䌽꫿AԾ岺㦦㼴輞낚Vꦴw냟鬓㹈뽈+o3譻K1잞": 2091209026076965894, - "ㇲ\t⋇轑ꠤ룫X긒\"zoY읇희wj梐쐑l侸`e%s": -9.9240075473576563E17, - "啸ꮑ㉰!ᚓ}銏": -4.0694813896301194E18, - ">]囋੽EK뇜>_ꀣ緳碖{쐐裔[<ನ\"䇅\"5L?#xTwv#罐\u0005래t应\\N?빗;": "v쮽瞭p뭃" - } - ]], - "斴槾?Z翁\"~慍弞ﻆ=꜡o5鐋dw\"?K蠡i샾ogDﲰ_C*⬟iㇷ4nય蟏[㟉U꽌娛苸 ঢ়操贻洞펻)쿗૊許X⨪VY츚Z䍾㶭~튃ᵦ<\/E臭tve猑x嚢": null, - "锡⛩<\/칥ꈙᬙ蝀&Ꚑ籬■865?_>L詏쿨䈌浿弥爫̫lj&zx<\/C쉾?覯n?": null, - "꾳鑤/꼩d=ᘈn挫ᑩ䰬ZC": "3錢爋6Ƹ䴗v⪿Wr益G韠[\u0010屗9쁡钁u?殢c䳀蓃樄욂NAq赟c튒瘁렶Aૡɚ捍" - } - ] - ] - ]} - ] - ] - }]]]}} - ]}], - "Ej䗳U<\/Q=灒샎䞦,堰頠@褙g_\u0003ꤾfⶽ?퇋!łB〙ד3CC䌴鈌U:뭔咎(Qો臃䡬荋BO7㢝䟸\"Yb": 2.36010731779814E-20, - "逸'0岔j\u000e눘먷翌C츊秦=ꭣ棭ှ;鳸=麱$XP⩉駚橄A\\좱⛌jqv䰞3Ь踌v㳆¹gT┌gvLB賖烡m?@E঳i": null - }, - "曺v찘ׁ?&绫O័": 9107241066550187880 - } - ] - ], - "(e屄\u0019昜훕琖b蓘ᬄ0/۲묇Z蘮ဏ⨏蛘胯뢃@㘉8ሪWᨮ⦬ᅳ䅴HI၇쨳z囕陻엣1赳o": true, - ",b刈Z,ၠ晐T솝ŕB⩆ou'퐼≃绗雗d譊": null, - "a唥KB\"ﳝ肕$u\n^⅄P䟼냉䞸⩪u윗瀱ꔨ#yşs꒬=1|ﲤ爢`t౐튼쳫_Az(Ṋ擬㦷좕耈6": 2099309172767331582, - "?㴸U<\/䢔ꯡ阽扆㐤q鐋?f㔫wM嬙-;UV죫嚔픞G&\"Cᗍ䪏풊Q": "VM7疹+陕枡툩窲}翡䖶8欞čsT뮐}璤:jﺋ鎴}HfA൝⧻Zd#Qu茅J髒皣Y-︴[?-~쉜v딏璮㹚䅊﩯<-#\u000e걀h\u0004u抱﵊㼃U<㱷⊱IC進" - }, - "숌dee節鏽邺p넱蹓+e罕U": true - } - ], - "b⧴룏??ᔠ3ぱ>%郿劃翐ꏬꠛW瞳᫏누躨狀ໄy੽\"ីuS=㨞馸k乆E": "トz݈^9R䬑<ﮛGRꨳ\u000fTT泠纷꽀MRᴱ纊:㠭볮?%N56%鈕1䗍䜁a䲗j陇=뿻偂衋࿘ᓸ?ᕵZ+<\/}H耢b䀁z^f$&㝒LkꢳI脚뙛u": 5.694374481577558E-20 - }] - } - ]], - "obj": {"key": "wrong value"}, - "퓲꽪m{㶩/뇿#⼢&᭙硞㪔E嚉c樱㬇1a綑᝖DḾ䝩": null - } -} \ No newline at end of file diff --git a/3rdparty/rapidjson/bin/data/webapp.json b/3rdparty/rapidjson/bin/data/webapp.json deleted file mode 100644 index ee7b0f8bab2..00000000000 --- a/3rdparty/rapidjson/bin/data/webapp.json +++ /dev/null @@ -1,88 +0,0 @@ -{"web-app": { - "servlet": [ - { - "servlet-name": "cofaxCDS", - "servlet-class": "org.cofax.cds.CDSServlet", - "init-param": { - "configGlossary:installationAt": "Philadelphia, PA", - "configGlossary:adminEmail": "ksm@pobox.com", - "configGlossary:poweredBy": "Cofax", - "configGlossary:poweredByIcon": "/images/cofax.gif", - "configGlossary:staticPath": "/content/static", - "templateProcessorClass": "org.cofax.WysiwygTemplate", - "templateLoaderClass": "org.cofax.FilesTemplateLoader", - "templatePath": "templates", - "templateOverridePath": "", - "defaultListTemplate": "listTemplate.htm", - "defaultFileTemplate": "articleTemplate.htm", - "useJSP": false, - "jspListTemplate": "listTemplate.jsp", - "jspFileTemplate": "articleTemplate.jsp", - "cachePackageTagsTrack": 200, - "cachePackageTagsStore": 200, - "cachePackageTagsRefresh": 60, - "cacheTemplatesTrack": 100, - "cacheTemplatesStore": 50, - "cacheTemplatesRefresh": 15, - "cachePagesTrack": 200, - "cachePagesStore": 100, - "cachePagesRefresh": 10, - "cachePagesDirtyRead": 10, - "searchEngineListTemplate": "forSearchEnginesList.htm", - "searchEngineFileTemplate": "forSearchEngines.htm", - "searchEngineRobotsDb": "WEB-INF/robots.db", - "useDataStore": true, - "dataStoreClass": "org.cofax.SqlDataStore", - "redirectionClass": "org.cofax.SqlRedirection", - "dataStoreName": "cofax", - "dataStoreDriver": "com.microsoft.jdbc.sqlserver.SQLServerDriver", - "dataStoreUrl": "jdbc:microsoft:sqlserver://LOCALHOST:1433;DatabaseName=goon", - "dataStoreUser": "sa", - "dataStorePassword": "dataStoreTestQuery", - "dataStoreTestQuery": "SET NOCOUNT ON;select test='test';", - "dataStoreLogFile": "/usr/local/tomcat/logs/datastore.log", - "dataStoreInitConns": 10, - "dataStoreMaxConns": 100, - "dataStoreConnUsageLimit": 100, - "dataStoreLogLevel": "debug", - "maxUrlLength": 500}}, - { - "servlet-name": "cofaxEmail", - "servlet-class": "org.cofax.cds.EmailServlet", - "init-param": { - "mailHost": "mail1", - "mailHostOverride": "mail2"}}, - { - "servlet-name": "cofaxAdmin", - "servlet-class": "org.cofax.cds.AdminServlet"}, - - { - "servlet-name": "fileServlet", - "servlet-class": "org.cofax.cds.FileServlet"}, - { - "servlet-name": "cofaxTools", - "servlet-class": "org.cofax.cms.CofaxToolsServlet", - "init-param": { - "templatePath": "toolstemplates/", - "log": 1, - "logLocation": "/usr/local/tomcat/logs/CofaxTools.log", - "logMaxSize": "", - "dataLog": 1, - "dataLogLocation": "/usr/local/tomcat/logs/dataLog.log", - "dataLogMaxSize": "", - "removePageCache": "/content/admin/remove?cache=pages&id=", - "removeTemplateCache": "/content/admin/remove?cache=templates&id=", - "fileTransferFolder": "/usr/local/tomcat/webapps/content/fileTransferFolder", - "lookInContext": 1, - "adminGroupID": 4, - "betaServer": true}}], - "servlet-mapping": { - "cofaxCDS": "/", - "cofaxEmail": "/cofaxutil/aemail/*", - "cofaxAdmin": "/admin/*", - "fileServlet": "/static/*", - "cofaxTools": "/tools/*"}, - - "taglib": { - "taglib-uri": "cofax.tld", - "taglib-location": "/WEB-INF/tlds/cofax.tld"}}} \ No newline at end of file diff --git a/3rdparty/rapidjson/bin/data/widget.json b/3rdparty/rapidjson/bin/data/widget.json deleted file mode 100644 index 32690e8b763..00000000000 --- a/3rdparty/rapidjson/bin/data/widget.json +++ /dev/null @@ -1,26 +0,0 @@ -{"widget": { - "debug": "on", - "window": { - "title": "Sample Konfabulator Widget", - "name": "main_window", - "width": 500, - "height": 500 - }, - "image": { - "src": "Images/Sun.png", - "name": "sun1", - "hOffset": 250, - "vOffset": 250, - "alignment": "center" - }, - "text": { - "data": "Click Here", - "size": 36, - "style": "bold", - "name": "text1", - "hOffset": 250, - "vOffset": 100, - "alignment": "center", - "onMouseUp": "sun1.opacity = (sun1.opacity / 100) * 90;" - } -}} \ No newline at end of file diff --git a/3rdparty/rapidjson/bin/draft-04/schema b/3rdparty/rapidjson/bin/draft-04/schema deleted file mode 100644 index 85eb502a680..00000000000 --- a/3rdparty/rapidjson/bin/draft-04/schema +++ /dev/null @@ -1,150 +0,0 @@ -{ - "id": "http://json-schema.org/draft-04/schema#", - "$schema": "http://json-schema.org/draft-04/schema#", - "description": "Core schema meta-schema", - "definitions": { - "schemaArray": { - "type": "array", - "minItems": 1, - "items": { "$ref": "#" } - }, - "positiveInteger": { - "type": "integer", - "minimum": 0 - }, - "positiveIntegerDefault0": { - "allOf": [ { "$ref": "#/definitions/positiveInteger" }, { "default": 0 } ] - }, - "simpleTypes": { - "enum": [ "array", "boolean", "integer", "null", "number", "object", "string" ] - }, - "stringArray": { - "type": "array", - "items": { "type": "string" }, - "minItems": 1, - "uniqueItems": true - } - }, - "type": "object", - "properties": { - "id": { - "type": "string", - "format": "uri" - }, - "$schema": { - "type": "string", - "format": "uri" - }, - "title": { - "type": "string" - }, - "description": { - "type": "string" - }, - "default": {}, - "multipleOf": { - "type": "number", - "minimum": 0, - "exclusiveMinimum": true - }, - "maximum": { - "type": "number" - }, - "exclusiveMaximum": { - "type": "boolean", - "default": false - }, - "minimum": { - "type": "number" - }, - "exclusiveMinimum": { - "type": "boolean", - "default": false - }, - "maxLength": { "$ref": "#/definitions/positiveInteger" }, - "minLength": { "$ref": "#/definitions/positiveIntegerDefault0" }, - "pattern": { - "type": "string", - "format": "regex" - }, - "additionalItems": { - "anyOf": [ - { "type": "boolean" }, - { "$ref": "#" } - ], - "default": {} - }, - "items": { - "anyOf": [ - { "$ref": "#" }, - { "$ref": "#/definitions/schemaArray" } - ], - "default": {} - }, - "maxItems": { "$ref": "#/definitions/positiveInteger" }, - "minItems": { "$ref": "#/definitions/positiveIntegerDefault0" }, - "uniqueItems": { - "type": "boolean", - "default": false - }, - "maxProperties": { "$ref": "#/definitions/positiveInteger" }, - "minProperties": { "$ref": "#/definitions/positiveIntegerDefault0" }, - "required": { "$ref": "#/definitions/stringArray" }, - "additionalProperties": { - "anyOf": [ - { "type": "boolean" }, - { "$ref": "#" } - ], - "default": {} - }, - "definitions": { - "type": "object", - "additionalProperties": { "$ref": "#" }, - "default": {} - }, - "properties": { - "type": "object", - "additionalProperties": { "$ref": "#" }, - "default": {} - }, - "patternProperties": { - "type": "object", - "additionalProperties": { "$ref": "#" }, - "default": {} - }, - "dependencies": { - "type": "object", - "additionalProperties": { - "anyOf": [ - { "$ref": "#" }, - { "$ref": "#/definitions/stringArray" } - ] - } - }, - "enum": { - "type": "array", - "minItems": 1, - "uniqueItems": true - }, - "type": { - "anyOf": [ - { "$ref": "#/definitions/simpleTypes" }, - { - "type": "array", - "items": { "$ref": "#/definitions/simpleTypes" }, - "minItems": 1, - "uniqueItems": true - } - ] - }, - "allOf": { "$ref": "#/definitions/schemaArray" }, - "anyOf": { "$ref": "#/definitions/schemaArray" }, - "oneOf": { "$ref": "#/definitions/schemaArray" }, - "not": { "$ref": "#" } - }, - "dependencies": { - "exclusiveMaximum": [ "maximum" ], - "exclusiveMinimum": [ "minimum" ] - }, - "default": {} -} diff --git a/3rdparty/rapidjson/bin/encodings/utf16be.json b/3rdparty/rapidjson/bin/encodings/utf16be.json deleted file mode 100644 index e46dbfb9ddc489f4e26450bd86626a3a55235533..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 368 zcmZRmX5eMuV&G&@Vn}7k1Cmxi?8%_Okj#(>gf%3?5(;N+7l+2{!x4;thftTA|Lu+w1DjQa+a2Au{y z26YCJ222LAKvq6bep0}8gA{{6plGzgWHfWKfqn#=vth=jDGUn76?U%KS;L^P%ksDj tgTf&Rph(BjEytz+eXFqc$MzYUk1!}4b-BuN@&J(bI_d(HQ38iSEdbokSsefX diff --git a/3rdparty/rapidjson/bin/encodings/utf16bebom.json b/3rdparty/rapidjson/bin/encodings/utf16bebom.json deleted file mode 100644 index 0a23ae205cb3354e828cd3c0f3fce322b9618815..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 370 zcmezOpP`z8mw}6clR=3gl_3vES^=>qg91Y`Ln4r`02EDRC;`&x3^_nnF%T+%Wm152 zCRiqgAs?u!7^qqu%+FvbWher(a)IJ{K=X9qc2qHBFz7OPfK4cY*p?*N@Ha%xkGptx zNpk~_A8)|+zSXm?7%<_~SBzbsze?X~|6nwISwNe>eyTiZkZ-WY;HAM%gGn>)8&n!} z8uS>{8AKW|8N>ov`9S$e0ox5y3<80o(FT*z%*h7&5p2$e8JngsC>&SVxn^e#gTgM$ v<1P#eha`X^9Y?nun*#K$!rC9(XKX&gpm5aXD$B_OK-%l53s6Q090s)jyQo_l diff --git a/3rdparty/rapidjson/bin/encodings/utf16le.json b/3rdparty/rapidjson/bin/encodings/utf16le.json deleted file mode 100644 index 92d504530cda3c0f6c775907f544e5b60fb9dcf8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 368 zcmbSxg4F^cCaKr{cf5FW4VdUl!0Nh@TEt<{PXrcxkZHV3NW88I=Z|20aFK z29X9#2C+a^zQMuDNe0^kQVartqR|GEf#S&aX9N8RF=xhxDVr1+6ppXiS+i4t!E%?& xaRmm6LkbKX$G04va!d~xDnHiF*nVWQ0)xv@ma7L&Dlm8*bpgsKfy1Dd0RZ`SSsefX diff --git a/3rdparty/rapidjson/bin/encodings/utf16lebom.json b/3rdparty/rapidjson/bin/encodings/utf16lebom.json deleted file mode 100644 index eaba00132cdfbc222ddce1333d0268821d68db0d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 370 zcmezWubP3Efs28YL5U%iArDAe0kJ280z)!GB9N~D6is9(0n+IVIY3r15GsIWQh;Grs9GJ&&tNEJC<3!`f#P~V^K{^LR54^Q=rVYKO(=odCYbcMK`w;bZ+CHX z2~PvB-}ZpjeOG2N8Q{`aj6a&*cuJz%K(SUY3;k~;6rk2xc0Q&JsNLlrc^6f7n8&gAUj3}6Drz~2LKuH!Wb zU>X*{+G;|O#P&>r<5?(rtSy6U+2gzxD1M*ez78uT+9G%7w}WSHh2MK@pxN67-QbyA z+jZ?pb{nskcE6>eMyaoc5$;LZL#rjGW`9;XI+xDgq_86KmebEWmC-NN9QR8N{?l)c zy56azcKQ(yzh!s zTJ0ZbEYF#HCz&Y76i>eIJ@-BDGT%sF-;&m$1}dQf8ejqz;(L31c5wzU1|#6_0XWz3 z3Is3-b6{;bCWvEu#=-G46g<`z!L{shUK13)PjO#`r6O&fyYpMYGdIKUJ=W0dZGlek zOs?&^_Qbo5)=Jx-(m=h`Q^g3kr0k$o6H~J{EghUnCofW17JEzS=bcLEmuQUoCHnvA zH$z?TR8%{8kB8qfJcD=0z@e0S<4nRH?86oe0{eu+U=3g1Pri2!d6%#coI3MtL=>AX_ow;2pdo4ZLhWc;i-Xenk@RsURdrTA&o@;vuVo;bH;gPdZ;rmcDc$?A zz_(<_3;2c-9K%;A6_5vT2s@Ai_a6iMT<3b{`{q1y2%I|#Cs1ymd3NzTruPZ2q|@u@ z&4V}gDoI-qkk@r5W${^We2U~g_U#KbuhH8&_H!wPMd|q_%E=P1{*)fxBfAgVKG%45 J@*ixY{{az1SsefX diff --git a/3rdparty/rapidjson/bin/encodings/utf32lebom.json b/3rdparty/rapidjson/bin/encodings/utf32lebom.json deleted file mode 100644 index d3db39bf732c7055cb6053c23947c89d6859b2e9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 740 zcmb7?yDNop9EU&2;&KL?NpDgXWMw`B2A5bQ1CHD&m*KdjER@cG;myB*66$nVkV|%E zv;V;2@_c&Vw@!vrXL$PFZ}0E@{gE~#rJx$Bpb;ivG1fa{*^LZf0>;4c0Gw-k6#|%o zd9ZIKCWvjrdPUUiCvOv@ujfy{nBYpdOMLS+RLBko64Ej)ECVgM3$O2OJCnq z-1|Puw`9jN_=Ex+!bd1&k^67}+b|67KMMA_&h^gs%^BnXIClh&pwvEd?BaJU-Y2|} zjxVD(4_?@-AZ>h0U MT;tivf3SuA2hZtS8UO$Q diff --git a/3rdparty/rapidjson/bin/encodings/utf8.json b/3rdparty/rapidjson/bin/encodings/utf8.json deleted file mode 100644 index c500c943f6b..00000000000 --- a/3rdparty/rapidjson/bin/encodings/utf8.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "en":"I can eat glass and it doesn't hurt me.", - "zh-Hant":"我能吞下玻璃而不傷身體。", - "zh-Hans":"我能吞下玻璃而不伤身体。", - "ja":"私はガラスを食べられます。それは私を傷つけません。", - "ko":"나는 유리를 먹을 수 있어요. 그래도 아프지 않아요" -} \ No newline at end of file diff --git a/3rdparty/rapidjson/bin/encodings/utf8bom.json b/3rdparty/rapidjson/bin/encodings/utf8bom.json deleted file mode 100644 index b9839fe2fa7..00000000000 --- a/3rdparty/rapidjson/bin/encodings/utf8bom.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "en":"I can eat glass and it doesn't hurt me.", - "zh-Hant":"我能吞下玻璃而不傷身體。", - "zh-Hans":"我能吞下玻璃而不伤身体。", - "ja":"私はガラスを食べられます。それは私を傷つけません。", - "ko":"나는 유리를 먹을 수 있어요. 그래도 아프지 않아요" -} \ No newline at end of file diff --git a/3rdparty/rapidjson/bin/jsonchecker/fail1.json b/3rdparty/rapidjson/bin/jsonchecker/fail1.json deleted file mode 100644 index 6216b865f10..00000000000 --- a/3rdparty/rapidjson/bin/jsonchecker/fail1.json +++ /dev/null @@ -1 +0,0 @@ -"A JSON payload should be an object or array, not a string." \ No newline at end of file diff --git a/3rdparty/rapidjson/bin/jsonchecker/fail10.json b/3rdparty/rapidjson/bin/jsonchecker/fail10.json deleted file mode 100644 index 5d8c0047bd5..00000000000 --- a/3rdparty/rapidjson/bin/jsonchecker/fail10.json +++ /dev/null @@ -1 +0,0 @@ -{"Extra value after close": true} "misplaced quoted value" \ No newline at end of file diff --git a/3rdparty/rapidjson/bin/jsonchecker/fail11.json b/3rdparty/rapidjson/bin/jsonchecker/fail11.json deleted file mode 100644 index 76eb95b4583..00000000000 --- a/3rdparty/rapidjson/bin/jsonchecker/fail11.json +++ /dev/null @@ -1 +0,0 @@ -{"Illegal expression": 1 + 2} \ No newline at end of file diff --git a/3rdparty/rapidjson/bin/jsonchecker/fail12.json b/3rdparty/rapidjson/bin/jsonchecker/fail12.json deleted file mode 100644 index 77580a4522d..00000000000 --- a/3rdparty/rapidjson/bin/jsonchecker/fail12.json +++ /dev/null @@ -1 +0,0 @@ -{"Illegal invocation": alert()} \ No newline at end of file diff --git a/3rdparty/rapidjson/bin/jsonchecker/fail13.json b/3rdparty/rapidjson/bin/jsonchecker/fail13.json deleted file mode 100644 index 379406b59bd..00000000000 --- a/3rdparty/rapidjson/bin/jsonchecker/fail13.json +++ /dev/null @@ -1 +0,0 @@ -{"Numbers cannot have leading zeroes": 013} \ No newline at end of file diff --git a/3rdparty/rapidjson/bin/jsonchecker/fail14.json b/3rdparty/rapidjson/bin/jsonchecker/fail14.json deleted file mode 100644 index 0ed366b38a3..00000000000 --- a/3rdparty/rapidjson/bin/jsonchecker/fail14.json +++ /dev/null @@ -1 +0,0 @@ -{"Numbers cannot be hex": 0x14} \ No newline at end of file diff --git a/3rdparty/rapidjson/bin/jsonchecker/fail15.json b/3rdparty/rapidjson/bin/jsonchecker/fail15.json deleted file mode 100644 index fc8376b605d..00000000000 --- a/3rdparty/rapidjson/bin/jsonchecker/fail15.json +++ /dev/null @@ -1 +0,0 @@ -["Illegal backslash escape: \x15"] \ No newline at end of file diff --git a/3rdparty/rapidjson/bin/jsonchecker/fail16.json b/3rdparty/rapidjson/bin/jsonchecker/fail16.json deleted file mode 100644 index 3fe21d4b532..00000000000 --- a/3rdparty/rapidjson/bin/jsonchecker/fail16.json +++ /dev/null @@ -1 +0,0 @@ -[\naked] \ No newline at end of file diff --git a/3rdparty/rapidjson/bin/jsonchecker/fail17.json b/3rdparty/rapidjson/bin/jsonchecker/fail17.json deleted file mode 100644 index 62b9214aeda..00000000000 --- a/3rdparty/rapidjson/bin/jsonchecker/fail17.json +++ /dev/null @@ -1 +0,0 @@ -["Illegal backslash escape: \017"] \ No newline at end of file diff --git a/3rdparty/rapidjson/bin/jsonchecker/fail18.json b/3rdparty/rapidjson/bin/jsonchecker/fail18.json deleted file mode 100644 index edac92716f1..00000000000 --- a/3rdparty/rapidjson/bin/jsonchecker/fail18.json +++ /dev/null @@ -1 +0,0 @@ -[[[[[[[[[[[[[[[[[[[["Too deep"]]]]]]]]]]]]]]]]]]]] \ No newline at end of file diff --git a/3rdparty/rapidjson/bin/jsonchecker/fail19.json b/3rdparty/rapidjson/bin/jsonchecker/fail19.json deleted file mode 100644 index 3b9c46fa9a2..00000000000 --- a/3rdparty/rapidjson/bin/jsonchecker/fail19.json +++ /dev/null @@ -1 +0,0 @@ -{"Missing colon" null} \ No newline at end of file diff --git a/3rdparty/rapidjson/bin/jsonchecker/fail2.json b/3rdparty/rapidjson/bin/jsonchecker/fail2.json deleted file mode 100644 index 6b7c11e5a56..00000000000 --- a/3rdparty/rapidjson/bin/jsonchecker/fail2.json +++ /dev/null @@ -1 +0,0 @@ -["Unclosed array" \ No newline at end of file diff --git a/3rdparty/rapidjson/bin/jsonchecker/fail20.json b/3rdparty/rapidjson/bin/jsonchecker/fail20.json deleted file mode 100644 index 27c1af3e72e..00000000000 --- a/3rdparty/rapidjson/bin/jsonchecker/fail20.json +++ /dev/null @@ -1 +0,0 @@ -{"Double colon":: null} \ No newline at end of file diff --git a/3rdparty/rapidjson/bin/jsonchecker/fail21.json b/3rdparty/rapidjson/bin/jsonchecker/fail21.json deleted file mode 100644 index 62474573b21..00000000000 --- a/3rdparty/rapidjson/bin/jsonchecker/fail21.json +++ /dev/null @@ -1 +0,0 @@ -{"Comma instead of colon", null} \ No newline at end of file diff --git a/3rdparty/rapidjson/bin/jsonchecker/fail22.json b/3rdparty/rapidjson/bin/jsonchecker/fail22.json deleted file mode 100644 index a7752581bcf..00000000000 --- a/3rdparty/rapidjson/bin/jsonchecker/fail22.json +++ /dev/null @@ -1 +0,0 @@ -["Colon instead of comma": false] \ No newline at end of file diff --git a/3rdparty/rapidjson/bin/jsonchecker/fail23.json b/3rdparty/rapidjson/bin/jsonchecker/fail23.json deleted file mode 100644 index 494add1ca19..00000000000 --- a/3rdparty/rapidjson/bin/jsonchecker/fail23.json +++ /dev/null @@ -1 +0,0 @@ -["Bad value", truth] \ No newline at end of file diff --git a/3rdparty/rapidjson/bin/jsonchecker/fail24.json b/3rdparty/rapidjson/bin/jsonchecker/fail24.json deleted file mode 100644 index caff239bfc3..00000000000 --- a/3rdparty/rapidjson/bin/jsonchecker/fail24.json +++ /dev/null @@ -1 +0,0 @@ -['single quote'] \ No newline at end of file diff --git a/3rdparty/rapidjson/bin/jsonchecker/fail25.json b/3rdparty/rapidjson/bin/jsonchecker/fail25.json deleted file mode 100644 index 8b7ad23e010..00000000000 --- a/3rdparty/rapidjson/bin/jsonchecker/fail25.json +++ /dev/null @@ -1 +0,0 @@ -[" tab character in string "] \ No newline at end of file diff --git a/3rdparty/rapidjson/bin/jsonchecker/fail26.json b/3rdparty/rapidjson/bin/jsonchecker/fail26.json deleted file mode 100644 index 845d26a6a54..00000000000 --- a/3rdparty/rapidjson/bin/jsonchecker/fail26.json +++ /dev/null @@ -1 +0,0 @@ -["tab\ character\ in\ string\ "] \ No newline at end of file diff --git a/3rdparty/rapidjson/bin/jsonchecker/fail27.json b/3rdparty/rapidjson/bin/jsonchecker/fail27.json deleted file mode 100644 index e2aeef5ca2a..00000000000 --- a/3rdparty/rapidjson/bin/jsonchecker/fail27.json +++ /dev/null @@ -1,2 +0,0 @@ -["line -break"] \ No newline at end of file diff --git a/3rdparty/rapidjson/bin/jsonchecker/fail28.json b/3rdparty/rapidjson/bin/jsonchecker/fail28.json deleted file mode 100644 index 3c8978fd8d3..00000000000 --- a/3rdparty/rapidjson/bin/jsonchecker/fail28.json +++ /dev/null @@ -1,2 +0,0 @@ -["line\ -break"] \ No newline at end of file diff --git a/3rdparty/rapidjson/bin/jsonchecker/fail29.json b/3rdparty/rapidjson/bin/jsonchecker/fail29.json deleted file mode 100644 index 47ec421bb62..00000000000 --- a/3rdparty/rapidjson/bin/jsonchecker/fail29.json +++ /dev/null @@ -1 +0,0 @@ -[0e] \ No newline at end of file diff --git a/3rdparty/rapidjson/bin/jsonchecker/fail3.json b/3rdparty/rapidjson/bin/jsonchecker/fail3.json deleted file mode 100644 index 168c81eb785..00000000000 --- a/3rdparty/rapidjson/bin/jsonchecker/fail3.json +++ /dev/null @@ -1 +0,0 @@ -{unquoted_key: "keys must be quoted"} \ No newline at end of file diff --git a/3rdparty/rapidjson/bin/jsonchecker/fail30.json b/3rdparty/rapidjson/bin/jsonchecker/fail30.json deleted file mode 100644 index 8ab0bc4b8b2..00000000000 --- a/3rdparty/rapidjson/bin/jsonchecker/fail30.json +++ /dev/null @@ -1 +0,0 @@ -[0e+] \ No newline at end of file diff --git a/3rdparty/rapidjson/bin/jsonchecker/fail31.json b/3rdparty/rapidjson/bin/jsonchecker/fail31.json deleted file mode 100644 index 1cce602b518..00000000000 --- a/3rdparty/rapidjson/bin/jsonchecker/fail31.json +++ /dev/null @@ -1 +0,0 @@ -[0e+-1] \ No newline at end of file diff --git a/3rdparty/rapidjson/bin/jsonchecker/fail32.json b/3rdparty/rapidjson/bin/jsonchecker/fail32.json deleted file mode 100644 index 45cba7396ff..00000000000 --- a/3rdparty/rapidjson/bin/jsonchecker/fail32.json +++ /dev/null @@ -1 +0,0 @@ -{"Comma instead if closing brace": true, \ No newline at end of file diff --git a/3rdparty/rapidjson/bin/jsonchecker/fail33.json b/3rdparty/rapidjson/bin/jsonchecker/fail33.json deleted file mode 100644 index ca5eb19dc97..00000000000 --- a/3rdparty/rapidjson/bin/jsonchecker/fail33.json +++ /dev/null @@ -1 +0,0 @@ -["mismatch"} \ No newline at end of file diff --git a/3rdparty/rapidjson/bin/jsonchecker/fail4.json b/3rdparty/rapidjson/bin/jsonchecker/fail4.json deleted file mode 100644 index 9de168bf34e..00000000000 --- a/3rdparty/rapidjson/bin/jsonchecker/fail4.json +++ /dev/null @@ -1 +0,0 @@ -["extra comma",] \ No newline at end of file diff --git a/3rdparty/rapidjson/bin/jsonchecker/fail5.json b/3rdparty/rapidjson/bin/jsonchecker/fail5.json deleted file mode 100644 index ddf3ce3d240..00000000000 --- a/3rdparty/rapidjson/bin/jsonchecker/fail5.json +++ /dev/null @@ -1 +0,0 @@ -["double extra comma",,] \ No newline at end of file diff --git a/3rdparty/rapidjson/bin/jsonchecker/fail6.json b/3rdparty/rapidjson/bin/jsonchecker/fail6.json deleted file mode 100644 index ed91580e1b1..00000000000 --- a/3rdparty/rapidjson/bin/jsonchecker/fail6.json +++ /dev/null @@ -1 +0,0 @@ -[ , "<-- missing value"] \ No newline at end of file diff --git a/3rdparty/rapidjson/bin/jsonchecker/fail7.json b/3rdparty/rapidjson/bin/jsonchecker/fail7.json deleted file mode 100644 index 8a96af3e4ee..00000000000 --- a/3rdparty/rapidjson/bin/jsonchecker/fail7.json +++ /dev/null @@ -1 +0,0 @@ -["Comma after the close"], \ No newline at end of file diff --git a/3rdparty/rapidjson/bin/jsonchecker/fail8.json b/3rdparty/rapidjson/bin/jsonchecker/fail8.json deleted file mode 100644 index b28479c6ecb..00000000000 --- a/3rdparty/rapidjson/bin/jsonchecker/fail8.json +++ /dev/null @@ -1 +0,0 @@ -["Extra close"]] \ No newline at end of file diff --git a/3rdparty/rapidjson/bin/jsonchecker/fail9.json b/3rdparty/rapidjson/bin/jsonchecker/fail9.json deleted file mode 100644 index 5815574f363..00000000000 --- a/3rdparty/rapidjson/bin/jsonchecker/fail9.json +++ /dev/null @@ -1 +0,0 @@ -{"Extra comma": true,} \ No newline at end of file diff --git a/3rdparty/rapidjson/bin/jsonchecker/pass1.json b/3rdparty/rapidjson/bin/jsonchecker/pass1.json deleted file mode 100644 index 01305d4e487..00000000000 --- a/3rdparty/rapidjson/bin/jsonchecker/pass1.json +++ /dev/null @@ -1,58 +0,0 @@ -[ - "JSON Test Pattern pass1", - {"object with 1 member":["array with 1 element"]}, - {}, - [], - -42, - true, - false, - null, - { - "integer": 1234567890, - "real": -9876.543210, - "e": 0.123456789e-12, - "E": 1.234567890E+34, - "": 23456789012E66, - "zero": 0, - "one": 1, - "space": " ", - "quote": "\"", - "backslash": "\\", - "controls": "\b\f\n\r\t", - "slash": "/ & \/", - "alpha": "abcdefghijklmnopqrstuvwyz", - "ALPHA": "ABCDEFGHIJKLMNOPQRSTUVWYZ", - "digit": "0123456789", - "0123456789": "digit", - "special": "`1~!@#$%^&*()_+-={':[,]}|;.?", - "hex": "\u0123\u4567\u89AB\uCDEF\uabcd\uef4A", - "true": true, - "false": false, - "null": null, - "array":[ ], - "object":{ }, - "address": "50 St. James Street", - "url": "http://www.JSON.org/", - "comment": "// /* */": " ", - " s p a c e d " :[1,2 , 3 - -, - -4 , 5 , 6 ,7 ],"compact":[1,2,3,4,5,6,7], - "jsontext": "{\"object with 1 member\":[\"array with 1 element\"]}", - "quotes": "" \u0022 %22 0x22 034 "", - "\/\\\"\uCAFE\uBABE\uAB98\uFCDE\ubcda\uef4A\b\f\n\r\t`1~!@#$%^&*()_+-=[]{}|;:',./<>?" -: "A key can be any string" - }, - 0.5 ,98.6 -, -99.44 -, - -1066, -1e1, -0.1e1, -1e-1, -1e00,2e+00,2e-00 -,"rosebud"] \ No newline at end of file diff --git a/3rdparty/rapidjson/bin/jsonchecker/pass2.json b/3rdparty/rapidjson/bin/jsonchecker/pass2.json deleted file mode 100644 index d3c63c7ad84..00000000000 --- a/3rdparty/rapidjson/bin/jsonchecker/pass2.json +++ /dev/null @@ -1 +0,0 @@ -[[[[[[[[[[[[[[[[[[["Not too deep"]]]]]]]]]]]]]]]]]]] \ No newline at end of file diff --git a/3rdparty/rapidjson/bin/jsonchecker/pass3.json b/3rdparty/rapidjson/bin/jsonchecker/pass3.json deleted file mode 100644 index 27e6eb1d247..00000000000 --- a/3rdparty/rapidjson/bin/jsonchecker/pass3.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "JSON Test Pattern pass3": { - "The outermost value": "must be an object or array.", - "In this test": "It is an object." - } -} diff --git a/3rdparty/rapidjson/bin/jsonchecker/readme.txt b/3rdparty/rapidjson/bin/jsonchecker/readme.txt deleted file mode 100644 index 321d89d998e..00000000000 --- a/3rdparty/rapidjson/bin/jsonchecker/readme.txt +++ /dev/null @@ -1,3 +0,0 @@ -Test suite from http://json.org/JSON_checker/. - -If the JSON_checker is working correctly, it must accept all of the pass*.json files and reject all of the fail*.json files. diff --git a/3rdparty/rapidjson/bin/jsonschema/.gitignore b/3rdparty/rapidjson/bin/jsonschema/.gitignore deleted file mode 100644 index 1333ed77b7e..00000000000 --- a/3rdparty/rapidjson/bin/jsonschema/.gitignore +++ /dev/null @@ -1 +0,0 @@ -TODO diff --git a/3rdparty/rapidjson/bin/jsonschema/.travis.yml b/3rdparty/rapidjson/bin/jsonschema/.travis.yml deleted file mode 100644 index deecd61100e..00000000000 --- a/3rdparty/rapidjson/bin/jsonschema/.travis.yml +++ /dev/null @@ -1,4 +0,0 @@ -language: python -python: "2.7" -install: pip install jsonschema -script: bin/jsonschema_suite check diff --git a/3rdparty/rapidjson/bin/jsonschema/LICENSE b/3rdparty/rapidjson/bin/jsonschema/LICENSE deleted file mode 100644 index c28adbadd91..00000000000 --- a/3rdparty/rapidjson/bin/jsonschema/LICENSE +++ /dev/null @@ -1,19 +0,0 @@ -Copyright (c) 2012 Julian Berman - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. diff --git a/3rdparty/rapidjson/bin/jsonschema/README.md b/3rdparty/rapidjson/bin/jsonschema/README.md deleted file mode 100644 index 6d9da949323..00000000000 --- a/3rdparty/rapidjson/bin/jsonschema/README.md +++ /dev/null @@ -1,148 +0,0 @@ -JSON Schema Test Suite [![Build Status](https://travis-ci.org/json-schema/JSON-Schema-Test-Suite.png?branch=develop)](https://travis-ci.org/json-schema/JSON-Schema-Test-Suite) -====================== - -This repository contains a set of JSON objects that implementors of JSON Schema -validation libraries can use to test their validators. - -It is meant to be language agnostic and should require only a JSON parser. - -The conversion of the JSON objects into tests within your test framework of -choice is still the job of the validator implementor. - -Structure of a Test -------------------- - -If you're going to use this suite, you need to know how tests are laid out. The -tests are contained in the `tests` directory at the root of this repository. - -Inside that directory is a subdirectory for each draft or version of the -schema. We'll use `draft3` as an example. - -If you look inside the draft directory, there are a number of `.json` files, -which logically group a set of test cases together. Often the grouping is by -property under test, but not always, especially within optional test files -(discussed below). - -Inside each `.json` file is a single array containing objects. It's easiest to -illustrate the structure of these with an example: - -```json - { - "description": "the description of the test case", - "schema": {"the schema that should" : "be validated against"}, - "tests": [ - { - "description": "a specific test of a valid instance", - "data": "the instance", - "valid": true - }, - { - "description": "another specific test this time, invalid", - "data": 15, - "valid": false - } - ] - } -``` - -So a description, a schema, and some tests, where tests is an array containing -one or more objects with descriptions, data, and a boolean indicating whether -they should be valid or invalid. - -Coverage --------- - -Draft 3 and 4 should have full coverage. If you see anything missing or think -there is a useful test missing, please send a pull request or open an issue. - -Who Uses the Test Suite ------------------------ - -This suite is being used by: - -### Coffeescript ### - -* [jsck](https://github.com/pandastrike/jsck) - -### Dart ### - -* [json_schema](https://github.com/patefacio/json_schema) - -### Erlang ### - -* [jesse](https://github.com/klarna/jesse) - -### Go ### - -* [gojsonschema](https://github.com/sigu-399/gojsonschema) -* [validate-json](https://github.com/cesanta/validate-json) - -### Haskell ### - -* [aeson-schema](https://github.com/timjb/aeson-schema) -* [hjsonschema](https://github.com/seagreen/hjsonschema) - -### Java ### - -* [json-schema-validator](https://github.com/fge/json-schema-validator) - -### JavaScript ### - -* [json-schema-benchmark](https://github.com/Muscula/json-schema-benchmark) -* [direct-schema](https://github.com/IreneKnapp/direct-schema) -* [is-my-json-valid](https://github.com/mafintosh/is-my-json-valid) -* [jassi](https://github.com/iclanzan/jassi) -* [JaySchema](https://github.com/natesilva/jayschema) -* [json-schema-valid](https://github.com/ericgj/json-schema-valid) -* [Jsonary](https://github.com/jsonary-js/jsonary) -* [jsonschema](https://github.com/tdegrunt/jsonschema) -* [request-validator](https://github.com/bugventure/request-validator) -* [skeemas](https://github.com/Prestaul/skeemas) -* [tv4](https://github.com/geraintluff/tv4) -* [z-schema](https://github.com/zaggino/z-schema) -* [jsen](https://github.com/bugventure/jsen) -* [ajv](https://github.com/epoberezkin/ajv) - -### Node.js ### - -The JSON Schema Test Suite is also available as an -[npm](https://www.npmjs.com/package/json-schema-test-suite) package. -Node-specific support is maintained on the [node branch](https://github.com/json-schema/JSON-Schema-Test-Suite/tree/node). -See [NODE-README.md](https://github.com/json-schema/JSON-Schema-Test-Suite/blob/node/NODE-README.md) -for more information. - -### .NET ### - -* [Newtonsoft.Json.Schema](https://github.com/JamesNK/Newtonsoft.Json.Schema) - -### PHP ### - -* [json-schema](https://github.com/justinrainbow/json-schema) - -### Python ### - -* [jsonschema](https://github.com/Julian/jsonschema) - -### Ruby ### - -* [json-schema](https://github.com/hoxworth/json-schema) - -### Rust ### - -* [valico](https://github.com/rustless/valico) - -### Swift ### - -* [JSONSchema](https://github.com/kylef/JSONSchema.swift) - -If you use it as well, please fork and send a pull request adding yourself to -the list :). - -Contributing ------------- - -If you see something missing or incorrect, a pull request is most welcome! - -There are some sanity checks in place for testing the test suite. You can run -them with `bin/jsonschema_suite check` or `tox`. They will be run automatically by -[Travis CI](https://travis-ci.org/) as well. diff --git a/3rdparty/rapidjson/bin/jsonschema/bin/jsonschema_suite b/3rdparty/rapidjson/bin/jsonschema/bin/jsonschema_suite deleted file mode 100644 index 96108c86ba2..00000000000 --- a/3rdparty/rapidjson/bin/jsonschema/bin/jsonschema_suite +++ /dev/null @@ -1,283 +0,0 @@ -#! /usr/bin/env python -from __future__ import print_function -import sys -import textwrap - -try: - import argparse -except ImportError: - print(textwrap.dedent(""" - The argparse library could not be imported. jsonschema_suite requires - either Python 2.7 or for you to install argparse. You can do so by - running `pip install argparse`, `easy_install argparse` or by - downloading argparse and running `python2.6 setup.py install`. - - See https://pypi.python.org/pypi/argparse for details. - """.strip("\n"))) - sys.exit(1) - -import errno -import fnmatch -import json -import os -import random -import shutil -import unittest -import warnings - -if getattr(unittest, "skipIf", None) is None: - unittest.skipIf = lambda cond, msg : lambda fn : fn - -try: - import jsonschema -except ImportError: - jsonschema = None -else: - validators = getattr( - jsonschema.validators, "validators", jsonschema.validators - ) - - -ROOT_DIR = os.path.join( - os.path.dirname(__file__), os.pardir).rstrip("__pycache__") -SUITE_ROOT_DIR = os.path.join(ROOT_DIR, "tests") - -REMOTES = { - "integer.json": {"type": "integer"}, - "subSchemas.json": { - "integer": {"type": "integer"}, - "refToInteger": {"$ref": "#/integer"}, - }, - "folder/folderInteger.json": {"type": "integer"} -} -REMOTES_DIR = os.path.join(ROOT_DIR, "remotes") - -TESTSUITE_SCHEMA = { - "$schema": "http://json-schema.org/draft-03/schema#", - "type": "array", - "items": { - "type": "object", - "properties": { - "description": {"type": "string", "required": True}, - "schema": {"required": True}, - "tests": { - "type": "array", - "items": { - "type": "object", - "properties": { - "description": {"type": "string", "required": True}, - "data": {"required": True}, - "valid": {"type": "boolean", "required": True} - }, - "additionalProperties": False - }, - "minItems": 1 - } - }, - "additionalProperties": False, - "minItems": 1 - } -} - - -def files(paths): - for path in paths: - with open(path) as test_file: - yield json.load(test_file) - - -def groups(paths): - for test_file in files(paths): - for group in test_file: - yield group - - -def cases(paths): - for test_group in groups(paths): - for test in test_group["tests"]: - test["schema"] = test_group["schema"] - yield test - - -def collect(root_dir): - for root, dirs, files in os.walk(root_dir): - for filename in fnmatch.filter(files, "*.json"): - yield os.path.join(root, filename) - - -class SanityTests(unittest.TestCase): - @classmethod - def setUpClass(cls): - print("Looking for tests in %s" % SUITE_ROOT_DIR) - cls.test_files = list(collect(SUITE_ROOT_DIR)) - print("Found %s test files" % len(cls.test_files)) - assert cls.test_files, "Didn't find the test files!" - - def test_all_files_are_valid_json(self): - for path in self.test_files: - with open(path) as test_file: - try: - json.load(test_file) - except ValueError as error: - self.fail("%s contains invalid JSON (%s)" % (path, error)) - - def test_all_descriptions_have_reasonable_length(self): - for case in cases(self.test_files): - descript = case["description"] - self.assertLess( - len(descript), - 60, - "%r is too long! (keep it to less than 60 chars)" % (descript,) - ) - - def test_all_descriptions_are_unique(self): - for group in groups(self.test_files): - descriptions = set(test["description"] for test in group["tests"]) - self.assertEqual( - len(descriptions), - len(group["tests"]), - "%r contains a duplicate description" % (group,) - ) - - @unittest.skipIf(jsonschema is None, "Validation library not present!") - def test_all_schemas_are_valid(self): - for schema in os.listdir(SUITE_ROOT_DIR): - schema_validator = validators.get(schema) - if schema_validator is not None: - test_files = collect(os.path.join(SUITE_ROOT_DIR, schema)) - for case in cases(test_files): - try: - schema_validator.check_schema(case["schema"]) - except jsonschema.SchemaError as error: - self.fail("%s contains an invalid schema (%s)" % - (case, error)) - else: - warnings.warn("No schema validator for %s" % schema) - - @unittest.skipIf(jsonschema is None, "Validation library not present!") - def test_suites_are_valid(self): - validator = jsonschema.Draft3Validator(TESTSUITE_SCHEMA) - for tests in files(self.test_files): - try: - validator.validate(tests) - except jsonschema.ValidationError as error: - self.fail(str(error)) - - def test_remote_schemas_are_updated(self): - for url, schema in REMOTES.items(): - filepath = os.path.join(REMOTES_DIR, url) - with open(filepath) as schema_file: - self.assertEqual(json.load(schema_file), schema) - - -def main(arguments): - if arguments.command == "check": - suite = unittest.TestLoader().loadTestsFromTestCase(SanityTests) - result = unittest.TextTestRunner(verbosity=2).run(suite) - sys.exit(not result.wasSuccessful()) - elif arguments.command == "flatten": - selected_cases = [case for case in cases(collect(arguments.version))] - - if arguments.randomize: - random.shuffle(selected_cases) - - json.dump(selected_cases, sys.stdout, indent=4, sort_keys=True) - elif arguments.command == "remotes": - json.dump(REMOTES, sys.stdout, indent=4, sort_keys=True) - elif arguments.command == "dump_remotes": - if arguments.update: - shutil.rmtree(arguments.out_dir, ignore_errors=True) - - try: - os.makedirs(arguments.out_dir) - except OSError as e: - if e.errno == errno.EEXIST: - print("%s already exists. Aborting." % arguments.out_dir) - sys.exit(1) - raise - - for url, schema in REMOTES.items(): - filepath = os.path.join(arguments.out_dir, url) - - try: - os.makedirs(os.path.dirname(filepath)) - except OSError as e: - if e.errno != errno.EEXIST: - raise - - with open(filepath, "wb") as out_file: - json.dump(schema, out_file, indent=4, sort_keys=True) - elif arguments.command == "serve": - try: - from flask import Flask, jsonify - except ImportError: - print(textwrap.dedent(""" - The Flask library is required to serve the remote schemas. - - You can install it by running `pip install Flask`. - - Alternatively, see the `jsonschema_suite remotes` or - `jsonschema_suite dump_remotes` commands to create static files - that can be served with your own web server. - """.strip("\n"))) - sys.exit(1) - - app = Flask(__name__) - - @app.route("/") - def serve_path(path): - if path in REMOTES: - return jsonify(REMOTES[path]) - return "Document does not exist.", 404 - - app.run(port=1234) - - -parser = argparse.ArgumentParser( - description="JSON Schema Test Suite utilities", -) -subparsers = parser.add_subparsers(help="utility commands", dest="command") - -check = subparsers.add_parser("check", help="Sanity check the test suite.") - -flatten = subparsers.add_parser( - "flatten", - help="Output a flattened file containing a selected version's test cases." -) -flatten.add_argument( - "--randomize", - action="store_true", - help="Randomize the order of the outputted cases.", -) -flatten.add_argument( - "version", help="The directory containing the version to output", -) - -remotes = subparsers.add_parser( - "remotes", - help="Output the expected URLs and their associated schemas for remote " - "ref tests as a JSON object." -) - -dump_remotes = subparsers.add_parser( - "dump_remotes", help="Dump the remote ref schemas into a file tree", -) -dump_remotes.add_argument( - "--update", - action="store_true", - help="Update the remotes in an existing directory.", -) -dump_remotes.add_argument( - "--out-dir", - default=REMOTES_DIR, - type=os.path.abspath, - help="The output directory to create as the root of the file tree", -) - -serve = subparsers.add_parser( - "serve", - help="Start a webserver to serve schemas used by remote ref tests." -) - -if __name__ == "__main__": - main(parser.parse_args()) diff --git a/3rdparty/rapidjson/bin/jsonschema/remotes/.DS_Store b/3rdparty/rapidjson/bin/jsonschema/remotes/.DS_Store deleted file mode 100644 index 1d098a4103d67f2b3b336934f3d7f42b462861a1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6148 zcmeHKOHRWu5S@X7Ds|H(?0kjZAgaO%dI3btXOYNNp?e>&D;7NuZ$2PWB6c8zW+eOB z^Ks%A#p59&UhngYXh}qKG(ncZgot|5bmq<%K-M+xX_ue7{;rgMVxhmNl6SwP2P)K4 zrjz#{8T!Z7rYpnNcX53hIFz={`93>*C>7{`CI$;>GS&XK|+FoU?3O>27-Z~ zU;sH=WWF$rJ{SlFf`JbPv%iZPLMpAHP(0stF?-7xoF z0$3~ntcg<~A}|dqFsPa>h6Ww+l6f_83JkhvHXoWdYj!B=x8wZc>7q4|BNdLa}rlnfC~I81+?j&yFH$iwRQ10tF;CG0=JwmxEbb7!QkZ>=;as-E60zX b6nVww*sqCGpwkg|I*>mDrVEV<{I&w$e{~fm diff --git a/3rdparty/rapidjson/bin/jsonschema/tests/draft3/additionalItems.json b/3rdparty/rapidjson/bin/jsonschema/tests/draft3/additionalItems.json deleted file mode 100644 index 6d4bff51cf3..00000000000 --- a/3rdparty/rapidjson/bin/jsonschema/tests/draft3/additionalItems.json +++ /dev/null @@ -1,82 +0,0 @@ -[ - { - "description": "additionalItems as schema", - "schema": { - "items": [], - "additionalItems": {"type": "integer"} - }, - "tests": [ - { - "description": "additional items match schema", - "data": [ 1, 2, 3, 4 ], - "valid": true - }, - { - "description": "additional items do not match schema", - "data": [ 1, 2, 3, "foo" ], - "valid": false - } - ] - }, - { - "description": "items is schema, no additionalItems", - "schema": { - "items": {}, - "additionalItems": false - }, - "tests": [ - { - "description": "all items match schema", - "data": [ 1, 2, 3, 4, 5 ], - "valid": true - } - ] - }, - { - "description": "array of items with no additionalItems", - "schema": { - "items": [{}, {}, {}], - "additionalItems": false - }, - "tests": [ - { - "description": "no additional items present", - "data": [ 1, 2, 3 ], - "valid": true - }, - { - "description": "additional items are not permitted", - "data": [ 1, 2, 3, 4 ], - "valid": false - } - ] - }, - { - "description": "additionalItems as false without items", - "schema": {"additionalItems": false}, - "tests": [ - { - "description": - "items defaults to empty schema so everything is valid", - "data": [ 1, 2, 3, 4, 5 ], - "valid": true - }, - { - "description": "ignores non-arrays", - "data": {"foo" : "bar"}, - "valid": true - } - ] - }, - { - "description": "additionalItems are allowed by default", - "schema": {"items": []}, - "tests": [ - { - "description": "only the first items are validated", - "data": [1, "foo", false], - "valid": true - } - ] - } -] diff --git a/3rdparty/rapidjson/bin/jsonschema/tests/draft3/additionalProperties.json b/3rdparty/rapidjson/bin/jsonschema/tests/draft3/additionalProperties.json deleted file mode 100644 index 40831f9e9aa..00000000000 --- a/3rdparty/rapidjson/bin/jsonschema/tests/draft3/additionalProperties.json +++ /dev/null @@ -1,88 +0,0 @@ -[ - { - "description": - "additionalProperties being false does not allow other properties", - "schema": { - "properties": {"foo": {}, "bar": {}}, - "patternProperties": { "^v": {} }, - "additionalProperties": false - }, - "tests": [ - { - "description": "no additional properties is valid", - "data": {"foo": 1}, - "valid": true - }, - { - "description": "an additional property is invalid", - "data": {"foo" : 1, "bar" : 2, "quux" : "boom"}, - "valid": false - }, - { - "description": "ignores non-objects", - "data": [1, 2, 3], - "valid": true - }, - { - "description": "patternProperties are not additional properties", - "data": {"foo":1, "vroom": 2}, - "valid": true - } - ] - }, - { - "description": - "additionalProperties allows a schema which should validate", - "schema": { - "properties": {"foo": {}, "bar": {}}, - "additionalProperties": {"type": "boolean"} - }, - "tests": [ - { - "description": "no additional properties is valid", - "data": {"foo": 1}, - "valid": true - }, - { - "description": "an additional valid property is valid", - "data": {"foo" : 1, "bar" : 2, "quux" : true}, - "valid": true - }, - { - "description": "an additional invalid property is invalid", - "data": {"foo" : 1, "bar" : 2, "quux" : 12}, - "valid": false - } - ] - }, - { - "description": - "additionalProperties can exist by itself", - "schema": { - "additionalProperties": {"type": "boolean"} - }, - "tests": [ - { - "description": "an additional valid property is valid", - "data": {"foo" : true}, - "valid": true - }, - { - "description": "an additional invalid property is invalid", - "data": {"foo" : 1}, - "valid": false - } - ] - }, - { - "description": "additionalProperties are allowed by default", - "schema": {"properties": {"foo": {}, "bar": {}}}, - "tests": [ - { - "description": "additional properties are allowed", - "data": {"foo": 1, "bar": 2, "quux": true}, - "valid": true - } - ] - } -] diff --git a/3rdparty/rapidjson/bin/jsonschema/tests/draft3/default.json b/3rdparty/rapidjson/bin/jsonschema/tests/draft3/default.json deleted file mode 100644 index 17629779fbe..00000000000 --- a/3rdparty/rapidjson/bin/jsonschema/tests/draft3/default.json +++ /dev/null @@ -1,49 +0,0 @@ -[ - { - "description": "invalid type for default", - "schema": { - "properties": { - "foo": { - "type": "integer", - "default": [] - } - } - }, - "tests": [ - { - "description": "valid when property is specified", - "data": {"foo": 13}, - "valid": true - }, - { - "description": "still valid when the invalid default is used", - "data": {}, - "valid": true - } - ] - }, - { - "description": "invalid string value for default", - "schema": { - "properties": { - "bar": { - "type": "string", - "minLength": 4, - "default": "bad" - } - } - }, - "tests": [ - { - "description": "valid when property is specified", - "data": {"bar": "good"}, - "valid": true - }, - { - "description": "still valid when the invalid default is used", - "data": {}, - "valid": true - } - ] - } -] diff --git a/3rdparty/rapidjson/bin/jsonschema/tests/draft3/dependencies.json b/3rdparty/rapidjson/bin/jsonschema/tests/draft3/dependencies.json deleted file mode 100644 index 2f6ae489aed..00000000000 --- a/3rdparty/rapidjson/bin/jsonschema/tests/draft3/dependencies.json +++ /dev/null @@ -1,108 +0,0 @@ -[ - { - "description": "dependencies", - "schema": { - "dependencies": {"bar": "foo"} - }, - "tests": [ - { - "description": "neither", - "data": {}, - "valid": true - }, - { - "description": "nondependant", - "data": {"foo": 1}, - "valid": true - }, - { - "description": "with dependency", - "data": {"foo": 1, "bar": 2}, - "valid": true - }, - { - "description": "missing dependency", - "data": {"bar": 2}, - "valid": false - }, - { - "description": "ignores non-objects", - "data": "foo", - "valid": true - } - ] - }, - { - "description": "multiple dependencies", - "schema": { - "dependencies": {"quux": ["foo", "bar"]} - }, - "tests": [ - { - "description": "neither", - "data": {}, - "valid": true - }, - { - "description": "nondependants", - "data": {"foo": 1, "bar": 2}, - "valid": true - }, - { - "description": "with dependencies", - "data": {"foo": 1, "bar": 2, "quux": 3}, - "valid": true - }, - { - "description": "missing dependency", - "data": {"foo": 1, "quux": 2}, - "valid": false - }, - { - "description": "missing other dependency", - "data": {"bar": 1, "quux": 2}, - "valid": false - }, - { - "description": "missing both dependencies", - "data": {"quux": 1}, - "valid": false - } - ] - }, - { - "description": "multiple dependencies subschema", - "schema": { - "dependencies": { - "bar": { - "properties": { - "foo": {"type": "integer"}, - "bar": {"type": "integer"} - } - } - } - }, - "tests": [ - { - "description": "valid", - "data": {"foo": 1, "bar": 2}, - "valid": true - }, - { - "description": "wrong type", - "data": {"foo": "quux", "bar": 2}, - "valid": false - }, - { - "description": "wrong type other", - "data": {"foo": 2, "bar": "quux"}, - "valid": false - }, - { - "description": "wrong type both", - "data": {"foo": "quux", "bar": "quux"}, - "valid": false - } - ] - } -] diff --git a/3rdparty/rapidjson/bin/jsonschema/tests/draft3/disallow.json b/3rdparty/rapidjson/bin/jsonschema/tests/draft3/disallow.json deleted file mode 100644 index a5c9d90ccee..00000000000 --- a/3rdparty/rapidjson/bin/jsonschema/tests/draft3/disallow.json +++ /dev/null @@ -1,80 +0,0 @@ -[ - { - "description": "disallow", - "schema": { - "disallow": "integer" - }, - "tests": [ - { - "description": "allowed", - "data": "foo", - "valid": true - }, - { - "description": "disallowed", - "data": 1, - "valid": false - } - ] - }, - { - "description": "multiple disallow", - "schema": { - "disallow": ["integer", "boolean"] - }, - "tests": [ - { - "description": "valid", - "data": "foo", - "valid": true - }, - { - "description": "mismatch", - "data": 1, - "valid": false - }, - { - "description": "other mismatch", - "data": true, - "valid": false - } - ] - }, - { - "description": "multiple disallow subschema", - "schema": { - "disallow": - ["string", - { - "type": "object", - "properties": { - "foo": { - "type": "string" - } - } - }] - }, - "tests": [ - { - "description": "match", - "data": 1, - "valid": true - }, - { - "description": "other match", - "data": {"foo": 1}, - "valid": true - }, - { - "description": "mismatch", - "data": "foo", - "valid": false - }, - { - "description": "other mismatch", - "data": {"foo": "bar"}, - "valid": false - } - ] - } -] diff --git a/3rdparty/rapidjson/bin/jsonschema/tests/draft3/divisibleBy.json b/3rdparty/rapidjson/bin/jsonschema/tests/draft3/divisibleBy.json deleted file mode 100644 index ef7cc148902..00000000000 --- a/3rdparty/rapidjson/bin/jsonschema/tests/draft3/divisibleBy.json +++ /dev/null @@ -1,60 +0,0 @@ -[ - { - "description": "by int", - "schema": {"divisibleBy": 2}, - "tests": [ - { - "description": "int by int", - "data": 10, - "valid": true - }, - { - "description": "int by int fail", - "data": 7, - "valid": false - }, - { - "description": "ignores non-numbers", - "data": "foo", - "valid": true - } - ] - }, - { - "description": "by number", - "schema": {"divisibleBy": 1.5}, - "tests": [ - { - "description": "zero is divisible by anything (except 0)", - "data": 0, - "valid": true - }, - { - "description": "4.5 is divisible by 1.5", - "data": 4.5, - "valid": true - }, - { - "description": "35 is not divisible by 1.5", - "data": 35, - "valid": false - } - ] - }, - { - "description": "by small number", - "schema": {"divisibleBy": 0.0001}, - "tests": [ - { - "description": "0.0075 is divisible by 0.0001", - "data": 0.0075, - "valid": true - }, - { - "description": "0.00751 is not divisible by 0.0001", - "data": 0.00751, - "valid": false - } - ] - } -] diff --git a/3rdparty/rapidjson/bin/jsonschema/tests/draft3/enum.json b/3rdparty/rapidjson/bin/jsonschema/tests/draft3/enum.json deleted file mode 100644 index 0c83f0804d0..00000000000 --- a/3rdparty/rapidjson/bin/jsonschema/tests/draft3/enum.json +++ /dev/null @@ -1,71 +0,0 @@ -[ - { - "description": "simple enum validation", - "schema": {"enum": [1, 2, 3]}, - "tests": [ - { - "description": "one of the enum is valid", - "data": 1, - "valid": true - }, - { - "description": "something else is invalid", - "data": 4, - "valid": false - } - ] - }, - { - "description": "heterogeneous enum validation", - "schema": {"enum": [6, "foo", [], true, {"foo": 12}]}, - "tests": [ - { - "description": "one of the enum is valid", - "data": [], - "valid": true - }, - { - "description": "something else is invalid", - "data": null, - "valid": false - }, - { - "description": "objects are deep compared", - "data": {"foo": false}, - "valid": false - } - ] - }, - { - "description": "enums in properties", - "schema": { - "type":"object", - "properties": { - "foo": {"enum":["foo"]}, - "bar": {"enum":["bar"], "required":true} - } - }, - "tests": [ - { - "description": "both properties are valid", - "data": {"foo":"foo", "bar":"bar"}, - "valid": true - }, - { - "description": "missing optional property is valid", - "data": {"bar":"bar"}, - "valid": true - }, - { - "description": "missing required property is invalid", - "data": {"foo":"foo"}, - "valid": false - }, - { - "description": "missing all properties is invalid", - "data": {}, - "valid": false - } - ] - } -] diff --git a/3rdparty/rapidjson/bin/jsonschema/tests/draft3/extends.json b/3rdparty/rapidjson/bin/jsonschema/tests/draft3/extends.json deleted file mode 100644 index 909bce575ae..00000000000 --- a/3rdparty/rapidjson/bin/jsonschema/tests/draft3/extends.json +++ /dev/null @@ -1,94 +0,0 @@ -[ - { - "description": "extends", - "schema": { - "properties": {"bar": {"type": "integer", "required": true}}, - "extends": { - "properties": { - "foo": {"type": "string", "required": true} - } - } - }, - "tests": [ - { - "description": "extends", - "data": {"foo": "baz", "bar": 2}, - "valid": true - }, - { - "description": "mismatch extends", - "data": {"foo": "baz"}, - "valid": false - }, - { - "description": "mismatch extended", - "data": {"bar": 2}, - "valid": false - }, - { - "description": "wrong type", - "data": {"foo": "baz", "bar": "quux"}, - "valid": false - } - ] - }, - { - "description": "multiple extends", - "schema": { - "properties": {"bar": {"type": "integer", "required": true}}, - "extends" : [ - { - "properties": { - "foo": {"type": "string", "required": true} - } - }, - { - "properties": { - "baz": {"type": "null", "required": true} - } - } - ] - }, - "tests": [ - { - "description": "valid", - "data": {"foo": "quux", "bar": 2, "baz": null}, - "valid": true - }, - { - "description": "mismatch first extends", - "data": {"bar": 2, "baz": null}, - "valid": false - }, - { - "description": "mismatch second extends", - "data": {"foo": "quux", "bar": 2}, - "valid": false - }, - { - "description": "mismatch both", - "data": {"bar": 2}, - "valid": false - } - ] - }, - { - "description": "extends simple types", - "schema": { - "minimum": 20, - "extends": {"maximum": 30} - }, - "tests": [ - { - "description": "valid", - "data": 25, - "valid": true - }, - { - "description": "mismatch extends", - "data": 35, - "valid": false - } - ] - } -] diff --git a/3rdparty/rapidjson/bin/jsonschema/tests/draft3/items.json b/3rdparty/rapidjson/bin/jsonschema/tests/draft3/items.json deleted file mode 100644 index f5e18a13848..00000000000 --- a/3rdparty/rapidjson/bin/jsonschema/tests/draft3/items.json +++ /dev/null @@ -1,46 +0,0 @@ -[ - { - "description": "a schema given for items", - "schema": { - "items": {"type": "integer"} - }, - "tests": [ - { - "description": "valid items", - "data": [ 1, 2, 3 ], - "valid": true - }, - { - "description": "wrong type of items", - "data": [1, "x"], - "valid": false - }, - { - "description": "ignores non-arrays", - "data": {"foo" : "bar"}, - "valid": true - } - ] - }, - { - "description": "an array of schemas for items", - "schema": { - "items": [ - {"type": "integer"}, - {"type": "string"} - ] - }, - "tests": [ - { - "description": "correct types", - "data": [ 1, "foo" ], - "valid": true - }, - { - "description": "wrong types", - "data": [ "foo", 1 ], - "valid": false - } - ] - } -] diff --git a/3rdparty/rapidjson/bin/jsonschema/tests/draft3/maxItems.json b/3rdparty/rapidjson/bin/jsonschema/tests/draft3/maxItems.json deleted file mode 100644 index 3b53a6b371a..00000000000 --- a/3rdparty/rapidjson/bin/jsonschema/tests/draft3/maxItems.json +++ /dev/null @@ -1,28 +0,0 @@ -[ - { - "description": "maxItems validation", - "schema": {"maxItems": 2}, - "tests": [ - { - "description": "shorter is valid", - "data": [1], - "valid": true - }, - { - "description": "exact length is valid", - "data": [1, 2], - "valid": true - }, - { - "description": "too long is invalid", - "data": [1, 2, 3], - "valid": false - }, - { - "description": "ignores non-arrays", - "data": "foobar", - "valid": true - } - ] - } -] diff --git a/3rdparty/rapidjson/bin/jsonschema/tests/draft3/maxLength.json b/3rdparty/rapidjson/bin/jsonschema/tests/draft3/maxLength.json deleted file mode 100644 index 4de42bcaba0..00000000000 --- a/3rdparty/rapidjson/bin/jsonschema/tests/draft3/maxLength.json +++ /dev/null @@ -1,33 +0,0 @@ -[ - { - "description": "maxLength validation", - "schema": {"maxLength": 2}, - "tests": [ - { - "description": "shorter is valid", - "data": "f", - "valid": true - }, - { - "description": "exact length is valid", - "data": "fo", - "valid": true - }, - { - "description": "too long is invalid", - "data": "foo", - "valid": false - }, - { - "description": "ignores non-strings", - "data": 10, - "valid": true - }, - { - "description": "two supplementary Unicode code points is long enough", - "data": "\uD83D\uDCA9\uD83D\uDCA9", - "valid": true - } - ] - } -] diff --git a/3rdparty/rapidjson/bin/jsonschema/tests/draft3/maximum.json b/3rdparty/rapidjson/bin/jsonschema/tests/draft3/maximum.json deleted file mode 100644 index 86c7b89c9a9..00000000000 --- a/3rdparty/rapidjson/bin/jsonschema/tests/draft3/maximum.json +++ /dev/null @@ -1,42 +0,0 @@ -[ - { - "description": "maximum validation", - "schema": {"maximum": 3.0}, - "tests": [ - { - "description": "below the maximum is valid", - "data": 2.6, - "valid": true - }, - { - "description": "above the maximum is invalid", - "data": 3.5, - "valid": false - }, - { - "description": "ignores non-numbers", - "data": "x", - "valid": true - } - ] - }, - { - "description": "exclusiveMaximum validation", - "schema": { - "maximum": 3.0, - "exclusiveMaximum": true - }, - "tests": [ - { - "description": "below the maximum is still valid", - "data": 2.2, - "valid": true - }, - { - "description": "boundary point is invalid", - "data": 3.0, - "valid": false - } - ] - } -] diff --git a/3rdparty/rapidjson/bin/jsonschema/tests/draft3/minItems.json b/3rdparty/rapidjson/bin/jsonschema/tests/draft3/minItems.json deleted file mode 100644 index ed5118815ee..00000000000 --- a/3rdparty/rapidjson/bin/jsonschema/tests/draft3/minItems.json +++ /dev/null @@ -1,28 +0,0 @@ -[ - { - "description": "minItems validation", - "schema": {"minItems": 1}, - "tests": [ - { - "description": "longer is valid", - "data": [1, 2], - "valid": true - }, - { - "description": "exact length is valid", - "data": [1], - "valid": true - }, - { - "description": "too short is invalid", - "data": [], - "valid": false - }, - { - "description": "ignores non-arrays", - "data": "", - "valid": true - } - ] - } -] diff --git a/3rdparty/rapidjson/bin/jsonschema/tests/draft3/minLength.json b/3rdparty/rapidjson/bin/jsonschema/tests/draft3/minLength.json deleted file mode 100644 index 3f09158deef..00000000000 --- a/3rdparty/rapidjson/bin/jsonschema/tests/draft3/minLength.json +++ /dev/null @@ -1,33 +0,0 @@ -[ - { - "description": "minLength validation", - "schema": {"minLength": 2}, - "tests": [ - { - "description": "longer is valid", - "data": "foo", - "valid": true - }, - { - "description": "exact length is valid", - "data": "fo", - "valid": true - }, - { - "description": "too short is invalid", - "data": "f", - "valid": false - }, - { - "description": "ignores non-strings", - "data": 1, - "valid": true - }, - { - "description": "one supplementary Unicode code point is not long enough", - "data": "\uD83D\uDCA9", - "valid": false - } - ] - } -] diff --git a/3rdparty/rapidjson/bin/jsonschema/tests/draft3/minimum.json b/3rdparty/rapidjson/bin/jsonschema/tests/draft3/minimum.json deleted file mode 100644 index d5bf000bcc6..00000000000 --- a/3rdparty/rapidjson/bin/jsonschema/tests/draft3/minimum.json +++ /dev/null @@ -1,42 +0,0 @@ -[ - { - "description": "minimum validation", - "schema": {"minimum": 1.1}, - "tests": [ - { - "description": "above the minimum is valid", - "data": 2.6, - "valid": true - }, - { - "description": "below the minimum is invalid", - "data": 0.6, - "valid": false - }, - { - "description": "ignores non-numbers", - "data": "x", - "valid": true - } - ] - }, - { - "description": "exclusiveMinimum validation", - "schema": { - "minimum": 1.1, - "exclusiveMinimum": true - }, - "tests": [ - { - "description": "above the minimum is still valid", - "data": 1.2, - "valid": true - }, - { - "description": "boundary point is invalid", - "data": 1.1, - "valid": false - } - ] - } -] diff --git a/3rdparty/rapidjson/bin/jsonschema/tests/draft3/optional/bignum.json b/3rdparty/rapidjson/bin/jsonschema/tests/draft3/optional/bignum.json deleted file mode 100644 index ccc7c17fe8d..00000000000 --- a/3rdparty/rapidjson/bin/jsonschema/tests/draft3/optional/bignum.json +++ /dev/null @@ -1,107 +0,0 @@ -[ - { - "description": "integer", - "schema": {"type": "integer"}, - "tests": [ - { - "description": "a bignum is an integer", - "data": 12345678910111213141516171819202122232425262728293031, - "valid": true - } - ] - }, - { - "description": "number", - "schema": {"type": "number"}, - "tests": [ - { - "description": "a bignum is a number", - "data": 98249283749234923498293171823948729348710298301928331, - "valid": true - } - ] - }, - { - "description": "integer", - "schema": {"type": "integer"}, - "tests": [ - { - "description": "a negative bignum is an integer", - "data": -12345678910111213141516171819202122232425262728293031, - "valid": true - } - ] - }, - { - "description": "number", - "schema": {"type": "number"}, - "tests": [ - { - "description": "a negative bignum is a number", - "data": -98249283749234923498293171823948729348710298301928331, - "valid": true - } - ] - }, - { - "description": "string", - "schema": {"type": "string"}, - "tests": [ - { - "description": "a bignum is not a string", - "data": 98249283749234923498293171823948729348710298301928331, - "valid": false - } - ] - }, - { - "description": "integer comparison", - "schema": {"maximum": 18446744073709551615}, - "tests": [ - { - "description": "comparison works for high numbers", - "data": 18446744073709551600, - "valid": true - } - ] - }, - { - "description": "float comparison with high precision", - "schema": { - "maximum": 972783798187987123879878123.18878137, - "exclusiveMaximum": true - }, - "tests": [ - { - "description": "comparison works for high numbers", - "data": 972783798187987123879878123.188781371, - "valid": false - } - ] - }, - { - "description": "integer comparison", - "schema": {"minimum": -18446744073709551615}, - "tests": [ - { - "description": "comparison works for very negative numbers", - "data": -18446744073709551600, - "valid": true - } - ] - }, - { - "description": "float comparison with high precision on negative numbers", - "schema": { - "minimum": -972783798187987123879878123.18878137, - "exclusiveMinimum": true - }, - "tests": [ - { - "description": "comparison works for very negative numbers", - "data": -972783798187987123879878123.188781371, - "valid": false - } - ] - } -] diff --git a/3rdparty/rapidjson/bin/jsonschema/tests/draft3/optional/format.json b/3rdparty/rapidjson/bin/jsonschema/tests/draft3/optional/format.json deleted file mode 100644 index 3ca7319dda0..00000000000 --- a/3rdparty/rapidjson/bin/jsonschema/tests/draft3/optional/format.json +++ /dev/null @@ -1,222 +0,0 @@ -[ - { - "description": "validation of regular expressions", - "schema": {"format": "regex"}, - "tests": [ - { - "description": "a valid regular expression", - "data": "([abc])+\\s+$", - "valid": true - }, - { - "description": "a regular expression with unclosed parens is invalid", - "data": "^(abc]", - "valid": false - } - ] - }, - { - "description": "validation of date-time strings", - "schema": {"format": "date-time"}, - "tests": [ - { - "description": "a valid date-time string", - "data": "1963-06-19T08:30:06.283185Z", - "valid": true - }, - { - "description": "an invalid date-time string", - "data": "06/19/1963 08:30:06 PST", - "valid": false - }, - { - "description": "only RFC3339 not all of ISO 8601 are valid", - "data": "2013-350T01:01:01", - "valid": false - } - ] - }, - { - "description": "validation of date strings", - "schema": {"format": "date"}, - "tests": [ - { - "description": "a valid date string", - "data": "1963-06-19", - "valid": true - }, - { - "description": "an invalid date string", - "data": "06/19/1963", - "valid": false - } - ] - }, - { - "description": "validation of time strings", - "schema": {"format": "time"}, - "tests": [ - { - "description": "a valid time string", - "data": "08:30:06", - "valid": true - }, - { - "description": "an invalid time string", - "data": "8:30 AM", - "valid": false - } - ] - }, - { - "description": "validation of URIs", - "schema": {"format": "uri"}, - "tests": [ - { - "description": "a valid URI", - "data": "http://foo.bar/?baz=qux#quux", - "valid": true - }, - { - "description": "a valid protocol-relative URI", - "data": "//foo.bar/?baz=qux#quux", - "valid": true - }, - { - "description": "an invalid URI", - "data": "\\\\WINDOWS\\fileshare", - "valid": false - }, - { - "description": "an invalid URI though valid URI reference", - "data": "abc", - "valid": false - } - ] - }, - { - "description": "validation of e-mail addresses", - "schema": {"format": "email"}, - "tests": [ - { - "description": "a valid e-mail address", - "data": "joe.bloggs@example.com", - "valid": true - }, - { - "description": "an invalid e-mail address", - "data": "2962", - "valid": false - } - ] - }, - { - "description": "validation of IP addresses", - "schema": {"format": "ip-address"}, - "tests": [ - { - "description": "a valid IP address", - "data": "192.168.0.1", - "valid": true - }, - { - "description": "an IP address with too many components", - "data": "127.0.0.0.1", - "valid": false - }, - { - "description": "an IP address with out-of-range values", - "data": "256.256.256.256", - "valid": false - } - ] - }, - { - "description": "validation of IPv6 addresses", - "schema": {"format": "ipv6"}, - "tests": [ - { - "description": "a valid IPv6 address", - "data": "::1", - "valid": true - }, - { - "description": "an IPv6 address with out-of-range values", - "data": "12345::", - "valid": false - }, - { - "description": "an IPv6 address with too many components", - "data": "1:1:1:1:1:1:1:1:1:1:1:1:1:1:1:1", - "valid": false - }, - { - "description": "an IPv6 address containing illegal characters", - "data": "::laptop", - "valid": false - } - ] - }, - { - "description": "validation of host names", - "schema": {"format": "host-name"}, - "tests": [ - { - "description": "a valid host name", - "data": "www.example.com", - "valid": true - }, - { - "description": "a host name starting with an illegal character", - "data": "-a-host-name-that-starts-with--", - "valid": false - }, - { - "description": "a host name containing illegal characters", - "data": "not_a_valid_host_name", - "valid": false - }, - { - "description": "a host name with a component too long", - "data": "a-vvvvvvvvvvvvvvvveeeeeeeeeeeeeeeerrrrrrrrrrrrrrrryyyyyyyyyyyyyyyy-long-host-name-component", - "valid": false - } - ] - }, - { - "description": "validation of CSS colors", - "schema": {"format": "color"}, - "tests": [ - { - "description": "a valid CSS color name", - "data": "fuchsia", - "valid": true - }, - { - "description": "a valid six-digit CSS color code", - "data": "#CC8899", - "valid": true - }, - { - "description": "a valid three-digit CSS color code", - "data": "#C89", - "valid": true - }, - { - "description": "an invalid CSS color code", - "data": "#00332520", - "valid": false - }, - { - "description": "an invalid CSS color name", - "data": "puce", - "valid": false - }, - { - "description": "a CSS color name containing invalid characters", - "data": "light_grayish_red-violet", - "valid": false - } - ] - } -] diff --git a/3rdparty/rapidjson/bin/jsonschema/tests/draft3/optional/jsregex.json b/3rdparty/rapidjson/bin/jsonschema/tests/draft3/optional/jsregex.json deleted file mode 100644 index 03fe97724c0..00000000000 --- a/3rdparty/rapidjson/bin/jsonschema/tests/draft3/optional/jsregex.json +++ /dev/null @@ -1,18 +0,0 @@ -[ - { - "description": "ECMA 262 regex dialect recognition", - "schema": { "format": "regex" }, - "tests": [ - { - "description": "[^] is a valid regex", - "data": "[^]", - "valid": true - }, - { - "description": "ECMA 262 has no support for lookbehind", - "data": "(?<=foo)bar", - "valid": false - } - ] - } -] diff --git a/3rdparty/rapidjson/bin/jsonschema/tests/draft3/optional/zeroTerminatedFloats.json b/3rdparty/rapidjson/bin/jsonschema/tests/draft3/optional/zeroTerminatedFloats.json deleted file mode 100644 index 9b50ea27769..00000000000 --- a/3rdparty/rapidjson/bin/jsonschema/tests/draft3/optional/zeroTerminatedFloats.json +++ /dev/null @@ -1,15 +0,0 @@ -[ - { - "description": "some languages do not distinguish between different types of numeric value", - "schema": { - "type": "integer" - }, - "tests": [ - { - "description": "a float is not an integer even without fractional part", - "data": 1.0, - "valid": false - } - ] - } -] diff --git a/3rdparty/rapidjson/bin/jsonschema/tests/draft3/pattern.json b/3rdparty/rapidjson/bin/jsonschema/tests/draft3/pattern.json deleted file mode 100644 index 25e72997314..00000000000 --- a/3rdparty/rapidjson/bin/jsonschema/tests/draft3/pattern.json +++ /dev/null @@ -1,34 +0,0 @@ -[ - { - "description": "pattern validation", - "schema": {"pattern": "^a*$"}, - "tests": [ - { - "description": "a matching pattern is valid", - "data": "aaa", - "valid": true - }, - { - "description": "a non-matching pattern is invalid", - "data": "abc", - "valid": false - }, - { - "description": "ignores non-strings", - "data": true, - "valid": true - } - ] - }, - { - "description": "pattern is not anchored", - "schema": {"pattern": "a+"}, - "tests": [ - { - "description": "matches a substring", - "data": "xxaayy", - "valid": true - } - ] - } -] diff --git a/3rdparty/rapidjson/bin/jsonschema/tests/draft3/patternProperties.json b/3rdparty/rapidjson/bin/jsonschema/tests/draft3/patternProperties.json deleted file mode 100644 index 18586e5daba..00000000000 --- a/3rdparty/rapidjson/bin/jsonschema/tests/draft3/patternProperties.json +++ /dev/null @@ -1,110 +0,0 @@ -[ - { - "description": - "patternProperties validates properties matching a regex", - "schema": { - "patternProperties": { - "f.*o": {"type": "integer"} - } - }, - "tests": [ - { - "description": "a single valid match is valid", - "data": {"foo": 1}, - "valid": true - }, - { - "description": "multiple valid matches is valid", - "data": {"foo": 1, "foooooo" : 2}, - "valid": true - }, - { - "description": "a single invalid match is invalid", - "data": {"foo": "bar", "fooooo": 2}, - "valid": false - }, - { - "description": "multiple invalid matches is invalid", - "data": {"foo": "bar", "foooooo" : "baz"}, - "valid": false - }, - { - "description": "ignores non-objects", - "data": 12, - "valid": true - } - ] - }, - { - "description": "multiple simultaneous patternProperties are validated", - "schema": { - "patternProperties": { - "a*": {"type": "integer"}, - "aaa*": {"maximum": 20} - } - }, - "tests": [ - { - "description": "a single valid match is valid", - "data": {"a": 21}, - "valid": true - }, - { - "description": "a simultaneous match is valid", - "data": {"aaaa": 18}, - "valid": true - }, - { - "description": "multiple matches is valid", - "data": {"a": 21, "aaaa": 18}, - "valid": true - }, - { - "description": "an invalid due to one is invalid", - "data": {"a": "bar"}, - "valid": false - }, - { - "description": "an invalid due to the other is invalid", - "data": {"aaaa": 31}, - "valid": false - }, - { - "description": "an invalid due to both is invalid", - "data": {"aaa": "foo", "aaaa": 31}, - "valid": false - } - ] - }, - { - "description": "regexes are not anchored by default and are case sensitive", - "schema": { - "patternProperties": { - "[0-9]{2,}": { "type": "boolean" }, - "X_": { "type": "string" } - } - }, - "tests": [ - { - "description": "non recognized members are ignored", - "data": { "answer 1": "42" }, - "valid": true - }, - { - "description": "recognized members are accounted for", - "data": { "a31b": null }, - "valid": false - }, - { - "description": "regexes are case sensitive", - "data": { "a_x_3": 3 }, - "valid": true - }, - { - "description": "regexes are case sensitive, 2", - "data": { "a_X_3": 3 }, - "valid": false - } - ] - } -] diff --git a/3rdparty/rapidjson/bin/jsonschema/tests/draft3/properties.json b/3rdparty/rapidjson/bin/jsonschema/tests/draft3/properties.json deleted file mode 100644 index cd1644dcd91..00000000000 --- a/3rdparty/rapidjson/bin/jsonschema/tests/draft3/properties.json +++ /dev/null @@ -1,92 +0,0 @@ -[ - { - "description": "object properties validation", - "schema": { - "properties": { - "foo": {"type": "integer"}, - "bar": {"type": "string"} - } - }, - "tests": [ - { - "description": "both properties present and valid is valid", - "data": {"foo": 1, "bar": "baz"}, - "valid": true - }, - { - "description": "one property invalid is invalid", - "data": {"foo": 1, "bar": {}}, - "valid": false - }, - { - "description": "both properties invalid is invalid", - "data": {"foo": [], "bar": {}}, - "valid": false - }, - { - "description": "doesn't invalidate other properties", - "data": {"quux": []}, - "valid": true - }, - { - "description": "ignores non-objects", - "data": [], - "valid": true - } - ] - }, - { - "description": - "properties, patternProperties, additionalProperties interaction", - "schema": { - "properties": { - "foo": {"type": "array", "maxItems": 3}, - "bar": {"type": "array"} - }, - "patternProperties": {"f.o": {"minItems": 2}}, - "additionalProperties": {"type": "integer"} - }, - "tests": [ - { - "description": "property validates property", - "data": {"foo": [1, 2]}, - "valid": true - }, - { - "description": "property invalidates property", - "data": {"foo": [1, 2, 3, 4]}, - "valid": false - }, - { - "description": "patternProperty invalidates property", - "data": {"foo": []}, - "valid": false - }, - { - "description": "patternProperty validates nonproperty", - "data": {"fxo": [1, 2]}, - "valid": true - }, - { - "description": "patternProperty invalidates nonproperty", - "data": {"fxo": []}, - "valid": false - }, - { - "description": "additionalProperty ignores property", - "data": {"bar": []}, - "valid": true - }, - { - "description": "additionalProperty validates others", - "data": {"quux": 3}, - "valid": true - }, - { - "description": "additionalProperty invalidates others", - "data": {"quux": "foo"}, - "valid": false - } - ] - } -] diff --git a/3rdparty/rapidjson/bin/jsonschema/tests/draft3/ref.json b/3rdparty/rapidjson/bin/jsonschema/tests/draft3/ref.json deleted file mode 100644 index 903ecb6bce1..00000000000 --- a/3rdparty/rapidjson/bin/jsonschema/tests/draft3/ref.json +++ /dev/null @@ -1,159 +0,0 @@ -[ - { - "description": "root pointer ref", - "schema": { - "properties": { - "foo": {"$ref": "#"} - }, - "additionalProperties": false - }, - "tests": [ - { - "description": "match", - "data": {"foo": false}, - "valid": true - }, - { - "description": "recursive match", - "data": {"foo": {"foo": false}}, - "valid": true - }, - { - "description": "mismatch", - "data": {"bar": false}, - "valid": false - }, - { - "description": "recursive mismatch", - "data": {"foo": {"bar": false}}, - "valid": false - } - ] - }, - { - "description": "relative pointer ref to object", - "schema": { - "properties": { - "foo": {"type": "integer"}, - "bar": {"$ref": "#/properties/foo"} - } - }, - "tests": [ - { - "description": "match", - "data": {"bar": 3}, - "valid": true - }, - { - "description": "mismatch", - "data": {"bar": true}, - "valid": false - } - ] - }, - { - "description": "relative pointer ref to array", - "schema": { - "items": [ - {"type": "integer"}, - {"$ref": "#/items/0"} - ] - }, - "tests": [ - { - "description": "match array", - "data": [1, 2], - "valid": true - }, - { - "description": "mismatch array", - "data": [1, "foo"], - "valid": false - } - ] - }, - { - "description": "escaped pointer ref", - "schema": { - "tilda~field": {"type": "integer"}, - "slash/field": {"type": "integer"}, - "percent%field": {"type": "integer"}, - "properties": { - "tilda": {"$ref": "#/tilda~0field"}, - "slash": {"$ref": "#/slash~1field"}, - "percent": {"$ref": "#/percent%25field"} - } - }, - "tests": [ - { - "description": "slash invalid", - "data": {"slash": "aoeu"}, - "valid": false - }, - { - "description": "tilda invalid", - "data": {"tilda": "aoeu"}, - "valid": false - }, - { - "description": "percent invalid", - "data": {"percent": "aoeu"}, - "valid": false - }, - { - "description": "slash valid", - "data": {"slash": 123}, - "valid": true - }, - { - "description": "tilda valid", - "data": {"tilda": 123}, - "valid": true - }, - { - "description": "percent valid", - "data": {"percent": 123}, - "valid": true - } - ] - }, - { - "description": "nested refs", - "schema": { - "definitions": { - "a": {"type": "integer"}, - "b": {"$ref": "#/definitions/a"}, - "c": {"$ref": "#/definitions/b"} - }, - "$ref": "#/definitions/c" - }, - "tests": [ - { - "description": "nested ref valid", - "data": 5, - "valid": true - }, - { - "description": "nested ref invalid", - "data": "a", - "valid": false - } - ] - }, - { - "description": "remote ref, containing refs itself", - "schema": {"$ref": "http://json-schema.org/draft-03/schema#"}, - "tests": [ - { - "description": "remote ref valid", - "data": {"items": {"type": "integer"}}, - "valid": true - }, - { - "description": "remote ref invalid", - "data": {"items": {"type": 1}}, - "valid": false - } - ] - } -] diff --git a/3rdparty/rapidjson/bin/jsonschema/tests/draft3/refRemote.json b/3rdparty/rapidjson/bin/jsonschema/tests/draft3/refRemote.json deleted file mode 100644 index 4ca804732c9..00000000000 --- a/3rdparty/rapidjson/bin/jsonschema/tests/draft3/refRemote.json +++ /dev/null @@ -1,74 +0,0 @@ -[ - { - "description": "remote ref", - "schema": {"$ref": "http://localhost:1234/integer.json"}, - "tests": [ - { - "description": "remote ref valid", - "data": 1, - "valid": true - }, - { - "description": "remote ref invalid", - "data": "a", - "valid": false - } - ] - }, - { - "description": "fragment within remote ref", - "schema": {"$ref": "http://localhost:1234/subSchemas.json#/integer"}, - "tests": [ - { - "description": "remote fragment valid", - "data": 1, - "valid": true - }, - { - "description": "remote fragment invalid", - "data": "a", - "valid": false - } - ] - }, - { - "description": "ref within remote ref", - "schema": { - "$ref": "http://localhost:1234/subSchemas.json#/refToInteger" - }, - "tests": [ - { - "description": "ref within ref valid", - "data": 1, - "valid": true - }, - { - "description": "ref within ref invalid", - "data": "a", - "valid": false - } - ] - }, - { - "description": "change resolution scope", - "schema": { - "id": "http://localhost:1234/", - "items": { - "id": "folder/", - "items": {"$ref": "folderInteger.json"} - } - }, - "tests": [ - { - "description": "changed scope ref valid", - "data": [[1]], - "valid": true - }, - { - "description": "changed scope ref invalid", - "data": [["a"]], - "valid": false - } - ] - } -] diff --git a/3rdparty/rapidjson/bin/jsonschema/tests/draft3/required.json b/3rdparty/rapidjson/bin/jsonschema/tests/draft3/required.json deleted file mode 100644 index aaaf0242737..00000000000 --- a/3rdparty/rapidjson/bin/jsonschema/tests/draft3/required.json +++ /dev/null @@ -1,53 +0,0 @@ -[ - { - "description": "required validation", - "schema": { - "properties": { - "foo": {"required" : true}, - "bar": {} - } - }, - "tests": [ - { - "description": "present required property is valid", - "data": {"foo": 1}, - "valid": true - }, - { - "description": "non-present required property is invalid", - "data": {"bar": 1}, - "valid": false - } - ] - }, - { - "description": "required default validation", - "schema": { - "properties": { - "foo": {} - } - }, - "tests": [ - { - "description": "not required by default", - "data": {}, - "valid": true - } - ] - }, - { - "description": "required explicitly false validation", - "schema": { - "properties": { - "foo": {"required": false} - } - }, - "tests": [ - { - "description": "not required if required is false", - "data": {}, - "valid": true - } - ] - } -] diff --git a/3rdparty/rapidjson/bin/jsonschema/tests/draft3/type.json b/3rdparty/rapidjson/bin/jsonschema/tests/draft3/type.json deleted file mode 100644 index 337da1206da..00000000000 --- a/3rdparty/rapidjson/bin/jsonschema/tests/draft3/type.json +++ /dev/null @@ -1,474 +0,0 @@ -[ - { - "description": "integer type matches integers", - "schema": {"type": "integer"}, - "tests": [ - { - "description": "an integer is an integer", - "data": 1, - "valid": true - }, - { - "description": "a float is not an integer", - "data": 1.1, - "valid": false - }, - { - "description": "a string is not an integer", - "data": "foo", - "valid": false - }, - { - "description": "an object is not an integer", - "data": {}, - "valid": false - }, - { - "description": "an array is not an integer", - "data": [], - "valid": false - }, - { - "description": "a boolean is not an integer", - "data": true, - "valid": false - }, - { - "description": "null is not an integer", - "data": null, - "valid": false - } - ] - }, - { - "description": "number type matches numbers", - "schema": {"type": "number"}, - "tests": [ - { - "description": "an integer is a number", - "data": 1, - "valid": true - }, - { - "description": "a float is a number", - "data": 1.1, - "valid": true - }, - { - "description": "a string is not a number", - "data": "foo", - "valid": false - }, - { - "description": "an object is not a number", - "data": {}, - "valid": false - }, - { - "description": "an array is not a number", - "data": [], - "valid": false - }, - { - "description": "a boolean is not a number", - "data": true, - "valid": false - }, - { - "description": "null is not a number", - "data": null, - "valid": false - } - ] - }, - { - "description": "string type matches strings", - "schema": {"type": "string"}, - "tests": [ - { - "description": "1 is not a string", - "data": 1, - "valid": false - }, - { - "description": "a float is not a string", - "data": 1.1, - "valid": false - }, - { - "description": "a string is a string", - "data": "foo", - "valid": true - }, - { - "description": "an object is not a string", - "data": {}, - "valid": false - }, - { - "description": "an array is not a string", - "data": [], - "valid": false - }, - { - "description": "a boolean is not a string", - "data": true, - "valid": false - }, - { - "description": "null is not a string", - "data": null, - "valid": false - } - ] - }, - { - "description": "object type matches objects", - "schema": {"type": "object"}, - "tests": [ - { - "description": "an integer is not an object", - "data": 1, - "valid": false - }, - { - "description": "a float is not an object", - "data": 1.1, - "valid": false - }, - { - "description": "a string is not an object", - "data": "foo", - "valid": false - }, - { - "description": "an object is an object", - "data": {}, - "valid": true - }, - { - "description": "an array is not an object", - "data": [], - "valid": false - }, - { - "description": "a boolean is not an object", - "data": true, - "valid": false - }, - { - "description": "null is not an object", - "data": null, - "valid": false - } - ] - }, - { - "description": "array type matches arrays", - "schema": {"type": "array"}, - "tests": [ - { - "description": "an integer is not an array", - "data": 1, - "valid": false - }, - { - "description": "a float is not an array", - "data": 1.1, - "valid": false - }, - { - "description": "a string is not an array", - "data": "foo", - "valid": false - }, - { - "description": "an object is not an array", - "data": {}, - "valid": false - }, - { - "description": "an array is an array", - "data": [], - "valid": true - }, - { - "description": "a boolean is not an array", - "data": true, - "valid": false - }, - { - "description": "null is not an array", - "data": null, - "valid": false - } - ] - }, - { - "description": "boolean type matches booleans", - "schema": {"type": "boolean"}, - "tests": [ - { - "description": "an integer is not a boolean", - "data": 1, - "valid": false - }, - { - "description": "a float is not a boolean", - "data": 1.1, - "valid": false - }, - { - "description": "a string is not a boolean", - "data": "foo", - "valid": false - }, - { - "description": "an object is not a boolean", - "data": {}, - "valid": false - }, - { - "description": "an array is not a boolean", - "data": [], - "valid": false - }, - { - "description": "a boolean is a boolean", - "data": true, - "valid": true - }, - { - "description": "null is not a boolean", - "data": null, - "valid": false - } - ] - }, - { - "description": "null type matches only the null object", - "schema": {"type": "null"}, - "tests": [ - { - "description": "an integer is not null", - "data": 1, - "valid": false - }, - { - "description": "a float is not null", - "data": 1.1, - "valid": false - }, - { - "description": "a string is not null", - "data": "foo", - "valid": false - }, - { - "description": "an object is not null", - "data": {}, - "valid": false - }, - { - "description": "an array is not null", - "data": [], - "valid": false - }, - { - "description": "a boolean is not null", - "data": true, - "valid": false - }, - { - "description": "null is null", - "data": null, - "valid": true - } - ] - }, - { - "description": "any type matches any type", - "schema": {"type": "any"}, - "tests": [ - { - "description": "any type includes integers", - "data": 1, - "valid": true - }, - { - "description": "any type includes float", - "data": 1.1, - "valid": true - }, - { - "description": "any type includes string", - "data": "foo", - "valid": true - }, - { - "description": "any type includes object", - "data": {}, - "valid": true - }, - { - "description": "any type includes array", - "data": [], - "valid": true - }, - { - "description": "any type includes boolean", - "data": true, - "valid": true - }, - { - "description": "any type includes null", - "data": null, - "valid": true - } - ] - }, - { - "description": "multiple types can be specified in an array", - "schema": {"type": ["integer", "string"]}, - "tests": [ - { - "description": "an integer is valid", - "data": 1, - "valid": true - }, - { - "description": "a string is valid", - "data": "foo", - "valid": true - }, - { - "description": "a float is invalid", - "data": 1.1, - "valid": false - }, - { - "description": "an object is invalid", - "data": {}, - "valid": false - }, - { - "description": "an array is invalid", - "data": [], - "valid": false - }, - { - "description": "a boolean is invalid", - "data": true, - "valid": false - }, - { - "description": "null is invalid", - "data": null, - "valid": false - } - ] - }, - { - "description": "types can include schemas", - "schema": { - "type": [ - "array", - {"type": "object"} - ] - }, - "tests": [ - { - "description": "an integer is invalid", - "data": 1, - "valid": false - }, - { - "description": "a string is invalid", - "data": "foo", - "valid": false - }, - { - "description": "a float is invalid", - "data": 1.1, - "valid": false - }, - { - "description": "an object is valid", - "data": {}, - "valid": true - }, - { - "description": "an array is valid", - "data": [], - "valid": true - }, - { - "description": "a boolean is invalid", - "data": true, - "valid": false - }, - { - "description": "null is invalid", - "data": null, - "valid": false - } - ] - }, - { - "description": - "when types includes a schema it should fully validate the schema", - "schema": { - "type": [ - "integer", - { - "properties": { - "foo": {"type": "null"} - } - } - ] - }, - "tests": [ - { - "description": "an integer is valid", - "data": 1, - "valid": true - }, - { - "description": "an object is valid only if it is fully valid", - "data": {"foo": null}, - "valid": true - }, - { - "description": "an object is invalid otherwise", - "data": {"foo": "bar"}, - "valid": false - } - ] - }, - { - "description": "types from separate schemas are merged", - "schema": { - "type": [ - {"type": ["string"]}, - {"type": ["array", "null"]} - ] - }, - "tests": [ - { - "description": "an integer is invalid", - "data": 1, - "valid": false - }, - { - "description": "a string is valid", - "data": "foo", - "valid": true - }, - { - "description": "an array is valid", - "data": [1, 2, 3], - "valid": true - } - ] - } -] diff --git a/3rdparty/rapidjson/bin/jsonschema/tests/draft3/uniqueItems.json b/3rdparty/rapidjson/bin/jsonschema/tests/draft3/uniqueItems.json deleted file mode 100644 index c1f4ab99c9a..00000000000 --- a/3rdparty/rapidjson/bin/jsonschema/tests/draft3/uniqueItems.json +++ /dev/null @@ -1,79 +0,0 @@ -[ - { - "description": "uniqueItems validation", - "schema": {"uniqueItems": true}, - "tests": [ - { - "description": "unique array of integers is valid", - "data": [1, 2], - "valid": true - }, - { - "description": "non-unique array of integers is invalid", - "data": [1, 1], - "valid": false - }, - { - "description": "numbers are unique if mathematically unequal", - "data": [1.0, 1.00, 1], - "valid": false - }, - { - "description": "unique array of objects is valid", - "data": [{"foo": "bar"}, {"foo": "baz"}], - "valid": true - }, - { - "description": "non-unique array of objects is invalid", - "data": [{"foo": "bar"}, {"foo": "bar"}], - "valid": false - }, - { - "description": "unique array of nested objects is valid", - "data": [ - {"foo": {"bar" : {"baz" : true}}}, - {"foo": {"bar" : {"baz" : false}}} - ], - "valid": true - }, - { - "description": "non-unique array of nested objects is invalid", - "data": [ - {"foo": {"bar" : {"baz" : true}}}, - {"foo": {"bar" : {"baz" : true}}} - ], - "valid": false - }, - { - "description": "unique array of arrays is valid", - "data": [["foo"], ["bar"]], - "valid": true - }, - { - "description": "non-unique array of arrays is invalid", - "data": [["foo"], ["foo"]], - "valid": false - }, - { - "description": "1 and true are unique", - "data": [1, true], - "valid": true - }, - { - "description": "0 and false are unique", - "data": [0, false], - "valid": true - }, - { - "description": "unique heterogeneous types are valid", - "data": [{}, [1], true, null, 1], - "valid": true - }, - { - "description": "non-unique heterogeneous types are invalid", - "data": [{}, [1], true, null, {}, 1], - "valid": false - } - ] - } -] diff --git a/3rdparty/rapidjson/bin/jsonschema/tests/draft4/.DS_Store b/3rdparty/rapidjson/bin/jsonschema/tests/draft4/.DS_Store deleted file mode 100644 index ef142295ea00d1d19fc3d30cc4e82dd207530825..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6148 zcmeHK%}T^D5T4N$3SRc8x4go>L0IYo$i9Huf(orExO?vd?#YAC<2OGpmKHn+A~FM+ zFPY3tnh%;}h={j`c0;r#q6$rrrL!PnUYt5}=L;ZfjzTYVPhI=kbPI|8qDj8JqCx}h z=^1$X{)bX@53|YcakFbmKiF=rZcj9aqIv5BBrVO0ha4q-$4St!$ zB7YhZqhKHy_-738s@~OGY|8J}+4khFO=x#$BH}kn2ZH|O5rBc5BUd_U^GW*f%Z{U= TWD&cD1LGl}goFwPeu04xBO^7X diff --git a/3rdparty/rapidjson/bin/jsonschema/tests/draft4/additionalItems.json b/3rdparty/rapidjson/bin/jsonschema/tests/draft4/additionalItems.json deleted file mode 100644 index 521745c8d6e..00000000000 --- a/3rdparty/rapidjson/bin/jsonschema/tests/draft4/additionalItems.json +++ /dev/null @@ -1,82 +0,0 @@ -[ - { - "description": "additionalItems as schema", - "schema": { - "items": [{}], - "additionalItems": {"type": "integer"} - }, - "tests": [ - { - "description": "additional items match schema", - "data": [ null, 2, 3, 4 ], - "valid": true - }, - { - "description": "additional items do not match schema", - "data": [ null, 2, 3, "foo" ], - "valid": false - } - ] - }, - { - "description": "items is schema, no additionalItems", - "schema": { - "items": {}, - "additionalItems": false - }, - "tests": [ - { - "description": "all items match schema", - "data": [ 1, 2, 3, 4, 5 ], - "valid": true - } - ] - }, - { - "description": "array of items with no additionalItems", - "schema": { - "items": [{}, {}, {}], - "additionalItems": false - }, - "tests": [ - { - "description": "no additional items present", - "data": [ 1, 2, 3 ], - "valid": true - }, - { - "description": "additional items are not permitted", - "data": [ 1, 2, 3, 4 ], - "valid": false - } - ] - }, - { - "description": "additionalItems as false without items", - "schema": {"additionalItems": false}, - "tests": [ - { - "description": - "items defaults to empty schema so everything is valid", - "data": [ 1, 2, 3, 4, 5 ], - "valid": true - }, - { - "description": "ignores non-arrays", - "data": {"foo" : "bar"}, - "valid": true - } - ] - }, - { - "description": "additionalItems are allowed by default", - "schema": {"items": [{"type": "integer"}]}, - "tests": [ - { - "description": "only the first item is validated", - "data": [1, "foo", false], - "valid": true - } - ] - } -] diff --git a/3rdparty/rapidjson/bin/jsonschema/tests/draft4/additionalProperties.json b/3rdparty/rapidjson/bin/jsonschema/tests/draft4/additionalProperties.json deleted file mode 100644 index 40831f9e9aa..00000000000 --- a/3rdparty/rapidjson/bin/jsonschema/tests/draft4/additionalProperties.json +++ /dev/null @@ -1,88 +0,0 @@ -[ - { - "description": - "additionalProperties being false does not allow other properties", - "schema": { - "properties": {"foo": {}, "bar": {}}, - "patternProperties": { "^v": {} }, - "additionalProperties": false - }, - "tests": [ - { - "description": "no additional properties is valid", - "data": {"foo": 1}, - "valid": true - }, - { - "description": "an additional property is invalid", - "data": {"foo" : 1, "bar" : 2, "quux" : "boom"}, - "valid": false - }, - { - "description": "ignores non-objects", - "data": [1, 2, 3], - "valid": true - }, - { - "description": "patternProperties are not additional properties", - "data": {"foo":1, "vroom": 2}, - "valid": true - } - ] - }, - { - "description": - "additionalProperties allows a schema which should validate", - "schema": { - "properties": {"foo": {}, "bar": {}}, - "additionalProperties": {"type": "boolean"} - }, - "tests": [ - { - "description": "no additional properties is valid", - "data": {"foo": 1}, - "valid": true - }, - { - "description": "an additional valid property is valid", - "data": {"foo" : 1, "bar" : 2, "quux" : true}, - "valid": true - }, - { - "description": "an additional invalid property is invalid", - "data": {"foo" : 1, "bar" : 2, "quux" : 12}, - "valid": false - } - ] - }, - { - "description": - "additionalProperties can exist by itself", - "schema": { - "additionalProperties": {"type": "boolean"} - }, - "tests": [ - { - "description": "an additional valid property is valid", - "data": {"foo" : true}, - "valid": true - }, - { - "description": "an additional invalid property is invalid", - "data": {"foo" : 1}, - "valid": false - } - ] - }, - { - "description": "additionalProperties are allowed by default", - "schema": {"properties": {"foo": {}, "bar": {}}}, - "tests": [ - { - "description": "additional properties are allowed", - "data": {"foo": 1, "bar": 2, "quux": true}, - "valid": true - } - ] - } -] diff --git a/3rdparty/rapidjson/bin/jsonschema/tests/draft4/allOf.json b/3rdparty/rapidjson/bin/jsonschema/tests/draft4/allOf.json deleted file mode 100644 index bbb5f89e4bc..00000000000 --- a/3rdparty/rapidjson/bin/jsonschema/tests/draft4/allOf.json +++ /dev/null @@ -1,112 +0,0 @@ -[ - { - "description": "allOf", - "schema": { - "allOf": [ - { - "properties": { - "bar": {"type": "integer"} - }, - "required": ["bar"] - }, - { - "properties": { - "foo": {"type": "string"} - }, - "required": ["foo"] - } - ] - }, - "tests": [ - { - "description": "allOf", - "data": {"foo": "baz", "bar": 2}, - "valid": true - }, - { - "description": "mismatch second", - "data": {"foo": "baz"}, - "valid": false - }, - { - "description": "mismatch first", - "data": {"bar": 2}, - "valid": false - }, - { - "description": "wrong type", - "data": {"foo": "baz", "bar": "quux"}, - "valid": false - } - ] - }, - { - "description": "allOf with base schema", - "schema": { - "properties": {"bar": {"type": "integer"}}, - "required": ["bar"], - "allOf" : [ - { - "properties": { - "foo": {"type": "string"} - }, - "required": ["foo"] - }, - { - "properties": { - "baz": {"type": "null"} - }, - "required": ["baz"] - } - ] - }, - "tests": [ - { - "description": "valid", - "data": {"foo": "quux", "bar": 2, "baz": null}, - "valid": true - }, - { - "description": "mismatch base schema", - "data": {"foo": "quux", "baz": null}, - "valid": false - }, - { - "description": "mismatch first allOf", - "data": {"bar": 2, "baz": null}, - "valid": false - }, - { - "description": "mismatch second allOf", - "data": {"foo": "quux", "bar": 2}, - "valid": false - }, - { - "description": "mismatch both", - "data": {"bar": 2}, - "valid": false - } - ] - }, - { - "description": "allOf simple types", - "schema": { - "allOf": [ - {"maximum": 30}, - {"minimum": 20} - ] - }, - "tests": [ - { - "description": "valid", - "data": 25, - "valid": true - }, - { - "description": "mismatch one", - "data": 35, - "valid": false - } - ] - } -] diff --git a/3rdparty/rapidjson/bin/jsonschema/tests/draft4/anyOf.json b/3rdparty/rapidjson/bin/jsonschema/tests/draft4/anyOf.json deleted file mode 100644 index a58714afd89..00000000000 --- a/3rdparty/rapidjson/bin/jsonschema/tests/draft4/anyOf.json +++ /dev/null @@ -1,68 +0,0 @@ -[ - { - "description": "anyOf", - "schema": { - "anyOf": [ - { - "type": "integer" - }, - { - "minimum": 2 - } - ] - }, - "tests": [ - { - "description": "first anyOf valid", - "data": 1, - "valid": true - }, - { - "description": "second anyOf valid", - "data": 2.5, - "valid": true - }, - { - "description": "both anyOf valid", - "data": 3, - "valid": true - }, - { - "description": "neither anyOf valid", - "data": 1.5, - "valid": false - } - ] - }, - { - "description": "anyOf with base schema", - "schema": { - "type": "string", - "anyOf" : [ - { - "maxLength": 2 - }, - { - "minLength": 4 - } - ] - }, - "tests": [ - { - "description": "mismatch base schema", - "data": 3, - "valid": false - }, - { - "description": "one anyOf valid", - "data": "foobar", - "valid": true - }, - { - "description": "both anyOf invalid", - "data": "foo", - "valid": false - } - ] - } -] diff --git a/3rdparty/rapidjson/bin/jsonschema/tests/draft4/default.json b/3rdparty/rapidjson/bin/jsonschema/tests/draft4/default.json deleted file mode 100644 index 17629779fbe..00000000000 --- a/3rdparty/rapidjson/bin/jsonschema/tests/draft4/default.json +++ /dev/null @@ -1,49 +0,0 @@ -[ - { - "description": "invalid type for default", - "schema": { - "properties": { - "foo": { - "type": "integer", - "default": [] - } - } - }, - "tests": [ - { - "description": "valid when property is specified", - "data": {"foo": 13}, - "valid": true - }, - { - "description": "still valid when the invalid default is used", - "data": {}, - "valid": true - } - ] - }, - { - "description": "invalid string value for default", - "schema": { - "properties": { - "bar": { - "type": "string", - "minLength": 4, - "default": "bad" - } - } - }, - "tests": [ - { - "description": "valid when property is specified", - "data": {"bar": "good"}, - "valid": true - }, - { - "description": "still valid when the invalid default is used", - "data": {}, - "valid": true - } - ] - } -] diff --git a/3rdparty/rapidjson/bin/jsonschema/tests/draft4/definitions.json b/3rdparty/rapidjson/bin/jsonschema/tests/draft4/definitions.json deleted file mode 100644 index cf935a32153..00000000000 --- a/3rdparty/rapidjson/bin/jsonschema/tests/draft4/definitions.json +++ /dev/null @@ -1,32 +0,0 @@ -[ - { - "description": "valid definition", - "schema": {"$ref": "http://json-schema.org/draft-04/schema#"}, - "tests": [ - { - "description": "valid definition schema", - "data": { - "definitions": { - "foo": {"type": "integer"} - } - }, - "valid": true - } - ] - }, - { - "description": "invalid definition", - "schema": {"$ref": "http://json-schema.org/draft-04/schema#"}, - "tests": [ - { - "description": "invalid definition schema", - "data": { - "definitions": { - "foo": {"type": 1} - } - }, - "valid": false - } - ] - } -] diff --git a/3rdparty/rapidjson/bin/jsonschema/tests/draft4/dependencies.json b/3rdparty/rapidjson/bin/jsonschema/tests/draft4/dependencies.json deleted file mode 100644 index 7b9b16a7e12..00000000000 --- a/3rdparty/rapidjson/bin/jsonschema/tests/draft4/dependencies.json +++ /dev/null @@ -1,113 +0,0 @@ -[ - { - "description": "dependencies", - "schema": { - "dependencies": {"bar": ["foo"]} - }, - "tests": [ - { - "description": "neither", - "data": {}, - "valid": true - }, - { - "description": "nondependant", - "data": {"foo": 1}, - "valid": true - }, - { - "description": "with dependency", - "data": {"foo": 1, "bar": 2}, - "valid": true - }, - { - "description": "missing dependency", - "data": {"bar": 2}, - "valid": false - }, - { - "description": "ignores non-objects", - "data": "foo", - "valid": true - } - ] - }, - { - "description": "multiple dependencies", - "schema": { - "dependencies": {"quux": ["foo", "bar"]} - }, - "tests": [ - { - "description": "neither", - "data": {}, - "valid": true - }, - { - "description": "nondependants", - "data": {"foo": 1, "bar": 2}, - "valid": true - }, - { - "description": "with dependencies", - "data": {"foo": 1, "bar": 2, "quux": 3}, - "valid": true - }, - { - "description": "missing dependency", - "data": {"foo": 1, "quux": 2}, - "valid": false - }, - { - "description": "missing other dependency", - "data": {"bar": 1, "quux": 2}, - "valid": false - }, - { - "description": "missing both dependencies", - "data": {"quux": 1}, - "valid": false - } - ] - }, - { - "description": "multiple dependencies subschema", - "schema": { - "dependencies": { - "bar": { - "properties": { - "foo": {"type": "integer"}, - "bar": {"type": "integer"} - } - } - } - }, - "tests": [ - { - "description": "valid", - "data": {"foo": 1, "bar": 2}, - "valid": true - }, - { - "description": "no dependency", - "data": {"foo": "quux"}, - "valid": true - }, - { - "description": "wrong type", - "data": {"foo": "quux", "bar": 2}, - "valid": false - }, - { - "description": "wrong type other", - "data": {"foo": 2, "bar": "quux"}, - "valid": false - }, - { - "description": "wrong type both", - "data": {"foo": "quux", "bar": "quux"}, - "valid": false - } - ] - } -] diff --git a/3rdparty/rapidjson/bin/jsonschema/tests/draft4/enum.json b/3rdparty/rapidjson/bin/jsonschema/tests/draft4/enum.json deleted file mode 100644 index f124436a7d9..00000000000 --- a/3rdparty/rapidjson/bin/jsonschema/tests/draft4/enum.json +++ /dev/null @@ -1,72 +0,0 @@ -[ - { - "description": "simple enum validation", - "schema": {"enum": [1, 2, 3]}, - "tests": [ - { - "description": "one of the enum is valid", - "data": 1, - "valid": true - }, - { - "description": "something else is invalid", - "data": 4, - "valid": false - } - ] - }, - { - "description": "heterogeneous enum validation", - "schema": {"enum": [6, "foo", [], true, {"foo": 12}]}, - "tests": [ - { - "description": "one of the enum is valid", - "data": [], - "valid": true - }, - { - "description": "something else is invalid", - "data": null, - "valid": false - }, - { - "description": "objects are deep compared", - "data": {"foo": false}, - "valid": false - } - ] - }, - { - "description": "enums in properties", - "schema": { - "type":"object", - "properties": { - "foo": {"enum":["foo"]}, - "bar": {"enum":["bar"]} - }, - "required": ["bar"] - }, - "tests": [ - { - "description": "both properties are valid", - "data": {"foo":"foo", "bar":"bar"}, - "valid": true - }, - { - "description": "missing optional property is valid", - "data": {"bar":"bar"}, - "valid": true - }, - { - "description": "missing required property is invalid", - "data": {"foo":"foo"}, - "valid": false - }, - { - "description": "missing all properties is invalid", - "data": {}, - "valid": false - } - ] - } -] diff --git a/3rdparty/rapidjson/bin/jsonschema/tests/draft4/items.json b/3rdparty/rapidjson/bin/jsonschema/tests/draft4/items.json deleted file mode 100644 index f5e18a13848..00000000000 --- a/3rdparty/rapidjson/bin/jsonschema/tests/draft4/items.json +++ /dev/null @@ -1,46 +0,0 @@ -[ - { - "description": "a schema given for items", - "schema": { - "items": {"type": "integer"} - }, - "tests": [ - { - "description": "valid items", - "data": [ 1, 2, 3 ], - "valid": true - }, - { - "description": "wrong type of items", - "data": [1, "x"], - "valid": false - }, - { - "description": "ignores non-arrays", - "data": {"foo" : "bar"}, - "valid": true - } - ] - }, - { - "description": "an array of schemas for items", - "schema": { - "items": [ - {"type": "integer"}, - {"type": "string"} - ] - }, - "tests": [ - { - "description": "correct types", - "data": [ 1, "foo" ], - "valid": true - }, - { - "description": "wrong types", - "data": [ "foo", 1 ], - "valid": false - } - ] - } -] diff --git a/3rdparty/rapidjson/bin/jsonschema/tests/draft4/maxItems.json b/3rdparty/rapidjson/bin/jsonschema/tests/draft4/maxItems.json deleted file mode 100644 index 3b53a6b371a..00000000000 --- a/3rdparty/rapidjson/bin/jsonschema/tests/draft4/maxItems.json +++ /dev/null @@ -1,28 +0,0 @@ -[ - { - "description": "maxItems validation", - "schema": {"maxItems": 2}, - "tests": [ - { - "description": "shorter is valid", - "data": [1], - "valid": true - }, - { - "description": "exact length is valid", - "data": [1, 2], - "valid": true - }, - { - "description": "too long is invalid", - "data": [1, 2, 3], - "valid": false - }, - { - "description": "ignores non-arrays", - "data": "foobar", - "valid": true - } - ] - } -] diff --git a/3rdparty/rapidjson/bin/jsonschema/tests/draft4/maxLength.json b/3rdparty/rapidjson/bin/jsonschema/tests/draft4/maxLength.json deleted file mode 100644 index 811d35b253c..00000000000 --- a/3rdparty/rapidjson/bin/jsonschema/tests/draft4/maxLength.json +++ /dev/null @@ -1,33 +0,0 @@ -[ - { - "description": "maxLength validation", - "schema": {"maxLength": 2}, - "tests": [ - { - "description": "shorter is valid", - "data": "f", - "valid": true - }, - { - "description": "exact length is valid", - "data": "fo", - "valid": true - }, - { - "description": "too long is invalid", - "data": "foo", - "valid": false - }, - { - "description": "ignores non-strings", - "data": 100, - "valid": true - }, - { - "description": "two supplementary Unicode code points is long enough", - "data": "\uD83D\uDCA9\uD83D\uDCA9", - "valid": true - } - ] - } -] diff --git a/3rdparty/rapidjson/bin/jsonschema/tests/draft4/maxProperties.json b/3rdparty/rapidjson/bin/jsonschema/tests/draft4/maxProperties.json deleted file mode 100644 index d282446ad69..00000000000 --- a/3rdparty/rapidjson/bin/jsonschema/tests/draft4/maxProperties.json +++ /dev/null @@ -1,28 +0,0 @@ -[ - { - "description": "maxProperties validation", - "schema": {"maxProperties": 2}, - "tests": [ - { - "description": "shorter is valid", - "data": {"foo": 1}, - "valid": true - }, - { - "description": "exact length is valid", - "data": {"foo": 1, "bar": 2}, - "valid": true - }, - { - "description": "too long is invalid", - "data": {"foo": 1, "bar": 2, "baz": 3}, - "valid": false - }, - { - "description": "ignores non-objects", - "data": "foobar", - "valid": true - } - ] - } -] diff --git a/3rdparty/rapidjson/bin/jsonschema/tests/draft4/maximum.json b/3rdparty/rapidjson/bin/jsonschema/tests/draft4/maximum.json deleted file mode 100644 index 86c7b89c9a9..00000000000 --- a/3rdparty/rapidjson/bin/jsonschema/tests/draft4/maximum.json +++ /dev/null @@ -1,42 +0,0 @@ -[ - { - "description": "maximum validation", - "schema": {"maximum": 3.0}, - "tests": [ - { - "description": "below the maximum is valid", - "data": 2.6, - "valid": true - }, - { - "description": "above the maximum is invalid", - "data": 3.5, - "valid": false - }, - { - "description": "ignores non-numbers", - "data": "x", - "valid": true - } - ] - }, - { - "description": "exclusiveMaximum validation", - "schema": { - "maximum": 3.0, - "exclusiveMaximum": true - }, - "tests": [ - { - "description": "below the maximum is still valid", - "data": 2.2, - "valid": true - }, - { - "description": "boundary point is invalid", - "data": 3.0, - "valid": false - } - ] - } -] diff --git a/3rdparty/rapidjson/bin/jsonschema/tests/draft4/minItems.json b/3rdparty/rapidjson/bin/jsonschema/tests/draft4/minItems.json deleted file mode 100644 index ed5118815ee..00000000000 --- a/3rdparty/rapidjson/bin/jsonschema/tests/draft4/minItems.json +++ /dev/null @@ -1,28 +0,0 @@ -[ - { - "description": "minItems validation", - "schema": {"minItems": 1}, - "tests": [ - { - "description": "longer is valid", - "data": [1, 2], - "valid": true - }, - { - "description": "exact length is valid", - "data": [1], - "valid": true - }, - { - "description": "too short is invalid", - "data": [], - "valid": false - }, - { - "description": "ignores non-arrays", - "data": "", - "valid": true - } - ] - } -] diff --git a/3rdparty/rapidjson/bin/jsonschema/tests/draft4/minLength.json b/3rdparty/rapidjson/bin/jsonschema/tests/draft4/minLength.json deleted file mode 100644 index 3f09158deef..00000000000 --- a/3rdparty/rapidjson/bin/jsonschema/tests/draft4/minLength.json +++ /dev/null @@ -1,33 +0,0 @@ -[ - { - "description": "minLength validation", - "schema": {"minLength": 2}, - "tests": [ - { - "description": "longer is valid", - "data": "foo", - "valid": true - }, - { - "description": "exact length is valid", - "data": "fo", - "valid": true - }, - { - "description": "too short is invalid", - "data": "f", - "valid": false - }, - { - "description": "ignores non-strings", - "data": 1, - "valid": true - }, - { - "description": "one supplementary Unicode code point is not long enough", - "data": "\uD83D\uDCA9", - "valid": false - } - ] - } -] diff --git a/3rdparty/rapidjson/bin/jsonschema/tests/draft4/minProperties.json b/3rdparty/rapidjson/bin/jsonschema/tests/draft4/minProperties.json deleted file mode 100644 index a72c7d293e6..00000000000 --- a/3rdparty/rapidjson/bin/jsonschema/tests/draft4/minProperties.json +++ /dev/null @@ -1,28 +0,0 @@ -[ - { - "description": "minProperties validation", - "schema": {"minProperties": 1}, - "tests": [ - { - "description": "longer is valid", - "data": {"foo": 1, "bar": 2}, - "valid": true - }, - { - "description": "exact length is valid", - "data": {"foo": 1}, - "valid": true - }, - { - "description": "too short is invalid", - "data": {}, - "valid": false - }, - { - "description": "ignores non-objects", - "data": "", - "valid": true - } - ] - } -] diff --git a/3rdparty/rapidjson/bin/jsonschema/tests/draft4/minimum.json b/3rdparty/rapidjson/bin/jsonschema/tests/draft4/minimum.json deleted file mode 100644 index d5bf000bcc6..00000000000 --- a/3rdparty/rapidjson/bin/jsonschema/tests/draft4/minimum.json +++ /dev/null @@ -1,42 +0,0 @@ -[ - { - "description": "minimum validation", - "schema": {"minimum": 1.1}, - "tests": [ - { - "description": "above the minimum is valid", - "data": 2.6, - "valid": true - }, - { - "description": "below the minimum is invalid", - "data": 0.6, - "valid": false - }, - { - "description": "ignores non-numbers", - "data": "x", - "valid": true - } - ] - }, - { - "description": "exclusiveMinimum validation", - "schema": { - "minimum": 1.1, - "exclusiveMinimum": true - }, - "tests": [ - { - "description": "above the minimum is still valid", - "data": 1.2, - "valid": true - }, - { - "description": "boundary point is invalid", - "data": 1.1, - "valid": false - } - ] - } -] diff --git a/3rdparty/rapidjson/bin/jsonschema/tests/draft4/multipleOf.json b/3rdparty/rapidjson/bin/jsonschema/tests/draft4/multipleOf.json deleted file mode 100644 index ca3b7618053..00000000000 --- a/3rdparty/rapidjson/bin/jsonschema/tests/draft4/multipleOf.json +++ /dev/null @@ -1,60 +0,0 @@ -[ - { - "description": "by int", - "schema": {"multipleOf": 2}, - "tests": [ - { - "description": "int by int", - "data": 10, - "valid": true - }, - { - "description": "int by int fail", - "data": 7, - "valid": false - }, - { - "description": "ignores non-numbers", - "data": "foo", - "valid": true - } - ] - }, - { - "description": "by number", - "schema": {"multipleOf": 1.5}, - "tests": [ - { - "description": "zero is multiple of anything", - "data": 0, - "valid": true - }, - { - "description": "4.5 is multiple of 1.5", - "data": 4.5, - "valid": true - }, - { - "description": "35 is not multiple of 1.5", - "data": 35, - "valid": false - } - ] - }, - { - "description": "by small number", - "schema": {"multipleOf": 0.0001}, - "tests": [ - { - "description": "0.0075 is multiple of 0.0001", - "data": 0.0075, - "valid": true - }, - { - "description": "0.00751 is not multiple of 0.0001", - "data": 0.00751, - "valid": false - } - ] - } -] diff --git a/3rdparty/rapidjson/bin/jsonschema/tests/draft4/not.json b/3rdparty/rapidjson/bin/jsonschema/tests/draft4/not.json deleted file mode 100644 index cbb7f46bf8b..00000000000 --- a/3rdparty/rapidjson/bin/jsonschema/tests/draft4/not.json +++ /dev/null @@ -1,96 +0,0 @@ -[ - { - "description": "not", - "schema": { - "not": {"type": "integer"} - }, - "tests": [ - { - "description": "allowed", - "data": "foo", - "valid": true - }, - { - "description": "disallowed", - "data": 1, - "valid": false - } - ] - }, - { - "description": "not multiple types", - "schema": { - "not": {"type": ["integer", "boolean"]} - }, - "tests": [ - { - "description": "valid", - "data": "foo", - "valid": true - }, - { - "description": "mismatch", - "data": 1, - "valid": false - }, - { - "description": "other mismatch", - "data": true, - "valid": false - } - ] - }, - { - "description": "not more complex schema", - "schema": { - "not": { - "type": "object", - "properties": { - "foo": { - "type": "string" - } - } - } - }, - "tests": [ - { - "description": "match", - "data": 1, - "valid": true - }, - { - "description": "other match", - "data": {"foo": 1}, - "valid": true - }, - { - "description": "mismatch", - "data": {"foo": "bar"}, - "valid": false - } - ] - }, - { - "description": "forbidden property", - "schema": { - "properties": { - "foo": { - "not": {} - } - } - }, - "tests": [ - { - "description": "property present", - "data": {"foo": 1, "bar": 2}, - "valid": false - }, - { - "description": "property absent", - "data": {"bar": 1, "baz": 2}, - "valid": true - } - ] - } - -] diff --git a/3rdparty/rapidjson/bin/jsonschema/tests/draft4/oneOf.json b/3rdparty/rapidjson/bin/jsonschema/tests/draft4/oneOf.json deleted file mode 100644 index 1eaa4e47949..00000000000 --- a/3rdparty/rapidjson/bin/jsonschema/tests/draft4/oneOf.json +++ /dev/null @@ -1,68 +0,0 @@ -[ - { - "description": "oneOf", - "schema": { - "oneOf": [ - { - "type": "integer" - }, - { - "minimum": 2 - } - ] - }, - "tests": [ - { - "description": "first oneOf valid", - "data": 1, - "valid": true - }, - { - "description": "second oneOf valid", - "data": 2.5, - "valid": true - }, - { - "description": "both oneOf valid", - "data": 3, - "valid": false - }, - { - "description": "neither oneOf valid", - "data": 1.5, - "valid": false - } - ] - }, - { - "description": "oneOf with base schema", - "schema": { - "type": "string", - "oneOf" : [ - { - "minLength": 2 - }, - { - "maxLength": 4 - } - ] - }, - "tests": [ - { - "description": "mismatch base schema", - "data": 3, - "valid": false - }, - { - "description": "one oneOf valid", - "data": "foobar", - "valid": true - }, - { - "description": "both oneOf valid", - "data": "foo", - "valid": false - } - ] - } -] diff --git a/3rdparty/rapidjson/bin/jsonschema/tests/draft4/optional/bignum.json b/3rdparty/rapidjson/bin/jsonschema/tests/draft4/optional/bignum.json deleted file mode 100644 index ccc7c17fe8d..00000000000 --- a/3rdparty/rapidjson/bin/jsonschema/tests/draft4/optional/bignum.json +++ /dev/null @@ -1,107 +0,0 @@ -[ - { - "description": "integer", - "schema": {"type": "integer"}, - "tests": [ - { - "description": "a bignum is an integer", - "data": 12345678910111213141516171819202122232425262728293031, - "valid": true - } - ] - }, - { - "description": "number", - "schema": {"type": "number"}, - "tests": [ - { - "description": "a bignum is a number", - "data": 98249283749234923498293171823948729348710298301928331, - "valid": true - } - ] - }, - { - "description": "integer", - "schema": {"type": "integer"}, - "tests": [ - { - "description": "a negative bignum is an integer", - "data": -12345678910111213141516171819202122232425262728293031, - "valid": true - } - ] - }, - { - "description": "number", - "schema": {"type": "number"}, - "tests": [ - { - "description": "a negative bignum is a number", - "data": -98249283749234923498293171823948729348710298301928331, - "valid": true - } - ] - }, - { - "description": "string", - "schema": {"type": "string"}, - "tests": [ - { - "description": "a bignum is not a string", - "data": 98249283749234923498293171823948729348710298301928331, - "valid": false - } - ] - }, - { - "description": "integer comparison", - "schema": {"maximum": 18446744073709551615}, - "tests": [ - { - "description": "comparison works for high numbers", - "data": 18446744073709551600, - "valid": true - } - ] - }, - { - "description": "float comparison with high precision", - "schema": { - "maximum": 972783798187987123879878123.18878137, - "exclusiveMaximum": true - }, - "tests": [ - { - "description": "comparison works for high numbers", - "data": 972783798187987123879878123.188781371, - "valid": false - } - ] - }, - { - "description": "integer comparison", - "schema": {"minimum": -18446744073709551615}, - "tests": [ - { - "description": "comparison works for very negative numbers", - "data": -18446744073709551600, - "valid": true - } - ] - }, - { - "description": "float comparison with high precision on negative numbers", - "schema": { - "minimum": -972783798187987123879878123.18878137, - "exclusiveMinimum": true - }, - "tests": [ - { - "description": "comparison works for very negative numbers", - "data": -972783798187987123879878123.188781371, - "valid": false - } - ] - } -] diff --git a/3rdparty/rapidjson/bin/jsonschema/tests/draft4/optional/format.json b/3rdparty/rapidjson/bin/jsonschema/tests/draft4/optional/format.json deleted file mode 100644 index aacfd119843..00000000000 --- a/3rdparty/rapidjson/bin/jsonschema/tests/draft4/optional/format.json +++ /dev/null @@ -1,148 +0,0 @@ -[ - { - "description": "validation of date-time strings", - "schema": {"format": "date-time"}, - "tests": [ - { - "description": "a valid date-time string", - "data": "1963-06-19T08:30:06.283185Z", - "valid": true - }, - { - "description": "an invalid date-time string", - "data": "06/19/1963 08:30:06 PST", - "valid": false - }, - { - "description": "only RFC3339 not all of ISO 8601 are valid", - "data": "2013-350T01:01:01", - "valid": false - } - ] - }, - { - "description": "validation of URIs", - "schema": {"format": "uri"}, - "tests": [ - { - "description": "a valid URI", - "data": "http://foo.bar/?baz=qux#quux", - "valid": true - }, - { - "description": "a valid protocol-relative URI", - "data": "//foo.bar/?baz=qux#quux", - "valid": true - }, - { - "description": "an invalid URI", - "data": "\\\\WINDOWS\\fileshare", - "valid": false - }, - { - "description": "an invalid URI though valid URI reference", - "data": "abc", - "valid": false - } - ] - }, - { - "description": "validation of e-mail addresses", - "schema": {"format": "email"}, - "tests": [ - { - "description": "a valid e-mail address", - "data": "joe.bloggs@example.com", - "valid": true - }, - { - "description": "an invalid e-mail address", - "data": "2962", - "valid": false - } - ] - }, - { - "description": "validation of IP addresses", - "schema": {"format": "ipv4"}, - "tests": [ - { - "description": "a valid IP address", - "data": "192.168.0.1", - "valid": true - }, - { - "description": "an IP address with too many components", - "data": "127.0.0.0.1", - "valid": false - }, - { - "description": "an IP address with out-of-range values", - "data": "256.256.256.256", - "valid": false - }, - { - "description": "an IP address without 4 components", - "data": "127.0", - "valid": false - }, - { - "description": "an IP address as an integer", - "data": "0x7f000001", - "valid": false - } - ] - }, - { - "description": "validation of IPv6 addresses", - "schema": {"format": "ipv6"}, - "tests": [ - { - "description": "a valid IPv6 address", - "data": "::1", - "valid": true - }, - { - "description": "an IPv6 address with out-of-range values", - "data": "12345::", - "valid": false - }, - { - "description": "an IPv6 address with too many components", - "data": "1:1:1:1:1:1:1:1:1:1:1:1:1:1:1:1", - "valid": false - }, - { - "description": "an IPv6 address containing illegal characters", - "data": "::laptop", - "valid": false - } - ] - }, - { - "description": "validation of host names", - "schema": {"format": "hostname"}, - "tests": [ - { - "description": "a valid host name", - "data": "www.example.com", - "valid": true - }, - { - "description": "a host name starting with an illegal character", - "data": "-a-host-name-that-starts-with--", - "valid": false - }, - { - "description": "a host name containing illegal characters", - "data": "not_a_valid_host_name", - "valid": false - }, - { - "description": "a host name with a component too long", - "data": "a-vvvvvvvvvvvvvvvveeeeeeeeeeeeeeeerrrrrrrrrrrrrrrryyyyyyyyyyyyyyyy-long-host-name-component", - "valid": false - } - ] - } -] diff --git a/3rdparty/rapidjson/bin/jsonschema/tests/draft4/optional/zeroTerminatedFloats.json b/3rdparty/rapidjson/bin/jsonschema/tests/draft4/optional/zeroTerminatedFloats.json deleted file mode 100644 index 9b50ea27769..00000000000 --- a/3rdparty/rapidjson/bin/jsonschema/tests/draft4/optional/zeroTerminatedFloats.json +++ /dev/null @@ -1,15 +0,0 @@ -[ - { - "description": "some languages do not distinguish between different types of numeric value", - "schema": { - "type": "integer" - }, - "tests": [ - { - "description": "a float is not an integer even without fractional part", - "data": 1.0, - "valid": false - } - ] - } -] diff --git a/3rdparty/rapidjson/bin/jsonschema/tests/draft4/pattern.json b/3rdparty/rapidjson/bin/jsonschema/tests/draft4/pattern.json deleted file mode 100644 index 25e72997314..00000000000 --- a/3rdparty/rapidjson/bin/jsonschema/tests/draft4/pattern.json +++ /dev/null @@ -1,34 +0,0 @@ -[ - { - "description": "pattern validation", - "schema": {"pattern": "^a*$"}, - "tests": [ - { - "description": "a matching pattern is valid", - "data": "aaa", - "valid": true - }, - { - "description": "a non-matching pattern is invalid", - "data": "abc", - "valid": false - }, - { - "description": "ignores non-strings", - "data": true, - "valid": true - } - ] - }, - { - "description": "pattern is not anchored", - "schema": {"pattern": "a+"}, - "tests": [ - { - "description": "matches a substring", - "data": "xxaayy", - "valid": true - } - ] - } -] diff --git a/3rdparty/rapidjson/bin/jsonschema/tests/draft4/patternProperties.json b/3rdparty/rapidjson/bin/jsonschema/tests/draft4/patternProperties.json deleted file mode 100644 index 18586e5daba..00000000000 --- a/3rdparty/rapidjson/bin/jsonschema/tests/draft4/patternProperties.json +++ /dev/null @@ -1,110 +0,0 @@ -[ - { - "description": - "patternProperties validates properties matching a regex", - "schema": { - "patternProperties": { - "f.*o": {"type": "integer"} - } - }, - "tests": [ - { - "description": "a single valid match is valid", - "data": {"foo": 1}, - "valid": true - }, - { - "description": "multiple valid matches is valid", - "data": {"foo": 1, "foooooo" : 2}, - "valid": true - }, - { - "description": "a single invalid match is invalid", - "data": {"foo": "bar", "fooooo": 2}, - "valid": false - }, - { - "description": "multiple invalid matches is invalid", - "data": {"foo": "bar", "foooooo" : "baz"}, - "valid": false - }, - { - "description": "ignores non-objects", - "data": 12, - "valid": true - } - ] - }, - { - "description": "multiple simultaneous patternProperties are validated", - "schema": { - "patternProperties": { - "a*": {"type": "integer"}, - "aaa*": {"maximum": 20} - } - }, - "tests": [ - { - "description": "a single valid match is valid", - "data": {"a": 21}, - "valid": true - }, - { - "description": "a simultaneous match is valid", - "data": {"aaaa": 18}, - "valid": true - }, - { - "description": "multiple matches is valid", - "data": {"a": 21, "aaaa": 18}, - "valid": true - }, - { - "description": "an invalid due to one is invalid", - "data": {"a": "bar"}, - "valid": false - }, - { - "description": "an invalid due to the other is invalid", - "data": {"aaaa": 31}, - "valid": false - }, - { - "description": "an invalid due to both is invalid", - "data": {"aaa": "foo", "aaaa": 31}, - "valid": false - } - ] - }, - { - "description": "regexes are not anchored by default and are case sensitive", - "schema": { - "patternProperties": { - "[0-9]{2,}": { "type": "boolean" }, - "X_": { "type": "string" } - } - }, - "tests": [ - { - "description": "non recognized members are ignored", - "data": { "answer 1": "42" }, - "valid": true - }, - { - "description": "recognized members are accounted for", - "data": { "a31b": null }, - "valid": false - }, - { - "description": "regexes are case sensitive", - "data": { "a_x_3": 3 }, - "valid": true - }, - { - "description": "regexes are case sensitive, 2", - "data": { "a_X_3": 3 }, - "valid": false - } - ] - } -] diff --git a/3rdparty/rapidjson/bin/jsonschema/tests/draft4/properties.json b/3rdparty/rapidjson/bin/jsonschema/tests/draft4/properties.json deleted file mode 100644 index cd1644dcd91..00000000000 --- a/3rdparty/rapidjson/bin/jsonschema/tests/draft4/properties.json +++ /dev/null @@ -1,92 +0,0 @@ -[ - { - "description": "object properties validation", - "schema": { - "properties": { - "foo": {"type": "integer"}, - "bar": {"type": "string"} - } - }, - "tests": [ - { - "description": "both properties present and valid is valid", - "data": {"foo": 1, "bar": "baz"}, - "valid": true - }, - { - "description": "one property invalid is invalid", - "data": {"foo": 1, "bar": {}}, - "valid": false - }, - { - "description": "both properties invalid is invalid", - "data": {"foo": [], "bar": {}}, - "valid": false - }, - { - "description": "doesn't invalidate other properties", - "data": {"quux": []}, - "valid": true - }, - { - "description": "ignores non-objects", - "data": [], - "valid": true - } - ] - }, - { - "description": - "properties, patternProperties, additionalProperties interaction", - "schema": { - "properties": { - "foo": {"type": "array", "maxItems": 3}, - "bar": {"type": "array"} - }, - "patternProperties": {"f.o": {"minItems": 2}}, - "additionalProperties": {"type": "integer"} - }, - "tests": [ - { - "description": "property validates property", - "data": {"foo": [1, 2]}, - "valid": true - }, - { - "description": "property invalidates property", - "data": {"foo": [1, 2, 3, 4]}, - "valid": false - }, - { - "description": "patternProperty invalidates property", - "data": {"foo": []}, - "valid": false - }, - { - "description": "patternProperty validates nonproperty", - "data": {"fxo": [1, 2]}, - "valid": true - }, - { - "description": "patternProperty invalidates nonproperty", - "data": {"fxo": []}, - "valid": false - }, - { - "description": "additionalProperty ignores property", - "data": {"bar": []}, - "valid": true - }, - { - "description": "additionalProperty validates others", - "data": {"quux": 3}, - "valid": true - }, - { - "description": "additionalProperty invalidates others", - "data": {"quux": "foo"}, - "valid": false - } - ] - } -] diff --git a/3rdparty/rapidjson/bin/jsonschema/tests/draft4/ref.json b/3rdparty/rapidjson/bin/jsonschema/tests/draft4/ref.json deleted file mode 100644 index 7e805522492..00000000000 --- a/3rdparty/rapidjson/bin/jsonschema/tests/draft4/ref.json +++ /dev/null @@ -1,159 +0,0 @@ -[ - { - "description": "root pointer ref", - "schema": { - "properties": { - "foo": {"$ref": "#"} - }, - "additionalProperties": false - }, - "tests": [ - { - "description": "match", - "data": {"foo": false}, - "valid": true - }, - { - "description": "recursive match", - "data": {"foo": {"foo": false}}, - "valid": true - }, - { - "description": "mismatch", - "data": {"bar": false}, - "valid": false - }, - { - "description": "recursive mismatch", - "data": {"foo": {"bar": false}}, - "valid": false - } - ] - }, - { - "description": "relative pointer ref to object", - "schema": { - "properties": { - "foo": {"type": "integer"}, - "bar": {"$ref": "#/properties/foo"} - } - }, - "tests": [ - { - "description": "match", - "data": {"bar": 3}, - "valid": true - }, - { - "description": "mismatch", - "data": {"bar": true}, - "valid": false - } - ] - }, - { - "description": "relative pointer ref to array", - "schema": { - "items": [ - {"type": "integer"}, - {"$ref": "#/items/0"} - ] - }, - "tests": [ - { - "description": "match array", - "data": [1, 2], - "valid": true - }, - { - "description": "mismatch array", - "data": [1, "foo"], - "valid": false - } - ] - }, - { - "description": "escaped pointer ref", - "schema": { - "tilda~field": {"type": "integer"}, - "slash/field": {"type": "integer"}, - "percent%field": {"type": "integer"}, - "properties": { - "tilda": {"$ref": "#/tilda~0field"}, - "slash": {"$ref": "#/slash~1field"}, - "percent": {"$ref": "#/percent%25field"} - } - }, - "tests": [ - { - "description": "slash invalid", - "data": {"slash": "aoeu"}, - "valid": false - }, - { - "description": "tilda invalid", - "data": {"tilda": "aoeu"}, - "valid": false - }, - { - "description": "percent invalid", - "data": {"percent": "aoeu"}, - "valid": false - }, - { - "description": "slash valid", - "data": {"slash": 123}, - "valid": true - }, - { - "description": "tilda valid", - "data": {"tilda": 123}, - "valid": true - }, - { - "description": "percent valid", - "data": {"percent": 123}, - "valid": true - } - ] - }, - { - "description": "nested refs", - "schema": { - "definitions": { - "a": {"type": "integer"}, - "b": {"$ref": "#/definitions/a"}, - "c": {"$ref": "#/definitions/b"} - }, - "$ref": "#/definitions/c" - }, - "tests": [ - { - "description": "nested ref valid", - "data": 5, - "valid": true - }, - { - "description": "nested ref invalid", - "data": "a", - "valid": false - } - ] - }, - { - "description": "remote ref, containing refs itself", - "schema": {"$ref": "http://json-schema.org/draft-04/schema#"}, - "tests": [ - { - "description": "remote ref valid", - "data": {"minLength": 1}, - "valid": true - }, - { - "description": "remote ref invalid", - "data": {"minLength": -1}, - "valid": false - } - ] - } -] diff --git a/3rdparty/rapidjson/bin/jsonschema/tests/draft4/refRemote.json b/3rdparty/rapidjson/bin/jsonschema/tests/draft4/refRemote.json deleted file mode 100644 index 4ca804732c9..00000000000 --- a/3rdparty/rapidjson/bin/jsonschema/tests/draft4/refRemote.json +++ /dev/null @@ -1,74 +0,0 @@ -[ - { - "description": "remote ref", - "schema": {"$ref": "http://localhost:1234/integer.json"}, - "tests": [ - { - "description": "remote ref valid", - "data": 1, - "valid": true - }, - { - "description": "remote ref invalid", - "data": "a", - "valid": false - } - ] - }, - { - "description": "fragment within remote ref", - "schema": {"$ref": "http://localhost:1234/subSchemas.json#/integer"}, - "tests": [ - { - "description": "remote fragment valid", - "data": 1, - "valid": true - }, - { - "description": "remote fragment invalid", - "data": "a", - "valid": false - } - ] - }, - { - "description": "ref within remote ref", - "schema": { - "$ref": "http://localhost:1234/subSchemas.json#/refToInteger" - }, - "tests": [ - { - "description": "ref within ref valid", - "data": 1, - "valid": true - }, - { - "description": "ref within ref invalid", - "data": "a", - "valid": false - } - ] - }, - { - "description": "change resolution scope", - "schema": { - "id": "http://localhost:1234/", - "items": { - "id": "folder/", - "items": {"$ref": "folderInteger.json"} - } - }, - "tests": [ - { - "description": "changed scope ref valid", - "data": [[1]], - "valid": true - }, - { - "description": "changed scope ref invalid", - "data": [["a"]], - "valid": false - } - ] - } -] diff --git a/3rdparty/rapidjson/bin/jsonschema/tests/draft4/required.json b/3rdparty/rapidjson/bin/jsonschema/tests/draft4/required.json deleted file mode 100644 index 612f73f3472..00000000000 --- a/3rdparty/rapidjson/bin/jsonschema/tests/draft4/required.json +++ /dev/null @@ -1,39 +0,0 @@ -[ - { - "description": "required validation", - "schema": { - "properties": { - "foo": {}, - "bar": {} - }, - "required": ["foo"] - }, - "tests": [ - { - "description": "present required property is valid", - "data": {"foo": 1}, - "valid": true - }, - { - "description": "non-present required property is invalid", - "data": {"bar": 1}, - "valid": false - } - ] - }, - { - "description": "required default validation", - "schema": { - "properties": { - "foo": {} - } - }, - "tests": [ - { - "description": "not required by default", - "data": {}, - "valid": true - } - ] - } -] diff --git a/3rdparty/rapidjson/bin/jsonschema/tests/draft4/type.json b/3rdparty/rapidjson/bin/jsonschema/tests/draft4/type.json deleted file mode 100644 index db42a44d3fa..00000000000 --- a/3rdparty/rapidjson/bin/jsonschema/tests/draft4/type.json +++ /dev/null @@ -1,330 +0,0 @@ -[ - { - "description": "integer type matches integers", - "schema": {"type": "integer"}, - "tests": [ - { - "description": "an integer is an integer", - "data": 1, - "valid": true - }, - { - "description": "a float is not an integer", - "data": 1.1, - "valid": false - }, - { - "description": "a string is not an integer", - "data": "foo", - "valid": false - }, - { - "description": "an object is not an integer", - "data": {}, - "valid": false - }, - { - "description": "an array is not an integer", - "data": [], - "valid": false - }, - { - "description": "a boolean is not an integer", - "data": true, - "valid": false - }, - { - "description": "null is not an integer", - "data": null, - "valid": false - } - ] - }, - { - "description": "number type matches numbers", - "schema": {"type": "number"}, - "tests": [ - { - "description": "an integer is a number", - "data": 1, - "valid": true - }, - { - "description": "a float is a number", - "data": 1.1, - "valid": true - }, - { - "description": "a string is not a number", - "data": "foo", - "valid": false - }, - { - "description": "an object is not a number", - "data": {}, - "valid": false - }, - { - "description": "an array is not a number", - "data": [], - "valid": false - }, - { - "description": "a boolean is not a number", - "data": true, - "valid": false - }, - { - "description": "null is not a number", - "data": null, - "valid": false - } - ] - }, - { - "description": "string type matches strings", - "schema": {"type": "string"}, - "tests": [ - { - "description": "1 is not a string", - "data": 1, - "valid": false - }, - { - "description": "a float is not a string", - "data": 1.1, - "valid": false - }, - { - "description": "a string is a string", - "data": "foo", - "valid": true - }, - { - "description": "an object is not a string", - "data": {}, - "valid": false - }, - { - "description": "an array is not a string", - "data": [], - "valid": false - }, - { - "description": "a boolean is not a string", - "data": true, - "valid": false - }, - { - "description": "null is not a string", - "data": null, - "valid": false - } - ] - }, - { - "description": "object type matches objects", - "schema": {"type": "object"}, - "tests": [ - { - "description": "an integer is not an object", - "data": 1, - "valid": false - }, - { - "description": "a float is not an object", - "data": 1.1, - "valid": false - }, - { - "description": "a string is not an object", - "data": "foo", - "valid": false - }, - { - "description": "an object is an object", - "data": {}, - "valid": true - }, - { - "description": "an array is not an object", - "data": [], - "valid": false - }, - { - "description": "a boolean is not an object", - "data": true, - "valid": false - }, - { - "description": "null is not an object", - "data": null, - "valid": false - } - ] - }, - { - "description": "array type matches arrays", - "schema": {"type": "array"}, - "tests": [ - { - "description": "an integer is not an array", - "data": 1, - "valid": false - }, - { - "description": "a float is not an array", - "data": 1.1, - "valid": false - }, - { - "description": "a string is not an array", - "data": "foo", - "valid": false - }, - { - "description": "an object is not an array", - "data": {}, - "valid": false - }, - { - "description": "an array is an array", - "data": [], - "valid": true - }, - { - "description": "a boolean is not an array", - "data": true, - "valid": false - }, - { - "description": "null is not an array", - "data": null, - "valid": false - } - ] - }, - { - "description": "boolean type matches booleans", - "schema": {"type": "boolean"}, - "tests": [ - { - "description": "an integer is not a boolean", - "data": 1, - "valid": false - }, - { - "description": "a float is not a boolean", - "data": 1.1, - "valid": false - }, - { - "description": "a string is not a boolean", - "data": "foo", - "valid": false - }, - { - "description": "an object is not a boolean", - "data": {}, - "valid": false - }, - { - "description": "an array is not a boolean", - "data": [], - "valid": false - }, - { - "description": "a boolean is a boolean", - "data": true, - "valid": true - }, - { - "description": "null is not a boolean", - "data": null, - "valid": false - } - ] - }, - { - "description": "null type matches only the null object", - "schema": {"type": "null"}, - "tests": [ - { - "description": "an integer is not null", - "data": 1, - "valid": false - }, - { - "description": "a float is not null", - "data": 1.1, - "valid": false - }, - { - "description": "a string is not null", - "data": "foo", - "valid": false - }, - { - "description": "an object is not null", - "data": {}, - "valid": false - }, - { - "description": "an array is not null", - "data": [], - "valid": false - }, - { - "description": "a boolean is not null", - "data": true, - "valid": false - }, - { - "description": "null is null", - "data": null, - "valid": true - } - ] - }, - { - "description": "multiple types can be specified in an array", - "schema": {"type": ["integer", "string"]}, - "tests": [ - { - "description": "an integer is valid", - "data": 1, - "valid": true - }, - { - "description": "a string is valid", - "data": "foo", - "valid": true - }, - { - "description": "a float is invalid", - "data": 1.1, - "valid": false - }, - { - "description": "an object is invalid", - "data": {}, - "valid": false - }, - { - "description": "an array is invalid", - "data": [], - "valid": false - }, - { - "description": "a boolean is invalid", - "data": true, - "valid": false - }, - { - "description": "null is invalid", - "data": null, - "valid": false - } - ] - } -] diff --git a/3rdparty/rapidjson/bin/jsonschema/tests/draft4/uniqueItems.json b/3rdparty/rapidjson/bin/jsonschema/tests/draft4/uniqueItems.json deleted file mode 100644 index c1f4ab99c9a..00000000000 --- a/3rdparty/rapidjson/bin/jsonschema/tests/draft4/uniqueItems.json +++ /dev/null @@ -1,79 +0,0 @@ -[ - { - "description": "uniqueItems validation", - "schema": {"uniqueItems": true}, - "tests": [ - { - "description": "unique array of integers is valid", - "data": [1, 2], - "valid": true - }, - { - "description": "non-unique array of integers is invalid", - "data": [1, 1], - "valid": false - }, - { - "description": "numbers are unique if mathematically unequal", - "data": [1.0, 1.00, 1], - "valid": false - }, - { - "description": "unique array of objects is valid", - "data": [{"foo": "bar"}, {"foo": "baz"}], - "valid": true - }, - { - "description": "non-unique array of objects is invalid", - "data": [{"foo": "bar"}, {"foo": "bar"}], - "valid": false - }, - { - "description": "unique array of nested objects is valid", - "data": [ - {"foo": {"bar" : {"baz" : true}}}, - {"foo": {"bar" : {"baz" : false}}} - ], - "valid": true - }, - { - "description": "non-unique array of nested objects is invalid", - "data": [ - {"foo": {"bar" : {"baz" : true}}}, - {"foo": {"bar" : {"baz" : true}}} - ], - "valid": false - }, - { - "description": "unique array of arrays is valid", - "data": [["foo"], ["bar"]], - "valid": true - }, - { - "description": "non-unique array of arrays is invalid", - "data": [["foo"], ["foo"]], - "valid": false - }, - { - "description": "1 and true are unique", - "data": [1, true], - "valid": true - }, - { - "description": "0 and false are unique", - "data": [0, false], - "valid": true - }, - { - "description": "unique heterogeneous types are valid", - "data": [{}, [1], true, null, 1], - "valid": true - }, - { - "description": "non-unique heterogeneous types are invalid", - "data": [{}, [1], true, null, {}, 1], - "valid": false - } - ] - } -] diff --git a/3rdparty/rapidjson/bin/jsonschema/tox.ini b/3rdparty/rapidjson/bin/jsonschema/tox.ini deleted file mode 100644 index 5301222a840..00000000000 --- a/3rdparty/rapidjson/bin/jsonschema/tox.ini +++ /dev/null @@ -1,8 +0,0 @@ -[tox] -minversion = 1.6 -envlist = py27 -skipsdist = True - -[testenv] -deps = jsonschema -commands = {envpython} bin/jsonschema_suite check diff --git a/3rdparty/rapidjson/bin/types/booleans.json b/3rdparty/rapidjson/bin/types/booleans.json deleted file mode 100644 index 6ba33199d12..00000000000 --- a/3rdparty/rapidjson/bin/types/booleans.json +++ /dev/null @@ -1,102 +0,0 @@ -[ - true, - true, - false, - false, - true, - true, - true, - false, - false, - true, - false, - false, - true, - false, - false, - false, - true, - false, - false, - true, - true, - false, - true, - true, - true, - false, - false, - false, - true, - false, - true, - false, - false, - true, - true, - true, - true, - true, - true, - false, - false, - true, - false, - false, - false, - true, - true, - false, - true, - true, - false, - true, - false, - true, - true, - true, - false, - false, - false, - true, - false, - false, - false, - true, - true, - false, - true, - true, - true, - true, - true, - true, - true, - true, - false, - false, - false, - false, - false, - true, - true, - true, - true, - true, - true, - true, - false, - false, - false, - true, - false, - false, - false, - true, - true, - true, - false, - false, - true, - false -] \ No newline at end of file diff --git a/3rdparty/rapidjson/bin/types/floats.json b/3rdparty/rapidjson/bin/types/floats.json deleted file mode 100644 index b46c682be57..00000000000 --- a/3rdparty/rapidjson/bin/types/floats.json +++ /dev/null @@ -1,102 +0,0 @@ -[ - 135.747111636, - 123.377054008, - 140.527504552, - -72.299143906, - -23.851678949, - 73.586193519, - -158.299382442, - 177.477876032, - 32.268518982, - -139.560009969, - 115.203105183, - -106.025823607, - 167.224138231, - 103.378383732, - -97.498486285, - 18.184723416, - 69.137075711, - 33.849002681, - -120.185228215, - -20.841408615, - -172.659492727, - -2.691464061, - 22.426164066, - -98.416909437, - -31.603082708, - -85.072296561, - 108.620987395, - -43.127078238, - -126.473562057, - -158.595489097, - -57.890678254, - -13.254016573, - -85.024504709, - 171.663552644, - -146.495558248, - -10.606748276, - -118.786969354, - 153.352057804, - -45.215545083, - 37.038725288, - 106.344071897, - -64.607402031, - 85.148030911, - 28.897784566, - 39.51082061, - 20.450382102, - -113.174943618, - 71.60785784, - -168.202648062, - -157.338200017, - 10.879588527, - -114.261694831, - -5.622927072, - -173.330830616, - -29.47002003, - -39.829034201, - 50.031545162, - 82.815735508, - -119.188760828, - -48.455928081, - 163.964263034, - 46.30378861, - -26.248889762, - -47.354615322, - 155.388677633, - -166.710356904, - 42.987233558, - 144.275297374, - 37.394383186, - -122.550388725, - 177.469945914, - 101.104677413, - 109.429869885, - -104.919625624, - 147.522756541, - -81.294703727, - 122.744731363, - 81.803603684, - 26.321556167, - 147.045441354, - 147.256895816, - -174.211095908, - 52.518769316, - -78.58250334, - -173.356685435, - -107.728209264, - -69.982325771, - -113.776095893, - -35.785267074, - -105.748545976, - -30.206523864, - -76.185311723, - -126.400112781, - -26.864958639, - 56.840053629, - 93.781553535, - -116.002949803, - -46.617140948, - 176.846840093, - -144.24821335 -] diff --git a/3rdparty/rapidjson/bin/types/guids.json b/3rdparty/rapidjson/bin/types/guids.json deleted file mode 100644 index 0f83f34e1e8..00000000000 --- a/3rdparty/rapidjson/bin/types/guids.json +++ /dev/null @@ -1,102 +0,0 @@ -[ - "d35bf0d4-8d8f-4e17-a5c3-ad9bfd675266", - "db402774-eeb6-463b-9986-c458c44d8b5a", - "2a2e4101-b5f2-40b8-8750-e03f01661e60", - "76787cfa-f4eb-4d62-aaad-e1d588d00ad5", - "fd73894b-b500-4a7c-888c-06b5bd9cec65", - "cce1862a-cf31-4ef2-9e23-f1d23b4e6163", - "00a98bb0-2b6e-4368-8512-71c21aa87db7", - "ab9a8d69-cec7-4550-bd35-3ed678e22782", - "f18b48e1-5114-4fbe-9652-579e8d66950e", - "4efe3baa-7ac5-4d6a-a839-6b9cfe825764", - "b4aec119-5b0a-434c-b388-109816c482a5", - "e0ef0cbb-127a-4a28-9831-5741b4295275", - "d50286a5-cb7b-4c9e-be99-f214439bae8c", - "a981094c-f1ac-42ed-a9fa-86404c7210ff", - "2a34ee57-5815-4829-b77b-eeebaa8fe340", - "a0530d44-48f8-4eff-b9ea-8810c4308351", - "c6f91509-83e1-4ea1-9680-e667fbfd56ee", - "cab11402-dcdd-4454-b190-6da124947395", - "283d159c-2b18-4856-b4c7-5059252eaa15", - "146157c6-72a8-4051-9991-cb6ea6743d81", - "aef6f269-7306-4bd2-83f7-6d5605b5dc9a", - "37fe6027-d638-4017-80a9-e7b0567b278e", - "5003d731-33fb-4159-af61-d76348a44079", - "e0e06979-5f80-4713-9fe0-8a4d60dc89f8", - "7e85bdc3-0345-4cb6-9398-ccab06e79976", - "f2ebf5af-6568-4ffe-a46d-403863fd4b66", - "e0b5bb1c-b4dd-4535-9a9e-3c73f1167d46", - "c852d20b-6bcb-4b12-bd57-308296c64c5a", - "7ac3ae82-1818-49cd-a8a4-5ac77dfafd46", - "138004a9-76e2-4ad7-bd42-e74dabdbb803", - "ab25b5be-96be-45b0-b765-947b40ec36a6", - "08404734-fd57-499e-a4cf-71e9ec782ede", - "8dfdeb16-248b-4a21-bf89-2e22b11a4101", - "a0e44ef0-3b09-41e8-ad5d-ed8e6a1a2a67", - "a7981e49-188d-414a-9779-b1ad91e599d1", - "329186c0-bf27-4208-baf7-c0a0a5a2d5b7", - "cb5f3381-d33e-4b30-b1a9-f482623cad33", - "15031262-ca73-4e3c-bd0a-fcf89bdf0caf", - "6d7333d1-2e8c-4d78-bfde-5be47e70eb13", - "acaa160c-670a-4e8f-ac45-49416e77d5f9", - "228f87eb-cde4-4106-808b-2dbf3c7b6d2e", - "2ff830a3-5445-4d8e-b161-bddd30666697", - "f488bedd-ff6e-4108-b9a7-07f6da62f476", - "2e12b846-0a34-478e-adf7-a438493803e6", - "6686b8ef-7446-4d86-bd8c-df24119e3bfe", - "e474a5c5-5793-4d41-b4ab-5423acc56ef1", - "ac046573-e718-44dc-a0dc-9037eeaba6a9", - "6b0e9099-cf53-4d5a-8a71-977528628fcf", - "d51a3f22-0ff9-4087-ba9b-fcee2a2d8ade", - "bdc01286-3511-4d22-bfb8-76d01203d366", - "ca44eb84-17ff-4f27-8f1e-1bd25f4e8725", - "4e9a8c2f-be0b-4913-92d2-c801b9a50d04", - "7685d231-dadd-4041-9165-898397438ab7", - "86f0bf26-d66a-44d8-99f5-d6768addae3b", - "2ca1167c-72ba-45a0-aa42-faf033db0d0b", - "199a1182-ea55-49ff-ba51-71c29cdd0aac", - "be6a4dd2-c821-4aa0-8b83-d64d6644b5b2", - "4c5f4781-7f80-4daa-9c20-76b183000514", - "513b31bd-54fb-4d12-a427-42a7c13ff8e1", - "8e211bcb-d76c-4012-83ad-74dd7d23b687", - "44d5807e-0501-4f66-8779-e244d4fdca0a", - "db8cd555-0563-4b7b-b00c-eada300a7065", - "cb14d0c9-46cc-4797-bd3a-752b05629f07", - "4f68b3ef-ac9b-47a0-b6d7-57f398a5c6a5", - "77221aae-1bcf-471c-be45-7f31f733f9d6", - "42a7cac8-9e80-4c45-8c71-511d863c98ea", - "f9018d22-b82c-468c-bdb5-8864d5964801", - "75f4e9b8-62a2-4f21-ad8a-e19eff0419bc", - "9b7385c8-8653-4184-951c-b0ac1b36b42e", - "571018aa-ffbf-4b42-a16d-07b57a7f5f0e", - "35de4a2f-6bf1-45aa-b820-2a27ea833e44", - "0b8edb20-3bb4-4cb4-b089-31957466dbab", - "97da4778-9a7b-4140-a545-968148c81fb7", - "969f326c-8f2a-47c5-b41c-d9c2f06c9b9d", - "ae211037-8b53-4b17-bfc8-c06fc7774409", - "12c5c3c4-0bd5-45d3-bc1d-d04a3c65d3e6", - "ec02024f-ce43-4dd3-8169-a59f7baee043", - "5b6afe77-ce48-47ca-90a0-25cd10ca5ffd", - "2e3a61d4-6b8f-4d2f-ba86-878b4012efd8", - "19a88a67-a5d3-4647-898f-1cde07bce040", - "6db6f420-b5c8-48b9-bbb2-8864fe6fed65", - "5a45dbde-7b53-4f6b-b864-e3b63be3708a", - "c878321b-8a02-4239-9981-15760c2e7d15", - "4e36687f-8bf6-4b12-b496-3a8e382d067e", - "a59a63cd-43c0-4c6e-b208-6dbca86f8176", - "303308c4-2e4a-45b5-8bf3-3e66e9ad05a1", - "8b58fdf1-43a6-4c98-9547-6361b50791af", - "a3563591-72ed-42b5-8e41-bac1d76d70cf", - "38db8c78-3739-4f6e-8313-de4138082114", - "86615bea-7e73-4daf-95da-ae6b9eee1bbb", - "35d38e3e-076e-40dd-9aa8-05be2603bd59", - "9f84c62d-b454-4ba3-8c19-a01878985cdc", - "6721bbae-d765-4a06-8289-6fe46a1bf943", - "0837796f-d0dd-4e50-9b7c-1983e6cc7c48", - "021eb7d7-e869-49b9-80c3-9dd16ce2d981", - "819c56f8-e040-475d-aad5-c6d5e98b20aa", - "3a61ef02-735e-4229-937d-b3777a3f4e1f", - "79dfab84-12e6-4ec8-bfc8-460ae71e4eca", - "a106fabf-e149-476c-8053-b62388b6eb57", - "9a3900a5-bfb4-4de0-baa5-253a8bd0b634" -] \ No newline at end of file diff --git a/3rdparty/rapidjson/bin/types/integers.json b/3rdparty/rapidjson/bin/types/integers.json deleted file mode 100644 index 2d3aca096cf..00000000000 --- a/3rdparty/rapidjson/bin/types/integers.json +++ /dev/null @@ -1,102 +0,0 @@ -[ - 8125686, - 8958709, - 5976222, - 1889524, - 7968493, - 1357486, - 118415, - 7081097, - 4635968, - 7555332, - 2270233, - 3428352, - 8699968, - 2087333, - 7861337, - 7554440, - 2017031, - 7981692, - 6060687, - 1877715, - 3297474, - 8373177, - 6158629, - 7853641, - 3004441, - 9650406, - 2695251, - 1180761, - 4988426, - 6043805, - 8063373, - 6103218, - 2848339, - 8188690, - 9235573, - 5949816, - 6116081, - 6471138, - 3354531, - 4787414, - 9660600, - 942529, - 7278535, - 7967399, - 554292, - 1436493, - 267319, - 2606657, - 7900601, - 4276634, - 7996757, - 8544466, - 7266469, - 3301373, - 4005350, - 6437652, - 7717672, - 7126292, - 8588394, - 2127902, - 7410190, - 1517806, - 4583602, - 3123440, - 7747613, - 5029464, - 9834390, - 3087227, - 4913822, - 7550487, - 4518144, - 5862588, - 1778599, - 9493290, - 5588455, - 3638706, - 7394293, - 4294719, - 3837830, - 6381878, - 7175866, - 8575492, - 1415229, - 1453733, - 6972404, - 9782571, - 4234063, - 7117418, - 7293130, - 8057071, - 9345285, - 7626648, - 3358911, - 4574537, - 9371826, - 7627107, - 6154093, - 5392367, - 5398105, - 6956377 -] \ No newline at end of file diff --git a/3rdparty/rapidjson/bin/types/mixed.json b/3rdparty/rapidjson/bin/types/mixed.json deleted file mode 100644 index cec10a5660d..00000000000 --- a/3rdparty/rapidjson/bin/types/mixed.json +++ /dev/null @@ -1,592 +0,0 @@ -[ - { - "favoriteFruit": "banana", - "greeting": "Hello, Kim! You have 10 unread messages.", - "friends": [ - { - "name": "Higgins Rodriquez", - "id": 0 - }, - { - "name": "James Floyd", - "id": 1 - }, - { - "name": "Gay Stewart", - "id": 2 - } - ], - "range": [ - 0, - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9 - ], - "tags": [ - "pariatur", - "ad", - "eiusmod", - "sit", - "et", - "velit", - "culpa" - ], - "longitude": -57.919246, - "latitude": -36.022812, - "registered": "Friday, March 21, 2014 9:13 PM", - "about": "Laborum nulla aliquip ullamco proident excepteur est officia ipsum. Eiusmod exercitation minim ex do labore reprehenderit aliqua minim qui excepteur reprehenderit cupidatat. Sint enim exercitation duis id consequat nisi enim magna. Commodo aliqua id ipsum sit magna enim. Veniam officia in labore fugiat veniam ea laboris ex veniam duis.\r\n", - "address": "323 Pulaski Street, Ronco, North Carolina, 7701", - "phone": "+1 (919) 438-2678", - "email": "kim.griffith@cipromox.biz", - "company": "CIPROMOX", - "name": { - "last": "Griffith", - "first": "Kim" - }, - "eyeColor": "green", - "age": 26, - "picture": "http://placehold.it/32x32", - "balance": "$1,283.55", - "isActive": false, - "guid": "10ab0392-c5e2-48a3-9473-aa725bad892d", - "index": 0, - "_id": "551b91198238a0bcf9a41133" - }, - { - "favoriteFruit": "banana", - "greeting": "Hello, Skinner! You have 9 unread messages.", - "friends": [ - { - "name": "Rhonda Justice", - "id": 0 - }, - { - "name": "Audra Castaneda", - "id": 1 - }, - { - "name": "Vicky Chavez", - "id": 2 - } - ], - "range": [ - 0, - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9 - ], - "tags": [ - "dolore", - "enim", - "sit", - "non", - "exercitation", - "fugiat", - "adipisicing" - ], - "longitude": -60.291407, - "latitude": -84.619318, - "registered": "Friday, February 7, 2014 3:17 AM", - "about": "Consectetur eiusmod laboris dolore est ullamco nulla in velit quis esse Lorem. Amet aliqua sunt aute occaecat veniam officia in duis proident aliqua cupidatat mollit. Sint eu qui anim duis ut anim duis eu cillum. Cillum nostrud adipisicing tempor Lorem commodo sit in ad qui non et irure qui. Labore eu aliquip id duis eiusmod veniam.\r\n", - "address": "347 Autumn Avenue, Fidelis, Puerto Rico, 543", - "phone": "+1 (889) 457-2319", - "email": "skinner.maddox@moltonic.co.uk", - "company": "MOLTONIC", - "name": { - "last": "Maddox", - "first": "Skinner" - }, - "eyeColor": "green", - "age": 22, - "picture": "http://placehold.it/32x32", - "balance": "$3,553.10", - "isActive": false, - "guid": "cfbc2fb6-2641-4388-b06d-ec0212cfac1e", - "index": 1, - "_id": "551b91197e0abe92d6642700" - }, - { - "favoriteFruit": "strawberry", - "greeting": "Hello, Reynolds! You have 5 unread messages.", - "friends": [ - { - "name": "Brady Valdez", - "id": 0 - }, - { - "name": "Boyer Golden", - "id": 1 - }, - { - "name": "Gladys Knapp", - "id": 2 - } - ], - "range": [ - 0, - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9 - ], - "tags": [ - "commodo", - "eiusmod", - "cupidatat", - "et", - "occaecat", - "proident", - "Lorem" - ], - "longitude": 140.866287, - "latitude": 1.401032, - "registered": "Monday, October 20, 2014 8:01 AM", - "about": "Deserunt elit consequat ea dolor pariatur aute consectetur et nulla ipsum ad. Laboris occaecat ipsum ad duis et esse ea ut voluptate. Ex magna consequat pariatur amet. Quis excepteur non mollit dolore cillum dolor ex esse veniam esse deserunt non occaecat veniam. Sit amet proident proident amet. Nisi est id ut ut adipisicing esse fugiat non dolor aute.\r\n", - "address": "872 Montague Terrace, Haena, Montana, 3106", - "phone": "+1 (974) 410-2655", - "email": "reynolds.sanford@combot.biz", - "company": "COMBOT", - "name": { - "last": "Sanford", - "first": "Reynolds" - }, - "eyeColor": "green", - "age": 21, - "picture": "http://placehold.it/32x32", - "balance": "$3,664.47", - "isActive": true, - "guid": "f9933a9c-c41a-412f-a18d-e727c569870b", - "index": 2, - "_id": "551b91197f170b65413a06e3" - }, - { - "favoriteFruit": "banana", - "greeting": "Hello, Neva! You have 7 unread messages.", - "friends": [ - { - "name": "Clara Cotton", - "id": 0 - }, - { - "name": "Ray Gates", - "id": 1 - }, - { - "name": "Jacobs Reese", - "id": 2 - } - ], - "range": [ - 0, - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9 - ], - "tags": [ - "magna", - "labore", - "incididunt", - "velit", - "ea", - "et", - "eiusmod" - ], - "longitude": -133.058479, - "latitude": 87.803677, - "registered": "Friday, May 9, 2014 5:41 PM", - "about": "Do duis occaecat ut officia occaecat officia nostrud reprehenderit ex excepteur aute anim in reprehenderit. Cupidatat nulla eiusmod nulla non minim veniam aute nulla deserunt adipisicing consectetur veniam. Sit consequat ex laboris aliqua labore consectetur tempor proident consequat est. Fugiat quis esse culpa aliquip. Excepteur laborum aliquip sunt eu cupidatat magna eiusmod amet nisi labore aliquip. Ut consectetur esse aliquip exercitation nulla ex occaecat elit do ex eiusmod deserunt. Ex eu voluptate minim deserunt fugiat minim est occaecat ad Lorem nisi.\r\n", - "address": "480 Eagle Street, Fostoria, Oklahoma, 2614", - "phone": "+1 (983) 439-3000", - "email": "neva.barker@pushcart.us", - "company": "PUSHCART", - "name": { - "last": "Barker", - "first": "Neva" - }, - "eyeColor": "brown", - "age": 36, - "picture": "http://placehold.it/32x32", - "balance": "$3,182.24", - "isActive": true, - "guid": "52489849-78e1-4b27-8b86-e3e5ab2b7dc8", - "index": 3, - "_id": "551b9119a13061c083c878d5" - }, - { - "favoriteFruit": "banana", - "greeting": "Hello, Rodgers! You have 6 unread messages.", - "friends": [ - { - "name": "Marguerite Conway", - "id": 0 - }, - { - "name": "Margarita Cunningham", - "id": 1 - }, - { - "name": "Carmela Gallagher", - "id": 2 - } - ], - "range": [ - 0, - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9 - ], - "tags": [ - "ipsum", - "magna", - "amet", - "elit", - "sit", - "occaecat", - "elit" - ], - "longitude": -125.436981, - "latitude": 19.868524, - "registered": "Tuesday, July 8, 2014 8:09 PM", - "about": "In cillum esse tempor do magna id ad excepteur ex nostrud mollit deserunt aliqua. Minim aliqua commodo commodo consectetur exercitation nulla nisi dolore aliqua in. Incididunt deserunt mollit nostrud excepteur. Ipsum fugiat anim deserunt Lorem aliquip nisi consequat eu minim in ex duis.\r\n", - "address": "989 Varanda Place, Duryea, Palau, 3972", - "phone": "+1 (968) 578-2974", - "email": "rodgers.conner@frenex.net", - "company": "FRENEX", - "name": { - "last": "Conner", - "first": "Rodgers" - }, - "eyeColor": "blue", - "age": 23, - "picture": "http://placehold.it/32x32", - "balance": "$1,665.17", - "isActive": true, - "guid": "ed3b2374-5afe-4fca-9325-8a7bbc9f81a0", - "index": 4, - "_id": "551b91197bcedb1b56a241ce" - }, - { - "favoriteFruit": "strawberry", - "greeting": "Hello, Mari! You have 10 unread messages.", - "friends": [ - { - "name": "Irwin Boyd", - "id": 0 - }, - { - "name": "Dejesus Flores", - "id": 1 - }, - { - "name": "Lane Mcmahon", - "id": 2 - } - ], - "range": [ - 0, - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9 - ], - "tags": [ - "esse", - "aliquip", - "excepteur", - "dolor", - "ex", - "commodo", - "anim" - ], - "longitude": -17.038176, - "latitude": 17.154663, - "registered": "Sunday, April 6, 2014 4:46 AM", - "about": "Excepteur veniam occaecat sint nulla magna in in officia elit. Eiusmod qui dolor fugiat tempor in minim esse officia minim consequat. Lorem ullamco labore proident ipsum id pariatur fugiat consectetur anim cupidatat qui proident non ipsum.\r\n", - "address": "563 Hendrickson Street, Westwood, South Dakota, 4959", - "phone": "+1 (980) 434-3976", - "email": "mari.fleming@beadzza.org", - "company": "BEADZZA", - "name": { - "last": "Fleming", - "first": "Mari" - }, - "eyeColor": "blue", - "age": 21, - "picture": "http://placehold.it/32x32", - "balance": "$1,948.04", - "isActive": true, - "guid": "6bd02166-3b1f-4ed8-84c9-ed96cbf12abc", - "index": 5, - "_id": "551b9119b359ff6d24846f77" - }, - { - "favoriteFruit": "strawberry", - "greeting": "Hello, Maxine! You have 7 unread messages.", - "friends": [ - { - "name": "Sullivan Stark", - "id": 0 - }, - { - "name": "Underwood Mclaughlin", - "id": 1 - }, - { - "name": "Kristy Carlson", - "id": 2 - } - ], - "range": [ - 0, - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9 - ], - "tags": [ - "commodo", - "ipsum", - "quis", - "non", - "est", - "mollit", - "exercitation" - ], - "longitude": -105.40635, - "latitude": 37.197993, - "registered": "Tuesday, January 20, 2015 12:30 AM", - "about": "Proident ullamco Lorem est consequat consectetur non eiusmod esse nostrud pariatur eiusmod enim exercitation eiusmod. Consequat duis elit elit minim ullamco et dolor eu minim do tempor esse consequat excepteur. Mollit dolor do voluptate nostrud quis anim cillum velit tempor eiusmod adipisicing tempor do culpa. Eu magna dolor sit amet nisi do laborum dolore nisi. Deserunt ipsum et deserunt non nisi.\r\n", - "address": "252 Boulevard Court, Brenton, Tennessee, 9444", - "phone": "+1 (950) 466-3377", - "email": "maxine.moreno@zentia.tv", - "company": "ZENTIA", - "name": { - "last": "Moreno", - "first": "Maxine" - }, - "eyeColor": "brown", - "age": 24, - "picture": "http://placehold.it/32x32", - "balance": "$1,200.24", - "isActive": false, - "guid": "ce307a37-ca1f-43f5-b637-dca2605712be", - "index": 6, - "_id": "551b91195a6164b2e35f6dc8" - }, - { - "favoriteFruit": "strawberry", - "greeting": "Hello, Helga! You have 5 unread messages.", - "friends": [ - { - "name": "Alicia Vance", - "id": 0 - }, - { - "name": "Vinson Phelps", - "id": 1 - }, - { - "name": "Francisca Kelley", - "id": 2 - } - ], - "range": [ - 0, - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9 - ], - "tags": [ - "nostrud", - "eiusmod", - "dolore", - "officia", - "sint", - "non", - "qui" - ], - "longitude": -7.275151, - "latitude": 75.54202, - "registered": "Wednesday, October 1, 2014 6:35 PM", - "about": "Quis duis ullamco velit qui. Consectetur non adipisicing id magna anim. Deserunt est officia qui esse. Et do pariatur incididunt anim ad mollit non. Et eiusmod sunt fugiat elit mollit ad excepteur anim nisi laboris eiusmod aliquip aliquip.\r\n", - "address": "981 Bush Street, Beaulieu, Vermont, 3775", - "phone": "+1 (956) 506-3807", - "email": "helga.burch@synkgen.name", - "company": "SYNKGEN", - "name": { - "last": "Burch", - "first": "Helga" - }, - "eyeColor": "blue", - "age": 22, - "picture": "http://placehold.it/32x32", - "balance": "$3,827.89", - "isActive": false, - "guid": "ff5dfea0-1052-4ef2-8b66-4dc1aad0a4fb", - "index": 7, - "_id": "551b911946be8358ae40e90e" - }, - { - "favoriteFruit": "banana", - "greeting": "Hello, Shaw! You have 5 unread messages.", - "friends": [ - { - "name": "Christian Cardenas", - "id": 0 - }, - { - "name": "Cohen Pennington", - "id": 1 - }, - { - "name": "Mary Lindsay", - "id": 2 - } - ], - "range": [ - 0, - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9 - ], - "tags": [ - "occaecat", - "ut", - "occaecat", - "magna", - "exercitation", - "incididunt", - "irure" - ], - "longitude": -89.102972, - "latitude": 89.489596, - "registered": "Thursday, August 21, 2014 5:00 PM", - "about": "Amet cupidatat quis velit aute Lorem consequat pariatur mollit deserunt et sint culpa excepteur duis. Enim proident duis qui ex tempor sunt nostrud occaecat. Officia sit veniam mollit eiusmod minim do aute eiusmod fugiat qui anim adipisicing in laboris. Do tempor reprehenderit sunt laborum esse irure dolor ad consectetur aute sit id ipsum. Commodo et voluptate anim consequat do. Minim laborum ad veniam ad minim incididunt excepteur excepteur aliqua.\r\n", - "address": "237 Pierrepont Street, Herbster, New York, 3490", - "phone": "+1 (976) 455-2880", - "email": "shaw.zamora@shadease.me", - "company": "SHADEASE", - "name": { - "last": "Zamora", - "first": "Shaw" - }, - "eyeColor": "blue", - "age": 38, - "picture": "http://placehold.it/32x32", - "balance": "$3,440.82", - "isActive": false, - "guid": "ac5fdb0e-e1fb-427e-881d-da461be0d1ca", - "index": 8, - "_id": "551b9119af0077bc28a2de25" - }, - { - "favoriteFruit": "apple", - "greeting": "Hello, Melissa! You have 5 unread messages.", - "friends": [ - { - "name": "Marion Villarreal", - "id": 0 - }, - { - "name": "Kate Rose", - "id": 1 - }, - { - "name": "Hines Simon", - "id": 2 - } - ], - "range": [ - 0, - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9 - ], - "tags": [ - "amet", - "veniam", - "mollit", - "ad", - "cupidatat", - "deserunt", - "Lorem" - ], - "longitude": -52.735052, - "latitude": 16.258838, - "registered": "Wednesday, April 16, 2014 7:56 PM", - "about": "Aute ut culpa eiusmod tempor duis dolor tempor incididunt. Nisi non proident excepteur eiusmod incididunt nisi minim irure sit. In veniam commodo deserunt proident reprehenderit et consectetur ullamco quis nulla cupidatat.\r\n", - "address": "642 Halsey Street, Blandburg, Kansas, 6761", - "phone": "+1 (941) 539-3851", - "email": "melissa.vaughn@memora.io", - "company": "MEMORA", - "name": { - "last": "Vaughn", - "first": "Melissa" - }, - "eyeColor": "brown", - "age": 24, - "picture": "http://placehold.it/32x32", - "balance": "$2,399.44", - "isActive": true, - "guid": "1769f022-a7f1-4a69-bf4c-f5a5ebeab2d1", - "index": 9, - "_id": "551b9119b607c09c7ffc3b8a" - } -] \ No newline at end of file diff --git a/3rdparty/rapidjson/bin/types/nulls.json b/3rdparty/rapidjson/bin/types/nulls.json deleted file mode 100644 index 1cdf9a6888e..00000000000 --- a/3rdparty/rapidjson/bin/types/nulls.json +++ /dev/null @@ -1,102 +0,0 @@ -[ - null, - null, - null, - null, - null, - null, - null, - null, - null, - null, - null, - null, - null, - null, - null, - null, - null, - null, - null, - null, - null, - null, - null, - null, - null, - null, - null, - null, - null, - null, - null, - null, - null, - null, - null, - null, - null, - null, - null, - null, - null, - null, - null, - null, - null, - null, - null, - null, - null, - null, - null, - null, - null, - null, - null, - null, - null, - null, - null, - null, - null, - null, - null, - null, - null, - null, - null, - null, - null, - null, - null, - null, - null, - null, - null, - null, - null, - null, - null, - null, - null, - null, - null, - null, - null, - null, - null, - null, - null, - null, - null, - null, - null, - null, - null, - null, - null, - null, - null, - null -] \ No newline at end of file diff --git a/3rdparty/rapidjson/bin/types/paragraphs.json b/3rdparty/rapidjson/bin/types/paragraphs.json deleted file mode 100644 index a335d9ece2c..00000000000 --- a/3rdparty/rapidjson/bin/types/paragraphs.json +++ /dev/null @@ -1,102 +0,0 @@ -[ - "Commodo ullamco cupidatat nisi sit proident ex. Cillum pariatur occaecat in officia do commodo nisi cillum tempor minim. Ad dolor ut et aliquip fugiat eu officia cupidatat occaecat consectetur eiusmod veniam enim officia.\r\n", - "Adipisicing cillum laborum nisi irure. Cillum dolor proident duis nulla qui mollit dolore reprehenderit mollit. Irure nulla dolor ipsum irure nulla quis laboris do.\r\n", - "Est adipisicing consectetur incididunt in. Occaecat ea magna ex consequat irure sit laborum cillum officia magna sunt do exercitation aliquip. Laboris id aute in dolore reprehenderit voluptate non deserunt laborum.\r\n", - "Consectetur eu aute est est occaecat adipisicing sint enim dolor eu. Tempor amet id non mollit eu consectetur cillum duis. Eu labore velit nulla ipsum commodo consequat aliquip. Cupidatat commodo dolore mollit enim sit excepteur nisi duis laboris deserunt esse.\r\n", - "Incididunt ullamco est fugiat enim fugiat. Do sit mollit anim ad excepteur eu laboris exercitation officia labore nulla ut. Voluptate non voluptate cillum sit et voluptate anim duis velit consequat aliquip dolor. Elit et et esse laboris consectetur officia eiusmod aliquip nisi est. Qui labore dolore ad dolor.\r\n", - "Anim adipisicing est irure proident sit officia ullamco voluptate sunt consectetur duis mollit excepteur veniam. Nostrud ut duis aute exercitation officia et quis elit commodo elit tempor aute aliquip enim. Est officia non cillum consequat voluptate ipsum sit voluptate nulla id.\r\n", - "Ipsum enim consectetur aliquip nulla commodo ut ex aliqua elit duis do. Officia et sunt aliqua dolor minim voluptate veniam esse elit enim. Adipisicing reprehenderit duis ex magna non in fugiat sunt ipsum nostrud fugiat aliquip. Labore voluptate id officia voluptate eu. Magna do nostrud excepteur sunt aliqua adipisicing qui.\r\n", - "Est occaecat non non cupidatat laborum qui. Veniam sit est voluptate labore sit irure consectetur fugiat. Anim enim enim fugiat exercitation anim ad proident esse in aliqua. Laboris ut aute culpa ullamco.\r\n", - "Sit et aliquip cupidatat deserunt eiusmod sint aliquip occaecat nostrud aliqua elit commodo ut magna. Amet sit est deserunt id duis in officia pariatur cupidatat ex. Mollit duis est consequat nulla aute velit ipsum sit consectetur pariatur ut non ex ipsum. Tempor esse velit pariatur reprehenderit et nostrud commodo laborum mollit labore.\r\n", - "Aliquip irure quis esse aliquip. Ex non deserunt culpa aliqua ad anim occaecat ad. Lorem consectetur mollit eu consectetur est non nisi non ipsum. Qui veniam ullamco officia est ut excepteur. Nulla elit dolore cupidatat aliqua enim Lorem elit consequat eiusmod non aliqua eu in. Pariatur in culpa labore sint ipsum consectetur occaecat ad ex ipsum laboris aliquip officia. Non officia eiusmod nisi officia id id laboris deserunt sunt enim magna mollit sit.\r\n", - "Mollit velit laboris laborum nulla aliquip consequat Lorem non incididunt irure. Eu voluptate sint do consectetur tempor sit Lorem in. Laborum eiusmod nisi Lorem ipsum dolore do aute laborum occaecat aute sunt. Sit laborum in ea do ipsum officia irure cillum irure nisi laboris. Ad anim deserunt excepteur ea veniam eiusmod culpa velit veniam. Commodo incididunt ea Lorem eu enim esse nisi incididunt mollit.\r\n", - "Velit proident sunt aute dolore reprehenderit culpa. Pariatur reprehenderit commodo ad ea voluptate anim nulla ipsum eu irure fugiat aliqua et. Adipisicing incididunt anim excepteur voluptate minim qui culpa. Sunt veniam enim reprehenderit magna magna. Sit ad amet deserunt ut aute dolore ad minim.\r\n", - "Esse ullamco sunt mollit mollit. Eu enim dolore laboris cupidatat. Cupidatat adipisicing non aute exercitation fugiat. Non ut cillum labore fugiat aliquip ex duis quis consectetur ut nisi Lorem amet qui. Proident veniam amet qui reprehenderit duis qui. Nisi culpa sit occaecat ullamco occaecat laborum fugiat ut. Non duis deserunt culpa duis.\r\n", - "Id ipsum eiusmod laboris non est ipsum deserunt labore duis reprehenderit deserunt. Sint tempor fugiat eiusmod nostrud in ut laborum esse in nostrud sit deserunt nostrud reprehenderit. Cupidatat aliqua qui anim consequat eu quis consequat consequat elit ipsum pariatur. Cupidatat in dolore velit quis. Exercitation cillum ullamco ex consectetur commodo tempor incididunt exercitation labore ad dolore. Minim incididunt consequat adipisicing esse eu eu voluptate.\r\n", - "Anim sint eiusmod nisi anim do deserunt voluptate ut cillum eiusmod esse ex reprehenderit laborum. Dolore nulla excepteur duis excepteur. Magna nisi nostrud duis non commodo velit esse ipsum Lorem incididunt. Nulla enim consequat ad aliqua. Incididunt irure culpa nostrud ea aute ex sit non ad esse.\r\n", - "Ullamco nostrud cupidatat adipisicing anim fugiat mollit eu. Et ut eu in nulla consequat. Sunt do pariatur culpa non est.\r\n", - "Pariatur incididunt reprehenderit non qui excepteur cillum exercitation nisi occaecat ad. Lorem aliquip laborum commodo reprehenderit sint. Laboris qui ut veniam magna quis et et ullamco voluptate. Tempor reprehenderit deserunt consequat nisi. Esse duis sint in tempor. Amet aute cupidatat in sint et.\r\n", - "Est officia nisi dolore consequat irure et excepteur. Sit qui elit tempor magna qui cillum anim amet proident exercitation proident. Eu cupidatat laborum consectetur duis ullamco irure nulla. Adipisicing culpa non reprehenderit anim aute.\r\n", - "Eu est laborum culpa velit dolore non sunt. Tempor magna veniam ea sit non qui Lorem qui exercitation aliqua aliqua et excepteur eiusmod. Culpa aute anim proident culpa adipisicing duis tempor elit aliquip elit nulla laboris esse dolore. Sit adipisicing non dolor eiusmod occaecat cupidatat.\r\n", - "Culpa velit eu esse sunt. Laborum irure aliqua reprehenderit velit ipsum fugiat officia dolor ut aute officia deserunt. Ipsum sit quis fugiat nostrud aliqua cupidatat ex pariatur et. Cillum proident est irure nisi dolor aliqua deserunt esse occaecat velit dolor.\r\n", - "Exercitation nulla officia sit eiusmod cillum eu incididunt officia exercitation qui Lorem deserunt. Voluptate Lorem minim commodo laborum esse in duis excepteur do duis aliquip nisi voluptate consectetur. Amet tempor officia enim ex esse minim reprehenderit.\r\n", - "Laboris sint deserunt ad aute incididunt. Anim officia sunt elit qui laborum labore commodo irure non. Mollit adipisicing ullamco do aute nulla eu laborum et quis sint aute adipisicing amet. Aliqua officia irure nostrud duis ex.\r\n", - "Eiusmod ipsum aliqua reprehenderit esse est non aute id veniam eiusmod. Elit consequat ad sit tempor elit eu incididunt quis irure ad. Eu incididunt veniam consequat Lorem nostrud cillum officia ea consequat ad cillum. Non nisi irure cupidatat incididunt pariatur incididunt. Duis velit officia ad cillum qui. Aliquip consequat sint aute nisi cillum. Officia commodo nisi incididunt laborum nisi voluptate aliquip Lorem cupidatat anim consequat sit laboris.\r\n", - "Veniam cupidatat et incididunt mollit do ex voluptate veniam nostrud labore esse. Eiusmod irure sint fugiat esse. Aute irure consectetur ut mollit nulla sint esse. Lorem ut quis ex proident nostrud mollit nostrud ea duis duis in magna anim consectetur.\r\n", - "Irure culpa esse qui do dolor fugiat veniam ad. Elit commodo aute elit magna incididunt tempor pariatur velit irure pariatur cillum et ea ad. Ad consequat ea et ad minim ut sunt qui commodo voluptate. Laboris est aliquip anim reprehenderit eu officia et exercitation. Occaecat laboris cupidatat Lorem ullamco in nostrud commodo ipsum in quis esse ex.\r\n", - "Incididunt officia quis voluptate eiusmod esse nisi ipsum quis commodo. Eiusmod dolore tempor occaecat sit exercitation aliqua minim consequat minim mollit qui ad nisi. Aute quis irure adipisicing veniam nisi nisi velit deserunt incididunt anim nostrud.\r\n", - "Voluptate exercitation exercitation id minim excepteur excepteur mollit. Fugiat aute proident nulla ullamco ea. Nisi ea culpa duis dolore veniam anim tempor officia in dolore exercitation exercitation. Dolore quis cillum adipisicing sunt do nulla esse proident ad sint.\r\n", - "Laborum ut mollit sint commodo nulla laborum deserunt Lorem magna commodo mollit tempor deserunt ut. Qui aliquip commodo ea id. Consectetur dolor fugiat dolor excepteur eiusmod. Eu excepteur ex aute ex ex elit ex esse officia cillum exercitation. Duis ut labore ea nostrud excepteur. Reprehenderit labore aute sunt nisi quis Lorem officia. Ad aliquip cupidatat voluptate exercitation voluptate ad irure magna quis.\r\n", - "Tempor velit veniam sit labore elit minim do elit cillum eiusmod sunt excepteur nisi. Aliquip est deserunt excepteur duis fugiat incididunt veniam fugiat. Pariatur sit irure labore et minim non. Cillum quis aute anim sint laboris laboris ullamco exercitation nostrud. Nulla pariatur id laborum minim nisi est adipisicing irure.\r\n", - "Irure exercitation laboris nostrud in do consectetur ad. Magna aliqua Lorem culpa exercitation sint do culpa incididunt mollit eu exercitation. Elit tempor Lorem dolore enim deserunt. Anim et ullamco sint ullamco mollit cillum officia et. Proident incididunt laboris aliquip laborum sint veniam deserunt eu consequat deserunt voluptate laboris. Anim Lorem non laborum exercitation voluptate. Cupidatat reprehenderit culpa Lorem fugiat enim minim consectetur tempor quis ad reprehenderit laboris irure.\r\n", - "Deserunt elit mollit nostrud occaecat labore reprehenderit laboris ex. Esse reprehenderit adipisicing cillum minim in esse aliquip excepteur ex et nisi cillum quis. Cillum labore ut ex sunt. Occaecat proident et mollit magna consequat irure esse. Dolor do enim esse nisi ad.\r\n", - "Pariatur est anim cillum minim elit magna adipisicing quis tempor proident nisi laboris incididunt cupidatat. Nulla est adipisicing sit adipisicing id nostrud amet qui consequat eiusmod tempor voluptate ad. Adipisicing non magna sit occaecat magna mollit ad ex nulla velit ea pariatur. Irure labore ad ea exercitation ex cillum.\r\n", - "Lorem fugiat eu eu cillum nulla tempor sint. Lorem id officia nulla velit labore ut duis ad tempor non. Excepteur quis aute adipisicing nisi nisi consectetur aliquip enim Lorem id ullamco cillum sint voluptate. Qui aliquip incididunt tempor aliqua voluptate labore reprehenderit. Veniam eiusmod elit occaecat voluptate tempor culpa consectetur ea ut exercitation eiusmod exercitation qui.\r\n", - "Aliqua esse pariatur nulla veniam velit ea. Aliquip consectetur tempor ex magna sit aliquip exercitation veniam. Dolor ullamco minim commodo pariatur. Et amet reprehenderit dolore proident elit tempor eiusmod eu incididunt enim ullamco. Adipisicing id officia incididunt esse dolor sunt cupidatat do deserunt mollit do non. Magna ut officia fugiat adipisicing quis ea cillum laborum dolore ad nostrud magna minim est. Dolor voluptate officia proident enim ea deserunt eu voluptate dolore proident laborum officia ea.\r\n", - "Culpa aute consequat esse fugiat cupidatat minim voluptate voluptate eiusmod irure anim elit. Do eiusmod culpa laboris consequat incididunt minim nostrud eiusmod commodo velit ea ullamco proident. Culpa pariatur magna ut mollit nisi. Ea officia do magna deserunt minim nisi tempor ea deserunt veniam cillum exercitation esse.\r\n", - "Anim ullamco nostrud commodo Lorem. Do sunt laborum exercitation proident proident magna. Lorem officia laborum laborum dolor sunt duis commodo Lorem. Officia aute adipisicing ea cupidatat ea dolore. Aliquip adipisicing pariatur consectetur aliqua sit amet officia reprehenderit laborum culpa. Occaecat Lorem eu nisi do Lorem occaecat enim eiusmod laboris id quis. Ad mollit adipisicing sunt adipisicing esse.\r\n", - "Laborum quis sit adipisicing cupidatat. Veniam Lorem eiusmod esse esse sint nisi labore elit et. Deserunt aliqua mollit ut commodo aliqua non incididunt ipsum reprehenderit consectetur. Eiusmod nulla minim laboris Lorem ea Lorem aute tempor pariatur in sit. Incididunt culpa ut do irure amet irure cupidatat est anim anim culpa occaecat. Est velit consectetur eiusmod veniam reprehenderit officia sunt occaecat eiusmod ut sunt occaecat amet.\r\n", - "Elit minim aute fugiat nulla ex quis. Labore fugiat sint nostrud amet quis culpa excepteur in. Consectetur exercitation cupidatat laborum sit. Aute nisi eu aliqua est deserunt eiusmod commodo dolor id. Mollit laborum esse sint ipsum voluptate reprehenderit velit et. Veniam aliquip enim in veniam Lorem voluptate quis deserunt consequat qui commodo ut excepteur aute.\r\n", - "Dolore deserunt veniam aute nisi labore sunt et voluptate irure nisi anim ea. Magna nisi quis anim mollit nisi est dolor do ex aliquip elit aliquip ipsum minim. Dolore est officia nostrud eiusmod ex laborum ea amet est. Officia culpa non est et tempor consectetur exercitation tempor eiusmod enim. Ea tempor laboris qui amet ex nisi culpa dolore consectetur incididunt sunt sunt. Lorem aliquip incididunt magna do et ullamco ex elit aliqua eiusmod qui. Commodo amet dolor sint incididunt ex veniam non Lorem fugiat.\r\n", - "Officia culpa enim voluptate dolore commodo. Minim commodo aliqua minim ex sint excepteur cupidatat adipisicing eu irure. Anim magna deserunt anim Lorem non.\r\n", - "Cupidatat aliquip nulla excepteur sunt cupidatat cupidatat laborum cupidatat exercitation. Laboris minim ex cupidatat culpa elit. Amet enim reprehenderit aliqua laborum est tempor exercitation cupidatat ex dolore do. Do incididunt labore fugiat commodo consectetur nisi incididunt irure sit culpa sit. Elit aute occaecat qui excepteur velit proident cillum qui aliqua ex do ex. Dolore irure ex excepteur veniam id proident mollit Lorem.\r\n", - "Ad commodo cillum duis deserunt elit officia consectetur veniam eiusmod. Reprehenderit et veniam ad commodo reprehenderit magna elit laboris sunt non quis. Adipisicing dolor aute proident ea magna sunt et proident in consectetur.\r\n", - "Veniam exercitation esse esse veniam est nisi. Minim velit incididunt sint aute dolor anim. Fugiat cupidatat id ad nisi in voluptate dolor culpa eiusmod magna eiusmod amet id. Duis aliquip labore et ex amet amet aliquip laborum eiusmod ipsum. Quis qui ut duis duis. Minim in voluptate reprehenderit aliqua.\r\n", - "Elit ut pariatur dolor veniam ipsum consequat. Voluptate Lorem mollit et esse dolore mollit Lorem ad. Elit nostrud eu Lorem labore mollit minim cupidatat officia quis minim dolore incididunt. In cillum aute cillum ut.\r\n", - "Commodo laborum deserunt ut cupidatat pariatur ullamco in esse anim exercitation cillum duis. Consectetur incididunt sit esse Lorem in aute. Eiusmod mollit Lorem consequat minim reprehenderit laborum enim excepteur irure nisi elit. Laborum esse proident aute aute proident adipisicing laborum. Pariatur tempor duis incididunt qui velit pariatur ut officia ea mollit labore dolore. Cillum pariatur minim ullamco sunt incididunt culpa id ullamco exercitation consectetur. Ea exercitation consequat reprehenderit ut ullamco velit eu ad velit magna excepteur eiusmod.\r\n", - "Eu deserunt magna laboris laborum laborum in consequat dolore. Officia proident consectetur proident do occaecat minim pariatur officia ipsum sit non velit officia cillum. Laborum excepteur labore eu minim eiusmod. Sit anim dolore cillum ad do minim culpa sit est ad.\r\n", - "Cupidatat dolor nostrud Lorem sint consequat quis. Quis labore sint incididunt officia tempor. Fugiat nostrud in elit reprehenderit dolor. Nisi sit enim officia minim est adipisicing nulla aute labore nulla nostrud cupidatat est. Deserunt dolore qui irure Lorem esse voluptate velit qui nostrud.\r\n", - "Fugiat Lorem amet nulla nisi qui amet laboris enim cillum. Dolore occaecat exercitation id labore velit do commodo ut cupidatat laborum velit fugiat mollit. Ut et aliqua pariatur occaecat. Lorem occaecat dolore quis esse enim cupidatat exercitation ut tempor sit laboris fugiat adipisicing. Est tempor ex irure consectetur ipsum magna labore. Lorem non quis qui minim nisi magna amet aliquip ex cillum fugiat tempor.\r\n", - "Aliquip eiusmod laborum ipsum deserunt velit esse do magna excepteur consectetur exercitation sit. Minim ullamco reprehenderit commodo nostrud exercitation id irure ex qui ullamco sit esse laboris. Nulla cillum non minim qui cillum nisi aute proident. Dolor anim culpa elit quis excepteur aliqua eiusmod. Elit ea est excepteur consectetur sunt eiusmod enim id commodo irure amet et pariatur laboris. Voluptate magna ad magna dolore cillum cillum irure laboris ipsum officia id Lorem veniam.\r\n", - "Esse sunt elit est aliquip cupidatat commodo deserunt. Deserunt pariatur ipsum qui ad esse esse magna qui cillum laborum. Exercitation veniam pariatur elit amet enim.\r\n", - "Esse quis in id elit nulla occaecat incididunt. Et amet Lorem mollit in veniam do. Velit mollit Lorem consequat commodo Lorem aliquip cupidatat. Minim consequat nostrud nulla in nostrud.\r\n", - "Cillum nulla et eu est nostrud quis elit cupidatat dolor enim excepteur exercitation nisi voluptate. Nulla dolore non ex velit et qui tempor proident id deserunt nisi eu. Tempor ad Lorem ipsum reprehenderit in anim. Anim dolore ullamco enim deserunt quis ex id exercitation velit. Magna exercitation fugiat mollit pariatur ipsum ex consectetur nostrud. Id dolore officia nostrud excepteur laborum. Magna incididunt elit ipsum pariatur adipisicing enim duis est qui commodo velit aute.\r\n", - "Quis esse ex qui nisi dolor. Ullamco laborum dolor esse laboris eiusmod ea magna laboris ea esse ut. Dolore ipsum pariatur veniam sint mollit. Lorem ea proident fugiat ullamco ut nisi culpa eu exercitation exercitation aliquip veniam laborum consectetur.\r\n", - "Pariatur veniam laboris sit aliquip pariatur tempor aute sunt id et ut. Laboris excepteur eiusmod nisi qui quis elit enim ut cupidatat. Et et laborum in fugiat veniam consectetur ipsum laboris duis excepteur ullamco aliqua dolor Lorem. Aliqua ex amet sint anim cupidatat nisi ipsum anim et sunt deserunt. Occaecat culpa ut tempor cillum pariatur ex tempor.\r\n", - "Dolor deserunt eiusmod magna do officia voluptate excepteur est cupidatat. Veniam qui cupidatat amet anim est qui consectetur sit commodo commodo ea ad. Enim ad adipisicing qui nostrud. Non nulla esse ullamco nulla et ex.\r\n", - "Id ullamco ea consectetur est incididunt deserunt et esse. Elit nostrud voluptate eiusmod ut. Excepteur adipisicing qui cupidatat consequat labore id. Qui dolor aliqua do dolore do cupidatat labore ex consectetur ea sit cillum. Sint veniam eiusmod in consectetur consequat fugiat et mollit ut fugiat esse dolor adipisicing.\r\n", - "Ea magna proident labore duis pariatur. Esse cillum aliquip dolor duis fugiat ea ex officia ea irure. Sint elit nisi pariatur sunt nostrud exercitation ullamco culpa magna do.\r\n", - "Minim aliqua voluptate dolor consequat sint tempor deserunt amet magna excepteur. Irure do voluptate magna velit. Nostrud in reprehenderit magna officia nostrud. Cupidatat nulla irure laboris non fugiat ex ex est cupidatat excepteur officia aute velit duis. Sit voluptate id ea exercitation deserunt culpa voluptate nostrud est adipisicing incididunt. Amet proident laborum commodo magna ipsum quis.\r\n", - "Ipsum consectetur consectetur excepteur tempor eiusmod ea fugiat aute velit magna in officia sunt. Sit ut sunt dolore cupidatat dolor adipisicing. Veniam nisi adipisicing esse reprehenderit amet aliqua voluptate ex commodo occaecat est voluptate mollit sunt. Pariatur aliqua qui qui in dolor. Fugiat reprehenderit sit nostrud do sint esse. Tempor sit irure adipisicing ea pariatur duis est sit est incididunt laboris quis do. Et voluptate anim minim aliquip excepteur consequat nisi anim pariatur aliquip ut ipsum dolor magna.\r\n", - "Cillum sit labore excepteur magna id aliqua exercitation consequat laborum Lorem id pariatur nostrud. Lorem qui est labore sint cupidatat sint excepteur nulla in eu aliqua et. Adipisicing velit do enim occaecat laboris quis excepteur ipsum dolor occaecat Lorem dolore id exercitation.\r\n", - "Incididunt in laborum reprehenderit eiusmod irure ex. Elit duis consequat minim magna. Esse consectetur aliquip cillum excepteur excepteur fugiat. Sint tempor consequat minim reprehenderit consectetur adipisicing dolor id Lorem elit non. Occaecat esse quis mollit ea et sint aute fugiat qui tempor. Adipisicing tempor duis non dolore irure elit deserunt qui do.\r\n", - "Labore fugiat eiusmod sint laborum sit duis occaecat. Magna in laborum non cillum excepteur nostrud sit proident pariatur voluptate voluptate adipisicing exercitation occaecat. Ad non dolor aute ex sint do do minim exercitation veniam laborum irure magna ea. Magna do non quis sit consequat Lorem aliquip.\r\n", - "Velit anim do laborum laboris laborum Lorem. Sunt do Lorem amet ipsum est sint velit sit do voluptate mollit veniam enim. Commodo do deserunt in pariatur ut elit sint elit deserunt ea. Ad dolor anim consequat aliquip ut mollit nostrud tempor sunt mollit elit. Reprehenderit laboris labore excepteur occaecat veniam adipisicing cupidatat esse. Ad enim aliquip ea minim excepteur magna. Sint velit veniam pariatur qui dolor est adipisicing ex laboris.\r\n", - "Ea cupidatat ex nulla in sunt est sit dolor enim ad. Eu tempor consequat cupidatat consequat ex incididunt sint culpa. Est Lorem Lorem non cupidatat sunt ut aliqua non nostrud do ullamco. Reprehenderit ad ad nulla nostrud do nulla in. Ipsum adipisicing commodo mollit ipsum exercitation. Aliqua ea anim anim est elit. Ea incididunt consequat minim ad sunt eu cillum.\r\n", - "Tempor quis excepteur eiusmod cupidatat ipsum occaecat id et occaecat. Eiusmod magna aliquip excepteur id amet elit. Ullamco dolore amet anim dolor enim ea magna magna elit. Occaecat magna pariatur in deserunt consectetur officia aliquip ullamco ex aute anim. Minim laborum eu sit elit officia esse do irure pariatur tempor et reprehenderit ullamco labore.\r\n", - "Sit tempor eu minim dolore velit pariatur magna duis reprehenderit ea nulla in. Amet est do consectetur commodo do adipisicing adipisicing in amet. Cillum id ut commodo do pariatur duis aliqua nisi sint ad irure officia reprehenderit. Mollit labore id enim fugiat ullamco irure mollit cupidatat. Quis nisi amet labore eu dolor occaecat commodo aliqua laboris deserunt excepteur deserunt officia. Aliqua non ut sit ad. Laborum veniam ad velit minim dolore ea id magna dolor qui in.\r\n", - "Dolore nostrud ipsum aliqua pariatur id reprehenderit enim ad eiusmod qui. Deserunt anim commodo pariatur excepteur velit eu irure nulla ex labore ipsum aliqua minim aute. Id consequat amet tempor aliquip ex elit adipisicing est do. Eu enim Lorem consectetur minim id irure nulla culpa. Consectetur do consequat aute tempor anim. Qui ad non elit dolor est adipisicing nisi amet cillum sunt quis anim laboris incididunt. Incididunt proident adipisicing labore Lorem.\r\n", - "Et reprehenderit ea officia veniam. Aliquip ullamco consequat elit nisi magna mollit id elit. Amet amet sint velit labore ad nisi. Consectetur tempor id dolor aliqua esse deserunt amet. Qui laborum enim proident voluptate aute eu aute aute sit sit incididunt eu. Sunt ullamco nisi nostrud labore commodo non consectetur quis do duis minim irure. Tempor sint dolor sint aliquip dolore nostrud fugiat.\r\n", - "Aute ullamco quis nisi ut excepteur nostrud duis elit. Veniam ex ad incididunt veniam voluptate. Commodo dolore ullamco sit sint adipisicing proident amet aute duis deserunt.\r\n", - "Labore velit eu cillum nisi. Laboris do cupidatat et non duis cillum. Ullamco dolor tempor cupidatat voluptate laborum ullamco ea duis.\r\n", - "Deserunt consequat aliqua duis aliquip nostrud nostrud dolore nisi. Culpa do sint laborum consectetur ipsum quis laborum laborum pariatur eiusmod. Consectetur laboris ad ad ut quis. Ullamco laboris qui velit id laborum voluptate qui aute nostrud aliquip ea.\r\n", - "Ad cillum anim ex est consectetur mollit id in. Non enim aliquip consequat qui deserunt commodo cillum ad laborum fugiat. Dolor deserunt amet laborum tempor adipisicing voluptate dolor pariatur dolor cillum. Eu mollit ex sunt officia veniam qui est sunt proident. Non aliqua qui elit eu cupidatat ex enim ex proident. Lorem sit minim ullamco officia cupidatat duis minim. Exercitation laborum deserunt voluptate culpa tempor quis nulla id pariatur.\r\n", - "Nostrud quis consectetur ut aliqua excepteur elit consectetur occaecat. Occaecat voluptate Lorem pariatur consequat ullamco fugiat minim. Anim voluptate eu eu cillum tempor dolore aliquip aliqua. Fugiat incididunt ut tempor amet minim. Voluptate nostrud minim pariatur non excepteur ullamco.\r\n", - "Dolore nulla velit officia exercitation irure laboris incididunt anim in laborum in fugiat ut proident. Fugiat aute id consequat fugiat officia ut. Labore sint amet proident amet sint nisi laboris amet id ullamco culpa quis consequat proident. Magna do fugiat veniam dolore elit irure minim. Esse ullamco excepteur labore tempor labore fugiat dolore nisi cupidatat irure dolor pariatur. Magna excepteur laboris nisi eiusmod sit pariatur mollit.\r\n", - "In enim aliquip officia ea ad exercitation cillum culpa occaecat dolore Lorem. Irure cillum commodo adipisicing sunt pariatur ea duis fugiat exercitation laboris culpa ullamco aute. Ut voluptate exercitation qui dolor. Irure et duis elit consequat deserunt proident.\r\n", - "Officia ea Lorem sunt culpa id et tempor excepteur enim deserunt proident. Dolore aliquip dolor laboris cillum proident velit. Et culpa occaecat exercitation cupidatat irure sint adipisicing excepteur pariatur incididunt ad occaecat. Qui proident ipsum cillum minim. Quis ut culpa irure aliqua minim fugiat. In voluptate cupidatat fugiat est laborum dolor esse in pariatur voluptate.\r\n", - "Voluptate enim ipsum officia aute ea adipisicing nisi ut ex do aliquip amet. Reprehenderit enim voluptate tempor ex adipisicing culpa. Culpa occaecat voluptate dolor mollit ipsum exercitation labore et tempor sit ea consectetur aliqua. Elit elit sit minim ea ea commodo do tempor cupidatat irure dolore. Occaecat esse adipisicing anim eiusmod commodo fugiat mollit amet. Incididunt tempor tempor qui occaecat cupidatat in.\r\n", - "Ut qui anim velit enim aliquip do ut nulla labore. Mollit ut commodo ut eiusmod consectetur laboris aliqua qui voluptate culpa fugiat incididunt elit. Lorem ullamco esse elit elit. Labore amet incididunt ea nulla aliquip eiusmod. Sit nulla est voluptate officia ipsum aute aute cillum tempor deserunt. Laboris commodo eiusmod labore sunt aute excepteur ea consectetur reprehenderit veniam nisi. Culpa nisi sint sunt sint tempor laboris dolore cupidatat.\r\n", - "Duis cillum qui nisi duis amet velit ad cillum ut elit aute sint ad. Amet laboris pariatur excepteur ipsum Lorem aliqua veniam Lorem quis mollit cupidatat aliqua exercitation. Pariatur ex ullamco sit commodo cillum eiusmod ut proident elit cillum. Commodo ut ipsum excepteur occaecat sint elit consequat ex dolor adipisicing consectetur id ut ad. Velit sit eiusmod est esse tempor incididunt consectetur eiusmod duis commodo veniam.\r\n", - "Ut sunt qui officia anim laboris exercitation Lorem quis laborum do eiusmod officia. Enim consectetur occaecat fugiat cillum cillum. Dolore dolore nostrud in commodo fugiat mollit consequat occaecat non et et elit ullamco. Sit voluptate minim ut est culpa velit nulla fugiat reprehenderit eu aliquip adipisicing labore. Sit minim minim do dolor dolor. Lorem Lorem labore exercitation magna veniam eiusmod do.\r\n", - "Fugiat dolor adipisicing quis aliquip aute dolore. Qui proident anim elit veniam ex aliquip eiusmod ipsum sunt pariatur est. Non fugiat duis do est officia adipisicing.\r\n", - "Nulla deserunt do laboris cupidatat veniam do consectetur ipsum elit veniam in mollit eu. Ea in consequat cupidatat laboris sint fugiat irure. In commodo esse reprehenderit deserunt minim velit ullamco enim eu cupidatat tempor ex. Ullamco in non id culpa amet occaecat culpa nostrud id. Non occaecat culpa magna incididunt.\r\n", - "Enim laboris ex mollit reprehenderit eiusmod exercitation magna. Exercitation Lorem ex mollit non non culpa labore enim. Adipisicing labore dolore incididunt do amet aliquip excepteur ad et nostrud officia aute veniam voluptate. Fugiat enim eiusmod Lorem esse. Minim ullamco commodo consequat ex commodo aliqua eu nulla eu. Veniam non enim nulla ut Lorem nostrud minim sint duis.\r\n", - "Enim duis consectetur in ullamco cillum veniam nulla amet. Exercitation nisi sunt sunt duis in culpa nisi magna ex id ipsum laboris reprehenderit qui. Officia pariatur qui ex fugiat veniam et sunt sit nostrud. Veniam ullamco tempor fugiat minim Lorem proident velit in eiusmod elit. Enim minim excepteur aute aliquip ex magna commodo dolore qui et labore. Proident eu aliquip cillum dolor. Nostrud ipsum ut irure consequat fugiat nulla proident occaecat laborum.\r\n", - "Amet duis eiusmod sunt adipisicing esse ex nostrud consectetur voluptate cillum. Ipsum occaecat sit et anim velit irure ea incididunt cupidatat ullamco in nisi quis. Esse officia ipsum commodo qui quis qui do. Commodo aliquip amet aute sit sit ut cupidatat elit nostrud.\r\n", - "Laboris laboris sit mollit cillum nulla deserunt commodo culpa est commodo anim id anim sit. Officia id consectetur velit incididunt est dolor sunt ipsum magna aliqua consectetur. Eiusmod pariatur minim deserunt cupidatat veniam Lorem aliquip sunt proident eu Lorem sit dolor fugiat. Proident qui ut ex in incididunt nulla nulla dolor ex laboris ea ad.\r\n", - "Ex incididunt enim labore nulla cupidatat elit. Quis ut incididunt incididunt non irure commodo do mollit cillum anim excepteur. Qui consequat laborum dolore elit tempor aute ut nulla pariatur eu ullamco veniam. Nisi non velit labore in commodo excepteur culpa nulla tempor cillum. Ipsum qui sit sint reprehenderit ut labore incididunt dolor aliquip sunt. Reprehenderit occaecat tempor nisi laborum.\r\n", - "Lorem officia ullamco eu occaecat in magna eiusmod consectetur nisi aliqua mollit esse. Ullamco ex aute nostrud pariatur do enim cillum sint do fugiat nostrud culpa tempor. Do aliquip excepteur nostrud culpa eu pariatur eiusmod cillum excepteur do. Est sunt non quis cillum voluptate ex.\r\n", - "Deserunt consectetur tempor irure mollit qui tempor et. Labore enim eu irure laboris in. Nisi in tempor ex occaecat amet cupidatat laboris occaecat amet minim ut magna incididunt id. Consequat cillum laborum commodo mollit. Et magna culpa sunt dolore consequat laboris et sit. Deserunt qui voluptate excepteur dolor. Eu qui amet est proident.\r\n", - "Eu elit minim eiusmod occaecat eu nostrud dolor qui ut elit. Sunt dolore proident ea eu do eiusmod fugiat incididunt pariatur duis amet Lorem nisi ut. Adipisicing quis veniam cupidatat Lorem sint culpa sunt veniam sint. Excepteur eu exercitation est magna pariatur veniam dolore qui fugiat labore proident eiusmod cillum. Commodo reprehenderit elit proident duis sint magna.\r\n", - "Ut aliquip pariatur deserunt nostrud commodo ad proident est exercitation. Sit minim do ea enim sint officia nisi incididunt laborum. Ex amet duis commodo fugiat. Ut aute tempor deserunt irure occaecat aliquip voluptate cillum aute elit qui nostrud.\r\n", - "Irure et quis consectetur sit est do sunt aliquip eu. Cupidatat pariatur consequat dolore consectetur. Adipisicing magna velit mollit occaecat do id. Nisi pariatur cupidatat cillum incididunt excepteur consectetur excepteur do laborum deserunt irure pariatur cillum.\r\n", - "Adipisicing esse incididunt cillum est irure consequat irure ad aute voluptate. Incididunt do occaecat nostrud do ipsum pariatur Lorem qui laboris et pariatur. Est exercitation dolor culpa ad velit ut et.\r\n", - "Sit eiusmod id enim ad ex dolor pariatur do. Ullamco occaecat quis dolor minim non elit labore amet est. Commodo velit eu nulla eiusmod ullamco. Incididunt anim pariatur aute eiusmod veniam tempor enim officia elit id. Elit Lorem est commodo dolore nostrud. Labore et consectetur do exercitation veniam laboris incididunt aliqua proident dolore ea officia cupidatat. Velit laboris aliquip deserunt labore commodo.\r\n", - "Proident nostrud labore eu nostrud. Excepteur ut in velit labore ea proident labore ea sint cillum. Incididunt ipsum consectetur officia irure sit pariatur veniam id velit officia mollit. Adipisicing magna voluptate velit excepteur enim consectetur incididunt voluptate tempor occaecat fugiat velit excepteur labore. Do do incididunt qui nisi voluptate enim. Laboris aute sit voluptate cillum pariatur minim excepteur ullamco mollit deserunt.\r\n", - "Excepteur laborum adipisicing nisi elit fugiat tempor. Elit laboris qui enim labore duis. Proident tempor in consectetur proident excepteur do ex laboris sit.\r\n", - "Dolore do ea incididunt do duis dolore eu labore nisi cupidatat voluptate amet incididunt minim. Nulla pariatur mollit cupidatat adipisicing nulla et. Dolor aliquip in ex magna excepteur. Nulla consequat minim consequat ullamco dolor laboris ullamco eu reprehenderit duis nostrud pariatur.\r\n", - "Id nisi labore duis qui. Incididunt laboris tempor aute do sit. Occaecat excepteur est mollit ea in mollit ullamco est amet reprehenderit.\r\n", - "Aute labore ipsum velit non voluptate eiusmod et reprehenderit cupidatat occaecat. Lorem tempor tempor consectetur exercitation qui nostrud sunt cillum quis ut non dolore. Reprehenderit consequat reprehenderit laborum qui pariatur anim et officia est cupidatat enim velit velit.\r\n", - "Commodo ex et fugiat cupidatat non adipisicing commodo. Minim ad dolore fugiat mollit cupidatat aliqua sunt dolor sit. Labore esse labore velit aute enim. Nulla duis incididunt est aliquip consectetur elit qui incididunt minim minim labore amet sit cillum.\r\n" -] \ No newline at end of file diff --git a/3rdparty/rapidjson/bin/types/readme.txt b/3rdparty/rapidjson/bin/types/readme.txt deleted file mode 100644 index da1dae675e9..00000000000 --- a/3rdparty/rapidjson/bin/types/readme.txt +++ /dev/null @@ -1 +0,0 @@ -Test data obtained from https://github.com/xpol/lua-rapidjson/tree/master/performance diff --git a/3rdparty/rapidjson/license.txt b/3rdparty/rapidjson/license.txt index 7ccc161c84b..ea41e048ce7 100644 --- a/3rdparty/rapidjson/license.txt +++ b/3rdparty/rapidjson/license.txt @@ -23,30 +23,6 @@ Redistribution and use in source and binary forms, with or without modification, THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS AND CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -Open Source Software Licensed Under the JSON License: --------------------------------------------------------------------- - -json.org -Copyright (c) 2002 JSON.org -All Rights Reserved. - -JSON_checker -Copyright (c) 2002 JSON.org -All Rights Reserved. - - -Terms of the JSON License: ---------------------------------------------------- - -Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. - -The Software shall be used for Good, not Evil. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - - Terms of the MIT License: -------------------------------------------------------------------- From 0bcc96406d187ce2907b05bd54c71ec7ef4085ed Mon Sep 17 00:00:00 2001 From: Miodrag Milanovic Date: Fri, 15 Apr 2016 16:08:28 +0200 Subject: [PATCH 012/122] renamed class to osd_watchdog (nw) --- src/osd/modules/lib/osdobj_common.cpp | 2 +- src/osd/modules/lib/osdobj_common.h | 2 +- src/osd/watchdog.cpp | 8 ++++---- src/osd/watchdog.h | 6 +++--- 4 files changed, 9 insertions(+), 9 deletions(-) diff --git a/src/osd/modules/lib/osdobj_common.cpp b/src/osd/modules/lib/osdobj_common.cpp index adc202ce4db..c9d4a37798d 100644 --- a/src/osd/modules/lib/osdobj_common.cpp +++ b/src/osd/modules/lib/osdobj_common.cpp @@ -428,7 +428,7 @@ void osd_common_t::init(running_machine &machine) if (watchdog_timeout != 0) { - m_watchdog = std::make_unique(); + m_watchdog = std::make_unique(); m_watchdog->setTimeout(watchdog_timeout); } } diff --git a/src/osd/modules/lib/osdobj_common.h b/src/osd/modules/lib/osdobj_common.h index 9afce249eb1..00778fac569 100644 --- a/src/osd/modules/lib/osdobj_common.h +++ b/src/osd/modules/lib/osdobj_common.h @@ -282,7 +282,7 @@ protected: input_module* m_lightgun_input; input_module* m_joystick_input; output_module* m_output; - std::unique_ptr m_watchdog; + std::unique_ptr m_watchdog; std::vector m_sliders; private: diff --git a/src/osd/watchdog.cpp b/src/osd/watchdog.cpp index 8a86464cb56..f963ef13f07 100644 --- a/src/osd/watchdog.cpp +++ b/src/osd/watchdog.cpp @@ -17,7 +17,7 @@ static void *watchdog_thread(void *param) { - watchdog *thiz = (watchdog *) param; + osd_watchdog *thiz = (osd_watchdog *) param; while (TRUE) { @@ -41,7 +41,7 @@ static void *watchdog_thread(void *param) return nullptr; } -watchdog::watchdog(void) +osd_watchdog::osd_watchdog(void) : m_event(1,0) { m_do_exit = 0; @@ -49,7 +49,7 @@ watchdog::watchdog(void) m_timeout = 60 * osd_ticks_per_second(); } -watchdog::~watchdog(void) +osd_watchdog::~osd_watchdog(void) { m_do_exit = 1; m_event.set(); @@ -57,7 +57,7 @@ watchdog::~watchdog(void) delete m_thread; } -void watchdog::setTimeout(int timeout) +void osd_watchdog::setTimeout(int timeout) { m_timeout = timeout * osd_ticks_per_second(); this->reset(); diff --git a/src/osd/watchdog.h b/src/osd/watchdog.h index f9c06e72bb0..dbcccf43abf 100644 --- a/src/osd/watchdog.h +++ b/src/osd/watchdog.h @@ -14,11 +14,11 @@ #include #include -class watchdog +class osd_watchdog { public: - watchdog(void); - ~watchdog(void); + osd_watchdog(void); + ~osd_watchdog(void); void reset() { m_event.set(); } From 570c743fcd610aa824c91ed0003ffe737477c6f6 Mon Sep 17 00:00:00 2001 From: Miodrag Milanovic Date: Fri, 15 Apr 2016 16:16:56 +0200 Subject: [PATCH 013/122] this is no issue anymore (nw) --- src/osd/sdl/sdlinc.h | 3 --- 1 file changed, 3 deletions(-) diff --git a/src/osd/sdl/sdlinc.h b/src/osd/sdl/sdlinc.h index 47ead42c0cf..03bd37874ca 100644 --- a/src/osd/sdl/sdlinc.h +++ b/src/osd/sdl/sdlinc.h @@ -5,9 +5,6 @@ #include #include -// on win32 this includes windows.h by itself and breaks us! -#ifndef SDLMAME_WIN32 #include -#endif #endif From 295c7294d3dbccdd620529286c36423a390cca73 Mon Sep 17 00:00:00 2001 From: dankan1890 Date: Fri, 15 Apr 2016 17:20:50 +0200 Subject: [PATCH 014/122] cdrom: declared (std::nothrow) some allocations. (nw) --- src/lib/util/cdrom.cpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/lib/util/cdrom.cpp b/src/lib/util/cdrom.cpp index da3d921ae4a..74cc984a257 100644 --- a/src/lib/util/cdrom.cpp +++ b/src/lib/util/cdrom.cpp @@ -224,7 +224,7 @@ cdrom_file *cdrom_open(const char *inputfile) UINT32 physofs, logofs; /* allocate memory for the CD-ROM file */ - file = new cdrom_file(); + file = new (std::nothrow) cdrom_file(); if (file == nullptr) return nullptr; @@ -331,7 +331,7 @@ cdrom_file *cdrom_open(chd_file *chd) return nullptr; /* allocate memory for the CD-ROM file */ - file = new cdrom_file(); + file = new (std::nothrow) cdrom_file(); if (file == nullptr) return nullptr; @@ -1222,7 +1222,7 @@ chd_error cdrom_parse_metadata(chd_file *chd, cdrom_toc *toc) if (toc->numtrks > 0) return CHDERR_NONE; - printf("toc->numtrks = %d?!\n", toc->numtrks); + printf("toc->numtrks = %u?!\n", toc->numtrks); /* look for old-style metadata */ dynamic_buffer oldmetadata; From edb0904e763a6ff691700b3fb4685583665c497f Mon Sep 17 00:00:00 2001 From: dankan1890 Date: Fri, 15 Apr 2016 17:23:56 +0200 Subject: [PATCH 015/122] chd: initialized m_hunknum inside the constructor. (nw) --- src/lib/util/chd.h | 1 + 1 file changed, 1 insertion(+) diff --git a/src/lib/util/chd.h b/src/lib/util/chd.h index ee8a03f5d17..b178c6083ba 100644 --- a/src/lib/util/chd.h +++ b/src/lib/util/chd.h @@ -522,6 +522,7 @@ private: : m_osd(nullptr) , m_compressor(nullptr) , m_status(WS_READY) + , m_hunknum(0) , m_data(nullptr) , m_compressed(nullptr) , m_complen(0) From a0715c7c400f1a7e41285a06eef23535fb0afa1d Mon Sep 17 00:00:00 2001 From: dankan1890 Date: Fri, 15 Apr 2016 17:39:45 +0200 Subject: [PATCH 016/122] Reduction code for entries of "enum class ui_menu_item_type" and the use of item_append with separators. --- src/emu/clifront.cpp | 1 - src/emu/ui/barcode.cpp | 2 +- src/emu/ui/cheatopt.cpp | 12 ++++++------ src/emu/ui/custmenu.cpp | 12 ++++++------ src/emu/ui/custui.cpp | 14 +++++++------- src/emu/ui/datmenu.cpp | 10 +++++----- src/emu/ui/dirmenu.cpp | 8 ++++---- src/emu/ui/filemngr.cpp | 4 ++-- src/emu/ui/filesel.cpp | 4 ++-- src/emu/ui/inputmap.cpp | 8 ++++---- src/emu/ui/mainmenu.cpp | 4 ++-- src/emu/ui/menu.cpp | 11 +++++++++++ src/emu/ui/menu.h | 9 +++++---- src/emu/ui/optsmenu.cpp | 4 ++-- src/emu/ui/pluginopt.cpp | 4 ++-- src/emu/ui/selector.cpp | 2 +- src/emu/ui/selsoft.cpp | 12 ++++++------ src/emu/ui/simpleselgame.cpp | 2 +- src/emu/ui/sliders.cpp | 12 ++++++------ src/emu/ui/slotopt.cpp | 2 +- src/emu/ui/sndmenu.cpp | 2 +- src/emu/ui/ui.cpp | 2 +- src/emu/ui/videoopt.cpp | 2 +- src/osd/modules/debugger/debugint.cpp | 14 +++++++------- src/osd/modules/render/bgfx/chainmanager.cpp | 6 +++--- src/osd/modules/render/d3d/d3dhlsl.cpp | 2 +- 26 files changed, 88 insertions(+), 77 deletions(-) diff --git a/src/emu/clifront.cpp b/src/emu/clifront.cpp index 4a718febd0e..0797974e379 100644 --- a/src/emu/clifront.cpp +++ b/src/emu/clifront.cpp @@ -107,7 +107,6 @@ int cli_frontend::execute(int argc, char **argv) m_options.parse_standard_inis(option_errors); - //load_translation(); load_translation(m_options); manager->start_luaengine(); diff --git a/src/emu/ui/barcode.cpp b/src/emu/ui/barcode.cpp index 4dc734a2bd2..6478e7db3fc 100644 --- a/src/emu/ui/barcode.cpp +++ b/src/emu/ui/barcode.cpp @@ -72,7 +72,7 @@ void ui_menu_barcode_reader::populate() item_append(_("New Barcode:"), new_barcode, 0, ITEMREF_NEW_BARCODE); // finish up the menu - item_append(MENU_SEPARATOR_ITEM, nullptr, 0, nullptr); + item_append(ui_menu_item_type::SEPARATOR); item_append(_("Enter Code"), nullptr, 0, ITEMREF_ENTER_BARCODE); customtop = machine().ui().get_line_height() + 3.0f * UI_BOX_TB_BORDER; diff --git a/src/emu/ui/cheatopt.cpp b/src/emu/ui/cheatopt.cpp index fecb954cd0f..acb8710c51e 100644 --- a/src/emu/ui/cheatopt.cpp +++ b/src/emu/ui/cheatopt.cpp @@ -121,7 +121,7 @@ void ui_menu_cheat::populate() item_append(_("Autofire Settings"), nullptr, 0, (void *)ITEMREF_CHEATS_AUTOFIRE_SETTINGS); /* add a separator */ - item_append(MENU_SEPARATOR_ITEM, nullptr, 0, nullptr); + item_append(ui_menu_item_type::SEPARATOR); // add other cheats if (!machine().cheat().entries().empty()) { @@ -133,7 +133,7 @@ void ui_menu_cheat::populate() } /* add a separator */ - item_append(MENU_SEPARATOR_ITEM, nullptr, 0, nullptr); + item_append(ui_menu_item_type::SEPARATOR); /* add a reset all option */ item_append(_("Reset All"), nullptr, 0, (void *)ITEMREF_CHEATS_RESET_ALL); @@ -272,7 +272,7 @@ void ui_menu_autofire::populate() if (is_first_button) { /* add a separator for each player */ - item_append(MENU_SEPARATOR_ITEM, nullptr, 0, nullptr); + item_append(ui_menu_item_type::SEPARATOR); is_first_button = false; } /* add an autofire item */ @@ -295,12 +295,12 @@ void ui_menu_autofire::populate() /* add text item if no buttons found */ if (menu_items==0) { - item_append(MENU_SEPARATOR_ITEM, nullptr, 0, nullptr); + item_append(ui_menu_item_type::SEPARATOR); item_append(_("No buttons found on this machine!"), nullptr, MENU_FLAG_DISABLE, nullptr); } /* add a separator */ - item_append(MENU_SEPARATOR_ITEM, nullptr, 0, nullptr); + item_append(ui_menu_item_type::SEPARATOR); /* add autofire delay item */ int value = machine().ioport().get_autofire_delay(); @@ -315,7 +315,7 @@ void ui_menu_autofire::populate() } /* add a separator */ - item_append(MENU_SEPARATOR_ITEM, nullptr, 0, nullptr); + item_append(ui_menu_item_type::SEPARATOR); last_toggle = autofire_toggle; } diff --git a/src/emu/ui/custmenu.cpp b/src/emu/ui/custmenu.cpp index 545f9b96e23..25ffdff8bde 100644 --- a/src/emu/ui/custmenu.cpp +++ b/src/emu/ui/custmenu.cpp @@ -159,7 +159,7 @@ void ui_menu_custom_filter::populate() // add other filters for (int x = 1; x <= custfltr::numother; x++) { - item_append(MENU_SEPARATOR_ITEM, nullptr, 0, nullptr); + item_append(ui_menu_item_type::SEPARATOR); // add filter items arrow_flags = get_arrow_flags((int)FILTER_UNAVAILABLE + 1, (int)FILTER_LAST - 1, custfltr::other[x]); @@ -187,7 +187,7 @@ void ui_menu_custom_filter::populate() } } - item_append(MENU_SEPARATOR_ITEM, nullptr, 0, nullptr); + item_append(ui_menu_item_type::SEPARATOR); if (custfltr::numother > 0) item_append(_("Remove last filter"), nullptr, 0, (void *)(FPTR)REMOVE_FILTER); @@ -195,7 +195,7 @@ void ui_menu_custom_filter::populate() if (custfltr::numother < MAX_CUST_FILTER - 2) item_append(_("Add filter"), nullptr, 0, (void *)(FPTR)ADD_FILTER); - item_append(MENU_SEPARATOR_ITEM, nullptr, 0, nullptr); + item_append(ui_menu_item_type::SEPARATOR); customtop = machine().ui().get_line_height() + 3.0f * UI_BOX_TB_BORDER; } @@ -447,7 +447,7 @@ void ui_menu_swcustom_filter::populate() // add other filters for (int x = 1; x <= sw_custfltr::numother; x++) { - item_append(MENU_SEPARATOR_ITEM, nullptr, 0, nullptr); + item_append(ui_menu_item_type::SEPARATOR); // add filter items arrow_flags = get_arrow_flags((int)UI_SW_UNAVAILABLE + 1, (int)UI_SW_LAST - 1, sw_custfltr::other[x]); @@ -502,7 +502,7 @@ void ui_menu_swcustom_filter::populate() } } - item_append(MENU_SEPARATOR_ITEM, nullptr, 0, nullptr); + item_append(ui_menu_item_type::SEPARATOR); if (sw_custfltr::numother > 0) item_append(_("Remove last filter"), nullptr, 0, (void *)(FPTR)REMOVE_FILTER); @@ -510,7 +510,7 @@ void ui_menu_swcustom_filter::populate() if (sw_custfltr::numother < MAX_CUST_FILTER - 2) item_append(_("Add filter"), nullptr, 0, (void *)(FPTR)ADD_FILTER); - item_append(MENU_SEPARATOR_ITEM, nullptr, 0, nullptr); + item_append(ui_menu_item_type::SEPARATOR); customtop = machine().ui().get_line_height() + 3.0f * UI_BOX_TB_BORDER; } diff --git a/src/emu/ui/custui.cpp b/src/emu/ui/custui.cpp index 6eabfeb65b1..9b8c81a2de4 100644 --- a/src/emu/ui/custui.cpp +++ b/src/emu/ui/custui.cpp @@ -150,7 +150,7 @@ void ui_menu_custom_ui::populate() arrow_flags = get_arrow_flags(0, (int)HIDE_BOTH, ui_globals::panels_status); item_append(_("Show side panels"), _(hide_status[ui_globals::panels_status]), arrow_flags, (void *)(FPTR)HIDE_MENU); - item_append(MENU_SEPARATOR_ITEM, nullptr, 0, nullptr); + item_append(ui_menu_item_type::SEPARATOR); customtop = machine().ui().get_line_height() + 3.0f * UI_BOX_TB_BORDER; } @@ -357,13 +357,13 @@ void ui_menu_font_ui::populate() arrow_flags = get_arrow_flags(m_font_min, m_font_max, m_font_size); item_append(_("Lines"), string_format("%2d", m_font_size).c_str(), arrow_flags, (void *)(FPTR)FONT_SIZE); - item_append(MENU_SEPARATOR_ITEM, nullptr, 0, nullptr); + item_append(ui_menu_item_type::SEPARATOR); // add item arrow_flags = get_arrow_flags(m_info_min, m_info_max, m_info_size); item_append(_("Infos text size"), string_format("%3.2f", m_info_size).c_str(), arrow_flags, (void *)(FPTR)INFOS_SIZE); - item_append(MENU_SEPARATOR_ITEM, nullptr, 0, nullptr); + item_append(ui_menu_item_type::SEPARATOR); custombottom = customtop = machine().ui().get_line_height() + 3.0f * UI_BOX_TB_BORDER; } @@ -520,7 +520,7 @@ void ui_menu_colors_ui::populate() item_append(_("Mouse down color"), nullptr, 0, (void *)(FPTR)MUI_MOUSEDOWN_COLOR); item_append(_("Mouse down background color"), nullptr, 0, (void *)(FPTR)MUI_MOUSEDOWN_BG_COLOR); - item_append(MENU_SEPARATOR_ITEM, nullptr, 0, nullptr); + item_append(ui_menu_item_type::SEPARATOR); item_append(_("Restore originals colors"), nullptr, 0, (void *)(FPTR)MUI_RESTORE); custombottom = customtop = machine().ui().get_line_height() + 3.0f * UI_BOX_TB_BORDER; @@ -863,9 +863,9 @@ void ui_menu_rgb_ui::populate() else item_append(_("Blue"), s_text.c_str(), 0, (void *)(FPTR)RGB_BLUE); - item_append(MENU_SEPARATOR_ITEM, nullptr, 0, nullptr); + item_append(ui_menu_item_type::SEPARATOR); item_append(_("Choose from palette"), nullptr, 0, (void *)(FPTR)PALETTE_CHOOSE); - item_append(MENU_SEPARATOR_ITEM, nullptr, 0, nullptr); + item_append(ui_menu_item_type::SEPARATOR); custombottom = customtop = machine().ui().get_line_height() + 3.0f * UI_BOX_TB_BORDER; } @@ -1057,7 +1057,7 @@ void ui_menu_palette_sel::populate() for (int x = 0; x < ARRAY_LENGTH(m_palette); ++x) item_append(_(m_palette[x].name), m_palette[x].argb, MENU_FLAG_UI_PALETTE, (void *)(FPTR)(x + 1)); - item_append(MENU_SEPARATOR_ITEM, nullptr, 0, nullptr); + item_append(ui_menu_item_type::SEPARATOR); } //------------------------------------------------- diff --git a/src/emu/ui/datmenu.cpp b/src/emu/ui/datmenu.cpp index d97cc122ee1..85a237b582e 100644 --- a/src/emu/ui/datmenu.cpp +++ b/src/emu/ui/datmenu.cpp @@ -131,7 +131,7 @@ void ui_menu_dats_view::custom_render(void *selectedref, float top, float bottom mui.draw_text_full(container, driver.c_str(), 0.0f, 0.0f, 1.0f, JUSTIFY_CENTER, WRAP_TRUNCATE, DRAW_NONE, ARGB_WHITE, ARGB_BLACK, &width, nullptr); width += 2 * UI_BOX_LR_BORDER; - maxwidth = MAX(origx2 - origx1, width); + maxwidth = MAX(maxwidth, width); // compute our bounds float x1 = 0.5f - 0.5f * maxwidth; @@ -246,8 +246,8 @@ void ui_menu_dats_view::get_data() else machine().datfile().load_data_info(m_driver, buffer, m_items_list[m_actual].option); - int totallines = machine().ui().wrap_text(container, buffer.c_str(), 0.0f, 0.0f, 1.0f - (4.0f * UI_BOX_LR_BORDER), xstart, xend); - for (int x = 0; x < totallines; ++x) + int lines = machine().ui().wrap_text(container, buffer.c_str(), 0.0f, 0.0f, 1.0f - (4.0f * UI_BOX_LR_BORDER), xstart, xend); + for (int x = 0; x < lines; ++x) { std::string tempbuf(buffer.substr(xstart[x], xend[x] - xstart[x])); item_append(tempbuf.c_str(), nullptr, (MENU_FLAG_UI_DATS | MENU_FLAG_DISABLE), (void *)(FPTR)(x + 1)); @@ -269,8 +269,8 @@ void ui_menu_dats_view::get_data_sw() machine().datfile().load_software_info(m_swinfo->listname, buffer, m_swinfo->shortname, m_swinfo->parentname); } - int totallines = machine().ui().wrap_text(container, buffer.c_str(), 0.0f, 0.0f, 1.0f - (4.0f * UI_BOX_LR_BORDER), xstart, xend); - for (int x = 0; x < totallines; ++x) + int lines = machine().ui().wrap_text(container, buffer.c_str(), 0.0f, 0.0f, 1.0f - (4.0f * UI_BOX_LR_BORDER), xstart, xend); + for (int x = 0; x < lines; ++x) { std::string tempbuf(buffer.substr(xstart[x], xend[x] - xstart[x])); item_append(tempbuf.c_str(), nullptr, (MENU_FLAG_UI_DATS | MENU_FLAG_DISABLE), (void *)(FPTR)(x + 1)); diff --git a/src/emu/ui/dirmenu.cpp b/src/emu/ui/dirmenu.cpp index 88c701b67ef..e4a9b693a1c 100644 --- a/src/emu/ui/dirmenu.cpp +++ b/src/emu/ui/dirmenu.cpp @@ -99,7 +99,7 @@ void ui_menu_directory::populate() for (auto & elem : s_folders) item_append(_(elem.name), nullptr, 0, (void *)(FPTR)elem.action); - item_append(MENU_SEPARATOR_ITEM, nullptr, 0, nullptr); + item_append(ui_menu_item_type::SEPARATOR); customtop = machine().ui().get_line_height() + 3.0f * UI_BOX_TB_BORDER; } @@ -197,7 +197,7 @@ void ui_menu_display_actual::populate() if (m_folders.size() > 1) item_append(_("Remove Folder"), nullptr, 0, (void *)REMOVE); - item_append(MENU_SEPARATOR_ITEM, nullptr, 0, nullptr); + item_append(ui_menu_item_type::SEPARATOR); customtop = (m_folders.size() + 1) * machine().ui().get_line_height() + 6.0f * UI_BOX_TB_BORDER; } @@ -475,7 +475,7 @@ void ui_menu_add_change_folder::populate() item_append(dirent->name, "[DIR]", 0, (void *)(FPTR)++folders_count); } - item_append(MENU_SEPARATOR_ITEM, nullptr, 0, nullptr); + item_append(ui_menu_item_type::SEPARATOR); // configure the custom rendering customtop = 2.0f * machine().ui().get_line_height() + 3.0f * UI_BOX_TB_BORDER; @@ -625,7 +625,7 @@ void ui_menu_remove_folder::populate() for (auto & elem : m_folders) item_append(elem.c_str(), nullptr, 0, (void *)(FPTR)++folders_count); - item_append(MENU_SEPARATOR_ITEM, nullptr, 0, nullptr); + item_append(ui_menu_item_type::SEPARATOR); customtop = machine().ui().get_line_height() + 3.0f * UI_BOX_TB_BORDER; } diff --git a/src/emu/ui/filemngr.cpp b/src/emu/ui/filemngr.cpp index 6c2cd3894bd..7fbff85217f 100644 --- a/src/emu/ui/filemngr.cpp +++ b/src/emu/ui/filemngr.cpp @@ -142,7 +142,7 @@ void ui_menu_file_manager::populate() if (first_entry) first_entry = false; else - item_append(MENU_SEPARATOR_ITEM, nullptr, 0, nullptr); + item_append(ui_menu_item_type::SEPARATOR); item_append(string_format("[root%s]", dev->tag()).c_str(), nullptr, 0, nullptr); tag_appended = true; } @@ -153,7 +153,7 @@ void ui_menu_file_manager::populate() } } } - item_append(MENU_SEPARATOR_ITEM, nullptr, 0, nullptr); + item_append(ui_menu_item_type::SEPARATOR); item_append("Reset", nullptr, 0, (void *)1); custombottom = machine().ui().get_line_height() + 3.0f * UI_BOX_TB_BORDER; diff --git a/src/emu/ui/filesel.cpp b/src/emu/ui/filesel.cpp index 7acab761ea5..73edf1d6483 100644 --- a/src/emu/ui/filesel.cpp +++ b/src/emu/ui/filesel.cpp @@ -283,7 +283,7 @@ void ui_menu_file_create::populate() } // finish up the menu - item_append(MENU_SEPARATOR_ITEM, nullptr, 0, nullptr); + item_append(ui_menu_item_type::SEPARATOR); item_append(_("Create"), nullptr, 0, ITEMREF_CREATE); customtop = machine().ui().get_line_height() + 3.0f * UI_BOX_TB_BORDER; @@ -809,7 +809,7 @@ void ui_menu_select_format::populate() const floppy_image_format_t *fmt = m_formats[i]; if (i && i == m_ext_match) - item_append(MENU_SEPARATOR_ITEM, nullptr, 0, nullptr); + item_append(ui_menu_item_type::SEPARATOR); item_append(fmt->description(), fmt->name(), 0, (void *)(FPTR)i); } } diff --git a/src/emu/ui/inputmap.cpp b/src/emu/ui/inputmap.cpp index 616e3e80bfa..c78ef8da7b0 100644 --- a/src/emu/ui/inputmap.cpp +++ b/src/emu/ui/inputmap.cpp @@ -415,7 +415,7 @@ void ui_menu_input::populate_and_sort(input_item_data *itemlist) if (first_entry) first_entry = false; else - item_append(MENU_SEPARATOR_ITEM, nullptr, 0, nullptr); + item_append(ui_menu_item_type::SEPARATOR); item_append(string_format("[root%s]", item->owner_name).c_str(), nullptr, 0, nullptr); prev_owner.assign(item->owner_name); } @@ -565,7 +565,7 @@ void ui_menu_settings::populate() if (first_entry) first_entry = false; else - item_append(MENU_SEPARATOR_ITEM, nullptr, 0, nullptr); + item_append(ui_menu_item_type::SEPARATOR); string_format("[root%s]", field.device().tag()); item_append(string_format("[root%s]", field.device().tag()).c_str(), nullptr, 0, nullptr); prev_owner.assign(field.device().tag()); @@ -618,7 +618,7 @@ void ui_menu_settings::populate() if (type == IPT_DIPSWITCH) custombottom = dipcount ? dipcount * (DIP_SWITCH_HEIGHT + DIP_SWITCH_SPACING) + DIP_SWITCH_SPACING : 0; - item_append(MENU_SEPARATOR_ITEM, nullptr, 0, nullptr); + item_append(ui_menu_item_type::SEPARATOR); item_append(_("Reset"), nullptr, 0, (void *)1); } @@ -862,7 +862,7 @@ void ui_menu_analog::populate() if (first_entry) first_entry = false; else - item_append(MENU_SEPARATOR_ITEM, nullptr, 0, nullptr); + item_append(ui_menu_item_type::SEPARATOR); item_append(string_format("[root%s]", field.device().tag()).c_str(), nullptr, 0, nullptr); prev_owner.assign(field.device().tag()); } diff --git a/src/emu/ui/mainmenu.cpp b/src/emu/ui/mainmenu.cpp index b2935049b9a..079ffbf8be8 100644 --- a/src/emu/ui/mainmenu.cpp +++ b/src/emu/ui/mainmenu.cpp @@ -138,7 +138,7 @@ void ui_menu_main::populate() if (machine().ui().options().enabled_dats() && machine().datfile().has_data()) item_append(_("External DAT View"), nullptr, 0, (void *)EXTERNAL_DATS); - item_append(MENU_SEPARATOR_ITEM, nullptr, 0, nullptr); + item_append(ui_menu_item_type::SEPARATOR); /* add favorite menu */ if (!machine().favorite().isgame_favorite()) @@ -146,7 +146,7 @@ void ui_menu_main::populate() else item_append(_("Remove From Favorites"), nullptr, 0, (void *)REMOVE_FAVORITE); - item_append(MENU_SEPARATOR_ITEM, nullptr, 0, nullptr); + item_append(ui_menu_item_type::SEPARATOR); // item_append(_("Quit from Machine"), nullptr, 0, (void *)QUIT_GAME); diff --git a/src/emu/ui/menu.cpp b/src/emu/ui/menu.cpp index 1d8ae588c0f..52c2eba048a 100644 --- a/src/emu/ui/menu.cpp +++ b/src/emu/ui/menu.cpp @@ -306,6 +306,17 @@ void ui_menu::item_append(ui_menu_item item) // end of the menu //------------------------------------------------- +void ui_menu::item_append(ui_menu_item_type type) +{ + if (type == ui_menu_item_type::SEPARATOR) + item_append(MENU_SEPARATOR_ITEM, nullptr, 0, nullptr); +} + +//------------------------------------------------- +// item_append - append a new item to the +// end of the menu +//------------------------------------------------- + void ui_menu::item_append(const char *text, const char *subtext, UINT32 flags, void *ref, ui_menu_item_type type) { // only allow multiline as the first item diff --git a/src/emu/ui/menu.h b/src/emu/ui/menu.h index a07bcd1c519..7c8aa73a1d8 100644 --- a/src/emu/ui/menu.h +++ b/src/emu/ui/menu.h @@ -56,9 +56,9 @@ enum ui_menu_reset_options // types of menu items (TODO: please expand) enum class ui_menu_item_type { - UI_MENU_ITEM_TYPE_UNKNOWN, - UI_MENU_ITEM_TYPE_SLIDER, - UI_MENU_ITEM_TYPE_SEPARATOR + UNKNOWN, + SLIDER, + SEPARATOR }; @@ -120,8 +120,9 @@ public: void reset(ui_menu_reset_options options); // append a new item to the end of the menu - void item_append(const char *text, const char *subtext, UINT32 flags, void *ref, ui_menu_item_type type = ui_menu_item_type::UI_MENU_ITEM_TYPE_UNKNOWN); + void item_append(const char *text, const char *subtext, UINT32 flags, void *ref, ui_menu_item_type type = ui_menu_item_type::UNKNOWN); void item_append(ui_menu_item item); + void item_append(ui_menu_item_type type); // process a menu, drawing it and returning any interesting events const ui_menu_event *process(UINT32 flags); diff --git a/src/emu/ui/optsmenu.cpp b/src/emu/ui/optsmenu.cpp index 796bd665512..ffe9d2fddd3 100644 --- a/src/emu/ui/optsmenu.cpp +++ b/src/emu/ui/optsmenu.cpp @@ -255,7 +255,7 @@ void ui_menu_game_options::populate() item_append(fbuff.c_str(), nullptr, 0, (void *)(FPTR)CUSTOM_FILTER); } - item_append(MENU_SEPARATOR_ITEM, nullptr, 0, nullptr); + item_append(ui_menu_item_type::SEPARATOR); // add options items item_append(_("Customize UI"), nullptr, 0, (void *)(FPTR)CUSTOM_MENU); @@ -267,7 +267,7 @@ void ui_menu_game_options::populate() item_append(_(control_submenu_options[0].description), nullptr, 0, (void *)(FPTR)CONTROLLER_MENU); item_append(_("General Inputs"), nullptr, 0, (void *)(FPTR)CGI_MENU); item_append(_(advanced_submenu_options[0].description), nullptr, 0, (void *)(FPTR)ADVANCED_MENU); - item_append(MENU_SEPARATOR_ITEM, nullptr, 0, nullptr); + item_append(ui_menu_item_type::SEPARATOR); item_append(_("Save Configuration"), nullptr, 0, (void *)(FPTR)SAVE_CONFIG); custombottom = 2.0f * machine().ui().get_line_height() + 3.0f * UI_BOX_TB_BORDER; diff --git a/src/emu/ui/pluginopt.cpp b/src/emu/ui/pluginopt.cpp index 9fd02404a0a..b2f1d81579a 100644 --- a/src/emu/ui/pluginopt.cpp +++ b/src/emu/ui/pluginopt.cpp @@ -34,7 +34,7 @@ void ui_menu_plugin::populate() { for (auto &curplugin : m_plugins) item_append(curplugin.c_str(), 0, 0, (void *)curplugin.c_str()); - item_append(MENU_SEPARATOR_ITEM, nullptr, 0, nullptr); + item_append(ui_menu_item_type::SEPARATOR); } ui_menu_plugin::~ui_menu_plugin() @@ -104,7 +104,7 @@ void ui_menu_plugin_opt::populate() item_append(item.text.c_str(), item.subtext.c_str(), flags, (void *)i++); } - item_append(MENU_SEPARATOR_ITEM, nullptr, 0, nullptr); + item_append(ui_menu_item_type::SEPARATOR); } ui_menu_plugin_opt::~ui_menu_plugin_opt() diff --git a/src/emu/ui/selector.cpp b/src/emu/ui/selector.cpp index af199b1cfe8..7ef7545c685 100644 --- a/src/emu/ui/selector.cpp +++ b/src/emu/ui/selector.cpp @@ -149,7 +149,7 @@ void ui_menu_selector::populate() } } - item_append(MENU_SEPARATOR_ITEM, nullptr, 0, nullptr); + item_append(ui_menu_item_type::SEPARATOR); customtop = custombottom = machine().ui().get_line_height() + 3.0f * UI_BOX_TB_BORDER; m_first_pass = false; } diff --git a/src/emu/ui/selsoft.cpp b/src/emu/ui/selsoft.cpp index b302881a958..e545b070b17 100644 --- a/src/emu/ui/selsoft.cpp +++ b/src/emu/ui/selsoft.cpp @@ -89,7 +89,7 @@ bool compare_software(ui_software_info a, ui_software_info b) bool has_multiple_bios(const game_driver *driver, s_bios &biosname) { if (driver->rom == nullptr) - return 0; + return false; std::string default_name; for (const rom_entry *rom = driver->rom; !ROMENTRY_ISEND(rom); ++rom) @@ -366,7 +366,7 @@ void ui_menu_select_software::handle() { highlight++; } - else if (m_event->iptkey == IPT_UI_SELECT && m_focus == focused_menu::left) + else if (m_event->iptkey == IPT_OTHER && m_focus == focused_menu::left) { l_sw_hover = highlight; check_filter = true; @@ -1946,7 +1946,7 @@ void ui_software_parts::populate() for (auto & elem : m_parts) item_append(elem.first.c_str(), elem.second.c_str(), 0, (void *)&elem); - item_append(MENU_SEPARATOR_ITEM, nullptr, 0, nullptr); + item_append(ui_menu_item_type::SEPARATOR); customtop = machine().ui().get_line_height() + (3.0f * UI_BOX_TB_BORDER); } @@ -2041,7 +2041,7 @@ void ui_bios_selection::populate() for (auto & elem : m_bios) item_append(elem.first.c_str(), nullptr, 0, (void *)&elem.first); - item_append(MENU_SEPARATOR_ITEM, nullptr, 0, nullptr); + item_append(ui_menu_item_type::SEPARATOR); customtop = machine().ui().get_line_height() + (3.0f * UI_BOX_TB_BORDER); } @@ -2072,7 +2072,7 @@ void ui_bios_selection::handle() } std::string error; - moptions.set_value("bios", elem.second, OPTION_PRIORITY_CMDLINE, error); + moptions.set_value(OPTION_BIOS, elem.second, OPTION_PRIORITY_CMDLINE, error); machine().manager().schedule_new_driver(*s_driver); machine().schedule_hard_reset(); ui_menu::stack_reset(machine()); @@ -2081,7 +2081,7 @@ void ui_bios_selection::handle() { ui_software_info *ui_swinfo = (ui_software_info *)m_driver; std::string error; - machine().options().set_value("bios", elem.second, OPTION_PRIORITY_CMDLINE, error); + machine().options().set_value(OPTION_BIOS, elem.second, OPTION_PRIORITY_CMDLINE, error); driver_enumerator drivlist(machine().options(), *ui_swinfo->driver); drivlist.next(); software_list_device *swlist = software_list_device::find_by_name(drivlist.config(), ui_swinfo->listname.c_str()); diff --git a/src/emu/ui/simpleselgame.cpp b/src/emu/ui/simpleselgame.cpp index e6c4b197e50..73575a21026 100644 --- a/src/emu/ui/simpleselgame.cpp +++ b/src/emu/ui/simpleselgame.cpp @@ -261,7 +261,7 @@ void ui_simple_menu_select_game::populate() // if we're forced into this, allow general input configuration as well if (ui_menu::stack_has_special_main_menu()) { - item_append(MENU_SEPARATOR_ITEM, nullptr, 0, nullptr); + item_append(ui_menu_item_type::SEPARATOR); item_append(_("Configure Options"), nullptr, 0, (void *)1); skip_main_items = 1; } diff --git a/src/emu/ui/sliders.cpp b/src/emu/ui/sliders.cpp index 20cb435233a..53869500eb0 100644 --- a/src/emu/ui/sliders.cpp +++ b/src/emu/ui/sliders.cpp @@ -39,7 +39,7 @@ void ui_menu_sliders::handle() if (menu_event != nullptr) { /* handle keys if there is a valid item selected */ - if (menu_event->itemref != nullptr && menu_event->type == ui_menu_item_type::UI_MENU_ITEM_TYPE_SLIDER) + if (menu_event->itemref != nullptr && menu_event->type == ui_menu_item_type::SLIDER) { const slider_state *slider = (const slider_state *)menu_event->itemref; INT32 curvalue = (*slider->update)(machine(), slider->arg, slider->id, nullptr, SLIDER_NOCHANGE); @@ -143,7 +143,7 @@ void ui_menu_sliders::populate() std::vector ui_sliders = machine().ui().get_slider_list(); for (ui_menu_item item : ui_sliders) { - if (item.type == ui_menu_item_type::UI_MENU_ITEM_TYPE_SLIDER) + if (item.type == ui_menu_item_type::SLIDER) { slider_state* slider = reinterpret_cast(item.ref); INT32 curval = (*slider->update)(machine(), slider->arg, slider->id, &tempstring, SLIDER_NOCHANGE); @@ -152,7 +152,7 @@ void ui_menu_sliders::populate() flags |= MENU_FLAG_LEFT_ARROW; if (curval < slider->maxval) flags |= MENU_FLAG_RIGHT_ARROW; - item_append(slider->description, tempstring.c_str(), flags, (void *)slider, ui_menu_item_type::UI_MENU_ITEM_TYPE_SLIDER); + item_append(slider->description, tempstring.c_str(), flags, (void *)slider, ui_menu_item_type::SLIDER); } else { @@ -160,13 +160,13 @@ void ui_menu_sliders::populate() } } - item_append(MENU_SEPARATOR_ITEM, nullptr, 0, nullptr); + item_append(ui_menu_item_type::SEPARATOR); /* add OSD options */ std::vector osd_sliders = machine().osd().get_slider_list(); for (ui_menu_item item : osd_sliders) { - if (item.type == ui_menu_item_type::UI_MENU_ITEM_TYPE_SLIDER) + if (item.type == ui_menu_item_type::SLIDER) { slider_state* slider = reinterpret_cast(item.ref); INT32 curval = (*slider->update)(machine(), slider->arg, slider->id, &tempstring, SLIDER_NOCHANGE); @@ -175,7 +175,7 @@ void ui_menu_sliders::populate() flags |= MENU_FLAG_LEFT_ARROW; if (curval < slider->maxval) flags |= MENU_FLAG_RIGHT_ARROW; - item_append(slider->description, tempstring.c_str(), flags, (void *)slider, ui_menu_item_type::UI_MENU_ITEM_TYPE_SLIDER); + item_append(slider->description, tempstring.c_str(), flags, (void *)slider, ui_menu_item_type::SLIDER); } else { diff --git a/src/emu/ui/slotopt.cpp b/src/emu/ui/slotopt.cpp index 35c9cab14a7..e6d0a74a452 100644 --- a/src/emu/ui/slotopt.cpp +++ b/src/emu/ui/slotopt.cpp @@ -168,7 +168,7 @@ void ui_menu_slot_devices::populate() item_append(slot->device().tag() + 1, opt_name.c_str(), (slot->fixed() || slot_get_length(slot) == 0) ? 0 : (MENU_FLAG_LEFT_ARROW | MENU_FLAG_RIGHT_ARROW), (void *)slot); } - item_append(MENU_SEPARATOR_ITEM, nullptr, 0, nullptr); + item_append(ui_menu_item_type::SEPARATOR); item_append(_("Reset"), nullptr, 0, (void *)1); } diff --git a/src/emu/ui/sndmenu.cpp b/src/emu/ui/sndmenu.cpp index 52768c09b3a..2bdb835f09b 100644 --- a/src/emu/ui/sndmenu.cpp +++ b/src/emu/ui/sndmenu.cpp @@ -133,7 +133,7 @@ void ui_menu_sound_options::populate() item_append(_("Sound"), m_sound ? _("On") : _("Off"), m_sound ? MENU_FLAG_RIGHT_ARROW : MENU_FLAG_LEFT_ARROW, (void *)(FPTR)ENABLE_SOUND); item_append(_("Sample Rate"), string_format("%d", m_sample_rate).c_str(), arrow_flags, (void *)(FPTR)SAMPLE_RATE); item_append(_("Use External Samples"), m_samples ? _("On") : _("Off"), m_samples ? MENU_FLAG_RIGHT_ARROW : MENU_FLAG_LEFT_ARROW, (void *)(FPTR)ENABLE_SAMPLES); - item_append(MENU_SEPARATOR_ITEM, nullptr, 0, nullptr); + item_append(ui_menu_item_type::SEPARATOR); customtop = machine().ui().get_line_height() + (3.0f * UI_BOX_TB_BORDER); } diff --git a/src/emu/ui/ui.cpp b/src/emu/ui/ui.cpp index 718e73bb9ef..2ad16e99f0c 100644 --- a/src/emu/ui/ui.cpp +++ b/src/emu/ui/ui.cpp @@ -2048,7 +2048,7 @@ std::vector ui_manager::slider_init(running_machine &machine) item.subtext = ""; item.flags = 0; item.ref = slider; - item.type = ui_menu_item_type::UI_MENU_ITEM_TYPE_SLIDER; + item.type = ui_menu_item_type::SLIDER; items.push_back(item); } diff --git a/src/emu/ui/videoopt.cpp b/src/emu/ui/videoopt.cpp index 388ee07981b..f0f54a20702 100644 --- a/src/emu/ui/videoopt.cpp +++ b/src/emu/ui/videoopt.cpp @@ -190,7 +190,7 @@ void ui_menu_video_options::populate() } /* add a separator */ - item_append(MENU_SEPARATOR_ITEM, nullptr, 0, nullptr); + item_append(ui_menu_item_type::SEPARATOR); /* add a rotate item */ switch (target->orientation()) diff --git a/src/osd/modules/debugger/debugint.cpp b/src/osd/modules/debugger/debugint.cpp index 205af4e1f15..d35a931c33e 100644 --- a/src/osd/modules/debugger/debugint.cpp +++ b/src/osd/modules/debugger/debugint.cpp @@ -1355,7 +1355,7 @@ static void CreateMainMenu(running_machine &machine) } menu->item_append(title.append(focus_view->title).c_str(), nullptr, MENU_FLAG_DISABLE, nullptr); - menu->item_append(MENU_SEPARATOR_ITEM, nullptr, 0, nullptr); + menu->item_append(ui_menu_item_type::SEPARATOR); switch (focus_view->type) { @@ -1375,7 +1375,7 @@ static void CreateMainMenu(running_machine &machine) { menu->item_append("CPU", focus_view->view->source()->name(), MENU_FLAG_RIGHT_ARROW, (void *)on_disasm_cpu_activate); } - menu->item_append(MENU_SEPARATOR_ITEM, nullptr, 0, nullptr); + menu->item_append(ui_menu_item_type::SEPARATOR); break; } case DVT_MEMORY: @@ -1399,7 +1399,7 @@ static void CreateMainMenu(running_machine &machine) case 11: subtext = "80-bit floating point"; break; } menu->item_append("Format", subtext, MENU_FLAG_LEFT_ARROW | MENU_FLAG_RIGHT_ARROW, (void *)on_memory_data_format); - menu->item_append(MENU_SEPARATOR_ITEM, nullptr, 0, nullptr); + menu->item_append(ui_menu_item_type::SEPARATOR); break; } } @@ -1411,19 +1411,19 @@ static void CreateMainMenu(running_machine &machine) menu->item_append("New Error Log Window", "[Ctrl+L]", 0, (void *)on_log_window_activate); menu->item_append("New Breakpoints Window", "[Ctrl+B]", 0, (void *)on_bp_window_activate); menu->item_append("New Watchpoints Window", "[Ctrl+W]", 0, (void *)on_wp_window_activate); - menu->item_append(MENU_SEPARATOR_ITEM, nullptr, 0, nullptr); + menu->item_append(ui_menu_item_type::SEPARATOR); menu->item_append("Run", "[F5]", 0, (void *)on_run_activate); menu->item_append("Run and Hide Debugger", "[F12]", 0, (void *)on_run_h_activate); menu->item_append("Run to Next CPU", "[F6]", 0, (void *)on_run_cpu_activate); menu->item_append("Run until Next Interrupt on This CPU", "[F7]", 0, (void *)on_run_irq_activate); menu->item_append("Run until Next VBLANK", "[F8]", 0, (void *)on_run_vbl_activate); - menu->item_append(MENU_SEPARATOR_ITEM, nullptr, 0, nullptr); + menu->item_append(ui_menu_item_type::SEPARATOR); menu->item_append("Step Into", "[F11]", 0, (void *)on_step_into_activate); menu->item_append("Step Over", "[F10]", 0, (void *)on_step_over_activate); - menu->item_append(MENU_SEPARATOR_ITEM, nullptr, 0, nullptr); + menu->item_append(ui_menu_item_type::SEPARATOR); menu->item_append("Soft Reset", "[F3]", 0, (void *)on_soft_reset_activate); menu->item_append("Hard Reset", "[Shift+F3]", 0, (void *)on_hard_reset_activate); - menu->item_append(MENU_SEPARATOR_ITEM, nullptr, 0, nullptr); + menu->item_append(ui_menu_item_type::SEPARATOR); if (!dview_is_state(focus_view, VIEW_STATE_FOLLOW_CPU)) menu->item_append("Close Window", "[Shift+F4]", 0, (void *)on_close_activate); menu->item_append("Exit", nullptr, 0, (void *)on_exit_activate); diff --git a/src/osd/modules/render/bgfx/chainmanager.cpp b/src/osd/modules/render/bgfx/chainmanager.cpp index 25f79e5e456..e243748caac 100644 --- a/src/osd/modules/render/bgfx/chainmanager.cpp +++ b/src/osd/modules/render/bgfx/chainmanager.cpp @@ -373,7 +373,7 @@ void chain_manager::create_selection_slider(uint32_t screen_index) item.subtext = ""; item.flags = 0; item.ref = state; - item.type = ui_menu_item_type::UI_MENU_ITEM_TYPE_SLIDER; + item.type = ui_menu_item_type::SLIDER; m_selection_sliders.push_back(item); } @@ -455,7 +455,7 @@ std::vector chain_manager::get_slider_list() item.subtext = ""; item.flags = 0; item.ref = core_slider; - item.type = ui_menu_item_type::UI_MENU_ITEM_TYPE_SLIDER; + item.type = ui_menu_item_type::SLIDER; m_selection_sliders.push_back(item); sliders.push_back(item); @@ -468,7 +468,7 @@ std::vector chain_manager::get_slider_list() item.subtext = ""; item.flags = 0; item.ref = nullptr; - item.type = ui_menu_item_type::UI_MENU_ITEM_TYPE_SEPARATOR; + item.type = ui_menu_item_type::SEPARATOR; sliders.push_back(item); } diff --git a/src/osd/modules/render/d3d/d3dhlsl.cpp b/src/osd/modules/render/d3d/d3dhlsl.cpp index d89ead8938e..89141c70e77 100644 --- a/src/osd/modules/render/d3d/d3dhlsl.cpp +++ b/src/osd/modules/render/d3d/d3dhlsl.cpp @@ -2530,7 +2530,7 @@ std::vector shaders::init_slider_list() item.subtext = ""; item.flags = 0; item.ref = core_slider; - item.type = ui_menu_item_type::UI_MENU_ITEM_TYPE_SLIDER; + item.type = ui_menu_item_type::SLIDER; sliders.push_back(item); } } From 1e3037baf794f6b0bac46ec75808488942b3df58 Mon Sep 17 00:00:00 2001 From: dankan1890 Date: Fri, 15 Apr 2016 17:48:05 +0200 Subject: [PATCH 017/122] ui: Re-enabled configuration menu for single-machine and added some options. Adding handler for the right mouse button in the main menu, calls the machine configuration. --- src/emu/emuopts.cpp | 4 +- src/emu/emuopts.h | 2 +- src/emu/ui/menu.cpp | 354 ++++++++++++++++------------ src/emu/ui/menu.h | 9 +- src/emu/ui/miscmenu.cpp | 161 ++++++++++--- src/emu/ui/miscmenu.h | 41 ++-- src/emu/ui/selgame.cpp | 20 +- src/emu/ui/selgame.h | 2 +- src/emu/ui/submenu.cpp | 25 +- src/emu/ui/submenu.h | 6 +- src/emu/uiinput.cpp | 30 +++ src/emu/uiinput.h | 4 + src/osd/modules/input/input_sdl.cpp | 21 ++ src/osd/windows/window.cpp | 8 + 14 files changed, 462 insertions(+), 225 deletions(-) diff --git a/src/emu/emuopts.cpp b/src/emu/emuopts.cpp index b3de757e453..d23a03ac479 100644 --- a/src/emu/emuopts.cpp +++ b/src/emu/emuopts.cpp @@ -451,7 +451,7 @@ bool emu_options::parse_command_line(int argc, char *argv[], std::string &error_ // of INI files //------------------------------------------------- -void emu_options::parse_standard_inis(std::string &error_string) +void emu_options::parse_standard_inis(std::string &error_string, const game_driver *driver) { // start with an empty string error_string.clear(); @@ -466,7 +466,7 @@ void emu_options::parse_standard_inis(std::string &error_string) parse_one_ini("debug", OPTION_PRIORITY_DEBUG_INI, &error_string); // if we have a valid system driver, parse system-specific INI files - const game_driver *cursystem = system(); + const game_driver *cursystem = (driver == nullptr) ? system() : driver; if (cursystem == nullptr) return; diff --git a/src/emu/emuopts.h b/src/emu/emuopts.h index 522f128961e..a0e20153241 100644 --- a/src/emu/emuopts.h +++ b/src/emu/emuopts.h @@ -229,7 +229,7 @@ public: // parsing wrappers bool parse_command_line(int argc, char *argv[], std::string &error_string); - void parse_standard_inis(std::string &error_string); + void parse_standard_inis(std::string &error_string, const game_driver *driver = nullptr); bool parse_slot_devices(int argc, char *argv[], std::string &error_string, const char *name = nullptr, const char *value = nullptr, const software_part *swpart = nullptr); // core options diff --git a/src/emu/ui/menu.cpp b/src/emu/ui/menu.cpp index 52c2eba048a..08cb46a703e 100644 --- a/src/emu/ui/menu.cpp +++ b/src/emu/ui/menu.cpp @@ -24,6 +24,7 @@ #include "ui/custmenu.h" #include "ui/icorender.h" #include "ui/toolbar.h" +#include "ui/miscmenu.h" /*************************************************************************** @@ -358,26 +359,25 @@ void ui_menu::item_append(const char *text, const char *subtext, UINT32 flags, v // and returning any interesting events //------------------------------------------------- -const ui_menu_event *ui_menu::process(UINT32 flags) +const ui_menu_event *ui_menu::process(UINT32 flags, float x0, float y0) { // reset the menu_event menu_event.iptkey = IPT_INVALID; // first make sure our selection is valid -// if (!(flags & UI_MENU_PROCESS_NOINPUT)) - validate_selection(1); + validate_selection(1); // draw the menu if (item.size() > 1 && (item[0].flags & MENU_FLAG_MULTILINE) != 0) draw_text_box(); - else if ((item[0].flags & MENU_FLAG_UI ) != 0 || (item[0].flags & MENU_FLAG_UI_SWLIST ) != 0) - draw_select_game(flags & UI_MENU_PROCESS_NOINPUT); - else if ((item[0].flags & MENU_FLAG_UI_PALETTE ) != 0) + else if ((item[0].flags & MENU_FLAG_UI) != 0 || (item[0].flags & MENU_FLAG_UI_SWLIST) != 0) + draw_select_game((flags & UI_MENU_PROCESS_NOINPUT)); + else if ((item[0].flags & MENU_FLAG_UI_PALETTE) != 0) draw_palette_menu(); else if ((item[0].flags & MENU_FLAG_UI_DATS) != 0) draw_dats_menu(); else - draw(flags & UI_MENU_PROCESS_CUSTOM_ONLY, flags & UI_MENU_PROCESS_NOIMAGE, flags & UI_MENU_PROCESS_NOINPUT); + draw(flags, x0, y0); // process input if (!(flags & UI_MENU_PROCESS_NOKEYS) && !(flags & UI_MENU_PROCESS_NOINPUT)) @@ -489,15 +489,18 @@ void ui_menu::set_selection(void *selected_itemref) // draw - draw a menu //------------------------------------------------- -void ui_menu::draw(bool customonly, bool noimage, bool noinput) +void ui_menu::draw(UINT32 flags, float origx0, float origy0) { // first draw the FPS counter if (machine().ui().show_fps_counter()) { machine().ui().draw_text_full(container, machine().video().speed_text().c_str(), 0.0f, 0.0f, 1.0f, - JUSTIFY_RIGHT, WRAP_WORD, DRAW_OPAQUE, ARGB_WHITE, ARGB_BLACK, nullptr, nullptr); + JUSTIFY_RIGHT, WRAP_WORD, DRAW_OPAQUE, ARGB_WHITE, ARGB_BLACK, nullptr, nullptr); } + bool customonly = (flags & UI_MENU_PROCESS_CUSTOM_ONLY); + bool noimage = (flags & UI_MENU_PROCESS_NOIMAGE); + bool noinput = (flags & UI_MENU_PROCESS_NOINPUT); float line_height = machine().ui().get_line_height(); float lr_arrow_width = 0.4f * line_height * machine().render().ui_aspect(); float ud_arrow_width = line_height * machine().render().ui_aspect(); @@ -557,6 +560,38 @@ void ui_menu::draw(bool customonly, bool noimage, bool noinput) float visible_left = (1.0f - visible_width) * 0.5f; float visible_top = (1.0f - (visible_main_menu_height + visible_extra_menu_height)) * 0.5f; +/* float visible_left; + float visible_top; + if (origx0 == 0.0f && origy0 == 0.0f) + { + visible_left = (1.0f - visible_width) * 0.5f; + visible_top = (1.0f - (visible_main_menu_height + visible_extra_menu_height)) * 0.5f; + } + else + { + INT32 mouse_target_x, mouse_target_y; + float m_x, m_y; + render_target *mouse_target = machine().ui_input().find_mouse(&mouse_target_x, &mouse_target_y, &mouse_button); + if (mouse_target != nullptr) + { + if (mouse_target->map_point_container(origx0, origy0, *container, m_x, m_y)) + { + visible_left = m_x; + visible_top = m_y; + } + else + { + visible_left = (1.0f - visible_width) * 0.5f; + visible_top = (1.0f - (visible_main_menu_height + visible_extra_menu_height)) * 0.5f; + } + } + else + { + visible_left = (1.0f - visible_width) * 0.5f; + visible_top = (1.0f - (visible_main_menu_height + visible_extra_menu_height)) * 0.5f; + } + } +*/ // if the menu is at the bottom of the extra, adjust visible_top += customtop; @@ -1427,8 +1462,9 @@ void ui_menu::init_ui(running_machine &machine) // draw main menu //------------------------------------------------- -void ui_menu::draw_select_game(bool noinput) +void ui_menu::draw_select_game(UINT32 flags) { + bool noinput = (flags & UI_MENU_PROCESS_NOINPUT); float line_height = machine().ui().get_line_height(); float ud_arrow_width = line_height * machine().render().ui_aspect(); float gutter_width = 0.52f * ud_arrow_width; @@ -1965,160 +2001,176 @@ void ui_menu::handle_main_events(UINT32 flags) switch (local_menu_event.event_type) { // if we are hovering over a valid item, select it with a single click - case UI_EVENT_MOUSE_DOWN: - { - if (ui_error) + case UI_EVENT_MOUSE_DOWN: { - menu_event.iptkey = IPT_OTHER; - stop = true; + if (ui_error) + { + menu_event.iptkey = IPT_OTHER; + stop = true; + } + else + { + if (hover >= 0 && hover < item.size()) + { + if (hover >= visible_items - 1 && selected < visible_items) + m_prev_selected = item[selected].ref; + selected = hover; + m_focus = focused_menu::main; + } + else if (hover == HOVER_ARROW_UP) + { + selected -= visitems; + if (selected < 0) + selected = 0; + top_line -= visitems - (top_line + visible_lines == visible_items); + set_pressed(); + } + else if (hover == HOVER_ARROW_DOWN) + { + selected += visible_lines - 2 + (selected == 0); + if (selected >= visible_items) + selected = visible_items - 1; + top_line += visible_lines - 2; + set_pressed(); + } + else if (hover == HOVER_UI_RIGHT) + menu_event.iptkey = IPT_UI_RIGHT; + else if (hover == HOVER_UI_LEFT) + menu_event.iptkey = IPT_UI_LEFT; + else if (hover == HOVER_DAT_DOWN) + topline_datsview += right_visible_lines - 1; + else if (hover == HOVER_DAT_UP) + topline_datsview -= right_visible_lines - 1; + else if (hover == HOVER_LPANEL_ARROW) + { + if (ui_globals::panels_status == HIDE_LEFT_PANEL) + ui_globals::panels_status = SHOW_PANELS; + else if (ui_globals::panels_status == HIDE_BOTH) + ui_globals::panels_status = HIDE_RIGHT_PANEL; + else if (ui_globals::panels_status == SHOW_PANELS) + ui_globals::panels_status = HIDE_LEFT_PANEL; + else if (ui_globals::panels_status == HIDE_RIGHT_PANEL) + ui_globals::panels_status = HIDE_BOTH; + } + else if (hover == HOVER_RPANEL_ARROW) + { + if (ui_globals::panels_status == HIDE_RIGHT_PANEL) + ui_globals::panels_status = SHOW_PANELS; + else if (ui_globals::panels_status == HIDE_BOTH) + ui_globals::panels_status = HIDE_LEFT_PANEL; + else if (ui_globals::panels_status == SHOW_PANELS) + ui_globals::panels_status = HIDE_RIGHT_PANEL; + else if (ui_globals::panels_status == HIDE_LEFT_PANEL) + ui_globals::panels_status = HIDE_BOTH; + } + else if (hover == HOVER_B_FAV) + { + menu_event.iptkey = IPT_UI_FAVORITES; + stop = true; + } + else if (hover == HOVER_B_EXPORT) + { + menu_event.iptkey = IPT_UI_EXPORT; + stop = true; + } + else if (hover == HOVER_B_DATS) + { + menu_event.iptkey = IPT_UI_DATS; + stop = true; + } + else if (hover >= HOVER_RP_FIRST && hover <= HOVER_RP_LAST) + { + ui_globals::rpanel = (HOVER_RP_FIRST - hover) * (-1); + stop = true; + } + else if (hover >= HOVER_SW_FILTER_FIRST && hover <= HOVER_SW_FILTER_LAST) + { + l_sw_hover = (HOVER_SW_FILTER_FIRST - hover) * (-1); + menu_event.iptkey = IPT_OTHER; + stop = true; + } + else if (hover >= HOVER_FILTER_FIRST && hover <= HOVER_FILTER_LAST) + { + l_hover = (HOVER_FILTER_FIRST - hover) * (-1); + menu_event.iptkey = IPT_OTHER; + stop = true; + } + } + break; } - else - { + + // if we are hovering over a valid item, fake a UI_SELECT with a double-click + case UI_EVENT_MOUSE_DOUBLE_CLICK: if (hover >= 0 && hover < item.size()) { - if (hover >= visible_items - 1 && selected < visible_items) - m_prev_selected = item[selected].ref; selected = hover; - m_focus = focused_menu::main; + menu_event.iptkey = IPT_UI_SELECT; } - else if (hover == HOVER_ARROW_UP) - { - selected -= visitems; - if (selected < 0) - selected = 0; - top_line -= visitems - (top_line + visible_lines == visible_items); - set_pressed(); - } - else if (hover == HOVER_ARROW_DOWN) - { - selected += visible_lines - 2 + (selected == 0); - if (selected >= visible_items) - selected = visible_items - 1; - top_line += visible_lines - 2; - set_pressed(); - } - else if (hover == HOVER_UI_RIGHT) - menu_event.iptkey = IPT_UI_RIGHT; - else if (hover == HOVER_UI_LEFT) - menu_event.iptkey = IPT_UI_LEFT; - else if (hover == HOVER_DAT_DOWN) - topline_datsview += right_visible_lines - 1; - else if (hover == HOVER_DAT_UP) - topline_datsview -= right_visible_lines - 1; - else if (hover == HOVER_LPANEL_ARROW) - { - if (ui_globals::panels_status == HIDE_LEFT_PANEL) - ui_globals::panels_status = SHOW_PANELS; - else if (ui_globals::panels_status == HIDE_BOTH) - ui_globals::panels_status = HIDE_RIGHT_PANEL; - else if (ui_globals::panels_status == SHOW_PANELS) - ui_globals::panels_status = HIDE_LEFT_PANEL; - else if (ui_globals::panels_status == HIDE_RIGHT_PANEL) - ui_globals::panels_status = HIDE_BOTH; - } - else if (hover == HOVER_RPANEL_ARROW) - { - if (ui_globals::panels_status == HIDE_RIGHT_PANEL) - ui_globals::panels_status = SHOW_PANELS; - else if (ui_globals::panels_status == HIDE_BOTH) - ui_globals::panels_status = HIDE_LEFT_PANEL; - else if (ui_globals::panels_status == SHOW_PANELS) - ui_globals::panels_status = HIDE_RIGHT_PANEL; - else if (ui_globals::panels_status == HIDE_LEFT_PANEL) - ui_globals::panels_status = HIDE_BOTH; - } - else if (hover == HOVER_B_FAV) - { - menu_event.iptkey = IPT_UI_FAVORITES; - stop = true; - } - else if (hover == HOVER_B_EXPORT) - { - menu_event.iptkey = IPT_UI_EXPORT; - stop = true; - } - else if (hover == HOVER_B_DATS) - { - menu_event.iptkey = IPT_UI_DATS; - stop = true; - } - else if (hover >= HOVER_RP_FIRST && hover <= HOVER_RP_LAST) - { - ui_globals::rpanel = (HOVER_RP_FIRST - hover) * (-1); - stop = true; - } - else if (hover >= HOVER_SW_FILTER_FIRST && hover <= HOVER_SW_FILTER_LAST) - { - l_sw_hover = (HOVER_SW_FILTER_FIRST - hover) * (-1); - menu_event.iptkey = IPT_OTHER; - stop = true; - } - else if (hover >= HOVER_FILTER_FIRST && hover <= HOVER_FILTER_LAST) - { - l_hover = (HOVER_FILTER_FIRST - hover) * (-1); - menu_event.iptkey = IPT_OTHER; - stop = true; - } - } - break; - } - // if we are hovering over a valid item, fake a UI_SELECT with a double-click - case UI_EVENT_MOUSE_DOUBLE_CLICK: - if (hover >= 0 && hover < item.size()) - { - selected = hover; - menu_event.iptkey = IPT_UI_SELECT; - } - - if (selected == item.size() - 1) - { - menu_event.iptkey = IPT_UI_CANCEL; - ui_menu::stack_pop(machine()); - } - stop = true; - break; + if (selected == item.size() - 1) + { + menu_event.iptkey = IPT_UI_CANCEL; + ui_menu::stack_pop(machine()); + } + stop = true; + break; // caught scroll event - case UI_EVENT_MOUSE_WHEEL: - if (local_menu_event.zdelta > 0) - { - if (selected >= visible_items || selected == 0 || ui_error) - break; - selected -= local_menu_event.num_lines; - if (selected < top_line + (top_line != 0)) - top_line -= local_menu_event.num_lines; - } - else - { - if (selected >= visible_items - 1 || ui_error) - break; - selected += local_menu_event.num_lines; - if (selected > visible_items - 1) - selected = visible_items - 1; - if (selected >= top_line + visitems + (top_line != 0)) - top_line += local_menu_event.num_lines; - } - break; + case UI_EVENT_MOUSE_WHEEL: + if (hover >= 0 && hover < item.size() - skip_main_items - 1) + { + if (local_menu_event.zdelta > 0) + { + if (selected >= visible_items || selected == 0 || ui_error) + break; + selected -= local_menu_event.num_lines; + if (selected < top_line + (top_line != 0)) + top_line -= local_menu_event.num_lines; + } + else + { + if (selected >= visible_items - 1 || ui_error) + break; + selected += local_menu_event.num_lines; + if (selected > visible_items - 1) + selected = visible_items - 1; + if (selected >= top_line + visitems + (top_line != 0)) + top_line += local_menu_event.num_lines; + } + } + break; // translate CHAR events into specials - case UI_EVENT_CHAR: - if (exclusive_input_pressed(IPT_UI_CONFIGURE, 0)) - { - menu_event.iptkey = IPT_UI_CONFIGURE; - stop = true; - } - else - { - menu_event.iptkey = IPT_SPECIAL; - menu_event.unichar = local_menu_event.ch; - stop = true; - } - break; + case UI_EVENT_CHAR: + if (exclusive_input_pressed(IPT_UI_CONFIGURE, 0)) + { + menu_event.iptkey = IPT_UI_CONFIGURE; + stop = true; + } + else + { + menu_event.iptkey = IPT_SPECIAL; + menu_event.unichar = local_menu_event.ch; + stop = true; + } + break; + + case UI_EVENT_MOUSE_RDOWN: + if (hover >= 0 && hover < item.size() - skip_main_items - 1) + { + selected = hover; + m_prev_selected = item[selected].ref; + m_focus = focused_menu::main; + menu_event.iptkey = IPT_CUSTOM; + menu_event.mouse.x0 = local_menu_event.mouse_x; + menu_event.mouse.y0 = local_menu_event.mouse_y; + stop = true; + } + break; // ignore everything else - default: - break; + default: + break; } } } diff --git a/src/emu/ui/menu.h b/src/emu/ui/menu.h index 7c8aa73a1d8..2b79990f2b8 100644 --- a/src/emu/ui/menu.h +++ b/src/emu/ui/menu.h @@ -70,9 +70,10 @@ enum class ui_menu_item_type struct ui_menu_event { void *itemref; // reference for the selected item - ui_menu_item_type type; // item type (eventually will go away when itemref is proper ui_menu_item class rather than void*) + ui_menu_item_type type; // item type (eventually will go away when itemref is proper ui_menu_item class rather than void*) int iptkey; // one of the IPT_* values from inptport.h unicode_char unichar; // unicode character if iptkey == IPT_SPECIAL + render_bounds mouse; // mouse position if iptkey == IPT_CUSTOM }; struct ui_menu_pool @@ -125,7 +126,7 @@ public: void item_append(ui_menu_item_type type); // process a menu, drawing it and returning any interesting events - const ui_menu_event *process(UINT32 flags); + const ui_menu_event *process(UINT32 flags, float x0 = 0.0f, float y0 = 0.0f); // configure the menu for custom rendering virtual void custom_render(void *selectedref, float top, float bottom, float x, float y, float x2, float y2); @@ -194,7 +195,7 @@ private: bool m_special_main_menu; running_machine &m_machine; // machine we are attached to - void draw(bool customonly, bool noimage, bool noinput); + void draw(UINT32 flags, float x0 = 0.0f, float y0 = 0.0f); void draw_text_box(); void handle_events(UINT32 flags); void handle_keys(UINT32 flags); @@ -296,7 +297,7 @@ private: static render_texture *toolbar_texture[], *sw_toolbar_texture[]; // draw game list - void draw_select_game(bool noinput); + void draw_select_game(UINT32 flags); // draw palette menu void draw_palette_menu(); diff --git a/src/emu/ui/miscmenu.cpp b/src/emu/ui/miscmenu.cpp index 69f36b6cfda..3ae58da9aa4 100644 --- a/src/emu/ui/miscmenu.cpp +++ b/src/emu/ui/miscmenu.cpp @@ -17,6 +17,8 @@ #include "ui/miscmenu.h" #include "ui/utils.h" #include "../info.h" +#include "ui/inifile.h" +#include "ui/submenu.h" /*************************************************************************** MENU HANDLERS @@ -86,7 +88,7 @@ void ui_menu_bios_selection::populate() } } - item_append(MENU_SEPARATOR_ITEM, nullptr, 0, nullptr); + item_append(ui_menu_item_type::SEPARATOR); item_append(_("Reset"), nullptr, 0, (void *)1); } @@ -579,6 +581,7 @@ void ui_menu_export::handle() switch ((FPTR)m_event->itemref) { case 1: + case 3: { if (m_event->iptkey == IPT_UI_SELECT) { @@ -611,7 +614,7 @@ void ui_menu_export::handle() drvlist.include(driver_list::find(*elem)); info_xml_creator creator(drvlist); - creator.output(pfile, false); + creator.output(pfile, ((FPTR)m_event->itemref == 1) ? false : true); fclose(pfile); machine().popmessage(_("%s.xml saved under ui folder."), filename.c_str()); } @@ -671,18 +674,28 @@ void ui_menu_export::handle() void ui_menu_export::populate() { // add options items - item_append(_("Export XML format (like -listxml)"), nullptr, 0, (void *)(FPTR)1); - item_append(_("Export TXT format (like -listfull)"), nullptr, 0, (void *)(FPTR)2); - item_append(MENU_SEPARATOR_ITEM, nullptr, 0, nullptr); + item_append(_("Export list in XML format (like -listxml)"), nullptr, 0, (void *)(FPTR)1); + item_append(_("Export list in XML format (like -listxml, but exclude devices)"), nullptr, 0, (void *)(FPTR)3); + item_append(_("Export list in TXT format (like -listfull)"), nullptr, 0, (void *)(FPTR)2); + item_append(ui_menu_item_type::SEPARATOR); } //------------------------------------------------- // ctor / dtor //------------------------------------------------- -ui_menu_machine_configure::ui_menu_machine_configure(running_machine &machine, render_container *container, const game_driver *prev) - : ui_menu(machine, container), m_drv(prev) +ui_menu_machine_configure::ui_menu_machine_configure(running_machine &machine, render_container *container, const game_driver *prev, float _x0, float _y0) + : ui_menu(machine, container) + , m_drv(prev) + , m_opts(machine.options()) + , x0(_x0) + , y0(_y0) + , m_curbios(0) { + // parse the INI file + std::string error; + m_opts.parse_standard_inis(error, m_drv); + setup_bios(); } ui_menu_machine_configure::~ui_menu_machine_configure() @@ -697,28 +710,54 @@ void ui_menu_machine_configure::handle() { // process the menu ui_menu::menu_stack->parent->process(UI_MENU_PROCESS_NOINPUT); - const ui_menu_event *m_event = process(UI_MENU_PROCESS_NOIMAGE); + const ui_menu_event *m_event = process(UI_MENU_PROCESS_NOIMAGE, x0, y0); if (m_event != nullptr && m_event->itemref != nullptr) { - switch ((FPTR)m_event->itemref) + if (m_event->iptkey == IPT_UI_SELECT) { - case 1: + switch ((FPTR)m_event->itemref) { - if (m_event->iptkey == IPT_UI_SELECT) + case SAVE: { std::string filename(m_drv->name); emu_file file(machine().options().ini_path(), OPEN_FLAG_WRITE | OPEN_FLAG_CREATE); osd_file::error filerr = file.open(filename.c_str(), ".ini"); if (filerr == osd_file::error::NONE) { - std::string inistring = machine().options().output_ini(); + std::string inistring = m_opts.output_ini(); file.puts(inistring.c_str()); + machine().ui().popup_time(2, "%s", _("\n Configuration saved \n\n")); } + break; } - break; + case ADDFAV: + machine().favorite().add_favorite_game(m_drv); + reset(UI_MENU_RESET_REMEMBER_POSITION); + break; + + case DELFAV: + machine().favorite().remove_favorite_game(); + reset(UI_MENU_RESET_REMEMBER_POSITION); + break; + case CONTROLLER: + if (m_event->iptkey == IPT_UI_SELECT) + ui_menu::stack_push(global_alloc_clear(machine(), container, control_submenu_options, m_drv, &m_opts)); + break; + case VIDEO: + if (m_event->iptkey == IPT_UI_SELECT) + ui_menu::stack_push(global_alloc_clear(machine(), container, video_submenu_options, m_drv, &m_opts)); + break; + default: + break; } - default: - break; + } + else if (m_event->iptkey == IPT_UI_LEFT || m_event->iptkey == IPT_UI_RIGHT) + { + (m_event->iptkey == IPT_UI_LEFT) ? --m_curbios : ++m_curbios; + std::string error; + m_opts.set_value(OPTION_BIOS, m_bios[m_curbios].second, OPTION_PRIORITY_CMDLINE, error); + m_opts.mark_changed(OPTION_BIOS); + reset(UI_MENU_RESET_REMEMBER_POSITION); } } } @@ -730,11 +769,27 @@ void ui_menu_machine_configure::handle() void ui_menu_machine_configure::populate() { // add options items - item_append(_("Dummy"), nullptr, 0, (void *)(FPTR)10); - item_append(MENU_SEPARATOR_ITEM, nullptr, 0, nullptr); - item_append(_("Save machine configuration"), nullptr, 0, (void *)(FPTR)1); - item_append(MENU_SEPARATOR_ITEM, nullptr, 0, nullptr); - customtop = machine().ui().get_line_height() + (3.0f * UI_BOX_TB_BORDER); + if (!m_bios.empty()) + { + item_append(_("Bios"), nullptr, MENU_FLAG_DISABLE | MENU_FLAG_UI_HEADING, nullptr); + UINT32 arrows = get_arrow_flags(0, m_bios.size() - 1, m_curbios); + item_append(_("Driver"), m_bios[m_curbios].first.c_str(), arrows, (void *)(FPTR)BIOS); + } + + item_append(ui_menu_item_type::SEPARATOR); + item_append(_(video_submenu_options[0].description), nullptr, 0, (void *)(FPTR)VIDEO); + item_append(_(control_submenu_options[0].description), nullptr, 0, (void *)(FPTR)CONTROLLER); + item_append(ui_menu_item_type::SEPARATOR); + + if (!machine().favorite().isgame_favorite(m_drv)) + item_append(_("Add To Favorites"), nullptr, 0, (void *)ADDFAV); + else + item_append(_("Remove From Favorites"), nullptr, 0, (void *)DELFAV); + + item_append(ui_menu_item_type::SEPARATOR); + item_append(_("Save machine configuration"), nullptr, 0, (void *)(FPTR)SAVE); + item_append(ui_menu_item_type::SEPARATOR); + customtop = 2.0f * machine().ui().get_line_height() + 3.0f * UI_BOX_TB_BORDER; } //------------------------------------------------- @@ -745,14 +800,23 @@ void ui_menu_machine_configure::custom_render(void *selectedref, float top, floa { float width; ui_manager &mui = machine().ui(); + std::string text[2]; + float maxwidth = origx2 - origx1; - mui.draw_text_full(container, m_drv->description, 0.0f, 0.0f, 1.0f, JUSTIFY_CENTER, WRAP_TRUNCATE, - DRAW_NONE, ARGB_WHITE, ARGB_BLACK, &width, nullptr); - width += 2 * UI_BOX_LR_BORDER; - float maxwidth = MAX(origx2 - origx1, width); + text[0] = _("Configure machine:"); + text[1] = m_drv->description; + + for (auto & elem : text) + { + mui.draw_text_full(container, elem.c_str(), 0.0f, 0.0f, 1.0f, JUSTIFY_CENTER, WRAP_TRUNCATE, + DRAW_NONE, ARGB_WHITE, ARGB_BLACK, &width, nullptr); + width += 2 * UI_BOX_LR_BORDER; + maxwidth = MAX(maxwidth, width); + } // compute our bounds float x1 = 0.5f - 0.5f * maxwidth; +// float x1 = origx1; float x2 = x1 + maxwidth; float y1 = origy1 - top; float y2 = origy1 - UI_BOX_TB_BORDER; @@ -766,8 +830,51 @@ void ui_menu_machine_configure::custom_render(void *selectedref, float top, floa y1 += UI_BOX_TB_BORDER; // draw the text within it - mui.draw_text_full(container, m_drv->description, x1, y1, x2 - x1, JUSTIFY_CENTER, WRAP_TRUNCATE, - DRAW_NORMAL, UI_TEXT_COLOR, UI_TEXT_BG_COLOR, nullptr, nullptr); + for (auto & elem : text) + { + mui.draw_text_full(container, elem.c_str(), x1, y1, x2 - x1, JUSTIFY_CENTER, WRAP_TRUNCATE, + DRAW_NORMAL, UI_TEXT_COLOR, UI_TEXT_BG_COLOR, nullptr, nullptr); + y1 += mui.get_line_height(); + } +} + +void ui_menu_machine_configure::setup_bios() +{ + if (m_drv->rom == nullptr) + return; + + std::string specbios(m_opts.bios()); + std::string default_name; + for (const rom_entry *rom = m_drv->rom; !ROMENTRY_ISEND(rom); ++rom) + if (ROMENTRY_ISDEFAULT_BIOS(rom)) + default_name = ROM_GETNAME(rom); + + int bios_count = 0; + for (const rom_entry *rom = m_drv->rom; !ROMENTRY_ISEND(rom); ++rom) + { + if (ROMENTRY_ISSYSTEM_BIOS(rom)) + { + std::string name(ROM_GETHASHDATA(rom)); + std::string biosname(ROM_GETNAME(rom)); + int bios_flags = ROM_GETBIOSFLAGS(rom); + std::string bios_number = std::to_string(bios_flags - 1); + + // check biosnumber and name + if (bios_number == specbios || biosname == specbios) + m_curbios = bios_count; + + if (biosname == default_name) + { + name.append(_(" (default)")); + if (specbios == "default") + m_curbios = bios_count; + } + + m_bios.emplace_back(name, bios_flags - 1); + bios_count++; + } + } + } //------------------------------------------------- @@ -830,7 +937,7 @@ void ui_menu_plugins_configure::populate() enabled ? MENU_FLAG_RIGHT_ARROW : MENU_FLAG_LEFT_ARROW, (void *)(FPTR)curentry.name()); } } - item_append(MENU_SEPARATOR_ITEM, nullptr, 0, nullptr); + item_append(ui_menu_item_type::SEPARATOR); customtop = machine().ui().get_line_height() + (3.0f * UI_BOX_TB_BORDER); } diff --git a/src/emu/ui/miscmenu.h b/src/emu/ui/miscmenu.h index 00a7ccf4edc..c8881cbaf8d 100644 --- a/src/emu/ui/miscmenu.h +++ b/src/emu/ui/miscmenu.h @@ -15,6 +15,8 @@ #include "drivenum.h" #include "crsshair.h" +#include "emuopts.h" +#include "ui/selsoft.h" class ui_menu_keyboard_mode : public ui_menu { public: @@ -85,28 +87,6 @@ public: virtual void handle() override; }; -//------------------------------------------------- -// class miscellaneous options menu -//------------------------------------------------- -class ui_menu_misc_options : public ui_menu -{ -public: - ui_menu_misc_options(running_machine &machine, render_container *container); - virtual ~ui_menu_misc_options(); - virtual void populate() override; - virtual void handle() override; - virtual void custom_render(void *selectedref, float top, float bottom, float x, float y, float x2, float y2) override; - -private: - struct misc_option - { - bool status; - const char *description; - const char *option; - }; - - static misc_option m_options[]; -}; //------------------------------------------------- // export menu @@ -131,14 +111,29 @@ private: class ui_menu_machine_configure : public ui_menu { public: - ui_menu_machine_configure(running_machine &machine, render_container *container, const game_driver *prev); + ui_menu_machine_configure(running_machine &machine, render_container *container, const game_driver *prev, float x0 = 0.0f, float y0 = 0.0f); virtual ~ui_menu_machine_configure(); virtual void populate() override; virtual void handle() override; virtual void custom_render(void *selectedref, float top, float bottom, float x, float y, float x2, float y2) override; private: + enum + { + ADDFAV = 1, + DELFAV, + SAVE, + CONTROLLER, + VIDEO, + BIOS, + LAST = BIOS + }; const game_driver *m_drv; + emu_options m_opts; + float x0, y0; + s_bios m_bios; + int m_curbios; + void setup_bios(); }; //------------------------------------------------- diff --git a/src/emu/ui/selgame.cpp b/src/emu/ui/selgame.cpp index daaa072f9ef..a0c7f02fead 100644 --- a/src/emu/ui/selgame.cpp +++ b/src/emu/ui/selgame.cpp @@ -228,6 +228,13 @@ void ui_menu_select_game::handle() } } + // handle IPT_CUSTOM (mouse right click) + else if (m_event->iptkey == IPT_CUSTOM) + { + if (!isfavorite()) + ui_menu::stack_push(global_alloc_clear(machine(), container, (const game_driver *)m_prev_selected, m_event->mouse.x0, m_event->mouse.y0)); + } + // handle UI_LEFT else if (m_event->iptkey == IPT_UI_LEFT) { @@ -425,8 +432,9 @@ void ui_menu_select_game::handle() inkey_special(m_event); else if (m_event->iptkey == IPT_UI_CONFIGURE) inkey_configure(m_event); - else if (m_event->iptkey == IPT_UI_SELECT && m_focus == focused_menu::left) + else if (m_event->iptkey == IPT_OTHER) { + m_focus = focused_menu::left; m_prev_selected = nullptr; l_hover = highlight; check_filter = true; @@ -585,8 +593,8 @@ void ui_menu_select_game::populate() { UINT32 flags_ui = MENU_FLAG_UI | MENU_FLAG_LEFT_ARROW | MENU_FLAG_RIGHT_ARROW; item_append(_("Configure Options"), nullptr, flags_ui, (void *)(FPTR)CONF_OPTS); -// item_append(_("Configure Machine"), nullptr, flags_ui, (void *)(FPTR)CONF_MACHINE); TODO - skip_main_items = 1; + item_append(_("Configure Machine"), nullptr, flags_ui, (void *)(FPTR)CONF_MACHINE); + skip_main_items = 2; if (machine().options().plugins()) { item_append(_("Plugins"), nullptr, flags_ui, (void *)(FPTR)CONF_PLUGINS); @@ -1011,14 +1019,16 @@ void ui_menu_select_game::inkey_select(const ui_menu_event *m_event) // special case for configure options if ((FPTR)driver == CONF_OPTS) ui_menu::stack_push(global_alloc_clear(machine(), container)); - /* special case for configure machine TODO + + // special case for configure machine else if ((FPTR)driver == CONF_MACHINE) { if (m_prev_selected != nullptr) ui_menu::stack_push(global_alloc_clear(machine(), container, (const game_driver *)m_prev_selected)); else return; - } */ + } + // special case for configure plugins else if ((FPTR)driver == CONF_PLUGINS) { diff --git a/src/emu/ui/selgame.h b/src/emu/ui/selgame.h index 11dee880927..06401d3523d 100644 --- a/src/emu/ui/selgame.h +++ b/src/emu/ui/selgame.h @@ -40,7 +40,7 @@ private: enum { CONF_OPTS = 1, -// CONF_MACHINE, + CONF_MACHINE, CONF_PLUGINS, }; diff --git a/src/emu/ui/submenu.cpp b/src/emu/ui/submenu.cpp index a06d75adb83..ae85db7d7a8 100644 --- a/src/emu/ui/submenu.cpp +++ b/src/emu/ui/submenu.cpp @@ -19,17 +19,24 @@ // ctor / dtor //------------------------------------------------- -ui_submenu::ui_submenu(running_machine &machine, render_container *container, std::vector &suboptions) - : ui_menu(machine, container), - m_options(suboptions) +ui_submenu::ui_submenu(running_machine &machine, render_container *container, std::vector &suboptions, const game_driver *drv, emu_options *options) + : ui_menu(machine, container) + , m_options(suboptions) + , m_driver(drv) { + core_options *opts = nullptr; + if (m_driver == nullptr) + opts = dynamic_cast(&machine.options()); + else + opts = dynamic_cast(options); + for (auto & sm_option : m_options) { switch (sm_option.type) { case ui_submenu::EMU: - sm_option.entry = machine.options().get_entry(sm_option.name); - sm_option.options = dynamic_cast(&machine.options()); + sm_option.entry = opts->get_entry(sm_option.name); + sm_option.options = opts; if (sm_option.entry->type() == OPTION_STRING) { sm_option.value.clear(); @@ -52,8 +59,8 @@ ui_submenu::ui_submenu(running_machine &machine, render_container *container, st } break; case ui_submenu::OSD: - sm_option.entry = machine.options().get_entry(sm_option.name); - sm_option.options = dynamic_cast(&machine.options()); + sm_option.entry = opts->get_entry(sm_option.name); + sm_option.options = opts; if (sm_option.entry->type() == OPTION_STRING) { sm_option.value.clear(); @@ -208,7 +215,7 @@ void ui_submenu::populate() item_append(_(sm_option->description), nullptr, MENU_FLAG_DISABLE | MENU_FLAG_UI_HEADING, nullptr); break; case ui_submenu::SEP: - item_append(MENU_SEPARATOR_ITEM, nullptr, 0, nullptr); + item_append(ui_menu_item_type::SEPARATOR); break; case ui_submenu::CMD: item_append(_(sm_option->description), nullptr, 0, static_cast(&(*sm_option))); @@ -292,7 +299,7 @@ void ui_submenu::populate() } } - item_append(MENU_SEPARATOR_ITEM, nullptr, 0, nullptr); + item_append(ui_menu_item_type::SEPARATOR); custombottom = customtop = machine().ui().get_line_height() + (3.0f * UI_BOX_TB_BORDER); } diff --git a/src/emu/ui/submenu.h b/src/emu/ui/submenu.h index 3e25ba18c94..8168ab4bb7a 100644 --- a/src/emu/ui/submenu.h +++ b/src/emu/ui/submenu.h @@ -46,7 +46,7 @@ public: std::vector value; }; - ui_submenu(running_machine &machine, render_container *container, std::vector &suboptions); + ui_submenu(running_machine &machine, render_container *container, std::vector &suboptions, const game_driver *drv = nullptr, emu_options *options = nullptr); virtual ~ui_submenu(); virtual void populate() override; virtual void handle() override; @@ -54,6 +54,7 @@ public: private: std::vector