Skip to content

A single header JSON library that leverages metaprogramming

License

Notifications You must be signed in to change notification settings

GraysonSpidle/const_json

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

const_json

Why?

I've made quite a few JSON parsers, but all of their results included stuff from the library. Then that crap propagates throughout your codebase and it becomes a mess. You know what I'm talking about if you've ever made a project using something like qt. So I asked myself:

Can you make a JSON parser that returns a result which contains no third party stuff?

And thus this silly repo was born.

So to answer the first posed question: I made this for fun. The second question's answer is clearly evident.

Please Don't Use This In A Professional Codebase

Though the license does permit this, I strongly advise you pick a different library. This library will make maintenance of code soooo much more frustrating. Trust me. Turn. Back. Now.

Installation

Requires: C++20
Tested compilers: msvc

const_json is a one header file library. Simply include the const_json.h header file in your project and you're good to go!

Additionally, I have included a python script that will convert a sample JSON output into a schema that you can copy and paste into your C++ code. It isn't of the highest quality, but it's better than nothing.

Example

Here's a code example:

#include <iostream>
#include <string>
#include <sstream>
#include "const_json.h"

int main() {
	std::string stuff = R"---({ "test" : [1.0, 123131,"2346",3.0,],
"another": false, "tryingToBreakIt": null, "onemore": { "innerObject":{"id":1}, "innerArray": [1,2,3,4]}})---";

	SPIDLE_CONST_JSON_USING;

	using ComplicatedArray = Array<"test", Int_, String_, Double_, Int_>;
	using InnerObject = Object<"innerObject", Int<"id">>;
	using InnerArray = Array<"innerArray", Int_>;
	using ComplicatedObject = Object<"onemore", InnerObject, InnerArray>;
	using JsonSchema = Object_<
		ComplicatedArray,
		Variant<"another", Bool_, Int_>,
		ComplicatedObject,
		Optional<Double<"willNotBeThere">>
	>;

	typename JsonSchema::rettype::value_type::second_type s;

	std::istringstream iss{ stuff };
	typename JsonSchema::rettype v2;
	try {
		v2 = const_json::parse<JsonSchema>(iss);
	}
	catch (const_json::err::NotAllMembersPresentError& e) {
		std::cout << "Not all members were present!" << std::endl;
		std::cout << e.path << std::endl;
		for (auto it = e.membersAbsent.begin(); it != e.membersAbsent.end(); ++it) {
			std::cout << '\t' << *it << std::endl;
		}
		return 1;
	}
	catch (const_json::err::BadTypeError& e) {
		std::cout << "Unexpected type for " << e.path << std::endl;
		std::cout << "Expected: " << e.expected.name() << std::endl;
		return 1;
	}
	catch (const_json::err::MalformedInputError) {
		std::cout << "Malformed Input Error at char: " << static_cast<size_t>(iss.tellg()) << std::endl;
		return 1;
	}

	// Example of doing something with an array member in the result

	auto testArray = std::get<typename ComplicatedArray::rettype>(v2["test"]);
	for (auto it = testArray.begin(); it != testArray.end(); ++it) {
		if (std::holds_alternative<intmax_t>(*it)) {
			std::cout << std::get<intmax_t>(*it) << std::endl;
		}
		else if (std::holds_alternative<double>(*it)) {
			std::cout << std::fixed << std::get<double>(*it) << std::endl;
		}
		else if (std::holds_alternative<std::string>(*it)) {
			std::cout << std::get<std::string>(*it) << std::endl;
		}
		else // This won't happen
			continue;
	}

	// Example of doing something with an object member in the result

	auto onemore = std::get<typename ComplicatedObject::rettype>(v2["onemore"]);
	auto innerObj = std::get<typename InnerObject::rettype>(onemore["innerObject"]);
	innerObj["id"] = 1234;
	auto innerArray = std::get<typename InnerArray::rettype>(onemore["innerArray"]);
	for (auto it = innerArray.begin(); it != innerArray.end(); ++it) {
		*it = 5;
	}

	// Writing it all to a string
	constexpr const_json::Formatting fmt = const_json::Formatting {
		const_json::Formatting::IndentStyle::Spaces,
		const_json::Formatting::IndentSize{4}
	};

	std::ostringstream oss;
	oss << std::fixed;

	const_json::dump<JsonSchema, fmt>(v2, oss);
	
	std::cout << oss.str() << std::endl;
}

How does it work?

Each JSON type has its own struct, which all require a string literal as a template parameter. This string literal is used as the name. An empty string can be accepted, however, you should only do this for root JSON types or if the JSON type is in an Array. Speaking of Arrays, the Object, Array, and Variant structs are the only ones that require additional template parameters beyond the name. Adding more JSON types to these will inform the library what to look for and what to add to the resulting rettype. Each JSON type has a type alias called rettype, which is the type it becomes when the library builds the final type to return.

If you add more than 1 JSON type to an Object or Array, then its rettype will become an std::variant. Unless you use the Variant struct from the library (more on that later).

In the code example above, you'll notice some JSON types are suffixed with an underscore. Those are templated type aliases which are there for convenience so you don't have to constantly write things like Int<"">. This is quite useful in the unlikely event you need multiple types for an Array.

These aliases don't accept any template params (except for Object and Array which still accept typename template params).

Don't use anything in the const_json::util namespace

Those are supposed to be "private" but since this is a one header file library, I gotta put them somewhere.

Features & Guarantees

Members' Presence & Type

Consider:

using ExampleSchema = Object_<String<"name">, Int<"id">>;
typename ExampleSchema::rettype v = const_json::parse<ExampleSchema>(someIStream);
// Ignore the lack of error handling for this example

The library guarantees the presence of members name and id inside v and it guarantees their respective types. Despite ExampleSchema::rettype being an std::map<std::string, std::variant<std::string, intmax_t>>, v["name"] will always have an std::string in the std::variant and v["id"] will always have an intmax_t in the std::variant.

An error would be thrown during the function's execution if it was unable to read those members as their respective types or if not all names are present.

Optional

Not to be confused with std::optional, this helper struct allows you to specify if a member shouldn't be included in the presence check. This struct does not cause an std::optional to be added to the resulting type. Consider ExampleSchema from the above example:

using ExampleSchema = Object_<String<"name">, Int<"id">>;
using ExampleSchema2 = Object_<String<"name">, Optional<Int<"id">>>;
static_assert(std::is_same_v<typename ExampleSchema::rettype, typename ExampleSchema2::rettype>);

Putting any JSON type in an Optional will effectively require you to manually check if it's present. However, the library does still guarantee (provided that the member is present) the member's type.

Variant

Not to be confused with std::variant, this helper struct allows you (for whatever reason) to indicate that a member could be multiple types. Unlike Optional, this does cause an std::variant to be added to the resulting type regardless of how many types you give Variant. This can be used to side step the library's default behavior of removing std::variant if there is no more than 1 (unique) type, which can be useful for avoiding refactoring headaches. Consider this example:

using ExampleSchema3 = Object_<String<"name">, Variant<"id", Int_, String_>>;
auto v = const_json::parse<ExampleSchema3>(someIStream);
// Ignore the lack of error handling for this example
// v["id"] will be an std::variant<std::string, std::variant<intmax_t, std::string>>
// as opposed to ExampleSchema's std::variant<std::string, intmax_t>

