|
|
<script type="application/json" data-target="react-app.embeddedData">{"payload":{"allShortcutsEnabled":false,"fileTree":{"doctest":{"items":[{"name":"extensions","path":"doctest/extensions","contentType":"directory"},{"name":"parts","path":"doctest/parts","contentType":"directory"},{"name":"BUILD.bazel","path":"doctest/BUILD.bazel","contentType":"file"},{"name":"doctest.h","path":"doctest/doctest.h","contentType":"file"}],"totalCount":4},"":{"items":[{"name":".github","path":".github","contentType":"directory"},{"name":"doc","path":"doc","contentType":"directory"},{"name":"doctest","path":"doctest","contentType":"directory"},{"name":"examples","path":"examples","contentType":"directory"},{"name":"scripts","path":"scripts","contentType":"directory"},{"name":".clang-format","path":".clang-format","contentType":"file"},{"name":".clang-tidy","path":".clang-tidy","contentType":"file"},{"name":".editorconfig","path":".editorconfig","contentType":"file"},{"name":".gitattributes","path":".gitattributes","contentType":"file"},{"name":".gitignore","path":".gitignore","contentType":"file"},{"name":"CHANGELOG.md","path":"CHANGELOG.md","contentType":"file"},{"name":"CMakeLists.txt","path":"CMakeLists.txt","contentType":"file"},{"name":"CONTRIBUTING.md","path":"CONTRIBUTING.md","contentType":"file"},{"name":"LICENSE.txt","path":"LICENSE.txt","contentType":"file"},{"name":"README.md","path":"README.md","contentType":"file"},{"name":"WORKSPACE","path":"WORKSPACE","contentType":"file"},{"name":"meson.build","path":"meson.build","contentType":"file"}],"totalCount":17}},"fileTreeProcessingTime":5.787009,"foldersToFetch":[],"repo":{"id":22660515,"defaultBranch":"master","name":"doctest","ownerLogin":"doctest","currentUserCanPush":false,"isFork":false,"isEmpty":false,"createdAt":"2014-08-05T21:43:51.000Z","ownerAvatar":"https://avatars.githubusercontent.com/u/70880936?v=4","public":true,"private":false,"isOrgOwned":true},"codeLineWrapEnabled":false,"symbolsExpanded":false,"treeExpanded":true,"refInfo":{"name":"master","listCacheKey":"v0:1678883981.764","canEdit":false,"refType":"branch","currentOid":"ae7a13539fb71f270b87eb2e874fbac80bc8dda2"},"path":"doctest/doctest.h","currentUser":null,"blob":{"rawLines":["// ====================================================================== lgtm [cpp/missing-header-guard]","// == DO NOT MODIFY THIS FILE BY HAND - IT IS AUTO GENERATED BY CMAKE! ==","// ======================================================================","//","// doctest.h - the lightest feature-rich C++ single-header testing framework for unit tests and TDD","//","// Copyright (c) 2016-2023 Viktor Kirilov","//","// Distributed under the MIT Software License","// See accompanying file LICENSE.txt or copy at","// https://opensource.org/licenses/MIT","//","// The documentation can be found at the library's page:","// https://github.com/doctest/doctest/blob/master/doc/markdown/readme.md","//","// =================================================================================================","// =================================================================================================","// =================================================================================================","//","// The library is heavily influenced by Catch - https://github.com/catchorg/Catch2","// which uses the Boost Software License - Version 1.0","// see here - https://github.com/catchorg/Catch2/blob/master/LICENSE.txt","//","// The concept of subcases (sections in Catch) and expression decomposition are from there.","// Some parts of the code are taken directly:","// - stringification - the detection of \"ostream\u0026 operator\u003c\u003c(ostream\u0026, const T\u0026)\" and StringMaker\u003c\u003e","// - the Approx() helper class for floating point comparison","// - colors in the console","// - breaking into a debugger","// - signal / SEH handling","// - timer","// - XmlWriter class - thanks to Phil Nash for allowing the direct reuse (AKA copy/paste)","//","// The expression decomposing templates are taken from lest - https://github.com/martinmoene/lest","// which uses the Boost Software License - Version 1.0","// see here - https://github.com/martinmoene/lest/blob/master/LICENSE.txt","//","// =================================================================================================","// =================================================================================================","// =================================================================================================","","#ifndef DOCTEST_LIBRARY_INCLUDED","#define DOCTEST_LIBRARY_INCLUDED","","// =================================================================================================","// == VERSION ======================================================================================","// =================================================================================================","","#define DOCTEST_VERSION_MAJOR 2","#define DOCTEST_VERSION_MINOR 4","#define DOCTEST_VERSION_PATCH 11","","// util we need here","#define DOCTEST_TOSTR_IMPL(x) #x","#define DOCTEST_TOSTR(x) DOCTEST_TOSTR_IMPL(x)","","#define DOCTEST_VERSION_STR \\"," DOCTEST_TOSTR(DOCTEST_VERSION_MAJOR) \".\" \\"," DOCTEST_TOSTR(DOCTEST_VERSION_MINOR) \".\" \\"," DOCTEST_TOSTR(DOCTEST_VERSION_PATCH)","","#define DOCTEST_VERSION \\"," (DOCTEST_VERSION_MAJOR * 10000 + DOCTEST_VERSION_MINOR * 100 + DOCTEST_VERSION_PATCH)","","// =================================================================================================","// == COMPILER VERSION =============================================================================","// =================================================================================================","","// ideas for the version stuff are taken from here: https://github.com/cxxstuff/cxx_detect","","#ifdef _MSC_VER","#define DOCTEST_CPLUSPLUS _MSVC_LANG","#else","#define DOCTEST_CPLUSPLUS __cplusplus","#endif","","#define DOCTEST_COMPILER(MAJOR, MINOR, PATCH) ((MAJOR)*10000000 + (MINOR)*100000 + (PATCH))","","// GCC/Clang and GCC/MSVC are mutually exclusive, but Clang/MSVC are not because of clang-cl...","#if defined(_MSC_VER) \u0026\u0026 defined(_MSC_FULL_VER)","#if _MSC_VER == _MSC_FULL_VER / 10000","#define DOCTEST_MSVC DOCTEST_COMPILER(_MSC_VER / 100, _MSC_VER % 100, _MSC_FULL_VER % 10000)","#else // MSVC","#define DOCTEST_MSVC \\"," DOCTEST_COMPILER(_MSC_VER / 100, (_MSC_FULL_VER / 100000) % 100, _MSC_FULL_VER % 100000)","#endif // MSVC","#endif // MSVC","#if defined(__clang__) \u0026\u0026 defined(__clang_minor__) \u0026\u0026 defined(__clang_patchlevel__)","#define DOCTEST_CLANG DOCTEST_COMPILER(__clang_major__, __clang_minor__, __clang_patchlevel__)","#elif defined(__GNUC__) \u0026\u0026 defined(__GNUC_MINOR__) \u0026\u0026 defined(__GNUC_PATCHLEVEL__) \u0026\u0026 \\"," !defined(__INTEL_COMPILER)","#define DOCTEST_GCC DOCTEST_COMPILER(__GNUC__, __GNUC_MINOR__, __GNUC_PATCHLEVEL__)","#endif // GCC","#if defined(__INTEL_COMPILER)","#define DOCTEST_ICC DOCTEST_COMPILER(__INTEL_COMPILER / 100, __INTEL_COMPILER % 100, 0)","#endif // ICC","","#ifndef DOCTEST_MSVC","#define DOCTEST_MSVC 0","#endif // DOCTEST_MSVC","#ifndef DOCTEST_CLANG","#define DOCTEST_CLANG 0","#endif // DOCTEST_CLANG","#ifndef DOCTEST_GCC","#define DOCTEST_GCC 0","#endif // DOCTEST_GCC","#ifndef DOCTEST_ICC","#define DOCTEST_ICC 0","#endif // DOCTEST_ICC","","// =================================================================================================","// == COMPILER WARNINGS HELPERS ====================================================================","// =================================================================================================","","#if DOCTEST_CLANG \u0026\u0026 !DOCTEST_ICC","#define DOCTEST_PRAGMA_TO_STR(x) _Pragma(#x)","#define DOCTEST_CLANG_SUPPRESS_WARNING_PUSH _Pragma(\"clang diagnostic push\")","#define DOCTEST_CLANG_SUPPRESS_WARNING(w) DOCTEST_PRAGMA_TO_STR(clang diagnostic ignored w)","#define DOCTEST_CLANG_SUPPRESS_WARNING_POP _Pragma(\"clang diagnostic pop\")","#define DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH(w) \\"," DOCTEST_CLANG_SUPPRESS_WARNING_PUSH DOCTEST_CLANG_SUPPRESS_WARNING(w)","#else // DOCTEST_CLANG","#define DOCTEST_CLANG_SUPPRESS_WARNING_PUSH","#define DOCTEST_CLANG_SUPPRESS_WARNING(w)","#define DOCTEST_CLANG_SUPPRESS_WARNING_POP","#define DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH(w)","#endif // DOCTEST_CLANG","","#if DOCTEST_GCC","#define DOCTEST_PRAGMA_TO_STR(x) _Pragma(#x)","#define DOCTEST_GCC_SUPPRESS_WARNING_PUSH _Pragma(\"GCC diagnostic push\")","#define DOCTEST_GCC_SUPPRESS_WARNING(w) DOCTEST_PRAGMA_TO_STR(GCC diagnostic ignored w)","#define DOCTEST_GCC_SUPPRESS_WARNING_POP _Pragma(\"GCC diagnostic pop\")","#define DOCTEST_GCC_SUPPRESS_WARNING_WITH_PUSH(w) \\"," DOCTEST_GCC_SUPPRESS_WARNING_PUSH DOCTEST_GCC_SUPPRESS_WARNING(w)","#else // DOCTEST_GCC","#define DOCTEST_GCC_SUPPRESS_WARNING_PUSH","#define DOCTEST_GCC_SUPPRESS_WARNING(w)","#define DOCTEST_GCC_SUPPRESS_WARNING_POP","#define DOCTEST_GCC_SUPPRESS_WARNING_WITH_PUSH(w)","#endif // DOCTEST_GCC","","#if DOCTEST_MSVC","#define DOCTEST_MSVC_SUPPRESS_WARNING_PUSH __pragma(warning(push))","#define DOCTEST_MSVC_SUPPRESS_WARNING(w) __pragma(warning(disable : w))","#define DOCTEST_MSVC_SUPPRESS_WARNING_POP __pragma(warning(pop))","#define DOCTEST_MSVC_SUPPRESS_WARNING_WITH_PUSH(w) \\"," DOCTEST_MSVC_SUPPRESS_WARNING_PUSH DOCTEST_MSVC_SUPPRESS_WARNING(w)","#else // DOCTEST_MSVC","#define DOCTEST_MSVC_SUPPRESS_WARNING_PUSH","#define DOCTEST_MSVC_SUPPRESS_WARNING(w)","#define DOCTEST_MSVC_SUPPRESS_WARNING_POP","#define DOCTEST_MSVC_SUPPRESS_WARNING_WITH_PUSH(w)","#endif // DOCTEST_MSVC","","// =================================================================================================","// == COMPILER WARNINGS ============================================================================","// =================================================================================================","","// both the header and the implementation suppress all of these,","// so it only makes sense to aggregate them like so","#define DOCTEST_SUPPRESS_COMMON_WARNINGS_PUSH \\"," DOCTEST_CLANG_SUPPRESS_WARNING_PUSH \\"," DOCTEST_CLANG_SUPPRESS_WARNING(\"-Wunknown-pragmas\") \\"," DOCTEST_CLANG_SUPPRESS_WARNING(\"-Wweak-vtables\") \\"," DOCTEST_CLANG_SUPPRESS_WARNING(\"-Wpadded\") \\"," DOCTEST_CLANG_SUPPRESS_WARNING(\"-Wmissing-prototypes\") \\"," DOCTEST_CLANG_SUPPRESS_WARNING(\"-Wc++98-compat\") \\"," DOCTEST_CLANG_SUPPRESS_WARNING(\"-Wc++98-compat-pedantic\") \\"," \\"," DOCTEST_GCC_SUPPRESS_WARNING_PUSH \\"," DOCTEST_GCC_SUPPRESS_WARNING(\"-Wunknown-pragmas\") \\"," DOCTEST_GCC_SUPPRESS_WARNING(\"-Wpragmas\") \\"," DOCTEST_GCC_SUPPRESS_WARNING(\"-Weffc++\") \\"," DOCTEST_GCC_SUPPRESS_WARNING(\"-Wstrict-overflow\") \\"," DOCTEST_GCC_SUPPRESS_WARNING(\"-Wstrict-aliasing\") \\"," DOCTEST_GCC_SUPPRESS_WARNING(\"-Wmissing-declarations\") \\"," DOCTEST_GCC_SUPPRESS_WARNING(\"-Wuseless-cast\") \\"," DOCTEST_GCC_SUPPRESS_WARNING(\"-Wnoexcept\") \\"," \\"," DOCTEST_MSVC_SUPPRESS_WARNING_PUSH \\"," /* these 4 also disabled globally via cmake: */ \\"," DOCTEST_MSVC_SUPPRESS_WARNING(4514) /* unreferenced inline function has been removed */ \\"," DOCTEST_MSVC_SUPPRESS_WARNING(4571) /* SEH related */ \\"," DOCTEST_MSVC_SUPPRESS_WARNING(4710) /* function not inlined */ \\"," DOCTEST_MSVC_SUPPRESS_WARNING(4711) /* function selected for inline expansion*/ \\"," /* common ones */ \\"," DOCTEST_MSVC_SUPPRESS_WARNING(4616) /* invalid compiler warning */ \\"," DOCTEST_MSVC_SUPPRESS_WARNING(4619) /* invalid compiler warning */ \\"," DOCTEST_MSVC_SUPPRESS_WARNING(4996) /* The compiler encountered a deprecated declaration */ \\"," DOCTEST_MSVC_SUPPRESS_WARNING(4706) /* assignment within conditional expression */ \\"," DOCTEST_MSVC_SUPPRESS_WARNING(4512) /* 'class' : assignment operator could not be generated */ \\"," DOCTEST_MSVC_SUPPRESS_WARNING(4127) /* conditional expression is constant */ \\"," DOCTEST_MSVC_SUPPRESS_WARNING(4820) /* padding */ \\"," DOCTEST_MSVC_SUPPRESS_WARNING(4625) /* copy constructor was implicitly deleted */ \\"," DOCTEST_MSVC_SUPPRESS_WARNING(4626) /* assignment operator was implicitly deleted */ \\"," DOCTEST_MSVC_SUPPRESS_WARNING(5027) /* move assignment operator implicitly deleted */ \\"," DOCTEST_MSVC_SUPPRESS_WARNING(5026) /* move constructor was implicitly deleted */ \\"," DOCTEST_MSVC_SUPPRESS_WARNING(4640) /* construction of local static object not thread-safe */ \\"," DOCTEST_MSVC_SUPPRESS_WARNING(5045) /* Spectre mitigation for memory load */ \\"," DOCTEST_MSVC_SUPPRESS_WARNING(5264) /* 'variable-name': 'const' variable is not used */ \\"," /* static analysis */ \\"," DOCTEST_MSVC_SUPPRESS_WARNING(26439) /* Function may not throw. Declare it 'noexcept' */ \\"," DOCTEST_MSVC_SUPPRESS_WARNING(26495) /* Always initialize a member variable */ \\"," DOCTEST_MSVC_SUPPRESS_WARNING(26451) /* Arithmetic overflow ... */ \\"," DOCTEST_MSVC_SUPPRESS_WARNING(26444) /* Avoid unnamed objects with custom ctor and dtor... */ \\"," DOCTEST_MSVC_SUPPRESS_WARNING(26812) /* Prefer 'enum class' over 'enum' */","","#define DOCTEST_SUPPRESS_COMMON_WARNINGS_POP \\"," DOCTEST_CLANG_SUPPRESS_WARNING_POP \\"," DOCTEST_GCC_SUPPRESS_WARNING_POP \\"," DOCTEST_MSVC_SUPPRESS_WARNING_POP","","DOCTEST_SUPPRESS_COMMON_WARNINGS_PUSH","","DOCTEST_CLANG_SUPPRESS_WARNING_PUSH","DOCTEST_CLANG_SUPPRESS_WARNING(\"-Wnon-virtual-dtor\")","DOCTEST_CLANG_SUPPRESS_WARNING(\"-Wdeprecated\")","","DOCTEST_GCC_SUPPRESS_WARNING_PUSH","DOCTEST_GCC_SUPPRESS_WARNING(\"-Wctor-dtor-privacy\")","DOCTEST_GCC_SUPPRESS_WARNING(\"-Wnon-virtual-dtor\")","DOCTEST_GCC_SUPPRESS_WARNING(\"-Wsign-promo\")","","DOCTEST_MSVC_SUPPRESS_WARNING_PUSH","DOCTEST_MSVC_SUPPRESS_WARNING(4623) // default constructor was implicitly defined as deleted","","#define DOCTEST_MAKE_STD_HEADERS_CLEAN_FROM_WARNINGS_ON_WALL_BEGIN \\"," DOCTEST_MSVC_SUPPRESS_WARNING_PUSH \\"," DOCTEST_MSVC_SUPPRESS_WARNING(4548) /* before comma no effect; expected side - effect */ \\"," DOCTEST_MSVC_SUPPRESS_WARNING(4265) /* virtual functions, but destructor is not virtual */ \\"," DOCTEST_MSVC_SUPPRESS_WARNING(4986) /* exception specification does not match previous */ \\"," DOCTEST_MSVC_SUPPRESS_WARNING(4350) /* 'member1' called instead of 'member2' */ \\"," DOCTEST_MSVC_SUPPRESS_WARNING(4668) /* not defined as a preprocessor macro */ \\"," DOCTEST_MSVC_SUPPRESS_WARNING(4365) /* signed/unsigned mismatch */ \\"," DOCTEST_MSVC_SUPPRESS_WARNING(4774) /* format string not a string literal */ \\"," DOCTEST_MSVC_SUPPRESS_WARNING(4820) /* padding */ \\"," DOCTEST_MSVC_SUPPRESS_WARNING(4625) /* copy constructor was implicitly deleted */ \\"," DOCTEST_MSVC_SUPPRESS_WARNING(4626) /* assignment operator was implicitly deleted */ \\"," DOCTEST_MSVC_SUPPRESS_WARNING(5027) /* move assignment operator implicitly deleted */ \\"," DOCTEST_MSVC_SUPPRESS_WARNING(5026) /* move constructor was implicitly deleted */ \\"," DOCTEST_MSVC_SUPPRESS_WARNING(4623) /* default constructor was implicitly deleted */ \\"," DOCTEST_MSVC_SUPPRESS_WARNING(5039) /* pointer to pot. throwing function passed to extern C */ \\"," DOCTEST_MSVC_SUPPRESS_WARNING(5045) /* Spectre mitigation for memory load */ \\"," DOCTEST_MSVC_SUPPRESS_WARNING(5105) /* macro producing 'defined' has undefined behavior */ \\"," DOCTEST_MSVC_SUPPRESS_WARNING(4738) /* storing float result in memory, loss of performance */ \\"," DOCTEST_MSVC_SUPPRESS_WARNING(5262) /* implicit fall-through */","","#define DOCTEST_MAKE_STD_HEADERS_CLEAN_FROM_WARNINGS_ON_WALL_END DOCTEST_MSVC_SUPPRESS_WARNING_POP","","// =================================================================================================","// == FEATURE DETECTION ============================================================================","// =================================================================================================","","// general compiler feature support table: https://en.cppreference.com/w/cpp/compiler_support","// MSVC C++11 feature support table: https://msdn.microsoft.com/en-us/library/hh567368.aspx","// GCC C++11 feature support table: https://gcc.gnu.org/projects/cxx-status.html","// MSVC version table:","// https://en.wikipedia.org/wiki/Microsoft_Visual_C%2B%2B#Internal_version_numbering","// MSVC++ 14.3 (17) _MSC_VER == 1930 (Visual Studio 2022)","// MSVC++ 14.2 (16) _MSC_VER == 1920 (Visual Studio 2019)","// MSVC++ 14.1 (15) _MSC_VER == 1910 (Visual Studio 2017)","// MSVC++ 14.0 _MSC_VER == 1900 (Visual Studio 2015)","// MSVC++ 12.0 _MSC_VER == 1800 (Visual Studio 2013)","// MSVC++ 11.0 _MSC_VER == 1700 (Visual Studio 2012)","// MSVC++ 10.0 _MSC_VER == 1600 (Visual Studio 2010)","// MSVC++ 9.0 _MSC_VER == 1500 (Visual Studio 2008)","// MSVC++ 8.0 _MSC_VER == 1400 (Visual Studio 2005)","","// Universal Windows Platform support","#if defined(WINAPI_FAMILY) \u0026\u0026 (WINAPI_FAMILY == WINAPI_FAMILY_APP)","#define DOCTEST_CONFIG_NO_WINDOWS_SEH","#endif // WINAPI_FAMILY","#if DOCTEST_MSVC \u0026\u0026 !defined(DOCTEST_CONFIG_WINDOWS_SEH)","#define DOCTEST_CONFIG_WINDOWS_SEH","#endif // MSVC","#if defined(DOCTEST_CONFIG_NO_WINDOWS_SEH) \u0026\u0026 defined(DOCTEST_CONFIG_WINDOWS_SEH)","#undef DOCTEST_CONFIG_WINDOWS_SEH","#endif // DOCTEST_CONFIG_NO_WINDOWS_SEH","","#if !defined(_WIN32) \u0026\u0026 !defined(__QNX__) \u0026\u0026 !defined(DOCTEST_CONFIG_POSIX_SIGNALS) \u0026\u0026 \\"," !defined(__EMSCRIPTEN__) \u0026\u0026 !defined(__wasi__)","#define DOCTEST_CONFIG_POSIX_SIGNALS","#endif // _WIN32","#if defined(DOCTEST_CONFIG_NO_POSIX_SIGNALS) \u0026\u0026 defined(DOCTEST_CONFIG_POSIX_SIGNALS)","#undef DOCTEST_CONFIG_POSIX_SIGNALS","#endif // DOCTEST_CONFIG_NO_POSIX_SIGNALS","","#ifndef DOCTEST_CONFIG_NO_EXCEPTIONS","#if !defined(__cpp_exceptions) \u0026\u0026 !defined(__EXCEPTIONS) \u0026\u0026 !defined(_CPPUNWIND) \\"," || defined(__wasi__)","#define DOCTEST_CONFIG_NO_EXCEPTIONS","#endif // no exceptions","#endif // DOCTEST_CONFIG_NO_EXCEPTIONS","","#ifdef DOCTEST_CONFIG_NO_EXCEPTIONS_BUT_WITH_ALL_ASSERTS","#ifndef DOCTEST_CONFIG_NO_EXCEPTIONS","#define DOCTEST_CONFIG_NO_EXCEPTIONS","#endif // DOCTEST_CONFIG_NO_EXCEPTIONS","#endif // DOCTEST_CONFIG_NO_EXCEPTIONS_BUT_WITH_ALL_ASSERTS","","#if defined(DOCTEST_CONFIG_NO_EXCEPTIONS) \u0026\u0026 !defined(DOCTEST_CONFIG_NO_TRY_CATCH_IN_ASSERTS)","#define DOCTEST_CONFIG_NO_TRY_CATCH_IN_ASSERTS","#endif // DOCTEST_CONFIG_NO_EXCEPTIONS \u0026\u0026 !DOCTEST_CONFIG_NO_TRY_CATCH_IN_ASSERTS","","#ifdef __wasi__","#define DOCTEST_CONFIG_NO_MULTITHREADING","#endif","","#if defined(DOCTEST_CONFIG_IMPLEMENT_WITH_MAIN) \u0026\u0026 !defined(DOCTEST_CONFIG_IMPLEMENT)","#define DOCTEST_CONFIG_IMPLEMENT","#endif // DOCTEST_CONFIG_IMPLEMENT_WITH_MAIN","","#if defined(_WIN32) || defined(__CYGWIN__)","#if DOCTEST_MSVC","#define DOCTEST_SYMBOL_EXPORT __declspec(dllexport)","#define DOCTEST_SYMBOL_IMPORT __declspec(dllimport)","#else // MSVC","#define DOCTEST_SYMBOL_EXPORT __attribute__((dllexport))","#define DOCTEST_SYMBOL_IMPORT __attribute__((dllimport))","#endif // MSVC","#else // _WIN32","#define DOCTEST_SYMBOL_EXPORT __attribute__((visibility(\"default\")))","#define DOCTEST_SYMBOL_IMPORT","#endif // _WIN32","","#ifdef DOCTEST_CONFIG_IMPLEMENTATION_IN_DLL","#ifdef DOCTEST_CONFIG_IMPLEMENT","#define DOCTEST_INTERFACE DOCTEST_SYMBOL_EXPORT","#else // DOCTEST_CONFIG_IMPLEMENT","#define DOCTEST_INTERFACE DOCTEST_SYMBOL_IMPORT","#endif // DOCTEST_CONFIG_IMPLEMENT","#else // DOCTEST_CONFIG_IMPLEMENTATION_IN_DLL","#define DOCTEST_INTERFACE","#endif // DOCTEST_CONFIG_IMPLEMENTATION_IN_DLL","","// needed for extern template instantiations","// see https://github.com/fmtlib/fmt/issues/2228","#if DOCTEST_MSVC","#define DOCTEST_INTERFACE_DECL","#define DOCTEST_INTERFACE_DEF DOCTEST_INTERFACE","#else // DOCTEST_MSVC","#define DOCTEST_INTERFACE_DECL DOCTEST_INTERFACE","#define DOCTEST_INTERFACE_DEF","#endif // DOCTEST_MSVC","","#define DOCTEST_EMPTY","","#if DOCTEST_MSVC","#define DOCTEST_NOINLINE __declspec(noinline)","#define DOCTEST_UNUSED","#define DOCTEST_ALIGNMENT(x)","#elif DOCTEST_CLANG \u0026\u0026 DOCTEST_CLANG \u003c DOCTEST_COMPILER(3, 5, 0)","#define DOCTEST_NOINLINE","#define DOCTEST_UNUSED","#define DOCTEST_ALIGNMENT(x)","#else","#define DOCTEST_NOINLINE __attribute__((noinline))","#define DOCTEST_UNUSED __attribute__((unused))","#define DOCTEST_ALIGNMENT(x) __attribute__((aligned(x)))","#endif","","#ifdef DOCTEST_CONFIG_NO_CONTRADICTING_INLINE","#define DOCTEST_INLINE_NOINLINE inline","#else","#define DOCTEST_INLINE_NOINLINE inline DOCTEST_NOINLINE","#endif","","#ifndef DOCTEST_NORETURN","#if DOCTEST_MSVC \u0026\u0026 (DOCTEST_MSVC \u003c DOCTEST_COMPILER(19, 0, 0))","#define DOCTEST_NORETURN","#else // DOCTEST_MSVC","#define DOCTEST_NORETURN [[noreturn]]","#endif // DOCTEST_MSVC","#endif // DOCTEST_NORETURN","","#ifndef DOCTEST_NOEXCEPT","#if DOCTEST_MSVC \u0026\u0026 (DOCTEST_MSVC \u003c DOCTEST_COMPILER(19, 0, 0))","#define DOCTEST_NOEXCEPT","#else // DOCTEST_MSVC","#define DOCTEST_NOEXCEPT noexcept","#endif // DOCTEST_MSVC","#endif // DOCTEST_NOEXCEPT","","#ifndef DOCTEST_CONSTEXPR","#if DOCTEST_MSVC \u0026\u0026 (DOCTEST_MSVC \u003c DOCTEST_COMPILER(19, 0, 0))","#define DOCTEST_CONSTEXPR const","#define DOCTEST_CONSTEXPR_FUNC inline","#else // DOCTEST_MSVC","#define DOCTEST_CONSTEXPR constexpr","#define DOCTEST_CONSTEXPR_FUNC constexpr","#endif // DOCTEST_MSVC","#endif // DOCTEST_CONSTEXPR","","#ifndef DOCTEST_NO_SANITIZE_INTEGER","#if DOCTEST_CLANG \u003e= DOCTEST_COMPILER(3, 7, 0)","#define DOCTEST_NO_SANITIZE_INTEGER __attribute__((no_sanitize(\"integer\")))","#else","#define DOCTEST_NO_SANITIZE_INTEGER","#endif","#endif // DOCTEST_NO_SANITIZE_INTEGER","","// =================================================================================================","// == FEATURE DETECTION END ========================================================================","// =================================================================================================","","#define DOCTEST_DECLARE_INTERFACE(name) \\"," virtual ~name(); \\"," name() = default; \\"," name(const name\u0026) = delete; \\"," name(name\u0026\u0026) = delete; \\"," name\u0026 operator=(const name\u0026) = delete; \\"," name\u0026 operator=(name\u0026\u0026) = delete;","","#define DOCTEST_DEFINE_INTERFACE(name) \\"," name::~name() = default;","","// internal macros for string concatenation and anonymous variable name generation","#define DOCTEST_CAT_IMPL(s1, s2) s1##s2","#define DOCTEST_CAT(s1, s2) DOCTEST_CAT_IMPL(s1, s2)","#ifdef __COUNTER__ // not standard and may be missing for some compilers","#define DOCTEST_ANONYMOUS(x) DOCTEST_CAT(x, __COUNTER__)","#else // __COUNTER__","#define DOCTEST_ANONYMOUS(x) DOCTEST_CAT(x, __LINE__)","#endif // __COUNTER__","","#ifndef DOCTEST_CONFIG_ASSERTION_PARAMETERS_BY_VALUE","#define DOCTEST_REF_WRAP(x) x\u0026","#else // DOCTEST_CONFIG_ASSERTION_PARAMETERS_BY_VALUE","#define DOCTEST_REF_WRAP(x) x","#endif // DOCTEST_CONFIG_ASSERTION_PARAMETERS_BY_VALUE","","// not using __APPLE__ because... this is how Catch does it","#ifdef __MAC_OS_X_VERSION_MIN_REQUIRED","#define DOCTEST_PLATFORM_MAC","#elif defined(__IPHONE_OS_VERSION_MIN_REQUIRED)","#define DOCTEST_PLATFORM_IPHONE","#elif defined(_WIN32)","#define DOCTEST_PLATFORM_WINDOWS","#elif defined(__wasi__)","#define DOCTEST_PLATFORM_WASI","#else // DOCTEST_PLATFORM","#define DOCTEST_PLATFORM_LINUX","#endif // DOCTEST_PLATFORM","","namespace doctest { namespace detail {"," static DOCTEST_CONSTEXPR int consume(const int*, int) noexcept { return 0; }","}}","","#define DOCTEST_GLOBAL_NO_WARNINGS(var, ...) \\"," DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH(\"-Wglobal-constructors\") \\"," static const int var = doctest::detail::consume(\u0026var, __VA_ARGS__); \\"," DOCTEST_CLANG_SUPPRESS_WARNING_POP","","#ifndef DOCTEST_BREAK_INTO_DEBUGGER","// should probably take a look at https://github.com/scottt/debugbreak","#ifdef DOCTEST_PLATFORM_LINUX","#if defined(__GNUC__) \u0026\u0026 (defined(__i386) || defined(__x86_64))","// Break at the location of the failing check if possible","#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__(\"int $3\\n\" : :) // NOLINT(hicpp-no-assembler)","#else","#include \u003csignal.h\u003e","#define DOCTEST_BREAK_INTO_DEBUGGER() raise(SIGTRAP)","#endif","#elif defined(DOCTEST_PLATFORM_MAC)","#if defined(__x86_64) || defined(__x86_64__) || defined(__amd64__) || defined(__i386)","#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__(\"int $3\\n\" : :) // NOLINT(hicpp-no-assembler)","#elif defined(__ppc__) || defined(__ppc64__)","// https://www.cocoawithlove.com/2008/03/break-into-debugger.html","#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__(\"li r0, 20\\nsc\\nnop\\nli r0, 37\\nli r4, 2\\nsc\\nnop\\n\": : : \"memory\",\"r0\",\"r3\",\"r4\") // NOLINT(hicpp-no-assembler)","#else","#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__(\"brk #0\"); // NOLINT(hicpp-no-assembler)","#endif","#elif DOCTEST_MSVC","#define DOCTEST_BREAK_INTO_DEBUGGER() __debugbreak()","#elif defined(__MINGW32__)","DOCTEST_GCC_SUPPRESS_WARNING_WITH_PUSH(\"-Wredundant-decls\")","extern \"C\" __declspec(dllimport) void __stdcall DebugBreak();","DOCTEST_GCC_SUPPRESS_WARNING_POP","#define DOCTEST_BREAK_INTO_DEBUGGER() ::DebugBreak()","#else // linux","#define DOCTEST_BREAK_INTO_DEBUGGER() (static_cast\u003cvoid\u003e(0))","#endif // linux","#endif // DOCTEST_BREAK_INTO_DEBUGGER","","// this is kept here for backwards compatibility since the config option was changed","#ifdef DOCTEST_CONFIG_USE_IOSFWD","#ifndef DOCTEST_CONFIG_USE_STD_HEADERS","#define DOCTEST_CONFIG_USE_STD_HEADERS","#endif","#endif // DOCTEST_CONFIG_USE_IOSFWD","","// for clang - always include ciso646 (which drags some std stuff) because","// we want to check if we are using libc++ with the _LIBCPP_VERSION macro in","// which case we don't want to forward declare stuff from std - for reference:","// https://github.com/doctest/doctest/issues/126","// https://github.com/doctest/doctest/issues/356","#if DOCTEST_CLANG","#include \u003cciso646\u003e","#endif // clang","","#ifdef _LIBCPP_VERSION","#ifndef DOCTEST_CONFIG_USE_STD_HEADERS","#define DOCTEST_CONFIG_USE_STD_HEADERS","#endif","#endif // _LIBCPP_VERSION","","#ifdef DOCTEST_CONFIG_USE_STD_HEADERS","#ifndef DOCTEST_CONFIG_INCLUDE_TYPE_TRAITS","#define DOCTEST_CONFIG_INCLUDE_TYPE_TRAITS","#endif // DOCTEST_CONFIG_INCLUDE_TYPE_TRAITS","DOCTEST_MAKE_STD_HEADERS_CLEAN_FROM_WARNINGS_ON_WALL_BEGIN","#include \u003ccstddef\u003e","#include \u003costream\u003e","#include \u003cistream\u003e","DOCTEST_MAKE_STD_HEADERS_CLEAN_FROM_WARNINGS_ON_WALL_END","#else // DOCTEST_CONFIG_USE_STD_HEADERS","","// Forward declaring 'X' in namespace std is not permitted by the C++ Standard.","DOCTEST_MSVC_SUPPRESS_WARNING_WITH_PUSH(4643)","","namespace std { // NOLINT(cert-dcl58-cpp)","typedef decltype(nullptr) nullptr_t; // NOLINT(modernize-use-using)","typedef decltype(sizeof(void*)) size_t; // NOLINT(modernize-use-using)","template \u003cclass charT\u003e","struct char_traits;","template \u003c\u003e","struct char_traits\u003cchar\u003e;","template \u003cclass charT, class traits\u003e","class basic_ostream; // NOLINT(fuchsia-virtual-inheritance)","typedef basic_ostream\u003cchar, char_traits\u003cchar\u003e\u003e ostream; // NOLINT(modernize-use-using)","template\u003cclass traits\u003e","// NOLINTNEXTLINE","basic_ostream\u003cchar, traits\u003e\u0026 operator\u003c\u003c(basic_ostream\u003cchar, traits\u003e\u0026, const char*);","template \u003cclass charT, class traits\u003e","class basic_istream;","typedef basic_istream\u003cchar, char_traits\u003cchar\u003e\u003e istream; // NOLINT(modernize-use-using)","template \u003cclass... Types\u003e","class tuple;","#if DOCTEST_MSVC \u003e= DOCTEST_COMPILER(19, 20, 0)","// see this issue on why this is needed: https://github.com/doctest/doctest/issues/183","template \u003cclass Ty\u003e","class allocator;","template \u003cclass Elem, class Traits, class Alloc\u003e","class basic_string;","using string = basic_string\u003cchar, char_traits\u003cchar\u003e, allocator\u003cchar\u003e\u003e;","#endif // VS 2019","} // namespace std","","DOCTEST_MSVC_SUPPRESS_WARNING_POP","","#endif // DOCTEST_CONFIG_USE_STD_HEADERS","","#ifdef DOCTEST_CONFIG_INCLUDE_TYPE_TRAITS","#include \u003ctype_traits\u003e","#endif // DOCTEST_CONFIG_INCLUDE_TYPE_TRAITS","","namespace doctest {","","using std::size_t;","","DOCTEST_INTERFACE extern bool is_running_in_test;","","#ifndef DOCTEST_CONFIG_STRING_SIZE_TYPE","#define DOCTEST_CONFIG_STRING_SIZE_TYPE unsigned","#endif","","// A 24 byte string class (can be as small as 17 for x64 and 13 for x86) that can hold strings with length","// of up to 23 chars on the stack before going on the heap - the last byte of the buffer is used for:","// - \"is small\" bit - the highest bit - if \"0\" then it is small - otherwise its \"1\" (128)","// - if small - capacity left before going on the heap - using the lowest 5 bits","// - if small - 2 bits are left unused - the second and third highest ones","// - if small - acts as a null terminator if strlen() is 23 (24 including the null terminator)","// and the \"is small\" bit remains \"0\" (\"as well as the capacity left\") so its OK","// Idea taken from this lecture about the string implementation of facebook/folly - fbstring","// https://www.youtube.com/watch?v=kPR8h4-qZdk","// TODO:","// - optimizations - like not deleting memory unnecessarily in operator= and etc.","// - resize/reserve/clear","// - replace","// - back/front","// - iterator stuff","// - find \u0026 friends","// - push_back/pop_back","// - assign/insert/erase","// - relational operators as free functions - taking const char* as one of the params","class DOCTEST_INTERFACE String","{","public:"," using size_type = DOCTEST_CONFIG_STRING_SIZE_TYPE;","","private:"," static DOCTEST_CONSTEXPR size_type len = 24; //!OCLINT avoid private static members"," static DOCTEST_CONSTEXPR size_type last = len - 1; //!OCLINT avoid private static members",""," struct view // len should be more than sizeof(view) - because of the final byte for flags"," {"," char* ptr;"," size_type size;"," size_type capacity;"," };",""," union"," {"," char buf[len]; // NOLINT(*-avoid-c-arrays)"," view data;"," };",""," char* allocate(size_type sz);",""," bool isOnStack() const noexcept { return (buf[last] \u0026 128) == 0; }"," void setOnHeap() noexcept;"," void setLast(size_type in = last) noexcept;"," void setSize(size_type sz) noexcept;",""," void copy(const String\u0026 other);","","public:"," static DOCTEST_CONSTEXPR size_type npos = static_cast\u003csize_type\u003e(-1);",""," String() noexcept;"," ~String();",""," // cppcheck-suppress noExplicitConstructor"," String(const char* in);"," String(const char* in, size_type in_size);",""," String(std::istream\u0026 in, size_type in_size);",""," String(const String\u0026 other);"," String\u0026 operator=(const String\u0026 other);",""," String\u0026 operator+=(const String\u0026 other);",""," String(String\u0026\u0026 other) noexcept;"," String\u0026 operator=(String\u0026\u0026 other) noexcept;",""," char operator[](size_type i) const;"," char\u0026 operator[](size_type i);",""," // the only functions I'm willing to leave in the interface - available for inlining"," const char* c_str() const { return const_cast\u003cString*\u003e(this)-\u003ec_str(); } // NOLINT"," char* c_str() {"," if (isOnStack()) {"," return reinterpret_cast\u003cchar*\u003e(buf);"," }"," return data.ptr;"," }",""," size_type size() const;"," size_type capacity() const;",""," String substr(size_type pos, size_type cnt = npos) \u0026\u0026;"," String substr(size_type pos, size_type cnt = npos) const \u0026;",""," size_type find(char ch, size_type pos = 0) const;"," size_type rfind(char ch, size_type pos = npos) const;",""," int compare(const char* other, bool no_case = false) const;"," int compare(const String\u0026 other, bool no_case = false) const;","","friend DOCTEST_INTERFACE std::ostream\u0026 operator\u003c\u003c(std::ostream\u0026 s, const String\u0026 in);","};","","DOCTEST_INTERFACE String operator+(const String\u0026 lhs, const String\u0026 rhs);","","DOCTEST_INTERFACE bool operator==(const String\u0026 lhs, const String\u0026 rhs);","DOCTEST_INTERFACE bool operator!=(const String\u0026 lhs, const String\u0026 rhs);","DOCTEST_INTERFACE bool operator\u003c(const String\u0026 lhs, const String\u0026 rhs);","DOCTEST_INTERFACE bool operator\u003e(const String\u0026 lhs, const String\u0026 rhs);","DOCTEST_INTERFACE bool operator\u003c=(const String\u0026 lhs, const String\u0026 rhs);","DOCTEST_INTERFACE bool operator\u003e=(const String\u0026 lhs, const String\u0026 rhs);","","class DOCTEST_INTERFACE Contains {","public:"," explicit Contains(const String\u0026 string);",""," bool checkWith(const String\u0026 other) const;",""," String string;","};","","DOCTEST_INTERFACE String toString(const Contains\u0026 in);","","DOCTEST_INTERFACE bool operator==(const String\u0026 lhs, const Contains\u0026 rhs);","DOCTEST_INTERFACE bool operator==(const Contains\u0026 lhs, const String\u0026 rhs);","DOCTEST_INTERFACE bool operator!=(const String\u0026 lhs, const Contains\u0026 rhs);","DOCTEST_INTERFACE bool operator!=(const Contains\u0026 lhs, const String\u0026 rhs);","","namespace Color {"," enum Enum"," {"," None = 0,"," White,"," Red,"," Green,"," Blue,"," Cyan,"," Yellow,"," Grey,",""," Bright = 0x10,",""," BrightRed = Bright | Red,"," BrightGreen = Bright | Green,"," LightGrey = Bright | Grey,"," BrightWhite = Bright | White"," };",""," DOCTEST_INTERFACE std::ostream\u0026 operator\u003c\u003c(std::ostream\u0026 s, Color::Enum code);","} // namespace Color","","namespace assertType {"," enum Enum"," {"," // macro traits",""," is_warn = 1,"," is_check = 2 * is_warn,"," is_require = 2 * is_check,",""," is_normal = 2 * is_require,"," is_throws = 2 * is_normal,"," is_throws_as = 2 * is_throws,"," is_throws_with = 2 * is_throws_as,"," is_nothrow = 2 * is_throws_with,",""," is_false = 2 * is_nothrow,"," is_unary = 2 * is_false, // not checked anywhere - used just to distinguish the types",""," is_eq = 2 * is_unary,"," is_ne = 2 * is_eq,",""," is_lt = 2 * is_ne,"," is_gt = 2 * is_lt,",""," is_ge = 2 * is_gt,"," is_le = 2 * is_ge,",""," // macro types",""," DT_WARN = is_normal | is_warn,"," DT_CHECK = is_normal | is_check,"," DT_REQUIRE = is_normal | is_require,",""," DT_WARN_FALSE = is_normal | is_false | is_warn,"," DT_CHECK_FALSE = is_normal | is_false | is_check,"," DT_REQUIRE_FALSE = is_normal | is_false | is_require,",""," DT_WARN_THROWS = is_throws | is_warn,"," DT_CHECK_THROWS = is_throws | is_check,"," DT_REQUIRE_THROWS = is_throws | is_require,",""," DT_WARN_THROWS_AS = is_throws_as | is_warn,"," DT_CHECK_THROWS_AS = is_throws_as | is_check,"," DT_REQUIRE_THROWS_AS = is_throws_as | is_require,",""," DT_WARN_THROWS_WITH = is_throws_with | is_warn,"," DT_CHECK_THROWS_WITH = is_throws_with | is_check,"," DT_REQUIRE_THROWS_WITH = is_throws_with | is_require,",""," DT_WARN_THROWS_WITH_AS = is_throws_with | is_throws_as | is_warn,"," DT_CHECK_THROWS_WITH_AS = is_throws_with | is_throws_as | is_check,"," DT_REQUIRE_THROWS_WITH_AS = is_throws_with | is_throws_as | is_require,",""," DT_WARN_NOTHROW = is_nothrow | is_warn,"," DT_CHECK_NOTHROW = is_nothrow | is_check,"," DT_REQUIRE_NOTHROW = is_nothrow | is_require,",""," DT_WARN_EQ = is_normal | is_eq | is_warn,"," DT_CHECK_EQ = is_normal | is_eq | is_check,"," DT_REQUIRE_EQ = is_normal | is_eq | is_require,",""," DT_WARN_NE = is_normal | is_ne | is_warn,"," DT_CHECK_NE = is_normal | is_ne | is_check,"," DT_REQUIRE_NE = is_normal | is_ne | is_require,",""," DT_WARN_GT = is_normal | is_gt | is_warn,"," DT_CHECK_GT = is_normal | is_gt | is_check,"," DT_REQUIRE_GT = is_normal | is_gt | is_require,",""," DT_WARN_LT = is_normal | is_lt | is_warn,"," DT_CHECK_LT = is_normal | is_lt | is_check,"," DT_REQUIRE_LT = is_normal | is_lt | is_require,",""," DT_WARN_GE = is_normal | is_ge | is_warn,"," DT_CHECK_GE = is_normal | is_ge | is_check,"," DT_REQUIRE_GE = is_normal | is_ge | is_require,",""," DT_WARN_LE = is_normal | is_le | is_warn,"," DT_CHECK_LE = is_normal | is_le | is_check,"," DT_REQUIRE_LE = is_normal | is_le | is_require,",""," DT_WARN_UNARY = is_normal | is_unary | is_warn,"," DT_CHECK_UNARY = is_normal | is_unary | is_check,"," DT_REQUIRE_UNARY = is_normal | is_unary | is_require,",""," DT_WARN_UNARY_FALSE = is_normal | is_false | is_unary | is_warn,"," DT_CHECK_UNARY_FALSE = is_normal | is_false | is_unary | is_check,"," DT_REQUIRE_UNARY_FALSE = is_normal | is_false | is_unary | is_require,"," };","} // namespace assertType","","DOCTEST_INTERFACE const char* assertString(assertType::Enum at);","DOCTEST_INTERFACE const char* failureString(assertType::Enum at);","DOCTEST_INTERFACE const char* skipPathFromFilename(const char* file);","","struct DOCTEST_INTERFACE TestCaseData","{"," String m_file; // the file in which the test was registered (using String - see #350)"," unsigned m_line; // the line where the test was registered"," const char* m_name; // name of the test case"," const char* m_test_suite; // the test suite in which the test was added"," const char* m_description;"," bool m_skip;"," bool m_no_breaks;"," bool m_no_output;"," bool m_may_fail;"," bool m_should_fail;"," int m_expected_failures;"," double m_timeout;","};","","struct DOCTEST_INTERFACE AssertData","{"," // common - for all asserts"," const TestCaseData* m_test_case;"," assertType::Enum m_at;"," const char* m_file;"," int m_line;"," const char* m_expr;"," bool m_failed;",""," // exception-related - for all asserts"," bool m_threw;"," String m_exception;",""," // for normal asserts"," String m_decomp;",""," // for specific exception-related asserts"," bool m_threw_as;"," const char* m_exception_type;",""," class DOCTEST_INTERFACE StringContains {"," private:"," Contains content;"," bool isContains;",""," public:"," StringContains(const String\u0026 str) : content(str), isContains(false) { }"," StringContains(Contains cntn) : content(static_cast\u003cContains\u0026\u0026\u003e(cntn)), isContains(true) { }",""," bool check(const String\u0026 str) { return isContains ? (content == str) : (content.string == str); }",""," operator const String\u0026() const { return content.string; }",""," const char* c_str() const { return content.string.c_str(); }"," } m_exception_string;",""," AssertData(assertType::Enum at, const char* file, int line, const char* expr,"," const char* exception_type, const StringContains\u0026 exception_string);","};","","struct DOCTEST_INTERFACE MessageData","{"," String m_string;"," const char* m_file;"," int m_line;"," assertType::Enum m_severity;","};","","struct DOCTEST_INTERFACE SubcaseSignature","{"," String m_name;"," const char* m_file;"," int m_line;",""," bool operator==(const SubcaseSignature\u0026 other) const;"," bool operator\u003c(const SubcaseSignature\u0026 other) const;","};","","struct DOCTEST_INTERFACE IContextScope","{"," DOCTEST_DECLARE_INTERFACE(IContextScope)"," virtual void stringify(std::ostream*) const = 0;","};","","namespace detail {"," struct DOCTEST_INTERFACE TestCase;","} // namespace detail","","struct ContextOptions //!OCLINT too many fields","{"," std::ostream* cout = nullptr; // stdout stream"," String binary_name; // the test binary name",""," const detail::TestCase* currentTest = nullptr;",""," // == parameters from the command line"," String out; // output filename"," String order_by; // how tests should be ordered"," unsigned rand_seed; // the seed for rand ordering",""," unsigned first; // the first (matching) test to be executed"," unsigned last; // the last (matching) test to be executed",""," int abort_after; // stop tests after this many failed assertions"," int subcase_filter_levels; // apply the subcase filters for the first N levels",""," bool success; // include successful assertions in output"," bool case_sensitive; // if filtering should be case sensitive"," bool exit; // if the program should be exited after the tests are ran/whatever"," bool duration; // print the time duration of each test case"," bool minimal; // minimal console output (only test failures)"," bool quiet; // no console output"," bool no_throw; // to skip exceptions-related assertion macros"," bool no_exitcode; // if the framework should return 0 as the exitcode"," bool no_run; // to not run the tests at all (can be done with an \"*\" exclude)"," bool no_intro; // to not print the intro of the framework"," bool no_version; // to not print the version of the framework"," bool no_colors; // if output to the console should be colorized"," bool force_colors; // forces the use of colors even when a tty cannot be detected"," bool no_breaks; // to not break into the debugger"," bool no_skip; // don't skip test cases which are marked to be skipped"," bool gnu_file_line; // if line numbers should be surrounded with :x: and not (x):"," bool no_path_in_filenames; // if the path to files should be removed from the output"," bool no_line_numbers; // if source code line numbers should be omitted from the output"," bool no_debug_output; // no output in the debug console when a debugger is attached"," bool no_skipped_summary; // don't print \"skipped\" in the summary !!! UNDOCUMENTED !!!"," bool no_time_in_output; // omit any time/timestamps from output !!! UNDOCUMENTED !!!",""," bool help; // to print the help"," bool version; // to print the version"," bool count; // if only the count of matching tests is to be retrieved"," bool list_test_cases; // to list all tests matching the filters"," bool list_test_suites; // to list all suites matching the filters"," bool list_reporters; // lists all registered reporters","};","","namespace detail {"," namespace types {","#ifdef DOCTEST_CONFIG_INCLUDE_TYPE_TRAITS"," using namespace std;","#else"," template \u003cbool COND, typename T = void\u003e"," struct enable_if { };",""," template \u003ctypename T\u003e"," struct enable_if\u003ctrue, T\u003e { using type = T; };",""," struct true_type { static DOCTEST_CONSTEXPR bool value = true; };"," struct false_type { static DOCTEST_CONSTEXPR bool value = false; };",""," template \u003ctypename T\u003e struct remove_reference { using type = T; };"," template \u003ctypename T\u003e struct remove_reference\u003cT\u0026\u003e { using type = T; };"," template \u003ctypename T\u003e struct remove_reference\u003cT\u0026\u0026\u003e { using type = T; };",""," template \u003ctypename T\u003e struct is_rvalue_reference : false_type { };"," template \u003ctypename T\u003e struct is_rvalue_reference\u003cT\u0026\u0026\u003e : true_type { };",""," template\u003ctypename T\u003e struct remove_const { using type = T; };"," template \u003ctypename T\u003e struct remove_const\u003cconst T\u003e { using type = T; };",""," // Compiler intrinsics"," template \u003ctypename T\u003e struct is_enum { static DOCTEST_CONSTEXPR bool value = __is_enum(T); };"," template \u003ctypename T\u003e struct underlying_type { using type = __underlying_type(T); };",""," template \u003ctypename T\u003e struct is_pointer : false_type { };"," template \u003ctypename T\u003e struct is_pointer\u003cT*\u003e : true_type { };",""," template \u003ctypename T\u003e struct is_array : false_type { };"," // NOLINTNEXTLINE(*-avoid-c-arrays)"," template \u003ctypename T, size_t SIZE\u003e struct is_array\u003cT[SIZE]\u003e : true_type { };","#endif"," }",""," // \u003cutility\u003e"," template \u003ctypename T\u003e"," T\u0026\u0026 declval();",""," template \u003cclass T\u003e"," DOCTEST_CONSTEXPR_FUNC T\u0026\u0026 forward(typename types::remove_reference\u003cT\u003e::type\u0026 t) DOCTEST_NOEXCEPT {"," return static_cast\u003cT\u0026\u0026\u003e(t);"," }",""," template \u003cclass T\u003e"," DOCTEST_CONSTEXPR_FUNC T\u0026\u0026 forward(typename types::remove_reference\u003cT\u003e::type\u0026\u0026 t) DOCTEST_NOEXCEPT {"," return static_cast\u003cT\u0026\u0026\u003e(t);"," }",""," template \u003ctypename T\u003e"," struct deferred_false : types::false_type { };","","// MSVS 2015 :(","#if !DOCTEST_CLANG \u0026\u0026 defined(_MSC_VER) \u0026\u0026 _MSC_VER \u003c= 1900"," template \u003ctypename T, typename = void\u003e"," struct has_global_insertion_operator : types::false_type { };",""," template \u003ctypename T\u003e"," struct has_global_insertion_operator\u003cT, decltype(::operator\u003c\u003c(declval\u003cstd::ostream\u0026\u003e(), declval\u003cconst T\u0026\u003e()), void())\u003e : types::true_type { };",""," template \u003ctypename T, typename = void\u003e"," struct has_insertion_operator { static DOCTEST_CONSTEXPR bool value = has_global_insertion_operator\u003cT\u003e::value; };",""," template \u003ctypename T, bool global\u003e"," struct insert_hack;",""," template \u003ctypename T\u003e"," struct insert_hack\u003cT, true\u003e {"," static void insert(std::ostream\u0026 os, const T\u0026 t) { ::operator\u003c\u003c(os, t); }"," };",""," template \u003ctypename T\u003e"," struct insert_hack\u003cT, false\u003e {"," static void insert(std::ostream\u0026 os, const T\u0026 t) { operator\u003c\u003c(os, t); }"," };",""," template \u003ctypename T\u003e"," using insert_hack_t = insert_hack\u003cT, has_global_insertion_operator\u003cT\u003e::value\u003e;","#else"," template \u003ctypename T, typename = void\u003e"," struct has_insertion_operator : types::false_type { };","#endif",""," template \u003ctypename T\u003e"," struct has_insertion_operator\u003cT, decltype(operator\u003c\u003c(declval\u003cstd::ostream\u0026\u003e(), declval\u003cconst T\u0026\u003e()), void())\u003e : types::true_type { };",""," template \u003ctypename T\u003e"," struct should_stringify_as_underlying_type {"," static DOCTEST_CONSTEXPR bool value = detail::types::is_enum\u003cT\u003e::value \u0026\u0026 !doctest::detail::has_insertion_operator\u003cT\u003e::value;"," };",""," DOCTEST_INTERFACE std::ostream* tlssPush();"," DOCTEST_INTERFACE String tlssPop();",""," template \u003cbool C\u003e"," struct StringMakerBase {"," template \u003ctypename T\u003e"," static String convert(const DOCTEST_REF_WRAP(T)) {","#ifdef DOCTEST_CONFIG_REQUIRE_STRINGIFICATION_FOR_ALL_USED_TYPES"," static_assert(deferred_false\u003cT\u003e::value, \"No stringification detected for type T. See string conversion manual\");","#endif"," return \"{?}\";"," }"," };",""," template \u003ctypename T\u003e"," struct filldata;",""," template \u003ctypename T\u003e"," void filloss(std::ostream* stream, const T\u0026 in) {"," filldata\u003cT\u003e::fill(stream, in);"," }",""," template \u003ctypename T, size_t N\u003e"," void filloss(std::ostream* stream, const T (\u0026in)[N]) { // NOLINT(*-avoid-c-arrays)"," // T[N], T(\u0026)[N], T(\u0026\u0026)[N] have same behaviour."," // Hence remove reference."," filloss\u003ctypename types::remove_reference\u003cdecltype(in)\u003e::type\u003e(stream, in);"," }",""," template \u003ctypename T\u003e"," String toStream(const T\u0026 in) {"," std::ostream* stream = tlssPush();"," filloss(stream, in);"," return tlssPop();"," }",""," template \u003c\u003e"," struct StringMakerBase\u003ctrue\u003e {"," template \u003ctypename T\u003e"," static String convert(const DOCTEST_REF_WRAP(T) in) {"," return toStream(in);"," }"," };","} // namespace detail","","template \u003ctypename T\u003e","struct StringMaker : public detail::StringMakerBase\u003c"," detail::has_insertion_operator\u003cT\u003e::value || detail::types::is_pointer\u003cT\u003e::value || detail::types::is_array\u003cT\u003e::value\u003e","{};","","#ifndef DOCTEST_STRINGIFY","#ifdef DOCTEST_CONFIG_DOUBLE_STRINGIFY","#define DOCTEST_STRINGIFY(...) toString(toString(__VA_ARGS__))","#else","#define DOCTEST_STRINGIFY(...) toString(__VA_ARGS__)","#endif","#endif","","template \u003ctypename T\u003e","String toString() {","#if DOCTEST_CLANG == 0 \u0026\u0026 DOCTEST_GCC == 0 \u0026\u0026 DOCTEST_ICC == 0"," String ret = __FUNCSIG__; // class doctest::String __cdecl doctest::toString\u003cTYPE\u003e(void)"," String::size_type beginPos = ret.find('\u003c');"," return ret.substr(beginPos + 1, ret.size() - beginPos - static_cast\u003cString::size_type\u003e(sizeof(\"\u003e(void)\")));","#else"," String ret = __PRETTY_FUNCTION__; // doctest::String toString() [with T = TYPE]"," String::size_type begin = ret.find('=') + 2;"," return ret.substr(begin, ret.size() - begin - 1);","#endif","}","","template \u003ctypename T, typename detail::types::enable_if\u003c!detail::should_stringify_as_underlying_type\u003cT\u003e::value, bool\u003e::type = true\u003e","String toString(const DOCTEST_REF_WRAP(T) value) {"," return StringMaker\u003cT\u003e::convert(value);","}","","#ifdef DOCTEST_CONFIG_TREAT_CHAR_STAR_AS_STRING","DOCTEST_INTERFACE String toString(const char* in);","#endif // DOCTEST_CONFIG_TREAT_CHAR_STAR_AS_STRING","","#if DOCTEST_MSVC \u003e= DOCTEST_COMPILER(19, 20, 0)","// see this issue on why this is needed: https://github.com/doctest/doctest/issues/183","DOCTEST_INTERFACE String toString(const std::string\u0026 in);","#endif // VS 2019","","DOCTEST_INTERFACE String toString(String in);","","DOCTEST_INTERFACE String toString(std::nullptr_t);","","DOCTEST_INTERFACE String toString(bool in);","","DOCTEST_INTERFACE String toString(float in);","DOCTEST_INTERFACE String toString(double in);","DOCTEST_INTERFACE String toString(double long in);","","DOCTEST_INTERFACE String toString(char in);","DOCTEST_INTERFACE String toString(char signed in);","DOCTEST_INTERFACE String toString(char unsigned in);","DOCTEST_INTERFACE String toString(short in);","DOCTEST_INTERFACE String toString(short unsigned in);","DOCTEST_INTERFACE String toString(signed in);","DOCTEST_INTERFACE String toString(unsigned in);","DOCTEST_INTERFACE String toString(long in);","DOCTEST_INTERFACE String toString(long unsigned in);","DOCTEST_INTERFACE String toString(long long in);","DOCTEST_INTERFACE String toString(long long unsigned in);","","template \u003ctypename T, typename detail::types::enable_if\u003cdetail::should_stringify_as_underlying_type\u003cT\u003e::value, bool\u003e::type = true\u003e","String toString(const DOCTEST_REF_WRAP(T) value) {"," using UT = typename detail::types::underlying_type\u003cT\u003e::type;"," return (DOCTEST_STRINGIFY(static_cast\u003cUT\u003e(value)));","}","","namespace detail {"," template \u003ctypename T\u003e"," struct filldata"," {"," static void fill(std::ostream* stream, const T\u0026 in) {","#if defined(_MSC_VER) \u0026\u0026 _MSC_VER \u003c= 1900"," insert_hack_t\u003cT\u003e::insert(*stream, in);","#else"," operator\u003c\u003c(*stream, in);","#endif"," }"," };","","DOCTEST_MSVC_SUPPRESS_WARNING_WITH_PUSH(4866)","// NOLINTBEGIN(*-avoid-c-arrays)"," template \u003ctypename T, size_t N\u003e"," struct filldata\u003cT[N]\u003e {"," static void fill(std::ostream* stream, const T(\u0026in)[N]) {"," *stream \u003c\u003c \"[\";"," for (size_t i = 0; i \u003c N; i++) {"," if (i != 0) { *stream \u003c\u003c \", \"; }"," *stream \u003c\u003c (DOCTEST_STRINGIFY(in[i]));"," }"," *stream \u003c\u003c \"]\";"," }"," };","// NOLINTEND(*-avoid-c-arrays)","DOCTEST_MSVC_SUPPRESS_WARNING_POP",""," // Specialized since we don't want the terminating null byte!","// NOLINTBEGIN(*-avoid-c-arrays)"," template \u003csize_t N\u003e"," struct filldata\u003cconst char[N]\u003e {"," static void fill(std::ostream* stream, const char (\u0026in)[N]) {"," *stream \u003c\u003c String(in, in[N - 1] ? N : N - 1);"," } // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)"," };","// NOLINTEND(*-avoid-c-arrays)",""," template \u003c\u003e"," struct filldata\u003cconst void*\u003e {"," static void fill(std::ostream* stream, const void* in);"," };",""," template \u003ctypename T\u003e"," struct filldata\u003cT*\u003e {","DOCTEST_MSVC_SUPPRESS_WARNING_WITH_PUSH(4180)"," static void fill(std::ostream* stream, const T* in) {","DOCTEST_MSVC_SUPPRESS_WARNING_POP","DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH(\"-Wmicrosoft-cast\")"," filldata\u003cconst void*\u003e::fill(stream,","#if DOCTEST_GCC == 0 || DOCTEST_GCC \u003e= DOCTEST_COMPILER(4, 9, 0)"," reinterpret_cast\u003cconst void*\u003e(in)","#else"," *reinterpret_cast\u003cconst void* const*\u003e(\u0026in)","#endif"," );","DOCTEST_CLANG_SUPPRESS_WARNING_POP"," }"," };","}","","struct DOCTEST_INTERFACE Approx","{"," Approx(double value);",""," Approx operator()(double value) const;","","#ifdef DOCTEST_CONFIG_INCLUDE_TYPE_TRAITS"," template \u003ctypename T\u003e"," explicit Approx(const T\u0026 value,"," typename detail::types::enable_if\u003cstd::is_constructible\u003cdouble, T\u003e::value\u003e::type* ="," static_cast\u003cT*\u003e(nullptr)) {"," *this = static_cast\u003cdouble\u003e(value);"," }","#endif // DOCTEST_CONFIG_INCLUDE_TYPE_TRAITS",""," Approx\u0026 epsilon(double newEpsilon);","","#ifdef DOCTEST_CONFIG_INCLUDE_TYPE_TRAITS"," template \u003ctypename T\u003e"," typename std::enable_if\u003cstd::is_constructible\u003cdouble, T\u003e::value, Approx\u0026\u003e::type epsilon("," const T\u0026 newEpsilon) {"," m_epsilon = static_cast\u003cdouble\u003e(newEpsilon);"," return *this;"," }","#endif // DOCTEST_CONFIG_INCLUDE_TYPE_TRAITS",""," Approx\u0026 scale(double newScale);","","#ifdef DOCTEST_CONFIG_INCLUDE_TYPE_TRAITS"," template \u003ctypename T\u003e"," typename std::enable_if\u003cstd::is_constructible\u003cdouble, T\u003e::value, Approx\u0026\u003e::type scale("," const T\u0026 newScale) {"," m_scale = static_cast\u003cdouble\u003e(newScale);"," return *this;"," }","#endif // DOCTEST_CONFIG_INCLUDE_TYPE_TRAITS",""," // clang-format off"," DOCTEST_INTERFACE friend bool operator==(double lhs, const Approx \u0026 rhs);"," DOCTEST_INTERFACE friend bool operator==(const Approx \u0026 lhs, double rhs);"," DOCTEST_INTERFACE friend bool operator!=(double lhs, const Approx \u0026 rhs);"," DOCTEST_INTERFACE friend bool operator!=(const Approx \u0026 lhs, double rhs);"," DOCTEST_INTERFACE friend bool operator\u003c=(double lhs, const Approx \u0026 rhs);"," DOCTEST_INTERFACE friend bool operator\u003c=(const Approx \u0026 lhs, double rhs);"," DOCTEST_INTERFACE friend bool operator\u003e=(double lhs, const Approx \u0026 rhs);"," DOCTEST_INTERFACE friend bool operator\u003e=(const Approx \u0026 lhs, double rhs);"," DOCTEST_INTERFACE friend bool operator\u003c (double lhs, const Approx \u0026 rhs);"," DOCTEST_INTERFACE friend bool operator\u003c (const Approx \u0026 lhs, double rhs);"," DOCTEST_INTERFACE friend bool operator\u003e (double lhs, const Approx \u0026 rhs);"," DOCTEST_INTERFACE friend bool operator\u003e (const Approx \u0026 lhs, double rhs);","","#ifdef DOCTEST_CONFIG_INCLUDE_TYPE_TRAITS","#define DOCTEST_APPROX_PREFIX \\"," template \u003ctypename T\u003e friend typename std::enable_if\u003cstd::is_constructible\u003cdouble, T\u003e::value, bool\u003e::type",""," DOCTEST_APPROX_PREFIX operator==(const T\u0026 lhs, const Approx\u0026 rhs) { return operator==(static_cast\u003cdouble\u003e(lhs), rhs); }"," DOCTEST_APPROX_PREFIX operator==(const Approx\u0026 lhs, const T\u0026 rhs) { return operator==(rhs, lhs); }"," DOCTEST_APPROX_PREFIX operator!=(const T\u0026 lhs, const Approx\u0026 rhs) { return !operator==(lhs, rhs); }"," DOCTEST_APPROX_PREFIX operator!=(const Approx\u0026 lhs, const T\u0026 rhs) { return !operator==(rhs, lhs); }"," DOCTEST_APPROX_PREFIX operator\u003c=(const T\u0026 lhs, const Approx\u0026 rhs) { return static_cast\u003cdouble\u003e(lhs) \u003c rhs.m_value || lhs == rhs; }"," DOCTEST_APPROX_PREFIX operator\u003c=(const Approx\u0026 lhs, const T\u0026 rhs) { return lhs.m_value \u003c static_cast\u003cdouble\u003e(rhs) || lhs == rhs; }"," DOCTEST_APPROX_PREFIX operator\u003e=(const T\u0026 lhs, const Approx\u0026 rhs) { return static_cast\u003cdouble\u003e(lhs) \u003e rhs.m_value || lhs == rhs; }"," DOCTEST_APPROX_PREFIX operator\u003e=(const Approx\u0026 lhs, const T\u0026 rhs) { return lhs.m_value \u003e static_cast\u003cdouble\u003e(rhs) || lhs == rhs; }"," DOCTEST_APPROX_PREFIX operator\u003c (const T\u0026 lhs, const Approx\u0026 rhs) { return static_cast\u003cdouble\u003e(lhs) \u003c rhs.m_value \u0026\u0026 lhs != rhs; }"," DOCTEST_APPROX_PREFIX operator\u003c (const Approx\u0026 lhs, const T\u0026 rhs) { return lhs.m_value \u003c static_cast\u003cdouble\u003e(rhs) \u0026\u0026 lhs != rhs; }"," DOCTEST_APPROX_PREFIX operator\u003e (const T\u0026 lhs, const Approx\u0026 rhs) { return static_cast\u003cdouble\u003e(lhs) \u003e rhs.m_value \u0026\u0026 lhs != rhs; }"," DOCTEST_APPROX_PREFIX operator\u003e (const Approx\u0026 lhs, const T\u0026 rhs) { return lhs.m_value \u003e static_cast\u003cdouble\u003e(rhs) \u0026\u0026 lhs != rhs; }","#undef DOCTEST_APPROX_PREFIX","#endif // DOCTEST_CONFIG_INCLUDE_TYPE_TRAITS",""," // clang-format on",""," double m_epsilon;"," double m_scale;"," double m_value;","};","","DOCTEST_INTERFACE String toString(const Approx\u0026 in);","","DOCTEST_INTERFACE const ContextOptions* getContextOptions();","","template \u003ctypename F\u003e","struct DOCTEST_INTERFACE_DECL IsNaN","{"," F value; bool flipped;"," IsNaN(F f, bool flip = false) : value(f), flipped(flip) { }"," IsNaN\u003cF\u003e operator!() const { return { value, !flipped }; }"," operator bool() const;","};","#ifndef __MINGW32__","extern template struct DOCTEST_INTERFACE_DECL IsNaN\u003cfloat\u003e;","extern template struct DOCTEST_INTERFACE_DECL IsNaN\u003cdouble\u003e;","extern template struct DOCTEST_INTERFACE_DECL IsNaN\u003clong double\u003e;","#endif","DOCTEST_INTERFACE String toString(IsNaN\u003cfloat\u003e in);","DOCTEST_INTERFACE String toString(IsNaN\u003cdouble\u003e in);","DOCTEST_INTERFACE String toString(IsNaN\u003cdouble long\u003e in);","","#ifndef DOCTEST_CONFIG_DISABLE","","namespace detail {"," // clang-format off","#ifdef DOCTEST_CONFIG_TREAT_CHAR_STAR_AS_STRING"," template\u003cclass T\u003e struct decay_array { using type = T; };"," template\u003cclass T, unsigned N\u003e struct decay_array\u003cT[N]\u003e { using type = T*; };"," template\u003cclass T\u003e struct decay_array\u003cT[]\u003e { using type = T*; };",""," template\u003cclass T\u003e struct not_char_pointer { static DOCTEST_CONSTEXPR int value = 1; };"," template\u003c\u003e struct not_char_pointer\u003cchar*\u003e { static DOCTEST_CONSTEXPR int value = 0; };"," template\u003c\u003e struct not_char_pointer\u003cconst char*\u003e { static DOCTEST_CONSTEXPR int value = 0; };",""," template\u003cclass T\u003e struct can_use_op : public not_char_pointer\u003ctypename decay_array\u003cT\u003e::type\u003e {};","#endif // DOCTEST_CONFIG_TREAT_CHAR_STAR_AS_STRING"," // clang-format on",""," struct DOCTEST_INTERFACE TestFailureException"," {"," };",""," DOCTEST_INTERFACE bool checkIfShouldThrow(assertType::Enum at);","","#ifndef DOCTEST_CONFIG_NO_EXCEPTIONS"," DOCTEST_NORETURN","#endif // DOCTEST_CONFIG_NO_EXCEPTIONS"," DOCTEST_INTERFACE void throwException();",""," struct DOCTEST_INTERFACE Subcase"," {"," SubcaseSignature m_signature;"," bool m_entered = false;",""," Subcase(const String\u0026 name, const char* file, int line);"," Subcase(const Subcase\u0026) = delete;"," Subcase(Subcase\u0026\u0026) = delete;"," Subcase\u0026 operator=(const Subcase\u0026) = delete;"," Subcase\u0026 operator=(Subcase\u0026\u0026) = delete;"," ~Subcase();",""," operator bool() const;",""," private:"," bool checkFilters();"," };",""," template \u003ctypename L, typename R\u003e"," String stringifyBinaryExpr(const DOCTEST_REF_WRAP(L) lhs, const char* op,"," const DOCTEST_REF_WRAP(R) rhs) {"," return (DOCTEST_STRINGIFY(lhs)) + op + (DOCTEST_STRINGIFY(rhs));"," }","","#if DOCTEST_CLANG \u0026\u0026 DOCTEST_CLANG \u003c DOCTEST_COMPILER(3, 6, 0)","DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH(\"-Wunused-comparison\")","#endif","","// This will check if there is any way it could find a operator like member or friend and uses it.","// If not it doesn't find the operator or if the operator at global scope is defined after","// this template, the template won't be instantiated due to SFINAE. Once the template is not","// instantiated it can look for global operator using normal conversions.","#ifdef __NVCC__","#define SFINAE_OP(ret,op) ret","#else","#define SFINAE_OP(ret,op) decltype((void)(doctest::detail::declval\u003cL\u003e() op doctest::detail::declval\u003cR\u003e()),ret{})","#endif","","#define DOCTEST_DO_BINARY_EXPRESSION_COMPARISON(op, op_str, op_macro) \\"," template \u003ctypename R\u003e \\"," DOCTEST_NOINLINE SFINAE_OP(Result,op) operator op(R\u0026\u0026 rhs) { \\"," bool res = op_macro(doctest::detail::forward\u003cconst L\u003e(lhs), doctest::detail::forward\u003cR\u003e(rhs)); \\"," if(m_at \u0026 assertType::is_false) \\"," res = !res; \\"," if(!res || doctest::getContextOptions()-\u003esuccess) \\"," return Result(res, stringifyBinaryExpr(lhs, op_str, rhs)); \\"," return Result(res); \\"," }",""," // more checks could be added - like in Catch:"," // https://github.com/catchorg/Catch2/pull/1480/files"," // https://github.com/catchorg/Catch2/pull/1481/files","#define DOCTEST_FORBIT_EXPRESSION(rt, op) \\"," template \u003ctypename R\u003e \\"," rt\u0026 operator op(const R\u0026) { \\"," static_assert(deferred_false\u003cR\u003e::value, \\"," \"Expression Too Complex Please Rewrite As Binary Comparison!\"); \\"," return *this; \\"," }",""," struct DOCTEST_INTERFACE Result // NOLINT(*-member-init)"," {"," bool m_passed;"," String m_decomp;",""," Result() = default; // TODO: Why do we need this? (To remove NOLINT)"," Result(bool passed, const String\u0026 decomposition = String());",""," // forbidding some expressions based on this table: https://en.cppreference.com/w/cpp/language/operator_precedence"," DOCTEST_FORBIT_EXPRESSION(Result, \u0026)"," DOCTEST_FORBIT_EXPRESSION(Result, ^)"," DOCTEST_FORBIT_EXPRESSION(Result, |)"," DOCTEST_FORBIT_EXPRESSION(Result, \u0026\u0026)"," DOCTEST_FORBIT_EXPRESSION(Result, ||)"," DOCTEST_FORBIT_EXPRESSION(Result, ==)"," DOCTEST_FORBIT_EXPRESSION(Result, !=)"," DOCTEST_FORBIT_EXPRESSION(Result, \u003c)"," DOCTEST_FORBIT_EXPRESSION(Result, \u003e)"," DOCTEST_FORBIT_EXPRESSION(Result, \u003c=)"," DOCTEST_FORBIT_EXPRESSION(Result, \u003e=)"," DOCTEST_FORBIT_EXPRESSION(Result, =)"," DOCTEST_FORBIT_EXPRESSION(Result, +=)"," DOCTEST_FORBIT_EXPRESSION(Result, -=)"," DOCTEST_FORBIT_EXPRESSION(Result, *=)"," DOCTEST_FORBIT_EXPRESSION(Result, /=)"," DOCTEST_FORBIT_EXPRESSION(Result, %=)"," DOCTEST_FORBIT_EXPRESSION(Result, \u003c\u003c=)"," DOCTEST_FORBIT_EXPRESSION(Result, \u003e\u003e=)"," DOCTEST_FORBIT_EXPRESSION(Result, \u0026=)"," DOCTEST_FORBIT_EXPRESSION(Result, ^=)"," DOCTEST_FORBIT_EXPRESSION(Result, |=)"," };","","#ifndef DOCTEST_CONFIG_NO_COMPARISON_WARNING_SUPPRESSION",""," DOCTEST_CLANG_SUPPRESS_WARNING_PUSH"," DOCTEST_CLANG_SUPPRESS_WARNING(\"-Wsign-conversion\")"," DOCTEST_CLANG_SUPPRESS_WARNING(\"-Wsign-compare\")"," //DOCTEST_CLANG_SUPPRESS_WARNING(\"-Wdouble-promotion\")"," //DOCTEST_CLANG_SUPPRESS_WARNING(\"-Wconversion\")"," //DOCTEST_CLANG_SUPPRESS_WARNING(\"-Wfloat-equal\")",""," DOCTEST_GCC_SUPPRESS_WARNING_PUSH"," DOCTEST_GCC_SUPPRESS_WARNING(\"-Wsign-conversion\")"," DOCTEST_GCC_SUPPRESS_WARNING(\"-Wsign-compare\")"," //DOCTEST_GCC_SUPPRESS_WARNING(\"-Wdouble-promotion\")"," //DOCTEST_GCC_SUPPRESS_WARNING(\"-Wconversion\")"," //DOCTEST_GCC_SUPPRESS_WARNING(\"-Wfloat-equal\")",""," DOCTEST_MSVC_SUPPRESS_WARNING_PUSH"," // https://stackoverflow.com/questions/39479163 what's the difference between 4018 and 4389"," DOCTEST_MSVC_SUPPRESS_WARNING(4388) // signed/unsigned mismatch"," DOCTEST_MSVC_SUPPRESS_WARNING(4389) // 'operator' : signed/unsigned mismatch"," DOCTEST_MSVC_SUPPRESS_WARNING(4018) // 'expression' : signed/unsigned mismatch"," //DOCTEST_MSVC_SUPPRESS_WARNING(4805) // 'operation' : unsafe mix of type 'type' and type 'type' in operation","","#endif // DOCTEST_CONFIG_NO_COMPARISON_WARNING_SUPPRESSION",""," // clang-format off","#ifndef DOCTEST_CONFIG_TREAT_CHAR_STAR_AS_STRING","#define DOCTEST_COMPARISON_RETURN_TYPE bool","#else // DOCTEST_CONFIG_TREAT_CHAR_STAR_AS_STRING","#define DOCTEST_COMPARISON_RETURN_TYPE typename types::enable_if\u003ccan_use_op\u003cL\u003e::value || can_use_op\u003cR\u003e::value, bool\u003e::type"," inline bool eq(const char* lhs, const char* rhs) { return String(lhs) == String(rhs); }"," inline bool ne(const char* lhs, const char* rhs) { return String(lhs) != String(rhs); }"," inline bool lt(const char* lhs, const char* rhs) { return String(lhs) \u003c String(rhs); }"," inline bool gt(const char* lhs, const char* rhs) { return String(lhs) \u003e String(rhs); }"," inline bool le(const char* lhs, const char* rhs) { return String(lhs) \u003c= String(rhs); }"," inline bool ge(const char* lhs, const char* rhs) { return String(lhs) \u003e= String(rhs); }","#endif // DOCTEST_CONFIG_TREAT_CHAR_STAR_AS_STRING"," // clang-format on","","#define DOCTEST_RELATIONAL_OP(name, op) \\"," template \u003ctypename L, typename R\u003e \\"," DOCTEST_COMPARISON_RETURN_TYPE name(const DOCTEST_REF_WRAP(L) lhs, \\"," const DOCTEST_REF_WRAP(R) rhs) { \\"," return lhs op rhs; \\"," }",""," DOCTEST_RELATIONAL_OP(eq, ==)"," DOCTEST_RELATIONAL_OP(ne, !=)"," DOCTEST_RELATIONAL_OP(lt, \u003c)"," DOCTEST_RELATIONAL_OP(gt, \u003e)"," DOCTEST_RELATIONAL_OP(le, \u003c=)"," DOCTEST_RELATIONAL_OP(ge, \u003e=)","","#ifndef DOCTEST_CONFIG_TREAT_CHAR_STAR_AS_STRING","#define DOCTEST_CMP_EQ(l, r) l == r","#define DOCTEST_CMP_NE(l, r) l != r","#define DOCTEST_CMP_GT(l, r) l \u003e r","#define DOCTEST_CMP_LT(l, r) l \u003c r","#define DOCTEST_CMP_GE(l, r) l \u003e= r","#define DOCTEST_CMP_LE(l, r) l \u003c= r","#else // DOCTEST_CONFIG_TREAT_CHAR_STAR_AS_STRING","#define DOCTEST_CMP_EQ(l, r) eq(l, r)","#define DOCTEST_CMP_NE(l, r) ne(l, r)","#define DOCTEST_CMP_GT(l, r) gt(l, r)","#define DOCTEST_CMP_LT(l, r) lt(l, r)","#define DOCTEST_CMP_GE(l, r) ge(l, r)","#define DOCTEST_CMP_LE(l, r) le(l, r)","#endif // DOCTEST_CONFIG_TREAT_CHAR_STAR_AS_STRING",""," template \u003ctypename L\u003e"," // cppcheck-suppress copyCtorAndEqOperator"," struct Expression_lhs"," {"," L lhs;"," assertType::Enum m_at;",""," explicit Expression_lhs(L\u0026\u0026 in, assertType::Enum at)"," : lhs(static_cast\u003cL\u0026\u0026\u003e(in))"," , m_at(at) {}",""," DOCTEST_NOINLINE operator Result() {","// this is needed only for MSVC 2015","DOCTEST_MSVC_SUPPRESS_WARNING_WITH_PUSH(4800) // 'int': forcing value to bool"," bool res = static_cast\u003cbool\u003e(lhs);","DOCTEST_MSVC_SUPPRESS_WARNING_POP"," if(m_at \u0026 assertType::is_false) { //!OCLINT bitwise operator in conditional"," res = !res;"," }",""," if(!res || getContextOptions()-\u003esuccess) {"," return { res, (DOCTEST_STRINGIFY(lhs)) };"," }"," return { res };"," }",""," /* This is required for user-defined conversions from Expression_lhs to L */"," operator L() const { return lhs; }",""," // clang-format off"," DOCTEST_DO_BINARY_EXPRESSION_COMPARISON(==, \" == \", DOCTEST_CMP_EQ) //!OCLINT bitwise operator in conditional"," DOCTEST_DO_BINARY_EXPRESSION_COMPARISON(!=, \" != \", DOCTEST_CMP_NE) //!OCLINT bitwise operator in conditional"," DOCTEST_DO_BINARY_EXPRESSION_COMPARISON(\u003e, \" \u003e \", DOCTEST_CMP_GT) //!OCLINT bitwise operator in conditional"," DOCTEST_DO_BINARY_EXPRESSION_COMPARISON(\u003c, \" \u003c \", DOCTEST_CMP_LT) //!OCLINT bitwise operator in conditional"," DOCTEST_DO_BINARY_EXPRESSION_COMPARISON(\u003e=, \" \u003e= \", DOCTEST_CMP_GE) //!OCLINT bitwise operator in conditional"," DOCTEST_DO_BINARY_EXPRESSION_COMPARISON(\u003c=, \" \u003c= \", DOCTEST_CMP_LE) //!OCLINT bitwise operator in conditional"," // clang-format on",""," // forbidding some expressions based on this table: https://en.cppreference.com/w/cpp/language/operator_precedence"," DOCTEST_FORBIT_EXPRESSION(Expression_lhs, \u0026)"," DOCTEST_FORBIT_EXPRESSION(Expression_lhs, ^)"," DOCTEST_FORBIT_EXPRESSION(Expression_lhs, |)"," DOCTEST_FORBIT_EXPRESSION(Expression_lhs, \u0026\u0026)"," DOCTEST_FORBIT_EXPRESSION(Expression_lhs, ||)"," DOCTEST_FORBIT_EXPRESSION(Expression_lhs, =)"," DOCTEST_FORBIT_EXPRESSION(Expression_lhs, +=)"," DOCTEST_FORBIT_EXPRESSION(Expression_lhs, -=)"," DOCTEST_FORBIT_EXPRESSION(Expression_lhs, *=)"," DOCTEST_FORBIT_EXPRESSION(Expression_lhs, /=)"," DOCTEST_FORBIT_EXPRESSION(Expression_lhs, %=)"," DOCTEST_FORBIT_EXPRESSION(Expression_lhs, \u003c\u003c=)"," DOCTEST_FORBIT_EXPRESSION(Expression_lhs, \u003e\u003e=)"," DOCTEST_FORBIT_EXPRESSION(Expression_lhs, \u0026=)"," DOCTEST_FORBIT_EXPRESSION(Expression_lhs, ^=)"," DOCTEST_FORBIT_EXPRESSION(Expression_lhs, |=)"," // these 2 are unfortunate because they should be allowed - they have higher precedence over the comparisons, but the"," // ExpressionDecomposer class uses the left shift operator to capture the left operand of the binary expression..."," DOCTEST_FORBIT_EXPRESSION(Expression_lhs, \u003c\u003c)"," DOCTEST_FORBIT_EXPRESSION(Expression_lhs, \u003e\u003e)"," };","","#ifndef DOCTEST_CONFIG_NO_COMPARISON_WARNING_SUPPRESSION",""," DOCTEST_CLANG_SUPPRESS_WARNING_POP"," DOCTEST_MSVC_SUPPRESS_WARNING_POP"," DOCTEST_GCC_SUPPRESS_WARNING_POP","","#endif // DOCTEST_CONFIG_NO_COMPARISON_WARNING_SUPPRESSION","","#if DOCTEST_CLANG \u0026\u0026 DOCTEST_CLANG \u003c DOCTEST_COMPILER(3, 6, 0)","DOCTEST_CLANG_SUPPRESS_WARNING_POP","#endif",""," struct DOCTEST_INTERFACE ExpressionDecomposer"," {"," assertType::Enum m_at;",""," ExpressionDecomposer(assertType::Enum at);",""," // The right operator for capturing expressions is \"\u003c=\" instead of \"\u003c\u003c\" (based on the operator precedence table)"," // but then there will be warnings from GCC about \"-Wparentheses\" and since \"_Pragma()\" is problematic this will stay for now..."," // https://github.com/catchorg/Catch2/issues/870"," // https://github.com/catchorg/Catch2/issues/565"," template \u003ctypename L\u003e"," Expression_lhs\u003cL\u003e operator\u003c\u003c(L\u0026\u0026 operand) {"," return Expression_lhs\u003cL\u003e(static_cast\u003cL\u0026\u0026\u003e(operand), m_at);"," }",""," template \u003ctypename L,typename types::enable_if\u003c!doctest::detail::types::is_rvalue_reference\u003cL\u003e::value,void \u003e::type* = nullptr\u003e"," Expression_lhs\u003cconst L\u0026\u003e operator\u003c\u003c(const L \u0026operand) {"," return Expression_lhs\u003cconst L\u0026\u003e(operand, m_at);"," }"," };",""," struct DOCTEST_INTERFACE TestSuite"," {"," const char* m_test_suite = nullptr;"," const char* m_description = nullptr;"," bool m_skip = false;"," bool m_no_breaks = false;"," bool m_no_output = false;"," bool m_may_fail = false;"," bool m_should_fail = false;"," int m_expected_failures = 0;"," double m_timeout = 0;",""," TestSuite\u0026 operator*(const char* in);",""," template \u003ctypename T\u003e"," TestSuite\u0026 operator*(const T\u0026 in) {"," in.fill(*this);"," return *this;"," }"," };",""," using funcType = void (*)();",""," struct DOCTEST_INTERFACE TestCase : public TestCaseData"," {"," funcType m_test; // a function pointer to the test case",""," String m_type; // for templated test cases - gets appended to the real name"," int m_template_id; // an ID used to distinguish between the different versions of a templated test case"," String m_full_name; // contains the name (only for templated test cases!) + the template type",""," TestCase(funcType test, const char* file, unsigned line, const TestSuite\u0026 test_suite,"," const String\u0026 type = String(), int template_id = -1);",""," TestCase(const TestCase\u0026 other);"," TestCase(TestCase\u0026\u0026) = delete;",""," DOCTEST_MSVC_SUPPRESS_WARNING_WITH_PUSH(26434) // hides a non-virtual function"," TestCase\u0026 operator=(const TestCase\u0026 other);"," DOCTEST_MSVC_SUPPRESS_WARNING_POP",""," TestCase\u0026 operator=(TestCase\u0026\u0026) = delete;",""," TestCase\u0026 operator*(const char* in);",""," template \u003ctypename T\u003e"," TestCase\u0026 operator*(const T\u0026 in) {"," in.fill(*this);"," return *this;"," }",""," bool operator\u003c(const TestCase\u0026 other) const;",""," ~TestCase() = default;"," };",""," // forward declarations of functions used by the macros"," DOCTEST_INTERFACE int regTest(const TestCase\u0026 tc);"," DOCTEST_INTERFACE int setTestSuite(const TestSuite\u0026 ts);"," DOCTEST_INTERFACE bool isDebuggerActive();",""," template\u003ctypename T\u003e"," int instantiationHelper(const T\u0026) { return 0; }",""," namespace binaryAssertComparison {"," enum Enum"," {"," eq = 0,"," ne,"," gt,"," lt,"," ge,"," le"," };"," } // namespace binaryAssertComparison",""," // clang-format off"," template \u003cint, class L, class R\u003e struct RelationalComparator { bool operator()(const DOCTEST_REF_WRAP(L), const DOCTEST_REF_WRAP(R) ) const { return false; } };","","#define DOCTEST_BINARY_RELATIONAL_OP(n, op) \\"," template \u003cclass L, class R\u003e struct RelationalComparator\u003cn, L, R\u003e { bool operator()(const DOCTEST_REF_WRAP(L) lhs, const DOCTEST_REF_WRAP(R) rhs) const { return op(lhs, rhs); } };"," // clang-format on",""," DOCTEST_BINARY_RELATIONAL_OP(0, doctest::detail::eq)"," DOCTEST_BINARY_RELATIONAL_OP(1, doctest::detail::ne)"," DOCTEST_BINARY_RELATIONAL_OP(2, doctest::detail::gt)"," DOCTEST_BINARY_RELATIONAL_OP(3, doctest::detail::lt)"," DOCTEST_BINARY_RELATIONAL_OP(4, doctest::detail::ge)"," DOCTEST_BINARY_RELATIONAL_OP(5, doctest::detail::le)",""," struct DOCTEST_INTERFACE ResultBuilder : public AssertData"," {"," ResultBuilder(assertType::Enum at, const char* file, int line, const char* expr,"," const char* exception_type = \"\", const String\u0026 exception_string = \"\");",""," ResultBuilder(assertType::Enum at, const char* file, int line, const char* expr,"," const char* exception_type, const Contains\u0026 exception_string);",""," void setResult(const Result\u0026 res);",""," template \u003cint comparison, typename L, typename R\u003e"," DOCTEST_NOINLINE bool binary_assert(const DOCTEST_REF_WRAP(L) lhs,"," const DOCTEST_REF_WRAP(R) rhs) {"," m_failed = !RelationalComparator\u003ccomparison, L, R\u003e()(lhs, rhs);"," if (m_failed || getContextOptions()-\u003esuccess) {"," m_decomp = stringifyBinaryExpr(lhs, \", \", rhs);"," }"," return !m_failed;"," }",""," template \u003ctypename L\u003e"," DOCTEST_NOINLINE bool unary_assert(const DOCTEST_REF_WRAP(L) val) {"," m_failed = !val;",""," if (m_at \u0026 assertType::is_false) { //!OCLINT bitwise operator in conditional"," m_failed = !m_failed;"," }",""," if (m_failed || getContextOptions()-\u003esuccess) {"," m_decomp = (DOCTEST_STRINGIFY(val));"," }",""," return !m_failed;"," }",""," void translateException();",""," bool log();"," void react() const;"," };",""," namespace assertAction {"," enum Enum"," {"," nothing = 0,"," dbgbreak = 1,"," shouldthrow = 2"," };"," } // namespace assertAction",""," DOCTEST_INTERFACE void failed_out_of_a_testing_context(const AssertData\u0026 ad);",""," DOCTEST_INTERFACE bool decomp_assert(assertType::Enum at, const char* file, int line,"," const char* expr, const Result\u0026 result);","","#define DOCTEST_ASSERT_OUT_OF_TESTS(decomp) \\"," do { \\"," if(!is_running_in_test) { \\"," if(failed) { \\"," ResultBuilder rb(at, file, line, expr); \\"," rb.m_failed = failed; \\"," rb.m_decomp = decomp; \\"," failed_out_of_a_testing_context(rb); \\"," if(isDebuggerActive() \u0026\u0026 !getContextOptions()-\u003eno_breaks) \\"," DOCTEST_BREAK_INTO_DEBUGGER(); \\"," if(checkIfShouldThrow(at)) \\"," throwException(); \\"," } \\"," return !failed; \\"," } \\"," } while(false)","","#define DOCTEST_ASSERT_IN_TESTS(decomp) \\"," ResultBuilder rb(at, file, line, expr); \\"," rb.m_failed = failed; \\"," if(rb.m_failed || getContextOptions()-\u003esuccess) \\"," rb.m_decomp = decomp; \\"," if(rb.log()) \\"," DOCTEST_BREAK_INTO_DEBUGGER(); \\"," if(rb.m_failed \u0026\u0026 checkIfShouldThrow(at)) \\"," throwException()",""," template \u003cint comparison, typename L, typename R\u003e"," DOCTEST_NOINLINE bool binary_assert(assertType::Enum at, const char* file, int line,"," const char* expr, const DOCTEST_REF_WRAP(L) lhs,"," const DOCTEST_REF_WRAP(R) rhs) {"," bool failed = !RelationalComparator\u003ccomparison, L, R\u003e()(lhs, rhs);",""," // ###################################################################################"," // IF THE DEBUGGER BREAKS HERE - GO 1 LEVEL UP IN THE CALLSTACK FOR THE FAILING ASSERT"," // THIS IS THE EFFECT OF HAVING 'DOCTEST_CONFIG_SUPER_FAST_ASSERTS' DEFINED"," // ###################################################################################"," DOCTEST_ASSERT_OUT_OF_TESTS(stringifyBinaryExpr(lhs, \", \", rhs));"," DOCTEST_ASSERT_IN_TESTS(stringifyBinaryExpr(lhs, \", \", rhs));"," return !failed;"," }",""," template \u003ctypename L\u003e"," DOCTEST_NOINLINE bool unary_assert(assertType::Enum at, const char* file, int line,"," const char* expr, const DOCTEST_REF_WRAP(L) val) {"," bool failed = !val;",""," if(at \u0026 assertType::is_false) //!OCLINT bitwise operator in conditional"," failed = !failed;",""," // ###################################################################################"," // IF THE DEBUGGER BREAKS HERE - GO 1 LEVEL UP IN THE CALLSTACK FOR THE FAILING ASSERT"," // THIS IS THE EFFECT OF HAVING 'DOCTEST_CONFIG_SUPER_FAST_ASSERTS' DEFINED"," // ###################################################################################"," DOCTEST_ASSERT_OUT_OF_TESTS((DOCTEST_STRINGIFY(val)));"," DOCTEST_ASSERT_IN_TESTS((DOCTEST_STRINGIFY(val)));"," return !failed;"," }",""," struct DOCTEST_INTERFACE IExceptionTranslator"," {"," DOCTEST_DECLARE_INTERFACE(IExceptionTranslator)"," virtual bool translate(String\u0026) const = 0;"," };",""," template \u003ctypename T\u003e"," class ExceptionTranslator : public IExceptionTranslator //!OCLINT destructor of virtual class"," {"," public:"," explicit ExceptionTranslator(String (*translateFunction)(T))"," : m_translateFunction(translateFunction) {}",""," bool translate(String\u0026 res) const override {","#ifndef DOCTEST_CONFIG_NO_EXCEPTIONS"," try {"," throw; // lgtm [cpp/rethrow-no-exception]"," // cppcheck-suppress catchExceptionByValue"," } catch(const T\u0026 ex) {"," res = m_translateFunction(ex); //!OCLINT parameter reassignment"," return true;"," } catch(...) {} //!OCLINT - empty catch statement","#endif // DOCTEST_CONFIG_NO_EXCEPTIONS"," static_cast\u003cvoid\u003e(res); // to silence -Wunused-parameter"," return false;"," }",""," private:"," String (*m_translateFunction)(T);"," };",""," DOCTEST_INTERFACE void registerExceptionTranslatorImpl(const IExceptionTranslator* et);",""," // ContextScope base class used to allow implementing methods of ContextScope"," // that don't depend on the template parameter in doctest.cpp."," struct DOCTEST_INTERFACE ContextScopeBase : public IContextScope {"," ContextScopeBase(const ContextScopeBase\u0026) = delete;",""," ContextScopeBase\u0026 operator=(const ContextScopeBase\u0026) = delete;"," ContextScopeBase\u0026 operator=(ContextScopeBase\u0026\u0026) = delete;",""," ~ContextScopeBase() override = default;",""," protected:"," ContextScopeBase();"," ContextScopeBase(ContextScopeBase\u0026\u0026 other) noexcept;",""," void destroy();"," bool need_to_destroy{true};"," };",""," template \u003ctypename L\u003e class ContextScope : public ContextScopeBase"," {"," L lambda_;",""," public:"," explicit ContextScope(const L \u0026lambda) : lambda_(lambda) {}"," explicit ContextScope(L\u0026\u0026 lambda) : lambda_(static_cast\u003cL\u0026\u0026\u003e(lambda)) { }",""," ContextScope(const ContextScope\u0026) = delete;"," ContextScope(ContextScope\u0026\u0026) noexcept = default;",""," ContextScope\u0026 operator=(const ContextScope\u0026) = delete;"," ContextScope\u0026 operator=(ContextScope\u0026\u0026) = delete;",""," void stringify(std::ostream* s) const override { lambda_(s); }",""," ~ContextScope() override {"," if (need_to_destroy) {"," destroy();"," }"," }"," };",""," struct DOCTEST_INTERFACE MessageBuilder : public MessageData"," {"," std::ostream* m_stream;"," bool logged = false;",""," MessageBuilder(const char* file, int line, assertType::Enum severity);",""," MessageBuilder(const MessageBuilder\u0026) = delete;"," MessageBuilder(MessageBuilder\u0026\u0026) = delete;",""," MessageBuilder\u0026 operator=(const MessageBuilder\u0026) = delete;"," MessageBuilder\u0026 operator=(MessageBuilder\u0026\u0026) = delete;",""," ~MessageBuilder();",""," // the preferred way of chaining parameters for stringification","DOCTEST_MSVC_SUPPRESS_WARNING_WITH_PUSH(4866)"," template \u003ctypename T\u003e"," MessageBuilder\u0026 operator,(const T\u0026 in) {"," *m_stream \u003c\u003c (DOCTEST_STRINGIFY(in));"," return *this;"," }","DOCTEST_MSVC_SUPPRESS_WARNING_POP",""," // kept here just for backwards-compatibility - the comma operator should be preferred now"," template \u003ctypename T\u003e"," MessageBuilder\u0026 operator\u003c\u003c(const T\u0026 in) { return this-\u003eoperator,(in); }",""," // the `,` operator has the lowest operator precedence - if `\u003c\u003c` is used by the user then"," // the `,` operator will be called last which is not what we want and thus the `*` operator"," // is used first (has higher operator precedence compared to `\u003c\u003c`) so that we guarantee that"," // an operator of the MessageBuilder class is called first before the rest of the parameters"," template \u003ctypename T\u003e"," MessageBuilder\u0026 operator*(const T\u0026 in) { return this-\u003eoperator,(in); }",""," bool log();"," void react();"," };",""," template \u003ctypename L\u003e"," ContextScope\u003cL\u003e MakeContextScope(const L \u0026lambda) {"," return ContextScope\u003cL\u003e(lambda);"," }","} // namespace detail","","#define DOCTEST_DEFINE_DECORATOR(name, type, def) \\"," struct name \\"," { \\"," type data; \\"," name(type in = def) \\"," : data(in) {} \\"," void fill(detail::TestCase\u0026 state) const { state.DOCTEST_CAT(m_, name) = data; } \\"," void fill(detail::TestSuite\u0026 state) const { state.DOCTEST_CAT(m_, name) = data; } \\"," }","","DOCTEST_DEFINE_DECORATOR(test_suite, const char*, \"\");","DOCTEST_DEFINE_DECORATOR(description, const char*, \"\");","DOCTEST_DEFINE_DECORATOR(skip, bool, true);","DOCTEST_DEFINE_DECORATOR(no_breaks, bool, true);","DOCTEST_DEFINE_DECORATOR(no_output, bool, true);","DOCTEST_DEFINE_DECORATOR(timeout, double, 0);","DOCTEST_DEFINE_DECORATOR(may_fail, bool, true);","DOCTEST_DEFINE_DECORATOR(should_fail, bool, true);","DOCTEST_DEFINE_DECORATOR(expected_failures, int, 0);","","template \u003ctypename T\u003e","int registerExceptionTranslator(String (*translateFunction)(T)) {"," DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH(\"-Wexit-time-destructors\")"," static detail::ExceptionTranslator\u003cT\u003e exceptionTranslator(translateFunction);"," DOCTEST_CLANG_SUPPRESS_WARNING_POP"," detail::registerExceptionTranslatorImpl(\u0026exceptionTranslator);"," return 0;","}","","} // namespace doctest","","// in a separate namespace outside of doctest because the DOCTEST_TEST_SUITE macro","// introduces an anonymous namespace in which getCurrentTestSuite gets overridden","namespace doctest_detail_test_suite_ns {","DOCTEST_INTERFACE doctest::detail::TestSuite\u0026 getCurrentTestSuite();","} // namespace doctest_detail_test_suite_ns","","namespace doctest {","#else // DOCTEST_CONFIG_DISABLE","template \u003ctypename T\u003e","int registerExceptionTranslator(String (*)(T)) {"," return 0;","}","#endif // DOCTEST_CONFIG_DISABLE","","namespace detail {"," using assert_handler = void (*)(const AssertData\u0026);"," struct ContextState;","} // namespace detail","","class DOCTEST_INTERFACE Context","{"," detail::ContextState* p;",""," void parseArgs(int argc, const char* const* argv, bool withDefaults = false);","","public:"," explicit Context(int argc = 0, const char* const* argv = nullptr);",""," Context(const Context\u0026) = delete;"," Context(Context\u0026\u0026) = delete;",""," Context\u0026 operator=(const Context\u0026) = delete;"," Context\u0026 operator=(Context\u0026\u0026) = delete;",""," ~Context(); // NOLINT(performance-trivially-destructible)",""," void applyCommandLine(int argc, const char* const* argv);",""," void addFilter(const char* filter, const char* value);"," void clearFilters();"," void setOption(const char* option, bool value);"," void setOption(const char* option, int value);"," void setOption(const char* option, const char* value);",""," bool shouldExit();",""," void setAsDefaultForAssertsOutOfTestCases();",""," void setAssertHandler(detail::assert_handler ah);",""," void setCout(std::ostream* out);",""," int run();","};","","namespace TestCaseFailureReason {"," enum Enum"," {"," None = 0,"," AssertFailure = 1, // an assertion has failed in the test case"," Exception = 2, // test case threw an exception"," Crash = 4, // a crash..."," TooManyFailedAsserts = 8, // the abort-after option"," Timeout = 16, // see the timeout decorator"," ShouldHaveFailedButDidnt = 32, // see the should_fail decorator"," ShouldHaveFailedAndDid = 64, // see the should_fail decorator"," DidntFailExactlyNumTimes = 128, // see the expected_failures decorator"," FailedExactlyNumTimes = 256, // see the expected_failures decorator"," CouldHaveFailedAndDid = 512 // see the may_fail decorator"," };","} // namespace TestCaseFailureReason","","struct DOCTEST_INTERFACE CurrentTestCaseStats","{"," int numAssertsCurrentTest;"," int numAssertsFailedCurrentTest;"," double seconds;"," int failure_flags; // use TestCaseFailureReason::Enum"," bool testCaseSuccess;","};","","struct DOCTEST_INTERFACE TestCaseException","{"," String error_string;"," bool is_crash;","};","","struct DOCTEST_INTERFACE TestRunStats","{"," unsigned numTestCases;"," unsigned numTestCasesPassingFilters;"," unsigned numTestSuitesPassingFilters;"," unsigned numTestCasesFailed;"," int numAsserts;"," int numAssertsFailed;","};","","struct QueryData","{"," const TestRunStats* run_stats = nullptr;"," const TestCaseData** data = nullptr;"," unsigned num_data = 0;","};","","struct DOCTEST_INTERFACE IReporter","{"," // The constructor has to accept \"const ContextOptions\u0026\" as a single argument"," // which has most of the options for the run + a pointer to the stdout stream"," // Reporter(const ContextOptions\u0026 in)",""," // called when a query should be reported (listing test cases, printing the version, etc.)"," virtual void report_query(const QueryData\u0026) = 0;",""," // called when the whole test run starts"," virtual void test_run_start() = 0;"," // called when the whole test run ends (caching a pointer to the input doesn't make sense here)"," virtual void test_run_end(const TestRunStats\u0026) = 0;",""," // called when a test case is started (safe to cache a pointer to the input)"," virtual void test_case_start(const TestCaseData\u0026) = 0;"," // called when a test case is reentered because of unfinished subcases (safe to cache a pointer to the input)"," virtual void test_case_reenter(const TestCaseData\u0026) = 0;"," // called when a test case has ended"," virtual void test_case_end(const CurrentTestCaseStats\u0026) = 0;",""," // called when an exception is thrown from the test case (or it crashes)"," virtual void test_case_exception(const TestCaseException\u0026) = 0;",""," // called whenever a subcase is entered (don't cache pointers to the input)"," virtual void subcase_start(const SubcaseSignature\u0026) = 0;"," // called whenever a subcase is exited (don't cache pointers to the input)"," virtual void subcase_end() = 0;",""," // called for each assert (don't cache pointers to the input)"," virtual void log_assert(const AssertData\u0026) = 0;"," // called for each message (don't cache pointers to the input)"," virtual void log_message(const MessageData\u0026) = 0;",""," // called when a test case is skipped either because it doesn't pass the filters, has a skip decorator"," // or isn't in the execution range (between first and last) (safe to cache a pointer to the input)"," virtual void test_case_skipped(const TestCaseData\u0026) = 0;",""," DOCTEST_DECLARE_INTERFACE(IReporter)",""," // can obtain all currently active contexts and stringify them if one wishes to do so"," static int get_num_active_contexts();"," static const IContextScope* const* get_active_contexts();",""," // can iterate through contexts which have been stringified automatically in their destructors when an exception has been thrown"," static int get_num_stringified_contexts();"," static const String* get_stringified_contexts();","};","","namespace detail {"," using reporterCreatorFunc = IReporter* (*)(const ContextOptions\u0026);",""," DOCTEST_INTERFACE void registerReporterImpl(const char* name, int prio, reporterCreatorFunc c, bool isReporter);",""," template \u003ctypename Reporter\u003e"," IReporter* reporterCreator(const ContextOptions\u0026 o) {"," return new Reporter(o);"," }","} // namespace detail","","template \u003ctypename Reporter\u003e","int registerReporter(const char* name, int priority, bool isReporter) {"," detail::registerReporterImpl(name, priority, detail::reporterCreator\u003cReporter\u003e, isReporter);"," return 0;","}","} // namespace doctest","","#ifdef DOCTEST_CONFIG_ASSERTS_RETURN_VALUES","#define DOCTEST_FUNC_EMPTY [] { return false; }()","#else","#define DOCTEST_FUNC_EMPTY (void)0","#endif","","// if registering is not disabled","#ifndef DOCTEST_CONFIG_DISABLE","","#ifdef DOCTEST_CONFIG_ASSERTS_RETURN_VALUES","#define DOCTEST_FUNC_SCOPE_BEGIN [\u0026]","#define DOCTEST_FUNC_SCOPE_END ()","#define DOCTEST_FUNC_SCOPE_RET(v) return v","#else","#define DOCTEST_FUNC_SCOPE_BEGIN do","#define DOCTEST_FUNC_SCOPE_END while(false)","#define DOCTEST_FUNC_SCOPE_RET(v) (void)0","#endif","","// common code in asserts - for convenience","#define DOCTEST_ASSERT_LOG_REACT_RETURN(b) \\"," if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER(); \\"," b.react(); \\"," DOCTEST_FUNC_SCOPE_RET(!b.m_failed)","","#ifdef DOCTEST_CONFIG_NO_TRY_CATCH_IN_ASSERTS","#define DOCTEST_WRAP_IN_TRY(x) x;","#else // DOCTEST_CONFIG_NO_TRY_CATCH_IN_ASSERTS","#define DOCTEST_WRAP_IN_TRY(x) \\"," try { \\"," x; \\"," } catch(...) { DOCTEST_RB.translateException(); }","#endif // DOCTEST_CONFIG_NO_TRY_CATCH_IN_ASSERTS","","#ifdef DOCTEST_CONFIG_VOID_CAST_EXPRESSIONS","#define DOCTEST_CAST_TO_VOID(...) \\"," DOCTEST_GCC_SUPPRESS_WARNING_WITH_PUSH(\"-Wuseless-cast\") \\"," static_cast\u003cvoid\u003e(__VA_ARGS__); \\"," DOCTEST_GCC_SUPPRESS_WARNING_POP","#else // DOCTEST_CONFIG_VOID_CAST_EXPRESSIONS","#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;","#endif // DOCTEST_CONFIG_VOID_CAST_EXPRESSIONS","","// registers the test by initializing a dummy var with a function","#define DOCTEST_REGISTER_FUNCTION(global_prefix, f, decorators) \\"," global_prefix DOCTEST_GLOBAL_NO_WARNINGS(DOCTEST_ANONYMOUS(DOCTEST_ANON_VAR_), /* NOLINT */ \\"," doctest::detail::regTest( \\"," doctest::detail::TestCase( \\"," f, __FILE__, __LINE__, \\"," doctest_detail_test_suite_ns::getCurrentTestSuite()) * \\"," decorators))","","#define DOCTEST_IMPLEMENT_FIXTURE(der, base, func, decorators) \\"," namespace { /* NOLINT */ \\"," struct der : public base \\"," { \\"," void f(); \\"," }; \\"," static DOCTEST_INLINE_NOINLINE void func() { \\"," der v; \\"," v.f(); \\"," } \\"," DOCTEST_REGISTER_FUNCTION(DOCTEST_EMPTY, func, decorators) \\"," } \\"," DOCTEST_INLINE_NOINLINE void der::f() // NOLINT(misc-definitions-in-headers)","","#define DOCTEST_CREATE_AND_REGISTER_FUNCTION(f, decorators) \\"," static void f(); \\"," DOCTEST_REGISTER_FUNCTION(DOCTEST_EMPTY, f, decorators) \\"," static void f()","","#define DOCTEST_CREATE_AND_REGISTER_FUNCTION_IN_CLASS(f, proxy, decorators) \\"," static doctest::detail::funcType proxy() { return f; } \\"," DOCTEST_REGISTER_FUNCTION(inline, proxy(), decorators) \\"," static void f()","","// for registering tests","#define DOCTEST_TEST_CASE(decorators) \\"," DOCTEST_CREATE_AND_REGISTER_FUNCTION(DOCTEST_ANONYMOUS(DOCTEST_ANON_FUNC_), decorators)","","// for registering tests in classes - requires C++17 for inline variables!","#if DOCTEST_CPLUSPLUS \u003e= 201703L","#define DOCTEST_TEST_CASE_CLASS(decorators) \\"," DOCTEST_CREATE_AND_REGISTER_FUNCTION_IN_CLASS(DOCTEST_ANONYMOUS(DOCTEST_ANON_FUNC_), \\"," DOCTEST_ANONYMOUS(DOCTEST_ANON_PROXY_), \\"," decorators)","#else // DOCTEST_TEST_CASE_CLASS","#define DOCTEST_TEST_CASE_CLASS(...) \\"," TEST_CASES_CAN_BE_REGISTERED_IN_CLASSES_ONLY_IN_CPP17_MODE_OR_WITH_VS_2017_OR_NEWER","#endif // DOCTEST_TEST_CASE_CLASS","","// for registering tests with a fixture","#define DOCTEST_TEST_CASE_FIXTURE(c, decorators) \\"," DOCTEST_IMPLEMENT_FIXTURE(DOCTEST_ANONYMOUS(DOCTEST_ANON_CLASS_), c, \\"," DOCTEST_ANONYMOUS(DOCTEST_ANON_FUNC_), decorators)","","// for converting types to strings without the \u003ctypeinfo\u003e header and demangling","#define DOCTEST_TYPE_TO_STRING_AS(str, ...) \\"," namespace doctest { \\"," template \u003c\u003e \\"," inline String toString\u003c__VA_ARGS__\u003e() { \\"," return str; \\"," } \\"," } \\"," static_assert(true, \"\")","","#define DOCTEST_TYPE_TO_STRING(...) DOCTEST_TYPE_TO_STRING_AS(#__VA_ARGS__, __VA_ARGS__)","","#define DOCTEST_TEST_CASE_TEMPLATE_DEFINE_IMPL(dec, T, iter, func) \\"," template \u003ctypename T\u003e \\"," static void func(); \\"," namespace { /* NOLINT */ \\"," template \u003ctypename Tuple\u003e \\"," struct iter; \\"," template \u003ctypename Type, typename... Rest\u003e \\"," struct iter\u003cstd::tuple\u003cType, Rest...\u003e\u003e \\"," { \\"," iter(const char* file, unsigned line, int index) { \\"," doctest::detail::regTest(doctest::detail::TestCase(func\u003cType\u003e, file, line, \\"," doctest_detail_test_suite_ns::getCurrentTestSuite(), \\"," doctest::toString\u003cType\u003e(), \\"," int(line) * 1000 + index) \\"," * dec); \\"," iter\u003cstd::tuple\u003cRest...\u003e\u003e(file, line, index + 1); \\"," } \\"," }; \\"," template \u003c\u003e \\"," struct iter\u003cstd::tuple\u003c\u003e\u003e \\"," { \\"," iter(const char*, unsigned, int) {} \\"," }; \\"," } \\"," template \u003ctypename T\u003e \\"," static void func()","","#define DOCTEST_TEST_CASE_TEMPLATE_DEFINE(dec, T, id) \\"," DOCTEST_TEST_CASE_TEMPLATE_DEFINE_IMPL(dec, T, DOCTEST_CAT(id, ITERATOR), \\"," DOCTEST_ANONYMOUS(DOCTEST_ANON_TMP_))","","#define DOCTEST_TEST_CASE_TEMPLATE_INSTANTIATE_IMPL(id, anon, ...) \\"," DOCTEST_GLOBAL_NO_WARNINGS(DOCTEST_CAT(anon, DUMMY), /* NOLINT(cert-err58-cpp, fuchsia-statically-constructed-objects) */ \\"," doctest::detail::instantiationHelper( \\"," DOCTEST_CAT(id, ITERATOR)\u003c__VA_ARGS__\u003e(__FILE__, __LINE__, 0)))","","#define DOCTEST_TEST_CASE_TEMPLATE_INVOKE(id, ...) \\"," DOCTEST_TEST_CASE_TEMPLATE_INSTANTIATE_IMPL(id, DOCTEST_ANONYMOUS(DOCTEST_ANON_TMP_), std::tuple\u003c__VA_ARGS__\u003e) \\"," static_assert(true, \"\")","","#define DOCTEST_TEST_CASE_TEMPLATE_APPLY(id, ...) \\"," DOCTEST_TEST_CASE_TEMPLATE_INSTANTIATE_IMPL(id, DOCTEST_ANONYMOUS(DOCTEST_ANON_TMP_), __VA_ARGS__) \\"," static_assert(true, \"\")","","#define DOCTEST_TEST_CASE_TEMPLATE_IMPL(dec, T, anon, ...) \\"," DOCTEST_TEST_CASE_TEMPLATE_DEFINE_IMPL(dec, T, DOCTEST_CAT(anon, ITERATOR), anon); \\"," DOCTEST_TEST_CASE_TEMPLATE_INSTANTIATE_IMPL(anon, anon, std::tuple\u003c__VA_ARGS__\u003e) \\"," template \u003ctypename T\u003e \\"," static void anon()","","#define DOCTEST_TEST_CASE_TEMPLATE(dec, T, ...) \\"," DOCTEST_TEST_CASE_TEMPLATE_IMPL(dec, T, DOCTEST_ANONYMOUS(DOCTEST_ANON_TMP_), __VA_ARGS__)","","// for subcases","#define DOCTEST_SUBCASE(name) \\"," if(const doctest::detail::Subcase \u0026 DOCTEST_ANONYMOUS(DOCTEST_ANON_SUBCASE_) DOCTEST_UNUSED = \\"," doctest::detail::Subcase(name, __FILE__, __LINE__))","","// for grouping tests in test suites by using code blocks","#define DOCTEST_TEST_SUITE_IMPL(decorators, ns_name) \\"," namespace ns_name { namespace doctest_detail_test_suite_ns { \\"," static DOCTEST_NOINLINE doctest::detail::TestSuite\u0026 getCurrentTestSuite() noexcept { \\"," DOCTEST_MSVC_SUPPRESS_WARNING_WITH_PUSH(4640) \\"," DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH(\"-Wexit-time-destructors\") \\"," DOCTEST_GCC_SUPPRESS_WARNING_WITH_PUSH(\"-Wmissing-field-initializers\") \\"," static doctest::detail::TestSuite data{}; \\"," static bool inited = false; \\"," DOCTEST_MSVC_SUPPRESS_WARNING_POP \\"," DOCTEST_CLANG_SUPPRESS_WARNING_POP \\"," DOCTEST_GCC_SUPPRESS_WARNING_POP \\"," if(!inited) { \\"," data* decorators; \\"," inited = true; \\"," } \\"," return data; \\"," } \\"," } \\"," } \\"," namespace ns_name","","#define DOCTEST_TEST_SUITE(decorators) \\"," DOCTEST_TEST_SUITE_IMPL(decorators, DOCTEST_ANONYMOUS(DOCTEST_ANON_SUITE_))","","// for starting a testsuite block","#define DOCTEST_TEST_SUITE_BEGIN(decorators) \\"," DOCTEST_GLOBAL_NO_WARNINGS(DOCTEST_ANONYMOUS(DOCTEST_ANON_VAR_), /* NOLINT(cert-err58-cpp) */ \\"," doctest::detail::setTestSuite(doctest::detail::TestSuite() * decorators)) \\"," static_assert(true, \"\")","","// for ending a testsuite block","#define DOCTEST_TEST_SUITE_END \\"," DOCTEST_GLOBAL_NO_WARNINGS(DOCTEST_ANONYMOUS(DOCTEST_ANON_VAR_), /* NOLINT(cert-err58-cpp) */ \\"," doctest::detail::setTestSuite(doctest::detail::TestSuite() * \"\")) \\"," using DOCTEST_ANONYMOUS(DOCTEST_ANON_FOR_SEMICOLON_) = int","","// for registering exception translators","#define DOCTEST_REGISTER_EXCEPTION_TRANSLATOR_IMPL(translatorName, signature) \\"," inline doctest::String translatorName(signature); \\"," DOCTEST_GLOBAL_NO_WARNINGS(DOCTEST_ANONYMOUS(DOCTEST_ANON_TRANSLATOR_), /* NOLINT(cert-err58-cpp) */ \\"," doctest::registerExceptionTranslator(translatorName)) \\"," doctest::String translatorName(signature)","","#define DOCTEST_REGISTER_EXCEPTION_TRANSLATOR(signature) \\"," DOCTEST_REGISTER_EXCEPTION_TRANSLATOR_IMPL(DOCTEST_ANONYMOUS(DOCTEST_ANON_TRANSLATOR_), \\"," signature)","","// for registering reporters","#define DOCTEST_REGISTER_REPORTER(name, priority, reporter) \\"," DOCTEST_GLOBAL_NO_WARNINGS(DOCTEST_ANONYMOUS(DOCTEST_ANON_REPORTER_), /* NOLINT(cert-err58-cpp) */ \\"," doctest::registerReporter\u003creporter\u003e(name, priority, true)) \\"," static_assert(true, \"\")","","// for registering listeners","#define DOCTEST_REGISTER_LISTENER(name, priority, reporter) \\"," DOCTEST_GLOBAL_NO_WARNINGS(DOCTEST_ANONYMOUS(DOCTEST_ANON_REPORTER_), /* NOLINT(cert-err58-cpp) */ \\"," doctest::registerReporter\u003creporter\u003e(name, priority, false)) \\"," static_assert(true, \"\")","","// clang-format off","// for logging - disabling formatting because it's important to have these on 2 separate lines - see PR #557","#define DOCTEST_INFO(...) \\"," DOCTEST_INFO_IMPL(DOCTEST_ANONYMOUS(DOCTEST_CAPTURE_), \\"," DOCTEST_ANONYMOUS(DOCTEST_CAPTURE_OTHER_), \\"," __VA_ARGS__)","// clang-format on","","#define DOCTEST_INFO_IMPL(mb_name, s_name, ...) \\"," auto DOCTEST_ANONYMOUS(DOCTEST_CAPTURE_) = doctest::detail::MakeContextScope( \\"," [\u0026](std::ostream* s_name) { \\"," doctest::detail::MessageBuilder mb_name(__FILE__, __LINE__, doctest::assertType::is_warn); \\"," mb_name.m_stream = s_name; \\"," mb_name * __VA_ARGS__; \\"," })","","#define DOCTEST_CAPTURE(x) DOCTEST_INFO(#x \" := \", x)","","#define DOCTEST_ADD_AT_IMPL(type, file, line, mb, ...) \\"," DOCTEST_FUNC_SCOPE_BEGIN { \\"," doctest::detail::MessageBuilder mb(file, line, doctest::assertType::type); \\"," mb * __VA_ARGS__; \\"," if(mb.log()) \\"," DOCTEST_BREAK_INTO_DEBUGGER(); \\"," mb.react(); \\"," } DOCTEST_FUNC_SCOPE_END","","// clang-format off","#define DOCTEST_ADD_MESSAGE_AT(file, line, ...) DOCTEST_ADD_AT_IMPL(is_warn, file, line, DOCTEST_ANONYMOUS(DOCTEST_MESSAGE_), __VA_ARGS__)","#define DOCTEST_ADD_FAIL_CHECK_AT(file, line, ...) DOCTEST_ADD_AT_IMPL(is_check, file, line, DOCTEST_ANONYMOUS(DOCTEST_MESSAGE_), __VA_ARGS__)","#define DOCTEST_ADD_FAIL_AT(file, line, ...) DOCTEST_ADD_AT_IMPL(is_require, file, line, DOCTEST_ANONYMOUS(DOCTEST_MESSAGE_), __VA_ARGS__)","// clang-format on","","#define DOCTEST_MESSAGE(...) DOCTEST_ADD_MESSAGE_AT(__FILE__, __LINE__, __VA_ARGS__)","#define DOCTEST_FAIL_CHECK(...) DOCTEST_ADD_FAIL_CHECK_AT(__FILE__, __LINE__, __VA_ARGS__)","#define DOCTEST_FAIL(...) DOCTEST_ADD_FAIL_AT(__FILE__, __LINE__, __VA_ARGS__)","","#define DOCTEST_TO_LVALUE(...) __VA_ARGS__ // Not removed to keep backwards compatibility.","","#ifndef DOCTEST_CONFIG_SUPER_FAST_ASSERTS","","#define DOCTEST_ASSERT_IMPLEMENT_2(assert_type, ...) \\"," DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH(\"-Woverloaded-shift-op-parentheses\") \\"," /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */ \\"," doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__, \\"," __LINE__, #__VA_ARGS__); \\"," DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult( \\"," doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type) \\"," \u003c\u003c __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */ \\"," DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB) \\"," DOCTEST_CLANG_SUPPRESS_WARNING_POP","","#define DOCTEST_ASSERT_IMPLEMENT_1(assert_type, ...) \\"," DOCTEST_FUNC_SCOPE_BEGIN { \\"," DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__); \\"," } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)","","#define DOCTEST_BINARY_ASSERT(assert_type, comp, ...) \\"," DOCTEST_FUNC_SCOPE_BEGIN { \\"," doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__, \\"," __LINE__, #__VA_ARGS__); \\"," DOCTEST_WRAP_IN_TRY( \\"," DOCTEST_RB.binary_assert\u003cdoctest::detail::binaryAssertComparison::comp\u003e( \\"," __VA_ARGS__)) \\"," DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB); \\"," } DOCTEST_FUNC_SCOPE_END","","#define DOCTEST_UNARY_ASSERT(assert_type, ...) \\"," DOCTEST_FUNC_SCOPE_BEGIN { \\"," doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__, \\"," __LINE__, #__VA_ARGS__); \\"," DOCTEST_WRAP_IN_TRY(DOCTEST_RB.unary_assert(__VA_ARGS__)) \\"," DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB); \\"," } DOCTEST_FUNC_SCOPE_END","","#else // DOCTEST_CONFIG_SUPER_FAST_ASSERTS","","// necessary for \u003cASSERT\u003e_MESSAGE","#define DOCTEST_ASSERT_IMPLEMENT_2 DOCTEST_ASSERT_IMPLEMENT_1","","#define DOCTEST_ASSERT_IMPLEMENT_1(assert_type, ...) \\"," DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH(\"-Woverloaded-shift-op-parentheses\") \\"," doctest::detail::decomp_assert( \\"," doctest::assertType::assert_type, __FILE__, __LINE__, #__VA_ARGS__, \\"," doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type) \\"," \u003c\u003c __VA_ARGS__) DOCTEST_CLANG_SUPPRESS_WARNING_POP","","#define DOCTEST_BINARY_ASSERT(assert_type, comparison, ...) \\"," doctest::detail::binary_assert\u003cdoctest::detail::binaryAssertComparison::comparison\u003e( \\"," doctest::assertType::assert_type, __FILE__, __LINE__, #__VA_ARGS__, __VA_ARGS__)","","#define DOCTEST_UNARY_ASSERT(assert_type, ...) \\"," doctest::detail::unary_assert(doctest::assertType::assert_type, __FILE__, __LINE__, \\"," #__VA_ARGS__, __VA_ARGS__)","","#endif // DOCTEST_CONFIG_SUPER_FAST_ASSERTS","","#define DOCTEST_WARN(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_WARN, __VA_ARGS__)","#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)","#define DOCTEST_REQUIRE(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_REQUIRE, __VA_ARGS__)","#define DOCTEST_WARN_FALSE(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_WARN_FALSE, __VA_ARGS__)","#define DOCTEST_CHECK_FALSE(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK_FALSE, __VA_ARGS__)","#define DOCTEST_REQUIRE_FALSE(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_REQUIRE_FALSE, __VA_ARGS__)","","// clang-format off","#define DOCTEST_WARN_MESSAGE(cond, ...) DOCTEST_FUNC_SCOPE_BEGIN { DOCTEST_INFO(__VA_ARGS__); DOCTEST_ASSERT_IMPLEMENT_2(DT_WARN, cond); } DOCTEST_FUNC_SCOPE_END","#define DOCTEST_CHECK_MESSAGE(cond, ...) DOCTEST_FUNC_SCOPE_BEGIN { DOCTEST_INFO(__VA_ARGS__); DOCTEST_ASSERT_IMPLEMENT_2(DT_CHECK, cond); } DOCTEST_FUNC_SCOPE_END","#define DOCTEST_REQUIRE_MESSAGE(cond, ...) DOCTEST_FUNC_SCOPE_BEGIN { DOCTEST_INFO(__VA_ARGS__); DOCTEST_ASSERT_IMPLEMENT_2(DT_REQUIRE, cond); } DOCTEST_FUNC_SCOPE_END","#define DOCTEST_WARN_FALSE_MESSAGE(cond, ...) DOCTEST_FUNC_SCOPE_BEGIN { DOCTEST_INFO(__VA_ARGS__); DOCTEST_ASSERT_IMPLEMENT_2(DT_WARN_FALSE, cond); } DOCTEST_FUNC_SCOPE_END","#define DOCTEST_CHECK_FALSE_MESSAGE(cond, ...) DOCTEST_FUNC_SCOPE_BEGIN { DOCTEST_INFO(__VA_ARGS__); DOCTEST_ASSERT_IMPLEMENT_2(DT_CHECK_FALSE, cond); } DOCTEST_FUNC_SCOPE_END","#define DOCTEST_REQUIRE_FALSE_MESSAGE(cond, ...) DOCTEST_FUNC_SCOPE_BEGIN { DOCTEST_INFO(__VA_ARGS__); DOCTEST_ASSERT_IMPLEMENT_2(DT_REQUIRE_FALSE, cond); } DOCTEST_FUNC_SCOPE_END","// clang-format on","","#define DOCTEST_WARN_EQ(...) DOCTEST_BINARY_ASSERT(DT_WARN_EQ, eq, __VA_ARGS__)","#define DOCTEST_CHECK_EQ(...) DOCTEST_BINARY_ASSERT(DT_CHECK_EQ, eq, __VA_ARGS__)","#define DOCTEST_REQUIRE_EQ(...) DOCTEST_BINARY_ASSERT(DT_REQUIRE_EQ, eq, __VA_ARGS__)","#define DOCTEST_WARN_NE(...) DOCTEST_BINARY_ASSERT(DT_WARN_NE, ne, __VA_ARGS__)","#define DOCTEST_CHECK_NE(...) DOCTEST_BINARY_ASSERT(DT_CHECK_NE, ne, __VA_ARGS__)","#define DOCTEST_REQUIRE_NE(...) DOCTEST_BINARY_ASSERT(DT_REQUIRE_NE, ne, __VA_ARGS__)","#define DOCTEST_WARN_GT(...) DOCTEST_BINARY_ASSERT(DT_WARN_GT, gt, __VA_ARGS__)","#define DOCTEST_CHECK_GT(...) DOCTEST_BINARY_ASSERT(DT_CHECK_GT, gt, __VA_ARGS__)","#define DOCTEST_REQUIRE_GT(...) DOCTEST_BINARY_ASSERT(DT_REQUIRE_GT, gt, __VA_ARGS__)","#define DOCTEST_WARN_LT(...) DOCTEST_BINARY_ASSERT(DT_WARN_LT, lt, __VA_ARGS__)","#define DOCTEST_CHECK_LT(...) DOCTEST_BINARY_ASSERT(DT_CHECK_LT, lt, __VA_ARGS__)","#define DOCTEST_REQUIRE_LT(...) DOCTEST_BINARY_ASSERT(DT_REQUIRE_LT, lt, __VA_ARGS__)","#define DOCTEST_WARN_GE(...) DOCTEST_BINARY_ASSERT(DT_WARN_GE, ge, __VA_ARGS__)","#define DOCTEST_CHECK_GE(...) DOCTEST_BINARY_ASSERT(DT_CHECK_GE, ge, __VA_ARGS__)","#define DOCTEST_REQUIRE_GE(...) DOCTEST_BINARY_ASSERT(DT_REQUIRE_GE, ge, __VA_ARGS__)","#define DOCTEST_WARN_LE(...) DOCTEST_BINARY_ASSERT(DT_WARN_LE, le, __VA_ARGS__)","#define DOCTEST_CHECK_LE(...) DOCTEST_BINARY_ASSERT(DT_CHECK_LE, le, __VA_ARGS__)","#define DOCTEST_REQUIRE_LE(...) DOCTEST_BINARY_ASSERT(DT_REQUIRE_LE, le, __VA_ARGS__)","","#define DOCTEST_WARN_UNARY(...) DOCTEST_UNARY_ASSERT(DT_WARN_UNARY, __VA_ARGS__)","#define DOCTEST_CHECK_UNARY(...) DOCTEST_UNARY_ASSERT(DT_CHECK_UNARY, __VA_ARGS__)","#define DOCTEST_REQUIRE_UNARY(...) DOCTEST_UNARY_ASSERT(DT_REQUIRE_UNARY, __VA_ARGS__)","#define DOCTEST_WARN_UNARY_FALSE(...) DOCTEST_UNARY_ASSERT(DT_WARN_UNARY_FALSE, __VA_ARGS__)","#define DOCTEST_CHECK_UNARY_FALSE(...) DOCTEST_UNARY_ASSERT(DT_CHECK_UNARY_FALSE, __VA_ARGS__)","#define DOCTEST_REQUIRE_UNARY_FALSE(...) DOCTEST_UNARY_ASSERT(DT_REQUIRE_UNARY_FALSE, __VA_ARGS__)","","#ifndef DOCTEST_CONFIG_NO_EXCEPTIONS","","#define DOCTEST_ASSERT_THROWS_AS(expr, assert_type, message, ...) \\"," DOCTEST_FUNC_SCOPE_BEGIN { \\"," if(!doctest::getContextOptions()-\u003eno_throw) { \\"," doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__, \\"," __LINE__, #expr, #__VA_ARGS__, message); \\"," try { \\"," DOCTEST_CAST_TO_VOID(expr) \\"," } catch(const typename doctest::detail::types::remove_const\u003c \\"," typename doctest::detail::types::remove_reference\u003c__VA_ARGS__\u003e::type\u003e::type\u0026) {\\"," DOCTEST_RB.translateException(); \\"," DOCTEST_RB.m_threw_as = true; \\"," } catch(...) { DOCTEST_RB.translateException(); } \\"," DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB); \\"," } else { /* NOLINT(*-else-after-return) */ \\"," DOCTEST_FUNC_SCOPE_RET(false); \\"," } \\"," } DOCTEST_FUNC_SCOPE_END","","#define DOCTEST_ASSERT_THROWS_WITH(expr, expr_str, assert_type, ...) \\"," DOCTEST_FUNC_SCOPE_BEGIN { \\"," if(!doctest::getContextOptions()-\u003eno_throw) { \\"," doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__, \\"," __LINE__, expr_str, \"\", __VA_ARGS__); \\"," try { \\"," DOCTEST_CAST_TO_VOID(expr) \\"," } catch(...) { DOCTEST_RB.translateException(); } \\"," DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB); \\"," } else { /* NOLINT(*-else-after-return) */ \\"," DOCTEST_FUNC_SCOPE_RET(false); \\"," } \\"," } DOCTEST_FUNC_SCOPE_END","","#define DOCTEST_ASSERT_NOTHROW(assert_type, ...) \\"," DOCTEST_FUNC_SCOPE_BEGIN { \\"," doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__, \\"," __LINE__, #__VA_ARGS__); \\"," try { \\"," DOCTEST_CAST_TO_VOID(__VA_ARGS__) \\"," } catch(...) { DOCTEST_RB.translateException(); } \\"," DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB); \\"," } DOCTEST_FUNC_SCOPE_END","","// clang-format off","#define DOCTEST_WARN_THROWS(...) DOCTEST_ASSERT_THROWS_WITH((__VA_ARGS__), #__VA_ARGS__, DT_WARN_THROWS, \"\")","#define DOCTEST_CHECK_THROWS(...) DOCTEST_ASSERT_THROWS_WITH((__VA_ARGS__), #__VA_ARGS__, DT_CHECK_THROWS, \"\")","#define DOCTEST_REQUIRE_THROWS(...) DOCTEST_ASSERT_THROWS_WITH((__VA_ARGS__), #__VA_ARGS__, DT_REQUIRE_THROWS, \"\")","","#define DOCTEST_WARN_THROWS_AS(expr, ...) DOCTEST_ASSERT_THROWS_AS(expr, DT_WARN_THROWS_AS, \"\", __VA_ARGS__)","#define DOCTEST_CHECK_THROWS_AS(expr, ...) DOCTEST_ASSERT_THROWS_AS(expr, DT_CHECK_THROWS_AS, \"\", __VA_ARGS__)","#define DOCTEST_REQUIRE_THROWS_AS(expr, ...) DOCTEST_ASSERT_THROWS_AS(expr, DT_REQUIRE_THROWS_AS, \"\", __VA_ARGS__)","","#define DOCTEST_WARN_THROWS_WITH(expr, ...) DOCTEST_ASSERT_THROWS_WITH(expr, #expr, DT_WARN_THROWS_WITH, __VA_ARGS__)","#define DOCTEST_CHECK_THROWS_WITH(expr, ...) DOCTEST_ASSERT_THROWS_WITH(expr, #expr, DT_CHECK_THROWS_WITH, __VA_ARGS__)","#define DOCTEST_REQUIRE_THROWS_WITH(expr, ...) DOCTEST_ASSERT_THROWS_WITH(expr, #expr, DT_REQUIRE_THROWS_WITH, __VA_ARGS__)","","#define DOCTEST_WARN_THROWS_WITH_AS(expr, message, ...) DOCTEST_ASSERT_THROWS_AS(expr, DT_WARN_THROWS_WITH_AS, message, __VA_ARGS__)","#define DOCTEST_CHECK_THROWS_WITH_AS(expr, message, ...) DOCTEST_ASSERT_THROWS_AS(expr, DT_CHECK_THROWS_WITH_AS, message, __VA_ARGS__)","#define DOCTEST_REQUIRE_THROWS_WITH_AS(expr, message, ...) DOCTEST_ASSERT_THROWS_AS(expr, DT_REQUIRE_THROWS_WITH_AS, message, __VA_ARGS__)","","#define DOCTEST_WARN_NOTHROW(...) DOCTEST_ASSERT_NOTHROW(DT_WARN_NOTHROW, __VA_ARGS__)","#define DOCTEST_CHECK_NOTHROW(...) DOCTEST_ASSERT_NOTHROW(DT_CHECK_NOTHROW, __VA_ARGS__)","#define DOCTEST_REQUIRE_NOTHROW(...) DOCTEST_ASSERT_NOTHROW(DT_REQUIRE_NOTHROW, __VA_ARGS__)","","#define DOCTEST_WARN_THROWS_MESSAGE(expr, ...) DOCTEST_FUNC_SCOPE_BEGIN { DOCTEST_INFO(__VA_ARGS__); DOCTEST_WARN_THROWS(expr); } DOCTEST_FUNC_SCOPE_END","#define DOCTEST_CHECK_THROWS_MESSAGE(expr, ...) DOCTEST_FUNC_SCOPE_BEGIN { DOCTEST_INFO(__VA_ARGS__); DOCTEST_CHECK_THROWS(expr); } DOCTEST_FUNC_SCOPE_END","#define DOCTEST_REQUIRE_THROWS_MESSAGE(expr, ...) DOCTEST_FUNC_SCOPE_BEGIN { DOCTEST_INFO(__VA_ARGS__); DOCTEST_REQUIRE_THROWS(expr); } DOCTEST_FUNC_SCOPE_END","#define DOCTEST_WARN_THROWS_AS_MESSAGE(expr, ex, ...) DOCTEST_FUNC_SCOPE_BEGIN { DOCTEST_INFO(__VA_ARGS__); DOCTEST_WARN_THROWS_AS(expr, ex); } DOCTEST_FUNC_SCOPE_END","#define DOCTEST_CHECK_THROWS_AS_MESSAGE(expr, ex, ...) DOCTEST_FUNC_SCOPE_BEGIN { DOCTEST_INFO(__VA_ARGS__); DOCTEST_CHECK_THROWS_AS(expr, ex); } DOCTEST_FUNC_SCOPE_END","#define DOCTEST_REQUIRE_THROWS_AS_MESSAGE(expr, ex, ...) DOCTEST_FUNC_SCOPE_BEGIN { DOCTEST_INFO(__VA_ARGS__); DOCTEST_REQUIRE_THROWS_AS(expr, ex); } DOCTEST_FUNC_SCOPE_END","#define DOCTEST_WARN_THROWS_WITH_MESSAGE(expr, with, ...) DOCTEST_FUNC_SCOPE_BEGIN { DOCTEST_INFO(__VA_ARGS__); DOCTEST_WARN_THROWS_WITH(expr, with); } DOCTEST_FUNC_SCOPE_END","#define DOCTEST_CHECK_THROWS_WITH_MESSAGE(expr, with, ...) DOCTEST_FUNC_SCOPE_BEGIN { DOCTEST_INFO(__VA_ARGS__); DOCTEST_CHECK_THROWS_WITH(expr, with); } DOCTEST_FUNC_SCOPE_END","#define DOCTEST_REQUIRE_THROWS_WITH_MESSAGE(expr, with, ...) DOCTEST_FUNC_SCOPE_BEGIN { DOCTEST_INFO(__VA_ARGS__); DOCTEST_REQUIRE_THROWS_WITH(expr, with); } DOCTEST_FUNC_SCOPE_END","#define DOCTEST_WARN_THROWS_WITH_AS_MESSAGE(expr, with, ex, ...) DOCTEST_FUNC_SCOPE_BEGIN { DOCTEST_INFO(__VA_ARGS__); DOCTEST_WARN_THROWS_WITH_AS(expr, with, ex); } DOCTEST_FUNC_SCOPE_END","#define DOCTEST_CHECK_THROWS_WITH_AS_MESSAGE(expr, with, ex, ...) DOCTEST_FUNC_SCOPE_BEGIN { DOCTEST_INFO(__VA_ARGS__); DOCTEST_CHECK_THROWS_WITH_AS(expr, with, ex); } DOCTEST_FUNC_SCOPE_END","#define DOCTEST_REQUIRE_THROWS_WITH_AS_MESSAGE(expr, with, ex, ...) DOCTEST_FUNC_SCOPE_BEGIN { DOCTEST_INFO(__VA_ARGS__); DOCTEST_REQUIRE_THROWS_WITH_AS(expr, with, ex); } DOCTEST_FUNC_SCOPE_END","#define DOCTEST_WARN_NOTHROW_MESSAGE(expr, ...) DOCTEST_FUNC_SCOPE_BEGIN { DOCTEST_INFO(__VA_ARGS__); DOCTEST_WARN_NOTHROW(expr); } DOCTEST_FUNC_SCOPE_END","#define DOCTEST_CHECK_NOTHROW_MESSAGE(expr, ...) DOCTEST_FUNC_SCOPE_BEGIN { DOCTEST_INFO(__VA_ARGS__); DOCTEST_CHECK_NOTHROW(expr); } DOCTEST_FUNC_SCOPE_END","#define DOCTEST_REQUIRE_NOTHROW_MESSAGE(expr, ...) DOCTEST_FUNC_SCOPE_BEGIN { DOCTEST_INFO(__VA_ARGS__); DOCTEST_REQUIRE_NOTHROW(expr); } DOCTEST_FUNC_SCOPE_END","// clang-format on","","#endif // DOCTEST_CONFIG_NO_EXCEPTIONS","","// =================================================================================================","// == WHAT FOLLOWS IS VERSIONS OF THE MACROS THAT DO NOT DO ANY REGISTERING! ==","// == THIS CAN BE ENABLED BY DEFINING DOCTEST_CONFIG_DISABLE GLOBALLY! ==","// =================================================================================================","#else // DOCTEST_CONFIG_DISABLE","","#define DOCTEST_IMPLEMENT_FIXTURE(der, base, func, name) \\"," namespace /* NOLINT */ { \\"," template \u003ctypename DOCTEST_UNUSED_TEMPLATE_TYPE\u003e \\"," struct der : public base \\"," { void f(); }; \\"," } \\"," template \u003ctypename DOCTEST_UNUSED_TEMPLATE_TYPE\u003e \\"," inline void der\u003cDOCTEST_UNUSED_TEMPLATE_TYPE\u003e::f()","","#define DOCTEST_CREATE_AND_REGISTER_FUNCTION(f, name) \\"," template \u003ctypename DOCTEST_UNUSED_TEMPLATE_TYPE\u003e \\"," static inline void f()","","// for registering tests","#define DOCTEST_TEST_CASE(name) \\"," DOCTEST_CREATE_AND_REGISTER_FUNCTION(DOCTEST_ANONYMOUS(DOCTEST_ANON_FUNC_), name)","","// for registering tests in classes","#define DOCTEST_TEST_CASE_CLASS(name) \\"," DOCTEST_CREATE_AND_REGISTER_FUNCTION(DOCTEST_ANONYMOUS(DOCTEST_ANON_FUNC_), name)","","// for registering tests with a fixture","#define DOCTEST_TEST_CASE_FIXTURE(x, name) \\"," DOCTEST_IMPLEMENT_FIXTURE(DOCTEST_ANONYMOUS(DOCTEST_ANON_CLASS_), x, \\"," DOCTEST_ANONYMOUS(DOCTEST_ANON_FUNC_), name)","","// for converting types to strings without the \u003ctypeinfo\u003e header and demangling","#define DOCTEST_TYPE_TO_STRING_AS(str, ...) static_assert(true, \"\")","#define DOCTEST_TYPE_TO_STRING(...) static_assert(true, \"\")","","// for typed tests","#define DOCTEST_TEST_CASE_TEMPLATE(name, type, ...) \\"," template \u003ctypename type\u003e \\"," inline void DOCTEST_ANONYMOUS(DOCTEST_ANON_TMP_)()","","#define DOCTEST_TEST_CASE_TEMPLATE_DEFINE(name, type, id) \\"," template \u003ctypename type\u003e \\"," inline void DOCTEST_ANONYMOUS(DOCTEST_ANON_TMP_)()","","#define DOCTEST_TEST_CASE_TEMPLATE_INVOKE(id, ...) static_assert(true, \"\")","#define DOCTEST_TEST_CASE_TEMPLATE_APPLY(id, ...) static_assert(true, \"\")","","// for subcases","#define DOCTEST_SUBCASE(name)","","// for a testsuite block","#define DOCTEST_TEST_SUITE(name) namespace // NOLINT","","// for starting a testsuite block","#define DOCTEST_TEST_SUITE_BEGIN(name) static_assert(true, \"\")","","// for ending a testsuite block","#define DOCTEST_TEST_SUITE_END using DOCTEST_ANONYMOUS(DOCTEST_ANON_FOR_SEMICOLON_) = int","","#define DOCTEST_REGISTER_EXCEPTION_TRANSLATOR(signature) \\"," template \u003ctypename DOCTEST_UNUSED_TEMPLATE_TYPE\u003e \\"," static inline doctest::String DOCTEST_ANONYMOUS(DOCTEST_ANON_TRANSLATOR_)(signature)","","#define DOCTEST_REGISTER_REPORTER(name, priority, reporter)","#define DOCTEST_REGISTER_LISTENER(name, priority, reporter)","","#define DOCTEST_INFO(...) (static_cast\u003cvoid\u003e(0))","#define DOCTEST_CAPTURE(x) (static_cast\u003cvoid\u003e(0))","#define DOCTEST_ADD_MESSAGE_AT(file, line, ...) (static_cast\u003cvoid\u003e(0))","#define DOCTEST_ADD_FAIL_CHECK_AT(file, line, ...) (static_cast\u003cvoid\u003e(0))","#define DOCTEST_ADD_FAIL_AT(file, line, ...) (static_cast\u003cvoid\u003e(0))","#define DOCTEST_MESSAGE(...) (static_cast\u003cvoid\u003e(0))","#define DOCTEST_FAIL_CHECK(...) (static_cast\u003cvoid\u003e(0))","#define DOCTEST_FAIL(...) (static_cast\u003cvoid\u003e(0))","","#if defined(DOCTEST_CONFIG_EVALUATE_ASSERTS_EVEN_WHEN_DISABLED) \\"," \u0026\u0026 defined(DOCTEST_CONFIG_ASSERTS_RETURN_VALUES)","","#define DOCTEST_WARN(...) [\u0026] { return __VA_ARGS__; }()","#define DOCTEST_CHECK(...) [\u0026] { return __VA_ARGS__; }()","#define DOCTEST_REQUIRE(...) [\u0026] { return __VA_ARGS__; }()","#define DOCTEST_WARN_FALSE(...) [\u0026] { return !(__VA_ARGS__); }()","#define DOCTEST_CHECK_FALSE(...) [\u0026] { return !(__VA_ARGS__); }()","#define DOCTEST_REQUIRE_FALSE(...) [\u0026] { return !(__VA_ARGS__); }()","","#define DOCTEST_WARN_MESSAGE(cond, ...) [\u0026] { return cond; }()","#define DOCTEST_CHECK_MESSAGE(cond, ...) [\u0026] { return cond; }()","#define DOCTEST_REQUIRE_MESSAGE(cond, ...) [\u0026] { return cond; }()","#define DOCTEST_WARN_FALSE_MESSAGE(cond, ...) [\u0026] { return !(cond); }()","#define DOCTEST_CHECK_FALSE_MESSAGE(cond, ...) [\u0026] { return !(cond); }()","#define DOCTEST_REQUIRE_FALSE_MESSAGE(cond, ...) [\u0026] { return !(cond); }()","","namespace doctest {","namespace detail {","#define DOCTEST_RELATIONAL_OP(name, op) \\"," template \u003ctypename L, typename R\u003e \\"," bool name(const DOCTEST_REF_WRAP(L) lhs, const DOCTEST_REF_WRAP(R) rhs) { return lhs op rhs; }",""," DOCTEST_RELATIONAL_OP(eq, ==)"," DOCTEST_RELATIONAL_OP(ne, !=)"," DOCTEST_RELATIONAL_OP(lt, \u003c)"," DOCTEST_RELATIONAL_OP(gt, \u003e)"," DOCTEST_RELATIONAL_OP(le, \u003c=)"," DOCTEST_RELATIONAL_OP(ge, \u003e=)","} // namespace detail","} // namespace doctest","","#define DOCTEST_WARN_EQ(...) [\u0026] { return doctest::detail::eq(__VA_ARGS__); }()","#define DOCTEST_CHECK_EQ(...) [\u0026] { return doctest::detail::eq(__VA_ARGS__); }()","#define DOCTEST_REQUIRE_EQ(...) [\u0026] { return doctest::detail::eq(__VA_ARGS__); }()","#define DOCTEST_WARN_NE(...) [\u0026] { return doctest::detail::ne(__VA_ARGS__); }()","#define DOCTEST_CHECK_NE(...) [\u0026] { return doctest::detail::ne(__VA_ARGS__); }()","#define DOCTEST_REQUIRE_NE(...) [\u0026] { return doctest::detail::ne(__VA_ARGS__); }()","#define DOCTEST_WARN_LT(...) [\u0026] { return doctest::detail::lt(__VA_ARGS__); }()","#define DOCTEST_CHECK_LT(...) [\u0026] { return doctest::detail::lt(__VA_ARGS__); }()","#define DOCTEST_REQUIRE_LT(...) [\u0026] { return doctest::detail::lt(__VA_ARGS__); }()","#define DOCTEST_WARN_GT(...) [\u0026] { return doctest::detail::gt(__VA_ARGS__); }()","#define DOCTEST_CHECK_GT(...) [\u0026] { return doctest::detail::gt(__VA_ARGS__); }()","#define DOCTEST_REQUIRE_GT(...) [\u0026] { return doctest::detail::gt(__VA_ARGS__); }()","#define DOCTEST_WARN_LE(...) [\u0026] { return doctest::detail::le(__VA_ARGS__); }()","#define DOCTEST_CHECK_LE(...) [\u0026] { return doctest::detail::le(__VA_ARGS__); }()","#define DOCTEST_REQUIRE_LE(...) [\u0026] { return doctest::detail::le(__VA_ARGS__); }()","#define DOCTEST_WARN_GE(...) [\u0026] { return doctest::detail::ge(__VA_ARGS__); }()","#define DOCTEST_CHECK_GE(...) [\u0026] { return doctest::detail::ge(__VA_ARGS__); }()","#define DOCTEST_REQUIRE_GE(...) [\u0026] { return doctest::detail::ge(__VA_ARGS__); }()","#define DOCTEST_WARN_UNARY(...) [\u0026] { return __VA_ARGS__; }()","#define DOCTEST_CHECK_UNARY(...) [\u0026] { return __VA_ARGS__; }()","#define DOCTEST_REQUIRE_UNARY(...) [\u0026] { return __VA_ARGS__; }()","#define DOCTEST_WARN_UNARY_FALSE(...) [\u0026] { return !(__VA_ARGS__); }()","#define DOCTEST_CHECK_UNARY_FALSE(...) [\u0026] { return !(__VA_ARGS__); }()","#define DOCTEST_REQUIRE_UNARY_FALSE(...) [\u0026] { return !(__VA_ARGS__); }()","","#ifndef DOCTEST_CONFIG_NO_EXCEPTIONS","","#define DOCTEST_WARN_THROWS_WITH(expr, with, ...) [] { static_assert(false, \"Exception translation is not available when doctest is disabled.\"); return false; }()","#define DOCTEST_CHECK_THROWS_WITH(expr, with, ...) DOCTEST_WARN_THROWS_WITH(,,)","#define DOCTEST_REQUIRE_THROWS_WITH(expr, with, ...) DOCTEST_WARN_THROWS_WITH(,,)","#define DOCTEST_WARN_THROWS_WITH_AS(expr, with, ex, ...) DOCTEST_WARN_THROWS_WITH(,,)","#define DOCTEST_CHECK_THROWS_WITH_AS(expr, with, ex, ...) DOCTEST_WARN_THROWS_WITH(,,)","#define DOCTEST_REQUIRE_THROWS_WITH_AS(expr, with, ex, ...) DOCTEST_WARN_THROWS_WITH(,,)","","#define DOCTEST_WARN_THROWS_WITH_MESSAGE(expr, with, ...) DOCTEST_WARN_THROWS_WITH(,,)","#define DOCTEST_CHECK_THROWS_WITH_MESSAGE(expr, with, ...) DOCTEST_WARN_THROWS_WITH(,,)","#define DOCTEST_REQUIRE_THROWS_WITH_MESSAGE(expr, with, ...) DOCTEST_WARN_THROWS_WITH(,,)","#define DOCTEST_WARN_THROWS_WITH_AS_MESSAGE(expr, with, ex, ...) DOCTEST_WARN_THROWS_WITH(,,)","#define DOCTEST_CHECK_THROWS_WITH_AS_MESSAGE(expr, with, ex, ...) DOCTEST_WARN_THROWS_WITH(,,)","#define DOCTEST_REQUIRE_THROWS_WITH_AS_MESSAGE(expr, with, ex, ...) DOCTEST_WARN_THROWS_WITH(,,)","","#define DOCTEST_WARN_THROWS(...) [\u0026] { try { __VA_ARGS__; return false; } catch (...) { return true; } }()","#define DOCTEST_CHECK_THROWS(...) [\u0026] { try { __VA_ARGS__; return false; } catch (...) { return true; } }()","#define DOCTEST_REQUIRE_THROWS(...) [\u0026] { try { __VA_ARGS__; return false; } catch (...) { return true; } }()","#define DOCTEST_WARN_THROWS_AS(expr, ...) [\u0026] { try { expr; } catch (__VA_ARGS__) { return true; } catch (...) { } return false; }()","#define DOCTEST_CHECK_THROWS_AS(expr, ...) [\u0026] { try { expr; } catch (__VA_ARGS__) { return true; } catch (...) { } return false; }()","#define DOCTEST_REQUIRE_THROWS_AS(expr, ...) [\u0026] { try { expr; } catch (__VA_ARGS__) { return true; } catch (...) { } return false; }()","#define DOCTEST_WARN_NOTHROW(...) [\u0026] { try { __VA_ARGS__; return true; } catch (...) { return false; } }()","#define DOCTEST_CHECK_NOTHROW(...) [\u0026] { try { __VA_ARGS__; return true; } catch (...) { return false; } }()","#define DOCTEST_REQUIRE_NOTHROW(...) [\u0026] { try { __VA_ARGS__; return true; } catch (...) { return false; } }()","","#define DOCTEST_WARN_THROWS_MESSAGE(expr, ...) [\u0026] { try { __VA_ARGS__; return false; } catch (...) { return true; } }()","#define DOCTEST_CHECK_THROWS_MESSAGE(expr, ...) [\u0026] { try { __VA_ARGS__; return false; } catch (...) { return true; } }()","#define DOCTEST_REQUIRE_THROWS_MESSAGE(expr, ...) [\u0026] { try { __VA_ARGS__; return false; } catch (...) { return true; } }()","#define DOCTEST_WARN_THROWS_AS_MESSAGE(expr, ex, ...) [\u0026] { try { expr; } catch (__VA_ARGS__) { return true; } catch (...) { } return false; }()","#define DOCTEST_CHECK_THROWS_AS_MESSAGE(expr, ex, ...) [\u0026] { try { expr; } catch (__VA_ARGS__) { return true; } catch (...) { } return false; }()","#define DOCTEST_REQUIRE_THROWS_AS_MESSAGE(expr, ex, ...) [\u0026] { try { expr; } catch (__VA_ARGS__) { return true; } catch (...) { } return false; }()","#define DOCTEST_WARN_NOTHROW_MESSAGE(expr, ...) [\u0026] { try { __VA_ARGS__; return true; } catch (...) { return false; } }()","#define DOCTEST_CHECK_NOTHROW_MESSAGE(expr, ...) [\u0026] { try { __VA_ARGS__; return true; } catch (...) { return false; } }()","#define DOCTEST_REQUIRE_NOTHROW_MESSAGE(expr, ...) [\u0026] { try { __VA_ARGS__; return true; } catch (...) { return false; } }()","","#endif // DOCTEST_CONFIG_NO_EXCEPTIONS","","#else // DOCTEST_CONFIG_EVALUATE_ASSERTS_EVEN_WHEN_DISABLED","","#define DOCTEST_WARN(...) DOCTEST_FUNC_EMPTY","#define DOCTEST_CHECK(...) DOCTEST_FUNC_EMPTY","#define DOCTEST_REQUIRE(...) DOCTEST_FUNC_EMPTY","#define DOCTEST_WARN_FALSE(...) DOCTEST_FUNC_EMPTY","#define DOCTEST_CHECK_FALSE(...) DOCTEST_FUNC_EMPTY","#define DOCTEST_REQUIRE_FALSE(...) DOCTEST_FUNC_EMPTY","","#define DOCTEST_WARN_MESSAGE(cond, ...) DOCTEST_FUNC_EMPTY","#define DOCTEST_CHECK_MESSAGE(cond, ...) DOCTEST_FUNC_EMPTY","#define DOCTEST_REQUIRE_MESSAGE(cond, ...) DOCTEST_FUNC_EMPTY","#define DOCTEST_WARN_FALSE_MESSAGE(cond, ...) DOCTEST_FUNC_EMPTY","#define DOCTEST_CHECK_FALSE_MESSAGE(cond, ...) DOCTEST_FUNC_EMPTY","#define DOCTEST_REQUIRE_FALSE_MESSAGE(cond, ...) DOCTEST_FUNC_EMPTY","","#define DOCTEST_WARN_EQ(...) DOCTEST_FUNC_EMPTY","#define DOCTEST_CHECK_EQ(...) DOCTEST_FUNC_EMPTY","#define DOCTEST_REQUIRE_EQ(...) DOCTEST_FUNC_EMPTY","#define DOCTEST_WARN_NE(...) DOCTEST_FUNC_EMPTY","#define DOCTEST_CHECK_NE(...) DOCTEST_FUNC_EMPTY","#define DOCTEST_REQUIRE_NE(...) DOCTEST_FUNC_EMPTY","#define DOCTEST_WARN_GT(...) DOCTEST_FUNC_EMPTY","#define DOCTEST_CHECK_GT(...) DOCTEST_FUNC_EMPTY","#define DOCTEST_REQUIRE_GT(...) DOCTEST_FUNC_EMPTY","#define DOCTEST_WARN_LT(...) DOCTEST_FUNC_EMPTY","#define DOCTEST_CHECK_LT(...) DOCTEST_FUNC_EMPTY","#define DOCTEST_REQUIRE_LT(...) DOCTEST_FUNC_EMPTY","#define DOCTEST_WARN_GE(...) DOCTEST_FUNC_EMPTY","#define DOCTEST_CHECK_GE(...) DOCTEST_FUNC_EMPTY","#define DOCTEST_REQUIRE_GE(...) DOCTEST_FUNC_EMPTY","#define DOCTEST_WARN_LE(...) DOCTEST_FUNC_EMPTY","#define DOCTEST_CHECK_LE(...) DOCTEST_FUNC_EMPTY","#define DOCTEST_REQUIRE_LE(...) DOCTEST_FUNC_EMPTY","","#define DOCTEST_WARN_UNARY(...) DOCTEST_FUNC_EMPTY","#define DOCTEST_CHECK_UNARY(...) DOCTEST_FUNC_EMPTY","#define DOCTEST_REQUIRE_UNARY(...) DOCTEST_FUNC_EMPTY","#define DOCTEST_WARN_UNARY_FALSE(...) DOCTEST_FUNC_EMPTY","#define DOCTEST_CHECK_UNARY_FALSE(...) DOCTEST_FUNC_EMPTY","#define DOCTEST_REQUIRE_UNARY_FALSE(...) DOCTEST_FUNC_EMPTY","","#ifndef DOCTEST_CONFIG_NO_EXCEPTIONS","","#define DOCTEST_WARN_THROWS(...) DOCTEST_FUNC_EMPTY","#define DOCTEST_CHECK_THROWS(...) DOCTEST_FUNC_EMPTY","#define DOCTEST_REQUIRE_THROWS(...) DOCTEST_FUNC_EMPTY","#define DOCTEST_WARN_THROWS_AS(expr, ...) DOCTEST_FUNC_EMPTY","#define DOCTEST_CHECK_THROWS_AS(expr, ...) DOCTEST_FUNC_EMPTY","#define DOCTEST_REQUIRE_THROWS_AS(expr, ...) DOCTEST_FUNC_EMPTY","#define DOCTEST_WARN_THROWS_WITH(expr, ...) DOCTEST_FUNC_EMPTY","#define DOCTEST_CHECK_THROWS_WITH(expr, ...) DOCTEST_FUNC_EMPTY","#define DOCTEST_REQUIRE_THROWS_WITH(expr, ...) DOCTEST_FUNC_EMPTY","#define DOCTEST_WARN_THROWS_WITH_AS(expr, with, ...) DOCTEST_FUNC_EMPTY","#define DOCTEST_CHECK_THROWS_WITH_AS(expr, with, ...) DOCTEST_FUNC_EMPTY","#define DOCTEST_REQUIRE_THROWS_WITH_AS(expr, with, ...) DOCTEST_FUNC_EMPTY","#define DOCTEST_WARN_NOTHROW(...) DOCTEST_FUNC_EMPTY","#define DOCTEST_CHECK_NOTHROW(...) DOCTEST_FUNC_EMPTY","#define DOCTEST_REQUIRE_NOTHROW(...) DOCTEST_FUNC_EMPTY","","#define DOCTEST_WARN_THROWS_MESSAGE(expr, ...) DOCTEST_FUNC_EMPTY","#define DOCTEST_CHECK_THROWS_MESSAGE(expr, ...) DOCTEST_FUNC_EMPTY","#define DOCTEST_REQUIRE_THROWS_MESSAGE(expr, ...) DOCTEST_FUNC_EMPTY","#define DOCTEST_WARN_THROWS_AS_MESSAGE(expr, ex, ...) DOCTEST_FUNC_EMPTY","#define DOCTEST_CHECK_THROWS_AS_MESSAGE(expr, ex, ...) DOCTEST_FUNC_EMPTY","#define DOCTEST_REQUIRE_THROWS_AS_MESSAGE(expr, ex, ...) DOCTEST_FUNC_EMPTY","#define DOCTEST_WARN_THROWS_WITH_MESSAGE(expr, with, ...) DOCTEST_FUNC_EMPTY","#define DOCTEST_CHECK_THROWS_WITH_MESSAGE(expr, with, ...) DOCTEST_FUNC_EMPTY","#define DOCTEST_REQUIRE_THROWS_WITH_MESSAGE(expr, with, ...) DOCTEST_FUNC_EMPTY","#define DOCTEST_WARN_THROWS_WITH_AS_MESSAGE(expr, with, ex, ...) DOCTEST_FUNC_EMPTY","#define DOCTEST_CHECK_THROWS_WITH_AS_MESSAGE(expr, with, ex, ...) DOCTEST_FUNC_EMPTY","#define DOCTEST_REQUIRE_THROWS_WITH_AS_MESSAGE(expr, with, ex, ...) DOCTEST_FUNC_EMPTY","#define DOCTEST_WARN_NOTHROW_MESSAGE(expr, ...) DOCTEST_FUNC_EMPTY","#define DOCTEST_CHECK_NOTHROW_MESSAGE(expr, ...) DOCTEST_FUNC_EMPTY","#define DOCTEST_REQUIRE_NOTHROW_MESSAGE(expr, ...) DOCTEST_FUNC_EMPTY","","#endif // DOCTEST_CONFIG_NO_EXCEPTIONS","","#endif // DOCTEST_CONFIG_EVALUATE_ASSERTS_EVEN_WHEN_DISABLED","","#endif // DOCTEST_CONFIG_DISABLE","","#ifdef DOCTEST_CONFIG_NO_EXCEPTIONS","","#ifdef DOCTEST_CONFIG_NO_EXCEPTIONS_BUT_WITH_ALL_ASSERTS","#define DOCTEST_EXCEPTION_EMPTY_FUNC DOCTEST_FUNC_EMPTY","#else // DOCTEST_CONFIG_NO_EXCEPTIONS_BUT_WITH_ALL_ASSERTS","#define DOCTEST_EXCEPTION_EMPTY_FUNC [] { static_assert(false, \"Exceptions are disabled! \" \\"," \"Use DOCTEST_CONFIG_NO_EXCEPTIONS_BUT_WITH_ALL_ASSERTS if you want to compile with exceptions disabled.\"); return false; }()","","#undef DOCTEST_REQUIRE","#undef DOCTEST_REQUIRE_FALSE","#undef DOCTEST_REQUIRE_MESSAGE","#undef DOCTEST_REQUIRE_FALSE_MESSAGE","#undef DOCTEST_REQUIRE_EQ","#undef DOCTEST_REQUIRE_NE","#undef DOCTEST_REQUIRE_GT","#undef DOCTEST_REQUIRE_LT","#undef DOCTEST_REQUIRE_GE","#undef DOCTEST_REQUIRE_LE","#undef DOCTEST_REQUIRE_UNARY","#undef DOCTEST_REQUIRE_UNARY_FALSE","","#define DOCTEST_REQUIRE DOCTEST_EXCEPTION_EMPTY_FUNC","#define DOCTEST_REQUIRE_FALSE DOCTEST_EXCEPTION_EMPTY_FUNC","#define DOCTEST_REQUIRE_MESSAGE DOCTEST_EXCEPTION_EMPTY_FUNC","#define DOCTEST_REQUIRE_FALSE_MESSAGE DOCTEST_EXCEPTION_EMPTY_FUNC","#define DOCTEST_REQUIRE_EQ DOCTEST_EXCEPTION_EMPTY_FUNC","#define DOCTEST_REQUIRE_NE DOCTEST_EXCEPTION_EMPTY_FUNC","#define DOCTEST_REQUIRE_GT DOCTEST_EXCEPTION_EMPTY_FUNC","#define DOCTEST_REQUIRE_LT DOCTEST_EXCEPTION_EMPTY_FUNC","#define DOCTEST_REQUIRE_GE DOCTEST_EXCEPTION_EMPTY_FUNC","#define DOCTEST_REQUIRE_LE DOCTEST_EXCEPTION_EMPTY_FUNC","#define DOCTEST_REQUIRE_UNARY DOCTEST_EXCEPTION_EMPTY_FUNC","#define DOCTEST_REQUIRE_UNARY_FALSE DOCTEST_EXCEPTION_EMPTY_FUNC","","#endif // DOCTEST_CONFIG_NO_EXCEPTIONS_BUT_WITH_ALL_ASSERTS","","#define DOCTEST_WARN_THROWS(...) DOCTEST_EXCEPTION_EMPTY_FUNC","#define DOCTEST_CHECK_THROWS(...) DOCTEST_EXCEPTION_EMPTY_FUNC","#define DOCTEST_REQUIRE_THROWS(...) DOCTEST_EXCEPTION_EMPTY_FUNC","#define DOCTEST_WARN_THROWS_AS(expr, ...) DOCTEST_EXCEPTION_EMPTY_FUNC","#define DOCTEST_CHECK_THROWS_AS(expr, ...) DOCTEST_EXCEPTION_EMPTY_FUNC","#define DOCTEST_REQUIRE_THROWS_AS(expr, ...) DOCTEST_EXCEPTION_EMPTY_FUNC","#define DOCTEST_WARN_THROWS_WITH(expr, ...) DOCTEST_EXCEPTION_EMPTY_FUNC","#define DOCTEST_CHECK_THROWS_WITH(expr, ...) DOCTEST_EXCEPTION_EMPTY_FUNC","#define DOCTEST_REQUIRE_THROWS_WITH(expr, ...) DOCTEST_EXCEPTION_EMPTY_FUNC","#define DOCTEST_WARN_THROWS_WITH_AS(expr, with, ...) DOCTEST_EXCEPTION_EMPTY_FUNC","#define DOCTEST_CHECK_THROWS_WITH_AS(expr, with, ...) DOCTEST_EXCEPTION_EMPTY_FUNC","#define DOCTEST_REQUIRE_THROWS_WITH_AS(expr, with, ...) DOCTEST_EXCEPTION_EMPTY_FUNC","#define DOCTEST_WARN_NOTHROW(...) DOCTEST_EXCEPTION_EMPTY_FUNC","#define DOCTEST_CHECK_NOTHROW(...) DOCTEST_EXCEPTION_EMPTY_FUNC","#define DOCTEST_REQUIRE_NOTHROW(...) DOCTEST_EXCEPTION_EMPTY_FUNC","","#define DOCTEST_WARN_THROWS_MESSAGE(expr, ...) DOCTEST_EXCEPTION_EMPTY_FUNC","#define DOCTEST_CHECK_THROWS_MESSAGE(expr, ...) DOCTEST_EXCEPTION_EMPTY_FUNC","#define DOCTEST_REQUIRE_THROWS_MESSAGE(expr, ...) DOCTEST_EXCEPTION_EMPTY_FUNC","#define DOCTEST_WARN_THROWS_AS_MESSAGE(expr, ex, ...) DOCTEST_EXCEPTION_EMPTY_FUNC","#define DOCTEST_CHECK_THROWS_AS_MESSAGE(expr, ex, ...) DOCTEST_EXCEPTION_EMPTY_FUNC","#define DOCTEST_REQUIRE_THROWS_AS_MESSAGE(expr, ex, ...) DOCTEST_EXCEPTION_EMPTY_FUNC","#define DOCTEST_WARN_THROWS_WITH_MESSAGE(expr, with, ...) DOCTEST_EXCEPTION_EMPTY_FUNC","#define DOCTEST_CHECK_THROWS_WITH_MESSAGE(expr, with, ...) DOCTEST_EXCEPTION_EMPTY_FUNC","#define DOCTEST_REQUIRE_THROWS_WITH_MESSAGE(expr, with, ...) DOCTEST_EXCEPTION_EMPTY_FUNC","#define DOCTEST_WARN_THROWS_WITH_AS_MESSAGE(expr, with, ex, ...) DOCTEST_EXCEPTION_EMPTY_FUNC","#define DOCTEST_CHECK_THROWS_WITH_AS_MESSAGE(expr, with, ex, ...) DOCTEST_EXCEPTION_EMPTY_FUNC","#define DOCTEST_REQUIRE_THROWS_WITH_AS_MESSAGE(expr, with, ex, ...) DOCTEST_EXCEPTION_EMPTY_FUNC","#define DOCTEST_WARN_NOTHROW_MESSAGE(expr, ...) DOCTEST_EXCEPTION_EMPTY_FUNC","#define DOCTEST_CHECK_NOTHROW_MESSAGE(expr, ...) DOCTEST_EXCEPTION_EMPTY_FUNC","#define DOCTEST_REQUIRE_NOTHROW_MESSAGE(expr, ...) DOCTEST_EXCEPTION_EMPTY_FUNC","","#endif // DOCTEST_CONFIG_NO_EXCEPTIONS","","// clang-format off","// KEPT FOR BACKWARDS COMPATIBILITY - FORWARDING TO THE RIGHT MACROS","#define DOCTEST_FAST_WARN_EQ DOCTEST_WARN_EQ","#define DOCTEST_FAST_CHECK_EQ DOCTEST_CHECK_EQ","#define DOCTEST_FAST_REQUIRE_EQ DOCTEST_REQUIRE_EQ","#define DOCTEST_FAST_WARN_NE DOCTEST_WARN_NE","#define DOCTEST_FAST_CHECK_NE DOCTEST_CHECK_NE","#define DOCTEST_FAST_REQUIRE_NE DOCTEST_REQUIRE_NE","#define DOCTEST_FAST_WARN_GT DOCTEST_WARN_GT","#define DOCTEST_FAST_CHECK_GT DOCTEST_CHECK_GT","#define DOCTEST_FAST_REQUIRE_GT DOCTEST_REQUIRE_GT","#define DOCTEST_FAST_WARN_LT DOCTEST_WARN_LT","#define DOCTEST_FAST_CHECK_LT DOCTEST_CHECK_LT","#define DOCTEST_FAST_REQUIRE_LT DOCTEST_REQUIRE_LT","#define DOCTEST_FAST_WARN_GE DOCTEST_WARN_GE","#define DOCTEST_FAST_CHECK_GE DOCTEST_CHECK_GE","#define DOCTEST_FAST_REQUIRE_GE DOCTEST_REQUIRE_GE","#define DOCTEST_FAST_WARN_LE DOCTEST_WARN_LE","#define DOCTEST_FAST_CHECK_LE DOCTEST_CHECK_LE","#define DOCTEST_FAST_REQUIRE_LE DOCTEST_REQUIRE_LE","","#define DOCTEST_FAST_WARN_UNARY DOCTEST_WARN_UNARY","#define DOCTEST_FAST_CHECK_UNARY DOCTEST_CHECK_UNARY","#define DOCTEST_FAST_REQUIRE_UNARY DOCTEST_REQUIRE_UNARY","#define DOCTEST_FAST_WARN_UNARY_FALSE DOCTEST_WARN_UNARY_FALSE","#define DOCTEST_FAST_CHECK_UNARY_FALSE DOCTEST_CHECK_UNARY_FALSE","#define DOCTEST_FAST_REQUIRE_UNARY_FALSE DOCTEST_REQUIRE_UNARY_FALSE","","#define DOCTEST_TEST_CASE_TEMPLATE_INSTANTIATE(id, ...) DOCTEST_TEST_CASE_TEMPLATE_INVOKE(id,__VA_ARGS__)","// clang-format on","","// BDD style macros","// clang-format off","#define DOCTEST_SCENARIO(name) DOCTEST_TEST_CASE(\" Scenario: \" name)","#define DOCTEST_SCENARIO_CLASS(name) DOCTEST_TEST_CASE_CLASS(\" Scenario: \" name)","#define DOCTEST_SCENARIO_TEMPLATE(name, T, ...) DOCTEST_TEST_CASE_TEMPLATE(\" Scenario: \" name, T, __VA_ARGS__)","#define DOCTEST_SCENARIO_TEMPLATE_DEFINE(name, T, id) DOCTEST_TEST_CASE_TEMPLATE_DEFINE(\" Scenario: \" name, T, id)","","#define DOCTEST_GIVEN(name) DOCTEST_SUBCASE(\" Given: \" name)","#define DOCTEST_WHEN(name) DOCTEST_SUBCASE(\" When: \" name)","#define DOCTEST_AND_WHEN(name) DOCTEST_SUBCASE(\"And when: \" name)","#define DOCTEST_THEN(name) DOCTEST_SUBCASE(\" Then: \" name)","#define DOCTEST_AND_THEN(name) DOCTEST_SUBCASE(\" And: \" name)","// clang-format on","","// == SHORT VERSIONS OF THE MACROS","#ifndef DOCTEST_CONFIG_NO_SHORT_MACRO_NAMES","","#define TEST_CASE(name) DOCTEST_TEST_CASE(name)","#define TEST_CASE_CLASS(name) DOCTEST_TEST_CASE_CLASS(name)","#define TEST_CASE_FIXTURE(x, name) DOCTEST_TEST_CASE_FIXTURE(x, name)","#define TYPE_TO_STRING_AS(str, ...) DOCTEST_TYPE_TO_STRING_AS(str, __VA_ARGS__)","#define TYPE_TO_STRING(...) DOCTEST_TYPE_TO_STRING(__VA_ARGS__)","#define TEST_CASE_TEMPLATE(name, T, ...) DOCTEST_TEST_CASE_TEMPLATE(name, T, __VA_ARGS__)","#define TEST_CASE_TEMPLATE_DEFINE(name, T, id) DOCTEST_TEST_CASE_TEMPLATE_DEFINE(name, T, id)","#define TEST_CASE_TEMPLATE_INVOKE(id, ...) DOCTEST_TEST_CASE_TEMPLATE_INVOKE(id, __VA_ARGS__)","#define TEST_CASE_TEMPLATE_APPLY(id, ...) DOCTEST_TEST_CASE_TEMPLATE_APPLY(id, __VA_ARGS__)","#define SUBCASE(name) DOCTEST_SUBCASE(name)","#define TEST_SUITE(decorators) DOCTEST_TEST_SUITE(decorators)","#define TEST_SUITE_BEGIN(name) DOCTEST_TEST_SUITE_BEGIN(name)","#define TEST_SUITE_END DOCTEST_TEST_SUITE_END","#define REGISTER_EXCEPTION_TRANSLATOR(signature) DOCTEST_REGISTER_EXCEPTION_TRANSLATOR(signature)","#define REGISTER_REPORTER(name, priority, reporter) DOCTEST_REGISTER_REPORTER(name, priority, reporter)","#define REGISTER_LISTENER(name, priority, reporter) DOCTEST_REGISTER_LISTENER(name, priority, reporter)","#define INFO(...) DOCTEST_INFO(__VA_ARGS__)","#define CAPTURE(x) DOCTEST_CAPTURE(x)","#define ADD_MESSAGE_AT(file, line, ...) DOCTEST_ADD_MESSAGE_AT(file, line, __VA_ARGS__)","#define ADD_FAIL_CHECK_AT(file, line, ...) DOCTEST_ADD_FAIL_CHECK_AT(file, line, __VA_ARGS__)","#define ADD_FAIL_AT(file, line, ...) DOCTEST_ADD_FAIL_AT(file, line, __VA_ARGS__)","#define MESSAGE(...) DOCTEST_MESSAGE(__VA_ARGS__)","#define FAIL_CHECK(...) DOCTEST_FAIL_CHECK(__VA_ARGS__)","#define FAIL(...) DOCTEST_FAIL(__VA_ARGS__)","#define TO_LVALUE(...) DOCTEST_TO_LVALUE(__VA_ARGS__)","","#define WARN(...) DOCTEST_WARN(__VA_ARGS__)","#define WARN_FALSE(...) DOCTEST_WARN_FALSE(__VA_ARGS__)","#define WARN_THROWS(...) DOCTEST_WARN_THROWS(__VA_ARGS__)","#define WARN_THROWS_AS(expr, ...) DOCTEST_WARN_THROWS_AS(expr, __VA_ARGS__)","#define WARN_THROWS_WITH(expr, ...) DOCTEST_WARN_THROWS_WITH(expr, __VA_ARGS__)","#define WARN_THROWS_WITH_AS(expr, with, ...) DOCTEST_WARN_THROWS_WITH_AS(expr, with, __VA_ARGS__)","#define WARN_NOTHROW(...) DOCTEST_WARN_NOTHROW(__VA_ARGS__)","#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)","#define CHECK_FALSE(...) DOCTEST_CHECK_FALSE(__VA_ARGS__)","#define CHECK_THROWS(...) DOCTEST_CHECK_THROWS(__VA_ARGS__)","#define CHECK_THROWS_AS(expr, ...) DOCTEST_CHECK_THROWS_AS(expr, __VA_ARGS__)","#define CHECK_THROWS_WITH(expr, ...) DOCTEST_CHECK_THROWS_WITH(expr, __VA_ARGS__)","#define CHECK_THROWS_WITH_AS(expr, with, ...) DOCTEST_CHECK_THROWS_WITH_AS(expr, with, __VA_ARGS__)","#define CHECK_NOTHROW(...) DOCTEST_CHECK_NOTHROW(__VA_ARGS__)","#define REQUIRE(...) DOCTEST_REQUIRE(__VA_ARGS__)","#define REQUIRE_FALSE(...) DOCTEST_REQUIRE_FALSE(__VA_ARGS__)","#define REQUIRE_THROWS(...) DOCTEST_REQUIRE_THROWS(__VA_ARGS__)","#define REQUIRE_THROWS_AS(expr, ...) DOCTEST_REQUIRE_THROWS_AS(expr, __VA_ARGS__)","#define REQUIRE_THROWS_WITH(expr, ...) DOCTEST_REQUIRE_THROWS_WITH(expr, __VA_ARGS__)","#define REQUIRE_THROWS_WITH_AS(expr, with, ...) DOCTEST_REQUIRE_THROWS_WITH_AS(expr, with, __VA_ARGS__)","#define REQUIRE_NOTHROW(...) DOCTEST_REQUIRE_NOTHROW(__VA_ARGS__)","","#define WARN_MESSAGE(cond, ...) DOCTEST_WARN_MESSAGE(cond, __VA_ARGS__)","#define WARN_FALSE_MESSAGE(cond, ...) DOCTEST_WARN_FALSE_MESSAGE(cond, __VA_ARGS__)","#define WARN_THROWS_MESSAGE(expr, ...) DOCTEST_WARN_THROWS_MESSAGE(expr, __VA_ARGS__)","#define WARN_THROWS_AS_MESSAGE(expr, ex, ...) DOCTEST_WARN_THROWS_AS_MESSAGE(expr, ex, __VA_ARGS__)","#define WARN_THROWS_WITH_MESSAGE(expr, with, ...) DOCTEST_WARN_THROWS_WITH_MESSAGE(expr, with, __VA_ARGS__)","#define WARN_THROWS_WITH_AS_MESSAGE(expr, with, ex, ...) DOCTEST_WARN_THROWS_WITH_AS_MESSAGE(expr, with, ex, __VA_ARGS__)","#define WARN_NOTHROW_MESSAGE(expr, ...) DOCTEST_WARN_NOTHROW_MESSAGE(expr, __VA_ARGS__)","#define CHECK_MESSAGE(cond, ...) DOCTEST_CHECK_MESSAGE(cond, __VA_ARGS__)","#define CHECK_FALSE_MESSAGE(cond, ...) DOCTEST_CHECK_FALSE_MESSAGE(cond, __VA_ARGS__)","#define CHECK_THROWS_MESSAGE(expr, ...) DOCTEST_CHECK_THROWS_MESSAGE(expr, __VA_ARGS__)","#define CHECK_THROWS_AS_MESSAGE(expr, ex, ...) DOCTEST_CHECK_THROWS_AS_MESSAGE(expr, ex, __VA_ARGS__)","#define CHECK_THROWS_WITH_MESSAGE(expr, with, ...) DOCTEST_CHECK_THROWS_WITH_MESSAGE(expr, with, __VA_ARGS__)","#define CHECK_THROWS_WITH_AS_MESSAGE(expr, with, ex, ...) DOCTEST_CHECK_THROWS_WITH_AS_MESSAGE(expr, with, ex, __VA_ARGS__)","#define CHECK_NOTHROW_MESSAGE(expr, ...) DOCTEST_CHECK_NOTHROW_MESSAGE(expr, __VA_ARGS__)","#define REQUIRE_MESSAGE(cond, ...) DOCTEST_REQUIRE_MESSAGE(cond, __VA_ARGS__)","#define REQUIRE_FALSE_MESSAGE(cond, ...) DOCTEST_REQUIRE_FALSE_MESSAGE(cond, __VA_ARGS__)","#define REQUIRE_THROWS_MESSAGE(expr, ...) DOCTEST_REQUIRE_THROWS_MESSAGE(expr, __VA_ARGS__)","#define REQUIRE_THROWS_AS_MESSAGE(expr, ex, ...) DOCTEST_REQUIRE_THROWS_AS_MESSAGE(expr, ex, __VA_ARGS__)","#define REQUIRE_THROWS_WITH_MESSAGE(expr, with, ...) DOCTEST_REQUIRE_THROWS_WITH_MESSAGE(expr, with, __VA_ARGS__)","#define REQUIRE_THROWS_WITH_AS_MESSAGE(expr, with, ex, ...) DOCTEST_REQUIRE_THROWS_WITH_AS_MESSAGE(expr, with, ex, __VA_ARGS__)","#define REQUIRE_NOTHROW_MESSAGE(expr, ...) DOCTEST_REQUIRE_NOTHROW_MESSAGE(expr, __VA_ARGS__)","","#define SCENARIO(name) DOCTEST_SCENARIO(name)","#define SCENARIO_CLASS(name) DOCTEST_SCENARIO_CLASS(name)","#define SCENARIO_TEMPLATE(name, T, ...) DOCTEST_SCENARIO_TEMPLATE(name, T, __VA_ARGS__)","#define SCENARIO_TEMPLATE_DEFINE(name, T, id) DOCTEST_SCENARIO_TEMPLATE_DEFINE(name, T, id)","#define GIVEN(name) DOCTEST_GIVEN(name)","#define WHEN(name) DOCTEST_WHEN(name)","#define AND_WHEN(name) DOCTEST_AND_WHEN(name)","#define THEN(name) DOCTEST_THEN(name)","#define AND_THEN(name) DOCTEST_AND_THEN(name)","","#define WARN_EQ(...) DOCTEST_WARN_EQ(__VA_ARGS__)","#define CHECK_EQ(...) DOCTEST_CHECK_EQ(__VA_ARGS__)","#define REQUIRE_EQ(...) DOCTEST_REQUIRE_EQ(__VA_ARGS__)","#define WARN_NE(...) DOCTEST_WARN_NE(__VA_ARGS__)","#define CHECK_NE(...) DOCTEST_CHECK_NE(__VA_ARGS__)","#define REQUIRE_NE(...) DOCTEST_REQUIRE_NE(__VA_ARGS__)","#define WARN_GT(...) DOCTEST_WARN_GT(__VA_ARGS__)","#define CHECK_GT(...) DOCTEST_CHECK_GT(__VA_ARGS__)","#define REQUIRE_GT(...) DOCTEST_REQUIRE_GT(__VA_ARGS__)","#define WARN_LT(...) DOCTEST_WARN_LT(__VA_ARGS__)","#define CHECK_LT(...) DOCTEST_CHECK_LT(__VA_ARGS__)","#define REQUIRE_LT(...) DOCTEST_REQUIRE_LT(__VA_ARGS__)","#define WARN_GE(...) DOCTEST_WARN_GE(__VA_ARGS__)","#define CHECK_GE(...) DOCTEST_CHECK_GE(__VA_ARGS__)","#define REQUIRE_GE(...) DOCTEST_REQUIRE_GE(__VA_ARGS__)","#define WARN_LE(...) DOCTEST_WARN_LE(__VA_ARGS__)","#define CHECK_LE(...) DOCTEST_CHECK_LE(__VA_ARGS__)","#define REQUIRE_LE(...) DOCTEST_REQUIRE_LE(__VA_ARGS__)","#define WARN_UNARY(...) DOCTEST_WARN_UNARY(__VA_ARGS__)","#define CHECK_UNARY(...) DOCTEST_CHECK_UNARY(__VA_ARGS__)","#define REQUIRE_UNARY(...) DOCTEST_REQUIRE_UNARY(__VA_ARGS__)","#define WARN_UNARY_FALSE(...) DOCTEST_WARN_UNARY_FALSE(__VA_ARGS__)","#define CHECK_UNARY_FALSE(...) DOCTEST_CHECK_UNARY_FALSE(__VA_ARGS__)","#define REQUIRE_UNARY_FALSE(...) DOCTEST_REQUIRE_UNARY_FALSE(__VA_ARGS__)","","// KEPT FOR BACKWARDS COMPATIBILITY","#define FAST_WARN_EQ(...) DOCTEST_FAST_WARN_EQ(__VA_ARGS__)","#define FAST_CHECK_EQ(...) DOCTEST_FAST_CHECK_EQ(__VA_ARGS__)","#define FAST_REQUIRE_EQ(...) DOCTEST_FAST_REQUIRE_EQ(__VA_ARGS__)","#define FAST_WARN_NE(...) DOCTEST_FAST_WARN_NE(__VA_ARGS__)","#define FAST_CHECK_NE(...) DOCTEST_FAST_CHECK_NE(__VA_ARGS__)","#define FAST_REQUIRE_NE(...) DOCTEST_FAST_REQUIRE_NE(__VA_ARGS__)","#define FAST_WARN_GT(...) DOCTEST_FAST_WARN_GT(__VA_ARGS__)","#define FAST_CHECK_GT(...) DOCTEST_FAST_CHECK_GT(__VA_ARGS__)","#define FAST_REQUIRE_GT(...) DOCTEST_FAST_REQUIRE_GT(__VA_ARGS__)","#define FAST_WARN_LT(...) DOCTEST_FAST_WARN_LT(__VA_ARGS__)","#define FAST_CHECK_LT(...) DOCTEST_FAST_CHECK_LT(__VA_ARGS__)","#define FAST_REQUIRE_LT(...) DOCTEST_FAST_REQUIRE_LT(__VA_ARGS__)","#define FAST_WARN_GE(...) DOCTEST_FAST_WARN_GE(__VA_ARGS__)","#define FAST_CHECK_GE(...) DOCTEST_FAST_CHECK_GE(__VA_ARGS__)","#define FAST_REQUIRE_GE(...) DOCTEST_FAST_REQUIRE_GE(__VA_ARGS__)","#define FAST_WARN_LE(...) DOCTEST_FAST_WARN_LE(__VA_ARGS__)","#define FAST_CHECK_LE(...) DOCTEST_FAST_CHECK_LE(__VA_ARGS__)","#define FAST_REQUIRE_LE(...) DOCTEST_FAST_REQUIRE_LE(__VA_ARGS__)","","#define FAST_WARN_UNARY(...) DOCTEST_FAST_WARN_UNARY(__VA_ARGS__)","#define FAST_CHECK_UNARY(...) DOCTEST_FAST_CHECK_UNARY(__VA_ARGS__)","#define FAST_REQUIRE_UNARY(...) DOCTEST_FAST_REQUIRE_UNARY(__VA_ARGS__)","#define FAST_WARN_UNARY_FALSE(...) DOCTEST_FAST_WARN_UNARY_FALSE(__VA_ARGS__)","#define FAST_CHECK_UNARY_FALSE(...) DOCTEST_FAST_CHECK_UNARY_FALSE(__VA_ARGS__)","#define FAST_REQUIRE_UNARY_FALSE(...) DOCTEST_FAST_REQUIRE_UNARY_FALSE(__VA_ARGS__)","","#define TEST_CASE_TEMPLATE_INSTANTIATE(id, ...) DOCTEST_TEST_CASE_TEMPLATE_INSTANTIATE(id, __VA_ARGS__)","","#endif // DOCTEST_CONFIG_NO_SHORT_MACRO_NAMES","","#ifndef DOCTEST_CONFIG_DISABLE","","// this is here to clear the 'current test suite' for the current translation unit - at the top","DOCTEST_TEST_SUITE_END();","","#endif // DOCTEST_CONFIG_DISABLE","","DOCTEST_CLANG_SUPPRESS_WARNING_POP","DOCTEST_MSVC_SUPPRESS_WARNING_POP","DOCTEST_GCC_SUPPRESS_WARNING_POP","","DOCTEST_SUPPRESS_COMMON_WARNINGS_POP","","#endif // DOCTEST_LIBRARY_INCLUDED","","#ifndef DOCTEST_SINGLE_HEADER","#define DOCTEST_SINGLE_HEADER","#endif // DOCTEST_SINGLE_HEADER","","#if defined(DOCTEST_CONFIG_IMPLEMENT) || !defined(DOCTEST_SINGLE_HEADER)","","#ifndef DOCTEST_SINGLE_HEADER","#include \"doctest_fwd.h\"","#endif // DOCTEST_SINGLE_HEADER","","DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH(\"-Wunused-macros\")","","#ifndef DOCTEST_LIBRARY_IMPLEMENTATION","#define DOCTEST_LIBRARY_IMPLEMENTATION","","DOCTEST_CLANG_SUPPRESS_WARNING_POP","","DOCTEST_SUPPRESS_COMMON_WARNINGS_PUSH","","DOCTEST_CLANG_SUPPRESS_WARNING_PUSH","DOCTEST_CLANG_SUPPRESS_WARNING(\"-Wglobal-constructors\")","DOCTEST_CLANG_SUPPRESS_WARNING(\"-Wexit-time-destructors\")","DOCTEST_CLANG_SUPPRESS_WARNING(\"-Wsign-conversion\")","DOCTEST_CLANG_SUPPRESS_WARNING(\"-Wshorten-64-to-32\")","DOCTEST_CLANG_SUPPRESS_WARNING(\"-Wmissing-variable-declarations\")","DOCTEST_CLANG_SUPPRESS_WARNING(\"-Wswitch\")","DOCTEST_CLANG_SUPPRESS_WARNING(\"-Wswitch-enum\")","DOCTEST_CLANG_SUPPRESS_WARNING(\"-Wcovered-switch-default\")","DOCTEST_CLANG_SUPPRESS_WARNING(\"-Wmissing-noreturn\")","DOCTEST_CLANG_SUPPRESS_WARNING(\"-Wdisabled-macro-expansion\")","DOCTEST_CLANG_SUPPRESS_WARNING(\"-Wmissing-braces\")","DOCTEST_CLANG_SUPPRESS_WARNING(\"-Wmissing-field-initializers\")","DOCTEST_CLANG_SUPPRESS_WARNING(\"-Wunused-member-function\")","DOCTEST_CLANG_SUPPRESS_WARNING(\"-Wnonportable-system-include-path\")","","DOCTEST_GCC_SUPPRESS_WARNING_PUSH","DOCTEST_GCC_SUPPRESS_WARNING(\"-Wconversion\")","DOCTEST_GCC_SUPPRESS_WARNING(\"-Wsign-conversion\")","DOCTEST_GCC_SUPPRESS_WARNING(\"-Wmissing-field-initializers\")","DOCTEST_GCC_SUPPRESS_WARNING(\"-Wmissing-braces\")","DOCTEST_GCC_SUPPRESS_WARNING(\"-Wswitch\")","DOCTEST_GCC_SUPPRESS_WARNING(\"-Wswitch-enum\")","DOCTEST_GCC_SUPPRESS_WARNING(\"-Wswitch-default\")","DOCTEST_GCC_SUPPRESS_WARNING(\"-Wunsafe-loop-optimizations\")","DOCTEST_GCC_SUPPRESS_WARNING(\"-Wold-style-cast\")","DOCTEST_GCC_SUPPRESS_WARNING(\"-Wunused-function\")","DOCTEST_GCC_SUPPRESS_WARNING(\"-Wmultiple-inheritance\")","DOCTEST_GCC_SUPPRESS_WARNING(\"-Wsuggest-attribute\")","","DOCTEST_MSVC_SUPPRESS_WARNING_PUSH","DOCTEST_MSVC_SUPPRESS_WARNING(4267) // 'var' : conversion from 'x' to 'y', possible loss of data","DOCTEST_MSVC_SUPPRESS_WARNING(4530) // C++ exception handler used, but unwind semantics not enabled","DOCTEST_MSVC_SUPPRESS_WARNING(4577) // 'noexcept' used with no exception handling mode specified","DOCTEST_MSVC_SUPPRESS_WARNING(4774) // format string expected in argument is not a string literal","DOCTEST_MSVC_SUPPRESS_WARNING(4365) // conversion from 'int' to 'unsigned', signed/unsigned mismatch","DOCTEST_MSVC_SUPPRESS_WARNING(5039) // pointer to potentially throwing function passed to extern C","DOCTEST_MSVC_SUPPRESS_WARNING(4800) // forcing value to bool 'true' or 'false' (performance warning)","DOCTEST_MSVC_SUPPRESS_WARNING(5245) // unreferenced function with internal linkage has been removed","","DOCTEST_MAKE_STD_HEADERS_CLEAN_FROM_WARNINGS_ON_WALL_BEGIN","","// required includes - will go only in one translation unit!","#include \u003cctime\u003e","#include \u003ccmath\u003e","#include \u003cclimits\u003e","// borland (Embarcadero) compiler requires math.h and not cmath - https://github.com/doctest/doctest/pull/37","#ifdef __BORLANDC__","#include \u003cmath.h\u003e","#endif // __BORLANDC__","#include \u003cnew\u003e","#include \u003ccstdio\u003e","#include \u003ccstdlib\u003e","#include \u003ccstring\u003e","#include \u003climits\u003e","#include \u003cutility\u003e","#include \u003cfstream\u003e","#include \u003csstream\u003e","#ifndef DOCTEST_CONFIG_NO_INCLUDE_IOSTREAM","#include \u003ciostream\u003e","#endif // DOCTEST_CONFIG_NO_INCLUDE_IOSTREAM","#include \u003calgorithm\u003e","#include \u003ciomanip\u003e","#include \u003cvector\u003e","#ifndef DOCTEST_CONFIG_NO_MULTITHREADING","#include \u003catomic\u003e","#include \u003cmutex\u003e","#define DOCTEST_DECLARE_MUTEX(name) std::mutex name;","#define DOCTEST_DECLARE_STATIC_MUTEX(name) static DOCTEST_DECLARE_MUTEX(name)","#define DOCTEST_LOCK_MUTEX(name) std::lock_guard\u003cstd::mutex\u003e DOCTEST_ANONYMOUS(DOCTEST_ANON_LOCK_)(name);","#else // DOCTEST_CONFIG_NO_MULTITHREADING","#define DOCTEST_DECLARE_MUTEX(name)","#define DOCTEST_DECLARE_STATIC_MUTEX(name)","#define DOCTEST_LOCK_MUTEX(name)","#endif // DOCTEST_CONFIG_NO_MULTITHREADING","#include \u003cset\u003e","#include \u003cmap\u003e","#include \u003cunordered_set\u003e","#include \u003cexception\u003e","#include \u003cstdexcept\u003e","#include \u003ccsignal\u003e","#include \u003ccfloat\u003e","#include \u003ccctype\u003e","#include \u003ccstdint\u003e","#include \u003cstring\u003e","","#ifdef DOCTEST_PLATFORM_MAC","#include \u003csys/types.h\u003e","#include \u003cunistd.h\u003e","#include \u003csys/sysctl.h\u003e","#endif // DOCTEST_PLATFORM_MAC","","#ifdef DOCTEST_PLATFORM_WINDOWS","","// defines for a leaner windows.h","#ifndef WIN32_LEAN_AND_MEAN","#define WIN32_LEAN_AND_MEAN","#define DOCTEST_UNDEF_WIN32_LEAN_AND_MEAN","#endif // WIN32_LEAN_AND_MEAN","#ifndef NOMINMAX","#define NOMINMAX","#define DOCTEST_UNDEF_NOMINMAX","#endif // NOMINMAX","","// not sure what AfxWin.h is for - here I do what Catch does","#ifdef __AFXDLL","#include \u003cAfxWin.h\u003e","#else","#include \u003cwindows.h\u003e","#endif","#include \u003cio.h\u003e","","#else // DOCTEST_PLATFORM_WINDOWS","","#include \u003csys/time.h\u003e","#include \u003cunistd.h\u003e","","#endif // DOCTEST_PLATFORM_WINDOWS","","// this is a fix for https://github.com/doctest/doctest/issues/348","// https://mail.gnome.org/archives/xml/2012-January/msg00000.html","#if !defined(HAVE_UNISTD_H) \u0026\u0026 !defined(STDOUT_FILENO)","#define STDOUT_FILENO fileno(stdout)","#endif // HAVE_UNISTD_H","","DOCTEST_MAKE_STD_HEADERS_CLEAN_FROM_WARNINGS_ON_WALL_END","","// counts the number of elements in a C array","#define DOCTEST_COUNTOF(x) (sizeof(x) / sizeof(x[0]))","","#ifdef DOCTEST_CONFIG_DISABLE","#define DOCTEST_BRANCH_ON_DISABLED(if_disabled, if_not_disabled) if_disabled","#else // DOCTEST_CONFIG_DISABLE","#define DOCTEST_BRANCH_ON_DISABLED(if_disabled, if_not_disabled) if_not_disabled","#endif // DOCTEST_CONFIG_DISABLE","","#ifndef DOCTEST_CONFIG_OPTIONS_PREFIX","#define DOCTEST_CONFIG_OPTIONS_PREFIX \"dt-\"","#endif","","#ifndef DOCTEST_THREAD_LOCAL","#if defined(DOCTEST_CONFIG_NO_MULTITHREADING) || DOCTEST_MSVC \u0026\u0026 (DOCTEST_MSVC \u003c DOCTEST_COMPILER(19, 0, 0))","#define DOCTEST_THREAD_LOCAL","#else // DOCTEST_MSVC","#define DOCTEST_THREAD_LOCAL thread_local","#endif // DOCTEST_MSVC","#endif // DOCTEST_THREAD_LOCAL","","#ifndef DOCTEST_MULTI_LANE_ATOMICS_THREAD_LANES","#define DOCTEST_MULTI_LANE_ATOMICS_THREAD_LANES 32","#endif","","#ifndef DOCTEST_MULTI_LANE_ATOMICS_CACHE_LINE_SIZE","#define DOCTEST_MULTI_LANE_ATOMICS_CACHE_LINE_SIZE 64","#endif","","#ifdef DOCTEST_CONFIG_NO_UNPREFIXED_OPTIONS","#define DOCTEST_OPTIONS_PREFIX_DISPLAY DOCTEST_CONFIG_OPTIONS_PREFIX","#else","#define DOCTEST_OPTIONS_PREFIX_DISPLAY \"\"","#endif","","#if defined(WINAPI_FAMILY) \u0026\u0026 (WINAPI_FAMILY == WINAPI_FAMILY_APP)","#define DOCTEST_CONFIG_NO_MULTI_LANE_ATOMICS","#endif","","#ifndef DOCTEST_CDECL","#define DOCTEST_CDECL __cdecl","#endif","","namespace doctest {","","bool is_running_in_test = false;","","namespace {"," using namespace detail;",""," template \u003ctypename Ex\u003e"," DOCTEST_NORETURN void throw_exception(Ex const\u0026 e) {","#ifndef DOCTEST_CONFIG_NO_EXCEPTIONS"," throw e;","#else // DOCTEST_CONFIG_NO_EXCEPTIONS","#ifdef DOCTEST_CONFIG_HANDLE_EXCEPTION"," DOCTEST_CONFIG_HANDLE_EXCEPTION(e);","#else // DOCTEST_CONFIG_HANDLE_EXCEPTION","#ifndef DOCTEST_CONFIG_NO_INCLUDE_IOSTREAM"," std::cerr \u003c\u003c \"doctest will terminate because it needed to throw an exception.\\n\""," \u003c\u003c \"The message was: \" \u003c\u003c e.what() \u003c\u003c '\\n';","#endif // DOCTEST_CONFIG_NO_INCLUDE_IOSTREAM","#endif // DOCTEST_CONFIG_HANDLE_EXCEPTION"," std::terminate();","#endif // DOCTEST_CONFIG_NO_EXCEPTIONS"," }","","#ifndef DOCTEST_INTERNAL_ERROR","#define DOCTEST_INTERNAL_ERROR(msg) \\"," throw_exception(std::logic_error( \\"," __FILE__ \":\" DOCTEST_TOSTR(__LINE__) \": Internal doctest error: \" msg))","#endif // DOCTEST_INTERNAL_ERROR",""," // case insensitive strcmp"," int stricmp(const char* a, const char* b) {"," for(;; a++, b++) {"," const int d = tolower(*a) - tolower(*b);"," if(d != 0 || !*a)"," return d;"," }"," }",""," struct Endianness"," {"," enum Arch"," {"," Big,"," Little"," };",""," static Arch which() {"," int x = 1;"," // casting any data pointer to char* is allowed"," auto ptr = reinterpret_cast\u003cchar*\u003e(\u0026x);"," if(*ptr)"," return Little;"," return Big;"," }"," };","} // namespace","","namespace detail {"," DOCTEST_THREAD_LOCAL class"," {"," std::vector\u003cstd::streampos\u003e stack;"," std::stringstream ss;",""," public:"," std::ostream* push() {"," stack.push_back(ss.tellp());"," return \u0026ss;"," }",""," String pop() {"," if (stack.empty())"," DOCTEST_INTERNAL_ERROR(\"TLSS was empty when trying to pop!\");",""," std::streampos pos = stack.back();"," stack.pop_back();"," unsigned sz = static_cast\u003cunsigned\u003e(ss.tellp() - pos);"," ss.rdbuf()-\u003epubseekpos(pos, std::ios::in | std::ios::out);"," return String(ss, sz);"," }"," } g_oss;",""," std::ostream* tlssPush() {"," return g_oss.push();"," }",""," String tlssPop() {"," return g_oss.pop();"," }","","#ifndef DOCTEST_CONFIG_DISABLE","","namespace timer_large_integer","{","","#if defined(DOCTEST_PLATFORM_WINDOWS)"," using type = ULONGLONG;","#else // DOCTEST_PLATFORM_WINDOWS"," using type = std::uint64_t;","#endif // DOCTEST_PLATFORM_WINDOWS","}","","using ticks_t = timer_large_integer::type;","","#ifdef DOCTEST_CONFIG_GETCURRENTTICKS"," ticks_t getCurrentTicks() { return DOCTEST_CONFIG_GETCURRENTTICKS(); }","#elif defined(DOCTEST_PLATFORM_WINDOWS)"," ticks_t getCurrentTicks() {"," static LARGE_INTEGER hz = { {0} }, hzo = { {0} };"," if(!hz.QuadPart) {"," QueryPerformanceFrequency(\u0026hz);"," QueryPerformanceCounter(\u0026hzo);"," }"," LARGE_INTEGER t;"," QueryPerformanceCounter(\u0026t);"," return ((t.QuadPart - hzo.QuadPart) * LONGLONG(1000000)) / hz.QuadPart;"," }","#else // DOCTEST_PLATFORM_WINDOWS"," ticks_t getCurrentTicks() {"," timeval t;"," gettimeofday(\u0026t, nullptr);"," return static_cast\u003cticks_t\u003e(t.tv_sec) * 1000000 + static_cast\u003cticks_t\u003e(t.tv_usec);"," }","#endif // DOCTEST_PLATFORM_WINDOWS",""," struct Timer"," {"," void start() { m_ticks = getCurrentTicks(); }"," unsigned int getElapsedMicroseconds() const {"," return static_cast\u003cunsigned int\u003e(getCurrentTicks() - m_ticks);"," }"," //unsigned int getElapsedMilliseconds() const {"," // return static_cast\u003cunsigned int\u003e(getElapsedMicroseconds() / 1000);"," //}"," double getElapsedSeconds() const { return static_cast\u003cdouble\u003e(getCurrentTicks() - m_ticks) / 1000000.0; }",""," private:"," ticks_t m_ticks = 0;"," };","","#ifdef DOCTEST_CONFIG_NO_MULTITHREADING"," template \u003ctypename T\u003e"," using Atomic = T;","#else // DOCTEST_CONFIG_NO_MULTITHREADING"," template \u003ctypename T\u003e"," using Atomic = std::atomic\u003cT\u003e;","#endif // DOCTEST_CONFIG_NO_MULTITHREADING","","#if defined(DOCTEST_CONFIG_NO_MULTI_LANE_ATOMICS) || defined(DOCTEST_CONFIG_NO_MULTITHREADING)"," template \u003ctypename T\u003e"," using MultiLaneAtomic = Atomic\u003cT\u003e;","#else // DOCTEST_CONFIG_NO_MULTI_LANE_ATOMICS"," // Provides a multilane implementation of an atomic variable that supports add, sub, load,"," // store. Instead of using a single atomic variable, this splits up into multiple ones,"," // each sitting on a separate cache line. The goal is to provide a speedup when most"," // operations are modifying. It achieves this with two properties:"," //"," // * Multiple atomics are used, so chance of congestion from the same atomic is reduced."," // * Each atomic sits on a separate cache line, so false sharing is reduced."," //"," // The disadvantage is that there is a small overhead due to the use of TLS, and load/store"," // is slower because all atomics have to be accessed."," template \u003ctypename T\u003e"," class MultiLaneAtomic"," {"," struct CacheLineAlignedAtomic"," {"," Atomic\u003cT\u003e atomic{};"," char padding[DOCTEST_MULTI_LANE_ATOMICS_CACHE_LINE_SIZE - sizeof(Atomic\u003cT\u003e)];"," };"," CacheLineAlignedAtomic m_atomics[DOCTEST_MULTI_LANE_ATOMICS_THREAD_LANES];",""," static_assert(sizeof(CacheLineAlignedAtomic) == DOCTEST_MULTI_LANE_ATOMICS_CACHE_LINE_SIZE,"," \"guarantee one atomic takes exactly one cache line\");",""," public:"," T operator++() DOCTEST_NOEXCEPT { return fetch_add(1) + 1; }",""," T operator++(int) DOCTEST_NOEXCEPT { return fetch_add(1); }",""," T fetch_add(T arg, std::memory_order order = std::memory_order_seq_cst) DOCTEST_NOEXCEPT {"," return myAtomic().fetch_add(arg, order);"," }",""," T fetch_sub(T arg, std::memory_order order = std::memory_order_seq_cst) DOCTEST_NOEXCEPT {"," return myAtomic().fetch_sub(arg, order);"," }",""," operator T() const DOCTEST_NOEXCEPT { return load(); }",""," T load(std::memory_order order = std::memory_order_seq_cst) const DOCTEST_NOEXCEPT {"," auto result = T();"," for(auto const\u0026 c : m_atomics) {"," result += c.atomic.load(order);"," }"," return result;"," }",""," T operator=(T desired) DOCTEST_NOEXCEPT { // lgtm [cpp/assignment-does-not-return-this]"," store(desired);"," return desired;"," }",""," void store(T desired, std::memory_order order = std::memory_order_seq_cst) DOCTEST_NOEXCEPT {"," // first value becomes desired\", all others become 0."," for(auto\u0026 c : m_atomics) {"," c.atomic.store(desired, order);"," desired = {};"," }"," }",""," private:"," // Each thread has a different atomic that it operates on. If more than NumLanes threads"," // use this, some will use the same atomic. So performance will degrade a bit, but still"," // everything will work."," //"," // The logic here is a bit tricky. The call should be as fast as possible, so that there"," // is minimal to no overhead in determining the correct atomic for the current thread."," //"," // 1. A global static counter laneCounter counts continuously up."," // 2. Each successive thread will use modulo operation of that counter so it gets an atomic"," // assigned in a round-robin fashion."," // 3. This tlsLaneIdx is stored in the thread local data, so it is directly available with"," // little overhead."," Atomic\u003cT\u003e\u0026 myAtomic() DOCTEST_NOEXCEPT {"," static Atomic\u003csize_t\u003e laneCounter;"," DOCTEST_THREAD_LOCAL size_t tlsLaneIdx ="," laneCounter++ % DOCTEST_MULTI_LANE_ATOMICS_THREAD_LANES;",""," return m_atomics[tlsLaneIdx].atomic;"," }"," };","#endif // DOCTEST_CONFIG_NO_MULTI_LANE_ATOMICS",""," // this holds both parameters from the command line and runtime data for tests"," struct ContextState : ContextOptions, TestRunStats, CurrentTestCaseStats"," {"," MultiLaneAtomic\u003cint\u003e numAssertsCurrentTest_atomic;"," MultiLaneAtomic\u003cint\u003e numAssertsFailedCurrentTest_atomic;",""," std::vector\u003cstd::vector\u003cString\u003e\u003e filters = decltype(filters)(9); // 9 different filters",""," std::vector\u003cIReporter*\u003e reporters_currently_used;",""," assert_handler ah = nullptr;",""," Timer timer;",""," std::vector\u003cString\u003e stringifiedContexts; // logging from INFO() due to an exception",""," // stuff for subcases"," bool reachedLeaf;"," std::vector\u003cSubcaseSignature\u003e subcaseStack;"," std::vector\u003cSubcaseSignature\u003e nextSubcaseStack;"," std::unordered_set\u003cunsigned long long\u003e fullyTraversedSubcases;"," size_t currentSubcaseDepth;"," Atomic\u003cbool\u003e shouldLogCurrentException;",""," void resetRunData() {"," numTestCases = 0;"," numTestCasesPassingFilters = 0;"," numTestSuitesPassingFilters = 0;"," numTestCasesFailed = 0;"," numAsserts = 0;"," numAssertsFailed = 0;"," numAssertsCurrentTest = 0;"," numAssertsFailedCurrentTest = 0;"," }",""," void finalizeTestCaseData() {"," seconds = timer.getElapsedSeconds();",""," // update the non-atomic counters"," numAsserts += numAssertsCurrentTest_atomic;"," numAssertsFailed += numAssertsFailedCurrentTest_atomic;"," numAssertsCurrentTest = numAssertsCurrentTest_atomic;"," numAssertsFailedCurrentTest = numAssertsFailedCurrentTest_atomic;",""," if(numAssertsFailedCurrentTest)"," failure_flags |= TestCaseFailureReason::AssertFailure;",""," if(Approx(currentTest-\u003em_timeout).epsilon(DBL_EPSILON) != 0 \u0026\u0026"," Approx(seconds).epsilon(DBL_EPSILON) \u003e currentTest-\u003em_timeout)"," failure_flags |= TestCaseFailureReason::Timeout;",""," if(currentTest-\u003em_should_fail) {"," if(failure_flags) {"," failure_flags |= TestCaseFailureReason::ShouldHaveFailedAndDid;"," } else {"," failure_flags |= TestCaseFailureReason::ShouldHaveFailedButDidnt;"," }"," } else if(failure_flags \u0026\u0026 currentTest-\u003em_may_fail) {"," failure_flags |= TestCaseFailureReason::CouldHaveFailedAndDid;"," } else if(currentTest-\u003em_expected_failures \u003e 0) {"," if(numAssertsFailedCurrentTest == currentTest-\u003em_expected_failures) {"," failure_flags |= TestCaseFailureReason::FailedExactlyNumTimes;"," } else {"," failure_flags |= TestCaseFailureReason::DidntFailExactlyNumTimes;"," }"," }",""," bool ok_to_fail = (TestCaseFailureReason::ShouldHaveFailedAndDid \u0026 failure_flags) ||"," (TestCaseFailureReason::CouldHaveFailedAndDid \u0026 failure_flags) ||"," (TestCaseFailureReason::FailedExactlyNumTimes \u0026 failure_flags);",""," // if any subcase has failed - the whole test case has failed"," testCaseSuccess = !(failure_flags \u0026\u0026 !ok_to_fail);"," if(!testCaseSuccess)"," numTestCasesFailed++;"," }"," };",""," ContextState* g_cs = nullptr;",""," // used to avoid locks for the debug output"," // TODO: figure out if this is indeed necessary/correct - seems like either there still"," // could be a race or that there wouldn't be a race even if using the context directly"," DOCTEST_THREAD_LOCAL bool g_no_colors;","","#endif // DOCTEST_CONFIG_DISABLE","} // namespace detail","","char* String::allocate(size_type sz) {"," if (sz \u003c= last) {"," buf[sz] = '\\0';"," setLast(last - sz);"," return buf;"," } else {"," setOnHeap();"," data.size = sz;"," data.capacity = data.size + 1;"," data.ptr = new char[data.capacity];"," data.ptr[sz] = '\\0';"," return data.ptr;"," }","}","","void String::setOnHeap() noexcept { *reinterpret_cast\u003cunsigned char*\u003e(\u0026buf[last]) = 128; }","void String::setLast(size_type in) noexcept { buf[last] = char(in); }","void String::setSize(size_type sz) noexcept {"," if (isOnStack()) { buf[sz] = '\\0'; setLast(last - sz); }"," else { data.ptr[sz] = '\\0'; data.size = sz; }","}","","void String::copy(const String\u0026 other) {"," if(other.isOnStack()) {"," memcpy(buf, other.buf, len);"," } else {"," memcpy(allocate(other.data.size), other.data.ptr, other.data.size);"," }","}","","String::String() noexcept {"," buf[0] = '\\0';"," setLast();","}","","String::~String() {"," if(!isOnStack())"," delete[] data.ptr;","} // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)","","String::String(const char* in)"," : String(in, strlen(in)) {}","","String::String(const char* in, size_type in_size) {"," memcpy(allocate(in_size), in, in_size);","}","","String::String(std::istream\u0026 in, size_type in_size) {"," in.read(allocate(in_size), in_size);","}","","String::String(const String\u0026 other) { copy(other); }","","String\u0026 String::operator=(const String\u0026 other) {"," if(this != \u0026other) {"," if(!isOnStack())"," delete[] data.ptr;",""," copy(other);"," }",""," return *this;","}","","String\u0026 String::operator+=(const String\u0026 other) {"," const size_type my_old_size = size();"," const size_type other_size = other.size();"," const size_type total_size = my_old_size + other_size;"," if(isOnStack()) {"," if(total_size \u003c len) {"," // append to the current stack space"," memcpy(buf + my_old_size, other.c_str(), other_size + 1);"," // NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks)"," setLast(last - total_size);"," } else {"," // alloc new chunk"," char* temp = new char[total_size + 1];"," // copy current data to new location before writing in the union"," memcpy(temp, buf, my_old_size); // skip the +1 ('\\0') for speed"," // update data in union"," setOnHeap();"," data.size = total_size;"," data.capacity = data.size + 1;"," data.ptr = temp;"," // transfer the rest of the data"," memcpy(data.ptr + my_old_size, other.c_str(), other_size + 1);"," }"," } else {"," if(data.capacity \u003e total_size) {"," // append to the current heap block"," data.size = total_size;"," memcpy(data.ptr + my_old_size, other.c_str(), other_size + 1);"," } else {"," // resize"," data.capacity *= 2;"," if(data.capacity \u003c= total_size)"," data.capacity = total_size + 1;"," // alloc new chunk"," char* temp = new char[data.capacity];"," // copy current data to new location before releasing it"," memcpy(temp, data.ptr, my_old_size); // skip the +1 ('\\0') for speed"," // release old chunk"," delete[] data.ptr;"," // update the rest of the union members"," data.size = total_size;"," data.ptr = temp;"," // transfer the rest of the data"," memcpy(data.ptr + my_old_size, other.c_str(), other_size + 1);"," }"," }",""," return *this;","}","","String::String(String\u0026\u0026 other) noexcept {"," memcpy(buf, other.buf, len);"," other.buf[0] = '\\0';"," other.setLast();","}","","String\u0026 String::operator=(String\u0026\u0026 other) noexcept {"," if(this != \u0026other) {"," if(!isOnStack())"," delete[] data.ptr;"," memcpy(buf, other.buf, len);"," other.buf[0] = '\\0';"," other.setLast();"," }"," return *this;","}","","char String::operator[](size_type i) const {"," return const_cast\u003cString*\u003e(this)-\u003eoperator[](i);","}","","char\u0026 String::operator[](size_type i) {"," if(isOnStack())"," return reinterpret_cast\u003cchar*\u003e(buf)[i];"," return data.ptr[i];","}","","DOCTEST_GCC_SUPPRESS_WARNING_WITH_PUSH(\"-Wmaybe-uninitialized\")","String::size_type String::size() const {"," if(isOnStack())"," return last - (size_type(buf[last]) \u0026 31); // using \"last\" would work only if \"len\" is 32"," return data.size;","}","DOCTEST_GCC_SUPPRESS_WARNING_POP","","String::size_type String::capacity() const {"," if(isOnStack())"," return len;"," return data.capacity;","}","","String String::substr(size_type pos, size_type cnt) \u0026\u0026 {"," cnt = std::min(cnt, size() - 1 - pos);"," char* cptr = c_str();"," memmove(cptr, cptr + pos, cnt);"," setSize(cnt);"," return std::move(*this);","}","","String String::substr(size_type pos, size_type cnt) const \u0026 {"," cnt = std::min(cnt, size() - 1 - pos);"," return String{ c_str() + pos, cnt };","}","","String::size_type String::find(char ch, size_type pos) const {"," const char* begin = c_str();"," const char* end = begin + size();"," const char* it = begin + pos;"," for (; it \u003c end \u0026\u0026 *it != ch; it++);"," if (it \u003c end) { return static_cast\u003csize_type\u003e(it - begin); }"," else { return npos; }","}","","String::size_type String::rfind(char ch, size_type pos) const {"," const char* begin = c_str();"," const char* it = begin + std::min(pos, size() - 1);"," for (; it \u003e= begin \u0026\u0026 *it != ch; it--);"," if (it \u003e= begin) { return static_cast\u003csize_type\u003e(it - begin); }"," else { return npos; }","}","","int String::compare(const char* other, bool no_case) const {"," if(no_case)"," return doctest::stricmp(c_str(), other);"," return std::strcmp(c_str(), other);","}","","int String::compare(const String\u0026 other, bool no_case) const {"," return compare(other.c_str(), no_case);","}","","String operator+(const String\u0026 lhs, const String\u0026 rhs) { return String(lhs) += rhs; }","","bool operator==(const String\u0026 lhs, const String\u0026 rhs) { return lhs.compare(rhs) == 0; }","bool operator!=(const String\u0026 lhs, const String\u0026 rhs) { return lhs.compare(rhs) != 0; }","bool operator\u003c (const String\u0026 lhs, const String\u0026 rhs) { return lhs.compare(rhs) \u003c 0; }","bool operator\u003e (const String\u0026 lhs, const String\u0026 rhs) { return lhs.compare(rhs) \u003e 0; }","bool operator\u003c=(const String\u0026 lhs, const String\u0026 rhs) { return (lhs != rhs) ? lhs.compare(rhs) \u003c 0 : true; }","bool operator\u003e=(const String\u0026 lhs, const String\u0026 rhs) { return (lhs != rhs) ? lhs.compare(rhs) \u003e 0 : true; }","","std::ostream\u0026 operator\u003c\u003c(std::ostream\u0026 s, const String\u0026 in) { return s \u003c\u003c in.c_str(); }","","Contains::Contains(const String\u0026 str) : string(str) { }","","bool Contains::checkWith(const String\u0026 other) const {"," return strstr(other.c_str(), string.c_str()) != nullptr;","}","","String toString(const Contains\u0026 in) {"," return \"Contains( \" + in.string + \" )\";","}","","bool operator==(const String\u0026 lhs, const Contains\u0026 rhs) { return rhs.checkWith(lhs); }","bool operator==(const Contains\u0026 lhs, const String\u0026 rhs) { return lhs.checkWith(rhs); }","bool operator!=(const String\u0026 lhs, const Contains\u0026 rhs) { return !rhs.checkWith(lhs); }","bool operator!=(const Contains\u0026 lhs, const String\u0026 rhs) { return !lhs.checkWith(rhs); }","","namespace {"," void color_to_stream(std::ostream\u0026, Color::Enum) DOCTEST_BRANCH_ON_DISABLED({}, ;)","} // namespace","","namespace Color {"," std::ostream\u0026 operator\u003c\u003c(std::ostream\u0026 s, Color::Enum code) {"," color_to_stream(s, code);"," return s;"," }","} // namespace Color","","// clang-format off","const char* assertString(assertType::Enum at) {"," DOCTEST_MSVC_SUPPRESS_WARNING_WITH_PUSH(4061) // enum 'x' in switch of enum 'y' is not explicitly handled"," #define DOCTEST_GENERATE_ASSERT_TYPE_CASE(assert_type) case assertType::DT_ ## assert_type: return #assert_type"," #define DOCTEST_GENERATE_ASSERT_TYPE_CASES(assert_type) \\"," DOCTEST_GENERATE_ASSERT_TYPE_CASE(WARN_ ## assert_type); \\"," DOCTEST_GENERATE_ASSERT_TYPE_CASE(CHECK_ ## assert_type); \\"," DOCTEST_GENERATE_ASSERT_TYPE_CASE(REQUIRE_ ## assert_type)"," switch(at) {"," DOCTEST_GENERATE_ASSERT_TYPE_CASE(WARN);"," DOCTEST_GENERATE_ASSERT_TYPE_CASE(CHECK);"," DOCTEST_GENERATE_ASSERT_TYPE_CASE(REQUIRE);",""," DOCTEST_GENERATE_ASSERT_TYPE_CASES(FALSE);",""," DOCTEST_GENERATE_ASSERT_TYPE_CASES(THROWS);",""," DOCTEST_GENERATE_ASSERT_TYPE_CASES(THROWS_AS);",""," DOCTEST_GENERATE_ASSERT_TYPE_CASES(THROWS_WITH);",""," DOCTEST_GENERATE_ASSERT_TYPE_CASES(THROWS_WITH_AS);",""," DOCTEST_GENERATE_ASSERT_TYPE_CASES(NOTHROW);",""," DOCTEST_GENERATE_ASSERT_TYPE_CASES(EQ);"," DOCTEST_GENERATE_ASSERT_TYPE_CASES(NE);"," DOCTEST_GENERATE_ASSERT_TYPE_CASES(GT);"," DOCTEST_GENERATE_ASSERT_TYPE_CASES(LT);"," DOCTEST_GENERATE_ASSERT_TYPE_CASES(GE);"," DOCTEST_GENERATE_ASSERT_TYPE_CASES(LE);",""," DOCTEST_GENERATE_ASSERT_TYPE_CASES(UNARY);"," DOCTEST_GENERATE_ASSERT_TYPE_CASES(UNARY_FALSE);",""," default: DOCTEST_INTERNAL_ERROR(\"Tried stringifying invalid assert type!\");"," }"," DOCTEST_MSVC_SUPPRESS_WARNING_POP","}","// clang-format on","","const char* failureString(assertType::Enum at) {"," if(at \u0026 assertType::is_warn) //!OCLINT bitwise operator in conditional"," return \"WARNING\";"," if(at \u0026 assertType::is_check) //!OCLINT bitwise operator in conditional"," return \"ERROR\";"," if(at \u0026 assertType::is_require) //!OCLINT bitwise operator in conditional"," return \"FATAL ERROR\";"," return \"\";","}","","DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH(\"-Wnull-dereference\")","DOCTEST_GCC_SUPPRESS_WARNING_WITH_PUSH(\"-Wnull-dereference\")","// depending on the current options this will remove the path of filenames","const char* skipPathFromFilename(const char* file) {","#ifndef DOCTEST_CONFIG_DISABLE"," if(getContextOptions()-\u003eno_path_in_filenames) {"," auto back = std::strrchr(file, '\\\\');"," auto forward = std::strrchr(file, '/');"," if(back || forward) {"," if(back \u003e forward)"," forward = back;"," return forward + 1;"," }"," }","#endif // DOCTEST_CONFIG_DISABLE"," return file;","}","DOCTEST_CLANG_SUPPRESS_WARNING_POP","DOCTEST_GCC_SUPPRESS_WARNING_POP","","bool SubcaseSignature::operator==(const SubcaseSignature\u0026 other) const {"," return m_line == other.m_line"," \u0026\u0026 std::strcmp(m_file, other.m_file) == 0"," \u0026\u0026 m_name == other.m_name;","}","","bool SubcaseSignature::operator\u003c(const SubcaseSignature\u0026 other) const {"," if(m_line != other.m_line)"," return m_line \u003c other.m_line;"," if(std::strcmp(m_file, other.m_file) != 0)"," return std::strcmp(m_file, other.m_file) \u003c 0;"," return m_name.compare(other.m_name) \u003c 0;","}","","DOCTEST_DEFINE_INTERFACE(IContextScope)","","namespace detail {"," void filldata\u003cconst void*\u003e::fill(std::ostream* stream, const void* in) {"," if (in) { *stream \u003c\u003c in; }"," else { *stream \u003c\u003c \"nullptr\"; }"," }",""," template \u003ctypename T\u003e"," String toStreamLit(T t) {"," std::ostream* os = tlssPush();"," os-\u003eoperator\u003c\u003c(t);"," return tlssPop();"," }","}","","#ifdef DOCTEST_CONFIG_TREAT_CHAR_STAR_AS_STRING","String toString(const char* in) { return String(\"\\\"\") + (in ? in : \"{null string}\") + \"\\\"\"; }","#endif // DOCTEST_CONFIG_TREAT_CHAR_STAR_AS_STRING","","#if DOCTEST_MSVC \u003e= DOCTEST_COMPILER(19, 20, 0)","// see this issue on why this is needed: https://github.com/doctest/doctest/issues/183","String toString(const std::string\u0026 in) { return in.c_str(); }","#endif // VS 2019","","String toString(String in) { return in; }","","String toString(std::nullptr_t) { return \"nullptr\"; }","","String toString(bool in) { return in ? \"true\" : \"false\"; }","","String toString(float in) { return toStreamLit(in); }","String toString(double in) { return toStreamLit(in); }","String toString(double long in) { return toStreamLit(in); }","","String toString(char in) { return toStreamLit(static_cast\u003csigned\u003e(in)); }","String toString(char signed in) { return toStreamLit(static_cast\u003csigned\u003e(in)); }","String toString(char unsigned in) { return toStreamLit(static_cast\u003cunsigned\u003e(in)); }","String toString(short in) { return toStreamLit(in); }","String toString(short unsigned in) { return toStreamLit(in); }","String toString(signed in) { return toStreamLit(in); }","String toString(unsigned in) { return toStreamLit(in); }","String toString(long in) { return toStreamLit(in); }","String toString(long unsigned in) { return toStreamLit(in); }","String toString(long long in) { return toStreamLit(in); }","String toString(long long unsigned in) { return toStreamLit(in); }","","Approx::Approx(double value)"," : m_epsilon(static_cast\u003cdouble\u003e(std::numeric_limits\u003cfloat\u003e::epsilon()) * 100)"," , m_scale(1.0)"," , m_value(value) {}","","Approx Approx::operator()(double value) const {"," Approx approx(value);"," approx.epsilon(m_epsilon);"," approx.scale(m_scale);"," return approx;","}","","Approx\u0026 Approx::epsilon(double newEpsilon) {"," m_epsilon = newEpsilon;"," return *this;","}","Approx\u0026 Approx::scale(double newScale) {"," m_scale = newScale;"," return *this;","}","","bool operator==(double lhs, const Approx\u0026 rhs) {"," // Thanks to Richard Harris for his help refining this formula"," return std::fabs(lhs - rhs.m_value) \u003c"," rhs.m_epsilon * (rhs.m_scale + std::max\u003cdouble\u003e(std::fabs(lhs), std::fabs(rhs.m_value)));","}","bool operator==(const Approx\u0026 lhs, double rhs) { return operator==(rhs, lhs); }","bool operator!=(double lhs, const Approx\u0026 rhs) { return !operator==(lhs, rhs); }","bool operator!=(const Approx\u0026 lhs, double rhs) { return !operator==(rhs, lhs); }","bool operator\u003c=(double lhs, const Approx\u0026 rhs) { return lhs \u003c rhs.m_value || lhs == rhs; }","bool operator\u003c=(const Approx\u0026 lhs, double rhs) { return lhs.m_value \u003c rhs || lhs == rhs; }","bool operator\u003e=(double lhs, const Approx\u0026 rhs) { return lhs \u003e rhs.m_value || lhs == rhs; }","bool operator\u003e=(const Approx\u0026 lhs, double rhs) { return lhs.m_value \u003e rhs || lhs == rhs; }","bool operator\u003c(double lhs, const Approx\u0026 rhs) { return lhs \u003c rhs.m_value \u0026\u0026 lhs != rhs; }","bool operator\u003c(const Approx\u0026 lhs, double rhs) { return lhs.m_value \u003c rhs \u0026\u0026 lhs != rhs; }","bool operator\u003e(double lhs, const Approx\u0026 rhs) { return lhs \u003e rhs.m_value \u0026\u0026 lhs != rhs; }","bool operator\u003e(const Approx\u0026 lhs, double rhs) { return lhs.m_value \u003e rhs \u0026\u0026 lhs != rhs; }","","String toString(const Approx\u0026 in) {"," return \"Approx( \" + doctest::toString(in.m_value) + \" )\";","}","const ContextOptions* getContextOptions() { return DOCTEST_BRANCH_ON_DISABLED(nullptr, g_cs); }","","DOCTEST_MSVC_SUPPRESS_WARNING_WITH_PUSH(4738)","template \u003ctypename F\u003e","IsNaN\u003cF\u003e::operator bool() const {"," return std::isnan(value) ^ flipped;","}","DOCTEST_MSVC_SUPPRESS_WARNING_POP","template struct DOCTEST_INTERFACE_DEF IsNaN\u003cfloat\u003e;","template struct DOCTEST_INTERFACE_DEF IsNaN\u003cdouble\u003e;","template struct DOCTEST_INTERFACE_DEF IsNaN\u003clong double\u003e;","template \u003ctypename F\u003e","String toString(IsNaN\u003cF\u003e in) { return String(in.flipped ? \"! \" : \"\") + \"IsNaN( \" + doctest::toString(in.value) + \" )\"; }","String toString(IsNaN\u003cfloat\u003e in) { return toString\u003cfloat\u003e(in); }","String toString(IsNaN\u003cdouble\u003e in) { return toString\u003cdouble\u003e(in); }","String toString(IsNaN\u003cdouble long\u003e in) { return toString\u003cdouble long\u003e(in); }","","} // namespace doctest","","#ifdef DOCTEST_CONFIG_DISABLE","namespace doctest {","Context::Context(int, const char* const*) {}","Context::~Context() = default;","void Context::applyCommandLine(int, const char* const*) {}","void Context::addFilter(const char*, const char*) {}","void Context::clearFilters() {}","void Context::setOption(const char*, bool) {}","void Context::setOption(const char*, int) {}","void Context::setOption(const char*, const char*) {}","bool Context::shouldExit() { return false; }","void Context::setAsDefaultForAssertsOutOfTestCases() {}","void Context::setAssertHandler(detail::assert_handler) {}","void Context::setCout(std::ostream*) {}","int Context::run() { return 0; }","","int IReporter::get_num_active_contexts() { return 0; }","const IContextScope* const* IReporter::get_active_contexts() { return nullptr; }","int IReporter::get_num_stringified_contexts() { return 0; }","const String* IReporter::get_stringified_contexts() { return nullptr; }","","int registerReporter(const char*, int, IReporter*) { return 0; }","","} // namespace doctest","#else // DOCTEST_CONFIG_DISABLE","","#if !defined(DOCTEST_CONFIG_COLORS_NONE)","#if !defined(DOCTEST_CONFIG_COLORS_WINDOWS) \u0026\u0026 !defined(DOCTEST_CONFIG_COLORS_ANSI)","#ifdef DOCTEST_PLATFORM_WINDOWS","#define DOCTEST_CONFIG_COLORS_WINDOWS","#else // linux","#define DOCTEST_CONFIG_COLORS_ANSI","#endif // platform","#endif // DOCTEST_CONFIG_COLORS_WINDOWS \u0026\u0026 DOCTEST_CONFIG_COLORS_ANSI","#endif // DOCTEST_CONFIG_COLORS_NONE","","namespace doctest_detail_test_suite_ns {","// holds the current test suite","doctest::detail::TestSuite\u0026 getCurrentTestSuite() {"," static doctest::detail::TestSuite data{};"," return data;","}","} // namespace doctest_detail_test_suite_ns","","namespace doctest {","namespace {"," // the int (priority) is part of the key for automatic sorting - sadly one can register a"," // reporter with a duplicate name and a different priority but hopefully that won't happen often :|"," using reporterMap = std::map\u003cstd::pair\u003cint, String\u003e, reporterCreatorFunc\u003e;",""," reporterMap\u0026 getReporters() {"," static reporterMap data;"," return data;"," }"," reporterMap\u0026 getListeners() {"," static reporterMap data;"," return data;"," }","} // namespace","namespace detail {","#define DOCTEST_ITERATE_THROUGH_REPORTERS(function, ...) \\"," for(auto\u0026 curr_rep : g_cs-\u003ereporters_currently_used) \\"," curr_rep-\u003efunction(__VA_ARGS__)",""," bool checkIfShouldThrow(assertType::Enum at) {"," if(at \u0026 assertType::is_require) //!OCLINT bitwise operator in conditional"," return true;",""," if((at \u0026 assertType::is_check) //!OCLINT bitwise operator in conditional"," \u0026\u0026 getContextOptions()-\u003eabort_after \u003e 0 \u0026\u0026"," (g_cs-\u003enumAssertsFailed + g_cs-\u003enumAssertsFailedCurrentTest_atomic) \u003e="," getContextOptions()-\u003eabort_after)"," return true;",""," return false;"," }","","#ifndef DOCTEST_CONFIG_NO_EXCEPTIONS"," DOCTEST_NORETURN void throwException() {"," g_cs-\u003eshouldLogCurrentException = false;"," throw TestFailureException(); // NOLINT(hicpp-exception-baseclass)"," }","#else // DOCTEST_CONFIG_NO_EXCEPTIONS"," void throwException() {}","#endif // DOCTEST_CONFIG_NO_EXCEPTIONS","} // namespace detail","","namespace {"," using namespace detail;"," // matching of a string against a wildcard mask (case sensitivity configurable) taken from"," // https://www.codeproject.com/Articles/1088/Wildcard-string-compare-globbing"," int wildcmp(const char* str, const char* wild, bool caseSensitive) {"," const char* cp = str;"," const char* mp = wild;",""," while((*str) \u0026\u0026 (*wild != '*')) {"," if((caseSensitive ? (*wild != *str) : (tolower(*wild) != tolower(*str))) \u0026\u0026"," (*wild != '?')) {"," return 0;"," }"," wild++;"," str++;"," }",""," while(*str) {"," if(*wild == '*') {"," if(!*++wild) {"," return 1;"," }"," mp = wild;"," cp = str + 1;"," } else if((caseSensitive ? (*wild == *str) : (tolower(*wild) == tolower(*str))) ||"," (*wild == '?')) {"," wild++;"," str++;"," } else {"," wild = mp; //!OCLINT parameter reassignment"," str = cp++; //!OCLINT parameter reassignment"," }"," }",""," while(*wild == '*') {"," wild++;"," }"," return !*wild;"," }",""," // checks if the name matches any of the filters (and can be configured what to do when empty)"," bool matchesAny(const char* name, const std::vector\u003cString\u003e\u0026 filters, bool matchEmpty,"," bool caseSensitive) {"," if (filters.empty() \u0026\u0026 matchEmpty)"," return true;"," for (auto\u0026 curr : filters)"," if (wildcmp(name, curr.c_str(), caseSensitive))"," return true;"," return false;"," }",""," DOCTEST_NO_SANITIZE_INTEGER"," unsigned long long hash(unsigned long long a, unsigned long long b) {"," return (a \u003c\u003c 5) + b;"," }",""," // C string hash function (djb2) - taken from http://www.cse.yorku.ca/~oz/hash.html"," DOCTEST_NO_SANITIZE_INTEGER"," unsigned long long hash(const char* str) {"," unsigned long long hash = 5381;"," char c;"," while ((c = *str++))"," hash = ((hash \u003c\u003c 5) + hash) + c; // hash * 33 + c"," return hash;"," }",""," unsigned long long hash(const SubcaseSignature\u0026 sig) {"," return hash(hash(hash(sig.m_file), hash(sig.m_name.c_str())), sig.m_line);"," }",""," unsigned long long hash(const std::vector\u003cSubcaseSignature\u003e\u0026 sigs, size_t count) {"," unsigned long long running = 0;"," auto end = sigs.begin() + count;"," for (auto it = sigs.begin(); it != end; it++) {"," running = hash(running, hash(*it));"," }"," return running;"," }",""," unsigned long long hash(const std::vector\u003cSubcaseSignature\u003e\u0026 sigs) {"," unsigned long long running = 0;"," for (const SubcaseSignature\u0026 sig : sigs) {"," running = hash(running, hash(sig));"," }"," return running;"," }","} // namespace","namespace detail {"," bool Subcase::checkFilters() {"," if (g_cs-\u003esubcaseStack.size() \u003c size_t(g_cs-\u003esubcase_filter_levels)) {"," if (!matchesAny(m_signature.m_name.c_str(), g_cs-\u003efilters[6], true, g_cs-\u003ecase_sensitive))"," return true;"," if (matchesAny(m_signature.m_name.c_str(), g_cs-\u003efilters[7], false, g_cs-\u003ecase_sensitive))"," return true;"," }"," return false;"," }",""," Subcase::Subcase(const String\u0026 name, const char* file, int line)"," : m_signature({name, file, line}) {"," if (!g_cs-\u003ereachedLeaf) {"," if (g_cs-\u003enextSubcaseStack.size() \u003c= g_cs-\u003esubcaseStack.size()"," || g_cs-\u003enextSubcaseStack[g_cs-\u003esubcaseStack.size()] == m_signature) {"," // Going down."," if (checkFilters()) { return; }",""," g_cs-\u003esubcaseStack.push_back(m_signature);"," g_cs-\u003ecurrentSubcaseDepth++;"," m_entered = true;"," DOCTEST_ITERATE_THROUGH_REPORTERS(subcase_start, m_signature);"," }"," } else {"," if (g_cs-\u003esubcaseStack[g_cs-\u003ecurrentSubcaseDepth] == m_signature) {"," // This subcase is reentered via control flow."," g_cs-\u003ecurrentSubcaseDepth++;"," m_entered = true;"," DOCTEST_ITERATE_THROUGH_REPORTERS(subcase_start, m_signature);"," } else if (g_cs-\u003enextSubcaseStack.size() \u003c= g_cs-\u003ecurrentSubcaseDepth"," \u0026\u0026 g_cs-\u003efullyTraversedSubcases.find(hash(hash(g_cs-\u003esubcaseStack, g_cs-\u003ecurrentSubcaseDepth), hash(m_signature)))"," == g_cs-\u003efullyTraversedSubcases.end()) {"," if (checkFilters()) { return; }"," // This subcase is part of the one to be executed next."," g_cs-\u003enextSubcaseStack.clear();"," g_cs-\u003enextSubcaseStack.insert(g_cs-\u003enextSubcaseStack.end(),"," g_cs-\u003esubcaseStack.begin(), g_cs-\u003esubcaseStack.begin() + g_cs-\u003ecurrentSubcaseDepth);"," g_cs-\u003enextSubcaseStack.push_back(m_signature);"," }"," }"," }",""," DOCTEST_MSVC_SUPPRESS_WARNING_WITH_PUSH(4996) // std::uncaught_exception is deprecated in C++17"," DOCTEST_GCC_SUPPRESS_WARNING_WITH_PUSH(\"-Wdeprecated-declarations\")"," DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH(\"-Wdeprecated-declarations\")",""," Subcase::~Subcase() {"," if (m_entered) {"," g_cs-\u003ecurrentSubcaseDepth--;",""," if (!g_cs-\u003ereachedLeaf) {"," // Leaf."," g_cs-\u003efullyTraversedSubcases.insert(hash(g_cs-\u003esubcaseStack));"," g_cs-\u003enextSubcaseStack.clear();"," g_cs-\u003ereachedLeaf = true;"," } else if (g_cs-\u003enextSubcaseStack.empty()) {"," // All children are finished."," g_cs-\u003efullyTraversedSubcases.insert(hash(g_cs-\u003esubcaseStack));"," }","","#if defined(__cpp_lib_uncaught_exceptions) \u0026\u0026 __cpp_lib_uncaught_exceptions \u003e= 201411L \u0026\u0026 (!defined(__MAC_OS_X_VERSION_MIN_REQUIRED) || __MAC_OS_X_VERSION_MIN_REQUIRED \u003e= 101200)"," if(std::uncaught_exceptions() \u003e 0","#else"," if(std::uncaught_exception()","#endif"," \u0026\u0026 g_cs-\u003eshouldLogCurrentException) {"," DOCTEST_ITERATE_THROUGH_REPORTERS("," test_case_exception, {\"exception thrown in subcase - will translate later \""," \"when the whole test case has been exited (cannot \""," \"translate while there is an active exception)\","," false});"," g_cs-\u003eshouldLogCurrentException = false;"," }",""," DOCTEST_ITERATE_THROUGH_REPORTERS(subcase_end, DOCTEST_EMPTY);"," }"," }",""," DOCTEST_CLANG_SUPPRESS_WARNING_POP"," DOCTEST_GCC_SUPPRESS_WARNING_POP"," DOCTEST_MSVC_SUPPRESS_WARNING_POP",""," Subcase::operator bool() const { return m_entered; }",""," Result::Result(bool passed, const String\u0026 decomposition)"," : m_passed(passed)"," , m_decomp(decomposition) {}",""," ExpressionDecomposer::ExpressionDecomposer(assertType::Enum at)"," : m_at(at) {}",""," TestSuite\u0026 TestSuite::operator*(const char* in) {"," m_test_suite = in;"," return *this;"," }",""," TestCase::TestCase(funcType test, const char* file, unsigned line, const TestSuite\u0026 test_suite,"," const String\u0026 type, int template_id) {"," m_file = file;"," m_line = line;"," m_name = nullptr; // will be later overridden in operator*"," m_test_suite = test_suite.m_test_suite;"," m_description = test_suite.m_description;"," m_skip = test_suite.m_skip;"," m_no_breaks = test_suite.m_no_breaks;"," m_no_output = test_suite.m_no_output;"," m_may_fail = test_suite.m_may_fail;"," m_should_fail = test_suite.m_should_fail;"," m_expected_failures = test_suite.m_expected_failures;"," m_timeout = test_suite.m_timeout;",""," m_test = test;"," m_type = type;"," m_template_id = template_id;"," }",""," TestCase::TestCase(const TestCase\u0026 other)"," : TestCaseData() {"," *this = other;"," }",""," DOCTEST_MSVC_SUPPRESS_WARNING_WITH_PUSH(26434) // hides a non-virtual function"," TestCase\u0026 TestCase::operator=(const TestCase\u0026 other) {"," TestCaseData::operator=(other);"," m_test = other.m_test;"," m_type = other.m_type;"," m_template_id = other.m_template_id;"," m_full_name = other.m_full_name;",""," if(m_template_id != -1)"," m_name = m_full_name.c_str();"," return *this;"," }"," DOCTEST_MSVC_SUPPRESS_WARNING_POP",""," TestCase\u0026 TestCase::operator*(const char* in) {"," m_name = in;"," // make a new name with an appended type for templated test case"," if(m_template_id != -1) {"," m_full_name = String(m_name) + \"\u003c\" + m_type + \"\u003e\";"," // redirect the name to point to the newly constructed full name"," m_name = m_full_name.c_str();"," }"," return *this;"," }",""," bool TestCase::operator\u003c(const TestCase\u0026 other) const {"," // this will be used only to differentiate between test cases - not relevant for sorting"," if(m_line != other.m_line)"," return m_line \u003c other.m_line;"," const int name_cmp = strcmp(m_name, other.m_name);"," if(name_cmp != 0)"," return name_cmp \u003c 0;"," const int file_cmp = m_file.compare(other.m_file);"," if(file_cmp != 0)"," return file_cmp \u003c 0;"," return m_template_id \u003c other.m_template_id;"," }",""," // all the registered tests"," std::set\u003cTestCase\u003e\u0026 getRegisteredTests() {"," static std::set\u003cTestCase\u003e data;"," return data;"," }","} // namespace detail","namespace {"," using namespace detail;"," // for sorting tests by file/line"," bool fileOrderComparator(const TestCase* lhs, const TestCase* rhs) {"," // this is needed because MSVC gives different case for drive letters"," // for __FILE__ when evaluated in a header and a source file"," const int res = lhs-\u003em_file.compare(rhs-\u003em_file, bool(DOCTEST_MSVC));"," if(res != 0)"," return res \u003c 0;"," if(lhs-\u003em_line != rhs-\u003em_line)"," return lhs-\u003em_line \u003c rhs-\u003em_line;"," return lhs-\u003em_template_id \u003c rhs-\u003em_template_id;"," }",""," // for sorting tests by suite/file/line"," bool suiteOrderComparator(const TestCase* lhs, const TestCase* rhs) {"," const int res = std::strcmp(lhs-\u003em_test_suite, rhs-\u003em_test_suite);"," if(res != 0)"," return res \u003c 0;"," return fileOrderComparator(lhs, rhs);"," }",""," // for sorting tests by name/suite/file/line"," bool nameOrderComparator(const TestCase* lhs, const TestCase* rhs) {"," const int res = std::strcmp(lhs-\u003em_name, rhs-\u003em_name);"," if(res != 0)"," return res \u003c 0;"," return suiteOrderComparator(lhs, rhs);"," }",""," DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH(\"-Wdeprecated-declarations\")"," void color_to_stream(std::ostream\u0026 s, Color::Enum code) {"," static_cast\u003cvoid\u003e(s); // for DOCTEST_CONFIG_COLORS_NONE or DOCTEST_CONFIG_COLORS_WINDOWS"," static_cast\u003cvoid\u003e(code); // for DOCTEST_CONFIG_COLORS_NONE","#ifdef DOCTEST_CONFIG_COLORS_ANSI"," if(g_no_colors ||"," (isatty(STDOUT_FILENO) == false \u0026\u0026 getContextOptions()-\u003eforce_colors == false))"," return;",""," auto col = \"\";"," // clang-format off"," switch(code) { //!OCLINT missing break in switch statement / unnecessary default statement in covered switch statement"," case Color::Red: col = \"[0;31m\"; break;"," case Color::Green: col = \"[0;32m\"; break;"," case Color::Blue: col = \"[0;34m\"; break;"," case Color::Cyan: col = \"[0;36m\"; break;"," case Color::Yellow: col = \"[0;33m\"; break;"," case Color::Grey: col = \"[1;30m\"; break;"," case Color::LightGrey: col = \"[0;37m\"; break;"," case Color::BrightRed: col = \"[1;31m\"; break;"," case Color::BrightGreen: col = \"[1;32m\"; break;"," case Color::BrightWhite: col = \"[1;37m\"; break;"," case Color::Bright: // invalid"," case Color::None:"," case Color::White:"," default: col = \"[0m\";"," }"," // clang-format on"," s \u003c\u003c \"\\033\" \u003c\u003c col;","#endif // DOCTEST_CONFIG_COLORS_ANSI","","#ifdef DOCTEST_CONFIG_COLORS_WINDOWS"," if(g_no_colors ||"," (_isatty(_fileno(stdout)) == false \u0026\u0026 getContextOptions()-\u003eforce_colors == false))"," return;",""," static struct ConsoleHelper {"," HANDLE stdoutHandle;"," WORD origFgAttrs;"," WORD origBgAttrs;",""," ConsoleHelper() {"," stdoutHandle = GetStdHandle(STD_OUTPUT_HANDLE);"," CONSOLE_SCREEN_BUFFER_INFO csbiInfo;"," GetConsoleScreenBufferInfo(stdoutHandle, \u0026csbiInfo);"," origFgAttrs = csbiInfo.wAttributes \u0026 ~(BACKGROUND_GREEN | BACKGROUND_RED |"," BACKGROUND_BLUE | BACKGROUND_INTENSITY);"," origBgAttrs = csbiInfo.wAttributes \u0026 ~(FOREGROUND_GREEN | FOREGROUND_RED |"," FOREGROUND_BLUE | FOREGROUND_INTENSITY);"," }"," } ch;","","#define DOCTEST_SET_ATTR(x) SetConsoleTextAttribute(ch.stdoutHandle, x | ch.origBgAttrs)",""," // clang-format off"," switch (code) {"," case Color::White: DOCTEST_SET_ATTR(FOREGROUND_GREEN | FOREGROUND_RED | FOREGROUND_BLUE); break;"," case Color::Red: DOCTEST_SET_ATTR(FOREGROUND_RED); break;"," case Color::Green: DOCTEST_SET_ATTR(FOREGROUND_GREEN); break;"," case Color::Blue: DOCTEST_SET_ATTR(FOREGROUND_BLUE); break;"," case Color::Cyan: DOCTEST_SET_ATTR(FOREGROUND_BLUE | FOREGROUND_GREEN); break;"," case Color::Yellow: DOCTEST_SET_ATTR(FOREGROUND_RED | FOREGROUND_GREEN); break;"," case Color::Grey: DOCTEST_SET_ATTR(0); break;"," case Color::LightGrey: DOCTEST_SET_ATTR(FOREGROUND_INTENSITY); break;"," case Color::BrightRed: DOCTEST_SET_ATTR(FOREGROUND_INTENSITY | FOREGROUND_RED); break;"," case Color::BrightGreen: DOCTEST_SET_ATTR(FOREGROUND_INTENSITY | FOREGROUND_GREEN); break;"," case Color::BrightWhite: DOCTEST_SET_ATTR(FOREGROUND_INTENSITY | FOREGROUND_GREEN | FOREGROUND_RED | FOREGROUND_BLUE); break;"," case Color::None:"," case Color::Bright: // invalid"," default: DOCTEST_SET_ATTR(ch.origFgAttrs);"," }"," // clang-format on","#endif // DOCTEST_CONFIG_COLORS_WINDOWS"," }"," DOCTEST_CLANG_SUPPRESS_WARNING_POP",""," std::vector\u003cconst IExceptionTranslator*\u003e\u0026 getExceptionTranslators() {"," static std::vector\u003cconst IExceptionTranslator*\u003e data;"," return data;"," }",""," String translateActiveException() {","#ifndef DOCTEST_CONFIG_NO_EXCEPTIONS"," String res;"," auto\u0026 translators = getExceptionTranslators();"," for(auto\u0026 curr : translators)"," if(curr-\u003etranslate(res))"," return res;"," // clang-format off"," DOCTEST_GCC_SUPPRESS_WARNING_WITH_PUSH(\"-Wcatch-value\")"," try {"," throw;"," } catch(std::exception\u0026 ex) {"," return ex.what();"," } catch(std::string\u0026 msg) {"," return msg.c_str();"," } catch(const char* msg) {"," return msg;"," } catch(...) {"," return \"unknown exception\";"," }"," DOCTEST_GCC_SUPPRESS_WARNING_POP","// clang-format on","#else // DOCTEST_CONFIG_NO_EXCEPTIONS"," return \"\";","#endif // DOCTEST_CONFIG_NO_EXCEPTIONS"," }","} // namespace","","namespace detail {"," // used by the macros for registering tests"," int regTest(const TestCase\u0026 tc) {"," getRegisteredTests().insert(tc);"," return 0;"," }",""," // sets the current test suite"," int setTestSuite(const TestSuite\u0026 ts) {"," doctest_detail_test_suite_ns::getCurrentTestSuite() = ts;"," return 0;"," }","","#ifdef DOCTEST_IS_DEBUGGER_ACTIVE"," bool isDebuggerActive() { return DOCTEST_IS_DEBUGGER_ACTIVE(); }","#else // DOCTEST_IS_DEBUGGER_ACTIVE","#ifdef DOCTEST_PLATFORM_LINUX"," class ErrnoGuard {"," public:"," ErrnoGuard() : m_oldErrno(errno) {}"," ~ErrnoGuard() { errno = m_oldErrno; }"," private:"," int m_oldErrno;"," };"," // See the comments in Catch2 for the reasoning behind this implementation:"," // https://github.com/catchorg/Catch2/blob/v2.13.1/include/internal/catch_debugger.cpp#L79-L102"," bool isDebuggerActive() {"," ErrnoGuard guard;"," std::ifstream in(\"/proc/self/status\");"," for(std::string line; std::getline(in, line);) {"," static const int PREFIX_LEN = 11;"," if(line.compare(0, PREFIX_LEN, \"TracerPid:\\t\") == 0) {"," return line.length() \u003e PREFIX_LEN \u0026\u0026 line[PREFIX_LEN] != '0';"," }"," }"," return false;"," }","#elif defined(DOCTEST_PLATFORM_MAC)"," // The following function is taken directly from the following technical note:"," // https://developer.apple.com/library/archive/qa/qa1361/_index.html"," // Returns true if the current process is being debugged (either"," // running under the debugger or has a debugger attached post facto)."," bool isDebuggerActive() {"," int mib[4];"," kinfo_proc info;"," size_t size;"," // Initialize the flags so that, if sysctl fails for some bizarre"," // reason, we get a predictable result."," info.kp_proc.p_flag = 0;"," // Initialize mib, which tells sysctl the info we want, in this case"," // we're looking for information about a specific process ID."," mib[0] = CTL_KERN;"," mib[1] = KERN_PROC;"," mib[2] = KERN_PROC_PID;"," mib[3] = getpid();"," // Call sysctl."," size = sizeof(info);"," if(sysctl(mib, DOCTEST_COUNTOF(mib), \u0026info, \u0026size, 0, 0) != 0) {"," std::cerr \u003c\u003c \"\\nCall to sysctl failed - unable to determine if debugger is active **\\n\";"," return false;"," }"," // We're being debugged if the P_TRACED flag is set."," return ((info.kp_proc.p_flag \u0026 P_TRACED) != 0);"," }","#elif DOCTEST_MSVC || defined(__MINGW32__) || defined(__MINGW64__)"," bool isDebuggerActive() { return ::IsDebuggerPresent() != 0; }","#else"," bool isDebuggerActive() { return false; }","#endif // Platform","#endif // DOCTEST_IS_DEBUGGER_ACTIVE",""," void registerExceptionTranslatorImpl(const IExceptionTranslator* et) {"," if(std::find(getExceptionTranslators().begin(), getExceptionTranslators().end(), et) =="," getExceptionTranslators().end())"," getExceptionTranslators().push_back(et);"," }",""," DOCTEST_THREAD_LOCAL std::vector\u003cIContextScope*\u003e g_infoContexts; // for logging with INFO()",""," ContextScopeBase::ContextScopeBase() {"," g_infoContexts.push_back(this);"," }",""," ContextScopeBase::ContextScopeBase(ContextScopeBase\u0026\u0026 other) noexcept {"," if (other.need_to_destroy) {"," other.destroy();"," }"," other.need_to_destroy = false;"," g_infoContexts.push_back(this);"," }",""," DOCTEST_MSVC_SUPPRESS_WARNING_WITH_PUSH(4996) // std::uncaught_exception is deprecated in C++17"," DOCTEST_GCC_SUPPRESS_WARNING_WITH_PUSH(\"-Wdeprecated-declarations\")"," DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH(\"-Wdeprecated-declarations\")",""," // destroy cannot be inlined into the destructor because that would mean calling stringify after"," // ContextScope has been destroyed (base class destructors run after derived class destructors)."," // Instead, ContextScope calls this method directly from its destructor."," void ContextScopeBase::destroy() {","#if defined(__cpp_lib_uncaught_exceptions) \u0026\u0026 __cpp_lib_uncaught_exceptions \u003e= 201411L \u0026\u0026 (!defined(__MAC_OS_X_VERSION_MIN_REQUIRED) || __MAC_OS_X_VERSION_MIN_REQUIRED \u003e= 101200)"," if(std::uncaught_exceptions() \u003e 0) {","#else"," if(std::uncaught_exception()) {","#endif"," std::ostringstream s;"," this-\u003estringify(\u0026s);"," g_cs-\u003estringifiedContexts.push_back(s.str().c_str());"," }"," g_infoContexts.pop_back();"," }",""," DOCTEST_CLANG_SUPPRESS_WARNING_POP"," DOCTEST_GCC_SUPPRESS_WARNING_POP"," DOCTEST_MSVC_SUPPRESS_WARNING_POP","} // namespace detail","namespace {"," using namespace detail;","","#if !defined(DOCTEST_CONFIG_POSIX_SIGNALS) \u0026\u0026 !defined(DOCTEST_CONFIG_WINDOWS_SEH)"," struct FatalConditionHandler"," {"," static void reset() {}"," static void allocateAltStackMem() {}"," static void freeAltStackMem() {}"," };","#else // DOCTEST_CONFIG_POSIX_SIGNALS || DOCTEST_CONFIG_WINDOWS_SEH",""," void reportFatal(const std::string\u0026);","","#ifdef DOCTEST_PLATFORM_WINDOWS",""," struct SignalDefs"," {"," DWORD id;"," const char* name;"," };"," // There is no 1-1 mapping between signals and windows exceptions."," // Windows can easily distinguish between SO and SigSegV,"," // but SigInt, SigTerm, etc are handled differently."," SignalDefs signalDefs[] = {"," {static_cast\u003cDWORD\u003e(EXCEPTION_ILLEGAL_INSTRUCTION),"," \"SIGILL - Illegal instruction signal\"},"," {static_cast\u003cDWORD\u003e(EXCEPTION_STACK_OVERFLOW), \"SIGSEGV - Stack overflow\"},"," {static_cast\u003cDWORD\u003e(EXCEPTION_ACCESS_VIOLATION),"," \"SIGSEGV - Segmentation violation signal\"},"," {static_cast\u003cDWORD\u003e(EXCEPTION_INT_DIVIDE_BY_ZERO), \"Divide by zero error\"},"," };",""," struct FatalConditionHandler"," {"," static LONG CALLBACK handleException(PEXCEPTION_POINTERS ExceptionInfo) {"," // Multiple threads may enter this filter/handler at once. We want the error message to be printed on the"," // console just once no matter how many threads have crashed."," DOCTEST_DECLARE_STATIC_MUTEX(mutex)"," static bool execute = true;"," {"," DOCTEST_LOCK_MUTEX(mutex)"," if(execute) {"," bool reported = false;"," for(size_t i = 0; i \u003c DOCTEST_COUNTOF(signalDefs); ++i) {"," if(ExceptionInfo-\u003eExceptionRecord-\u003eExceptionCode == signalDefs[i].id) {"," reportFatal(signalDefs[i].name);"," reported = true;"," break;"," }"," }"," if(reported == false)"," reportFatal(\"Unhandled SEH exception caught\");"," if(isDebuggerActive() \u0026\u0026 !g_cs-\u003eno_breaks)"," DOCTEST_BREAK_INTO_DEBUGGER();"," }"," execute = false;"," }"," std::exit(EXIT_FAILURE);"," }",""," static void allocateAltStackMem() {}"," static void freeAltStackMem() {}",""," FatalConditionHandler() {"," isSet = true;"," // 32k seems enough for doctest to handle stack overflow,"," // but the value was found experimentally, so there is no strong guarantee"," guaranteeSize = 32 * 1024;"," // Register an unhandled exception filter"," previousTop = SetUnhandledExceptionFilter(handleException);"," // Pass in guarantee size to be filled"," SetThreadStackGuarantee(\u0026guaranteeSize);",""," // On Windows uncaught exceptions from another thread, exceptions from"," // destructors, or calls to std::terminate are not a SEH exception",""," // The terminal handler gets called when:"," // - std::terminate is called FROM THE TEST RUNNER THREAD"," // - an exception is thrown from a destructor FROM THE TEST RUNNER THREAD"," original_terminate_handler = std::get_terminate();"," std::set_terminate([]() DOCTEST_NOEXCEPT {"," reportFatal(\"Terminate handler called\");"," if(isDebuggerActive() \u0026\u0026 !g_cs-\u003eno_breaks)"," DOCTEST_BREAK_INTO_DEBUGGER();"," std::exit(EXIT_FAILURE); // explicitly exit - otherwise the SIGABRT handler may be called as well"," });",""," // SIGABRT is raised when:"," // - std::terminate is called FROM A DIFFERENT THREAD"," // - an exception is thrown from a destructor FROM A DIFFERENT THREAD"," // - an uncaught exception is thrown FROM A DIFFERENT THREAD"," prev_sigabrt_handler = std::signal(SIGABRT, [](int signal) DOCTEST_NOEXCEPT {"," if(signal == SIGABRT) {"," reportFatal(\"SIGABRT - Abort (abnormal termination) signal\");"," if(isDebuggerActive() \u0026\u0026 !g_cs-\u003eno_breaks)"," DOCTEST_BREAK_INTO_DEBUGGER();"," std::exit(EXIT_FAILURE);"," }"," });",""," // The following settings are taken from google test, and more"," // specifically from UnitTest::Run() inside of gtest.cc",""," // the user does not want to see pop-up dialogs about crashes"," prev_error_mode_1 = SetErrorMode(SEM_FAILCRITICALERRORS | SEM_NOALIGNMENTFAULTEXCEPT |"," SEM_NOGPFAULTERRORBOX | SEM_NOOPENFILEERRORBOX);"," // This forces the abort message to go to stderr in all circumstances."," prev_error_mode_2 = _set_error_mode(_OUT_TO_STDERR);"," // In the debug version, Visual Studio pops up a separate dialog"," // offering a choice to debug the aborted program - we want to disable that."," prev_abort_behavior = _set_abort_behavior(0x0, _WRITE_ABORT_MSG | _CALL_REPORTFAULT);"," // In debug mode, the Windows CRT can crash with an assertion over invalid"," // input (e.g. passing an invalid file descriptor). The default handling"," // for these assertions is to pop up a dialog and wait for user input."," // Instead ask the CRT to dump such assertions to stderr non-interactively."," prev_report_mode = _CrtSetReportMode(_CRT_ASSERT, _CRTDBG_MODE_FILE | _CRTDBG_MODE_DEBUG);"," prev_report_file = _CrtSetReportFile(_CRT_ASSERT, _CRTDBG_FILE_STDERR);"," }",""," static void reset() {"," if(isSet) {"," // Unregister handler and restore the old guarantee"," SetUnhandledExceptionFilter(previousTop);"," SetThreadStackGuarantee(\u0026guaranteeSize);"," std::set_terminate(original_terminate_handler);"," std::signal(SIGABRT, prev_sigabrt_handler);"," SetErrorMode(prev_error_mode_1);"," _set_error_mode(prev_error_mode_2);"," _set_abort_behavior(prev_abort_behavior, _WRITE_ABORT_MSG | _CALL_REPORTFAULT);"," static_cast\u003cvoid\u003e(_CrtSetReportMode(_CRT_ASSERT, prev_report_mode));"," static_cast\u003cvoid\u003e(_CrtSetReportFile(_CRT_ASSERT, prev_report_file));"," isSet = false;"," }"," }",""," ~FatalConditionHandler() { reset(); }",""," private:"," static UINT prev_error_mode_1;"," static int prev_error_mode_2;"," static unsigned int prev_abort_behavior;"," static int prev_report_mode;"," static _HFILE prev_report_file;"," static void (DOCTEST_CDECL *prev_sigabrt_handler)(int);"," static std::terminate_handler original_terminate_handler;"," static bool isSet;"," static ULONG guaranteeSize;"," static LPTOP_LEVEL_EXCEPTION_FILTER previousTop;"," };",""," UINT FatalConditionHandler::prev_error_mode_1;"," int FatalConditionHandler::prev_error_mode_2;"," unsigned int FatalConditionHandler::prev_abort_behavior;"," int FatalConditionHandler::prev_report_mode;"," _HFILE FatalConditionHandler::prev_report_file;"," void (DOCTEST_CDECL *FatalConditionHandler::prev_sigabrt_handler)(int);"," std::terminate_handler FatalConditionHandler::original_terminate_handler;"," bool FatalConditionHandler::isSet = false;"," ULONG FatalConditionHandler::guaranteeSize = 0;"," LPTOP_LEVEL_EXCEPTION_FILTER FatalConditionHandler::previousTop = nullptr;","","#else // DOCTEST_PLATFORM_WINDOWS",""," struct SignalDefs"," {"," int id;"," const char* name;"," };"," SignalDefs signalDefs[] = {{SIGINT, \"SIGINT - Terminal interrupt signal\"},"," {SIGILL, \"SIGILL - Illegal instruction signal\"},"," {SIGFPE, \"SIGFPE - Floating point error signal\"},"," {SIGSEGV, \"SIGSEGV - Segmentation violation signal\"},"," {SIGTERM, \"SIGTERM - Termination request signal\"},"," {SIGABRT, \"SIGABRT - Abort (abnormal termination) signal\"}};",""," struct FatalConditionHandler"," {"," static bool isSet;"," static struct sigaction oldSigActions[DOCTEST_COUNTOF(signalDefs)];"," static stack_t oldSigStack;"," static size_t altStackSize;"," static char* altStackMem;",""," static void handleSignal(int sig) {"," const char* name = \"\u003cunknown signal\u003e\";"," for(std::size_t i = 0; i \u003c DOCTEST_COUNTOF(signalDefs); ++i) {"," SignalDefs\u0026 def = signalDefs[i];"," if(sig == def.id) {"," name = def.name;"," break;"," }"," }"," reset();"," reportFatal(name);"," raise(sig);"," }",""," static void allocateAltStackMem() {"," altStackMem = new char[altStackSize];"," }",""," static void freeAltStackMem() {"," delete[] altStackMem;"," }",""," FatalConditionHandler() {"," isSet = true;"," stack_t sigStack;"," sigStack.ss_sp = altStackMem;"," sigStack.ss_size = altStackSize;"," sigStack.ss_flags = 0;"," sigaltstack(\u0026sigStack, \u0026oldSigStack);"," struct sigaction sa = {};"," sa.sa_handler = handleSignal;"," sa.sa_flags = SA_ONSTACK;"," for(std::size_t i = 0; i \u003c DOCTEST_COUNTOF(signalDefs); ++i) {"," sigaction(signalDefs[i].id, \u0026sa, \u0026oldSigActions[i]);"," }"," }",""," ~FatalConditionHandler() { reset(); }"," static void reset() {"," if(isSet) {"," // Set signals back to previous values -- hopefully nobody overwrote them in the meantime"," for(std::size_t i = 0; i \u003c DOCTEST_COUNTOF(signalDefs); ++i) {"," sigaction(signalDefs[i].id, \u0026oldSigActions[i], nullptr);"," }"," // Return the old stack"," sigaltstack(\u0026oldSigStack, nullptr);"," isSet = false;"," }"," }"," };",""," bool FatalConditionHandler::isSet = false;"," struct sigaction FatalConditionHandler::oldSigActions[DOCTEST_COUNTOF(signalDefs)] = {};"," stack_t FatalConditionHandler::oldSigStack = {};"," size_t FatalConditionHandler::altStackSize = 4 * SIGSTKSZ;"," char* FatalConditionHandler::altStackMem = nullptr;","","#endif // DOCTEST_PLATFORM_WINDOWS","#endif // DOCTEST_CONFIG_POSIX_SIGNALS || DOCTEST_CONFIG_WINDOWS_SEH","","} // namespace","","namespace {"," using namespace detail;","","#ifdef DOCTEST_PLATFORM_WINDOWS","#define DOCTEST_OUTPUT_DEBUG_STRING(text) ::OutputDebugStringA(text)","#else"," // TODO: integration with XCode and other IDEs","#define DOCTEST_OUTPUT_DEBUG_STRING(text)","#endif // Platform",""," void addAssert(assertType::Enum at) {"," if((at \u0026 assertType::is_warn) == 0) //!OCLINT bitwise operator in conditional"," g_cs-\u003enumAssertsCurrentTest_atomic++;"," }",""," void addFailedAssert(assertType::Enum at) {"," if((at \u0026 assertType::is_warn) == 0) //!OCLINT bitwise operator in conditional"," g_cs-\u003enumAssertsFailedCurrentTest_atomic++;"," }","","#if defined(DOCTEST_CONFIG_POSIX_SIGNALS) || defined(DOCTEST_CONFIG_WINDOWS_SEH)"," void reportFatal(const std::string\u0026 message) {"," g_cs-\u003efailure_flags |= TestCaseFailureReason::Crash;",""," DOCTEST_ITERATE_THROUGH_REPORTERS(test_case_exception, {message.c_str(), true});",""," while (g_cs-\u003esubcaseStack.size()) {"," g_cs-\u003esubcaseStack.pop_back();"," DOCTEST_ITERATE_THROUGH_REPORTERS(subcase_end, DOCTEST_EMPTY);"," }",""," g_cs-\u003efinalizeTestCaseData();",""," DOCTEST_ITERATE_THROUGH_REPORTERS(test_case_end, *g_cs);",""," DOCTEST_ITERATE_THROUGH_REPORTERS(test_run_end, *g_cs);"," }","#endif // DOCTEST_CONFIG_POSIX_SIGNALS || DOCTEST_CONFIG_WINDOWS_SEH","} // namespace","","AssertData::AssertData(assertType::Enum at, const char* file, int line, const char* expr,"," const char* exception_type, const StringContains\u0026 exception_string)"," : m_test_case(g_cs-\u003ecurrentTest), m_at(at), m_file(file), m_line(line), m_expr(expr),"," m_failed(true), m_threw(false), m_threw_as(false), m_exception_type(exception_type),"," m_exception_string(exception_string) {","#if DOCTEST_MSVC"," if (m_expr[0] == ' ') // this happens when variadic macros are disabled under MSVC"," ++m_expr;","#endif // MSVC","}","","namespace detail {"," ResultBuilder::ResultBuilder(assertType::Enum at, const char* file, int line, const char* expr,"," const char* exception_type, const String\u0026 exception_string)"," : AssertData(at, file, line, expr, exception_type, exception_string) { }",""," ResultBuilder::ResultBuilder(assertType::Enum at, const char* file, int line, const char* expr,"," const char* exception_type, const Contains\u0026 exception_string)"," : AssertData(at, file, line, expr, exception_type, exception_string) { }",""," void ResultBuilder::setResult(const Result\u0026 res) {"," m_decomp = res.m_decomp;"," m_failed = !res.m_passed;"," }",""," void ResultBuilder::translateException() {"," m_threw = true;"," m_exception = translateActiveException();"," }",""," bool ResultBuilder::log() {"," if(m_at \u0026 assertType::is_throws) { //!OCLINT bitwise operator in conditional"," m_failed = !m_threw;"," } else if((m_at \u0026 assertType::is_throws_as) \u0026\u0026 (m_at \u0026 assertType::is_throws_with)) { //!OCLINT"," m_failed = !m_threw_as || !m_exception_string.check(m_exception);"," } else if(m_at \u0026 assertType::is_throws_as) { //!OCLINT bitwise operator in conditional"," m_failed = !m_threw_as;"," } else if(m_at \u0026 assertType::is_throws_with) { //!OCLINT bitwise operator in conditional"," m_failed = !m_exception_string.check(m_exception);"," } else if(m_at \u0026 assertType::is_nothrow) { //!OCLINT bitwise operator in conditional"," m_failed = m_threw;"," }",""," if(m_exception.size())"," m_exception = \"\\\"\" + m_exception + \"\\\"\";",""," if(is_running_in_test) {"," addAssert(m_at);"," DOCTEST_ITERATE_THROUGH_REPORTERS(log_assert, *this);",""," if(m_failed)"," addFailedAssert(m_at);"," } else if(m_failed) {"," failed_out_of_a_testing_context(*this);"," }",""," return m_failed \u0026\u0026 isDebuggerActive() \u0026\u0026 !getContextOptions()-\u003eno_breaks \u0026\u0026"," (g_cs-\u003ecurrentTest == nullptr || !g_cs-\u003ecurrentTest-\u003em_no_breaks); // break into debugger"," }",""," void ResultBuilder::react() const {"," if(m_failed \u0026\u0026 checkIfShouldThrow(m_at))"," throwException();"," }",""," void failed_out_of_a_testing_context(const AssertData\u0026 ad) {"," if(g_cs-\u003eah)"," g_cs-\u003eah(ad);"," else"," std::abort();"," }",""," bool decomp_assert(assertType::Enum at, const char* file, int line, const char* expr,"," const Result\u0026 result) {"," bool failed = !result.m_passed;",""," // ###################################################################################"," // IF THE DEBUGGER BREAKS HERE - GO 1 LEVEL UP IN THE CALLSTACK FOR THE FAILING ASSERT"," // THIS IS THE EFFECT OF HAVING 'DOCTEST_CONFIG_SUPER_FAST_ASSERTS' DEFINED"," // ###################################################################################"," DOCTEST_ASSERT_OUT_OF_TESTS(result.m_decomp);"," DOCTEST_ASSERT_IN_TESTS(result.m_decomp);"," return !failed;"," }",""," MessageBuilder::MessageBuilder(const char* file, int line, assertType::Enum severity) {"," m_stream = tlssPush();"," m_file = file;"," m_line = line;"," m_severity = severity;"," }",""," MessageBuilder::~MessageBuilder() {"," if (!logged)"," tlssPop();"," }",""," DOCTEST_DEFINE_INTERFACE(IExceptionTranslator)",""," bool MessageBuilder::log() {"," if (!logged) {"," m_string = tlssPop();"," logged = true;"," }",""," DOCTEST_ITERATE_THROUGH_REPORTERS(log_message, *this);",""," const bool isWarn = m_severity \u0026 assertType::is_warn;",""," // warn is just a message in this context so we don't treat it as an assert"," if(!isWarn) {"," addAssert(m_severity);"," addFailedAssert(m_severity);"," }",""," return isDebuggerActive() \u0026\u0026 !getContextOptions()-\u003eno_breaks \u0026\u0026 !isWarn \u0026\u0026"," (g_cs-\u003ecurrentTest == nullptr || !g_cs-\u003ecurrentTest-\u003em_no_breaks); // break into debugger"," }",""," void MessageBuilder::react() {"," if(m_severity \u0026 assertType::is_require) //!OCLINT bitwise operator in conditional"," throwException();"," }","} // namespace detail","namespace {"," using namespace detail;",""," // clang-format off","","// =================================================================================================","// The following code has been taken verbatim from Catch2/include/internal/catch_xmlwriter.h/cpp","// This is done so cherry-picking bug fixes is trivial - even the style/formatting is untouched.","// =================================================================================================",""," class XmlEncode {"," public:"," enum ForWhat { ForTextNodes, ForAttributes };",""," XmlEncode( std::string const\u0026 str, ForWhat forWhat = ForTextNodes );",""," void encodeTo( std::ostream\u0026 os ) const;",""," friend std::ostream\u0026 operator \u003c\u003c ( std::ostream\u0026 os, XmlEncode const\u0026 xmlEncode );",""," private:"," std::string m_str;"," ForWhat m_forWhat;"," };",""," class XmlWriter {"," public:",""," class ScopedElement {"," public:"," ScopedElement( XmlWriter* writer );",""," ScopedElement( ScopedElement\u0026\u0026 other ) DOCTEST_NOEXCEPT;"," ScopedElement\u0026 operator=( ScopedElement\u0026\u0026 other ) DOCTEST_NOEXCEPT;",""," ~ScopedElement();",""," ScopedElement\u0026 writeText( std::string const\u0026 text, bool indent = true );",""," template\u003ctypename T\u003e"," ScopedElement\u0026 writeAttribute( std::string const\u0026 name, T const\u0026 attribute ) {"," m_writer-\u003ewriteAttribute( name, attribute );"," return *this;"," }",""," private:"," mutable XmlWriter* m_writer = nullptr;"," };","","#ifndef DOCTEST_CONFIG_NO_INCLUDE_IOSTREAM"," XmlWriter( std::ostream\u0026 os = std::cout );","#else // DOCTEST_CONFIG_NO_INCLUDE_IOSTREAM"," XmlWriter( std::ostream\u0026 os );","#endif // DOCTEST_CONFIG_NO_INCLUDE_IOSTREAM"," ~XmlWriter();",""," XmlWriter( XmlWriter const\u0026 ) = delete;"," XmlWriter\u0026 operator=( XmlWriter const\u0026 ) = delete;",""," XmlWriter\u0026 startElement( std::string const\u0026 name );",""," ScopedElement scopedElement( std::string const\u0026 name );",""," XmlWriter\u0026 endElement();",""," XmlWriter\u0026 writeAttribute( std::string const\u0026 name, std::string const\u0026 attribute );",""," XmlWriter\u0026 writeAttribute( std::string const\u0026 name, const char* attribute );",""," XmlWriter\u0026 writeAttribute( std::string const\u0026 name, bool attribute );",""," template\u003ctypename T\u003e"," XmlWriter\u0026 writeAttribute( std::string const\u0026 name, T const\u0026 attribute ) {"," std::stringstream rss;"," rss \u003c\u003c attribute;"," return writeAttribute( name, rss.str() );"," }",""," XmlWriter\u0026 writeText( std::string const\u0026 text, bool indent = true );",""," //XmlWriter\u0026 writeComment( std::string const\u0026 text );",""," //void writeStylesheetRef( std::string const\u0026 url );",""," //XmlWriter\u0026 writeBlankLine();",""," void ensureTagClosed();",""," void writeDeclaration();",""," private:",""," void newlineIfNecessary();",""," bool m_tagIsOpen = false;"," bool m_needsNewline = false;"," std::vector\u003cstd::string\u003e m_tags;"," std::string m_indent;"," std::ostream\u0026 m_os;"," };","","// =================================================================================================","// The following code has been taken verbatim from Catch2/include/internal/catch_xmlwriter.h/cpp","// This is done so cherry-picking bug fixes is trivial - even the style/formatting is untouched.","// =================================================================================================","","using uchar = unsigned char;","","namespace {",""," size_t trailingBytes(unsigned char c) {"," if ((c \u0026 0xE0) == 0xC0) {"," return 2;"," }"," if ((c \u0026 0xF0) == 0xE0) {"," return 3;"," }"," if ((c \u0026 0xF8) == 0xF0) {"," return 4;"," }"," DOCTEST_INTERNAL_ERROR(\"Invalid multibyte utf-8 start byte encountered\");"," }",""," uint32_t headerValue(unsigned char c) {"," if ((c \u0026 0xE0) == 0xC0) {"," return c \u0026 0x1F;"," }"," if ((c \u0026 0xF0) == 0xE0) {"," return c \u0026 0x0F;"," }"," if ((c \u0026 0xF8) == 0xF0) {"," return c \u0026 0x07;"," }"," DOCTEST_INTERNAL_ERROR(\"Invalid multibyte utf-8 start byte encountered\");"," }",""," void hexEscapeChar(std::ostream\u0026 os, unsigned char c) {"," std::ios_base::fmtflags f(os.flags());"," os \u003c\u003c \"\\\\x\""," \u003c\u003c std::uppercase \u003c\u003c std::hex \u003c\u003c std::setfill('0') \u003c\u003c std::setw(2)"," \u003c\u003c static_cast\u003cint\u003e(c);"," os.flags(f);"," }","","} // anonymous namespace",""," XmlEncode::XmlEncode( std::string const\u0026 str, ForWhat forWhat )"," : m_str( str ),"," m_forWhat( forWhat )"," {}",""," void XmlEncode::encodeTo( std::ostream\u0026 os ) const {"," // Apostrophe escaping not necessary if we always use \" to write attributes"," // (see: https://www.w3.org/TR/xml/#syntax)",""," for( std::size_t idx = 0; idx \u003c m_str.size(); ++ idx ) {"," uchar c = m_str[idx];"," switch (c) {"," case '\u003c': os \u003c\u003c \"\u0026lt;\"; break;"," case '\u0026': os \u003c\u003c \"\u0026amp;\"; break;",""," case '\u003e':"," // See: https://www.w3.org/TR/xml/#syntax"," if (idx \u003e 2 \u0026\u0026 m_str[idx - 1] == ']' \u0026\u0026 m_str[idx - 2] == ']')"," os \u003c\u003c \"\u0026gt;\";"," else"," os \u003c\u003c c;"," break;",""," case '\\\"':"," if (m_forWhat == ForAttributes)"," os \u003c\u003c \"\u0026quot;\";"," else"," os \u003c\u003c c;"," break;",""," default:"," // Check for control characters and invalid utf-8",""," // Escape control characters in standard ascii"," // see https://stackoverflow.com/questions/404107/why-are-control-characters-illegal-in-xml-1-0"," if (c \u003c 0x09 || (c \u003e 0x0D \u0026\u0026 c \u003c 0x20) || c == 0x7F) {"," hexEscapeChar(os, c);"," break;"," }",""," // Plain ASCII: Write it to stream"," if (c \u003c 0x7F) {"," os \u003c\u003c c;"," break;"," }",""," // UTF-8 territory"," // Check if the encoding is valid and if it is not, hex escape bytes."," // Important: We do not check the exact decoded values for validity, only the encoding format"," // First check that this bytes is a valid lead byte:"," // This means that it is not encoded as 1111 1XXX"," // Or as 10XX XXXX"," if (c \u003c 0xC0 ||"," c \u003e= 0xF8) {"," hexEscapeChar(os, c);"," break;"," }",""," auto encBytes = trailingBytes(c);"," // Are there enough bytes left to avoid accessing out-of-bounds memory?"," if (idx + encBytes - 1 \u003e= m_str.size()) {"," hexEscapeChar(os, c);"," break;"," }"," // The header is valid, check data"," // The next encBytes bytes must together be a valid utf-8"," // This means: bitpattern 10XX XXXX and the extracted value is sane (ish)"," bool valid = true;"," uint32_t value = headerValue(c);"," for (std::size_t n = 1; n \u003c encBytes; ++n) {"," uchar nc = m_str[idx + n];"," valid \u0026= ((nc \u0026 0xC0) == 0x80);"," value = (value \u003c\u003c 6) | (nc \u0026 0x3F);"," }",""," if ("," // Wrong bit pattern of following bytes"," (!valid) ||"," // Overlong encodings"," (value \u003c 0x80) ||"," ( value \u003c 0x800 \u0026\u0026 encBytes \u003e 2) || // removed \"0x80 \u003c= value \u0026\u0026\" because redundant"," (0x800 \u003c value \u0026\u0026 value \u003c 0x10000 \u0026\u0026 encBytes \u003e 3) ||"," // Encoded value out of range"," (value \u003e= 0x110000)"," ) {"," hexEscapeChar(os, c);"," break;"," }",""," // If we got here, this is in fact a valid(ish) utf-8 sequence"," for (std::size_t n = 0; n \u003c encBytes; ++n) {"," os \u003c\u003c m_str[idx + n];"," }"," idx += encBytes - 1;"," break;"," }"," }"," }",""," std::ostream\u0026 operator \u003c\u003c ( std::ostream\u0026 os, XmlEncode const\u0026 xmlEncode ) {"," xmlEncode.encodeTo( os );"," return os;"," }",""," XmlWriter::ScopedElement::ScopedElement( XmlWriter* writer )"," : m_writer( writer )"," {}",""," XmlWriter::ScopedElement::ScopedElement( ScopedElement\u0026\u0026 other ) DOCTEST_NOEXCEPT"," : m_writer( other.m_writer ){"," other.m_writer = nullptr;"," }"," XmlWriter::ScopedElement\u0026 XmlWriter::ScopedElement::operator=( ScopedElement\u0026\u0026 other ) DOCTEST_NOEXCEPT {"," if ( m_writer ) {"," m_writer-\u003eendElement();"," }"," m_writer = other.m_writer;"," other.m_writer = nullptr;"," return *this;"," }","",""," XmlWriter::ScopedElement::~ScopedElement() {"," if( m_writer )"," m_writer-\u003eendElement();"," }",""," XmlWriter::ScopedElement\u0026 XmlWriter::ScopedElement::writeText( std::string const\u0026 text, bool indent ) {"," m_writer-\u003ewriteText( text, indent );"," return *this;"," }",""," XmlWriter::XmlWriter( std::ostream\u0026 os ) : m_os( os )"," {"," // writeDeclaration(); // called explicitly by the reporters that use the writer class - see issue #627"," }",""," XmlWriter::~XmlWriter() {"," while( !m_tags.empty() )"," endElement();"," }",""," XmlWriter\u0026 XmlWriter::startElement( std::string const\u0026 name ) {"," ensureTagClosed();"," newlineIfNecessary();"," m_os \u003c\u003c m_indent \u003c\u003c '\u003c' \u003c\u003c name;"," m_tags.push_back( name );"," m_indent += \" \";"," m_tagIsOpen = true;"," return *this;"," }",""," XmlWriter::ScopedElement XmlWriter::scopedElement( std::string const\u0026 name ) {"," ScopedElement scoped( this );"," startElement( name );"," return scoped;"," }",""," XmlWriter\u0026 XmlWriter::endElement() {"," newlineIfNecessary();"," m_indent = m_indent.substr( 0, m_indent.size()-2 );"," if( m_tagIsOpen ) {"," m_os \u003c\u003c \"/\u003e\";"," m_tagIsOpen = false;"," }"," else {"," m_os \u003c\u003c m_indent \u003c\u003c \"\u003c/\" \u003c\u003c m_tags.back() \u003c\u003c \"\u003e\";"," }"," m_os \u003c\u003c std::endl;"," m_tags.pop_back();"," return *this;"," }",""," XmlWriter\u0026 XmlWriter::writeAttribute( std::string const\u0026 name, std::string const\u0026 attribute ) {"," if( !name.empty() \u0026\u0026 !attribute.empty() )"," m_os \u003c\u003c ' ' \u003c\u003c name \u003c\u003c \"=\\\"\" \u003c\u003c XmlEncode( attribute, XmlEncode::ForAttributes ) \u003c\u003c '\"';"," return *this;"," }",""," XmlWriter\u0026 XmlWriter::writeAttribute( std::string const\u0026 name, const char* attribute ) {"," if( !name.empty() \u0026\u0026 attribute \u0026\u0026 attribute[0] != '\\0' )"," m_os \u003c\u003c ' ' \u003c\u003c name \u003c\u003c \"=\\\"\" \u003c\u003c XmlEncode( attribute, XmlEncode::ForAttributes ) \u003c\u003c '\"';"," return *this;"," }",""," XmlWriter\u0026 XmlWriter::writeAttribute( std::string const\u0026 name, bool attribute ) {"," m_os \u003c\u003c ' ' \u003c\u003c name \u003c\u003c \"=\\\"\" \u003c\u003c ( attribute ? \"true\" : \"false\" ) \u003c\u003c '\"';"," return *this;"," }",""," XmlWriter\u0026 XmlWriter::writeText( std::string const\u0026 text, bool indent ) {"," if( !text.empty() ){"," bool tagWasOpen = m_tagIsOpen;"," ensureTagClosed();"," if( tagWasOpen \u0026\u0026 indent )"," m_os \u003c\u003c m_indent;"," m_os \u003c\u003c XmlEncode( text );"," m_needsNewline = true;"," }"," return *this;"," }",""," //XmlWriter\u0026 XmlWriter::writeComment( std::string const\u0026 text ) {"," // ensureTagClosed();"," // m_os \u003c\u003c m_indent \u003c\u003c \"\u003c!--\" \u003c\u003c text \u003c\u003c \"--\u003e\";"," // m_needsNewline = true;"," // return *this;"," //}",""," //void XmlWriter::writeStylesheetRef( std::string const\u0026 url ) {"," // m_os \u003c\u003c \"\u003c?xml-stylesheet type=\\\"text/xsl\\\" href=\\\"\" \u003c\u003c url \u003c\u003c \"\\\"?\u003e\\n\";"," //}",""," //XmlWriter\u0026 XmlWriter::writeBlankLine() {"," // ensureTagClosed();"," // m_os \u003c\u003c '\\n';"," // return *this;"," //}",""," void XmlWriter::ensureTagClosed() {"," if( m_tagIsOpen ) {"," m_os \u003c\u003c \"\u003e\" \u003c\u003c std::endl;"," m_tagIsOpen = false;"," }"," }",""," void XmlWriter::writeDeclaration() {"," m_os \u003c\u003c \"\u003c?xml version=\\\"1.0\\\" encoding=\\\"UTF-8\\\"?\u003e\\n\";"," }",""," void XmlWriter::newlineIfNecessary() {"," if( m_needsNewline ) {"," m_os \u003c\u003c std::endl;"," m_needsNewline = false;"," }"," }","","// =================================================================================================","// End of copy-pasted code from Catch","// =================================================================================================",""," // clang-format on",""," struct XmlReporter : public IReporter"," {"," XmlWriter xml;"," DOCTEST_DECLARE_MUTEX(mutex)",""," // caching pointers/references to objects of these types - safe to do"," const ContextOptions\u0026 opt;"," const TestCaseData* tc = nullptr;",""," XmlReporter(const ContextOptions\u0026 co)"," : xml(*co.cout)"," , opt(co) {}",""," void log_contexts() {"," int num_contexts = get_num_active_contexts();"," if(num_contexts) {"," auto contexts = get_active_contexts();"," std::stringstream ss;"," for(int i = 0; i \u003c num_contexts; ++i) {"," contexts[i]-\u003estringify(\u0026ss);"," xml.scopedElement(\"Info\").writeText(ss.str());"," ss.str(\"\");"," }"," }"," }",""," unsigned line(unsigned l) const { return opt.no_line_numbers ? 0 : l; }",""," void test_case_start_impl(const TestCaseData\u0026 in) {"," bool open_ts_tag = false;"," if(tc != nullptr) { // we have already opened a test suite"," if(std::strcmp(tc-\u003em_test_suite, in.m_test_suite) != 0) {"," xml.endElement();"," open_ts_tag = true;"," }"," }"," else {"," open_ts_tag = true; // first test case ==\u003e first test suite"," }",""," if(open_ts_tag) {"," xml.startElement(\"TestSuite\");"," xml.writeAttribute(\"name\", in.m_test_suite);"," }",""," tc = \u0026in;"," xml.startElement(\"TestCase\")"," .writeAttribute(\"name\", in.m_name)"," .writeAttribute(\"filename\", skipPathFromFilename(in.m_file.c_str()))"," .writeAttribute(\"line\", line(in.m_line))"," .writeAttribute(\"description\", in.m_description);",""," if(Approx(in.m_timeout) != 0)"," xml.writeAttribute(\"timeout\", in.m_timeout);"," if(in.m_may_fail)"," xml.writeAttribute(\"may_fail\", true);"," if(in.m_should_fail)"," xml.writeAttribute(\"should_fail\", true);"," }",""," // ========================================================================================="," // WHAT FOLLOWS ARE OVERRIDES OF THE VIRTUAL METHODS OF THE REPORTER INTERFACE"," // =========================================================================================",""," void report_query(const QueryData\u0026 in) override {"," test_run_start();"," if(opt.list_reporters) {"," for(auto\u0026 curr : getListeners())"," xml.scopedElement(\"Listener\")"," .writeAttribute(\"priority\", curr.first.first)"," .writeAttribute(\"name\", curr.first.second);"," for(auto\u0026 curr : getReporters())"," xml.scopedElement(\"Reporter\")"," .writeAttribute(\"priority\", curr.first.first)"," .writeAttribute(\"name\", curr.first.second);"," } else if(opt.count || opt.list_test_cases) {"," for(unsigned i = 0; i \u003c in.num_data; ++i) {"," xml.scopedElement(\"TestCase\").writeAttribute(\"name\", in.data[i]-\u003em_name)"," .writeAttribute(\"testsuite\", in.data[i]-\u003em_test_suite)"," .writeAttribute(\"filename\", skipPathFromFilename(in.data[i]-\u003em_file.c_str()))"," .writeAttribute(\"line\", line(in.data[i]-\u003em_line))"," .writeAttribute(\"skipped\", in.data[i]-\u003em_skip);"," }"," xml.scopedElement(\"OverallResultsTestCases\")"," .writeAttribute(\"unskipped\", in.run_stats-\u003enumTestCasesPassingFilters);"," } else if(opt.list_test_suites) {"," for(unsigned i = 0; i \u003c in.num_data; ++i)"," xml.scopedElement(\"TestSuite\").writeAttribute(\"name\", in.data[i]-\u003em_test_suite);"," xml.scopedElement(\"OverallResultsTestCases\")"," .writeAttribute(\"unskipped\", in.run_stats-\u003enumTestCasesPassingFilters);"," xml.scopedElement(\"OverallResultsTestSuites\")"," .writeAttribute(\"unskipped\", in.run_stats-\u003enumTestSuitesPassingFilters);"," }"," xml.endElement();"," }",""," void test_run_start() override {"," xml.writeDeclaration();",""," // remove .exe extension - mainly to have the same output on UNIX and Windows"," std::string binary_name = skipPathFromFilename(opt.binary_name.c_str());","#ifdef DOCTEST_PLATFORM_WINDOWS"," if(binary_name.rfind(\".exe\") != std::string::npos)"," binary_name = binary_name.substr(0, binary_name.length() - 4);","#endif // DOCTEST_PLATFORM_WINDOWS",""," xml.startElement(\"doctest\").writeAttribute(\"binary\", binary_name);"," if(opt.no_version == false)"," xml.writeAttribute(\"version\", DOCTEST_VERSION_STR);",""," // only the consequential ones (TODO: filters)"," xml.scopedElement(\"Options\")"," .writeAttribute(\"order_by\", opt.order_by.c_str())"," .writeAttribute(\"rand_seed\", opt.rand_seed)"," .writeAttribute(\"first\", opt.first)"," .writeAttribute(\"last\", opt.last)"," .writeAttribute(\"abort_after\", opt.abort_after)"," .writeAttribute(\"subcase_filter_levels\", opt.subcase_filter_levels)"," .writeAttribute(\"case_sensitive\", opt.case_sensitive)"," .writeAttribute(\"no_throw\", opt.no_throw)"," .writeAttribute(\"no_skip\", opt.no_skip);"," }",""," void test_run_end(const TestRunStats\u0026 p) override {"," if(tc) // the TestSuite tag - only if there has been at least 1 test case"," xml.endElement();",""," xml.scopedElement(\"OverallResultsAsserts\")"," .writeAttribute(\"successes\", p.numAsserts - p.numAssertsFailed)"," .writeAttribute(\"failures\", p.numAssertsFailed);",""," xml.startElement(\"OverallResultsTestCases\")"," .writeAttribute(\"successes\","," p.numTestCasesPassingFilters - p.numTestCasesFailed)"," .writeAttribute(\"failures\", p.numTestCasesFailed);"," if(opt.no_skipped_summary == false)"," xml.writeAttribute(\"skipped\", p.numTestCases - p.numTestCasesPassingFilters);"," xml.endElement();",""," xml.endElement();"," }",""," void test_case_start(const TestCaseData\u0026 in) override {"," test_case_start_impl(in);"," xml.ensureTagClosed();"," }",""," void test_case_reenter(const TestCaseData\u0026) override {}",""," void test_case_end(const CurrentTestCaseStats\u0026 st) override {"," xml.startElement(\"OverallResultsAsserts\")"," .writeAttribute(\"successes\","," st.numAssertsCurrentTest - st.numAssertsFailedCurrentTest)"," .writeAttribute(\"failures\", st.numAssertsFailedCurrentTest)"," .writeAttribute(\"test_case_success\", st.testCaseSuccess);"," if(opt.duration)"," xml.writeAttribute(\"duration\", st.seconds);"," if(tc-\u003em_expected_failures)"," xml.writeAttribute(\"expected_failures\", tc-\u003em_expected_failures);"," xml.endElement();",""," xml.endElement();"," }",""," void test_case_exception(const TestCaseException\u0026 e) override {"," DOCTEST_LOCK_MUTEX(mutex)",""," xml.scopedElement(\"Exception\")"," .writeAttribute(\"crash\", e.is_crash)"," .writeText(e.error_string.c_str());"," }",""," void subcase_start(const SubcaseSignature\u0026 in) override {"," xml.startElement(\"SubCase\")"," .writeAttribute(\"name\", in.m_name)"," .writeAttribute(\"filename\", skipPathFromFilename(in.m_file))"," .writeAttribute(\"line\", line(in.m_line));"," xml.ensureTagClosed();"," }",""," void subcase_end() override { xml.endElement(); }",""," void log_assert(const AssertData\u0026 rb) override {"," if(!rb.m_failed \u0026\u0026 !opt.success)"," return;",""," DOCTEST_LOCK_MUTEX(mutex)",""," xml.startElement(\"Expression\")"," .writeAttribute(\"success\", !rb.m_failed)"," .writeAttribute(\"type\", assertString(rb.m_at))"," .writeAttribute(\"filename\", skipPathFromFilename(rb.m_file))"," .writeAttribute(\"line\", line(rb.m_line));",""," xml.scopedElement(\"Original\").writeText(rb.m_expr);",""," if(rb.m_threw)"," xml.scopedElement(\"Exception\").writeText(rb.m_exception.c_str());",""," if(rb.m_at \u0026 assertType::is_throws_as)"," xml.scopedElement(\"ExpectedException\").writeText(rb.m_exception_type);"," if(rb.m_at \u0026 assertType::is_throws_with)"," xml.scopedElement(\"ExpectedExceptionString\").writeText(rb.m_exception_string.c_str());"," if((rb.m_at \u0026 assertType::is_normal) \u0026\u0026 !rb.m_threw)"," xml.scopedElement(\"Expanded\").writeText(rb.m_decomp.c_str());",""," log_contexts();",""," xml.endElement();"," }",""," void log_message(const MessageData\u0026 mb) override {"," DOCTEST_LOCK_MUTEX(mutex)",""," xml.startElement(\"Message\")"," .writeAttribute(\"type\", failureString(mb.m_severity))"," .writeAttribute(\"filename\", skipPathFromFilename(mb.m_file))"," .writeAttribute(\"line\", line(mb.m_line));",""," xml.scopedElement(\"Text\").writeText(mb.m_string.c_str());",""," log_contexts();",""," xml.endElement();"," }",""," void test_case_skipped(const TestCaseData\u0026 in) override {"," if(opt.no_skipped_summary == false) {"," test_case_start_impl(in);"," xml.writeAttribute(\"skipped\", \"true\");"," xml.endElement();"," }"," }"," };",""," DOCTEST_REGISTER_REPORTER(\"xml\", 0, XmlReporter);",""," void fulltext_log_assert_to_stream(std::ostream\u0026 s, const AssertData\u0026 rb) {"," if((rb.m_at \u0026 (assertType::is_throws_as | assertType::is_throws_with)) =="," 0) //!OCLINT bitwise operator in conditional"," s \u003c\u003c Color::Cyan \u003c\u003c assertString(rb.m_at) \u003c\u003c \"( \" \u003c\u003c rb.m_expr \u003c\u003c \" ) \""," \u003c\u003c Color::None;",""," if(rb.m_at \u0026 assertType::is_throws) { //!OCLINT bitwise operator in conditional"," s \u003c\u003c (rb.m_threw ? \"threw as expected!\" : \"did NOT throw at all!\") \u003c\u003c \"\\n\";"," } else if((rb.m_at \u0026 assertType::is_throws_as) \u0026\u0026"," (rb.m_at \u0026 assertType::is_throws_with)) { //!OCLINT"," s \u003c\u003c Color::Cyan \u003c\u003c assertString(rb.m_at) \u003c\u003c \"( \" \u003c\u003c rb.m_expr \u003c\u003c \", \\\"\""," \u003c\u003c rb.m_exception_string.c_str()"," \u003c\u003c \"\\\", \" \u003c\u003c rb.m_exception_type \u003c\u003c \" ) \" \u003c\u003c Color::None;"," if(rb.m_threw) {"," if(!rb.m_failed) {"," s \u003c\u003c \"threw as expected!\\n\";"," } else {"," s \u003c\u003c \"threw a DIFFERENT exception! (contents: \" \u003c\u003c rb.m_exception \u003c\u003c \")\\n\";"," }"," } else {"," s \u003c\u003c \"did NOT throw at all!\\n\";"," }"," } else if(rb.m_at \u0026"," assertType::is_throws_as) { //!OCLINT bitwise operator in conditional"," s \u003c\u003c Color::Cyan \u003c\u003c assertString(rb.m_at) \u003c\u003c \"( \" \u003c\u003c rb.m_expr \u003c\u003c \", \""," \u003c\u003c rb.m_exception_type \u003c\u003c \" ) \" \u003c\u003c Color::None"," \u003c\u003c (rb.m_threw ? (rb.m_threw_as ? \"threw as expected!\" :"," \"threw a DIFFERENT exception: \") :"," \"did NOT throw at all!\")"," \u003c\u003c Color::Cyan \u003c\u003c rb.m_exception \u003c\u003c \"\\n\";"," } else if(rb.m_at \u0026"," assertType::is_throws_with) { //!OCLINT bitwise operator in conditional"," s \u003c\u003c Color::Cyan \u003c\u003c assertString(rb.m_at) \u003c\u003c \"( \" \u003c\u003c rb.m_expr \u003c\u003c \", \\\"\""," \u003c\u003c rb.m_exception_string.c_str()"," \u003c\u003c \"\\\" ) \" \u003c\u003c Color::None"," \u003c\u003c (rb.m_threw ? (!rb.m_failed ? \"threw as expected!\" :"," \"threw a DIFFERENT exception: \") :"," \"did NOT throw at all!\")"," \u003c\u003c Color::Cyan \u003c\u003c rb.m_exception \u003c\u003c \"\\n\";"," } else if(rb.m_at \u0026 assertType::is_nothrow) { //!OCLINT bitwise operator in conditional"," s \u003c\u003c (rb.m_threw ? \"THREW exception: \" : \"didn't throw!\") \u003c\u003c Color::Cyan"," \u003c\u003c rb.m_exception \u003c\u003c \"\\n\";"," } else {"," s \u003c\u003c (rb.m_threw ? \"THREW exception: \" :"," (!rb.m_failed ? \"is correct!\\n\" : \"is NOT correct!\\n\"));"," if(rb.m_threw)"," s \u003c\u003c rb.m_exception \u003c\u003c \"\\n\";"," else"," s \u003c\u003c \" values: \" \u003c\u003c assertString(rb.m_at) \u003c\u003c \"( \" \u003c\u003c rb.m_decomp \u003c\u003c \" )\\n\";"," }"," }",""," // TODO:"," // - log_message()"," // - respond to queries"," // - honor remaining options"," // - more attributes in tags"," struct JUnitReporter : public IReporter"," {"," XmlWriter xml;"," DOCTEST_DECLARE_MUTEX(mutex)"," Timer timer;"," std::vector\u003cString\u003e deepestSubcaseStackNames;",""," struct JUnitTestCaseData"," {"," static std::string getCurrentTimestamp() {"," // Beware, this is not reentrant because of backward compatibility issues"," // Also, UTC only, again because of backward compatibility (%z is C++11)"," time_t rawtime;"," std::time(\u0026rawtime);"," auto const timeStampSize = sizeof(\"2017-01-16T17:06:45Z\");",""," std::tm timeInfo;","#ifdef DOCTEST_PLATFORM_WINDOWS"," gmtime_s(\u0026timeInfo, \u0026rawtime);","#else // DOCTEST_PLATFORM_WINDOWS"," gmtime_r(\u0026rawtime, \u0026timeInfo);","#endif // DOCTEST_PLATFORM_WINDOWS",""," char timeStamp[timeStampSize];"," const char* const fmt = \"%Y-%m-%dT%H:%M:%SZ\";",""," std::strftime(timeStamp, timeStampSize, fmt, \u0026timeInfo);"," return std::string(timeStamp);"," }",""," struct JUnitTestMessage"," {"," JUnitTestMessage(const std::string\u0026 _message, const std::string\u0026 _type, const std::string\u0026 _details)"," : message(_message), type(_type), details(_details) {}",""," JUnitTestMessage(const std::string\u0026 _message, const std::string\u0026 _details)"," : message(_message), type(), details(_details) {}",""," std::string message, type, details;"," };",""," struct JUnitTestCase"," {"," JUnitTestCase(const std::string\u0026 _classname, const std::string\u0026 _name)"," : classname(_classname), name(_name), time(0), failures() {}",""," std::string classname, name;"," double time;"," std::vector\u003cJUnitTestMessage\u003e failures, errors;"," };",""," void add(const std::string\u0026 classname, const std::string\u0026 name) {"," testcases.emplace_back(classname, name);"," }",""," void appendSubcaseNamesToLastTestcase(std::vector\u003cString\u003e nameStack) {"," for(auto\u0026 curr: nameStack)"," if(curr.size())"," testcases.back().name += std::string(\"/\") + curr.c_str();"," }",""," void addTime(double time) {"," if(time \u003c 1e-4)"," time = 0;"," testcases.back().time = time;"," totalSeconds += time;"," }",""," void addFailure(const std::string\u0026 message, const std::string\u0026 type, const std::string\u0026 details) {"," testcases.back().failures.emplace_back(message, type, details);"," ++totalFailures;"," }",""," void addError(const std::string\u0026 message, const std::string\u0026 details) {"," testcases.back().errors.emplace_back(message, details);"," ++totalErrors;"," }",""," std::vector\u003cJUnitTestCase\u003e testcases;"," double totalSeconds = 0;"," int totalErrors = 0, totalFailures = 0;"," };",""," JUnitTestCaseData testCaseData;",""," // caching pointers/references to objects of these types - safe to do"," const ContextOptions\u0026 opt;"," const TestCaseData* tc = nullptr;",""," JUnitReporter(const ContextOptions\u0026 co)"," : xml(*co.cout)"," , opt(co) {}",""," unsigned line(unsigned l) const { return opt.no_line_numbers ? 0 : l; }",""," // ========================================================================================="," // WHAT FOLLOWS ARE OVERRIDES OF THE VIRTUAL METHODS OF THE REPORTER INTERFACE"," // =========================================================================================",""," void report_query(const QueryData\u0026) override {"," xml.writeDeclaration();"," }",""," void test_run_start() override {"," xml.writeDeclaration();"," }",""," void test_run_end(const TestRunStats\u0026 p) override {"," // remove .exe extension - mainly to have the same output on UNIX and Windows"," std::string binary_name = skipPathFromFilename(opt.binary_name.c_str());","#ifdef DOCTEST_PLATFORM_WINDOWS"," if(binary_name.rfind(\".exe\") != std::string::npos)"," binary_name = binary_name.substr(0, binary_name.length() - 4);","#endif // DOCTEST_PLATFORM_WINDOWS"," xml.startElement(\"testsuites\");"," xml.startElement(\"testsuite\").writeAttribute(\"name\", binary_name)"," .writeAttribute(\"errors\", testCaseData.totalErrors)"," .writeAttribute(\"failures\", testCaseData.totalFailures)"," .writeAttribute(\"tests\", p.numAsserts);"," if(opt.no_time_in_output == false) {"," xml.writeAttribute(\"time\", testCaseData.totalSeconds);"," xml.writeAttribute(\"timestamp\", JUnitTestCaseData::getCurrentTimestamp());"," }"," if(opt.no_version == false)"," xml.writeAttribute(\"doctest_version\", DOCTEST_VERSION_STR);",""," for(const auto\u0026 testCase : testCaseData.testcases) {"," xml.startElement(\"testcase\")"," .writeAttribute(\"classname\", testCase.classname)"," .writeAttribute(\"name\", testCase.name);"," if(opt.no_time_in_output == false)"," xml.writeAttribute(\"time\", testCase.time);"," // This is not ideal, but it should be enough to mimic gtest's junit output."," xml.writeAttribute(\"status\", \"run\");",""," for(const auto\u0026 failure : testCase.failures) {"," xml.scopedElement(\"failure\")"," .writeAttribute(\"message\", failure.message)"," .writeAttribute(\"type\", failure.type)"," .writeText(failure.details, false);"," }",""," for(const auto\u0026 error : testCase.errors) {"," xml.scopedElement(\"error\")"," .writeAttribute(\"message\", error.message)"," .writeText(error.details);"," }",""," xml.endElement();"," }"," xml.endElement();"," xml.endElement();"," }",""," void test_case_start(const TestCaseData\u0026 in) override {"," testCaseData.add(skipPathFromFilename(in.m_file.c_str()), in.m_name);"," timer.start();"," }",""," void test_case_reenter(const TestCaseData\u0026 in) override {"," testCaseData.addTime(timer.getElapsedSeconds());"," testCaseData.appendSubcaseNamesToLastTestcase(deepestSubcaseStackNames);"," deepestSubcaseStackNames.clear();",""," timer.start();"," testCaseData.add(skipPathFromFilename(in.m_file.c_str()), in.m_name);"," }",""," void test_case_end(const CurrentTestCaseStats\u0026) override {"," testCaseData.addTime(timer.getElapsedSeconds());"," testCaseData.appendSubcaseNamesToLastTestcase(deepestSubcaseStackNames);"," deepestSubcaseStackNames.clear();"," }",""," void test_case_exception(const TestCaseException\u0026 e) override {"," DOCTEST_LOCK_MUTEX(mutex)"," testCaseData.addError(\"exception\", e.error_string.c_str());"," }",""," void subcase_start(const SubcaseSignature\u0026 in) override {"," deepestSubcaseStackNames.push_back(in.m_name);"," }",""," void subcase_end() override {}",""," void log_assert(const AssertData\u0026 rb) override {"," if(!rb.m_failed) // report only failures \u0026 ignore the `success` option"," return;",""," DOCTEST_LOCK_MUTEX(mutex)",""," std::ostringstream os;"," os \u003c\u003c skipPathFromFilename(rb.m_file) \u003c\u003c (opt.gnu_file_line ? \":\" : \"(\")"," \u003c\u003c line(rb.m_line) \u003c\u003c (opt.gnu_file_line ? \":\" : \"):\") \u003c\u003c std::endl;",""," fulltext_log_assert_to_stream(os, rb);"," log_contexts(os);"," testCaseData.addFailure(rb.m_decomp.c_str(), assertString(rb.m_at), os.str());"," }",""," void log_message(const MessageData\u0026 mb) override {"," if(mb.m_severity \u0026 assertType::is_warn) // report only failures"," return;",""," DOCTEST_LOCK_MUTEX(mutex)",""," std::ostringstream os;"," os \u003c\u003c skipPathFromFilename(mb.m_file) \u003c\u003c (opt.gnu_file_line ? \":\" : \"(\")"," \u003c\u003c line(mb.m_line) \u003c\u003c (opt.gnu_file_line ? \":\" : \"):\") \u003c\u003c std::endl;",""," os \u003c\u003c mb.m_string.c_str() \u003c\u003c \"\\n\";"," log_contexts(os);",""," testCaseData.addFailure(mb.m_string.c_str(),"," mb.m_severity \u0026 assertType::is_check ? \"FAIL_CHECK\" : \"FAIL\", os.str());"," }",""," void test_case_skipped(const TestCaseData\u0026) override {}",""," void log_contexts(std::ostringstream\u0026 s) {"," int num_contexts = get_num_active_contexts();"," if(num_contexts) {"," auto contexts = get_active_contexts();",""," s \u003c\u003c \" logged: \";"," for(int i = 0; i \u003c num_contexts; ++i) {"," s \u003c\u003c (i == 0 ? \"\" : \" \");"," contexts[i]-\u003estringify(\u0026s);"," s \u003c\u003c std::endl;"," }"," }"," }"," };",""," DOCTEST_REGISTER_REPORTER(\"junit\", 0, JUnitReporter);",""," struct Whitespace"," {"," int nrSpaces;"," explicit Whitespace(int nr)"," : nrSpaces(nr) {}"," };",""," std::ostream\u0026 operator\u003c\u003c(std::ostream\u0026 out, const Whitespace\u0026 ws) {"," if(ws.nrSpaces != 0)"," out \u003c\u003c std::setw(ws.nrSpaces) \u003c\u003c ' ';"," return out;"," }",""," struct ConsoleReporter : public IReporter"," {"," std::ostream\u0026 s;"," bool hasLoggedCurrentTestStart;"," std::vector\u003cSubcaseSignature\u003e subcasesStack;"," size_t currentSubcaseLevel;"," DOCTEST_DECLARE_MUTEX(mutex)",""," // caching pointers/references to objects of these types - safe to do"," const ContextOptions\u0026 opt;"," const TestCaseData* tc;",""," ConsoleReporter(const ContextOptions\u0026 co)"," : s(*co.cout)"," , opt(co) {}",""," ConsoleReporter(const ContextOptions\u0026 co, std::ostream\u0026 ostr)"," : s(ostr)"," , opt(co) {}",""," // ========================================================================================="," // WHAT FOLLOWS ARE HELPERS USED BY THE OVERRIDES OF THE VIRTUAL METHODS OF THE INTERFACE"," // =========================================================================================",""," void separator_to_stream() {"," s \u003c\u003c Color::Yellow"," \u003c\u003c \"===============================================================================\""," \"\\n\";"," }",""," const char* getSuccessOrFailString(bool success, assertType::Enum at,"," const char* success_str) {"," if(success)"," return success_str;"," return failureString(at);"," }",""," Color::Enum getSuccessOrFailColor(bool success, assertType::Enum at) {"," return success ? Color::BrightGreen :"," (at \u0026 assertType::is_warn) ? Color::Yellow : Color::Red;"," }",""," void successOrFailColoredStringToStream(bool success, assertType::Enum at,"," const char* success_str = \"SUCCESS\") {"," s \u003c\u003c getSuccessOrFailColor(success, at)"," \u003c\u003c getSuccessOrFailString(success, at, success_str) \u003c\u003c \": \";"," }",""," void log_contexts() {"," int num_contexts = get_num_active_contexts();"," if(num_contexts) {"," auto contexts = get_active_contexts();",""," s \u003c\u003c Color::None \u003c\u003c \" logged: \";"," for(int i = 0; i \u003c num_contexts; ++i) {"," s \u003c\u003c (i == 0 ? \"\" : \" \");"," contexts[i]-\u003estringify(\u0026s);"," s \u003c\u003c \"\\n\";"," }"," }",""," s \u003c\u003c \"\\n\";"," }",""," // this was requested to be made virtual so users could override it"," virtual void file_line_to_stream(const char* file, int line,"," const char* tail = \"\") {"," s \u003c\u003c Color::LightGrey \u003c\u003c skipPathFromFilename(file) \u003c\u003c (opt.gnu_file_line ? \":\" : \"(\")"," \u003c\u003c (opt.no_line_numbers ? 0 : line) // 0 or the real num depending on the option"," \u003c\u003c (opt.gnu_file_line ? \":\" : \"):\") \u003c\u003c tail;"," }",""," void logTestStart() {"," if(hasLoggedCurrentTestStart)"," return;",""," separator_to_stream();"," file_line_to_stream(tc-\u003em_file.c_str(), tc-\u003em_line, \"\\n\");"," if(tc-\u003em_description)"," s \u003c\u003c Color::Yellow \u003c\u003c \"DESCRIPTION: \" \u003c\u003c Color::None \u003c\u003c tc-\u003em_description \u003c\u003c \"\\n\";"," if(tc-\u003em_test_suite \u0026\u0026 tc-\u003em_test_suite[0] != '\\0')"," s \u003c\u003c Color::Yellow \u003c\u003c \"TEST SUITE: \" \u003c\u003c Color::None \u003c\u003c tc-\u003em_test_suite \u003c\u003c \"\\n\";"," if(strncmp(tc-\u003em_name, \" Scenario:\", 11) != 0)"," s \u003c\u003c Color::Yellow \u003c\u003c \"TEST CASE: \";"," s \u003c\u003c Color::None \u003c\u003c tc-\u003em_name \u003c\u003c \"\\n\";",""," for(size_t i = 0; i \u003c currentSubcaseLevel; ++i) {"," if(subcasesStack[i].m_name[0] != '\\0')"," s \u003c\u003c \" \" \u003c\u003c subcasesStack[i].m_name \u003c\u003c \"\\n\";"," }",""," if(currentSubcaseLevel != subcasesStack.size()) {"," s \u003c\u003c Color::Yellow \u003c\u003c \"\\nDEEPEST SUBCASE STACK REACHED (DIFFERENT FROM THE CURRENT ONE):\\n\" \u003c\u003c Color::None;"," for(size_t i = 0; i \u003c subcasesStack.size(); ++i) {"," if(subcasesStack[i].m_name[0] != '\\0')"," s \u003c\u003c \" \" \u003c\u003c subcasesStack[i].m_name \u003c\u003c \"\\n\";"," }"," }",""," s \u003c\u003c \"\\n\";",""," hasLoggedCurrentTestStart = true;"," }",""," void printVersion() {"," if(opt.no_version == false)"," s \u003c\u003c Color::Cyan \u003c\u003c \"[doctest] \" \u003c\u003c Color::None \u003c\u003c \"doctest version is \\\"\""," \u003c\u003c DOCTEST_VERSION_STR \u003c\u003c \"\\\"\\n\";"," }",""," void printIntro() {"," if(opt.no_intro == false) {"," printVersion();"," s \u003c\u003c Color::Cyan \u003c\u003c \"[doctest] \" \u003c\u003c Color::None"," \u003c\u003c \"run with \\\"--\" DOCTEST_OPTIONS_PREFIX_DISPLAY \"help\\\" for options\\n\";"," }"," }",""," void printHelp() {"," int sizePrefixDisplay = static_cast\u003cint\u003e(strlen(DOCTEST_OPTIONS_PREFIX_DISPLAY));"," printVersion();"," // clang-format off"," s \u003c\u003c Color::Cyan \u003c\u003c \"[doctest]\\n\" \u003c\u003c Color::None;"," s \u003c\u003c Color::Cyan \u003c\u003c \"[doctest] \" \u003c\u003c Color::None;"," s \u003c\u003c \"boolean values: \\\"1/on/yes/true\\\" or \\\"0/off/no/false\\\"\\n\";"," s \u003c\u003c Color::Cyan \u003c\u003c \"[doctest] \" \u003c\u003c Color::None;"," s \u003c\u003c \"filter values: \\\"str1,str2,str3\\\" (comma separated strings)\\n\";"," s \u003c\u003c Color::Cyan \u003c\u003c \"[doctest]\\n\" \u003c\u003c Color::None;"," s \u003c\u003c Color::Cyan \u003c\u003c \"[doctest] \" \u003c\u003c Color::None;"," s \u003c\u003c \"filters use wildcards for matching strings\\n\";"," s \u003c\u003c Color::Cyan \u003c\u003c \"[doctest] \" \u003c\u003c Color::None;"," s \u003c\u003c \"something passes a filter if any of the strings in a filter matches\\n\";","#ifndef DOCTEST_CONFIG_NO_UNPREFIXED_OPTIONS"," s \u003c\u003c Color::Cyan \u003c\u003c \"[doctest]\\n\" \u003c\u003c Color::None;"," s \u003c\u003c Color::Cyan \u003c\u003c \"[doctest] \" \u003c\u003c Color::None;"," s \u003c\u003c \"ALL FLAGS, OPTIONS AND FILTERS ALSO AVAILABLE WITH A \\\"\" DOCTEST_CONFIG_OPTIONS_PREFIX \"\\\" PREFIX!!!\\n\";","#endif"," s \u003c\u003c Color::Cyan \u003c\u003c \"[doctest]\\n\" \u003c\u003c Color::None;"," s \u003c\u003c Color::Cyan \u003c\u003c \"[doctest] \" \u003c\u003c Color::None;"," s \u003c\u003c \"Query flags - the program quits after them. Available:\\n\\n\";"," s \u003c\u003c \" -\" DOCTEST_OPTIONS_PREFIX_DISPLAY \"?, --\" DOCTEST_OPTIONS_PREFIX_DISPLAY \"help, -\" DOCTEST_OPTIONS_PREFIX_DISPLAY \"h \""," \u003c\u003c Whitespace(sizePrefixDisplay*0) \u003c\u003c \"prints this message\\n\";"," s \u003c\u003c \" -\" DOCTEST_OPTIONS_PREFIX_DISPLAY \"v, --\" DOCTEST_OPTIONS_PREFIX_DISPLAY \"version \""," \u003c\u003c Whitespace(sizePrefixDisplay*1) \u003c\u003c \"prints the version\\n\";"," s \u003c\u003c \" -\" DOCTEST_OPTIONS_PREFIX_DISPLAY \"c, --\" DOCTEST_OPTIONS_PREFIX_DISPLAY \"count \""," \u003c\u003c Whitespace(sizePrefixDisplay*1) \u003c\u003c \"prints the number of matching tests\\n\";"," s \u003c\u003c \" -\" DOCTEST_OPTIONS_PREFIX_DISPLAY \"ltc, --\" DOCTEST_OPTIONS_PREFIX_DISPLAY \"list-test-cases \""," \u003c\u003c Whitespace(sizePrefixDisplay*1) \u003c\u003c \"lists all matching tests by name\\n\";"," s \u003c\u003c \" -\" DOCTEST_OPTIONS_PREFIX_DISPLAY \"lts, --\" DOCTEST_OPTIONS_PREFIX_DISPLAY \"list-test-suites \""," \u003c\u003c Whitespace(sizePrefixDisplay*1) \u003c\u003c \"lists all matching test suites\\n\";"," s \u003c\u003c \" -\" DOCTEST_OPTIONS_PREFIX_DISPLAY \"lr, --\" DOCTEST_OPTIONS_PREFIX_DISPLAY \"list-reporters \""," \u003c\u003c Whitespace(sizePrefixDisplay*1) \u003c\u003c \"lists all registered reporters\\n\\n\";"," // ================================================================================== \u003c\u003c 79"," s \u003c\u003c Color::Cyan \u003c\u003c \"[doctest] \" \u003c\u003c Color::None;"," s \u003c\u003c \"The available \u003cint\u003e/\u003cstring\u003e options/filters are:\\n\\n\";"," s \u003c\u003c \" -\" DOCTEST_OPTIONS_PREFIX_DISPLAY \"tc, --\" DOCTEST_OPTIONS_PREFIX_DISPLAY \"test-case=\u003cfilters\u003e \""," \u003c\u003c Whitespace(sizePrefixDisplay*1) \u003c\u003c \"filters tests by their name\\n\";"," s \u003c\u003c \" -\" DOCTEST_OPTIONS_PREFIX_DISPLAY \"tce, --\" DOCTEST_OPTIONS_PREFIX_DISPLAY \"test-case-exclude=\u003cfilters\u003e \""," \u003c\u003c Whitespace(sizePrefixDisplay*1) \u003c\u003c \"filters OUT tests by their name\\n\";"," s \u003c\u003c \" -\" DOCTEST_OPTIONS_PREFIX_DISPLAY \"sf, --\" DOCTEST_OPTIONS_PREFIX_DISPLAY \"source-file=\u003cfilters\u003e \""," \u003c\u003c Whitespace(sizePrefixDisplay*1) \u003c\u003c \"filters tests by their file\\n\";"," s \u003c\u003c \" -\" DOCTEST_OPTIONS_PREFIX_DISPLAY \"sfe, --\" DOCTEST_OPTIONS_PREFIX_DISPLAY \"source-file-exclude=\u003cfilters\u003e \""," \u003c\u003c Whitespace(sizePrefixDisplay*1) \u003c\u003c \"filters OUT tests by their file\\n\";"," s \u003c\u003c \" -\" DOCTEST_OPTIONS_PREFIX_DISPLAY \"ts, --\" DOCTEST_OPTIONS_PREFIX_DISPLAY \"test-suite=\u003cfilters\u003e \""," \u003c\u003c Whitespace(sizePrefixDisplay*1) \u003c\u003c \"filters tests by their test suite\\n\";"," s \u003c\u003c \" -\" DOCTEST_OPTIONS_PREFIX_DISPLAY \"tse, --\" DOCTEST_OPTIONS_PREFIX_DISPLAY \"test-suite-exclude=\u003cfilters\u003e \""," \u003c\u003c Whitespace(sizePrefixDisplay*1) \u003c\u003c \"filters OUT tests by their test suite\\n\";"," s \u003c\u003c \" -\" DOCTEST_OPTIONS_PREFIX_DISPLAY \"sc, --\" DOCTEST_OPTIONS_PREFIX_DISPLAY \"subcase=\u003cfilters\u003e \""," \u003c\u003c Whitespace(sizePrefixDisplay*1) \u003c\u003c \"filters subcases by their name\\n\";"," s \u003c\u003c \" -\" DOCTEST_OPTIONS_PREFIX_DISPLAY \"sce, --\" DOCTEST_OPTIONS_PREFIX_DISPLAY \"subcase-exclude=\u003cfilters\u003e \""," \u003c\u003c Whitespace(sizePrefixDisplay*1) \u003c\u003c \"filters OUT subcases by their name\\n\";"," s \u003c\u003c \" -\" DOCTEST_OPTIONS_PREFIX_DISPLAY \"r, --\" DOCTEST_OPTIONS_PREFIX_DISPLAY \"reporters=\u003cfilters\u003e \""," \u003c\u003c Whitespace(sizePrefixDisplay*1) \u003c\u003c \"reporters to use (console is default)\\n\";"," s \u003c\u003c \" -\" DOCTEST_OPTIONS_PREFIX_DISPLAY \"o, --\" DOCTEST_OPTIONS_PREFIX_DISPLAY \"out=\u003cstring\u003e \""," \u003c\u003c Whitespace(sizePrefixDisplay*1) \u003c\u003c \"output filename\\n\";"," s \u003c\u003c \" -\" DOCTEST_OPTIONS_PREFIX_DISPLAY \"ob, --\" DOCTEST_OPTIONS_PREFIX_DISPLAY \"order-by=\u003cstring\u003e \""," \u003c\u003c Whitespace(sizePrefixDisplay*1) \u003c\u003c \"how the tests should be ordered\\n\";"," s \u003c\u003c Whitespace(sizePrefixDisplay*3) \u003c\u003c \" \u003cstring\u003e - [file/suite/name/rand/none]\\n\";"," s \u003c\u003c \" -\" DOCTEST_OPTIONS_PREFIX_DISPLAY \"rs, --\" DOCTEST_OPTIONS_PREFIX_DISPLAY \"rand-seed=\u003cint\u003e \""," \u003c\u003c Whitespace(sizePrefixDisplay*1) \u003c\u003c \"seed for random ordering\\n\";"," s \u003c\u003c \" -\" DOCTEST_OPTIONS_PREFIX_DISPLAY \"f, --\" DOCTEST_OPTIONS_PREFIX_DISPLAY \"first=\u003cint\u003e \""," \u003c\u003c Whitespace(sizePrefixDisplay*1) \u003c\u003c \"the first test passing the filters to\\n\";"," s \u003c\u003c Whitespace(sizePrefixDisplay*3) \u003c\u003c \" execute - for range-based execution\\n\";"," s \u003c\u003c \" -\" DOCTEST_OPTIONS_PREFIX_DISPLAY \"l, --\" DOCTEST_OPTIONS_PREFIX_DISPLAY \"last=\u003cint\u003e \""," \u003c\u003c Whitespace(sizePrefixDisplay*1) \u003c\u003c \"the last test passing the filters to\\n\";"," s \u003c\u003c Whitespace(sizePrefixDisplay*3) \u003c\u003c \" execute - for range-based execution\\n\";"," s \u003c\u003c \" -\" DOCTEST_OPTIONS_PREFIX_DISPLAY \"aa, --\" DOCTEST_OPTIONS_PREFIX_DISPLAY \"abort-after=\u003cint\u003e \""," \u003c\u003c Whitespace(sizePrefixDisplay*1) \u003c\u003c \"stop after \u003cint\u003e failed assertions\\n\";"," s \u003c\u003c \" -\" DOCTEST_OPTIONS_PREFIX_DISPLAY \"scfl,--\" DOCTEST_OPTIONS_PREFIX_DISPLAY \"subcase-filter-levels=\u003cint\u003e \""," \u003c\u003c Whitespace(sizePrefixDisplay*1) \u003c\u003c \"apply filters for the first \u003cint\u003e levels\\n\";"," s \u003c\u003c Color::Cyan \u003c\u003c \"\\n[doctest] \" \u003c\u003c Color::None;"," s \u003c\u003c \"Bool options - can be used like flags and true is assumed. Available:\\n\\n\";"," s \u003c\u003c \" -\" DOCTEST_OPTIONS_PREFIX_DISPLAY \"s, --\" DOCTEST_OPTIONS_PREFIX_DISPLAY \"success=\u003cbool\u003e \""," \u003c\u003c Whitespace(sizePrefixDisplay*1) \u003c\u003c \"include successful assertions in output\\n\";"," s \u003c\u003c \" -\" DOCTEST_OPTIONS_PREFIX_DISPLAY \"cs, --\" DOCTEST_OPTIONS_PREFIX_DISPLAY \"case-sensitive=\u003cbool\u003e \""," \u003c\u003c Whitespace(sizePrefixDisplay*1) \u003c\u003c \"filters being treated as case sensitive\\n\";"," s \u003c\u003c \" -\" DOCTEST_OPTIONS_PREFIX_DISPLAY \"e, --\" DOCTEST_OPTIONS_PREFIX_DISPLAY \"exit=\u003cbool\u003e \""," \u003c\u003c Whitespace(sizePrefixDisplay*1) \u003c\u003c \"exits after the tests finish\\n\";"," s \u003c\u003c \" -\" DOCTEST_OPTIONS_PREFIX_DISPLAY \"d, --\" DOCTEST_OPTIONS_PREFIX_DISPLAY \"duration=\u003cbool\u003e \""," \u003c\u003c Whitespace(sizePrefixDisplay*1) \u003c\u003c \"prints the time duration of each test\\n\";"," s \u003c\u003c \" -\" DOCTEST_OPTIONS_PREFIX_DISPLAY \"m, --\" DOCTEST_OPTIONS_PREFIX_DISPLAY \"minimal=\u003cbool\u003e \""," \u003c\u003c Whitespace(sizePrefixDisplay*1) \u003c\u003c \"minimal console output (only failures)\\n\";"," s \u003c\u003c \" -\" DOCTEST_OPTIONS_PREFIX_DISPLAY \"q, --\" DOCTEST_OPTIONS_PREFIX_DISPLAY \"quiet=\u003cbool\u003e \""," \u003c\u003c Whitespace(sizePrefixDisplay*1) \u003c\u003c \"no console output\\n\";"," s \u003c\u003c \" -\" DOCTEST_OPTIONS_PREFIX_DISPLAY \"nt, --\" DOCTEST_OPTIONS_PREFIX_DISPLAY \"no-throw=\u003cbool\u003e \""," \u003c\u003c Whitespace(sizePrefixDisplay*1) \u003c\u003c \"skips exceptions-related assert checks\\n\";"," s \u003c\u003c \" -\" DOCTEST_OPTIONS_PREFIX_DISPLAY \"ne, --\" DOCTEST_OPTIONS_PREFIX_DISPLAY \"no-exitcode=\u003cbool\u003e \""," \u003c\u003c Whitespace(sizePrefixDisplay*1) \u003c\u003c \"returns (or exits) always with success\\n\";"," s \u003c\u003c \" -\" DOCTEST_OPTIONS_PREFIX_DISPLAY \"nr, --\" DOCTEST_OPTIONS_PREFIX_DISPLAY \"no-run=\u003cbool\u003e \""," \u003c\u003c Whitespace(sizePrefixDisplay*1) \u003c\u003c \"skips all runtime doctest operations\\n\";"," s \u003c\u003c \" -\" DOCTEST_OPTIONS_PREFIX_DISPLAY \"ni, --\" DOCTEST_OPTIONS_PREFIX_DISPLAY \"no-intro=\u003cbool\u003e \""," \u003c\u003c Whitespace(sizePrefixDisplay*1) \u003c\u003c \"omit the framework intro in the output\\n\";"," s \u003c\u003c \" -\" DOCTEST_OPTIONS_PREFIX_DISPLAY \"nv, --\" DOCTEST_OPTIONS_PREFIX_DISPLAY \"no-version=\u003cbool\u003e \""," \u003c\u003c Whitespace(sizePrefixDisplay*1) \u003c\u003c \"omit the framework version in the output\\n\";"," s \u003c\u003c \" -\" DOCTEST_OPTIONS_PREFIX_DISPLAY \"nc, --\" DOCTEST_OPTIONS_PREFIX_DISPLAY \"no-colors=\u003cbool\u003e \""," \u003c\u003c Whitespace(sizePrefixDisplay*1) \u003c\u003c \"disables colors in output\\n\";"," s \u003c\u003c \" -\" DOCTEST_OPTIONS_PREFIX_DISPLAY \"fc, --\" DOCTEST_OPTIONS_PREFIX_DISPLAY \"force-colors=\u003cbool\u003e \""," \u003c\u003c Whitespace(sizePrefixDisplay*1) \u003c\u003c \"use colors even when not in a tty\\n\";"," s \u003c\u003c \" -\" DOCTEST_OPTIONS_PREFIX_DISPLAY \"nb, --\" DOCTEST_OPTIONS_PREFIX_DISPLAY \"no-breaks=\u003cbool\u003e \""," \u003c\u003c Whitespace(sizePrefixDisplay*1) \u003c\u003c \"disables breakpoints in debuggers\\n\";"," s \u003c\u003c \" -\" DOCTEST_OPTIONS_PREFIX_DISPLAY \"ns, --\" DOCTEST_OPTIONS_PREFIX_DISPLAY \"no-skip=\u003cbool\u003e \""," \u003c\u003c Whitespace(sizePrefixDisplay*1) \u003c\u003c \"don't skip test cases marked as skip\\n\";"," s \u003c\u003c \" -\" DOCTEST_OPTIONS_PREFIX_DISPLAY \"gfl, --\" DOCTEST_OPTIONS_PREFIX_DISPLAY \"gnu-file-line=\u003cbool\u003e \""," \u003c\u003c Whitespace(sizePrefixDisplay*1) \u003c\u003c \":n: vs (n): for line numbers in output\\n\";"," s \u003c\u003c \" -\" DOCTEST_OPTIONS_PREFIX_DISPLAY \"npf, --\" DOCTEST_OPTIONS_PREFIX_DISPLAY \"no-path-filenames=\u003cbool\u003e \""," \u003c\u003c Whitespace(sizePrefixDisplay*1) \u003c\u003c \"only filenames and no paths in output\\n\";"," s \u003c\u003c \" -\" DOCTEST_OPTIONS_PREFIX_DISPLAY \"nln, --\" DOCTEST_OPTIONS_PREFIX_DISPLAY \"no-line-numbers=\u003cbool\u003e \""," \u003c\u003c Whitespace(sizePrefixDisplay*1) \u003c\u003c \"0 instead of real line numbers in output\\n\";"," // ================================================================================== \u003c\u003c 79"," // clang-format on",""," s \u003c\u003c Color::Cyan \u003c\u003c \"\\n[doctest] \" \u003c\u003c Color::None;"," s \u003c\u003c \"for more information visit the project documentation\\n\\n\";"," }",""," void printRegisteredReporters() {"," printVersion();"," auto printReporters = [this] (const reporterMap\u0026 reporters, const char* type) {"," if(reporters.size()) {"," s \u003c\u003c Color::Cyan \u003c\u003c \"[doctest] \" \u003c\u003c Color::None \u003c\u003c \"listing all registered \" \u003c\u003c type \u003c\u003c \"\\n\";"," for(auto\u0026 curr : reporters)"," s \u003c\u003c \"priority: \" \u003c\u003c std::setw(5) \u003c\u003c curr.first.first"," \u003c\u003c \" name: \" \u003c\u003c curr.first.second \u003c\u003c \"\\n\";"," }"," };"," printReporters(getListeners(), \"listeners\");"," printReporters(getReporters(), \"reporters\");"," }",""," // ========================================================================================="," // WHAT FOLLOWS ARE OVERRIDES OF THE VIRTUAL METHODS OF THE REPORTER INTERFACE"," // =========================================================================================",""," void report_query(const QueryData\u0026 in) override {"," if(opt.version) {"," printVersion();"," } else if(opt.help) {"," printHelp();"," } else if(opt.list_reporters) {"," printRegisteredReporters();"," } else if(opt.count || opt.list_test_cases) {"," if(opt.list_test_cases) {"," s \u003c\u003c Color::Cyan \u003c\u003c \"[doctest] \" \u003c\u003c Color::None"," \u003c\u003c \"listing all test case names\\n\";"," separator_to_stream();"," }",""," for(unsigned i = 0; i \u003c in.num_data; ++i)"," s \u003c\u003c Color::None \u003c\u003c in.data[i]-\u003em_name \u003c\u003c \"\\n\";",""," separator_to_stream();",""," s \u003c\u003c Color::Cyan \u003c\u003c \"[doctest] \" \u003c\u003c Color::None"," \u003c\u003c \"unskipped test cases passing the current filters: \""," \u003c\u003c g_cs-\u003enumTestCasesPassingFilters \u003c\u003c \"\\n\";",""," } else if(opt.list_test_suites) {"," s \u003c\u003c Color::Cyan \u003c\u003c \"[doctest] \" \u003c\u003c Color::None \u003c\u003c \"listing all test suites\\n\";"," separator_to_stream();",""," for(unsigned i = 0; i \u003c in.num_data; ++i)"," s \u003c\u003c Color::None \u003c\u003c in.data[i]-\u003em_test_suite \u003c\u003c \"\\n\";",""," separator_to_stream();",""," s \u003c\u003c Color::Cyan \u003c\u003c \"[doctest] \" \u003c\u003c Color::None"," \u003c\u003c \"unskipped test cases passing the current filters: \""," \u003c\u003c g_cs-\u003enumTestCasesPassingFilters \u003c\u003c \"\\n\";"," s \u003c\u003c Color::Cyan \u003c\u003c \"[doctest] \" \u003c\u003c Color::None"," \u003c\u003c \"test suites with unskipped test cases passing the current filters: \""," \u003c\u003c g_cs-\u003enumTestSuitesPassingFilters \u003c\u003c \"\\n\";"," }"," }",""," void test_run_start() override {"," if(!opt.minimal)"," printIntro();"," }",""," void test_run_end(const TestRunStats\u0026 p) override {"," if(opt.minimal \u0026\u0026 p.numTestCasesFailed == 0)"," return;",""," separator_to_stream();"," s \u003c\u003c std::dec;",""," auto totwidth = int(std::ceil(log10(static_cast\u003cdouble\u003e(std::max(p.numTestCasesPassingFilters, static_cast\u003cunsigned\u003e(p.numAsserts))) + 1)));"," auto passwidth = int(std::ceil(log10(static_cast\u003cdouble\u003e(std::max(p.numTestCasesPassingFilters - p.numTestCasesFailed, static_cast\u003cunsigned\u003e(p.numAsserts - p.numAssertsFailed))) + 1)));"," auto failwidth = int(std::ceil(log10(static_cast\u003cdouble\u003e(std::max(p.numTestCasesFailed, static_cast\u003cunsigned\u003e(p.numAssertsFailed))) + 1)));"," const bool anythingFailed = p.numTestCasesFailed \u003e 0 || p.numAssertsFailed \u003e 0;"," s \u003c\u003c Color::Cyan \u003c\u003c \"[doctest] \" \u003c\u003c Color::None \u003c\u003c \"test cases: \" \u003c\u003c std::setw(totwidth)"," \u003c\u003c p.numTestCasesPassingFilters \u003c\u003c \" | \""," \u003c\u003c ((p.numTestCasesPassingFilters == 0 || anythingFailed) ? Color::None :"," Color::Green)"," \u003c\u003c std::setw(passwidth) \u003c\u003c p.numTestCasesPassingFilters - p.numTestCasesFailed \u003c\u003c \" passed\""," \u003c\u003c Color::None \u003c\u003c \" | \" \u003c\u003c (p.numTestCasesFailed \u003e 0 ? Color::Red : Color::None)"," \u003c\u003c std::setw(failwidth) \u003c\u003c p.numTestCasesFailed \u003c\u003c \" failed\" \u003c\u003c Color::None \u003c\u003c \" |\";"," if(opt.no_skipped_summary == false) {"," const int numSkipped = p.numTestCases - p.numTestCasesPassingFilters;"," s \u003c\u003c \" \" \u003c\u003c (numSkipped == 0 ? Color::None : Color::Yellow) \u003c\u003c numSkipped"," \u003c\u003c \" skipped\" \u003c\u003c Color::None;"," }"," s \u003c\u003c \"\\n\";"," s \u003c\u003c Color::Cyan \u003c\u003c \"[doctest] \" \u003c\u003c Color::None \u003c\u003c \"assertions: \" \u003c\u003c std::setw(totwidth)"," \u003c\u003c p.numAsserts \u003c\u003c \" | \""," \u003c\u003c ((p.numAsserts == 0 || anythingFailed) ? Color::None : Color::Green)"," \u003c\u003c std::setw(passwidth) \u003c\u003c (p.numAsserts - p.numAssertsFailed) \u003c\u003c \" passed\" \u003c\u003c Color::None"," \u003c\u003c \" | \" \u003c\u003c (p.numAssertsFailed \u003e 0 ? Color::Red : Color::None) \u003c\u003c std::setw(failwidth)"," \u003c\u003c p.numAssertsFailed \u003c\u003c \" failed\" \u003c\u003c Color::None \u003c\u003c \" |\\n\";"," s \u003c\u003c Color::Cyan \u003c\u003c \"[doctest] \" \u003c\u003c Color::None"," \u003c\u003c \"Status: \" \u003c\u003c (p.numTestCasesFailed \u003e 0 ? Color::Red : Color::Green)"," \u003c\u003c ((p.numTestCasesFailed \u003e 0) ? \"FAILURE!\" : \"SUCCESS!\") \u003c\u003c Color::None \u003c\u003c std::endl;"," }",""," void test_case_start(const TestCaseData\u0026 in) override {"," hasLoggedCurrentTestStart = false;"," tc = \u0026in;"," subcasesStack.clear();"," currentSubcaseLevel = 0;"," }",""," void test_case_reenter(const TestCaseData\u0026) override {"," subcasesStack.clear();"," }",""," void test_case_end(const CurrentTestCaseStats\u0026 st) override {"," if(tc-\u003em_no_output)"," return;",""," // log the preamble of the test case only if there is something"," // else to print - something other than that an assert has failed"," if(opt.duration ||"," (st.failure_flags \u0026\u0026 st.failure_flags != static_cast\u003cint\u003e(TestCaseFailureReason::AssertFailure)))"," logTestStart();",""," if(opt.duration)"," s \u003c\u003c Color::None \u003c\u003c std::setprecision(6) \u003c\u003c std::fixed \u003c\u003c st.seconds"," \u003c\u003c \" s: \" \u003c\u003c tc-\u003em_name \u003c\u003c \"\\n\";",""," if(st.failure_flags \u0026 TestCaseFailureReason::Timeout)"," s \u003c\u003c Color::Red \u003c\u003c \"Test case exceeded time limit of \" \u003c\u003c std::setprecision(6)"," \u003c\u003c std::fixed \u003c\u003c tc-\u003em_timeout \u003c\u003c \"!\\n\";",""," if(st.failure_flags \u0026 TestCaseFailureReason::ShouldHaveFailedButDidnt) {"," s \u003c\u003c Color::Red \u003c\u003c \"Should have failed but didn't! Marking it as failed!\\n\";"," } else if(st.failure_flags \u0026 TestCaseFailureReason::ShouldHaveFailedAndDid) {"," s \u003c\u003c Color::Yellow \u003c\u003c \"Failed as expected so marking it as not failed\\n\";"," } else if(st.failure_flags \u0026 TestCaseFailureReason::CouldHaveFailedAndDid) {"," s \u003c\u003c Color::Yellow \u003c\u003c \"Allowed to fail so marking it as not failed\\n\";"," } else if(st.failure_flags \u0026 TestCaseFailureReason::DidntFailExactlyNumTimes) {"," s \u003c\u003c Color::Red \u003c\u003c \"Didn't fail exactly \" \u003c\u003c tc-\u003em_expected_failures"," \u003c\u003c \" times so marking it as failed!\\n\";"," } else if(st.failure_flags \u0026 TestCaseFailureReason::FailedExactlyNumTimes) {"," s \u003c\u003c Color::Yellow \u003c\u003c \"Failed exactly \" \u003c\u003c tc-\u003em_expected_failures"," \u003c\u003c \" times as expected so marking it as not failed!\\n\";"," }"," if(st.failure_flags \u0026 TestCaseFailureReason::TooManyFailedAsserts) {"," s \u003c\u003c Color::Red \u003c\u003c \"Aborting - too many failed asserts!\\n\";"," }"," s \u003c\u003c Color::None; // lgtm [cpp/useless-expression]"," }",""," void test_case_exception(const TestCaseException\u0026 e) override {"," DOCTEST_LOCK_MUTEX(mutex)"," if(tc-\u003em_no_output)"," return;",""," logTestStart();",""," file_line_to_stream(tc-\u003em_file.c_str(), tc-\u003em_line, \" \");"," successOrFailColoredStringToStream(false, e.is_crash ? assertType::is_require :"," assertType::is_check);"," s \u003c\u003c Color::Red \u003c\u003c (e.is_crash ? \"test case CRASHED: \" : \"test case THREW exception: \")"," \u003c\u003c Color::Cyan \u003c\u003c e.error_string \u003c\u003c \"\\n\";",""," int num_stringified_contexts = get_num_stringified_contexts();"," if(num_stringified_contexts) {"," auto stringified_contexts = get_stringified_contexts();"," s \u003c\u003c Color::None \u003c\u003c \" logged: \";"," for(int i = num_stringified_contexts; i \u003e 0; --i) {"," s \u003c\u003c (i == num_stringified_contexts ? \"\" : \" \")"," \u003c\u003c stringified_contexts[i - 1] \u003c\u003c \"\\n\";"," }"," }"," s \u003c\u003c \"\\n\" \u003c\u003c Color::None;"," }",""," void subcase_start(const SubcaseSignature\u0026 subc) override {"," subcasesStack.push_back(subc);"," ++currentSubcaseLevel;"," hasLoggedCurrentTestStart = false;"," }",""," void subcase_end() override {"," --currentSubcaseLevel;"," hasLoggedCurrentTestStart = false;"," }",""," void log_assert(const AssertData\u0026 rb) override {"," if((!rb.m_failed \u0026\u0026 !opt.success) || tc-\u003em_no_output)"," return;",""," DOCTEST_LOCK_MUTEX(mutex)",""," logTestStart();",""," file_line_to_stream(rb.m_file, rb.m_line, \" \");"," successOrFailColoredStringToStream(!rb.m_failed, rb.m_at);",""," fulltext_log_assert_to_stream(s, rb);",""," log_contexts();"," }",""," void log_message(const MessageData\u0026 mb) override {"," if(tc-\u003em_no_output)"," return;",""," DOCTEST_LOCK_MUTEX(mutex)",""," logTestStart();",""," file_line_to_stream(mb.m_file, mb.m_line, \" \");"," s \u003c\u003c getSuccessOrFailColor(false, mb.m_severity)"," \u003c\u003c getSuccessOrFailString(mb.m_severity \u0026 assertType::is_warn, mb.m_severity,"," \"MESSAGE\") \u003c\u003c \": \";"," s \u003c\u003c Color::None \u003c\u003c mb.m_string \u003c\u003c \"\\n\";"," log_contexts();"," }",""," void test_case_skipped(const TestCaseData\u0026) override {}"," };",""," DOCTEST_REGISTER_REPORTER(\"console\", 0, ConsoleReporter);","","#ifdef DOCTEST_PLATFORM_WINDOWS"," struct DebugOutputWindowReporter : public ConsoleReporter"," {"," DOCTEST_THREAD_LOCAL static std::ostringstream oss;",""," DebugOutputWindowReporter(const ContextOptions\u0026 co)"," : ConsoleReporter(co, oss) {}","","#define DOCTEST_DEBUG_OUTPUT_REPORTER_OVERRIDE(func, type, arg) \\"," void func(type arg) override { \\"," bool with_col = g_no_colors; \\"," g_no_colors = false; \\"," ConsoleReporter::func(arg); \\"," if(oss.tellp() != std::streampos{}) { \\"," DOCTEST_OUTPUT_DEBUG_STRING(oss.str().c_str()); \\"," oss.str(\"\"); \\"," } \\"," g_no_colors = with_col; \\"," }",""," DOCTEST_DEBUG_OUTPUT_REPORTER_OVERRIDE(test_run_start, DOCTEST_EMPTY, DOCTEST_EMPTY)"," DOCTEST_DEBUG_OUTPUT_REPORTER_OVERRIDE(test_run_end, const TestRunStats\u0026, in)"," DOCTEST_DEBUG_OUTPUT_REPORTER_OVERRIDE(test_case_start, const TestCaseData\u0026, in)"," DOCTEST_DEBUG_OUTPUT_REPORTER_OVERRIDE(test_case_reenter, const TestCaseData\u0026, in)"," DOCTEST_DEBUG_OUTPUT_REPORTER_OVERRIDE(test_case_end, const CurrentTestCaseStats\u0026, in)"," DOCTEST_DEBUG_OUTPUT_REPORTER_OVERRIDE(test_case_exception, const TestCaseException\u0026, in)"," DOCTEST_DEBUG_OUTPUT_REPORTER_OVERRIDE(subcase_start, const SubcaseSignature\u0026, in)"," DOCTEST_DEBUG_OUTPUT_REPORTER_OVERRIDE(subcase_end, DOCTEST_EMPTY, DOCTEST_EMPTY)"," DOCTEST_DEBUG_OUTPUT_REPORTER_OVERRIDE(log_assert, const AssertData\u0026, in)"," DOCTEST_DEBUG_OUTPUT_REPORTER_OVERRIDE(log_message, const MessageData\u0026, in)"," DOCTEST_DEBUG_OUTPUT_REPORTER_OVERRIDE(test_case_skipped, const TestCaseData\u0026, in)"," };",""," DOCTEST_THREAD_LOCAL std::ostringstream DebugOutputWindowReporter::oss;","#endif // DOCTEST_PLATFORM_WINDOWS",""," // the implementation of parseOption()"," bool parseOptionImpl(int argc, const char* const* argv, const char* pattern, String* value) {"," // going from the end to the beginning and stopping on the first occurrence from the end"," for(int i = argc; i \u003e 0; --i) {"," auto index = i - 1;"," auto temp = std::strstr(argv[index], pattern);"," if(temp \u0026\u0026 (value || strlen(temp) == strlen(pattern))) { //!OCLINT prefer early exits and continue"," // eliminate matches in which the chars before the option are not '-'"," bool noBadCharsFound = true;"," auto curr = argv[index];"," while(curr != temp) {"," if(*curr++ != '-') {"," noBadCharsFound = false;"," break;"," }"," }"," if(noBadCharsFound \u0026\u0026 argv[index][0] == '-') {"," if(value) {"," // parsing the value of an option"," temp += strlen(pattern);"," const unsigned len = strlen(temp);"," if(len) {"," *value = temp;"," return true;"," }"," } else {"," // just a flag - no value"," return true;"," }"," }"," }"," }"," return false;"," }",""," // parses an option and returns the string after the '=' character"," bool parseOption(int argc, const char* const* argv, const char* pattern, String* value = nullptr,"," const String\u0026 defaultVal = String()) {"," if(value)"," *value = defaultVal;","#ifndef DOCTEST_CONFIG_NO_UNPREFIXED_OPTIONS"," // offset (normally 3 for \"dt-\") to skip prefix"," if(parseOptionImpl(argc, argv, pattern + strlen(DOCTEST_CONFIG_OPTIONS_PREFIX), value))"," return true;","#endif // DOCTEST_CONFIG_NO_UNPREFIXED_OPTIONS"," return parseOptionImpl(argc, argv, pattern, value);"," }",""," // locates a flag on the command line"," bool parseFlag(int argc, const char* const* argv, const char* pattern) {"," return parseOption(argc, argv, pattern);"," }",""," // parses a comma separated list of words after a pattern in one of the arguments in argv"," bool parseCommaSepArgs(int argc, const char* const* argv, const char* pattern,"," std::vector\u003cString\u003e\u0026 res) {"," String filtersString;"," if(parseOption(argc, argv, pattern, \u0026filtersString)) {"," // tokenize with \",\" as a separator, unless escaped with backslash"," std::ostringstream s;"," auto flush = [\u0026s, \u0026res]() {"," auto string = s.str();"," if(string.size() \u003e 0) {"," res.push_back(string.c_str());"," }"," s.str(\"\");"," };",""," bool seenBackslash = false;"," const char* current = filtersString.c_str();"," const char* end = current + strlen(current);"," while(current != end) {"," char character = *current++;"," if(seenBackslash) {"," seenBackslash = false;"," if(character == ',' || character == '\\\\') {"," s.put(character);"," continue;"," }"," s.put('\\\\');"," }"," if(character == '\\\\') {"," seenBackslash = true;"," } else if(character == ',') {"," flush();"," } else {"," s.put(character);"," }"," }",""," if(seenBackslash) {"," s.put('\\\\');"," }"," flush();"," return true;"," }"," return false;"," }",""," enum optionType"," {"," option_bool,"," option_int"," };",""," // parses an int/bool option from the command line"," bool parseIntOption(int argc, const char* const* argv, const char* pattern, optionType type,"," int\u0026 res) {"," String parsedValue;"," if(!parseOption(argc, argv, pattern, \u0026parsedValue))"," return false;",""," if(type) {"," // integer"," // TODO: change this to use std::stoi or something else! currently it uses undefined behavior - assumes '0' on failed parse..."," int theInt = std::atoi(parsedValue.c_str());"," if (theInt != 0) {"," res = theInt; //!OCLINT parameter reassignment"," return true;"," }"," } else {"," // boolean"," const char positive[][5] = { \"1\", \"true\", \"on\", \"yes\" }; // 5 - strlen(\"true\") + 1"," const char negative[][6] = { \"0\", \"false\", \"off\", \"no\" }; // 6 - strlen(\"false\") + 1",""," // if the value matches any of the positive/negative possibilities"," for (unsigned i = 0; i \u003c 4; i++) {"," if (parsedValue.compare(positive[i], true) == 0) {"," res = 1; //!OCLINT parameter reassignment"," return true;"," }"," if (parsedValue.compare(negative[i], true) == 0) {"," res = 0; //!OCLINT parameter reassignment"," return true;"," }"," }"," }"," return false;"," }","} // namespace","","Context::Context(int argc, const char* const* argv)"," : p(new detail::ContextState) {"," parseArgs(argc, argv, true);"," if(argc)"," p-\u003ebinary_name = argv[0];","}","","Context::~Context() {"," if(g_cs == p)"," g_cs = nullptr;"," delete p;","}","","void Context::applyCommandLine(int argc, const char* const* argv) {"," parseArgs(argc, argv);"," if(argc)"," p-\u003ebinary_name = argv[0];","}","","// parses args","void Context::parseArgs(int argc, const char* const* argv, bool withDefaults) {"," using namespace detail;",""," // clang-format off"," parseCommaSepArgs(argc, argv, DOCTEST_CONFIG_OPTIONS_PREFIX \"source-file=\", p-\u003efilters[0]);"," parseCommaSepArgs(argc, argv, DOCTEST_CONFIG_OPTIONS_PREFIX \"sf=\", p-\u003efilters[0]);"," parseCommaSepArgs(argc, argv, DOCTEST_CONFIG_OPTIONS_PREFIX \"source-file-exclude=\",p-\u003efilters[1]);"," parseCommaSepArgs(argc, argv, DOCTEST_CONFIG_OPTIONS_PREFIX \"sfe=\", p-\u003efilters[1]);"," parseCommaSepArgs(argc, argv, DOCTEST_CONFIG_OPTIONS_PREFIX \"test-suite=\", p-\u003efilters[2]);"," parseCommaSepArgs(argc, argv, DOCTEST_CONFIG_OPTIONS_PREFIX \"ts=\", p-\u003efilters[2]);"," parseCommaSepArgs(argc, argv, DOCTEST_CONFIG_OPTIONS_PREFIX \"test-suite-exclude=\", p-\u003efilters[3]);"," parseCommaSepArgs(argc, argv, DOCTEST_CONFIG_OPTIONS_PREFIX \"tse=\", p-\u003efilters[3]);"," parseCommaSepArgs(argc, argv, DOCTEST_CONFIG_OPTIONS_PREFIX \"test-case=\", p-\u003efilters[4]);"," parseCommaSepArgs(argc, argv, DOCTEST_CONFIG_OPTIONS_PREFIX \"tc=\", p-\u003efilters[4]);"," parseCommaSepArgs(argc, argv, DOCTEST_CONFIG_OPTIONS_PREFIX \"test-case-exclude=\", p-\u003efilters[5]);"," parseCommaSepArgs(argc, argv, DOCTEST_CONFIG_OPTIONS_PREFIX \"tce=\", p-\u003efilters[5]);"," parseCommaSepArgs(argc, argv, DOCTEST_CONFIG_OPTIONS_PREFIX \"subcase=\", p-\u003efilters[6]);"," parseCommaSepArgs(argc, argv, DOCTEST_CONFIG_OPTIONS_PREFIX \"sc=\", p-\u003efilters[6]);"," parseCommaSepArgs(argc, argv, DOCTEST_CONFIG_OPTIONS_PREFIX \"subcase-exclude=\", p-\u003efilters[7]);"," parseCommaSepArgs(argc, argv, DOCTEST_CONFIG_OPTIONS_PREFIX \"sce=\", p-\u003efilters[7]);"," parseCommaSepArgs(argc, argv, DOCTEST_CONFIG_OPTIONS_PREFIX \"reporters=\", p-\u003efilters[8]);"," parseCommaSepArgs(argc, argv, DOCTEST_CONFIG_OPTIONS_PREFIX \"r=\", p-\u003efilters[8]);"," // clang-format on",""," int intRes = 0;"," String strRes;","","#define DOCTEST_PARSE_AS_BOOL_OR_FLAG(name, sname, var, default) \\"," if(parseIntOption(argc, argv, DOCTEST_CONFIG_OPTIONS_PREFIX name \"=\", option_bool, intRes) || \\"," parseIntOption(argc, argv, DOCTEST_CONFIG_OPTIONS_PREFIX sname \"=\", option_bool, intRes)) \\"," p-\u003evar = static_cast\u003cbool\u003e(intRes); \\"," else if(parseFlag(argc, argv, DOCTEST_CONFIG_OPTIONS_PREFIX name) || \\"," parseFlag(argc, argv, DOCTEST_CONFIG_OPTIONS_PREFIX sname)) \\"," p-\u003evar = true; \\"," else if(withDefaults) \\"," p-\u003evar = default","","#define DOCTEST_PARSE_INT_OPTION(name, sname, var, default) \\"," if(parseIntOption(argc, argv, DOCTEST_CONFIG_OPTIONS_PREFIX name \"=\", option_int, intRes) || \\"," parseIntOption(argc, argv, DOCTEST_CONFIG_OPTIONS_PREFIX sname \"=\", option_int, intRes)) \\"," p-\u003evar = intRes; \\"," else if(withDefaults) \\"," p-\u003evar = default","","#define DOCTEST_PARSE_STR_OPTION(name, sname, var, default) \\"," if(parseOption(argc, argv, DOCTEST_CONFIG_OPTIONS_PREFIX name \"=\", \u0026strRes, default) || \\"," parseOption(argc, argv, DOCTEST_CONFIG_OPTIONS_PREFIX sname \"=\", \u0026strRes, default) || \\"," withDefaults) \\"," p-\u003evar = strRes",""," // clang-format off"," DOCTEST_PARSE_STR_OPTION(\"out\", \"o\", out, \"\");"," DOCTEST_PARSE_STR_OPTION(\"order-by\", \"ob\", order_by, \"file\");"," DOCTEST_PARSE_INT_OPTION(\"rand-seed\", \"rs\", rand_seed, 0);",""," DOCTEST_PARSE_INT_OPTION(\"first\", \"f\", first, 0);"," DOCTEST_PARSE_INT_OPTION(\"last\", \"l\", last, UINT_MAX);",""," DOCTEST_PARSE_INT_OPTION(\"abort-after\", \"aa\", abort_after, 0);"," DOCTEST_PARSE_INT_OPTION(\"subcase-filter-levels\", \"scfl\", subcase_filter_levels, INT_MAX);",""," DOCTEST_PARSE_AS_BOOL_OR_FLAG(\"success\", \"s\", success, false);"," DOCTEST_PARSE_AS_BOOL_OR_FLAG(\"case-sensitive\", \"cs\", case_sensitive, false);"," DOCTEST_PARSE_AS_BOOL_OR_FLAG(\"exit\", \"e\", exit, false);"," DOCTEST_PARSE_AS_BOOL_OR_FLAG(\"duration\", \"d\", duration, false);"," DOCTEST_PARSE_AS_BOOL_OR_FLAG(\"minimal\", \"m\", minimal, false);"," DOCTEST_PARSE_AS_BOOL_OR_FLAG(\"quiet\", \"q\", quiet, false);"," DOCTEST_PARSE_AS_BOOL_OR_FLAG(\"no-throw\", \"nt\", no_throw, false);"," DOCTEST_PARSE_AS_BOOL_OR_FLAG(\"no-exitcode\", \"ne\", no_exitcode, false);"," DOCTEST_PARSE_AS_BOOL_OR_FLAG(\"no-run\", \"nr\", no_run, false);"," DOCTEST_PARSE_AS_BOOL_OR_FLAG(\"no-intro\", \"ni\", no_intro, false);"," DOCTEST_PARSE_AS_BOOL_OR_FLAG(\"no-version\", \"nv\", no_version, false);"," DOCTEST_PARSE_AS_BOOL_OR_FLAG(\"no-colors\", \"nc\", no_colors, false);"," DOCTEST_PARSE_AS_BOOL_OR_FLAG(\"force-colors\", \"fc\", force_colors, false);"," DOCTEST_PARSE_AS_BOOL_OR_FLAG(\"no-breaks\", \"nb\", no_breaks, false);"," DOCTEST_PARSE_AS_BOOL_OR_FLAG(\"no-skip\", \"ns\", no_skip, false);"," DOCTEST_PARSE_AS_BOOL_OR_FLAG(\"gnu-file-line\", \"gfl\", gnu_file_line, !bool(DOCTEST_MSVC));"," DOCTEST_PARSE_AS_BOOL_OR_FLAG(\"no-path-filenames\", \"npf\", no_path_in_filenames, false);"," DOCTEST_PARSE_AS_BOOL_OR_FLAG(\"no-line-numbers\", \"nln\", no_line_numbers, false);"," DOCTEST_PARSE_AS_BOOL_OR_FLAG(\"no-debug-output\", \"ndo\", no_debug_output, false);"," DOCTEST_PARSE_AS_BOOL_OR_FLAG(\"no-skipped-summary\", \"nss\", no_skipped_summary, false);"," DOCTEST_PARSE_AS_BOOL_OR_FLAG(\"no-time-in-output\", \"ntio\", no_time_in_output, false);"," // clang-format on",""," if(withDefaults) {"," p-\u003ehelp = false;"," p-\u003eversion = false;"," p-\u003ecount = false;"," p-\u003elist_test_cases = false;"," p-\u003elist_test_suites = false;"," p-\u003elist_reporters = false;"," }"," if(parseFlag(argc, argv, DOCTEST_CONFIG_OPTIONS_PREFIX \"help\") ||"," parseFlag(argc, argv, DOCTEST_CONFIG_OPTIONS_PREFIX \"h\") ||"," parseFlag(argc, argv, DOCTEST_CONFIG_OPTIONS_PREFIX \"?\")) {"," p-\u003ehelp = true;"," p-\u003eexit = true;"," }"," if(parseFlag(argc, argv, DOCTEST_CONFIG_OPTIONS_PREFIX \"version\") ||"," parseFlag(argc, argv, DOCTEST_CONFIG_OPTIONS_PREFIX \"v\")) {"," p-\u003eversion = true;"," p-\u003eexit = true;"," }"," if(parseFlag(argc, argv, DOCTEST_CONFIG_OPTIONS_PREFIX \"count\") ||"," parseFlag(argc, argv, DOCTEST_CONFIG_OPTIONS_PREFIX \"c\")) {"," p-\u003ecount = true;"," p-\u003eexit = true;"," }"," if(parseFlag(argc, argv, DOCTEST_CONFIG_OPTIONS_PREFIX \"list-test-cases\") ||"," parseFlag(argc, argv, DOCTEST_CONFIG_OPTIONS_PREFIX \"ltc\")) {"," p-\u003elist_test_cases = true;"," p-\u003eexit = true;"," }"," if(parseFlag(argc, argv, DOCTEST_CONFIG_OPTIONS_PREFIX \"list-test-suites\") ||"," parseFlag(argc, argv, DOCTEST_CONFIG_OPTIONS_PREFIX \"lts\")) {"," p-\u003elist_test_suites = true;"," p-\u003eexit = true;"," }"," if(parseFlag(argc, argv, DOCTEST_CONFIG_OPTIONS_PREFIX \"list-reporters\") ||"," parseFlag(argc, argv, DOCTEST_CONFIG_OPTIONS_PREFIX \"lr\")) {"," p-\u003elist_reporters = true;"," p-\u003eexit = true;"," }","}","","// allows the user to add procedurally to the filters from the command line","void Context::addFilter(const char* filter, const char* value) { setOption(filter, value); }","","// allows the user to clear all filters from the command line","void Context::clearFilters() {"," for(auto\u0026 curr : p-\u003efilters)"," curr.clear();","}","","// allows the user to override procedurally the bool options from the command line","void Context::setOption(const char* option, bool value) {"," setOption(option, value ? \"true\" : \"false\");","}","","// allows the user to override procedurally the int options from the command line","void Context::setOption(const char* option, int value) {"," setOption(option, toString(value).c_str());","}","","// allows the user to override procedurally the string options from the command line","void Context::setOption(const char* option, const char* value) {"," auto argv = String(\"-\") + option + \"=\" + value;"," auto lvalue = argv.c_str();"," parseArgs(1, \u0026lvalue);","}","","// users should query this in their main() and exit the program if true","bool Context::shouldExit() { return p-\u003eexit; }","","void Context::setAsDefaultForAssertsOutOfTestCases() { g_cs = p; }","","void Context::setAssertHandler(detail::assert_handler ah) { p-\u003eah = ah; }","","void Context::setCout(std::ostream* out) { p-\u003ecout = out; }","","static class DiscardOStream : public std::ostream","{","private:"," class : public std::streambuf"," {"," private:"," // allowing some buffering decreases the amount of calls to overflow"," char buf[1024];",""," protected:"," std::streamsize xsputn(const char_type*, std::streamsize count) override { return count; }",""," int_type overflow(int_type ch) override {"," setp(std::begin(buf), std::end(buf));"," return traits_type::not_eof(ch);"," }"," } discardBuf;","","public:"," DiscardOStream()"," : std::ostream(\u0026discardBuf) {}","} discardOut;","","// the main function that does all the filtering and test running","int Context::run() {"," using namespace detail;",""," // save the old context state in case such was setup - for using asserts out of a testing context"," auto old_cs = g_cs;"," // this is the current contest"," g_cs = p;"," is_running_in_test = true;",""," g_no_colors = p-\u003eno_colors;"," p-\u003eresetRunData();",""," std::fstream fstr;"," if(p-\u003ecout == nullptr) {"," if(p-\u003equiet) {"," p-\u003ecout = \u0026discardOut;"," } else if(p-\u003eout.size()) {"," // to a file if specified"," fstr.open(p-\u003eout.c_str(), std::fstream::out);"," p-\u003ecout = \u0026fstr;"," } else {","#ifndef DOCTEST_CONFIG_NO_INCLUDE_IOSTREAM"," // stdout by default"," p-\u003ecout = \u0026std::cout;","#else // DOCTEST_CONFIG_NO_INCLUDE_IOSTREAM"," return EXIT_FAILURE;","#endif // DOCTEST_CONFIG_NO_INCLUDE_IOSTREAM"," }"," }",""," FatalConditionHandler::allocateAltStackMem();",""," auto cleanup_and_return = [\u0026]() {"," FatalConditionHandler::freeAltStackMem();",""," if(fstr.is_open())"," fstr.close();",""," // restore context"," g_cs = old_cs;"," is_running_in_test = false;",""," // we have to free the reporters which were allocated when the run started"," for(auto\u0026 curr : p-\u003ereporters_currently_used)"," delete curr;"," p-\u003ereporters_currently_used.clear();",""," if(p-\u003enumTestCasesFailed \u0026\u0026 !p-\u003eno_exitcode)"," return EXIT_FAILURE;"," return EXIT_SUCCESS;"," };",""," // setup default reporter if none is given through the command line"," if(p-\u003efilters[8].empty())"," p-\u003efilters[8].push_back(\"console\");",""," // check to see if any of the registered reporters has been selected"," for(auto\u0026 curr : getReporters()) {"," if(matchesAny(curr.first.second.c_str(), p-\u003efilters[8], false, p-\u003ecase_sensitive))"," p-\u003ereporters_currently_used.push_back(curr.second(*g_cs));"," }",""," // TODO: check if there is nothing in reporters_currently_used",""," // prepend all listeners"," for(auto\u0026 curr : getListeners())"," p-\u003ereporters_currently_used.insert(p-\u003ereporters_currently_used.begin(), curr.second(*g_cs));","","#ifdef DOCTEST_PLATFORM_WINDOWS"," if(isDebuggerActive() \u0026\u0026 p-\u003eno_debug_output == false)"," p-\u003ereporters_currently_used.push_back(new DebugOutputWindowReporter(*g_cs));","#endif // DOCTEST_PLATFORM_WINDOWS",""," // handle version, help and no_run"," if(p-\u003eno_run || p-\u003eversion || p-\u003ehelp || p-\u003elist_reporters) {"," DOCTEST_ITERATE_THROUGH_REPORTERS(report_query, QueryData());",""," return cleanup_and_return();"," }",""," std::vector\u003cconst TestCase*\u003e testArray;"," for(auto\u0026 curr : getRegisteredTests())"," testArray.push_back(\u0026curr);"," p-\u003enumTestCases = testArray.size();",""," // sort the collected records"," if(!testArray.empty()) {"," if(p-\u003eorder_by.compare(\"file\", true) == 0) {"," std::sort(testArray.begin(), testArray.end(), fileOrderComparator);"," } else if(p-\u003eorder_by.compare(\"suite\", true) == 0) {"," std::sort(testArray.begin(), testArray.end(), suiteOrderComparator);"," } else if(p-\u003eorder_by.compare(\"name\", true) == 0) {"," std::sort(testArray.begin(), testArray.end(), nameOrderComparator);"," } else if(p-\u003eorder_by.compare(\"rand\", true) == 0) {"," std::srand(p-\u003erand_seed);",""," // random_shuffle implementation"," const auto first = \u0026testArray[0];"," for(size_t i = testArray.size() - 1; i \u003e 0; --i) {"," int idxToSwap = std::rand() % (i + 1);",""," const auto temp = first[i];",""," first[i] = first[idxToSwap];"," first[idxToSwap] = temp;"," }"," } else if(p-\u003eorder_by.compare(\"none\", true) == 0) {"," // means no sorting - beneficial for death tests which call into the executable"," // with a specific test case in mind - we don't want to slow down the startup times"," }"," }",""," std::set\u003cString\u003e testSuitesPassingFilt;",""," bool query_mode = p-\u003ecount || p-\u003elist_test_cases || p-\u003elist_test_suites;"," std::vector\u003cconst TestCaseData*\u003e queryResults;",""," if(!query_mode)"," DOCTEST_ITERATE_THROUGH_REPORTERS(test_run_start, DOCTEST_EMPTY);",""," // invoke the registered functions if they match the filter criteria (or just count them)"," for(auto\u0026 curr : testArray) {"," const auto\u0026 tc = *curr;",""," bool skip_me = false;"," if(tc.m_skip \u0026\u0026 !p-\u003eno_skip)"," skip_me = true;",""," if(!matchesAny(tc.m_file.c_str(), p-\u003efilters[0], true, p-\u003ecase_sensitive))"," skip_me = true;"," if(matchesAny(tc.m_file.c_str(), p-\u003efilters[1], false, p-\u003ecase_sensitive))"," skip_me = true;"," if(!matchesAny(tc.m_test_suite, p-\u003efilters[2], true, p-\u003ecase_sensitive))"," skip_me = true;"," if(matchesAny(tc.m_test_suite, p-\u003efilters[3], false, p-\u003ecase_sensitive))"," skip_me = true;"," if(!matchesAny(tc.m_name, p-\u003efilters[4], true, p-\u003ecase_sensitive))"," skip_me = true;"," if(matchesAny(tc.m_name, p-\u003efilters[5], false, p-\u003ecase_sensitive))"," skip_me = true;",""," if(!skip_me)"," p-\u003enumTestCasesPassingFilters++;",""," // skip the test if it is not in the execution range"," if((p-\u003elast \u003c p-\u003enumTestCasesPassingFilters \u0026\u0026 p-\u003efirst \u003c= p-\u003elast) ||"," (p-\u003efirst \u003e p-\u003enumTestCasesPassingFilters))"," skip_me = true;",""," if(skip_me) {"," if(!query_mode)"," DOCTEST_ITERATE_THROUGH_REPORTERS(test_case_skipped, tc);"," continue;"," }",""," // do not execute the test if we are to only count the number of filter passing tests"," if(p-\u003ecount)"," continue;",""," // print the name of the test and don't execute it"," if(p-\u003elist_test_cases) {"," queryResults.push_back(\u0026tc);"," continue;"," }",""," // print the name of the test suite if not done already and don't execute it"," if(p-\u003elist_test_suites) {"," if((testSuitesPassingFilt.count(tc.m_test_suite) == 0) \u0026\u0026 tc.m_test_suite[0] != '\\0') {"," queryResults.push_back(\u0026tc);"," testSuitesPassingFilt.insert(tc.m_test_suite);"," p-\u003enumTestSuitesPassingFilters++;"," }"," continue;"," }",""," // execute the test if it passes all the filtering"," {"," p-\u003ecurrentTest = \u0026tc;",""," p-\u003efailure_flags = TestCaseFailureReason::None;"," p-\u003eseconds = 0;",""," // reset atomic counters"," p-\u003enumAssertsFailedCurrentTest_atomic = 0;"," p-\u003enumAssertsCurrentTest_atomic = 0;",""," p-\u003efullyTraversedSubcases.clear();",""," DOCTEST_ITERATE_THROUGH_REPORTERS(test_case_start, tc);",""," p-\u003etimer.start();",""," bool run_test = true;",""," do {"," // reset some of the fields for subcases (except for the set of fully passed ones)"," p-\u003ereachedLeaf = false;"," // May not be empty if previous subcase exited via exception."," p-\u003esubcaseStack.clear();"," p-\u003ecurrentSubcaseDepth = 0;",""," p-\u003eshouldLogCurrentException = true;",""," // reset stuff for logging with INFO()"," p-\u003estringifiedContexts.clear();","","#ifndef DOCTEST_CONFIG_NO_EXCEPTIONS"," try {","#endif // DOCTEST_CONFIG_NO_EXCEPTIONS","// MSVC 2015 diagnoses fatalConditionHandler as unused (because reset() is a static method)","DOCTEST_MSVC_SUPPRESS_WARNING_WITH_PUSH(4101) // unreferenced local variable"," FatalConditionHandler fatalConditionHandler; // Handle signals"," // execute the test"," tc.m_test();"," fatalConditionHandler.reset();","DOCTEST_MSVC_SUPPRESS_WARNING_POP","#ifndef DOCTEST_CONFIG_NO_EXCEPTIONS"," } catch(const TestFailureException\u0026) {"," p-\u003efailure_flags |= TestCaseFailureReason::AssertFailure;"," } catch(...) {"," DOCTEST_ITERATE_THROUGH_REPORTERS(test_case_exception,"," {translateActiveException(), false});"," p-\u003efailure_flags |= TestCaseFailureReason::Exception;"," }","#endif // DOCTEST_CONFIG_NO_EXCEPTIONS",""," // exit this loop if enough assertions have failed - even if there are more subcases"," if(p-\u003eabort_after \u003e 0 \u0026\u0026"," p-\u003enumAssertsFailed + p-\u003enumAssertsFailedCurrentTest_atomic \u003e= p-\u003eabort_after) {"," run_test = false;"," p-\u003efailure_flags |= TestCaseFailureReason::TooManyFailedAsserts;"," }",""," if(!p-\u003enextSubcaseStack.empty() \u0026\u0026 run_test)"," DOCTEST_ITERATE_THROUGH_REPORTERS(test_case_reenter, tc);"," if(p-\u003enextSubcaseStack.empty())"," run_test = false;"," } while(run_test);",""," p-\u003efinalizeTestCaseData();",""," DOCTEST_ITERATE_THROUGH_REPORTERS(test_case_end, *g_cs);",""," p-\u003ecurrentTest = nullptr;",""," // stop executing tests if enough assertions have failed"," if(p-\u003eabort_after \u003e 0 \u0026\u0026 p-\u003enumAssertsFailed \u003e= p-\u003eabort_after)"," break;"," }"," }",""," if(!query_mode) {"," DOCTEST_ITERATE_THROUGH_REPORTERS(test_run_end, *g_cs);"," } else {"," QueryData qdata;"," qdata.run_stats = g_cs;"," qdata.data = queryResults.data();"," qdata.num_data = unsigned(queryResults.size());"," DOCTEST_ITERATE_THROUGH_REPORTERS(report_query, qdata);"," }",""," return cleanup_and_return();","}","","DOCTEST_DEFINE_INTERFACE(IReporter)","","int IReporter::get_num_active_contexts() { return detail::g_infoContexts.size(); }","const IContextScope* const* IReporter::get_active_contexts() {"," return get_num_active_contexts() ? \u0026detail::g_infoContexts[0] : nullptr;","}","","int IReporter::get_num_stringified_contexts() { return detail::g_cs-\u003estringifiedContexts.size(); }","const String* IReporter::get_stringified_contexts() {"," return get_num_stringified_contexts() ? \u0026detail::g_cs-\u003estringifiedContexts[0] : nullptr;","}","","namespace detail {"," void registerReporterImpl(const char* name, int priority, reporterCreatorFunc c, bool isReporter) {"," if(isReporter)"," getReporters().insert(reporterMap::value_type(reporterMap::key_type(priority, name), c));"," else"," getListeners().insert(reporterMap::value_type(reporterMap::key_type(priority, name), c));"," }","} // namespace detail","","} // namespace doctest","","#endif // DOCTEST_CONFIG_DISABLE","","#ifdef DOCTEST_CONFIG_IMPLEMENT_WITH_MAIN","DOCTEST_MSVC_SUPPRESS_WARNING_WITH_PUSH(4007) // 'function' : must be 'attribute' - see issue #182","int main(int argc, char** argv) { return doctest::Context(argc, argv).run(); }","DOCTEST_MSVC_SUPPRESS_WARNING_POP","#endif // DOCTEST_CONFIG_IMPLEMENT_WITH_MAIN","","DOCTEST_CLANG_SUPPRESS_WARNING_POP","DOCTEST_MSVC_SUPPRESS_WARNING_POP","DOCTEST_GCC_SUPPRESS_WARNING_POP","","DOCTEST_SUPPRESS_COMMON_WARNINGS_POP","","#endif // DOCTEST_LIBRARY_IMPLEMENTATION","#endif // DOCTEST_CONFIG_IMPLEMENT","","#ifdef DOCTEST_UNDEF_WIN32_LEAN_AND_MEAN","#undef WIN32_LEAN_AND_MEAN","#undef DOCTEST_UNDEF_WIN32_LEAN_AND_MEAN","#endif // DOCTEST_UNDEF_WIN32_LEAN_AND_MEAN","","#ifdef DOCTEST_UNDEF_NOMINMAX","#undef NOMINMAX","#undef DOCTEST_UNDEF_NOMINMAX","#endif // DOCTEST_UNDEF_NOMINMAX"],"stylingDirectives":[[[0,105,"pl-c"],[0,2,"pl-c"]],[[0,73,"pl-c"]],[[0,73,"pl-c"]],[[0,2,"pl-c"],[0,2,"pl-c"]],[[0,99,"pl-c"],[0,2,"pl-c"]],[[0,2,"pl-c"],[0,2,"pl-c"]],[[0,41,"pl-c"],[0,2,"pl-c"]],[[0,2,"pl-c"],[0,2,"pl-c"]],[[0,45,"pl-c"],[0,2,"pl-c"]],[[0,47,"pl-c"],[0,2,"pl-c"]],[[0,38,"pl-c"],[0,2,"pl-c"]],[[0,2,"pl-c"],[0,2,"pl-c"]],[[0,56,"pl-c"],[0,2,"pl-c"]],[[0,72,"pl-c"],[0,2,"pl-c"]],[[0,2,"pl-c"],[0,2,"pl-c"]],[[0,100,"pl-c"]],[[0,100,"pl-c"]],[[0,100,"pl-c"]],[[0,2,"pl-c"],[0,2,"pl-c"]],[[0,82,"pl-c"],[0,2,"pl-c"]],[[0,54,"pl-c"],[0,2,"pl-c"]],[[0,72,"pl-c"],[0,2,"pl-c"]],[[0,2,"pl-c"],[0,2,"pl-c"]],[[0,91,"pl-c"],[0,2,"pl-c"]],[[0,45,"pl-c"],[0,2,"pl-c"]],[[0,99,"pl-c"],[0,2,"pl-c"]],[[0,60,"pl-c"],[0,2,"pl-c"]],[[0,26,"pl-c"],[0,2,"pl-c"]],[[0,29,"pl-c"],[0,2,"pl-c"]],[[0,26,"pl-c"],[0,2,"pl-c"]],[[0,10,"pl-c"],[0,2,"pl-c"]],[[0,89,"pl-c"],[0,2,"pl-c"]],[[0,2,"pl-c"],[0,2,"pl-c"]],[[0,97,"pl-c"],[0,2,"pl-c"]],[[0,54,"pl-c"],[0,2,"pl-c"]],[[0,73,"pl-c"],[0,2,"pl-c"]],[[0,2,"pl-c"],[0,2,"pl-c"]],[[0,100,"pl-c"]],[[0,100,"pl-c"]],[[0,100,"pl-c"]],[],[[1,7,"pl-k"]],[[1,7,"pl-k"],[8,32,"pl-en"]],[],[[0,100,"pl-c"]],[[0,100,"pl-c"]],[[0,100,"pl-c"]],[],[[1,7,"pl-k"],[8,29,"pl-en"],[30,31,"pl-c1"]],[[1,7,"pl-k"],[8,29,"pl-en"],[30,31,"pl-c1"]],[[1,7,"pl-k"],[8,29,"pl-en"],[30,32,"pl-c1"]],[],[[0,20,"pl-c"],[0,2,"pl-c"]],[[1,7,"pl-k"],[8,26,"pl-en"],[27,28,"pl-v"]],[[1,7,"pl-k"],[8,21,"pl-en"],[22,23,"pl-v"]],[],[[1,7,"pl-k"],[8,27,"pl-en"]],[[4,17,"pl-en"]],[],[],[],[[1,7,"pl-k"],[8,23,"pl-en"]],[[29,34,"pl-c1"],[61,64,"pl-c1"]],[],[[0,100,"pl-c"]],[[0,100,"pl-c"]],[[0,100,"pl-c"]],[],[[0,90,"pl-c"],[0,2,"pl-c"]],[],[[1,6,"pl-k"]],[[1,7,"pl-k"],[8,25,"pl-en"]],[[1,5,"pl-k"]],[[1,7,"pl-k"],[8,25,"pl-en"]],[[1,6,"pl-k"]],[],[[1,7,"pl-k"],[8,24,"pl-en"],[25,44,"pl-v"],[55,63,"pl-c1"],[74,80,"pl-c1"]],[],[[0,95,"pl-c"],[0,2,"pl-c"]],[[1,3,"pl-k"]],[[1,3,"pl-k"]],[[1,7,"pl-k"],[8,20,"pl-en"],[21,37,"pl-en"],[49,52,"pl-c1"],[65,68,"pl-c1"],[86,91,"pl-c1"]],[[1,5,"pl-k"],[6,13,"pl-c"],[6,8,"pl-c"]],[[1,7,"pl-k"],[8,20,"pl-en"]],[[4,20,"pl-en"],[32,35,"pl-c1"],[54,60,"pl-c1"]],[[1,6,"pl-k"],[7,14,"pl-c"],[7,9,"pl-c"]],[[1,6,"pl-k"],[7,14,"pl-c"],[7,9,"pl-c"]],[[1,3,"pl-k"]],[[1,7,"pl-k"],[8,21,"pl-en"],[22,38,"pl-en"]],[[1,5,"pl-k"]],[],[[1,7,"pl-k"],[8,19,"pl-en"],[20,36,"pl-en"]],[[7,13,"pl-c"],[7,9,"pl-c"]],[[1,3,"pl-k"]],[[1,7,"pl-k"],[8,19,"pl-en"],[20,36,"pl-en"],[56,59,"pl-c1"],[80,83,"pl-c1"],[85,86,"pl-c1"]],[[7,13,"pl-c"],[7,9,"pl-c"]],[],[[1,7,"pl-k"]],[[1,7,"pl-k"],[8,20,"pl-en"],[21,22,"pl-c1"]],[[1,6,"pl-k"],[7,22,"pl-c"],[7,9,"pl-c"]],[[1,7,"pl-k"]],[[1,7,"pl-k"],[8,21,"pl-en"],[22,23,"pl-c1"]],[[1,6,"pl-k"],[7,23,"pl-c"],[7,9,"pl-c"]],[[1,7,"pl-k"]],[[1,7,"pl-k"],[8,19,"pl-en"],[20,21,"pl-c1"]],[[1,6,"pl-k"],[7,21,"pl-c"],[7,9,"pl-c"]],[[1,7,"pl-k"]],[[1,7,"pl-k"],[8,19,"pl-en"],[20,21,"pl-c1"]],[[1,6,"pl-k"],[7,21,"pl-c"],[7,9,"pl-c"]],[],[[0,100,"pl-c"]],[[0,100,"pl-c"]],[[0,100,"pl-c"]],[],[[1,3,"pl-k"]],[[1,7,"pl-k"],[8,29,"pl-en"],[30,31,"pl-v"],[33,40,"pl-k"]],[[1,7,"pl-k"],[8,43,"pl-en"],[44,51,"pl-en"],[52,75,"pl-s"],[52,53,"pl-pds"],[74,75,"pl-pds"]],[[1,7,"pl-k"],[8,38,"pl-en"],[39,40,"pl-v"]],[[1,7,"pl-k"],[8,42,"pl-en"],[43,50,"pl-en"],[51,73,"pl-s"],[51,52,"pl-pds"],[72,73,"pl-pds"]],[[1,7,"pl-k"],[8,48,"pl-en"],[49,50,"pl-v"]],[[40,70,"pl-en"]],[[1,5,"pl-k"],[6,22,"pl-c"],[6,8,"pl-c"]],[[1,7,"pl-k"],[8,43,"pl-en"]],[[1,7,"pl-k"],[8,38,"pl-en"],[39,40,"pl-v"]],[[1,7,"pl-k"],[8,42,"pl-en"]],[[1,7,"pl-k"],[8,48,"pl-en"],[49,50,"pl-v"]],[[1,6,"pl-k"],[7,23,"pl-c"],[7,9,"pl-c"]],[],[[1,3,"pl-k"]],[[1,7,"pl-k"],[8,29,"pl-en"],[30,31,"pl-v"],[33,40,"pl-k"]],[[1,7,"pl-k"],[8,41,"pl-en"],[42,49,"pl-en"],[50,71,"pl-s"],[50,51,"pl-pds"],[70,71,"pl-pds"]],[[1,7,"pl-k"],[8,36,"pl-en"],[37,38,"pl-v"]],[[1,7,"pl-k"],[8,40,"pl-en"],[41,48,"pl-en"],[49,69,"pl-s"],[49,50,"pl-pds"],[68,69,"pl-pds"]],[[1,7,"pl-k"],[8,46,"pl-en"],[47,48,"pl-v"]],[[38,66,"pl-en"]],[[1,5,"pl-k"],[6,20,"pl-c"],[6,8,"pl-c"]],[[1,7,"pl-k"],[8,41,"pl-en"]],[[1,7,"pl-k"],[8,36,"pl-en"],[37,38,"pl-v"]],[[1,7,"pl-k"],[8,40,"pl-en"]],[[1,7,"pl-k"],[8,46,"pl-en"],[47,48,"pl-v"]],[[1,6,"pl-k"],[7,21,"pl-c"],[7,9,"pl-c"]],[],[[1,3,"pl-k"]],[[1,7,"pl-k"],[8,42,"pl-en"],[43,51,"pl-en"]],[[1,7,"pl-k"],[8,37,"pl-en"],[38,39,"pl-v"]],[[1,7,"pl-k"],[8,41,"pl-en"],[42,50,"pl-en"]],[[1,7,"pl-k"],[8,47,"pl-en"],[48,49,"pl-v"]],[[39,68,"pl-en"]],[[1,5,"pl-k"],[6,21,"pl-c"],[6,8,"pl-c"]],[[1,7,"pl-k"],[8,42,"pl-en"]],[[1,7,"pl-k"],[8,37,"pl-en"],[38,39,"pl-v"]],[[1,7,"pl-k"],[8,41,"pl-en"]],[[1,7,"pl-k"],[8,47,"pl-en"],[48,49,"pl-v"]],[[1,6,"pl-k"],[7,22,"pl-c"],[7,9,"pl-c"]],[],[[0,100,"pl-c"]],[[0,100,"pl-c"]],[[0,100,"pl-c"]],[],[[0,64,"pl-c"],[0,2,"pl-c"]],[[0,51,"pl-c"],[0,2,"pl-c"]],[[1,7,"pl-k"],[8,45,"pl-en"]],[],[[4,34,"pl-en"],[35,54,"pl-s"],[35,36,"pl-pds"],[53,54,"pl-pds"]],[[35,51,"pl-s"],[35,36,"pl-pds"],[50,51,"pl-pds"]],[[35,45,"pl-s"],[35,36,"pl-pds"],[44,45,"pl-pds"]],[[35,57,"pl-s"],[35,36,"pl-pds"],[56,57,"pl-pds"]],[[35,51,"pl-s"],[35,36,"pl-pds"],[50,51,"pl-pds"]],[[35,60,"pl-s"],[35,36,"pl-pds"],[59,60,"pl-pds"]],[],[],[[33,52,"pl-s"],[33,34,"pl-pds"],[51,52,"pl-pds"]],[[33,44,"pl-s"],[33,34,"pl-pds"],[43,44,"pl-pds"]],[[33,43,"pl-s"],[33,34,"pl-pds"],[42,43,"pl-pds"]],[[33,52,"pl-s"],[33,34,"pl-pds"],[51,52,"pl-pds"]],[[33,52,"pl-s"],[33,34,"pl-pds"],[51,52,"pl-pds"]],[[33,57,"pl-s"],[33,34,"pl-pds"],[56,57,"pl-pds"]],[[33,49,"pl-s"],[33,34,"pl-pds"],[48,49,"pl-pds"]],[[33,45,"pl-s"],[33,34,"pl-pds"],[44,45,"pl-pds"]],[],[],[[4,51,"pl-c"],[4,6,"pl-c"],[49,51,"pl-c"]],[[34,38,"pl-c1"],[40,91,"pl-c"],[40,42,"pl-c"],[89,91,"pl-c"]],[[34,38,"pl-c1"],[40,57,"pl-c"],[40,42,"pl-c"],[55,57,"pl-c"]],[[34,38,"pl-c1"],[40,66,"pl-c"],[40,42,"pl-c"],[64,66,"pl-c"]],[[34,38,"pl-c1"],[40,83,"pl-c"],[40,42,"pl-c"],[81,83,"pl-c"]],[[4,21,"pl-c"],[4,6,"pl-c"],[19,21,"pl-c"]],[[34,38,"pl-c1"],[40,70,"pl-c"],[40,42,"pl-c"],[68,70,"pl-c"]],[[34,38,"pl-c1"],[40,70,"pl-c"],[40,42,"pl-c"],[68,70,"pl-c"]],[[34,38,"pl-c1"],[40,95,"pl-c"],[40,42,"pl-c"],[93,95,"pl-c"]],[[34,38,"pl-c1"],[40,86,"pl-c"],[40,42,"pl-c"],[84,86,"pl-c"]],[[34,38,"pl-c1"],[40,98,"pl-c"],[40,42,"pl-c"],[96,98,"pl-c"]],[[34,38,"pl-c1"],[40,80,"pl-c"],[40,42,"pl-c"],[78,80,"pl-c"]],[[34,38,"pl-c1"],[40,53,"pl-c"],[40,42,"pl-c"],[51,53,"pl-c"]],[[34,38,"pl-c1"],[40,85,"pl-c"],[40,42,"pl-c"],[83,85,"pl-c"]],[[34,38,"pl-c1"],[40,88,"pl-c"],[40,42,"pl-c"],[86,88,"pl-c"]],[[34,38,"pl-c1"],[40,89,"pl-c"],[40,42,"pl-c"],[87,89,"pl-c"]],[[34,38,"pl-c1"],[40,85,"pl-c"],[40,42,"pl-c"],[83,85,"pl-c"]],[[34,38,"pl-c1"],[40,97,"pl-c"],[40,42,"pl-c"],[95,97,"pl-c"]],[[34,38,"pl-c1"],[40,80,"pl-c"],[40,42,"pl-c"],[78,80,"pl-c"]],[[34,38,"pl-c1"],[40,91,"pl-c"],[40,42,"pl-c"],[89,91,"pl-c"]],[[4,25,"pl-c"],[4,6,"pl-c"],[23,25,"pl-c"]],[[34,39,"pl-c1"],[41,92,"pl-c"],[41,43,"pl-c"],[90,92,"pl-c"]],[[34,39,"pl-c1"],[41,82,"pl-c"],[41,43,"pl-c"],[80,82,"pl-c"]],[[34,39,"pl-c1"],[41,70,"pl-c"],[41,43,"pl-c"],[68,70,"pl-c"]],[[34,39,"pl-c1"],[41,97,"pl-c"],[41,43,"pl-c"],[95,97,"pl-c"]],[[34,39,"pl-c1"],[41,78,"pl-c"],[41,43,"pl-c"],[76,78,"pl-c"]],[],[[1,7,"pl-k"],[8,44,"pl-en"]],[],[],[],[],[],[],[],[[0,30,"pl-en"],[31,51,"pl-s"],[31,32,"pl-pds"],[50,51,"pl-pds"]],[[31,45,"pl-s"],[31,32,"pl-pds"],[44,45,"pl-pds"]],[],[],[[29,50,"pl-s"],[29,30,"pl-pds"],[49,50,"pl-pds"]],[[29,49,"pl-s"],[29,30,"pl-pds"],[48,49,"pl-pds"]],[[29,43,"pl-s"],[29,30,"pl-pds"],[42,43,"pl-pds"]],[],[],[[30,34,"pl-c1"],[36,92,"pl-c"],[36,38,"pl-c"]],[],[[1,7,"pl-k"],[8,66,"pl-en"]],[],[[4,33,"pl-en"],[34,38,"pl-c1"],[40,92,"pl-c"],[40,42,"pl-c"],[90,92,"pl-c"]],[[34,38,"pl-c1"],[40,94,"pl-c"],[40,42,"pl-c"],[92,94,"pl-c"]],[[34,38,"pl-c1"],[40,93,"pl-c"],[40,42,"pl-c"],[91,93,"pl-c"]],[[34,38,"pl-c1"],[40,83,"pl-c"],[40,42,"pl-c"],[81,83,"pl-c"]],[[34,38,"pl-c1"],[40,81,"pl-c"],[40,42,"pl-c"],[79,81,"pl-c"]],[[34,38,"pl-c1"],[40,70,"pl-c"],[40,42,"pl-c"],[68,70,"pl-c"]],[[34,38,"pl-c1"],[40,80,"pl-c"],[40,42,"pl-c"],[78,80,"pl-c"]],[[34,38,"pl-c1"],[40,53,"pl-c"],[40,42,"pl-c"],[51,53,"pl-c"]],[[34,38,"pl-c1"],[40,85,"pl-c"],[40,42,"pl-c"],[83,85,"pl-c"]],[[34,38,"pl-c1"],[40,88,"pl-c"],[40,42,"pl-c"],[86,88,"pl-c"]],[[34,38,"pl-c1"],[40,89,"pl-c"],[40,42,"pl-c"],[87,89,"pl-c"]],[[34,38,"pl-c1"],[40,85,"pl-c"],[40,42,"pl-c"],[83,85,"pl-c"]],[[34,38,"pl-c1"],[40,88,"pl-c"],[40,42,"pl-c"],[86,88,"pl-c"]],[[34,38,"pl-c1"],[40,98,"pl-c"],[40,42,"pl-c"],[96,98,"pl-c"]],[[34,38,"pl-c1"],[40,80,"pl-c"],[40,42,"pl-c"],[78,80,"pl-c"]],[[34,38,"pl-c1"],[40,94,"pl-c"],[40,42,"pl-c"],[92,94,"pl-c"]],[[34,38,"pl-c1"],[40,97,"pl-c"],[40,42,"pl-c"],[95,97,"pl-c"]],[[34,38,"pl-c1"],[40,67,"pl-c"],[40,42,"pl-c"],[65,67,"pl-c"]],[],[[1,7,"pl-k"],[8,64,"pl-en"]],[],[[0,100,"pl-c"]],[[0,100,"pl-c"]],[[0,100,"pl-c"]],[],[[0,93,"pl-c"],[0,2,"pl-c"]],[[0,91,"pl-c"],[0,2,"pl-c"]],[[0,80,"pl-c"],[0,2,"pl-c"]],[[0,22,"pl-c"],[0,2,"pl-c"]],[[0,84,"pl-c"],[0,2,"pl-c"]],[[0,57,"pl-c"],[0,2,"pl-c"]],[[0,57,"pl-c"],[0,2,"pl-c"]],[[0,57,"pl-c"],[0,2,"pl-c"]],[[0,57,"pl-c"],[0,2,"pl-c"]],[[0,57,"pl-c"],[0,2,"pl-c"]],[[0,57,"pl-c"],[0,2,"pl-c"]],[[0,57,"pl-c"],[0,2,"pl-c"]],[[0,57,"pl-c"],[0,2,"pl-c"]],[[0,57,"pl-c"],[0,2,"pl-c"]],[],[[0,37,"pl-c"],[0,2,"pl-c"]],[[1,3,"pl-k"]],[[1,7,"pl-k"],[8,37,"pl-en"]],[[1,6,"pl-k"],[7,23,"pl-c"],[7,9,"pl-c"]],[[1,3,"pl-k"]],[[1,7,"pl-k"],[8,34,"pl-en"]],[[1,6,"pl-k"],[7,14,"pl-c"],[7,9,"pl-c"]],[[1,3,"pl-k"]],[[1,6,"pl-k"]],[[1,6,"pl-k"],[7,39,"pl-c"],[7,9,"pl-c"]],[],[[1,3,"pl-k"]],[],[[1,7,"pl-k"],[8,36,"pl-en"]],[[1,6,"pl-k"],[7,16,"pl-c"],[7,9,"pl-c"]],[[1,3,"pl-k"]],[[1,6,"pl-k"]],[[1,6,"pl-k"],[7,41,"pl-c"],[7,9,"pl-c"]],[],[[1,7,"pl-k"]],[[1,3,"pl-k"]],[],[[1,7,"pl-k"],[8,36,"pl-en"]],[[1,6,"pl-k"],[7,23,"pl-c"],[7,9,"pl-c"]],[[1,6,"pl-k"],[7,38,"pl-c"],[7,9,"pl-c"]],[],[[1,6,"pl-k"]],[[1,7,"pl-k"]],[[1,7,"pl-k"],[8,36,"pl-en"]],[[1,6,"pl-k"],[7,38,"pl-c"],[7,9,"pl-c"]],[[1,6,"pl-k"],[7,59,"pl-c"],[7,9,"pl-c"]],[],[[1,3,"pl-k"]],[[1,7,"pl-k"],[8,46,"pl-en"]],[[1,6,"pl-k"],[7,81,"pl-c"],[7,9,"pl-c"]],[],[[1,6,"pl-k"]],[[1,7,"pl-k"],[8,40,"pl-en"]],[[1,6,"pl-k"]],[],[[1,3,"pl-k"]],[[1,7,"pl-k"],[8,32,"pl-en"]],[[1,6,"pl-k"],[7,44,"pl-c"],[7,9,"pl-c"]],[],[[1,3,"pl-k"]],[[1,3,"pl-k"]],[[1,7,"pl-k"],[8,29,"pl-en"],[30,40,"pl-en"]],[[1,7,"pl-k"],[8,29,"pl-en"],[30,40,"pl-en"]],[[1,5,"pl-k"],[6,13,"pl-c"],[6,8,"pl-c"]],[[1,7,"pl-k"],[8,29,"pl-en"],[30,43,"pl-en"]],[[1,7,"pl-k"],[8,29,"pl-en"],[30,43,"pl-en"]],[[7,14,"pl-c"],[7,9,"pl-c"]],[[1,5,"pl-k"],[7,16,"pl-c"],[7,9,"pl-c"]],[[1,7,"pl-k"],[8,29,"pl-en"],[30,43,"pl-en"],[56,65,"pl-s"],[56,57,"pl-pds"],[64,65,"pl-pds"]],[[1,7,"pl-k"],[8,29,"pl-en"]],[[1,6,"pl-k"],[7,16,"pl-c"],[7,9,"pl-c"]],[],[[1,6,"pl-k"]],[[1,6,"pl-k"]],[[1,7,"pl-k"],[8,25,"pl-en"]],[[1,5,"pl-k"],[6,33,"pl-c"],[6,8,"pl-c"]],[[1,7,"pl-k"],[8,25,"pl-en"]],[[1,6,"pl-k"],[7,34,"pl-c"],[7,9,"pl-c"]],[[1,5,"pl-k"],[7,46,"pl-c"],[7,9,"pl-c"]],[[1,7,"pl-k"],[8,25,"pl-en"]],[[1,6,"pl-k"],[7,46,"pl-c"],[7,9,"pl-c"]],[],[[0,44,"pl-c"],[0,2,"pl-c"]],[[0,48,"pl-c"],[0,2,"pl-c"]],[[1,3,"pl-k"]],[[1,7,"pl-k"],[8,30,"pl-en"]],[[1,7,"pl-k"],[8,29,"pl-en"]],[[1,5,"pl-k"],[6,21,"pl-c"],[6,8,"pl-c"]],[[1,7,"pl-k"],[8,30,"pl-en"]],[[1,7,"pl-k"],[8,29,"pl-en"]],[[1,6,"pl-k"],[7,22,"pl-c"],[7,9,"pl-c"]],[],[[1,7,"pl-k"],[8,21,"pl-en"]],[],[[1,3,"pl-k"]],[[1,7,"pl-k"],[8,24,"pl-en"],[25,35,"pl-en"]],[[1,7,"pl-k"],[8,22,"pl-en"]],[[1,7,"pl-k"],[8,25,"pl-en"],[26,27,"pl-v"]],[[1,5,"pl-k"]],[[1,7,"pl-k"],[8,24,"pl-en"]],[[1,7,"pl-k"],[8,22,"pl-en"]],[[1,7,"pl-k"],[8,25,"pl-en"],[26,27,"pl-v"]],[[1,5,"pl-k"]],[[1,7,"pl-k"],[8,24,"pl-en"],[25,38,"pl-en"]],[[1,7,"pl-k"],[8,22,"pl-en"],[23,36,"pl-en"]],[[1,7,"pl-k"],[8,25,"pl-en"],[26,27,"pl-v"]],[[1,6,"pl-k"]],[],[[1,6,"pl-k"]],[[1,7,"pl-k"],[8,31,"pl-en"],[32,38,"pl-k"]],[[1,5,"pl-k"]],[[1,7,"pl-k"],[8,31,"pl-en"],[32,38,"pl-k"]],[[1,6,"pl-k"]],[],[[1,7,"pl-k"]],[[1,3,"pl-k"]],[[1,7,"pl-k"],[8,24,"pl-en"]],[[1,5,"pl-k"],[6,21,"pl-c"],[6,8,"pl-c"]],[[1,7,"pl-k"],[8,24,"pl-en"]],[[1,6,"pl-k"],[7,22,"pl-c"],[7,9,"pl-c"]],[[1,6,"pl-k"],[7,26,"pl-c"],[7,9,"pl-c"]],[],[[1,7,"pl-k"]],[[1,3,"pl-k"]],[[1,7,"pl-k"],[8,24,"pl-en"]],[[1,5,"pl-k"],[6,21,"pl-c"],[6,8,"pl-c"]],[[1,7,"pl-k"],[8,24,"pl-en"],[25,33,"pl-k"]],[[1,6,"pl-k"],[7,22,"pl-c"],[7,9,"pl-c"]],[[1,6,"pl-k"],[7,26,"pl-c"],[7,9,"pl-c"]],[],[[1,7,"pl-k"]],[[1,3,"pl-k"]],[[1,7,"pl-k"],[8,25,"pl-en"],[26,31,"pl-k"]],[[1,7,"pl-k"],[8,30,"pl-en"],[31,37,"pl-k"]],[[1,5,"pl-k"],[6,21,"pl-c"],[6,8,"pl-c"]],[[1,7,"pl-k"],[8,25,"pl-en"],[26,35,"pl-k"]],[[1,7,"pl-k"],[8,30,"pl-en"],[31,40,"pl-k"]],[[1,6,"pl-k"],[7,22,"pl-c"],[7,9,"pl-c"]],[[1,6,"pl-k"],[7,27,"pl-c"],[7,9,"pl-c"]],[],[[1,7,"pl-k"]],[[1,3,"pl-k"]],[[1,7,"pl-k"],[8,35,"pl-en"],[36,49,"pl-en"],[63,72,"pl-s"],[63,64,"pl-pds"],[71,72,"pl-pds"]],[[1,5,"pl-k"]],[[1,7,"pl-k"],[8,35,"pl-en"]],[[1,6,"pl-k"]],[[1,6,"pl-k"],[7,37,"pl-c"],[7,9,"pl-c"]],[],[[0,100,"pl-c"]],[[0,100,"pl-c"]],[[0,100,"pl-c"]],[],[[1,7,"pl-k"],[8,33,"pl-en"],[34,38,"pl-v"]],[[4,11,"pl-k"],[12,17,"pl-en"]],[[4,8,"pl-en"]],[[4,8,"pl-en"],[9,14,"pl-k"]],[[4,8,"pl-en"]],[[10,18,"pl-k"],[20,25,"pl-k"],[35,41,"pl-k"]],[[10,18,"pl-k"],[30,36,"pl-k"]],[],[[1,7,"pl-k"],[8,32,"pl-en"],[33,37,"pl-v"]],[[4,15,"pl-en"],[20,27,"pl-k"]],[],[[0,82,"pl-c"],[0,2,"pl-c"]],[[1,7,"pl-k"],[8,24,"pl-en"],[25,31,"pl-v"]],[[1,7,"pl-k"],[8,19,"pl-en"],[20,26,"pl-v"]],[[1,6,"pl-k"],[19,72,"pl-c"],[19,21,"pl-c"]],[[1,7,"pl-k"],[8,25,"pl-en"],[26,27,"pl-v"]],[[1,5,"pl-k"],[6,20,"pl-c"],[6,8,"pl-c"]],[[1,7,"pl-k"],[8,25,"pl-en"],[26,27,"pl-v"]],[[1,6,"pl-k"],[7,21,"pl-c"],[7,9,"pl-c"]],[],[[1,7,"pl-k"]],[[1,7,"pl-k"],[8,24,"pl-en"],[25,26,"pl-v"]],[[1,5,"pl-k"],[6,53,"pl-c"],[6,8,"pl-c"]],[[1,7,"pl-k"],[8,24,"pl-en"],[25,26,"pl-v"]],[[1,6,"pl-k"],[7,54,"pl-c"],[7,9,"pl-c"]],[],[[0,59,"pl-c"],[0,2,"pl-c"]],[[1,6,"pl-k"]],[[1,7,"pl-k"],[8,28,"pl-en"]],[[1,5,"pl-k"]],[[1,7,"pl-k"],[8,31,"pl-en"]],[[1,5,"pl-k"]],[[1,7,"pl-k"],[8,32,"pl-en"]],[[1,5,"pl-k"]],[[1,7,"pl-k"],[8,29,"pl-en"]],[[1,5,"pl-k"],[6,25,"pl-c"],[6,8,"pl-c"]],[[1,7,"pl-k"],[8,30,"pl-en"]],[[1,6,"pl-k"],[7,26,"pl-c"],[7,9,"pl-c"]],[],[[0,9,"pl-k"],[10,17,"pl-en"],[20,29,"pl-k"],[30,36,"pl-en"]],[[4,10,"pl-k"],[29,32,"pl-k"],[33,40,"pl-en"],[41,46,"pl-k"],[47,50,"pl-k"],[53,56,"pl-k"],[58,66,"pl-k"],[69,75,"pl-k"],[76,77,"pl-c1"]],[],[],[[1,7,"pl-k"],[8,34,"pl-en"]],[[4,44,"pl-en"],[45,68,"pl-s"],[45,46,"pl-pds"],[67,68,"pl-pds"]],[[11,16,"pl-k"]],[],[],[[1,7,"pl-k"]],[[0,70,"pl-c"],[0,2,"pl-c"]],[[1,6,"pl-k"]],[[1,3,"pl-k"]],[[0,57,"pl-c"],[0,2,"pl-c"]],[[1,7,"pl-k"],[8,35,"pl-en"],[38,45,"pl-k"],[46,56,"pl-s"],[46,47,"pl-pds"],[53,55,"pl-cce"],[55,56,"pl-pds"],[62,91,"pl-c"],[62,64,"pl-c"]],[[1,5,"pl-k"]],[[1,8,"pl-k"],[9,19,"pl-s"],[9,10,"pl-pds"],[18,19,"pl-pds"]],[[1,7,"pl-k"],[8,35,"pl-en"]],[[1,6,"pl-k"]],[[1,5,"pl-k"]],[[1,3,"pl-k"]],[[1,7,"pl-k"],[8,35,"pl-en"],[38,45,"pl-k"],[46,56,"pl-s"],[46,47,"pl-pds"],[53,55,"pl-cce"],[55,56,"pl-pds"],[62,91,"pl-c"],[62,64,"pl-c"]],[[1,5,"pl-k"]],[[0,65,"pl-c"],[0,2,"pl-c"]],[[1,7,"pl-k"],[8,35,"pl-en"],[38,45,"pl-k"],[46,98,"pl-s"],[46,47,"pl-pds"],[56,58,"pl-cce"],[60,62,"pl-cce"],[65,67,"pl-cce"],[76,78,"pl-cce"],[86,88,"pl-cce"],[90,92,"pl-cce"],[95,97,"pl-cce"],[97,98,"pl-pds"],[104,112,"pl-s"],[104,105,"pl-pds"],[111,112,"pl-pds"],[113,117,"pl-s"],[113,114,"pl-pds"],[116,117,"pl-pds"],[118,122,"pl-s"],[118,119,"pl-pds"],[121,122,"pl-pds"],[123,127,"pl-s"],[123,124,"pl-pds"],[126,127,"pl-pds"],[129,158,"pl-c"],[129,131,"pl-c"]],[[1,5,"pl-k"]],[[1,7,"pl-k"],[8,35,"pl-en"],[38,45,"pl-k"],[46,54,"pl-s"],[46,47,"pl-pds"],[53,54,"pl-pds"],[57,86,"pl-c"],[57,59,"pl-c"]],[[1,6,"pl-k"]],[[1,5,"pl-k"]],[[1,7,"pl-k"],[8,35,"pl-en"]],[[1,5,"pl-k"]],[[0,38,"pl-en"],[39,58,"pl-s"],[39,40,"pl-pds"],[57,58,"pl-pds"]],[],[],[[1,7,"pl-k"],[8,35,"pl-en"]],[[1,5,"pl-k"],[6,14,"pl-c"],[6,8,"pl-c"]],[[1,7,"pl-k"],[8,35,"pl-en"],[39,50,"pl-k"],[51,55,"pl-k"],[57,58,"pl-c1"]],[[1,6,"pl-k"],[7,15,"pl-c"],[7,9,"pl-c"]],[[1,6,"pl-k"],[7,37,"pl-c"],[7,9,"pl-c"]],[],[[0,84,"pl-c"],[0,2,"pl-c"]],[[1,6,"pl-k"]],[[1,7,"pl-k"]],[[1,7,"pl-k"],[8,38,"pl-en"]],[[1,6,"pl-k"]],[[1,6,"pl-k"],[7,35,"pl-c"],[7,9,"pl-c"]],[],[[0,74,"pl-c"],[0,2,"pl-c"]],[[0,76,"pl-c"],[0,2,"pl-c"]],[[0,78,"pl-c"],[0,2,"pl-c"]],[[0,48,"pl-c"],[0,2,"pl-c"]],[[0,48,"pl-c"],[0,2,"pl-c"]],[[1,3,"pl-k"]],[[1,8,"pl-k"],[9,18,"pl-s"],[9,10,"pl-pds"],[17,18,"pl-pds"]],[[1,6,"pl-k"],[7,15,"pl-c"],[7,9,"pl-c"]],[],[[1,6,"pl-k"]],[[1,7,"pl-k"]],[[1,7,"pl-k"],[8,38,"pl-en"]],[[1,6,"pl-k"]],[[1,6,"pl-k"],[7,25,"pl-c"],[7,9,"pl-c"]],[],[[1,6,"pl-k"]],[[1,7,"pl-k"]],[[1,7,"pl-k"],[8,42,"pl-en"]],[[1,6,"pl-k"],[7,44,"pl-c"],[7,9,"pl-c"]],[],[[1,8,"pl-k"],[9,18,"pl-s"],[9,10,"pl-pds"],[17,18,"pl-pds"]],[[1,8,"pl-k"],[9,18,"pl-s"],[9,10,"pl-pds"],[17,18,"pl-pds"]],[[1,8,"pl-k"],[9,18,"pl-s"],[9,10,"pl-pds"],[17,18,"pl-pds"]],[],[[1,5,"pl-k"],[6,39,"pl-c"],[6,8,"pl-c"]],[],[[0,79,"pl-c"],[0,2,"pl-c"]],[[0,39,"pl-en"],[40,44,"pl-c1"]],[],[[16,41,"pl-c"],[16,18,"pl-c"]],[[0,7,"pl-k"],[8,16,"pl-smi"],[17,24,"pl-c1"],[26,35,"pl-c1"],[37,67,"pl-c"],[37,39,"pl-c"]],[[0,7,"pl-k"],[8,16,"pl-smi"],[17,23,"pl-k"],[24,28,"pl-k"],[32,38,"pl-c1"],[40,70,"pl-c"],[40,42,"pl-c"]],[[0,9,"pl-k"],[10,15,"pl-k"],[16,21,"pl-en"]],[[0,6,"pl-k"],[7,18,"pl-en"]],[[0,9,"pl-k"]],[[0,6,"pl-k"],[7,18,"pl-en"],[19,23,"pl-k"]],[[0,9,"pl-k"],[10,15,"pl-k"],[16,21,"pl-en"],[23,28,"pl-k"],[29,35,"pl-en"]],[[0,5,"pl-k"],[6,19,"pl-en"],[21,59,"pl-c"],[21,23,"pl-c"]],[[0,7,"pl-k"],[22,26,"pl-k"],[40,44,"pl-k"],[56,86,"pl-c"],[56,58,"pl-c"]],[[0,8,"pl-k"],[9,14,"pl-k"],[15,21,"pl-en"]],[[0,17,"pl-c"],[0,2,"pl-c"]],[[14,18,"pl-k"],[29,37,"pl-k"],[54,58,"pl-k"],[70,75,"pl-k"],[76,80,"pl-k"]],[[0,9,"pl-k"],[10,15,"pl-k"],[16,21,"pl-en"],[23,28,"pl-k"],[29,35,"pl-en"]],[[0,5,"pl-k"],[6,19,"pl-en"]],[[0,7,"pl-k"],[22,26,"pl-k"],[40,44,"pl-k"],[56,86,"pl-c"],[56,58,"pl-c"]],[[0,9,"pl-k"],[10,15,"pl-k"]],[[0,5,"pl-k"],[6,11,"pl-en"]],[[1,3,"pl-k"]],[[0,86,"pl-c"],[0,2,"pl-c"]],[[0,9,"pl-k"],[10,15,"pl-k"],[16,18,"pl-en"]],[[0,5,"pl-k"],[6,15,"pl-en"]],[[0,9,"pl-k"],[10,15,"pl-k"],[16,20,"pl-en"],[22,27,"pl-k"],[28,34,"pl-en"],[36,41,"pl-k"],[42,47,"pl-en"]],[[0,5,"pl-k"],[6,18,"pl-en"]],[[0,5,"pl-k"],[28,32,"pl-k"],[46,50,"pl-k"],[63,67,"pl-k"]],[[1,6,"pl-k"],[7,17,"pl-c"],[7,9,"pl-c"]],[[2,18,"pl-c"],[2,4,"pl-c"]],[],[],[],[[1,6,"pl-k"],[7,40,"pl-c"],[7,9,"pl-c"]],[],[[1,6,"pl-k"]],[[1,8,"pl-k"],[9,22,"pl-s"],[9,10,"pl-pds"],[21,22,"pl-pds"]],[[1,6,"pl-k"],[7,44,"pl-c"],[7,9,"pl-c"]],[],[[0,9,"pl-k"],[10,17,"pl-en"]],[],[[0,5,"pl-k"],[11,17,"pl-c1"]],[],[[18,24,"pl-k"],[25,29,"pl-k"]],[],[[1,7,"pl-k"]],[[1,7,"pl-k"],[8,39,"pl-en"],[40,48,"pl-k"]],[[1,6,"pl-k"]],[],[[0,106,"pl-c"],[0,2,"pl-c"]],[[0,101,"pl-c"],[0,2,"pl-c"]],[[0,89,"pl-c"],[0,2,"pl-c"]],[[0,80,"pl-c"],[0,2,"pl-c"]],[[0,74,"pl-c"],[0,2,"pl-c"]],[[0,94,"pl-c"],[0,2,"pl-c"]],[[0,93,"pl-c"],[0,2,"pl-c"]],[[0,92,"pl-c"],[0,2,"pl-c"]],[[0,46,"pl-c"],[0,2,"pl-c"]],[[0,8,"pl-c"],[0,2,"pl-c"]],[[0,81,"pl-c"],[0,2,"pl-c"]],[[0,25,"pl-c"],[0,2,"pl-c"]],[[0,12,"pl-c"],[0,2,"pl-c"]],[[0,15,"pl-c"],[0,2,"pl-c"]],[[0,19,"pl-c"],[0,2,"pl-c"]],[[0,19,"pl-c"],[0,2,"pl-c"]],[[0,23,"pl-c"],[0,2,"pl-c"]],[[0,24,"pl-c"],[0,2,"pl-c"]],[[0,85,"pl-c"],[0,2,"pl-c"]],[[0,5,"pl-k"],[6,23,"pl-en"]],[],[[0,7,"pl-k"]],[[4,9,"pl-k"]],[],[[0,8,"pl-k"]],[[4,10,"pl-k"],[46,48,"pl-c1"],[55,93,"pl-c"],[55,57,"pl-c"]],[[4,10,"pl-k"],[52,53,"pl-c1"],[55,93,"pl-c"],[55,57,"pl-c"]],[],[[4,10,"pl-k"],[11,15,"pl-en"],[16,93,"pl-c"],[16,18,"pl-c"]],[],[[8,12,"pl-k"]],[],[],[],[],[[4,9,"pl-k"]],[],[[8,12,"pl-k"],[23,50,"pl-c"],[23,25,"pl-c"]],[],[],[],[[4,8,"pl-k"],[10,18,"pl-en"]],[],[[4,8,"pl-k"],[9,18,"pl-en"],[21,26,"pl-k"],[27,35,"pl-k"],[38,44,"pl-k"],[58,61,"pl-c1"],[66,67,"pl-c1"]],[[4,8,"pl-k"],[9,18,"pl-en"],[21,29,"pl-k"]],[[4,8,"pl-k"],[9,16,"pl-en"],[38,46,"pl-k"]],[[4,8,"pl-k"],[9,16,"pl-en"],[31,39,"pl-k"]],[],[[4,8,"pl-k"],[9,13,"pl-en"],[14,19,"pl-k"]],[],[[0,7,"pl-k"]],[[4,10,"pl-k"],[46,57,"pl-k"],[70,71,"pl-c1"]],[],[[4,10,"pl-en"],[13,21,"pl-k"]],[[4,11,"pl-en"]],[],[[4,46,"pl-c"],[4,6,"pl-c"]],[[4,10,"pl-en"],[11,16,"pl-k"],[17,21,"pl-k"]],[[4,10,"pl-en"],[11,16,"pl-k"],[17,21,"pl-k"]],[],[[4,10,"pl-en"]],[],[[4,10,"pl-en"],[11,16,"pl-k"]],[[12,20,"pl-k"],[22,27,"pl-k"]],[],[[12,20,"pl-k"],[23,28,"pl-k"]],[],[[4,10,"pl-en"],[27,35,"pl-k"]],[[12,20,"pl-k"],[38,46,"pl-k"]],[],[[4,8,"pl-k"],[10,18,"pl-k"],[34,39,"pl-k"]],[[4,8,"pl-k"],[10,18,"pl-k"]],[],[[4,88,"pl-c"],[4,6,"pl-c"]],[[4,9,"pl-k"],[10,14,"pl-k"],[16,21,"pl-en"],[24,29,"pl-k"],[32,38,"pl-k"],[39,49,"pl-k"],[59,63,"pl-c1"],[66,71,"pl-c1"],[77,86,"pl-c"],[77,79,"pl-c"]],[[4,8,"pl-k"],[16,21,"pl-en"]],[[8,10,"pl-k"],[12,21,"pl-c1"]],[[12,18,"pl-k"],[19,35,"pl-k"],[36,40,"pl-k"]],[],[[8,14,"pl-k"],[20,23,"pl-smi"]],[],[],[[14,18,"pl-en"],[21,26,"pl-k"]],[[14,22,"pl-en"],[25,30,"pl-k"]],[],[[11,17,"pl-en"]],[[11,17,"pl-en"],[55,60,"pl-k"]],[],[[14,18,"pl-en"],[19,23,"pl-k"],[44,45,"pl-c1"],[47,52,"pl-k"]],[[14,19,"pl-en"],[20,24,"pl-k"],[51,56,"pl-k"]],[],[[4,7,"pl-k"],[8,15,"pl-en"],[16,21,"pl-k"],[22,26,"pl-k"],[35,39,"pl-k"],[50,55,"pl-c1"],[57,62,"pl-k"]],[[4,7,"pl-k"],[8,15,"pl-en"],[16,21,"pl-k"],[37,41,"pl-k"],[52,57,"pl-c1"],[59,64,"pl-k"]],[],[[0,6,"pl-k"],[39,47,"pl-k"],[67,72,"pl-k"]],[],[],[[25,33,"pl-k"],[35,40,"pl-k"],[54,59,"pl-k"]],[],[[18,22,"pl-k"],[23,31,"pl-k"],[34,39,"pl-k"],[53,58,"pl-k"]],[[18,22,"pl-k"],[23,31,"pl-k"],[34,39,"pl-k"],[53,58,"pl-k"]],[[18,22,"pl-k"],[23,31,"pl-k"],[33,38,"pl-k"],[52,57,"pl-k"]],[[18,22,"pl-k"],[23,31,"pl-k"],[33,38,"pl-k"],[52,57,"pl-k"]],[[18,22,"pl-k"],[23,31,"pl-k"],[34,39,"pl-k"],[53,58,"pl-k"]],[[18,22,"pl-k"],[23,31,"pl-k"],[34,39,"pl-k"],[53,58,"pl-k"]],[],[[0,5,"pl-k"],[6,23,"pl-en"]],[[0,7,"pl-k"]],[[4,12,"pl-k"],[13,21,"pl-en"],[22,27,"pl-k"]],[],[[4,8,"pl-k"],[9,18,"pl-en"],[19,24,"pl-k"],[40,45,"pl-k"]],[],[],[],[],[[25,33,"pl-en"],[34,39,"pl-k"]],[],[[18,22,"pl-k"],[23,31,"pl-k"],[34,39,"pl-k"],[53,58,"pl-k"]],[[18,22,"pl-k"],[23,31,"pl-k"],[34,39,"pl-k"],[55,60,"pl-k"]],[[18,22,"pl-k"],[23,31,"pl-k"],[34,39,"pl-k"],[53,58,"pl-k"]],[[18,22,"pl-k"],[23,31,"pl-k"],[34,39,"pl-k"],[55,60,"pl-k"]],[],[[0,9,"pl-k"],[10,15,"pl-en"]],[[4,8,"pl-k"]],[],[[15,16,"pl-c1"]],[],[],[],[],[],[],[],[],[[17,21,"pl-c1"]],[],[],[],[],[],[],[],[[36,44,"pl-k"]],[[2,20,"pl-c"],[2,4,"pl-c"]],[],[[0,9,"pl-k"],[10,20,"pl-en"]],[[4,8,"pl-k"]],[],[[8,23,"pl-c"],[8,10,"pl-c"]],[],[[21,22,"pl-c1"]],[[21,22,"pl-c1"]],[[21,22,"pl-c1"]],[],[[25,26,"pl-c1"]],[[25,26,"pl-c1"]],[[25,26,"pl-c1"]],[[25,26,"pl-c1"]],[[25,26,"pl-c1"]],[],[[19,20,"pl-c1"]],[[19,20,"pl-c1"],[33,93,"pl-c"],[33,35,"pl-c"]],[],[[16,17,"pl-c1"]],[[16,17,"pl-c1"]],[],[[16,17,"pl-c1"]],[[16,17,"pl-c1"]],[],[[16,17,"pl-c1"]],[[16,17,"pl-c1"]],[],[[8,22,"pl-c"],[8,10,"pl-c"]],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[[2,25,"pl-c"],[2,4,"pl-c"]],[],[[18,23,"pl-k"],[24,28,"pl-k"],[30,42,"pl-en"]],[[18,23,"pl-k"],[24,28,"pl-k"],[30,43,"pl-en"]],[[18,23,"pl-k"],[24,28,"pl-k"],[30,50,"pl-en"],[51,56,"pl-k"],[57,61,"pl-k"]],[],[[0,6,"pl-k"],[7,24,"pl-en"]],[],[[30,100,"pl-c"],[30,32,"pl-c"]],[[4,12,"pl-k"],[30,71,"pl-c"],[30,32,"pl-c"]],[[4,9,"pl-k"],[10,14,"pl-k"],[30,54,"pl-c"],[30,32,"pl-c"]],[[4,9,"pl-k"],[10,14,"pl-k"],[30,75,"pl-c"],[30,32,"pl-c"]],[[4,9,"pl-k"],[10,14,"pl-k"]],[[4,8,"pl-k"]],[[4,8,"pl-k"]],[[4,8,"pl-k"]],[[4,8,"pl-k"]],[[4,8,"pl-k"]],[[4,7,"pl-k"]],[[4,10,"pl-k"]],[],[],[[0,6,"pl-k"],[7,24,"pl-en"]],[],[[4,31,"pl-c"],[4,6,"pl-c"]],[[4,9,"pl-k"]],[],[[4,9,"pl-k"],[10,14,"pl-k"]],[[4,7,"pl-k"]],[[4,9,"pl-k"],[10,14,"pl-k"]],[[4,8,"pl-k"]],[],[[4,42,"pl-c"],[4,6,"pl-c"]],[[4,8,"pl-k"]],[],[],[[4,25,"pl-c"],[4,6,"pl-c"]],[],[],[[4,45,"pl-c"],[4,6,"pl-c"]],[[4,8,"pl-k"]],[[4,9,"pl-k"],[10,14,"pl-k"]],[],[[4,9,"pl-k"],[10,27,"pl-en"]],[[8,16,"pl-k"]],[],[[12,16,"pl-k"]],[],[[8,15,"pl-k"]],[[12,26,"pl-en"],[27,32,"pl-k"],[73,78,"pl-c1"]],[[12,26,"pl-en"],[52,63,"pl-k"],[95,99,"pl-c1"]],[],[[12,16,"pl-k"],[17,22,"pl-en"],[23,28,"pl-k"],[44,50,"pl-k"],[92,98,"pl-smi"]],[],[[12,20,"pl-k"],[21,26,"pl-k"],[37,42,"pl-k"],[45,51,"pl-k"],[60,66,"pl-smi"]],[],[[12,17,"pl-k"],[18,22,"pl-k"],[24,29,"pl-en"],[32,37,"pl-k"],[40,46,"pl-k"],[55,61,"pl-smi"],[62,67,"pl-c1"]],[],[],[[4,14,"pl-en"],[36,41,"pl-k"],[42,46,"pl-k"],[54,57,"pl-k"],[64,69,"pl-k"],[70,74,"pl-k"]],[[8,13,"pl-k"],[14,18,"pl-k"],[36,41,"pl-k"]],[],[],[[0,6,"pl-k"],[7,24,"pl-en"]],[],[],[[4,9,"pl-k"],[10,14,"pl-k"]],[[4,7,"pl-k"]],[],[],[],[[0,6,"pl-k"],[7,24,"pl-en"]],[],[],[[4,9,"pl-k"],[10,14,"pl-k"]],[[4,7,"pl-k"]],[],[[4,8,"pl-k"],[9,17,"pl-k"],[20,25,"pl-k"],[51,56,"pl-k"]],[[4,8,"pl-k"],[9,17,"pl-k"],[19,24,"pl-k"],[50,55,"pl-k"]],[],[],[[0,6,"pl-k"],[7,24,"pl-en"]],[],[[4,29,"pl-en"]],[[4,11,"pl-k"],[12,16,"pl-k"],[17,26,"pl-en"],[42,47,"pl-k"]],[],[],[[0,9,"pl-k"],[10,16,"pl-en"]],[[4,10,"pl-k"],[11,28,"pl-en"]],[[2,21,"pl-c"],[2,4,"pl-c"]],[],[[0,6,"pl-k"],[7,21,"pl-en"],[22,47,"pl-c"],[22,24,"pl-c"]],[],[[25,32,"pl-c1"],[34,50,"pl-c"],[34,36,"pl-c"]],[[34,57,"pl-c"],[34,36,"pl-c"]],[],[[4,9,"pl-k"],[42,49,"pl-c1"]],[],[[4,42,"pl-c"],[4,6,"pl-c"]],[[24,42,"pl-c"],[24,26,"pl-c"]],[[24,54,"pl-c"],[24,26,"pl-c"]],[[4,12,"pl-k"],[24,53,"pl-c"],[24,26,"pl-c"]],[],[[4,12,"pl-k"],[20,63,"pl-c"],[20,22,"pl-c"]],[[4,12,"pl-k"],[20,62,"pl-c"],[20,22,"pl-c"]],[],[[4,7,"pl-k"],[31,78,"pl-c"],[31,33,"pl-c"]],[[4,7,"pl-k"],[31,82,"pl-c"],[31,33,"pl-c"]],[],[[4,8,"pl-k"],[31,73,"pl-c"],[31,33,"pl-c"]],[[4,8,"pl-k"],[31,71,"pl-c"],[31,33,"pl-c"]],[[4,8,"pl-k"],[31,98,"pl-c"],[31,33,"pl-c"]],[[4,8,"pl-k"],[31,75,"pl-c"],[31,33,"pl-c"]],[[4,8,"pl-k"],[31,77,"pl-c"],[31,33,"pl-c"]],[[4,8,"pl-k"],[31,51,"pl-c"],[31,33,"pl-c"]],[[4,8,"pl-k"],[31,77,"pl-c"],[31,33,"pl-c"]],[[4,8,"pl-k"],[31,82,"pl-c"],[31,33,"pl-c"]],[[4,8,"pl-k"],[31,95,"pl-c"],[31,33,"pl-c"]],[[4,8,"pl-k"],[31,73,"pl-c"],[31,33,"pl-c"]],[[4,8,"pl-k"],[31,75,"pl-c"],[31,33,"pl-c"]],[[4,8,"pl-k"],[31,78,"pl-c"],[31,33,"pl-c"]],[[4,8,"pl-k"],[31,93,"pl-c"],[31,33,"pl-c"]],[[4,8,"pl-k"],[31,64,"pl-c"],[31,33,"pl-c"]],[[4,8,"pl-k"],[31,86,"pl-c"],[31,33,"pl-c"]],[[4,8,"pl-k"],[31,92,"pl-c"],[31,33,"pl-c"]],[[4,8,"pl-k"],[31,88,"pl-c"],[31,33,"pl-c"]],[[4,8,"pl-k"],[31,95,"pl-c"],[31,33,"pl-c"]],[[4,8,"pl-k"],[31,92,"pl-c"],[31,33,"pl-c"]],[[4,8,"pl-k"],[31,91,"pl-c"],[31,33,"pl-c"]],[[4,8,"pl-k"],[31,91,"pl-c"],[31,33,"pl-c"]],[],[[4,8,"pl-k"],[27,47,"pl-c"],[27,29,"pl-c"]],[[4,8,"pl-k"],[27,50,"pl-c"],[27,29,"pl-c"]],[[4,8,"pl-k"],[27,84,"pl-c"],[27,29,"pl-c"]],[[4,8,"pl-k"],[27,68,"pl-c"],[27,29,"pl-c"]],[[4,8,"pl-k"],[27,69,"pl-c"],[27,29,"pl-c"]],[[4,8,"pl-k"],[27,60,"pl-c"],[27,29,"pl-c"]],[],[],[[0,9,"pl-k"],[10,16,"pl-en"]],[[4,13,"pl-k"],[14,19,"pl-en"]],[[1,6,"pl-k"]],[[8,13,"pl-k"],[14,23,"pl-k"],[24,27,"pl-en"],[27,28,"pl-k"]],[[1,5,"pl-k"]],[[8,17,"pl-k"],[18,22,"pl-k"],[29,37,"pl-k"],[42,46,"pl-k"]],[[8,14,"pl-k"],[15,24,"pl-en"]],[],[[8,17,"pl-k"],[18,26,"pl-k"]],[[8,14,"pl-k"],[15,24,"pl-en"],[25,29,"pl-c1"],[36,41,"pl-k"]],[],[[8,14,"pl-k"],[15,24,"pl-en"],[27,33,"pl-k"],[52,56,"pl-k"],[65,69,"pl-c1"]],[[8,14,"pl-k"],[15,25,"pl-en"],[28,34,"pl-k"],[53,57,"pl-k"],[66,71,"pl-c1"]],[],[[8,17,"pl-k"],[18,26,"pl-k"],[30,36,"pl-k"],[37,53,"pl-en"],[56,61,"pl-k"]],[[8,17,"pl-k"],[18,26,"pl-k"],[30,36,"pl-k"],[37,53,"pl-en"],[60,65,"pl-k"]],[[8,17,"pl-k"],[18,26,"pl-k"],[30,36,"pl-k"],[37,53,"pl-en"],[61,66,"pl-k"]],[],[[8,17,"pl-k"],[18,26,"pl-k"],[30,36,"pl-k"],[37,56,"pl-en"]],[[8,17,"pl-k"],[18,26,"pl-k"],[30,36,"pl-k"],[37,56,"pl-en"]],[],[[8,16,"pl-k"],[17,25,"pl-k"],[29,35,"pl-k"],[36,48,"pl-en"],[51,56,"pl-k"]],[[8,17,"pl-k"],[18,26,"pl-k"],[30,36,"pl-k"],[37,49,"pl-en"],[50,55,"pl-k"],[61,66,"pl-k"]],[],[[8,30,"pl-c"],[8,10,"pl-c"]],[[8,17,"pl-k"],[18,26,"pl-k"],[30,36,"pl-k"],[37,44,"pl-en"],[47,53,"pl-k"],[72,76,"pl-k"]],[[8,17,"pl-k"],[18,26,"pl-k"],[30,36,"pl-k"],[37,52,"pl-en"],[55,60,"pl-k"]],[],[[8,17,"pl-k"],[18,26,"pl-k"],[30,36,"pl-k"],[37,47,"pl-en"]],[[8,17,"pl-k"],[18,26,"pl-k"],[30,36,"pl-k"],[37,47,"pl-en"]],[],[[8,17,"pl-k"],[18,26,"pl-k"],[30,36,"pl-k"],[37,45,"pl-en"]],[[8,43,"pl-c"],[8,10,"pl-c"]],[[8,17,"pl-k"],[18,26,"pl-k"],[30,36,"pl-c1"],[43,49,"pl-k"],[50,58,"pl-en"]],[[1,6,"pl-k"]],[],[],[[4,16,"pl-c"],[4,6,"pl-c"]],[[4,13,"pl-k"],[14,22,"pl-k"]],[],[],[[4,13,"pl-k"],[14,19,"pl-k"],[20,21,"pl-en"]],[[39,47,"pl-k"]],[[8,14,"pl-k"],[15,26,"pl-k"]],[],[],[[4,13,"pl-k"],[14,19,"pl-k"],[20,21,"pl-en"]],[[39,47,"pl-k"]],[[8,14,"pl-k"],[15,26,"pl-k"]],[],[],[[4,13,"pl-k"],[14,22,"pl-k"]],[[4,10,"pl-k"],[11,25,"pl-en"]],[],[[0,15,"pl-c"],[0,2,"pl-c"]],[[1,3,"pl-k"]],[[4,13,"pl-k"],[14,22,"pl-k"],[26,34,"pl-k"],[37,41,"pl-k"]],[[4,10,"pl-k"],[11,40,"pl-en"]],[],[[4,13,"pl-k"],[14,22,"pl-k"]],[[4,10,"pl-k"],[11,40,"pl-en"],[55,63,"pl-k"],[100,105,"pl-k"],[114,118,"pl-k"]],[],[[4,13,"pl-k"],[14,22,"pl-k"],[26,34,"pl-k"],[37,41,"pl-k"]],[[4,10,"pl-k"],[11,33,"pl-en"],[36,42,"pl-k"],[61,65,"pl-k"]],[],[[4,13,"pl-k"],[14,22,"pl-k"],[26,30,"pl-k"]],[[4,10,"pl-k"],[11,22,"pl-en"]],[],[[4,13,"pl-k"],[14,22,"pl-k"]],[[4,10,"pl-k"],[11,22,"pl-en"],[26,30,"pl-c1"]],[[8,14,"pl-k"],[15,19,"pl-k"],[20,26,"pl-en"],[45,50,"pl-k"],[61,69,"pl-k"]],[],[],[[4,13,"pl-k"],[14,22,"pl-k"]],[[4,10,"pl-k"],[11,22,"pl-en"],[26,31,"pl-c1"]],[[8,14,"pl-k"],[15,19,"pl-k"],[20,26,"pl-en"],[45,50,"pl-k"],[59,67,"pl-k"]],[],[],[[4,13,"pl-k"],[14,22,"pl-k"]],[[4,9,"pl-k"],[10,23,"pl-c1"]],[[1,5,"pl-k"]],[[4,13,"pl-k"],[14,22,"pl-k"],[26,34,"pl-k"],[37,41,"pl-k"]],[[4,10,"pl-k"],[11,33,"pl-en"]],[],[],[[4,13,"pl-k"],[14,22,"pl-k"]],[[4,10,"pl-k"],[11,33,"pl-en"],[46,54,"pl-k"],[91,96,"pl-k"],[105,109,"pl-k"]],[],[[4,13,"pl-k"],[14,22,"pl-k"]],[[4,10,"pl-k"],[11,46,"pl-en"]],[[8,14,"pl-k"],[33,37,"pl-k"]],[],[],[[36,44,"pl-en"]],[[29,36,"pl-en"]],[],[[4,13,"pl-k"],[14,18,"pl-k"]],[[4,10,"pl-k"],[11,26,"pl-en"]],[[8,17,"pl-k"],[18,26,"pl-k"]],[[8,14,"pl-k"],[22,29,"pl-en"],[30,35,"pl-k"],[36,52,"pl-en"]],[[1,6,"pl-k"]],[[12,25,"pl-c1"],[52,122,"pl-s"],[52,53,"pl-pds"],[121,122,"pl-pds"]],[[1,6,"pl-k"]],[[12,18,"pl-k"],[19,24,"pl-s"],[19,20,"pl-pds"],[23,24,"pl-pds"]],[],[],[],[[4,13,"pl-k"],[14,22,"pl-k"]],[[4,10,"pl-k"],[11,19,"pl-en"]],[],[[4,13,"pl-k"],[14,22,"pl-k"]],[[4,8,"pl-k"],[9,16,"pl-en"],[39,44,"pl-k"]],[[21,25,"pl-c1"]],[],[],[[4,13,"pl-k"],[14,22,"pl-k"],[26,32,"pl-c1"]],[[4,8,"pl-k"],[9,16,"pl-en"],[39,44,"pl-k"],[45,46,"pl-en"],[59,86,"pl-c"],[59,61,"pl-c"]],[[8,55,"pl-c"],[8,10,"pl-c"]],[[8,34,"pl-c"],[8,10,"pl-c"]],[[16,24,"pl-k"],[49,57,"pl-c1"]],[],[],[[4,13,"pl-k"],[14,22,"pl-k"]],[[11,19,"pl-en"],[20,25,"pl-k"]],[[31,39,"pl-c1"]],[[8,15,"pl-c1"]],[[8,14,"pl-k"],[15,22,"pl-c1"]],[],[],[[4,13,"pl-k"]],[[4,10,"pl-k"],[11,26,"pl-en"],[27,31,"pl-c1"]],[[8,17,"pl-k"],[18,26,"pl-k"]],[[8,14,"pl-k"],[22,29,"pl-en"],[30,35,"pl-k"],[36,52,"pl-en"]],[[12,18,"pl-k"],[19,27,"pl-c1"]],[],[],[[2,21,"pl-c"],[2,4,"pl-c"]],[],[[0,9,"pl-k"],[10,18,"pl-k"]],[[0,6,"pl-k"],[7,18,"pl-en"],[21,27,"pl-k"],[28,34,"pl-en"]],[],[],[],[[1,7,"pl-k"]],[[1,6,"pl-k"]],[[1,7,"pl-k"],[8,25,"pl-en"]],[[1,5,"pl-k"]],[[1,7,"pl-k"],[8,25,"pl-en"]],[[1,6,"pl-k"]],[[1,6,"pl-k"]],[],[[0,9,"pl-k"],[10,18,"pl-k"]],[[7,15,"pl-en"]],[[1,3,"pl-k"]],[[30,92,"pl-c"],[30,32,"pl-c"]],[[37,41,"pl-c1"],[42,45,"pl-s"],[42,43,"pl-pds"],[44,45,"pl-pds"]],[[4,10,"pl-k"],[15,21,"pl-c1"],[33,34,"pl-c1"],[40,44,"pl-c1"],[60,71,"pl-k"],[91,97,"pl-k"],[98,107,"pl-s"],[98,99,"pl-pds"],[106,107,"pl-pds"]],[[1,5,"pl-k"]],[[38,83,"pl-c"],[38,40,"pl-c"]],[[34,38,"pl-c1"],[39,42,"pl-s"],[39,40,"pl-pds"],[41,42,"pl-pds"],[46,47,"pl-c1"]],[[4,10,"pl-k"],[15,21,"pl-c1"],[33,37,"pl-c1"],[50,51,"pl-c1"]],[[1,6,"pl-k"]],[],[],[[0,9,"pl-k"],[10,18,"pl-k"],[22,30,"pl-k"],[112,116,"pl-k"],[126,130,"pl-c1"]],[[7,15,"pl-en"],[16,21,"pl-k"],[22,38,"pl-en"]],[[4,10,"pl-k"],[27,34,"pl-c1"]],[],[],[[1,6,"pl-k"]],[[25,33,"pl-en"],[34,39,"pl-k"],[40,44,"pl-k"]],[[1,6,"pl-k"],[7,50,"pl-c"],[7,9,"pl-c"]],[],[[1,3,"pl-k"]],[[0,86,"pl-c"],[0,2,"pl-c"]],[[25,33,"pl-en"],[34,39,"pl-k"]],[[1,6,"pl-k"],[7,17,"pl-c"],[7,9,"pl-c"]],[],[[25,33,"pl-en"]],[],[[25,33,"pl-en"],[39,48,"pl-c1"]],[],[[25,33,"pl-en"],[34,38,"pl-k"]],[],[[25,33,"pl-en"],[34,39,"pl-k"]],[[25,33,"pl-en"],[34,40,"pl-k"]],[[25,33,"pl-en"],[34,40,"pl-k"],[41,45,"pl-k"]],[],[[25,33,"pl-en"],[34,38,"pl-k"]],[[25,33,"pl-en"],[34,38,"pl-k"],[39,45,"pl-k"]],[[25,33,"pl-en"],[34,38,"pl-k"],[39,47,"pl-k"]],[[25,33,"pl-en"],[34,39,"pl-k"]],[[25,33,"pl-en"],[34,39,"pl-k"],[40,48,"pl-k"]],[[25,33,"pl-en"],[34,40,"pl-k"]],[[25,33,"pl-en"],[34,42,"pl-k"]],[[25,33,"pl-en"],[34,38,"pl-k"]],[[25,33,"pl-en"],[34,38,"pl-k"],[39,47,"pl-k"]],[[25,33,"pl-en"],[34,38,"pl-k"],[39,43,"pl-k"]],[[25,33,"pl-en"],[34,38,"pl-k"],[39,43,"pl-k"],[44,52,"pl-k"]],[],[[0,9,"pl-k"],[10,18,"pl-k"],[22,30,"pl-k"],[111,115,"pl-k"],[125,129,"pl-c1"]],[[7,15,"pl-en"],[16,21,"pl-k"],[22,38,"pl-en"]],[[4,9,"pl-k"],[15,23,"pl-k"]],[[4,10,"pl-k"],[12,29,"pl-c1"],[30,41,"pl-k"]],[],[],[[0,9,"pl-k"],[10,16,"pl-en"]],[[4,13,"pl-k"],[14,22,"pl-k"]],[[4,10,"pl-k"],[11,19,"pl-en"]],[],[[8,14,"pl-k"],[15,19,"pl-k"],[20,24,"pl-en"],[47,52,"pl-k"]],[[1,3,"pl-k"]],[[8,21,"pl-c1"],[26,32,"pl-c1"]],[[1,5,"pl-k"]],[[8,16,"pl-k"]],[[1,6,"pl-k"]],[],[],[],[[0,39,"pl-en"],[40,44,"pl-c1"]],[[0,32,"pl-c"],[0,2,"pl-c"]],[[4,13,"pl-k"],[14,22,"pl-k"],[26,32,"pl-c1"]],[[4,10,"pl-k"],[11,19,"pl-en"]],[[8,14,"pl-k"],[15,19,"pl-k"],[20,24,"pl-en"],[47,52,"pl-k"],[53,54,"pl-en"]],[[23,26,"pl-s"],[23,24,"pl-pds"],[25,26,"pl-pds"]],[[12,15,"pl-k"],[17,23,"pl-c1"],[28,29,"pl-c1"]],[[16,18,"pl-k"],[25,26,"pl-c1"],[41,45,"pl-s"],[41,42,"pl-pds"],[44,45,"pl-pds"]],[[28,45,"pl-c1"]],[],[[23,26,"pl-s"],[23,24,"pl-pds"],[25,26,"pl-pds"]],[],[],[[0,30,"pl-c"],[0,2,"pl-c"]],[],[],[[4,65,"pl-c"],[4,6,"pl-c"]],[[0,32,"pl-c"],[0,2,"pl-c"]],[[4,13,"pl-k"],[14,20,"pl-c1"]],[[4,10,"pl-k"],[11,19,"pl-en"],[20,25,"pl-k"],[26,30,"pl-k"]],[[8,14,"pl-k"],[15,19,"pl-k"],[20,24,"pl-en"],[47,52,"pl-k"],[53,57,"pl-en"]],[[23,29,"pl-c1"],[41,42,"pl-c1"],[54,55,"pl-c1"]],[[10,60,"pl-c"],[10,12,"pl-c"]],[],[[0,30,"pl-c"],[0,2,"pl-c"]],[],[[4,13,"pl-k"]],[[4,10,"pl-k"],[11,19,"pl-en"],[20,25,"pl-k"],[26,30,"pl-k"]],[[8,14,"pl-k"],[15,19,"pl-k"],[20,24,"pl-en"],[47,52,"pl-k"],[53,57,"pl-k"]],[],[],[[4,13,"pl-k"],[14,22,"pl-k"]],[[4,10,"pl-k"],[11,19,"pl-en"]],[[0,39,"pl-en"],[40,44,"pl-c1"]],[[8,14,"pl-k"],[15,19,"pl-k"],[20,24,"pl-en"],[47,52,"pl-k"]],[],[[0,40,"pl-c1"],[41,59,"pl-s"],[41,42,"pl-pds"],[58,59,"pl-pds"]],[[21,26,"pl-k"],[27,31,"pl-k"],[35,39,"pl-c1"]],[[1,3,"pl-k"]],[[16,32,"pl-k"],[33,38,"pl-k"],[39,43,"pl-k"]],[[1,5,"pl-k"]],[[17,33,"pl-k"],[34,39,"pl-k"],[40,44,"pl-k"],[46,51,"pl-k"]],[[1,6,"pl-k"]],[],[],[],[],[],[],[[0,6,"pl-k"],[7,24,"pl-en"]],[],[[4,10,"pl-en"],[11,17,"pl-k"]],[],[[11,19,"pl-en"],[22,28,"pl-k"],[36,41,"pl-k"]],[],[[1,6,"pl-k"]],[[4,13,"pl-k"],[14,22,"pl-k"]],[[4,12,"pl-k"],[13,19,"pl-en"],[20,25,"pl-k"]],[[20,28,"pl-k"],[76,82,"pl-k"]],[[28,39,"pl-k"],[44,51,"pl-c1"]],[[9,13,"pl-c1"],[16,27,"pl-k"],[28,34,"pl-k"]],[],[[1,6,"pl-k"],[7,44,"pl-c"],[7,9,"pl-c"]],[],[[12,19,"pl-en"],[20,26,"pl-k"]],[],[[1,6,"pl-k"]],[[4,13,"pl-k"],[14,22,"pl-k"]],[[4,12,"pl-k"],[50,56,"pl-k"],[84,91,"pl-en"]],[[12,17,"pl-k"]],[[20,31,"pl-k"],[32,38,"pl-k"]],[[8,14,"pl-k"],[16,20,"pl-c1"]],[],[[1,6,"pl-k"],[7,45,"pl-c"],[7,9,"pl-c"]],[],[[12,17,"pl-en"],[18,24,"pl-k"]],[],[[1,6,"pl-k"]],[[4,13,"pl-k"],[14,22,"pl-k"]],[[4,12,"pl-k"],[50,56,"pl-k"],[84,89,"pl-en"]],[[12,17,"pl-k"]],[[18,29,"pl-k"],[30,36,"pl-k"]],[[8,14,"pl-k"],[16,20,"pl-c1"]],[],[[1,6,"pl-k"],[7,44,"pl-c"],[7,9,"pl-c"]],[],[[4,23,"pl-c"],[4,6,"pl-c"]],[[22,28,"pl-k"],[29,33,"pl-k"],[34,42,"pl-k"],[45,51,"pl-k"],[57,62,"pl-k"]],[[22,28,"pl-k"],[29,33,"pl-k"],[34,42,"pl-k"],[45,50,"pl-k"],[65,71,"pl-k"]],[[22,28,"pl-k"],[29,33,"pl-k"],[34,42,"pl-k"],[45,51,"pl-k"],[57,62,"pl-k"]],[[22,28,"pl-k"],[29,33,"pl-k"],[34,42,"pl-k"],[45,50,"pl-k"],[65,71,"pl-k"]],[[22,28,"pl-k"],[29,33,"pl-k"],[34,42,"pl-k"],[45,51,"pl-k"],[57,62,"pl-k"]],[[22,28,"pl-k"],[29,33,"pl-k"],[34,42,"pl-k"],[45,50,"pl-k"],[65,71,"pl-k"]],[[22,28,"pl-k"],[29,33,"pl-k"],[34,42,"pl-k"],[45,51,"pl-k"],[57,62,"pl-k"]],[[22,28,"pl-k"],[29,33,"pl-k"],[34,42,"pl-k"],[45,50,"pl-k"],[65,71,"pl-k"]],[[22,28,"pl-k"],[29,33,"pl-k"],[34,42,"pl-k"],[45,51,"pl-k"],[57,62,"pl-k"]],[[22,28,"pl-k"],[29,33,"pl-k"],[34,42,"pl-k"],[45,50,"pl-k"],[65,71,"pl-k"]],[[22,28,"pl-k"],[29,33,"pl-k"],[34,42,"pl-k"],[45,51,"pl-k"],[57,62,"pl-k"]],[[22,28,"pl-k"],[29,33,"pl-k"],[34,42,"pl-k"],[45,50,"pl-k"],[65,71,"pl-k"]],[],[[1,6,"pl-k"]],[[1,7,"pl-k"],[8,29,"pl-en"]],[[4,13,"pl-k"],[14,22,"pl-k"],[26,32,"pl-k"],[33,41,"pl-k"],[79,85,"pl-k"],[98,102,"pl-k"]],[],[[26,34,"pl-k"],[37,42,"pl-k"],[51,56,"pl-k"],[72,78,"pl-k"],[79,87,"pl-k"],[90,101,"pl-k"],[102,108,"pl-k"]],[[26,34,"pl-k"],[37,42,"pl-k"],[56,61,"pl-k"],[72,78,"pl-k"],[79,87,"pl-k"]],[[26,34,"pl-k"],[37,42,"pl-k"],[51,56,"pl-k"],[72,78,"pl-k"],[80,88,"pl-k"]],[[26,34,"pl-k"],[37,42,"pl-k"],[56,61,"pl-k"],[72,78,"pl-k"],[80,88,"pl-k"]],[[26,34,"pl-k"],[37,42,"pl-k"],[51,56,"pl-k"],[72,78,"pl-k"],[79,90,"pl-k"],[91,97,"pl-k"],[110,117,"pl-smi"]],[[26,34,"pl-k"],[37,42,"pl-k"],[56,61,"pl-k"],[72,78,"pl-k"],[83,90,"pl-smi"],[93,104,"pl-k"],[105,111,"pl-k"]],[[26,34,"pl-k"],[37,42,"pl-k"],[51,56,"pl-k"],[72,78,"pl-k"],[79,90,"pl-k"],[91,97,"pl-k"],[110,117,"pl-smi"]],[[26,34,"pl-k"],[37,42,"pl-k"],[56,61,"pl-k"],[72,78,"pl-k"],[83,90,"pl-smi"],[93,104,"pl-k"],[105,111,"pl-k"]],[[26,34,"pl-k"],[37,42,"pl-k"],[51,56,"pl-k"],[72,78,"pl-k"],[79,90,"pl-k"],[91,97,"pl-k"],[110,117,"pl-smi"]],[[26,34,"pl-k"],[37,42,"pl-k"],[56,61,"pl-k"],[72,78,"pl-k"],[83,90,"pl-smi"],[93,104,"pl-k"],[105,111,"pl-k"]],[[26,34,"pl-k"],[37,42,"pl-k"],[51,56,"pl-k"],[72,78,"pl-k"],[79,90,"pl-k"],[91,97,"pl-k"],[110,117,"pl-smi"]],[[26,34,"pl-k"],[37,42,"pl-k"],[56,61,"pl-k"],[72,78,"pl-k"],[83,90,"pl-smi"],[93,104,"pl-k"],[105,111,"pl-k"]],[[1,6,"pl-k"]],[[1,6,"pl-k"],[7,44,"pl-c"],[7,9,"pl-c"]],[],[[4,22,"pl-c"],[4,6,"pl-c"]],[],[[4,10,"pl-k"]],[[4,10,"pl-k"]],[[4,10,"pl-k"]],[],[],[[25,33,"pl-en"],[34,39,"pl-k"]],[],[[18,23,"pl-k"],[40,57,"pl-en"]],[],[[0,9,"pl-k"],[10,18,"pl-k"]],[[0,6,"pl-k"],[7,29,"pl-en"]],[],[[13,17,"pl-k"]],[[4,9,"pl-en"],[15,19,"pl-k"],[27,32,"pl-c1"]],[[13,21,"pl-k"],[25,30,"pl-k"],[33,39,"pl-k"]],[[4,12,"pl-k"],[13,17,"pl-en"],[20,25,"pl-k"]],[],[[1,7,"pl-k"]],[[0,6,"pl-k"],[7,16,"pl-k"],[16,22,"pl-k"],[23,45,"pl-en"],[52,57,"pl-k"]],[[0,6,"pl-k"],[7,16,"pl-k"],[16,22,"pl-k"],[23,45,"pl-en"],[52,58,"pl-k"]],[[0,6,"pl-k"],[7,16,"pl-k"],[16,22,"pl-k"],[23,45,"pl-en"],[52,56,"pl-k"],[57,63,"pl-k"]],[[1,6,"pl-k"]],[[25,33,"pl-en"],[40,45,"pl-k"]],[[25,33,"pl-en"],[40,46,"pl-k"]],[[25,33,"pl-en"],[40,46,"pl-k"],[47,51,"pl-k"]],[],[[1,7,"pl-k"]],[],[[0,9,"pl-k"],[10,16,"pl-en"]],[[4,23,"pl-c"],[4,6,"pl-c"]],[[1,6,"pl-k"]],[[4,12,"pl-k"],[13,18,"pl-k"],[19,20,"pl-en"],[36,42,"pl-k"],[43,54,"pl-en"],[63,68,"pl-k"]],[[4,12,"pl-k"],[13,18,"pl-k"],[19,20,"pl-en"],[22,30,"pl-k"],[36,42,"pl-k"],[43,54,"pl-en"],[63,68,"pl-k"]],[[4,12,"pl-k"],[13,18,"pl-k"],[19,20,"pl-en"],[36,42,"pl-k"],[43,54,"pl-en"],[63,68,"pl-k"]],[],[[4,12,"pl-k"],[13,18,"pl-k"],[19,20,"pl-en"],[24,30,"pl-k"],[31,47,"pl-en"],[63,69,"pl-k"],[88,91,"pl-k"],[100,101,"pl-c1"]],[[4,12,"pl-k"],[24,30,"pl-k"],[31,47,"pl-en"],[48,52,"pl-k"],[63,69,"pl-k"],[88,91,"pl-k"],[100,101,"pl-c1"]],[[4,12,"pl-k"],[24,30,"pl-k"],[31,47,"pl-en"],[48,53,"pl-k"],[54,58,"pl-k"],[63,69,"pl-k"],[88,91,"pl-k"],[100,101,"pl-c1"]],[],[[4,12,"pl-k"],[13,18,"pl-k"],[19,20,"pl-en"],[22,28,"pl-k"],[29,39,"pl-en"],[42,48,"pl-k"],[49,65,"pl-en"],[66,74,"pl-k"]],[[1,6,"pl-k"],[7,50,"pl-c"],[7,9,"pl-c"]],[[4,22,"pl-c"],[4,6,"pl-c"]],[],[[4,10,"pl-k"],[11,28,"pl-en"]],[],[],[],[[22,26,"pl-k"],[27,45,"pl-en"]],[],[[1,7,"pl-k"]],[],[[1,6,"pl-k"],[7,38,"pl-c"],[7,9,"pl-c"]],[[22,26,"pl-k"],[27,41,"pl-en"]],[],[[4,10,"pl-k"],[11,28,"pl-en"]],[],[],[[8,12,"pl-k"],[37,42,"pl-c1"]],[],[[8,15,"pl-en"],[16,21,"pl-k"],[36,41,"pl-k"],[42,46,"pl-k"],[54,57,"pl-k"]],[[8,15,"pl-en"],[16,21,"pl-k"],[34,40,"pl-k"]],[[8,15,"pl-en"],[29,35,"pl-k"]],[[17,25,"pl-k"],[27,32,"pl-k"],[45,51,"pl-k"]],[[17,25,"pl-k"],[40,46,"pl-k"]],[[8,16,"pl-en"]],[],[[8,16,"pl-k"],[17,21,"pl-en"],[24,29,"pl-k"]],[],[[8,16,"pl-k"]],[[12,16,"pl-k"],[17,29,"pl-en"]],[],[],[[4,13,"pl-k"],[14,22,"pl-k"],[26,34,"pl-k"]],[[11,30,"pl-en"],[31,36,"pl-k"],[37,53,"pl-en"],[62,67,"pl-k"]],[[31,36,"pl-k"]],[[8,14,"pl-k"],[16,33,"pl-c1"],[48,65,"pl-c1"]],[],[],[[1,3,"pl-k"]],[[0,40,"pl-en"],[41,62,"pl-s"],[41,42,"pl-pds"],[61,62,"pl-pds"]],[[1,6,"pl-k"]],[],[[0,98,"pl-c"],[0,2,"pl-c"]],[[0,90,"pl-c"],[0,2,"pl-c"]],[[0,92,"pl-c"],[0,2,"pl-c"]],[[0,73,"pl-c"],[0,2,"pl-c"]],[[1,6,"pl-k"]],[[1,7,"pl-k"],[8,17,"pl-en"],[18,24,"pl-v"]],[[1,5,"pl-k"]],[[1,7,"pl-k"],[8,17,"pl-en"],[18,24,"pl-v"],[36,40,"pl-k"]],[[1,6,"pl-k"]],[],[[1,7,"pl-k"],[8,47,"pl-en"],[48,68,"pl-v"]],[[4,13,"pl-k"],[14,22,"pl-k"]],[[21,30,"pl-en"]],[[4,8,"pl-k"],[15,23,"pl-c1"],[49,54,"pl-k"]],[[8,10,"pl-k"]],[],[[8,10,"pl-k"],[19,45,"pl-c1"],[49,56,"pl-smi"]],[[12,18,"pl-k"],[19,25,"pl-c1"],[31,50,"pl-c1"]],[[8,14,"pl-k"],[15,21,"pl-c1"]],[],[],[[4,50,"pl-c"],[4,6,"pl-c"]],[[4,57,"pl-c"],[4,6,"pl-c"]],[[4,57,"pl-c"],[4,6,"pl-c"]],[[1,7,"pl-k"],[8,33,"pl-en"],[34,40,"pl-v"]],[[4,13,"pl-k"],[14,22,"pl-k"]],[[8,16,"pl-k"],[17,19,"pl-en"],[20,25,"pl-k"]],[[8,21,"pl-c1"]],[[22,83,"pl-s"],[22,23,"pl-pds"],[82,83,"pl-pds"]],[[8,14,"pl-k"],[16,20,"pl-c1"]],[],[],[[4,10,"pl-k"],[11,28,"pl-en"],[36,60,"pl-c"],[36,38,"pl-c"]],[],[[8,12,"pl-k"]],[],[],[[8,14,"pl-en"],[19,26,"pl-k"],[28,76,"pl-c"],[28,30,"pl-c"]],[[8,14,"pl-en"],[15,19,"pl-k"],[28,33,"pl-k"]],[],[[8,122,"pl-c"],[8,10,"pl-c"]],[[8,33,"pl-en"]],[[8,33,"pl-en"]],[[8,33,"pl-en"]],[[8,33,"pl-en"]],[[8,33,"pl-en"]],[[8,33,"pl-en"]],[[8,33,"pl-en"]],[[8,33,"pl-en"]],[[8,33,"pl-en"]],[[8,33,"pl-en"]],[[8,33,"pl-en"]],[[8,33,"pl-en"]],[[8,33,"pl-en"]],[[8,33,"pl-en"]],[[8,33,"pl-en"]],[[8,33,"pl-en"]],[[8,33,"pl-en"]],[[8,33,"pl-en"]],[[8,33,"pl-en"]],[[8,33,"pl-en"]],[[8,33,"pl-en"]],[[8,33,"pl-en"]],[],[],[[1,7,"pl-k"]],[],[],[[4,34,"pl-en"],[35,54,"pl-s"],[35,36,"pl-pds"],[53,54,"pl-pds"]],[[35,51,"pl-s"],[35,36,"pl-pds"],[50,51,"pl-pds"]],[[4,58,"pl-c"],[4,6,"pl-c"]],[[4,52,"pl-c"],[4,6,"pl-c"]],[[4,53,"pl-c"],[4,6,"pl-c"]],[],[],[[33,52,"pl-s"],[33,34,"pl-pds"],[51,52,"pl-pds"]],[[33,49,"pl-s"],[33,34,"pl-pds"],[48,49,"pl-pds"]],[[4,56,"pl-c"],[4,6,"pl-c"]],[[4,50,"pl-c"],[4,6,"pl-c"]],[[4,51,"pl-c"],[4,6,"pl-c"]],[],[],[[4,95,"pl-c"],[4,6,"pl-c"]],[[34,38,"pl-c1"],[40,67,"pl-c"],[40,42,"pl-c"]],[[34,38,"pl-c1"],[40,80,"pl-c"],[40,42,"pl-c"]],[[34,38,"pl-c1"],[40,82,"pl-c"],[40,42,"pl-c"]],[[4,113,"pl-c"],[4,6,"pl-c"]],[],[[1,6,"pl-k"],[7,58,"pl-c"],[7,9,"pl-c"]],[],[[4,23,"pl-c"],[4,6,"pl-c"]],[[1,7,"pl-k"]],[[1,7,"pl-k"],[8,38,"pl-en"],[39,43,"pl-k"]],[[1,5,"pl-k"],[6,49,"pl-c"],[6,8,"pl-c"]],[[1,7,"pl-k"],[8,38,"pl-en"],[39,47,"pl-k"],[111,115,"pl-k"]],[[4,10,"pl-k"],[11,15,"pl-k"],[16,18,"pl-en"],[19,24,"pl-k"],[25,29,"pl-k"],[36,41,"pl-k"],[42,46,"pl-k"],[55,61,"pl-k"],[62,68,"pl-c1"],[77,83,"pl-c1"]],[[4,10,"pl-k"],[11,15,"pl-k"],[16,18,"pl-en"],[19,24,"pl-k"],[25,29,"pl-k"],[36,41,"pl-k"],[42,46,"pl-k"],[55,61,"pl-k"],[62,68,"pl-c1"],[77,83,"pl-c1"]],[[4,10,"pl-k"],[11,15,"pl-k"],[16,18,"pl-en"],[19,24,"pl-k"],[25,29,"pl-k"],[36,41,"pl-k"],[42,46,"pl-k"],[55,61,"pl-k"],[62,68,"pl-c1"],[77,83,"pl-c1"]],[[4,10,"pl-k"],[11,15,"pl-k"],[16,18,"pl-en"],[19,24,"pl-k"],[25,29,"pl-k"],[36,41,"pl-k"],[42,46,"pl-k"],[55,61,"pl-k"],[62,68,"pl-c1"],[77,83,"pl-c1"]],[[4,10,"pl-k"],[11,15,"pl-k"],[16,18,"pl-en"],[19,24,"pl-k"],[25,29,"pl-k"],[36,41,"pl-k"],[42,46,"pl-k"],[55,61,"pl-k"],[62,68,"pl-c1"],[77,83,"pl-c1"]],[[4,10,"pl-k"],[11,15,"pl-k"],[16,18,"pl-en"],[19,24,"pl-k"],[25,29,"pl-k"],[36,41,"pl-k"],[42,46,"pl-k"],[55,61,"pl-k"],[62,68,"pl-c1"],[77,83,"pl-c1"]],[[1,6,"pl-k"],[7,50,"pl-c"],[7,9,"pl-c"]],[[4,22,"pl-c"],[4,6,"pl-c"]],[],[[1,7,"pl-k"],[8,29,"pl-en"],[30,38,"pl-v"]],[[4,13,"pl-k"],[14,22,"pl-k"],[26,34,"pl-k"]],[[35,39,"pl-en"],[40,45,"pl-k"],[46,62,"pl-en"]],[[40,45,"pl-k"]],[[8,14,"pl-k"]],[],[],[[4,25,"pl-en"]],[],[],[],[],[],[],[[1,7,"pl-k"]],[[1,7,"pl-k"],[8,22,"pl-en"],[23,27,"pl-v"]],[[1,7,"pl-k"],[8,22,"pl-en"],[23,27,"pl-v"]],[[1,7,"pl-k"],[8,22,"pl-en"],[23,27,"pl-v"]],[[1,7,"pl-k"],[8,22,"pl-en"],[23,27,"pl-v"]],[[1,7,"pl-k"],[8,22,"pl-en"],[23,27,"pl-v"]],[[1,7,"pl-k"],[8,22,"pl-en"],[23,27,"pl-v"]],[[1,5,"pl-k"],[6,49,"pl-c"],[6,8,"pl-c"]],[[1,7,"pl-k"],[8,22,"pl-en"],[23,27,"pl-v"]],[[1,7,"pl-k"],[8,22,"pl-en"],[23,27,"pl-v"]],[[1,7,"pl-k"],[8,22,"pl-en"],[23,27,"pl-v"]],[[1,7,"pl-k"],[8,22,"pl-en"],[23,27,"pl-v"]],[[1,7,"pl-k"],[8,22,"pl-en"],[23,27,"pl-v"]],[[1,7,"pl-k"],[8,22,"pl-en"],[23,27,"pl-v"]],[[1,6,"pl-k"],[7,50,"pl-c"],[7,9,"pl-c"]],[],[[4,13,"pl-k"],[14,22,"pl-k"]],[[4,46,"pl-c"],[4,6,"pl-c"]],[[4,10,"pl-k"],[11,25,"pl-en"]],[],[],[],[],[[8,16,"pl-k"],[17,31,"pl-en"]],[[22,33,"pl-k"]],[],[],[[25,33,"pl-k"],[34,40,"pl-en"]],[[0,36,"pl-c"],[0,2,"pl-c"]],[[0,39,"pl-c1"],[40,44,"pl-c1"],[46,77,"pl-c"],[46,48,"pl-c"]],[[12,16,"pl-k"],[23,34,"pl-k"],[35,39,"pl-k"]],[],[[12,14,"pl-k"],[46,87,"pl-c"],[46,48,"pl-c"]],[],[],[],[[12,14,"pl-k"],[23,40,"pl-c1"],[44,51,"pl-smi"]],[[16,22,"pl-k"],[31,48,"pl-c1"]],[],[[12,18,"pl-k"]],[],[],[[8,84,"pl-c"],[8,10,"pl-c"],[82,84,"pl-c"]],[[8,16,"pl-k"],[17,18,"pl-en"],[21,26,"pl-k"],[29,35,"pl-k"]],[],[[8,27,"pl-c"],[8,10,"pl-c"]],[[8,47,"pl-en"],[52,58,"pl-s"],[52,53,"pl-pds"],[57,58,"pl-pds"],[76,117,"pl-c"],[76,78,"pl-c"]],[[8,47,"pl-en"],[52,58,"pl-s"],[52,53,"pl-pds"],[57,58,"pl-pds"],[76,117,"pl-c"],[76,78,"pl-c"]],[[8,47,"pl-en"],[52,58,"pl-s"],[52,53,"pl-pds"],[57,58,"pl-pds"],[76,117,"pl-c"],[76,78,"pl-c"]],[[8,47,"pl-en"],[52,58,"pl-s"],[52,53,"pl-pds"],[57,58,"pl-pds"],[76,117,"pl-c"],[76,78,"pl-c"]],[[8,47,"pl-en"],[52,58,"pl-s"],[52,53,"pl-pds"],[57,58,"pl-pds"],[76,117,"pl-c"],[76,78,"pl-c"]],[[8,47,"pl-en"],[52,58,"pl-s"],[52,53,"pl-pds"],[57,58,"pl-pds"],[76,117,"pl-c"],[76,78,"pl-c"]],[[8,26,"pl-c"],[8,10,"pl-c"]],[],[[8,122,"pl-c"],[8,10,"pl-c"]],[[8,33,"pl-en"]],[[8,33,"pl-en"]],[[8,33,"pl-en"]],[[8,33,"pl-en"]],[[8,33,"pl-en"]],[[8,33,"pl-en"]],[[8,33,"pl-en"]],[[8,33,"pl-en"]],[[8,33,"pl-en"]],[[8,33,"pl-en"]],[[8,33,"pl-en"]],[[8,33,"pl-en"]],[[8,33,"pl-en"]],[[8,33,"pl-en"]],[[8,33,"pl-en"]],[[8,33,"pl-en"]],[[8,125,"pl-c"],[8,10,"pl-c"]],[[8,122,"pl-c"],[8,10,"pl-c"]],[[8,33,"pl-en"]],[[8,33,"pl-en"]],[],[],[[1,7,"pl-k"]],[],[],[],[],[],[[1,6,"pl-k"],[7,58,"pl-c"],[7,9,"pl-c"]],[],[[1,3,"pl-k"]],[],[[1,6,"pl-k"]],[],[[4,10,"pl-k"],[11,28,"pl-en"]],[],[],[],[[8,28,"pl-en"]],[],[[8,120,"pl-c"],[8,10,"pl-c"]],[[8,136,"pl-c"],[8,10,"pl-c"]],[[8,56,"pl-c"],[8,10,"pl-c"]],[[8,56,"pl-c"],[8,10,"pl-c"]],[[8,17,"pl-k"],[18,26,"pl-k"]],[[26,34,"pl-k"]],[[12,18,"pl-k"],[37,48,"pl-k"]],[],[],[[8,17,"pl-k"],[18,26,"pl-k"],[29,37,"pl-k"],[110,114,"pl-k"],[126,133,"pl-c1"]],[[23,28,"pl-k"],[33,41,"pl-k"],[44,49,"pl-k"]],[[12,18,"pl-k"],[34,39,"pl-k"]],[],[],[],[[4,10,"pl-k"],[11,28,"pl-en"]],[],[[8,13,"pl-k"],[14,18,"pl-k"],[35,42,"pl-c1"]],[[8,13,"pl-k"],[14,18,"pl-k"],[36,43,"pl-c1"]],[[8,12,"pl-k"],[29,34,"pl-c1"]],[[8,12,"pl-k"],[34,39,"pl-c1"]],[[8,12,"pl-k"],[34,39,"pl-c1"]],[[8,12,"pl-k"],[33,38,"pl-c1"]],[[8,12,"pl-k"],[36,41,"pl-c1"]],[[8,11,"pl-k"],[42,43,"pl-c1"]],[[8,14,"pl-k"],[32,33,"pl-c1"]],[],[[19,27,"pl-k"],[29,34,"pl-k"],[35,39,"pl-k"]],[],[[8,17,"pl-k"],[18,26,"pl-k"]],[[19,27,"pl-k"],[29,34,"pl-k"]],[[15,19,"pl-c1"],[21,25,"pl-c1"]],[[12,18,"pl-k"],[20,24,"pl-c1"]],[],[],[],[[4,9,"pl-k"],[21,25,"pl-k"]],[],[[4,10,"pl-k"],[11,28,"pl-en"]],[],[[25,63,"pl-c"],[25,27,"pl-c"]],[],[[23,83,"pl-c"],[23,25,"pl-c"]],[[8,11,"pl-k"],[27,111,"pl-c"],[27,29,"pl-c"]],[[28,101,"pl-c"],[28,30,"pl-c"]],[],[[8,16,"pl-en"],[32,37,"pl-k"],[38,42,"pl-k"],[50,58,"pl-k"],[65,70,"pl-k"]],[[17,22,"pl-k"],[48,51,"pl-k"],[67,68,"pl-c1"]],[],[[8,16,"pl-en"],[17,22,"pl-k"]],[[8,16,"pl-en"],[31,37,"pl-k"]],[],[[8,47,"pl-en"],[48,53,"pl-c1"],[55,86,"pl-c"],[55,57,"pl-c"]],[[18,26,"pl-k"],[28,33,"pl-k"]],[],[],[[18,26,"pl-k"],[42,48,"pl-k"]],[],[[18,26,"pl-k"],[28,33,"pl-k"],[34,38,"pl-k"]],[],[[8,17,"pl-k"],[18,26,"pl-k"]],[[18,26,"pl-k"],[28,33,"pl-k"]],[[15,19,"pl-c1"],[21,25,"pl-c1"]],[[12,18,"pl-k"],[20,24,"pl-c1"]],[],[],[[8,12,"pl-k"],[13,21,"pl-k"],[23,28,"pl-k"],[46,51,"pl-k"]],[],[[8,17,"pl-en"],[22,29,"pl-k"]],[],[],[[4,59,"pl-c"],[4,6,"pl-c"]],[[22,25,"pl-k"],[27,34,"pl-en"],[35,40,"pl-k"]],[[22,25,"pl-k"],[27,39,"pl-en"],[40,45,"pl-k"]],[[22,26,"pl-k"],[27,43,"pl-en"]],[],[[4,12,"pl-k"],[13,21,"pl-k"]],[[4,7,"pl-k"],[8,27,"pl-en"],[28,33,"pl-k"],[40,46,"pl-k"],[47,48,"pl-c1"]],[],[[4,13,"pl-k"],[14,36,"pl-en"]],[[8,12,"pl-k"]],[],[[17,18,"pl-c1"]],[],[],[],[],[],[],[[6,41,"pl-c"],[6,8,"pl-c"]],[],[[4,23,"pl-c"],[4,6,"pl-c"]],[[4,13,"pl-k"],[14,17,"pl-k"],[19,24,"pl-k"],[25,26,"pl-en"],[28,33,"pl-k"],[34,35,"pl-en"],[37,43,"pl-k"],[44,64,"pl-en"],[71,75,"pl-k"],[76,84,"pl-en"],[87,92,"pl-k"],[93,109,"pl-en"],[118,123,"pl-k"],[149,154,"pl-k"],[157,163,"pl-k"],[164,169,"pl-c1"]],[],[[1,7,"pl-k"],[8,36,"pl-en"],[37,42,"pl-v"]],[[4,13,"pl-k"],[14,19,"pl-k"],[20,21,"pl-en"],[23,28,"pl-k"],[29,30,"pl-en"],[32,38,"pl-k"],[39,59,"pl-en"],[71,75,"pl-k"],[76,84,"pl-en"],[87,92,"pl-k"],[93,109,"pl-en"],[118,123,"pl-k"],[149,154,"pl-k"],[157,163,"pl-k"],[164,166,"pl-c1"]],[[4,22,"pl-c"],[4,6,"pl-c"]],[],[[4,32,"pl-en"],[33,34,"pl-c1"]],[[33,34,"pl-c1"]],[[33,34,"pl-c1"]],[[33,34,"pl-c1"]],[[33,34,"pl-c1"]],[[33,34,"pl-c1"]],[],[],[],[[8,21,"pl-c1"],[43,48,"pl-k"],[49,53,"pl-k"],[61,64,"pl-k"],[71,76,"pl-k"],[77,81,"pl-k"]],[[22,27,"pl-k"],[28,32,"pl-k"],[51,53,"pl-s"],[51,52,"pl-pds"],[52,53,"pl-pds"],[55,60,"pl-k"],[88,90,"pl-s"],[88,89,"pl-pds"],[89,90,"pl-pds"]],[],[[8,21,"pl-c1"],[43,48,"pl-k"],[49,53,"pl-k"],[61,64,"pl-k"],[71,76,"pl-k"],[77,81,"pl-k"]],[[22,27,"pl-k"],[28,32,"pl-k"],[50,55,"pl-k"]],[],[[8,12,"pl-k"],[13,22,"pl-smi"],[23,28,"pl-k"]],[],[[8,17,"pl-k"],[18,21,"pl-k"],[34,42,"pl-k"],[46,54,"pl-k"]],[[25,29,"pl-k"],[30,43,"pl-smi"],[44,49,"pl-k"],[50,66,"pl-smi"]],[[44,49,"pl-k"],[50,66,"pl-smi"]],[],[[12,14,"pl-k"],[28,45,"pl-c1"],[49,56,"pl-smi"]],[[27,46,"pl-c1"],[52,56,"pl-s"],[52,53,"pl-pds"],[55,56,"pl-pds"]],[],[[12,18,"pl-k"]],[],[],[[8,17,"pl-k"],[18,26,"pl-k"]],[[25,29,"pl-k"],[30,42,"pl-smi"],[43,48,"pl-k"],[49,65,"pl-smi"]],[],[],[[12,14,"pl-k"],[47,88,"pl-c"],[47,49,"pl-c"]],[],[],[],[[12,14,"pl-k"],[28,45,"pl-c1"],[49,56,"pl-smi"]],[[28,45,"pl-c1"]],[],[],[[12,18,"pl-k"]],[],[],[[8,12,"pl-k"],[13,31,"pl-smi"]],[],[[8,12,"pl-k"],[13,16,"pl-c1"]],[[8,12,"pl-k"],[13,18,"pl-smi"],[21,26,"pl-k"]],[],[],[[4,13,"pl-k"],[14,26,"pl-en"]],[[8,12,"pl-k"]],[],[[26,27,"pl-c1"]],[[26,27,"pl-c1"]],[[26,27,"pl-c1"]],[],[[6,31,"pl-c"],[6,8,"pl-c"]],[],[[22,26,"pl-k"],[27,58,"pl-en"],[59,64,"pl-k"]],[],[[22,26,"pl-k"],[27,40,"pl-en"],[62,67,"pl-k"],[68,72,"pl-k"],[80,83,"pl-k"]],[[41,46,"pl-k"],[47,51,"pl-k"],[59,64,"pl-k"]],[],[[1,7,"pl-k"],[8,35,"pl-en"],[36,42,"pl-v"]],[[4,6,"pl-k"]],[[8,10,"pl-k"]],[[12,14,"pl-k"]],[[30,32,"pl-smi"]],[[19,27,"pl-smi"]],[[19,27,"pl-smi"]],[[16,47,"pl-c1"]],[[16,18,"pl-k"],[19,35,"pl-c1"],[42,59,"pl-c1"],[63,72,"pl-smi"]],[[20,47,"pl-c1"]],[[16,18,"pl-k"],[19,37,"pl-c1"]],[[20,34,"pl-c1"]],[],[[12,18,"pl-k"]],[],[[6,11,"pl-k"],[12,17,"pl-c1"]],[],[[1,7,"pl-k"],[8,31,"pl-en"],[32,38,"pl-v"]],[[18,20,"pl-en"]],[],[[4,6,"pl-k"]],[],[[4,6,"pl-k"]],[[8,35,"pl-en"]],[[4,6,"pl-k"]],[[4,18,"pl-en"]],[],[[4,13,"pl-k"],[14,17,"pl-k"],[30,38,"pl-k"],[42,50,"pl-k"]],[[21,25,"pl-k"],[26,39,"pl-en"],[61,66,"pl-k"],[67,71,"pl-k"],[79,82,"pl-k"]],[[40,45,"pl-k"],[46,50,"pl-k"],[58,63,"pl-k"],[64,80,"pl-en"]],[[40,45,"pl-k"]],[[8,12,"pl-k"]],[],[[8,94,"pl-c"],[8,10,"pl-c"]],[[8,94,"pl-c"],[8,10,"pl-c"]],[[8,83,"pl-c"],[8,10,"pl-c"]],[[8,94,"pl-c"],[8,10,"pl-c"]],[[8,35,"pl-c1"],[36,55,"pl-c1"],[61,65,"pl-s"],[61,62,"pl-pds"],[64,65,"pl-pds"]],[[8,31,"pl-c1"],[32,51,"pl-c1"],[57,61,"pl-s"],[57,58,"pl-pds"],[60,61,"pl-pds"]],[[8,14,"pl-k"]],[],[],[[4,13,"pl-k"],[14,22,"pl-k"]],[[21,25,"pl-k"],[26,38,"pl-en"],[60,65,"pl-k"],[66,70,"pl-k"],[78,81,"pl-k"]],[[39,44,"pl-k"],[45,49,"pl-k"],[57,62,"pl-k"],[63,79,"pl-en"]],[[8,12,"pl-k"]],[],[[8,10,"pl-k"],[38,79,"pl-c"],[38,40,"pl-c"]],[],[],[[8,94,"pl-c"],[8,10,"pl-c"]],[[8,94,"pl-c"],[8,10,"pl-c"]],[[8,83,"pl-c"],[8,10,"pl-c"]],[[8,94,"pl-c"],[8,10,"pl-c"]],[[8,35,"pl-c1"],[37,54,"pl-c1"]],[[8,31,"pl-c1"],[33,50,"pl-c1"]],[[8,14,"pl-k"]],[],[],[[4,10,"pl-k"],[11,28,"pl-en"]],[],[[8,33,"pl-en"]],[[8,15,"pl-k"],[16,20,"pl-k"],[21,30,"pl-en"],[40,45,"pl-k"]],[],[],[[4,13,"pl-k"],[14,22,"pl-k"]],[[4,9,"pl-k"],[10,29,"pl-en"],[32,38,"pl-k"],[39,59,"pl-en"],[60,97,"pl-c"],[60,62,"pl-c"]],[],[[4,11,"pl-k"]],[[8,16,"pl-k"],[17,36,"pl-en"]],[],[],[[8,12,"pl-k"],[13,22,"pl-en"],[36,41,"pl-k"],[42,50,"pl-k"]],[[1,7,"pl-k"]],[[12,15,"pl-k"]],[[16,21,"pl-k"],[23,57,"pl-c"],[23,25,"pl-c"]],[[16,58,"pl-c"],[16,18,"pl-c"]],[[14,19,"pl-k"],[20,25,"pl-k"]],[[22,41,"pl-c1"],[47,79,"pl-c"],[47,49,"pl-c"]],[[16,22,"pl-k"],[23,27,"pl-c1"]],[[14,19,"pl-k"],[36,70,"pl-c"],[36,38,"pl-c"]],[[1,6,"pl-k"],[36,67,"pl-c"],[36,38,"pl-c"]],[[12,23,"pl-k"],[24,28,"pl-k"],[36,68,"pl-c"],[36,38,"pl-c"]],[[12,18,"pl-k"],[19,24,"pl-c1"]],[],[],[[4,12,"pl-k"]],[[8,14,"pl-en"]],[],[],[[22,26,"pl-k"],[27,58,"pl-en"],[59,64,"pl-k"]],[],[[4,81,"pl-c"],[4,6,"pl-c"]],[[4,66,"pl-c"],[4,6,"pl-c"]],[[4,10,"pl-k"],[11,28,"pl-en"]],[[8,24,"pl-en"],[25,30,"pl-k"],[52,58,"pl-k"]],[],[[26,34,"pl-k"],[36,41,"pl-k"],[63,69,"pl-k"]],[[26,34,"pl-k"],[58,64,"pl-k"]],[],[[8,25,"pl-en"],[28,36,"pl-k"],[39,46,"pl-k"]],[],[[4,14,"pl-k"]],[[8,24,"pl-en"]],[[8,24,"pl-en"],[51,59,"pl-k"]],[],[[8,12,"pl-k"],[13,20,"pl-en"]],[[8,12,"pl-k"],[29,33,"pl-c1"]],[],[],[[4,13,"pl-k"],[14,22,"pl-k"],[26,31,"pl-k"],[32,44,"pl-en"],[47,53,"pl-k"],[54,70,"pl-en"]],[],[],[],[[4,11,"pl-k"]],[[8,16,"pl-k"],[17,29,"pl-en"],[30,35,"pl-k"]],[[8,16,"pl-k"],[17,29,"pl-en"],[52,63,"pl-k"]],[],[[8,20,"pl-en"],[21,26,"pl-k"],[44,50,"pl-k"]],[[8,20,"pl-en"],[37,45,"pl-k"],[48,55,"pl-k"]],[],[[22,30,"pl-k"],[32,37,"pl-k"],[55,61,"pl-k"]],[[22,30,"pl-k"],[50,56,"pl-k"]],[],[[8,12,"pl-k"],[13,22,"pl-en"],[40,45,"pl-k"],[46,54,"pl-k"],[57,64,"pl-c1"]],[],[[8,21,"pl-en"],[24,32,"pl-k"]],[[12,14,"pl-k"]],[[16,23,"pl-c1"]],[],[],[],[],[[4,10,"pl-k"],[11,28,"pl-en"]],[],[],[[8,12,"pl-k"],[31,36,"pl-c1"]],[],[[8,22,"pl-en"],[23,28,"pl-k"],[29,33,"pl-k"],[41,44,"pl-k"]],[],[[8,22,"pl-en"],[23,28,"pl-k"],[48,54,"pl-k"]],[[8,22,"pl-en"],[43,49,"pl-k"]],[],[[24,32,"pl-k"],[34,39,"pl-k"],[59,65,"pl-k"]],[[24,32,"pl-k"],[54,60,"pl-k"]],[],[[8,23,"pl-en"]],[],[[8,71,"pl-c"],[8,10,"pl-c"]],[[0,39,"pl-en"],[40,44,"pl-c1"]],[[8,17,"pl-k"],[18,26,"pl-k"]],[[24,32,"pl-k"],[34,39,"pl-k"]],[[26,43,"pl-c1"]],[[12,18,"pl-k"],[20,24,"pl-c1"]],[],[],[],[[8,98,"pl-c"],[8,10,"pl-c"]],[[8,17,"pl-k"],[18,26,"pl-k"]],[[24,32,"pl-k"],[35,40,"pl-k"],[50,56,"pl-k"],[57,61,"pl-c1"],[63,71,"pl-smi"]],[],[[8,97,"pl-c"],[8,10,"pl-c"]],[[8,99,"pl-c"],[8,10,"pl-c"]],[[8,100,"pl-c"],[8,10,"pl-c"]],[[8,100,"pl-c"],[8,10,"pl-c"]],[[8,17,"pl-k"],[18,26,"pl-k"]],[[24,32,"pl-k"],[34,39,"pl-k"],[49,55,"pl-k"],[56,60,"pl-c1"],[62,70,"pl-smi"]],[],[[8,12,"pl-k"],[13,16,"pl-en"]],[[8,12,"pl-k"],[13,18,"pl-en"]],[],[],[[4,13,"pl-k"],[14,22,"pl-k"]],[[20,36,"pl-en"],[37,42,"pl-k"]],[[8,14,"pl-k"]],[],[[2,21,"pl-c"],[2,4,"pl-c"]],[],[[1,7,"pl-k"],[8,32,"pl-en"],[33,48,"pl-v"]],[[4,10,"pl-k"],[11,15,"pl-en"]],[],[],[[8,12,"pl-en"]],[],[[8,12,"pl-k"],[13,17,"pl-en"],[43,48,"pl-k"],[57,68,"pl-c1"]],[[8,12,"pl-k"],[13,17,"pl-en"],[44,49,"pl-k"],[58,69,"pl-c1"]],[[5,5,"pl-ii"]],[],[[0,24,"pl-en"],[37,42,"pl-k"],[43,47,"pl-k"],[50,52,"pl-s"],[50,51,"pl-pds"],[51,52,"pl-pds"]],[[0,24,"pl-en"],[38,43,"pl-k"],[44,48,"pl-k"],[51,53,"pl-s"],[51,52,"pl-pds"],[52,53,"pl-pds"]],[[0,24,"pl-en"],[31,35,"pl-k"],[37,41,"pl-c1"]],[[0,24,"pl-en"],[36,40,"pl-k"],[42,46,"pl-c1"]],[[0,24,"pl-en"],[36,40,"pl-k"],[42,46,"pl-c1"]],[[0,24,"pl-en"],[34,40,"pl-k"],[42,43,"pl-c1"]],[[0,24,"pl-en"],[35,39,"pl-k"],[41,45,"pl-c1"]],[[0,24,"pl-en"],[38,42,"pl-k"],[44,48,"pl-c1"]],[[0,24,"pl-en"],[44,47,"pl-k"],[49,50,"pl-c1"]],[],[[0,9,"pl-k"],[10,18,"pl-k"]],[[0,3,"pl-k"],[4,31,"pl-en"]],[[4,44,"pl-c1"],[45,70,"pl-s"],[45,46,"pl-pds"],[69,70,"pl-pds"]],[[4,10,"pl-k"],[42,61,"pl-c1"]],[],[[4,43,"pl-c1"]],[[4,10,"pl-k"],[11,12,"pl-c1"]],[],[],[[2,22,"pl-c"],[2,4,"pl-c"]],[],[[0,82,"pl-c"],[0,2,"pl-c"]],[[0,81,"pl-c"],[0,2,"pl-c"]],[[0,9,"pl-k"],[10,38,"pl-en"]],[[46,65,"pl-en"]],[[2,43,"pl-c"],[2,4,"pl-c"]],[],[[0,9,"pl-k"],[10,17,"pl-en"]],[[1,5,"pl-k"],[7,32,"pl-c"],[7,9,"pl-c"]],[[0,9,"pl-k"],[10,18,"pl-k"]],[[0,3,"pl-k"],[4,31,"pl-en"]],[[4,10,"pl-k"],[11,12,"pl-c1"]],[],[[7,32,"pl-c"],[7,9,"pl-c"]],[],[[0,9,"pl-k"],[10,16,"pl-en"]],[[4,9,"pl-k"],[27,31,"pl-k"],[36,41,"pl-k"]],[[4,10,"pl-k"],[11,23,"pl-en"]],[[2,21,"pl-c"],[2,4,"pl-c"]],[],[[0,5,"pl-k"],[6,23,"pl-en"]],[],[],[],[[4,8,"pl-k"],[9,18,"pl-en"],[19,22,"pl-k"],[29,34,"pl-k"],[35,39,"pl-k"],[41,46,"pl-k"],[54,58,"pl-k"],[74,79,"pl-c1"]],[],[[0,7,"pl-k"]],[[4,12,"pl-k"],[13,20,"pl-en"],[21,24,"pl-k"],[32,33,"pl-c1"],[35,40,"pl-k"],[41,45,"pl-k"],[47,52,"pl-k"],[61,68,"pl-c1"]],[],[[4,11,"pl-en"],[12,17,"pl-k"],[30,36,"pl-k"]],[[4,11,"pl-en"],[25,31,"pl-k"]],[],[[13,21,"pl-k"],[23,28,"pl-k"],[41,47,"pl-k"]],[[13,21,"pl-k"],[36,42,"pl-k"]],[],[[4,12,"pl-en"],[16,61,"pl-c"],[16,18,"pl-c"]],[],[[4,8,"pl-k"],[9,25,"pl-en"],[26,29,"pl-k"],[36,41,"pl-k"],[42,46,"pl-k"],[48,53,"pl-k"]],[],[[4,8,"pl-k"],[9,18,"pl-en"],[19,24,"pl-k"],[25,29,"pl-k"],[39,44,"pl-k"],[45,49,"pl-k"]],[[4,8,"pl-k"],[9,21,"pl-en"]],[[4,8,"pl-k"],[9,18,"pl-en"],[19,24,"pl-k"],[25,29,"pl-k"],[39,43,"pl-k"]],[[4,8,"pl-k"],[9,18,"pl-en"],[19,24,"pl-k"],[25,29,"pl-k"],[39,42,"pl-k"]],[[4,8,"pl-k"],[9,18,"pl-en"],[19,24,"pl-k"],[25,29,"pl-k"],[39,44,"pl-k"],[45,49,"pl-k"]],[],[[4,8,"pl-k"],[9,19,"pl-en"]],[],[[4,8,"pl-k"],[9,45,"pl-en"]],[],[[4,8,"pl-k"],[9,25,"pl-en"]],[],[[4,8,"pl-k"],[9,16,"pl-en"]],[],[[4,7,"pl-k"],[8,11,"pl-en"]],[],[],[[0,9,"pl-k"],[10,31,"pl-en"]],[[4,8,"pl-k"]],[],[[35,36,"pl-c1"]],[[35,36,"pl-c1"],[40,83,"pl-c"],[40,42,"pl-c"]],[[35,36,"pl-c1"],[40,71,"pl-c"],[40,42,"pl-c"]],[[35,36,"pl-c1"],[40,53,"pl-c"],[40,42,"pl-c"]],[[35,36,"pl-c1"],[40,65,"pl-c"],[40,42,"pl-c"]],[[35,37,"pl-c1"],[40,68,"pl-c"],[40,42,"pl-c"]],[[35,37,"pl-c1"],[40,72,"pl-c"],[40,42,"pl-c"]],[[35,37,"pl-c1"],[40,72,"pl-c"],[40,42,"pl-c"]],[[35,38,"pl-c1"],[40,78,"pl-c"],[40,42,"pl-c"]],[[35,38,"pl-c1"],[40,78,"pl-c"],[40,42,"pl-c"]],[[35,38,"pl-c1"],[40,69,"pl-c"],[40,42,"pl-c"]],[],[[2,36,"pl-c"],[2,4,"pl-c"]],[],[[0,6,"pl-k"],[7,24,"pl-en"]],[],[[4,7,"pl-k"]],[[4,7,"pl-k"]],[[4,10,"pl-k"]],[[4,7,"pl-k"],[26,60,"pl-c"],[26,28,"pl-c"]],[[4,8,"pl-k"]],[],[],[[0,6,"pl-k"],[7,24,"pl-en"]],[],[],[[4,8,"pl-k"]],[],[],[[0,6,"pl-k"],[7,24,"pl-en"]],[],[[4,12,"pl-k"]],[[4,12,"pl-k"]],[[4,12,"pl-k"]],[[4,12,"pl-k"]],[[4,7,"pl-k"]],[[4,7,"pl-k"]],[],[],[[0,6,"pl-k"],[7,16,"pl-en"]],[],[[4,9,"pl-k"],[37,44,"pl-c1"]],[[4,9,"pl-k"],[37,44,"pl-c1"]],[[4,12,"pl-k"],[37,38,"pl-c1"]],[],[],[[0,6,"pl-k"],[7,24,"pl-en"]],[],[[4,81,"pl-c"],[4,6,"pl-c"]],[[4,81,"pl-c"],[4,6,"pl-c"]],[[4,41,"pl-c"],[4,6,"pl-c"]],[],[[4,94,"pl-c"],[4,6,"pl-c"]],[[4,11,"pl-k"],[12,16,"pl-k"],[17,29,"pl-en"],[30,35,"pl-k"]],[],[[4,44,"pl-c"],[4,6,"pl-c"]],[[4,11,"pl-k"],[12,16,"pl-k"],[17,31,"pl-en"]],[[4,99,"pl-c"],[4,6,"pl-c"]],[[4,11,"pl-k"],[12,16,"pl-k"],[17,29,"pl-en"],[30,35,"pl-k"]],[],[[4,80,"pl-c"],[4,6,"pl-c"]],[[4,11,"pl-k"],[12,16,"pl-k"],[17,32,"pl-en"],[33,38,"pl-k"]],[[4,113,"pl-c"],[4,6,"pl-c"]],[[4,11,"pl-k"],[12,16,"pl-k"],[17,34,"pl-en"],[35,40,"pl-k"]],[[4,40,"pl-c"],[4,6,"pl-c"]],[[4,11,"pl-k"],[12,16,"pl-k"],[17,30,"pl-en"],[31,36,"pl-k"]],[],[[4,76,"pl-c"],[4,6,"pl-c"]],[[4,11,"pl-k"],[12,16,"pl-k"],[17,36,"pl-en"],[37,42,"pl-k"]],[],[[4,79,"pl-c"],[4,6,"pl-c"]],[[4,11,"pl-k"],[12,16,"pl-k"],[17,30,"pl-en"],[31,36,"pl-k"]],[[4,78,"pl-c"],[4,6,"pl-c"]],[[4,11,"pl-k"],[12,16,"pl-k"],[17,28,"pl-en"]],[],[[4,65,"pl-c"],[4,6,"pl-c"]],[[4,11,"pl-k"],[12,16,"pl-k"],[17,27,"pl-en"],[28,33,"pl-k"]],[[4,66,"pl-c"],[4,6,"pl-c"]],[[4,11,"pl-k"],[12,16,"pl-k"],[17,28,"pl-en"],[29,34,"pl-k"]],[],[[4,106,"pl-c"],[4,6,"pl-c"]],[[4,102,"pl-c"],[4,6,"pl-c"]],[[4,11,"pl-k"],[12,16,"pl-k"],[17,34,"pl-en"],[35,40,"pl-k"]],[],[[4,29,"pl-en"]],[],[[4,89,"pl-c"],[4,6,"pl-c"]],[[4,10,"pl-k"],[11,14,"pl-k"],[39,62,"pl-en"]],[[4,10,"pl-k"],[11,16,"pl-k"],[32,37,"pl-k"],[39,58,"pl-en"]],[],[[4,132,"pl-c"],[4,6,"pl-c"]],[[4,10,"pl-k"],[11,14,"pl-k"],[25,53,"pl-en"]],[[4,10,"pl-k"],[11,16,"pl-k"],[25,49,"pl-en"]],[],[],[[0,9,"pl-k"],[10,16,"pl-en"]],[[4,9,"pl-k"],[48,53,"pl-k"]],[],[[22,26,"pl-k"],[27,47,"pl-en"],[48,53,"pl-k"],[54,58,"pl-k"],[66,69,"pl-k"],[99,103,"pl-k"]],[],[[4,13,"pl-k"],[14,22,"pl-k"]],[[15,30,"pl-en"],[31,36,"pl-k"]],[[8,14,"pl-k"],[15,18,"pl-k"],[19,27,"pl-c1"]],[],[[2,21,"pl-c"],[2,4,"pl-c"]],[],[[0,9,"pl-k"],[10,18,"pl-k"]],[[0,3,"pl-k"],[4,20,"pl-en"],[21,26,"pl-k"],[27,31,"pl-k"],[39,42,"pl-k"],[53,57,"pl-k"]],[[4,32,"pl-c1"]],[[4,10,"pl-k"],[11,12,"pl-c1"]],[],[[2,22,"pl-c"],[2,4,"pl-c"]],[],[[1,6,"pl-k"]],[[1,7,"pl-k"],[8,26,"pl-en"],[32,38,"pl-k"],[39,44,"pl-c1"]],[[1,5,"pl-k"]],[[1,7,"pl-k"],[8,26,"pl-en"],[28,32,"pl-k"],[33,34,"pl-c1"]],[[1,6,"pl-k"]],[],[[0,33,"pl-c"],[0,2,"pl-c"]],[[1,7,"pl-k"]],[],[[1,6,"pl-k"]],[[1,7,"pl-k"],[8,32,"pl-en"]],[[1,7,"pl-k"],[8,30,"pl-en"]],[[1,7,"pl-k"],[8,30,"pl-en"],[31,32,"pl-v"],[34,40,"pl-k"]],[[1,5,"pl-k"]],[[1,7,"pl-k"],[8,32,"pl-en"],[33,35,"pl-k"]],[[1,7,"pl-k"],[8,30,"pl-en"],[31,36,"pl-k"],[37,42,"pl-c1"]],[[1,7,"pl-k"],[8,30,"pl-en"],[31,32,"pl-v"],[35,39,"pl-k"],[40,41,"pl-c1"]],[[1,6,"pl-k"]],[],[[0,43,"pl-c"],[0,2,"pl-c"]],[[1,7,"pl-k"],[8,39,"pl-en"],[40,41,"pl-v"]],[[4,6,"pl-k"]],[],[[4,26,"pl-en"]],[],[[1,6,"pl-k"]],[[1,7,"pl-k"],[8,27,"pl-en"],[28,29,"pl-v"]],[[1,5,"pl-k"],[6,47,"pl-c"],[6,8,"pl-c"]],[[1,7,"pl-k"],[8,27,"pl-en"],[28,29,"pl-v"]],[[4,7,"pl-k"]],[],[[6,11,"pl-k"],[30,48,"pl-c1"]],[[1,6,"pl-k"],[7,48,"pl-c"],[7,9,"pl-c"]],[],[[1,6,"pl-k"]],[[1,7,"pl-k"],[8,28,"pl-en"]],[[4,42,"pl-en"],[43,59,"pl-s"],[43,44,"pl-pds"],[58,59,"pl-pds"]],[],[],[[1,5,"pl-k"],[6,45,"pl-c"],[6,8,"pl-c"]],[[1,7,"pl-k"],[8,28,"pl-en"]],[[1,6,"pl-k"],[7,46,"pl-c"],[7,9,"pl-c"]],[],[[0,65,"pl-c"],[0,2,"pl-c"]],[[1,7,"pl-k"],[8,33,"pl-en"],[34,62,"pl-v"]],[[18,44,"pl-en"],[83,95,"pl-c"],[83,85,"pl-c"],[93,95,"pl-c"]],[],[[20,45,"pl-en"]],[],[[28,77,"pl-en"]],[],[],[[1,7,"pl-k"],[8,33,"pl-en"],[34,61,"pl-v"]],[[4,13,"pl-k"],[16,28,"pl-c"],[16,18,"pl-c"],[26,28,"pl-c"]],[[8,14,"pl-k"],[15,18,"pl-en"],[21,27,"pl-k"],[28,32,"pl-en"]],[],[[12,16,"pl-k"],[17,18,"pl-en"]],[],[[8,14,"pl-k"],[39,43,"pl-k"],[44,48,"pl-en"]],[],[[14,15,"pl-c1"]],[],[[8,33,"pl-en"]],[],[[28,32,"pl-k"],[33,39,"pl-en"],[42,80,"pl-c"],[42,44,"pl-c"]],[],[[1,7,"pl-k"],[8,44,"pl-en"],[45,58,"pl-v"]],[[4,10,"pl-k"],[11,15,"pl-k"],[16,17,"pl-en"]],[[4,29,"pl-en"]],[],[],[[1,7,"pl-k"],[8,53,"pl-en"],[54,74,"pl-v"]],[[4,10,"pl-k"],[37,42,"pl-en"],[47,53,"pl-k"]],[[4,29,"pl-en"],[30,36,"pl-k"]],[],[],[[0,24,"pl-c"],[0,2,"pl-c"]],[[1,7,"pl-k"],[8,25,"pl-en"],[26,36,"pl-v"]],[[4,40,"pl-en"]],[],[[0,74,"pl-c"],[0,2,"pl-c"]],[[1,3,"pl-k"]],[[1,7,"pl-k"],[8,31,"pl-en"],[32,42,"pl-v"]],[[4,49,"pl-en"]],[],[],[[1,5,"pl-k"],[6,32,"pl-c"],[6,8,"pl-c"]],[[1,7,"pl-k"],[8,31,"pl-en"]],[],[[1,6,"pl-k"],[7,33,"pl-c"],[7,9,"pl-c"]],[],[[0,39,"pl-c"],[0,2,"pl-c"]],[[1,7,"pl-k"],[8,33,"pl-en"],[34,47,"pl-v"]],[[4,29,"pl-en"]],[],[],[[0,79,"pl-c"],[0,2,"pl-c"]],[[1,7,"pl-k"],[8,33,"pl-en"]],[[4,13,"pl-k"],[14,21,"pl-en"]],[[8,17,"pl-k"]],[[8,14,"pl-k"]],[[12,18,"pl-k"]],[],[],[[4,17,"pl-en"],[18,22,"pl-c1"],[24,26,"pl-s"],[24,25,"pl-pds"],[25,26,"pl-pds"]],[],[[1,7,"pl-k"],[8,30,"pl-en"]],[],[[1,7,"pl-k"],[8,46,"pl-en"],[47,65,"pl-v"]],[[4,13,"pl-k"],[14,22,"pl-k"]],[[4,10,"pl-k"],[11,15,"pl-k"],[16,20,"pl-en"]],[[4,13,"pl-k"],[16,28,"pl-c"],[16,18,"pl-c"],[26,28,"pl-c"]],[[8,17,"pl-k"],[18,26,"pl-k"]],[[8,14,"pl-k"],[15,19,"pl-en"]],[[8,17,"pl-k"],[18,26,"pl-k"],[33,41,"pl-k"]],[[8,14,"pl-k"],[15,19,"pl-en"]],[],[[12,16,"pl-en"],[17,22,"pl-k"],[23,27,"pl-k"],[35,43,"pl-k"],[50,53,"pl-k"]],[[16,40,"pl-c1"],[41,66,"pl-c1"]],[[44,93,"pl-c1"]],[],[[44,47,"pl-c1"],[56,60,"pl-c1"],[63,68,"pl-c1"]],[],[[54,59,"pl-c1"],[62,63,"pl-c1"]],[],[],[[8,17,"pl-k"]],[[8,14,"pl-k"],[15,19,"pl-en"]],[],[[12,16,"pl-en"],[17,22,"pl-k"],[23,27,"pl-k"],[30,38,"pl-k"],[40,43,"pl-k"]],[],[],[[4,13,"pl-k"],[14,22,"pl-k"]],[[4,10,"pl-k"],[11,15,"pl-k"],[16,20,"pl-en"]],[],[[1,7,"pl-k"],[8,41,"pl-en"],[42,52,"pl-v"]],[[4,42,"pl-en"]],[],[],[[1,7,"pl-k"],[8,51,"pl-en"]],[[4,30,"pl-en"],[57,125,"pl-c"],[57,59,"pl-c"],[123,125,"pl-c"]],[],[[12,23,"pl-en"],[71,72,"pl-c1"]],[],[[1,7,"pl-k"],[8,41,"pl-en"]],[[4,47,"pl-en"]],[[18,22,"pl-c1"],[24,26,"pl-s"],[24,25,"pl-pds"],[25,26,"pl-pds"]],[],[[1,7,"pl-k"],[8,40,"pl-en"]],[[4,47,"pl-en"]],[[18,22,"pl-c1"],[24,26,"pl-s"],[24,25,"pl-pds"],[25,26,"pl-pds"]],[],[[1,7,"pl-k"],[8,39,"pl-en"]],[[4,42,"pl-en"]],[[4,47,"pl-en"]],[],[],[],[[1,7,"pl-k"],[8,34,"pl-en"]],[[4,35,"pl-en"]],[],[[0,15,"pl-c"],[0,2,"pl-c"]],[[1,7,"pl-k"],[8,23,"pl-en"],[24,28,"pl-v"]],[[4,6,"pl-k"],[7,12,"pl-k"],[40,57,"pl-en"]],[],[],[[0,57,"pl-c"],[0,2,"pl-c"]],[[1,7,"pl-k"],[8,31,"pl-en"],[32,51,"pl-v"]],[[4,13,"pl-k"],[14,21,"pl-en"],[24,33,"pl-k"],[34,62,"pl-en"]],[[12,18,"pl-k"],[64,83,"pl-en"],[86,94,"pl-k"]],[[16,55,"pl-c1"],[56,60,"pl-c1"]],[[16,56,"pl-c1"],[57,82,"pl-s"],[57,58,"pl-pds"],[81,82,"pl-pds"]],[[16,54,"pl-c1"],[55,85,"pl-s"],[55,56,"pl-pds"],[84,85,"pl-pds"]],[[16,22,"pl-k"]],[[16,22,"pl-k"],[23,27,"pl-k"],[59,64,"pl-c1"]],[],[],[],[[16,18,"pl-k"]],[],[[29,33,"pl-c1"]],[],[[16,22,"pl-k"]],[],[],[],[[4,13,"pl-k"],[14,21,"pl-en"]],[],[[1,7,"pl-k"],[8,26,"pl-en"],[27,37,"pl-v"]],[[4,27,"pl-en"]],[],[[0,33,"pl-c"],[0,2,"pl-c"]],[[1,7,"pl-k"],[8,32,"pl-en"],[33,43,"pl-v"]],[[4,30,"pl-en"],[69,97,"pl-c"],[69,71,"pl-c"],[95,97,"pl-c"]],[],[[18,22,"pl-c1"],[24,26,"pl-s"],[24,25,"pl-pds"],[25,26,"pl-pds"]],[],[[0,31,"pl-c"],[0,2,"pl-c"]],[[1,7,"pl-k"],[8,30,"pl-en"]],[[4,30,"pl-en"],[69,97,"pl-c"],[69,71,"pl-c"],[95,97,"pl-c"]],[],[],[],[[0,40,"pl-c"],[0,2,"pl-c"]],[[1,7,"pl-k"],[8,50,"pl-en"],[51,76,"pl-v"]],[[4,10,"pl-k"],[27,41,"pl-en"]],[[4,30,"pl-en"],[76,104,"pl-c"],[76,78,"pl-c"],[102,104,"pl-c"]],[],[],[],[[1,7,"pl-k"],[8,45,"pl-en"],[46,55,"pl-v"]],[[4,46,"pl-en"]],[],[],[[0,28,"pl-c"],[0,2,"pl-c"]],[[1,7,"pl-k"],[8,33,"pl-en"],[34,58,"pl-v"]],[[4,30,"pl-en"],[74,102,"pl-c"],[74,76,"pl-c"],[100,102,"pl-c"]],[[64,68,"pl-c1"]],[[18,22,"pl-c1"],[24,26,"pl-s"],[24,25,"pl-pds"],[25,26,"pl-pds"]],[],[[0,28,"pl-c"],[0,2,"pl-c"]],[[1,7,"pl-k"],[8,33,"pl-en"],[34,58,"pl-v"]],[[4,30,"pl-en"],[74,102,"pl-c"],[74,76,"pl-c"],[100,102,"pl-c"]],[[64,69,"pl-c1"]],[[18,22,"pl-c1"],[24,26,"pl-s"],[24,25,"pl-pds"],[25,26,"pl-pds"]],[],[[0,19,"pl-c"],[0,2,"pl-c"]],[[0,108,"pl-c"],[0,2,"pl-c"]],[[1,7,"pl-k"],[8,20,"pl-en"]],[[4,21,"pl-en"]],[],[],[[0,18,"pl-c"],[0,2,"pl-c"]],[],[[1,7,"pl-k"],[8,25,"pl-en"]],[[4,8,"pl-k"],[9,26,"pl-en"]],[],[[40,47,"pl-smi"]],[[16,24,"pl-smi"]],[],[],[],[[1,7,"pl-k"],[8,23,"pl-en"],[24,25,"pl-v"],[43,49,"pl-s"],[43,44,"pl-pds"],[48,49,"pl-pds"]],[],[[1,7,"pl-k"],[8,27,"pl-en"]],[],[[40,42,"pl-smi"]],[],[[8,10,"pl-k"],[14,17,"pl-c1"]],[[12,39,"pl-c1"]],[[11,16,"pl-c1"]],[],[],[[0,19,"pl-c"],[0,2,"pl-c"]],[[1,7,"pl-k"],[8,30,"pl-en"]],[[1,7,"pl-k"],[8,33,"pl-en"]],[[1,7,"pl-k"],[8,27,"pl-en"]],[[0,18,"pl-c"],[0,2,"pl-c"]],[],[[1,7,"pl-k"],[8,23,"pl-en"]],[[1,7,"pl-k"],[8,26,"pl-en"]],[[1,7,"pl-k"],[8,20,"pl-en"]],[],[[1,7,"pl-k"],[8,25,"pl-en"],[43,90,"pl-c"],[43,45,"pl-c"]],[],[[1,7,"pl-k"]],[],[[1,7,"pl-k"],[8,34,"pl-en"]],[[4,44,"pl-en"],[45,80,"pl-s"],[45,46,"pl-pds"],[79,80,"pl-pds"]],[[4,65,"pl-c"],[4,6,"pl-c"],[63,65,"pl-c"]],[],[],[[4,23,"pl-en"]],[[12,49,"pl-en"]],[[29,90,"pl-c"],[29,31,"pl-c"],[88,90,"pl-c"]],[],[],[],[[1,7,"pl-k"],[8,34,"pl-en"]],[],[[8,34,"pl-c1"]],[[29,79,"pl-c"],[29,31,"pl-c"]],[],[[1,7,"pl-k"],[8,29,"pl-en"]],[],[[39,49,"pl-smi"]],[],[[8,27,"pl-c1"]],[[27,40,"pl-smi"]],[],[[8,39,"pl-c1"]],[],[],[[1,7,"pl-k"],[8,28,"pl-en"]],[],[[39,49,"pl-smi"]],[],[[8,27,"pl-c1"],[39,51,"pl-c1"]],[[8,39,"pl-c1"]],[],[],[[1,5,"pl-k"],[6,42,"pl-c"],[6,8,"pl-c"]],[],[[0,33,"pl-c"],[0,2,"pl-c"]],[[1,7,"pl-k"],[8,34,"pl-en"]],[],[[1,7,"pl-k"],[8,34,"pl-en"]],[[4,44,"pl-en"],[45,80,"pl-s"],[45,46,"pl-pds"],[79,80,"pl-pds"]],[],[],[[12,49,"pl-en"]],[],[],[[1,7,"pl-k"],[8,29,"pl-en"]],[],[],[],[[1,7,"pl-k"],[8,28,"pl-en"]],[[4,33,"pl-en"]],[],[],[[7,43,"pl-c"],[7,9,"pl-c"]],[],[[1,7,"pl-k"],[8,20,"pl-en"]],[[1,7,"pl-k"],[8,21,"pl-en"]],[[1,7,"pl-k"],[8,23,"pl-en"]],[[1,7,"pl-k"],[8,26,"pl-en"]],[[1,7,"pl-k"],[8,27,"pl-en"]],[[1,7,"pl-k"],[8,29,"pl-en"]],[],[[0,19,"pl-c"],[0,2,"pl-c"]],[[1,7,"pl-k"],[8,28,"pl-en"],[67,79,"pl-c1"],[94,120,"pl-c1"]],[[1,7,"pl-k"],[8,29,"pl-en"],[68,80,"pl-c1"],[95,121,"pl-c1"]],[[1,7,"pl-k"],[8,31,"pl-en"],[70,82,"pl-c1"],[97,123,"pl-c1"]],[[1,7,"pl-k"],[8,34,"pl-en"],[73,85,"pl-c1"],[100,126,"pl-c1"]],[[1,7,"pl-k"],[8,35,"pl-en"],[74,86,"pl-c1"],[101,127,"pl-c1"]],[[1,7,"pl-k"],[8,37,"pl-en"],[76,88,"pl-c1"],[103,129,"pl-c1"]],[[0,18,"pl-c"],[0,2,"pl-c"]],[],[[1,7,"pl-k"],[8,23,"pl-en"]],[[1,7,"pl-k"],[8,24,"pl-en"]],[[1,7,"pl-k"],[8,26,"pl-en"]],[[1,7,"pl-k"],[8,23,"pl-en"]],[[1,7,"pl-k"],[8,24,"pl-en"]],[[1,7,"pl-k"],[8,26,"pl-en"]],[[1,7,"pl-k"],[8,23,"pl-en"]],[[1,7,"pl-k"],[8,24,"pl-en"]],[[1,7,"pl-k"],[8,26,"pl-en"]],[[1,7,"pl-k"],[8,23,"pl-en"]],[[1,7,"pl-k"],[8,24,"pl-en"]],[[1,7,"pl-k"],[8,26,"pl-en"]],[[1,7,"pl-k"],[8,23,"pl-en"]],[[1,7,"pl-k"],[8,24,"pl-en"]],[[1,7,"pl-k"],[8,26,"pl-en"]],[[1,7,"pl-k"],[8,23,"pl-en"]],[[1,7,"pl-k"],[8,24,"pl-en"]],[[1,7,"pl-k"],[8,26,"pl-en"]],[],[[1,7,"pl-k"],[8,26,"pl-en"]],[[1,7,"pl-k"],[8,27,"pl-en"]],[[1,7,"pl-k"],[8,29,"pl-en"]],[[1,7,"pl-k"],[8,32,"pl-en"]],[[1,7,"pl-k"],[8,33,"pl-en"]],[[1,7,"pl-k"],[8,35,"pl-en"]],[],[[1,7,"pl-k"]],[],[[1,7,"pl-k"],[8,32,"pl-en"]],[],[[8,10,"pl-k"],[12,38,"pl-c1"],[42,50,"pl-smi"]],[[43,53,"pl-smi"]],[],[[12,15,"pl-k"]],[[16,36,"pl-c1"]],[[14,19,"pl-k"],[20,25,"pl-k"],[26,34,"pl-k"]],[[20,28,"pl-k"]],[[27,45,"pl-c1"]],[[27,37,"pl-smi"],[40,44,"pl-c1"]],[[14,19,"pl-k"],[38,56,"pl-c1"]],[[12,43,"pl-c1"]],[[10,14,"pl-k"],[17,50,"pl-c"],[17,19,"pl-c"],[48,50,"pl-c"]],[[12,34,"pl-c1"],[35,40,"pl-c1"]],[],[],[],[[1,7,"pl-k"],[8,34,"pl-en"]],[],[[8,10,"pl-k"],[12,38,"pl-c1"],[42,50,"pl-smi"]],[[43,53,"pl-smi"]],[[75,77,"pl-s"],[75,76,"pl-pds"],[76,77,"pl-pds"]],[[12,15,"pl-k"]],[[16,36,"pl-c1"]],[[14,19,"pl-k"],[38,56,"pl-c1"]],[[12,43,"pl-c1"]],[[10,14,"pl-k"],[17,50,"pl-c"],[17,19,"pl-c"],[48,50,"pl-c"]],[[11,33,"pl-c1"],[34,39,"pl-c1"]],[],[],[],[[1,7,"pl-k"],[8,30,"pl-en"]],[],[[39,49,"pl-smi"]],[],[[8,11,"pl-k"]],[[12,32,"pl-c1"]],[[10,15,"pl-k"],[34,52,"pl-c1"]],[[8,39,"pl-c1"]],[],[],[[0,19,"pl-c"],[0,2,"pl-c"]],[[1,7,"pl-k"],[8,27,"pl-en"],[105,107,"pl-s"],[105,106,"pl-pds"],[106,107,"pl-pds"]],[[1,7,"pl-k"],[8,28,"pl-en"],[107,109,"pl-s"],[107,108,"pl-pds"],[108,109,"pl-pds"]],[[1,7,"pl-k"],[8,30,"pl-en"],[111,113,"pl-s"],[111,112,"pl-pds"],[112,113,"pl-pds"]],[],[[1,7,"pl-k"],[8,30,"pl-en"],[92,94,"pl-s"],[92,93,"pl-pds"],[93,94,"pl-pds"]],[[1,7,"pl-k"],[8,31,"pl-en"],[94,96,"pl-s"],[94,95,"pl-pds"],[95,96,"pl-pds"]],[[1,7,"pl-k"],[8,33,"pl-en"],[98,100,"pl-s"],[98,99,"pl-pds"],[99,100,"pl-pds"]],[],[[1,7,"pl-k"],[8,32,"pl-en"]],[[1,7,"pl-k"],[8,33,"pl-en"]],[[1,7,"pl-k"],[8,35,"pl-en"]],[],[[1,7,"pl-k"],[8,35,"pl-en"]],[[1,7,"pl-k"],[8,36,"pl-en"]],[[1,7,"pl-k"],[8,38,"pl-en"]],[],[[1,7,"pl-k"],[8,28,"pl-en"]],[[1,7,"pl-k"],[8,29,"pl-en"]],[[1,7,"pl-k"],[8,31,"pl-en"]],[],[[1,7,"pl-k"],[8,35,"pl-en"],[74,86,"pl-c1"],[101,120,"pl-c1"]],[[1,7,"pl-k"],[8,36,"pl-en"],[75,87,"pl-c1"],[102,122,"pl-c1"]],[[1,7,"pl-k"],[8,38,"pl-en"],[77,89,"pl-c1"],[104,126,"pl-c1"]],[[1,7,"pl-k"],[8,38,"pl-en"],[81,93,"pl-c1"],[108,130,"pl-c1"]],[[1,7,"pl-k"],[8,39,"pl-en"],[82,94,"pl-c1"],[109,132,"pl-c1"]],[[1,7,"pl-k"],[8,41,"pl-en"],[84,96,"pl-c1"],[111,136,"pl-c1"]],[[1,7,"pl-k"],[8,40,"pl-en"],[85,97,"pl-c1"],[112,136,"pl-c1"]],[[1,7,"pl-k"],[8,41,"pl-en"],[86,98,"pl-c1"],[113,138,"pl-c1"]],[[1,7,"pl-k"],[8,43,"pl-en"],[88,100,"pl-c1"],[115,142,"pl-c1"]],[[1,7,"pl-k"],[8,43,"pl-en"],[92,104,"pl-c1"],[119,146,"pl-c1"]],[[1,7,"pl-k"],[8,44,"pl-en"],[93,105,"pl-c1"],[120,148,"pl-c1"]],[[1,7,"pl-k"],[8,46,"pl-en"],[95,107,"pl-c1"],[122,152,"pl-c1"]],[[1,7,"pl-k"],[8,36,"pl-en"],[75,87,"pl-c1"],[102,122,"pl-c1"]],[[1,7,"pl-k"],[8,37,"pl-en"],[76,88,"pl-c1"],[103,124,"pl-c1"]],[[1,7,"pl-k"],[8,39,"pl-en"],[78,90,"pl-c1"],[105,128,"pl-c1"]],[[0,18,"pl-c"],[0,2,"pl-c"]],[],[[1,6,"pl-k"],[7,38,"pl-c"],[7,9,"pl-c"]],[],[[0,100,"pl-c"]],[[0,100,"pl-c"]],[[0,100,"pl-c"]],[[0,100,"pl-c"]],[[1,5,"pl-k"],[6,31,"pl-c"],[6,8,"pl-c"]],[],[[1,7,"pl-k"],[8,33,"pl-en"],[34,55,"pl-v"]],[[4,13,"pl-k"],[14,26,"pl-c"],[14,16,"pl-c"],[24,26,"pl-c"]],[[8,17,"pl-k"],[18,26,"pl-k"]],[[8,14,"pl-k"],[15,18,"pl-en"],[21,27,"pl-k"],[28,32,"pl-en"]],[[10,14,"pl-k"],[15,16,"pl-en"]],[],[[4,13,"pl-k"],[14,22,"pl-k"]],[[4,10,"pl-k"],[11,15,"pl-k"]],[],[[1,7,"pl-k"],[8,44,"pl-en"],[45,52,"pl-v"]],[[4,13,"pl-k"],[14,22,"pl-k"]],[[4,10,"pl-k"],[11,17,"pl-k"],[18,22,"pl-k"],[23,24,"pl-en"]],[],[[0,24,"pl-c"],[0,2,"pl-c"]],[[1,7,"pl-k"],[8,25,"pl-en"],[26,30,"pl-v"]],[[4,40,"pl-en"]],[],[[0,35,"pl-c"],[0,2,"pl-c"]],[[1,7,"pl-k"],[8,31,"pl-en"],[32,36,"pl-v"]],[[4,40,"pl-en"]],[],[[0,39,"pl-c"],[0,2,"pl-c"]],[[1,7,"pl-k"],[8,33,"pl-en"],[34,41,"pl-v"]],[[4,29,"pl-en"]],[],[],[[0,79,"pl-c"],[0,2,"pl-c"]],[[1,7,"pl-k"],[8,33,"pl-en"],[58,62,"pl-c1"],[64,66,"pl-s"],[64,65,"pl-pds"],[65,66,"pl-pds"]],[[1,7,"pl-k"],[8,30,"pl-en"],[50,54,"pl-c1"],[56,58,"pl-s"],[56,57,"pl-pds"],[57,58,"pl-pds"]],[],[[0,18,"pl-c"],[0,2,"pl-c"]],[[1,7,"pl-k"],[8,34,"pl-en"]],[[4,13,"pl-k"],[14,22,"pl-k"]],[[4,10,"pl-k"],[11,15,"pl-k"],[16,33,"pl-en"]],[],[[1,7,"pl-k"],[8,41,"pl-en"],[42,56,"pl-v"]],[[4,13,"pl-k"],[14,22,"pl-k"]],[[4,10,"pl-k"],[11,15,"pl-k"],[16,33,"pl-en"]],[],[[1,7,"pl-k"],[8,41,"pl-en"],[65,69,"pl-c1"],[71,73,"pl-s"],[71,72,"pl-pds"],[72,73,"pl-pds"]],[[1,7,"pl-k"],[8,40,"pl-en"],[64,68,"pl-c1"],[70,72,"pl-s"],[70,71,"pl-pds"],[71,72,"pl-pds"]],[],[[0,15,"pl-c"],[0,2,"pl-c"]],[[1,7,"pl-k"],[8,23,"pl-en"],[24,28,"pl-v"]],[],[[0,24,"pl-c"],[0,2,"pl-c"]],[[1,7,"pl-k"],[8,26,"pl-en"],[27,31,"pl-v"],[33,42,"pl-k"],[43,52,"pl-c"],[43,45,"pl-c"]],[],[[0,33,"pl-c"],[0,2,"pl-c"]],[[1,7,"pl-k"],[8,32,"pl-en"],[33,37,"pl-v"],[53,57,"pl-c1"],[59,61,"pl-s"],[59,60,"pl-pds"],[60,61,"pl-pds"]],[],[[0,31,"pl-c"],[0,2,"pl-c"]],[[1,7,"pl-k"],[8,30,"pl-en"],[31,36,"pl-k"],[37,54,"pl-en"]],[],[[1,7,"pl-k"],[8,45,"pl-en"],[46,55,"pl-v"]],[[4,13,"pl-k"],[14,22,"pl-k"],[51,52,"pl-k"]],[[4,10,"pl-k"],[11,17,"pl-k"],[34,51,"pl-en"]],[],[[1,7,"pl-k"],[8,33,"pl-en"],[34,58,"pl-v"]],[[1,7,"pl-k"],[8,33,"pl-en"],[34,58,"pl-v"]],[],[[1,7,"pl-k"],[8,20,"pl-en"],[27,38,"pl-k"],[39,43,"pl-k"],[45,46,"pl-c1"]],[[1,7,"pl-k"],[8,23,"pl-en"],[24,25,"pl-v"],[28,39,"pl-k"],[40,44,"pl-k"],[46,47,"pl-c1"]],[[1,7,"pl-k"],[8,30,"pl-en"],[49,60,"pl-k"],[61,65,"pl-k"],[67,68,"pl-c1"]],[[1,7,"pl-k"],[8,33,"pl-en"],[52,63,"pl-k"],[64,68,"pl-k"],[70,71,"pl-c1"]],[[1,7,"pl-k"],[8,27,"pl-en"],[46,57,"pl-k"],[58,62,"pl-k"],[64,65,"pl-c1"]],[[1,7,"pl-k"],[8,23,"pl-en"],[30,41,"pl-k"],[42,46,"pl-k"],[48,49,"pl-c1"]],[[1,7,"pl-k"],[8,26,"pl-en"],[33,44,"pl-k"],[45,49,"pl-k"],[51,52,"pl-c1"]],[[1,7,"pl-k"],[8,20,"pl-en"],[27,38,"pl-k"],[39,43,"pl-k"],[45,46,"pl-c1"]],[],[[1,3,"pl-k"]],[],[],[[1,7,"pl-k"],[8,20,"pl-en"],[32,38,"pl-k"]],[[1,7,"pl-k"],[8,21,"pl-en"],[33,39,"pl-k"]],[[1,7,"pl-k"],[8,23,"pl-en"],[35,41,"pl-k"]],[[1,7,"pl-k"],[8,26,"pl-en"],[38,44,"pl-k"]],[[1,7,"pl-k"],[8,27,"pl-en"],[39,45,"pl-k"]],[[1,7,"pl-k"],[8,29,"pl-en"],[41,47,"pl-k"]],[],[[1,7,"pl-k"],[8,28,"pl-en"],[46,52,"pl-k"]],[[1,7,"pl-k"],[8,29,"pl-en"],[47,53,"pl-k"]],[[1,7,"pl-k"],[8,31,"pl-en"],[49,55,"pl-k"]],[[1,7,"pl-k"],[8,34,"pl-en"],[52,58,"pl-k"]],[[1,7,"pl-k"],[8,35,"pl-en"],[53,59,"pl-k"]],[[1,7,"pl-k"],[8,37,"pl-en"],[55,61,"pl-k"]],[],[[0,9,"pl-k"],[10,17,"pl-en"]],[[0,9,"pl-k"],[10,16,"pl-en"]],[[1,7,"pl-k"],[8,29,"pl-en"],[30,38,"pl-v"]],[[4,13,"pl-k"],[14,22,"pl-k"],[26,34,"pl-k"]],[[4,8,"pl-k"],[9,13,"pl-en"],[14,19,"pl-k"],[20,36,"pl-en"],[45,50,"pl-k"],[78,84,"pl-k"]],[],[[4,25,"pl-en"]],[],[],[],[],[],[[2,21,"pl-c"],[2,4,"pl-c"]],[[2,22,"pl-c"],[2,4,"pl-c"]],[],[[1,7,"pl-k"],[8,23,"pl-en"],[35,41,"pl-k"],[42,61,"pl-c1"]],[[1,7,"pl-k"],[8,24,"pl-en"],[36,42,"pl-k"],[43,62,"pl-c1"]],[[1,7,"pl-k"],[8,26,"pl-en"],[38,44,"pl-k"],[45,64,"pl-c1"]],[[1,7,"pl-k"],[8,23,"pl-en"],[35,41,"pl-k"],[42,61,"pl-c1"]],[[1,7,"pl-k"],[8,24,"pl-en"],[36,42,"pl-k"],[43,62,"pl-c1"]],[[1,7,"pl-k"],[8,26,"pl-en"],[38,44,"pl-k"],[45,64,"pl-c1"]],[[1,7,"pl-k"],[8,23,"pl-en"],[35,41,"pl-k"],[42,61,"pl-c1"]],[[1,7,"pl-k"],[8,24,"pl-en"],[36,42,"pl-k"],[43,62,"pl-c1"]],[[1,7,"pl-k"],[8,26,"pl-en"],[38,44,"pl-k"],[45,64,"pl-c1"]],[[1,7,"pl-k"],[8,23,"pl-en"],[35,41,"pl-k"],[42,61,"pl-c1"]],[[1,7,"pl-k"],[8,24,"pl-en"],[36,42,"pl-k"],[43,62,"pl-c1"]],[[1,7,"pl-k"],[8,26,"pl-en"],[38,44,"pl-k"],[45,64,"pl-c1"]],[[1,7,"pl-k"],[8,23,"pl-en"],[35,41,"pl-k"],[42,61,"pl-c1"]],[[1,7,"pl-k"],[8,24,"pl-en"],[36,42,"pl-k"],[43,62,"pl-c1"]],[[1,7,"pl-k"],[8,26,"pl-en"],[38,44,"pl-k"],[45,64,"pl-c1"]],[[1,7,"pl-k"],[8,23,"pl-en"],[35,41,"pl-k"],[42,61,"pl-c1"]],[[1,7,"pl-k"],[8,24,"pl-en"],[36,42,"pl-k"],[43,62,"pl-c1"]],[[1,7,"pl-k"],[8,26,"pl-en"],[38,44,"pl-k"],[45,64,"pl-c1"]],[[1,7,"pl-k"],[8,26,"pl-en"],[38,44,"pl-k"]],[[1,7,"pl-k"],[8,27,"pl-en"],[39,45,"pl-k"]],[[1,7,"pl-k"],[8,29,"pl-en"],[41,47,"pl-k"]],[[1,7,"pl-k"],[8,32,"pl-en"],[44,50,"pl-k"]],[[1,7,"pl-k"],[8,33,"pl-en"],[45,51,"pl-k"]],[[1,7,"pl-k"],[8,35,"pl-en"],[47,53,"pl-k"]],[],[[1,7,"pl-k"]],[],[[1,7,"pl-k"],[8,32,"pl-en"],[55,68,"pl-c1"],[69,74,"pl-c1"],[76,142,"pl-s"],[76,77,"pl-pds"],[141,142,"pl-pds"],[145,151,"pl-k"],[152,157,"pl-c1"]],[[1,7,"pl-k"],[8,33,"pl-en"]],[[1,7,"pl-k"],[8,35,"pl-en"]],[[1,7,"pl-k"],[8,35,"pl-en"]],[[1,7,"pl-k"],[8,36,"pl-en"]],[[1,7,"pl-k"],[8,38,"pl-en"]],[],[[1,7,"pl-k"],[8,40,"pl-en"]],[[1,7,"pl-k"],[8,41,"pl-en"]],[[1,7,"pl-k"],[8,43,"pl-en"]],[[1,7,"pl-k"],[8,43,"pl-en"]],[[1,7,"pl-k"],[8,44,"pl-en"]],[[1,7,"pl-k"],[8,46,"pl-en"]],[],[[1,7,"pl-k"],[8,27,"pl-en"],[39,42,"pl-k"],[58,64,"pl-k"],[65,70,"pl-c1"],[74,79,"pl-k"],[88,94,"pl-k"],[95,99,"pl-c1"]],[[1,7,"pl-k"],[8,28,"pl-en"],[40,43,"pl-k"],[59,65,"pl-k"],[66,71,"pl-c1"],[75,80,"pl-k"],[89,95,"pl-k"],[96,100,"pl-c1"]],[[1,7,"pl-k"],[8,30,"pl-en"],[42,45,"pl-k"],[61,67,"pl-k"],[68,73,"pl-c1"],[77,82,"pl-k"],[91,97,"pl-k"],[98,102,"pl-c1"]],[[1,7,"pl-k"],[8,30,"pl-en"],[48,51,"pl-k"],[62,67,"pl-k"],[84,90,"pl-k"],[91,95,"pl-c1"],[99,104,"pl-k"],[115,121,"pl-k"],[122,127,"pl-c1"]],[[1,7,"pl-k"],[8,31,"pl-en"],[49,52,"pl-k"],[63,68,"pl-k"],[85,91,"pl-k"],[92,96,"pl-c1"],[100,105,"pl-k"],[116,122,"pl-k"],[123,128,"pl-c1"]],[[1,7,"pl-k"],[8,33,"pl-en"],[51,54,"pl-k"],[65,70,"pl-k"],[87,93,"pl-k"],[94,98,"pl-c1"],[102,107,"pl-k"],[118,124,"pl-k"],[125,130,"pl-c1"]],[[1,7,"pl-k"],[8,28,"pl-en"],[40,43,"pl-k"],[59,65,"pl-k"],[66,70,"pl-c1"],[74,79,"pl-k"],[88,94,"pl-k"],[95,100,"pl-c1"]],[[1,7,"pl-k"],[8,29,"pl-en"],[41,44,"pl-k"],[60,66,"pl-k"],[67,71,"pl-c1"],[75,80,"pl-k"],[89,95,"pl-k"],[96,101,"pl-c1"]],[[1,7,"pl-k"],[8,31,"pl-en"],[43,46,"pl-k"],[62,68,"pl-k"],[69,73,"pl-c1"],[77,82,"pl-k"],[91,97,"pl-k"],[98,103,"pl-c1"]],[],[[1,7,"pl-k"],[8,35,"pl-en"],[53,56,"pl-k"],[72,78,"pl-k"],[79,84,"pl-c1"],[88,93,"pl-k"],[102,108,"pl-k"],[109,113,"pl-c1"]],[[1,7,"pl-k"],[8,36,"pl-en"],[54,57,"pl-k"],[73,79,"pl-k"],[80,85,"pl-c1"],[89,94,"pl-k"],[103,109,"pl-k"],[110,114,"pl-c1"]],[[1,7,"pl-k"],[8,38,"pl-en"],[56,59,"pl-k"],[75,81,"pl-k"],[82,87,"pl-c1"],[91,96,"pl-k"],[105,111,"pl-k"],[112,116,"pl-c1"]],[[1,7,"pl-k"],[8,38,"pl-en"],[60,63,"pl-k"],[74,79,"pl-k"],[96,102,"pl-k"],[103,107,"pl-c1"],[111,116,"pl-k"],[127,133,"pl-k"],[134,139,"pl-c1"]],[[1,7,"pl-k"],[8,39,"pl-en"],[61,64,"pl-k"],[75,80,"pl-k"],[97,103,"pl-k"],[104,108,"pl-c1"],[112,117,"pl-k"],[128,134,"pl-k"],[135,140,"pl-c1"]],[[1,7,"pl-k"],[8,41,"pl-en"],[63,66,"pl-k"],[77,82,"pl-k"],[99,105,"pl-k"],[106,110,"pl-c1"],[114,119,"pl-k"],[130,136,"pl-k"],[137,142,"pl-c1"]],[[1,7,"pl-k"],[8,36,"pl-en"],[54,57,"pl-k"],[73,79,"pl-k"],[80,84,"pl-c1"],[88,93,"pl-k"],[102,108,"pl-k"],[109,114,"pl-c1"]],[[1,7,"pl-k"],[8,37,"pl-en"],[55,58,"pl-k"],[74,80,"pl-k"],[81,85,"pl-c1"],[89,94,"pl-k"],[103,109,"pl-k"],[110,115,"pl-c1"]],[[1,7,"pl-k"],[8,39,"pl-en"],[57,60,"pl-k"],[76,82,"pl-k"],[83,87,"pl-c1"],[91,96,"pl-k"],[105,111,"pl-k"],[112,117,"pl-c1"]],[],[[1,6,"pl-k"],[7,38,"pl-c"],[7,9,"pl-c"]],[],[[1,5,"pl-k"],[6,59,"pl-c"],[6,8,"pl-c"]],[],[[1,7,"pl-k"],[8,20,"pl-en"]],[[1,7,"pl-k"],[8,21,"pl-en"]],[[1,7,"pl-k"],[8,23,"pl-en"]],[[1,7,"pl-k"],[8,26,"pl-en"]],[[1,7,"pl-k"],[8,27,"pl-en"]],[[1,7,"pl-k"],[8,29,"pl-en"]],[],[[1,7,"pl-k"],[8,28,"pl-en"]],[[1,7,"pl-k"],[8,29,"pl-en"]],[[1,7,"pl-k"],[8,31,"pl-en"]],[[1,7,"pl-k"],[8,34,"pl-en"]],[[1,7,"pl-k"],[8,35,"pl-en"]],[[1,7,"pl-k"],[8,37,"pl-en"]],[],[[1,7,"pl-k"],[8,23,"pl-en"]],[[1,7,"pl-k"],[8,24,"pl-en"]],[[1,7,"pl-k"],[8,26,"pl-en"]],[[1,7,"pl-k"],[8,23,"pl-en"]],[[1,7,"pl-k"],[8,24,"pl-en"]],[[1,7,"pl-k"],[8,26,"pl-en"]],[[1,7,"pl-k"],[8,23,"pl-en"]],[[1,7,"pl-k"],[8,24,"pl-en"]],[[1,7,"pl-k"],[8,26,"pl-en"]],[[1,7,"pl-k"],[8,23,"pl-en"]],[[1,7,"pl-k"],[8,24,"pl-en"]],[[1,7,"pl-k"],[8,26,"pl-en"]],[[1,7,"pl-k"],[8,23,"pl-en"]],[[1,7,"pl-k"],[8,24,"pl-en"]],[[1,7,"pl-k"],[8,26,"pl-en"]],[[1,7,"pl-k"],[8,23,"pl-en"]],[[1,7,"pl-k"],[8,24,"pl-en"]],[[1,7,"pl-k"],[8,26,"pl-en"]],[],[[1,7,"pl-k"],[8,26,"pl-en"]],[[1,7,"pl-k"],[8,27,"pl-en"]],[[1,7,"pl-k"],[8,29,"pl-en"]],[[1,7,"pl-k"],[8,32,"pl-en"]],[[1,7,"pl-k"],[8,33,"pl-en"]],[[1,7,"pl-k"],[8,35,"pl-en"]],[],[[1,7,"pl-k"]],[],[[1,7,"pl-k"],[8,27,"pl-en"]],[[1,7,"pl-k"],[8,28,"pl-en"]],[[1,7,"pl-k"],[8,30,"pl-en"]],[[1,7,"pl-k"],[8,30,"pl-en"]],[[1,7,"pl-k"],[8,31,"pl-en"]],[[1,7,"pl-k"],[8,33,"pl-en"]],[[1,7,"pl-k"],[8,32,"pl-en"]],[[1,7,"pl-k"],[8,33,"pl-en"]],[[1,7,"pl-k"],[8,35,"pl-en"]],[[1,7,"pl-k"],[8,35,"pl-en"]],[[1,7,"pl-k"],[8,36,"pl-en"]],[[1,7,"pl-k"],[8,38,"pl-en"]],[[1,7,"pl-k"],[8,28,"pl-en"]],[[1,7,"pl-k"],[8,29,"pl-en"]],[[1,7,"pl-k"],[8,31,"pl-en"]],[],[[1,7,"pl-k"],[8,35,"pl-en"]],[[1,7,"pl-k"],[8,36,"pl-en"]],[[1,7,"pl-k"],[8,38,"pl-en"]],[[1,7,"pl-k"],[8,38,"pl-en"]],[[1,7,"pl-k"],[8,39,"pl-en"]],[[1,7,"pl-k"],[8,41,"pl-en"]],[[1,7,"pl-k"],[8,40,"pl-en"]],[[1,7,"pl-k"],[8,41,"pl-en"]],[[1,7,"pl-k"],[8,43,"pl-en"]],[[1,7,"pl-k"],[8,43,"pl-en"]],[[1,7,"pl-k"],[8,44,"pl-en"]],[[1,7,"pl-k"],[8,46,"pl-en"]],[[1,7,"pl-k"],[8,36,"pl-en"]],[[1,7,"pl-k"],[8,37,"pl-en"]],[[1,7,"pl-k"],[8,39,"pl-en"]],[],[[1,6,"pl-k"],[7,38,"pl-c"],[7,9,"pl-c"]],[],[[7,60,"pl-c"],[7,9,"pl-c"]],[],[[7,32,"pl-c"],[7,9,"pl-c"]],[],[[1,6,"pl-k"]],[],[[1,6,"pl-k"]],[[1,7,"pl-k"],[8,36,"pl-en"]],[[1,5,"pl-k"],[6,58,"pl-c"],[6,8,"pl-c"]],[[1,7,"pl-k"],[8,36,"pl-en"],[42,55,"pl-c1"],[56,61,"pl-c1"],[63,90,"pl-s"],[63,64,"pl-pds"],[89,90,"pl-pds"]],[[4,108,"pl-s"],[4,5,"pl-pds"],[107,108,"pl-pds"],[111,117,"pl-k"],[118,123,"pl-c1"]],[],[[1,6,"pl-k"]],[[1,6,"pl-k"]],[[1,6,"pl-k"]],[[1,6,"pl-k"]],[[1,6,"pl-k"]],[[1,6,"pl-k"]],[[1,6,"pl-k"]],[[1,6,"pl-k"]],[[1,6,"pl-k"]],[[1,6,"pl-k"]],[[1,6,"pl-k"]],[[1,6,"pl-k"]],[],[[1,7,"pl-k"],[8,23,"pl-en"]],[[1,7,"pl-k"],[8,29,"pl-en"]],[[1,7,"pl-k"],[8,31,"pl-en"]],[[1,7,"pl-k"],[8,37,"pl-en"]],[[1,7,"pl-k"],[8,26,"pl-en"]],[[1,7,"pl-k"],[8,26,"pl-en"]],[[1,7,"pl-k"],[8,26,"pl-en"]],[[1,7,"pl-k"],[8,26,"pl-en"]],[[1,7,"pl-k"],[8,26,"pl-en"]],[[1,7,"pl-k"],[8,26,"pl-en"]],[[1,7,"pl-k"],[8,29,"pl-en"]],[[1,7,"pl-k"],[8,35,"pl-en"]],[],[[1,6,"pl-k"],[7,59,"pl-c"],[7,9,"pl-c"]],[],[[1,7,"pl-k"],[8,27,"pl-en"]],[[1,7,"pl-k"],[8,28,"pl-en"]],[[1,7,"pl-k"],[8,30,"pl-en"]],[[1,7,"pl-k"],[8,30,"pl-en"]],[[1,7,"pl-k"],[8,31,"pl-en"]],[[1,7,"pl-k"],[8,33,"pl-en"]],[[1,7,"pl-k"],[8,32,"pl-en"]],[[1,7,"pl-k"],[8,33,"pl-en"]],[[1,7,"pl-k"],[8,35,"pl-en"]],[[1,7,"pl-k"],[8,35,"pl-en"]],[[1,7,"pl-k"],[8,36,"pl-en"]],[[1,7,"pl-k"],[8,38,"pl-en"]],[[1,7,"pl-k"],[8,28,"pl-en"]],[[1,7,"pl-k"],[8,29,"pl-en"]],[[1,7,"pl-k"],[8,31,"pl-en"]],[],[[1,7,"pl-k"],[8,35,"pl-en"]],[[1,7,"pl-k"],[8,36,"pl-en"]],[[1,7,"pl-k"],[8,38,"pl-en"]],[[1,7,"pl-k"],[8,38,"pl-en"]],[[1,7,"pl-k"],[8,39,"pl-en"]],[[1,7,"pl-k"],[8,41,"pl-en"]],[[1,7,"pl-k"],[8,40,"pl-en"]],[[1,7,"pl-k"],[8,41,"pl-en"]],[[1,7,"pl-k"],[8,43,"pl-en"]],[[1,7,"pl-k"],[8,43,"pl-en"]],[[1,7,"pl-k"],[8,44,"pl-en"]],[[1,7,"pl-k"],[8,46,"pl-en"]],[[1,7,"pl-k"],[8,36,"pl-en"]],[[1,7,"pl-k"],[8,37,"pl-en"]],[[1,7,"pl-k"],[8,39,"pl-en"]],[],[[1,6,"pl-k"],[7,38,"pl-c"],[7,9,"pl-c"]],[],[[0,19,"pl-c"],[0,2,"pl-c"]],[[0,68,"pl-c"],[0,2,"pl-c"]],[[1,7,"pl-k"],[8,28,"pl-en"]],[[1,7,"pl-k"],[8,29,"pl-en"]],[[1,7,"pl-k"],[8,31,"pl-en"]],[[1,7,"pl-k"],[8,28,"pl-en"]],[[1,7,"pl-k"],[8,29,"pl-en"]],[[1,7,"pl-k"],[8,31,"pl-en"]],[[1,7,"pl-k"],[8,28,"pl-en"]],[[1,7,"pl-k"],[8,29,"pl-en"]],[[1,7,"pl-k"],[8,31,"pl-en"]],[[1,7,"pl-k"],[8,28,"pl-en"]],[[1,7,"pl-k"],[8,29,"pl-en"]],[[1,7,"pl-k"],[8,31,"pl-en"]],[[1,7,"pl-k"],[8,28,"pl-en"]],[[1,7,"pl-k"],[8,29,"pl-en"]],[[1,7,"pl-k"],[8,31,"pl-en"]],[[1,7,"pl-k"],[8,28,"pl-en"]],[[1,7,"pl-k"],[8,29,"pl-en"]],[[1,7,"pl-k"],[8,31,"pl-en"]],[],[[1,7,"pl-k"],[8,31,"pl-en"]],[[1,7,"pl-k"],[8,32,"pl-en"]],[[1,7,"pl-k"],[8,34,"pl-en"]],[[1,7,"pl-k"],[8,37,"pl-en"]],[[1,7,"pl-k"],[8,38,"pl-en"]],[[1,7,"pl-k"],[8,40,"pl-en"]],[],[[1,7,"pl-k"],[8,46,"pl-en"]],[[0,18,"pl-c"],[0,2,"pl-c"]],[],[[0,19,"pl-c"],[0,2,"pl-c"]],[[0,19,"pl-c"],[0,2,"pl-c"]],[[1,7,"pl-k"],[8,24,"pl-en"],[25,29,"pl-v"],[49,63,"pl-s"],[49,50,"pl-pds"],[62,63,"pl-pds"]],[[1,7,"pl-k"],[8,30,"pl-en"],[31,35,"pl-v"],[61,75,"pl-s"],[61,62,"pl-pds"],[74,75,"pl-pds"]],[[1,7,"pl-k"],[8,33,"pl-en"],[76,90,"pl-s"],[76,77,"pl-pds"],[89,90,"pl-pds"]],[[1,7,"pl-k"],[8,40,"pl-en"],[41,52,"pl-v"],[88,102,"pl-s"],[88,89,"pl-pds"],[101,102,"pl-pds"]],[],[[1,7,"pl-k"],[8,21,"pl-en"],[22,26,"pl-v"],[48,60,"pl-s"],[48,49,"pl-pds"],[59,60,"pl-pds"]],[[1,7,"pl-k"],[8,20,"pl-en"],[21,25,"pl-v"],[48,60,"pl-s"],[48,49,"pl-pds"],[59,60,"pl-pds"]],[[1,7,"pl-k"],[8,24,"pl-en"],[25,29,"pl-v"],[48,60,"pl-s"],[48,49,"pl-pds"],[59,60,"pl-pds"]],[[1,7,"pl-k"],[8,20,"pl-en"],[21,25,"pl-v"],[48,60,"pl-s"],[48,49,"pl-pds"],[59,60,"pl-pds"]],[[1,7,"pl-k"],[8,24,"pl-en"],[25,29,"pl-v"],[48,60,"pl-s"],[48,49,"pl-pds"],[59,60,"pl-pds"]],[[0,18,"pl-c"],[0,2,"pl-c"]],[],[[0,34,"pl-c"],[0,2,"pl-c"]],[[1,7,"pl-k"]],[],[[1,7,"pl-k"],[8,17,"pl-en"],[18,22,"pl-v"]],[[1,7,"pl-k"],[8,23,"pl-en"],[24,28,"pl-v"]],[[1,7,"pl-k"],[8,25,"pl-en"],[26,33,"pl-v"]],[[1,7,"pl-k"],[8,25,"pl-en"]],[[1,7,"pl-k"],[8,22,"pl-en"]],[[1,7,"pl-k"],[8,26,"pl-en"]],[[1,7,"pl-k"],[8,33,"pl-en"],[34,45,"pl-v"]],[[1,7,"pl-k"],[8,33,"pl-en"]],[[1,7,"pl-k"],[8,32,"pl-en"]],[[1,7,"pl-k"],[8,15,"pl-en"],[16,20,"pl-v"]],[[1,7,"pl-k"],[8,18,"pl-en"],[19,29,"pl-v"]],[[1,7,"pl-k"],[8,24,"pl-en"],[25,29,"pl-v"]],[[1,7,"pl-k"],[8,22,"pl-en"]],[[1,7,"pl-k"],[8,37,"pl-en"],[38,47,"pl-v"]],[[1,7,"pl-k"],[8,25,"pl-en"],[26,50,"pl-v"]],[[1,7,"pl-k"],[8,25,"pl-en"],[26,50,"pl-v"]],[[1,7,"pl-k"],[8,12,"pl-en"]],[[1,7,"pl-k"],[8,15,"pl-en"],[16,17,"pl-v"]],[[1,7,"pl-k"],[8,22,"pl-en"]],[[1,7,"pl-k"],[8,25,"pl-en"]],[[1,7,"pl-k"],[8,19,"pl-en"]],[[1,7,"pl-k"],[8,15,"pl-en"]],[[1,7,"pl-k"],[8,18,"pl-en"]],[[1,7,"pl-k"],[8,12,"pl-en"]],[[1,7,"pl-k"],[8,17,"pl-en"]],[],[[1,7,"pl-k"],[8,12,"pl-en"]],[[1,7,"pl-k"],[8,18,"pl-en"]],[[1,7,"pl-k"],[8,19,"pl-en"]],[[1,7,"pl-k"],[8,22,"pl-en"]],[[1,7,"pl-k"],[8,24,"pl-en"]],[[1,7,"pl-k"],[8,27,"pl-en"]],[[1,7,"pl-k"],[8,20,"pl-en"]],[[1,7,"pl-k"],[8,13,"pl-en"]],[[1,7,"pl-k"],[8,19,"pl-en"]],[[1,7,"pl-k"],[8,20,"pl-en"]],[[1,7,"pl-k"],[8,23,"pl-en"]],[[1,7,"pl-k"],[8,25,"pl-en"]],[[1,7,"pl-k"],[8,28,"pl-en"]],[[1,7,"pl-k"],[8,21,"pl-en"]],[[1,7,"pl-k"],[8,15,"pl-en"]],[[1,7,"pl-k"],[8,21,"pl-en"]],[[1,7,"pl-k"],[8,22,"pl-en"]],[[1,7,"pl-k"],[8,25,"pl-en"]],[[1,7,"pl-k"],[8,27,"pl-en"]],[[1,7,"pl-k"],[8,30,"pl-en"]],[[1,7,"pl-k"],[8,23,"pl-en"]],[],[[1,7,"pl-k"],[8,20,"pl-en"]],[[1,7,"pl-k"],[8,26,"pl-en"]],[[1,7,"pl-k"],[8,27,"pl-en"]],[[1,7,"pl-k"],[8,30,"pl-en"]],[[1,7,"pl-k"],[8,32,"pl-en"]],[[1,7,"pl-k"],[8,35,"pl-en"]],[[1,7,"pl-k"],[8,28,"pl-en"]],[[1,7,"pl-k"],[8,21,"pl-en"]],[[1,7,"pl-k"],[8,27,"pl-en"]],[[1,7,"pl-k"],[8,28,"pl-en"]],[[1,7,"pl-k"],[8,31,"pl-en"]],[[1,7,"pl-k"],[8,33,"pl-en"]],[[1,7,"pl-k"],[8,36,"pl-en"]],[[1,7,"pl-k"],[8,29,"pl-en"]],[[1,7,"pl-k"],[8,23,"pl-en"]],[[1,7,"pl-k"],[8,29,"pl-en"]],[[1,7,"pl-k"],[8,30,"pl-en"]],[[1,7,"pl-k"],[8,33,"pl-en"]],[[1,7,"pl-k"],[8,35,"pl-en"]],[[1,7,"pl-k"],[8,38,"pl-en"]],[[1,7,"pl-k"],[8,31,"pl-en"]],[],[[1,7,"pl-k"],[8,16,"pl-en"],[17,21,"pl-v"]],[[1,7,"pl-k"],[8,22,"pl-en"],[23,27,"pl-v"]],[[1,7,"pl-k"],[8,25,"pl-en"]],[[1,7,"pl-k"],[8,32,"pl-en"],[33,44,"pl-v"]],[[1,7,"pl-k"],[8,13,"pl-en"],[14,18,"pl-v"]],[[1,7,"pl-k"],[8,12,"pl-en"],[13,17,"pl-v"]],[[1,7,"pl-k"],[8,16,"pl-en"],[17,21,"pl-v"]],[[1,7,"pl-k"],[8,12,"pl-en"],[13,17,"pl-v"]],[[1,7,"pl-k"],[8,16,"pl-en"],[17,21,"pl-v"]],[],[[1,7,"pl-k"],[8,15,"pl-en"]],[[1,7,"pl-k"],[8,16,"pl-en"]],[[1,7,"pl-k"],[8,18,"pl-en"]],[[1,7,"pl-k"],[8,15,"pl-en"]],[[1,7,"pl-k"],[8,16,"pl-en"]],[[1,7,"pl-k"],[8,18,"pl-en"]],[[1,7,"pl-k"],[8,15,"pl-en"]],[[1,7,"pl-k"],[8,16,"pl-en"]],[[1,7,"pl-k"],[8,18,"pl-en"]],[[1,7,"pl-k"],[8,15,"pl-en"]],[[1,7,"pl-k"],[8,16,"pl-en"]],[[1,7,"pl-k"],[8,18,"pl-en"]],[[1,7,"pl-k"],[8,15,"pl-en"]],[[1,7,"pl-k"],[8,16,"pl-en"]],[[1,7,"pl-k"],[8,18,"pl-en"]],[[1,7,"pl-k"],[8,15,"pl-en"]],[[1,7,"pl-k"],[8,16,"pl-en"]],[[1,7,"pl-k"],[8,18,"pl-en"]],[[1,7,"pl-k"],[8,18,"pl-en"]],[[1,7,"pl-k"],[8,19,"pl-en"]],[[1,7,"pl-k"],[8,21,"pl-en"]],[[1,7,"pl-k"],[8,24,"pl-en"]],[[1,7,"pl-k"],[8,25,"pl-en"]],[[1,7,"pl-k"],[8,27,"pl-en"]],[],[[0,35,"pl-c"],[0,2,"pl-c"]],[[1,7,"pl-k"],[8,20,"pl-en"]],[[1,7,"pl-k"],[8,21,"pl-en"]],[[1,7,"pl-k"],[8,23,"pl-en"]],[[1,7,"pl-k"],[8,20,"pl-en"]],[[1,7,"pl-k"],[8,21,"pl-en"]],[[1,7,"pl-k"],[8,23,"pl-en"]],[[1,7,"pl-k"],[8,20,"pl-en"]],[[1,7,"pl-k"],[8,21,"pl-en"]],[[1,7,"pl-k"],[8,23,"pl-en"]],[[1,7,"pl-k"],[8,20,"pl-en"]],[[1,7,"pl-k"],[8,21,"pl-en"]],[[1,7,"pl-k"],[8,23,"pl-en"]],[[1,7,"pl-k"],[8,20,"pl-en"]],[[1,7,"pl-k"],[8,21,"pl-en"]],[[1,7,"pl-k"],[8,23,"pl-en"]],[[1,7,"pl-k"],[8,20,"pl-en"]],[[1,7,"pl-k"],[8,21,"pl-en"]],[[1,7,"pl-k"],[8,23,"pl-en"]],[],[[1,7,"pl-k"],[8,23,"pl-en"]],[[1,7,"pl-k"],[8,24,"pl-en"]],[[1,7,"pl-k"],[8,26,"pl-en"]],[[1,7,"pl-k"],[8,29,"pl-en"]],[[1,7,"pl-k"],[8,30,"pl-en"]],[[1,7,"pl-k"],[8,32,"pl-en"]],[],[[1,7,"pl-k"],[8,38,"pl-en"]],[],[[1,6,"pl-k"],[7,45,"pl-c"],[7,9,"pl-c"]],[],[[1,7,"pl-k"]],[],[[0,95,"pl-c"],[0,2,"pl-c"]],[[0,22,"pl-en"]],[],[[1,6,"pl-k"],[7,32,"pl-c"],[7,9,"pl-c"]],[],[],[],[],[],[],[],[[7,34,"pl-c"],[7,9,"pl-c"]],[],[[1,7,"pl-k"]],[[1,7,"pl-k"],[8,29,"pl-en"]],[[1,6,"pl-k"],[7,31,"pl-c"],[7,9,"pl-c"]],[],[[1,3,"pl-k"]],[],[[1,7,"pl-k"]],[[1,8,"pl-k"],[9,24,"pl-s"],[9,10,"pl-pds"],[23,24,"pl-pds"]],[[1,6,"pl-k"],[7,31,"pl-c"],[7,9,"pl-c"]],[],[[0,40,"pl-en"],[41,58,"pl-s"],[41,42,"pl-pds"],[57,58,"pl-pds"]],[],[[1,7,"pl-k"]],[[1,7,"pl-k"],[8,38,"pl-en"]],[],[],[],[],[],[],[[0,30,"pl-en"],[31,54,"pl-s"],[31,32,"pl-pds"],[53,54,"pl-pds"]],[[31,56,"pl-s"],[31,32,"pl-pds"],[55,56,"pl-pds"]],[[31,50,"pl-s"],[31,32,"pl-pds"],[49,50,"pl-pds"]],[[31,51,"pl-s"],[31,32,"pl-pds"],[50,51,"pl-pds"]],[[31,64,"pl-s"],[31,32,"pl-pds"],[63,64,"pl-pds"]],[[31,41,"pl-s"],[31,32,"pl-pds"],[40,41,"pl-pds"]],[[31,46,"pl-s"],[31,32,"pl-pds"],[45,46,"pl-pds"]],[[31,57,"pl-s"],[31,32,"pl-pds"],[56,57,"pl-pds"]],[[31,51,"pl-s"],[31,32,"pl-pds"],[50,51,"pl-pds"]],[[31,59,"pl-s"],[31,32,"pl-pds"],[58,59,"pl-pds"]],[[31,49,"pl-s"],[31,32,"pl-pds"],[48,49,"pl-pds"]],[[31,61,"pl-s"],[31,32,"pl-pds"],[60,61,"pl-pds"]],[[31,57,"pl-s"],[31,32,"pl-pds"],[56,57,"pl-pds"]],[[31,66,"pl-s"],[31,32,"pl-pds"],[65,66,"pl-pds"]],[],[],[[29,43,"pl-s"],[29,30,"pl-pds"],[42,43,"pl-pds"]],[[29,48,"pl-s"],[29,30,"pl-pds"],[47,48,"pl-pds"]],[[29,59,"pl-s"],[29,30,"pl-pds"],[58,59,"pl-pds"]],[[29,47,"pl-s"],[29,30,"pl-pds"],[46,47,"pl-pds"]],[[29,39,"pl-s"],[29,30,"pl-pds"],[38,39,"pl-pds"]],[[29,44,"pl-s"],[29,30,"pl-pds"],[43,44,"pl-pds"]],[[29,47,"pl-s"],[29,30,"pl-pds"],[46,47,"pl-pds"]],[[29,58,"pl-s"],[29,30,"pl-pds"],[57,58,"pl-pds"]],[[29,47,"pl-s"],[29,30,"pl-pds"],[46,47,"pl-pds"]],[[29,48,"pl-s"],[29,30,"pl-pds"],[47,48,"pl-pds"]],[[29,53,"pl-s"],[29,30,"pl-pds"],[52,53,"pl-pds"]],[[29,50,"pl-s"],[29,30,"pl-pds"],[49,50,"pl-pds"]],[],[],[[30,34,"pl-c1"],[36,96,"pl-c"],[36,38,"pl-c"]],[[30,34,"pl-c1"],[36,99,"pl-c"],[36,38,"pl-c"]],[[30,34,"pl-c1"],[36,96,"pl-c"],[36,38,"pl-c"]],[[30,34,"pl-c1"],[36,97,"pl-c"],[36,38,"pl-c"]],[[30,34,"pl-c1"],[36,100,"pl-c"],[36,38,"pl-c"]],[[30,34,"pl-c1"],[36,98,"pl-c"],[36,38,"pl-c"]],[[30,34,"pl-c1"],[36,100,"pl-c"],[36,38,"pl-c"]],[[30,34,"pl-c1"],[36,99,"pl-c"],[36,38,"pl-c"]],[],[],[],[[0,60,"pl-c"],[0,2,"pl-c"]],[[1,8,"pl-k"],[9,16,"pl-s"],[9,10,"pl-pds"],[15,16,"pl-pds"]],[[1,8,"pl-k"],[9,16,"pl-s"],[9,10,"pl-pds"],[15,16,"pl-pds"]],[[1,8,"pl-k"],[9,18,"pl-s"],[9,10,"pl-pds"],[17,18,"pl-pds"]],[[0,108,"pl-c"],[0,2,"pl-c"]],[[1,6,"pl-k"]],[[1,8,"pl-k"],[9,17,"pl-s"],[9,10,"pl-pds"],[16,17,"pl-pds"]],[[1,6,"pl-k"],[7,22,"pl-c"],[7,9,"pl-c"]],[[1,8,"pl-k"],[9,14,"pl-s"],[9,10,"pl-pds"],[13,14,"pl-pds"]],[[1,8,"pl-k"],[9,17,"pl-s"],[9,10,"pl-pds"],[16,17,"pl-pds"]],[[1,8,"pl-k"],[9,18,"pl-s"],[9,10,"pl-pds"],[17,18,"pl-pds"]],[[1,8,"pl-k"],[9,18,"pl-s"],[9,10,"pl-pds"],[17,18,"pl-pds"]],[[1,8,"pl-k"],[9,17,"pl-s"],[9,10,"pl-pds"],[16,17,"pl-pds"]],[[1,8,"pl-k"],[9,18,"pl-s"],[9,10,"pl-pds"],[17,18,"pl-pds"]],[[1,8,"pl-k"],[9,18,"pl-s"],[9,10,"pl-pds"],[17,18,"pl-pds"]],[[1,8,"pl-k"],[9,18,"pl-s"],[9,10,"pl-pds"],[17,18,"pl-pds"]],[[1,7,"pl-k"]],[[1,8,"pl-k"],[9,19,"pl-s"],[9,10,"pl-pds"],[18,19,"pl-pds"]],[[1,6,"pl-k"],[7,44,"pl-c"],[7,9,"pl-c"]],[[1,8,"pl-k"],[9,20,"pl-s"],[9,10,"pl-pds"],[19,20,"pl-pds"]],[[1,8,"pl-k"],[9,18,"pl-s"],[9,10,"pl-pds"],[17,18,"pl-pds"]],[[1,8,"pl-k"],[9,17,"pl-s"],[9,10,"pl-pds"],[16,17,"pl-pds"]],[[1,7,"pl-k"]],[[1,8,"pl-k"],[9,17,"pl-s"],[9,10,"pl-pds"],[16,17,"pl-pds"]],[[1,8,"pl-k"],[9,16,"pl-s"],[9,10,"pl-pds"],[15,16,"pl-pds"]],[[1,7,"pl-k"],[8,29,"pl-en"],[30,34,"pl-v"]],[[1,7,"pl-k"],[8,36,"pl-en"],[37,41,"pl-v"],[43,49,"pl-k"],[50,71,"pl-en"]],[[1,7,"pl-k"],[8,26,"pl-en"],[27,31,"pl-v"],[61,78,"pl-en"]],[[1,5,"pl-k"],[6,41,"pl-c"],[6,8,"pl-c"]],[[1,7,"pl-k"],[8,29,"pl-en"],[30,34,"pl-v"]],[[1,7,"pl-k"],[8,36,"pl-en"],[37,41,"pl-v"]],[[1,7,"pl-k"],[8,26,"pl-en"],[27,31,"pl-v"]],[[1,6,"pl-k"],[7,42,"pl-c"],[7,9,"pl-c"]],[[1,8,"pl-k"],[9,14,"pl-s"],[9,10,"pl-pds"],[13,14,"pl-pds"]],[[1,8,"pl-k"],[9,14,"pl-s"],[9,10,"pl-pds"],[13,14,"pl-pds"]],[[1,8,"pl-k"],[9,24,"pl-s"],[9,10,"pl-pds"],[23,24,"pl-pds"]],[[1,8,"pl-k"],[9,20,"pl-s"],[9,10,"pl-pds"],[19,20,"pl-pds"]],[[1,8,"pl-k"],[9,20,"pl-s"],[9,10,"pl-pds"],[19,20,"pl-pds"]],[[1,8,"pl-k"],[9,18,"pl-s"],[9,10,"pl-pds"],[17,18,"pl-pds"]],[[1,8,"pl-k"],[9,17,"pl-s"],[9,10,"pl-pds"],[16,17,"pl-pds"]],[[1,8,"pl-k"],[9,17,"pl-s"],[9,10,"pl-pds"],[16,17,"pl-pds"]],[[1,8,"pl-k"],[9,18,"pl-s"],[9,10,"pl-pds"],[17,18,"pl-pds"]],[[1,8,"pl-k"],[9,17,"pl-s"],[9,10,"pl-pds"],[16,17,"pl-pds"]],[],[[1,6,"pl-k"]],[[1,8,"pl-k"],[9,22,"pl-s"],[9,10,"pl-pds"],[21,22,"pl-pds"]],[[1,8,"pl-k"],[9,19,"pl-s"],[9,10,"pl-pds"],[18,19,"pl-pds"]],[[1,8,"pl-k"],[9,23,"pl-s"],[9,10,"pl-pds"],[22,23,"pl-pds"]],[[1,6,"pl-k"],[7,30,"pl-c"],[7,9,"pl-c"]],[],[[1,6,"pl-k"]],[],[[0,33,"pl-c"],[0,2,"pl-c"]],[[1,7,"pl-k"]],[[1,7,"pl-k"],[8,27,"pl-en"]],[[1,7,"pl-k"],[8,41,"pl-en"]],[[1,6,"pl-k"],[7,29,"pl-c"],[7,9,"pl-c"]],[[1,7,"pl-k"]],[[1,7,"pl-k"],[8,16,"pl-en"]],[[1,7,"pl-k"],[8,30,"pl-en"]],[[1,6,"pl-k"],[7,18,"pl-c"],[7,9,"pl-c"]],[],[[0,60,"pl-c"],[0,2,"pl-c"]],[[1,6,"pl-k"]],[[1,8,"pl-k"],[9,19,"pl-s"],[9,10,"pl-pds"],[18,19,"pl-pds"]],[[1,5,"pl-k"]],[[1,8,"pl-k"],[9,20,"pl-s"],[9,10,"pl-pds"],[19,20,"pl-pds"]],[[1,6,"pl-k"]],[[1,8,"pl-k"],[9,15,"pl-s"],[9,10,"pl-pds"],[14,15,"pl-pds"]],[],[[1,5,"pl-k"],[6,33,"pl-c"],[6,8,"pl-c"]],[],[[1,8,"pl-k"],[9,21,"pl-s"],[9,10,"pl-pds"],[20,21,"pl-pds"]],[[1,8,"pl-k"],[9,19,"pl-s"],[9,10,"pl-pds"],[18,19,"pl-pds"]],[],[[1,6,"pl-k"],[7,34,"pl-c"],[7,9,"pl-c"]],[],[[0,66,"pl-c"],[0,2,"pl-c"]],[[0,65,"pl-c"],[0,2,"pl-c"]],[[1,3,"pl-k"]],[[1,7,"pl-k"],[8,21,"pl-en"],[22,28,"pl-en"]],[[7,23,"pl-c"],[7,9,"pl-c"]],[],[],[],[[0,45,"pl-c"],[0,2,"pl-c"]],[[1,7,"pl-k"],[8,23,"pl-en"],[24,25,"pl-v"],[28,34,"pl-k"],[40,46,"pl-k"],[49,50,"pl-c1"]],[],[[1,6,"pl-k"]],[[1,7,"pl-k"],[8,34,"pl-en"],[35,63,"pl-v"]],[[1,5,"pl-k"],[6,31,"pl-c"],[6,8,"pl-c"]],[[1,7,"pl-k"],[8,34,"pl-en"],[35,63,"pl-v"]],[[1,6,"pl-k"],[7,32,"pl-c"],[7,9,"pl-c"]],[],[[1,7,"pl-k"]],[[1,7,"pl-k"],[8,37,"pl-en"],[38,43,"pl-s"],[38,39,"pl-pds"],[42,43,"pl-pds"]],[[1,6,"pl-k"]],[],[[1,7,"pl-k"]],[[1,3,"pl-k"]],[[1,7,"pl-k"],[8,28,"pl-en"]],[[1,5,"pl-k"],[6,21,"pl-c"],[6,8,"pl-c"]],[[1,7,"pl-k"],[8,28,"pl-en"],[29,41,"pl-k"]],[[1,6,"pl-k"],[7,22,"pl-c"],[7,9,"pl-c"]],[[1,6,"pl-k"],[7,30,"pl-c"],[7,9,"pl-c"]],[],[[1,7,"pl-k"]],[[1,7,"pl-k"],[8,47,"pl-en"],[48,50,"pl-c1"]],[[1,6,"pl-k"]],[],[[1,7,"pl-k"]],[[1,7,"pl-k"],[8,50,"pl-en"],[51,53,"pl-c1"]],[[1,6,"pl-k"]],[],[[1,6,"pl-k"]],[[1,7,"pl-k"],[8,38,"pl-en"]],[[1,5,"pl-k"]],[[1,7,"pl-k"],[8,38,"pl-en"],[39,41,"pl-s"],[39,40,"pl-pds"],[40,41,"pl-pds"]],[[1,6,"pl-k"]],[],[[1,3,"pl-k"]],[[1,7,"pl-k"],[8,44,"pl-en"]],[[1,6,"pl-k"]],[],[[1,7,"pl-k"]],[[1,7,"pl-k"],[8,21,"pl-en"]],[[1,6,"pl-k"]],[],[[0,9,"pl-k"],[10,17,"pl-en"]],[],[[0,4,"pl-k"],[26,31,"pl-c1"]],[],[[0,9,"pl-k"]],[[4,9,"pl-k"],[10,19,"pl-k"],[20,26,"pl-en"],[26,27,"pl-k"]],[],[[4,13,"pl-k"],[14,22,"pl-k"]],[[21,25,"pl-k"],[26,41,"pl-en"],[45,50,"pl-k"]],[[1,7,"pl-k"]],[[8,13,"pl-k"]],[[1,5,"pl-k"],[7,38,"pl-c"],[7,9,"pl-c"]],[[1,6,"pl-k"]],[[8,39,"pl-c1"]],[[1,5,"pl-k"],[6,40,"pl-c"],[6,8,"pl-c"]],[[1,7,"pl-k"]],[[21,88,"pl-s"],[21,22,"pl-pds"],[85,87,"pl-cce"],[87,88,"pl-pds"]],[[21,40,"pl-s"],[21,22,"pl-pds"],[39,40,"pl-pds"],[46,50,"pl-c1"],[56,60,"pl-s"],[56,57,"pl-pds"],[57,59,"pl-cce"],[59,60,"pl-pds"]],[[1,6,"pl-k"],[7,44,"pl-c"],[7,9,"pl-c"]],[[1,6,"pl-k"],[7,41,"pl-c"],[7,9,"pl-c"]],[[8,22,"pl-c1"]],[[1,6,"pl-k"],[7,38,"pl-c"],[7,9,"pl-c"]],[],[],[[1,7,"pl-k"]],[[1,7,"pl-k"],[8,30,"pl-en"],[31,34,"pl-v"]],[[4,19,"pl-en"]],[[21,24,"pl-s"],[21,22,"pl-pds"],[23,24,"pl-pds"]],[[1,6,"pl-k"],[7,32,"pl-c"],[7,9,"pl-c"]],[],[[4,30,"pl-c"],[4,6,"pl-c"]],[[4,7,"pl-k"],[8,15,"pl-en"],[16,21,"pl-k"],[22,26,"pl-k"],[31,36,"pl-k"],[37,41,"pl-k"]],[[8,11,"pl-k"]],[[12,17,"pl-k"],[18,21,"pl-k"],[26,33,"pl-c1"],[40,47,"pl-c1"]],[[12,14,"pl-k"],[20,21,"pl-c1"]],[[16,22,"pl-k"]],[],[],[],[[4,10,"pl-k"],[11,21,"pl-en"]],[],[[8,12,"pl-k"]],[],[],[],[],[],[[8,14,"pl-k"],[20,25,"pl-en"]],[[12,15,"pl-k"],[20,21,"pl-c1"]],[[12,59,"pl-c"],[12,14,"pl-c"]],[[12,16,"pl-k"],[23,39,"pl-k"],[40,44,"pl-k"]],[[12,14,"pl-k"]],[[16,22,"pl-k"]],[[12,18,"pl-k"]],[],[],[[2,14,"pl-c"],[2,4,"pl-c"]],[],[[0,9,"pl-k"],[10,16,"pl-en"]],[[25,30,"pl-k"]],[],[],[],[],[[4,11,"pl-k"]],[[22,26,"pl-en"]],[[18,27,"pl-c1"],[31,36,"pl-c1"]],[[12,18,"pl-k"]],[],[],[[15,18,"pl-en"]],[[12,14,"pl-k"],[22,27,"pl-c1"]],[[16,38,"pl-c1"],[39,75,"pl-s"],[39,40,"pl-pds"],[74,75,"pl-pds"]],[],[[39,43,"pl-c1"]],[[18,26,"pl-c1"]],[[12,20,"pl-k"],[26,37,"pl-k"],[38,46,"pl-k"],[51,56,"pl-c1"]],[[15,20,"pl-c1"],[24,34,"pl-c1"]],[[12,18,"pl-k"],[19,25,"pl-c1"]],[],[],[],[[18,26,"pl-en"]],[[8,14,"pl-k"],[21,25,"pl-c1"]],[],[],[[11,18,"pl-en"]],[[8,14,"pl-k"],[21,24,"pl-c1"]],[],[],[[1,7,"pl-k"]],[],[[0,9,"pl-k"],[10,29,"pl-en"]],[],[],[[1,3,"pl-k"]],[[4,9,"pl-k"]],[[1,5,"pl-k"],[6,33,"pl-c"],[6,8,"pl-c"]],[[4,9,"pl-k"],[22,30,"pl-c1"]],[[1,6,"pl-k"],[7,34,"pl-c"],[7,9,"pl-c"]],[],[],[[0,5,"pl-k"],[6,13,"pl-c1"]],[],[[1,6,"pl-k"]],[[4,11,"pl-c1"],[12,27,"pl-en"],[32,38,"pl-k"],[39,69,"pl-c1"]],[[1,5,"pl-k"]],[[4,11,"pl-c1"],[12,27,"pl-en"]],[[8,14,"pl-k"],[37,38,"pl-c1"],[52,53,"pl-c1"]],[[8,10,"pl-k"],[15,23,"pl-smi"]],[[12,37,"pl-c1"]],[[12,35,"pl-c1"]],[],[],[[8,31,"pl-c1"]],[[8,14,"pl-k"],[19,27,"pl-smi"],[34,42,"pl-smi"],[46,54,"pl-c1"],[55,62,"pl-c1"],[70,78,"pl-smi"]],[],[[1,5,"pl-k"],[7,34,"pl-c"],[7,9,"pl-c"]],[[4,11,"pl-c1"],[12,27,"pl-en"]],[[8,15,"pl-c1"]],[[8,20,"pl-c1"],[25,32,"pl-c1"]],[[8,14,"pl-k"],[15,26,"pl-k"],[27,34,"pl-c1"],[38,44,"pl-smi"],[48,55,"pl-c1"],[58,69,"pl-k"],[70,77,"pl-c1"],[81,88,"pl-smi"]],[],[[1,6,"pl-k"],[7,34,"pl-c"],[7,9,"pl-c"]],[],[[4,10,"pl-k"],[11,16,"pl-en"]],[],[[8,12,"pl-k"],[21,26,"pl-en"],[41,56,"pl-c1"]],[[8,16,"pl-k"],[17,20,"pl-k"],[21,43,"pl-en"],[46,51,"pl-k"]],[[12,18,"pl-k"],[19,30,"pl-k"],[31,39,"pl-k"],[40,43,"pl-k"],[45,60,"pl-c1"]],[],[[8,55,"pl-c"],[8,10,"pl-c"]],[[8,80,"pl-c"],[8,10,"pl-c"]],[[8,11,"pl-c"],[8,10,"pl-c"]],[[8,14,"pl-k"],[15,32,"pl-en"],[35,40,"pl-k"],[43,49,"pl-k"],[50,61,"pl-k"],[62,68,"pl-k"],[70,85,"pl-c1"],[101,110,"pl-c1"]],[],[[4,12,"pl-k"]],[[8,15,"pl-c1"],[26,27,"pl-c1"]],[],[],[[1,6,"pl-k"]],[[4,13,"pl-k"],[14,22,"pl-k"]],[[4,9,"pl-k"]],[[1,5,"pl-k"],[6,41,"pl-c"],[6,8,"pl-c"]],[[4,13,"pl-k"],[14,22,"pl-k"]],[[4,9,"pl-k"]],[[1,6,"pl-k"],[7,42,"pl-c"],[7,9,"pl-c"]],[],[[1,3,"pl-k"]],[[4,13,"pl-k"],[14,22,"pl-k"]],[[4,9,"pl-k"]],[[1,5,"pl-k"],[6,45,"pl-c"],[6,8,"pl-c"]],[[4,94,"pl-c"],[4,6,"pl-c"]],[[4,91,"pl-c"],[4,6,"pl-c"]],[[4,88,"pl-c"],[4,6,"pl-c"]],[[4,70,"pl-c"],[4,6,"pl-c"]],[[4,6,"pl-c"],[4,6,"pl-c"]],[[4,92,"pl-c"],[4,6,"pl-c"]],[[4,80,"pl-c"],[4,6,"pl-c"]],[[4,6,"pl-c"],[4,6,"pl-c"]],[[4,95,"pl-c"],[4,6,"pl-c"]],[[4,57,"pl-c"],[4,6,"pl-c"]],[[4,13,"pl-k"],[14,22,"pl-k"]],[[4,9,"pl-k"],[10,25,"pl-en"]],[],[[8,14,"pl-k"],[15,37,"pl-en"]],[],[],[[12,16,"pl-k"],[70,76,"pl-k"]],[],[],[],[[8,21,"pl-en"],[22,28,"pl-k"]],[[22,73,"pl-s"],[22,23,"pl-pds"],[72,73,"pl-pds"]],[],[[4,11,"pl-k"]],[[10,18,"pl-k"],[42,48,"pl-k"],[49,58,"pl-c1"],[59,60,"pl-c1"],[64,65,"pl-c1"]],[],[[10,18,"pl-k"],[21,24,"pl-k"],[45,51,"pl-k"],[52,61,"pl-c1"],[62,63,"pl-c1"]],[],[[10,19,"pl-en"]],[[12,18,"pl-k"],[19,27,"pl-c1"],[30,39,"pl-c1"]],[],[],[[10,19,"pl-en"]],[[12,18,"pl-k"],[19,27,"pl-c1"],[30,39,"pl-c1"]],[],[],[[8,16,"pl-k"],[17,18,"pl-en"],[21,26,"pl-k"],[46,52,"pl-k"],[53,57,"pl-c1"]],[],[[10,14,"pl-en"],[68,73,"pl-k"]],[[12,16,"pl-k"],[26,27,"pl-c1"]],[[12,15,"pl-k"],[16,20,"pl-k"],[21,26,"pl-k"]],[[28,34,"pl-smi"],[35,39,"pl-c1"]],[],[[12,18,"pl-k"]],[],[],[[10,18,"pl-k"],[50,95,"pl-c"],[50,52,"pl-c"]],[[12,17,"pl-c1"]],[[12,18,"pl-k"]],[],[],[[8,12,"pl-k"],[13,18,"pl-en"]],[[12,65,"pl-c"],[12,14,"pl-c"]],[[12,15,"pl-k"],[16,20,"pl-k"]],[[18,24,"pl-smi"],[25,30,"pl-c1"]],[],[],[],[],[[4,12,"pl-k"]],[[8,96,"pl-c"],[8,10,"pl-c"]],[[8,96,"pl-c"],[8,10,"pl-c"]],[[8,32,"pl-c"],[8,10,"pl-c"]],[[8,10,"pl-c"],[8,10,"pl-c"]],[[8,96,"pl-c"],[8,10,"pl-c"]],[[8,94,"pl-c"],[8,10,"pl-c"]],[[8,10,"pl-c"],[8,10,"pl-c"]],[[8,73,"pl-c"],[8,10,"pl-c"]],[[8,99,"pl-c"],[8,10,"pl-c"]],[[8,48,"pl-c"],[8,10,"pl-c"]],[[8,98,"pl-c"],[8,10,"pl-c"]],[[8,30,"pl-c"],[8,10,"pl-c"]],[[19,27,"pl-en"]],[[12,18,"pl-k"],[26,32,"pl-c1"]],[[33,39,"pl-c1"]],[],[],[[12,18,"pl-k"],[41,47,"pl-smi"]],[],[],[[1,6,"pl-k"],[7,46,"pl-c"],[7,9,"pl-c"]],[],[[4,82,"pl-c"],[4,6,"pl-c"]],[[4,10,"pl-k"],[11,23,"pl-en"]],[],[[24,27,"pl-k"]],[[24,27,"pl-k"]],[],[[69,70,"pl-c1"],[73,95,"pl-c"],[73,75,"pl-c"]],[],[],[],[[28,35,"pl-c1"]],[],[],[],[[49,91,"pl-c"],[49,51,"pl-c"]],[],[[8,29,"pl-c"],[8,10,"pl-c"]],[[8,12,"pl-k"]],[],[],[[27,35,"pl-k"],[36,40,"pl-k"],[41,45,"pl-k"]],[[8,14,"pl-c1"]],[[15,19,"pl-k"]],[],[[8,12,"pl-k"],[13,25,"pl-en"]],[[42,43,"pl-c1"]],[[42,43,"pl-c1"]],[[42,43,"pl-c1"]],[[42,43,"pl-c1"]],[[42,43,"pl-c1"]],[[42,43,"pl-c1"]],[[42,43,"pl-c1"]],[[42,43,"pl-c1"]],[],[],[[8,12,"pl-k"],[13,33,"pl-en"]],[[28,45,"pl-c1"]],[],[[12,45,"pl-c"],[12,14,"pl-c"]],[],[],[],[],[],[[12,14,"pl-k"]],[],[],[[12,14,"pl-k"],[15,21,"pl-c1"],[35,44,"pl-smi"],[46,53,"pl-c1"],[70,71,"pl-c1"]],[[15,21,"pl-c1"],[31,38,"pl-c1"],[67,76,"pl-smi"]],[],[],[[12,14,"pl-k"],[28,41,"pl-smi"]],[[16,18,"pl-k"]],[],[[18,22,"pl-k"]],[],[],[[14,18,"pl-k"],[19,21,"pl-k"],[52,62,"pl-smi"]],[],[[14,18,"pl-k"],[19,21,"pl-k"],[35,54,"pl-smi"],[57,58,"pl-c1"]],[[16,18,"pl-k"],[63,82,"pl-smi"]],[],[[18,22,"pl-k"]],[],[],[],[],[[12,16,"pl-k"]],[],[],[],[[12,73,"pl-c"],[12,14,"pl-c"]],[],[[12,14,"pl-k"]],[],[],[],[],[[25,32,"pl-c1"]],[],[[4,47,"pl-c"],[4,6,"pl-c"]],[[4,91,"pl-c"],[4,6,"pl-c"]],[[4,90,"pl-c"],[4,6,"pl-c"]],[[25,29,"pl-k"]],[],[[1,6,"pl-k"],[7,32,"pl-c"],[7,9,"pl-c"]],[[2,21,"pl-c"],[2,4,"pl-c"]],[],[[0,4,"pl-k"],[6,22,"pl-en"]],[[4,6,"pl-k"]],[[18,22,"pl-s"],[18,19,"pl-pds"],[19,21,"pl-cce"],[21,22,"pl-pds"]],[[8,15,"pl-c1"]],[[8,14,"pl-k"]],[[6,10,"pl-k"]],[[8,17,"pl-c1"]],[[13,17,"pl-smi"]],[[13,21,"pl-smi"],[29,33,"pl-smi"],[36,37,"pl-c1"]],[[13,16,"pl-smi"],[19,22,"pl-k"],[23,27,"pl-k"],[33,41,"pl-smi"]],[[13,16,"pl-smi"],[23,27,"pl-s"],[23,24,"pl-pds"],[24,26,"pl-cce"],[26,27,"pl-pds"]],[[8,14,"pl-k"],[20,23,"pl-smi"]],[],[],[],[[0,4,"pl-k"],[5,22,"pl-en"],[25,33,"pl-k"],[37,53,"pl-k"],[54,62,"pl-k"],[63,67,"pl-k"],[84,87,"pl-c1"]],[[0,4,"pl-k"],[5,20,"pl-en"],[35,43,"pl-k"],[58,62,"pl-c1"]],[[0,4,"pl-k"],[5,20,"pl-en"],[35,43,"pl-k"]],[[4,6,"pl-k"],[8,17,"pl-c1"],[33,37,"pl-s"],[33,34,"pl-pds"],[34,36,"pl-cce"],[36,37,"pl-pds"],[39,46,"pl-c1"]],[[4,8,"pl-k"],[16,19,"pl-smi"],[26,30,"pl-s"],[26,27,"pl-pds"],[27,29,"pl-cce"],[29,30,"pl-pds"],[37,41,"pl-smi"]],[],[],[[0,4,"pl-k"],[5,17,"pl-en"],[18,23,"pl-k"]],[[4,6,"pl-k"],[13,22,"pl-c1"]],[[8,14,"pl-c1"],[26,29,"pl-smi"]],[[6,10,"pl-k"]],[[8,14,"pl-c1"],[15,23,"pl-c1"],[30,34,"pl-smi"],[35,39,"pl-smi"],[48,52,"pl-smi"],[53,56,"pl-smi"],[64,68,"pl-smi"],[69,73,"pl-smi"]],[],[],[],[[0,14,"pl-en"],[17,25,"pl-k"]],[[8,9,"pl-c1"],[13,17,"pl-s"],[13,14,"pl-pds"],[14,16,"pl-cce"],[16,17,"pl-pds"]],[[4,11,"pl-c1"]],[],[],[[0,15,"pl-en"]],[[4,6,"pl-k"],[8,17,"pl-c1"]],[[8,16,"pl-k"],[22,25,"pl-smi"]],[[2,52,"pl-c"],[2,4,"pl-c"]],[],[[0,14,"pl-en"],[15,20,"pl-k"],[21,25,"pl-k"]],[],[],[[0,14,"pl-en"],[15,20,"pl-k"],[21,25,"pl-k"]],[[4,10,"pl-c1"],[11,19,"pl-c1"]],[],[],[[0,14,"pl-en"]],[[7,11,"pl-c1"],[12,20,"pl-c1"]],[],[],[[0,14,"pl-en"],[15,20,"pl-k"],[38,42,"pl-c1"]],[],[[16,24,"pl-k"],[26,31,"pl-k"]],[[4,6,"pl-k"],[7,11,"pl-c1"]],[[8,10,"pl-k"],[12,21,"pl-c1"]],[[12,20,"pl-k"],[26,29,"pl-smi"]],[],[[8,12,"pl-c1"]],[],[],[[4,10,"pl-k"],[12,16,"pl-c1"]],[],[],[[16,24,"pl-k"],[27,32,"pl-k"]],[[4,9,"pl-k"],[34,38,"pl-c1"]],[[4,9,"pl-k"],[40,44,"pl-c1"]],[[4,9,"pl-k"]],[[4,6,"pl-k"],[7,16,"pl-c1"]],[[8,10,"pl-k"]],[[12,48,"pl-c"],[12,14,"pl-c"]],[[12,18,"pl-c1"],[44,49,"pl-c1"],[66,67,"pl-c1"]],[[12,70,"pl-c"],[12,14,"pl-c"]],[[12,19,"pl-c1"]],[[10,14,"pl-k"]],[[12,30,"pl-c"],[12,14,"pl-c"]],[[12,16,"pl-k"],[25,28,"pl-k"],[29,33,"pl-k"],[47,48,"pl-c1"]],[[12,76,"pl-c"],[12,14,"pl-c"]],[[12,18,"pl-c1"],[44,75,"pl-c"],[44,46,"pl-c"]],[[12,35,"pl-c"],[12,14,"pl-c"]],[[12,21,"pl-c1"]],[[17,21,"pl-smi"]],[[17,25,"pl-smi"],[33,37,"pl-smi"],[40,41,"pl-c1"]],[[17,20,"pl-smi"]],[[12,44,"pl-c"],[12,14,"pl-c"]],[[12,18,"pl-c1"],[24,27,"pl-smi"],[49,54,"pl-c1"],[71,72,"pl-c1"]],[],[[6,10,"pl-k"]],[[8,10,"pl-k"],[16,24,"pl-smi"]],[[12,47,"pl-c"],[12,14,"pl-c"]],[[17,21,"pl-smi"]],[[12,18,"pl-c1"],[24,27,"pl-smi"],[49,54,"pl-c1"],[71,72,"pl-c1"]],[[10,14,"pl-k"]],[[12,21,"pl-c"],[12,14,"pl-c"]],[[17,25,"pl-smi"],[29,30,"pl-c1"]],[[12,14,"pl-k"],[20,28,"pl-smi"]],[[21,29,"pl-smi"],[45,46,"pl-c1"]],[[12,30,"pl-c"],[12,14,"pl-c"]],[[12,16,"pl-k"],[25,28,"pl-k"],[29,33,"pl-k"],[39,47,"pl-smi"]],[[12,68,"pl-c"],[12,14,"pl-c"]],[[12,18,"pl-c1"],[30,33,"pl-smi"],[49,80,"pl-c"],[49,51,"pl-c"]],[[12,32,"pl-c"],[12,14,"pl-c"]],[[12,20,"pl-k"],[26,29,"pl-smi"]],[[12,51,"pl-c"],[12,14,"pl-c"]],[[17,21,"pl-smi"]],[[17,20,"pl-smi"]],[[12,44,"pl-c"],[12,14,"pl-c"]],[[12,18,"pl-c1"],[24,27,"pl-smi"],[49,54,"pl-c1"],[71,72,"pl-c1"]],[],[],[],[[4,10,"pl-k"],[12,16,"pl-c1"]],[],[],[[0,14,"pl-en"],[31,39,"pl-k"]],[[4,10,"pl-c1"],[22,25,"pl-smi"]],[[10,13,"pl-smi"],[14,15,"pl-c1"],[19,23,"pl-s"],[19,20,"pl-pds"],[20,22,"pl-cce"],[22,23,"pl-pds"]],[[10,17,"pl-c1"]],[],[],[[16,24,"pl-k"],[42,50,"pl-k"]],[[4,6,"pl-k"],[7,11,"pl-c1"]],[[8,10,"pl-k"],[12,21,"pl-c1"]],[[12,20,"pl-k"],[26,29,"pl-smi"]],[[8,14,"pl-c1"],[26,29,"pl-smi"]],[[14,17,"pl-smi"],[18,19,"pl-c1"],[23,27,"pl-s"],[23,24,"pl-pds"],[24,26,"pl-cce"],[26,27,"pl-pds"]],[[14,21,"pl-c1"]],[],[[4,10,"pl-k"],[12,16,"pl-c1"]],[],[],[[0,4,"pl-k"],[13,21,"pl-k"],[37,42,"pl-k"]],[[4,10,"pl-k"],[11,21,"pl-k"],[31,35,"pl-c1"],[38,46,"pl-smi"]],[],[],[[0,4,"pl-k"],[14,22,"pl-k"]],[[4,6,"pl-k"],[7,16,"pl-c1"]],[[8,14,"pl-k"],[15,31,"pl-k"],[32,36,"pl-k"]],[[4,10,"pl-k"],[16,19,"pl-smi"]],[],[],[[0,38,"pl-en"],[39,62,"pl-s"],[39,40,"pl-pds"],[61,62,"pl-pds"]],[[18,30,"pl-en"],[33,38,"pl-k"]],[[4,6,"pl-k"],[7,16,"pl-c1"]],[[8,14,"pl-k"],[23,32,"pl-c1"],[46,48,"pl-c1"],[51,97,"pl-c"],[51,53,"pl-c"]],[[4,10,"pl-k"],[16,20,"pl-smi"]],[],[],[],[[18,34,"pl-en"],[37,42,"pl-k"]],[[4,6,"pl-k"],[7,16,"pl-c1"]],[[8,14,"pl-k"]],[[4,10,"pl-k"],[16,24,"pl-smi"]],[],[],[[7,21,"pl-en"]],[[10,18,"pl-c1"],[24,28,"pl-c1"],[33,34,"pl-c1"]],[[4,8,"pl-k"],[17,22,"pl-c1"]],[[4,11,"pl-c1"]],[[4,11,"pl-c1"]],[[4,10,"pl-k"],[11,20,"pl-c1"],[22,26,"pl-c1"]],[],[],[[7,21,"pl-en"],[52,57,"pl-k"]],[[10,18,"pl-c1"],[24,28,"pl-c1"],[33,34,"pl-c1"]],[[4,10,"pl-k"],[19,24,"pl-c1"]],[],[],[[18,30,"pl-en"],[31,35,"pl-k"],[55,60,"pl-k"]],[[4,9,"pl-k"],[10,14,"pl-k"],[24,29,"pl-c1"]],[[4,9,"pl-k"],[10,14,"pl-k"],[30,34,"pl-c1"]],[[4,9,"pl-k"],[10,14,"pl-k"]],[[4,7,"pl-k"]],[[4,6,"pl-k"],[20,26,"pl-k"],[27,38,"pl-k"]],[[4,8,"pl-k"],[11,17,"pl-k"]],[],[],[[18,31,"pl-en"],[32,36,"pl-k"],[56,61,"pl-k"]],[[4,9,"pl-k"],[10,14,"pl-k"],[24,29,"pl-c1"]],[[4,9,"pl-k"],[10,14,"pl-k"],[29,37,"pl-c1"],[43,47,"pl-c1"],[52,53,"pl-c1"]],[[4,7,"pl-k"]],[[4,6,"pl-k"],[23,29,"pl-k"],[30,41,"pl-k"]],[[4,8,"pl-k"],[11,17,"pl-k"]],[],[],[[0,3,"pl-k"],[4,19,"pl-en"],[20,25,"pl-k"],[26,30,"pl-k"],[39,43,"pl-k"],[53,58,"pl-k"]],[[4,6,"pl-k"]],[[8,14,"pl-k"],[15,31,"pl-c1"],[32,37,"pl-c1"]],[[4,10,"pl-k"],[11,22,"pl-c1"],[23,28,"pl-c1"]],[],[],[[0,3,"pl-k"],[4,19,"pl-en"],[20,25,"pl-k"],[41,45,"pl-k"],[55,60,"pl-k"]],[[4,10,"pl-k"],[11,18,"pl-c1"],[25,30,"pl-c1"]],[],[],[[7,15,"pl-k"],[17,22,"pl-k"],[36,41,"pl-k"],[57,63,"pl-k"],[65,71,"pl-c1"]],[],[[0,4,"pl-k"],[5,13,"pl-k"],[16,21,"pl-k"],[35,40,"pl-k"],[56,62,"pl-k"],[67,74,"pl-c1"],[83,84,"pl-c1"]],[[0,4,"pl-k"],[5,13,"pl-k"],[16,21,"pl-k"],[35,40,"pl-k"],[56,62,"pl-k"],[67,74,"pl-c1"],[83,84,"pl-c1"]],[[0,4,"pl-k"],[5,13,"pl-k"],[16,21,"pl-k"],[35,40,"pl-k"],[56,62,"pl-k"],[67,74,"pl-c1"],[82,83,"pl-c1"]],[[0,4,"pl-k"],[5,13,"pl-k"],[16,21,"pl-k"],[35,40,"pl-k"],[56,62,"pl-k"],[67,74,"pl-c1"],[82,83,"pl-c1"]],[[0,4,"pl-k"],[5,13,"pl-k"],[16,21,"pl-k"],[35,40,"pl-k"],[56,62,"pl-k"],[82,89,"pl-c1"],[97,98,"pl-c1"],[101,105,"pl-c1"]],[[0,4,"pl-k"],[5,13,"pl-k"],[16,21,"pl-k"],[35,40,"pl-k"],[56,62,"pl-k"],[82,89,"pl-c1"],[97,98,"pl-c1"],[101,105,"pl-c1"]],[],[[14,22,"pl-k"],[42,47,"pl-k"],[62,68,"pl-k"],[77,82,"pl-c1"]],[],[[0,18,"pl-en"],[19,24,"pl-k"]],[],[[0,4,"pl-k"],[5,24,"pl-en"],[25,30,"pl-k"],[46,51,"pl-k"]],[[4,10,"pl-k"],[11,17,"pl-c1"],[24,29,"pl-c1"],[40,45,"pl-c1"],[52,59,"pl-c1"]],[],[],[[7,15,"pl-en"],[16,21,"pl-k"]],[[4,10,"pl-k"],[11,23,"pl-s"],[11,12,"pl-pds"],[22,23,"pl-pds"],[29,35,"pl-smi"],[38,42,"pl-s"],[38,39,"pl-pds"],[41,42,"pl-pds"]],[],[],[[0,4,"pl-k"],[5,13,"pl-k"],[16,21,"pl-k"],[35,40,"pl-k"],[58,64,"pl-k"],[69,78,"pl-c1"]],[[0,4,"pl-k"],[5,13,"pl-k"],[16,21,"pl-k"],[37,42,"pl-k"],[58,64,"pl-k"],[69,78,"pl-c1"]],[[0,4,"pl-k"],[5,13,"pl-k"],[16,21,"pl-k"],[35,40,"pl-k"],[58,64,"pl-k"],[70,79,"pl-c1"]],[[0,4,"pl-k"],[5,13,"pl-k"],[16,21,"pl-k"],[37,42,"pl-k"],[58,64,"pl-k"],[70,79,"pl-c1"]],[],[[0,9,"pl-k"]],[[4,8,"pl-k"],[9,24,"pl-en"]],[[2,14,"pl-c"],[2,4,"pl-c"]],[],[[0,9,"pl-k"],[10,15,"pl-en"]],[[18,26,"pl-k"]],[[8,23,"pl-c1"]],[[8,14,"pl-k"]],[],[[2,20,"pl-c"],[2,4,"pl-c"]],[],[[0,19,"pl-c"],[0,2,"pl-c"]],[[0,5,"pl-k"],[6,10,"pl-k"],[12,24,"pl-en"]],[[4,43,"pl-c1"],[44,48,"pl-c1"],[50,109,"pl-c"],[50,52,"pl-c"]],[[5,11,"pl-k"],[12,45,"pl-en"],[46,57,"pl-v"],[59,63,"pl-k"],[96,102,"pl-k"]],[[5,11,"pl-k"],[12,46,"pl-en"],[47,58,"pl-v"]],[[8,41,"pl-c1"]],[[8,41,"pl-c1"]],[[8,41,"pl-c1"]],[[4,10,"pl-k"]],[[8,41,"pl-c1"]],[[8,41,"pl-c1"]],[[8,41,"pl-c1"]],[],[[8,42,"pl-c1"],[43,48,"pl-c1"]],[],[[8,42,"pl-c1"]],[],[[8,42,"pl-c1"]],[],[[8,42,"pl-c1"]],[],[[8,42,"pl-c1"]],[],[[8,42,"pl-c1"]],[],[[8,42,"pl-c1"]],[[8,42,"pl-c1"]],[[8,42,"pl-c1"]],[[8,42,"pl-c1"]],[[8,42,"pl-c1"]],[[8,42,"pl-c1"]],[],[[8,42,"pl-c1"]],[[8,42,"pl-c1"]],[],[[8,15,"pl-k"],[17,39,"pl-c1"],[40,81,"pl-s"],[40,41,"pl-pds"],[80,81,"pl-pds"]],[],[],[],[[0,18,"pl-c"],[0,2,"pl-c"]],[],[[0,5,"pl-k"],[6,10,"pl-k"],[12,25,"pl-en"]],[[4,6,"pl-k"],[33,74,"pl-c"],[33,35,"pl-c"]],[[8,14,"pl-k"],[15,24,"pl-s"],[15,16,"pl-pds"],[23,24,"pl-pds"]],[[4,6,"pl-k"],[34,75,"pl-c"],[34,36,"pl-c"]],[[8,14,"pl-k"],[15,22,"pl-s"],[15,16,"pl-pds"],[21,22,"pl-pds"]],[[4,6,"pl-k"],[36,77,"pl-c"],[36,38,"pl-c"]],[[8,14,"pl-k"],[15,28,"pl-s"],[15,16,"pl-pds"],[27,28,"pl-pds"]],[[4,10,"pl-k"],[11,13,"pl-s"],[11,12,"pl-pds"],[12,13,"pl-pds"]],[],[],[[0,40,"pl-en"],[41,61,"pl-s"],[41,42,"pl-pds"],[60,61,"pl-pds"]],[[0,38,"pl-en"],[39,59,"pl-s"],[39,40,"pl-pds"],[58,59,"pl-pds"]],[[0,74,"pl-c"],[0,2,"pl-c"]],[[0,5,"pl-k"],[6,10,"pl-k"],[12,32,"pl-en"],[33,38,"pl-k"],[39,43,"pl-k"]],[[1,7,"pl-k"]],[[4,6,"pl-k"],[7,24,"pl-c1"],[28,48,"pl-smi"]],[[8,12,"pl-k"],[23,35,"pl-c1"],[42,46,"pl-s"],[42,43,"pl-pds"],[43,45,"pl-cce"],[45,46,"pl-pds"]],[[8,12,"pl-k"],[23,35,"pl-c1"],[42,45,"pl-s"],[42,43,"pl-pds"],[44,45,"pl-pds"]],[[8,10,"pl-k"]],[[12,14,"pl-k"]],[],[[12,18,"pl-k"],[29,30,"pl-c1"]],[],[],[[1,6,"pl-k"],[7,32,"pl-c"],[7,9,"pl-c"]],[[4,10,"pl-k"]],[],[],[],[],[[0,4,"pl-k"],[23,31,"pl-k"],[34,39,"pl-k"],[65,70,"pl-k"]],[[4,10,"pl-k"],[27,33,"pl-smi"]],[[11,22,"pl-c1"],[37,43,"pl-smi"],[48,49,"pl-c1"]],[[27,33,"pl-smi"]],[],[],[[0,4,"pl-k"],[23,31,"pl-k"],[33,38,"pl-k"],[64,69,"pl-k"]],[[4,6,"pl-k"],[23,29,"pl-smi"]],[[8,14,"pl-k"],[30,36,"pl-smi"]],[[4,6,"pl-k"],[7,18,"pl-c1"],[33,39,"pl-smi"],[44,45,"pl-c1"]],[[8,14,"pl-k"],[15,26,"pl-c1"],[41,47,"pl-smi"],[51,52,"pl-c1"]],[[4,10,"pl-k"],[18,25,"pl-c1"],[32,38,"pl-smi"],[42,43,"pl-c1"]],[],[],[[0,24,"pl-en"]],[],[[0,9,"pl-k"],[10,16,"pl-en"]],[[4,8,"pl-k"],[18,23,"pl-k"],[24,28,"pl-k"],[59,64,"pl-k"],[65,69,"pl-k"]],[[8,10,"pl-k"]],[[8,12,"pl-k"],[26,35,"pl-s"],[26,27,"pl-pds"],[34,35,"pl-pds"]],[],[],[[4,13,"pl-k"],[14,22,"pl-k"]],[[11,22,"pl-en"]],[[27,35,"pl-c1"]],[[12,20,"pl-smi"]],[[8,14,"pl-k"],[15,22,"pl-c1"]],[],[],[],[[1,6,"pl-k"]],[[7,15,"pl-en"],[16,21,"pl-k"],[22,26,"pl-k"],[34,40,"pl-k"],[41,47,"pl-c1"],[48,52,"pl-s"],[48,49,"pl-pds"],[49,51,"pl-cce"],[51,52,"pl-pds"],[67,82,"pl-s"],[67,68,"pl-pds"],[81,82,"pl-pds"],[86,90,"pl-s"],[86,87,"pl-pds"],[87,89,"pl-cce"],[89,90,"pl-pds"]],[[1,6,"pl-k"],[7,50,"pl-c"],[7,9,"pl-c"]],[],[[1,3,"pl-k"]],[[0,86,"pl-c"],[0,2,"pl-c"]],[[7,15,"pl-en"],[16,21,"pl-k"],[41,47,"pl-k"],[51,56,"pl-c1"]],[[1,6,"pl-k"],[7,17,"pl-c"],[7,9,"pl-c"]],[],[[7,15,"pl-en"],[29,35,"pl-k"]],[],[[7,15,"pl-en"],[21,30,"pl-c1"],[34,40,"pl-k"],[41,50,"pl-s"],[41,42,"pl-pds"],[49,50,"pl-pds"]],[],[[7,15,"pl-en"],[16,20,"pl-k"],[27,33,"pl-k"],[39,45,"pl-s"],[39,40,"pl-pds"],[44,45,"pl-pds"],[48,55,"pl-s"],[48,49,"pl-pds"],[54,55,"pl-pds"]],[],[[7,15,"pl-en"],[16,21,"pl-k"],[28,34,"pl-k"],[35,46,"pl-c1"]],[[7,15,"pl-en"],[16,22,"pl-k"],[29,35,"pl-k"],[36,47,"pl-c1"]],[[7,15,"pl-en"],[16,22,"pl-k"],[23,27,"pl-k"],[34,40,"pl-k"],[41,52,"pl-c1"]],[],[[7,15,"pl-en"],[16,20,"pl-k"],[27,33,"pl-k"],[34,45,"pl-c1"],[46,57,"pl-k"],[58,64,"pl-k"]],[[7,15,"pl-en"],[16,20,"pl-k"],[21,27,"pl-k"],[34,40,"pl-k"],[41,52,"pl-c1"],[53,64,"pl-k"],[65,71,"pl-k"]],[[7,15,"pl-en"],[16,20,"pl-k"],[21,29,"pl-k"],[36,42,"pl-k"],[43,54,"pl-c1"],[55,66,"pl-k"],[67,75,"pl-k"]],[[7,15,"pl-en"],[16,21,"pl-k"],[28,34,"pl-k"],[35,46,"pl-c1"]],[[7,15,"pl-en"],[16,21,"pl-k"],[22,30,"pl-k"],[37,43,"pl-k"],[44,55,"pl-c1"]],[[7,15,"pl-en"],[16,22,"pl-k"],[29,35,"pl-k"],[36,47,"pl-c1"]],[[7,15,"pl-en"],[16,24,"pl-k"],[31,37,"pl-k"],[38,49,"pl-c1"]],[[7,15,"pl-en"],[16,20,"pl-k"],[27,33,"pl-k"],[34,45,"pl-c1"]],[[7,15,"pl-en"],[16,20,"pl-k"],[21,29,"pl-k"],[36,42,"pl-k"],[43,54,"pl-c1"]],[[7,15,"pl-en"],[16,20,"pl-k"],[21,25,"pl-k"],[32,38,"pl-k"],[39,50,"pl-c1"]],[[7,15,"pl-en"],[16,20,"pl-k"],[21,25,"pl-k"],[26,34,"pl-k"],[41,47,"pl-k"],[48,59,"pl-c1"]],[],[[0,14,"pl-en"],[15,21,"pl-k"]],[[20,31,"pl-k"],[32,38,"pl-k"],[60,65,"pl-k"],[81,84,"pl-c1"]],[[18,21,"pl-c1"]],[],[],[[7,23,"pl-en"],[26,32,"pl-k"],[40,45,"pl-k"]],[[11,17,"pl-smi"]],[[11,18,"pl-c1"]],[[11,16,"pl-c1"]],[[4,10,"pl-k"]],[],[],[[8,23,"pl-en"],[24,30,"pl-k"]],[],[[4,10,"pl-k"],[12,16,"pl-c1"]],[],[[8,21,"pl-en"],[22,28,"pl-k"]],[],[[4,10,"pl-k"],[12,16,"pl-c1"]],[],[],[[0,4,"pl-k"],[5,13,"pl-k"],[16,22,"pl-k"],[28,33,"pl-k"]],[[4,66,"pl-c"],[4,6,"pl-c"]],[[4,10,"pl-k"],[11,20,"pl-c1"],[31,38,"pl-smi"]],[[15,24,"pl-smi"],[32,39,"pl-smi"],[51,57,"pl-k"],[59,68,"pl-c1"],[75,84,"pl-c1"],[89,96,"pl-smi"]],[],[[0,4,"pl-k"],[5,13,"pl-k"],[16,21,"pl-k"],[35,41,"pl-k"],[49,55,"pl-k"],[56,64,"pl-k"]],[[0,4,"pl-k"],[5,13,"pl-k"],[16,22,"pl-k"],[28,33,"pl-k"],[49,55,"pl-k"],[57,65,"pl-k"]],[[0,4,"pl-k"],[5,13,"pl-k"],[16,21,"pl-k"],[35,41,"pl-k"],[49,55,"pl-k"],[57,65,"pl-k"]],[[0,4,"pl-k"],[5,13,"pl-k"],[16,22,"pl-k"],[28,33,"pl-k"],[49,55,"pl-k"],[66,73,"pl-smi"]],[[0,4,"pl-k"],[5,13,"pl-k"],[16,21,"pl-k"],[35,41,"pl-k"],[49,55,"pl-k"],[60,67,"pl-smi"]],[[0,4,"pl-k"],[5,13,"pl-k"],[16,22,"pl-k"],[28,33,"pl-k"],[49,55,"pl-k"],[66,73,"pl-smi"]],[[0,4,"pl-k"],[5,13,"pl-k"],[16,21,"pl-k"],[35,41,"pl-k"],[49,55,"pl-k"],[60,67,"pl-smi"]],[[0,4,"pl-k"],[5,13,"pl-k"],[15,21,"pl-k"],[27,32,"pl-k"],[48,54,"pl-k"],[65,72,"pl-smi"]],[[0,4,"pl-k"],[5,13,"pl-k"],[15,20,"pl-k"],[34,40,"pl-k"],[48,54,"pl-k"],[59,66,"pl-smi"]],[[0,4,"pl-k"],[5,13,"pl-k"],[15,21,"pl-k"],[27,32,"pl-k"],[48,54,"pl-k"],[65,72,"pl-smi"]],[[0,4,"pl-k"],[5,13,"pl-k"],[15,20,"pl-k"],[34,40,"pl-k"],[48,54,"pl-k"],[59,66,"pl-smi"]],[],[[7,15,"pl-en"],[16,21,"pl-k"]],[[4,10,"pl-k"],[11,21,"pl-s"],[11,12,"pl-pds"],[20,21,"pl-pds"],[24,41,"pl-c1"],[45,52,"pl-smi"],[56,60,"pl-s"],[56,57,"pl-pds"],[59,60,"pl-pds"]],[],[[0,5,"pl-k"],[22,39,"pl-en"],[44,50,"pl-k"],[51,77,"pl-c1"],[78,85,"pl-c1"]],[],[[0,39,"pl-en"],[40,44,"pl-c1"]],[[0,9,"pl-k"],[10,18,"pl-k"]],[[10,18,"pl-k"],[19,23,"pl-en"],[26,31,"pl-k"]],[[4,10,"pl-k"],[11,21,"pl-c1"]],[],[],[[0,9,"pl-k"],[9,15,"pl-k"],[16,37,"pl-en"],[44,49,"pl-k"]],[[0,9,"pl-k"],[9,15,"pl-k"],[16,37,"pl-en"],[44,50,"pl-k"]],[[0,9,"pl-k"],[9,15,"pl-k"],[16,37,"pl-en"],[44,48,"pl-k"],[49,55,"pl-k"]],[[0,9,"pl-k"],[10,18,"pl-k"]],[[7,15,"pl-en"],[31,37,"pl-k"],[38,44,"pl-c1"],[48,55,"pl-smi"],[58,62,"pl-s"],[58,59,"pl-pds"],[61,62,"pl-pds"],[65,67,"pl-s"],[65,66,"pl-pds"],[66,67,"pl-pds"],[71,80,"pl-s"],[71,72,"pl-pds"],[79,80,"pl-pds"],[83,100,"pl-c1"],[104,109,"pl-smi"],[113,117,"pl-s"],[113,114,"pl-pds"],[116,117,"pl-pds"]],[[7,15,"pl-en"],[22,27,"pl-k"],[35,41,"pl-k"],[51,56,"pl-k"]],[[7,15,"pl-en"],[22,28,"pl-k"],[36,42,"pl-k"],[52,58,"pl-k"]],[[7,15,"pl-en"],[22,28,"pl-k"],[29,33,"pl-k"],[41,47,"pl-k"],[57,63,"pl-k"],[64,68,"pl-k"]],[],[[2,22,"pl-c"],[2,4,"pl-c"]],[],[[1,6,"pl-k"]],[[0,9,"pl-k"],[10,17,"pl-en"]],[[0,16,"pl-en"],[17,20,"pl-k"],[22,27,"pl-k"],[28,32,"pl-k"],[34,39,"pl-k"]],[[0,17,"pl-en"],[22,29,"pl-k"]],[[0,4,"pl-k"],[5,30,"pl-en"],[31,34,"pl-k"],[36,41,"pl-k"],[42,46,"pl-k"],[48,53,"pl-k"]],[[0,4,"pl-k"],[5,23,"pl-en"],[24,29,"pl-k"],[30,34,"pl-k"],[37,42,"pl-k"],[43,47,"pl-k"]],[[0,4,"pl-k"],[5,26,"pl-en"]],[[0,4,"pl-k"],[5,23,"pl-en"],[24,29,"pl-k"],[30,34,"pl-k"],[37,41,"pl-k"]],[[0,4,"pl-k"],[5,23,"pl-en"],[24,29,"pl-k"],[30,34,"pl-k"],[37,40,"pl-k"]],[[0,4,"pl-k"],[5,23,"pl-en"],[24,29,"pl-k"],[30,34,"pl-k"],[37,42,"pl-k"],[43,47,"pl-k"]],[[0,4,"pl-k"],[5,24,"pl-en"],[29,35,"pl-k"],[36,41,"pl-c1"]],[[0,4,"pl-k"],[5,50,"pl-en"]],[[0,4,"pl-k"],[5,30,"pl-en"]],[[0,4,"pl-k"],[5,21,"pl-en"]],[[0,3,"pl-k"],[5,17,"pl-en"],[22,28,"pl-k"],[29,30,"pl-c1"]],[],[[0,3,"pl-k"],[28,62,"pl-en"],[67,73,"pl-k"],[74,75,"pl-c1"]],[[0,5,"pl-k"],[21,26,"pl-k"],[28,58,"pl-en"],[63,69,"pl-k"],[70,77,"pl-c1"]],[[0,3,"pl-k"],[28,67,"pl-en"],[72,78,"pl-k"],[79,80,"pl-c1"]],[[0,5,"pl-k"],[28,63,"pl-en"],[68,74,"pl-k"],[75,82,"pl-c1"]],[],[[0,3,"pl-k"],[4,20,"pl-en"],[21,26,"pl-k"],[27,31,"pl-k"],[34,37,"pl-k"],[53,59,"pl-k"],[60,61,"pl-c1"]],[],[[2,22,"pl-c"],[2,4,"pl-c"]],[[1,5,"pl-k"],[6,31,"pl-c"],[6,8,"pl-c"]],[],[[1,3,"pl-k"]],[[1,3,"pl-k"]],[[1,6,"pl-k"]],[[1,7,"pl-k"],[8,37,"pl-en"]],[[1,5,"pl-k"],[6,14,"pl-c"],[6,8,"pl-c"]],[[1,7,"pl-k"],[8,34,"pl-en"]],[[1,6,"pl-k"],[7,18,"pl-c"],[7,9,"pl-c"]],[[1,6,"pl-k"],[7,69,"pl-c"],[7,9,"pl-c"]],[[1,6,"pl-k"],[7,36,"pl-c"],[7,9,"pl-c"]],[],[[0,9,"pl-k"],[10,38,"pl-en"]],[[0,31,"pl-c"],[0,2,"pl-c"]],[[28,47,"pl-en"]],[[4,10,"pl-k"]],[[4,10,"pl-k"]],[],[[2,43,"pl-c"],[2,4,"pl-c"]],[],[[0,9,"pl-k"],[10,17,"pl-en"]],[[0,9,"pl-k"]],[[4,93,"pl-c"],[4,6,"pl-c"]],[[4,103,"pl-c"],[4,6,"pl-c"]],[[4,9,"pl-k"],[43,46,"pl-k"]],[],[[17,29,"pl-en"]],[[8,14,"pl-k"]],[[8,14,"pl-k"]],[],[[17,29,"pl-en"]],[[8,14,"pl-k"]],[[8,14,"pl-k"]],[],[[2,14,"pl-c"],[2,4,"pl-c"]],[[0,9,"pl-k"],[10,16,"pl-en"]],[[1,7,"pl-k"],[8,41,"pl-en"]],[[4,7,"pl-k"],[8,12,"pl-k"]],[[14,22,"pl-en"]],[],[],[[8,10,"pl-k"],[40,81,"pl-c"],[40,42,"pl-c"]],[[12,18,"pl-k"],[19,23,"pl-c1"]],[],[[8,10,"pl-k"],[39,80,"pl-c"],[39,41,"pl-c"]],[[14,31,"pl-c1"],[35,46,"pl-smi"],[49,50,"pl-c1"]],[[18,34,"pl-smi"],[43,77,"pl-smi"]],[[19,36,"pl-c1"],[40,51,"pl-smi"]],[[12,18,"pl-k"],[19,23,"pl-c1"]],[],[[8,14,"pl-k"],[15,20,"pl-c1"]],[],[],[[1,7,"pl-k"]],[[21,25,"pl-k"],[26,40,"pl-en"]],[[14,39,"pl-smi"],[42,47,"pl-c1"]],[[8,13,"pl-k"],[14,34,"pl-smi"],[38,74,"pl-c"],[38,40,"pl-c"]],[],[[1,5,"pl-k"],[6,37,"pl-c"],[6,8,"pl-c"]],[[4,8,"pl-k"],[9,23,"pl-en"]],[[1,6,"pl-k"],[7,38,"pl-c"],[7,9,"pl-c"]],[[2,21,"pl-c"],[2,4,"pl-c"]],[],[[0,9,"pl-k"]],[[4,9,"pl-k"],[10,19,"pl-k"],[20,26,"pl-en"],[26,27,"pl-k"]],[[4,94,"pl-c"],[4,6,"pl-c"]],[[4,81,"pl-c"],[4,6,"pl-c"]],[[4,7,"pl-k"],[8,15,"pl-en"],[16,21,"pl-k"],[22,26,"pl-k"],[33,38,"pl-k"],[39,43,"pl-k"],[51,55,"pl-k"]],[[8,13,"pl-k"],[14,18,"pl-k"]],[[8,13,"pl-k"],[14,18,"pl-k"]],[],[[8,13,"pl-k"],[34,37,"pl-s"],[34,35,"pl-pds"],[36,37,"pl-pds"]],[[12,14,"pl-k"],[51,58,"pl-c1"],[69,76,"pl-c1"]],[[25,28,"pl-s"],[25,26,"pl-pds"],[27,28,"pl-pds"]],[[16,22,"pl-k"],[23,24,"pl-c1"]],[],[],[],[],[],[[8,13,"pl-k"]],[[12,14,"pl-k"],[24,27,"pl-s"],[24,25,"pl-pds"],[26,27,"pl-pds"]],[[16,18,"pl-k"]],[[20,26,"pl-k"],[27,28,"pl-c1"]],[],[],[[27,28,"pl-c1"]],[[14,18,"pl-k"],[19,21,"pl-k"],[58,65,"pl-c1"],[76,83,"pl-c1"]],[[32,35,"pl-s"],[32,33,"pl-pds"],[34,35,"pl-pds"]],[],[],[[14,18,"pl-k"]],[[29,61,"pl-c"],[29,31,"pl-c"]],[[29,61,"pl-c"],[29,31,"pl-c"]],[],[],[],[[8,13,"pl-k"],[23,26,"pl-s"],[23,24,"pl-pds"],[25,26,"pl-pds"]],[],[],[[8,14,"pl-k"]],[],[],[[4,98,"pl-c"],[4,6,"pl-c"]],[[4,8,"pl-k"],[9,19,"pl-en"],[20,25,"pl-k"],[26,30,"pl-k"],[38,43,"pl-k"],[74,78,"pl-k"]],[[8,12,"pl-k"]],[[8,10,"pl-k"],[20,25,"pl-c1"]],[[12,18,"pl-k"],[19,23,"pl-c1"]],[[8,11,"pl-k"],[13,17,"pl-k"]],[[12,14,"pl-k"],[16,23,"pl-c1"],[35,40,"pl-c1"]],[[16,22,"pl-k"],[23,27,"pl-c1"]],[[8,14,"pl-k"],[15,20,"pl-c1"]],[],[],[],[[4,12,"pl-k"],[13,17,"pl-k"],[18,22,"pl-k"],[23,27,"pl-en"],[28,36,"pl-k"],[37,41,"pl-k"],[42,46,"pl-k"],[50,58,"pl-k"],[59,63,"pl-k"],[64,68,"pl-k"]],[[8,14,"pl-k"],[21,22,"pl-c1"]],[],[],[[4,87,"pl-c"],[4,6,"pl-c"]],[],[[4,12,"pl-k"],[13,17,"pl-k"],[18,22,"pl-k"],[23,27,"pl-en"],[28,33,"pl-k"],[34,38,"pl-k"]],[[8,16,"pl-k"],[17,21,"pl-k"],[22,26,"pl-k"],[34,38,"pl-c1"]],[[8,12,"pl-k"]],[[8,13,"pl-k"]],[[29,30,"pl-c1"],[45,61,"pl-c"],[45,47,"pl-c"]],[[8,14,"pl-k"]],[],[],[[4,12,"pl-k"],[13,17,"pl-k"],[18,22,"pl-k"],[23,27,"pl-en"],[28,33,"pl-k"]],[[8,14,"pl-k"],[15,19,"pl-c1"],[20,24,"pl-c1"],[25,29,"pl-c1"],[34,40,"pl-smi"],[43,47,"pl-c1"],[52,58,"pl-smi"],[59,64,"pl-c1"],[74,80,"pl-smi"]],[],[],[[4,12,"pl-k"],[13,17,"pl-k"],[18,22,"pl-k"],[23,27,"pl-en"],[28,33,"pl-k"],[71,77,"pl-c1"]],[[8,16,"pl-k"],[17,21,"pl-k"],[22,26,"pl-k"],[37,38,"pl-c1"]],[[8,12,"pl-k"],[24,29,"pl-c1"]],[[8,11,"pl-k"],[13,17,"pl-k"],[28,33,"pl-c1"]],[[22,26,"pl-c1"],[36,40,"pl-c1"]],[],[[8,14,"pl-k"]],[],[],[[4,12,"pl-k"],[13,17,"pl-k"],[18,22,"pl-k"],[23,27,"pl-en"],[28,33,"pl-k"]],[[8,16,"pl-k"],[17,21,"pl-k"],[22,26,"pl-k"],[37,38,"pl-c1"]],[[8,11,"pl-k"],[13,18,"pl-k"]],[[22,26,"pl-c1"],[36,40,"pl-c1"]],[],[[8,14,"pl-k"]],[],[[2,14,"pl-c"],[2,4,"pl-c"]],[[0,9,"pl-k"],[10,16,"pl-en"]],[[4,8,"pl-k"],[9,30,"pl-en"]],[[8,10,"pl-k"],[18,30,"pl-smi"],[31,35,"pl-c1"],[40,46,"pl-c1"],[53,74,"pl-smi"]],[[12,14,"pl-k"],[17,27,"pl-c1"],[40,46,"pl-smi"],[47,52,"pl-c1"],[62,69,"pl-smi"],[70,71,"pl-c1"],[74,78,"pl-c1"],[86,100,"pl-smi"]],[[16,22,"pl-k"],[23,27,"pl-c1"]],[[12,14,"pl-k"],[16,26,"pl-c1"],[39,45,"pl-smi"],[46,51,"pl-c1"],[61,68,"pl-smi"],[69,70,"pl-c1"],[73,78,"pl-c1"],[86,100,"pl-smi"]],[[16,22,"pl-k"],[23,27,"pl-c1"]],[],[[8,14,"pl-k"],[15,20,"pl-c1"]],[],[],[[4,20,"pl-en"],[21,26,"pl-k"],[41,46,"pl-k"],[47,51,"pl-k"],[59,62,"pl-k"]],[],[[8,10,"pl-k"],[19,30,"pl-smi"]],[[12,14,"pl-k"],[22,38,"pl-smi"],[39,43,"pl-c1"],[55,67,"pl-smi"],[68,72,"pl-c1"]],[[25,41,"pl-smi"],[48,60,"pl-smi"],[61,65,"pl-c1"]],[[16,30,"pl-c"],[16,18,"pl-c"]],[[16,18,"pl-k"],[20,32,"pl-c1"],[38,44,"pl-k"]],[],[[22,34,"pl-smi"],[35,44,"pl-c1"]],[[22,41,"pl-smi"]],[[28,32,"pl-c1"]],[[16,49,"pl-c1"]],[],[[10,14,"pl-k"]],[[12,14,"pl-k"],[22,34,"pl-smi"],[41,60,"pl-smi"]],[[16,62,"pl-c"],[16,18,"pl-c"]],[[22,41,"pl-smi"]],[[28,32,"pl-c1"]],[[16,49,"pl-c1"]],[[14,18,"pl-k"],[19,21,"pl-k"],[29,45,"pl-smi"],[46,50,"pl-c1"],[62,81,"pl-smi"]],[[29,51,"pl-smi"],[52,56,"pl-c1"],[57,61,"pl-c1"],[62,66,"pl-c1"],[73,85,"pl-smi"],[93,112,"pl-smi"],[115,119,"pl-c1"]],[[29,51,"pl-smi"],[52,55,"pl-c1"]],[[16,18,"pl-k"],[20,32,"pl-c1"],[38,44,"pl-k"]],[[16,71,"pl-c"],[16,18,"pl-c"]],[[22,38,"pl-smi"],[39,44,"pl-c1"]],[[22,38,"pl-smi"],[39,45,"pl-c1"],[52,68,"pl-smi"],[69,72,"pl-c1"]],[[26,38,"pl-smi"],[39,44,"pl-c1"],[54,66,"pl-smi"],[67,72,"pl-c1"],[83,102,"pl-smi"]],[[22,38,"pl-smi"],[39,48,"pl-c1"]],[],[],[],[],[[4,43,"pl-en"],[44,48,"pl-c1"],[50,99,"pl-c"],[50,52,"pl-c"]],[[4,42,"pl-en"],[43,70,"pl-s"],[43,44,"pl-pds"],[69,70,"pl-pds"]],[[4,44,"pl-en"],[45,72,"pl-s"],[45,46,"pl-pds"],[71,72,"pl-pds"]],[],[[4,21,"pl-en"]],[[8,10,"pl-k"]],[[18,37,"pl-smi"]],[],[[12,14,"pl-k"],[23,34,"pl-smi"]],[[16,24,"pl-c"],[16,18,"pl-c"]],[[22,44,"pl-smi"],[45,51,"pl-c1"],[52,56,"pl-c1"],[63,75,"pl-smi"]],[[22,38,"pl-smi"],[39,44,"pl-c1"]],[[22,33,"pl-smi"],[36,40,"pl-c1"]],[[14,18,"pl-k"],[19,21,"pl-k"],[29,45,"pl-smi"],[46,51,"pl-c1"]],[[16,45,"pl-c"],[16,18,"pl-c"]],[[22,44,"pl-smi"],[45,51,"pl-c1"],[52,56,"pl-c1"],[63,75,"pl-smi"]],[],[],[[1,3,"pl-k"]],[[12,14,"pl-k"],[15,39,"pl-c1"],[44,45,"pl-c1"]],[[1,5,"pl-k"]],[[12,14,"pl-k"],[15,38,"pl-c1"]],[[1,6,"pl-k"]],[[25,50,"pl-smi"]],[[16,49,"pl-c1"]],[[46,99,"pl-s"],[46,47,"pl-pds"],[98,99,"pl-pds"]],[[48,99,"pl-s"],[48,49,"pl-pds"],[98,99,"pl-pds"]],[[48,95,"pl-s"],[48,49,"pl-pds"],[94,95,"pl-pds"]],[[48,53,"pl-c1"]],[[22,47,"pl-smi"],[50,55,"pl-c1"]],[],[],[[12,45,"pl-c1"]],[],[],[],[],[],[],[],[[13,21,"pl-k"],[22,26,"pl-en"],[29,34,"pl-k"],[37,43,"pl-k"]],[],[[4,18,"pl-en"],[19,23,"pl-k"],[32,37,"pl-k"]],[],[],[],[[4,46,"pl-en"]],[],[],[[26,34,"pl-k"],[36,41,"pl-k"],[42,46,"pl-k"]],[],[[8,14,"pl-k"],[16,20,"pl-c1"]],[],[],[[4,22,"pl-en"],[38,43,"pl-k"],[44,48,"pl-k"],[56,64,"pl-k"],[71,76,"pl-k"]],[[23,28,"pl-k"],[43,46,"pl-k"]],[],[],[[30,37,"pl-c1"],[39,79,"pl-c"],[39,41,"pl-c"]],[[41,53,"pl-smi"]],[[41,54,"pl-smi"]],[[41,47,"pl-smi"]],[[41,52,"pl-smi"]],[[41,52,"pl-smi"]],[[41,51,"pl-smi"]],[[41,54,"pl-smi"]],[[41,60,"pl-smi"]],[[41,50,"pl-smi"]],[],[],[],[],[],[],[[4,22,"pl-en"],[23,28,"pl-k"]],[],[[9,13,"pl-c1"]],[],[],[[4,43,"pl-en"],[44,49,"pl-c1"],[51,82,"pl-c"],[51,53,"pl-c"]],[[24,32,"pl-k"],[34,39,"pl-k"]],[[22,30,"pl-k"]],[[30,36,"pl-smi"]],[[30,36,"pl-smi"]],[[30,43,"pl-smi"]],[[30,41,"pl-smi"]],[],[[8,10,"pl-k"],[29,30,"pl-c1"]],[[33,38,"pl-c1"]],[[8,14,"pl-k"],[16,20,"pl-c1"]],[],[],[],[[24,32,"pl-k"],[34,39,"pl-k"],[40,44,"pl-k"]],[],[[8,72,"pl-c"],[8,10,"pl-c"]],[[8,10,"pl-k"],[29,30,"pl-c1"]],[[26,32,"pl-c1"],[43,46,"pl-s"],[43,44,"pl-pds"],[45,46,"pl-pds"],[58,61,"pl-s"],[58,59,"pl-pds"],[60,61,"pl-pds"]],[[12,76,"pl-c"],[12,14,"pl-c"]],[[33,38,"pl-c1"]],[],[[8,14,"pl-k"],[16,20,"pl-c1"]],[],[],[[4,8,"pl-k"],[19,27,"pl-k"],[29,34,"pl-k"],[52,57,"pl-k"]],[[8,96,"pl-c"],[8,10,"pl-c"]],[[8,10,"pl-k"],[27,33,"pl-smi"]],[[12,18,"pl-k"],[34,40,"pl-smi"]],[[8,13,"pl-k"],[14,17,"pl-k"],[29,35,"pl-c1"],[50,56,"pl-smi"]],[[8,10,"pl-k"],[23,24,"pl-c1"]],[[12,18,"pl-k"],[30,31,"pl-c1"]],[[8,13,"pl-k"],[14,17,"pl-k"],[36,43,"pl-c1"],[50,56,"pl-smi"]],[[8,10,"pl-k"],[23,24,"pl-c1"]],[[12,18,"pl-k"],[30,31,"pl-c1"]],[[8,14,"pl-k"],[37,50,"pl-smi"]],[],[],[[4,31,"pl-c"],[4,6,"pl-c"]],[[24,42,"pl-en"]],[[8,14,"pl-k"]],[[8,14,"pl-k"]],[],[[2,21,"pl-c"],[2,4,"pl-c"]],[[0,9,"pl-k"]],[[4,9,"pl-k"],[10,19,"pl-k"],[20,26,"pl-en"],[26,27,"pl-k"]],[[4,37,"pl-c"],[4,6,"pl-c"]],[[4,8,"pl-k"],[9,28,"pl-en"],[29,34,"pl-k"],[50,55,"pl-k"]],[[8,77,"pl-c"],[8,10,"pl-c"]],[[8,68,"pl-c"],[8,10,"pl-c"]],[[8,13,"pl-k"],[14,17,"pl-k"],[29,35,"pl-smi"],[36,43,"pl-c1"],[49,55,"pl-smi"],[57,61,"pl-c1"]],[[8,10,"pl-k"],[18,19,"pl-c1"]],[[12,18,"pl-k"],[25,26,"pl-c1"]],[[8,10,"pl-k"],[16,22,"pl-smi"],[31,37,"pl-smi"]],[[12,18,"pl-k"],[24,30,"pl-smi"],[38,44,"pl-smi"]],[[8,14,"pl-k"],[20,33,"pl-smi"],[41,54,"pl-smi"]],[],[],[[4,43,"pl-c"],[4,6,"pl-c"]],[[4,8,"pl-k"],[9,29,"pl-en"],[30,35,"pl-k"],[51,56,"pl-k"]],[[8,13,"pl-k"],[14,17,"pl-k"],[24,35,"pl-c1"],[41,53,"pl-smi"],[60,72,"pl-smi"]],[[8,10,"pl-k"],[18,19,"pl-c1"]],[[12,18,"pl-k"],[25,26,"pl-c1"]],[[8,14,"pl-k"],[15,34,"pl-c1"]],[],[],[[4,48,"pl-c"],[4,6,"pl-c"]],[[4,8,"pl-k"],[9,28,"pl-en"],[29,34,"pl-k"],[50,55,"pl-k"]],[[8,13,"pl-k"],[14,17,"pl-k"],[24,35,"pl-c1"],[41,47,"pl-smi"],[54,60,"pl-smi"]],[[8,10,"pl-k"],[18,19,"pl-c1"]],[[12,18,"pl-k"],[25,26,"pl-c1"]],[[8,14,"pl-k"],[15,35,"pl-c1"]],[],[],[[4,44,"pl-en"],[45,72,"pl-s"],[45,46,"pl-pds"],[71,72,"pl-pds"]],[[4,8,"pl-k"],[9,24,"pl-en"]],[[8,19,"pl-k"],[20,24,"pl-k"],[33,99,"pl-c"],[33,35,"pl-c"]],[[8,19,"pl-k"],[20,24,"pl-k"],[33,66,"pl-c"],[33,35,"pl-c"]],[[1,6,"pl-k"]],[[8,10,"pl-k"]],[[12,18,"pl-c1"],[37,42,"pl-c1"],[46,63,"pl-c1"],[67,79,"pl-smi"],[83,88,"pl-c1"]],[[12,18,"pl-k"]],[],[[8,12,"pl-k"],[19,21,"pl-s"],[19,20,"pl-pds"],[20,21,"pl-pds"]],[[8,27,"pl-c"],[8,10,"pl-c"]],[[12,18,"pl-k"],[27,130,"pl-c"],[27,29,"pl-c"]],[[16,20,"pl-k"],[47,55,"pl-s"],[47,48,"pl-pds"],[54,55,"pl-pds"],[57,62,"pl-k"]],[[16,20,"pl-k"],[47,55,"pl-s"],[47,48,"pl-pds"],[54,55,"pl-pds"],[57,62,"pl-k"]],[[16,20,"pl-k"],[47,55,"pl-s"],[47,48,"pl-pds"],[54,55,"pl-pds"],[57,62,"pl-k"]],[[16,20,"pl-k"],[47,55,"pl-s"],[47,48,"pl-pds"],[54,55,"pl-pds"],[57,62,"pl-k"]],[[16,20,"pl-k"],[47,55,"pl-s"],[47,48,"pl-pds"],[54,55,"pl-pds"],[57,62,"pl-k"]],[[16,20,"pl-k"],[47,55,"pl-s"],[47,48,"pl-pds"],[54,55,"pl-pds"],[57,62,"pl-k"]],[[16,20,"pl-k"],[47,55,"pl-s"],[47,48,"pl-pds"],[54,55,"pl-pds"],[57,62,"pl-k"]],[[16,20,"pl-k"],[47,55,"pl-s"],[47,48,"pl-pds"],[54,55,"pl-pds"],[57,62,"pl-k"]],[[16,20,"pl-k"],[47,55,"pl-s"],[47,48,"pl-pds"],[54,55,"pl-pds"],[57,62,"pl-k"]],[[16,20,"pl-k"],[47,55,"pl-s"],[47,48,"pl-pds"],[54,55,"pl-pds"],[57,62,"pl-k"]],[[16,20,"pl-k"],[36,46,"pl-c"],[36,38,"pl-c"]],[[16,20,"pl-k"]],[[16,20,"pl-k"]],[[16,23,"pl-k"],[47,52,"pl-s"],[47,48,"pl-pds"],[51,52,"pl-pds"]],[],[[8,26,"pl-c"],[8,10,"pl-c"]],[[13,19,"pl-s"],[13,14,"pl-pds"],[14,18,"pl-cce"],[18,19,"pl-pds"]],[[1,6,"pl-k"],[7,36,"pl-c"],[7,9,"pl-c"]],[],[[1,6,"pl-k"]],[[8,10,"pl-k"]],[[12,19,"pl-c1"],[20,27,"pl-c1"],[40,45,"pl-c1"],[49,66,"pl-c1"],[70,82,"pl-smi"],[86,91,"pl-c1"]],[[12,18,"pl-k"]],[],[[8,14,"pl-k"],[15,21,"pl-k"],[22,35,"pl-en"]],[],[],[],[],[[12,25,"pl-en"]],[[31,43,"pl-c1"]],[],[[16,42,"pl-c1"]],[[39,50,"pl-smi"]],[],[[39,50,"pl-smi"]],[],[],[],[],[[1,7,"pl-k"],[8,24,"pl-en"],[25,26,"pl-v"]],[],[[8,27,"pl-c"],[8,10,"pl-c"]],[[8,14,"pl-k"]],[[12,16,"pl-k"],[37,53,"pl-c1"],[108,113,"pl-k"]],[[12,16,"pl-k"],[37,53,"pl-c1"],[108,113,"pl-k"]],[[12,16,"pl-k"],[37,53,"pl-c1"],[108,113,"pl-k"]],[[12,16,"pl-k"],[37,53,"pl-c1"],[108,113,"pl-k"]],[[12,16,"pl-k"],[37,53,"pl-c1"],[108,113,"pl-k"]],[[12,16,"pl-k"],[37,53,"pl-c1"],[108,113,"pl-k"]],[[12,16,"pl-k"],[37,53,"pl-c1"],[54,55,"pl-c1"],[108,113,"pl-k"]],[[12,16,"pl-k"],[37,53,"pl-c1"],[108,113,"pl-k"]],[[12,16,"pl-k"],[37,53,"pl-c1"],[108,113,"pl-k"]],[[12,16,"pl-k"],[37,53,"pl-c1"],[108,113,"pl-k"]],[[12,16,"pl-k"],[37,53,"pl-c1"],[131,136,"pl-k"]],[[12,16,"pl-k"]],[[12,16,"pl-k"],[32,42,"pl-c"],[32,34,"pl-c"]],[[12,19,"pl-k"],[37,53,"pl-c1"],[57,68,"pl-smi"]],[],[[12,30,"pl-c"],[12,14,"pl-c"]],[[1,6,"pl-k"],[7,39,"pl-c"],[7,9,"pl-c"]],[],[],[],[[16,21,"pl-k"],[46,69,"pl-en"]],[[8,14,"pl-k"],[27,32,"pl-k"]],[[8,14,"pl-k"]],[],[],[[11,35,"pl-en"]],[[1,7,"pl-k"]],[],[[8,12,"pl-k"],[29,52,"pl-c1"]],[[8,11,"pl-k"],[12,16,"pl-k"]],[[12,14,"pl-k"],[21,30,"pl-c1"]],[[16,22,"pl-k"]],[[8,27,"pl-c"],[8,10,"pl-c"]],[[8,46,"pl-c1"],[47,62,"pl-s"],[47,48,"pl-pds"],[61,62,"pl-pds"]],[[8,11,"pl-k"]],[[12,17,"pl-k"]],[[10,15,"pl-k"],[21,30,"pl-c1"]],[[12,18,"pl-k"],[22,26,"pl-c1"]],[[10,15,"pl-k"]],[[12,18,"pl-k"],[23,28,"pl-c1"]],[[10,15,"pl-k"],[16,21,"pl-k"],[22,26,"pl-k"]],[[12,18,"pl-k"]],[[10,15,"pl-k"]],[[12,18,"pl-k"],[19,38,"pl-s"],[19,20,"pl-pds"],[37,38,"pl-pds"]],[],[],[[0,18,"pl-c"],[0,2,"pl-c"]],[[1,5,"pl-k"],[7,38,"pl-c"],[7,9,"pl-c"]],[[8,14,"pl-k"],[15,17,"pl-s"],[15,16,"pl-pds"],[16,17,"pl-pds"]],[[1,6,"pl-k"],[7,38,"pl-c"],[7,9,"pl-c"]],[],[[2,14,"pl-c"],[2,4,"pl-c"]],[],[[0,9,"pl-k"],[10,16,"pl-en"]],[[4,47,"pl-c"],[4,6,"pl-c"]],[[4,7,"pl-k"],[8,15,"pl-en"],[16,21,"pl-k"]],[[8,26,"pl-c1"],[29,35,"pl-c1"]],[[8,14,"pl-k"],[15,16,"pl-c1"]],[],[],[[4,34,"pl-c"],[4,6,"pl-c"]],[[4,7,"pl-k"],[8,20,"pl-en"],[21,26,"pl-k"]],[[8,57,"pl-c1"]],[[8,14,"pl-k"],[15,16,"pl-c1"]],[],[],[[1,6,"pl-k"]],[[4,8,"pl-k"],[9,25,"pl-en"],[30,36,"pl-k"],[37,63,"pl-c1"]],[[1,5,"pl-k"],[6,35,"pl-c"],[6,8,"pl-c"]],[[1,6,"pl-k"]],[[4,9,"pl-k"],[10,20,"pl-en"]],[[4,11,"pl-k"]],[[8,18,"pl-en"]],[[8,19,"pl-en"]],[[4,12,"pl-k"]],[[8,11,"pl-k"]],[],[[4,79,"pl-c"],[4,6,"pl-c"]],[[4,99,"pl-c"],[4,6,"pl-c"]],[[4,8,"pl-k"],[9,25,"pl-en"]],[],[[22,24,"pl-smi"],[25,44,"pl-s"],[25,26,"pl-pds"],[43,44,"pl-pds"]],[[8,11,"pl-k"],[30,42,"pl-c1"]],[[12,18,"pl-k"],[19,24,"pl-k"],[25,28,"pl-k"],[42,44,"pl-c1"]],[[12,14,"pl-k"],[20,27,"pl-c1"],[28,29,"pl-c1"],[43,57,"pl-s"],[43,44,"pl-pds"],[54,56,"pl-cce"],[56,57,"pl-pds"],[62,63,"pl-c1"]],[[16,22,"pl-k"],[28,34,"pl-c1"],[73,76,"pl-s"],[73,74,"pl-pds"],[75,76,"pl-pds"]],[],[],[[8,14,"pl-k"],[15,20,"pl-c1"]],[],[[1,5,"pl-k"]],[[4,82,"pl-c"],[4,6,"pl-c"]],[[4,72,"pl-c"],[4,6,"pl-c"]],[[4,68,"pl-c"],[4,6,"pl-c"]],[[4,73,"pl-c"],[4,6,"pl-c"]],[[4,8,"pl-k"],[9,25,"pl-en"]],[[8,11,"pl-k"],[23,24,"pl-c1"]],[],[[8,14,"pl-c1"]],[[8,73,"pl-c"],[8,10,"pl-c"]],[[8,47,"pl-c"],[8,10,"pl-c"]],[[13,20,"pl-smi"],[21,27,"pl-smi"],[30,31,"pl-c1"]],[[8,76,"pl-c"],[8,10,"pl-c"]],[[8,69,"pl-c"],[8,10,"pl-c"]],[[12,13,"pl-c1"]],[[12,13,"pl-c1"]],[[12,13,"pl-c1"]],[[12,13,"pl-c1"],[17,23,"pl-c1"]],[[8,23,"pl-c"],[8,10,"pl-c"]],[[15,21,"pl-k"]],[[8,10,"pl-k"],[11,17,"pl-c1"],[23,38,"pl-c1"],[59,60,"pl-c1"],[62,63,"pl-c1"],[68,69,"pl-c1"]],[[25,99,"pl-s"],[25,26,"pl-pds"],[26,28,"pl-cce"],[96,98,"pl-cce"],[98,99,"pl-pds"]],[[12,18,"pl-k"],[19,24,"pl-c1"]],[],[[8,60,"pl-c"],[8,10,"pl-c"]],[[8,14,"pl-k"],[22,29,"pl-smi"],[30,36,"pl-smi"],[52,53,"pl-c1"]],[],[[1,5,"pl-k"]],[[4,8,"pl-k"],[9,25,"pl-en"],[30,36,"pl-k"],[39,56,"pl-c1"],[62,63,"pl-c1"]],[[1,5,"pl-k"]],[[4,8,"pl-k"],[9,25,"pl-en"],[30,36,"pl-k"],[37,42,"pl-c1"]],[[1,6,"pl-k"],[7,18,"pl-c"],[7,9,"pl-c"]],[[1,6,"pl-k"],[7,36,"pl-c"],[7,9,"pl-c"]],[],[[4,8,"pl-k"],[9,40,"pl-en"],[41,46,"pl-k"]],[[8,10,"pl-k"],[11,20,"pl-c1"],[21,44,"pl-c1"],[47,52,"pl-c1"],[56,79,"pl-c1"],[82,85,"pl-c1"]],[[11,34,"pl-c1"],[37,40,"pl-c1"]],[[12,35,"pl-c1"],[38,47,"pl-c1"]],[],[],[[69,95,"pl-c"],[69,71,"pl-c"]],[],[[4,38,"pl-en"]],[[23,32,"pl-c1"],[33,37,"pl-c1"]],[],[],[[4,38,"pl-en"],[65,73,"pl-k"]],[[8,10,"pl-k"],[18,33,"pl-smi"]],[[18,25,"pl-c1"]],[],[[14,29,"pl-smi"],[32,37,"pl-c1"]],[[23,32,"pl-c1"],[33,37,"pl-c1"]],[],[],[[4,43,"pl-en"],[44,48,"pl-c1"],[50,99,"pl-c"],[50,52,"pl-c"]],[[4,42,"pl-en"],[43,70,"pl-s"],[43,44,"pl-pds"],[69,70,"pl-pds"]],[[4,44,"pl-en"],[45,72,"pl-s"],[45,46,"pl-pds"],[71,72,"pl-pds"]],[],[[4,100,"pl-c"],[4,6,"pl-c"]],[[4,100,"pl-c"],[4,6,"pl-c"]],[[4,76,"pl-c"],[4,6,"pl-c"]],[[4,8,"pl-k"],[9,34,"pl-en"]],[[1,3,"pl-k"]],[[8,10,"pl-k"],[11,35,"pl-c1"],[40,41,"pl-c1"]],[[1,5,"pl-k"]],[[8,10,"pl-k"],[11,34,"pl-c1"]],[],[],[[12,16,"pl-c1"],[18,27,"pl-c1"]],[[18,37,"pl-smi"],[38,47,"pl-c1"],[50,53,"pl-c1"],[56,61,"pl-c1"]],[],[[23,31,"pl-c1"]],[],[],[],[],[],[[2,21,"pl-c"],[2,4,"pl-c"]],[[0,9,"pl-k"]],[[4,9,"pl-k"],[10,19,"pl-k"],[20,26,"pl-en"],[26,27,"pl-k"]],[],[[1,3,"pl-k"]],[[4,10,"pl-k"],[11,32,"pl-en"]],[],[[8,14,"pl-k"],[15,19,"pl-k"],[20,25,"pl-en"]],[[8,14,"pl-k"],[15,19,"pl-k"],[20,39,"pl-en"]],[[8,14,"pl-k"],[15,19,"pl-k"],[20,35,"pl-en"]],[],[[1,5,"pl-k"],[6,67,"pl-c"],[6,8,"pl-c"]],[],[[4,8,"pl-k"],[9,20,"pl-en"],[21,26,"pl-k"]],[],[[1,6,"pl-k"]],[],[[4,10,"pl-k"],[11,21,"pl-en"]],[],[],[[8,13,"pl-k"],[14,18,"pl-k"]],[],[[4,70,"pl-c"],[4,6,"pl-c"]],[[4,61,"pl-c"],[4,6,"pl-c"]],[[4,56,"pl-c"],[4,6,"pl-c"]],[],[[13,24,"pl-k"]],[[13,50,"pl-s"],[13,14,"pl-pds"],[49,50,"pl-pds"]],[[13,24,"pl-k"],[59,85,"pl-s"],[59,60,"pl-pds"],[84,85,"pl-pds"]],[[13,24,"pl-k"]],[[13,54,"pl-s"],[13,14,"pl-pds"],[53,54,"pl-pds"]],[[13,24,"pl-k"],[63,85,"pl-s"],[63,64,"pl-pds"],[84,85,"pl-pds"]],[],[],[[4,10,"pl-k"],[11,32,"pl-en"]],[],[[8,14,"pl-k"],[29,44,"pl-en"]],[[12,117,"pl-c"],[12,14,"pl-c"]],[[12,73,"pl-c"],[12,14,"pl-c"]],[[12,40,"pl-c1"]],[[12,18,"pl-k"],[19,23,"pl-k"],[34,38,"pl-c1"]],[],[[16,34,"pl-c1"]],[[16,18,"pl-k"]],[[20,24,"pl-k"],[36,41,"pl-c1"]],[[20,23,"pl-k"],[24,30,"pl-c1"],[35,36,"pl-c1"],[42,57,"pl-c1"]],[[24,26,"pl-k"],[42,57,"pl-smi"],[59,72,"pl-smi"],[90,92,"pl-smi"]],[[28,39,"pl-c1"],[54,58,"pl-smi"]],[[39,43,"pl-c1"]],[[28,33,"pl-k"]],[],[],[[20,22,"pl-k"],[35,40,"pl-c1"]],[[24,35,"pl-c1"],[36,68,"pl-s"],[36,37,"pl-pds"],[67,68,"pl-pds"]],[[20,22,"pl-k"],[23,39,"pl-c1"],[52,61,"pl-smi"]],[[24,51,"pl-c1"]],[],[[26,31,"pl-c1"]],[],[[12,21,"pl-c1"]],[],[],[[8,14,"pl-k"],[15,19,"pl-k"],[20,39,"pl-en"]],[[8,14,"pl-k"],[15,19,"pl-k"],[20,35,"pl-en"]],[],[[8,29,"pl-en"]],[[20,24,"pl-c1"]],[[12,69,"pl-c"],[12,14,"pl-c"]],[[12,86,"pl-c"],[12,14,"pl-c"]],[[28,30,"pl-c1"],[33,37,"pl-c1"]],[[12,53,"pl-c"],[12,14,"pl-c"]],[[26,53,"pl-c1"]],[[12,50,"pl-c"],[12,14,"pl-c"]],[[12,35,"pl-c1"]],[],[[12,82,"pl-c"],[12,14,"pl-c"]],[[12,78,"pl-c"],[12,14,"pl-c"]],[],[[12,53,"pl-c"],[12,14,"pl-c"]],[[12,69,"pl-c"],[12,14,"pl-c"]],[[12,85,"pl-c"],[12,14,"pl-c"]],[[41,59,"pl-c1"]],[[12,30,"pl-c1"]],[[16,27,"pl-c1"],[28,54,"pl-s"],[28,29,"pl-pds"],[53,54,"pl-pds"]],[[16,18,"pl-k"],[19,35,"pl-c1"],[48,57,"pl-smi"]],[[20,47,"pl-c1"]],[[16,25,"pl-c1"],[41,113,"pl-c"],[41,43,"pl-c"]],[],[],[[12,38,"pl-c"],[12,14,"pl-c"]],[[12,65,"pl-c"],[12,14,"pl-c"]],[[12,81,"pl-c"],[12,14,"pl-c"]],[[12,72,"pl-c"],[12,14,"pl-c"]],[[35,46,"pl-c1"],[59,62,"pl-k"],[63,69,"pl-c1"]],[[16,18,"pl-k"],[19,25,"pl-c1"]],[[20,31,"pl-c1"],[32,79,"pl-s"],[32,33,"pl-pds"],[78,79,"pl-pds"]],[[20,22,"pl-k"],[23,39,"pl-c1"],[52,61,"pl-smi"]],[[24,51,"pl-c1"]],[[20,29,"pl-c1"]],[],[],[],[[12,74,"pl-c"],[12,14,"pl-c"]],[[12,67,"pl-c"],[12,14,"pl-c"]],[],[[12,73,"pl-c"],[12,14,"pl-c"]],[[32,44,"pl-c1"]],[],[[12,82,"pl-c"],[12,14,"pl-c"]],[[32,47,"pl-c1"]],[[12,76,"pl-c"],[12,14,"pl-c"]],[[12,88,"pl-c"],[12,14,"pl-c"]],[[34,53,"pl-c1"],[54,57,"pl-c1"]],[[12,86,"pl-c"],[12,14,"pl-c"]],[[12,84,"pl-c"],[12,14,"pl-c"]],[[12,82,"pl-c"],[12,14,"pl-c"]],[[12,87,"pl-c"],[12,14,"pl-c"]],[[31,48,"pl-c1"]],[[31,48,"pl-c1"]],[],[],[[8,14,"pl-k"],[15,19,"pl-k"],[20,25,"pl-en"]],[[12,14,"pl-k"]],[[16,67,"pl-c"],[16,18,"pl-c"]],[[16,43,"pl-c1"]],[[16,39,"pl-c1"]],[[16,34,"pl-c1"]],[[16,27,"pl-c1"]],[[16,28,"pl-c1"]],[[16,31,"pl-c1"]],[[16,35,"pl-c1"]],[[16,27,"pl-k"],[28,32,"pl-k"],[34,51,"pl-c1"]],[[16,27,"pl-k"],[28,32,"pl-k"],[34,51,"pl-c1"]],[[24,29,"pl-c1"]],[],[],[],[[8,30,"pl-en"],[35,40,"pl-c1"]],[],[[4,12,"pl-k"]],[[8,14,"pl-k"]],[[8,14,"pl-k"],[15,18,"pl-k"]],[[8,14,"pl-k"],[15,23,"pl-k"],[24,27,"pl-k"]],[[8,14,"pl-k"],[15,18,"pl-k"]],[[8,14,"pl-k"]],[[8,14,"pl-k"],[15,19,"pl-en"],[58,61,"pl-k"]],[[8,14,"pl-k"]],[[8,14,"pl-k"],[15,19,"pl-k"]],[[8,14,"pl-k"]],[[8,14,"pl-k"]],[],[],[],[[4,7,"pl-k"]],[[4,12,"pl-k"],[13,16,"pl-k"]],[[4,7,"pl-k"]],[],[[4,8,"pl-en"],[70,73,"pl-k"]],[],[[4,8,"pl-k"],[40,45,"pl-c1"]],[[49,50,"pl-c1"]],[[70,77,"pl-c1"]],[],[[1,5,"pl-k"],[6,33,"pl-c"],[6,8,"pl-c"]],[],[[4,10,"pl-k"],[11,21,"pl-en"]],[],[[8,11,"pl-k"]],[[8,13,"pl-k"],[14,18,"pl-k"]],[],[[40,76,"pl-s"],[40,41,"pl-pds"],[75,76,"pl-pds"]],[[40,77,"pl-s"],[40,41,"pl-pds"],[76,77,"pl-pds"]],[[40,78,"pl-s"],[40,41,"pl-pds"],[77,78,"pl-pds"]],[[41,82,"pl-s"],[41,42,"pl-pds"],[81,82,"pl-pds"]],[[41,79,"pl-s"],[41,42,"pl-pds"],[78,79,"pl-pds"]],[[41,88,"pl-s"],[41,42,"pl-pds"],[87,88,"pl-pds"]],[],[[4,10,"pl-k"],[11,32,"pl-en"]],[],[[8,14,"pl-k"],[15,19,"pl-k"]],[[8,14,"pl-k"],[15,21,"pl-k"],[22,31,"pl-en"]],[[8,14,"pl-k"],[15,22,"pl-c1"]],[[8,14,"pl-k"],[15,21,"pl-c1"]],[[8,14,"pl-k"],[15,19,"pl-k"]],[],[[8,14,"pl-k"],[15,19,"pl-k"],[20,32,"pl-en"],[33,36,"pl-k"]],[[12,17,"pl-k"],[18,22,"pl-k"],[31,49,"pl-s"],[31,32,"pl-pds"],[48,49,"pl-pds"]],[[12,15,"pl-k"],[21,27,"pl-c1"],[32,33,"pl-c1"],[39,54,"pl-c1"]],[],[[16,18,"pl-k"],[30,32,"pl-smi"]],[[31,35,"pl-smi"]],[[20,25,"pl-k"]],[],[],[[12,17,"pl-c1"]],[[12,23,"pl-c1"]],[[12,17,"pl-c1"]],[],[],[[8,14,"pl-k"],[15,19,"pl-k"],[20,39,"pl-en"]],[[26,29,"pl-k"],[30,34,"pl-k"]],[],[],[[8,14,"pl-k"],[15,19,"pl-k"],[20,35,"pl-en"]],[[12,20,"pl-k"]],[],[],[[8,29,"pl-en"]],[[20,24,"pl-c1"]],[[12,19,"pl-c1"]],[[21,26,"pl-smi"]],[[21,28,"pl-smi"]],[[21,29,"pl-smi"],[32,33,"pl-c1"]],[[12,23,"pl-c1"]],[[12,18,"pl-k"],[19,28,"pl-en"]],[[15,25,"pl-smi"]],[[15,23,"pl-smi"]],[[12,15,"pl-k"],[21,27,"pl-c1"],[32,33,"pl-c1"],[39,54,"pl-c1"]],[[16,25,"pl-c1"],[40,42,"pl-smi"]],[],[],[],[[8,30,"pl-en"],[35,40,"pl-c1"]],[[8,14,"pl-k"],[15,19,"pl-k"],[20,25,"pl-en"]],[[12,14,"pl-k"]],[[16,105,"pl-c"],[16,18,"pl-c"]],[[16,19,"pl-k"],[25,31,"pl-c1"],[36,37,"pl-c1"],[43,58,"pl-c1"]],[[20,29,"pl-c1"],[44,46,"pl-smi"],[67,74,"pl-c1"]],[],[[16,39,"pl-c"],[16,18,"pl-c"]],[[16,27,"pl-c1"],[42,49,"pl-c1"]],[[24,29,"pl-c1"]],[],[],[],[],[[4,8,"pl-k"],[52,57,"pl-c1"]],[[4,10,"pl-k"],[11,20,"pl-en"]],[[4,11,"pl-c1"]],[[4,10,"pl-c1"],[59,60,"pl-c1"]],[[4,8,"pl-k"],[58,65,"pl-c1"]],[],[[1,6,"pl-k"],[7,34,"pl-c"],[7,9,"pl-c"]],[[1,6,"pl-k"],[7,68,"pl-c"],[7,9,"pl-c"]],[],[[2,14,"pl-c"],[2,4,"pl-c"]],[],[[0,9,"pl-k"]],[[4,9,"pl-k"],[10,19,"pl-k"],[20,26,"pl-en"],[26,27,"pl-k"]],[],[[1,6,"pl-k"]],[[1,7,"pl-k"],[8,35,"pl-en"],[36,40,"pl-v"]],[[1,5,"pl-k"]],[[4,50,"pl-c"],[4,6,"pl-c"]],[[1,7,"pl-k"],[8,35,"pl-en"],[36,40,"pl-v"]],[[1,6,"pl-k"],[7,18,"pl-c"],[7,9,"pl-c"]],[],[[4,8,"pl-k"],[9,18,"pl-en"]],[[8,10,"pl-k"],[41,42,"pl-c1"],[44,85,"pl-c"],[44,46,"pl-c"]],[[18,46,"pl-smi"]],[],[],[[4,8,"pl-k"],[9,24,"pl-en"]],[[8,10,"pl-k"],[41,42,"pl-c1"],[44,85,"pl-c"],[44,46,"pl-c"]],[[18,52,"pl-smi"]],[],[],[[1,3,"pl-k"]],[[4,8,"pl-k"],[9,20,"pl-en"],[21,26,"pl-k"]],[[14,27,"pl-smi"]],[],[[8,41,"pl-c1"],[72,77,"pl-c1"],[81,85,"pl-c1"]],[],[[8,13,"pl-k"],[21,33,"pl-smi"],[34,38,"pl-c1"]],[[18,30,"pl-smi"],[31,39,"pl-c1"]],[[12,45,"pl-c1"]],[],[],[[14,34,"pl-c1"]],[],[[8,41,"pl-c1"]],[],[[8,41,"pl-c1"]],[],[[1,6,"pl-k"],[7,68,"pl-c"],[7,9,"pl-c"]],[[2,14,"pl-c"],[2,4,"pl-c"]],[],[[0,22,"pl-c1"],[44,49,"pl-k"],[50,54,"pl-k"],[62,65,"pl-k"],[72,77,"pl-k"],[78,82,"pl-k"]],[[4,9,"pl-k"],[10,14,"pl-k"],[32,37,"pl-k"]],[[6,17,"pl-c1"],[24,35,"pl-smi"],[38,42,"pl-c1"],[48,54,"pl-c1"],[62,68,"pl-c1"],[76,82,"pl-c1"]],[[4,12,"pl-c1"],[13,17,"pl-c1"],[20,27,"pl-c1"],[28,33,"pl-c1"],[36,46,"pl-c1"],[47,52,"pl-c1"],[55,71,"pl-c1"]],[[4,22,"pl-c1"]],[[1,3,"pl-k"]],[[4,6,"pl-k"],[15,16,"pl-c1"],[21,24,"pl-s"],[21,22,"pl-pds"],[23,24,"pl-pds"],[26,86,"pl-c"],[26,28,"pl-c"]],[],[[1,6,"pl-k"],[7,14,"pl-c"],[7,9,"pl-c"]],[],[],[[0,9,"pl-k"],[10,16,"pl-en"]],[[4,32,"pl-en"],[54,59,"pl-k"],[60,64,"pl-k"],[72,75,"pl-k"],[82,87,"pl-k"],[88,92,"pl-k"]],[[33,38,"pl-k"],[39,43,"pl-k"],[61,66,"pl-k"]],[],[],[[4,32,"pl-en"],[54,59,"pl-k"],[60,64,"pl-k"],[72,75,"pl-k"],[82,87,"pl-k"],[88,92,"pl-k"]],[[8,13,"pl-k"],[14,18,"pl-k"],[36,41,"pl-k"]],[],[],[[4,8,"pl-k"],[9,33,"pl-en"],[34,39,"pl-k"]],[[23,31,"pl-smi"]],[[24,32,"pl-smi"]],[],[],[[4,8,"pl-k"],[9,42,"pl-en"]],[[22,26,"pl-c1"]],[[22,46,"pl-c1"]],[],[],[[4,8,"pl-k"],[9,27,"pl-en"]],[[8,10,"pl-k"],[43,84,"pl-c"],[43,45,"pl-c"]],[],[[10,14,"pl-k"],[15,17,"pl-k"],[94,103,"pl-c"],[94,96,"pl-c"]],[[58,63,"pl-c1"]],[[10,14,"pl-k"],[15,17,"pl-k"],[53,94,"pl-c"],[53,55,"pl-c"]],[],[[10,14,"pl-k"],[15,17,"pl-k"],[55,96,"pl-c"],[55,57,"pl-c"]],[[43,48,"pl-c1"]],[[10,14,"pl-k"],[15,17,"pl-k"],[51,92,"pl-c"],[51,53,"pl-c"]],[],[],[],[[8,10,"pl-k"],[23,27,"pl-c1"]],[[26,30,"pl-s"],[26,27,"pl-pds"],[27,29,"pl-cce"],[29,30,"pl-pds"],[47,51,"pl-s"],[47,48,"pl-pds"],[48,50,"pl-cce"],[50,51,"pl-pds"]],[],[[8,10,"pl-k"]],[[12,21,"pl-c1"]],[[12,45,"pl-c1"],[59,63,"pl-c1"]],[],[[12,14,"pl-k"]],[[16,31,"pl-c1"]],[[10,14,"pl-k"],[15,17,"pl-k"]],[[12,43,"pl-c1"],[45,49,"pl-c1"]],[],[],[[8,14,"pl-k"],[27,43,"pl-c1"],[50,67,"pl-c1"],[71,80,"pl-smi"]],[[19,30,"pl-smi"],[34,41,"pl-c1"],[52,63,"pl-smi"],[65,76,"pl-smi"],[79,101,"pl-c"],[79,81,"pl-c"]],[],[],[[4,8,"pl-k"],[9,29,"pl-en"],[32,37,"pl-k"]],[[8,10,"pl-k"],[23,41,"pl-c1"]],[[12,26,"pl-c1"]],[],[],[[4,8,"pl-k"],[9,40,"pl-en"],[41,46,"pl-k"]],[[8,10,"pl-k"],[17,19,"pl-smi"]],[[18,20,"pl-c1"]],[[8,12,"pl-k"]],[[12,22,"pl-c1"]],[],[],[[4,8,"pl-k"],[9,22,"pl-en"],[44,49,"pl-k"],[50,54,"pl-k"],[62,65,"pl-k"],[72,77,"pl-k"],[78,82,"pl-k"]],[[23,28,"pl-k"]],[[8,12,"pl-k"],[30,38,"pl-smi"]],[],[[8,94,"pl-c"],[8,10,"pl-c"]],[[8,94,"pl-c"],[8,10,"pl-c"]],[[8,83,"pl-c"],[8,10,"pl-c"]],[[8,94,"pl-c"],[8,10,"pl-c"]],[[8,35,"pl-c1"],[43,51,"pl-smi"]],[[8,31,"pl-c1"],[39,47,"pl-smi"]],[[8,14,"pl-k"]],[],[],[[4,34,"pl-en"],[35,40,"pl-k"],[41,45,"pl-k"],[53,56,"pl-k"]],[[21,29,"pl-c1"]],[],[],[],[],[],[[4,35,"pl-en"]],[[8,10,"pl-k"]],[[12,19,"pl-c1"]],[],[],[[4,28,"pl-en"]],[],[[4,8,"pl-k"],[9,28,"pl-en"]],[[8,10,"pl-k"]],[[23,30,"pl-c1"]],[[21,25,"pl-c1"]],[],[],[[8,41,"pl-c1"],[56,60,"pl-c1"]],[],[[8,13,"pl-k"],[14,18,"pl-k"]],[],[[8,83,"pl-c"],[8,10,"pl-c"]],[[8,10,"pl-k"]],[[12,21,"pl-c1"]],[[12,27,"pl-c1"]],[],[],[[8,14,"pl-k"],[15,31,"pl-c1"],[38,55,"pl-c1"],[59,68,"pl-smi"]],[[19,30,"pl-smi"],[34,41,"pl-c1"],[52,63,"pl-smi"],[65,76,"pl-smi"],[79,101,"pl-c"],[79,81,"pl-c"]],[],[],[[4,8,"pl-k"],[9,30,"pl-en"]],[[8,10,"pl-k"],[48,89,"pl-c"],[48,50,"pl-c"]],[[12,26,"pl-c1"]],[],[[2,21,"pl-c"],[2,4,"pl-c"]],[[0,9,"pl-k"]],[[4,9,"pl-k"],[10,19,"pl-k"],[20,26,"pl-en"],[26,27,"pl-k"]],[],[[4,23,"pl-c"],[4,6,"pl-c"]],[],[[0,100,"pl-c"]],[[0,96,"pl-c"],[0,2,"pl-c"]],[[0,96,"pl-c"],[0,2,"pl-c"]],[[0,100,"pl-c"]],[],[[4,9,"pl-k"],[10,19,"pl-en"]],[[4,11,"pl-k"]],[[8,12,"pl-k"]],[],[[8,17,"pl-en"],[31,36,"pl-k"]],[],[[8,12,"pl-k"],[13,21,"pl-en"],[42,47,"pl-k"]],[],[[8,14,"pl-k"],[29,37,"pl-k"],[71,76,"pl-k"]],[],[[4,12,"pl-k"]],[],[],[],[],[[4,9,"pl-k"],[10,19,"pl-en"]],[[4,11,"pl-k"]],[],[[8,13,"pl-k"],[14,27,"pl-en"]],[[8,15,"pl-k"]],[[12,25,"pl-en"]],[],[[12,25,"pl-en"]],[[27,35,"pl-k"]],[],[[12,26,"pl-en"]],[],[[27,36,"pl-en"],[50,55,"pl-k"],[63,67,"pl-k"],[77,81,"pl-c1"]],[],[[12,20,"pl-k"],[21,29,"pl-k"]],[[27,41,"pl-en"],[55,60,"pl-k"],[70,75,"pl-k"]],[[26,40,"pl-c1"]],[[16,22,"pl-k"],[24,28,"pl-c1"]],[],[],[[8,16,"pl-k"]],[[12,19,"pl-k"],[42,49,"pl-c1"]],[],[],[[1,7,"pl-k"]],[[8,17,"pl-en"]],[[1,5,"pl-k"],[6,43,"pl-c"],[6,8,"pl-c"]],[[8,17,"pl-en"]],[[1,6,"pl-k"],[7,44,"pl-c"],[7,9,"pl-c"]],[[8,18,"pl-en"]],[],[[8,17,"pl-en"],[29,34,"pl-k"],[40,46,"pl-k"]],[[19,27,"pl-k"],[40,45,"pl-k"],[51,57,"pl-k"]],[],[[19,31,"pl-en"],[45,50,"pl-k"]],[],[[22,35,"pl-en"],[49,54,"pl-k"]],[],[[19,29,"pl-en"]],[],[[19,33,"pl-en"],[47,52,"pl-k"],[72,77,"pl-k"]],[],[[19,33,"pl-en"],[47,52,"pl-k"],[60,65,"pl-k"],[66,70,"pl-k"]],[],[[19,33,"pl-en"],[47,52,"pl-k"],[60,64,"pl-k"]],[],[[8,16,"pl-k"],[17,25,"pl-k"]],[[19,33,"pl-en"],[47,52,"pl-k"],[62,67,"pl-k"]],[],[],[[12,18,"pl-k"],[19,33,"pl-c1"],[45,48,"pl-c1"]],[],[],[[19,28,"pl-en"],[42,47,"pl-k"],[55,59,"pl-k"],[69,73,"pl-c1"]],[],[[8,61,"pl-c"],[8,10,"pl-c"]],[],[[8,60,"pl-c"],[8,10,"pl-c"]],[],[[8,38,"pl-c"],[8,10,"pl-c"]],[],[[8,12,"pl-k"],[13,28,"pl-en"]],[],[[8,12,"pl-k"],[13,29,"pl-en"]],[],[[4,12,"pl-k"]],[],[[8,12,"pl-k"],[13,31,"pl-en"]],[],[[8,12,"pl-k"],[27,32,"pl-c1"]],[[8,12,"pl-k"],[30,35,"pl-c1"]],[],[],[],[],[],[[0,100,"pl-c"]],[[0,96,"pl-c"],[0,2,"pl-c"]],[[0,96,"pl-c"],[0,2,"pl-c"]],[[0,100,"pl-c"]],[],[[0,5,"pl-k"],[14,22,"pl-k"],[23,27,"pl-k"]],[],[[0,9,"pl-k"]],[],[[4,10,"pl-c1"],[11,24,"pl-en"],[25,33,"pl-k"],[34,38,"pl-k"]],[[8,10,"pl-k"],[17,21,"pl-c1"],[26,30,"pl-c1"]],[[12,18,"pl-k"],[19,20,"pl-c1"]],[],[[8,10,"pl-k"],[17,21,"pl-c1"],[26,30,"pl-c1"]],[[12,18,"pl-k"],[19,20,"pl-c1"]],[],[[8,10,"pl-k"],[17,21,"pl-c1"],[26,30,"pl-c1"]],[[12,18,"pl-k"],[19,20,"pl-c1"]],[],[[8,30,"pl-c1"],[31,79,"pl-s"],[31,32,"pl-pds"],[78,79,"pl-pds"]],[],[],[[4,12,"pl-c1"],[13,24,"pl-en"],[25,33,"pl-k"],[34,38,"pl-k"]],[[8,10,"pl-k"],[17,21,"pl-c1"],[26,30,"pl-c1"]],[[12,18,"pl-k"],[23,27,"pl-c1"]],[],[[8,10,"pl-k"],[17,21,"pl-c1"],[26,30,"pl-c1"]],[[12,18,"pl-k"],[23,27,"pl-c1"]],[],[[8,10,"pl-k"],[17,21,"pl-c1"],[26,30,"pl-c1"]],[[12,18,"pl-k"],[23,27,"pl-c1"]],[],[[8,30,"pl-c1"],[31,79,"pl-s"],[31,32,"pl-pds"],[78,79,"pl-pds"]],[],[],[[4,8,"pl-k"],[9,22,"pl-en"],[41,49,"pl-k"],[50,54,"pl-k"]],[[32,33,"pl-smi"],[37,42,"pl-c1"]],[[14,19,"pl-s"],[14,15,"pl-pds"],[15,17,"pl-cce"],[18,19,"pl-pds"]],[[45,57,"pl-c1"],[58,61,"pl-s"],[58,59,"pl-pds"],[60,61,"pl-pds"],[66,75,"pl-c1"],[76,77,"pl-c1"]],[[15,26,"pl-k"],[27,30,"pl-k"]],[[11,16,"pl-c1"]],[],[],[[2,24,"pl-c"],[2,4,"pl-c"]],[],[[4,24,"pl-en"],[38,43,"pl-k"]],[],[[8,17,"pl-en"]],[],[],[[4,8,"pl-k"],[9,28,"pl-en"],[49,54,"pl-k"]],[[8,83,"pl-c"],[8,10,"pl-c"]],[[8,51,"pl-c"],[8,10,"pl-c"]],[],[[8,11,"pl-k"],[18,24,"pl-c1"],[31,32,"pl-c1"],[46,50,"pl-c1"]],[],[[12,18,"pl-k"]],[[12,16,"pl-k"],[17,20,"pl-s"],[17,18,"pl-pds"],[19,20,"pl-pds"],[30,36,"pl-s"],[30,31,"pl-pds"],[35,36,"pl-pds"],[38,43,"pl-k"]],[[12,16,"pl-k"],[17,20,"pl-s"],[17,18,"pl-pds"],[19,20,"pl-pds"],[30,37,"pl-s"],[30,31,"pl-pds"],[36,37,"pl-pds"],[39,44,"pl-k"]],[],[[12,16,"pl-k"],[17,20,"pl-s"],[17,18,"pl-pds"],[19,20,"pl-pds"]],[[16,57,"pl-c"],[16,18,"pl-c"]],[[16,18,"pl-k"],[26,27,"pl-c1"],[43,44,"pl-c1"],[49,52,"pl-s"],[49,50,"pl-pds"],[51,52,"pl-pds"],[68,69,"pl-c1"],[74,77,"pl-s"],[74,75,"pl-pds"],[76,77,"pl-pds"]],[[26,32,"pl-s"],[26,27,"pl-pds"],[31,32,"pl-pds"]],[[16,20,"pl-k"]],[],[[16,21,"pl-k"]],[],[[12,16,"pl-k"],[17,21,"pl-s"],[17,18,"pl-pds"],[18,20,"pl-cce"],[20,21,"pl-pds"]],[[16,18,"pl-k"]],[[26,34,"pl-s"],[26,27,"pl-pds"],[33,34,"pl-pds"]],[[16,20,"pl-k"]],[],[[16,21,"pl-k"]],[],[[12,19,"pl-k"]],[[16,65,"pl-c"],[16,18,"pl-c"]],[],[[16,62,"pl-c"],[16,18,"pl-c"]],[[16,111,"pl-c"],[16,18,"pl-c"]],[[16,18,"pl-k"],[24,28,"pl-c1"],[37,41,"pl-c1"],[49,53,"pl-c1"],[63,67,"pl-c1"]],[[20,33,"pl-c1"]],[[20,25,"pl-k"]],[],[],[[16,50,"pl-c"],[16,18,"pl-c"]],[[16,18,"pl-k"],[24,28,"pl-c1"]],[],[[20,25,"pl-k"]],[],[],[[16,34,"pl-c"],[16,18,"pl-c"]],[[16,85,"pl-c"],[16,18,"pl-c"]],[[16,109,"pl-c"],[16,18,"pl-c"]],[[16,68,"pl-c"],[16,18,"pl-c"]],[[16,65,"pl-c"],[16,18,"pl-c"]],[[16,34,"pl-c"],[16,18,"pl-c"]],[[16,18,"pl-k"],[25,29,"pl-c1"]],[[25,29,"pl-c1"]],[[20,33,"pl-c1"]],[[20,25,"pl-k"]],[],[],[[16,20,"pl-k"],[32,45,"pl-c1"]],[[16,87,"pl-c"],[16,18,"pl-c"]],[[16,18,"pl-k"],[37,38,"pl-c1"],[48,52,"pl-c1"]],[[20,33,"pl-c1"]],[[20,25,"pl-k"]],[],[[16,50,"pl-c"],[16,18,"pl-c"]],[[16,73,"pl-c"],[16,18,"pl-c"]],[[16,89,"pl-c"],[16,18,"pl-c"]],[[16,20,"pl-k"],[29,33,"pl-c1"]],[[16,24,"pl-c1"],[33,44,"pl-c1"]],[[16,19,"pl-k"],[26,32,"pl-c1"],[37,38,"pl-c1"]],[],[[36,40,"pl-c1"],[45,49,"pl-c1"]],[[38,39,"pl-c1"],[49,53,"pl-c1"]],[],[],[[16,18,"pl-k"]],[[20,59,"pl-c"],[20,22,"pl-c"]],[],[[20,41,"pl-c"],[20,22,"pl-c"]],[[29,33,"pl-c1"]],[[46,51,"pl-c1"],[68,69,"pl-c1"],[74,121,"pl-c"],[74,76,"pl-c"]],[[21,26,"pl-c1"],[46,53,"pl-c1"],[68,69,"pl-c1"]],[[20,49,"pl-c"],[20,22,"pl-c"]],[[30,38,"pl-c1"]],[],[[20,33,"pl-c1"]],[[20,25,"pl-k"]],[],[],[[16,78,"pl-c"],[16,18,"pl-c"]],[[16,19,"pl-k"],[26,32,"pl-c1"],[37,38,"pl-c1"]],[],[],[[34,35,"pl-c1"]],[[16,21,"pl-k"]],[],[],[],[],[[18,26,"pl-k"],[60,65,"pl-k"]],[[18,26,"pl-c1"]],[[8,14,"pl-k"]],[],[],[[4,43,"pl-en"]],[],[],[],[[4,43,"pl-en"]],[],[[14,22,"pl-smi"],[25,32,"pl-c1"]],[],[[56,64,"pl-k"]],[[8,10,"pl-k"]],[[22,32,"pl-c1"]],[],[[25,33,"pl-smi"]],[[14,22,"pl-smi"],[25,32,"pl-c1"]],[[8,14,"pl-k"],[16,20,"pl-c1"]],[],[],[],[[4,44,"pl-en"]],[[8,10,"pl-k"]],[[22,32,"pl-c1"]],[],[],[[30,65,"pl-en"],[79,84,"pl-k"],[92,96,"pl-k"]],[[18,27,"pl-c1"]],[[8,14,"pl-k"],[16,20,"pl-c1"]],[],[],[[4,24,"pl-en"]],[],[[8,111,"pl-c"],[8,10,"pl-c"]],[],[],[[4,25,"pl-en"]],[[8,13,"pl-k"],[23,28,"pl-c1"]],[[12,22,"pl-c1"]],[],[],[[15,38,"pl-en"],[52,57,"pl-k"]],[[8,23,"pl-c1"]],[[8,26,"pl-c1"]],[[28,31,"pl-s"],[28,29,"pl-pds"],[30,31,"pl-pds"]],[[15,24,"pl-c1"]],[[20,24,"pl-s"],[20,21,"pl-pds"],[23,24,"pl-pds"]],[[22,26,"pl-c1"]],[[8,14,"pl-k"],[16,20,"pl-c1"]],[],[],[[29,53,"pl-en"],[67,72,"pl-k"]],[[22,28,"pl-smi"],[30,34,"pl-c1"]],[[8,20,"pl-c1"]],[[8,14,"pl-k"]],[],[],[[15,36,"pl-en"]],[[8,26,"pl-c1"]],[[28,34,"pl-c1"],[36,37,"pl-c1"],[48,52,"pl-c1"],[55,56,"pl-c1"]],[[8,10,"pl-k"]],[[20,24,"pl-s"],[20,21,"pl-pds"],[23,24,"pl-pds"]],[[26,31,"pl-c1"]],[],[[8,12,"pl-k"]],[[32,36,"pl-s"],[32,33,"pl-pds"],[35,36,"pl-pds"],[47,51,"pl-c1"],[57,60,"pl-s"],[57,58,"pl-pds"],[59,60,"pl-pds"]],[],[],[[15,23,"pl-c1"]],[[8,14,"pl-k"],[16,20,"pl-c1"]],[],[],[[15,40,"pl-en"],[54,59,"pl-k"],[79,84,"pl-k"]],[[8,10,"pl-k"],[18,23,"pl-c1"],[40,45,"pl-c1"]],[[20,23,"pl-s"],[20,21,"pl-pds"],[22,23,"pl-pds"],[35,40,"pl-s"],[35,36,"pl-pds"],[37,39,"pl-cce"],[39,40,"pl-pds"],[44,53,"pl-c1"],[96,99,"pl-s"],[96,97,"pl-pds"],[98,99,"pl-pds"]],[[8,14,"pl-k"],[16,20,"pl-c1"]],[],[],[[15,40,"pl-en"],[54,59,"pl-k"],[67,72,"pl-k"],[73,77,"pl-k"]],[[8,10,"pl-k"],[18,23,"pl-c1"],[52,53,"pl-c1"],[58,62,"pl-s"],[58,59,"pl-pds"],[59,61,"pl-cce"],[61,62,"pl-pds"]],[[20,23,"pl-s"],[20,21,"pl-pds"],[22,23,"pl-pds"],[35,40,"pl-s"],[35,36,"pl-pds"],[37,39,"pl-cce"],[39,40,"pl-pds"],[44,53,"pl-c1"],[96,99,"pl-s"],[96,97,"pl-pds"],[98,99,"pl-pds"]],[[8,14,"pl-k"],[16,20,"pl-c1"]],[],[],[[15,40,"pl-en"],[54,59,"pl-k"],[67,71,"pl-k"]],[[16,19,"pl-s"],[16,17,"pl-pds"],[18,19,"pl-pds"],[31,36,"pl-s"],[31,32,"pl-pds"],[33,35,"pl-cce"],[35,36,"pl-pds"],[54,60,"pl-s"],[54,55,"pl-pds"],[59,60,"pl-pds"],[63,70,"pl-s"],[63,64,"pl-pds"],[69,70,"pl-pds"],[76,79,"pl-s"],[76,77,"pl-pds"],[78,79,"pl-pds"]],[[8,14,"pl-k"],[16,20,"pl-c1"]],[],[],[[15,35,"pl-en"],[49,54,"pl-k"],[62,66,"pl-k"]],[[8,10,"pl-k"],[18,23,"pl-c1"]],[[12,16,"pl-k"]],[[12,27,"pl-c1"]],[[12,14,"pl-k"]],[],[[20,29,"pl-c1"]],[[29,33,"pl-c1"]],[],[[8,14,"pl-k"],[16,20,"pl-c1"]],[],[],[[4,69,"pl-c"],[4,6,"pl-c"]],[[4,28,"pl-c"],[4,6,"pl-c"]],[[4,54,"pl-c"],[4,6,"pl-c"]],[[4,32,"pl-c"],[4,6,"pl-c"]],[[4,23,"pl-c"],[4,6,"pl-c"]],[[4,7,"pl-c"],[4,6,"pl-c"]],[],[[4,68,"pl-c"],[4,6,"pl-c"]],[[4,82,"pl-c"],[4,6,"pl-c"]],[[4,7,"pl-c"],[4,6,"pl-c"]],[],[[4,46,"pl-c"],[4,6,"pl-c"]],[[4,28,"pl-c"],[4,6,"pl-c"]],[[4,23,"pl-c"],[4,6,"pl-c"]],[[4,23,"pl-c"],[4,6,"pl-c"]],[[4,7,"pl-c"],[4,6,"pl-c"]],[],[[4,8,"pl-k"],[9,35,"pl-en"]],[[8,10,"pl-k"]],[[20,23,"pl-s"],[20,21,"pl-pds"],[22,23,"pl-pds"]],[[26,31,"pl-c1"]],[],[],[],[[4,8,"pl-k"],[9,36,"pl-en"]],[[16,62,"pl-s"],[16,17,"pl-pds"],[31,33,"pl-cce"],[36,38,"pl-cce"],[48,50,"pl-cce"],[55,57,"pl-cce"],[59,61,"pl-cce"],[61,62,"pl-pds"]],[],[],[[4,8,"pl-k"],[9,38,"pl-en"]],[[8,10,"pl-k"]],[],[[29,34,"pl-c1"]],[],[],[],[[0,100,"pl-c"]],[[0,37,"pl-c"],[0,2,"pl-c"]],[[0,100,"pl-c"]],[],[[4,22,"pl-c"],[4,6,"pl-c"]],[],[[4,10,"pl-k"],[11,22,"pl-en"],[25,31,"pl-k"],[32,41,"pl-en"]],[],[],[[8,29,"pl-en"]],[],[[8,77,"pl-c"],[8,10,"pl-c"]],[[8,13,"pl-k"]],[[8,13,"pl-k"],[35,42,"pl-c1"]],[],[[8,19,"pl-en"],[20,25,"pl-k"]],[],[],[],[[8,12,"pl-k"],[13,25,"pl-en"]],[[12,15,"pl-k"],[31,54,"pl-c1"]],[[12,14,"pl-k"]],[[16,20,"pl-k"],[45,64,"pl-c1"]],[],[[16,19,"pl-k"],[20,23,"pl-k"],[28,29,"pl-c1"]],[[33,42,"pl-c1"]],[[24,37,"pl-c1"],[38,44,"pl-s"],[38,39,"pl-pds"],[43,44,"pl-pds"],[46,55,"pl-c1"],[59,62,"pl-c1"]],[[23,26,"pl-c1"],[27,29,"pl-s"],[27,28,"pl-pds"],[28,29,"pl-pds"]],[],[],[],[],[[8,16,"pl-k"],[17,21,"pl-en"],[22,30,"pl-k"],[34,39,"pl-k"],[42,48,"pl-k"],[53,68,"pl-smi"],[71,72,"pl-c1"]],[],[[8,12,"pl-k"],[13,33,"pl-en"],[34,39,"pl-k"]],[[12,16,"pl-k"],[31,36,"pl-c1"]],[[12,14,"pl-k"],[21,28,"pl-c1"],[32,70,"pl-c"],[32,34,"pl-c"]],[[16,18,"pl-k"],[19,30,"pl-c1"],[35,47,"pl-smi"],[52,64,"pl-smi"],[69,70,"pl-c1"]],[[24,34,"pl-c1"]],[[34,38,"pl-c1"]],[],[],[[12,16,"pl-k"]],[[30,34,"pl-c1"],[36,75,"pl-c"],[36,38,"pl-c"]],[],[],[[12,14,"pl-k"]],[[20,32,"pl-c1"],[33,44,"pl-s"],[33,34,"pl-pds"],[43,44,"pl-pds"]],[[20,34,"pl-c1"],[35,41,"pl-s"],[35,36,"pl-pds"],[40,41,"pl-pds"],[46,58,"pl-smi"]],[],[],[],[[16,28,"pl-c1"],[29,39,"pl-s"],[29,30,"pl-pds"],[38,39,"pl-pds"]],[[21,35,"pl-c1"],[36,42,"pl-s"],[36,37,"pl-pds"],[41,42,"pl-pds"],[47,53,"pl-smi"]],[[21,35,"pl-c1"],[36,46,"pl-s"],[36,37,"pl-pds"],[45,46,"pl-pds"],[48,68,"pl-c1"],[72,78,"pl-smi"],[79,84,"pl-c1"]],[[21,35,"pl-c1"],[36,42,"pl-s"],[36,37,"pl-pds"],[41,42,"pl-pds"],[44,48,"pl-c1"],[52,58,"pl-smi"]],[[21,35,"pl-c1"],[36,49,"pl-s"],[36,37,"pl-pds"],[48,49,"pl-pds"],[54,67,"pl-smi"]],[],[[12,14,"pl-k"],[15,21,"pl-c1"],[25,34,"pl-smi"],[39,40,"pl-c1"]],[[20,34,"pl-c1"],[35,44,"pl-s"],[35,36,"pl-pds"],[43,44,"pl-pds"],[49,58,"pl-smi"]],[[12,14,"pl-k"],[18,28,"pl-smi"]],[[20,34,"pl-c1"],[35,45,"pl-s"],[35,36,"pl-pds"],[44,45,"pl-pds"],[47,51,"pl-c1"]],[[12,14,"pl-k"],[18,31,"pl-smi"]],[[20,34,"pl-c1"],[35,48,"pl-s"],[35,36,"pl-pds"],[47,48,"pl-pds"],[50,54,"pl-c1"]],[],[],[[8,100,"pl-c"],[8,10,"pl-c"]],[[8,86,"pl-c"],[8,10,"pl-c"]],[[8,100,"pl-c"],[8,10,"pl-c"]],[],[[8,12,"pl-k"],[13,25,"pl-en"],[26,31,"pl-k"],[47,55,"pl-k"]],[[12,26,"pl-c1"]],[[12,14,"pl-k"],[19,33,"pl-smi"]],[[16,19,"pl-k"],[20,24,"pl-k"],[33,45,"pl-c1"]],[[24,37,"pl-c1"],[38,48,"pl-s"],[38,39,"pl-pds"],[47,48,"pl-pds"]],[[29,43,"pl-c1"],[44,54,"pl-s"],[44,45,"pl-pds"],[53,54,"pl-pds"],[61,66,"pl-smi"],[67,72,"pl-smi"]],[[29,43,"pl-c1"],[44,50,"pl-s"],[44,45,"pl-pds"],[49,50,"pl-pds"],[57,62,"pl-smi"],[63,69,"pl-smi"]],[[16,19,"pl-k"],[20,24,"pl-k"],[33,45,"pl-c1"]],[[24,37,"pl-c1"],[38,48,"pl-s"],[38,39,"pl-pds"],[47,48,"pl-pds"]],[[29,43,"pl-c1"],[44,54,"pl-s"],[44,45,"pl-pds"],[53,54,"pl-pds"],[61,66,"pl-smi"],[67,72,"pl-smi"]],[[29,43,"pl-c1"],[44,50,"pl-s"],[44,45,"pl-pds"],[49,50,"pl-pds"],[57,62,"pl-smi"],[63,69,"pl-smi"]],[[14,18,"pl-k"],[19,21,"pl-k"],[26,31,"pl-smi"],[39,54,"pl-smi"]],[[16,19,"pl-k"],[20,28,"pl-k"],[33,34,"pl-c1"],[43,51,"pl-smi"]],[[24,37,"pl-c1"],[38,48,"pl-s"],[38,39,"pl-pds"],[47,48,"pl-pds"],[50,64,"pl-c1"],[65,71,"pl-s"],[65,66,"pl-pds"],[70,71,"pl-pds"],[76,80,"pl-smi"],[85,91,"pl-smi"]],[[25,39,"pl-c1"],[40,51,"pl-s"],[40,41,"pl-pds"],[50,51,"pl-pds"],[56,60,"pl-smi"],[65,77,"pl-smi"]],[[25,39,"pl-c1"],[40,50,"pl-s"],[40,41,"pl-pds"],[49,50,"pl-pds"],[52,72,"pl-c1"],[76,80,"pl-smi"],[85,91,"pl-smi"],[92,97,"pl-c1"]],[[25,39,"pl-c1"],[40,46,"pl-s"],[40,41,"pl-pds"],[45,46,"pl-pds"],[48,52,"pl-c1"],[56,60,"pl-smi"],[65,71,"pl-smi"]],[[25,39,"pl-c1"],[40,49,"pl-s"],[40,41,"pl-pds"],[48,49,"pl-pds"],[54,58,"pl-smi"],[63,69,"pl-smi"]],[],[[20,33,"pl-c1"],[34,59,"pl-s"],[34,35,"pl-pds"],[58,59,"pl-pds"]],[[25,39,"pl-c1"],[40,51,"pl-s"],[40,41,"pl-pds"],[50,51,"pl-pds"],[56,65,"pl-smi"],[67,93,"pl-smi"]],[[14,18,"pl-k"],[19,21,"pl-k"],[26,42,"pl-smi"]],[[16,19,"pl-k"],[20,28,"pl-k"],[33,34,"pl-c1"],[43,51,"pl-smi"]],[[24,37,"pl-c1"],[38,49,"pl-s"],[38,39,"pl-pds"],[48,49,"pl-pds"],[51,65,"pl-c1"],[66,72,"pl-s"],[66,67,"pl-pds"],[71,72,"pl-pds"],[77,81,"pl-smi"],[86,98,"pl-smi"]],[[20,33,"pl-c1"],[34,59,"pl-s"],[34,35,"pl-pds"],[58,59,"pl-pds"]],[[25,39,"pl-c1"],[40,51,"pl-s"],[40,41,"pl-pds"],[50,51,"pl-pds"],[56,65,"pl-smi"],[67,93,"pl-smi"]],[[20,33,"pl-c1"],[34,60,"pl-s"],[34,35,"pl-pds"],[59,60,"pl-pds"]],[[25,39,"pl-c1"],[40,51,"pl-s"],[40,41,"pl-pds"],[50,51,"pl-pds"],[56,65,"pl-smi"],[67,94,"pl-smi"]],[],[[16,26,"pl-c1"]],[],[],[[8,12,"pl-k"],[13,27,"pl-en"],[30,38,"pl-k"]],[[16,32,"pl-c1"]],[],[[12,89,"pl-c"],[12,14,"pl-c"]],[[38,58,"pl-c1"],[63,74,"pl-smi"],[75,80,"pl-c1"]],[[1,6,"pl-k"]],[[12,14,"pl-k"],[27,32,"pl-c1"],[33,39,"pl-s"],[33,34,"pl-pds"],[38,39,"pl-pds"]],[[42,48,"pl-c1"],[49,50,"pl-c1"],[64,70,"pl-c1"],[75,76,"pl-c1"]],[[1,6,"pl-k"],[7,34,"pl-c"],[7,9,"pl-c"]],[],[[16,28,"pl-c1"],[29,38,"pl-s"],[29,30,"pl-pds"],[37,38,"pl-pds"],[40,54,"pl-c1"],[55,63,"pl-s"],[55,56,"pl-pds"],[62,63,"pl-pds"]],[[12,14,"pl-k"],[19,29,"pl-smi"],[33,38,"pl-c1"]],[[20,34,"pl-c1"],[35,44,"pl-s"],[35,36,"pl-pds"],[43,44,"pl-pds"]],[],[[12,58,"pl-c"],[12,14,"pl-c"]],[[16,29,"pl-c1"],[30,39,"pl-s"],[30,31,"pl-pds"],[38,39,"pl-pds"]],[[21,35,"pl-c1"],[36,46,"pl-s"],[36,37,"pl-pds"],[45,46,"pl-pds"],[52,60,"pl-smi"],[61,66,"pl-c1"]],[[21,35,"pl-c1"],[36,47,"pl-s"],[36,37,"pl-pds"],[46,47,"pl-pds"],[53,62,"pl-smi"]],[[21,35,"pl-c1"],[36,43,"pl-s"],[36,37,"pl-pds"],[42,43,"pl-pds"],[49,54,"pl-smi"]],[[21,35,"pl-c1"],[36,42,"pl-s"],[36,37,"pl-pds"],[41,42,"pl-pds"],[48,52,"pl-smi"]],[[21,35,"pl-c1"],[36,49,"pl-s"],[36,37,"pl-pds"],[48,49,"pl-pds"],[55,66,"pl-smi"]],[[21,35,"pl-c1"],[36,59,"pl-s"],[36,37,"pl-pds"],[58,59,"pl-pds"],[65,86,"pl-smi"]],[[21,35,"pl-c1"],[36,52,"pl-s"],[36,37,"pl-pds"],[51,52,"pl-pds"],[58,72,"pl-smi"]],[[21,35,"pl-c1"],[36,46,"pl-s"],[36,37,"pl-pds"],[45,46,"pl-pds"],[52,60,"pl-smi"]],[[21,35,"pl-c1"],[36,45,"pl-s"],[36,37,"pl-pds"],[44,45,"pl-pds"],[51,58,"pl-smi"]],[],[],[[8,12,"pl-k"],[13,25,"pl-en"],[26,31,"pl-k"],[49,57,"pl-k"]],[[12,14,"pl-k"],[19,85,"pl-c"],[19,21,"pl-c"]],[[20,30,"pl-c1"]],[],[[16,29,"pl-c1"],[30,53,"pl-s"],[30,31,"pl-pds"],[52,53,"pl-pds"]],[[21,35,"pl-c1"],[36,47,"pl-s"],[36,37,"pl-pds"],[46,47,"pl-pds"],[51,61,"pl-smi"],[66,82,"pl-smi"]],[[21,35,"pl-c1"],[36,46,"pl-s"],[36,37,"pl-pds"],[45,46,"pl-pds"],[50,66,"pl-smi"]],[],[[16,28,"pl-c1"],[29,54,"pl-s"],[29,30,"pl-pds"],[53,54,"pl-pds"]],[[21,35,"pl-c1"],[36,47,"pl-s"],[36,37,"pl-pds"],[46,47,"pl-pds"]],[[38,64,"pl-smi"],[69,87,"pl-smi"]],[[21,35,"pl-c1"],[36,46,"pl-s"],[36,37,"pl-pds"],[45,46,"pl-pds"],[50,68,"pl-smi"]],[[12,14,"pl-k"],[19,37,"pl-smi"],[41,46,"pl-c1"]],[[20,34,"pl-c1"],[35,44,"pl-s"],[35,36,"pl-pds"],[43,44,"pl-pds"],[48,60,"pl-smi"],[65,91,"pl-smi"]],[[16,26,"pl-c1"]],[],[[16,26,"pl-c1"]],[],[],[[8,12,"pl-k"],[13,28,"pl-en"],[29,34,"pl-k"],[53,61,"pl-k"]],[[12,32,"pl-c1"]],[[16,31,"pl-c1"]],[],[],[[8,12,"pl-k"],[13,30,"pl-en"],[31,36,"pl-k"],[52,60,"pl-k"]],[],[[8,12,"pl-k"],[13,26,"pl-en"],[27,32,"pl-k"],[59,67,"pl-k"]],[[16,28,"pl-c1"],[29,52,"pl-s"],[29,30,"pl-pds"],[51,52,"pl-pds"]],[[21,35,"pl-c1"],[36,47,"pl-s"],[36,37,"pl-pds"],[46,47,"pl-pds"]],[[39,60,"pl-smi"],[66,93,"pl-smi"]],[[21,35,"pl-c1"],[36,46,"pl-s"],[36,37,"pl-pds"],[45,46,"pl-pds"],[51,78,"pl-smi"]],[[21,35,"pl-c1"],[36,55,"pl-s"],[36,37,"pl-pds"],[54,55,"pl-pds"],[60,75,"pl-smi"]],[[12,14,"pl-k"],[19,27,"pl-smi"]],[[20,34,"pl-c1"],[35,45,"pl-s"],[35,36,"pl-pds"],[44,45,"pl-pds"],[50,57,"pl-smi"]],[[12,14,"pl-k"],[19,38,"pl-smi"]],[[20,34,"pl-c1"],[35,54,"pl-s"],[35,36,"pl-pds"],[53,54,"pl-pds"],[60,79,"pl-smi"]],[[16,26,"pl-c1"]],[],[[16,26,"pl-c1"]],[],[],[[8,12,"pl-k"],[13,32,"pl-en"],[33,38,"pl-k"],[61,69,"pl-k"]],[[12,30,"pl-c1"]],[],[[16,29,"pl-c1"],[30,41,"pl-s"],[30,31,"pl-pds"],[40,41,"pl-pds"]],[[21,35,"pl-c1"],[36,43,"pl-s"],[36,37,"pl-pds"],[42,43,"pl-pds"],[47,55,"pl-smi"]],[[21,30,"pl-c1"],[33,45,"pl-smi"],[46,51,"pl-c1"]],[],[],[[8,12,"pl-k"],[13,26,"pl-en"],[27,32,"pl-k"],[55,63,"pl-k"]],[[16,28,"pl-c1"],[29,38,"pl-s"],[29,30,"pl-pds"],[37,38,"pl-pds"]],[[21,35,"pl-c1"],[36,42,"pl-s"],[36,37,"pl-pds"],[41,42,"pl-pds"],[47,53,"pl-smi"]],[[21,35,"pl-c1"],[36,46,"pl-s"],[36,37,"pl-pds"],[45,46,"pl-pds"],[48,68,"pl-c1"],[72,78,"pl-smi"]],[[21,35,"pl-c1"],[36,42,"pl-s"],[36,37,"pl-pds"],[41,42,"pl-pds"],[44,48,"pl-c1"],[52,58,"pl-smi"]],[[16,31,"pl-c1"]],[],[],[[8,12,"pl-k"],[13,24,"pl-en"],[27,35,"pl-k"],[42,52,"pl-c1"]],[],[[8,12,"pl-k"],[13,23,"pl-en"],[24,29,"pl-k"],[46,54,"pl-k"]],[[12,14,"pl-k"],[19,27,"pl-smi"],[36,43,"pl-smi"]],[[16,22,"pl-k"]],[],[[12,30,"pl-c1"]],[],[[16,28,"pl-c1"],[29,41,"pl-s"],[29,30,"pl-pds"],[40,41,"pl-pds"]],[[21,35,"pl-c1"],[36,45,"pl-s"],[36,37,"pl-pds"],[44,45,"pl-pds"],[51,59,"pl-smi"]],[[21,35,"pl-c1"],[36,42,"pl-s"],[36,37,"pl-pds"],[41,42,"pl-pds"],[44,56,"pl-c1"],[60,64,"pl-smi"]],[[21,35,"pl-c1"],[36,46,"pl-s"],[36,37,"pl-pds"],[45,46,"pl-pds"],[48,68,"pl-c1"],[72,78,"pl-smi"]],[[21,35,"pl-c1"],[36,42,"pl-s"],[36,37,"pl-pds"],[41,42,"pl-pds"],[44,48,"pl-c1"],[52,58,"pl-smi"]],[],[[16,29,"pl-c1"],[30,40,"pl-s"],[30,31,"pl-pds"],[39,40,"pl-pds"],[42,51,"pl-c1"],[55,61,"pl-smi"]],[],[[12,14,"pl-k"],[18,25,"pl-smi"]],[[20,33,"pl-c1"],[34,45,"pl-s"],[34,35,"pl-pds"],[44,45,"pl-pds"],[47,56,"pl-c1"],[60,71,"pl-smi"],[72,77,"pl-c1"]],[],[[12,14,"pl-k"],[18,22,"pl-smi"]],[[20,33,"pl-c1"],[34,53,"pl-s"],[34,35,"pl-pds"],[52,53,"pl-pds"],[55,64,"pl-c1"],[68,84,"pl-smi"]],[[12,14,"pl-k"],[18,22,"pl-smi"]],[[20,33,"pl-c1"],[34,59,"pl-s"],[34,35,"pl-pds"],[58,59,"pl-pds"],[61,70,"pl-c1"],[74,92,"pl-smi"],[93,98,"pl-c1"]],[[12,14,"pl-k"],[19,23,"pl-smi"],[56,63,"pl-smi"]],[[20,33,"pl-c1"],[34,44,"pl-s"],[34,35,"pl-pds"],[43,44,"pl-pds"],[46,55,"pl-c1"],[59,67,"pl-smi"],[68,73,"pl-c1"]],[],[[12,24,"pl-c1"]],[],[[16,26,"pl-c1"]],[],[],[[8,12,"pl-k"],[13,24,"pl-en"],[25,30,"pl-k"],[48,56,"pl-k"]],[[12,30,"pl-c1"]],[],[[16,28,"pl-c1"],[29,38,"pl-s"],[29,30,"pl-pds"],[37,38,"pl-pds"]],[[21,35,"pl-c1"],[36,42,"pl-s"],[36,37,"pl-pds"],[41,42,"pl-pds"],[44,57,"pl-c1"],[61,71,"pl-smi"]],[[21,35,"pl-c1"],[36,46,"pl-s"],[36,37,"pl-pds"],[45,46,"pl-pds"],[48,68,"pl-c1"],[72,78,"pl-smi"]],[[21,35,"pl-c1"],[36,42,"pl-s"],[36,37,"pl-pds"],[41,42,"pl-pds"],[44,48,"pl-c1"],[52,58,"pl-smi"]],[],[[16,29,"pl-c1"],[30,36,"pl-s"],[30,31,"pl-pds"],[35,36,"pl-pds"],[38,47,"pl-c1"],[51,59,"pl-smi"],[60,65,"pl-c1"]],[],[[12,24,"pl-c1"]],[],[[16,26,"pl-c1"]],[],[],[[8,12,"pl-k"],[13,30,"pl-en"],[31,36,"pl-k"],[55,63,"pl-k"]],[[12,14,"pl-k"],[19,37,"pl-smi"],[41,46,"pl-c1"]],[[16,36,"pl-c1"]],[[20,34,"pl-c1"],[35,44,"pl-s"],[35,36,"pl-pds"],[43,44,"pl-pds"],[46,52,"pl-s"],[46,47,"pl-pds"],[51,52,"pl-pds"]],[[20,30,"pl-c1"]],[],[],[],[],[[4,29,"pl-en"],[30,35,"pl-s"],[30,31,"pl-pds"],[34,35,"pl-pds"],[37,38,"pl-c1"]],[],[[4,8,"pl-k"],[9,38,"pl-en"],[56,61,"pl-k"]],[[8,10,"pl-k"],[15,19,"pl-smi"]],[[12,13,"pl-c1"],[15,56,"pl-c"],[15,17,"pl-c"]],[[32,44,"pl-c1"],[48,52,"pl-smi"],[57,61,"pl-s"],[57,58,"pl-pds"],[60,61,"pl-pds"],[68,74,"pl-smi"],[78,83,"pl-s"],[78,79,"pl-pds"],[82,83,"pl-pds"]],[],[],[[8,10,"pl-k"],[14,18,"pl-smi"],[46,87,"pl-c"],[46,48,"pl-c"]],[[21,28,"pl-smi"],[31,51,"pl-s"],[31,32,"pl-pds"],[50,51,"pl-pds"],[54,77,"pl-s"],[54,55,"pl-pds"],[76,77,"pl-pds"],[82,86,"pl-s"],[82,83,"pl-pds"],[83,85,"pl-cce"],[85,86,"pl-pds"]],[[10,14,"pl-k"],[15,17,"pl-k"],[22,26,"pl-smi"]],[[24,28,"pl-smi"],[62,71,"pl-c"],[62,64,"pl-c"]],[[32,44,"pl-c1"],[48,52,"pl-smi"],[57,61,"pl-s"],[57,58,"pl-pds"],[60,61,"pl-pds"],[68,74,"pl-smi"],[78,84,"pl-s"],[78,79,"pl-pds"],[81,83,"pl-cce"],[83,84,"pl-pds"]],[[22,40,"pl-smi"],[41,46,"pl-c1"]],[[19,25,"pl-s"],[19,20,"pl-pds"],[20,22,"pl-cce"],[24,25,"pl-pds"],[32,48,"pl-smi"],[52,57,"pl-s"],[52,53,"pl-pds"],[56,57,"pl-pds"]],[[12,14,"pl-k"],[18,25,"pl-smi"]],[[16,18,"pl-k"],[23,31,"pl-smi"]],[[25,47,"pl-s"],[25,26,"pl-pds"],[44,46,"pl-cce"],[46,47,"pl-pds"]],[[18,22,"pl-k"]],[[25,67,"pl-s"],[25,26,"pl-pds"],[66,67,"pl-pds"],[74,85,"pl-smi"],[89,94,"pl-s"],[89,90,"pl-pds"],[91,93,"pl-cce"],[93,94,"pl-pds"]],[],[[14,18,"pl-k"]],[[21,46,"pl-s"],[21,22,"pl-pds"],[43,45,"pl-cce"],[45,46,"pl-pds"]],[],[[10,14,"pl-k"],[15,17,"pl-k"],[21,25,"pl-smi"]],[[48,89,"pl-c"],[48,50,"pl-c"]],[[32,44,"pl-c1"],[48,52,"pl-smi"],[57,61,"pl-s"],[57,58,"pl-pds"],[60,61,"pl-pds"],[68,74,"pl-smi"],[78,82,"pl-s"],[78,79,"pl-pds"],[81,82,"pl-pds"]],[[22,38,"pl-smi"],[42,47,"pl-s"],[42,43,"pl-pds"],[46,47,"pl-pds"]],[[23,30,"pl-smi"],[37,47,"pl-smi"],[50,70,"pl-s"],[50,51,"pl-pds"],[69,70,"pl-pds"]],[[48,79,"pl-s"],[48,49,"pl-pds"],[78,79,"pl-pds"]],[[32,55,"pl-s"],[32,33,"pl-pds"],[54,55,"pl-pds"]],[[37,48,"pl-smi"],[52,56,"pl-s"],[52,53,"pl-pds"],[53,55,"pl-cce"],[55,56,"pl-pds"]],[[10,14,"pl-k"],[15,17,"pl-k"],[21,25,"pl-smi"]],[[50,91,"pl-c"],[50,52,"pl-c"]],[[32,44,"pl-c1"],[48,52,"pl-smi"],[57,61,"pl-s"],[57,58,"pl-pds"],[60,61,"pl-pds"],[68,74,"pl-smi"],[78,84,"pl-s"],[78,79,"pl-pds"],[81,83,"pl-cce"],[83,84,"pl-pds"]],[[22,40,"pl-smi"],[41,46,"pl-c1"]],[[19,26,"pl-s"],[19,20,"pl-pds"],[20,22,"pl-cce"],[25,26,"pl-pds"]],[[23,30,"pl-smi"],[38,46,"pl-smi"],[49,69,"pl-s"],[49,50,"pl-pds"],[68,69,"pl-pds"]],[[48,79,"pl-s"],[48,49,"pl-pds"],[78,79,"pl-pds"]],[[32,55,"pl-s"],[32,33,"pl-pds"],[54,55,"pl-pds"]],[[37,48,"pl-smi"],[52,56,"pl-s"],[52,53,"pl-pds"],[53,55,"pl-cce"],[55,56,"pl-pds"]],[[10,14,"pl-k"],[15,17,"pl-k"],[21,25,"pl-smi"],[54,95,"pl-c"],[54,56,"pl-c"]],[[21,28,"pl-smi"],[31,50,"pl-s"],[31,32,"pl-pds"],[49,50,"pl-pds"],[53,68,"pl-s"],[53,54,"pl-pds"],[67,68,"pl-pds"]],[[22,33,"pl-smi"],[37,41,"pl-s"],[37,38,"pl-pds"],[38,40,"pl-cce"],[40,41,"pl-pds"]],[[10,14,"pl-k"]],[[21,28,"pl-smi"],[31,50,"pl-s"],[31,32,"pl-pds"],[49,50,"pl-pds"]],[[37,45,"pl-smi"],[48,63,"pl-s"],[48,49,"pl-pds"],[60,62,"pl-cce"],[62,63,"pl-pds"],[66,85,"pl-s"],[66,67,"pl-pds"],[82,84,"pl-cce"],[84,85,"pl-pds"]],[[12,14,"pl-k"],[18,25,"pl-smi"]],[[24,35,"pl-smi"],[39,43,"pl-s"],[39,40,"pl-pds"],[40,42,"pl-cce"],[42,43,"pl-pds"]],[[12,16,"pl-k"]],[[21,33,"pl-s"],[21,22,"pl-pds"],[32,33,"pl-pds"],[37,49,"pl-c1"],[53,57,"pl-smi"],[62,66,"pl-s"],[62,63,"pl-pds"],[65,66,"pl-pds"],[73,81,"pl-smi"],[85,91,"pl-s"],[85,86,"pl-pds"],[88,90,"pl-cce"],[90,91,"pl-pds"]],[],[],[],[[4,12,"pl-c"],[4,6,"pl-c"]],[[4,22,"pl-c"],[4,6,"pl-c"]],[[4,27,"pl-c"],[4,6,"pl-c"]],[[4,32,"pl-c"],[4,6,"pl-c"]],[[4,32,"pl-c"],[4,6,"pl-c"]],[[4,10,"pl-k"],[11,24,"pl-en"],[27,33,"pl-k"],[34,43,"pl-en"]],[],[],[[8,29,"pl-en"]],[],[],[],[[8,14,"pl-k"],[15,32,"pl-en"]],[],[[12,18,"pl-k"],[31,50,"pl-en"]],[[16,89,"pl-c"],[16,18,"pl-c"]],[[16,88,"pl-c"],[16,18,"pl-c"]],[[16,22,"pl-c1"]],[[16,25,"pl-c1"]],[[16,20,"pl-k"],[21,26,"pl-k"],[43,49,"pl-k"],[50,72,"pl-s"],[50,51,"pl-pds"],[71,72,"pl-pds"]],[],[[21,23,"pl-c1"]],[[1,6,"pl-k"]],[[16,24,"pl-c1"]],[[1,5,"pl-k"],[6,33,"pl-c"],[6,8,"pl-c"]],[[16,24,"pl-c1"]],[[1,6,"pl-k"],[7,34,"pl-c"],[7,9,"pl-c"]],[],[[16,20,"pl-k"]],[[16,21,"pl-k"],[22,26,"pl-k"],[28,33,"pl-k"],[40,60,"pl-s"],[40,41,"pl-pds"],[59,60,"pl-pds"]],[],[[16,29,"pl-c1"]],[[16,22,"pl-k"],[23,34,"pl-c1"]],[],[],[[12,18,"pl-k"],[19,35,"pl-en"]],[],[[16,32,"pl-en"],[33,38,"pl-k"],[62,67,"pl-k"],[88,93,"pl-k"]],[],[],[[16,32,"pl-en"],[33,38,"pl-k"],[62,67,"pl-k"]],[],[],[],[],[],[[12,18,"pl-k"],[19,32,"pl-en"]],[],[[16,29,"pl-en"],[30,35,"pl-k"],[61,66,"pl-k"]],[[63,64,"pl-c1"]],[],[],[[16,22,"pl-k"]],[],[],[],[[12,16,"pl-k"],[17,20,"pl-en"],[21,26,"pl-k"],[51,56,"pl-k"]],[[26,38,"pl-c1"]],[],[],[[12,16,"pl-k"],[17,49,"pl-en"]],[[16,19,"pl-k"],[20,24,"pl-k"]],[[20,22,"pl-k"],[28,32,"pl-c1"]],[[34,38,"pl-c1"],[41,45,"pl-smi"],[49,60,"pl-c1"],[61,64,"pl-s"],[61,62,"pl-pds"],[63,64,"pl-pds"],[73,78,"pl-c1"]],[],[],[[12,16,"pl-k"],[17,24,"pl-en"],[25,31,"pl-k"]],[[16,18,"pl-k"],[19,23,"pl-c1"],[26,30,"pl-c1"]],[[20,24,"pl-c1"],[27,28,"pl-c1"]],[[26,30,"pl-c1"],[33,37,"pl-smi"],[40,44,"pl-c1"]],[[32,36,"pl-c1"]],[],[],[[12,16,"pl-k"],[17,27,"pl-en"],[28,33,"pl-k"],[56,61,"pl-k"],[81,86,"pl-k"]],[[26,30,"pl-c1"],[33,41,"pl-smi"],[42,54,"pl-c1"]],[],[],[],[[12,16,"pl-k"],[17,25,"pl-en"],[26,31,"pl-k"],[54,59,"pl-k"]],[[26,30,"pl-c1"],[33,39,"pl-smi"],[40,52,"pl-c1"]],[],[],[],[],[[12,18,"pl-k"],[34,35,"pl-c1"]],[[12,15,"pl-k"],[30,31,"pl-c1"],[49,50,"pl-c1"]],[],[],[],[],[[8,77,"pl-c"],[8,10,"pl-c"]],[[8,13,"pl-k"]],[[8,13,"pl-k"],[35,42,"pl-c1"]],[],[[8,21,"pl-en"],[22,27,"pl-k"]],[],[],[],[[8,16,"pl-k"],[17,21,"pl-en"],[22,30,"pl-k"],[34,39,"pl-k"],[42,48,"pl-k"],[53,68,"pl-smi"],[71,72,"pl-c1"]],[],[[8,100,"pl-c"],[8,10,"pl-c"]],[[8,86,"pl-c"],[8,10,"pl-c"]],[[8,100,"pl-c"],[8,10,"pl-c"]],[],[[8,12,"pl-k"],[13,25,"pl-en"],[26,31,"pl-k"],[44,52,"pl-k"]],[[16,32,"pl-c1"]],[],[],[[8,12,"pl-k"],[13,27,"pl-en"],[30,38,"pl-k"]],[[16,32,"pl-c1"]],[],[],[[8,12,"pl-k"],[13,25,"pl-en"],[26,31,"pl-k"],[49,57,"pl-k"]],[[12,89,"pl-c"],[12,14,"pl-c"]],[[38,58,"pl-c1"],[63,74,"pl-smi"],[75,80,"pl-c1"]],[[1,6,"pl-k"]],[[12,14,"pl-k"],[27,32,"pl-c1"],[33,39,"pl-s"],[33,34,"pl-pds"],[38,39,"pl-pds"]],[[42,48,"pl-c1"],[49,50,"pl-c1"],[64,70,"pl-c1"],[75,76,"pl-c1"]],[[1,6,"pl-k"],[7,34,"pl-c"],[7,9,"pl-c"]],[[16,28,"pl-c1"],[29,41,"pl-s"],[29,30,"pl-pds"],[40,41,"pl-pds"]],[[16,28,"pl-c1"],[29,40,"pl-s"],[29,30,"pl-pds"],[39,40,"pl-pds"],[42,56,"pl-c1"],[57,63,"pl-s"],[57,58,"pl-pds"],[62,63,"pl-pds"]],[[21,35,"pl-c1"],[36,44,"pl-s"],[36,37,"pl-pds"],[43,44,"pl-pds"],[59,70,"pl-smi"]],[[21,35,"pl-c1"],[36,46,"pl-s"],[36,37,"pl-pds"],[45,46,"pl-pds"],[61,74,"pl-smi"]],[[21,35,"pl-c1"],[36,43,"pl-s"],[36,37,"pl-pds"],[42,43,"pl-pds"],[47,57,"pl-smi"]],[[12,14,"pl-k"],[19,36,"pl-smi"],[40,45,"pl-c1"]],[[20,34,"pl-c1"],[35,41,"pl-s"],[35,36,"pl-pds"],[40,41,"pl-pds"],[56,68,"pl-smi"]],[[20,34,"pl-c1"],[35,46,"pl-s"],[35,36,"pl-pds"],[45,46,"pl-pds"],[48,86,"pl-c1"]],[],[[12,14,"pl-k"],[19,29,"pl-smi"],[33,38,"pl-c1"]],[[20,34,"pl-c1"],[35,52,"pl-s"],[35,36,"pl-pds"],[51,52,"pl-pds"]],[],[[12,15,"pl-k"],[16,21,"pl-k"],[22,26,"pl-k"],[52,61,"pl-smi"]],[[20,32,"pl-c1"],[33,43,"pl-s"],[33,34,"pl-pds"],[42,43,"pl-pds"]],[[21,35,"pl-c1"],[36,47,"pl-s"],[36,37,"pl-pds"],[46,47,"pl-pds"],[58,67,"pl-smi"]],[[21,35,"pl-c1"],[36,42,"pl-s"],[36,37,"pl-pds"],[41,42,"pl-pds"],[53,57,"pl-smi"]],[[16,18,"pl-k"],[23,40,"pl-smi"],[44,49,"pl-c1"]],[[24,38,"pl-c1"],[39,45,"pl-s"],[39,40,"pl-pds"],[44,45,"pl-pds"],[56,60,"pl-smi"]],[[16,92,"pl-c"],[16,18,"pl-c"]],[[20,34,"pl-c1"],[35,43,"pl-s"],[35,36,"pl-pds"],[42,43,"pl-pds"],[45,50,"pl-s"],[45,46,"pl-pds"],[49,50,"pl-pds"]],[],[[16,19,"pl-k"],[20,25,"pl-k"],[26,30,"pl-k"],[51,59,"pl-smi"]],[[24,37,"pl-c1"],[38,47,"pl-s"],[38,39,"pl-pds"],[46,47,"pl-pds"]],[[25,39,"pl-c1"],[40,49,"pl-s"],[40,41,"pl-pds"],[48,49,"pl-pds"],[59,66,"pl-smi"]],[[25,39,"pl-c1"],[40,46,"pl-s"],[40,41,"pl-pds"],[45,46,"pl-pds"],[56,60,"pl-smi"]],[[25,34,"pl-c1"],[43,50,"pl-smi"],[52,57,"pl-c1"]],[],[],[[16,19,"pl-k"],[20,25,"pl-k"],[26,30,"pl-k"],[49,55,"pl-smi"]],[[24,37,"pl-c1"],[38,45,"pl-s"],[38,39,"pl-pds"],[44,45,"pl-pds"]],[[25,39,"pl-c1"],[40,49,"pl-s"],[40,41,"pl-pds"],[48,49,"pl-pds"],[57,64,"pl-smi"]],[[25,34,"pl-c1"],[41,48,"pl-smi"]],[],[],[[20,30,"pl-c1"]],[],[[16,26,"pl-c1"]],[[16,26,"pl-c1"]],[],[],[[8,12,"pl-k"],[13,28,"pl-en"],[29,34,"pl-k"],[53,61,"pl-k"]],[[25,28,"pl-c1"],[29,49,"pl-c1"],[53,59,"pl-smi"],[60,65,"pl-c1"],[73,79,"pl-smi"]],[[18,23,"pl-c1"]],[],[],[[8,12,"pl-k"],[13,30,"pl-en"],[31,36,"pl-k"],[55,63,"pl-k"]],[[25,32,"pl-c1"],[39,56,"pl-c1"]],[[25,57,"pl-c1"]],[[37,42,"pl-c1"]],[],[[18,23,"pl-c1"]],[[25,28,"pl-c1"],[29,49,"pl-c1"],[53,59,"pl-smi"],[60,65,"pl-c1"],[73,79,"pl-smi"]],[],[],[[8,12,"pl-k"],[13,26,"pl-en"],[27,32,"pl-k"],[56,64,"pl-k"]],[[25,32,"pl-c1"],[39,56,"pl-c1"]],[[25,57,"pl-c1"]],[[37,42,"pl-c1"]],[],[],[[8,12,"pl-k"],[13,32,"pl-en"],[33,38,"pl-k"],[61,69,"pl-k"]],[[12,30,"pl-c1"]],[[25,33,"pl-c1"],[34,45,"pl-s"],[34,35,"pl-pds"],[44,45,"pl-pds"],[49,61,"pl-smi"],[62,67,"pl-c1"]],[],[],[[8,12,"pl-k"],[13,26,"pl-en"],[27,32,"pl-k"],[55,63,"pl-k"]],[[37,46,"pl-c1"],[50,56,"pl-smi"]],[],[],[[8,12,"pl-k"],[13,24,"pl-en"],[27,35,"pl-k"]],[],[[8,12,"pl-k"],[13,23,"pl-en"],[24,29,"pl-k"],[46,54,"pl-k"]],[[12,14,"pl-k"],[19,27,"pl-smi"],[29,82,"pl-c"],[29,31,"pl-c"]],[[16,22,"pl-k"]],[],[[12,30,"pl-c1"]],[],[],[[18,38,"pl-c1"],[42,48,"pl-smi"],[58,71,"pl-smi"],[74,77,"pl-s"],[74,75,"pl-pds"],[76,77,"pl-pds"],[80,83,"pl-s"],[80,81,"pl-pds"],[82,83,"pl-pds"]],[[17,21,"pl-c1"],[25,31,"pl-smi"],[41,54,"pl-smi"],[57,60,"pl-s"],[57,58,"pl-pds"],[59,60,"pl-pds"],[63,67,"pl-s"],[63,64,"pl-pds"],[66,67,"pl-pds"]],[],[[12,41,"pl-c1"]],[[12,24,"pl-c1"]],[[25,35,"pl-c1"],[39,47,"pl-smi"],[48,53,"pl-c1"],[57,69,"pl-c1"],[73,77,"pl-smi"],[83,86,"pl-c1"]],[],[],[[8,12,"pl-k"],[13,24,"pl-en"],[25,30,"pl-k"],[48,56,"pl-k"]],[[12,14,"pl-k"],[18,28,"pl-smi"],[52,75,"pl-c"],[52,54,"pl-c"]],[[16,22,"pl-k"]],[],[[12,30,"pl-c1"]],[],[],[[18,38,"pl-c1"],[42,48,"pl-smi"],[58,71,"pl-smi"],[74,77,"pl-s"],[74,75,"pl-pds"],[76,77,"pl-pds"],[80,83,"pl-s"],[80,81,"pl-pds"],[82,83,"pl-pds"]],[[17,21,"pl-c1"],[25,31,"pl-smi"],[41,54,"pl-smi"],[57,60,"pl-s"],[57,58,"pl-pds"],[59,60,"pl-pds"],[63,67,"pl-s"],[63,64,"pl-pds"],[66,67,"pl-pds"]],[],[[21,29,"pl-smi"],[30,35,"pl-c1"],[41,45,"pl-s"],[41,42,"pl-pds"],[42,44,"pl-cce"],[44,45,"pl-pds"]],[[12,24,"pl-c1"]],[],[[25,35,"pl-c1"],[39,47,"pl-smi"],[48,53,"pl-c1"]],[[19,29,"pl-smi"],[55,67,"pl-s"],[55,56,"pl-pds"],[66,67,"pl-pds"],[70,76,"pl-s"],[70,71,"pl-pds"],[75,76,"pl-pds"],[81,84,"pl-c1"]],[],[],[[8,12,"pl-k"],[13,30,"pl-en"],[31,36,"pl-k"],[52,60,"pl-k"]],[],[[8,12,"pl-k"],[13,25,"pl-en"]],[[12,15,"pl-k"],[31,54,"pl-c1"]],[[12,14,"pl-k"]],[[16,20,"pl-k"],[32,51,"pl-c1"]],[],[[21,33,"pl-s"],[21,22,"pl-pds"],[32,33,"pl-pds"]],[[16,19,"pl-k"],[20,23,"pl-k"],[28,29,"pl-c1"]],[[31,32,"pl-c1"],[35,37,"pl-s"],[35,36,"pl-pds"],[36,37,"pl-pds"],[40,52,"pl-s"],[40,41,"pl-pds"],[51,52,"pl-pds"]],[[33,42,"pl-c1"]],[],[],[],[],[],[],[[4,29,"pl-en"],[30,37,"pl-s"],[30,31,"pl-pds"],[36,37,"pl-pds"],[39,40,"pl-c1"]],[],[[4,10,"pl-k"],[11,21,"pl-en"]],[],[[8,11,"pl-k"]],[[8,16,"pl-k"],[17,27,"pl-en"],[28,31,"pl-k"]],[],[],[],[[18,26,"pl-k"],[48,53,"pl-k"]],[[8,10,"pl-k"],[14,22,"pl-smi"],[26,27,"pl-c1"]],[[19,28,"pl-c1"],[32,40,"pl-smi"],[45,48,"pl-s"],[45,46,"pl-pds"],[47,48,"pl-pds"]],[[8,14,"pl-k"]],[],[],[[4,10,"pl-k"],[11,26,"pl-en"],[29,35,"pl-k"],[36,45,"pl-en"]],[],[],[[8,12,"pl-k"]],[],[[8,14,"pl-c1"]],[[8,29,"pl-en"]],[],[[8,77,"pl-c"],[8,10,"pl-c"]],[[8,13,"pl-k"]],[[8,13,"pl-k"]],[],[[8,23,"pl-en"],[24,29,"pl-k"]],[],[],[],[[8,23,"pl-en"],[24,29,"pl-k"]],[],[],[],[[8,100,"pl-c"],[8,10,"pl-c"]],[[8,97,"pl-c"],[8,10,"pl-c"]],[[8,100,"pl-c"],[8,10,"pl-c"]],[],[[8,12,"pl-k"],[13,32,"pl-en"]],[],[[17,98,"pl-s"],[17,18,"pl-pds"],[97,98,"pl-pds"]],[[17,21,"pl-s"],[17,18,"pl-pds"],[18,20,"pl-cce"],[20,21,"pl-pds"]],[],[],[[8,13,"pl-k"],[14,18,"pl-k"],[20,42,"pl-en"],[43,47,"pl-k"]],[[43,48,"pl-k"],[49,53,"pl-k"]],[[12,14,"pl-k"]],[[16,22,"pl-k"]],[[12,18,"pl-k"],[19,32,"pl-c1"]],[],[],[[20,41,"pl-en"],[42,46,"pl-k"]],[[12,18,"pl-k"]],[],[],[],[[8,12,"pl-k"],[13,47,"pl-en"],[48,52,"pl-k"]],[[48,53,"pl-k"],[54,58,"pl-k"],[74,83,"pl-s"],[74,75,"pl-pds"],[82,83,"pl-pds"]],[[17,38,"pl-c1"]],[[17,39,"pl-c1"],[69,73,"pl-s"],[69,70,"pl-pds"],[72,73,"pl-pds"]],[],[],[[8,12,"pl-k"],[13,25,"pl-en"]],[[12,15,"pl-k"],[31,54,"pl-c1"]],[[12,14,"pl-k"]],[[16,20,"pl-k"],[32,51,"pl-c1"]],[],[[36,48,"pl-s"],[36,37,"pl-pds"],[47,48,"pl-pds"]],[[16,19,"pl-k"],[20,23,"pl-k"],[28,29,"pl-c1"]],[[31,32,"pl-c1"],[35,37,"pl-s"],[35,36,"pl-pds"],[36,37,"pl-pds"],[40,52,"pl-s"],[40,41,"pl-pds"],[51,52,"pl-pds"]],[[33,42,"pl-c1"]],[[25,29,"pl-s"],[25,26,"pl-pds"],[26,28,"pl-cce"],[28,29,"pl-pds"]],[],[],[],[[17,21,"pl-s"],[17,18,"pl-pds"],[18,20,"pl-cce"],[20,21,"pl-pds"]],[],[],[[8,75,"pl-c"],[8,10,"pl-c"]],[[8,15,"pl-k"],[16,20,"pl-k"],[21,40,"pl-en"],[41,46,"pl-k"],[47,51,"pl-k"],[59,62,"pl-k"]],[[40,45,"pl-k"],[46,50,"pl-k"],[59,61,"pl-s"],[59,60,"pl-pds"],[60,61,"pl-pds"]],[[37,57,"pl-c1"],[72,85,"pl-smi"],[88,91,"pl-s"],[88,89,"pl-pds"],[90,91,"pl-pds"],[94,97,"pl-s"],[94,95,"pl-pds"],[96,97,"pl-pds"]],[[20,35,"pl-smi"],[38,39,"pl-c1"],[48,92,"pl-c"],[48,50,"pl-c"]],[[20,33,"pl-smi"],[36,39,"pl-s"],[36,37,"pl-pds"],[38,39,"pl-pds"],[42,46,"pl-s"],[42,43,"pl-pds"],[45,46,"pl-pds"]],[],[],[[8,12,"pl-k"],[13,25,"pl-en"]],[[12,14,"pl-k"]],[[16,22,"pl-k"]],[],[[12,31,"pl-c1"]],[[12,31,"pl-c1"],[36,42,"pl-smi"],[43,48,"pl-c1"],[56,62,"pl-smi"],[64,68,"pl-s"],[64,65,"pl-pds"],[65,67,"pl-cce"],[67,68,"pl-pds"]],[[12,14,"pl-k"],[19,32,"pl-smi"]],[[38,53,"pl-s"],[38,39,"pl-pds"],[52,53,"pl-pds"],[76,89,"pl-smi"],[93,97,"pl-s"],[93,94,"pl-pds"],[94,96,"pl-cce"],[96,97,"pl-pds"]],[[12,14,"pl-k"],[19,31,"pl-smi"],[39,51,"pl-smi"],[52,53,"pl-c1"],[58,62,"pl-s"],[58,59,"pl-pds"],[59,61,"pl-cce"],[61,62,"pl-pds"]],[[38,52,"pl-s"],[38,39,"pl-pds"],[51,52,"pl-pds"],[75,87,"pl-smi"],[91,95,"pl-s"],[91,92,"pl-pds"],[92,94,"pl-cce"],[94,95,"pl-pds"]],[[12,14,"pl-k"],[15,22,"pl-c1"],[27,33,"pl-smi"],[35,48,"pl-s"],[35,36,"pl-pds"],[47,48,"pl-pds"],[50,52,"pl-c1"],[57,58,"pl-c1"]],[[38,52,"pl-s"],[38,39,"pl-pds"],[51,52,"pl-pds"]],[[36,42,"pl-smi"],[46,50,"pl-s"],[46,47,"pl-pds"],[47,49,"pl-cce"],[49,50,"pl-pds"]],[],[[12,15,"pl-k"],[16,22,"pl-c1"],[27,28,"pl-c1"]],[[16,18,"pl-k"],[36,42,"pl-smi"],[43,44,"pl-c1"],[49,53,"pl-s"],[49,50,"pl-pds"],[50,52,"pl-cce"],[52,53,"pl-pds"]],[[25,29,"pl-s"],[25,26,"pl-pds"],[28,29,"pl-pds"],[50,56,"pl-smi"],[60,64,"pl-s"],[60,61,"pl-pds"],[61,63,"pl-cce"],[63,64,"pl-pds"]],[],[],[[12,14,"pl-k"],[52,56,"pl-c1"]],[[38,107,"pl-s"],[38,39,"pl-pds"],[39,41,"pl-cce"],[104,106,"pl-cce"],[106,107,"pl-pds"]],[[16,19,"pl-k"],[20,26,"pl-c1"],[31,32,"pl-c1"],[52,56,"pl-c1"]],[[20,22,"pl-k"],[40,46,"pl-smi"],[47,48,"pl-c1"],[53,57,"pl-s"],[53,54,"pl-pds"],[54,56,"pl-cce"],[56,57,"pl-pds"]],[[29,33,"pl-s"],[29,30,"pl-pds"],[32,33,"pl-pds"],[54,60,"pl-smi"],[64,68,"pl-s"],[64,65,"pl-pds"],[65,67,"pl-cce"],[67,68,"pl-pds"]],[],[],[],[[17,21,"pl-s"],[17,18,"pl-pds"],[18,20,"pl-cce"],[20,21,"pl-pds"]],[],[[40,44,"pl-c1"]],[],[],[[8,12,"pl-k"],[13,25,"pl-en"]],[[12,14,"pl-k"],[19,29,"pl-smi"],[33,38,"pl-c1"]],[[36,48,"pl-s"],[36,37,"pl-pds"],[47,48,"pl-pds"],[67,90,"pl-s"],[67,68,"pl-pds"],[87,89,"pl-cce"],[89,90,"pl-pds"]],[[44,50,"pl-s"],[44,45,"pl-pds"],[45,49,"pl-cce"],[49,50,"pl-pds"]],[],[],[[8,12,"pl-k"],[13,23,"pl-en"]],[[12,14,"pl-k"],[19,27,"pl-smi"],[31,36,"pl-c1"]],[[16,28,"pl-c1"]],[[36,48,"pl-s"],[36,37,"pl-pds"],[47,48,"pl-pds"]],[[21,36,"pl-s"],[21,22,"pl-pds"],[31,33,"pl-cce"],[35,36,"pl-pds"],[68,90,"pl-s"],[68,69,"pl-pds"],[73,75,"pl-cce"],[87,89,"pl-cce"],[89,90,"pl-pds"]],[],[],[],[[8,12,"pl-k"],[13,22,"pl-en"]],[[12,15,"pl-k"],[36,47,"pl-k"],[48,51,"pl-k"],[53,59,"pl-c1"]],[[12,24,"pl-c1"]],[[12,31,"pl-c"],[12,14,"pl-c"]],[[32,45,"pl-s"],[32,33,"pl-pds"],[42,44,"pl-cce"],[44,45,"pl-pds"]],[[32,44,"pl-s"],[32,33,"pl-pds"],[43,44,"pl-pds"]],[[17,76,"pl-s"],[17,18,"pl-pds"],[34,36,"pl-cce"],[49,51,"pl-cce"],[55,57,"pl-cce"],[71,75,"pl-cce"],[75,76,"pl-pds"]],[[32,44,"pl-s"],[32,33,"pl-pds"],[43,44,"pl-pds"]],[[17,81,"pl-s"],[17,18,"pl-pds"],[34,36,"pl-cce"],[50,52,"pl-cce"],[78,80,"pl-cce"],[80,81,"pl-pds"]],[[32,45,"pl-s"],[32,33,"pl-pds"],[42,44,"pl-cce"],[44,45,"pl-pds"]],[[32,44,"pl-s"],[32,33,"pl-pds"],[43,44,"pl-pds"]],[[17,63,"pl-s"],[17,18,"pl-pds"],[60,62,"pl-cce"],[62,63,"pl-pds"]],[[32,44,"pl-s"],[32,33,"pl-pds"],[43,44,"pl-pds"]],[[17,88,"pl-s"],[17,18,"pl-pds"],[85,87,"pl-cce"],[87,88,"pl-pds"]],[[1,7,"pl-k"]],[[32,45,"pl-s"],[32,33,"pl-pds"],[42,44,"pl-cce"],[44,45,"pl-pds"]],[[32,44,"pl-s"],[32,33,"pl-pds"],[43,44,"pl-pds"]],[[17,74,"pl-s"],[17,18,"pl-pds"],[71,73,"pl-cce"],[73,74,"pl-pds"],[105,121,"pl-s"],[105,106,"pl-pds"],[106,108,"pl-cce"],[118,120,"pl-cce"],[120,121,"pl-pds"]],[[1,6,"pl-k"]],[[32,45,"pl-s"],[32,33,"pl-pds"],[42,44,"pl-cce"],[44,45,"pl-pds"]],[[32,44,"pl-s"],[32,33,"pl-pds"],[43,44,"pl-pds"]],[[17,77,"pl-s"],[17,18,"pl-pds"],[72,76,"pl-cce"],[76,77,"pl-pds"]],[[17,21,"pl-s"],[17,18,"pl-pds"],[20,21,"pl-pds"],[53,62,"pl-s"],[53,54,"pl-pds"],[61,62,"pl-pds"],[94,103,"pl-s"],[94,95,"pl-pds"],[102,103,"pl-pds"],[135,160,"pl-s"],[135,136,"pl-pds"],[159,160,"pl-pds"]],[[17,27,"pl-c1"],[46,47,"pl-c1"],[53,76,"pl-s"],[53,54,"pl-pds"],[73,75,"pl-cce"],[75,76,"pl-pds"]],[[17,21,"pl-s"],[17,18,"pl-pds"],[20,21,"pl-pds"],[53,62,"pl-s"],[53,54,"pl-pds"],[61,62,"pl-pds"],[94,126,"pl-s"],[94,95,"pl-pds"],[125,126,"pl-pds"]],[[17,27,"pl-c1"],[46,47,"pl-c1"],[52,74,"pl-s"],[52,53,"pl-pds"],[71,73,"pl-cce"],[73,74,"pl-pds"]],[[17,21,"pl-s"],[17,18,"pl-pds"],[20,21,"pl-pds"],[53,62,"pl-s"],[53,54,"pl-pds"],[61,62,"pl-pds"],[94,126,"pl-s"],[94,95,"pl-pds"],[125,126,"pl-pds"]],[[17,27,"pl-c1"],[46,47,"pl-c1"],[52,91,"pl-s"],[52,53,"pl-pds"],[88,90,"pl-cce"],[90,91,"pl-pds"]],[[17,21,"pl-s"],[17,18,"pl-pds"],[20,21,"pl-pds"],[53,62,"pl-s"],[53,54,"pl-pds"],[61,62,"pl-pds"],[94,126,"pl-s"],[94,95,"pl-pds"],[125,126,"pl-pds"]],[[17,27,"pl-c1"],[46,47,"pl-c1"],[52,88,"pl-s"],[52,53,"pl-pds"],[85,87,"pl-cce"],[87,88,"pl-pds"]],[[17,21,"pl-s"],[17,18,"pl-pds"],[20,21,"pl-pds"],[53,62,"pl-s"],[53,54,"pl-pds"],[61,62,"pl-pds"],[94,126,"pl-s"],[94,95,"pl-pds"],[125,126,"pl-pds"]],[[17,27,"pl-c1"],[46,47,"pl-c1"],[52,86,"pl-s"],[52,53,"pl-pds"],[83,85,"pl-cce"],[85,86,"pl-pds"]],[[17,21,"pl-s"],[17,18,"pl-pds"],[20,21,"pl-pds"],[53,62,"pl-s"],[53,54,"pl-pds"],[61,62,"pl-pds"],[94,126,"pl-s"],[94,95,"pl-pds"],[125,126,"pl-pds"]],[[17,27,"pl-c1"],[46,47,"pl-c1"],[52,88,"pl-s"],[52,53,"pl-pds"],[83,87,"pl-cce"],[87,88,"pl-pds"]],[[12,103,"pl-c"],[12,14,"pl-c"]],[[32,44,"pl-s"],[32,33,"pl-pds"],[43,44,"pl-pds"]],[[17,72,"pl-s"],[17,18,"pl-pds"],[67,71,"pl-cce"],[71,72,"pl-pds"]],[[17,21,"pl-s"],[17,18,"pl-pds"],[20,21,"pl-pds"],[53,62,"pl-s"],[53,54,"pl-pds"],[61,62,"pl-pds"],[94,126,"pl-s"],[94,95,"pl-pds"],[125,126,"pl-pds"]],[[17,27,"pl-c1"],[46,47,"pl-c1"],[52,87,"pl-s"],[52,53,"pl-pds"],[84,86,"pl-cce"],[86,87,"pl-pds"]],[[17,21,"pl-s"],[17,18,"pl-pds"],[20,21,"pl-pds"],[53,62,"pl-s"],[53,54,"pl-pds"],[61,62,"pl-pds"],[94,126,"pl-s"],[94,95,"pl-pds"],[125,126,"pl-pds"]],[[17,27,"pl-c1"],[46,47,"pl-c1"],[52,87,"pl-s"],[52,53,"pl-pds"],[84,86,"pl-cce"],[86,87,"pl-pds"]],[[17,21,"pl-s"],[17,18,"pl-pds"],[20,21,"pl-pds"],[53,62,"pl-s"],[53,54,"pl-pds"],[61,62,"pl-pds"],[94,126,"pl-s"],[94,95,"pl-pds"],[125,126,"pl-pds"]],[[17,27,"pl-c1"],[46,47,"pl-c1"],[52,87,"pl-s"],[52,53,"pl-pds"],[84,86,"pl-cce"],[86,87,"pl-pds"]],[[17,21,"pl-s"],[17,18,"pl-pds"],[20,21,"pl-pds"],[53,62,"pl-s"],[53,54,"pl-pds"],[61,62,"pl-pds"],[94,126,"pl-s"],[94,95,"pl-pds"],[125,126,"pl-pds"]],[[17,27,"pl-c1"],[46,47,"pl-c1"],[52,87,"pl-s"],[52,53,"pl-pds"],[84,86,"pl-cce"],[86,87,"pl-pds"]],[[17,21,"pl-s"],[17,18,"pl-pds"],[20,21,"pl-pds"],[53,62,"pl-s"],[53,54,"pl-pds"],[61,62,"pl-pds"],[94,126,"pl-s"],[94,95,"pl-pds"],[125,126,"pl-pds"]],[[17,27,"pl-c1"],[46,47,"pl-c1"],[52,93,"pl-s"],[52,53,"pl-pds"],[90,92,"pl-cce"],[92,93,"pl-pds"]],[[17,21,"pl-s"],[17,18,"pl-pds"],[20,21,"pl-pds"],[53,62,"pl-s"],[53,54,"pl-pds"],[61,62,"pl-pds"],[94,126,"pl-s"],[94,95,"pl-pds"],[125,126,"pl-pds"]],[[17,27,"pl-c1"],[46,47,"pl-c1"],[52,93,"pl-s"],[52,53,"pl-pds"],[90,92,"pl-cce"],[92,93,"pl-pds"]],[[17,21,"pl-s"],[17,18,"pl-pds"],[20,21,"pl-pds"],[53,62,"pl-s"],[53,54,"pl-pds"],[61,62,"pl-pds"],[94,126,"pl-s"],[94,95,"pl-pds"],[125,126,"pl-pds"]],[[17,27,"pl-c1"],[46,47,"pl-c1"],[52,90,"pl-s"],[52,53,"pl-pds"],[87,89,"pl-cce"],[89,90,"pl-pds"]],[[17,21,"pl-s"],[17,18,"pl-pds"],[20,21,"pl-pds"],[53,62,"pl-s"],[53,54,"pl-pds"],[61,62,"pl-pds"],[94,126,"pl-s"],[94,95,"pl-pds"],[125,126,"pl-pds"]],[[17,27,"pl-c1"],[46,47,"pl-c1"],[52,90,"pl-s"],[52,53,"pl-pds"],[87,89,"pl-cce"],[89,90,"pl-pds"]],[[17,21,"pl-s"],[17,18,"pl-pds"],[20,21,"pl-pds"],[53,62,"pl-s"],[53,54,"pl-pds"],[61,62,"pl-pds"],[94,126,"pl-s"],[94,95,"pl-pds"],[125,126,"pl-pds"]],[[17,27,"pl-c1"],[46,47,"pl-c1"],[52,93,"pl-s"],[52,53,"pl-pds"],[90,92,"pl-cce"],[92,93,"pl-pds"]],[[17,21,"pl-s"],[17,18,"pl-pds"],[20,21,"pl-pds"],[53,62,"pl-s"],[53,54,"pl-pds"],[61,62,"pl-pds"],[94,126,"pl-s"],[94,95,"pl-pds"],[125,126,"pl-pds"]],[[17,27,"pl-c1"],[46,47,"pl-c1"],[52,71,"pl-s"],[52,53,"pl-pds"],[68,70,"pl-cce"],[70,71,"pl-pds"]],[[17,21,"pl-s"],[17,18,"pl-pds"],[20,21,"pl-pds"],[53,62,"pl-s"],[53,54,"pl-pds"],[61,62,"pl-pds"],[94,126,"pl-s"],[94,95,"pl-pds"],[125,126,"pl-pds"]],[[17,27,"pl-c1"],[46,47,"pl-c1"],[52,87,"pl-s"],[52,53,"pl-pds"],[84,86,"pl-cce"],[86,87,"pl-pds"]],[[17,27,"pl-c1"],[46,47,"pl-c1"],[52,133,"pl-s"],[52,53,"pl-pds"],[130,132,"pl-cce"],[132,133,"pl-pds"]],[[17,21,"pl-s"],[17,18,"pl-pds"],[20,21,"pl-pds"],[53,62,"pl-s"],[53,54,"pl-pds"],[61,62,"pl-pds"],[94,126,"pl-s"],[94,95,"pl-pds"],[125,126,"pl-pds"]],[[17,27,"pl-c1"],[46,47,"pl-c1"],[52,80,"pl-s"],[52,53,"pl-pds"],[77,79,"pl-cce"],[79,80,"pl-pds"]],[[17,21,"pl-s"],[17,18,"pl-pds"],[20,21,"pl-pds"],[53,62,"pl-s"],[53,54,"pl-pds"],[61,62,"pl-pds"],[94,126,"pl-s"],[94,95,"pl-pds"],[125,126,"pl-pds"]],[[17,27,"pl-c1"],[46,47,"pl-c1"],[52,93,"pl-s"],[52,53,"pl-pds"],[90,92,"pl-cce"],[92,93,"pl-pds"]],[[17,27,"pl-c1"],[46,47,"pl-c1"],[52,130,"pl-s"],[52,53,"pl-pds"],[127,129,"pl-cce"],[129,130,"pl-pds"]],[[17,21,"pl-s"],[17,18,"pl-pds"],[20,21,"pl-pds"],[53,62,"pl-s"],[53,54,"pl-pds"],[61,62,"pl-pds"],[94,126,"pl-s"],[94,95,"pl-pds"],[125,126,"pl-pds"]],[[17,27,"pl-c1"],[46,47,"pl-c1"],[52,92,"pl-s"],[52,53,"pl-pds"],[89,91,"pl-cce"],[91,92,"pl-pds"]],[[17,27,"pl-c1"],[46,47,"pl-c1"],[52,130,"pl-s"],[52,53,"pl-pds"],[127,129,"pl-cce"],[129,130,"pl-pds"]],[[17,21,"pl-s"],[17,18,"pl-pds"],[20,21,"pl-pds"],[53,62,"pl-s"],[53,54,"pl-pds"],[61,62,"pl-pds"],[94,126,"pl-s"],[94,95,"pl-pds"],[125,126,"pl-pds"]],[[17,27,"pl-c1"],[46,47,"pl-c1"],[52,90,"pl-s"],[52,53,"pl-pds"],[87,89,"pl-cce"],[89,90,"pl-pds"]],[[17,21,"pl-s"],[17,18,"pl-pds"],[20,21,"pl-pds"],[53,62,"pl-s"],[53,54,"pl-pds"],[61,62,"pl-pds"],[94,126,"pl-s"],[94,95,"pl-pds"],[125,126,"pl-pds"]],[[17,27,"pl-c1"],[46,47,"pl-c1"],[52,96,"pl-s"],[52,53,"pl-pds"],[93,95,"pl-cce"],[95,96,"pl-pds"]],[[32,46,"pl-s"],[32,33,"pl-pds"],[33,35,"pl-cce"],[45,46,"pl-pds"]],[[17,92,"pl-s"],[17,18,"pl-pds"],[87,91,"pl-cce"],[91,92,"pl-pds"]],[[17,21,"pl-s"],[17,18,"pl-pds"],[20,21,"pl-pds"],[53,62,"pl-s"],[53,54,"pl-pds"],[61,62,"pl-pds"],[94,126,"pl-s"],[94,95,"pl-pds"],[125,126,"pl-pds"]],[[17,27,"pl-c1"],[46,47,"pl-c1"],[52,95,"pl-s"],[52,53,"pl-pds"],[92,94,"pl-cce"],[94,95,"pl-pds"]],[[17,21,"pl-s"],[17,18,"pl-pds"],[20,21,"pl-pds"],[53,62,"pl-s"],[53,54,"pl-pds"],[61,62,"pl-pds"],[94,126,"pl-s"],[94,95,"pl-pds"],[125,126,"pl-pds"]],[[17,27,"pl-c1"],[46,47,"pl-c1"],[52,95,"pl-s"],[52,53,"pl-pds"],[92,94,"pl-cce"],[94,95,"pl-pds"]],[[17,21,"pl-s"],[17,18,"pl-pds"],[20,21,"pl-pds"],[53,62,"pl-s"],[53,54,"pl-pds"],[61,62,"pl-pds"],[94,126,"pl-s"],[94,95,"pl-pds"],[125,126,"pl-pds"]],[[17,27,"pl-c1"],[46,47,"pl-c1"],[52,84,"pl-s"],[52,53,"pl-pds"],[81,83,"pl-cce"],[83,84,"pl-pds"]],[[17,21,"pl-s"],[17,18,"pl-pds"],[20,21,"pl-pds"],[53,62,"pl-s"],[53,54,"pl-pds"],[61,62,"pl-pds"],[94,126,"pl-s"],[94,95,"pl-pds"],[125,126,"pl-pds"]],[[17,27,"pl-c1"],[46,47,"pl-c1"],[52,93,"pl-s"],[52,53,"pl-pds"],[90,92,"pl-cce"],[92,93,"pl-pds"]],[[17,21,"pl-s"],[17,18,"pl-pds"],[20,21,"pl-pds"],[53,62,"pl-s"],[53,54,"pl-pds"],[61,62,"pl-pds"],[94,126,"pl-s"],[94,95,"pl-pds"],[125,126,"pl-pds"]],[[17,27,"pl-c1"],[46,47,"pl-c1"],[52,94,"pl-s"],[52,53,"pl-pds"],[91,93,"pl-cce"],[93,94,"pl-pds"]],[[17,21,"pl-s"],[17,18,"pl-pds"],[20,21,"pl-pds"],[53,62,"pl-s"],[53,54,"pl-pds"],[61,62,"pl-pds"],[94,126,"pl-s"],[94,95,"pl-pds"],[125,126,"pl-pds"]],[[17,27,"pl-c1"],[46,47,"pl-c1"],[52,73,"pl-s"],[52,53,"pl-pds"],[70,72,"pl-cce"],[72,73,"pl-pds"]],[[17,21,"pl-s"],[17,18,"pl-pds"],[20,21,"pl-pds"],[53,62,"pl-s"],[53,54,"pl-pds"],[61,62,"pl-pds"],[94,126,"pl-s"],[94,95,"pl-pds"],[125,126,"pl-pds"]],[[17,27,"pl-c1"],[46,47,"pl-c1"],[52,94,"pl-s"],[52,53,"pl-pds"],[91,93,"pl-cce"],[93,94,"pl-pds"]],[[17,21,"pl-s"],[17,18,"pl-pds"],[20,21,"pl-pds"],[53,62,"pl-s"],[53,54,"pl-pds"],[61,62,"pl-pds"],[94,126,"pl-s"],[94,95,"pl-pds"],[125,126,"pl-pds"]],[[17,27,"pl-c1"],[46,47,"pl-c1"],[52,94,"pl-s"],[52,53,"pl-pds"],[91,93,"pl-cce"],[93,94,"pl-pds"]],[[17,21,"pl-s"],[17,18,"pl-pds"],[20,21,"pl-pds"],[53,62,"pl-s"],[53,54,"pl-pds"],[61,62,"pl-pds"],[94,126,"pl-s"],[94,95,"pl-pds"],[125,126,"pl-pds"]],[[17,27,"pl-c1"],[46,47,"pl-c1"],[52,92,"pl-s"],[52,53,"pl-pds"],[89,91,"pl-cce"],[91,92,"pl-pds"]],[[17,21,"pl-s"],[17,18,"pl-pds"],[20,21,"pl-pds"],[53,62,"pl-s"],[53,54,"pl-pds"],[61,62,"pl-pds"],[94,126,"pl-s"],[94,95,"pl-pds"],[125,126,"pl-pds"]],[[17,27,"pl-c1"],[46,47,"pl-c1"],[52,94,"pl-s"],[52,53,"pl-pds"],[91,93,"pl-cce"],[93,94,"pl-pds"]],[[17,21,"pl-s"],[17,18,"pl-pds"],[20,21,"pl-pds"],[53,62,"pl-s"],[53,54,"pl-pds"],[61,62,"pl-pds"],[94,126,"pl-s"],[94,95,"pl-pds"],[125,126,"pl-pds"]],[[17,27,"pl-c1"],[46,47,"pl-c1"],[52,96,"pl-s"],[52,53,"pl-pds"],[93,95,"pl-cce"],[95,96,"pl-pds"]],[[17,21,"pl-s"],[17,18,"pl-pds"],[20,21,"pl-pds"],[53,62,"pl-s"],[53,54,"pl-pds"],[61,62,"pl-pds"],[94,126,"pl-s"],[94,95,"pl-pds"],[125,126,"pl-pds"]],[[17,27,"pl-c1"],[46,47,"pl-c1"],[52,81,"pl-s"],[52,53,"pl-pds"],[78,80,"pl-cce"],[80,81,"pl-pds"]],[[17,21,"pl-s"],[17,18,"pl-pds"],[20,21,"pl-pds"],[53,62,"pl-s"],[53,54,"pl-pds"],[61,62,"pl-pds"],[94,126,"pl-s"],[94,95,"pl-pds"],[125,126,"pl-pds"]],[[17,27,"pl-c1"],[46,47,"pl-c1"],[52,89,"pl-s"],[52,53,"pl-pds"],[86,88,"pl-cce"],[88,89,"pl-pds"]],[[17,21,"pl-s"],[17,18,"pl-pds"],[20,21,"pl-pds"],[53,62,"pl-s"],[53,54,"pl-pds"],[61,62,"pl-pds"],[94,126,"pl-s"],[94,95,"pl-pds"],[125,126,"pl-pds"]],[[17,27,"pl-c1"],[46,47,"pl-c1"],[52,89,"pl-s"],[52,53,"pl-pds"],[86,88,"pl-cce"],[88,89,"pl-pds"]],[[17,21,"pl-s"],[17,18,"pl-pds"],[20,21,"pl-pds"],[53,62,"pl-s"],[53,54,"pl-pds"],[61,62,"pl-pds"],[94,126,"pl-s"],[94,95,"pl-pds"],[125,126,"pl-pds"]],[[17,27,"pl-c1"],[46,47,"pl-c1"],[52,92,"pl-s"],[52,53,"pl-pds"],[89,91,"pl-cce"],[91,92,"pl-pds"]],[[17,21,"pl-s"],[17,18,"pl-pds"],[20,21,"pl-pds"],[53,62,"pl-s"],[53,54,"pl-pds"],[61,62,"pl-pds"],[94,126,"pl-s"],[94,95,"pl-pds"],[125,126,"pl-pds"]],[[17,27,"pl-c1"],[46,47,"pl-c1"],[52,94,"pl-s"],[52,53,"pl-pds"],[91,93,"pl-cce"],[93,94,"pl-pds"]],[[17,21,"pl-s"],[17,18,"pl-pds"],[20,21,"pl-pds"],[53,62,"pl-s"],[53,54,"pl-pds"],[61,62,"pl-pds"],[94,126,"pl-s"],[94,95,"pl-pds"],[125,126,"pl-pds"]],[[17,27,"pl-c1"],[46,47,"pl-c1"],[52,93,"pl-s"],[52,53,"pl-pds"],[90,92,"pl-cce"],[92,93,"pl-pds"]],[[17,21,"pl-s"],[17,18,"pl-pds"],[20,21,"pl-pds"],[53,62,"pl-s"],[53,54,"pl-pds"],[61,62,"pl-pds"],[94,126,"pl-s"],[94,95,"pl-pds"],[125,126,"pl-pds"]],[[17,27,"pl-c1"],[46,47,"pl-c1"],[52,96,"pl-s"],[52,53,"pl-pds"],[93,95,"pl-cce"],[95,96,"pl-pds"]],[[12,103,"pl-c"],[12,14,"pl-c"]],[[12,30,"pl-c"],[12,14,"pl-c"]],[],[[32,46,"pl-s"],[32,33,"pl-pds"],[33,35,"pl-cce"],[45,46,"pl-pds"]],[[17,75,"pl-s"],[17,18,"pl-pds"],[70,74,"pl-cce"],[74,75,"pl-pds"]],[],[],[[8,12,"pl-k"],[13,37,"pl-en"]],[[12,24,"pl-c1"]],[[12,16,"pl-k"],[35,39,"pl-c1"],[42,47,"pl-k"],[72,77,"pl-k"],[78,82,"pl-k"]],[[16,18,"pl-k"],[29,33,"pl-c1"]],[[40,52,"pl-s"],[40,41,"pl-pds"],[51,52,"pl-pds"],[71,96,"pl-s"],[71,72,"pl-pds"],[95,96,"pl-pds"],[108,112,"pl-s"],[108,109,"pl-pds"],[109,111,"pl-cce"],[111,112,"pl-pds"]],[[20,23,"pl-k"],[24,28,"pl-k"]],[[29,41,"pl-s"],[29,30,"pl-pds"],[40,41,"pl-pds"],[45,54,"pl-c1"],[55,56,"pl-c1"],[66,71,"pl-smi"],[72,77,"pl-smi"]],[[29,38,"pl-s"],[29,30,"pl-pds"],[37,38,"pl-pds"],[47,52,"pl-smi"],[53,59,"pl-smi"],[63,67,"pl-s"],[63,64,"pl-pds"],[64,66,"pl-cce"],[66,67,"pl-pds"]],[],[],[[12,26,"pl-c1"],[27,39,"pl-c1"],[43,54,"pl-s"],[43,44,"pl-pds"],[53,54,"pl-pds"]],[[12,26,"pl-c1"],[27,39,"pl-c1"],[43,54,"pl-s"],[43,44,"pl-pds"],[53,54,"pl-pds"]],[],[],[[8,100,"pl-c"],[8,10,"pl-c"]],[[8,86,"pl-c"],[8,10,"pl-c"]],[[8,100,"pl-c"],[8,10,"pl-c"]],[],[[8,12,"pl-k"],[13,25,"pl-en"],[26,31,"pl-k"],[47,55,"pl-k"]],[[12,14,"pl-k"],[19,26,"pl-smi"]],[[16,28,"pl-c1"]],[[14,18,"pl-k"],[19,21,"pl-k"],[26,30,"pl-smi"]],[[16,25,"pl-c1"]],[[14,18,"pl-k"],[19,21,"pl-k"],[26,40,"pl-smi"]],[[16,40,"pl-c1"]],[[14,18,"pl-k"],[19,21,"pl-k"],[26,31,"pl-smi"],[39,54,"pl-smi"]],[[16,18,"pl-k"],[23,38,"pl-smi"]],[[40,52,"pl-s"],[40,41,"pl-pds"],[51,52,"pl-pds"]],[[25,56,"pl-s"],[25,26,"pl-pds"],[53,55,"pl-cce"],[55,56,"pl-pds"]],[[20,39,"pl-c1"]],[],[],[[16,19,"pl-k"],[20,28,"pl-k"],[33,34,"pl-c1"],[43,51,"pl-smi"]],[[43,47,"pl-smi"],[52,58,"pl-smi"],[62,66,"pl-s"],[62,63,"pl-pds"],[63,65,"pl-cce"],[65,66,"pl-pds"]],[],[[16,35,"pl-c1"]],[],[[36,48,"pl-s"],[36,37,"pl-pds"],[47,48,"pl-pds"]],[[21,73,"pl-s"],[21,22,"pl-pds"],[72,73,"pl-pds"]],[[27,53,"pl-smi"],[57,61,"pl-s"],[57,58,"pl-pds"],[58,60,"pl-cce"],[60,61,"pl-pds"]],[],[[14,18,"pl-k"],[19,21,"pl-k"],[26,42,"pl-smi"]],[[36,48,"pl-s"],[36,37,"pl-pds"],[47,48,"pl-pds"],[67,94,"pl-s"],[67,68,"pl-pds"],[91,93,"pl-cce"],[93,94,"pl-pds"]],[[16,35,"pl-c1"]],[],[[16,19,"pl-k"],[20,28,"pl-k"],[33,34,"pl-c1"],[43,51,"pl-smi"]],[[43,47,"pl-smi"],[52,64,"pl-smi"],[68,72,"pl-s"],[68,69,"pl-pds"],[69,71,"pl-cce"],[71,72,"pl-pds"]],[],[[16,35,"pl-c1"]],[],[[36,48,"pl-s"],[36,37,"pl-pds"],[47,48,"pl-pds"]],[[21,73,"pl-s"],[21,22,"pl-pds"],[72,73,"pl-pds"]],[[27,53,"pl-smi"],[57,61,"pl-s"],[57,58,"pl-pds"],[58,60,"pl-cce"],[60,61,"pl-pds"]],[[36,48,"pl-s"],[36,37,"pl-pds"],[47,48,"pl-pds"]],[[21,90,"pl-s"],[21,22,"pl-pds"],[89,90,"pl-pds"]],[[27,54,"pl-smi"],[58,62,"pl-s"],[58,59,"pl-pds"],[59,61,"pl-cce"],[61,62,"pl-pds"]],[],[],[],[[8,12,"pl-k"],[13,27,"pl-en"],[30,38,"pl-k"]],[[12,14,"pl-k"],[20,27,"pl-smi"]],[[16,26,"pl-c1"]],[],[],[[8,12,"pl-k"],[13,25,"pl-en"],[26,31,"pl-k"],[49,57,"pl-k"]],[[12,14,"pl-k"],[19,26,"pl-smi"],[32,50,"pl-smi"],[54,55,"pl-c1"]],[[16,22,"pl-k"]],[],[[12,31,"pl-c1"]],[],[],[[12,16,"pl-k"],[28,31,"pl-c1"],[32,41,"pl-c1"],[42,47,"pl-c1"],[48,59,"pl-k"],[60,66,"pl-k"],[68,76,"pl-c1"],[79,105,"pl-smi"],[107,118,"pl-k"],[119,127,"pl-k"],[131,141,"pl-smi"],[147,148,"pl-c1"]],[[12,16,"pl-k"],[29,32,"pl-c1"],[33,42,"pl-c1"],[43,48,"pl-c1"],[49,60,"pl-k"],[61,67,"pl-k"],[69,77,"pl-c1"],[80,106,"pl-smi"],[111,129,"pl-smi"],[131,142,"pl-k"],[143,151,"pl-k"],[155,165,"pl-smi"],[170,186,"pl-smi"],[192,193,"pl-c1"]],[[12,16,"pl-k"],[29,32,"pl-c1"],[33,42,"pl-c1"],[43,48,"pl-c1"],[49,60,"pl-k"],[61,67,"pl-k"],[69,77,"pl-c1"],[80,98,"pl-smi"],[100,111,"pl-k"],[112,120,"pl-k"],[124,140,"pl-smi"],[146,147,"pl-c1"]],[[12,17,"pl-k"],[18,22,"pl-k"],[42,60,"pl-smi"],[63,64,"pl-c1"],[70,86,"pl-smi"],[89,90,"pl-c1"]],[[32,44,"pl-s"],[32,33,"pl-pds"],[43,44,"pl-pds"],[63,77,"pl-s"],[63,64,"pl-pds"],[76,77,"pl-pds"],[81,90,"pl-c1"]],[[19,45,"pl-smi"],[49,54,"pl-s"],[49,50,"pl-pds"],[53,54,"pl-pds"]],[[21,47,"pl-smi"],[51,52,"pl-c1"]],[],[[17,26,"pl-c1"],[43,69,"pl-smi"],[74,92,"pl-smi"],[96,105,"pl-s"],[96,97,"pl-pds"],[104,105,"pl-pds"]],[[32,37,"pl-s"],[32,33,"pl-pds"],[36,37,"pl-pds"],[44,62,"pl-smi"],[65,66,"pl-c1"]],[[17,26,"pl-c1"],[43,61,"pl-smi"],[65,74,"pl-s"],[65,66,"pl-pds"],[73,74,"pl-pds"],[93,97,"pl-s"],[93,94,"pl-pds"],[96,97,"pl-pds"]],[[12,14,"pl-k"],[19,37,"pl-smi"],[41,46,"pl-c1"]],[[16,21,"pl-k"],[22,25,"pl-k"],[41,53,"pl-smi"],[58,84,"pl-smi"]],[[21,24,"pl-s"],[21,22,"pl-pds"],[23,24,"pl-pds"],[43,44,"pl-c1"]],[[21,31,"pl-s"],[21,22,"pl-pds"],[30,31,"pl-pds"]],[],[[17,21,"pl-s"],[17,18,"pl-pds"],[18,20,"pl-cce"],[20,21,"pl-pds"]],[[32,44,"pl-s"],[32,33,"pl-pds"],[43,44,"pl-pds"],[63,77,"pl-s"],[63,64,"pl-pds"],[76,77,"pl-pds"],[81,90,"pl-c1"]],[[19,29,"pl-smi"],[33,38,"pl-s"],[33,34,"pl-pds"],[37,38,"pl-pds"]],[[21,31,"pl-smi"],[35,36,"pl-c1"]],[[17,26,"pl-c1"],[44,54,"pl-smi"],[59,75,"pl-smi"],[80,89,"pl-s"],[80,81,"pl-pds"],[88,89,"pl-pds"]],[[17,22,"pl-s"],[17,18,"pl-pds"],[21,22,"pl-pds"],[29,45,"pl-smi"],[48,49,"pl-c1"],[81,90,"pl-c1"]],[[19,35,"pl-smi"],[39,48,"pl-s"],[39,40,"pl-pds"],[47,48,"pl-pds"],[67,73,"pl-s"],[67,68,"pl-pds"],[70,72,"pl-cce"],[72,73,"pl-pds"]],[[32,44,"pl-s"],[32,33,"pl-pds"],[43,44,"pl-pds"]],[[17,27,"pl-s"],[17,18,"pl-pds"],[26,27,"pl-pds"],[34,52,"pl-smi"],[55,56,"pl-c1"]],[[21,39,"pl-smi"],[42,43,"pl-c1"],[47,57,"pl-s"],[47,48,"pl-pds"],[56,57,"pl-pds"],[60,70,"pl-s"],[60,61,"pl-pds"],[69,70,"pl-pds"]],[],[],[[8,12,"pl-k"],[13,28,"pl-en"],[29,34,"pl-k"],[53,61,"pl-k"]],[[40,45,"pl-c1"]],[],[[26,31,"pl-c1"]],[[34,35,"pl-c1"]],[],[],[[8,12,"pl-k"],[13,30,"pl-en"],[31,36,"pl-k"],[52,60,"pl-k"]],[[26,31,"pl-c1"]],[],[],[[8,12,"pl-k"],[13,26,"pl-en"],[27,32,"pl-k"],[59,67,"pl-k"]],[[12,14,"pl-k"],[19,30,"pl-smi"]],[[16,22,"pl-k"]],[],[[12,75,"pl-c"],[12,14,"pl-c"]],[[12,77,"pl-c"],[12,14,"pl-c"]],[[12,14,"pl-k"],[19,27,"pl-smi"]],[[19,32,"pl-smi"],[39,52,"pl-smi"],[56,67,"pl-k"],[68,71,"pl-k"]],[[16,28,"pl-c1"]],[],[[12,14,"pl-k"],[19,27,"pl-smi"]],[[36,53,"pl-c1"],[54,55,"pl-c1"],[77,84,"pl-smi"]],[[21,27,"pl-s"],[21,22,"pl-pds"],[26,27,"pl-pds"],[35,41,"pl-smi"],[45,49,"pl-s"],[45,46,"pl-pds"],[46,48,"pl-cce"],[48,49,"pl-pds"]],[],[[12,14,"pl-k"],[18,31,"pl-smi"]],[[35,70,"pl-s"],[35,36,"pl-pds"],[69,70,"pl-pds"],[74,91,"pl-c1"],[92,93,"pl-c1"]],[[39,48,"pl-smi"],[52,57,"pl-s"],[52,53,"pl-pds"],[54,56,"pl-cce"],[56,57,"pl-pds"]],[],[[12,14,"pl-k"],[18,31,"pl-smi"]],[[35,91,"pl-s"],[35,36,"pl-pds"],[88,90,"pl-cce"],[90,91,"pl-pds"]],[[14,18,"pl-k"],[19,21,"pl-k"],[25,38,"pl-smi"]],[[38,88,"pl-s"],[38,39,"pl-pds"],[85,87,"pl-cce"],[87,88,"pl-pds"]],[[14,18,"pl-k"],[19,21,"pl-k"],[25,38,"pl-smi"]],[[38,85,"pl-s"],[38,39,"pl-pds"],[82,84,"pl-cce"],[84,85,"pl-pds"]],[[14,18,"pl-k"],[19,21,"pl-k"],[25,38,"pl-smi"]],[[35,57,"pl-s"],[35,36,"pl-pds"],[56,57,"pl-pds"],[65,84,"pl-smi"]],[[21,56,"pl-s"],[21,22,"pl-pds"],[53,55,"pl-cce"],[55,56,"pl-pds"]],[[14,18,"pl-k"],[19,21,"pl-k"],[25,38,"pl-smi"]],[[38,55,"pl-s"],[38,39,"pl-pds"],[54,55,"pl-pds"],[63,82,"pl-smi"]],[[21,72,"pl-s"],[21,22,"pl-pds"],[69,71,"pl-cce"],[71,72,"pl-pds"]],[],[[12,14,"pl-k"],[18,31,"pl-smi"]],[[35,74,"pl-s"],[35,36,"pl-pds"],[71,73,"pl-cce"],[73,74,"pl-pds"]],[],[[30,62,"pl-c"],[30,32,"pl-c"]],[],[],[[8,12,"pl-k"],[13,32,"pl-en"],[33,38,"pl-k"],[61,69,"pl-k"]],[[12,30,"pl-c1"]],[[12,14,"pl-k"],[19,30,"pl-smi"]],[[16,22,"pl-k"]],[],[[12,24,"pl-c1"]],[],[[12,31,"pl-c1"],[36,42,"pl-smi"],[43,48,"pl-c1"],[56,62,"pl-smi"],[64,67,"pl-s"],[64,65,"pl-pds"],[66,67,"pl-pds"]],[[12,46,"pl-c1"],[47,52,"pl-c1"],[56,64,"pl-smi"]],[],[[34,42,"pl-smi"],[45,66,"pl-s"],[45,46,"pl-pds"],[65,66,"pl-pds"],[69,98,"pl-s"],[69,70,"pl-pds"],[97,98,"pl-pds"]],[[34,46,"pl-smi"],[50,54,"pl-s"],[50,51,"pl-pds"],[51,53,"pl-cce"],[53,54,"pl-pds"]],[],[[12,15,"pl-k"],[43,71,"pl-c1"]],[[12,14,"pl-k"]],[[16,20,"pl-k"],[44,68,"pl-c1"]],[[36,48,"pl-s"],[36,37,"pl-pds"],[47,48,"pl-pds"]],[[16,19,"pl-k"],[20,23,"pl-k"],[58,59,"pl-c1"]],[[58,60,"pl-s"],[58,59,"pl-pds"],[59,60,"pl-pds"],[63,75,"pl-s"],[63,64,"pl-pds"],[74,75,"pl-pds"]],[[50,51,"pl-c1"],[56,60,"pl-s"],[56,57,"pl-pds"],[57,59,"pl-cce"],[59,60,"pl-pds"]],[],[],[[17,21,"pl-s"],[17,18,"pl-pds"],[18,20,"pl-cce"],[20,21,"pl-pds"]],[],[],[[8,12,"pl-k"],[13,26,"pl-en"],[27,32,"pl-k"],[57,65,"pl-k"]],[[26,35,"pl-c1"]],[],[[40,45,"pl-c1"]],[],[],[[8,12,"pl-k"],[13,24,"pl-en"],[27,35,"pl-k"]],[],[[40,45,"pl-c1"]],[],[],[[8,12,"pl-k"],[13,23,"pl-en"],[24,29,"pl-k"],[46,54,"pl-k"]],[[12,14,"pl-k"],[20,28,"pl-smi"],[37,44,"pl-smi"],[53,64,"pl-smi"]],[[16,22,"pl-k"]],[],[[12,30,"pl-c1"]],[],[[12,24,"pl-c1"]],[],[[12,31,"pl-c1"],[35,41,"pl-smi"],[46,52,"pl-smi"],[54,57,"pl-s"],[54,55,"pl-pds"],[56,57,"pl-pds"]],[[12,46,"pl-c1"],[51,59,"pl-smi"],[64,68,"pl-smi"]],[],[[12,41,"pl-c1"]],[],[[12,24,"pl-c1"]],[],[],[[8,12,"pl-k"],[13,24,"pl-en"],[25,30,"pl-k"],[48,56,"pl-k"]],[[12,14,"pl-k"],[19,30,"pl-smi"]],[[16,22,"pl-k"]],[],[[12,30,"pl-c1"]],[],[[12,24,"pl-c1"]],[],[[12,31,"pl-c1"],[35,41,"pl-smi"],[46,52,"pl-smi"],[54,57,"pl-s"],[54,55,"pl-pds"],[56,57,"pl-pds"]],[[17,38,"pl-c1"],[39,44,"pl-c1"],[49,59,"pl-smi"]],[[17,39,"pl-c1"],[43,53,"pl-smi"],[80,90,"pl-smi"]],[[40,49,"pl-s"],[40,41,"pl-pds"],[48,49,"pl-pds"],[54,58,"pl-s"],[54,55,"pl-pds"],[57,58,"pl-pds"]],[[35,43,"pl-smi"],[47,51,"pl-s"],[47,48,"pl-pds"],[48,50,"pl-cce"],[50,51,"pl-pds"]],[[12,24,"pl-c1"]],[],[],[[8,12,"pl-k"],[13,30,"pl-en"],[31,36,"pl-k"],[52,60,"pl-k"]],[],[],[[4,29,"pl-en"],[30,39,"pl-s"],[30,31,"pl-pds"],[38,39,"pl-pds"],[41,42,"pl-c1"]],[],[[1,6,"pl-k"]],[[4,10,"pl-k"],[11,36,"pl-en"],[39,45,"pl-k"],[46,61,"pl-en"]],[],[[29,35,"pl-k"]],[],[[8,33,"pl-en"],[34,39,"pl-k"]],[],[],[[1,7,"pl-k"],[8,46,"pl-en"],[47,62,"pl-v"]],[[4,8,"pl-k"],[9,13,"pl-en"],[24,32,"pl-k"]],[[8,12,"pl-k"]],[[24,29,"pl-c1"]],[[8,29,"pl-c1"]],[[8,10,"pl-k"],[15,20,"pl-c1"]],[[12,39,"pl-c1"],[44,47,"pl-c1"],[50,55,"pl-c1"]],[[16,19,"pl-c1"],[20,22,"pl-s"],[20,21,"pl-pds"],[21,22,"pl-pds"]],[],[],[],[],[[8,46,"pl-en"]],[[8,46,"pl-en"],[61,66,"pl-k"]],[[8,46,"pl-en"],[64,69,"pl-k"]],[[8,46,"pl-en"],[66,71,"pl-k"]],[[8,46,"pl-en"],[62,67,"pl-k"]],[[8,46,"pl-en"],[68,73,"pl-k"]],[[8,46,"pl-en"],[62,67,"pl-k"]],[[8,46,"pl-en"]],[[8,46,"pl-en"],[59,64,"pl-k"]],[[8,46,"pl-en"],[60,65,"pl-k"]],[[8,46,"pl-en"],[66,71,"pl-k"]],[],[],[],[[1,6,"pl-k"],[7,34,"pl-c"],[7,9,"pl-c"]],[],[[4,42,"pl-c"],[4,6,"pl-c"]],[[4,8,"pl-k"],[9,24,"pl-en"],[25,28,"pl-k"],[35,40,"pl-k"],[41,45,"pl-k"],[47,52,"pl-k"],[60,65,"pl-k"],[66,70,"pl-k"]],[[8,96,"pl-c"],[8,10,"pl-c"]],[[8,11,"pl-k"],[12,15,"pl-k"],[30,31,"pl-c1"]],[[12,16,"pl-k"],[17,22,"pl-c1"],[29,30,"pl-c1"]],[[12,16,"pl-k"],[24,35,"pl-c1"],[41,46,"pl-c1"]],[[12,14,"pl-k"],[33,39,"pl-c1"],[49,55,"pl-c1"],[69,110,"pl-c"],[69,71,"pl-c"]],[[16,85,"pl-c"],[16,18,"pl-c"]],[[16,20,"pl-k"],[39,43,"pl-c1"]],[[16,20,"pl-k"],[44,49,"pl-c1"]],[[16,21,"pl-k"]],[[20,22,"pl-k"],[34,37,"pl-s"],[34,35,"pl-pds"],[36,37,"pl-pds"]],[[42,47,"pl-c1"]],[[24,29,"pl-k"]],[],[],[[16,18,"pl-k"],[43,48,"pl-c1"],[50,51,"pl-c1"],[56,59,"pl-s"],[56,57,"pl-pds"],[58,59,"pl-pds"]],[[20,22,"pl-k"]],[[24,57,"pl-c"],[24,26,"pl-c"]],[[32,38,"pl-c1"]],[[24,29,"pl-k"],[30,38,"pl-k"],[45,51,"pl-c1"]],[[24,26,"pl-k"]],[],[[28,34,"pl-k"],[35,39,"pl-c1"]],[],[[22,26,"pl-k"]],[[24,49,"pl-c"],[24,26,"pl-c"]],[[24,30,"pl-k"],[31,35,"pl-c1"]],[],[],[],[],[[8,14,"pl-k"],[15,20,"pl-c1"]],[],[],[[4,70,"pl-c"],[4,6,"pl-c"]],[[4,8,"pl-k"],[9,20,"pl-en"],[21,24,"pl-k"],[31,36,"pl-k"],[37,41,"pl-k"],[43,48,"pl-k"],[56,61,"pl-k"],[62,66,"pl-k"],[93,100,"pl-c1"]],[[21,26,"pl-k"]],[[8,10,"pl-k"]],[],[[1,7,"pl-k"]],[[8,55,"pl-c"],[8,10,"pl-c"]],[[8,10,"pl-k"],[11,26,"pl-c1"],[49,55,"pl-c1"]],[[12,18,"pl-k"],[19,23,"pl-c1"]],[[1,6,"pl-k"],[7,46,"pl-c"],[7,9,"pl-c"]],[[8,14,"pl-k"],[15,30,"pl-c1"]],[],[],[[4,41,"pl-c"],[4,6,"pl-c"]],[[4,8,"pl-k"],[9,18,"pl-en"],[19,22,"pl-k"],[29,34,"pl-k"],[35,39,"pl-k"],[41,46,"pl-k"],[54,59,"pl-k"],[60,64,"pl-k"]],[[8,14,"pl-k"],[15,26,"pl-c1"]],[],[],[[4,93,"pl-c"],[4,6,"pl-c"]],[[4,8,"pl-k"],[9,26,"pl-en"],[27,30,"pl-k"],[37,42,"pl-k"],[43,47,"pl-k"],[49,54,"pl-k"],[62,67,"pl-k"],[68,72,"pl-k"]],[],[],[[8,10,"pl-k"],[11,22,"pl-c1"]],[[12,78,"pl-c"],[12,14,"pl-c"]],[],[[12,16,"pl-k"]],[[16,20,"pl-k"],[32,35,"pl-c1"]],[[16,18,"pl-k"],[26,30,"pl-c1"],[35,36,"pl-c1"]],[[24,33,"pl-c1"],[41,46,"pl-c1"]],[],[[18,21,"pl-c1"],[22,24,"pl-s"],[22,23,"pl-pds"],[23,24,"pl-pds"]],[],[],[[12,16,"pl-k"],[33,38,"pl-c1"]],[[12,17,"pl-k"],[18,22,"pl-k"],[48,53,"pl-c1"]],[[12,17,"pl-k"],[18,22,"pl-k"],[40,46,"pl-c1"]],[[12,17,"pl-k"]],[[16,20,"pl-k"]],[[16,18,"pl-k"]],[[36,41,"pl-c1"]],[[20,22,"pl-k"],[36,39,"pl-s"],[36,37,"pl-pds"],[38,39,"pl-pds"],[56,60,"pl-s"],[56,57,"pl-pds"],[57,59,"pl-cce"],[59,60,"pl-pds"]],[[26,29,"pl-c1"]],[[24,32,"pl-k"]],[],[[22,25,"pl-c1"],[26,30,"pl-s"],[26,27,"pl-pds"],[27,29,"pl-cce"],[29,30,"pl-pds"]],[],[[16,18,"pl-k"],[32,36,"pl-s"],[32,33,"pl-pds"],[33,35,"pl-cce"],[35,36,"pl-pds"]],[[36,40,"pl-c1"]],[[18,22,"pl-k"],[23,25,"pl-k"],[39,42,"pl-s"],[39,40,"pl-pds"],[41,42,"pl-pds"]],[[20,25,"pl-c1"]],[[18,22,"pl-k"]],[[22,25,"pl-c1"]],[],[],[],[[12,14,"pl-k"]],[[18,21,"pl-c1"],[22,26,"pl-s"],[22,23,"pl-pds"],[23,25,"pl-cce"],[25,26,"pl-pds"]],[],[[12,17,"pl-c1"]],[[12,18,"pl-k"],[19,23,"pl-c1"]],[],[[8,14,"pl-k"],[15,20,"pl-c1"]],[],[],[[4,8,"pl-k"]],[],[],[],[],[],[[4,54,"pl-c"],[4,6,"pl-c"]],[[4,8,"pl-k"],[9,23,"pl-en"],[24,27,"pl-k"],[34,39,"pl-k"],[40,44,"pl-k"],[46,51,"pl-k"],[59,64,"pl-k"],[65,69,"pl-k"]],[[24,27,"pl-k"]],[],[[8,10,"pl-k"],[12,23,"pl-c1"]],[[12,18,"pl-k"],[19,24,"pl-c1"]],[],[[8,10,"pl-k"]],[[12,22,"pl-c"],[12,14,"pl-c"]],[[12,138,"pl-c"],[12,14,"pl-c"]],[[12,15,"pl-k"],[25,34,"pl-c1"],[47,52,"pl-c1"]],[[12,14,"pl-k"],[26,27,"pl-c1"]],[[30,62,"pl-c"],[30,32,"pl-c"]],[[16,22,"pl-k"],[23,27,"pl-c1"]],[],[[10,14,"pl-k"]],[[12,22,"pl-c"],[12,14,"pl-c"]],[[12,17,"pl-k"],[18,22,"pl-k"],[34,35,"pl-c1"],[41,44,"pl-s"],[41,42,"pl-pds"],[43,44,"pl-pds"],[46,52,"pl-s"],[46,47,"pl-pds"],[51,52,"pl-pds"],[54,58,"pl-s"],[54,55,"pl-pds"],[57,58,"pl-pds"],[60,65,"pl-s"],[60,61,"pl-pds"],[64,65,"pl-pds"],[70,95,"pl-c"],[70,72,"pl-c"]],[[12,17,"pl-k"],[18,22,"pl-k"],[34,35,"pl-c1"],[41,44,"pl-s"],[41,42,"pl-pds"],[43,44,"pl-pds"],[46,53,"pl-s"],[46,47,"pl-pds"],[52,53,"pl-pds"],[55,60,"pl-s"],[55,56,"pl-pds"],[59,60,"pl-pds"],[62,66,"pl-s"],[62,63,"pl-pds"],[65,66,"pl-pds"],[70,96,"pl-c"],[70,72,"pl-c"]],[],[[12,78,"pl-c"],[12,14,"pl-c"]],[[12,15,"pl-k"],[17,25,"pl-k"],[30,31,"pl-c1"],[37,38,"pl-c1"]],[[16,18,"pl-k"],[32,39,"pl-c1"],[53,57,"pl-c1"],[62,63,"pl-c1"]],[[26,27,"pl-c1"],[29,61,"pl-c"],[29,31,"pl-c"]],[[20,26,"pl-k"],[27,31,"pl-c1"]],[],[[16,18,"pl-k"],[32,39,"pl-c1"],[53,57,"pl-c1"],[62,63,"pl-c1"]],[[26,27,"pl-c1"],[29,61,"pl-c"],[29,31,"pl-c"]],[[20,26,"pl-k"],[27,31,"pl-c1"]],[],[],[],[[8,14,"pl-k"],[15,20,"pl-c1"]],[],[[2,14,"pl-c"],[2,4,"pl-c"]],[],[[0,16,"pl-c1"],[17,20,"pl-k"],[27,32,"pl-k"],[33,37,"pl-k"],[39,44,"pl-k"]],[[10,11,"pl-c1"],[12,15,"pl-k"]],[[4,13,"pl-c1"],[26,30,"pl-c1"]],[[4,6,"pl-k"]],[[11,22,"pl-smi"],[30,31,"pl-c1"]],[],[],[[0,17,"pl-en"]],[[4,6,"pl-k"]],[[15,22,"pl-c1"]],[[4,10,"pl-k"]],[],[],[[0,4,"pl-k"],[5,30,"pl-smi"],[31,34,"pl-k"],[41,46,"pl-k"],[47,51,"pl-k"],[53,58,"pl-k"]],[[4,13,"pl-c1"]],[[4,6,"pl-k"]],[[11,22,"pl-smi"],[30,31,"pl-c1"]],[],[],[[0,14,"pl-c"],[0,2,"pl-c"]],[[0,4,"pl-k"],[5,23,"pl-smi"],[24,27,"pl-k"],[34,39,"pl-k"],[40,44,"pl-k"],[46,51,"pl-k"],[59,63,"pl-k"]],[[4,9,"pl-k"],[10,19,"pl-k"],[20,26,"pl-en"],[26,27,"pl-k"]],[],[[4,23,"pl-c"],[4,6,"pl-c"]],[[4,21,"pl-c1"],[64,78,"pl-s"],[64,65,"pl-pds"],[77,78,"pl-pds"],[90,97,"pl-smi"],[98,99,"pl-c1"]],[[4,21,"pl-c1"],[64,69,"pl-s"],[64,65,"pl-pds"],[68,69,"pl-pds"],[90,97,"pl-smi"],[98,99,"pl-c1"]],[[4,21,"pl-c1"],[64,86,"pl-s"],[64,65,"pl-pds"],[85,86,"pl-pds"],[90,97,"pl-smi"],[98,99,"pl-c1"]],[[4,21,"pl-c1"],[64,70,"pl-s"],[64,65,"pl-pds"],[69,70,"pl-pds"],[90,97,"pl-smi"],[98,99,"pl-c1"]],[[4,21,"pl-c1"],[64,77,"pl-s"],[64,65,"pl-pds"],[76,77,"pl-pds"],[90,97,"pl-smi"],[98,99,"pl-c1"]],[[4,21,"pl-c1"],[64,69,"pl-s"],[64,65,"pl-pds"],[68,69,"pl-pds"],[90,97,"pl-smi"],[98,99,"pl-c1"]],[[4,21,"pl-c1"],[64,85,"pl-s"],[64,65,"pl-pds"],[84,85,"pl-pds"],[90,97,"pl-smi"],[98,99,"pl-c1"]],[[4,21,"pl-c1"],[64,70,"pl-s"],[64,65,"pl-pds"],[69,70,"pl-pds"],[90,97,"pl-smi"],[98,99,"pl-c1"]],[[4,21,"pl-c1"],[64,76,"pl-s"],[64,65,"pl-pds"],[75,76,"pl-pds"],[90,97,"pl-smi"],[98,99,"pl-c1"]],[[4,21,"pl-c1"],[64,69,"pl-s"],[64,65,"pl-pds"],[68,69,"pl-pds"],[90,97,"pl-smi"],[98,99,"pl-c1"]],[[4,21,"pl-c1"],[64,84,"pl-s"],[64,65,"pl-pds"],[83,84,"pl-pds"],[90,97,"pl-smi"],[98,99,"pl-c1"]],[[4,21,"pl-c1"],[64,70,"pl-s"],[64,65,"pl-pds"],[69,70,"pl-pds"],[90,97,"pl-smi"],[98,99,"pl-c1"]],[[4,21,"pl-c1"],[64,74,"pl-s"],[64,65,"pl-pds"],[73,74,"pl-pds"],[90,97,"pl-smi"],[98,99,"pl-c1"]],[[4,21,"pl-c1"],[64,69,"pl-s"],[64,65,"pl-pds"],[68,69,"pl-pds"],[90,97,"pl-smi"],[98,99,"pl-c1"]],[[4,21,"pl-c1"],[64,82,"pl-s"],[64,65,"pl-pds"],[81,82,"pl-pds"],[90,97,"pl-smi"],[98,99,"pl-c1"]],[[4,21,"pl-c1"],[64,70,"pl-s"],[64,65,"pl-pds"],[69,70,"pl-pds"],[90,97,"pl-smi"],[98,99,"pl-c1"]],[[4,21,"pl-c1"],[64,76,"pl-s"],[64,65,"pl-pds"],[75,76,"pl-pds"],[90,97,"pl-smi"],[98,99,"pl-c1"]],[[4,21,"pl-c1"],[64,68,"pl-s"],[64,65,"pl-pds"],[67,68,"pl-pds"],[90,97,"pl-smi"],[98,99,"pl-c1"]],[[4,22,"pl-c"],[4,6,"pl-c"]],[],[[4,7,"pl-k"],[20,21,"pl-c1"]],[],[],[[1,7,"pl-k"],[8,37,"pl-en"],[38,63,"pl-v"]],[[4,6,"pl-k"],[7,21,"pl-c1"],[69,72,"pl-s"],[69,70,"pl-pds"],[71,72,"pl-pds"]],[[7,21,"pl-c1"],[70,73,"pl-s"],[70,71,"pl-pds"],[72,73,"pl-pds"]],[[11,14,"pl-smi"],[17,28,"pl-k"],[29,33,"pl-k"]],[[4,8,"pl-k"],[9,11,"pl-k"],[12,21,"pl-c1"]],[[12,21,"pl-c1"]],[[11,14,"pl-smi"],[17,21,"pl-c1"]],[[4,8,"pl-k"],[9,11,"pl-k"]],[[7,10,"pl-smi"],[13,20,"pl-k"]],[],[[1,7,"pl-k"],[8,32,"pl-en"],[33,58,"pl-v"]],[[4,6,"pl-k"],[7,21,"pl-c1"],[69,72,"pl-s"],[69,70,"pl-pds"],[71,72,"pl-pds"]],[[7,21,"pl-c1"],[70,73,"pl-s"],[70,71,"pl-pds"],[72,73,"pl-pds"]],[[11,14,"pl-smi"]],[[4,8,"pl-k"],[9,11,"pl-k"]],[[7,10,"pl-smi"],[13,20,"pl-k"]],[],[[1,7,"pl-k"],[8,32,"pl-en"],[33,58,"pl-v"]],[[4,6,"pl-k"],[7,18,"pl-c1"],[66,69,"pl-s"],[66,67,"pl-pds"],[68,69,"pl-pds"],[80,87,"pl-k"]],[[7,18,"pl-c1"],[67,70,"pl-s"],[67,68,"pl-pds"],[69,70,"pl-pds"],[81,88,"pl-k"]],[],[[7,10,"pl-smi"]],[],[[4,23,"pl-c"],[4,6,"pl-c"]],[[4,28,"pl-c1"],[29,34,"pl-s"],[29,30,"pl-pds"],[33,34,"pl-pds"],[36,39,"pl-s"],[36,37,"pl-pds"],[38,39,"pl-pds"],[46,48,"pl-s"],[46,47,"pl-pds"],[47,48,"pl-pds"]],[[4,28,"pl-c1"],[29,39,"pl-s"],[29,30,"pl-pds"],[38,39,"pl-pds"],[41,45,"pl-s"],[41,42,"pl-pds"],[44,45,"pl-pds"],[57,63,"pl-s"],[57,58,"pl-pds"],[62,63,"pl-pds"]],[[4,28,"pl-c1"],[29,40,"pl-s"],[29,30,"pl-pds"],[39,40,"pl-pds"],[42,46,"pl-s"],[42,43,"pl-pds"],[45,46,"pl-pds"],[59,60,"pl-c1"]],[],[[4,28,"pl-c1"],[29,36,"pl-s"],[29,30,"pl-pds"],[35,36,"pl-pds"],[38,41,"pl-s"],[38,39,"pl-pds"],[40,41,"pl-pds"],[50,51,"pl-c1"]],[[4,28,"pl-c1"],[29,35,"pl-s"],[29,30,"pl-pds"],[34,35,"pl-pds"],[37,40,"pl-s"],[37,38,"pl-pds"],[39,40,"pl-pds"]],[],[[4,28,"pl-c1"],[29,42,"pl-s"],[29,30,"pl-pds"],[41,42,"pl-pds"],[44,48,"pl-s"],[44,45,"pl-pds"],[47,48,"pl-pds"],[63,64,"pl-c1"]],[[4,28,"pl-c1"],[29,52,"pl-s"],[29,30,"pl-pds"],[51,52,"pl-pds"],[54,60,"pl-s"],[54,55,"pl-pds"],[59,60,"pl-pds"]],[],[[4,33,"pl-c1"],[34,43,"pl-s"],[34,35,"pl-pds"],[42,43,"pl-pds"],[45,48,"pl-s"],[45,46,"pl-pds"],[47,48,"pl-pds"],[59,64,"pl-c1"]],[[4,33,"pl-c1"],[34,50,"pl-s"],[34,35,"pl-pds"],[49,50,"pl-pds"],[52,56,"pl-s"],[52,53,"pl-pds"],[55,56,"pl-pds"],[74,79,"pl-c1"]],[[4,33,"pl-c1"],[34,40,"pl-s"],[34,35,"pl-pds"],[39,40,"pl-pds"],[42,45,"pl-s"],[42,43,"pl-pds"],[44,45,"pl-pds"],[47,51,"pl-c1"],[53,58,"pl-c1"]],[[4,33,"pl-c1"],[34,44,"pl-s"],[34,35,"pl-pds"],[43,44,"pl-pds"],[46,49,"pl-s"],[46,47,"pl-pds"],[48,49,"pl-pds"],[61,66,"pl-c1"]],[[4,33,"pl-c1"],[34,43,"pl-s"],[34,35,"pl-pds"],[42,43,"pl-pds"],[45,48,"pl-s"],[45,46,"pl-pds"],[47,48,"pl-pds"],[59,64,"pl-c1"]],[[4,33,"pl-c1"],[34,41,"pl-s"],[34,35,"pl-pds"],[40,41,"pl-pds"],[43,46,"pl-s"],[43,44,"pl-pds"],[45,46,"pl-pds"],[55,60,"pl-c1"]],[[4,33,"pl-c1"],[34,44,"pl-s"],[34,35,"pl-pds"],[43,44,"pl-pds"],[46,50,"pl-s"],[46,47,"pl-pds"],[49,50,"pl-pds"],[62,67,"pl-c1"]],[[4,33,"pl-c1"],[34,47,"pl-s"],[34,35,"pl-pds"],[46,47,"pl-pds"],[49,53,"pl-s"],[49,50,"pl-pds"],[52,53,"pl-pds"],[68,73,"pl-c1"]],[[4,33,"pl-c1"],[34,42,"pl-s"],[34,35,"pl-pds"],[41,42,"pl-pds"],[44,48,"pl-s"],[44,45,"pl-pds"],[47,48,"pl-pds"],[58,63,"pl-c1"]],[[4,33,"pl-c1"],[34,44,"pl-s"],[34,35,"pl-pds"],[43,44,"pl-pds"],[46,50,"pl-s"],[46,47,"pl-pds"],[49,50,"pl-pds"],[62,67,"pl-c1"]],[[4,33,"pl-c1"],[34,46,"pl-s"],[34,35,"pl-pds"],[45,46,"pl-pds"],[48,52,"pl-s"],[48,49,"pl-pds"],[51,52,"pl-pds"],[66,71,"pl-c1"]],[[4,33,"pl-c1"],[34,45,"pl-s"],[34,35,"pl-pds"],[44,45,"pl-pds"],[47,51,"pl-s"],[47,48,"pl-pds"],[50,51,"pl-pds"],[64,69,"pl-c1"]],[[4,33,"pl-c1"],[34,48,"pl-s"],[34,35,"pl-pds"],[47,48,"pl-pds"],[50,54,"pl-s"],[50,51,"pl-pds"],[53,54,"pl-pds"],[70,75,"pl-c1"]],[[4,33,"pl-c1"],[34,45,"pl-s"],[34,35,"pl-pds"],[44,45,"pl-pds"],[47,51,"pl-s"],[47,48,"pl-pds"],[50,51,"pl-pds"],[64,69,"pl-c1"]],[[4,33,"pl-c1"],[34,43,"pl-s"],[34,35,"pl-pds"],[42,43,"pl-pds"],[45,49,"pl-s"],[45,46,"pl-pds"],[48,49,"pl-pds"],[60,65,"pl-c1"]],[[4,33,"pl-c1"],[34,49,"pl-s"],[34,35,"pl-pds"],[48,49,"pl-pds"],[51,56,"pl-s"],[51,52,"pl-pds"],[55,56,"pl-pds"],[74,78,"pl-c1"]],[[4,33,"pl-c1"],[34,53,"pl-s"],[34,35,"pl-pds"],[52,53,"pl-pds"],[55,60,"pl-s"],[55,56,"pl-pds"],[59,60,"pl-pds"],[84,89,"pl-c1"]],[[4,33,"pl-c1"],[34,51,"pl-s"],[34,35,"pl-pds"],[50,51,"pl-pds"],[53,58,"pl-s"],[53,54,"pl-pds"],[57,58,"pl-pds"],[77,82,"pl-c1"]],[[4,33,"pl-c1"],[34,51,"pl-s"],[34,35,"pl-pds"],[50,51,"pl-pds"],[53,58,"pl-s"],[53,54,"pl-pds"],[57,58,"pl-pds"],[77,82,"pl-c1"]],[[4,33,"pl-c1"],[34,54,"pl-s"],[34,35,"pl-pds"],[53,54,"pl-pds"],[56,61,"pl-s"],[56,57,"pl-pds"],[60,61,"pl-pds"],[83,88,"pl-c1"]],[[4,33,"pl-c1"],[34,53,"pl-s"],[34,35,"pl-pds"],[52,53,"pl-pds"],[55,61,"pl-s"],[55,56,"pl-pds"],[60,61,"pl-pds"],[82,87,"pl-c1"]],[[4,22,"pl-c"],[4,6,"pl-c"]],[],[[4,6,"pl-k"]],[[11,15,"pl-smi"],[30,35,"pl-c1"]],[[11,18,"pl-smi"],[30,35,"pl-c1"]],[[11,16,"pl-smi"],[30,35,"pl-c1"]],[[11,26,"pl-smi"],[30,35,"pl-c1"]],[[11,27,"pl-smi"],[30,35,"pl-c1"]],[[11,25,"pl-smi"],[30,35,"pl-c1"]],[],[[4,6,"pl-k"],[7,16,"pl-c1"],[59,65,"pl-s"],[59,60,"pl-pds"],[64,65,"pl-pds"]],[[7,16,"pl-c1"],[59,62,"pl-s"],[59,60,"pl-pds"],[61,62,"pl-pds"]],[[7,16,"pl-c1"],[59,62,"pl-s"],[59,60,"pl-pds"],[61,62,"pl-pds"]],[[11,15,"pl-smi"],[18,22,"pl-c1"]],[[11,15,"pl-smi"],[18,22,"pl-c1"]],[],[[4,6,"pl-k"],[7,16,"pl-c1"],[59,68,"pl-s"],[59,60,"pl-pds"],[67,68,"pl-pds"]],[[7,16,"pl-c1"],[59,62,"pl-s"],[59,60,"pl-pds"],[61,62,"pl-pds"]],[[11,18,"pl-smi"],[21,25,"pl-c1"]],[[11,15,"pl-smi"],[21,25,"pl-c1"]],[],[[4,6,"pl-k"],[7,16,"pl-c1"],[59,66,"pl-s"],[59,60,"pl-pds"],[65,66,"pl-pds"]],[[7,16,"pl-c1"],[59,62,"pl-s"],[59,60,"pl-pds"],[61,62,"pl-pds"]],[[11,16,"pl-smi"],[19,23,"pl-c1"]],[[11,15,"pl-smi"],[19,23,"pl-c1"]],[],[[4,6,"pl-k"],[7,16,"pl-c1"],[59,76,"pl-s"],[59,60,"pl-pds"],[75,76,"pl-pds"]],[[7,16,"pl-c1"],[59,64,"pl-s"],[59,60,"pl-pds"],[63,64,"pl-pds"]],[[11,26,"pl-smi"],[29,33,"pl-c1"]],[[11,15,"pl-smi"],[29,33,"pl-c1"]],[],[[4,6,"pl-k"],[7,16,"pl-c1"],[59,77,"pl-s"],[59,60,"pl-pds"],[76,77,"pl-pds"]],[[7,16,"pl-c1"],[59,64,"pl-s"],[59,60,"pl-pds"],[63,64,"pl-pds"]],[[11,27,"pl-smi"],[30,34,"pl-c1"]],[[11,15,"pl-smi"],[30,34,"pl-c1"]],[],[[4,6,"pl-k"],[7,16,"pl-c1"],[59,75,"pl-s"],[59,60,"pl-pds"],[74,75,"pl-pds"]],[[7,16,"pl-c1"],[59,63,"pl-s"],[59,60,"pl-pds"],[62,63,"pl-pds"]],[[11,25,"pl-smi"],[28,32,"pl-c1"]],[[11,15,"pl-smi"],[28,32,"pl-c1"]],[],[],[],[[0,75,"pl-c"],[0,2,"pl-c"]],[[0,4,"pl-k"],[5,23,"pl-smi"],[24,29,"pl-k"],[30,34,"pl-k"],[44,49,"pl-k"],[50,54,"pl-k"],[65,74,"pl-c1"]],[],[[0,61,"pl-c"],[0,2,"pl-c"]],[[0,4,"pl-k"],[5,26,"pl-smi"]],[[4,7,"pl-k"],[8,12,"pl-k"],[24,31,"pl-smi"]],[[13,18,"pl-c1"]],[],[],[[0,82,"pl-c"],[0,2,"pl-c"]],[[0,4,"pl-k"],[5,23,"pl-smi"],[24,29,"pl-k"],[30,34,"pl-k"],[44,48,"pl-k"]],[[4,13,"pl-c1"],[30,36,"pl-s"],[30,31,"pl-pds"],[35,36,"pl-pds"],[39,46,"pl-s"],[39,40,"pl-pds"],[45,46,"pl-pds"]],[],[],[[0,81,"pl-c"],[0,2,"pl-c"]],[[0,4,"pl-k"],[5,23,"pl-smi"],[24,29,"pl-k"],[30,34,"pl-k"],[44,47,"pl-k"]],[[4,13,"pl-c1"],[22,30,"pl-c1"],[38,43,"pl-c1"]],[],[],[[0,84,"pl-c"],[0,2,"pl-c"]],[[0,4,"pl-k"],[5,23,"pl-smi"],[24,29,"pl-k"],[30,34,"pl-k"],[44,49,"pl-k"],[50,54,"pl-k"]],[[4,8,"pl-k"],[18,24,"pl-c1"],[25,28,"pl-s"],[25,26,"pl-pds"],[27,28,"pl-pds"],[41,44,"pl-s"],[41,42,"pl-pds"],[43,44,"pl-pds"]],[[4,8,"pl-k"],[23,28,"pl-c1"]],[[4,13,"pl-c1"],[14,15,"pl-c1"]],[],[],[[0,71,"pl-c"],[0,2,"pl-c"]],[[0,4,"pl-k"],[5,24,"pl-smi"],[29,35,"pl-k"],[39,43,"pl-smi"]],[],[[0,4,"pl-k"],[5,50,"pl-smi"]],[],[[0,4,"pl-k"],[5,30,"pl-smi"],[63,65,"pl-smi"]],[],[[0,4,"pl-k"],[5,21,"pl-smi"],[46,50,"pl-smi"]],[],[[0,6,"pl-k"],[7,12,"pl-k"],[13,27,"pl-en"],[30,36,"pl-k"],[37,40,"pl-en"]],[],[[0,8,"pl-k"]],[[4,9,"pl-k"],[12,18,"pl-k"],[19,22,"pl-en"]],[],[[4,12,"pl-k"]],[[8,76,"pl-c"],[8,10,"pl-c"]],[[8,12,"pl-k"],[17,21,"pl-c1"]],[],[[4,14,"pl-k"]],[[24,30,"pl-en"],[31,36,"pl-k"],[72,80,"pl-k"],[83,89,"pl-k"]],[],[[17,25,"pl-en"],[39,47,"pl-k"]],[[12,16,"pl-c1"],[17,27,"pl-c1"],[34,42,"pl-c1"]],[[12,18,"pl-k"],[19,39,"pl-c1"]],[],[],[],[[0,7,"pl-k"]],[[4,18,"pl-en"]],[],[],[],[[0,65,"pl-c"],[0,2,"pl-c"]],[[0,3,"pl-k"],[4,16,"pl-smi"]],[[4,9,"pl-k"],[10,19,"pl-k"],[20,26,"pl-en"],[26,27,"pl-k"]],[],[[4,101,"pl-c"],[4,6,"pl-c"]],[[4,8,"pl-k"]],[[4,34,"pl-c"],[4,6,"pl-c"]],[],[[25,29,"pl-c1"]],[],[[21,30,"pl-smi"]],[[7,19,"pl-c1"]],[],[],[[4,6,"pl-k"],[10,14,"pl-smi"],[18,25,"pl-c1"]],[[8,10,"pl-k"],[14,19,"pl-smi"]],[[15,19,"pl-smi"]],[[10,14,"pl-k"],[15,17,"pl-k"],[21,24,"pl-smi"],[25,29,"pl-c1"]],[[12,37,"pl-c"],[12,14,"pl-c"]],[[17,21,"pl-c1"],[25,28,"pl-smi"],[29,34,"pl-c1"]],[[15,19,"pl-smi"]],[[10,14,"pl-k"]],[[1,7,"pl-k"]],[[12,32,"pl-c"],[12,14,"pl-c"]],[[15,19,"pl-smi"]],[[1,5,"pl-k"],[6,43,"pl-c"],[6,8,"pl-c"]],[[12,18,"pl-k"]],[[1,6,"pl-k"],[7,44,"pl-c"],[7,9,"pl-c"]],[],[],[],[[4,46,"pl-c1"]],[],[[4,8,"pl-k"]],[[8,46,"pl-c1"]],[],[[8,10,"pl-k"],[16,23,"pl-c1"]],[[17,22,"pl-c1"]],[],[[8,26,"pl-c"],[8,10,"pl-c"]],[],[[29,34,"pl-c1"]],[],[[8,82,"pl-c"],[8,10,"pl-c"]],[[8,11,"pl-k"],[12,16,"pl-k"],[28,52,"pl-smi"]],[[12,18,"pl-k"]],[[11,35,"pl-smi"],[36,41,"pl-c1"]],[],[[8,10,"pl-k"],[14,32,"pl-smi"],[40,51,"pl-smi"]],[[12,18,"pl-k"]],[[8,14,"pl-k"]],[],[],[[4,71,"pl-c"],[4,6,"pl-c"]],[[4,6,"pl-k"],[10,17,"pl-smi"],[18,19,"pl-c1"],[21,26,"pl-c1"]],[[11,18,"pl-smi"],[19,20,"pl-c1"],[22,31,"pl-c1"],[32,41,"pl-s"],[32,33,"pl-pds"],[40,41,"pl-pds"]],[],[[4,72,"pl-c"],[4,6,"pl-c"]],[[4,7,"pl-k"],[8,12,"pl-k"],[21,33,"pl-c1"]],[[8,10,"pl-k"],[11,21,"pl-c1"],[27,32,"pl-smi"],[33,39,"pl-smi"],[40,45,"pl-c1"],[52,59,"pl-smi"],[60,61,"pl-c1"],[64,69,"pl-c1"],[74,88,"pl-smi"]],[[15,39,"pl-smi"],[40,49,"pl-c1"],[55,61,"pl-c1"]],[],[],[[4,66,"pl-c"],[4,6,"pl-c"]],[],[[4,28,"pl-c"],[4,6,"pl-c"]],[[4,7,"pl-k"],[8,12,"pl-k"],[21,33,"pl-c1"]],[[11,35,"pl-smi"],[36,42,"pl-c1"],[46,70,"pl-smi"],[71,76,"pl-c1"],[85,91,"pl-c1"]],[],[[1,6,"pl-k"]],[[4,6,"pl-k"],[7,23,"pl-c1"],[32,47,"pl-smi"],[51,56,"pl-c1"]],[[11,35,"pl-smi"],[36,45,"pl-c1"],[46,49,"pl-k"],[50,75,"pl-c1"]],[[1,6,"pl-k"],[7,34,"pl-c"],[7,9,"pl-c"]],[],[[4,38,"pl-c"],[4,6,"pl-c"]],[[4,6,"pl-k"],[10,16,"pl-smi"],[23,30,"pl-smi"],[37,41,"pl-smi"],[48,62,"pl-smi"]],[[8,41,"pl-c1"],[56,65,"pl-c1"]],[],[[8,14,"pl-k"],[15,33,"pl-c1"]],[],[],[[16,21,"pl-k"]],[[4,7,"pl-k"],[8,12,"pl-k"],[21,39,"pl-c1"]],[[18,27,"pl-c1"]],[[7,19,"pl-smi"],[32,36,"pl-c1"]],[],[[4,33,"pl-c"],[4,6,"pl-c"]],[[4,6,"pl-k"],[18,23,"pl-c1"]],[[8,10,"pl-k"],[14,22,"pl-smi"],[23,30,"pl-c1"],[31,37,"pl-s"],[31,32,"pl-pds"],[36,37,"pl-pds"],[39,43,"pl-c1"],[48,49,"pl-c1"]],[[12,21,"pl-c1"],[32,37,"pl-c1"],[51,54,"pl-c1"]],[[10,14,"pl-k"],[15,17,"pl-k"],[21,29,"pl-smi"],[30,37,"pl-c1"],[38,45,"pl-s"],[38,39,"pl-pds"],[44,45,"pl-pds"],[47,51,"pl-c1"],[56,57,"pl-c1"]],[[12,21,"pl-c1"],[32,37,"pl-c1"],[51,54,"pl-c1"]],[[10,14,"pl-k"],[15,17,"pl-k"],[21,29,"pl-smi"],[30,37,"pl-c1"],[38,44,"pl-s"],[38,39,"pl-pds"],[43,44,"pl-pds"],[46,50,"pl-c1"],[55,56,"pl-c1"]],[[12,21,"pl-c1"],[32,37,"pl-c1"],[51,54,"pl-c1"]],[[10,14,"pl-k"],[15,17,"pl-k"],[21,29,"pl-smi"],[30,37,"pl-c1"],[38,44,"pl-s"],[38,39,"pl-pds"],[43,44,"pl-pds"],[46,50,"pl-c1"],[55,56,"pl-c1"]],[[12,22,"pl-c1"],[26,35,"pl-smi"]],[],[[12,44,"pl-c"],[12,14,"pl-c"]],[[12,17,"pl-k"],[18,22,"pl-k"],[42,43,"pl-c1"]],[[12,15,"pl-k"],[16,22,"pl-c1"],[37,41,"pl-c1"],[46,47,"pl-c1"],[53,54,"pl-c1"]],[[16,19,"pl-k"],[32,41,"pl-c1"],[51,52,"pl-c1"]],[],[[16,21,"pl-k"],[22,26,"pl-k"]],[],[],[],[],[[10,14,"pl-k"],[15,17,"pl-k"],[21,29,"pl-smi"],[30,37,"pl-c1"],[38,44,"pl-s"],[38,39,"pl-pds"],[43,44,"pl-pds"],[46,50,"pl-c1"],[55,56,"pl-c1"]],[[12,91,"pl-c"],[12,14,"pl-c"]],[[12,95,"pl-c"],[12,14,"pl-c"]],[],[],[],[],[],[[4,8,"pl-k"],[53,58,"pl-smi"],[65,80,"pl-smi"],[87,103,"pl-smi"]],[[16,21,"pl-k"]],[],[[4,6,"pl-k"]],[[8,41,"pl-c1"]],[],[[4,93,"pl-c"],[4,6,"pl-c"]],[[4,7,"pl-k"],[8,12,"pl-k"]],[[8,13,"pl-k"],[14,18,"pl-k"]],[],[[8,12,"pl-k"],[23,28,"pl-c1"]],[[8,10,"pl-k"],[14,20,"pl-smi"],[28,35,"pl-smi"]],[[22,26,"pl-c1"]],[],[[8,10,"pl-k"],[12,22,"pl-c1"],[26,32,"pl-smi"],[33,38,"pl-c1"],[45,52,"pl-smi"],[53,54,"pl-c1"],[57,61,"pl-c1"],[66,80,"pl-smi"]],[[22,26,"pl-c1"]],[[8,10,"pl-k"],[11,21,"pl-c1"],[25,31,"pl-smi"],[32,37,"pl-c1"],[44,51,"pl-smi"],[52,53,"pl-c1"],[56,61,"pl-c1"],[66,80,"pl-smi"]],[[22,26,"pl-c1"]],[[8,10,"pl-k"],[12,22,"pl-c1"],[26,38,"pl-smi"],[43,50,"pl-smi"],[51,52,"pl-c1"],[55,59,"pl-c1"],[64,78,"pl-smi"]],[[22,26,"pl-c1"]],[[8,10,"pl-k"],[11,21,"pl-c1"],[25,37,"pl-smi"],[42,49,"pl-smi"],[50,51,"pl-c1"],[54,59,"pl-c1"],[64,78,"pl-smi"]],[[22,26,"pl-c1"]],[[8,10,"pl-k"],[12,22,"pl-c1"],[26,32,"pl-smi"],[37,44,"pl-smi"],[45,46,"pl-c1"],[49,53,"pl-c1"],[58,72,"pl-smi"]],[[22,26,"pl-c1"]],[[8,10,"pl-k"],[11,21,"pl-c1"],[25,31,"pl-smi"],[36,43,"pl-smi"],[44,45,"pl-c1"],[48,53,"pl-c1"],[58,72,"pl-smi"]],[[22,26,"pl-c1"]],[],[[8,10,"pl-k"]],[[15,41,"pl-smi"]],[],[[8,60,"pl-c"],[8,10,"pl-c"]],[[8,10,"pl-k"],[15,19,"pl-smi"],[25,51,"pl-smi"],[58,63,"pl-smi"],[70,74,"pl-smi"]],[[15,20,"pl-smi"],[26,52,"pl-smi"]],[[22,26,"pl-c1"]],[],[[8,10,"pl-k"]],[[12,14,"pl-k"]],[[16,49,"pl-c1"]],[[12,20,"pl-k"]],[],[],[[8,93,"pl-c"],[8,10,"pl-c"]],[[8,10,"pl-k"],[14,19,"pl-smi"]],[[12,20,"pl-k"]],[],[[8,58,"pl-c"],[8,10,"pl-c"]],[[8,10,"pl-k"],[14,29,"pl-smi"]],[[25,34,"pl-c1"]],[[12,20,"pl-k"]],[],[],[[8,84,"pl-c"],[8,10,"pl-c"]],[[8,10,"pl-k"],[14,30,"pl-smi"]],[[12,14,"pl-k"],[38,43,"pl-c1"],[47,59,"pl-smi"],[64,65,"pl-c1"],[73,85,"pl-smi"],[86,87,"pl-c1"],[92,96,"pl-s"],[92,93,"pl-pds"],[93,95,"pl-cce"],[95,96,"pl-pds"]],[[29,38,"pl-c1"]],[[38,44,"pl-c1"],[48,60,"pl-smi"]],[[19,46,"pl-smi"]],[],[[12,20,"pl-k"]],[],[],[[8,58,"pl-c"],[8,10,"pl-c"]],[],[[15,26,"pl-smi"]],[],[[15,28,"pl-smi"]],[[15,22,"pl-smi"],[31,32,"pl-c1"]],[],[[12,36,"pl-c"],[12,14,"pl-c"]],[[15,49,"pl-smi"],[52,53,"pl-c1"]],[[15,43,"pl-smi"],[52,53,"pl-c1"]],[],[[15,37,"pl-smi"],[38,43,"pl-c1"]],[],[[12,45,"pl-c1"]],[],[[15,20,"pl-smi"],[21,26,"pl-c1"]],[],[[12,16,"pl-k"],[28,32,"pl-c1"]],[],[[12,14,"pl-k"]],[[16,98,"pl-c"],[16,18,"pl-c"]],[[19,30,"pl-smi"],[33,38,"pl-c1"]],[[16,77,"pl-c"],[16,18,"pl-c"]],[[19,31,"pl-smi"],[32,37,"pl-c1"]],[[19,38,"pl-smi"],[41,42,"pl-c1"]],[],[[19,44,"pl-smi"],[47,51,"pl-c1"]],[],[[16,54,"pl-c"],[16,18,"pl-c"]],[[19,38,"pl-smi"],[39,44,"pl-c1"]],[],[[1,7,"pl-k"]],[[16,19,"pl-k"]],[[7,38,"pl-c"],[7,9,"pl-c"]],[[0,91,"pl-c"],[0,2,"pl-c"]],[[0,39,"pl-c1"],[40,44,"pl-c1"],[46,76,"pl-c"],[46,48,"pl-c"]],[[65,82,"pl-c"],[65,67,"pl-c"]],[[20,39,"pl-c"],[20,22,"pl-c"]],[[23,29,"pl-c1"]],[[42,47,"pl-c1"]],[],[[1,7,"pl-k"]],[[18,23,"pl-k"],[24,29,"pl-k"]],[[23,36,"pl-smi"]],[[18,23,"pl-k"]],[[20,53,"pl-c1"]],[[55,79,"pl-c1"],[83,88,"pl-c1"]],[[23,36,"pl-smi"]],[],[[1,6,"pl-k"],[7,38,"pl-c"],[7,9,"pl-c"]],[],[[16,100,"pl-c"],[16,18,"pl-c"]],[[16,18,"pl-k"],[22,33,"pl-smi"],[36,37,"pl-c1"]],[[22,38,"pl-smi"],[44,78,"pl-smi"],[85,96,"pl-smi"]],[[31,36,"pl-c1"]],[[23,36,"pl-smi"]],[],[],[[16,18,"pl-k"],[23,39,"pl-smi"],[40,45,"pl-c1"]],[[20,53,"pl-c1"]],[[16,18,"pl-k"],[22,38,"pl-smi"],[39,44,"pl-c1"]],[[31,36,"pl-c1"]],[[14,19,"pl-k"]],[],[[15,35,"pl-c1"]],[],[[12,45,"pl-c1"]],[],[[15,26,"pl-smi"],[29,36,"pl-c1"]],[],[[12,68,"pl-c"],[12,14,"pl-c"]],[[12,14,"pl-k"],[18,29,"pl-smi"],[32,33,"pl-c1"],[40,56,"pl-smi"],[63,74,"pl-smi"]],[[16,21,"pl-k"]],[],[],[],[[4,6,"pl-k"]],[[8,41,"pl-c1"]],[[6,10,"pl-k"]],[],[[14,23,"pl-smi"]],[[14,18,"pl-smi"],[39,43,"pl-c1"]],[[14,22,"pl-smi"],[26,34,"pl-c1"],[48,52,"pl-c1"]],[[8,41,"pl-c1"]],[],[],[[4,10,"pl-k"],[11,29,"pl-c1"]],[],[],[[0,24,"pl-c1"]],[],[[0,3,"pl-k"],[4,38,"pl-smi"],[43,49,"pl-k"],[73,77,"pl-c1"]],[[0,5,"pl-k"],[21,26,"pl-k"],[28,58,"pl-c1"]],[[4,10,"pl-k"],[11,34,"pl-c1"],[63,64,"pl-c1"],[68,75,"pl-c1"]],[],[],[[0,3,"pl-k"],[4,43,"pl-smi"],[48,54,"pl-k"],[69,88,"pl-smi"],[89,93,"pl-c1"]],[[0,5,"pl-k"],[14,49,"pl-c1"]],[[4,10,"pl-k"],[11,39,"pl-c1"],[59,78,"pl-smi"],[79,80,"pl-c1"],[84,91,"pl-c1"]],[],[],[[0,9,"pl-k"],[10,16,"pl-en"]],[[4,8,"pl-k"],[9,29,"pl-en"],[30,35,"pl-k"],[36,40,"pl-k"],[48,51,"pl-k"],[85,89,"pl-k"]],[[8,10,"pl-k"]],[[12,24,"pl-c1"],[27,33,"pl-c1"],[34,57,"pl-c1"],[58,79,"pl-c1"]],[[8,12,"pl-k"]],[[12,24,"pl-c1"],[27,33,"pl-c1"],[34,57,"pl-c1"],[58,79,"pl-c1"]],[],[[2,21,"pl-c"],[2,4,"pl-c"]],[],[[2,22,"pl-c"],[2,4,"pl-c"]],[],[[1,6,"pl-k"],[7,32,"pl-c"],[7,9,"pl-c"]],[],[[1,6,"pl-k"]],[[0,39,"pl-c1"],[40,44,"pl-c1"],[46,98,"pl-c"],[46,48,"pl-c"]],[[0,3,"pl-k"],[4,8,"pl-smi"],[9,12,"pl-k"],[19,23,"pl-k"],[34,40,"pl-k"],[41,57,"pl-c1"],[70,73,"pl-c1"]],[],[[1,6,"pl-k"],[7,44,"pl-c"],[7,9,"pl-c"]],[],[],[],[],[],[],[],[[7,40,"pl-c"],[7,9,"pl-c"]],[[7,34,"pl-c"],[7,9,"pl-c"]],[],[[1,6,"pl-k"]],[[1,6,"pl-k"]],[[1,6,"pl-k"]],[[1,6,"pl-k"],[7,43,"pl-c"],[7,9,"pl-c"]],[],[[1,6,"pl-k"]],[[1,6,"pl-k"]],[[1,6,"pl-k"]],[[1,6,"pl-k"],[7,32,"pl-c"],[7,9,"pl-c"]]],"colorizedLines":null,"csv":null,"csvError":null,"dependabotInfo":{"showConfigurationBanner":false,"configFilePath":null,"networkDependabotPath":"/doctest/doctest/network/updates","dismissConfigurationNoticePath":"/settings/dismiss-notice/dependabot_configuration_notice","configurationNoticeDismissed":null},"displayName":"doctest.h","displayUrl":"https://github.com/doctest/doctest/blob/master/doctest/doctest.h?raw=true","headerInfo":{"blobSize":"314 KB","deleteTooltip":"You must be signed in to make or propose changes","editTooltip":"You must be signed in to make or propose changes","ghDesktopPath":"https://desktop.github.com","isGitLfs":false,"onBranch":true,"shortPath":"5c754cd","siteNavLoginPath":"/login?return_to=https%3A%2F%2Fgithub.com%2Fdoctest%2Fdoctest%2Fblob%2Fmaster%2Fdoctest%2Fdoctest.h","isCSV":false,"isRichtext":false,"toc":null,"lineInfo":{"truncatedLoc":"7106","truncatedSloc":"6010"},"mode":"file"},"image":false,"isCodeownersFile":null,"isPlain":false,"isValidLegacyIssueTemplate":false,"issueTemplate":null,"discussionTemplate":null,"language":"C++","languageID":43,"large":false,"planSupportInfo":{"repoIsFork":null,"repoOwnedByCurrentUser":null,"requestFullPath":"/doctest/doctest/blob/master/doctest/doctest.h","showFreeOrgGatedFeatureMessage":null,"showPlanSupportBanner":null,"upgradeDataAttributes":null,"upgradePath":null},"publishBannersInfo":{"dismissActionNoticePath":"/settings/dismiss-notice/publish_action_from_dockerfile","releasePath":"/doctest/doctest/releases/new?marketplace=true","showPublishActionBanner":false},"rawBlobUrl":"https://github.com/doctest/doctest/raw/refs/heads/master/doctest/doctest.h","renderImageOrRaw":false,"richText":null,"renderedFileInfo":null,"shortPath":null,"symbolsEnabled":true,"tabSize":4,"topBannersInfo":{"overridingGlobalFundingFile":false,"globalPreferredFundingPath":null,"showInvalidCitationWarning":false,"citationHelpUrl":"https://docs.github.com/github/creating-cloning-and-archiving-repositories/creating-a-repository-on-github/about-citation-files","actionsOnboardingTip":null},"truncated":false,"viewable":true,"workflowRedirectUrl":null,"symbols":{"timed_out":true,"not_analyzed":false,"symbols":[{"name":"consume","kind":"function","ident_start":23404,"ident_end":23411,"extent_start":23375,"extent_end":23451,"fully_qualified_name":"consume","ident_utf16":{"start":{"line_number":446,"utf16_col":33},"end":{"line_number":446,"utf16_col":40}},"extent_utf16":{"start":{"line_number":446,"utf16_col":4},"end":{"line_number":446,"utf16_col":80}}},{"name":"basic_ostream","kind":"class","ident_start":26837,"ident_end":26850,"extent_start":26831,"extent_end":26850,"fully_qualified_name":"basic_ostream","ident_utf16":{"start":{"line_number":529,"utf16_col":6},"end":{"line_number":529,"utf16_col":19}},"extent_utf16":{"start":{"line_number":529,"utf16_col":0},"end":{"line_number":529,"utf16_col":19}}},{"name":"ostream","kind":"type","ident_start":26938,"ident_end":26945,"extent_start":26891,"extent_end":26946,"fully_qualified_name":"ostream","ident_utf16":{"start":{"line_number":530,"utf16_col":47},"end":{"line_number":530,"utf16_col":54}},"extent_utf16":{"start":{"line_number":530,"utf16_col":0},"end":{"line_number":530,"utf16_col":55}}},{"name":"basic_istream","kind":"class","ident_start":27146,"ident_end":27159,"extent_start":27140,"extent_end":27159,"fully_qualified_name":"basic_istream","ident_utf16":{"start":{"line_number":535,"utf16_col":6},"end":{"line_number":535,"utf16_col":19}},"extent_utf16":{"start":{"line_number":535,"utf16_col":0},"end":{"line_number":535,"utf16_col":19}}},{"name":"istream","kind":"type","ident_start":27208,"ident_end":27215,"extent_start":27161,"extent_end":27216,"fully_qualified_name":"istream","ident_utf16":{"start":{"line_number":536,"utf16_col":47},"end":{"line_number":536,"utf16_col":54}},"extent_utf16":{"start":{"line_number":536,"utf16_col":0},"end":{"line_number":536,"utf16_col":55}}},{"name":"tuple","kind":"class","ident_start":27280,"ident_end":27285,"extent_start":27274,"extent_end":27285,"fully_qualified_name":"tuple","ident_utf16":{"start":{"line_number":538,"utf16_col":6},"end":{"line_number":538,"utf16_col":11}},"extent_utf16":{"start":{"line_number":538,"utf16_col":0},"end":{"line_number":538,"utf16_col":11}}},{"name":"allocator","kind":"class","ident_start":27448,"ident_end":27457,"extent_start":27442,"extent_end":27457,"fully_qualified_name":"allocator","ident_utf16":{"start":{"line_number":542,"utf16_col":6},"end":{"line_number":542,"utf16_col":15}},"extent_utf16":{"start":{"line_number":542,"utf16_col":0},"end":{"line_number":542,"utf16_col":15}}},{"name":"basic_string","kind":"class","ident_start":27514,"ident_end":27526,"extent_start":27508,"extent_end":27526,"fully_qualified_name":"basic_string","ident_utf16":{"start":{"line_number":544,"utf16_col":6},"end":{"line_number":544,"utf16_col":18}},"extent_utf16":{"start":{"line_number":544,"utf16_col":0},"end":{"line_number":544,"utf16_col":18}}},{"name":"DOCTEST_INTERFACE","kind":"class","ident_start":29125,"ident_end":29142,"extent_start":29119,"extent_end":29142,"fully_qualified_name":"DOCTEST_INTERFACE","ident_utf16":{"start":{"line_number":586,"utf16_col":6},"end":{"line_number":586,"utf16_col":23}},"extent_utf16":{"start":{"line_number":586,"utf16_col":0},"end":{"line_number":586,"utf16_col":23}}},{"name":"view","kind":"class","ident_start":29425,"ident_end":29429,"extent_start":29418,"extent_end":29593,"fully_qualified_name":"view","ident_utf16":{"start":{"line_number":595,"utf16_col":11},"end":{"line_number":595,"utf16_col":15}},"extent_utf16":{"start":{"line_number":595,"utf16_col":4},"end":{"line_number":600,"utf16_col":5}}},{"name":"isOnStack","kind":"function","ident_start":29734,"ident_end":29743,"extent_start":29729,"extent_end":29795,"fully_qualified_name":"isOnStack","ident_utf16":{"start":{"line_number":610,"utf16_col":9},"end":{"line_number":610,"utf16_col":18}},"extent_utf16":{"start":{"line_number":610,"utf16_col":4},"end":{"line_number":610,"utf16_col":70}}},{"name":"DOCTEST_INTERFACE","kind":"class","ident_start":31893,"ident_end":31910,"extent_start":31887,"extent_end":31910,"fully_qualified_name":"DOCTEST_INTERFACE","ident_utf16":{"start":{"line_number":673,"utf16_col":6},"end":{"line_number":673,"utf16_col":23}},"extent_utf16":{"start":{"line_number":673,"utf16_col":0},"end":{"line_number":673,"utf16_col":23}}},{"name":"Enum","kind":"type","ident_start":32431,"ident_end":32435,"extent_start":32426,"extent_end":32739,"fully_qualified_name":"Enum","ident_utf16":{"start":{"line_number":690,"utf16_col":9},"end":{"line_number":690,"utf16_col":13}},"extent_utf16":{"start":{"line_number":690,"utf16_col":4},"end":{"line_number":707,"utf16_col":5}}},{"name":"Enum","kind":"type","ident_start":32879,"ident_end":32883,"extent_start":32874,"extent_end":36155,"fully_qualified_name":"Enum","ident_utf16":{"start":{"line_number":713,"utf16_col":9},"end":{"line_number":713,"utf16_col":13}},"extent_utf16":{"start":{"line_number":713,"utf16_col":4},"end":{"line_number":800,"utf16_col":5}}},{"name":"DOCTEST_INTERFACE","kind":"class","ident_start":37499,"ident_end":37516,"extent_start":37493,"extent_end":37516,"fully_qualified_name":"DOCTEST_INTERFACE","ident_utf16":{"start":{"line_number":844,"utf16_col":10},"end":{"line_number":844,"utf16_col":27}},"extent_utf16":{"start":{"line_number":844,"utf16_col":4},"end":{"line_number":844,"utf16_col":27}}},{"name":"StringContains","kind":"function","ident_start":37723,"ident_end":37737,"extent_start":37723,"extent_end":37815,"fully_qualified_name":"StringContains","ident_utf16":{"start":{"line_number":851,"utf16_col":12},"end":{"line_number":851,"utf16_col":26}},"extent_utf16":{"start":{"line_number":851,"utf16_col":12},"end":{"line_number":851,"utf16_col":104}}},{"name":"check","kind":"function","ident_start":37834,"ident_end":37839,"extent_start":37829,"extent_end":37926,"fully_qualified_name":"check","ident_utf16":{"start":{"line_number":853,"utf16_col":17},"end":{"line_number":853,"utf16_col":22}},"extent_utf16":{"start":{"line_number":853,"utf16_col":12},"end":{"line_number":853,"utf16_col":109}}},{"name":"ContextOptions","kind":"class","ident_start":38894,"ident_end":38908,"extent_start":38887,"extent_end":41710,"fully_qualified_name":"ContextOptions","ident_utf16":{"start":{"line_number":892,"utf16_col":7},"end":{"line_number":892,"utf16_col":21}},"extent_utf16":{"start":{"line_number":892,"utf16_col":0},"end":{"line_number":938,"utf16_col":1}}},{"name":"enable_if","kind":"class","ident_start":41894,"ident_end":41903,"extent_start":41887,"extent_end":41907,"fully_qualified_name":"enable_if","ident_utf16":{"start":{"line_number":946,"utf16_col":15},"end":{"line_number":946,"utf16_col":24}},"extent_utf16":{"start":{"line_number":946,"utf16_col":8},"end":{"line_number":946,"utf16_col":28}}},{"name":"true_type","kind":"class","ident_start":42011,"ident_end":42020,"extent_start":42004,"extent_end":42068,"fully_qualified_name":"true_type","ident_utf16":{"start":{"line_number":951,"utf16_col":15},"end":{"line_number":951,"utf16_col":24}},"extent_utf16":{"start":{"line_number":951,"utf16_col":8},"end":{"line_number":951,"utf16_col":72}}},{"name":"false_type","kind":"class","ident_start":42085,"ident_end":42095,"extent_start":42078,"extent_end":42144,"fully_qualified_name":"false_type","ident_utf16":{"start":{"line_number":952,"utf16_col":15},"end":{"line_number":952,"utf16_col":25}},"extent_utf16":{"start":{"line_number":952,"utf16_col":8},"end":{"line_number":952,"utf16_col":74}}},{"name":"remove_reference","kind":"class","ident_start":42184,"ident_end":42200,"extent_start":42177,"extent_end":42220,"fully_qualified_name":"remove_reference","ident_utf16":{"start":{"line_number":954,"utf16_col":37},"end":{"line_number":954,"utf16_col":53}},"extent_utf16":{"start":{"line_number":954,"utf16_col":30},"end":{"line_number":954,"utf16_col":73}}},{"name":"is_rvalue_reference","kind":"class","ident_start":42419,"ident_end":42438,"extent_start":42412,"extent_end":42455,"fully_qualified_name":"is_rvalue_reference","ident_utf16":{"start":{"line_number":958,"utf16_col":37},"end":{"line_number":958,"utf16_col":56}},"extent_utf16":{"start":{"line_number":958,"utf16_col":30},"end":{"line_number":958,"utf16_col":73}}},{"name":"remove_const","kind":"class","ident_start":42573,"ident_end":42585,"extent_start":42566,"extent_end":42605,"fully_qualified_name":"remove_const","ident_utf16":{"start":{"line_number":961,"utf16_col":36},"end":{"line_number":961,"utf16_col":48}},"extent_utf16":{"start":{"line_number":961,"utf16_col":29},"end":{"line_number":961,"utf16_col":68}}},{"name":"is_enum","kind":"class","ident_start":42756,"ident_end":42763,"extent_start":42749,"extent_end":42819,"fully_qualified_name":"is_enum","ident_utf16":{"start":{"line_number":965,"utf16_col":37},"end":{"line_number":965,"utf16_col":44}},"extent_utf16":{"start":{"line_number":965,"utf16_col":30},"end":{"line_number":965,"utf16_col":100}}},{"name":"underlying_type","kind":"class","ident_start":42858,"ident_end":42873,"extent_start":42851,"extent_end":42912,"fully_qualified_name":"underlying_type","ident_utf16":{"start":{"line_number":966,"utf16_col":37},"end":{"line_number":966,"utf16_col":52}},"extent_utf16":{"start":{"line_number":966,"utf16_col":30},"end":{"line_number":966,"utf16_col":91}}},{"name":"is_pointer","kind":"class","ident_start":42952,"ident_end":42962,"extent_start":42945,"extent_end":42979,"fully_qualified_name":"is_pointer","ident_utf16":{"start":{"line_number":968,"utf16_col":37},"end":{"line_number":968,"utf16_col":47}},"extent_utf16":{"start":{"line_number":968,"utf16_col":30},"end":{"line_number":968,"utf16_col":64}}},{"name":"is_array","kind":"class","ident_start":43088,"ident_end":43096,"extent_start":43081,"extent_end":43113,"fully_qualified_name":"is_array","ident_utf16":{"start":{"line_number":971,"utf16_col":37},"end":{"line_number":971,"utf16_col":45}},"extent_utf16":{"start":{"line_number":971,"utf16_col":30},"end":{"line_number":971,"utf16_col":62}}},{"name":"deferred_false","kind":"class","ident_start":43699,"ident_end":43713,"extent_start":43692,"extent_end":43737,"fully_qualified_name":"deferred_false","ident_utf16":{"start":{"line_number":992,"utf16_col":11},"end":{"line_number":992,"utf16_col":25}},"extent_utf16":{"start":{"line_number":992,"utf16_col":4},"end":{"line_number":992,"utf16_col":49}}},{"name":"has_global_insertion_operator","kind":"class","ident_start":43870,"ident_end":43899,"extent_start":43863,"extent_end":43923,"fully_qualified_name":"has_global_insertion_operator","ident_utf16":{"start":{"line_number":997,"utf16_col":11},"end":{"line_number":997,"utf16_col":40}},"extent_utf16":{"start":{"line_number":997,"utf16_col":4},"end":{"line_number":997,"utf16_col":64}}},{"name":"has_insertion_operator","kind":"class","ident_start":44154,"ident_end":44176,"extent_start":44147,"extent_end":44259,"fully_qualified_name":"has_insertion_operator","ident_utf16":{"start":{"line_number":1003,"utf16_col":11},"end":{"line_number":1003,"utf16_col":33}},"extent_utf16":{"start":{"line_number":1003,"utf16_col":4},"end":{"line_number":1003,"utf16_col":116}}},{"name":"insert","kind":"function","ident_start":44406,"ident_end":44412,"extent_start":44394,"extent_end":44467,"fully_qualified_name":"insert","ident_utf16":{"start":{"line_number":1010,"utf16_col":20},"end":{"line_number":1010,"utf16_col":26}},"extent_utf16":{"start":{"line_number":1010,"utf16_col":8},"end":{"line_number":1010,"utf16_col":81}}},{"name":"insert","kind":"function","ident_start":44557,"ident_end":44563,"extent_start":44545,"extent_end":44616,"fully_qualified_name":"insert","ident_utf16":{"start":{"line_number":1015,"utf16_col":20},"end":{"line_number":1015,"utf16_col":26}},"extent_utf16":{"start":{"line_number":1015,"utf16_col":8},"end":{"line_number":1015,"utf16_col":79}}},{"name":"has_insertion_operator","kind":"class","ident_start":44794,"ident_end":44816,"extent_start":44787,"extent_end":44840,"fully_qualified_name":"has_insertion_operator","ident_utf16":{"start":{"line_number":1022,"utf16_col":11},"end":{"line_number":1022,"utf16_col":33}},"extent_utf16":{"start":{"line_number":1022,"utf16_col":4},"end":{"line_number":1022,"utf16_col":57}}},{"name":"should_stringify_as_underlying_type","kind":"class","ident_start":45052,"ident_end":45087,"extent_start":45045,"extent_end":45229,"fully_qualified_name":"should_stringify_as_underlying_type","ident_utf16":{"start":{"line_number":1029,"utf16_col":11},"end":{"line_number":1029,"utf16_col":46}},"extent_utf16":{"start":{"line_number":1029,"utf16_col":4},"end":{"line_number":1031,"utf16_col":5}}},{"name":"StringMakerBase","kind":"class","ident_start":45354,"ident_end":45369,"extent_start":45347,"extent_end":45699,"fully_qualified_name":"StringMakerBase","ident_utf16":{"start":{"line_number":1037,"utf16_col":11},"end":{"line_number":1037,"utf16_col":26}},"extent_utf16":{"start":{"line_number":1037,"utf16_col":4},"end":{"line_number":1045,"utf16_col":5}}},{"name":"convert","kind":"function","ident_start":45424,"ident_end":45431,"extent_start":45410,"extent_end":45693,"fully_qualified_name":"StringMakerBase::convert","ident_utf16":{"start":{"line_number":1039,"utf16_col":22},"end":{"line_number":1039,"utf16_col":29}},"extent_utf16":{"start":{"line_number":1039,"utf16_col":8},"end":{"line_number":1044,"utf16_col":9}}},{"name":"filloss","kind":"function","ident_start":45785,"ident_end":45792,"extent_start":45780,"extent_end":45874,"fully_qualified_name":"filloss","ident_utf16":{"start":{"line_number":1051,"utf16_col":9},"end":{"line_number":1051,"utf16_col":16}},"extent_utf16":{"start":{"line_number":1051,"utf16_col":4},"end":{"line_number":1053,"utf16_col":5}}},{"name":"filloss","kind":"function","ident_start":45921,"ident_end":45928,"extent_start":45916,"extent_end":46178,"fully_qualified_name":"filloss","ident_utf16":{"start":{"line_number":1056,"utf16_col":9},"end":{"line_number":1056,"utf16_col":16}},"extent_utf16":{"start":{"line_number":1056,"utf16_col":4},"end":{"line_number":1060,"utf16_col":5}}},{"name":"toStream","kind":"function","ident_start":46217,"ident_end":46225,"extent_start":46210,"extent_end":46344,"fully_qualified_name":"toStream","ident_utf16":{"start":{"line_number":1063,"utf16_col":11},"end":{"line_number":1063,"utf16_col":19}},"extent_utf16":{"start":{"line_number":1063,"utf16_col":4},"end":{"line_number":1067,"utf16_col":5}}},{"name":"convert","kind":"function","ident_start":46449,"ident_end":46456,"extent_start":46435,"extent_end":46531,"fully_qualified_name":"convert","ident_utf16":{"start":{"line_number":1072,"utf16_col":22},"end":{"line_number":1072,"utf16_col":29}},"extent_utf16":{"start":{"line_number":1072,"utf16_col":8},"end":{"line_number":1074,"utf16_col":9}}},{"name":"StringMaker","kind":"class","ident_start":46591,"ident_end":46602,"extent_start":46584,"extent_end":46761,"fully_qualified_name":"StringMaker","ident_utf16":{"start":{"line_number":1079,"utf16_col":7},"end":{"line_number":1079,"utf16_col":18}},"extent_utf16":{"start":{"line_number":1079,"utf16_col":0},"end":{"line_number":1081,"utf16_col":2}}},{"name":"toString","kind":"function","ident_start":46995,"ident_end":47003,"extent_start":46988,"extent_end":47525,"fully_qualified_name":"toString","ident_utf16":{"start":{"line_number":1092,"utf16_col":7},"end":{"line_number":1092,"utf16_col":15}},"extent_utf16":{"start":{"line_number":1092,"utf16_col":0},"end":{"line_number":1102,"utf16_col":1}}},{"name":"toString","kind":"function","ident_start":47666,"ident_end":47674,"extent_start":47659,"extent_end":47754,"fully_qualified_name":"toString","ident_utf16":{"start":{"line_number":1105,"utf16_col":7},"end":{"line_number":1105,"utf16_col":15}},"extent_utf16":{"start":{"line_number":1105,"utf16_col":0},"end":{"line_number":1107,"utf16_col":1}}},{"name":"toString","kind":"function","ident_start":49090,"ident_end":49098,"extent_start":49083,"extent_end":49256,"fully_qualified_name":"toString","ident_utf16":{"start":{"line_number":1141,"utf16_col":7},"end":{"line_number":1141,"utf16_col":15}},"extent_utf16":{"start":{"line_number":1141,"utf16_col":0},"end":{"line_number":1144,"utf16_col":1}}},{"name":"filldata","kind":"class","ident_start":49314,"ident_end":49322,"extent_start":49307,"extent_end":49541,"fully_qualified_name":"filldata","ident_utf16":{"start":{"line_number":1148,"utf16_col":11},"end":{"line_number":1148,"utf16_col":19}},"extent_utf16":{"start":{"line_number":1148,"utf16_col":4},"end":{"line_number":1157,"utf16_col":5}}},{"name":"fill","kind":"function","ident_start":49349,"ident_end":49353,"extent_start":49337,"extent_end":49535,"fully_qualified_name":"filldata::fill","ident_utf16":{"start":{"line_number":1150,"utf16_col":20},"end":{"line_number":1150,"utf16_col":24}},"extent_utf16":{"start":{"line_number":1150,"utf16_col":8},"end":{"line_number":1156,"utf16_col":9}}},{"name":"fill","kind":"function","ident_start":49707,"ident_end":49711,"extent_start":49695,"extent_end":49981,"fully_qualified_name":"fill","ident_utf16":{"start":{"line_number":1163,"utf16_col":20},"end":{"line_number":1163,"utf16_col":24}},"extent_utf16":{"start":{"line_number":1163,"utf16_col":8},"end":{"line_number":1170,"utf16_col":9}}},{"name":"fill","kind":"function","ident_start":50235,"ident_end":50239,"extent_start":50020,"extent_end":50352,"fully_qualified_name":"fill","ident_utf16":{"start":{"line_number":1179,"utf16_col":20},"end":{"line_number":1179,"utf16_col":24}},"extent_utf16":{"start":{"line_number":1173,"utf16_col":0},"end":{"line_number":1181,"utf16_col":9}}},{"name":"fill","kind":"function","ident_start":50684,"ident_end":50688,"extent_start":50672,"extent_end":51115,"fully_qualified_name":"fill","ident_utf16":{"start":{"line_number":1193,"utf16_col":20},"end":{"line_number":1193,"utf16_col":24}},"extent_utf16":{"start":{"line_number":1193,"utf16_col":8},"end":{"line_number":1204,"utf16_col":9}}},{"name":"Approx","kind":"function","ident_start":51312,"ident_end":51318,"extent_start":51303,"extent_end":51544,"fully_qualified_name":"Approx","ident_utf16":{"start":{"line_number":1216,"utf16_col":13},"end":{"line_number":1216,"utf16_col":19}},"extent_utf16":{"start":{"line_number":1216,"utf16_col":4},"end":{"line_number":1220,"utf16_col":5}}},{"name":"epsilon","kind":"function","ident_start":51784,"ident_end":51791,"extent_start":51704,"extent_end":51908,"fully_qualified_name":"epsilon","ident_utf16":{"start":{"line_number":1227,"utf16_col":84},"end":{"line_number":1227,"utf16_col":91}},"extent_utf16":{"start":{"line_number":1227,"utf16_col":4},"end":{"line_number":1231,"utf16_col":5}}},{"name":"scale","kind":"function","ident_start":52145,"ident_end":52150,"extent_start":52065,"extent_end":52261,"fully_qualified_name":"scale","ident_utf16":{"start":{"line_number":1238,"utf16_col":84},"end":{"line_number":1238,"utf16_col":89}},"extent_utf16":{"start":{"line_number":1238,"utf16_col":4},"end":{"line_number":1242,"utf16_col":5}}},{"name":"IsNaN","kind":"function","ident_start":55341,"ident_end":55346,"extent_start":55341,"extent_end":55400,"fully_qualified_name":"IsNaN","ident_utf16":{"start":{"line_number":1293,"utf16_col":4},"end":{"line_number":1293,"utf16_col":9}},"extent_utf16":{"start":{"line_number":1293,"utf16_col":4},"end":{"line_number":1293,"utf16_col":63}}},{"name":"decay_array","kind":"class","ident_start":56038,"ident_end":56049,"extent_start":56031,"extent_end":56075,"fully_qualified_name":"decay_array","ident_utf16":{"start":{"line_number":1311,"utf16_col":43},"end":{"line_number":1311,"utf16_col":54}},"extent_utf16":{"start":{"line_number":1311,"utf16_col":36},"end":{"line_number":1311,"utf16_col":80}}},{"name":"not_char_pointer","kind":"class","ident_start":56275,"ident_end":56291,"extent_start":56268,"extent_end":56348,"fully_qualified_name":"not_char_pointer","ident_utf16":{"start":{"line_number":1315,"utf16_col":31},"end":{"line_number":1315,"utf16_col":47}},"extent_utf16":{"start":{"line_number":1315,"utf16_col":24},"end":{"line_number":1315,"utf16_col":104}}},{"name":"can_use_op","kind":"class","ident_start":56592,"ident_end":56602,"extent_start":56585,"extent_end":56662,"fully_qualified_name":"can_use_op","ident_utf16":{"start":{"line_number":1319,"utf16_col":29},"end":{"line_number":1319,"utf16_col":39}},"extent_utf16":{"start":{"line_number":1319,"utf16_col":22},"end":{"line_number":1319,"utf16_col":99}}},{"name":"Subcase","kind":"function","ident_start":57214,"ident_end":57221,"extent_start":57214,"extent_end":57247,"fully_qualified_name":"Subcase","ident_utf16":{"start":{"line_number":1340,"utf16_col":8},"end":{"line_number":1340,"utf16_col":15}},"extent_utf16":{"start":{"line_number":1340,"utf16_col":8},"end":{"line_number":1340,"utf16_col":41}}},{"name":"Subcase","kind":"function","ident_start":57256,"ident_end":57263,"extent_start":57256,"extent_end":57284,"fully_qualified_name":"Subcase","ident_utf16":{"start":{"line_number":1341,"utf16_col":8},"end":{"line_number":1341,"utf16_col":15}},"extent_utf16":{"start":{"line_number":1341,"utf16_col":8},"end":{"line_number":1341,"utf16_col":36}}},{"name":"stringifyBinaryExpr","kind":"function","ident_start":57546,"ident_end":57565,"extent_start":57539,"extent_end":57755,"fully_qualified_name":"stringifyBinaryExpr","ident_utf16":{"start":{"line_number":1353,"utf16_col":11},"end":{"line_number":1353,"utf16_col":30}},"extent_utf16":{"start":{"line_number":1353,"utf16_col":4},"end":{"line_number":1356,"utf16_col":5}}},{"name":"Result","kind":"function","ident_start":60244,"ident_end":60250,"extent_start":60244,"extent_end":60263,"fully_qualified_name":"Result","ident_utf16":{"start":{"line_number":1399,"utf16_col":8},"end":{"line_number":1399,"utf16_col":14}},"extent_utf16":{"start":{"line_number":1399,"utf16_col":8},"end":{"line_number":1399,"utf16_col":27}}},{"name":"Expression_lhs","kind":"class","ident_start":65051,"ident_end":65065,"extent_start":65044,"extent_end":73973,"fully_qualified_name":"Expression_lhs","ident_utf16":{"start":{"line_number":1498,"utf16_col":11},"end":{"line_number":1498,"utf16_col":25}},"extent_utf16":{"start":{"line_number":1498,"utf16_col":4},"end":{"line_number":1719,"utf16_col":5}}},{"name":"Expression_lhs","kind":"function","ident_start":65151,"ident_end":65165,"extent_start":65142,"extent_end":65268,"fully_qualified_name":"Expression_lhs::Expression_lhs","ident_utf16":{"start":{"line_number":1503,"utf16_col":17},"end":{"line_number":1503,"utf16_col":31}},"extent_utf16":{"start":{"line_number":1503,"utf16_col":8},"end":{"line_number":1505,"utf16_col":29}}},{"name":"Result","kind":"function","ident_start":65304,"ident_end":65310,"extent_start":65278,"extent_end":65806,"fully_qualified_name":"Expression_lhs::Result","ident_utf16":{"start":{"line_number":1507,"utf16_col":34},"end":{"line_number":1507,"utf16_col":40}},"extent_utf16":{"start":{"line_number":1507,"utf16_col":8},"end":{"line_number":1520,"utf16_col":9}}},{"name":"if","kind":"function","ident_start":65523,"ident_end":65525,"extent_start":65477,"extent_end":65640,"fully_qualified_name":"Expression_lhs::if","ident_utf16":{"start":{"line_number":1512,"utf16_col":12},"end":{"line_number":1512,"utf16_col":14}},"extent_utf16":{"start":{"line_number":1511,"utf16_col":0},"end":{"line_number":1514,"utf16_col":13}}},{"name":"L","kind":"class","ident_start":71746,"ident_end":71747,"extent_start":71740,"extent_end":71747,"fully_qualified_name":"Expression_lhs::L","ident_utf16":{"start":{"line_number":1667,"utf16_col":25},"end":{"line_number":1667,"utf16_col":26}},"extent_utf16":{"start":{"line_number":1667,"utf16_col":19},"end":{"line_number":1667,"utf16_col":26}}},{"name":"R","kind":"class","ident_start":71755,"ident_end":71756,"extent_start":71749,"extent_end":71756,"fully_qualified_name":"Expression_lhs::R","ident_utf16":{"start":{"line_number":1667,"utf16_col":34},"end":{"line_number":1667,"utf16_col":35}},"extent_utf16":{"start":{"line_number":1667,"utf16_col":28},"end":{"line_number":1667,"utf16_col":35}}},{"name":"RelationalComparator","kind":"class","ident_start":71765,"ident_end":71785,"extent_start":71758,"extent_end":71902,"fully_qualified_name":"Expression_lhs::RelationalComparator","ident_utf16":{"start":{"line_number":1667,"utf16_col":44},"end":{"line_number":1667,"utf16_col":64}},"extent_utf16":{"start":{"line_number":1667,"utf16_col":37},"end":{"line_number":1667,"utf16_col":181}}},{"name":"R","kind":"class","ident_start":71980,"ident_end":71981,"extent_start":71974,"extent_end":71981,"fully_qualified_name":"Expression_lhs::R","ident_utf16":{"start":{"line_number":1670,"utf16_col":29},"end":{"line_number":1670,"utf16_col":30}},"extent_utf16":{"start":{"line_number":1670,"utf16_col":23},"end":{"line_number":1670,"utf16_col":30}}},{"name":"binary_assert","kind":"function","ident_start":73060,"ident_end":73073,"extent_start":73038,"extent_end":73435,"fully_qualified_name":"Expression_lhs::binary_assert","ident_utf16":{"start":{"line_number":1691,"utf16_col":30},"end":{"line_number":1691,"utf16_col":43}},"extent_utf16":{"start":{"line_number":1691,"utf16_col":8},"end":{"line_number":1698,"utf16_col":9}}},{"name":"unary_assert","kind":"function","ident_start":73497,"ident_end":73509,"extent_start":73475,"extent_end":73882,"fully_qualified_name":"Expression_lhs::unary_assert","ident_utf16":{"start":{"line_number":1701,"utf16_col":30},"end":{"line_number":1701,"utf16_col":42}},"extent_utf16":{"start":{"line_number":1701,"utf16_col":8},"end":{"line_number":1713,"utf16_col":9}}},{"name":"Enum","kind":"type","ident_start":74018,"ident_end":74022,"extent_start":74013,"extent_end":74128,"fully_qualified_name":"Enum","ident_utf16":{"start":{"line_number":1722,"utf16_col":13},"end":{"line_number":1722,"utf16_col":17}},"extent_utf16":{"start":{"line_number":1722,"utf16_col":8},"end":{"line_number":1727,"utf16_col":9}}},{"name":"binary_assert","kind":"function","ident_start":76864,"ident_end":76877,"extent_start":76842,"extent_end":77707,"fully_qualified_name":"binary_assert","ident_utf16":{"start":{"line_number":1763,"utf16_col":26},"end":{"line_number":1763,"utf16_col":39}},"extent_utf16":{"start":{"line_number":1763,"utf16_col":4},"end":{"line_number":1775,"utf16_col":5}}},{"name":"unary_assert","kind":"function","ident_start":77761,"ident_end":77773,"extent_start":77739,"extent_end":78573,"fully_qualified_name":"unary_assert","ident_utf16":{"start":{"line_number":1778,"utf16_col":26},"end":{"line_number":1778,"utf16_col":38}},"extent_utf16":{"start":{"line_number":1778,"utf16_col":4},"end":{"line_number":1792,"utf16_col":5}}},{"name":"ExceptionTranslator","kind":"class","ident_start":78782,"ident_end":78801,"extent_start":78776,"extent_end":79692,"fully_qualified_name":"ExceptionTranslator","ident_utf16":{"start":{"line_number":1801,"utf16_col":10},"end":{"line_number":1801,"utf16_col":29}},"extent_utf16":{"start":{"line_number":1801,"utf16_col":4},"end":{"line_number":1823,"utf16_col":5}}},{"name":"ExceptionTranslator","kind":"function","ident_start":78905,"ident_end":78924,"extent_start":78896,"extent_end":79016,"fully_qualified_name":"ExceptionTranslator::ExceptionTranslator","ident_utf16":{"start":{"line_number":1804,"utf16_col":17},"end":{"line_number":1804,"utf16_col":36}},"extent_utf16":{"start":{"line_number":1804,"utf16_col":8},"end":{"line_number":1805,"utf16_col":59}}},{"name":"translate","kind":"function","ident_start":79031,"ident_end":79040,"extent_start":79026,"extent_end":79630,"fully_qualified_name":"ExceptionTranslator::translate","ident_utf16":{"start":{"line_number":1807,"utf16_col":13},"end":{"line_number":1807,"utf16_col":22}},"extent_utf16":{"start":{"line_number":1807,"utf16_col":8},"end":{"line_number":1819,"utf16_col":9}}},{"name":"ContextScopeBase","kind":"function","ident_start":80016,"ident_end":80032,"extent_start":80016,"extent_end":80067,"fully_qualified_name":"ContextScopeBase","ident_utf16":{"start":{"line_number":1830,"utf16_col":8},"end":{"line_number":1830,"utf16_col":24}},"extent_utf16":{"start":{"line_number":1830,"utf16_col":8},"end":{"line_number":1830,"utf16_col":59}}},{"name":"ContextScope","kind":"class","ident_start":80461,"ident_end":80473,"extent_start":80455,"extent_end":81119,"fully_qualified_name":"ContextScope","ident_utf16":{"start":{"line_number":1845,"utf16_col":32},"end":{"line_number":1845,"utf16_col":44}},"extent_utf16":{"start":{"line_number":1845,"utf16_col":26},"end":{"line_number":1866,"utf16_col":5}}},{"name":"ContextScope","kind":"function","ident_start":80555,"ident_end":80567,"extent_start":80546,"extent_end":80605,"fully_qualified_name":"ContextScope::ContextScope","ident_utf16":{"start":{"line_number":1850,"utf16_col":17},"end":{"line_number":1850,"utf16_col":29}},"extent_utf16":{"start":{"line_number":1850,"utf16_col":8},"end":{"line_number":1850,"utf16_col":67}}},{"name":"ContextScope","kind":"function","ident_start":80623,"ident_end":80635,"extent_start":80614,"extent_end":80687,"fully_qualified_name":"ContextScope::ContextScope","ident_utf16":{"start":{"line_number":1851,"utf16_col":17},"end":{"line_number":1851,"utf16_col":29}},"extent_utf16":{"start":{"line_number":1851,"utf16_col":8},"end":{"line_number":1851,"utf16_col":81}}},{"name":"ContextScope","kind":"function","ident_start":80697,"ident_end":80709,"extent_start":80697,"extent_end":80740,"fully_qualified_name":"ContextScope::ContextScope","ident_utf16":{"start":{"line_number":1853,"utf16_col":8},"end":{"line_number":1853,"utf16_col":20}},"extent_utf16":{"start":{"line_number":1853,"utf16_col":8},"end":{"line_number":1853,"utf16_col":51}}},{"name":"ContextScope","kind":"function","ident_start":80749,"ident_end":80761,"extent_start":80749,"extent_end":80797,"fully_qualified_name":"ContextScope::ContextScope","ident_utf16":{"start":{"line_number":1854,"utf16_col":8},"end":{"line_number":1854,"utf16_col":20}},"extent_utf16":{"start":{"line_number":1854,"utf16_col":8},"end":{"line_number":1854,"utf16_col":56}}},{"name":"stringify","kind":"function","ident_start":80934,"ident_end":80943,"extent_start":80929,"extent_end":80991,"fully_qualified_name":"ContextScope::stringify","ident_utf16":{"start":{"line_number":1859,"utf16_col":13},"end":{"line_number":1859,"utf16_col":22}},"extent_utf16":{"start":{"line_number":1859,"utf16_col":8},"end":{"line_number":1859,"utf16_col":70}}},{"name":"MessageBuilder","kind":"function","ident_start":81352,"ident_end":81366,"extent_start":81352,"extent_end":81399,"fully_qualified_name":"MessageBuilder","ident_utf16":{"start":{"line_number":1875,"utf16_col":8},"end":{"line_number":1875,"utf16_col":22}},"extent_utf16":{"start":{"line_number":1875,"utf16_col":8},"end":{"line_number":1875,"utf16_col":55}}},{"name":"MessageBuilder","kind":"function","ident_start":81408,"ident_end":81422,"extent_start":81408,"extent_end":81450,"fully_qualified_name":"MessageBuilder","ident_utf16":{"start":{"line_number":1876,"utf16_col":8},"end":{"line_number":1876,"utf16_col":22}},"extent_utf16":{"start":{"line_number":1876,"utf16_col":8},"end":{"line_number":1876,"utf16_col":50}}},{"name":"MakeContextScope","kind":"function","ident_start":82744,"ident_end":82760,"extent_start":82728,"extent_end":82825,"fully_qualified_name":"MakeContextScope","ident_utf16":{"start":{"line_number":1908,"utf16_col":20},"end":{"line_number":1908,"utf16_col":36}},"extent_utf16":{"start":{"line_number":1908,"utf16_col":4},"end":{"line_number":1910,"utf16_col":5}}},{"name":"toStreamLit","kind":"function","ident_start":185307,"ident_end":185318,"extent_start":185300,"extent_end":185423,"fully_qualified_name":"toStreamLit","ident_utf16":{"start":{"line_number":3923,"utf16_col":11},"end":{"line_number":3923,"utf16_col":22}},"extent_utf16":{"start":{"line_number":3923,"utf16_col":4},"end":{"line_number":3927,"utf16_col":5}}},{"name":"toString","kind":"function","ident_start":185482,"ident_end":185490,"extent_start":185475,"extent_end":185568,"fully_qualified_name":"toString","ident_utf16":{"start":{"line_number":3931,"utf16_col":7},"end":{"line_number":3931,"utf16_col":15}},"extent_utf16":{"start":{"line_number":3931,"utf16_col":0},"end":{"line_number":3931,"utf16_col":93}}},{"name":"toString","kind":"function","ident_start":185763,"ident_end":185771,"extent_start":185756,"extent_end":185817,"fully_qualified_name":"toString","ident_utf16":{"start":{"line_number":3936,"utf16_col":7},"end":{"line_number":3936,"utf16_col":15}},"extent_utf16":{"start":{"line_number":3936,"utf16_col":0},"end":{"line_number":3936,"utf16_col":61}}},{"name":"toString","kind":"function","ident_start":185844,"ident_end":185852,"extent_start":185837,"extent_end":185878,"fully_qualified_name":"toString","ident_utf16":{"start":{"line_number":3939,"utf16_col":7},"end":{"line_number":3939,"utf16_col":15}},"extent_utf16":{"start":{"line_number":3939,"utf16_col":0},"end":{"line_number":3939,"utf16_col":41}}},{"name":"toString","kind":"function","ident_start":185887,"ident_end":185895,"extent_start":185880,"extent_end":185933,"fully_qualified_name":"toString","ident_utf16":{"start":{"line_number":3941,"utf16_col":7},"end":{"line_number":3941,"utf16_col":15}},"extent_utf16":{"start":{"line_number":3941,"utf16_col":0},"end":{"line_number":3941,"utf16_col":53}}},{"name":"toString","kind":"function","ident_start":185942,"ident_end":185950,"extent_start":185935,"extent_end":185993,"fully_qualified_name":"toString","ident_utf16":{"start":{"line_number":3943,"utf16_col":7},"end":{"line_number":3943,"utf16_col":15}},"extent_utf16":{"start":{"line_number":3943,"utf16_col":0},"end":{"line_number":3943,"utf16_col":58}}},{"name":"toString","kind":"function","ident_start":186002,"ident_end":186010,"extent_start":185995,"extent_end":186048,"fully_qualified_name":"toString","ident_utf16":{"start":{"line_number":3945,"utf16_col":7},"end":{"line_number":3945,"utf16_col":15}},"extent_utf16":{"start":{"line_number":3945,"utf16_col":0},"end":{"line_number":3945,"utf16_col":53}}},{"name":"toString","kind":"function","ident_start":186056,"ident_end":186064,"extent_start":186049,"extent_end":186103,"fully_qualified_name":"toString","ident_utf16":{"start":{"line_number":3946,"utf16_col":7},"end":{"line_number":3946,"utf16_col":15}},"extent_utf16":{"start":{"line_number":3946,"utf16_col":0},"end":{"line_number":3946,"utf16_col":54}}},{"name":"toString","kind":"function","ident_start":186111,"ident_end":186119,"extent_start":186104,"extent_end":186163,"fully_qualified_name":"toString","ident_utf16":{"start":{"line_number":3947,"utf16_col":7},"end":{"line_number":3947,"utf16_col":15}},"extent_utf16":{"start":{"line_number":3947,"utf16_col":0},"end":{"line_number":3947,"utf16_col":59}}},{"name":"toString","kind":"function","ident_start":186172,"ident_end":186180,"extent_start":186165,"extent_end":186238,"fully_qualified_name":"toString","ident_utf16":{"start":{"line_number":3949,"utf16_col":7},"end":{"line_number":3949,"utf16_col":15}},"extent_utf16":{"start":{"line_number":3949,"utf16_col":0},"end":{"line_number":3949,"utf16_col":73}}},{"name":"toString","kind":"function","ident_start":186246,"ident_end":186254,"extent_start":186239,"extent_end":186319,"fully_qualified_name":"toString","ident_utf16":{"start":{"line_number":3950,"utf16_col":7},"end":{"line_number":3950,"utf16_col":15}},"extent_utf16":{"start":{"line_number":3950,"utf16_col":0},"end":{"line_number":3950,"utf16_col":80}}},{"name":"toString","kind":"function","ident_start":186327,"ident_end":186335,"extent_start":186320,"extent_end":186404,"fully_qualified_name":"toString","ident_utf16":{"start":{"line_number":3951,"utf16_col":7},"end":{"line_number":3951,"utf16_col":15}},"extent_utf16":{"start":{"line_number":3951,"utf16_col":0},"end":{"line_number":3951,"utf16_col":84}}},{"name":"toString","kind":"function","ident_start":186412,"ident_end":186420,"extent_start":186405,"extent_end":186458,"fully_qualified_name":"toString","ident_utf16":{"start":{"line_number":3952,"utf16_col":7},"end":{"line_number":3952,"utf16_col":15}},"extent_utf16":{"start":{"line_number":3952,"utf16_col":0},"end":{"line_number":3952,"utf16_col":53}}},{"name":"toString","kind":"function","ident_start":186466,"ident_end":186474,"extent_start":186459,"extent_end":186521,"fully_qualified_name":"toString","ident_utf16":{"start":{"line_number":3953,"utf16_col":7},"end":{"line_number":3953,"utf16_col":15}},"extent_utf16":{"start":{"line_number":3953,"utf16_col":0},"end":{"line_number":3953,"utf16_col":62}}},{"name":"toString","kind":"function","ident_start":186529,"ident_end":186537,"extent_start":186522,"extent_end":186576,"fully_qualified_name":"toString","ident_utf16":{"start":{"line_number":3954,"utf16_col":7},"end":{"line_number":3954,"utf16_col":15}},"extent_utf16":{"start":{"line_number":3954,"utf16_col":0},"end":{"line_number":3954,"utf16_col":54}}},{"name":"toString","kind":"function","ident_start":186584,"ident_end":186592,"extent_start":186577,"extent_end":186633,"fully_qualified_name":"toString","ident_utf16":{"start":{"line_number":3955,"utf16_col":7},"end":{"line_number":3955,"utf16_col":15}},"extent_utf16":{"start":{"line_number":3955,"utf16_col":0},"end":{"line_number":3955,"utf16_col":56}}},{"name":"toString","kind":"function","ident_start":186641,"ident_end":186649,"extent_start":186634,"extent_end":186686,"fully_qualified_name":"toString","ident_utf16":{"start":{"line_number":3956,"utf16_col":7},"end":{"line_number":3956,"utf16_col":15}},"extent_utf16":{"start":{"line_number":3956,"utf16_col":0},"end":{"line_number":3956,"utf16_col":52}}},{"name":"toString","kind":"function","ident_start":186694,"ident_end":186702,"extent_start":186687,"extent_end":186748,"fully_qualified_name":"toString","ident_utf16":{"start":{"line_number":3957,"utf16_col":7},"end":{"line_number":3957,"utf16_col":15}},"extent_utf16":{"start":{"line_number":3957,"utf16_col":0},"end":{"line_number":3957,"utf16_col":61}}},{"name":"toString","kind":"function","ident_start":186756,"ident_end":186764,"extent_start":186749,"extent_end":186806,"fully_qualified_name":"toString","ident_utf16":{"start":{"line_number":3958,"utf16_col":7},"end":{"line_number":3958,"utf16_col":15}},"extent_utf16":{"start":{"line_number":3958,"utf16_col":0},"end":{"line_number":3958,"utf16_col":57}}},{"name":"toString","kind":"function","ident_start":186814,"ident_end":186822,"extent_start":186807,"extent_end":186873,"fully_qualified_name":"toString","ident_utf16":{"start":{"line_number":3959,"utf16_col":7},"end":{"line_number":3959,"utf16_col":15}},"extent_utf16":{"start":{"line_number":3959,"utf16_col":0},"end":{"line_number":3959,"utf16_col":66}}},{"name":"Approx","kind":"method","ident_start":186883,"ident_end":186889,"extent_start":186875,"extent_end":187040,"fully_qualified_name":"Approx::Approx","ident_utf16":{"start":{"line_number":3961,"utf16_col":8},"end":{"line_number":3961,"utf16_col":14}},"extent_utf16":{"start":{"line_number":3961,"utf16_col":0},"end":{"line_number":3964,"utf16_col":27}}},{"name":"toString","kind":"function","ident_start":188610,"ident_end":188618,"extent_start":188603,"extent_end":188702,"fully_qualified_name":"toString","ident_utf16":{"start":{"line_number":3999,"utf16_col":7},"end":{"line_number":3999,"utf16_col":15}},"extent_utf16":{"start":{"line_number":3999,"utf16_col":0},"end":{"line_number":4001,"utf16_col":1}}},{"name":"toString","kind":"function","ident_start":189170,"ident_end":189178,"extent_start":189163,"extent_end":189283,"fully_qualified_name":"toString","ident_utf16":{"start":{"line_number":4014,"utf16_col":7},"end":{"line_number":4014,"utf16_col":15}},"extent_utf16":{"start":{"line_number":4014,"utf16_col":0},"end":{"line_number":4014,"utf16_col":120}}},{"name":"toString","kind":"function","ident_start":189291,"ident_end":189299,"extent_start":189284,"extent_end":189348,"fully_qualified_name":"toString","ident_utf16":{"start":{"line_number":4015,"utf16_col":7},"end":{"line_number":4015,"utf16_col":15}},"extent_utf16":{"start":{"line_number":4015,"utf16_col":0},"end":{"line_number":4015,"utf16_col":64}}},{"name":"toString","kind":"function","ident_start":189356,"ident_end":189364,"extent_start":189349,"extent_end":189415,"fully_qualified_name":"toString","ident_utf16":{"start":{"line_number":4016,"utf16_col":7},"end":{"line_number":4016,"utf16_col":15}},"extent_utf16":{"start":{"line_number":4016,"utf16_col":0},"end":{"line_number":4016,"utf16_col":66}}},{"name":"toString","kind":"function","ident_start":189423,"ident_end":189431,"extent_start":189416,"extent_end":189492,"fully_qualified_name":"toString","ident_utf16":{"start":{"line_number":4017,"utf16_col":7},"end":{"line_number":4017,"utf16_col":15}},"extent_utf16":{"start":{"line_number":4017,"utf16_col":0},"end":{"line_number":4017,"utf16_col":76}}}]}},"copilotInfo":null,"copilotAccessAllowed":false,"modelsAccessAllowed":false,"modelsRepoIntegrationEnabled":false,"csrf_tokens":{"/doctest/doctest/branches":{"post":"oSfUnW8KYhmx7T2UzlFobsTlbfyuE9CDqBZ-RKtn75i26yf9OzJFX92uocu2PX3QtHd_EKaCrVtsonZMyJE0XA"},"/repos/preferences":{"post":"Qctp1SFgbgRL5Bg4U8ezRjky0K2jgiIfW2OsPBDPeGivcgJrNm_HD-PEeG5flAeIL8bilLD9pS0o7j9DkuKcLQ"}}},"title":"doctest/doctest/doctest.h at master · doctest/doctest","appPayload":{"helpUrl":"https://docs.github.com","findFileWorkerPath":"/assets-cdn/worker/find-file-worker-7d7eb7c71814.js","findInFileWorkerPath":"/assets-cdn/worker/find-in-file-worker-708ec8ade250.js","githubDevUrl":null,"enabled_features":{"code_nav_ui_events":false,"overview_shared_code_dropdown_button":true,"react_blob_overlay":false,"accessible_code_button":true,"github_models_repo_integration":false}}}</script>
|