Note: You should not use names for the types within the Variant, the library will ignore them. The only name that matters is the one for the Variant.

Don't use these within Arrays, because Array already has this functionality built into it.

Support for wider chars

Support for different char types depends on std's support for them. If std supports them, then this will too. You can change the library's char type by changing the chartype type alias which is located at the top of the const_json namespace definition.

Formatted Output

The library is capable of prettifying its JSON serialized output. However, it is very basic. Here is an example:

using ExampleSchema = Object_<String<"name">, Int<"id">>;
constexpr const_json::Formatting fmt = {
	const_json::Formatting::IndentStyle::Tabs,
	const_json::Formatting::IndentSize{1}
};
// or 
constexpr const_json::Formatting fmt2 = {
	const_json::Formatting::IndentStyle::Spaces,
	const_json::Formatting::IndentSize{4}
};

typename ExampleSchema::rettype value; // pretend this actually has stuff in it
const_json::dump<ExampleSchema, fmt>(value, std::cout);
std::cout << '\n';
const_json::dump<ExampleSchema, fmt2>(value, std::cout);

By default, the library will "minify" JSON output.

Longer Compilation Times

Another feature is a substantial increase in compile times (proportional to how complicated your JSON schemas are). This is billed as a feature because it allows you to go touch grass or (God forbid you actually use this in any enterprise codebase) gives you a legit excuse for slacking off at work. You're welcome.

Unreadable Compiler Error Messages

If you've ever worked with C++ templates, then you know exactly what I mean. Instead this time, it's even worse. For those naĂŻve souls who think it can't be that bad, then I bid you to behold this example:

error C2664: 'void test(int)': cannot convert argument 1 from 'std::map<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::vector<std::variant<std::map<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::map<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::vector<std::variant<std::map<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::allocator<std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>>>>>,std::allocator<std::variant<std::map<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::allocator<std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>>>>>>>,std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::vector<std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::allocator<std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>>>,bool>,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::allocator<std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::vector<std::variant<std::map<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::allocator<std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>>>>>,std::allocator<std::variant<std::map<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::allocator<std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>>>>>>>,std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::vector<std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::allocator<std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>>>,bool>>>>,std::map<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::allocator<std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>>>>,std::map<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::vector<std::variant<std::map<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::allocator<std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>>>>>,std::allocator<std::variant<std::map<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::allocator<std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>>>>>>>,bool>,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::allocator<std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::vector<std::variant<std::map<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::allocator<std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>>>>>,std::allocator<std::variant<std::map<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::allocator<std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>>>>>>>,bool>>>>,std::map<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,bool,std::vector<std::variant<std::map<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<__int64,std::basic_string<char,std::char_traits<char>,std::allocator<char>>,bool>,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::allocator<std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<__int64,std::basic_string<char,std::char_traits<char>,std::allocator<char>>,bool>>>>>,std::allocator<std::variant<std::map<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<__int64,std::basic_string<char,std::char_traits<char>,std::allocator<char>>,bool>,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::allocator<std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<__int64,std::basic_string<char,std::char_traits<char>,std::allocator<char>>,bool>>>>>>>,__int64,std::vector<std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::allocator<std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>>>,std::vector<std::variant<std::map<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::allocator<std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>>>>>,std::allocator<std::variant<std::map<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::allocator<std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>>>>>>>>,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::allocator<std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,bool,std::vector<std::variant<std::map<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<__int64,std::basic_string<char,std::char_traits<char>,std::allocator<char>>,bool>,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::allocator<std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<__int64,std::basic_string<char,std::char_traits<char>,std::allocator<char>>,bool>>>>>,std::allocator<std::variant<std::map<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<__int64,std::basic_string<char,std::char_traits<char>,std::allocator<char>>,bool>,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::allocator<std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<__int64,std::basic_string<char,std::char_traits<char>,std::allocator<char>>,bool>>>>>>>,__int64,std::vector<std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::allocator<std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>>>,std::vector<std::variant<std::map<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::allocator<std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>>>>>,std::allocator<std::variant<std::map<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::allocator<std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>>>>>>>>>>>,std::map<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<bool,std::vector<std::variant<std::map<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,__int64>,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::allocator<std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,__int64>>>>>,std::allocator<std::variant<std::map<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,__int64>,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::allocator<std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,__int64>>>>>>>,std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::allocator<std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<bool,std::vector<std::variant<std::map<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,__int64>,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::allocator<std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,__int64>>>>>,std::allocator<std::variant<std::map<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,__int64>,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::allocator<std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,__int64>>>>>>>,std::basic_string<char,std::char_traits<char>,std::allocator<char>>>>>>,std::map<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::vector<std::variant<std::map<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,__int64>,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::allocator<std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,__int64>>>>>,std::allocator<std::variant<std::map<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,__int64>,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::allocator<std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,__int64>>>>>>>,std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::allocator<std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::vector<std::variant<std::map<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,__int64>,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::allocator<std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,__int64>>>>>,std::allocator<std::variant<std::map<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,__int64>,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::allocator<std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,__int64>>>>>>>,std::basic_string<char,std::char_traits<char>,std::allocator<char>>>>>>,std::map<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::vector<std::variant<std::map<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::allocator<std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>>>>>,std::allocator<std::variant<std::map<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::allocator<std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>>>>>>>>,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::allocator<std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::vector<std::variant<std::map<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::allocator<std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>>>>>,std::allocator<std::variant<std::map<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::allocator<std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>>>>>>>>>>>,std::map<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::vector<std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::allocator<std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>>>,bool>,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::allocator<std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::vector<std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::allocator<std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>>>,bool>>>>,std::map<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::vector<std::variant<std::map<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::allocator<std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>>>>,std::vector<std::variant<std::map<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,bool>,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::allocator<std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,bool>>>>>,std::allocator<std::variant<std::map<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,bool>,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::allocator<std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,bool>>>>>>>>,std::allocator<std::variant<std::map<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::allocator<std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>>>>,std::vector<std::variant<std::map<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,bool>,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::allocator<std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,bool>>>>>,std::allocator<std::variant<std::map<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,bool>,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::allocator<std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,bool>>>>>>>>>>,bool>,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::allocator<std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::vector<std::variant<std::map<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::allocator<std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>>>>,std::vector<std::variant<std::map<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,bool>,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::allocator<std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,bool>>>>>,std::allocator<std::variant<std::map<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,bool>,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::allocator<std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,bool>>>>>>>>,std::allocator<std::variant<std::map<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::allocator<std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>>>>,std::vector<std::variant<std::map<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,bool>,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::allocator<std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,bool>>>>>,std::allocator<std::variant<std::map<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,bool>,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::allocator<std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,bool>>>>>>>>>>,bool>>>>,std::vector<std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::allocator<std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>>>,bool,std::vector<std::variant<std::map<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,__int64>,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::allocator<std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,__int64>>>>,std::vector<std::variant<std::map<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::allocator<std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>>>>>,std::allocator<std::variant<std::map<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::allocator<std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>>>>>>>,std::map<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<bool,std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::allocator<std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<bool,std::basic_string<char,std::char_traits<char>,std::allocator<char>>>>>>>,std::allocator<std::variant<std::map<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,__int64>,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::allocator<std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,__int64>>>>,std::vector<std::variant<std::map<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::allocator<std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>>>>>,std::allocator<std::variant<std::map<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::allocator<std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>>>>>>>,std::map<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<bool,std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::allocator<std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<bool,std::basic_string<char,std::char_traits<char>,std::allocator<char>>>>>>>>>>,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::allocator<std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::map<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::vector<std::variant<std::map<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::allocator<std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>>>>>,std::allocator<std::variant<std::map<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::allocator<std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>>>>>>>,std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::vector<std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::allocator<std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>>>,bool>,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::allocator<std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::vector<std::variant<std::map<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::allocator<std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>>>>>,std::allocator<std::variant<std::map<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::allocator<std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>>>>>>>,std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::vector<std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::allocator<std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>>>,bool>>>>,std::map<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::allocator<std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>>>>,std::map<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::vector<std::variant<std::map<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::allocator<std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>>>>>,std::allocator<std::variant<std::map<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::allocator<std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>>>>>>>,bool>,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::allocator<std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::vector<std::variant<std::map<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::allocator<std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>>>>>,std::allocator<std::variant<std::map<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::allocator<std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>>>>>>>,bool>>>>,std::map<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,bool,std::vector<std::variant<std::map<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<__int64,std::basic_string<char,std::char_traits<char>,std::allocator<char>>,bool>,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::allocator<std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<__int64,std::basic_string<char,std::char_traits<char>,std::allocator<char>>,bool>>>>>,std::allocator<std::variant<std::map<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<__int64,std::basic_string<char,std::char_traits<char>,std::allocator<char>>,bool>,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::allocator<std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<__int64,std::basic_string<char,std::char_traits<char>,std::allocator<char>>,bool>>>>>>>,__int64,std::vector<std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::allocator<std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>>>,std::vector<std::variant<std::map<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::allocator<std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>>>>>,std::allocator<std::variant<std::map<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::allocator<std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>>>>>>>>,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::allocator<std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,bool,std::vector<std::variant<std::map<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<__int64,std::basic_string<char,std::char_traits<char>,std::allocator<char>>,bool>,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::allocator<std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<__int64,std::basic_string<char,std::char_traits<char>,std::allocator<char>>,bool>>>>>,std::allocator<std::variant<std::map<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<__int64,std::basic_string<char,std::char_traits<char>,std::allocator<char>>,bool>,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::allocator<std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<__int64,std::basic_string<char,std::char_traits<char>,std::allocator<char>>,bool>>>>>>>,__int64,std::vector<std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::allocator<std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>>>,std::vector<std::variant<std::map<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::allocator<std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>>>>>,std::allocator<std::variant<std::map<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::allocator<std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>>>>>>>>>>>,std::map<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<bool,std::vector<std::variant<std::map<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,__int64>,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::allocator<std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,__int64>>>>>,std::allocator<std::variant<std::map<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,__int64>,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::allocator<std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,__int64>>>>>>>,std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::allocator<std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<bool,std::vector<std::variant<std::map<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,__int64>,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::allocator<std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,__int64>>>>>,std::allocator<std::variant<std::map<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,__int64>,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::allocator<std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,__int64>>>>>>>,std::basic_string<char,std::char_traits<char>,std::allocator<char>>>>>>,std::map<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::vector<std::variant<std::map<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,__int64>,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::allocator<std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,__int64>>>>>,std::allocator<std::variant<std::map<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,__int64>,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::allocator<std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,__int64>>>>>>>,std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::allocator<std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::vector<std::variant<std::map<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,__int64>,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::allocator<std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,__int64>>>>>,std::allocator<std::variant<std::map<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,__int64>,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::allocator<std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,__int64>>>>>>>,std::basic_string<char,std::char_traits<char>,std::allocator<char>>>>>>,std::map<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::vector<std::variant<std::map<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::allocator<std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>>>>>,std::allocator<std::variant<std::map<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::allocator<std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>>>>>>>>,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::allocator<std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::vector<std::variant<std::map<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::allocator<std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>>>>>,std::allocator<std::variant<std::map<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::allocator<std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>>>>>>>>>>>,std::map<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::vector<std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::allocator<std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>>>,bool>,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::allocator<std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::vector<std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::allocator<std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>>>,bool>>>>,std::map<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::vector<std::variant<std::map<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::allocator<std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>>>>,std::vector<std::variant<std::map<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,bool>,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::allocator<std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,bool>>>>>,std::allocator<std::variant<std::map<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,bool>,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::allocator<std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,bool>>>>>>>>,std::allocator<std::variant<std::map<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::allocator<std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>>>>,std::vector<std::variant<std::map<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,bool>,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::allocator<std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,bool>>>>>,std::allocator<std::variant<std::map<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,bool>,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::allocator<std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,bool>>>>>>>>>>,bool>,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::allocator<std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::vector<std::variant<std::map<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::allocator<std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>>>>,std::vector<std::variant<std::map<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,bool>,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::allocator<std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,bool>>>>>,std::allocator<std::variant<std::map<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,bool>,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::allocator<std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,bool>>>>>>>>,std::allocator<std::variant<std::map<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::allocator<std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>>>>,std::vector<std::variant<std::map<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,bool>,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::allocator<std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,bool>>>>>,std::allocator<std::variant<std::map<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,bool>,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::allocator<std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,bool>>>>>>>>>>,bool>>>>,std::vector<std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::allocator<std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>>>,bool,std::vector<std::variant<std::map<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,__int64>,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::allocator<std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,__int64>>>>,std::vector<std::variant<std::map<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::allocator<std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>>>>>,std::allocator<std::variant<std::map<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::allocator<std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>>>>>>>,std::map<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<bool,std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::allocator<std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<bool,std::basic_string<char,std::char_traits<char>,std::allocator<char>>>>>>>,std::allocator<std::variant<std::map<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,__int64>,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::allocator<std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,__int64>>>>,std::vector<std::variant<std::map<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::allocator<std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>>>>>,std::allocator<std::variant<std::map<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::allocator<std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>>>>>>>,std::map<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<bool,std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::allocator<std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<bool,std::basic_string<char,std::char_traits<char>,std::allocator<char>>>>>>>>>>>>>>,std::allocator<std::variant<std::map<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::map<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::vector<std::variant<std::map<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::allocator<std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>>>>>,std::allocator<std::variant<std::map<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::allocator<std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>>>>>>>,std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::vector<std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::allocator<std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>>>,bool>,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::allocator<std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::vector<std::variant<std::map<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::allocator<std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>>>>>,std::allocator<std::variant<std::map<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::allocator<std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>>>>>>>,std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::vector<std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::allocator<std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>>>,bool>>>>,std::map<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::allocator<std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>>>>,std::map<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::vector<std::variant<std::map<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::allocator<std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>>>>>,std::allocator<std::variant<std::map<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::allocator<std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>>>>>>>,bool>,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::allocator<std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::vector<std::variant<std::map<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::allocator<std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>>>>>,std::allocator<std::variant<std::map<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::allocator<std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>>>>>>>,bool>>>>,std::map<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,bool,std::vector<std::variant<std::map<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<__int64,std::basic_string<char,std::char_traits<char>,std::allocator<char>>,bool>,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::allocator<std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<__int64,std::basic_string<char,std::char_traits<char>,std::allocator<char>>,bool>>>>>,std::allocator<std::variant<std::map<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<__int64,std::basic_string<char,std::char_traits<char>,std::allocator<char>>,bool>,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::allocator<std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<__int64,std::basic_string<char,std::char_traits<char>,std::allocator<char>>,bool>>>>>>>,__int64,std::vector<std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::allocator<std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>>>,std::vector<std::variant<std::map<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::allocator<std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>>>>>,std::allocator<std::variant<std::map<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::allocator<std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>>>>>>>>,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::allocator<std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,bool,std::vector<std::variant<std::map<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<__int64,std::basic_string<char,std::char_traits<char>,std::allocator<char>>,bool>,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::allocator<std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<__int64,std::basic_string<char,std::char_traits<char>,std::allocator<char>>,bool>>>>>,std::allocator<std::variant<std::map<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<__int64,std::basic_string<char,std::char_traits<char>,std::allocator<char>>,bool>,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::allocator<std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<__int64,std::basic_string<char,std::char_traits<char>,std::allocator<char>>,bool>>>>>>>,__int64,std::vector<std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::allocator<std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>>>,std::vector<std::variant<std::map<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::allocator<std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>>>>>,std::allocator<std::variant<std::map<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::allocator<std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>>>>>>>>>>>,std::map<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<bool,std::vector<std::variant<std::map<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,__int64>,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::allocator<std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,__int64>>>>>,std::allocator<std::variant<std::map<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,__int64>,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::allocator<std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,__int64>>>>>>>,std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::allocator<std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<bool,std::vector<std::variant<std::map<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,__int64>,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::allocator<std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,__int64>>>>>,std::allocator<std::variant<std::map<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,__int64>,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::allocator<std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,__int64>>>>>>>,std::basic_string<char,std::char_traits<char>,std::allocator<char>>>>>>,std::map<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::vector<std::variant<std::map<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,__int64>,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::allocator<std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,__int64>>>>>,std::allocator<std::variant<std::map<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,__int64>,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::allocator<std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,__int64>>>>>>>,std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::allocator<std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::vector<std::variant<std::map<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,__int64>,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::allocator<std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,__int64>>>>>,std::allocator<std::variant<std::map<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,__int64>,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::allocator<std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,__int64>>>>>>>,std::basic_string<char,std::char_traits<char>,std::allocator<char>>>>>>,std::map<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::vector<std::variant<std::map<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::allocator<std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>>>>>,std::allocator<std::variant<std::map<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::allocator<std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>>>>>>>>,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::allocator<std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::vector<std::variant<std::map<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::allocator<std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>>>>>,std::allocator<std::variant<std::map<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::allocator<std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>>>>>>>>>>>,std::map<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::vector<std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::allocator<std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>>>,bool>,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::allocator<std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::vector<std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::allocator<std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>>>,bool>>>>,std::map<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::vector<std::variant<std::map<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::allocator<std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>>>>,std::vector<std::variant<std::map<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,bool>,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::allocator<std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,bool>>>>>,std::allocator<std::variant<std::map<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,bool>,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::allocator<std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,bool>>>>>>>>,std::allocator<std::variant<std::map<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::allocator<std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>>>>,std::vector<std::variant<std::map<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,bool>,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::allocator<std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,bool>>>>>,std::allocator<std::variant<std::map<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,bool>,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::allocator<std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,bool>>>>>>>>>>,bool>,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::allocator<std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::vector<std::variant<std::map<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::allocator<std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>>>>,std::vector<std::variant<std::map<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,bool>,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::allocator<std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,bool>>>>>,std::allocator<std::variant<std::map<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,bool>,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::allocator<std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,bool>>>>>>>>,std::allocator<std::variant<std::map<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::allocator<std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>>>>,std::vector<std::variant<std::map<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,bool>,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::allocator<std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,bool>>>>>,std::allocator<std::variant<std::map<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,bool>,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::allocator<std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,bool>>>>>>>>>>,bool>>>>,std::vector<std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::allocator<std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>>>,bool,std::vector<std::variant<std::map<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,__int64>,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::allocator<std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,__int64>>>>,std::vector<std::variant<std::map<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::allocator<std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>>>>>,std::allocator<std::variant<std::map<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::allocator<std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>>>>>>>,std::map<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<bool,std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::allocator<std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<bool,std::basic_string<char,std::char_traits<char>,std::allocator<char>>>>>>>,std::allocator<std::variant<std::map<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,__int64>,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::allocator<std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,__int64>>>>,std::vector<std::variant<std::map<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::allocator<std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>>>>>,std::allocator<std::variant<std::map<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::allocator<std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>>>>>>>,std::map<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<bool,std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::allocator<std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<bool,std::basic_string<char,std::char_traits<char>,std::allocator<char>>>>>>>>>>,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::allocator<std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::map<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::vector<std::variant<std::map<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::allocator<std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>>>>>,std::allocator<std::variant<std::map<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::allocator<std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>>>>>>>,std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::vector<std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::allocator<std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>>>,bool>,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::allocator<std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::vector<std::variant<std::map<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::allocator<std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>>>>>,std::allocator<std::variant<std::map<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::allocator<std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>>>>>>>,std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::vector<std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::allocator<std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>>>,bool>>>>,std::map<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::allocator<std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>>>>,std::map<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::vector<std::variant<std::map<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::allocator<std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>>>>>,std::allocator<std::variant<std::map<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::allocator<std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>>>>>>>,bool>,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::allocator<std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::vector<std::variant<std::map<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::allocator<std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>>>>>,std::allocator<std::variant<std::map<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::allocator<std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>>>>>>>,bool>>>>,std::map<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,bool,std::vector<std::variant<std::map<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<__int64,std::basic_string<char,std::char_traits<char>,std::allocator<char>>,bool>,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::allocator<std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<__int64,std::basic_string<char,std::char_traits<char>,std::allocator<char>>,bool>>>>>,std::allocator<std::variant<std::map<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<__int64,std::basic_string<char,std::char_traits<char>,std::allocator<char>>,bool>,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::allocator<std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<__int64,std::basic_string<char,std::char_traits<char>,std::allocator<char>>,bool>>>>>>>,__int64,std::vector<std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::allocator<std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>>>,std::vector<std::variant<std::map<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::allocator<std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>>>>>,std::allocator<std::variant<std::map<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::allocator<std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>>>>>>>>,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::allocator<std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,bool,std::vector<std::variant<std::map<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<__int64,std::basic_string<char,std::char_traits<char>,std::allocator<char>>,bool>,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::allocator<std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<__int64,std::basic_string<char,std::char_traits<char>,std::allocator<char>>,bool>>>>>,std::allocator<std::variant<std::map<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<__int64,std::basic_string<char,std::char_traits<char>,std::allocator<char>>,bool>,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::allocator<std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<__int64,std::basic_string<char,std::char_traits<char>,std::allocator<char>>,bool>>>>>>>,__int64,std::vector<std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::allocator<std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>>>,std::vector<std::variant<std::map<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::allocator<std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>>>>>,std::allocator<std::variant<std::map<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::allocator<std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>>>>>>>>>>>,std::map<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<bool,std::vector<std::variant<std::map<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,__int64>,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::allocator<std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,__int64>>>>>,std::allocator<std::variant<std::map<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,__int64>,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::allocator<std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,__int64>>>>>>>,std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::allocator<std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<bool,std::vector<std::variant<std::map<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,__int64>,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::allocator<std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,__int64>>>>>,std::allocator<std::variant<std::map<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,__int64>,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::allocator<std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,__int64>>>>>>>,std::basic_string<char,std::char_traits<char>,std::allocator<char>>>>>>,std::map<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::vector<std::variant<std::map<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,__int64>,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::allocator<std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,__int64>>>>>,std::allocator<std::variant<std::map<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,__int64>,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::allocator<std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,__int64>>>>>>>,std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::allocator<std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::vector<std::variant<std::map<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,__int64>,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::allocator<std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,__int64>>>>>,std::allocator<std::variant<std::map<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,__int64>,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::allocator<std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,__int64>>>>>>>,std::basic_string<char,std::char_traits<char>,std::allocator<char>>>>>>,std::map<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::vector<std::variant<std::map<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::allocator<std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>>>>>,std::allocator<std::variant<std::map<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::allocator<std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>>>>>>>>,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::allocator<std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::vector<std::variant<std::map<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::allocator<std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>>>>>,std::allocator<std::variant<std::map<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::allocator<std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>>>>>>>>>>>,std::map<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::vector<std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::allocator<std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>>>,bool>,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::allocator<std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::vector<std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::allocator<std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>>>,bool>>>>,std::map<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::vector<std::variant<std::map<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::allocator<std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>>>>,std::vector<std::variant<std::map<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,bool>,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::allocator<std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,bool>>>>>,std::allocator<std::variant<std::map<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,bool>,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::allocator<std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,bool>>>>>>>>,std::allocator<std::variant<std::map<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::allocator<std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>>>>,std::vector<std::variant<std::map<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,bool>,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::allocator<std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,bool>>>>>,std::allocator<std::variant<std::map<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,bool>,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::allocator<std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,bool>>>>>>>>>>,bool>,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::allocator<std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::vector<std::variant<std::map<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::allocator<std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>>>>,std::vector<std::variant<std::map<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,bool>,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::allocator<std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,bool>>>>>,std::allocator<std::variant<std::map<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,bool>,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::allocator<std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,bool>>>>>>>>,std::allocator<std::variant<std::map<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::allocator<std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>>>>,std::vector<std::variant<std::map<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,bool>,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::allocator<std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,bool>>>>>,std::allocator<std::variant<std::map<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,bool>,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::allocator<std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,bool>>>>>>>>>>,bool>>>>,std::vector<std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::allocator<std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>>>,bool,std::vector<std::variant<std::map<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,__int64>,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::allocator<std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,__int64>>>>,std::vector<std::variant<std::map<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::allocator<std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>>>>>,std::allocator<std::variant<std::map<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::allocator<std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>>>>>>>,std::map<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<bool,std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::allocator<std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<bool,std::basic_string<char,std::char_traits<char>,std::allocator<char>>>>>>>,std::allocator<std::variant<std::map<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,__int64>,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::allocator<std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,__int64>>>>,std::vector<std::variant<std::map<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::allocator<std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>>>>>,std::allocator<std::variant<std::map<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::allocator<std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>>>>>>>,std::map<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<bool,std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::allocator<std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<bool,std::basic_string<char,std::char_traits<char>,std::allocator<char>>>>>>>>>>>>>>>>,std::vector<std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::allocator<std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>>>,std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::allocator<std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::vector<std::variant<std::map<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::map<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::vector<std::variant<std::map<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::allocator<std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>>>>>,std::allocator<std::variant<std::map<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::allocator<std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>>>>>>>,std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::vector<std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::allocator<std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>>>,bool>,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::allocator<std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::vector<std::variant<std::map<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::allocator<std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>>>>>,std::allocator<std::variant<std::map<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::allocator<std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>>>>>>>,std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::vector<std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::allocator<std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>>>,bool>>>>,std::map<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::allocator<std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>>>>,std::map<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::vector<std::variant<std::map<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::allocator<std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>>>>>,std::allocator<std::variant<std::map<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::allocator<std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>>>>>>>,bool>,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::allocator<std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::vector<std::variant<std::map<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::allocator<std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>>>>>,std::allocator<std::variant<std::map<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::allocator<std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>>>>>>>,bool>>>>,std::map<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,bool,std::vector<std::variant<std::map<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<__int64,std::basic_string<char,std::char_traits<char>,std::allocator<char>>,bool>,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::allocator<std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<__int64,std::basic_string<char,std::char_traits<char>,std::allocator<char>>,bool>>>>>,std::allocator<std::variant<std::map<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<__int64,std::basic_string<char,std::char_traits<char>,std::allocator<char>>,bool>,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::allocator<std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<__int64,std::basic_string<char,std::char_traits<char>,std::allocator<char>>,bool>>>>>>>,__int64,std::vector<std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::allocator<std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>>>,std::vector<std::variant<std::map<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::allocator<std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>>>>>,std::allocator<std::variant<std::map<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::allocator<std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>>>>>>>>,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::allocator<std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,bool,std::vector<std::variant<std::map<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<__int64,std::basic_string<char,std::char_traits<char>,std::allocator<char>>,bool>,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::allocator<std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<__int64,std::basic_string<char,std::char_traits<char>,std::allocator<char>>,bool>>>>>,std::allocator<std::variant<std::map<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<__int64,std::basic_string<char,std::char_traits<char>,std::allocator<char>>,bool>,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::allocator<std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<__int64,std::basic_string<char,std::char_traits<char>,std::allocator<char>>,bool>>>>>>>,__int64,std::vector<std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::allocator<std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>>>,std::vector<std::variant<std::map<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::allocator<std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>>>>>,std::allocator<std::variant<std::map<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::allocator<std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>>>>>>>>>>>,std::map<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<bool,std::vector<std::variant<std::map<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,__int64>,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::allocator<std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,__int64>>>>>,std::allocator<std::variant<std::map<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,__int64>,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::allocator<std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,__int64>>>>>>>,std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::allocator<std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<bool,std::vector<std::variant<std::map<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,__int64>,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::allocator<std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,__int64>>>>>,std::allocator<std::variant<std::map<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,__int64>,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::allocator<std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,__int64>>>>>>>,std::basic_string<char,std::char_traits<char>,std::allocator<char>>>>>>,std::map<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::vector<std::variant<std::map<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,__int64>,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::allocator<std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,__int64>>>>>,std::allocator<std::variant<std::map<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,__int64>,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::allocator<std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,__int64>>>>>>>,std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::allocator<std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::vector<std::variant<std::map<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,__int64>,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::allocator<std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,__int64>>>>>,std::allocator<std::variant<std::map<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,__int64>,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::allocator<std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,__int64>>>>>>>,std::basic_string<char,std::char_traits<char>,std::allocator<char>>>>>>,std::map<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::vector<std::variant<std::map<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::allocator<std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>>>>>,std::allocator<std::variant<std::map<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::allocator<std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>>>>>>>>,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::allocator<std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::vector<std::variant<std::map<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::allocator<std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>>>>>,std::allocator<std::variant<std::map<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::allocator<std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>>>>>>>>>>>,std::map<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::vector<std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::allocator<std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>>>,bool>,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::allocator<std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::vector<std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::allocator<std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>>>,bool>>>>,std::map<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::vector<std::variant<std::map<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::allocator<std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>>>>,std::vector<std::variant<std::map<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,bool>,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::allocator<std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,bool>>>>>,std::allocator<std::variant<std::map<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,bool>,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::allocator<std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,bool>>>>>>>>,std::allocator<std::variant<std::map<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::allocator<std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>>>>,std::vector<std::variant<std::map<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,bool>,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::allocator<std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,bool>>>>>,std::allocator<std::variant<std::map<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,bool>,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::allocator<std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,bool>>>>>>>>>>,bool>,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::allocator<std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::vector<std::variant<std::map<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::allocator<std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>>>>,std::vector<std::variant<std::map<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,bool>,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::allocator<std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,bool>>>>>,std::allocator<std::variant<std::map<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,bool>,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::allocator<std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,bool>>>>>>>>,std::allocator<std::variant<std::map<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::allocator<std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>>>>,std::vector<std::variant<std::map<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,bool>,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::allocator<std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,bool>>>>>,std::allocator<std::variant<std::map<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,bool>,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::allocator<std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,bool>>>>>>>>>>,bool>>>>,std::vector<std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::allocator<std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>>>,bool,std::vector<std::variant<std::map<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,__int64>,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::allocator<std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,__int64>>>>,std::vector<std::variant<std::map<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::allocator<std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>>>>>,std::allocator<std::variant<std::map<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::allocator<std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>>>>>>>,std::map<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<bool,std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::allocator<std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<bool,std::basic_string<char,std::char_traits<char>,std::allocator<char>>>>>>>,std::allocator<std::variant<std::map<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,__int64>,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::allocator<std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,__int64>>>>,std::vector<std::variant<std::map<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::allocator<std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>>>>>,std::allocator<std::variant<std::map<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::allocator<std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>>>>>>>,std::map<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<bool,std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::allocator<std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<bool,std::basic_string<char,std::char_traits<char>,std::allocator<char>>>>>>>>>>,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::allocator<std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::map<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::vector<std::variant<std::map<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::allocator<std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>>>>>,std::allocator<std::variant<std::map<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::allocator<std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>>>>>>>,std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::vector<std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::allocator<std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>>>,bool>,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::allocator<std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::vector<std::variant<std::map<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::allocator<std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>>>>>,std::allocator<std::variant<std::map<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::allocator<std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>>>>>>>,std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::vector<std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::allocator<std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>>>,bool>>>>,std::map<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::allocator<std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>>>>,std::map<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::vector<std::variant<std::map<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::allocator<std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>>>>>,std::allocator<std::variant<std::map<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::allocator<std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>>>>>>>,bool>,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::allocator<std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::vector<std::variant<std::map<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::allocator<std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>>>>>,std::allocator<std::variant<std::map<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::allocator<std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>>>>>>>,bool>>>>,std::map<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,bool,std::vector<std::variant<std::map<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<__int64,std::basic_string<char,std::char_traits<char>,std::allocator<char>>,bool>,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::allocator<std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<__int64,std::basic_string<char,std::char_traits<char>,std::allocator<char>>,bool>>>>>,std::allocator<std::variant<std::map<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<__int64,std::basic_string<char,std::char_traits<char>,std::allocator<char>>,bool>,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::allocator<std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<__int64,std::basic_string<char,std::char_traits<char>,std::allocator<char>>,bool>>>>>>>,__int64,std::vector<std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::allocator<std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>>>,std::vector<std::variant<std::map<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::allocator<std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>>>>>,std::allocator<std::variant<std::map<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::allocator<std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>>>>>>>>,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::allocator<std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,bool,std::vector<std::variant<std::map<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<__int64,std::basic_string<char,std::char_traits<char>,std::allocator<char>>,bool>,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::allocator<std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<__int64,std::basic_string<char,std::char_traits<char>,std::allocator<char>>,bool>>>>>,std::allocator<std::variant<std::map<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<__int64,std::basic_string<char,std::char_traits<char>,std::allocator<char>>,bool>,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::allocator<std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<__int64,std::basic_string<char,std::char_traits<char>,std::allocator<char>>,bool>>>>>>>,__int64,std::vector<std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::allocator<std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>>>,std::vector<std::variant<std::map<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::allocator<std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>>>>>,std::allocator<std::variant<std::map<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::allocator<std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>>>>>>>>>>>,std::map<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<bool,std::vector<std::variant<std::map<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,__int64>,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::allocator<std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,__int64>>>>>,std::allocator<std::variant<std::map<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,__int64>,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::allocator<std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,__int64>>>>>>>,std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::allocator<std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<bool,std::vector<std::variant<std::map<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,__int64>,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::allocator<std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,__int64>>>>>,std::allocator<std::variant<std::map<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,__int64>,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::allocator<std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,__int64>>>>>>>,std::basic_string<char,std::char_traits<char>,std::allocator<char>>>>>>,std::map<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::vector<std::variant<std::map<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,__int64>,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::allocator<std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,__int64>>>>>,std::allocator<std::variant<std::map<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,__int64>,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::allocator<std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,__int64>>>>>>>,std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::allocator<std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::vector<std::variant<std::map<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,__int64>,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::allocator<std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,__int64>>>>>,std::allocator<std::variant<std::map<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,__int64>,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::allocator<std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,__int64>>>>>>>,std::basic_string<char,std::char_traits<char>,std::allocator<char>>>>>>,std::map<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::vector<std::variant<std::map<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::allocator<std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>>>>>,std::allocator<std::variant<std::map<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::allocator<std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>>>>>>>>,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::allocator<std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::vector<std::variant<std::map<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::allocator<std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>>>>>,std::allocator<std::variant<std::map<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::allocator<std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>>>>>>>>>>>,std::map<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::vector<std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::allocator<std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>>>,bool>,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::allocator<std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::vector<std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::allocator<std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>>>,bool>>>>,std::map<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::vector<std::variant<std::map<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::allocator<std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>>>>,std::vector<std::variant<std::map<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,bool>,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::allocator<std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,bool>>>>>,std::allocator<std::variant<std::map<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,bool>,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::allocator<std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,bool>>>>>>>>,std::allocator<std::variant<std::map<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::allocator<std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>>>>,std::vector<std::variant<std::map<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,bool>,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::allocator<std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,bool>>>>>,std::allocator<std::variant<std::map<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,bool>,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::allocator<std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,bool>>>>>>>>>>,bool>,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::allocator<std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::vector<std::variant<std::map<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::allocator<std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>>>>,std::vector<std::variant<std::map<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,bool>,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::allocator<std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,bool>>>>>,std::allocator<std::variant<std::map<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,bool>,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::allocator<std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,bool>>>>>>>>,std::allocator<std::variant<std::map<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::allocator<std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>>>>,std::vector<std::variant<std::map<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,bool>,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::allocator<std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,bool>>>>>,std::allocator<std::variant<std::map<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,bool>,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::allocator<std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,bool>>>>>>>>>>,bool>>>>,std::vector<std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::allocator<std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>>>,bool,std::vector<std::variant<std::map<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,__int64>,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::allocator<std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,__int64>>>>,std::vector<std::variant<std::map<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::allocator<std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>>>>>,std::allocator<std::variant<std::map<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::allocator<std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>>>>>>>,std::map<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<bool,std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::allocator<std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<bool,std::basic_string<char,std::char_traits<char>,std::allocator<char>>>>>>>,std::allocator<std::variant<std::map<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,__int64>,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::allocator<std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,__int64>>>>,std::vector<std::variant<std::map<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::allocator<std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>>>>>,std::allocator<std::variant<std::map<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::allocator<std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>>>>>>>,std::map<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<bool,std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::allocator<std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<bool,std::basic_string<char,std::char_traits<char>,std::allocator<char>>>>>>>>>>>>>>,std::allocator<std::variant<std::map<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::map<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::vector<std::variant<std::map<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::allocator<std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>>>>>,std::allocator<std::variant<std::map<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::allocator<std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>>>>>>>,std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::vector<std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::allocator<std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>>>,bool>,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::allocator<std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::vector<std::variant<std::map<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::allocator<std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>>>>>,std::allocator<std::variant<std::map<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::allocator<std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>>>>>>>,std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::vector<std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::allocator<std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>>>,bool>>>>,std::map<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::allocator<std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>>>>,std::map<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::vector<std::variant<std::map<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::allocator<std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>>>>>,std::allocator<std::variant<std::map<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::allocator<std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>>>>>>>,bool>,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::allocator<std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::vector<std::variant<std::map<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::allocator<std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>>>>>,std::allocator<std::variant<std::map<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::allocator<std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>>>>>>>,bool>>>>,std::map<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,bool,std::vector<std::variant<std::map<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<__int64,std::basic_string<char,std::char_traits<char>,std::allocator<char>>,bool>,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::allocator<std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<__int64,std::basic_string<char,std::char_traits<char>,std::allocator<char>>,bool>>>>>,std::allocator<std::variant<std::map<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<__int64,std::basic_string<char,std::char_traits<char>,std::allocator<char>>,bool>,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::allocator<std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<__int64,std::basic_string<char,std::char_traits<char>,std::allocator<char>>,bool>>>>>>>,__int64,std::vector<std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::allocator<std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>>>,std::vector<std::variant<std::map<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::allocator<std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>>>>>,std::allocator<std::variant<std::map<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::allocator<std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>>>>>>>>,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::allocator<std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,bool,std::vector<std::variant<std::map<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<__int64,std::basic_string<char,std::char_traits<char>,std::allocator<char>>,bool>,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::allocator<std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<__int64,std::basic_string<char,std::char_traits<char>,std::allocator<char>>,bool>>>>>,std::allocator<std::variant<std::map<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<__int64,std::basic_string<char,std::char_traits<char>,std::allocator<char>>,bool>,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::allocator<std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<__int64,std::basic_string<char,std::char_traits<char>,std::allocator<char>>,bool>>>>>>>,__int64,std::vector<std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::allocator<std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>>>,std::vector<std::variant<std::map<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::allocator<std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>>>>>,std::allocator<std::variant<std::map<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::allocator<std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>>>>>>>>>>>,std::map<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<bool,std::vector<std::variant<std::map<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,__int64>,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::allocator<std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,__int64>>>>>,std::allocator<std::variant<std::map<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,__int64>,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::allocator<std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,__int64>>>>>>>,std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::allocator<std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<bool,std::vector<std::variant<std::map<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,__int64>,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::allocator<std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,__int64>>>>>,std::allocator<std::variant<std::map<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,__int64>,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::allocator<std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,__int64>>>>>>>,std::basic_string<char,std::char_traits<char>,std::allocator<char>>>>>>,std::map<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::vector<std::variant<std::map<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,__int64>,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::allocator<std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,__int64>>>>>,std::allocator<std::variant<std::map<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,__int64>,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::allocator<std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,__int64>>>>>>>,std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::allocator<std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::vector<std::variant<std::map<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,__int64>,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::allocator<std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,__int64>>>>>,std::allocator<std::variant<std::map<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,__int64>,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::allocator<std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,__int64>>>>>>>,std::basic_string<char,std::char_traits<char>,std::allocator<char>>>>>>,std::map<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::vector<std::variant<std::map<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::allocator<std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>>>>>,std::allocator<std::variant<std::map<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::allocator<std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>>>>>>>>,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::allocator<std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::vector<std::variant<std::map<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::allocator<std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>>>>>,std::allocator<std::variant<std::map<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::allocator<std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>>>>>>>>>>>,std::map<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::vector<std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::allocator<std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>>>,bool>,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::allocator<std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::vector<std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::allocator<std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>>>,bool>>>>,std::map<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::vector<std::variant<std::map<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::allocator<std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>>>>,std::vector<std::variant<std::map<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,bool>,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::allocator<std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,bool>>>>>,std::allocator<std::variant<std::map<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,bool>,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::allocator<std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,bool>>>>>>>>,std::allocator<std::variant<std::map<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::allocator<std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>>>>,std::vector<std::variant<std::map<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,bool>,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::allocator<std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,bool>>>>>,std::allocator<std::variant<std::map<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,bool>,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::allocator<std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,bool>>>>>>>>>>,bool>,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::allocator<std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::vector<std::variant<std::map<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::allocator<std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>>>>,std::vector<std::variant<std::map<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,bool>,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::allocator<std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,bool>>>>>,std::allocator<std::variant<std::map<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,bool>,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::allocator<std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,bool>>>>>>>>,std::allocator<std::variant<std::map<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::allocator<std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>>>>,std::vector<std::variant<std::map<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,bool>,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::allocator<std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,bool>>>>>,std::allocator<std::variant<std::map<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,bool>,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::allocator<std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,bool>>>>>>>>>>,bool>>>>,std::vector<std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::allocator<std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>>>,bool,std::vector<std::variant<std::map<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,__int64>,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::allocator<std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,__int64>>>>,std::vector<std::variant<std::map<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::allocator<std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>>>>>,std::allocator<std::variant<std::map<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::allocator<std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>>>>>>>,std::map<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<bool,std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::allocator<std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<bool,std::basic_string<char,std::char_traits<char>,std::allocator<char>>>>>>>,std::allocator<std::variant<std::map<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,__int64>,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::allocator<std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,__int64>>>>,std::vector<std::variant<std::map<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::allocator<std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>>>>>,std::allocator<std::variant<std::map<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::allocator<std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>>>>>>>,std::map<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<bool,std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::allocator<std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<bool,std::basic_string<char,std::char_traits<char>,std::allocator<char>>>>>>>>>>,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::allocator<std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::map<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::vector<std::variant<std::map<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::allocator<std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>>>>>,std::allocator<std::variant<std::map<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::allocator<std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>>>>>>>,std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::vector<std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::allocator<std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>>>,bool>,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::allocator<std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::vector<std::variant<std::map<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::allocator<std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>>>>>,std::allocator<std::variant<std::map<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::allocator<std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>>>>>>>,std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::vector<std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::allocator<std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>>>,bool>>>>,std::map<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::allocator<std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>>>>,std::map<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::vector<std::variant<std::map<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::allocator<std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>>>>>,std::allocator<std::variant<std::map<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::allocator<std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>>>>>>>,bool>,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::allocator<std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::vector<std::variant<std::map<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::allocator<std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>>>>>,std::allocator<std::variant<std::map<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::allocator<std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>>>>>>>,bool>>>>,std::map<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,bool,std::vector<std::variant<std::map<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<__int64,std::basic_string<char,std::char_traits<char>,std::allocator<char>>,bool>,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::allocator<std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<__int64,std::basic_string<char,std::char_traits<char>,std::allocator<char>>,bool>>>>>,std::allocator<std::variant<std::map<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<__int64,std::basic_string<char,std::char_traits<char>,std::allocator<char>>,bool>,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::allocator<std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<__int64,std::basic_string<char,std::char_traits<char>,std::allocator<char>>,bool>>>>>>>,__int64,std::vector<std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::allocator<std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>>>,std::vector<std::variant<std::map<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::allocator<std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>>>>>,std::allocator<std::variant<std::map<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::allocator<std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>>>>>>>>,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::allocator<std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,bool,std::vector<std::variant<std::map<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<__int64,std::basic_string<char,std::char_traits<char>,std::allocator<char>>,bool>,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::allocator<std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<__int64,std::basic_string<char,std::char_traits<char>,std::allocator<char>>,bool>>>>>,std::allocator<std::variant<std::map<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<__int64,std::basic_string<char,std::char_traits<char>,std::allocator<char>>,bool>,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::allocator<std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<__int64,std::basic_string<char,std::char_traits<char>,std::allocator<char>>,bool>>>>>>>,__int64,std::vector<std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::allocator<std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>>>,std::vector<std::variant<std::map<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::allocator<std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>>>>>,std::allocator<std::variant<std::map<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::allocator<std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>>>>>>>>>>>,std::map<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<bool,std::vector<std::variant<std::map<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,__int64>,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::allocator<std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,__int64>>>>>,std::allocator<std::variant<std::map<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,__int64>,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::allocator<std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,__int64>>>>>>>,std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::allocator<std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<bool,std::vector<std::variant<std::map<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,__int64>,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::allocator<std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,__int64>>>>>,std::allocator<std::variant<std::map<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,__int64>,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::allocator<std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,__int64>>>>>>>,std::basic_string<char,std::char_traits<char>,std::allocator<char>>>>>>,std::map<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::vector<std::variant<std::map<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,__int64>,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::allocator<std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,__int64>>>>>,std::allocator<std::variant<std::map<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,__int64>,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::allocator<std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,__int64>>>>>>>,std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::allocator<std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::vector<std::variant<std::map<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,__int64>,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::allocator<std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,__int64>>>>>,std::allocator<std::variant<std::map<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,__int64>,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::allocator<std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,__int64>>>>>>>,std::basic_string<char,std::char_traits<char>,std::allocator<char>>>>>>,std::map<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::vector<std::variant<std::map<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::allocator<std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>>>>>,std::allocator<std::variant<std::map<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::allocator<std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>>>>>>>>,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::allocator<std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::vector<std::variant<std::map<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::allocator<std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>>>>>,std::allocator<std::variant<std::map<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::allocator<std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>>>>>>>>>>>,std::map<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::vector<std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::allocator<std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>>>,bool>,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::allocator<std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::vector<std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::allocator<std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>>>,bool>>>>,std::map<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::vector<std::variant<std::map<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::allocator<std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>>>>,std::vector<std::variant<std::map<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,bool>,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::allocator<std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,bool>>>>>,std::allocator<std::variant<std::map<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,bool>,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::allocator<std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,bool>>>>>>>>,std::allocator<std::variant<std::map<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::allocator<std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>>>>,std::vector<std::variant<std::map<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,bool>,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::allocator<std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,bool>>>>>,std::allocator<std::variant<std::map<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,bool>,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::allocator<std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,bool>>>>>>>>>>,bool>,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::allocator<std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::vector<std::variant<std::map<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::allocator<std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>>>>,std::vector<std::variant<std::map<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,bool>,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::allocator<std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,bool>>>>>,std::allocator<std::variant<std::map<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,bool>,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::allocator<std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,bool>>>>>>>>,std::allocator<std::variant<std::map<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::allocator<std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>>>>,std::vector<std::variant<std::map<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,bool>,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::allocator<std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,bool>>>>>,std::allocator<std::variant<std::map<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,bool>,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::allocator<std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,bool>>>>>>>>>>,bool>>>>,std::vector<std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::allocator<std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>>>,bool,std::vector<std::variant<std::map<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,__int64>,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::allocator<std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,__int64>>>>,std::vector<std::variant<std::map<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::allocator<std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>>>>>,std::allocator<std::variant<std::map<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::allocator<std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>>>>>>>,std::map<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<bool,std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::allocator<std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<bool,std::basic_string<char,std::char_traits<char>,std::allocator<char>>>>>>>,std::allocator<std::variant<std::map<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,__int64>,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::allocator<std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,__int64>>>>,std::vector<std::variant<std::map<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::allocator<std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>>>>>,std::allocator<std::variant<std::map<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::allocator<std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>>>>>>>,std::map<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<bool,std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::allocator<std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::variant<bool,std::basic_string<char,std::char_traits<char>,std::allocator<char>>>>>>>>>>>>>>>>,std::vector<std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,std::allocator<std::variant<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>>>,std::basic_string<char,std::char_traits<char>,std::allocator<char>>>>>>' to 'int'

Any errors that occur around code using this monstrosity of a library will be automagically unreadable! Again, you're welcome.

Just another reason not to use this in any serious project, unless you like torturing yourself. Wait, you're a C++ programmer, of course you're a masochist!

Gotchas

Did you really think something as stupid as this would actually come with no gotchas?

Will Likely Break IDE's Code Completion

Your IDE will likely crap itself when it takes a whiff of a rettype from an even remotely complicated JSON schema. Especially any Visual Studio before 2019. Normally you'd use an IDE like Visual Studio for the code completion feature (among others), but this library will probably break that. If it doesn't break that, then it will likely break the handy feature where you can hover over a variable to see its type. Instead, you'll see <error type> which normally indicates an error, but in most cases this is a classic example of...

IDE Gaslighting

The IDE will try to gaslight you with errors like:

  • name followed by '::' must be a class or namespace name
  • no instance of overloaded function "std::get" matches the argument list
  • no instance of function template "const_json::parse" matches the argument list

Don't let the IDE gaslight and gatekeep your development process. Hit that compile button, wait for forever, then see if you actually have an error. And if you do... it'll be a doozy.

Null

The null type in JSON is great, especially if you're trying to make a library that prides itself on not forcing the user to mess with third party stuff. I'm kidding. For null, I have arbitrarily chosen std::monostate as the rettype for Null. It functionally serves no purpose other than to signify a null value. If you don't like it, then it's very easy to change by going to the Null struct and change the rettype type alias to whatever you want. Just make sure it's default constructible.

About

A single header JSON library that leverages metaprogramming

Topics

Resources

License

Stars

Watchers

Forks